Aller au contenu

Documentation des routes API — ProjetESM

Date : 2026-06-17 | Version : 1.1 | Total routes : 196 | Vérifié le : 2026-06-17

Backend DDD TypeScript/Express — Caritas Bénin ESM
Architecture Auto-Discovery : chaque module expose un ModuleRoutes contenant méthode, chemin, handler, permission, isPublic.


Fichiers de documentation

Fichier Contenu
20260616_1854_api-routes-auth.md Module Auth (34 routes) — connexion, 2FA, passwords, sessions, tokens, profil, sécurité
20260616_1854_api-routes-metier.md Modules métier (84 routes) — Enfants, Accompagnements, Évaluations, Tuteurs, Maîtres Coraniques, Parents, Formations, Sensibilisation, Insertion, Mobilisation
20260616_1854_api-routes-admin.md Modules admin/transverses (78 routes) — Pilotage, Référentiels, Administration, Audit, Rapports, Synchronisation, ImportExcel

Tableau récapitulatif global

Module Nb routes Préfixe API isPublic Permissions requises
Auth 34 /api/auth Mixte — (gestion propre)
Enfants 5 /api/v1/esm/enfants Non ENFANT_LIRE, ENFANT_CREER, ENFANT_MODIFIER
Accompagnements 13 /api/v1/esm/accompagnements Non ACCOMPAGNEMENT_LIRE, ACCOMPAGNEMENT_CREER, SUIVI_CREER
Évaluations 5 /api/v1/esm/evaluations Non ENFANT_LIRE, ENFANT_MODIFIER
Tuteurs 5 /api/v1/esm/tuteurs Non ACTEUR_LIRE, ACTEUR_CREER, ACTEUR_MODIFIER
Maîtres Coraniques 5 /api/v1/esm/maitres-coraniques Non ACTEUR_LIRE, ACTEUR_CREER, ACTEUR_MODIFIER
Parents 6 /api/v1/esm/parents Non ACTEUR_LIRE, ACTEUR_CREER, ACTEUR_MODIFIER
Formations 9 /api/v1/esm/formations Non FORMATION_LIRE, FORMATION_CREER
Sensibilisation 17 /api/v1/esm/supports-communication, /distributions-support, /emissions-radio, /educateurs-pairs Non SUPPORT_GERER
Insertion 6 /api/v1/esm/insertion Non ACTEUR_LIRE, ACTEUR_CREER, ACTEUR_MODIFIER
Mobilisation 29 /api/v1/mobilisation Non MOBILISATION_LIRE, COMITE_GERER, CONCERTATION_GERER
Pilotage 13 /api/v1/pilotage Non ETUDE_LIRE, ETUDE_CREER, INDICATEUR_LIRE, INDICATEUR_SAISIR
Référentiels 22 /api/v1/esm/referentiels, /api/v1/esm/personnes-ressources Non ENFANT_LIRE, REFERENTIEL_MODIFIER, REFERENTIEL_LIRE, REFERENTIEL_CREER
Administration 7 /api/v1/esm/administration Non UTILISATEUR_GERER
Audit 2 /api/v1/esm/audit Non AUDIT_LIRE
Audit Référentiel 8 /api/admin/audit Non Auth + niveau rôle ≤ 2
Rapports 7 /api/v1/esm/rapports Non INDICATEUR_LIRE, RAPPORT_EXPORTER
Synchronisation 2 /api/v1/esm/synchronisation Non REFERENTIEL_MODIFIER
Import Excel 1 /api/v1/esm/import Non REFERENTIEL_MODIFIER
TOTAL 196

Permissions RBAC — index complet

Ressource ENFANT

Code Usage
ENFANT_LIRE Lecture enfants, évaluations, référentiels de base
ENFANT_CREER Création enfant
ENFANT_MODIFIER Modification enfant, statut, création évaluations

Ressource ACCOMPAGNEMENT

Code Usage
ACCOMPAGNEMENT_LIRE Lecture accompagnements, suivis, cas orientés
ACCOMPAGNEMENT_CREER Création/modification accompagnements, cas orientés
SUIVI_CREER Création/suppression suivis et cas orientés

Ressource ACTEUR (Tuteurs, MaitresCoraniques, Parents, Insertion)

Code Usage
ACTEUR_LIRE Lecture tuteurs, maîtres coraniques, parents, insertions
ACTEUR_CREER Création tuteurs, maîtres coraniques, parents, insertions
ACTEUR_MODIFIER Modification/suppression + changement statut insertion

Ressource FORMATION / SENSIBILISATION

Code Usage
FORMATION_LIRE Lecture formations et participations
FORMATION_CREER Création/modification/suppression formations et participations
SUPPORT_GERER CRUD supports, distributions, émissions radio, éducateurs pairs

Ressource MOBILISATION

Code Usage
MOBILISATION_LIRE Lecture comités, membres, réunions, cadres, sessions
COMITE_GERER CRUD comités, membres, réunions, sessions parole
CONCERTATION_GERER CRUD cadres concertation et sessions concertation

Ressource PILOTAGE

Code Usage
ETUDE_LIRE Lecture études diagnostiques
ETUDE_CREER Création/modification/suppression études diagnostiques
INDICATEUR_LIRE Lecture indicateurs et mesures (+ rapports)
INDICATEUR_SAISIR Création/modification indicateurs et mesures

Ressource REFERENTIEL

Code Usage
REFERENTIEL_LIRE Lecture personnes ressources
REFERENTIEL_CREER Création/modification personnes ressources
REFERENTIEL_MODIFIER CRUD communes, types accompagnement, profils utilisateur, config critères, synchronisation, import Excel

Ressource RAPPORT / AUDIT / ADMINISTRATION

Code Usage
RAPPORT_EXPORTER Fiches enfant et bilans formation
AUDIT_LIRE Lecture logs d'audit
UTILISATEUR_GERER CRUD utilisateurs + réinitialisation mot de passe

Codes d'erreur communs (multi-modules)

Code HTTP Modules concernés
DONNEES_INVALIDES 400 Tous
RESSOURCE_INTROUVABLE 404 Tous (souvent spécialisé: ENFANT_INTROUVABLE, etc.)
ERREUR_SERVEUR 500 Tous
COMMUNE_INTROUVABLE 404 Enfants, Tuteurs, MaitresCoraniques
FICHIER_INVALIDE 400 ImportExcel
FEUILLE_MANQUANTE 400 ImportExcel
TRANSITION_INVALIDE 400 Mobilisation (statut comité)
PERIODE_EXISTANTE 409 Pilotage (mesures)
INDICATEUR_CODE_EXISTANT 409 Pilotage (indicateurs)

Structure réponse HTTP standard

// Succès
{
  "succes": true,
  "message": "Opération réussie",
  "donnees": { ... },
  "timestamp": "2026-06-17T00:00:00.000Z"
}

// Erreur
{
  "succes": false,
  "code": "CODE_ERREUR",
  "message": "Description de l'erreur",
  "timestamp": "2026-06-17T00:00:00.000Z"
}

Notes architecture

  • Rate limiting : presets auth, twoFactor, register, passwordReset, api
  • IDs : CUIDs (@paralleldrive/cuid2) — pas d'UUID
  • Authentification : JWT Bearer token dans Authorization: Bearer <token>
  • Routes statiques toujours déclarées AVANT routes dynamiques (/:id)
  • Pagination : paramètres page (défaut 1) et limite/limit (défaut variable par module)