Une stack lisible, un déploiement maîtrisable.
Trois clients — web, mobile et bureau — sur un seul domaine, une seule base de données et un seul jeu de règles. Chaque couche est isolable, testable et remplaçable : pas de monolithe, et aucune dépendance implicite à un cloud propriétaire.
Architecture logique
- COREDomaine en C# / .NET — Les services de domaine — référentiels, réception, rangement, préparation, inventaire, contrôle qualité, KPI — vivent au même endroit et ignorent de quel client vient la demande. C'est pourquoi web, mobile et bureau affichent toujours les mêmes chiffres : ils n'ont pas trois logiques, ils en partagent une.
- WEBKazam Web — Blazor Server sur .NET 10 — Le client principal : 86 pages réparties en 27 domaines, dont 31 consacrées à la seule configuration. L'application s'exécute sur le serveur et n'envoie au navigateur que les différences d'interface : rien à installer sur un poste, et une mise à jour immédiate pour tous. Composants Syncfusion pour les grilles, les graphiques et le plan ; authentification par cookie.
- BFFUne couche pour le web, pas une API générique — Entre l'application web et le domaine se trouve un backend for frontend : il expose exactement ce dont les pages ont besoin, et l'application le consomme via des clients typés authentifiés par clé. L'application web n'ouvre jamais de connexion à la base de données.
- MOBILEKazam Mobile — .NET MAUI — Android sur terminaux industriels et WinUI sur tablettes Windows, pour ceux qui travaillent entre les rayonnages. Lecture par scanner matériel, fonctionnement hors ligne et synchronisation différentielle : l'entrepôt continue même là où le Wi-Fi ne va pas jusqu'au bout de l'allée.
- BUREAUKazam Desktop — client Windows — Le client WinForms historique, complet et pris en charge, pour qui préfère une application installée sur le poste. Il travaille sur le même domaine et les mêmes données que les deux autres.
- WCSSun Tech WCS — la couche qui parle aux machines — Pilotage de l'installation pour automates, navettes, trieurs et AGV : modèle de l'installation, missions, itinéraires et reprise quand une machine s'arrête. Open source, sous licence Apache 2.0. C'est la couche qu'un ERP n'a pas, et celle qui distingue un entrepôt automatisé d'un entrepôt seulement informatisé.
- ÉCHANGEIntégration avec l'ERP — API REST/JSON indexées par clé ERP, plus une zone d'échange en base de données avec un statut par enregistrement. Deux voies pour un même but : la synchrone quand il faut une réponse maintenant, l'asynchrone quand les deux systèmes ne doivent pas s'attendre.
- DONNÉESSQL Server, sur site ou dans le cloud — Le transactionnel est sur SQL Server, là où vous le décidez. Aucune dépendance implicite à un service propriétaire : la base est la vôtre, interrogeable avec les outils que vous utilisez déjà.
Un contrat d'échange, pas un connecteur par éditeur
Kazam n'intègre pas de connecteurs liés à un ERP particulier : il expose un contrat d'échange de données que n'importe quel ERP peut alimenter et consommer. L'intégration se construit sur les formats du client lors de l'analyse et reste valable même si l'ERP change demain — l'entrepôt ne s'arrête pas.
Clé de corrélation
Chaque document d'entrepôt porte la référence au document ERP d'origine (HOOK_TESTATA_ERP sur les en-têtes et les lignes) : le lien entre les deux mondes est explicite, interrogeable et vérifiable à tout moment.
Zone d'échange
Tables de staging sur SQL Server avec un statut par enregistrement : l'ERP écrit, Kazam lit, et chaque ligne sait si elle a été importée, est en attente ou en erreur.
Service d'import
Un service Windows récupère à intervalles configurables ce qui est en file d'attente et l'injecte dans le WMS — clients, adresses, références, unités de charge, commandes — de manière idempotente et répétable.
API REST
Points d'accès indexés par clé ERP, avec authentification JWT, pour lire et écrire en temps réel lorsque le polling ne suffit pas. Ainsi que des hooks SQL optionnels pour les personnalisations projet.
Comment cela s'applique aux ERP les plus courants: SAP · TeamSystem · Zucchetti · Microsoft Dynamics · Kazam vs Odoo (pages en italien)
Stack propre, contrats clairs, évolution maîtrisée
Clean Architecture + DI
Séparation nette entre domaine, application et infrastructure. Injection de dépendances pour la testabilité.
Bounded Contexts (DDD-light)
WMS, WCS et Mobile opèrent dans des contextes séparés, avec des contrats clairs et versionnés.
CQRS pragmatique
Commandes et requêtes distinctes là où il faut du throughput et une mise à l'échelle simple.
Event-driven
Événements de domaine internes ; intégrations réactives via MQTT / webhooks vers les systèmes externes.
Stack moderne, adaptateurs industriels
.NET 9/10-ready
- C# moderne, async-first
- WinForms + .NET MAUI
- DevExpress / Syncfusion
- ADO.NET optimisé
Protocoles industriels
- MQTT pour IoT / dispositifs
- OPC-UA pour l'automatisation
- Modbus, OMRON FINS
- VDA 5050 pour AGV / AMR
On-premise ou Azure
- SQL Server / Express
- Azure App Service optionnel
- Conteneurs Docker
- Queue + storage configurables
Audits possibles, traçabilité native
Authentification
JWT / OAuth2. RBAC (rôles/profils) au niveau du module et de l'action.
Multi-tenant
En option : séparation logique par client/site, avec scopes DB dédiés ou schéma-par-tenant.
Chiffrement
TLS en transit ; chiffrement sélectif at-rest (champ/table) ; gestion des secrets externalisée.
Audit & tracing
Logs append-only, piste d'audit sur les enregistrements sensibles, distributed tracing corrélé.
Livre blanc architectural sur demande
Un document technique dédié aux responsables IT, intégrateurs et développeurs, avec les détails sur les connecteurs, les modules, FINS/OPC-UA, KPI/BI.
Prêt à essayer ?
Recevez un accès à l'application web : elle s'ouvre dans le navigateur, sans rien installer sur les postes. Un ingénieur vous répond sous un jour ouvré.
Les trois nouveautés les plus récentes : l'application web — ce qui change et ce qui reste —, l'assistant qui configure l'entrepôt en vous interrogeant et Sun Tech WCS, le Warehouse Control System publié en open source.
Kazam WMS · plateforme d'entrepôt