Matériel + logiciel · Partie de Synero · Prototype
Un distributeur automatique qui, par défaut, ne fonctionne que s'il peut joindre un serveur à l'autre bout du monde. Nous avons écrit le logiciel qui le pilote directement — et le rend gérable de façon centralisée.
01 · Le problème
Vous achetez une machine, vous l'installez dans votre commerce — et vous découvrez qu'elle ne fait rien sans l'autorisation d'un serveur que vous ne connaissez pas.
Les distributeurs modernes sont des ordinateurs avec un moteur derrière. Le fabricant fournit un logiciel qui a belle allure mais ne fait pas une chose : fonctionner sans son propre cloud. Pas de connexion aux serveurs du fabricant, pas de produit qui tombe. Et ce qui transite par cette connexion — ventes, prix, horaires — vous ne le voyez pas.
Pour un exploitant, cela signifie une dépendance : à un serveur à l'étranger, à une application qu'on ne peut pas modifier, à des prix qu'on ne change que via leur système. Et si ce service s'arrête un jour, il reste une armoire coûteuse qui ne fait plus rien.
Nous voulions l'inverse : une machine qui écoute votre plateforme, avec vos données sur votre infrastructure.
02 · La solution
Nous avons remplacé le logiciel du fabricant par notre propre application Android qui dialogue directement avec la carte moteur, via le SDK officiel du fabricant. Sans détour par le cloud.
Au démarrage, la machine se connecte à la plateforme Synero et attend dans un pool qu'un exploitant la réclame. Si la connexion tombe, elle se reconnecte toute seule.
L'exploitant relie la machine à son commerce et renseigne produit, prix et stock par spirale — depuis le tableau de bord, sans se déplacer jusqu'à la machine.
Une distribution passe du tableau de bord à la machine en une fraction de seconde. Le moteur tourne, le produit tombe, le stock diminue d'une unité et la vente est dans le journal.
« La machine ne connaît que des spirales. Ce qu'elles contiennent, ce que ça coûte et qui peut le vendre — seule la plateforme le sait. Un prix change donc sans qu'aucune machine ne doive jamais être mise à jour. »
Le principe de conception
03 · Ce qu'il y a dedans
Le même schéma que la plateforme de commande : un système, chaque exploitant son propre environnement.
L'application s'adresse directement à la carte moteur via le port série. La carte acquitte les commandes de configuration et de distribution comme il se doit.
Lire en direct ce que voit la carte, spirale par spirale. Indispensable pour savoir si un problème vient du logiciel ou de l'armoire.
Exploitant → machines → spirales. Plusieurs commerces sur une plateforme, strictement séparés, exactement comme sur la plateforme de commande Synero.
Produit, prix, capacité et stock sont sur le serveur. Modifier, c'est un clic ; la machine n'a pas besoin de le savoir.
Le wifi disparaît un instant ? La machine réessaie calmement, un peu plus tard à chaque fois, jusqu'à être de nouveau en ligne. Pas de redémarrage manuel.
Chaque distribution déduit le stock et enregistre une transaction, par machine et par exploitant. Filtrable, exportable.
Une carte moteur simulée nous permet de tester toute la chaîne sur un portable. Treize tests automatisés veillent à ce que tout continue de fonctionner.
Bancontact, Payconiq ou un terminal de paiement avant la distribution — le point d'accroche est déjà dans le flux. Prévu
La gestion passe pour l'instant par l'API ; l'interface visuelle suivra dans le style de Synero. Prévu
04 · Sous le capot
Exploitant
Choisit machine et produit, ou un paiement donne le signal de départ.
Cloud Synero
Vérifie le stock et les droits, numérote la commande et attend le résultat.
Connexion en direct
Par une connexion permanente, en millisecondes.
Dans l'armoire
Traduit la commande dans le langage de la carte moteur.
Carte moteur
Le produit tombe. La confirmation refait le même chemin ; stock et journal sont mis à jour.
Deux programmes, strictement séparés. Dans l'armoire tourne une application volontairement simple : elle peut faire tourner une spirale et téléphoner à la maison, rien de plus. Dans le cloud tourne le cerveau : exploitants, machines, prix, stock, transactions. Chaque distribution passe par un point central unique qui retient ce qui a été demandé et ce qui a été répondu.
La partie qui dialogue avec le matériel se trouve dans un module isolé. Si quelque chose n'y est pas correct, le système préfère n'envoyer rien plutôt que quelque chose de faux — et dit clairement pourquoi.
05 · Pourquoi c'est différent
La machine n'a plus besoin de joindre le moindre serveur étranger pour fonctionner. Les données restent chez l'exploitant, sur une infrastructure qu'il connaît.
Le pilotage passe par le SDK du fabricant lui-même. Robuste, supporté et propre.
Tout ce qui est certain est construit et testé. La seule pièce qui attend encore le fournisseur est isolée dans une fonction unique — le reste de la pile n'est pas à l'arrêt pour autant.
Une carte moteur simulée nous permet de faire tourner toute la chaîne sur un portable. Construire plus vite, moins de risque sur la vraie machine.
Même schéma multi-tenant, même façon de penser. Un exploitant avec une cafétéria et un distributeur gérera bientôt les deux au même endroit.
06 · Ce que nous avons appris en chemin
Le logiciel du fabricant n'envoie rien à la carte moteur tant qu'il n'atteint pas son cloud. Il n'y avait donc rien à observer ni à comparer.
Apprendre à connaître la carte directement via le SDK officiel, pas à pas : quel port, quelle vitesse, quelle adresse. Ne croire chaque hypothèse qu'une fois confirmée par la carte.
Les premières commandes étaient totalement ignorées.
La carte parlait en fait un autre format de message que la documentation d'une carte sœur. Avec la bonne « langue », elle a immédiatement répondu aux commandes de configuration et de distribution.
La carte accepte tout, mais les moteurs restent muets.
Éliminé méthodiquement jusqu'à ce qu'il ne reste qu'une explication : le logiciel fait ce qu'il doit, les moteurs sont électriquement inaccessibles. C'est l'armoire, pas le code — et c'est désormais entre les mains du fournisseur.
Un seul programme peut parler à la carte à la fois.
L'application du fabricant est désactivée et la nôtre obtient le port en exclusivité. Simple, mais ça épargne des heures de chasse aux erreurs fantômes.
07 · La suite
Application, plateforme, outil de diagnostic et tests sont en place. La carte acquitte chaque commande.
Résoudre la question matérielle/de configuration avec le fournisseur. Ensuite, la première vraie distribution.
Bancontact, Payconiq ou terminal avant la distribution — le point d'accroche dans le flux existe déjà.
Gestion visuelle dans le style de Synero, avec le distributeur à côté de la cafétéria.
Base de données et hébergement comme pour Synero, mises à jour à distance, et une deuxième et troisième machine.
Une machine que vous voulez gérer vous-même ?