Documentation architecture multi-magasins KWISATZ
Architecture des communications multi-sites
L’architecture interfaces de communication multi-sites permet à chaque magasin de travailler sur une base locale tout en échangeant périodiquement avec une base centrale. Le Back-Office diffuse les référentiels et consolide les ventes ; les Front-Office restent opérationnels pendant une coupure réseau.
Réponse directe
Conseil technicien général
1. Repères de version
Les références de version ci-dessous sont conservées comme repères documentaires. Les menus, options et comportements doivent être contrôlés sur la version et la sérialisation réellement installées ; une évolution plus récente peut avoir modifié le fonctionnement.
2. Licence et disponibilité
La dépendance de licence mentionnée dans ce document provient des sources. Sa disponibilité peut varier selon la version, la sérialisation, le partenaire ou l’installation ; faites-la valider techniquement avant de modifier l’environnement.
3. Distinguer KWISATZ des opérations externes
Un enregistrement dans KWISATZ ne prouve pas automatiquement qu’une opération a été exécutée dans un système externe : débit ou remboursement TPE, mouvement physique d’espèces, envoi de SMS ou d’e-mail, ou action réalisée sur une plateforme.
4. Protection des données
5. Choisir l’architecture
Architecture classique
BACK-OFFICE CENTRAL
KWISATZ + interface de communication du back-office
│
├──────── Internet / VPN ────────┐
│ │
FRONT-OFFICE A FRONT-OFFICE B
KWISATZ + interface de communication de la caisse KWISATZ + interface de communication de la caisse
Base locale magasin A Base locale magasin B
Chaque magasin encaisse sur sa propre base. Le siège prépare les mises à jour et consolide les informations reçues. Les échanges ne sont pas des accès directs à une base unique : ils sont exécutés par les modules de communication à intervalles réguliers.
Architecture hiérarchique
SUPER CONCENTRATEUR / SIÈGE
│
CONNEXION N°
│
CONCENTRATEUR INTERMÉDIAIRE
interface de communication du back-office / interface de communication du back-office
│ │
interface de communication de la caisse A interface de communication de la caisse B
Une architecture avec concentrateur intermédiaire peut être utilisée pour regrouper plusieurs sites, franchises ou régions. Le interface de communication du back-office intermédiaire utilise alors une connexion déterminée pour communiquer avec le concentrateur supérieur.
-VSS de certains automates adresse la demande
au Super Concentrateur au lieu du module local standard.
6. Rôle de chaque composant
| Composant | Rôle principal |
|---|---|
| KWISATZ Back-Office | Gère le référentiel central, les tarifs, les achats, les stocks consolidés, les clients, documents et analyses. |
| interface de communication du back-office | Prépare et distribue les données aux Front-Office ; reçoit les flux magasins et les intègre au siège. |
| KWISATZ Front-Office | Encaisse localement et mouvemente le stock associé au code magasin local. |
| interface de communication de la caisse | Intègre les actualisations du siège puis transmet les tickets, documents et autres données configurées. |
| Connexion | Décrit un magasin ou un trajet d’échange : destination, données autorisées, filtres et état de communication. |
| HeartBeat | Signale périodiquement la présence d’un interface de communication de la caisse au interface de communication du back-office et alimente le tableau de bord. |
7. Licences et identifiants uniques
- une licence centrale définie comme Back-Office ;
- une licence Front-Office par magasin ou caisse autonome selon le contrat ;
- les modules interfaces de communication multi-sites sérialisés pour le périmètre prévu ;
- un code de dossier cohérent sur chaque installation ;
- un code magasin unique par point de vente ;
- un numéro de caisse unique dans son périmètre ;
- un numéro de connexion unique au siège ;
- une version compatible entre les différents composants.
8. Configurer les préférences KWISATZ
Dans Outils > Préférences > Général, vérifiez les zones de communication multi-magasins.
| Zone | Back-Office | Front-Office |
|---|---|---|
| Type de connexion | Licence Back-Office connectée à des licences Front-Office. | Licence Front-Office connectée à une licence Back-Office. |
| Adresse IP du gestionnaire | Adresse du module interface de communication du back-office ou du service local utilisé par KWISATZ. | Adresse du module interface de communication de la caisse local. |
| Port N° | Port d’écoute du gestionnaire d’actualisation. | Port d’écoute du gestionnaire d’actualisation. |
| Code du magasin local | Selon l’usage central et les mouvements concernés. | Magasin dont le stock est mouvementé par les tickets locaux. |
| Ne pas actualiser le stock local | Non applicable au même titre. | Empêche la mise à jour du stock local lors d’une actualisation reçue. |
9. Paramétrer les connexions
Chaque connexion représente une destination ou un magasin. Elle doit définir au minimum :
- numéro de connexion ;
- code et libellé du magasin ;
- dossier source et dossier destination ;
- adresse ou mode de transport ;
- périodicité des boucles ;
- données à exporter et importer ;
- filtres de produits ;
- options de conservation des valeurs locales ;
- état actif ou suspendu ;
- gestion du HeartBeat si utilisée.
Valeurs locales
Dans certaines configurations, un magasin doit conserver des informations locales au lieu de les écraser par le référentiel central. Les versions documentées proposent notamment des options de conservation pour :
- les données Dépôt/Vente ;
- les informations restauration ;
- les informations Web ou e-commerce ;
- d’autres groupes de champs selon la version.
10. Flux descendants : du siège vers les magasins
| Flux | Contenu | Contrôle |
|---|---|---|
| Produits | Codes, désignations, prix, TVA, familles, options de caisse et autres champs sélectionnés. | Indicateur d’actualisation, Chrono_MAJ et filtre par connexion. |
| Grilles | Rayons, familles, lignes, marques et autres grilles annexes. | À envoyer avant les produits qui utilisent les nouveaux codes. |
| Stocks | Quantités ou mises à jour de stock selon le paramétrage. | Vérifier le magasin ciblé et l’option de stock local. |
| Clients | Fiches clients et données prévues par l’interface. | Règle de création, actualisation et conflits. |
| Fournisseurs | Fiches fournisseurs utilisées par les sites lorsque le flux est activé. | Limiter aux magasins qui en ont besoin. |
| Documents commerciaux | Commandes, livraisons, factures ou autres documents sélectionnés. | Numérotation, origine, statut et période. |
| Historiques clients | Informations utiles à la consultation ou au suivi client en magasin. | Volume et données personnelles. |
| Inventaires en préparation | Inventaire préparé au siège et transmis au site. | Magasin, date et état de l’inventaire. |
11. Flux remontants : des magasins vers le siège
- tickets de caisse et règlements ;
- mouvements de stock issus des ventes ;
- clients créés ou modifiés selon la politique ;
- documents de gestion autorisés ;
- inventaires ou résultats d’inventaire ;
- informations de fidélité prévues ;
- journaux techniques, accusés et états de traitement.
12. Actualisation des produits
Indicateur d’actualisation
La fiche produit contient un indicateur utilisé dans les configurations multi-magasins :
| Valeur | Effet |
|---|---|
| OK | L’article est considéré à jour et n’est pas inclus dans la prochaine mise à jour standard. |
| Actualiser | L’article a été créé ou modifié et doit être envoyé. |
| Effacer | Une instruction de suppression est préparée pour les magasins. |
| Article jamais actualisé | Les mises à jour de cet article sont ignorées afin de conserver une situation locale particulière. |
Chrono_MAJ
Le champ Article.Chrono_MAJ permet de sélectionner
les produits modifiés sur une période précise, avec heure de modification.
Il est utilisé par les exportations récentes et par l’automate
-A1 -PARAM1=n.
KWISATZ.EXE -DDEMO -P1 -A1 -PARAM1=5
Cet exemple demande l’export des produits modifiés entre aujourd’hui et J-5.
Filtre par connexion
Depuis les versions récentes de la branche 3.57,
le filtre ACTU_FILTRE_PRODUITS défini sur chaque connexion
est réellement appliqué lors de la génération des mises à jour.
Il permet de limiter les produits transmis selon le magasin ciblé.
Réduire la volumétrie
Les photos, libellés étendus et libellés catalogue sont responsables de ralentissements importants. Les modules proposent des options pour désactiver leur export lorsque ces données ne sont pas nécessaires.
13. Tickets de caisse et intégrité fiscale
Les tickets sont créés, sécurisés et chronologisés sur la caisse d’origine. La copie reçue au Back-Office est un ticket distant.
Règles essentielles
- la caisse d’origine est la source fiscale ;
- les corrections doivent être effectuées sur cette caisse ;
- la contre-passation directe d’un ticket distant est interdite dans les versions récentes ;
- la modification administrative à distance est fortement limitée ;
- la retransmission ne doit pas créer une deuxième copie logique ;
- la séquence doit être contrôlée par caisse et période.
Contrôle des séquences
Accès : Outils > Recalculs/Contrôles > Contrôle des séquences de tickets, selon la version.
- Choisissez tickets distants.
- Renseignez la période.
- Renseignez le numéro de caisse.
- Lancez le contrôle.
- Enregistrez la liste des ruptures.
- Vérifiez que les tickets existent sur le site source.
- Demandez leur réexpédition.
- Refaites le contrôle après intégration.
Demande de réexpédition
Accès : Outils > Transfert de données > Demande de réexpédition des tickets. Renseignez la connexion et la période à retransmettre.
14. Documents commerciaux et inventaires
Le tableau de bord des connexions permet d’envoyer un ordre au module pour exporter :
- les grilles ;
- les clients ;
- les fournisseurs ;
- les tickets de caisse ;
- les documents commerciaux ;
- les historiques clients ;
- les inventaires en préparation.
Export des documents
L’automate -A30 déclenche l’export des documents de gestion.
La version interactive permet de sélectionner les types et la période.
L’option -SA sélectionne selon la date de modification
plutôt que la date de valeur.
KWISATZ.EXE -DDOSSIER -P99 -A30 -J1 -SA
-SA
dans les reprises qui doivent suivre les modifications.
15. Automates utiles
| Automate | Action |
|---|---|
-A1 |
Demande une mise à jour des produits à interface de communication du back-office ou interface de communication de la caisse. -PARAM1 limite aux derniers jours ; -VSS vise le Super Concentrateur. |
-A2 |
Demande une mise à jour des stocks à interface de communication du back-office. |
-A3 |
Demande une mise à jour des clients à interface de communication du back-office ou interface de communication de la caisse ; -VSS est disponible. |
-A9 |
Demande l’export des grilles : rayons, familles, lignes, marques, etc. |
-A30 |
Demande l’export des documents de gestion ; sélection interactive ou journée calculée. |
-A40 |
Demande à interface de communication de la caisse la transmission des ventes de la journée ; l’option -J permet de cibler une journée antérieure. |
-A001. Utilisez la syntaxe attendue par la version installée
et testez le raccourci en environnement de recette.
16. Surveillance des modules
Depuis KWISATZ
Dans les préférences, la section Module d’actualisation interfaces de communication multi-sites propose :
- Lancement automatique : démarre le module à l’ouverture du dossier s’il est absent ;
- Activer la surveillance : contrôle périodiquement sa présence ;
- Fréquence en minutes : définit la fréquence du contrôle.
Tableau de bord des connexions
La fenêtre permet de visualiser l’état des connexions magasins et de demander les exports ou l’arrêt du module.
HeartBeat
Le HeartBeat permet aux interface de communication de la caisse de signaler leur présence au interface de communication du back-office.
Le port documenté par défaut est 12007.
Le tableau de bord du interface de communication du back-office affiche la date et l’heure du dernier signal reçu
pour chaque module connecté.
Commandes locales
Certaines installations utilisent un port local dédié aux ordres envoyés
par KWISATZ aux modules, historiquement documenté autour de
6202. Vérifiez la valeur réelle dans la configuration
et n’ouvrez pas ce port sur Internet.
Veille et redémarrage
Les modules peuvent utiliser des tranches horaires de veille. Vérifiez qu’ils en sortent correctement. Les versions récentes ont reçu des ajustements pour les boucles longues, les commandes et le redémarrage automatique.
17. Réseau et sécurité
Recommandations
- utiliser un VPN site-à-site ou une solution de transport chiffrée ;
- attribuer des adresses stables aux équipements ;
- n’autoriser que les flux et destinations nécessaires ;
- ne jamais partager les dossiers de données moteur de données sur Internet ;
- protéger les comptes et mots de passe de communication ;
- journaliser les connexions et échecs ;
- séparer les ports d’administration des utilisateurs ordinaires ;
- mettre à jour Windows et tous les composants KWISATZ ;
- prévoir une connexion de secours pour le siège ;
- conserver des sauvegardes locales dans chaque site et au siège.
18. Sauvegardes et continuité
Chaque Front-Office
- sauvegarde quotidienne de la base locale ;
- contrôle de l’espace disque ;
- conservation des fichiers en attente ;
- procédure de reprise après panne du poste ;
- interdiction de réinstaller sans récupérer les tickets non transmis.
Back-Office
- sauvegarde de la base consolidée ;
- sauvegarde des paramètres interface de communication du back-office et connexions ;
- conservation des journaux et fichiers d’échange ;
- test de restauration sur un environnement séparé ;
- surveillance des files et séquences de tickets.
19. Recette avant mise en production
- Créer une connexion pilote.
- Vérifier le code magasin et le numéro de caisse.
- Envoyer une grille nouvelle.
- Envoyer un produit nouveau.
- Modifier son prix et le réexporter.
- Tester un article « jamais actualisé ».
- Tester un filtre produit par connexion.
- Envoyer un stock ciblé.
- Créer et modifier un client.
- Créer un ticket dans le magasin.
- Contrôler sa remontée et son origine.
- Créer plusieurs règlements sur le ticket.
- Tester une coupure réseau pendant plusieurs ventes.
- Rétablir la liaison et vérifier la reprise.
- Demander la réexpédition d’une période.
- Contrôler les séquences au siège.
- Tester un document commercial.
- Tester l’inventaire en préparation.
- Contrôler le HeartBeat et le tableau de bord.
- Tester l’arrêt et le redémarrage du module.
20. Diagnostic rapide
Le module est marqué absent
Le HeartBeat est ancien mais le interface de communication de la caisse paraît ouvert
Un magasin ne reçoit aucun produit
Chrono_MAJ, l’état actif du interface de communication de la caisse et les erreurs d’intégration.
Certains produits seulement manquent
ACTU_FILTRE_PRODUITS, Article jamais actualisé,
les grilles absentes et les options de conservation locale.
Le prix du magasin est écrasé par le siège
Le stock local ne suit pas les mises à jour
Des tickets manquent au Back-Office
Un ticket est présent deux fois
Le Back-Office refuse de modifier un ticket distant
Une commande reste en attente indéfiniment
Le module entre en veille et ne repart pas
Les transferts deviennent très lents
L’export depuis le menu Back-Office ne transmet pas les tickets
Une nouvelle famille arrive après le produit
Le mauvais magasin apparaît dans les statistiques
Un interface de communication de la caisse fonctionne sur une IP publique mais pas sur une ancienne version
21. Actions à éviter
- attribuer le même code magasin à deux sites ;
- copier une base de caisse sans traiter les tickets non transmis ;
- modifier un ticket distant depuis le siège ;
- réimporter toute une période sans contrôle des doublons ;
- réinitialiser les indicateurs d’actualisation avant validation des magasins ;
- envoyer les produits avant leurs nouvelles grilles ;
- appliquer un filtre produit non testé à toutes les connexions ;
- confondre module ouvert et module opérationnel ;
- exposer les ports de communication sans VPN ni filtrage ;
- arrêter un module en cours de traitement sans conserver son journal ;
- supprimer manuellement un fichier d’attente sans identifier son contenu ;
- mettre à jour seulement interface de communication du back-office ou seulement interface de communication de la caisse sans recette de compatibilité.
22. Liste de contrôle
- Les rôles Back-Office et Front-Office sont définis.
- Chaque magasin et caisse possède un identifiant unique.
- Les numéros de connexion sont documentés.
- interfaces de communication multi-sites utilisent des versions compatibles.
- Les codes dossiers sont corrects.
- Le réseau est chiffré et filtré.
- Les grilles sont envoyées avant les produits.
- Les filtres produits sont testés par magasin.
- Les valeurs locales à conserver sont identifiées.
- Les tickets remontent avec la bonne caisse.
- Le contrôle des séquences est planifié.
- La réexpédition des tickets est testée.
- Le HeartBeat et la surveillance sont actifs.
- Les logs sont contrôlés quotidiennement.
- Les sauvegardes locales et centrales sont vérifiées.
- La procédure de coupure réseau est connue des magasins.
23. Évolutions documentées
| Période | Évolution |
|---|---|
| 2014 | Mise en place et extension du HeartBeat, port par défaut 12007 et tableau de bord de dernière présence. |
| 2020 | Connexions et demandes de réexpédition étendues jusqu’au numéro 99. |
| 2021 | Ajout de la sélection des produits par Chrono_MAJ. |
| 2022 | Optimisations d’export : photos et libellés longs désactivables dans les architectures concentrées. |
| 2025 | Renforcement des protections empêchant la modification des tickets distants depuis le Back-Office. |
| Janvier 2026 | Application effective du filtre produits par connexion ACTU_FILTRE_PRODUITS. |
| 2025–2026 | Ajustements des commandes longues, de la veille, des boucles de communication et du redémarrage automatique. |
24. Sources documentaires
- MENUS_KWISATZ — Préférences générales, types de connexion et magasin local.
- MENUS_KWISATZ — Tableau de bord des connexions et transfert de données.
- MENUS_KWISATZ — indicateurs d’actualisation des articles et contrôle des séquences de tickets.
- Liste des automates KWISATZ — A1, A2, A3, A9, A30, A40 et option VSS.
- Suivi de développement KWISATZ — Chrono_MAJ, filtres par connexion, HeartBeat, connexions jusqu’à 99 et protections des tickets distants.
- Suivi de développement KWISATZ — optimisations d’export, commandes, veille et redémarrage des modules.