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

svc-field-inspections

Catégorie : Métier  ·  Périmètre : PR3 · contrôle terrain  ·  Module : services/svc-field-inspections (monorepo fga-services — ADR-0001)  ·  Stack : Java · Quarkus · Gradle · YAML  ·  Architecture : hexagonale

1. Rôle et responsabilités

Programme annuel de contrôle des attestations, budget, missions terrain, fiches de contrôle numériques, réception et traitement des données collectées par l'application mobile (via mobile-bff).

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

InspectionProgramInspectionMissionInspectionReportCertificateCheck

3. API exposée

/v1/inspection-programs/v1/missions/v1/inspection-reports

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

svc-field-inspections · flux principalapprouver le programme annuelpublierinspection-program.approvedassigner la missionpubliermission.assignedrecevoir le lot mobile(sync.mobile.batch-received)contrôler les fichespublierviolation.recordedouiinfraction constatée ?clôturer la missionpubliermission.completedouimissions à conduire ?nonconsolider le bilan du programme

8. Backlog Jira rattaché

67 tickets du backlog Jira se rattachent à ce service, via 4 épics :

ÉpicIntituléEnfants
FSD-77[PROD] Élaboration du programme de contrôle16
FSD-78[PROD] Budget de contrôle16
FSD-79[PROD] Opérations de contrôle19
FSD-80[PROD] Traitement des données de contrôle15
Le back-office est couvert (épics FSD-77 à 80 : programme, budget, opérations, traitement). En revanche la collecte mobile elle-même (tablettes, hors-ligne) n'a aucun ticket : voir mobile-bff.

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.

10. Schéma de données

svc-field-inspections