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

portal-bff

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

1. Rôle et responsabilités

Backend for frontend du portail : agrégation des lectures multi-services pour composer les écrans usagers, orchestration des parcours (compte, demandes, suivi, réclamations, support), gestion de session, parcours d'authentification headless côté serveur (Keycloak, MFA).

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

UserSessionScreenAggregate (non persistant)

3. API exposée

/portal/v1/** (routes d'agrégation par écran)

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

claim.status-changed (push temps réel vers le front)

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

portal-bff · flux principalrecevoir la requête du portaildérouler l'authentification headless(Keycloak · MFA)refuser (401)nonauthentifié ?nonsession valide ?contrôler les habilitationsinterroger claimsinterroger medical-careinterroger paymentsinterroger documentsagréger et adapter au frontrépondreoui

8. Backlog Jira rattaché

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

ÉpicIntituléEnfants
FSD-954[PORT] Gestion des utilisateurs et authentification18
FSD-970[PORT] Gestion du profil utilisateur20
FSD-991[PORT] Gestion des demandes de services20
FSD-1033[PORT] Tableau de bord utilisateur20
FSD-1096[PORT] Gestion des réclamations20
FSD-1117[PORT] Assistance et support aux utilisateurs20
FSD-1138[PORT] Administration du portail20
Le parcours usager est bien couvert (7 épics : compte, profil, demandes, tableau de bord, réclamations PM2, support, administration). Manquent : SSO/MFA et multi-rôles (l'épic authentification s'arrête à inscription/connexion/mot de passe) et les 18 flux d'interfaces avec les solutions métier, qui deviennent les routes d'agrégation de ce 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

portal-bff