

OrderSpot · Suite logicielle
OrderSpot : construire toute une suite de point de vente
Caisse, borne, écrans, livreur et serveur local : ce que veut dire faire travailler ensemble des applications qui ne doivent jamais s'arrêter.
Kamel DhakwaniConception produit et réalisation
Après des années à concevoir des logiciels de point de vente pour d'autres, j'ai voulu savoir ce que donnerait une suite complète, pensée d'un seul tenant et construite avec les outils d'aujourd'hui. OrderSpot est né de cette envie.
Une suite, ce n'est pas plusieurs applications
La suite comprend une caisse, une borne, un écran de préparation, un écran d'appel des commandes et une application livreur. Au départ, tout vivait dans un seul dépôt. Nous l'avons découpé en applications Flutter indépendantes, qui partagent un même socle : le design system, les langues français, anglais et arabe, le réseau et le dialogue avec le matériel.
Ce choix a une conséquence directe. Une amélioration du socle profite à toutes les applications, et chacune peut être livrée sans attendre les autres.
Le magasin ne doit pas dépendre d'Internet
C'est la décision d'architecture la plus importante. Un petit serveur s'installe sur un ordinateur du magasin. Il tient une base locale, échange en temps réel avec les appareils du réseau, et se synchronise avec le cloud grâce à une file d'attente : les données partent toutes les quelques secondes et, si la connexion coupe, elles attendent.
Les appareils le découvrent seuls sur le réseau local et s'appairent avec un code court, sans configuration réseau pour l'équipe.
Un agent IA dans le magasin
Ce serveur local expose aussi ses fonctions à un agent IA par le protocole MCP : lister les commandes actives, déclarer une rupture, transférer une commande. L'agent peut tourner sur un modèle local ou passer par le cloud. Autrement dit, l'IA n'est pas une couche ajoutée à la fin, elle a été prévue dès l'architecture.
Ce que j'ai laissé de côté
Il faut savoir arbitrer. La certification NF525 demande un travail considérable, et je l'ai volontairement écartée de cette première version pour aller au bout de l'expérience produit. C'est exactement le type de décision qu'on doit assumer et écrire.
Une suite tient par ce que ses applications partagent, et par ce qu'elles savent faire quand plus rien ne répond.