Configuration multiâsites pour petites chaĂźnes : succursales, personnel, clients
Configuration multiâsites pour petites chaĂźnes : structurer succursales, rĂŽles du personnel et clients partagĂ©s pour que chaque site ne voie que les donnĂ©es nĂ©cessaires.

Ce qui se passe gĂ©nĂ©ralement mal dans une configuration multiâsites
Une configuration multiâsites pour petites chaĂźnes commence souvent par une idĂ©e simple : un seul systĂšme pour tout le monde. Les problĂšmes apparaissent quand chaque succursale utilise les mĂȘmes Ă©crans, les mĂȘmes listes et les mĂȘmes boutons, alors qu'elles n'ont pas les mĂȘmes responsabilitĂ©s.
L'Ă©chec le plus courant est la visibilitĂ© mĂ©langĂ©e. Un employĂ© Ă l'accueil de la Succursale A peut voir des rendezâvous, des notes ou des factures de la Succursale B. Ou un responsable tente de corriger un problĂšme local et modifie accidentellement un rĂ©glage global qui affecte toutes les succursales. Au dĂ©but c'est pratique, puis cela devient vite du bruit et un risque.
« Chaque site voit ce qu'il doit voir » est simple : le personnel ne devrait voir que les clients, commandes, plannings, stocks et rapports qui correspondent à leur travail et à leur site. Si quelqu'un travaille sur deux sites, il doit voir les deux. Si quelqu'un est administrateur régional, il voit tout, mais uniquement parce que vous l'avez choisi volontairement.
Quand vous ne faites rien (ou comptez sur des rÚgles informelles), quelques problÚmes prévisibles apparaissent :
- Le personnel modifie le mauvais enregistrement parce que les listes incluent d'autres sites.
- Des détails client, notes ou statuts de paiement se retrouvent partagés entre succursales.
- Les rapports sont erronés car les totaux mélangent les sites sans filtres clairs.
- Le support passe sa journée à répondre « Pourquoi je vois ça ? » et « Je ne le trouve pas ».
L'objectif n'est pas de tout verrouiller. C'est d'ĂȘtre dĂ©libĂ©rĂ© sur ce qui est partagĂ© et ce qui est sĂ©parĂ©. Beaucoup de chaĂźnes veulent une base clients partagĂ©e (pour reconnaĂźtre un client partout), tout en gardant des donnĂ©es propres Ă la succursale comme les plannings locaux, les notes internes et la performance du personnel.
Si vous utilisez un constructeur noâcode, dĂ©cidez de ces rĂšgles avant de crĂ©er les Ă©crans et workflows. Sinon vous bricolerez les permissions aprĂšs que les gens aient dĂ©jĂ commencĂ© Ă utiliser le systĂšme.
Les éléments de base à définir d'abord
Les configurations multiâsites fonctionnent mieux quand vous vous mettez d'accord sur quelques points avant de construire Ă©crans, formulaires ou rapports. Si vous les sautez, les permissions deviennent compliquĂ©es et les donnĂ©es difficilement fiables.
Commencez par nommer vos blocs de construction. La plupart des petites chaĂźnes ont besoin de succursales (emplacements), d'utilisateurs (comptes du personnel), de rĂŽles (types de poste), de clients (identitĂ© partagĂ©e) et de transactions (commandes, rendezâvous, tickets, retours).
Ensuite, décidez quels enregistrements sont globaux et lesquels appartiennent à une succursale. Les enregistrements globaux sont partagés dans l'entreprise, comme le profil client, un catalogue produit, ou des rÚgles tarifaires corporate. Les enregistrements appartenant à une succursale concernent un seul site, comme le rapport de caisse quotidien, un planning local ou un inventaire propre à la succursale.
Les permissions ont besoin de deux dimensions, pas une :
- PérimÚtre : quelles succursales une personne peut voir.
- Actions : ce qu'elle peut faire sur les enregistrements qu'elle voit.
AccĂšs lecture et Ă©dition doivent ĂȘtre sĂ©parĂ©s. Un manager rĂ©gional peut lire toutes les succursales mais ne modifier que le personnel de sa propre succursale. Un employĂ© d'accueil peut lire les profils clients mais ne crĂ©er et modifier que les rendezâvous pour son site.
Enfin, dĂ©cidez comment doivent fonctionner les rapports. La plupart des Ă©quipes ont besoin Ă la fois de performances par site pour la gestion quotidienne et de rapports interâsites pour les propriĂ©taires et la finance. Mettezâvous d'accord tĂŽt pour ne pas construire des rapports qui mĂ©langent les donnĂ©es de façon dĂ©routante.
Comment modéliser les succursales sans se retrouver coincé
Une configuration multiâsites commence par une dĂ©cision : que signifie « succursale » dans votre activitĂ© ? Pour certains, c'est un magasin que les clients visitent. Pour d'autres, c'est une clinique, un entrepĂŽt ou une unitĂ© franchisĂ©e qui doit rester sĂ©parĂ©e.
Commencez par une définition claire
Choisissez une signification et tenezâvousây dans votre modĂšle de donnĂ©es. Si vous avez besoin plus tard de dĂ©partements ou de zones de service, ajoutezâles comme concepts sĂ©parĂ©s plutĂŽt que de surcharger l'enregistrement de succursale.
Donnez Ă chaque succursale un identifiant stable qui ne change jamais, mĂȘme si le nom change. Un code court (comme « NYCâ01 ») est gĂ©nĂ©ralement plus simple que d'utiliser l'adresse ou le nom comme clĂ©.
Stockez ce dont dépend votre travail quotidien : code et nom d'affichage de la succursale, adresse, fuseau horaire (critique pour les horaires, réservations et rapports), heures d'ouverture (avec éventuels changements pour jours fériés) et un statut comme actif, temporairement fermé ou archivé.
Décidez ensuite comment le personnel est lié aux succursales. Certaines entreprises sont strictes (une personne = une succursale). D'autres déplacent le personnel entre sites. Les deux approches fonctionnent, mais cela change la façon d'assigner le travail et de filtrer les enregistrements.
Une approche pratique est de modĂ©liser une table d'affectation PersonnelâSuccursale distincte pour supporter le unâĂ âplusieurs sans devoir tout rĂ©organiser plus tard.
Faire de la croissance un nonâĂ©vĂ©nement
ConsidĂ©rez les nouveaux sites comme des donnĂ©es, pas des cas spĂ©ciaux. Un test simple : « Peutâon ajouter la succursale n°7 sans changer la logique ? » IdĂ©alement, ajouter un site signifie crĂ©er un nouvel enregistrement succursale, dĂ©finir fuseau horaire et horaires, puis affecter le personnel. Si vous modifiez beaucoup de rĂšgles, le modĂšle est trop couplĂ©.
AccÚs du personnel : rÎles, périmÚtres et qui peut faire quoi
Une configuration de permissions propre part d'une idée : séparer ce qu'une personne peut faire (rÎle) de ce qu'elle peut voir (périmÚtre). Si vous mélangez, vous finirez par donner des accÚs « utiles » qui deviennent du partage excessif.
La plupart des petites chaĂźnes peuvent garder des rĂŽles simples : propriĂ©taire, manager rĂ©gional, manager de succursale, employĂ©, support. DĂ©finissez des permissions par dĂ©faut par rĂŽle et gardezâles simples. Pour chaque domaine (clients, rendezâvous/commandes, inventaire, notes, rapports), dĂ©cidez ce que signifient consulter, crĂ©er et modifier. Puis identifiez les actions qui ne sont jamais par dĂ©faut, comme l'export ou les modifications d'administration.
Une checklist qui évite la confusion :
- Voir les enregistrements
- Créer de nouveaux enregistrements
- Modifier des enregistrements existants
- Exporter ou télécharger des données
- Actions d'administration (gérer les utilisateurs, changer les rÚgles, supprimer)
Le périmÚtre est la seconde moitié du verrou. La plupart des équipes n'ont besoin que de trois périmÚtres : propre succursale seulement, succursales assignées, ou toutes les succursales. Un manager de succursale peut éditer mais uniquement dans sa succursale. Un manager régional peut voir plusieurs succursales mais n'éditer que le personnel et les plannings.
Prévoyez les exceptions avant d'en avoir besoin. Les accÚs temporaires doivent expirer automatiquement et ne pas dépendre de la mémoire de quelqu'un. Les comptes de formation doivent utiliser des données fictives ou un sandbox restreint. Les contractuels doivent recevoir le périmÚtre minimal et pas d'exports par défaut.
Clients partagés sans partage excessif
Une base client partagĂ©e est souvent le point central d'une configuration multiâsites, mais elle peut aussi ĂȘtre la maniĂšre la plus rapide de divulguer des donnĂ©es entre succursales. DĂ©cidez ce qui est vraiment « un client, partout » et ce qui doit rester local.
Les donnĂ©es partagĂ©es comprennent gĂ©nĂ©ralement le profil client (nom, coordonnĂ©es), le statut fidĂ©litĂ© et des prĂ©fĂ©rences gĂ©nĂ©rales comme « ne pas appeler » ou « prĂ©fĂšre eâmail ». Cela aide n'importe quelle succursale Ă reconnaĂźtre la personne et Ă la servir de façon cohĂ©rente.
Les donnĂ©es spĂ©cifiques au site doivent rester liĂ©es Ă la succursale : visites, achats, rendezâvous, notes de service et tags locaux comme « VIP pour Succursale A » ou « rappel la semaine prochaine ». Garder ces Ă©lĂ©ments locaux rĂ©duit le bruit et empĂȘche le personnel de lire des dĂ©tails inutiles.
Ătablir des rĂšgles de consultation claires
La politique la plus simple : tout le monde peut trouver le client, mais tout le monde ne voit pas tout.
Le personnel d'accueil voit les dĂ©tails du profil et les prĂ©fĂ©rences de contact, plus les visites de sa succursale. Les managers peuvent voir des totaux interâsuccursales (comme le montant dĂ©pensĂ© Ă vie) sans les notes dĂ©taillĂ©es d'autres sites. Les rĂŽles HQ ou support peuvent consulter l'historique complet quand une montĂ©e en escalade l'exige. Le marketing peut accĂ©der au statut d'optâin et aux segments, pas aux notes privĂ©es.
Ainsi la base client partagée reste utile sans devenir un journal partagé.
Protéger les champs sensibles par conception
Les donnĂ©es sensibles (notes privĂ©es, documents, plaintes, dĂ©tails mĂ©dicaux ou juridiques) doivent ĂȘtre sĂ©parĂ©es des notes gĂ©nĂ©rales et verrouillĂ©es par des permissions plus strictes. Si vous stockez des documents, rendez l'accĂšs explicite : qui peut tĂ©lĂ©verser, qui peut consulter, et si la consultation est limitĂ©e Ă la mĂȘme succursale.
Exemple : un client visite la Succursale 1 pour une coupe et la Succursale 2 pour un achat. Le personnel de la Succursale 2 doit voir le niveau de fidélité et une préférence « allergie aux parfums », mais pas la note détaillée de la Succursale 1 sur une plainte.
Schémas de séparation des données qui restent simples
Une décision clé est de séparer les données en les taguant ou en les scindant physiquement. La plupart des petites chaßnes peuvent rester simples avec une seule base de données et des rÚgles claires.
Schéma 1 : Une base de données, chaque enregistrement a un BranchID
C'est le choix habituel. Commandes, rendezâvous, comptages d'inventaire et actions du personnel vivent dans les mĂȘmes tables, mais chaque ligne contient un BranchID (ou LocationID). Cela permet les clients partagĂ©s, le reporting interâsites et le personnel multiâsites.
Schéma 2 : Bases de données séparées par succursale
Cela peut sembler « plus sĂ»r », mais augmente les coĂ»ts opĂ©rationnels. Les migrations doivent ĂȘtre faites plusieurs fois, les rapports deviennent plus compliquĂ©s et les clients partagĂ©s nĂ©cessitent de la synchronisation.
RĂšgle pratique :
- Utilisez une base unique avec BranchID si vous voulez des clients partagés, du reporting consolidé et une couverture du personnel flexible.
- N'utilisez des bases séparées que si des contraintes légales ou contractuelles obligent à l'isolation.
Quel que soit le schĂ©ma choisi, rendez les filtres de succursale automatiques. Ne comptez pas sur chaque Ă©cran ou rapport pour se souvenir du filtre. Traitez l'emplacement comme faisant partie de la session utilisateur et appliquezâle en un seul endroit afin que chaque liste et action soit portĂ©e par dĂ©faut.
Prévoyez aussi des éléments globaux vs des remplacements locaux. Gardez les définitions globales (éléments du catalogue, modÚles de service, rÚgles tarifaires), puis ajoutez des champs d'override par succursale quand nécessaire (prix spécifique par succursale, seuil de stock, heures d'ouverture). Cela évite de copier tout le catalogue par site.
Ajoutez tĂŽt des pistes d'audit. Vous devrez rĂ©pondre à « qui a changĂ© ceci, et oĂč ? ». Au minimum, capturez l'ID utilisateur, l'ID de succursale, l'horodatage, l'action (crĂ©ation, mise Ă jour, suppression) et les valeurs avantâaprĂšs pour les champs sensibles.
Ătapes Ă suivre : configurer les succursales, permissions et rĂšgles de visibilitĂ©
L'objectif est simple : les gens doivent voir uniquement ce dont ils ont besoin pour faire leur travail, et rien d'autre. La maniÚre la plus simple d'y arriver est de décider ce qui appartient à une succursale, ce qui est partagé et comment le personnel circule entre les écrans.
Une séquence pratique
Commencez sur papier (ou un simple tableur) avant de toucher à la base de données ou à l'outil de création.
- Listez chaque type de donnĂ©e que vous stockez (rendezâvous, commandes, inventaire, notes du personnel, profils clients). Marquez chacun comme global (partagĂ©) ou appartenant Ă une succursale.
- Définissez les rÎles en langage clair (accueil, technicien, manager de magasin, siÚge). Pour chaque rÎle, précisez le périmÚtre : une succursale seulement, succursales assignées, ou toutes les succursales.
- Fixez les rĂšgles pour les clients partagĂ©s : ce qui est visible interâsuccursales et ce qui reste local. DĂ©cidez qui peut modifier les champs partagĂ©s.
- Concevez des Ă©crans et rapports diffĂ©rents pour le personnel et les managers. Les vues du personnel doivent par dĂ©faut ĂȘtre « ma succursale ». Les vues managers peuvent inclure des filtres et des comparaisons.
- Testez avec des comptes exemples de différentes succursales. Effectuez des tùches réelles (créer une réservation, rembourser, mettre à jour un client, consulter des rapports) et confirmez que le systÚme bloque ce qu'il doit bloquer.
Ne zappez pas les tests. La plupart des problĂšmes de permissions n'apparaissent qu'en se connectant avec un vrai rĂŽle et en effectuant des tĂąches quotidiennes rapidement.
Erreurs courantes et comment les éviter
La plupart des problĂšmes multiâsites ne sont pas des catastrophes. Ce sont des valeurs par dĂ©faut qui fuient des donnĂ©es ou empĂȘchent le travail. ConsidĂ©rez que chaque Ă©cran, rapport et export nĂ©cessite une rĂšgle de localisation.
Les rapports et exports sont souvent oubliés. Les équipes filtrent soigneusement les vues à l'écran par succursale, puis exportent « tous les clients » ou « les ventes du mois dernier » et incluent par erreur d'autres succursales. Traitez les exports comme des fonctionnalités séparées avec leurs propres filtres et tests. Si un employé ne peut pas voir un enregistrement dans l'app, il ne devrait pas pouvoir l'exporter.
Un autre problÚme est le rÎle manager qui devient silencieusement admin. Cela arrive quand on regroupe les actions par écran et non par risque. Les managers peuvent avoir besoin de faire des remboursements, modifier des shifts ou ajouter des notes, mais pas de créer des utilisateurs, changer les permissions ou configurer des succursales. Séparez « gérer les opérations » de « gérer le systÚme ».
Les clients partagés deviennent confus quand tout est stocké dans un seul champ. Si vous mettez des notes propres à une succursale (par ex. « demande toujours une remise ici ») dans une note globale, vous créez du partage excessif. Séparez les faits clients partagés de l'historique local de visites.
L'absence de piste d'audit entraĂźne reproches et retouches. Quand deux succursales modifient le mĂȘme client, vous avez besoin du basique « qui a changĂ© quoi et quand ». MĂȘme des champs simples created_by, updated_by et des horodatages aident.
Enfin, prĂ©voyez le personnel flottant entre succursales. Si vous « dĂ©placez » une personne entre sites au lieu de lui donner un accĂšs multiâsite, les plannings et la visibilitĂ© se cassent.
Corrections pratiques à intégrer tÎt :
- RĂ©digez une rĂšgle pour chaque type de donnĂ©e : global (partagĂ©) vs branchâonly.
- Définissez les rÎles par actions, puis ajoutez un périmÚtre (une succursale vs plusieurs).
- Intégrez des filtres de succursale dans chaque liste, rapport et export.
- Stockez séparément les notes de succursale et les données clients partagées.
- Enregistrez les modifications (utilisateur + heure) pour les changements de client et de commande.
Vérifications rapides avant la mise en production
Avant d'ouvrir l'accĂšs Ă chaque succursale, faites une journĂ©e simulĂ©e avec des comptes tests. CrĂ©ez au moins un employĂ© par succursale, plus un manager rĂ©gional. Ensuite effectuez le travail normal : rĂ©server un rendezâvous, crĂ©er une commande, mettre Ă jour un client, lancer un rapport.
Utilisez cette checklist pour attraper les problĂšmes qui causent le plus de confusion :
- Connectezâvous en tant qu'employĂ© d'une succursale et confirmez qu'il ne voit que les commandes, rendezâvous et tĂąches de sa propre succursale. La recherche, les filtres et les Ă©lĂ©ments rĂ©cents ne doivent pas rĂ©vĂ©ler d'autres sites.
- Connectezâvous en tant que manager qui supervise plusieurs succursales. Il doit voir plusieurs succursales, mais l'Ă©dition doit ĂȘtre limitĂ©e aux succursales qui lui sont assignĂ©es.
- Ouvrez le mĂȘme profil client depuis deux succursales diffĂ©rentes. Le nom et les coordonnĂ©es doivent correspondre partout, et les mises Ă jour ne doivent pas crĂ©er de doublons.
- Changez la succursale active dans l'admin ou les vues de reporting et comparez les totaux. Spotâcheck quelques jours : les chiffres doivent changer en fonction de la succursale, et la vue « toutes les succursales » doit ĂȘtre la somme.
- Désactivez un compte personnel et confirmez que l'accÚs est révoqué immédiatement (accÚs app et tous chemins admin ou API).
Testez ensuite une situation limite : un client achÚte à la Succursale A, puis appelle la Succursale C pour du support. Le personnel de la Succursale C doit voir le profil client partagé, mais pas les notes internes ou enregistrements restreints de la Succursale A.
Scénario exemple : un client, trois succursales
Imaginez une petite chaĂźne de salons avec trois succursales : Centreâville, Riverside et Centre Commercial. Elles partagent une liste client pour qu'un client puisse rĂ©server n'importe oĂč, mais chaque succursale garde son planning, son personnel et ses notes quotidiennes.
Maya (accueil au Centreâville) ouvre le systĂšme. Elle ne voit que le calendrier du Centreâville, le personnel du Centreâville et les rendezâvous du jour. Elle peut chercher les clients dans toutes les succursales, mais ne voit que les informations de base : nom, tĂ©lĂ©phone, allergies et statut fidĂ©litĂ©. Elle ne voit pas le planning, la performance du personnel ou les notes privĂ©es de Riverside.
Alex (le propriétaire) se connecte. Alex voit les trois calendriers, les rapports de chiffre d'affaires par succursale et peut gérer les rÎles du personnel. Alex peut aussi approuver des exceptions comme de grandes remises.
Jordan va habituellement au Centreâville, mais cette semaine rĂ©serve au Mall. Quand le Mall enregistre Jordan, ils voient le profil de base et l'historique des services (quels services, quand et par qui). AprĂšs le rendezâvous, le Mall ajoute le nouveau service Ă l'historique de Jordan. Le Centreâville le voit ensuite pour Ă©viter les rĂ©pĂ©titions de questions ou proposer le bon suivi.
Un moment dĂ©licat arrive au paiement. Jordan demande 30% de rĂ©duction pour un long dĂ©lai. L'accueil du Mall peut saisir une demande de remise, mais ne peut pas l'appliquer auâdelĂ de 10%. La demande est envoyĂ©e Ă Alex pour approbation. Alex approuve, le reçu est mis Ă jour et le journal d'audit montre qui a demandĂ© et qui a approuvĂ©.
Les notes sensibles sont traitées différemment. Si un·e styliste ajoute une note privée comme « client en traitement médical, attention au soin du cuir chevelu », seuls les stylistes et le propriétaire peuvent la voir. L'accueil voit un indicateur plus sûr du type « manipulation particuliÚre requise » sans les détails.
Ce qui fait que cela fonctionne, ce sont quelques rÚgles claires : plannings et personnel scindés par succursale, informations clients de base partagées, notes sensibles restreintes, et limites d'approbation pour les remises.
Prochaines étapes : documenter les rÚgles, tester les accÚs, puis construire
Une configuration multiâsites reste propre uniquement si vos rĂšgles sont Ă©crites et testĂ©es comme une fonctionnalitĂ©, pas une impression. Transformez vos dĂ©cisions « qui voit quoi » en phrases simples.
Visez 10 à 15 déclarations courtes couvrant les cas quotidiens : réservations, profils clients, paiements, remboursements, notes et rapports. Par exemple :
- Un membre du personnel peut voir les clients et commandes de sa propre succursale.
- Les coordonnées d'un client sont visibles par toutes les succursales, mais les notes sont spécifiques à la succursale.
- Les managers peuvent consulter les rapports de succursale ; seuls les propriétaires peuvent voir les totaux toutes succursales.
- Les remboursements exigent une approbation manager et doivent rester dans la mĂȘme succursale.
- Seul le siĂšge peut modifier les listes de prix et les paramĂštres globaux.
DĂ©cidez quels Ă©crans et rapports doivent toujours par dĂ©faut utiliser le pĂ©rimĂštre de succursale. Si un Ă©cran peut montrer toutes les succursales, faitesâen un filtre explicite, pas le rĂ©glage par dĂ©faut. Un bon test : un·e caissier·Úre peutâil·elle ouvrir accidentellement le rapport de chiffre d'affaires d'une autre succursale sans le vouloir ? Si oui, resserrez le dĂ©faut.
Testez avec des rÎles réels, pas des comptes admin. Créez trois utilisateurs test (caissier, manager, HQ) et suivez un flux réaliste : un client appelle la Succursale A, visite la Succursale B la semaine suivante, et demande un remboursement à la Succursale C. Confirmez que chaque personne ne voit que ce dont elle a besoin.
Programmez une vérification mensuelle des permissions pour éviter la dérive : nouveaux rÎles, changements de poste, nouvelles succursales et expansion des accÚs aux rapports.
Si vous construisez un outil interne sur mesure, AppMaster (appmaster.io) peut vous aider à modéliser succursales, rÎles et rÚgles métier en un seul endroit, puis regénérer du code propre au fur et à mesure des changements pour garder les rÚgles de permission cohérentes à mesure de la croissance.


