« Épicerie Bellevue » exploite trois points de vente dans la même ville, jusque-là gérés avec des caisses enregistreuses classiques et un tableur partagé, remis à jour à la main chaque soir, pour approcher tant bien que mal un suivi de stock commun. Le projet consistait à déployer WooCommerce POS dans les trois boutiques, reliées à un unique catalogue WooCommerce central hébergé sur le site vitrine existant, avec un stock réellement partagé en temps réel plutôt qu’un rapprochement quotidien approximatif. Ce retour d’expérience ne couvre pas la caisse à reconnaissance vocale déployée par ailleurs chez un autre client, mais se concentre sur les enjeux propres au multi-boutiques.
Le point de départ du projet n’était pas technique mais organisationnel : avant même de choisir une extension, il a fallu clarifier avec le client une règle simple mais structurante, celle du stock unique partagé entre les trois adresses, par opposition à un stock localisé par boutique. Ce choix a orienté toute l’architecture qui a suivi.
Le choix du stock partagé plutôt que localisé
WooCommerce POS permet en théorie de gérer un stock par emplacement, mais Épicerie Bellevue vendait volontairement les mêmes références partout, sans stock dédié par boutique : un fromage vendu à l’unité doit apparaître comme disponible ou épuisé de la même façon, quel que soit le comptoir qui consulte la caisse. Le choix du stock unique a simplifié l’architecture, chaque vente décrémentant directement le même stock produit WooCommerce central, sans couche de répartition supplémentaire à synchroniser.
La contrainte du réseau, révélée dès les premiers tests
Le premier obstacle rencontré n’était pas logiciel : l’une des trois boutiques disposait d’une connexion internet peu fiable, avec des coupures de quelques minutes plusieurs fois par semaine. Une caisse entièrement dépendante d’une connexion permanente au catalogue central serait devenue inutilisable à chaque coupure, un risque commercial inacceptable pour un commerce de proximité qui ne peut pas se permettre de refuser une vente pour une raison technique.

Le mode dégradé mis en place
La solution retenue s’appuie sur la mise en cache locale du catalogue côté navigateur de chaque caisse, régénérée toutes les quinze minutes en fonctionnement normal, permettant à la caisse de continuer à fonctionner en lecture pendant une coupure courte. Les ventes réalisées pendant une coupure sont mises en file locale et synchronisées automatiquement dès le retour de la connexion, avec une alerte visuelle claire pour l’employé pendant toute la durée du mode dégradé.
window.addEventListener('offline', () => {
posActiverModeCaisseDegrade();
posAfficherBandeauAlerte('Mode hors ligne : synchronisation différée');
});
window.addEventListener('online', () => {
posResynchroniserVentesEnAttente().then(() => {
posDesactiverModeCaisseDegrade();
});
});
Le risque assumé de ce mode dégradé
Ce mécanisme accepte un risque connu et documenté auprès du client : un même produit à faible stock pourrait, en théorie, être vendu en double dans deux boutiques différentes pendant une coupure simultanée des deux, un scénario jugé suffisamment rare et suffisamment mineur en impact pour être toléré plutôt que de bloquer toute vente hors ligne par principe.
La synchronisation du stock en fonctionnement normal
Chaque vente déclenche une décrémentation immédiate du stock côté catalogue central via l’API REST de WooCommerce, avec un délai mesuré en pratique de moins d’une seconde entre la validation du ticket et la mise à jour visible sur les deux autres caisses. Ce délai, initialement redouté comme source de survente, s’est révélé largement suffisant pour l’activité réelle des trois boutiques, dont le volume simultané reste modeste comparé à une grande surface.
- Décrémentation immédiate du stock via l’API REST après chaque vente validée
- Rafraîchissement du catalogue local des caisses toutes les quinze minutes
- File de synchronisation locale pour les ventes réalisées hors ligne
La formation, sous-estimée au départ
Le projet avait initialement prévu une demi-journée de formation par boutique. Elle s’est révélée insuffisante : le passage d’une caisse enregistreuse classique à une interface tactile a demandé plus de temps d’adaptation que prévu pour les employés les moins à l’aise avec le numérique, en particulier sur la gestion des retours et des annulations de ticket. Une deuxième session, deux semaines après la mise en production, a été nécessaire pour consolider les usages.
Le stock partagé en temps réel est souvent perçu comme le cœur technique d’un projet multi-boutiques, alors que la vraie difficulté se loge presque toujours dans la fiabilité du réseau et dans l’accompagnement humain du changement d’outil.
Notre verdict
Un déploiement multi-boutiques réussi ne se joue pas uniquement sur le choix de l’extension de caisse : il repose sur une décision organisationnelle claire concernant le stock, un mode dégradé pensé dès le départ pour les coupures réseau inévitables en conditions réelles, et un temps de formation revu à la hausse par rapport aux estimations initiales, souvent trop optimistes sur ce type de projet.