Applications front-end du SIGFGA

Les interfaces à développer par l'équipe, leurs utilisateurs, leur backend et le backlog rattaché · backlog v2 du 16/07/2026 · l'ERP (Odoo) est exclu : son interface est livrée avec le progiciel et paramétrée, elle n'est pas développée ici.

Légende des backlogs● JIRA existant dans le Jira du client (clés FSD-xxx) · ◆ PROPOSÉ déduit des CDC (codes indicatifs BO-/MOB-/TER-, à valider et importer). Dans les pages : tableau à bordure bleue = Jira, à bordure ambre = proposé.

Quatre applications à construire

ApplicationUtilisateursPlateformeBackend / BFFAuthentificationBacklog dédiéÉtat
Portail e-services Usagers externes : victimes/ayants droit, prestataires de santé, compagnies Web responsive portal-bff Headless via BFF (realm usagers) — en place ● JIRA tag PORT · ~186 socle bootstrapé
App mobile victimes Victimes et ayants droit (grand public, smartphone) Mobile dédiée (iOS + Android) portal-bff ou BFF mobile dédié Headless via BFF (realm usagers) ◆ PROPOSÉ ~82 (MOB-*) à cadrer
Back-office métier Agents FGA : sinistres, médecins-conseils, directions (DJGS, DAF, DQPS), admin applicatif Web interne via l'ingress Traefik Authorization Code + PKCE fédéré AD (realm agents) ◆ PROPOSÉ ~180 (BO-*) socle bootstrapé
App terrain — contrôle Agents de contrôle des attestations (tablettes) Mobile / PWA hors-ligne mobile-bff realm agents ◆ PROPOSÉ ~54 (TER-*) à cadrer
Deux applications mobiles, à ne pas confondre. L'app victimes est une application grand public (suivi de dossier, notifications, dépôt de pièces), connectée, distribuée sur les stores. L'app terrain est un outil professionnel interne pour les agents de contrôle, orientée hors-ligne, distribuée en interne. Utilisateurs, realm d'authentification, mode de connexion et canal de distribution différents : ce sont deux projets distincts.

Décisions à trancher

  1. App mobile victimes — technologie : cross-platform (Flutter ou React Native, un seul code base + notifications push natives) ou PWA (moins coûteux, moins d'accès natif). Recommandation : cross-platform.
  2. App mobile victimes — backend : réutiliser portal-bff (démarrage rapide) ou créer un BFF mobile dédié (écrans mobiles agrégés différemment, charge utile allégée). Défaut : réutiliser portal-bff, séparer si l'UX mobile diverge.
  3. Portail web & back-office : deux dépôts séparés (auth et exposition réseau différentes) — tranché et initialisé. Design system partagé via sous-module git (fga-design-system-ui-web) — tranché.
  4. App terrain — technologie : PWA (Workbox + IndexedDB, hors-ligne) ou natif selon les contraintes des tablettes fournies.
  5. Backlogs : trois des quatre fronts n'ont aucun backlog dédié (mobile victimes, back-office, terrain) — cf. Backlogs & manques.

Socle front-end commun (portail & back-office)

Les deux applications web partagent un même socle, conforme aux règles d'architecture React retenues.

StackReact · TypeScript · Vite
Routing / données / étatReact Router · TanStack Query (état serveur) · Redux Toolkit (état client) · axios (couche services + intercepteurs)
QualitéVitest + Testing Library · Playwright (E2E) · ESLint + Prettier + Husky · CI GitHub Actions
Structurepar features (config, services, features, hooks, layouts, pages, routes, store, utils) · chemins absolus @/* · barrels · named exports · hooks typés · error boundary
Design systemFGA Design System partagé via sous-module git — dépôt fga-design-system-ui-web monté dans src/design-system (source unique, imports @/design-system inchangés)
Flux de données : UI → hook → service → API → cache (React Query). État serveur dans React Query, état client global dans Redux. API non branchées à ce stade : les deux apps tournent sur des données d'exemple.

État des dépôts

ApplicationDépôtÉtat
Portail e-servicesfga-portailsocle bootstrapé — landing + connexion + amorce espace, tests verts
App mobile victimesfga-public-mobiledépôt créé, à cadrer
Back-office métierfga-backofficesocle bootstrapé — shell interne + pages d'exemple, tests verts
App terrain — contrôlefga-agent-mobiledépôt créé, à cadrer
À retenir. Les deux fronts web (portail, back-office) sont désormais bootstrapés sur un socle commun, outillés et testés — mais les API ne sont pas encore branchées (données d'exemple). Le back-office reste le plus gros chantier : son backlog d'interface est toujours à construire. Les deux apps mobiles (victimes, terrain) ont un dépôt mais restent à cadrer entièrement.