SERA — Plateforme MEAL configurable (Suivi – Évaluation – Redevabilité – Apprentissage)¶
Description¶
SERA est un pivot de vision né pendant le développement de ProjetESM/index : au lieu de coder une application spécifique pour chaque projet de développement (ESM, Agriculture, Santé...), construire une plateforme MEAL générique et configurable, multi-projets et multi-organisations, où le cadre logique, les formulaires de collecte, les indicateurs (via un DSL de formules) et les tableaux de bord sont définis sans code par le rôle MEAL National.
À ce stade (2026-07-10), le dossier /home/kanmaber/projets/sera-Pro ne contient que des documents de spécification dans Documents/ — aucun code n'a encore été écrit. Le projet est au stade design/vision.
Stack technique envisagée : héritée de @ddd-module — Node.js/TypeScript, Express 5, Prisma/PostgreSQL, DDD strict (Domain/Application/Infrastructure/Interface) côté backend ; React/Vite/TailwindCSS/Zustand/TanStack Query côté frontend.
Origine¶
Le nom et le concept SERA apparaissent explicitement dans une note de ProjetESM/index datée du 9 juillet 2026 (un jour après la rédaction des premiers documents SERA) :
"construire un moteur générique aurait fait sens pour la vision 'SERA' (plateforme configurable multi-projets), mais pour ce projet précis avec 43 indicateurs fixes définis par le cadre logique du bailleur, un registre explicite est plus simple à lire, déboguer et faire évoluer qu'une couche d'abstraction supplémentaire." — ProjetESM/Documents/20260709_1011_calcul-automatique-indicateurs-explication
Autrement dit : ProjetESM a délibérément choisi une implémentation ad hoc (registre de calculateurs codés en dur) plutôt qu'un moteur générique, en reconnaissant que ce moteur générique est la bonne réponse pour un futur projet séparé — celui-ci.
Contenu des documents (Documents/)¶
CahierCharge1.md— début d'un cahier des charges fonctionnel (200-300 pages visées) : périmètre, principes directeurs, modulesSERA - 0teck-stack.md— stack technique détaillée (backend/frontend, versions des dépendances)SERA - 1Spécifications Fonctionnelles et Techniques.md— document fondateur : modèle de données Prisma complet (Organization, Project, cadre logique Objective→Result→Activity→SubActivity, Form/FormField, Record/RecordValue, Indicator, Workflow, Dashboard/Widget, Report, User), matrice RBAC, moteur de formulaires dynamiques (génération Zod), moteur d'indicateurs, workflow de validation, mode hors ligne (IndexedDB + Sync Engine), specs techniques (arborescence, .env, docker-compose), API REST complète, feuille de route en 4 phases, glossaireSERA - 2Spécifications Détaillées.md— DSL des formules (syntaxe, opérateurs, fonctions COUNT/SUM/AVG/FILTER/GROUP_BY/IF/CASE, AST), maquettes d'interface de configuration côté MEAL National, workflow de validation détaillé avec notificationsSERA - 3Spécifications - exportations des rapports.md— export Word (docxtemplater), Excel (exceljs), PDF (libreoffice-convert), templates, planification (mensuel/trimestriel/à la demande), file BullMQAutresPerspectives.md— la note de pivot elle-même (proposition de transformer ESM en plateforme MIS générique), roadmap V1→V3Architecture.md— architecture fonctionnelle DDD, bounded contexts, exemples de modèles Prisma, maquettes d'admin, sécurité RBACtemp.md— règles métier de gouvernance brutes (isolation par commune, qui voit/modifie quoi)
Modèle métier clé¶
Chaîne du cadre logique : Organisation → Projet → Objectif général → Objectifs spécifiques → Résultats → Activités → Sous-activités → Formulaire → Collecte → Indicateurs (formule DSL) → Tableaux de bord → Rapports.
Rôles RBAC : SUPER_ADMIN, ADMIN, MEAL_NATIONAL (concepteur du projet + contrôle qualité national, lecture totale), MEAL_COMMUNE (contrôle qualité, isolation stricte à sa commune), AGENT_TERRAIN (saisie, modifie uniquement ses propres enregistrements de sa commune), PROGRAM_OFFICER, PROJECT_OFFICER, PARTNER (lecture seule).
Workflow de validation (statuts Record) : DRAFT → SUBMITTED → VALIDATED_COMMUNE → VALIDATED_NATIONAL → ARCHIVED, avec REJECTED et retour DRAFT (demande de modification) possibles à chaque étape.
Feuille de route (doc fondateur, section 12) : 1. MVP (3 mois) — Auth, cadre logique, formulaires JSON, collecte, indicateurs simples, dashboard, validation Agent→MEAL Commune 2. Plateforme configurable (3 mois) — constructeurs visuels (formulaires, indicateurs, workflows), formules avancées, exports Word/Excel, mode hors ligne 3. Niveau institutionnel (4 mois) — validation nationale complète, sync offline avec gestion de conflits, SIG, API REST complète, notifications, audit, multi-organisations 4. Intelligence (6 mois) — détection d'anomalies, recommandations, prédictions, intégrations Power BI/KoboToolbox/ODK
Liens connexes¶
- ProjetESM/index — projet dont SERA est issu, implémentation concrète du cadre logique et des 43 indicateurs MEAL pour Caritas Bénin
- ProjetESM/Documents/20260709_1011_calcul-automatique-indicateurs-explication — décision de ne pas construire le moteur générique dans ProjetESM, origine explicite du besoin SERA
- ProjetESM/architecture/module-pilotage-indicateurs-meal — hiérarchie EFFET/RESULTAT/REALISATION des indicateurs, modèle concret dont SERA généralise le principe
Prochaine étape suggérée¶
Aucun code n'existe encore. La feuille de route pointe vers un MVP Phase 1 (Auth, Projets/cadre logique, Formulaires, Collecte, Indicateurs simples, Dashboard, Validation simple) — cf. section 12 de SERA - 1Spécifications Fonctionnelles et Techniques.md.
Dernière mise à jour¶
20260710_1520 — création de l'index à partir des 7 documents de spécification présents dans Documents/ (aucun code, projet au stade vision/design).