← Index des services · SI FGA · spécification de service

mobile-bff

Catégorie : Edge  ·  Périmètre : PR3 · application mobile terrain  ·  Module : edges/mobile-bff (monorepo fga-services — ADR-0001)  ·  Stack : Java · Quarkus · Gradle · YAML  ·  Architecture : hexagonale

1. Rôle et responsabilités

BFF de l'application mobile de contrôle terrain : authentification des agents (headless), lots descendants (missions, référentiel assureurs), lots montants (fiches de contrôle), résolution de conflits, reprise sur coupure réseau.

2. Modèle de domaine (agrégats)

SyncBatchSyncConflictDeviceRegistration

3. API exposée

/mobile/v1/sync/down/mobile/v1/sync/up/mobile/v1/devices

API REST versionnée, contrat OpenAPI généré et versionné avec le service. Authentification par jeton Keycloak (JWT RS256) validé par le service (Quarkus OIDC).

4. Événements publiés

5. Événements consommés

Topics sigfga.<service>.<aggregate> · enveloppe CloudEvents 1.0 · publication via outbox pattern · consommateurs idempotents (déduplication par event id).

6. Dépendances synchrones

7. Flux principal

mobile-bff · flux principalauthentifier l'agent (headless)préparer le lot descendant(missions · référentiels)transmettre à la tabletterecevoir le lot montant(fiches de contrôle)résoudre ou rejeter(sync.mobile.conflict-detected)ouiconflits détectés ?transmettre à field-inspectionspubliersync.mobile.batch-receivedaccuser réception à la tablette

8. Backlog Jira rattaché

Backlog v2 (16/07/2026) : toujours aucun ticket rattaché à ce service.

Zéro ticket alors que le CDC PR3 exige la collecte mobile sur tablettes avec mode hors-ligne. Backlog à créer : app mobile (projet front distinct), protocole de synchronisation, gestion des conflits, enrôlement des tablettes.

MAJ backlog v2 (16/07/2026) — Toujours aucun ticket ; le cadrage de l'app terrain reste le préalable.

9. Implémentation

Structure hexagonale standard : domain (modèle, événements, services purs, sans dépendance framework), application (use cases, ports in/out, transactions), adapter (in/rest, in/messaging, out/persistence, out/messaging, out/client). Dépendances verrouillées par test ArchUnit. Base de données dédiée (schéma PostgreSQL propre), migrations Liquibase (changesets exclusivement en SQL formaté — ADR-0002). Code intégralement en anglais ; textes utilisateur en fichiers i18n français.