ProjetESM — Plateforme de suivi des enfants talibés (Caritas Bénin)¶
Description¶
Système de suivi d'un programme de protection, d'accompagnement et de
réinsertion des enfants talibés (ESM = Enfants en Situation de
Mendicité) pour Caritas Bénin, avec volets sensibilisation communautaire,
gouvernance locale, suivi-évaluation (MEAL) et sécurité informatique.
Backend Node.js/Express/TypeScript/Prisma (DDD 5 couches), frontend
React en cours de migration DDD. Déployé sur VPS Hetzner
(esm.tekdhi.dev, port 4100).
Structure du projet¶
ProjetESM/
├── Documents/ ← correspondance fichiers sources ↔ notes wiki
├── architecture/ ← modèle de données, RBAC, modules fonctionnels
├── debug/ ← audits de conformité, postmortems, tests
├── api/ ← référence des routes backend
└── (decisions/, roadmap/ à alimenter au fil des besoins)
Notes du projet¶
Architecture¶
- ProjetESM/architecture/module-pilotage-indicateurs-meal — 31 indicateurs MEAL, hiérarchie EFFET/RESULTAT/REALISATION, typage et désagrégation par genre
- ProjetESM/architecture/variables-environnement-backend — structure des variables d'environnement backend (valeurs réelles non reprises)
- ProjetESM/architecture/systeme-rbac-permissions — RBAC 3 couches (Prisma/Express/React), 32 permissions, 8 profils, isolation par commune
- ProjetESM/architecture/analyse-cadre-logique-cas-utilisation — analyse croisée cadre logique ↔ schéma Prisma, 14 modules métier, lacunes de schéma et 9 domaines fonctionnels manquants identifiés
- ProjetESM/architecture/architecture-fonctionnelle — 9 modules métiers, menu latéral, matrice de visibilité par profil, ordre d'implémentation
Debug¶
- ProjetESM/debug/20260711_1809_execution-tests-e2e-parents — ✅ terminé (2026-07-11) — tests E2E Parents + Enfants (21/21) + 4 bugs Accompagnements signalés hors périmètre : bug critique corrigé (4 volets Prise en charge holistique invisibles après création, res.data.items vs res.data.donnees.items), champ Psychologue transformé en select auto-sélectionné, fiche enfant "impossible à charger" non reproduite
- ProjetESM/debug/20260711_1130_journal-matrice-permissions-rbac — 🔄 en cours (2026-07-11) — audit RBAC backend vs frontend en vue d'une matrice de permissions complète : écart architectural majeur (backend fin par permission, frontend grossier par rôle dupliqué ×9), bug concret BAILLEUR exclu de Pilotage/Mobilisation malgré permissions identiques à CHARGE_PROJET
- ProjetESM/debug/20260710_1344_execution-refonte-accompagnements-suivi-orientations — ✅ terminé (2026-07-10) — retrait du module Accompagnements générique (aucune donnée, aucun lien au cadre logique), conservé/repensé en Suivi générique (cible HOLISTIQUE/MICRO_SUBVENTION/INSTALLATION) + Orientations rattachées à l'Enfant, 149 fichiers
- ProjetESM/debug/20260710_0203_audit-conformite-ddd-backend-complet — ✅ terminé (2026-07-10) — audit de conformité DDD complet des 16 modules backend, 4 failles d'autorisation + ~40 écarts structurels corrigés, 9 commits
- ProjetESM/debug/20260708_1810_execution-validation-rbac-commune — ✅ terminé (2026-07-08) — workflow de validation MEAL (EN_ATTENTE/VALIDE/A_CORRIGER) + RBAC par commune, 18 entités racines, 16 commits, 0 erreur typecheck backend+frontend
- ProjetESM/debug/execution-sous-activites-indicateurs — ✅ terminé (2026-07-09) — 9 écarts implémentés + revue systématique du registre de calculateurs (7 anomalies corrigées) + les 4 derniers indicateurs "non calculables" résolus (2.1.3.1, 2.2.2.2, 1.2.2.3, 2.1.2.2) : 31/31 indicateurs REALISATION calculables
- ProjetESM/debug/tests-terrain-pwa-offline — guide de tests PWA/offline (Workbox+Dexie+SyncManager), 7 scénarios, résolution de conflits last-write-wins
- ProjetESM/debug/corrections-4-bugs-enfants-auth — 4 bugs de production corrigés : audit connexion planté, communeCode perdu, cache offline vide, listing filtré par créateur au lieu de commune
- ProjetESM/debug/conformite-roadmap-frontend — audit conformité frontend DDD + roadmap de migration en 4 phases
- ProjetESM/debug/deploiement-docker-postmortem — 7 problèmes de déploiement Docker résolus (npm workspaces, tsc-alias, auto-discovery prod)
- ProjetESM/debug/couverture-fonctionnelle-backend — audit de couverture backend vs architecture (75% modules, 87,5% modèles Prisma)
- ProjetESM/debug/conformite-modules-backend — audit DDD 17 modules (8 violations critiques) + focus module Auth (5 écarts sécuritaires corrigés)
- ProjetESM/debug/tests-rbac-conformite — validation empirique RBAC, 66/66 tests, 3 bugs réels trouvés (permissions manquantes, scope de données)
API¶
- ProjetESM/api/reference-routes-backend — 196 routes, 18 modules, permissions RBAC associées, conventions transversales
Documents¶
- ProjetESM/Documents/index — correspondance entre les fichiers de
Documents/et les notes wiki ci-dessus 20260711_1411_presentation-fonctionnelle-complete-esm.docx— présentation fonctionnelle complète (sous-activités → indicateurs, suivi enfants, appui psychologue/assistant social, source fiable d'évaluation),20260711_1411_presentation-agents-esm.pptx(16 slides) et20260711_1411_guide-demonstration-publique-esm.docx: les trois rédigés à partir d'une exploration directe du code source (pas des notes wiki), sur demande explicite de Bernard
Dernière mise à jour¶
20260711_1411 — 3 documents de présentation produits (docx fonctionnel complet, pptx agents, guide de démo publique), rédigés après exploration directe du code source backend+frontend. 20260704_0610 — import terminé. 3 fichiers markdown volontairement non traités (faible valeur durable, voir tableau) : analyse_cas_utilisation.md, verification_architecture_ddd.md, TestsProfils/20260623_1132_comptes-test-identifiants.md. Fichiers binaires (.docx/.pdf/.xlsx/.svg/.png/.pptx) non lus.