Aller au contenu

Analyse — Décomposition opérationnelle des sous-activités et implications

Source : Documents/SousActivites_Donnees_Indicateurs_kanmaber.docx (version 7 juillet 2026) Date d'analyse : 2026-07-07


Ce que le document introduit comme approche

Le document est une décomposition opérationnelle fine : pour chaque activité, il liste les sous-activités concrètes que l'agent de terrain réalise, les champs exacts à saisir, et l'indicateur alimenté automatiquement par chaque saisie.

La phrase clé, en note méthodologique finale :

"Les indicateurs sont calculés automatiquement par agrégation des saisies. Aucune saisie manuelle des valeurs d'indicateurs n'est nécessaire."


Implication #1 — Paradigme : calcul automatique vs saisie manuelle (CRITIQUE)

Ce qui existe : Le module Pilotage implémente SaisirMesureUseCase, ModifierMesureUseCase, MesureIndicateur — les agents saisissent manuellement les valeurs des indicateurs.

Ce que le document exige : Les indicateurs doivent être dérivés automatiquement des données opérationnelles brutes par agrégation (cumuls, COUNT DISTINCT, ratios). L'agent ne saisit pas "150 ESM identifiés" — il crée 150 dossiers Enfant et le système compte.

Conséquence : Il faut un moteur de calcul par indicateur. Chaque IndicateurSuivi devrait avoir une formule de calcul ancrée dans les données existantes. C'est le changement architectural le plus profond.


Implication #2 — 4 modèles manquants pour la prise en charge holistique (Act 3.1.3)

Le modèle actuel Accompagnement + TypeAccompagnement est trop générique. Le document exige des formulaires spécialisés distincts, chacun avec ses propres champs :

Sous-activité Modèle nécessaire Champs spécifiques absents
Appui alimentaire AppuiAlimentaire type de ration, quantité
Soutien psychologique SoutienPsychologique type (individuel/collectif), nom psychologue, anonymat
Prise en charge sanitaire PriseEnChargeSanitaire type d'acte (consultation/vaccination/référencement), structure de santé
Alphabétisation SeanceAlphabetisation durée (heures), niveau initial, niveau évalué, présence (présent/absent/justifié)

Ces 4 entités ont des logiques de calcul d'indicateur différentes (COUNT DISTINCT d'ESM par volet).


Implication #3 — ParcoursInsertion trop monolithique (Act 3.1.4)

Actuel : ParcoursInsertion = une ligne par ESM avec tous les champs (dateInscriptionFormation, microSubventionMontant, dateInstallation...) — le parcours entier dans une seule rangée.

Document : 4 sous-activités distinctes, chacune pouvant être saisie séparément et plusieurs fois :

  • Inscription formation : centre + filière + type (courte/longue) + dates → peut avoir N inscriptions par ESM
  • Accompagnement plan d'affaires : date + accompagnateur + activité AGR + statut (en cours/finalisé/validé) → suivi multi-séances
  • Micro-subvention : montant + nature + type AGR + modalité → événement horodaté
  • Installation CQM : référence CQM + date + type activité + commune → événement horodaté

Implication #4 — Présences nominatives manquantes dans les réunions

ReunionComite : champs actuels nbPresents / nbAttendus (entiers). Le document exige une liste nominative des membres présents liés à leurs profils pour calculer le taux de participation par membre (ind. 1.2.1.2 : moyenne sur toutes les réunions).

SessionConcertation : même problème. Le document précise pour Act 2.2.3 : "liste des acteurs invités (nom, institution, département, sexe) ; liste des acteurs présents". Le modèle actuel ne stocke que des comptages numériques.

→ Il faut des tables de présences nominatives : PresenceReunionComite, PresenceSessionConcertation.


Implication #5 — ParticipationFormation sans scores pre/post ni genre

Le document exige des scores individuels pre/post formation pour 3 activités : - Act 2.1.1.1 : acteurs communaux — score pre/post test - Act 2.1.2.1 : maîtres coraniques — score pre/post + charte d'engagement (oui/non) - Act 2.1.3.1 : pairs — score de compréhension (pour ind. 2.1.3.2 : % ayant score ≥ seuil)

Actuel : ParticipationFormation n'a pas de champs scorePreFormation, scorePostFormation, genre, ni resultatEvaluation. Sans eux, les indicateurs 2.1.1.2, 2.1.2.2 et 2.1.3.2 ne peuvent pas être calculés.


Implication #6 — 2 modèles entièrement absents

Entité Activité Indicateur Statut
PoseAffiche 1.1.3.1 Nombre d'affiches posées par commune/lieu Absent
SensibilisationCommunautaire 1.1.3.3 Nombre de séances (avec nb hommes/femmes) Partiellement dans FormationSensibilisation mais sans désagrégation genre structurée

Implication #7 — SessionParoleJeunes : champ animePar manquant

Le document distingue ind. 3.1.1.2 (toutes sessions) vs ind. 3.1.1.3 (sessions animées uniquement par le Parlement des Jeunes). Le modèle actuel a un animateur (String libre), pas un enum animePar (équipe projet / Parlement des Jeunes) permettant ce filtre.


Implication #8 — Traduction des supports = sous-activité distincte (Act 1.1.2)

Actuel : SupportCommunication a langues[] et dateProduction. La traduction est mélangée à la production.

Document : La traduction (sous-activité 2) est un événement distinct : langue de traduction + quantité traduite + date — car elle peut intervenir après la production et dans plusieurs langues successivement.


Implication #9 — Désagrégation par sexe non systématique

Le document impose : "La désagrégation par sexe doit être systématiquement capturée pour tous les bénéficiaires et participants."

Modèles manquants de ce champ : ParticipationFormation, ParticipationSession, PresenceReunionComite (à créer), SessionConcertation (liste nominative invités/présents).


Résumé des travaux impliqués

Priorité Travail Impact
🔴 Critique Moteur de calcul automatique des indicateurs depuis données brutes Refactoring Pilotage complet
🔴 Critique 4 modèles prise en charge holistique (AppuiAlimentaire, SoutienPsychologique, PriseEnChargeSanitaire, SeanceAlphabetisation) Nouvelles tables + formulaires
🔴 Critique Éclater ParcoursInsertion en 4 entités-événements Migration schema
🟠 Important Présences nominatives réunions (PresenceReunionComite, PresenceSessionConcertation) Nouvelles tables
🟠 Important Scores pre/post + genre dans ParticipationFormation Migration + champs
🟠 Important Modèle PoseAffiche + enrichir SensibilisationCommunautaire Nouvelle table
🟡 Moyen Champ animePar dans SessionParoleJeunes Migration champ
🟡 Moyen Sous-activité traduction séparée dans SupportCommunication Migration schema
🟡 Moyen Désagrégation genre systématisée Champs manquants à ajouter