Aller au contenu

Module Pilotage — 31 indicateurs MEAL, types et désagrégation par genre

Contexte

Extension du module Pilotage (déjà fonctionnel, voir ProjetESM/architecture/architecture-fonctionnelle module 8) pour exploiter fidèlement le cadre logique bailleur : hiérarchie EFFET/RESULTAT/REALISATION, typage des indicateurs, et désagrégation Homme/Femme. Travaux menés du 2026-06-19 au 2026-06-21.

Contenu

Les 3 niveaux du cadre logique (2026-06-19)

  • EFFET (Impact) : changement structurel long terme, mesurable après le projet. Ex : IE1 — Baromètre de cohésion sociale.
  • RESULTAT (Outcome) : changement de comportement/situation des bénéficiaires. Ex : IR1.2.1 — 70% des maîtres coraniques enregistrés officiellement.
  • REALISATION (Output) : livrables concrets, dénombrables immédiatement. Ex : 1.1.3.2 — Nombre d'émissions réalisées (324). Ne mesure pas le changement, juste ce qui a été fait.

31 indicateurs au total : 1 EFFET, 8 RESULTAT (OS1: 4, OS2: 4), 22 REALISATION répartis sur R1.1 (7), R1.2 (5), R2.1 (6), R2.2 (4), R3.1 (8 — total légèrement différent selon regroupement).

Séparation de permission (correction RBAC)

INDICATEUR_SAISIR couvrait à tort deux responsabilités distinctes : saisir une mesure périodique (MEAL_COMMUNAL + MEAL_NATIONAL) vs créer/ modifier la définition d'un indicateur (MEAL_NATIONAL + ADMIN seulement). Nouvelle permission INDICATEUR_CREER créée, distincte de INDICATEUR_SAISIR — voir matrice mise à jour dans ProjetESM/architecture/systeme-rbac-permissions.

Typage des indicateurs (analyse du 2026-06-21)

Classification des 31 indicateurs par type et par pertinence de ventilation par genre :

Type Nb Description
COMPTAGE 20 Entiers — personnes, sessions, supports
TAUX 9 Proportion 0–1 (taux de participation, etc.)
TEXTE 2 Référence document/lien

Règle de désagrégation : pertinente uniquement quand l'objet mesuré est une personne (19 indicateurs concernés : formations, sessions avec participants, enfants bénéficiaires...). Non pertinente pour des objets/structures/supports (12 indicateurs : comités créés, affiches posées, émissions réalisées...).

Anomalies de numérotation détectées dans le fichier Excel source du bailleur : 12.1.2/12.1.3 au lieu de 1.2.1.2/1.2.1.3, indicateur 1.2.2.2 absent, 3.1.1.2-4 rattachés à l'activité 3.1.2 mais numérotés 3.1.1 — signalées pour correction côté bailleur/gestion de projet, pas côté schéma applicatif.

Modifications Prisma (schéma enrichi)

enum TypeIndicateur { COMPTAGE  TAUX  TEXTE }
enum NiveauCadreLogique { EFFET  RESULTAT  REALISATION }

model IndicateurSuivi {
  // ... champs existants ...
  typeIndicateur       TypeIndicateur     @default(COMPTAGE)
  niveauCadreLogique   NiveauCadreLogique @default(REALISATION)
  activiteRef          String?            // ex: "A1.1.2"
  sourceVerification   String?
  desagregationGenre   Boolean            @default(false)
  cibleHomme           String?
  cibleFemme           String?
}

model MesureIndicateur {
  // ... champs existants ...
  valeurNumerique Float?
  valeurHomme     Float?
  valeurFemme     Float?
}

Seed dédié créé (BackEnd/prisma/seed-indicateurs.ts), idempotent (upsert sur code), les 31 indicateurs insérés avec leur type et pertinence de désagrégation.

Frontend — saisie adaptative selon le type

Dans PilotagePage.tsx (ModalSaisieActivite) :

Condition Rendu
TEXTE Input texte libre (titre/lien document)
desagregationGenre === true Grille Homme/Femme + Total calculé automatiquement
COMPTAGE sans désagrégation Input numérique entier
TAUX sans désagrégation Input décimal 0-1, placeholder Ex: 0.75 (= 75%)

Décision / Conclusion

Extension complète (backend 0 erreur TS, frontend 0 erreur TS, db push en 100ms, 31 indicateurs seedés). Le module Pilotage distingue désormais fidèlement la chaîne de résultats du cadre logique bailleur, avec une saisie adaptée au type réel de chaque indicateur plutôt qu'un simple champ texte générique.

Liens connexes