Architecture

Vue d'ensemble


Un monolithe modulaire, dimensionné pour être exploité sans équipe ops.

L'architecture répond à trois contraintes : la rigueur comptable, un réseau instable, et un exploitant qui n'est pas informaticien. Chaque composant que nous n'ajoutons pas est une panne que vous n'aurez pas.

L'architecture de bout en bout

AiO · architecture de bout en bout

/ 01 · CLIENTSSurface de consommation
GuichetPWA · hors-ligne
Back-officeReact · TypeScript
Superviseurmobile · lecture + validation
/ 02 · EDGEProximité & bouclier
CDNPoP Afrique centrale/ouest
TLS 1.3En-têtes durcis
WAFRate-limit · anti-abus
/ 03 · API — GoEntrée unique, scellée
Auth 2FAJWT · refresh
RBACrôles × agences
Idempotenceune clé, une écriture
/ 04 · DOMAINE — monolithe modulaireCœur métier
Grand livreappend-only · balance = 0
Caisse & floatsessions · prévision
Commissionsbarèmes · compte d'arrondi
Connecteurs partenairesAPI · fichier · assistée
/ 05 · DONNÉESÉtat de référence
PostgreSQL 16ledger · RLS · contrôles différés
Redisidempotence · verrous
Riverjobs durables, sur Postgres
Stockage objetjustificatifs chiffrés · pièces
/ 06 · CLOUD & OPSExploiter & prouver
CI/CD3 environnements
Supervision 24/7SLO · alerting
PITRWAL · restauration chronométrée
Rollbacken un clic

< 3s en 4G  ·  99,5%  ·  2 000 utilisateurs simultanés

AiO · monolithe modulaire · trafic temps réel

ClientsGatewayAPIModulesDonnées
ReactBack-office
TypeScriptGuichet PWA · hors-ligne
TraefikTLS · routage · LB
Go · chiAPI unique
Grand livreappend-only
Caisse & floatGo
CommissionsGo
Connecteurspartenaires
ConformitéKYC · AML
PostgreSQLACID · RLS
Redisidempotence · verrous
MinIOjustificatifs chiffrés

Docker · GitHub Actions (CI/CD, scan sécurité) · WAL PostgreSQL + restauration à un instant précis. Une seule unité à déployer et à exploiter — ni bus de messages, ni orchestrateur. Les points sont des requêtes en vol.

Pourquoi un monolithe modulaire, et pas des micro-services

C'est un choix assumé, et il va à contre-courant de ce qu'on vous proposera ailleurs.

Votre besoin se compte en dizaines d'opérations par minute, pas en dizaines de milliers par seconde. Un PostgreSQL correctement réglé traite 10 000 à 30 000 transactions par seconde : la base ne sera jamais votre facteur limitant. En revanche, des micro-services vous imposeraient un bus de messages, une orchestration, une supervision distribuée et un traçage inter-services — c'est-à-dire trois fois le coût d'exploitation, pour une capacité dont vous n'avez pas l'usage.

Nous gardons donc les frontières de modules — elles structurent le code et le dépôt Git — mais un seul déploiement à exploiter. Le jour où un module devra être extrait, la frontière existe déjà.

Clients
Gateway
API
Grand livre
Données
Cloud / Ops

Six couches, un déploiement

Le grand livre est au centre

Tout le reste en dérive. Les soldes, la balance, les rapports, la comptabilité et les états réglementaires ne sont pas des tables séparées à maintenir en cohérence : ce sont des lectures du journal. C'est ce qui rend impossible l'écart classique entre « ce que dit l'écran » et « ce que dit la comptabilité ».

Prêt pour la revente

Votre §3.2 crée un profil éditeur chargé de gérer les licences ; votre chapitre 25 demande une administration multi-entreprise. Les frontières de modules et le cloisonnement sont donc tracés en fonction de cette suite : une seconde société s'accueille sans réécriture, et les barèmes, seuils, plans de comptes, devises et rôles sont des données, pas du code.

La version 1 est déployée pour une entité juridique. Le cloisonnement est livré et exploitable ; l'accompagnement à l'ouverture d'une seconde entité fait l'objet d'un devis distinct.