Modélisation
· Architecture technique
Architecture technique
Briques applicatives et outillage retenus ·
télécharger le SVG
Architecture technique du SI FGA
Briques applicatives et outillage retenus · socle Java / Quarkus pour les lots métier · Odoo pour l'ERP · déclinaison de l'architecture cible
OIDC
JSON-RPC / REST Odoo
connecteurs source / sink
télémétrie OTLP
OTLP
Frontaux
· React + TypeScript (Vite), design system commun
Services métier · Java / Quarkus
· REST (OpenAPI) + événements (SmallRye Reactive Messaging)
ERP
· Odoo, jamais de modification du core
Données et pilotage
Services transverses (produits)
Décisions à acter avant développement
Variante allégée (équipe réduite)
Observabilité · OpenTelemetry
· chaque brique développée ou opérée émet vers le collecteur : frontaux, Traefik, services Quarkus, adaptateur ERP, Kafka, Odoo, bases, transverses
Chaîne d'ingénierie et exécution
· du commit au déploiement, identique pour les six lots
Portail e-services
React · TypeScript · Vite
exposition publique derrière WAF
Back-offices métier
PR1, PR2, PR3, recouvrement
même socle React, thème interne
Application terrain (PWA)
Workbox · IndexedDB
mode hors ligne, synchronisation
Traefik (Ingress)
· routage, quotas, journalisation · authentification OIDC via Keycloak
Prise en charge
Quarkus · Java LTS
Gradle · config YAML
Panache · Liquibase
PostgreSQL dédié
Indemnisation
Quarkus · Java LTS
moteur de calcul : règles
versionnées, tests DJGS
PostgreSQL dédié
Production
Quarkus · Java LTS
imports ASACI (API / SFTP)
contrôles d'assiette
PostgreSQL dédié
Recouvrement
Quarkus · Java LTS
échéanciers, relances,
courriers PDF
PostgreSQL dédié
Adaptateur ERP
Quarkus · même socle
consomme / produit Kafka
↔ JSON-RPC / REST Odoo
base minimale : rejeu + mapping tiers
Apache Kafka
· dorsale d'événements, rejeu · Schema Registry (Avro) · topics par domaine
Sage
transition à acter
Odoo
édition et version à trancher (Community / Enterprise)
modules custom par héritage · conventions OCA
PostgreSQL (base Odoo)
Kafka Connect + Debezium
CDC des bases PostgreSQL,
déversement vers l'entrepôt
PostgreSQL entrepôt
modèle en étoile, alimenté par flux,
jamais de lecture des bases métier
Power BI
Keycloak
OIDC · MFA
realm agents : fédération Entra ID
realm usagers : victimes, prestataires
SharePoint O365
GED · accès par API Microsoft Graph
plans de classement par lot
SAE à valeur probante
exigence des CDC,
solution à instruire
Signature électronique
PSC accrédité ARTCI,
candidat à instruire
Notifications
agrégateur SMS local (contrat à part)
email : SMTP M365
Redis
cache applicatif · verrous distribués
rate limiting Traefik · files légères
· hébergement cible : on-premise FGA ou cloud
· édition et version d'Odoo, licences
· sort de Sage : remplacement ou interface
· solution SAE, prestataire de signature (ARTCI)
· agrégateur SMS, contrats opérateurs
· front confirmé après audit équipe (React par défaut)
· dimensionnement : volumétrie absente des CDC
Si l'équipe d'exploitation est réduite :
· Docker Compose par environnement,
Kubernetes en cible différée
· Kafka KRaft acté (ADR-0006) : un seul
système, sans ZooKeeper — pas de variante
Collecteur OpenTelemetry
réception OTLP · instrumentation
native Quarkus, agents ailleurs
stockage télémétrie
Prometheus
métriques
Loki
logs centralisés
Tempo
traces distribuées
Grafana
tableaux de bord, alerting,
suivi des SLA (délai 60 j)
alertes exploitables
→ email, SMS (brique Notifications)
GitHub · Actions
dépôts Git, pull requests
pipelines CI/CD
SonarQube
qualité de code,
couverture, dette
Nexus
artefacts Maven / npm,
registre d'images
Tests automatisés
JUnit 5 · Testcontainers · REST Assured
Playwright (front) · k6 (charge)
Helm + ArgoCD
paquets versionnés,
déploiement GitOps
Kubernetes
conteneurs Docker,
environnements dev · recette · prod
Ansible
provisioning des VM
(Odoo, bases, broker)
« rien ne se perd, tout se rejoue »
« le core reste intact »
« pas mesuré, pas en prod »
« du commit à la prod »
Conventions de développement : projets Java construits avec Gradle, configuration applicative en YAML · aucun développement dans le core Odoo, héritage de modules uniquement.
Les versions des produits tiers (Odoo, Sage, Traefik, Keycloak, Kafka, PostgreSQL…) seront arrêtées au démarrage et figées dans le DAT, pas dans ce schéma.