Trois couches qui ne se mélangent jamais : le serveur du commerce, le moteur du poste et l'écran. Les règles d'affaires vivent dans des bibliothèques ; les services ne font que les héberger.
Le serveur du commerce
Chaque commerce fait tourner un serveur sur son réseau local :
- ServerDB : une base PostgreSQL 19, seule source de vérité.
- Server.Service : la passerelle gRPC des postes. Les postes ne se connectent jamais à la base : chaque opération passe par ce proxy, qui la vérifie et l'enregistre.
- Admin : l'application web de configuration, sur le réseau local.
- Rapports : l'application web des rapports, sur le réseau local et, au choix, sur Internet.
Internet ne sert qu'à la synchronisation infonuagique optionnelle, aux paiements par carte (du terminal directement au processeur) et aux mises à jour.
Le poste
Un poste est un conteneur (ou un programme natif) qui regroupe :
- L'écran : tout client, dans tout langage, qui parle gRPC sur le poste lui-même.
- Intelligence : le moteur de vente, les modules d'affaires et les extensions.
- Communication : la copie SQLite locale, la file d'envoi et la synchronisation avec le serveur.
Sur un poste Windows qui pilote une imprimante thermique ou un tiroir-caisse, le programme peut lier les bibliothèques en direct : un seul processus, aucun saut réseau local, les mêmes règles.
Hors ligne d'abord
Au démarrage, un poste vide sa file d'envoi vers le serveur avant toute autre chose : une mise à jour n'écrase jamais des ventes non envoyées. Quand le serveur est injoignable, le poste vend depuis sa copie locale. Certaines vérifications exigent le serveur : le stock et les places limitées ne sont garantis qu'en ligne.
Le contrat
Les écrans utilisent le contrat gRPC stilldeep.v1 : ventes, catalogue, membres, cartes, périphériques, événements, reçus, réservations, rendez-vous, location, inventaire, quarts et plus. La version 1 ne reçoit jamais de changement incompatible ; une version 2 vivrait dans son propre espace de noms. Les montants sont en cents entiers, les pourcentages en points de base, les quantités en millièmes.
Technologies
.NET 11 et C#, PostgreSQL 19, SQLite, Blazor pour les applications web, gRPC sur HTTP/2, MCP pour les outils de l'IA, OpenTelemetry pour les journaux, métriques et traces. Chaque composant tourne sous Windows, Linux et macOS et suit les règles des douze facteurs (configuration par l'environnement, journaux sur la sortie standard, vérifications de santé, arrêt propre).
Livré et en cours
| Domaine | État |
|---|---|
| Base de données, moteur de vente, synchronisation et file d'envoi | Livré |
| Proxy de la base pour les postes | Livré ; durcissement TLS et enrôlement réel en cours |
| Contrat gRPC et clients exemples | Livré |
| Applications web Admin et Rapports | Livré |
| Reçus, impression, concepteur de reçus, codes hors ligne signés | Livré |
| Extensions et registre des extensions | Livré ; signature des paquets en cours |
| Réservations, rendez-vous, location, ressources limitées | Livré |
| StillDeep AI (locale) | Livré |
| Cryptographie post-quantique hybride | En cours |
| Emballage Docker et mises à jour automatiques | Prévu |
| Licence par poste, modules restaurant et bar | Prévu |
StillDeep en est à la version 0 : aucun client n'est encore déployé.