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

svc-audit-trail

Catégorie : Socle  ·  Périmètre : Transverse  ·  Module : services/svc-audit-trail (monorepo fga-services — ADR-0001)  ·  Stack : Java · Quarkus · Gradle · YAML  ·  Architecture : hexagonale

1. Rôle et responsabilités

Journal d'audit métier immuable : consomme tous les topics d'événements et matérialise la piste exigée par les CDC (qui, quoi, quand, sur quel dossier), avec consultation par dossier et par acteur.

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

AuditEntry

3. API exposée

/v1/audit-entries?claimId=.../v1/audit-entries?actorId=...

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

Aucun

5. Événements consommés

tous les événements (abonnement sigfga.*)

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

6. Dépendances synchrones

Aucun

7. Flux principal

svc-audit-trail · flux principalconsommer un événement (sigfga.*)déjà enregistré ?ouinormaliser l'entréeenrichir (acteur · dossier · corrélation)écrire l'entrée immuableindexer pour la consultation(par dossier · par acteur)non

8. Backlog Jira rattaché

7 tickets du backlog Jira se rattachent à ce service, via 2 épics :

ÉpicIntituléEnfants
FSD-71[PC] Journalisation et audit du système · clôturée en v2 (fusion)
FSD-838[PEC] Audit et traçabilité5
Les épics FSD-71 et FSD-838 et environ 157 tâches « journaliser / historiser » disséminées dans tous les lots sont remplacées par ce service unique : chaque service publie ses événements, l'audit les consigne. Les tickets dispersés sont à fermer au profit de ce pattern.

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-audit-trail