Analyse — Indicateurs du cadre logique dans ProjetESM
Générée le 2026-06-19 12h48
1. Documents de référence
Cadre logique.docx — chaîne de résultats, indicateurs, hypothèses
Liste des activités et des indicateurs.xlsx — indicateurs par activité, valeurs SR/cibles, responsables
2. Structure existante — Module Pilotage (DDD 5 couches)
Le module Pilotage est entièrement implémenté et fonctionnel.
Backend
| Couche |
Fichiers |
| Domain |
IndicateurSuivi.ts, MesureIndicateur.ts, interfaces repositories, schemas Zod |
| Application |
CreerIndicateurUseCase, ModifierIndicateurUseCase, ListerIndicateursUseCase, ObtenirIndicateurUseCase, SaisirMesureUseCase, ModifierMesureUseCase, ListerMesuresUseCase, ObtenirMesureUseCase |
| Infrastructure |
IndicateurSuiviRepositoryPrisma, MesureIndicateurRepositoryPrisma, DI, routes |
| Interface-adapters |
Controllers (Créer, Modifier, Lister, Obtenir), Handlers |
| Routes |
GET/POST /api/v1/pilotage/indicateurs, GET/PUT /api/v1/pilotage/indicateurs/:id, GET/POST /api/v1/pilotage/mesures, GET/PUT /api/v1/pilotage/mesures/:id |
Frontend
PilotagePage.tsx : formulaire modal + tableau des indicateurs, hooks React Query, store Zustand, use cases frontend
Modèle Prisma actuel
model IndicateurSuivi {
id String @id @default(cuid())
code String @unique
libelle String
resultatRef String // ex: "R1.1", "A1.1.1"
valeurRef String? // situation de référence (souvent "ND")
valeurCible String? // cible du projet (ex: "324", "80%")
unite String? // %, nombre, rapport, etc.
createdAt DateTime @default(now())
updatedAt DateTime @default(now())
mesures MesureIndicateur[]
}
model MesureIndicateur {
id String @id @default(cuid())
indicateurId String
valeur String
dateMesure DateTime
sourceVerif String?
periode String?
idUtilisateur String
// contrainte d'unicité : (indicateurId, periode)
}
3. Problème identifié — Séparation des droits
La permission INDICATEUR_SAISIR est attribuée à MEAL_COMMUNAL et MEAL_NATIONAL, mais elle couvre deux responsabilités distinctes :
| Action |
Qui peut le faire ? |
Permission actuelle |
Permission souhaitée |
| Lire les indicateurs |
Tous |
INDICATEUR_LIRE |
INDICATEUR_LIRE |
| Saisir les mesures périodiques |
MEAL_COMMUNAL + MEAL_NATIONAL |
INDICATEUR_SAISIR |
INDICATEUR_SAISIR |
| Créer/modifier un indicateur |
MEAL_NATIONAL seulement |
INDICATEUR_SAISIR ← trop large |
INDICATEUR_CREER ← à créer |
→ Il faut créer la permission INDICATEUR_CREER, distincte de INDICATEUR_SAISIR.
Matrice cible :
| Profil |
INDICATEUR_LIRE |
INDICATEUR_SAISIR |
INDICATEUR_CREER |
| AGENT_TERRAIN |
✅ |
✗ |
✗ |
| MEAL_COMMUNAL |
✅ |
✅ |
✗ |
| MEAL_NATIONAL |
✅ |
✅ |
✅ |
| CHARGE_PROJET |
✅ |
✗ |
✗ |
| BAILLEUR |
✅ |
✗ |
✗ |
| ADMIN |
✅ |
✅ |
✅ |
4. Lacunes du schéma — Champs manquants
| Champ |
Type suggéré |
Utilité |
niveauCadreLogique |
enum EFFET \| RESULTAT \| REALISATION |
Distingue le type d'indicateur dans la chaîne de résultats |
activiteRef |
String? |
Code de l'activité parente (ex: A1.1.2) |
sourceVerification |
String? |
Source documentaire standard (ex: Rapports d'activités) |
5. Niveaux du cadre logique — Définitions
EFFET (Impact)
Changement structurel à long terme dans la société, au-delà du projet lui-même.
Mesurable seulement à la fin ou après le projet.
Exemple ESM : IE1 — Baromètre de cohésion sociale
RESULTAT (Outcome)
Changement observable et durable produit par l'ensemble des activités du projet.
Mesure si les bénéficiaires ont changé de comportement, de situation ou de capacité.
Exemples ESM : IR1.1.1 — 80% des membres des communautés ayant une connaissance accrue des droits des enfants, IR1.2.1 — 70% des maîtres coraniques enregistrés officiellement
REALISATION (Output)
Ce que le projet a produit concrètement par ses activités — les livrables tangibles et dénombrables immédiatement après une activité.
La REALISATION ne mesure pas le changement : elle comptabilise ce qui a été fait.
Elle répond à "combien ?", "est-ce fait ?".
Exemples ESM :
- 1.1.2.1 — Nombre de supports de communication conçus (on peut compter : 200 boîtes, 500 affiches)
- 1.1.3.2 — Nombre d'émissions réalisées (on peut compter : 324)
- 2.1.2.1 — Nombre de maîtres coraniques formés (on peut compter : 150)
- 3.1.4.3 — Nombre d'enfants ayant obtenu une micro-subvention
Différence clé avec RESULTAT : 324 émissions réalisées (REALISATION) n'implique pas que les communautés ont changé de comportement (RESULTAT). Les deux sont nécessaires pour piloter le projet.
6. Les 31 indicateurs à insérer en seed
Niveau EFFET (1)
| Code |
Libellé |
Cible |
Unité |
| IE1 |
Baromètre de cohésion sociale |
ND |
Score |
Niveau RESULTAT — OS1 (4)
| Code |
Libellé |
resultatRef |
Cible |
Unité |
| IR1.1.1 |
Proportion des membres des communautés déclarant avoir une connaissance accrue sur les instruments juridiques relatifs aux droits des enfants et à la loi contre la mendicité |
OS1 |
80% |
% |
| IR1.2.1 |
Pourcentage de maîtres coraniques enregistrés officiellement auprès des autorités compétentes |
OS1 |
70% |
% |
| IR1.2.2 |
Pourcentage de maîtres coraniques ayant reçu une formation sur la réglementation et les normes encadrant leurs pratiques |
OS1 |
90% |
% |
| IR1.3.1 |
Pourcentage des enfants en situation de mendicité installés et exerçant le métier |
OS1 |
90% |
% |
Niveau RESULTAT — OS2 (4)
| Code |
Libellé |
resultatRef |
Cible |
Unité |
| IR2.1.1 |
Nombre de comités villageois de veille établis et actifs |
OS2 |
ND |
Nombre |
| IR2.1.2 |
Nombre de cas d'enfants mendiants orientés |
OS2 |
ND |
Nombre |
| IR2.2.1 |
Qualité de collaboration entre les parties prenantes sur le phénomène de la mendicité des enfants |
OS2 |
ND |
Score |
| IR2.2.2 |
Nombre des décisions prises lors des réunions et effectivement mis en application |
OS2 |
ND |
Nombre |
Niveau REALISATION — Résultat R1.1 (7)
| Code |
Libellé |
resultatRef |
Cible |
Unité |
| 1.1.1.1 |
Rapport d'étude diagnostique finalisé et validé incluant une cartographie des zones d'intervention, une analyse des facteurs spécifiques de mendicité et une analyse genre |
R1.1 |
Rapport |
Document |
| 1.1.1.2 |
Base de données sur la cible |
R1.1 |
Base de données |
Document |
| 1.1.2.1 |
Nombre de supports de communication (boîtes à images, affiches, roll-up, banderoles) conçus, traduits en langues locales et mis à disposition |
R1.1 |
200 boîtes + 500 affiches + 4 roll-up |
Nombre |
| 1.1.2.2 |
Nombre d'éducateurs pairs formés à l'utilisation de ces boîtes |
R1.1 |
150 |
Nombre |
| 1.1.3.1 |
Nombre d'affiches posées dans les communautés diffusant des informations sur les droits et devoirs de l'enfant et sur les instruments juridiques |
R1.1 |
ND |
Nombre |
| 1.1.3.2 |
Nombre d'émissions réalisées |
R1.1 |
324 |
Nombre |
| 1.1.3.3 |
Nombre de sensibilisations communautaires pour un changement de comportement |
R1.1 |
600 |
Nombre |
Niveau REALISATION — Résultat R2.1 (6)
| Code |
Libellé |
resultatRef |
Cible |
Unité |
| 2.1.1.1 |
Nombre d'acteurs communaux et institutionnels renforcés sur la réglementation encadrant la pratique d'accueil des ESM |
R2.1 |
100 |
Nombre |
| 2.1.1.2 |
Taux de participation des acteurs formés dans les activités de sensibilisation ultérieures dans la zone d'intervention |
R2.1 |
70% |
% |
| 2.1.2.1 |
Nombre de maîtres coraniques formés sur la lutte contre la mendicité des enfants |
R2.1 |
150 |
Nombre |
| 2.1.2.2 |
Proportion de maîtres coraniques engagés comme acteurs communautaires dans la lutte contre la mendicité des enfants |
R2.1 |
80% |
% |
| 2.1.3.1 |
Nombre de leaders religieux et maîtres coraniques sensibilisés par les pairs sur les droits et devoirs des enfants et la loi contre la mendicité |
R2.1 |
600 |
Nombre |
| 2.1.3.2 |
Pourcentage de participants démontrant une compréhension des droits fondamentaux des enfants et des instruments juridiques après les sensibilisations |
R2.1 |
80% |
% |
Niveau REALISATION — Résultat R3.1 (8)
| Code |
Libellé |
resultatRef |
Cible |
Unité |
| 3.1.1.1 |
Pourcentage d'enfants de 15 à 17 ans identifiés et enregistrés dans le cadre du projet, disposant d'un dossier individuel complet |
R3.1 |
100% |
% |
| 3.1.1.2 |
Nombre de sessions de groupe de parole/espaces de discussions créés |
R3.1 |
216 |
Nombre |
| 3.1.1.3 |
Nombre de sessions animées par le parlement des jeunes |
R3.1 |
45 |
Nombre |
| 3.1.1.4 |
Nombre de participants aux différentes sessions |
R3.1 |
150 |
Nombre |
| 3.1.3.1 |
Pourcentage d'enfants ayant bénéficié d'une prise en charge holistique (appui alimentaire, soutien psychologique, prise en charge sanitaire, alphabétisation fonctionnelle) |
R3.1 |
150 (alimentaire + alphabétisation) |
Nombre/% |
| 3.1.4.1 |
Nombre d'enfants inscrits en formation professionnelle |
R3.1 |
ND |
Nombre |
| 3.1.4.2 |
Nombre d'enfants accompagnés pour le montage de leur plan d'affaire |
R3.1 |
ND |
Nombre |
| 3.1.4.3 |
Nombre d'enfants ayant obtenu une micro-subvention pour les activités génératrices de revenu |
R3.1 |
150 |
Nombre |
| 3.1.4.4 |
Nombre d'enfants installés après l'obtention de leur CQM |
R3.1 |
150 |
Nombre |
Niveau REALISATION — Résultat R1.2 (5)
| Code |
Libellé |
resultatRef |
Cible |
Unité |
| 1.2.1.1 |
Nombre de comités villageois créés ou dynamisés |
R1.2 |
30 |
Nombre |
| 1.2.1.2 |
Taux de participation des membres aux réunions des comités |
R1.2 |
90% |
% |
| 1.2.1.3 |
Nombre de membres des comités villageois formés |
R1.2 |
600 |
Nombre |
| 1.2.2.1 |
Nombre de sensibilisations communautaires réalisées |
R1.2 |
360 |
Nombre |
| 1.2.2.3 |
Nombre d'activités de cohésion sociale identifiées et réalisées |
R1.2 |
120 |
Nombre |
Niveau REALISATION — Résultat R2.2 (4)
| Code |
Libellé |
resultatRef |
Cible |
Unité |
| 2.2.1.1 |
Taux de participation des membres aux réunions du comité de pilotage |
R2.2 |
90% |
% |
| 2.2.2.1 |
Taux de participation des membres du cadre de concertation communale |
R2.2 |
90% |
% |
| 2.2.2.2 |
Nombre de comités techniques créés et fonctionnels |
R2.2 |
3 |
Nombre |
| 2.2.3.1 |
Taux de participation des acteurs du cadre de concertation interdépartementale |
R2.2 |
90% |
% |
7. Plan d'implémentation — Option C retenue
Étape 1 — Séparation permission backend
- Créer
INDICATEUR_CREER dans seed et dans Permission
- Modifier route
POST /api/v1/pilotage/indicateurs et PUT /api/v1/pilotage/indicateurs/:id → permission INDICATEUR_CREER
- Mettre à jour la matrice RBAC dans seed.ts
Étape 2 — Enrichissement schema Prisma
enum NiveauCadreLogique {
EFFET
RESULTAT
REALISATION
}
model IndicateurSuivi {
// ... champs existants ...
niveauCadreLogique NiveauCadreLogique @default(REALISATION)
activiteRef String? // ex: "A1.1.2"
sourceVerification String? // ex: "Rapports d'activités, Photos"
}
- Exécuter npx prisma db push
Étape 3 — Mise à jour DTOs + Use Cases
DonneesCreerIndicateur : ajouter niveauCadreLogique, activiteRef, sourceVerification
IndicateurSuiviDTO : idem
IndicateurSuivi entity : idem
IndicateurSuiviRepositoryPrisma : inclure nouveaux champs dans select/create/update
Étape 4 — Frontend
- Formulaire modal : ajouter select
niveauCadreLogique + champs activiteRef et sourceVerification
- Tableau : colonne niveau (badge couleur EFFET/RESULTAT/REALISATION)
- Filtres : par niveau
Étape 5 — Seed indicateurs
- Insérer les 31 indicateurs dans
seed.ts via prisma.indicateurSuivi.upsert
- Idempotent (upsert sur
code)