# Manuel PIGBF — Section A — Administrateur Plateforme

Section A du Manuel Administrateur PIGBF — Administrateur Plateforme

# A.1 — Introduction générale

Chapitre A.1 du Manuel PIGBF

# A.1.1.1 — Présentation du programme PAAF et de la PIGBF

## 1.1 Présentation du programme PAAF et de la PIGBF

Le **Projet d'Apprentissage et d'Autonomisation des Filles (PAAF)** est un programme d'appui à la scolarisation des filles dans la province du Kasaï, en République Démocratique du Congo. Dans le cadre de ce programme, les bénéficiaires — des élèves filles identifiées selon des critères précis de vulnérabilité, d'âge et de résultats scolaires — reçoivent une bourse scolaire versée directement à leur école ou à leur tuteur légal selon la configuration définie pour chaque tranche de paiement.

Pour assurer la gestion rigoureuse, transparente et traçable de l'ensemble de ce dispositif, le programme PAAF s'appuie sur la **Plateforme Informatique de Gestion des Bourses pour les Filles (PIGBF)**, développée par **IT GROUP Sarl** (169, avenue Kasa-Vubu — Immeuble Triangle Davier — 2ème Niveau, Commune de la GOMBE, Kinshasa). La PIGBF est accessible à l'adresse **https://pigbf.org**.

La PIGBF n'est pas un simple outil de saisie : c'est un **écosystème numérique complet** qui couvre l'intégralité du cycle de vie d'une bourse scolaire, depuis l'identification des bénéficiaires sur le terrain jusqu'au paiement effectif et au reporting de redevabilité auprès des bailleurs.

`<callout class="info">📸 <strong>Capture d'écran à insérer :</strong> Page d'accueil / écran de connexion de la PIGBF affichant le logo PAAF, la photo de fond illustrant des élèves filles, les champs Email et Mot de passe, et le titre "L'éducation des filles, un droit fondamental"</callout>`

---

# A.1.1.2 — Ce que la plateforme permet de faire

## 1.2 Ce que la plateforme permet de faire

La PIGBF est structurée autour de quatre grandes fonctions complémentaires, qui forment ensemble un cycle continu de gestion du programme :

**1. Inscription et gestion des bénéficiaires**

Centralisation des données des élèves, des écoles et des tuteurs. Chaque bénéficiaire reçoit un identifiant unique (UID) et un QR Code générés automatiquement par la plateforme. Des outils de détection et de traitement des doublons garantissent l'unicité de chaque dossier. Un processus de validation d'éligibilité contrôle les critères d'accès à la bourse (âge, fréquentation, résultats) avant tout paiement.

**2. Gestion des paiements**

Deux circuits de paiement sécurisés coexistent : **Equity BCDC** pour les virements bancaires vers les écoles (frais scolaires), et **Vodacom M-Pesa** pour les paiements mobile money aux tuteurs et élèves (subvention). Le cycle complet — génération des instructions → validation par le Validateur PAAF → envoi sécurisé par OTP (Equity) ou API (M-Pesa) → suivi des confirmations — est intégralement géré depuis la plateforme.

**3. Suivi des conditionnalités**

Collecte et suivi des notes scolaires et des présences des élèves via les formulaires ODK de terrain, permettant de vérifier à chaque tranche de paiement que les bénéficiaires respectent les conditions d'attribution de la bourse (taux de fréquentation minimum, seuil de résultats).

**4. Administration, paramétrage et reporting**

Gestion des utilisateurs et de leurs droits d'accès par rôle (RBAC), paramétrage des référentiels métier (classes, options, territoires, types de documents, etc.), gestion des années scolaires et de leur clôture, génération asynchrone de rapports paramétrables envoyés par email, et journal d'activités complet pour l'auditabilité de chaque action.

`<callout class="info">📸 <strong>Capture d'écran à insérer :</strong> Schéma du cycle complet de gestion d'une bourse : Identification terrain ODK → Validation IT → Base de production → Éligibilité paiement → Génération instructions → Validation PAAF → Envoi Equity/M-Pesa → Suivi confirmations → Reporting</callout>`

---

# A.1.1.3 — Architecture du système

## 1.3 Architecture du système

La PIGBF repose sur **deux applications Laravel distinctes et complémentaires** :

<table id="bkmrk-application-r%C3%B4le-acc"><thead><tr><th>Application</th><th>Rôle</th><th>Accès</th></tr></thead><tbody><tr><td>**laravel-pigbf**</td><td>Interface d'administration (back-office) — l'application décrite dans ce manuel</td><td>Internet — `pigbf.org`</td></tr><tr><td>**api-pigbf**</td><td>Moteur d'intégration — gère les synchronisations ODK, les exports, les rapports lourds et les paiements Equity/M-Pesa</td><td>Réseau interne — `api.pigbf.org`</td></tr></tbody></table>

**Stack technique :** PHP 8.2+ · Laravel 12 · Livewire 3 · MySQL · Keycloak (SSO) · Ubuntu Server LTS · ODK Central.

Du point de vue de l'administrateur, **une seule interface est à maîtriser** : le back-office accessible sur `pigbf.org`. L'application `api-pigbf` opère en arrière-plan de manière totalement transparente. Elle prend en charge tous les traitements longs ou sensibles : synchronisation avec ODK Central, génération de fichiers d'export volumineux, chiffrement PGP et dépôt SFTP des fichiers Equity, appels API M-Pesa. La plateforme front-office lui délègue ces tâches via des appels HTTP et récupère les résultats lorsqu'ils sont disponibles.

**Collecte terrain :** Les enquêteurs de terrain n'ont aucun accès à l'interface web. Ils utilisent exclusivement l'application mobile **ODK Collect** (Android) pour collecter les données sur tablette, en mode déconnecté si nécessaire. Les données sont synchronisées vers le serveur **ODK Central** à la prochaine connexion réseau, puis traitées par le scheduler de l'API avant d'être mises à disposition pour validation dans la PIGBF.

`📸 <strong>Capture d'écran à insérer :</strong> Schéma d'architecture simplifié à deux niveaux : (1) Enquêteurs → ODK Collect → ODK Central, (2) Administrateurs → pigbf.org (laravel-pigbf) ↔ api.pigbf.org (api-pigbf) → MySQL`

---

# A.1.1.4 — Les utilisateurs de la plateforme — les 7 rôles

## 1.4 Les utilisateurs de la plateforme — les 7 rôles

L'accès à la PIGBF est régi par un modèle de **contrôle d'accès basé sur les rôles (RBAC — Role-Based Access Control)**. Chaque utilisateur se voit attribuer un profil qui détermine précisément les modules, les pages et les actions (lecture, création, modification, suppression, validation) auxquels il a accès. La plateforme définit **7 rôles** :

<table id="bkmrk-r%C3%B4le-p%C3%A9rim%C3%A8tre-d%27act"><thead><tr><th>Rôle</th><th>Périmètre d'action</th></tr></thead><tbody><tr><td>**Super Admin**</td><td>Accès total à toutes les fonctionnalités de la plateforme, tous programmes et toutes ONG confondus. Seul rôle pouvant créer d'autres Super Admins et modifier les paramètres système critiques.</td></tr><tr><td>**Admin**</td><td>Administration générale de la plateforme sur le périmètre qui lui est assigné. Accès à la quasi-totalité des modules, hors paramétrage système réservé au Super Admin.</td></tr><tr><td>**Admin PAAF**</td><td>Supervision du programme côté coordination PAAF. Accès aux données consolidées, aux paiements, aux rapports de tous les axes et ONG.</td></tr><tr><td>**Admin ONG**</td><td>Gestion des opérations de **son ONG uniquement** : validation ODK, suivi des écoles/élèves/tuteurs de son périmètre, rapports. Accès cloisonné par organisation.</td></tr><tr><td>**Validateur paiement PAAF**</td><td>Rôle **autonome** dédié exclusivement à la validation et à l'envoi des instructions de paiement Equity et M-Pesa. N'a pas accès aux modules de données bénéficiaires.</td></tr><tr><td>**Admin IT ONG**</td><td>Profil technique au sein de l'ONG : gestion des enquêteurs, validation des données ODK, support à la collecte.</td></tr><tr><td>**Lecture seule**</td><td>Consultation sans aucune modification possible — profil audit, supervision externe, bailleurs.</td></tr></tbody></table>

> **Important :** Ce manuel couvre le rôle **Administrateur Plateforme** (Super Admin / Admin), qui dispose du périmètre le plus étendu. Les sections B, C et D du présent manuel documentent respectivement les rôles Admin ONG / Admin IT ONG, Validateur de paiement et Enquêteur terrain ODK.

`<callout class="info">📸 <strong>Capture d'écran à insérer :</strong> Tableau ou diagramme des 7 rôles avec leurs niveaux d'accès respectifs aux grands modules : Bénéficiaires, Paiements, Validation ODK, Rapports, Paramètres, Utilisateurs</callout>`

---

# A.1.1.5 — L'année scolaire — notion centrale du système

## 1.5 L'année scolaire — notion centrale du système

Toutes les données de la PIGBF sont **filtrées par année scolaire active**. Cette notion est absolument centrale : chaque écran de liste, chaque rapport, chaque instruction de paiement, chaque statistique du tableau de bord est rattaché à une année scolaire spécifique.

L'année scolaire active est affichée en permanence dans la barre supérieure de l'interface. Il est possible de consulter les données des années précédentes (en lecture seule après leur clôture) en changeant la sélection dans la barre supérieure, mais toute création ou modification de données ne s'applique qu'à l'année scolaire active.

**Conditions préalables au démarrage d'une année :** Avant de pouvoir utiliser pleinement la plateforme pour une nouvelle année scolaire, un Super Admin doit avoir configuré l'année dans les Paramètres (cf. chapitre A.14) : création de l'année, définition du montant de la bourse par bénéficiaire, configuration des tranches de paiement et de leurs montants respectifs pour les écoles et pour les tuteurs/élèves.

La **clôture d'une année scolaire** est une opération irréversible qui verrouille l'ensemble des données de l'année concernée : aucune création, modification ou suppression n'est possible après cette action. Elle est décrite en détail au chapitre A.14.

---

# A.1.1.6 — Conventions et symboles utilisés dans ce manuel

## 1.6 Conventions et symboles utilisés dans ce manuel

Tout au long de ce document, les conventions de la page de garde s'appliquent. Les captures d'écran sont indiquées par des emplacements réservés de la forme `<callout class="info">📸 <strong>Capture d'écran à insérer :</strong> description détaillée du contenu attendu</callout>`. Ces emplacements seront remplacés par les captures réelles lors de la finalisation du manuel.

Les procédures pas à pas sont toujours présentées sous forme d'étapes numérotées. Les actions irréversibles sont systématiquement signalées par le symbole ⚠️ avant leur description.

---

# A.1.1.7 — Comment utiliser ce manuel

## 1.7 Comment utiliser ce manuel

Ce manuel Section A est organisé en **15 chapitres** couvrant l'intégralité des fonctionnalités accessibles à l'Administrateur Plateforme :

- **Chapitres A.1 à A.3** — Prise en main : présentation générale, connexion, tableau de bord
- **Chapitres A.4 à A.8** — Données métier : organisations, écoles, élèves, tuteurs, validation ODK
- **Chapitre A.9** — Paiements Equity BCDC et M-Pesa
- **Chapitres A.10 à A.15** — Administration avancée : rapports, utilisateurs et acteurs, rôles et permissions, paramètres généraux, années scolaires, journal d'activités

Chaque chapitre est conçu pour être consulté de façon autonome. Des renvois vers d'autres chapitres sont indiqués lorsqu'une action en prérequiert une autre.

---

---

# A.2 — Connexion et prise en main

Chapitre A.2 du Manuel PIGBF

# A.2.2.1 — Prérequis techniques

## 2.1 Prérequis techniques

Avant d'accéder à la PIGBF, assurez-vous de disposer des éléments suivants :

<table id="bkmrk-pr%C3%A9requis-d%C3%A9tail-nav"><thead><tr><th>Prérequis</th><th>Détail</th></tr></thead><tbody><tr><td>**Navigateur web**</td><td>Google Chrome (recommandé), Mozilla Firefox, Microsoft Edge ou Safari — version récente</td></tr><tr><td>**Connexion internet**</td><td>Requise en permanence pour toute utilisation de l'interface web</td></tr><tr><td>**Identifiants**</td><td>Adresse email et mot de passe fournis par le Super Admin ou l'équipe IT GROUP</td></tr><tr><td>**URL d'accès**</td><td>https://pigbf.org</td></tr></tbody></table>

ℹ️ **Note :** La PIGBF est une application web accessible directement depuis un navigateur. Aucune installation de logiciel n'est nécessaire sur le poste de l'administrateur. Les navigateurs en version trop ancienne peuvent présenter des problèmes d'affichage ; il est recommandé de maintenir son navigateur à jour.

---

# A.2.2.2 — Se connecter à la plateforme

## 2.2 Se connecter à la plateforme

### Procédure de connexion standard

1. Ouvrez votre navigateur web et saisissez l'adresse **https://pigbf.org** dans la barre d'adresse. Appuyez sur **Entrée**.
2. La page de connexion s'affiche. Elle présente le logo PAAF, une photo illustrant des élèves filles, et un formulaire avec deux champs : **Email** et **Mot de passe**.
3. Saisissez votre **adresse email** dans le champ Email. Respectez exactement la casse de votre adresse (minuscules/majuscules).
4. Saisissez votre **mot de passe** dans le champ Mot de passe. Les caractères saisis s'affichent sous forme de points pour préserver la confidentialité. Une icône en forme d'œil permet d'afficher temporairement le mot de passe si nécessaire.
5. Cochez la case **Se souvenir de moi** si vous souhaitez que la plateforme mémorise votre session sur ce poste (déconseillé sur un ordinateur partagé).
6. Cliquez sur le bouton **Connexion** ou appuyez sur la touche **Entrée** du clavier.
7. La plateforme vérifie vos identifiants. En cas de succès, vous êtes redirigé automatiquement vers le **tableau de bord**.

`<callout class="info">📸 <strong>Capture d'écran à insérer :</strong> Page de connexion complète : photo de fond avec élèves, logo PAAF en haut à droite, champs Email et Mot de passe avec leurs labels, case "Se souvenir de moi", lien "Mot de passe oublié ?", bouton "Connexion" en bleu</callout>`

⚠️ **Attention :** Après plusieurs tentatives de connexion échouées consécutives, la plateforme peut temporairement bloquer l'accès depuis votre adresse IP. Si cela se produit, attendez quelques minutes avant de réessayer ou contactez l'administrateur système.

---

# A.2.2.3 — Mot de passe oublié

## 2.3 Mot de passe oublié

Si vous avez oublié votre mot de passe, une procédure de réinitialisation autonome est disponible directement depuis la page de connexion, sans intervention de l'administrateur.

### Procédure de réinitialisation

1. Sur la page de connexion, cliquez sur le lien **« Mot de passe oublié ? »** situé sous le champ Mot de passe.
2. Une page de réinitialisation s'affiche. Saisissez l'**adresse email** associée à votre compte PIGBF.
3. Cliquez sur **Envoyer le lien de réinitialisation**.
4. Un message de confirmation s'affiche à l'écran, vous indiquant qu'un email a été envoyé si l'adresse existe dans le système.
5. Consultez votre boîte email. Vous recevrez un message contenant un **lien de réinitialisation sécurisé**. Ce lien est valide pour une durée limitée (généralement 60 minutes).
6. Cliquez sur le lien reçu par email. Vous êtes redirigé vers un formulaire de définition d'un nouveau mot de passe.
7. Saisissez votre **nouveau mot de passe** dans le premier champ, puis confirmez-le dans le second. Choisissez un mot de passe robuste (au moins 8 caractères, combinant lettres majuscules, minuscules, chiffres et caractères spéciaux).
8. Cliquez sur **Réinitialiser le mot de passe**.
9. Vous êtes redirigé vers la page de connexion. Connectez-vous avec vos nouveaux identifiants.

`<callout class="info">📸 <strong>Capture d'écran à insérer :</strong> Page "Mot de passe oublié" : champ Email, bouton "Envoyer le lien de réinitialisation", message de confirmation après envoi</callout>`

`<callout class="info">📸 <strong>Capture d'écran à insérer :</strong> Email de réinitialisation reçu dans la boîte mail : objet, corps du message avec le bouton/lien de réinitialisation</callout>`

`<callout class="info">📸 <strong>Capture d'écran à insérer :</strong> Formulaire de définition du nouveau mot de passe : deux champs (Nouveau mot de passe / Confirmation), indicateur de robustesse, bouton "Réinitialiser le mot de passe"</callout>`

ℹ️ **Note :** Si vous ne recevez pas l'email dans les 5 minutes suivant votre demande, vérifiez votre dossier de courrier indésirable (spam/junk). En cas de problème persistant (adresse email incorrecte, email non reçu), contactez l'équipe IT GROUP.

---

# A.2.2.4 — Découverte de l'interface

## 2.4 Découverte de l'interface

Une fois connecté, vous accédez à l'interface principale de la PIGBF. Celle-ci est composée de trois zones permanentes qui restent visibles quelle que soit la page consultée.

`<callout class="info">📸 <strong>Capture d'écran à insérer :</strong> Vue générale de l'interface après connexion : tableau de bord affiché au centre, menu latéral à gauche avec tous les modules, barre supérieure en haut avec l'année scolaire, les icônes et l'avatar utilisateur. Les trois zones sont identifiées par des annotations : "1 - Menu latéral", "2 - Barre supérieure", "3 - Zone de contenu centrale"</callout>`

### 2.4.1 Le menu latéral (navigation principale)

Le menu latéral est situé à gauche de l'écran. Il donne accès à l'ensemble des modules de la plateforme, organisés par groupes fonctionnels logiques. Chaque groupe est affiché avec son libellé en lettres capitales grises, suivi des modules qui le composent.

**Structure complète du menu (rôle Super Admin / Admin) :**

<table id="bkmrk-groupe-modules-%28sans"><thead><tr><th>Groupe</th><th>Modules</th></tr></thead><tbody><tr><td>*(sans groupe)*</td><td>**Dashboard**</td></tr><tr><td>**Gestion des bénéficiaires**</td><td>Bénéficiaires · Écoles · Tuteurs</td></tr><tr><td>**Gestion des paiements**</td><td>Prestataires · Paiements</td></tr><tr><td>**Validation des données collectées**</td><td>Données Collectées</td></tr><tr><td>**Rapports**</td><td>Rapports</td></tr><tr><td>**Gestion des utilisateurs et param.**</td><td>Utilisateurs · Paramètres</td></tr><tr><td>**Journal des activités**</td><td>Logs</td></tr><tr><td>**Gestion de mon compte**</td><td>Profil</td></tr></tbody></table>

Cliquer sur une entrée de menu qui possède des sous-menus la développe pour afficher ses sous-sections. Un second clic la referme. Le **bouton fléché** (chevron) en haut du menu latéral permet de réduire entièrement la barre latérale à une bande d'icônes, libérant ainsi de l'espace pour la zone de contenu — utile sur les écrans de petite taille.

> Les modules affichés varient selon les **droits attribués à votre rôle**. Un utilisateur Admin ONG, par exemple, ne verra pas les modules Prestataires ou Paramètres complets.

`<callout class="info">📸 <strong>Capture d'écran à insérer :</strong> Menu latéral entièrement déroulé (rôle Super Admin) : tous les groupes et leurs sous-menus visibles, élément actif surligné en bleu, bouton fléché en haut pour réduire</callout>`

`<callout class="info">📸 <strong>Capture d'écran à insérer :</strong> Menu latéral réduit en mode icônes : seules les icônes sont visibles, les libellés ont disparu, le bouton fléché pointe vers la droite pour élargir</callout>`

### 2.4.2 La barre supérieure

La barre supérieure, fixe en haut de l'écran, affiche en permanence plusieurs éléments essentiels à la navigation et au contexte de travail :

**Sélecteur d'année scolaire** (à gauche ou au centre) : affiche l'année scolaire en cours (ex. : *2024-2025 ▼*). Ce paramètre est **le filtre global** de toute la plateforme : il détermine quelles données sont affichées dans tous les modules. Un clic dessus ouvre la liste des années disponibles.

**Icône de notifications** (cloche) : indique la présence d'alertes ou de messages système en attente de consultation. Un badge numérique rouge signale le nombre de notifications non lues.

**Icône des paramètres** (engrenage) : accès rapide à certains réglages de l'interface.

**Menu utilisateur** (coin supérieur droit) : affiche l'avatar et le nom de l'utilisateur connecté. Un clic ouvre un menu déroulant donnant accès à **Mon profil** et à la fonction de **Déconnexion**.

`<callout class="info">📸 <strong>Capture d'écran à insérer :</strong> Barre supérieure zoomée : sélecteur "2024-2025 ▼" visible à gauche, icône cloche avec badge rouge au centre, icône engrenage, puis avatar rond avec initiales et nom de l'utilisateur à droite</callout>`

### 2.4.3 La zone de contenu centrale

C'est dans cette zone principale que s'affichent les pages, tableaux, formulaires, graphiques et détails de chaque module. Son contenu change dynamiquement selon la section sélectionnée dans le menu latéral. Elle occupe la majeure partie de l'écran et est scrollable verticalement lorsque le contenu dépasse la hauteur de l'écran.

---

# A.2.2.5 — Changer l'année scolaire affichée

## 2.5 Changer l'année scolaire affichée

La notion d'année scolaire est centrale dans la PIGBF. Tous les tableaux de données, statistiques et opérations sont filtrés par l'année scolaire sélectionnée dans la barre supérieure. Naviguer d'une année à l'autre est une opération fréquente, notamment pour comparer des données entre années ou consulter l'historique.

### Procédure

1. Dans la barre supérieure, identifiez le sélecteur d'**année scolaire** affichant l'année en cours (ex. : *2024-2025*).
2. Cliquez dessus. Une liste déroulante présente toutes les années scolaires créées dans la plateforme, de la plus récente à la plus ancienne.
3. Cliquez sur l'année souhaitée.
4. L'ensemble des données affichées dans la plateforme se met à jour immédiatement pour refléter l'année sélectionnée. L'indicateur dans la barre supérieure change en conséquence.

`<callout class="info">📸 <strong>Capture d'écran à insérer :</strong> Sélecteur d'année scolaire ouvert : liste déroulante avec plusieurs années (2024-2025, 2023-2024, 2022-2023), l'année active en surbrillance, les années clôturées éventuellement marquées d'un cadenas</callout>`

⚠️ **Attention :** La **consultation** d'une année passée est toujours possible. En revanche, toute **création ou modification** de données ne peut s'effectuer que sur l'année scolaire active (non clôturée). Si vous tentez de modifier des données sur une année clôturée, la plateforme bloquera l'action et affichera un message d'avertissement.

---

# A.2.2.6 — Gérer son profil et changer de mot de passe

## 2.6 Gérer son profil et changer de mot de passe

Chaque utilisateur peut mettre à jour ses informations personnelles, sa photo de profil et son mot de passe de manière autonome, sans solliciter un administrateur. Ces modifications sont immédiatement synchronisées avec le service d'authentification Keycloak.

### Accéder à la page Profil

Depuis le menu latéral, faites défiler jusqu'en bas et cliquez sur **Profil** (section « Gestion de mon compte »). Alternativement, cliquez sur votre avatar dans la barre supérieure et sélectionnez **Mon profil** dans le menu déroulant.

`<callout class="info">📸 <strong>Capture d'écran à insérer :</strong> Page "Mon Profil" complète : avatar circulaire à gauche avec bouton "Changer la photo" dessous, badge indiquant le rôle (ex. "Superadmin"), email en lecture seule, champ Nom éditable, boutons "Enregistrer les modifications" et "Changer de mot de passe"</callout>`

### Modifier son nom affiché

Le nom affiché est celui qui apparaît dans la barre supérieure, dans le journal d'activités et dans les historiques de validation.

1. Sur la page **Profil**, localisez le champ **Nom**.
2. Effacez la valeur actuelle et saisissez le nouveau nom souhaité.
3. Cliquez sur **Enregistrer les modifications**.
4. Un message de confirmation vert apparaît brièvement en haut de l'écran en cas de succès.

ℹ️ **Note :** L'adresse email est l'identifiant technique unique du compte. Elle est affichée à titre informatif mais ne peut pas être modifiée depuis cette interface. Pour changer l'adresse email associée à un compte, contactez le Super Admin.

### Changer sa photo de profil

1. Sur la page **Profil**, cliquez sur le bouton **Changer la photo** situé sous l'avatar actuel.
2. Une fenêtre de sélection de fichier s'ouvre. Choisissez une image sur votre ordinateur.
3. Formats acceptés : **JPG** et **PNG**. Taille maximale recommandée : 2 Mo.
4. Après sélection, l'aperçu de la nouvelle photo s'affiche. Confirmez si la photo vous convient.
5. Cliquez sur **Enregistrer les modifications**. La photo est sauvegardée et synchronisée avec Keycloak.

`<callout class="info">📸 <strong>Capture d'écran à insérer :</strong> Zone avatar en mode modification : nouvelle photo chargée et affichée en aperçu avant confirmation, bouton "Enregistrer les modifications" actif</callout>`

### Changer son mot de passe

1. Sur la page **Profil**, cliquez sur le bouton **Changer de mot de passe**.
2. Une fenêtre modale s'ouvre avec trois champs :  
     - **Ancien mot de passe** — votre mot de passe actuel, requis pour vérification  
     - **Nouveau mot de passe** — votre nouveau mot de passe souhaité  
     - **Confirmation du nouveau mot de passe** — ressaisissez le nouveau mot de passe à l'identique
3. Renseignez les trois champs.
4. Cliquez sur **Valider**.
5. En cas de succès, un message de confirmation s'affiche et la fenêtre se ferme. Le nouveau mot de passe est actif immédiatement et synchronisé avec Keycloak.

`<callout class="info">📸 <strong>Capture d'écran à insérer :</strong> Fenêtre modale "Changer de mot de passe" : trois champs (Ancien MdP, Nouveau MdP, Confirmation), boutons Annuler et Valider</callout>`

⚠️ **Attention :** En cas d'erreur lors de la saisie de l'ancien mot de passe, la plateforme affichera un message d'erreur explicite « Mot de passe actuel incorrect ». Si l'image téléversée dépasse la taille autorisée, un message spécifique vous en informera. Dans les deux cas, l'opération est annulée et aucune modification n'est enregistrée.

---

# A.2.2.7 — Se déconnecter

## 2.7 Se déconnecter

Il est important de se déconnecter explicitement de la plateforme à la fin de chaque session de travail, en particulier sur un poste partagé.

### Procédure

1. Dans la barre supérieure, cliquez sur votre **nom ou avatar** (coin supérieur droit).
2. Dans le menu déroulant qui s'affiche, cliquez sur **Déconnexion**.
3. Vous êtes immédiatement redirigé vers la page de connexion. Votre session est fermée côté plateforme et côté Keycloak.

`<callout class="info">📸 <strong>Capture d'écran à insérer :</strong> Menu déroulant utilisateur ouvert : options "Mon profil" et "Déconnexion" visibles</callout>`

ℹ️ **Bonne pratique :** Ne fermez pas simplement l'onglet ou le navigateur sans vous déconnecter. La session reste active côté serveur pendant un certain temps, ce qui pourrait permettre à une autre personne accédant au même navigateur de consulter vos données. Utilisez systématiquement le bouton de déconnexion.

---

# A.2.2.8 — Cas particuliers et messages d'erreur courants

## 2.8 Cas particuliers et messages d'erreur courants

<table id="bkmrk-message-%2F-situation-"><thead><tr><th>Message / situation</th><th>Cause probable</th><th>Action à entreprendre</th></tr></thead><tbody><tr><td>*Identifiants incorrects*</td><td>Email ou mot de passe erroné</td><td>Vérifiez la saisie (majuscules, espaces) ; utilisez « Mot de passe oublié ? » si nécessaire</td></tr><tr><td>*Trop de tentatives — accès temporairement bloqué*</td><td>Protection anti-bruteforce activée</td><td>Attendez quelques minutes et réessayez</td></tr><tr><td>*Compte suspendu ou inactif*</td><td>Compte désactivé par un administrateur</td><td>Contactez votre responsable ou l'équipe IT GROUP</td></tr><tr><td>*Aucune année scolaire configurée*</td><td>Aucune année scolaire active n'a été paramétrée dans le système</td><td>Le Super Admin doit créer et activer une année scolaire (cf. chapitre A.14)</td></tr><tr><td>*Accès refusé à une page*</td><td>Droits insuffisants pour le rôle assigné</td><td>Contactez l'administrateur pour vérifier vos permissions</td></tr><tr><td>*Page blanche ou chargement infini après connexion*</td><td>Session expirée, problème réseau ou cache navigateur</td><td>Actualisez la page (F5 ou Ctrl+R), videz le cache navigateur, ou reconnectez-vous</td></tr><tr><td>*Erreur 500 — Erreur serveur*</td><td>Problème technique côté serveur</td><td>Notez l'heure et les actions effectuées et contactez l'équipe IT GROUP</td></tr></tbody></table>

---

---

# A.3 — Tableau de bord

Chapitre A.3 du Manuel PIGBF

# A.3.3.1 — Rôle et nature du tableau de bord

## 3.1 Rôle et nature du tableau de bord

Le tableau de bord est la **première page affichée après chaque connexion réussie**. Il constitue le centre de pilotage et de Business Intelligence (BI) de la PIGBF : un espace qui synthétise en temps réel l'état global du programme pour l'année scolaire active.

Son objectif est triple :

1. **Vision macroscopique instantanée** — les volumes de bénéficiaires, d'écoles et de tuteurs enregistrés, sans avoir à parcourir les listes détaillées.
2. **Alerte opérationnelle** — signaler les actions en attente qui requièrent une intervention urgente de l'administrateur : validations ODK non traitées, retards dans les paiements, anomalies de cohérence.
3. **Pilotage analytique** — visualiser la distribution des bénéficiaires par classe, par statut migratoire, par zone géographique, permettant de détecter des déséquilibres dans la collecte ou dans le programme.

Toutes les données affichées sont **filtrées par l'année scolaire sélectionnée** dans la barre supérieure. Changer l'année scolaire actualise immédiatement l'ensemble des indicateurs et graphiques.

`<callout class="info">📸 <strong>Capture d'écran à insérer :</strong> Vue complète du tableau de bord pour l'année 2024-2025 : ligne des compteurs globaux en haut, section "Validations en attente", blocs paiements et abandons, puis graphiques en bas. Titre "Dashboard // Page d'accueil" visible</callout>`

---

# A.3.3.2 — Structure générale du tableau de bord

## 3.2 Structure générale du tableau de bord

Le tableau de bord est organisé en plusieurs blocs successifs, empilés de haut en bas dans la zone de contenu centrale :

<table id="bkmrk-bloc-contenu-priorit"><thead><tr><th>Bloc</th><th>Contenu</th><th>Priorité de consultation</th></tr></thead><tbody><tr><td>**Compteurs globaux**</td><td>4 indicateurs clés : total bénéficiaires, avec handicap, écoles, tuteurs</td><td>Référence rapide</td></tr><tr><td>**Validations en attente**</td><td>3 cartes d'alerte ODK : écoles / élèves / tuteurs à valider</td><td>⚡ Priorité haute — action requise</td></tr><tr><td>**État des paiements**</td><td>Suivi des tranches Equity par école (payées vs non payées)</td><td>Suivi de la progression financière</td></tr><tr><td>**Abandons scolaires**</td><td>Compteur et taux d'abandon parmi les bénéficiaires</td><td>Indicateur de risque programme</td></tr><tr><td>**Graphiques analytiques**</td><td>Répartitions par classe, statut migratoire, zone géographique, etc.</td><td>Analyse et pilotage stratégique</td></tr></tbody></table>

---

# A.3.3.3 — Bloc 1 — Compteurs globaux

## 3.3 Bloc 1 — Compteurs globaux

La première ligne du tableau de bord affiche quatre compteurs en temps réel donnant une vision immédiate de l'amplitude du programme pour l'année scolaire en cours.

`<callout class="info">📸 <strong>Capture d'écran à insérer :</strong> Ligne des quatre compteurs globaux : "Total des bénéficiaires — 49 047", "Bénéficiaires avec handicap — 145", "Total des écoles — 324", "Total des tuteurs — 42". Chaque compteur dans une carte blanche avec son label et son icône colorée</callout>`

<table id="bkmrk-compteur-description"><thead><tr><th>Compteur</th><th>Description</th><th>Ce qu'il mesure concrètement</th></tr></thead><tbody><tr><td>**Total des bénéficiaires**</td><td>Nombre total d'élèves filles enregistrées et validées</td><td>Toutes les bénéficiaires ayant une fiche active dans la PIGBF pour l'année</td></tr><tr><td>**Bénéficiaires avec handicap**</td><td>Sous-population identifiée avec une situation de handicap déclarée</td><td>Nombre de bénéficiaires dont le champ "Situation de handicap" est renseigné à "Oui"</td></tr><tr><td>**Total des écoles**</td><td>Nombre d'établissements scolaires actifs dans le programme</td><td>Écoles validées, ayant au moins une bénéficiaire rattachée</td></tr><tr><td>**Total des tuteurs**</td><td>Nombre de tuteurs légaux enregistrés et associés</td><td>Tuteurs ayant une fiche validée et liés à au moins une bénéficiaire</td></tr></tbody></table>

Chaque compteur dispose d'une **icône de lien** (flèche ou carré en haut à droite de la carte) qui redirige directement vers la liste complète correspondante dans le module concerné.

ℹ️ **Note :** Ces chiffres reflètent l'état exact de la base de données à l'instant de la consultation. Ils évoluent dynamiquement au fil des validations ODK et des opérations effectuées par les administrateurs sur la plateforme.

---

# A.3.3.4 — Bloc 2 — Validations en attente

## 3.4 Bloc 2 — Validations en attente

Cette section est l'**indicateur opérationnel le plus critique** du tableau de bord pour l'administrateur au quotidien. Elle affiche, sous forme de trois cartes cliquables, le nombre de fiches collectées sur le terrain via ODK qui n'ont pas encore été validées et transférées dans la base de production.

`<callout class="info">📸 <strong>Capture d'écran à insérer :</strong> Section "Validations en attente" avec ses trois cartes : "Écoles — En attente de validation — 349" (icône bleue école), "Élèves — En attente de validation — 53 454" (icône orange bénéficiaire), "Tuteurs — En attente de validation — 36 511" (icône tuteur). Titre de la section avec icône horloge</callout>`

### Signification de chaque carte

**Carte 1 — Écoles en attente de validation**

Représente le nombre total de formulaires ODK portant sur les établissements scolaires qui sont arrivés dans la zone de staging mais n'ont pas encore été traités par un administrateur. Cela peut inclure des formulaires d'identification d'une nouvelle école, de mise à jour du numéro SECOPE, de mise à jour de l'arrêté ministériel, ou de renseignement des frais scolaires. Un clic sur cette carte redirige directement vers la page **Données Collectées → Données écoles**.

**Carte 2 — Élèves en attente de validation**

Représente le nombre de fiches d'identification de bénéficiaires soumises par les enquêteurs, en attente d'examen et de transfert. Chaque fiche correspond à une élève identifiée sur le terrain lors d'une campagne de collecte. Un clic redirige vers **Données Collectées → Données élèves**.

**Carte 3 — Tuteurs en attente de validation**

Représente le nombre de fiches tuteurs collectées sur le terrain, non encore traitées. Un clic redirige vers **Données Collectées → Données tuteurs**.

⚠️ **Attention critique :** Tant qu'une fiche ODK n'est pas validée et transférée, les données correspondantes **n'apparaissent pas** dans les listes officielles de bénéficiaires, d'écoles ou de tuteurs. Elles ne peuvent donc pas être incluses dans les calculs de paiement, les rapports officiels ou les statistiques du programme. Un volume élevé de validations en attente — particulièrement après une campagne de collecte intensive — signale un retard dans le circuit de traitement qui doit être résorbé en priorité.

---

# A.3.3.5 — Bloc 3 — État des paiements par tranche

## 3.5 Bloc 3 — État des paiements par tranche

Ce bloc offre une vue synthétique de l'avancement des versements Equity BCDC vers les écoles, pour chacune des tranches de paiement configurées dans l'année scolaire active. Il permet à l'administrateur de suivre la progression financière du programme d'un seul regard.

### Structure du bloc

Pour **chaque tranche de paiement** (Première Tranche, Deuxième Tranche, etc.), deux métriques sont affichées dans une carte dédiée :

- **Payées** : nombre d'écoles ayant reçu le virement pour cette tranche (statut confirmé)
- **Non payées** : nombre d'écoles dont le paiement de cette tranche n'a pas encore été effectué
- **Total** : nombre total d'écoles du programme pour cette année, rappelé en pied de carte
- Une **barre de progression visuelle** (rouge / verte) indique le ratio payé vs non payé d'un seul regard

`<callout class="info">📸 <strong>Capture d'écran à insérer :</strong> Deux blocs paiements côte à côte : "Paiements Première Tranche — Payées : 3 / Non payées : 321 — Total 324 écoles" avec barre de progression quasi vide, et "Paiements Deuxième Tranche — Payées : 0 / Non payées : 324 — Total 324 écoles"</callout>`

ℹ️ **Note :** Ces indicateurs concernent exclusivement les paiements **Equity BCDC** effectués vers les comptes bancaires des écoles. Le suivi des paiements M-Pesa vers les tuteurs et les élèves est accessible depuis le module Paiements → M-Pesa → Suivi (cf. chapitre A.9).

---

# A.3.3.6 — Bloc 4 — Abandons scolaires

## 3.6 Bloc 4 — Abandons scolaires

Ce bloc surveille un indicateur de risque programme fondamental : le nombre et le taux d'abandon scolaire parmi les bénéficiaires de la bourse au cours de l'année active.

### Ce que ce bloc affiche

- **Compteur absolu** : nombre d'élèves bénéficiaires ayant abandonné la scolarité au cours de l'année (statut "Abandonné" dans leur fiche)
- **Taux d'abandon** : pourcentage calculé automatiquement sur la base du total des bénéficiaires actives de l'année
- **Base de calcul** : total des élèves de référence, rappelé sous le taux

`<callout class="info">📸 <strong>Capture d'écran à insérer :</strong> Bloc "Abandons Scolaires" : compteur "0", taux "0.00%", libellé "élèves ont abandonné", "Total 49 047 élèves" en pied de carte, badge de couleur orange/rouge</callout>`

ℹ️ **Note :** Une élève est enregistrée comme ayant abandonné lorsque son statut scolaire est mis à jour en conséquence dans la plateforme, soit manuellement par un administrateur, soit via les formulaires ODK de suivi des notes et présences soumis par les enquêteurs. Ce chiffre est directement utilisable dans les rapports de redevabilité auprès des bailleurs de fonds du programme.

---

# A.3.3.7 — Bloc 5 — Graphiques analytiques

## 3.7 Bloc 5 — Graphiques analytiques

La partie inférieure du tableau de bord présente plusieurs visualisations graphiques interactives permettant d'analyser en détail la composition et la distribution des bénéficiaires enregistrées. Ces graphiques sont générés dynamiquement à partir des données de la base pour l'année scolaire sélectionnée.

### Graphique 1 — Bénéficiaires par classe

Histogramme vertical représentant la répartition des élèves bénéficiaires selon leur niveau scolaire (6ème EB, 1ère H, 2ème H, 3ème H, 4ème H, etc.). Chaque barre correspond à un niveau, avec l'effectif en ordonnée. Ce graphique permet d'identifier les classes les plus représentées dans le programme et de détecter des déséquilibres éventuels dans la collecte.

`<callout class="info">📸 <strong>Capture d'écran à insérer :</strong> Graphique en barres verticales "Bénéficiaires par classe" : abscisse = niveaux scolaires (6ème EB à 4ème H), ordonnée = effectifs, barres de couleurs différentes, valeurs visibles au-dessus de chaque barre</callout>`

### Graphique 2 — Bénéficiaires par statut migratoire

Graphique en secteurs (camembert) montrant la répartition des bénéficiaires selon leur statut migratoire déclaré lors de la collecte terrain : **Résidente**, **Déplacée**, **Réfugiée**, **Rapatriée**. Chaque segment est affiché avec sa couleur distinctive et son pourcentage. Ce graphique est un indicateur clé pour le suivi des populations vulnérables et la redevabilité vis-à-vis des bailleurs humanitaires.

`<callout class="info">📸 <strong>Capture d'écran à insérer :</strong> Graphique camembert "Bénéficiaires par statut migratoire" : quatre segments colorés (Résidente ~66%, Déplacée, Réfugiée, Rapatriée ~32%), légende avec couleurs correspondantes</callout>`

### Autres graphiques présents selon la configuration

En fonction des données disponibles et de la configuration de l'année scolaire, d'autres graphiques peuvent être présents sur le tableau de bord :

- **Répartition géographique par sous-province** : carte ou histogramme montrant la densité des bénéficiaires par Sous-PROVED
- **Top 10 des écoles** : classement des 10 établissements comptant le plus grand nombre de bénéficiaires enregistrées
- **Répartition des tuteurs par genre** : proportion hommes/femmes parmi les tuteurs légaux enregistrés
- **Utilisateurs par type d'acteur** : répartition des comptes utilisateurs actifs par rôle ou par organisation partenaire

`<callout class="info">📸 <strong>Capture d'écran à insérer :</strong> Section inférieure du tableau de bord montrant 2 à 4 graphiques côte à côte ou en grille, avec leurs titres respectifs</callout>`

---

# A.3.3.8 — Utiliser le tableau de bord comme outil de pilotage quotidien

## 3.8 Utiliser le tableau de bord comme outil de pilotage quotidien

Le tableau de bord est conçu pour être consulté **en priorité à chaque connexion**. Il concentre les informations les plus importantes sur une seule page, évitant à l'administrateur de naviguer dans de multiples modules pour évaluer l'état du programme. Voici la routine de consultation recommandée :

**1. Vérifier les validations en attente (section prioritaire)**  
Si les trois cartes affichent des volumes significatifs, traitez les validations ODK en priorité avant d'entreprendre d'autres tâches. Des données non validées bloquent l'ensemble du circuit en aval : elles n'apparaissent pas dans les listes, ne peuvent pas être incluses dans les paiements et faussent les statistiques.

**2. Contrôler l'état des paiements**  
Vérifiez que l'avancement des tranches correspond au calendrier du programme. Un nombre anormalement faible d'écoles "payées" en regard de la date peut indiquer un blocage dans la chaîne de validation-envoi des instructions Equity.

**3. Surveiller les abandons scolaires**  
Un pic soudain sur ce compteur nécessite une investigation dans le module Élèves pour identifier les écoles ou zones concernées et en informer les ONG partenaires.

**4. Analyser les graphiques**  
Toute anomalie dans la répartition par classe, par statut migratoire ou par zone géographique peut signaler un problème de collecte (sous-représentation d'une zone), un biais dans l'identification des bénéficiaires, ou un problème de saisie dans les formulaires ODK.

ℹ️ **Accès rapide depuis le tableau de bord :** Chaque carte cliquable (validations en attente) et chaque compteur avec icône de lien renvoient directement au module concerné. Il n'est pas nécessaire de passer par le menu latéral pour aller de l'alerte à l'action — le tableau de bord est conçu pour être un point de départ, pas uniquement d'observation.

---

---

# A.4 — Gestion des organisations

Chapitre A.4 du Manuel PIGBF

# A.4.4.1 — Vue d'ensemble

## 4.1 Vue d'ensemble

Le module **Organisations** regroupe deux entités structurantes du programme : les **ONG partenaires** et les **Axes de collecte**. Ces deux référentiels définissent la gouvernance opérationnelle du terrain : quelle organisation est responsable de la collecte dans quelle zone géographique.

Ils sont accessibles depuis le menu latéral, dans la section **« Gestion des utilisateurs et param. »** :  
\- **Utilisateurs → Axes** — gestion des zones géographiques de collecte  
\- **Utilisateurs → ONG** — gestion des organisations partenaires

🔒 **Restreint :** La création, modification et suppression d'ONG et d'axes sont réservées aux rôles **Super Admin** et **Admin**. Les autres rôles disposent d'un accès en lecture seule sur ces référentiels.

ℹ️ **Ordre de création recommandé :** Créez d'abord les ONG, puis les Axes (qui référencent une ONG), puis les Utilisateurs et Enquêteurs (qui référencent une ONG). Le non-respect de cet ordre entraîne des listes déroulantes vides lors de la création des entités dépendantes.

---

# A.4.4.2 — Les ONG partenaires

## 4.2 Les ONG partenaires

### Rôle des ONG dans la PIGBF

Les ONG sont les organisations non gouvernementales chargées de l'exécution terrain du programme PAAF. Concrètement, chaque ONG partenaire :  
\- Recrute et encadre les enquêteurs qui collectent les données sur le terrain  
\- Organise les campagnes de collecte dans les écoles de sa zone géographique  
\- Assure la première validation des données ODK soumises par ses enquêteurs avant leur intégration en base de production  
\- Est responsable de la qualité des données collectées dans son périmètre

Chaque enquêteur est nécessairement rattaché à une ONG. Chaque administrateur de type Admin ONG ou Admin IT ONG n'a accès qu'aux données de **sa propre organisation** — les données des autres ONG lui sont invisibles. Cette étanchéité est un mécanisme de confidentialité et de contrôle fondamental.

### Accéder à la liste des ONG

Dans le menu latéral : **Utilisateurs → ONG**.

`<callout class="info">📸 <strong>Capture d'écran à insérer :</strong> Page liste des ONG : tableau avec colonnes Nom de l'ONG, Description, Date de création, boutons Voir / Modifier / Supprimer dans la colonne Actions ; bouton "+ Ajouter une ONG" en haut à droite</callout>`

### Consulter la fiche d'une ONG

Cliquez sur l'icône **Voir** (œil) d'une ONG pour afficher sa fiche détaillée : nom, description, liste des axes rattachés, nombre d'enquêteurs associés, et utilisateurs appartenant à cette organisation.

`<callout class="info">📸 <strong>Capture d'écran à insérer :</strong> Fiche détaillée d'une ONG : nom et description en haut, section "Axes rattachés" listant les zones de cette ONG, section "Enquêteurs" avec le nombre d'agents, section "Utilisateurs" avec les comptes associés</callout>`

### Créer une ONG

1. Cliquez sur le bouton **+ Ajouter une ONG** en haut à droite.
2. Renseignez les informations requises :  
     - **Nom** de l'organisation (obligatoire) — utilisez le nom officiel complet  
     - **Description** (optionnelle) — informations complémentaires sur l'organisation, sa zone d'intervention, ses responsables
3. Cliquez sur **Enregistrer**.

La nouvelle ONG est immédiatement disponible dans les listes déroulantes lors de la création d'utilisateurs, d'enquêteurs et d'axes.

`<callout class="info">📸 <strong>Capture d'écran à insérer :</strong> Formulaire "Ajouter une ONG" : champ Nom (obligatoire), champ Description (zone de texte multilignes), boutons Annuler et Enregistrer</callout>`

### Modifier une ONG

1. Dans le tableau, cliquez sur l'icône **Modifier** (crayon) en regard de l'ONG concernée.
2. Le formulaire s'ouvre avec les informations actuelles pré-remplies.
3. Apportez les modifications souhaitées (nom, description).
4. Cliquez sur **Mettre à jour**.

### Supprimer une ONG

1. Cliquez sur l'icône **Supprimer** (corbeille) en regard de l'ONG.
2. Une fenêtre de confirmation s'affiche, rappelant le nom de l'ONG et avertissant des conséquences.
3. Confirmez la suppression.

⚠️ **Attention :** Une ONG ne peut pas être supprimée si elle est encore associée à des utilisateurs actifs, des enquêteurs ou des données de collecte. Le système bloquera la suppression et affichera un message listant les dépendances existantes. Désassociez ou désactivez ces éléments au préalable avant de procéder à la suppression.

---

# A.4.4.3 — Les axes de collecte

## 4.3 Les axes de collecte

### Rôle des axes

Un **axe** est un découpage géographique opérationnel qui permet d'organiser et de suivre la performance de la collecte de données sur le terrain. Concrètement, un axe correspond à une zone d'intervention spécifique (un ensemble de villages, un territoire, une zone administrative) assignée à une ONG partenaire responsable.

Ce découpage remplit plusieurs fonctions dans la PIGBF :  
\- **Organisation de la collecte** : les enquêteurs sont assignés à des axes pour éviter les chevauchements et garantir la couverture complète du territoire  
\- **Suivi de performance** : les données peuvent être filtrées et analysées par axe dans les rapports  
\- **Redevabilité** : chaque donnée collectée est traçable jusqu'à l'axe et l'ONG responsables

### Accéder à la liste des axes

Dans le menu latéral : **Utilisateurs → Axes**.

`<callout class="info">📸 <strong>Capture d'écran à insérer :</strong> Page liste des Axes : tableau avec colonnes Nom de l'axe, ONG associée, Description, Date de création, boutons Voir / Modifier / Supprimer ; bouton "+ Nouvel Axe" en haut à droite</callout>`

### Créer un axe

1. Cliquez sur le bouton **+ Nouvel Axe**.
2. Renseignez les informations requises :  
     - **Nom** de l'axe (obligatoire) — un nom descriptif identifiant clairement la zone géographique  
     - **ONG responsable** (obligatoire) — sélectionnez dans la liste déroulante l'ONG chargée de cet axe. Si la liste est vide, créez d'abord une ONG.  
     - **Description** (optionnelle) — précisions sur les limites géographiques, les localités couvertes, etc.
3. Cliquez sur **Enregistrer**.

`<callout class="info">📸 <strong>Capture d'écran à insérer :</strong> Formulaire "Nouvel Axe" : champ Nom, liste déroulante ONG (avec les ONG disponibles), champ Description, boutons Annuler et Enregistrer</callout>`

### Modifier ou supprimer un axe

La procédure est identique à celle des ONG : icône **Modifier** (crayon) pour mettre à jour les informations, icône **Supprimer** (corbeille) avec confirmation pour retirer un axe.

⚠️ **Attention :** La suppression d'un axe est bloquée si des enquêteurs ou des données de collecte y sont encore rattachés. Réassignez ces éléments à un autre axe avant de procéder.

---

# A.4.4.4 — Relation ONG — Axes — Utilisateurs — Enquêteurs

## 4.4 Relation ONG — Axes — Utilisateurs — Enquêteurs

La structure organisationnelle de la PIGBF suit une hiérarchie claire que voici représentée :

```
Programme PAAF
  └── ONG partenaire A
  │     └── Axe Nord (zone géographique)
  │     │     └── Enquêteur IDI071 (collecte ODK)
  │     │     └── Enquêteur IDI039 (collecte ODK)
  │     └── Axe Sud (zone géographique)
  │           └── Enquêteur IDI101 (collecte ODK)
  └── ONG partenaire B
        └── Axe Est
              └── Enquêteur IDI106 (collecte ODK)

```

Les **Admin ONG** et **Admin IT ONG** sont rattachés à une ONG spécifique et ne voient que les données collectées par les enquêteurs de leur propre organisation. Cette étanchéité est automatique et ne peut pas être contournée depuis l'interface.

---

---

# A.5 — Gestion des écoles

Chapitre A.5 du Manuel PIGBF

# A.5.5.1 — Vue d'ensemble

## 5.1 Vue d'ensemble

Le module **Écoles** est l'un des pivots centraux de la PIGBF. Une école doit être enregistrée, documentée (numéro SECOPE, arrêté ministériel, compte bancaire Equity) et **validée pour paiement** avant que ses bénéficiaires puissent recevoir la part de bourse versée à l'établissement via Equity BCDC. Ce module couvre deux sous-ensembles principaux : la **liste des écoles** avec leur gestion complète, et la **liste des préfets** (responsables d'établissements).

Accès : menu latéral → **Bénéficiaires → Écoles**.

`<callout class="info">📸 <strong>Capture d'écran à insérer :</strong> Menu latéral déroulé montrant la section "Bénéficiaires" avec ses sous-menus : Bénéficiaires (avec sous-items Élèves, Écoles, Tuteurs)</callout>`

---

# A.5.5.2 — Liste des écoles

## 5.2 Liste des écoles

### Accéder à la liste

Dans le menu latéral, cliquez sur **Bénéficiaires** puis sur **Écoles**. La page affiche le tableau de l'ensemble des établissements scolaires enregistrés dans la PIGBF pour l'année scolaire active, qu'ils soient complets ou en cours de renseignement.

`<callout class="info">📸 <strong>Capture d'écran à insérer :</strong> Page liste des écoles complète : barre de recherche en haut à droite, bouton Filtrer, tableau avec colonnes Nom de l'école, Province / PROVED / Sous-PROVED, N° SECOPE (avec badge coloré selon disponibilité), Arrêté Min. (avec référence et date), PV Réunion, Tranches (montant estimé Tranche 1 et 2), Actions (icônes Voir / Modifier / Supprimer). Bouton "+ Ajouter une école" en haut à droite</callout>`

### Colonnes du tableau et leur signification

<table id="bkmrk-colonne-description-"><thead><tr><th>Colonne</th><th>Description</th></tr></thead><tbody><tr><td>**Enquêteur**</td><td>Identifiant de l'enquêteur ayant collecté les données de l'école sur le terrain</td></tr><tr><td>**École**</td><td>Nom complet de l'établissement</td></tr><tr><td>**Province / PROVED / Sous-PROVED**</td><td>Hiérarchie administrative éducative sur trois niveaux</td></tr><tr><td>**Num. SECOPE**</td><td>Numéro de mécanisation de l'école. Affiché en badge vert s'il est disponible, en badge orange « Non disponible » si l'enquêteur ne l'avait pas lors de la collecte</td></tr><tr><td>**Arrêté Min.**</td><td>Référence et date de l'arrêté ministériel d'agrément de l'école</td></tr><tr><td>**PV Réunion**</td><td>Lien vers le procès-verbal de la réunion fixant les frais scolaires</td></tr><tr><td>**Tranches**</td><td>Montants estimés par tranche (calculés sur la base des élèves éligibles)</td></tr><tr><td>**Actions**</td><td>Icônes Voir / Modifier / Supprimer</td></tr></tbody></table>

### Filtres de recherche disponibles

La liste peut être affinée selon de nombreux critères. Cliquez sur le bouton **Filtrer** pour ouvrir le panneau de filtres.

`<callout class="info">📸 <strong>Capture d'écran à insérer :</strong> Panneau de filtres des écoles ouvert : listes déroulantes Province, PROVED, Sous-PROVED, Territoire, Secteur, Groupement ; cases à cocher Mécanisée / Non mécanisée ; filtre Statut de validation paiement ; barre de recherche texte ; bouton Réinitialiser les filtres</callout>`

<table id="bkmrk-filtre-description-r"><thead><tr><th>Filtre</th><th>Description</th></tr></thead><tbody><tr><td>**Recherche texte**</td><td>Nom d'école, numéro SECOPE, numéro d'arrêté ministériel (recherche partielle acceptée)</td></tr><tr><td>**Province**</td><td>Filtre géographique de premier niveau</td></tr><tr><td>**PROVED**</td><td>Province éducationnelle (se remplit en cascade selon la Province choisie)</td></tr><tr><td>**Sous-PROVED**</td><td>Sous-province éducationnelle (se remplit en cascade selon le PROVED choisi)</td></tr><tr><td>**Territoire / Secteur / Groupement**</td><td>Niveaux administratifs territoriaux fins</td></tr><tr><td>**Statut de mécanisation**</td><td>Mécanisée (avec numéro SECOPE) / Non mécanisée</td></tr><tr><td>**Validation pour paiement**</td><td>Validée / Non validée — filtre les écoles selon leur éligibilité aux paiements Equity</td></tr><tr><td>**Tranche payée**</td><td>Filtrer les écoles ayant ou n'ayant pas reçu le paiement d'une tranche spécifique</td></tr></tbody></table>

Les filtres se cumulent librement. Le bouton **Réinitialiser les filtres** remet la liste dans son état complet sans aucun filtre actif.

---

# A.5.5.3 — Fiche détaillée d'une école

## 5.3 Fiche détaillée d'une école

Cliquez sur l'icône **Voir** (œil) d'une école pour accéder à sa fiche complète. C'est la vue la plus exhaustive des informations disponibles sur un établissement.

`<callout class="info">📸 <strong>Capture d'écran à insérer :</strong> Fiche détaillée d'une école, haut de page : nom de l'école en titre, badge indiquant le statut de validation paiement (Validée / Non validée), bouton "Modifier" en haut à droite, bouton "Retour à la liste"</callout>`

`<callout class="info">📸 <strong>Capture d'écran à insérer :</strong> Fiche détaillée d'une école, section Informations administratives : N° SECOPE, Arrêté Ministériel (numéro, date de signature, nombre de pages, lien vers les photos des pages), PV de Réunion (date, lien vers les pages photographiées)</callout>`

`<callout class="info">📸 <strong>Capture d'écran à insérer :</strong> Fiche détaillée d'une école, section Localisation : Province, PROVED, Sous-PROVED, Territoire, Secteur, Groupement, coordonnées GPS (latitude/longitude)</callout>`

`<callout class="info">📸 <strong>Capture d'écran à insérer :</strong> Fiche détaillée d'une école, section Préfet associé : photo du préfet, nom complet, genre, coordonnées</callout>`

`<callout class="info">📸 <strong>Capture d'écran à insérer :</strong> Fiche détaillée d'une école, section Bénéficiaires : nombre total d'élèves bénéficiaires rattachées, liste partielle avec Nom, Classe, Option, Statut paiement</callout>`

`<callout class="info">📸 <strong>Capture d'écran à insérer :</strong> Fiche détaillée d'une école, section Compte de paiement Equity BCDC : numéro de compte bancaire, nom de l'agence, indicateur "Compte actif pour paiement"</callout>`

`<callout class="info">📸 <strong>Capture d'écran à insérer :</strong> Fiche détaillée d'une école, section Historique des modifications : tableau chronologique des actions (création, mises à jour successives) avec auteur, date/heure et champs modifiés</callout>`

La fiche est structurée en plusieurs sections :

**Informations administratives**  
Nom complet de l'établissement, numéro SECOPE, référence de l'arrêté ministériel d'agrément (numéro, date de signature, nombre de pages), PV de réunion fixant les frais scolaires (date, liens vers les documents photographiés sur le terrain).

**Localisation**  
Province, PROVED, Sous-PROVED, territoire, secteur, groupement, coordonnées GPS (latitude/longitude) capturées lors de la collecte ODK.

**Informations pédagogiques**  
Classes et options dispensées dans l'établissement, niveaux d'enseignement (primaire, secondaire, humanités générales, techniques, etc.).

**Frais scolaires**  
Montants validés par type de frais et par période, tels que renseignés via le formulaire ODK de frais scolaires et validés par l'administrateur.

**Comptes de paiement**  
Numéro de compte Equity BCDC et coordonnées bancaires complètes destinées à recevoir les virements du programme.

**Préfet(s) rattaché(s)**  
Responsable(s) de l'établissement associés à cette école dans la plateforme.

**Bénéficiaires**  
Liste et nombre total d'élèves filles boursières rattachées à cet établissement pour l'année active.

**Historique des modifications**  
Traçabilité complète de toutes les mises à jour effectuées sur la fiche depuis sa création : qui a modifié quoi, et quand.

---

# A.5.5.4 — Ajouter une école manuellement

## 5.4 Ajouter une école manuellement

Bien que les écoles soient principalement créées via la validation des formulaires ODK terrain, un formulaire de saisie manuelle est disponible pour les cas particuliers (école hors-couverture ODK, correction d'urgence, ajout d'une école découverte après la collecte).

1. Cliquez sur le bouton **+ Ajouter une école**.
2. Renseignez les informations obligatoires :  
     - **Nom** de l'école  
     - **Province**, **PROVED**, **Sous-PROVED**
3. Complétez autant que possible les informations complémentaires : N° SECOPE, arrêté ministériel, coordonnées GPS, frais scolaires, compte Equity BCDC, préfet.
4. Cliquez sur **Enregistrer**.

`<callout class="info">📸 <strong>Capture d'écran à insérer :</strong> Formulaire "Ajouter une école" : champs Nom (obligatoire), Province / PROVED / Sous-PROVED (sélecteurs en cascade), N° SECOPE, Arrêté Ministériel, champs de localisation géographique fine, boutons Annuler et Enregistrer</callout>`

---

# A.5.5.5 — Modifier une école

## 5.5 Modifier une école

1. Dans la liste, cliquez sur l'icône **Modifier** (crayon) de l'école concernée.
2. Le formulaire de modification s'ouvre avec toutes les informations actuelles pré-remplies.
3. Apportez les corrections souhaitées dans les champs concernés.
4. Cliquez sur **Mettre à jour**.

`<callout class="info">📸 <strong>Capture d'écran à insérer :</strong> Formulaire de modification d'une école pré-rempli : tous les champs visibles avec leurs valeurs actuelles, possibilité de modifier chaque champ, boutons Annuler et Mettre à jour</callout>`

ℹ️ **Note :** Toute modification sur une fiche école est automatiquement enregistrée dans l'historique des activités avec l'identité de l'auteur et l'horodatage précis. Cette traçabilité garantit la transparence et permet de remonter à l'origine de toute modification en cas de litige ou d'audit.

---

# A.5.5.6 — Supprimer une école

## 5.6 Supprimer une école

1. Cliquez sur l'icône **Supprimer** (corbeille) de l'école concernée.
2. Une fenêtre de confirmation s'affiche, mentionnant le nom de l'école et avertissant des conséquences.
3. Confirmez la suppression.

⚠️ **Attention :** La suppression d'une école est **bloquée** si des bénéficiaires actives ou des instructions de paiement en cours ou déjà réalisées y sont rattachées. Le système affiche un message d'erreur listant les dépendances. Traitez ces dépendances (désassociation des élèves, archivage) avant toute suppression.

---

# A.5.5.7 — Liste des préfets

## 5.7 Liste des préfets

Le préfet est le responsable légal de l'établissement scolaire. Son identification est obligatoire dans la PIGBF car il est l'interlocuteur de référence du programme au niveau de l'école : il signe les documents officiels liés à la bourse (listes de présence, PV de réunion), certifie les informations de l'établissement et est accountable vis-à-vis du programme.

### Accéder à la liste des préfets

Menu latéral → **Bénéficiaires → Écoles** → sous-onglet ou sous-menu **Préfets** (selon la configuration d'affichage). Alternativement, depuis la fiche d'une école, cliquez sur l'onglet **Préfets**.

`<callout class="info">📸 <strong>Capture d'écran à insérer :</strong> Page liste des préfets : tableau avec colonnes Nom, Post-nom, Prénom, Genre, École associée, PROVED, Sous-PROVED, Actions (Voir / Modifier / Supprimer) ; filtres PROVED, Sous-PROVED, École, Genre disponibles en haut ; bouton "+ Ajouter un préfet"</callout>`

### Filtres disponibles

<table id="bkmrk-filtre-description-p"><thead><tr><th>Filtre</th><th>Description</th></tr></thead><tbody><tr><td>**PROVED**</td><td>Filtrer par province éducationnelle</td></tr><tr><td>**Sous-PROVED**</td><td>Filtrer par sous-province (cascade)</td></tr><tr><td>**École**</td><td>Filtrer les préfets d'un établissement spécifique</td></tr><tr><td>**Genre**</td><td>Filtrer par genre (Homme / Femme)</td></tr></tbody></table>

### Ajouter un préfet manuellement

Les préfets peuvent être créés via la collecte ODK (lors du formulaire de données écoles) ou directement depuis cette interface.

1. Cliquez sur **+ Ajouter un préfet**.
2. Renseignez : **Nom**, **Post-nom**, **Prénom** (obligatoires), **Genre**, **École de rattachement** (sélecteur).
3. Ajoutez si disponibles : coordonnées de contact (téléphone, email).
4. Cliquez sur **Enregistrer**.

`<callout class="info">📸 <strong>Capture d'écran à insérer :</strong> Formulaire "Ajouter un préfet" : champs Nom, Post-nom, Prénom, liste déroulante Genre, liste déroulante École de rattachement, champs Téléphone et Email, boutons Annuler et Enregistrer</callout>`

---

# A.5.5.8 — Traitement des doublons d'écoles

## 5.8 Traitement des doublons d'écoles

Lors de campagnes de collecte successives, un même établissement peut être saisi plusieurs fois sous des orthographes légèrement différentes (ex. : « INST TSHIYEMBE MUAYILA » vs « INSTITUT TSHIYEMBE MUAYILA »), créant des doublons dans la base de données. La fonctionnalité de traitement des doublons détecte et permet de résoudre ces conflits.

### Accéder au traitement des doublons

Menu latéral → **Bénéficiaires → Écoles** → **Traitement des doublons**.

`<callout class="info">📸 <strong>Capture d'écran à insérer :</strong> Page traitement des doublons d'écoles : liste de paires d'écoles potentiellement en doublon affichées dans des blocs comparatifs côte à côte ; score de similarité affiché en pourcentage ; boutons "Fusionner", "Confirmer deux écoles distinctes" et "Supprimer" pour chaque paire</callout>`

### Résoudre un doublon

Pour chaque paire signalée par l'algorithme de détection, examinez les informations des deux fiches et prenez l'une des trois décisions suivantes :

**Fusionner** : Les deux fiches concernent le même établissement. Sélectionnez la fiche de référence (celle dont les informations sont les plus complètes ou les plus à jour). Toutes les données de la fiche secondaire (bénéficiaires rattachées, historique) sont rapatriées sur la fiche principale. La fiche secondaire est supprimée.

**Confirmer deux écoles distinctes** : Malgré la ressemblance des noms, les deux fiches correspondent à des établissements différents (deux établissements portant le même nom dans des localités différentes, par exemple). Les deux fiches sont conservées et la paire est ignorée des résultats de doublon.

**Supprimer** : La fiche identifiée comme doublon confirmé est supprimée (applicable uniquement si elle ne possède pas de données dépendantes).

`<callout class="info">📸 <strong>Capture d'écran à insérer :</strong> Vue comparative d'une paire de doublons : deux colonnes affichant les informations de chaque fiche (Nom, SECOPE, Localisation, Préfet, Nombre de bénéficiaires), boutons de décision sous la comparaison</callout>`

⚠️ **Attention :** La **fusion est irréversible**. Vérifiez soigneusement et systématiquement les numéros SECOPE, les localisations géographiques et les noms de préfets des deux fiches avant de confirmer une fusion. Une fusion incorrecte est beaucoup plus difficile à corriger qu'un doublon laissé en attente.

---

# A.5.5.9 — Validation des écoles pour paiement

## 5.9 Validation des écoles pour paiement

Avant qu'une école puisse recevoir un virement Equity BCDC, elle doit être explicitement **validée pour paiement** par un administrateur habilité. Cette validation constitue le dernier verrou de sécurité avant tout décaissement financier vers l'établissement.

### Accéder à la validation pour paiement

Menu latéral → **Bénéficiaires → Écoles** → **Validation de paiements**.

`<callout class="info">📸 <strong>Capture d'écran à insérer :</strong> Page validation pour paiement des écoles : liste des écoles avec pour chacune son nom, son PROVED/Sous-PROVED, son statut actuel (Validée en badge vert / Non validée en badge gris), un interrupteur toggle, et le nombre d'élèves éligibles</callout>`

### Critères à vérifier avant validation

Avant d'activer le statut "Validée pour paiement" d'une école, vérifiez que les éléments suivants sont correctement renseignés sur sa fiche :

<table id="bkmrk-crit%C3%A8re-v%C3%A9rification"><thead><tr><th>Critère</th><th>Vérification à effectuer</th></tr></thead><tbody><tr><td>**Numéro SECOPE ou Arrêté ministériel**</td><td>Au moins l'un des deux documents est renseigné et lisible</td></tr><tr><td>**Compte bancaire Equity BCDC**</td><td>Numéro de compte présent, vérifié et actif</td></tr><tr><td>**Préfet identifié**</td><td>Au moins un préfet rattaché à l'école</td></tr><tr><td>**Absence de doublon actif**</td><td>Aucune autre fiche active ne correspond au même établissement</td></tr><tr><td>**Localisation renseignée**</td><td>PROVED et Sous-PROVED correctement assignés</td></tr></tbody></table>

### Valider ou invalider une école

Dans la liste de validation, chaque école dispose d'un **interrupteur (toggle switch)** permettant de basculer son statut entre « Validée » et « Non validée ».

- **Activer l'interrupteur** → statut passe à « Validée » → l'école peut recevoir des virements Equity
- **Désactiver l'interrupteur** → statut passe à « Non validée » → **tous les flux financiers liés à cette école sont immédiatement bloqués**

La désactivation est utile en cas de découverte d'une anomalie sur un établissement déjà validé (compte bancaire incorrect, doublon découvert tardivement, école fermée) : un simple clic bloque instantanément tout nouveau paiement vers cet établissement.

🔒 **Restreint :** Cette action est réservée aux rôles **Super Admin**, **Admin** et **Admin PAAF**.

---

---

# A.6 — Gestion des élèves

Chapitre A.6 du Manuel PIGBF

# A.6.6.1 — Vue d'ensemble

## 6.1 Vue d'ensemble

Le module **Bénéficiaires → Élèves** est le **cœur de la PIGBF**. Il centralise l'intégralité des informations relatives aux élèves filles identifiées comme bénéficiaires du programme de bourses. C'est sur ce module que reposent toutes les décisions financières du programme : une élève sans fiche validée et éligible ne peut pas être payée.

Chaque bénéficiaire est identifiée par un **UID (Unique Identifier)** généré automatiquement par la plateforme lors de la première validation de sa fiche ODK. Un **QR Code** est également généré à partir de cet UID, destiné à être imprimé sur sa carte de bénéficiaire pour faciliter son identification sur le terrain lors des visites de suivi.

Ce module accompagne le cycle de vie complet d'une bénéficiaire :  
1\. Identification sur le terrain via ODK → zone de staging  
2\. Validation et transfert en base de production  
3\. Suivi du parcours scolaire (classe, section, option)  
4\. Collecte et saisie des notes et présences  
5\. Validation de l'éligibilité au paiement  
6\. Inclusion dans les instructions de paiement (Equity ou M-Pesa selon le bénéficiaire percepteur désigné)  
7\. Suivi des paiements reçus

Accès : menu latéral → **Bénéficiaires → Élèves** → sous-menu **Liste des élèves**.

---

# A.6.6.2 — Liste des élèves et recherche

## 6.2 Liste des élèves et recherche

### Accéder à la liste

Cliquez sur **Bénéficiaires** dans le menu latéral, puis sélectionnez **Élèves**. La liste complète des bénéficiaires enregistrées et validées pour l'année scolaire active s'affiche dans un tableau paginé.

`<callout class="info">📸 <strong>Capture d'écran à insérer :</strong> Page liste des élèves : barre de filtres avancés dépliée en haut, tableau principal dessous avec colonnes Nom complet de l'élève, UID (badge coloré), École, Classe, Option, Statut migratoire, Statut bourse, Actions (Voir / Modifier / Supprimer). Bouton "+ Ajouter une élève" en haut à droite. Indicateur du nombre total de résultats visible</callout>`

### Filtres de recherche avancés

La zone de filtres, accessible en cliquant sur le bouton **Filtres** ou déjà visible en haut de la page, propose un moteur de recherche multicritère particulièrement riche :

`<callout class="info">📸 <strong>Capture d'écran à insérer :</strong> Zone de filtres complète de la liste élèves : rangées de boutons-filtres cliquables pour Nom / Postnom / Prénom / UID / Numéro SERNIE / Téléphone / Email, puis filtres par genre, situation parentale, âge, statut migratoire, PROVED, Sous-PROVED, École, Classe, Section, Option, Statut de handicap, Statut d'étude (Non abandonnée / Abandonnée), Avec numéro SERNIE / Sans, Première tranche payée / Non payée, Deuxième tranche payée / Non payée, Avec bourse / Sans bourse</callout>`

<table id="bkmrk-cat%C3%A9gorie-crit%C3%A8res-d"><thead><tr><th>Catégorie</th><th>Critères disponibles</th></tr></thead><tbody><tr><td>**Recherche texte**</td><td>Nom, post-nom, prénom, UID, ancien code, numéro SERNIE, numéro de téléphone, WhatsApp, email</td></tr><tr><td>**Caractéristiques personnelles**</td><td>Pays d'origine, statut migratoire (Résidente / Déplacée / Réfugiée / Rapatriée), situation parentale, situation de handicap, âge (fourchette)</td></tr><tr><td>**Localisation scolaire**</td><td>PROVED, Sous-PROVED, école spécifique, classe, section, option</td></tr><tr><td>**Statut du dossier**</td><td>Avec ou sans numéro SERNIE, statut de validation de la fiche</td></tr><tr><td>**Parcours**</td><td>Avec ou sans abandon scolaire en cours d'année</td></tr><tr><td>**Paiements**</td><td>Première tranche payée / non payée, deuxième tranche payée / non payée, avec ou sans bourse</td></tr></tbody></table>

Le bouton **Réinitialiser les filtres** efface tous les critères et revient à la liste complète.

### Actions disponibles sur la liste

Pour chaque bénéficiaire figurant dans le tableau, selon les droits de l'administrateur connecté :

- **Voir** (icône œil) — accéder à la fiche détaillée complète de la bénéficiaire
- **Modifier** (icône crayon) — ouvrir le formulaire de mise à jour
- **Supprimer** (icône corbeille) — supprimer la fiche (conditionnel, voir conditions ci-dessous)

La suppression d'une bénéficiaire est **bloquée** par le système si des instructions de paiement sont en cours ou ont déjà été exécutées pour cette élève. Une fiche ayant déjà été payée ne peut pas être supprimée ; elle peut uniquement être archivée ou marquée comme abandonnée.

---

# A.6.6.3 — Fiche détaillée d'une élève

## 6.3 Fiche détaillée d'une élève

La fiche d'une bénéficiaire est la vue la plus complète et la plus importante de son dossier. Elle regroupe toutes les informations collectées sur le terrain et renseignées dans la plateforme.

`<callout class="info">📸 <strong>Capture d'écran à insérer :</strong> Fiche détaillée d'une bénéficiaire, vue d'ensemble : photo de l'élève et QR Code à gauche sur fond coloré, UID en badge coloré (ex. "6F99BN"), nom en grand "KABANGA MPOYI CARINE", deux colonnes de sections dessous</callout>`

`<callout class="info">📸 <strong>Capture d'écran à insérer :</strong> Section "Informations personnelles" : Lieu et date de naissance, Statut migratoire, "A un handicap : Non", Numéro SERNIE, Situation familiale (Parents mariés), Nom du tuteur avec lien cliquable, Frères et sœurs à la maison, Dans la même école</callout>`

`<callout class="info">📸 <strong>Capture d'écran à insérer :</strong> Section "Parcours scolaire" : École (lien cliquable), Classe, Section, Option, Année scolaire active en badge</callout>`

`<callout class="info">📸 <strong>Capture d'écran à insérer :</strong> Section "Localisation éducationnelle et territoriale" : Province, Proved, S/Proved, Territoire, Secteur, Village, Groupement</callout>`

`<callout class="info">📸 <strong>Capture d'écran à insérer :</strong> Section "Notes de cours et fréquentation" : tableau Semestre 1 (Période 1, Période 2, Examen S1, Moyenne S1, Fréquentation S1) et Semestre 2 (mêmes champs) avec les valeurs ou "N/A" selon disponibilité</callout>`

`<callout class="info">📸 <strong>Capture d'écran à insérer :</strong> Section "Informations de contact" : Téléphone (appel), WhatsApp, Email</callout>`

`<callout class="info">📸 <strong>Capture d'écran à insérer :</strong> Section "Validation pour paiement" : choix du bénéficiaire percepteur (l'élève elle-même ou son tuteur), tableau des tranches avec statut Validée / Non validée</callout>`

`<callout class="info">📸 <strong>Capture d'écran à insérer :</strong> Section "Comptes de paiement" : tableau avec Prestataire (M-Pesa), Numéro de compte, Agent, Nom de transaction, indicateur "Compte choisi pour paiement"</callout>`

La fiche est organisée en plusieurs sections détaillées :

**Identité et photo**  
Nom, post-nom, prénom, photo de la bénéficiaire, UID avec QR Code. L'UID est l'identifiant permanent et unique de l'élève dans le système, qui ne change jamais même si ses informations sont mises à jour.

**Informations personnelles**  
Date et lieu de naissance, statut migratoire (Résidente / Déplacée / Réfugiée / Rapatriée), situation de handicap (Oui/Non), numéro SERNIE (identifiant national scolaire), situation familiale des parents ou tuteurs, composition du foyer.

**Parcours scolaire**  
École de rattachement (lien cliquable vers la fiche de l'école), classe, section (Humanités Générales, Techniques, etc.), option (Pédagogie, Commerce, Biologie, etc.), année scolaire. Ce bloc identifie précisément la position scolaire de l'élève.

**Localisation éducationnelle et territoriale**  
Province, PROVED, Sous-PROVED, territoire, secteur, village, groupement. Ces informations proviennent du formulaire ODK et permettent de localiser géographiquement la bénéficiaire.

**Notes et régularité**  
Saisie et affichage des moyennes par période (Période 1, Période 2, Examen du semestre) pour les deux semestres de l'année, ainsi que du taux de fréquentation (régularité) par semestre. Ces données, collectées via les formulaires ODK de suivi, déterminent l'éligibilité de l'élève au paiement de chaque tranche.

**Informations de contact**  
Numéro de téléphone direct de l'élève (si disponible), numéro WhatsApp, adresse email. Ces coordonnées permettent de contacter directement la bénéficiaire ou de vérifier ses coordonnées.

**Validation pour paiement**  
Désignation du bénéficiaire percepteur (l'élève elle-même reçoit le paiement M-Pesa, ou son tuteur légal), tableau des tranches de paiement de l'année avec leur statut individuel (Validée / Non validée pour paiement).

**Documents**  
Téléversement et consultation des pièces justificatives associées à l'élève : carte d'identité, bulletin scolaire, autres documents requis par le programme.

**Comptes de paiement**  
Coordonnées du compte M-Pesa ou bancaire désigné pour recevoir les paiements de bourse de cette élève (directement ou via son tuteur), avec l'indicateur du compte principal sélectionné.

---

# A.6.6.4 — Ajouter une élève manuellement

## 6.4 Ajouter une élève manuellement

Les bénéficiaires sont principalement créées par le biais de la validation des formulaires ODK. Le formulaire de saisie manuelle est réservé aux situations exceptionnelles (élève non collectée sur le terrain, correction d'urgence, rattrapages après clôture de collecte).

1. Cliquez sur **+ Ajouter une élève**.
2. Renseignez les informations obligatoires : **Nom**, **Post-nom**, **Prénom**, **Date de naissance**, **École** (sélecteur), **Classe**, **Section**, **Option**.
3. Complétez les informations complémentaires selon les données disponibles : statut migratoire, situation parentale, localisation, coordonnées de contact, tuteur responsable.
4. Cliquez sur **Enregistrer**. Un **UID** et un **QR Code** sont générés automatiquement par la plateforme.

`<callout class="info">📸 <strong>Capture d'écran à insérer :</strong> Formulaire "Ajouter une élève" : champs Nom, Post-nom, Prénom, Date de naissance, sélecteur École, sélecteur Classe, sélecteur Section, sélecteur Option, sélecteur Statut migratoire, boutons Annuler et Enregistrer</callout>`

---

# A.6.6.5 — Traitement des doublons d'élèves

## 6.5 Traitement des doublons d'élèves

Une même élève peut être enregistrée plusieurs fois lors de campagnes de collecte successives ou de réconciliations de données. Cela peut se produire si deux enquêteurs ont collecté la même élève dans deux sessions différentes, ou si une mise à jour ODK a créé une nouvelle entrée au lieu de mettre à jour l'existante.

### Accéder au traitement des doublons

Menu latéral → **Bénéficiaires → Élèves** → **Traitement des doublons**.

`<callout class="info">📸 <strong>Capture d'écran à insérer :</strong> Page traitement des doublons élèves : liste de paires d'élèves suspectes. Pour chaque paire, affichage côte à côte de : Photo, UID, Nom, Date de naissance, École, Classe. Score de similarité en pourcentage visible. Boutons "Fusionner", "Confirmer deux élèves distinctes", "Supprimer" pour chaque paire</callout>`

### Comprendre les paires signalées

L'algorithme de détection compare les noms, dates de naissance, écoles et autres attributs pour identifier les paires similaires. Un score de similarité (en pourcentage) indique la probabilité que les deux fiches correspondent à la même personne. Plus le score est élevé, plus il est probable qu'il s'agisse d'un doublon.

### Résoudre un doublon

**Fusionner** : Les deux fiches sont regroupées en une seule. L'administrateur désigne la fiche de référence (celle conservée). Toutes les données de la fiche secondaire (notes, paiements, documents, historique) sont rapatriées sur la fiche principale. La fiche secondaire est supprimée et son UID devient inactif.

**Confirmer deux élèves distinctes** : Les deux fiches correspondent à des personnes différentes malgré la ressemblance. Le couple est retiré des résultats de doublon et les deux fiches sont conservées telles quelles.

**Supprimer** : La fiche identifiée comme doublon confirmé est supprimée (applicable uniquement si aucun paiement n'y est attaché).

⚠️ **Attention — Fusion irréversible :** Avant toute fusion, vérifiez systématiquement les UIDs, les dates de naissance, les écoles de rattachement ET les photos si disponibles. La bourse ne doit être attribuée qu'une seule fois par élève réelle. Une fusion incorrecte (fusion de deux élèves différentes) est très difficile à défaire et compromet l'intégrité du registre des bénéficiaires.

---

# A.6.6.6 — Validation des élèves pour paiement

## 6.6 Validation des élèves pour paiement

Avant qu'une bénéficiaire puisse être incluse dans une instruction de paiement (Equity ou M-Pesa), elle doit être **explicitement validée pour paiement** par un administrateur. Cette validation confirme que l'élève remplit l'ensemble des critères d'éligibilité définis par le programme pour la tranche de paiement concernée.

### Accéder à la validation pour paiement

Menu latéral → **Bénéficiaires → Élèves** → **Validation de paiements**.

`<callout class="info">📸 <strong>Capture d'écran à insérer :</strong> Page validation pour paiement des élèves : barre de filtres (PROVED, Sous-PROVED, École, Classe, Tranche), tableau avec colonnes Nom de l'élève, UID, École, Classe, Taux de fréquentation S1, Moyenne S1, Statut actuel, boutons Valider (vert) / Invalider (rouge) par ligne</callout>`

### Critères d'éligibilité vérifiés

<table id="bkmrk-crit%C3%A8re-description-"><thead><tr><th>Critère</th><th>Description et seuil</th></tr></thead><tbody><tr><td>**Âge**</td><td>L'élève se situe dans la tranche d'âge définie par le programme pour l'année active</td></tr><tr><td>**Taux de fréquentation**</td><td>Le taux de présence (régularité) au semestre concerné atteint le seuil minimal requis</td></tr><tr><td>**Taux de réussite scolaire**</td><td>La moyenne obtenue dans la période concernée dépasse le seuil de réussite défini</td></tr><tr><td>**Unicité du dossier**</td><td>Aucune autre fiche active dans la base ne correspond à la même élève (absence de doublon actif)</td></tr><tr><td>**Compte de paiement renseigné**</td><td>Un compte M-Pesa ou Equity est configuré et associé au bénéficiaire percepteur désigné</td></tr></tbody></table>

### Valider ou invalider une élève

**Validation individuelle :** Cliquez sur le bouton **Valider** (coche verte) sur la ligne de l'élève. Une fenêtre de confirmation s'affiche avec le récapitulatif de l'élève. Confirmez.

**Validation en masse :** Cochez les cases de toutes les élèves à valider → cliquez sur **Valider les X élèves sélectionnées** → confirmez.

**Invalidation :** Cliquez sur le bouton **Invalider** (croix rouge) sur la ligne d'une élève précédemment validée. Une élève invalidée disparaît immédiatement des listes utilisées par le module de génération des paiements.

`<callout class="info">📸 <strong>Capture d'écran à insérer :</strong> Page validation avec plusieurs élèves cochées, bandeau de sélection actif "X élèves sélectionnées", boutons "Valider les X élèves" et "Désélectionner tout" visibles</callout>`

🔒 **Restreint :** Cette action est réservée aux rôles **Super Admin**, **Admin**, **Admin PAAF** et **Admin ONG** (dans son périmètre).

---

---

# A.7 — Gestion des tuteurs

Chapitre A.7 du Manuel PIGBF

# A.7.7.1 — Rôle du tuteur dans la PIGBF

## 7.1 Rôle du tuteur dans la PIGBF

Le tuteur est la **personne physique légalement responsable** d'une ou plusieurs bénéficiaires mineures inscrites dans le programme. Il occupe une position centrale dans le circuit financier : dans le schéma de paiement par défaut, c'est lui qui reçoit la bourse sur son compte **M-Pesa** au nom des élèves dont il a la charge.

Son identification rigoureuse est donc indispensable pour plusieurs raisons :  
\- **Sécurité financière** : garantir que les fonds arrivent à la bonne personne et prévenir tout détournement  
\- **Conformité réglementaire** : en tant que représentant légal de mineures, son consentement formel est requis et documenté  
\- **Vérification M-Pesa** : le nom enregistré sur la plateforme doit correspondre exactement au titulaire du compte mobile money pour que le virement soit accepté par Vodacom

Un tuteur peut avoir sous sa responsabilité **plusieurs élèves bénéficiaires**, y compris dans plusieurs écoles différentes. La plateforme gère et visualise explicitement cette relation un-à-plusieurs dans la fiche du tuteur.

Les données des tuteurs sont collectées principalement via le formulaire ODK **03\_00\_Identification des Tuteurs**, rempli par les enquêteurs lors de visites à domicile ou à l'école. Une interface de saisie et de correction manuelle est disponible sur la plateforme pour les mises à jour nécessaires en cours d'année.

Accès : menu latéral → **Bénéficiaires → Tuteurs**.

---

# A.7.7.2 — Liste des tuteurs et recherche

## 7.2 Liste des tuteurs et recherche

### Accéder à la liste

Cliquez sur **Bénéficiaires → Tuteurs** dans le menu latéral.

`<callout class="info">📸 <strong>Capture d'écran à insérer :</strong> Page liste des tuteurs : barre de filtres en haut (Recherche texte, Niveau d'étude, Consentement), tableau principal avec colonnes Nom, Post-nom, Prénom, Téléphone, Email, Niveau d'étude, Consentement (Oui/Non en badge), Actions Voir / Modifier / Supprimer. Bouton "+ Ajouter un tuteur" en haut à droite. Nombre total de tuteurs visible</callout>`

### Filtres de recherche disponibles

<table id="bkmrk-filtre-description-r"><thead><tr><th>Filtre</th><th>Description</th></tr></thead><tbody><tr><td>**Recherche texte**</td><td>Nom, post-nom, prénom, adresse email, numéro de téléphone (y compris recherche partielle)</td></tr><tr><td>**Niveau d'étude**</td><td>Filtre par niveau d'instruction déclaré du tuteur</td></tr><tr><td>**Consentement**</td><td>Filtrer les tuteurs selon qu'ils ont (Avec) ou non (Sans) signé la fiche de consentement au programme</td></tr></tbody></table>

`<callout class="info">📸 <strong>Capture d'écran à insérer :</strong> Zone de filtres de la liste tuteurs en détail : barre de recherche textuelle, liste déroulante Niveau d'étude, segmentation Tous / Avec / Sans pour le consentement, bouton Réinitialiser les filtres</callout>`

---

# A.7.7.3 — Fiche détaillée d'un tuteur

## 7.3 Fiche détaillée d'un tuteur

La fiche d'un tuteur centralise toutes les informations collectées et renseignées. Elle est accessible via l'icône **Voir** (œil) dans la liste.

`<callout class="info">📸 <strong>Capture d'écran à insérer :</strong> Fiche détaillée d'un tuteur, partie haute : photo du tuteur, nom complet en titre, badge indiquant l'ONG de rattachement, bouton "Modifier" en haut à droite</callout>`

`<callout class="info">📸 <strong>Capture d'écran à insérer :</strong> Section "Identité civile" : Nom, Post-nom, Prénom, Genre (badge coloré), Date de naissance, Lieu de naissance</callout>`

`<callout class="info">📸 <strong>Capture d'écran à insérer :</strong> Section "Photo de la pièce d'identité" : vignette de la photo de la carte nationale d'identité photographiée lors de la collecte ODK, avec possibilité de l'agrandir</callout>`

`<callout class="info">📸 <strong>Capture d'écran à insérer :</strong> Section "Coordonnées de contact" : Téléphone principal, WhatsApp (si différent), Email, Adresse</callout>`

`<callout class="info">📸 <strong>Capture d'écran à insérer :</strong> Section "Localisation" : Province, PROVED, Sous-PROVED, Territoire, Secteur, Groupement, Village</callout>`

`<callout class="info">📸 <strong>Capture d'écran à insérer :</strong> Section "Informations socio-économiques" : Niveau d'étude, Profession, Situation parentale, Nombre total d'enfants dans le foyer</callout>`

`<callout class="info">📸 <strong>Capture d'écran à insérer :</strong> Section "Consentement" : statut de la fiche de consentement (Signé / Non signé), date de signature si disponible</callout>`

`<callout class="info">📸 <strong>Capture d'écran à insérer :</strong> Section "Enfants bénéficiaires rattachés" : tableau avec colonnes Nom de l'élève, UID, École, Classe, Option, Statut paiement tranche 1, Statut paiement tranche 2. Chaque ligne est cliquable pour accéder à la fiche de l'élève</callout>`

`<callout class="info">📸 <strong>Capture d'écran à insérer :</strong> Section "Comptes de paiement" : tableau avec colonnes Prestataire (M-Pesa), Numéro de téléphone, Agent M-Pesa, Nom de transaction, indicateur "Compte sélectionné pour paiement" (puce verte)</callout>`

La fiche est structurée en plusieurs sections :

**Identité civile**  
Nom, post-nom, prénom, genre, date et lieu de naissance. Ces informations doivent correspondre exactement à celles figurant sur la pièce d'identité officielle du tuteur, car elles servent à la vérification d'identité lors des paiements M-Pesa.

**Photo et pièce d'identité**  
Photo du tuteur (prise sur le terrain par l'enquêteur) et scan/photo de sa carte nationale d'identité ou pièce équivalente. Ces documents sont indispensables pour valider l'identité du tuteur avant tout décaissement.

**Coordonnées de contact**  
Numéro de téléphone principal, numéro WhatsApp (souvent identique mais parfois différent), adresse email. Le numéro de téléphone est particulièrement critique car il est utilisé comme identifiant du compte M-Pesa.

**Localisation**  
Province, PROVED, Sous-PROVED, territoire, secteur, groupement, village de résidence.

**Informations socio-économiques**  
Niveau d'étude, profession, situation parentale, nombre total d'enfants dans le foyer (pas seulement les bénéficiaires du programme).

**Consentement**  
Statut et date de signature de la fiche de consentement au programme. Ce consentement formel est un prérequis légal et programmatique : sans consentement signé, le tuteur ne peut pas être désigné comme percepteur des bourses.

**Enfants bénéficiaires rattachés**  
Liste interactive de toutes les élèves placées sous la responsabilité de ce tuteur dans la PIGBF. Chaque ligne affiche l'identité de l'élève, son école, sa classe, et l'état de ses paiements par tranche. Un clic sur une ligne ouvre directement la fiche de l'élève concernée. Cette vue relationnelle permet à l'administrateur de vérifier l'intégralité du dossier familial en un seul endroit.

**Comptes de paiement**  
Numéro de compte M-Pesa enregistré, agent M-Pesa de référence, nom de transaction attendu et indicateur du compte actif pour les paiements. C'est ce compte qui sera crédité lors des virements M-Pesa déclenchés par la plateforme.

---

# A.7.7.4 — Ajouter un tuteur manuellement

## 7.4 Ajouter un tuteur manuellement

Les tuteurs sont principalement créés par validation des formulaires ODK. La création manuelle est réservée aux cas particuliers : tuteur absent lors de la collecte terrain, changement de tuteur légal en cours d'année, correction urgente.

1. Cliquez sur **+ Ajouter un tuteur**.
2. Renseignez les informations obligatoires : **Nom**, **Post-nom**, **Prénom**, **Genre**, **Téléphone**.
3. Complétez les informations complémentaires : niveau d'étude, profession, situation parentale, localisation géographique, coordonnées supplémentaires.
4. Configurez le **compte de paiement M-Pesa** : renseignez le numéro de téléphone M-Pesa, l'agent de rattachement, le nom de transaction. Cochez **Compte choisi pour paiement**.
5. Rattachez le tuteur aux élèves bénéficiaires concernées via la section dédiée (ou depuis la fiche de chaque élève).
6. Cliquez sur **Enregistrer**.

`<callout class="info">📸 <strong>Capture d'écran à insérer :</strong> Formulaire "Ajouter un tuteur" : champs Nom, Post-nom, Prénom, Genre, Téléphone, puis section "Compte de paiement M-Pesa" avec Numéro, Agent, Nom de transaction, case "Compte choisi pour paiement", boutons Annuler et Enregistrer</callout>`

---

# A.7.7.5 — Modifier un tuteur

## 7.5 Modifier un tuteur

1. Dans la liste, cliquez sur l'icône **Modifier** (crayon) du tuteur.
2. Le formulaire s'ouvre avec les informations actuelles pré-remplies.
3. Apportez les modifications nécessaires.
4. Cliquez sur **Mettre à jour**.

⚠️ **Attention :** Tout changement de **numéro de compte M-Pesa** est automatiquement tracé dans le journal d'activités avec l'identité de l'auteur et l'horodatage. Cette traçabilité est un mécanisme anti-fraude explicite : elle permet de détecter et d'investiguer toute substitution de compte non autorisée effectuée juste avant une période de paiement. Si vous modifiez le compte M-Pesa d'un tuteur, documentez la raison de ce changement dans les notes internes.

---

# A.7.7.6 — Supprimer un tuteur

## 7.6 Supprimer un tuteur

1. Cliquez sur l'icône **Supprimer** (corbeille) du tuteur.
2. Une fenêtre de confirmation s'affiche, listant les élèves rattachées à ce tuteur.
3. Confirmez la suppression.

⚠️ **Attention :** La suppression est **bloquée** si le tuteur est le responsable percepteur désigné pour des élèves liées à des paiements en cours ou déjà réalisés. Procédez d'abord au changement de tuteur sur les fiches des élèves concernées, puis tentez à nouveau la suppression.

---

---

# A.8 — Validation des données ODK

Chapitre A.8 du Manuel PIGBF

# A.8.8.1 — Comprendre le circuit de validation ODK

## 8.1 Comprendre le circuit de validation ODK

La **validation des données ODK** est l'une des responsabilités les plus importantes et les plus critiques de l'Administrateur Plateforme. Elle constitue le **verrou de qualité systématique** entre les données brutes collectées sur le terrain et la base de production de la PIGBF.

**Principe fondamental :** Aucune donnée collectée sur le terrain ne peut entrer directement en production. Elle transite systématiquement par une **zone de staging** (base de données intermédiaire) où un administrateur humain doit l'examiner, la contrôler et l'approuver avant son intégration définitive. Ce mécanisme garantit :  
\- L'**intégrité** de la base de données (pas de pollution par des données de test ou de mauvaise qualité)  
\- La **traçabilité** (chaque donnée intégrée est liée à un administrateur validateur et à un horodatage)  
\- La **qualité** (une erreur de saisie de terrain détectée avant intégration est beaucoup plus simple à corriger)  
\- La **sécurité** (prévention de l'injection frauduleuse de données)

### Flux complet de la collecte à la production

```
TERRAIN
Enquêteur (tablette ODK Collect)
  → Saisit le formulaire (en ligne ou hors ligne)
  → Synchronise vers ODK Central dès connexion disponible
        ↓
SYNCHRONISATION AUTOMATIQUE
api-pigbf (scheduler toutes les X minutes)
  → Récupère les nouvelles soumissions depuis ODK Central
  → Les stocke dans la base de staging (mysql_api)
        ↓
STAGING / ZONE D'ATTENTE
Administrateur Plateforme (interface Données Collectées)
  → Consulte les fiches en attente
  → Vérifie la cohérence, la qualité, la légitimité
  → Décide : Transférer (valider) ou laisser en attente
        ↓
PRODUCTION
Base de données principale (mysql)
  → École créée ou mise à jour dans le module Écoles
  → Élève créée ou mise à jour dans le module Bénéficiaires
  → Tuteur créé ou mis à jour dans le module Tuteurs
  → Données exploitables pour les paiements et les rapports

```

`<callout class="info">📸 <strong>Capture d'écran à insérer :</strong> Schéma illustrant le flux de validation ODK : 4 étapes visuelles avec icônes (Terrain → ODK Central → Zone staging → Production), avec les acteurs et délais indicatifs à chaque étape</callout>`

`<callout class="info">📸 <strong>Capture d'écran à insérer :</strong> Menu latéral section "Validation des données collectées" déroulée : sous-menus "Données écoles", "Données élèves", "Données tuteurs" visibles, avec les badges numériques rouges indiquant le nombre de fiches en attente sur chaque sous-menu</callout>`

Les données en attente sont regroupées dans trois sous-modules accessibles depuis le menu latéral : **Données Collectées → Données écoles**, **Données élèves**, **Données tuteurs**.

---

# A.8.8.2 — Validation des données écoles

## 8.2 Validation des données écoles

Les formulaires ODK relatifs aux écoles regroupent plusieurs types de collecte : identification initiale d'un établissement, mise à jour du numéro SECOPE, mise à jour de l'arrêté ministériel, renseignement des frais scolaires, renseignement des classes et options disponibles.

### Accéder à la page

Menu latéral → **Données Collectées → Données écoles**.

`<callout class="info">📸 <strong>Capture d'écran à insérer :</strong> Page Données écoles complète : onglets "Non validé" (sélectionné, en bleu) et "Validé" (gris) en haut à gauche ; boutons "Validation par UIDs", "Exporter en Excel", "▼ Filtrer" en haut à droite ; sélecteur "10 écoles par page" ; tableau principal ; barre de recherche à droite</callout>`

`<callout class="info">📸 <strong>Capture d'écran à insérer :</strong> Tableau des données écoles non validées : colonnes Enquêteur (code), École (nom), Province/PROVED/Sous-PROVED (trois lignes empilées), Num. SECOPE (badge vert ou orange "Non disponible"), Arrêté Min. (référence + date de signature + nb pages), PV Réunion (nb pages ou "Non disponible"), Tranches (montant 1ère tranche estimé), Actions (icône paramètres + coche validation)</callout>`

### Deux onglets de navigation

**Onglet "Non validé"** (vue par défaut) : affiche uniquement les formulaires ODK non encore traités, en attente de validation par un administrateur. C'est la vue de travail quotidienne.

**Onglet "Validé"** : affiche les formulaires déjà traités et transférés en base de production. Utile pour retrouver l'historique d'une validation spécifique, vérifier qu'une école donnée a bien été traitée, ou consulter les données avant transfert.

### Filtrer les données en attente

Avant de valider, il est recommandé de filtrer les données par zone géographique ou par enquêteur pour traiter les soumissions de manière organisée et cohérente.

`<callout class="info">📸 <strong>Capture d'écran à insérer :</strong> Panneau de filtres ouvert sur la page Données écoles : liste déroulante PROVED (avec "Tous les PROVED" par défaut), liste déroulante Sous-PROVED (cascade, se remplit selon PROVED), liste déroulante Enquêteur (avec le code de chaque enquêteur), bouton "Réinitialiser les filtres"</callout>`

1. Cliquez sur le bouton **▼ Filtrer** en haut à droite du tableau.
2. Sélectionnez un ou plusieurs filtres combinables :  
     - **PROVED** : province éducationnelle  
     - **Sous-PROVED** : se remplit automatiquement selon le PROVED choisi  
     - **Enquêteur** : code de l'enquêteur dont vous souhaitez traiter les soumissions
3. Les résultats du tableau se mettent à jour instantanément.
4. Cliquez sur **Réinitialiser les filtres** pour revenir à la liste complète.

### Consulter le détail d'une soumission avant validation

Avant de valider, il est **fortement recommandé** de consulter le détail complet de la soumission via l'icône de détail (bouton paramètres) pour les premières validations ou en cas de doute.

`<callout class="info">📸 <strong>Capture d'écran à insérer :</strong> Vue détaillée d'une soumission ODK école : toutes les informations collectées affichées (nom, SECOPE, localisation GPS, photos de l'arrêté ministériel et du PV, montants des frais scolaires, informations sur le préfet), statut "Non validée", bouton "Valider ce formulaire" visible</callout>`

Le détail affiche l'intégralité des données saisies par l'enquêteur, y compris les photos prises sur le terrain (arrêté ministériel, PV de réunion). Cela permet à l'administrateur de vérifier la lisibilité des documents photographiés et la cohérence des informations déclarées.

### Valider une école individuellement

1. Sur la ligne de l'école à valider, cliquez sur le bouton **Valider** (icône coche verte dans la colonne Actions).
2. Une fenêtre de confirmation s'affiche rappelant le nom de l'école et les informations principales.
3. Confirmez la validation. La soumission est transférée : l'école est créée (si nouvelle) ou mise à jour (si existante) dans le module Écoles de la base de production.

`<callout class="info">📸 <strong>Capture d'écran à insérer :</strong> Fenêtre de confirmation de validation individuelle d'une école : récapitulatif (nom de l'école, PROVED, Sous-PROVED, SECOPE), boutons "Annuler" et "Confirmer la validation"</callout>`

### Valider plusieurs écoles en bloc (validation groupée)

1. Cochez les cases à gauche de chaque ligne à valider. La case en en-tête du tableau **coche/décoche toutes les lignes visibles** de la page en une seule action.
2. Un bandeau récapitulatif apparaît au-dessus ou en bas du tableau : « **X école(s) sélectionnée(s)** ».
3. Cliquez sur le bouton **Valider les X école(s) sélectionnée(s)** qui apparaît.
4. Une fenêtre de confirmation récapitule le nombre d'écoles et les montants estimés.
5. Confirmez. Les transferts sont effectués en masse vers la base de production.

`<callout class="info">📸 <strong>Capture d'écran à insérer :</strong> Tableau avec plusieurs cases cochées (4 écoles) : cases à cocher visibles et cochées à gauche de chaque ligne, bandeau "4 écoles sélectionnées" en haut avec bouton "Valider les 4 écoles sélectionnées" actif et bouton "Vider la sélection"</callout>`

### Validation par liste d'UIDs (import)

Lorsqu'un responsable de terrain ou un superviseur ONG fournit une liste précise des identifiants formulaires à valider, utilisez cette fonction pour un traitement ciblé et documenté.

1. Cliquez sur le bouton **Validation par UIDs** en haut du tableau.
2. Une fenêtre modale s'ouvre avec deux options :  
     - **Saisie manuelle** : entrez les UIDs manuellement dans la zone de texte, un identifiant par ligne  
     - **Import fichier** : importez un fichier texte (.txt) contenant les UIDs, un par ligne
3. Le système identifie automatiquement les formulaires correspondant aux UIDs fournis et les sélectionne.
4. Cliquez sur **Valider la sélection**.

`<callout class="info">📸 <strong>Capture d'écran à insérer :</strong> Fenêtre modale "Validation par UIDs" : zone de texte multiligne pour saisie manuelle des UIDs, bouton "Importer un fichier .txt", liste des UIDs reconnus affichée avec statut, boutons Annuler et Valider la sélection</callout>`

### Exporter les données en Excel

Cliquez sur **Exporter en Excel** pour générer un fichier Excel des données actuellement filtrées dans le tableau. Le fichier sera envoyé à l'adresse email de l'utilisateur connecté dès qu'il sera prêt (quelques secondes à quelques minutes selon le volume).

`<callout class="info">📸 <strong>Capture d'écran à insérer :</strong> Message de confirmation après clic sur "Exporter en Excel" : "Votre export est en cours de génération. Vous recevrez un email avec le lien de téléchargement dans quelques instants."</callout>`

---

# A.8.8.3 — Validation des données élèves

## 8.3 Validation des données élèves

### Accéder à la page

Menu latéral → **Données Collectées → Données élèves**.

`<callout class="info">📸 <strong>Capture d'écran à insérer :</strong> Page Données élèves complète : onglets Non validé / Validé, boutons Validation par UIDs / Exporter en Excel / Filtrer, tableau avec colonnes Enquêteur, Nom de l'élève, École, Classe, Option, Notes S1 (Période 1, Période 2, Examen, Moyenne), Régularité S1, ID formulaire ODK, Actions</callout>`

### Structure du tableau et informations affichées

Chaque ligne correspond à une soumission ODK d'identification ou de mise à jour d'une bénéficiaire. Les colonnes affichent :  
\- **Enquêteur** : code de l'enquêteur ayant soumis le formulaire  
\- **Nom de l'élève** : identité collectée sur le terrain  
\- **École / Classe / Option** : parcours scolaire déclaré  
\- **Notes S1** : moyennes par période et taux de présence du premier semestre (si collectés)  
\- **Notes S2** : idem pour le second semestre (si collectés)  
\- **ID formulaire ODK** : identifiant unique de la soumission dans ODK Central

### Filtres disponibles

`<callout class="info">📸 <strong>Capture d'écran à insérer :</strong> Panneau de filtres des données élèves : listes déroulantes PROVED, Sous-PROVED, École, Classe, Option, Enquêteur ; bouton Réinitialiser les filtres</callout>`

<table id="bkmrk-filtre-description-p"><thead><tr><th>Filtre</th><th>Description</th></tr></thead><tbody><tr><td>**PROVED**</td><td>Province éducationnelle</td></tr><tr><td>**Sous-PROVED**</td><td>Cascade selon PROVED</td></tr><tr><td>**École**</td><td>Filtrer par établissement spécifique</td></tr><tr><td>**Classe**</td><td>Filtrer par niveau scolaire</td></tr><tr><td>**Option**</td><td>Filtrer par option de classe</td></tr><tr><td>**Enquêteur**</td><td>Filtrer par agent terrain</td></tr></tbody></table>

### Consulter le détail d'une fiche élève avant validation

`<callout class="info">📸 <strong>Capture d'écran à insérer :</strong> Vue détaillée d'une soumission ODK élève : photo de l'élève, identité complète (nom, prénom, date et lieu de naissance), statut migratoire, informations familiales, école et classe, notes et présences saisies, statut "Non validée", boutons Valider et bouton Retour</callout>`

Avant de valider une fiche, consultez le détail pour vérifier :  
\- La **photo de l'élève** est bien visible et correspond à une personne réelle  
\- L'**identité** (nom, prénom, date de naissance) est cohérente et sans fautes manifestes  
\- L'**école et la classe** sont correctement renseignées et cohérentes avec la zone de collecte  
\- Les **notes et présences** sont dans des plages réalistes (moyennes entre 0 et 100%)  
\- Si l'élève existe déjà dans la base, vérifiez qu'il s'agit bien d'une **mise à jour légitime** et non d'un doublon accidentel

### Valider des élèves

**Validation individuelle :** Bouton **Valider** (coche verte) sur la ligne → confirmation → l'élève est créée ou mise à jour en base de production.

**Validation en masse :** Cocher plusieurs lignes → bouton **Valider les X élèves sélectionnées** → confirmer.

**Import par UIDs :** Même fonctionnement que pour les écoles.

`<callout class="info">📸 <strong>Capture d'écran à insérer :</strong> Bandeau de sélection multiple avec plusieurs élèves cochées : "53 élèves sélectionnées — Valider les 53 élèves sélectionnées | Vider la sélection"</callout>`

⚠️ **Attention au rapprochement automatique :** Lorsqu'une fiche élève est validée, le système vérifie automatiquement si une bénéficiaire avec le même UID existe déjà en base. Si c'est le cas, il propose une mise à jour de la fiche existante plutôt qu'une création. En cas de doute, vérifiez le détail de la soumission et consultez la fiche existante avant de confirmer.

---

# A.8.8.4 — Validation des données tuteurs

## 8.4 Validation des données tuteurs

### Accéder à la page

Menu latéral → **Données Collectées → Données tuteurs**.

`<callout class="info">📸 <strong>Capture d'écran à insérer :</strong> Page Données tuteurs complète : onglets Non validé / Validé, boutons Validation par UIDs / Exporter en Excel / Filtrer, tableau avec colonnes Enquêteur, Nom du tuteur, Téléphone, École de rattachement, Nombre d'enfants bénéficiaires déclarés, Situation de handicap, Compte de paiement M-Pesa (numéro), Actions</callout>`

### Structure du tableau

<table id="bkmrk-colonne-description-"><thead><tr><th>Colonne</th><th>Description</th></tr></thead><tbody><tr><td>**Enquêteur**</td><td>Code de l'enquêteur ayant collecté le tuteur</td></tr><tr><td>**Nom du tuteur**</td><td>Nom, post-nom et prénom du tuteur identifié</td></tr><tr><td>**Téléphone**</td><td>Numéro de téléphone principal (souvent = numéro M-Pesa)</td></tr><tr><td>**École**</td><td>École de référence (lieu de la collecte)</td></tr><tr><td>**Nb enfants bénéficiaires**</td><td>Nombre d'élèves déclarées sous la responsabilité de ce tuteur dans cette école</td></tr><tr><td>**Handicap**</td><td>Présence ou non d'une situation de handicap déclarée</td></tr><tr><td>**Compte M-Pesa**</td><td>Numéro de téléphone M-Pesa renseigné lors de la collecte</td></tr></tbody></table>

### Vérification critique avant validation d'une fiche tuteur

La validation d'un tuteur est une étape de vérification rigoureuse, car il est le réceptionnaire des fonds. Consultez systématiquement le détail complet avant de valider.

`<callout class="info">📸 <strong>Capture d'écran à insérer :</strong> Vue détaillée d'une soumission ODK tuteur : photo du tuteur bien visible, photo de la carte d'identité lisible, coordonnées complètes, école et élèves déclarées, numéro M-Pesa renseigné, statut "Non validé", boutons Valider et Retour</callout>`

Éléments à contrôler impérativement :  
1\. **Photo du tuteur** : visible, nette, correspond à une personne adulte réelle  
2\. **Photo de la pièce d'identité** : lisible, non tronquée, appartient clairement au tuteur  
3\. **Numéro de téléphone M-Pesa** : renseigné et cohérent (10 chiffres, format local)  
4\. **Élèves rattachées** : le nombre d'élèves déclarées est cohérent avec les données de collecte de l'école  
5\. **Consentement** : la fiche de consentement a été lue et acceptée par le tuteur (étape documentée dans le formulaire ODK)

### Valider des tuteurs

Les procédures de validation individuelle, en masse et par import d'UIDs sont identiques à celles des écoles et des élèves.

`<callout class="info">📸 <strong>Capture d'écran à insérer :</strong> Page données tuteurs avec plusieurs lignes sélectionnées, bandeau de sélection visible, boutons Valider les X tuteurs et Vider la sélection actifs</callout>`

---

# A.8.8.5 — Bonnes pratiques de validation ODK

## 8.5 Bonnes pratiques de validation ODK

La qualité des données de production de la PIGBF dépend entièrement du soin apporté lors de la phase de validation. Voici les recommandations à appliquer systématiquement :

**Valider régulièrement, ne pas laisser s'accumuler.** Idéalement, les validations devraient être traitées quotidiennement pendant les périodes de collecte active. Un arriéré de validations non traitées retarde tous les processus en aval (paiements, rapports) et crée un risque de perte de contexte (difficultés à vérifier des données collectées plusieurs semaines auparavant).

**Vérifier avant de valider en masse.** Pour les premières sessions de collecte avec un nouvel enquêteur ou une nouvelle zone, validez quelques fiches individuellement avec consultation du détail. Une fois la qualité des données confirmée, la validation en masse est acceptable. En cas de doute récurrent sur un enquêteur, signalez-le à l'ONG responsable.

**Ne jamais valider une fiche manifestement incorrecte.** Une fiche avec un nom vide, une photo illisible, un numéro SECOPE manifestement erroné, ou une localisation incohérente (école de Tshikapa rattachée à une Sous-PROVED de Kamonia) doit être laissée en staging et faire l'objet d'une correction par l'enquêteur. Prévenez l'ONG responsable du problème.

**Utiliser la validation par UIDs pour les lots formels.** Lorsqu'une ONG fournit une liste officielle de formulaires à valider (après vérification terrain), utilisez la fonction d'import d'UIDs plutôt que la sélection manuelle pour garantir exactement les formulaires souhaités et créer une trace documentée.

**Documenter les anomalies détectées.** Si vous détectez des données suspectes ou des erreurs récurrentes lors de la validation, notez-les et transmettez-les à l'ONG responsable pour correction à la source (formation de l'enquêteur, corrections terrain). La prévention à la source est plus efficace que la correction en base.

---

---

# A.9 — Gestion des paiements

Chapitre A.9 du Manuel PIGBF

# A.9.9.1 — Vue d'ensemble du module paiements

## 9.1 Vue d'ensemble du module paiements

Le module **Paiements** est le plus critique de la PIGBF du point de vue financier. Il orchestre l'intégralité du cycle de décaissement des bourses, depuis la préparation des instructions jusqu'à la confirmation de réception par les bénéficiaires et le reporting associé.

La PIGBF gère **deux circuits de paiement distincts** correspondant aux deux types de bénéficiaires financiers :

<table id="bkmrk-circuit-prestataire-"><thead><tr><th>Circuit</th><th>Prestataire</th><th>Destinataire</th><th>Mécanisme technique</th><th>Objet du paiement</th></tr></thead><tbody><tr><td>**Equity BCDC**</td><td>Equity Bank Congo</td><td>Comptes bancaires des écoles</td><td>Fichiers H2H via SFTP chiffré PGP</td><td>Frais scolaires (part école de la bourse)</td></tr><tr><td>**Vodacom M-Pesa**</td><td>Vodacom</td><td>Comptes mobile money des tuteurs ou élèves</td><td>API B2C (Business-to-Consumer)</td><td>Subvention directe (part tuteur/élève de la bourse)</td></tr></tbody></table>

Les deux circuits suivent le **même cycle en quatre étapes obligatoires et séquentielles** :

```
┌─────────────────────────────────────────────────────────────────┐
│ ÉTAPE 1 — GÉNÉRATION                                            │
│ Sélection des bénéficiaires éligibles pour la tranche,         │
│ calcul automatique des montants, création des lots en attente  │
└──────────────────────────┬──────────────────────────────────────┘
                           ↓
┌─────────────────────────────────────────────────────────────────┐
│ ÉTAPE 2 — VALIDATION                                            │
│ Contrôle humain des lots par le Validateur de paiement PAAF,   │
│ vérification des montants et des comptes, approbation ou rejet │
└──────────────────────────┬──────────────────────────────────────┘
                           ↓
┌─────────────────────────────────────────────────────────────────┐
│ ÉTAPE 3 — ENVOI                                                 │
│ Transmission sécurisée au prestataire :                        │
│ OTP par email obligatoire pour Equity / API directe pour M-Pesa│
└──────────────────────────┬──────────────────────────────────────┘
                           ↓
┌─────────────────────────────────────────────────────────────────┐
│ ÉTAPE 4 — SUIVI                                                 │
│ Réception et traitement des retours prestataires :             │
│ ACK/NACK/PSR pour Equity, confirmations API pour M-Pesa        │
└─────────────────────────────────────────────────────────────────┘

```

`<callout class="info">📸 <strong>Capture d'écran à insérer :</strong> Schéma du cycle de paiement en 4 étapes avec les deux colonnes (Equity BCDC / M-Pesa) et les acteurs impliqués à chaque étape (Admin PAAF génère, Validateur PAAF valide et envoie, Prestataire traite, Plateforme suit)</callout>`

🔒 **Restreint — Séparation des rôles :** L'architecture de sécurité financière de la PIGBF repose sur le principe fondamental que la même personne ne peut pas gérer à elle seule l'intégralité du cycle. Par défaut, **l'Admin PAAF** génère les instructions, et le **Validateur de paiement PAAF** (rôle autonome distinct) les valide et les envoie. Cette séparation des rôles est un contrôle interne indispensable.

Accès global : menu latéral → **Gestion des paiements**.

---

# A.9.9.2 — Gestion des prestataires

## 9.2 Gestion des prestataires

Les prestataires financiers (Equity BCDC et Vodacom M-Pesa) doivent être configurés dans la plateforme avec leurs paramètres techniques d'API avant de pouvoir effectuer des paiements.

### Accéder à la liste des prestataires

Menu latéral → **Prestataires**.

`<callout class="info">📸 <strong>Capture d'écran à insérer :</strong> Page liste des prestataires : deux entrées (Equity BCDC et M-Pesa) dans le tableau, colonnes Nom, Type (Banque / Mobile Money), Statut (Actif en badge vert), Date de configuration, Actions Voir / Modifier</callout>`

### Informations d'un prestataire

Cliquez sur **Voir** pour consulter la configuration technique d'un prestataire.

`<callout class="info">📸 <strong>Capture d'écran à insérer :</strong> Fiche détaillée d'un prestataire M-Pesa : Type "M-Pesa / Bearer Token", trois sections JSON (Credentials, API Config, Tracking Config) affichées en lecture seule avec leur contenu</callout>`

### Configurer ou modifier un prestataire

1. Cliquez sur **Modifier** (crayon) du prestataire concerné.
2. Le formulaire de configuration s'ouvre avec trois éditeurs JSON :

`<callout class="info">📸 <strong>Capture d'écran à insérer :</strong> Formulaire de modification d'un prestataire : sélecteur "Type de bénéficiaire" (Banque Token / M-Pesa), trois éditeurs JSON côte à côte avec titres "Credentials (JSON)", "Configuration API (JSON)", "Configuration Tracking (JSON)". Bouton "Formater test" et "Valider tout" sous chaque éditeur. Boutons Annuler et Modifier en bas</callout>`

**Credentials (JSON)** : contiennent les informations d'authentification auprès du prestataire : token d'accès, clés API, identifiants de connexion. Ces données sont hautement confidentielles.

**API Config (JSON)** : définit les paramètres des appels API de paiement : URL de l'endpoint, méthode HTTP (POST/GET), headers requis, structure du corps de la requête. Des placeholders dynamiques permettent d'injecter les valeurs à l'exécution (ex. : `{{token}}`, `{{montant}}`, `{{reference_prestataire}}`).

**Tracking Config (JSON)** : configure le suivi du statut des paiements après envoi : URL de l'endpoint de vérification, méthode, headers, structure de la réponse.

⚠️ **Attention critique :** La configuration des prestataires est une opération **hautement technique et sensible** réservée exclusivement à l'équipe IT GROUP ou au Super Admin technique. Une configuration incorrecte peut entraîner l'échec total ou partiel de tous les paiements, voire des virements vers des comptes incorrects. Ne modifiez **jamais** ces paramètres sans avoir obtenu les nouvelles valeurs techniques directement auprès du prestataire et sans avoir consulté l'équipe IT GROUP.

---

# A.9.9.3 — Paiements Equity BCDC — Cycle complet

## 9.3 Paiements Equity BCDC — Cycle complet

### 9.3.1 Étape 1 — Génération des instructions Equity

La génération consiste à préparer les lots de virements qui seront soumis à Equity Bank pour créditer les comptes bancaires des écoles sélectionnées.

#### Accéder à l'écran de génération

Menu latéral → **Paiements → Equity BCDC → Génération**.

`<callout class="info">📸 <strong>Capture d'écran à insérer :</strong> Page génération Equity, état initial (avant sélection de tranche) : zone de filtres en haut avec Tranche de paiement (obligatoire, liste déroulante), PROVED, Sous-PROVED, École (multi-sélection). Message d'alerte "Veuillez sélectionner une tranche de paiement pour afficher les écoles éligibles" centré dans la zone du tableau</callout>`

#### Sélectionner la tranche de paiement

La sélection d'une **tranche de paiement est obligatoire**. Sans cette sélection, aucune école n'est affichée dans le tableau. Cette contrainte est intentionnelle pour éviter de générer des instructions sans contexte défini.

1. Dans la liste déroulante **Tranche de paiement**, sélectionnez la tranche à traiter (ex. : « Première Tranche 2024-2025 »). Les tranches disponibles sont celles configurées dans les Paramètres de l'année scolaire active.
2. Le tableau des **écoles éligibles** s'affiche automatiquement.

`<callout class="info">📸 <strong>Capture d'écran à insérer :</strong> Page génération Equity après sélection de la tranche : tableau avec colonnes École (nom), PROVED, Sous-PROVED, Compte Equity BCDC (numéro masqué partiellement), Élèves éligibles (nombre), Montant total (en CDF) ; cases à cocher à gauche de chaque ligne ; case "Sélectionner tout" en en-tête</callout>`

**Qui apparaît dans cette liste ?** Uniquement les écoles réunissant simultanément les conditions suivantes :  
\- **Validée pour paiement** (interrupteur activé dans le module Validation des écoles)  
\- Possédant un **compte Equity BCDC** configuré et actif dans leur fiche  
\- Ayant des **élèves validées pour paiement** pour la tranche sélectionnée  
\- N'ayant **pas encore reçu le paiement** de cette tranche (pour éviter les doublons)

#### Examiner les données avant génération

Avant toute sélection, prenez le temps d'examiner la liste :  
\- Vérifiez que le **nombre d'élèves éligibles** par école est cohérent avec vos données de terrain  
\- Vérifiez que le **montant total** par école est correct (= nombre d'élèves × montant par élève de la tranche)  
\- Identifiez les écoles absentes de la liste qui devraient y figurer (vérifiez leur validation pour paiement et leurs comptes)

Si vous souhaitez affiner la liste, utilisez les filtres **PROVED**, **Sous-PROVED** ou la sélection multi-écoles.

#### Sélectionner les écoles et générer

1. Cochez les écoles à inclure dans le lot. Utilisez la case en en-tête pour sélectionner toutes les écoles de la page.
2. Un bandeau récapitulatif apparaît en haut du tableau :

`<callout class="info">📸 <strong>Capture d'écran à insérer :</strong> Bandeau récapitulatif de sélection active : "X écoles sélectionnées — Y élèves — Montant total estimé : Z CDF", boutons "Générer les instructions" (bleu, actif) et "Vider la sélection" (gris)</callout>`

3. Cliquez sur **Générer les instructions**.
4. La fenêtre modale **« Générer les instructions Equity »** s'ouvre :

`<callout class="info">📸 <strong>Capture d'écran à insérer :</strong> Fenêtre modale "Générer les instructions Equity" : bloc récapitulatif avec 3 métriques (Écoles sélectionnées : X, Élèves estimés : Y, Montant total estimé : Z CDF), champ "Commentaire (optionnel)" avec compteur de caractères, alerte informative bleue "Les instructions générées devront être validées avant l'envoi à Equity", boutons "Annuler" (gris) et "Lancer la génération" (bleu)</callout>`

5. Vérifiez les métriques récapitulatives (écoles, élèves, montant).
6. Saisissez un **Commentaire** descriptif (optionnel mais recommandé) : « Première tranche — Sous-PROVED Kamuesha — novembre 2024 ». Ce commentaire sera visible dans tous les écrans suivants du cycle de paiement et dans l'historique.
7. Cliquez sur **Lancer la génération**.

Les lots sont créés dans la base de données paiements avec le statut « Généré — en attente de validation ». Un lot distinct est créé pour chaque école sélectionnée.

---

### 9.3.2 Étape 2 — Validation des instructions Equity

Les lots générés passent dans la file de validation. Le **Validateur de paiement PAAF** doit examiner chaque lot, vérifier son exactitude et l'approuver ou le rejeter avant l'envoi à la banque.

#### Accéder à l'écran de validation

Menu latéral → **Paiements → Equity BCDC → Validation**.

`<callout class="info">📸 <strong>Capture d'écran à insérer :</strong> Page validation Equity : zone de filtres (Date début / Date fin de génération, bouton Réinitialiser), tableau "Lots à valider" avec colonnes Référence du lot, École (nom), Nombre de paiements, Montant total (CDF), Généré par (nom utilisateur). Boutons Valider (coche verte) et Rejeter (croix rouge) en colonne Actions pour chaque lot</callout>`

#### Valider un lot individuellement

1. Repérez le lot dans le tableau. Vérifiez la référence, l'école, le nombre de paiements et le montant.
2. Pour un contrôle approfondi, cliquez sur la **Référence du lot** pour ouvrir le détail complet (liste des paiements individuels, commentaire saisi à la génération).
3. Cliquez sur **Valider** (coche verte).

`<callout class="info">📸 <strong>Capture d'écran à insérer :</strong> Fenêtre modale "Valider le lot" : récapitulatif complet avec Référence du lot, Nom de l'école, Compte Equity BCDC (partiellement masqué), Nombre de paiements, Montant total en CDF, Nombre d'élèves concernées, Généré par (nom et date/heure), Commentaire saisi à la génération. Boutons "Annuler" et "Valider"</callout>`

4. Vérifiez une dernière fois l'exactitude de toutes les informations.
5. Cliquez sur **Valider**. Le lot passe au statut « Validé » et devient visible dans l'écran d'envoi.

#### Rejeter un lot

Si une anomalie est détectée — montant incorrect, compte bancaire erroné, école en doublon, cohérence douteuse — il faut rejeter le lot plutôt que de le laisser en attente.

1. Cliquez sur **Rejeter** (croix rouge) sur la ligne du lot concerné.

`<callout class="info">📸 <strong>Capture d'écran à insérer :</strong> Fenêtre modale "Rejeter le lot" : récapitulatif du lot, champ obligatoire "Raison du rejet" (zone de texte libre, ex. "Compte bancaire erroné — à corriger sur la fiche école"), alerte orange "Les paiements liés à ce lot resteront en attente. Un nouveau lot pourra être régénéré après correction.", boutons "Annuler" et "Rejeter" (rouge)</callout>`

2. Renseignez la **Raison du rejet** (obligatoire) : soyez précis et descriptif pour faciliter la correction.
3. Cliquez sur **Rejeter**. Le lot est marqué comme rejeté, les paiements associés restent en attente.

ℹ️ **Après un rejet :** L'administrateur doit corriger l'anomalie identifiée (généralement sur la fiche de l'école concernée), puis régénérer un nouveau lot via l'écran de Génération.

---

### 9.3.3 Étape 3 — Envoi des instructions vers Equity BCDC

C'est l'étape de **transmission effective et sécurisée** des instructions de paiement à Equity Bank. Elle est protégée par un code OTP (One-Time Password) envoyé par email, constituant une double vérification d'identité avant tout décaissement financier.

#### Accéder à l'écran d'envoi

Menu latéral → **Paiements → Equity BCDC → Envoi**.

`<callout class="info">📸 <strong>Capture d'écran à insérer :</strong> Page envoi Equity : zone de filtres (Validé depuis / Validé jusqu'au, bouton Réinitialiser), tableau "Lots validés – prêts à l'envoi" avec colonnes Référence, École (nom + compte Equity partiel), Nombre de paiements, Montant total, Validé par (nom utilisateur) ; cases à cocher par lot</callout>`

#### Sélectionner les lots à envoyer

1. Filtrez par dates de validation si nécessaire.
2. Cochez un ou plusieurs lots validés. La case en en-tête coche tous les lots visibles.
3. Un bandeau d'alerte apparaît :

`<callout class="info">📸 <strong>Capture d'écran à insérer :</strong> Bandeau d'alerte apparu après sélection de lots : "Sélection prête à l'envoi. Une validation OTP sera requise." en fond bleu clair, avec boutons "Envoyer vers Equity" (bleu) et "Désélectionner tout" (gris)</callout>`

#### Procédure d'envoi sécurisé par OTP — étape par étape

4. Cliquez sur **Envoyer vers Equity**.
5. La fenêtre modale **« Envoi vers Equity BCDC »** s'ouvre.

`<callout class="info">📸 <strong>Capture d'écran à insérer :</strong> Fenêtre modale "Envoi vers Equity BCDC", Étape 1 : récapitulatif de la sélection (Lots sélectionnés : X, Nombre total d'instructions : Y, Montant total à envoyer : Z CDF), bouton "Recevoir le code OTP" (bleu), message explicatif "Un code à usage unique sera envoyé à votre adresse email"</callout>`

6. **Étape 1 — Demande du code OTP :** Vérifiez le récapitulatif de la sélection. Cliquez sur **Recevoir le code OTP**. Un code à 6 chiffres à usage unique est envoyé à l'adresse email de l'utilisateur connecté. Une alerte verte confirme l'envoi et un **compte à rebours** indique la durée de validité du code.

`<callout class="info">📸 <strong>Capture d'écran à insérer :</strong> Fenêtre modale, Étape 2 : confirmation "Code OTP envoyé à votre email" en vert, compte à rebours visible (ex. "4:47"), champ "Code OTP" (6 chiffres, actif), bouton "Envoyer" (gris, inactif tant qu'aucun code n'est saisi)</callout>`

7. **Étape 2 — Saisie du code OTP :** Consultez immédiatement votre boîte email (vérifiez aussi le dossier spam). Copiez le code reçu et saisissez-le dans le champ **Code OTP**. Le bouton **Envoyer** s'active dès qu'un code valide est détecté.

`<callout class="info">📸 <strong>Capture d'écran à insérer :</strong> Fenêtre modale, Étape 2 avec code saisi : champ OTP rempli (ex. "483027"), bouton "Envoyer" devenu actif (bleu), compte à rebours toujours visible</callout>`

8. **Étape 3 — Confirmation finale :** Cliquez sur **Envoyer**. Le système effectue les opérations suivantes en séquence :  
     - Marque les lots sélectionnés au statut « Envoyé »  
     - Met à jour les instructions associées au statut « En attente de traitement »  
     - Déclenche la génération des fichiers H2H (format spécifique Equity Bank)  
     - Chiffre les fichiers avec la clé PGP d'Equity Bank  
     - Dépose les fichiers sur le serveur SFTP d'Equity pour traitement

`<callout class="info">📸 <strong>Capture d'écran à insérer :</strong> Message de confirmation après envoi réussi : "Vos instructions de paiement ont été envoyées à Equity BCDC avec succès. Les X lots sont maintenant en attente de traitement par la banque." en vert, bouton "Fermer"</callout>`

⚠️ **Important — Code OTP expiré :** Si le compte à rebours atteint 00:00 avant votre saisie, le code expire. Cliquez à nouveau sur **Recevoir le code OTP** pour en générer un nouveau. Vous pouvez demander plusieurs codes successivement sans limitation.

⚠️ **Important — Sécurité absolue du code OTP :** Le code OTP est votre signature électronique pour cette opération financière. Ne le partagez **jamais** avec une autre personne, y compris un supérieur hiérarchique. Si quelqu'un vous demande votre code OTP, refusez et signalez cet incident à l'équipe IT GROUP. La demande de votre OTP par une tierce personne est le signe d'une tentative de fraude.

---

### 9.3.4 Étape 4 — Suivi des paiements Equity H2H

Après l'envoi, Equity Bank traite les fichiers et renvoie des fichiers de retour (ACK = accusé positif, NACK = rejet, PSR = rapport de synthèse final). L'écran de suivi permet de monitorer en temps réel l'état de chaque fichier et de chaque instruction de paiement.

#### Accéder à l'écran de suivi

Menu latéral → **Paiements → Equity BCDC → Suivi**.

`<callout class="info">📸 <strong>Capture d'écran à insérer :</strong> Page suivi Equity H2H : zone de filtres (Recherche textuelle, Statut — liste déroulante avec tous les statuts possibles, Date début / Date fin), tableau "Fichiers Equity H2H" avec colonnes Nom du fichier / Référence Equity, Statut (badge coloré avec libellé), Nb écoles (instructions dans le fichier), Montant total (CDF), Généré par (nom + date), menu Actions (bouton trois points)</callout>`

#### Comprendre les statuts des fichiers H2H

<table id="bkmrk-statut-couleur-du-ba"><thead><tr><th>Statut</th><th>Couleur du badge</th><th>Signification</th></tr></thead><tbody><tr><td>**Non envoyé**</td><td>Gris</td><td>Fichier généré côté plateforme, pas encore transmis au SFTP Equity</td></tr><tr><td>**Envoi en cours**</td><td>Bleu</td><td>Transmission SFTP en cours de traitement</td></tr><tr><td>**Envoyé**</td><td>Bleu ciel</td><td>Fichier déposé sur le SFTP Equity, en attente d'accusé de réception</td></tr><tr><td>**Reçu**</td><td>Vert clair</td><td>Accusé de réception (ACK) reçu — Equity confirme avoir le fichier</td></tr><tr><td>**Traité avec succès**</td><td>Vert foncé</td><td>Paiements exécutés par Equity — fonds décaissés</td></tr><tr><td>**Rejeté**</td><td>Rouge</td><td>Fichier rejeté par Equity (NACK) — voir fichier de rejet pour le motif</td></tr><tr><td>**Erreur**</td><td>Orange</td><td>Problème technique lors de la transmission SFTP</td></tr></tbody></table>

#### Actions disponibles sur un fichier (menu trois points)

`<callout class="info">📸 <strong>Capture d'écran à insérer :</strong> Menu Actions (trois points) ouvert sur une ligne de fichier Equity : options "Voir détails", "Télécharger — Fichier H2H envoyé", "Télécharger — Fichier ACK", "Télécharger — Fichier NACK", "Télécharger — Fichier PSR", "Renvoyer" (si non envoyé), "Supprimer" (si non envoyé)</callout>`

- **Voir détails** — ouvre la fenêtre modale de détail complet du fichier
- **Télécharger** — selon disponibilité : fichier H2H original, ACK, NACK, PSR
- **Renvoyer** — redéclenche le dépôt SFTP (uniquement pour les fichiers en statut "Non envoyé" ou "Erreur")
- **Supprimer** — suppression irréversible du fichier et des instructions associées

#### Consulter le détail d'un fichier

`<callout class="info">📸 <strong>Capture d'écran à insérer :</strong> Fenêtre modale "Détails du fichier Equity H2H" : bloc "Informations fichier" (Nom, Référence Equity, Description/Commentaire, Statut avec badge, Date de génération, Date d'envoi, Liens de téléchargement si disponibles), séparateur, bloc "Instructions de paiement associées" — tableau avec colonnes École (lien cliquable), Référence instruction, Compte Equity, Agent, Montant total, colonne Workflow (Généré par X le DD/MM/YYYY, Validé par Y le DD/MM/YYYY, Envoyé par Z le DD/MM/YYYY), Statut paiement (Payé en vert / Échoué en rouge + motif / En attente en gris), bouton "Fermer"</callout>`

La fenêtre de détail permet à l'administrateur de descendre jusqu'au niveau de l'instruction individuelle (une école = une instruction) et de voir précisément le statut de chaque virement, qui a effectué chaque étape du workflow, et quand.

⚠️ **Attention — Suppression d'un fichier H2H :** La suppression d'un fichier H2H **supprime également toutes les instructions de paiement associées côté plateforme**. Cette opération ne peut pas annuler un virement déjà en cours de traitement ou exécuté chez Equity Bank. Elle ne doit être utilisée qu'en cas d'erreur manifeste sur un fichier **non encore envoyé**. Une fenêtre d'alerte forte récapitule le nom du fichier, la référence Equity, le nombre d'instructions et le montant total avant confirmation.

---

# A.9.9.4 — Paiements Vodacom M-Pesa — Cycle complet

## 9.4 Paiements Vodacom M-Pesa — Cycle complet

### 9.4.1 Étape 1 — Génération des instructions M-Pesa

La génération M-Pesa prépare les virements mobile money destinés aux tuteurs (ou directement aux élèves si elles sont désignées comme bénéficiaires perceptrices dans leur fiche).

#### Accéder à l'écran de génération

Menu latéral → **Paiements → M-Pesa → Génération**.

`<callout class="info">📸 <strong>Capture d'écran à insérer :</strong> Page génération M-Pesa, état initial : zone de filtres (Tranche de paiement obligatoire — liste déroulante, École(s) — sélection multiple, Classe — liste déroulante, Option — liste déroulante, bouton Réinitialiser), message "Sélectionnez une tranche de paiement pour afficher les tuteurs éligibles"</callout>`

#### Sélectionner la tranche et afficher les tuteurs éligibles

1. Sélectionnez la **Tranche de paiement** dans la liste déroulante.
2. Le tableau des **tuteurs éligibles** s'affiche. Seuls les tuteurs réunissant ces conditions apparaissent :  
     - Ils ont des élèves **validées pour paiement** pour la tranche choisie  
     - Un compte **M-Pesa est configuré et coché "compte choisi pour paiement"** dans leur fiche

`<callout class="info">📸 <strong>Capture d'écran à insérer :</strong> Tableau des tuteurs éligibles M-Pesa : colonnes Nom du tuteur (complet), Nombre d'élèves rattachées pour cette tranche (ex. "3"), Montant total (3 × montant/élève = Z CDF), Compte mobile (numéro partiellement masqué + agent M-Pesa) ; cases à cocher à gauche ; case "Sélectionner tout" en en-tête ; bouton "▼" ou "+" à droite de chaque ligne pour déplier la liste des élèves</callout>`

3. Pour vérifier le détail des élèves incluses dans le calcul d'un tuteur, cliquez sur le bouton **▼** (déplier) de sa ligne :

`<callout class="info">📸 <strong>Capture d'écran à insérer :</strong> Ligne tuteur dépliée montrant l'encart des élèves rattachées : tableau avec colonnes UID élève, Nom de l'élève, Classe, Option, Montant individuel (ex. "53 000 CDF"). 3 lignes visibles pour un tuteur avec 3 enfants bénéficiaires</callout>`

4. Affinez si nécessaire avec les filtres **École(s)**, **Classe** et **Option**.

#### Sélectionner et générer

1. Cochez les tuteurs à inclure. Le bandeau récapitulatif apparaît :

`<callout class="info">📸 <strong>Capture d'écran à insérer :</strong> Bandeau récapitulatif M-Pesa : "X tuteurs sélectionnés — Y élèves — Montant total : Z CDF", bouton "Générer les instructions de paiement" actif</callout>`

2. Cliquez sur **Générer les instructions de paiement**.

`<callout class="info">📸 <strong>Capture d'écran à insérer :</strong> Fenêtre modale "Générer les instructions de paiement" M-Pesa : bloc récapitulatif (Tuteurs sélectionnés : X, Total élèves : Y, Montant total : Z CDF), champ "Commentaire (optionnel)", boutons "Annuler" et "Générer"</callout>`

3. Ajoutez un **Commentaire** descriptif, cliquez sur **Générer**. Pour chaque tuteur sélectionné, le système crée un lot contenant un paiement individuel par élève (1 paiement M-Pesa = 1 virement = 1 élève).

---

### 9.4.2 Étape 2 — Validation des instructions M-Pesa

#### Accéder à l'écran de validation

Menu latéral → **Paiements → M-Pesa → Validation**.

`<callout class="info">📸 <strong>Capture d'écran à insérer :</strong> Page validation M-Pesa : zone de filtres (Date de génération Du / Au, bouton Réinitialiser), tableau "Instructions en attente de validation" avec colonnes Tuteur (nom), Compte (numéro M-Pesa partiel), Date de génération, Généré par, Nombre d'élèves, Montant total (CDF) ; cases à cocher par ligne + "Sélectionner tout" ; boutons Valider (vert) et Rejeter (rouge) par lot</callout>`

#### Valider un lot individuellement

1. Cliquez sur **Valider** (coche verte) sur la ligne du lot.

`<callout class="info">📸 <strong>Capture d'écran à insérer :</strong> Fenêtre modale "Valider le lot M-Pesa" : Tuteur (nom complet), Référence du lot, Compte mobile (numéro + agent), Prestataire (M-Pesa), Nombre d'élèves, Montant total, Généré par (nom + date), Commentaire éventuel. Boutons "Annuler" et "Valider"</callout>`

2. Vérifiez toutes les informations. Cliquez sur **Valider**. Le lot passe au statut « Validé ».

#### Rejeter un lot

1. Cliquez sur **Rejeter** (croix rouge).

`<callout class="info">📸 <strong>Capture d'écran à insérer :</strong> Fenêtre modale "Rejeter le lot M-Pesa" : récapitulatif du lot, champ obligatoire "Raison du rejet", boutons "Annuler" et "Rejeter"</callout>`

2. Renseignez la **Raison du rejet** (obligatoire). Cliquez sur **Rejeter**. Le lot est marqué rejeté, tous les paiements du lot passent au statut « Annulé ».

#### Validation ou rejet groupé

`<callout class="info">📸 <strong>Capture d'écran à insérer :</strong> Tableau M-Pesa avec plusieurs lots cochés (3 sélectionnés), boutons "Valider plusieurs instructions" et "Rejeter plusieurs instructions" actifs en haut du tableau, compteur "3 sélectionnés" visible</callout>`

1. Cochez plusieurs lots.
2. Les boutons **Valider plusieurs instructions** et **Rejeter plusieurs instructions** apparaissent.
3. Chaque action ouvre une fenêtre modale récapitulative :  
     - Pour la validation : nombre de lots, total élèves, montant global à confirmer  
     - Pour le rejet : même récapitulatif + champ **Raison du rejet** unique applicable à tous les lots sélectionnés

---

### 9.4.3 Étape 3 — Envoi des instructions M-Pesa

#### Accéder à l'écran d'envoi

Menu latéral → **Paiements → M-Pesa → Envoi**.

`<callout class="info">📸 <strong>Capture d'écran à insérer :</strong> Page envoi M-Pesa : zone de filtres (Date de validation Du / Au, bouton Réinitialiser), tableau "Instructions en attente d'envoi" avec colonnes Tuteur, Compte (numéro M-Pesa), Date de validation, Validé par, Nombre d'élèves, Montant total ; cases à cocher ; bouton "Envoyer (n)" visible quand des lots sont sélectionnés</callout>`

1. Filtrez si nécessaire.
2. Cochez les lots à envoyer.
3. Cliquez sur **Envoyer (n)** (n = nombre de lots sélectionnés). Les paiements sont soumis en temps réel à l'API Vodacom M-Pesa. Chaque paiement individuel (un par élève) est initié séparément, permettant un suivi granulaire.

ℹ️ **Note sur la sécurité M-Pesa :** L'envoi M-Pesa ne nécessite pas de code OTP, contrairement à Equity. La sécurisation repose ici sur la stricte séparation des rôles (génération, validation et envoi peuvent être attribués à des personnes différentes) et sur la traçabilité exhaustive de chaque action dans le journal d'activités.

---

### 9.4.4 Étape 4 — Suivi des paiements M-Pesa

#### Accéder à l'écran de suivi

Menu latéral → **Paiements → M-Pesa → Suivi**.

`<callout class="info">📸 <strong>Capture d'écran à insérer :</strong> Page suivi M-Pesa : zone de filtres (Recherche par référence ou numéro de compte, Statut global — liste déroulante, Dates Du/Au, Réinitialiser), tableau "Suivi des paiements M-Pesa" avec colonnes Référence du lot, Tuteur / Compte (numéro M-Pesa partiel), Date d'envoi, Montant total, et 4 compteurs : Total paiements / Payé (vert) / En cours (bleu) / Échoué ou Annulé (rouge) ; bouton "Voir les détails" par lot</callout>`

#### Comprendre les compteurs par lot

Chaque lot M-Pesa contient un paiement individuel pour chaque élève rattachée au tuteur. Les quatre compteurs détaillent l'état en temps réel :

<table id="bkmrk-compteur-couleur-sig"><thead><tr><th>Compteur</th><th>Couleur</th><th>Signification</th></tr></thead><tbody><tr><td>**Total paiements**</td><td>Bleu</td><td>Nombre total de paiements dans le lot (un par élève)</td></tr><tr><td>**Payé**</td><td>Vert</td><td>Paiements reçus et confirmés par Vodacom M-Pesa</td></tr><tr><td>**En cours**</td><td>Orange</td><td>Paiements soumis, confirmation pas encore reçue de Vodacom</td></tr><tr><td>**Échoué / Annulé**</td><td>Rouge</td><td>Paiements échoués (numéro incorrect, compte inexistant, solde insuffisant) ou annulés manuellement</td></tr></tbody></table>

#### Consulter le détail d'un lot

Cliquez sur **Voir les détails** pour ouvrir la fenêtre modale de détail :

`<callout class="info">📸 <strong>Capture d'écran à insérer :</strong> Fenêtre modale "Détails du lot M-Pesa" : bloc résumé en haut (Tuteur : nom, Compte : numéro, Montant total, 4 compteurs Payé/En cours/Échoué/Total), séparateur, tableau des paiements individuels avec colonnes : Référence système, Référence Vodacom (ID de la transaction côté prestataire), UID de l'élève, Nom de l'élève, Montant, Statut (badge coloré : Payé/En cours/Échoué/Annulé), Date de paiement</callout>`

Cette vue granulaire permet à l'administrateur de :  
\- Vérifier qu'une élève spécifique a bien été payée (recherche par UID ou nom)  
\- Identifier les paiements échoués et leur motif (compte inexistant, numéro incorrect) pour correction  
\- Préparer les justificatifs individuels pour un audit ou une réclamation d'une bénéficiaire

---

# A.9.9.5 — Bonnes pratiques et points de vigilance — Paiements

## 9.5 Bonnes pratiques et points de vigilance — Paiements

**Vérifier les conditions d'éligibilité avant la génération.** Si une école ou un tuteur attendu n'apparaît pas dans la liste de génération, vérifiez méthodiquement : (1) validation pour paiement active, (2) compte bancaire ou M-Pesa correctement renseigné et coché « choisi pour paiement », (3) élèves validées pour paiement pour la tranche concernée, (4) tranche correctement configurée dans les Paramètres de l'année scolaire.

**Respecter la séparation des rôles.** Cette séparation n'est pas une contrainte administrative — c'est un contrôle interne fondamental contre la fraude et les erreurs. Une seule personne ne doit jamais être en mesure de générer ET valider ET envoyer un paiement.

**Commenter systématiquement les lots générés.** Un commentaire précis (tranche, zone géographique, date) facilite considérablement le suivi, le reporting et les investigations ultérieures. Il est visible dans tous les écrans du cycle et dans les exports.

**Ne jamais supprimer un fichier Equity H2H déjà envoyé.** Une fois un fichier déposé sur le SFTP Equity Bank, sa suppression côté plateforme ne l'annule pas côté banque. Tout problème sur un fichier déjà en cours de traitement doit être géré en coordination avec l'équipe technique IT GROUP et directement avec Equity Bank.

**Surveiller quotidiennement les statuts de suivi pendant les périodes de paiement.** Des paiements Equity en statut « Envoyé » depuis plus de 48h sans évolution vers « Reçu » ou « Traité » méritent une investigation. Des paiements M-Pesa « En cours » depuis plus de 24h peuvent indiquer un problème de callback API. Dans les deux cas, contactez l'équipe IT GROUP avec la référence du fichier ou du lot concerné.

**Documenter tous les rejets.** La raison de rejet saisie est enregistrée dans le journal d'activités. Des rejets répétés sur les mêmes écoles ou tuteurs signalent un problème structurel (compte bancaire systématiquement erroné, numéro M-Pesa invalide) qui doit être corrigé à la source dans les fiches correspondantes.

---

---

# A.10 — Rapports

Chapitre A.10 du Manuel PIGBF

# A.10.10.1 — Vue d'ensemble du module Rapports

## 10.1 Vue d'ensemble du module Rapports

Le module **Rapports** permet de générer, à la demande, des exports de données structurés et personnalisables couvrant les trois entités centrales de la PIGBF : les **écoles**, les **élèves** et les **tuteurs**. Ces exports servent à produire des tableaux de bord pour le pilotage du programme, à alimenter les rapports de redevabilité transmis aux bailleurs de fonds, à appuyer les audits internes et externes, et à répondre aux demandes ad hoc de la coordination PAAF.

Le fonctionnement du module repose sur un **moteur de génération asynchrone** : lorsqu'un rapport est demandé, la plateforme transmet la configuration (colonnes sélectionnées, filtres, paramètres) à l'application `api-pigbf`, qui traite la requête en arrière-plan. Le fichier généré — au format Excel (.xlsx) — est ensuite envoyé par **email** à l'utilisateur connecté à l'adresse enregistrée dans son compte. L'utilisateur peut également consulter et re-télécharger ses rapports passés depuis la section **Mes Rapports**.

`<callout class="info">📸 <strong>Capture d'écran à insérer :</strong> Page d'accueil du module Rapports : menu latéral avec les 4 entrées "Rapport des écoles", "Rapport des élèves", "Rapport des tuteurs", "Mes rapports" ; bandeau supérieur indiquant l'année scolaire active</callout>`

ℹ️ **Note :** La génération d'un rapport peut prendre de quelques secondes à plusieurs minutes selon la taille du jeu de données et le nombre de colonnes sélectionnées. Le rapport arrive par email ; inutile de rester sur la page une fois la demande soumise.

🔒 **Restreint :** L'accès à chaque type de rapport est conditionné par une permission spécifique (`generer rapport des ecoles`, `generer rapport des élèves`, `generer rapport des tuteurs`). Un utilisateur qui ne dispose pas de la permission correspondante ne verra pas l'entrée de menu associée.

---

# A.10.10.2 — Rapport des écoles

## 10.2 Rapport des écoles

### 10.2.1 Accéder au rapport des écoles

Menu latéral → **Rapports → Rapport des écoles**.

`<callout class="info">📸 <strong>Capture d'écran à insérer :</strong> Page "Rapport des écoles" : interface divisée en trois zones verticales — (1) zone "Filtres géographiques et pédagogiques" en haut avec les sélecteurs cascadés Province / Proved / Sous-Proved / École / Section / Classe / Option, (2) zone "Filtres complémentaires" avec les cases à cocher, (3) zone "Colonnes à inclure" avec la liste des colonnes disponibles à gauche et les colonnes sélectionnées avec leur ordre à droite ; boutons "Tout sélectionner", "Réinitialiser" et "Générer le rapport" en bas</callout>`

### 10.2.2 Configurer les filtres géographiques et pédagogiques

Le rapport des écoles s'appuie sur une **hiérarchie de filtres cascadés** qui s'affinent progressivement. Chaque sélection restreint automatiquement les options du niveau suivant :

1. **Province** — Sélectionnez une ou plusieurs provinces. La liste est restreinte au périmètre géographique autorisé pour votre ONG (si applicable).
2. **Proved** — Se met à jour automatiquement selon la ou les provinces sélectionnées.
3. **Sous-Proved** — Se met à jour selon les Proveds sélectionnés.
4. **École** — Liste les écoles rattachées aux Sous-Proveds sélectionnés.
5. **Section** — Filtre par section pédagogique (Primaire, Secondaire, etc.).
6. **Classe** — Filtre par niveau de classe (1ère, 2ème, etc.).
7. **Option** — Filtre par option (Pédagogie générale, Commerce, Électronique, etc.). Se met à jour selon les sections sélectionnées.

⚠️ **Attention :** Un filtre géographique (Province au minimum) est **obligatoire** pour pouvoir soumettre le rapport. Si aucune province n'est sélectionnée, le bouton **Générer le rapport** reste inactif et un message d'avertissement s'affiche.

`<callout class="info">📸 <strong>Capture d'écran à insérer :</strong> Zone filtres géographiques en mode saisie : Province "Kasaï" cochée, liste Proved chargée dynamiquement, Sous-Proved "Tshikapa 1" sélectionné, champ École en cours de sélection multiple avec recherche intégrée (Select2) ; indication "Sélection obligatoire" en rouge sous le champ Province si vide</callout>`

### 10.2.3 Configurer les filtres complémentaires

Quatre filtres booléens (cases à cocher) permettent de restreindre davantage le périmètre :

<table id="bkmrk-filtre-description-a"><thead><tr><th>Filtre</th><th>Description</th></tr></thead><tbody><tr><td>**Avec numéro SECOPE**</td><td>N'inclut que les écoles dont le numéro SECOPE est renseigné dans la fiche</td></tr><tr><td>**Avec arrêté ministériel**</td><td>N'inclut que les écoles ayant un numéro d'arrêté ministériel enregistré</td></tr><tr><td>**Ayant reçu la première tranche**</td><td>Filtre les écoles ayant effectivement perçu la 1ère tranche de paiement Equity pour l'année en cours</td></tr><tr><td>**Ayant reçu la deuxième tranche**</td><td>Filtre les écoles ayant effectivement perçu la 2ème tranche de paiement Equity pour l'année en cours</td></tr></tbody></table>

`<callout class="info">📸 <strong>Capture d'écran à insérer :</strong> Zone filtres complémentaires : 4 cases à cocher alignées horizontalement, avec leurs libellés ; "Ayant reçu la première tranche" coché, les autres non cochés</callout>`

### 10.2.4 Sélectionner et ordonner les colonnes

La zone **Colonnes à inclure** permet de composer librement la structure du fichier Excel généré. Les colonnes disponibles sont :

<table id="bkmrk-identifiant-libell%C3%A9-"><thead><tr><th>Identifiant</th><th>Libellé dans le rapport</th></tr></thead><tbody><tr><td>`nom_ecole`</td><td>Nom de l'école</td></tr><tr><td>`numero_secope`</td><td>Numéro SECOPE</td></tr><tr><td>`numero_arrete_min`</td><td>Numéro de l'arrêté ministériel</td></tr><tr><td>`date_numero_arrete_min`</td><td>Date de signature de l'arrêté ministériel</td></tr><tr><td>`code_ecole`</td><td>Code de l'école (code interne PIGBF)</td></tr><tr><td>`nb_enseignant_h`</td><td>Nombre d'enseignants hommes</td></tr><tr><td>`nb_enseignant_f`</td><td>Nombre d'enseignantes femmes</td></tr><tr><td>`nb_enseignant_h_mec`</td><td>Nombre d'enseignants hommes mécanisés</td></tr><tr><td>`nb_enseignant_f_mec`</td><td>Nombre d'enseignantes femmes mécanisées</td></tr><tr><td>`province`</td><td>Province</td></tr><tr><td>`proved`</td><td>Proved</td></tr><tr><td>`sproved`</td><td>Sous-Proved</td></tr><tr><td>`secteur_id`</td><td>Secteur</td></tr><tr><td>`groupement_id`</td><td>Groupement</td></tr><tr><td>`village`</td><td>Village</td></tr><tr><td>`latitude`</td><td>Latitude GPS</td></tr><tr><td>`longitude`</td><td>Longitude GPS</td></tr><tr><td>`noms_prefet`</td><td>Nom du préfet</td></tr><tr><td>`genre_prefet`</td><td>Genre du préfet</td></tr><tr><td>`numero_phone_prefet`</td><td>Numéro de téléphone du préfet</td></tr><tr><td>`nb_beneficiaire_ecole`</td><td>Nombre total de bénéficiaires dans l'école</td></tr><tr><td>`compte_paiement_type`</td><td>Type de compte de paiement (M-Pesa, Equity, etc.)</td></tr><tr><td>`compte_paiement`</td><td>Numéro du compte de paiement</td></tr><tr><td>`montant_premiere_tranche`</td><td>Montant reçu pour la 1ère tranche</td></tr><tr><td>`montant_deuxieme_tranche`</td><td>Montant reçu pour la 2ème tranche</td></tr><tr><td>`nb_eleve_abandon`</td><td>Nombre de bénéficiaires ayant abandonné l'école</td></tr><tr><td>`total_frais_scolaires`</td><td>Total des frais scolaires enregistrés</td></tr><tr><td>`total_minerval`</td><td>Total du minerval</td></tr><tr><td>`total_ipp`</td><td>Total de l'IPP</td></tr><tr><td>`total_bulletin`</td><td>Total du bulletin</td></tr></tbody></table>

**Pour sélectionner des colonnes :**

1. Dans la liste de gauche, cliquez sur une colonne pour l'ajouter à votre sélection. Elle apparaît dans la liste de droite.
2. Pour ajouter toutes les colonnes en une seule opération, cliquez sur **Tout sélectionner**.
3. Pour retirer une colonne déjà sélectionnée, cliquez sur l'icône **✕** à droite de son libellé dans la liste de sélection.
4. Pour modifier l'**ordre des colonnes** dans le fichier Excel, utilisez les flèches **▲** (monter) et **▼** (descendre) à côté de chaque colonne sélectionnée. L'ordre affiché correspond à l'ordre des colonnes dans le fichier généré.

`<callout class="info">📸 <strong>Capture d'écran à insérer :</strong> Zone "Colonnes à inclure" : liste gauche avec toutes les colonnes disponibles (scrollable) ; liste droite affichant 5 colonnes sélectionnées ("Nom de l'école", "Province", "Sous-Proved", "Numéro SECOPE", "Nombre total de bénéficiaires") avec flèches de réordonnancement ▲▼ et bouton ✕ par ligne ; compteur "5 colonnes sélectionnées" en haut de la liste de droite</callout>`

### 10.2.5 Générer le rapport

1. Vérifiez que vos filtres et colonnes sont configurés correctement.
2. Cliquez sur **Générer le rapport**.
3. Une fenêtre modale de confirmation s'affiche avec le message : *« Votre rapport est en cours de génération. Vous recevrez un email avec le lien de téléchargement une fois qu'il sera prêt. »*
4. Cliquez sur **Fermer**. La page est réinitialisée automatiquement.

`<callout class="info">📸 <strong>Capture d'écran à insérer :</strong> Fenêtre modale de confirmation après soumission : icône de succès (coche verte), message de confirmation, bouton "Fermer"</callout>`

ℹ️ **Note :** Si une erreur de communication avec le serveur `api-pigbf` survient, un message d'erreur s'affiche dans la même modale : *« Une erreur est survenue lors de la génération du rapport. Veuillez réessayer plus tard. »* Dans ce cas, contactez l'équipe IT GROUP.

---

# A.10.10.3 — Rapport des élèves

## 10.3 Rapport des élèves

### 10.3.1 Accéder au rapport des élèves

Menu latéral → **Rapports → Rapport des élèves**.

`<callout class="info">📸 <strong>Capture d'écran à insérer :</strong> Page "Rapport des élèves" : même structure 3 zones que le rapport écoles, avec les filtres géographiques Province/Proved/Sous-Proved/Section/Classe/Option, les filtres complémentaires spécifiques aux élèves, et la zone de sélection de colonnes</callout>`

### 10.3.2 Filtres complémentaires disponibles pour les élèves

<table id="bkmrk-filtre-description-a"><thead><tr><th>Filtre</th><th>Description</th></tr></thead><tbody><tr><td>**Avec numéro SERNIE**</td><td>Élèves dont le numéro SERNIE est renseigné</td></tr><tr><td>**Situation handicap**</td><td>Filtre selon la situation de handicap (toutes / avec handicap / sans handicap)</td></tr><tr><td>**Situation étude**</td><td>Filtre selon le statut de scolarité (en cours / a abandonné)</td></tr><tr><td>**Ayant reçu la première tranche**</td><td>Élèves/tuteurs ayant perçu la 1ère tranche de subvention M-Pesa</td></tr><tr><td>**Ayant reçu la deuxième tranche**</td><td>Élèves/tuteurs ayant perçu la 2ème tranche de subvention M-Pesa</td></tr></tbody></table>

`<callout class="info">📸 <strong>Capture d'écran à insérer :</strong> Zone filtres complémentaires élèves : liste déroulante "Situation handicap" ouverte avec options "Toutes", "Avec handicap", "Sans handicap" ; case à cocher "Avec numéro SERNIE" cochée</callout>`

### 10.3.3 Colonnes disponibles pour le rapport des élèves

Le rapport des élèves offre le jeu de colonnes le plus riche de la plateforme, couvrant l'identité, le parcours scolaire, les données socio-économiques, les résultats, les frais et les informations de paiement :

<table id="bkmrk-identifiant-libell%C3%A9-"><thead><tr><th>Identifiant</th><th>Libellé dans le rapport</th></tr></thead><tbody><tr><td>`nom_eleve`</td><td>Nom de l'élève</td></tr><tr><td>`postnom_eleve`</td><td>Postnom de l'élève</td></tr><tr><td>`prenom_eleve`</td><td>Prénom de l'élève</td></tr><tr><td>`genre_eleve`</td><td>Genre de l'élève</td></tr><tr><td>`situation_parentale`</td><td>Situation parentale</td></tr><tr><td>`age_eleve`</td><td>Âge de l'élève</td></tr><tr><td>`noms_tuteur`</td><td>Noms du tuteur (nom, postnom, prénom)</td></tr><tr><td>`statut_migratoire`</td><td>Statut migratoire de l'élève</td></tr><tr><td>`lien_tuteur`</td><td>Lien de parenté entre l'élève et le tuteur</td></tr><tr><td>`code`</td><td>Code de l'élève (code interne PIGBF)</td></tr><tr><td>`numero_sernie`</td><td>Numéro SERNIE</td></tr><tr><td>`uid`</td><td>Identifiant unique (UID) de l'élève</td></tr><tr><td>`lieu_naissance`</td><td>Lieu de naissance</td></tr><tr><td>`date_naissance`</td><td>Date de naissance</td></tr><tr><td>`email`</td><td>Adresse e-mail de l'élève</td></tr><tr><td>`phone_call`</td><td>Numéro de téléphone (appel)</td></tr><tr><td>`phone_whatsapp`</td><td>Numéro WhatsApp</td></tr><tr><td>`has_handicap`</td><td>Situation de handicap (Oui / Non)</td></tr><tr><td>`handicap_besoin`</td><td>Nature du besoin lié au handicap</td></tr><tr><td>`code_ecole`</td><td>Code de l'école</td></tr><tr><td>`nom_ecole`</td><td>Nom de l'école</td></tr><tr><td>`section_eleve`</td><td>Section de l'élève</td></tr><tr><td>`classe_eleve`</td><td>Classe de l'élève</td></tr><tr><td>`option_eleve`</td><td>Option de l'élève</td></tr><tr><td>`frais_scolaires`</td><td>Frais scolaires</td></tr><tr><td>`minerval`</td><td>Minerval</td></tr><tr><td>`ipp`</td><td>IPP</td></tr><tr><td>`bulletin`</td><td>Bulletin</td></tr><tr><td>`moyenne_s1`</td><td>Moyenne du 1er semestre</td></tr><tr><td>`moyenne_s2`</td><td>Moyenne du 2ème semestre</td></tr><tr><td>`moyenne_presence_s1`</td><td>Régularité (taux de présence) S1</td></tr><tr><td>`moyenne_presence`</td><td>Régularité (taux de présence) S2</td></tr><tr><td>`distance_ecole_maison`</td><td>Distance domicile–école</td></tr><tr><td>`nb_enfants_foyer`</td><td>Nombre d'enfants au foyer</td></tr><tr><td>`abandon_ecole`</td><td>A abandonné l'école (Oui / Non)</td></tr><tr><td>`annee_abandon_ecole`</td><td>Année de l'abandon</td></tr><tr><td>`raison_abandon_ecole`</td><td>Raison de l'abandon</td></tr><tr><td>`province`</td><td>Province</td></tr><tr><td>`proved`</td><td>Proved</td></tr><tr><td>`sproved`</td><td>Sous-Proved</td></tr></tbody></table>

`<callout class="info">📸 <strong>Capture d'écran à insérer :</strong> Zone colonnes du rapport élèves : liste complète des colonnes disponibles affichée à gauche (scrollable sur ~35 entrées) ; exemple de sélection côté droit avec une dizaine de colonnes ordonnées : "Nom", "Postnom", "Prénom", "UID", "Classe", "Option", "Moyenne S1", "Moyenne S2", "Régularité S1", "École"</callout>`

---

# A.10.10.4 — Rapport des tuteurs

## 10.4 Rapport des tuteurs

### 10.4.1 Accéder au rapport des tuteurs

Menu latéral → **Rapports → Rapport des tuteurs**.

`<callout class="info">📸 <strong>Capture d'écran à insérer :</strong> Page "Rapport des tuteurs" : même structure que les rapports précédents, avec filtres géographiques et zone colonnes</callout>`

### 10.4.2 Colonnes disponibles pour le rapport des tuteurs

<table id="bkmrk-identifiant-libell%C3%A9-"><thead><tr><th>Identifiant</th><th>Libellé dans le rapport</th></tr></thead><tbody><tr><td>`nom`</td><td>Nom du tuteur</td></tr><tr><td>`postnom`</td><td>Postnom</td></tr><tr><td>`prenom`</td><td>Prénom</td></tr><tr><td>`code`</td><td>Code du tuteur (code interne PIGBF)</td></tr><tr><td>`uid`</td><td>Identifiant unique (UID) du tuteur</td></tr><tr><td>`niveau_etude_id`</td><td>Niveau d'études</td></tr><tr><td>`profession_id`</td><td>Profession</td></tr><tr><td>`genre_id`</td><td>Genre</td></tr><tr><td>`email`</td><td>Adresse e-mail</td></tr><tr><td>`phone_call`</td><td>Numéro de téléphone (appel)</td></tr><tr><td>`phone_whatsapp`</td><td>Numéro WhatsApp</td></tr><tr><td>`nb_enfants_foyer`</td><td>Nombre d'enfants au foyer</td></tr><tr><td>`nb_enfants_ecole`</td><td>Nombre d'enfants à l'école</td></tr><tr><td>`province`</td><td>Province</td></tr><tr><td>`proved`</td><td>Proved</td></tr><tr><td>`sproved`</td><td>Sous-Proved</td></tr><tr><td>`has_handicap`</td><td>Situation de handicap du tuteur</td></tr><tr><td>`has_handicap_besoin`</td><td>Nature du besoin lié au handicap</td></tr><tr><td>`nom_representant`</td><td>Nom du représentant du tuteur</td></tr><tr><td>`lien_representant`</td><td>Lien entre le représentant et le tuteur</td></tr><tr><td>`phone_call_representant`</td><td>Téléphone du représentant</td></tr><tr><td>`compte_paiement_type`</td><td>Type de compte de paiement (M-Pesa, Equity…)</td></tr><tr><td>`compte_paiement`</td><td>Numéro du compte de paiement</td></tr><tr><td>`montant_premiere_tranche`</td><td>Montant reçu pour la 1ère tranche</td></tr><tr><td>`montant_deuxieme_tranche`</td><td>Montant reçu pour la 2ème tranche</td></tr></tbody></table>

### 10.4.3 Filtres complémentaires disponibles pour les tuteurs

<table id="bkmrk-filtre-description-a"><thead><tr><th>Filtre</th><th>Description</th></tr></thead><tbody><tr><td>**Ayant reçu la première tranche**</td><td>Tuteurs ayant perçu la 1ère tranche de subvention</td></tr><tr><td>**Ayant reçu la deuxième tranche**</td><td>Tuteurs ayant perçu la 2ème tranche de subvention</td></tr><tr><td>**Situation handicap**</td><td>Filtre selon la situation de handicap du tuteur</td></tr><tr><td>**Avec compte de paiement**</td><td>Tuteurs ayant un compte M-Pesa ou Equity renseigné</td></tr></tbody></table>

`<callout class="info">📸 <strong>Capture d'écran à insérer :</strong> Page rapport tuteurs avec filtres complémentaires visibles et zone colonnes : exemple de 6 colonnes sélectionnées "Nom", "Postnom", "Prénom", "Téléphone", "Sous-Proved", "Compte paiement"</callout>`

---

# A.10.10.5 — Mes Rapports

## 10.5 Mes Rapports

### 10.5.1 Présentation

La section **Mes Rapports** liste l'historique de tous les rapports demandés par l'utilisateur connecté, quel que soit leur type (écoles, élèves, tuteurs). Elle permet de suivre le statut de traitement de chaque rapport et de re-télécharger un fichier déjà généré.

Menu latéral → **Rapports → Mes Rapports**.

`<callout class="info">📸 <strong>Capture d'écran à insérer :</strong> Page "Mes Rapports" : tableau paginé (15 entrées/page) avec colonnes : N° (ID), Type de rapport, Statut (badge coloré), Colonnes sélectionnées (nombre), Demandé le (date/heure), Fichier disponible depuis (date/heure ou tiret), Actions (boutons "Télécharger" ou "Relancer") ; 3 lignes d'exemple — une ligne "Complété" en vert avec bouton "Télécharger", une ligne "En cours" en orange avec spinner, une ligne "Échoué" en rouge avec bouton "Relancer"</callout>`

### 10.5.2 Statuts possibles d'un rapport

<table id="bkmrk-statut-couleur-signi"><thead><tr><th>Statut</th><th>Couleur</th><th>Signification</th></tr></thead><tbody><tr><td>**En attente**</td><td>Gris</td><td>La demande a été reçue mais le traitement n'a pas encore démarré</td></tr><tr><td>**En cours**</td><td>Orange</td><td>Le rapport est en cours de génération dans `api-pigbf`</td></tr><tr><td>**Complété**</td><td>Vert</td><td>Le fichier est prêt — email envoyé, téléchargement disponible</td></tr><tr><td>**Échoué**</td><td>Rouge</td><td>Une erreur est survenue lors de la génération</td></tr></tbody></table>

### 10.5.3 Télécharger un rapport complété

1. Repérez la ligne du rapport dont le statut est **Complété**.
2. Cliquez sur **Télécharger**.
3. La plateforme interroge `api-pigbf` pour obtenir l'URL sécurisée du fichier. Vous êtes redirigé automatiquement vers le téléchargement.

`<callout class="info">📸 <strong>Capture d'écran à insérer :</strong> Ligne "Complété" dans le tableau Mes Rapports avec le bouton "Télécharger" actif en vert ; modale de confirmation affichée au survol indiquant la taille du fichier et la date de génération</callout>`

ℹ️ **Note :** Les URLs de téléchargement sont générées à la demande et ont une durée de vie limitée. Si le lien reçu par email est expiré, utilisez le bouton **Télécharger** dans **Mes Rapports** pour obtenir un nouveau lien valide.

### 10.5.4 Relancer un rapport échoué

Si un rapport affiche le statut **Échoué** :

1. Cliquez sur **Relancer**.
2. La plateforme transmet à nouveau la même configuration à `api-pigbf`.
3. Une modale de confirmation s'affiche : *« Le rapport a été relancé. Vous recevrez un email avec le lien de téléchargement une fois qu'il sera prêt. »*

`<callout class="info">📸 <strong>Capture d'écran à insérer :</strong> Modale de confirmation après relance : icône de rechargement, message de confirmation, bouton "Fermer"</callout>`

⚠️ **Attention :** Si un rapport échoue à plusieurs reprises, contactez l'équipe IT GROUP en indiquant l'identifiant du rapport (visible dans la colonne N° du tableau).

---

# A.10.10.6 — Bonnes pratiques — Rapports

## 10.6 Bonnes pratiques — Rapports

**Privilégier les filtres géographiques précis.** Plus le périmètre filtré est large (toutes les provinces, sans filtre de Sous-Proved), plus le temps de génération est long et la taille du fichier importante. Pour des rapports opérationnels rapides, filtrez au niveau Sous-Proved ou école.

**Soigner l'ordre des colonnes.** L'ordre dans lequel les colonnes sont arrangées dans l'interface est l'ordre exact dans le fichier Excel. Préparez cette configuration avant de soumettre pour éviter une relance inutile.

**Consulter Mes Rapports avant de relancer.** Si vous n'avez pas reçu l'email après 10 minutes, vérifiez d'abord le statut dans **Mes Rapports** — le rapport est peut-être toujours en cours de traitement.

**Vérifier l'adresse email du compte.** Les rapports sont envoyés à l'adresse enregistrée dans votre profil. Si vous ne recevez rien, vérifiez votre dossier spam et confirmez que votre adresse est correcte dans **Mon Profil** (menu utilisateur en haut à droite).

---

# A.11 — Gestion des utilisateurs et acteurs

Chapitre A.11 du Manuel PIGBF

# A.11.11.1 — Vue d'ensemble

## 11.1 Vue d'ensemble

La gestion des utilisateurs est l'une des responsabilités les plus sensibles de l'Administrateur Plateforme. Elle conditionne directement qui peut accéder à quoi dans la PIGBF. Ce module permet de :

- **Créer** de nouveaux comptes utilisateurs et leur attribuer un rôle
- **Modifier** les informations et le rôle d'un utilisateur existant
- **Suspendre ou réactiver** un compte
- **Rattacher** un utilisateur à un acteur (entité organisationnelle) et/ou une ONG
- **Gérer les années scolaires** accessibles à chaque utilisateur
- **Consulter** la liste des enquêteurs terrain ODK

La liste des utilisateurs est accessible via Menu latéral → **Utilisateurs**.

`<callout class="info">📸 <strong>Capture d'écran à insérer :</strong> Page liste des utilisateurs : tableau avec colonnes Avatar, Nom, Email, Rôle (badge coloré selon le rôle), Acteur, ONG, Statut (Actif/Suspendu badge), Actions (icônes Voir / Modifier / Suspendre-Réactiver) ; barre de recherche en haut ; bouton "Nouvel utilisateur" en haut à droite ; pagination en bas</callout>`

---

# A.11.11.2 — Les acteurs

## 11.2 Les acteurs

### 11.2.1 Définition

Un **acteur** est l'entité organisationnelle à laquelle un utilisateur est rattaché. Il détermine le contexte institutionnel de l'utilisateur sur la plateforme. Les acteurs principaux du programme PAAF/PIGBF sont :

<table id="bkmrk-acteur-description-i"><thead><tr><th>Acteur</th><th>Description</th></tr></thead><tbody><tr><td>**IT GROUP**</td><td>Équipe technique développant et maintenant la plateforme</td></tr><tr><td>**ONG partenaire**</td><td>Organisation non gouvernementale opérationnelle sur le terrain</td></tr><tr><td>**PROVED**</td><td>Provincial de l'Éducation — entité de supervision provinciale</td></tr><tr><td>**Sous-PROVED**</td><td>Sous-Provincial de l'Éducation — entité de supervision locale</td></tr><tr><td>**PAAF**</td><td>Coordination centrale du programme</td></tr></tbody></table>

ℹ️ **Note :** Le champ **Acteur** dans le formulaire utilisateur est distinct du champ **ONG**. Un utilisateur rattaché à une ONG doit avoir l'acteur « ONG partenaire » **et** un ONG sélectionné dans le champ dédié. Ces deux champs combinés définissent précisément son périmètre d'accès.

`<callout class="info">📸 <strong>Capture d'écran à insérer :</strong> Section acteur dans le formulaire utilisateur : liste déroulante "Acteur" avec les options listées ; champ "ONG" qui apparaît conditionnellement lorsque l'acteur "ONG partenaire" est sélectionné, avec liste déroulante des ONG actives</callout>`

---

# A.11.11.3 — Créer un nouvel utilisateur

## 11.3 Créer un nouvel utilisateur

### 11.3.1 Accéder au formulaire de création

Menu latéral → **Utilisateurs → Nouvel utilisateur** (bouton en haut à droite de la liste).

`<callout class="info">📸 <strong>Capture d'écran à insérer :</strong> Page "Créer un utilisateur" : formulaire avec sections bien délimitées — "Informations personnelles" (Nom complet, Email, Mot de passe, Confirmer le mot de passe avec icônes œil pour afficher/masquer), "Accès et rôle" (Rôle, Acteur, ONG — conditionnel, Années scolaires accessibles — liste à cocher), "Options" (Statut actif/inactif, case à cocher "Envoyer les identifiants par email"), "Avatar" (zone upload d'image)</callout>`

### 11.3.2 Renseigner les informations du formulaire

**Section « Informations personnelles »**

1. **Nom complet** — Prénom et nom de l'utilisateur. Ce nom sera affiché dans l'interface et dans les journaux d'activité.
2. **Email** — Adresse email de connexion. Elle doit être unique sur la plateforme. C'est également l'adresse à laquelle seront envoyés les rapports et les notifications.
3. **Mot de passe** — Définissez un mot de passe fort (minimum 8 caractères, combinant lettres, chiffres et caractères spéciaux). Cliquez sur l'icône 👁 pour afficher/masquer le mot de passe en clair.
4. **Confirmer le mot de passe** — Ressaisissez le mot de passe pour validation.

`<callout class="info">📸 <strong>Capture d'écran à insérer :</strong> Section "Informations personnelles" du formulaire : champs Nom, Email, Mot de passe (masqué avec icône œil), Confirmer mot de passe ; indicateur de force du mot de passe visible sous le champ</callout>`

**Section « Accès et rôle »**

5. **Rôle** — Sélectionnez le rôle à attribuer. Seuls les rôles que vous êtes autorisé à attribuer sont visibles (un Admin ne peut pas créer de Super Admin).

`<callout class="info">📸 <strong>Capture d'écran à insérer :</strong> Champ déroulant "Rôle" ouvert : liste des 7 rôles disponibles avec une courte description de chaque rôle au survol</callout>`

6. **Acteur** — Sélectionnez l'entité organisationnelle de rattachement parmi les acteurs disponibles.
7. **ONG** — Ce champ apparaît uniquement si l'acteur sélectionné est « ONG partenaire ». Sélectionnez l'ONG dans la liste. Ceci restreint automatiquement le périmètre de données accessible à cet utilisateur à l'ONG concernée.
8. **Années scolaires accessibles** — Cochez les années scolaires auxquelles cet utilisateur aura accès. Un utilisateur sans aucune année cochée ne pourra pas accéder aux données et sera redirigé vers une page d'information.

`<callout class="info">📸 <strong>Capture d'écran à insérer :</strong> Section "Années scolaires accessibles" : liste de toutes les années scolaires créées sur la plateforme (ex : 2023-2024, 2024-2025, 2025-2026) avec cases à cocher ; 2025-2026 cochée, les autres non</callout>`

**Section « Options »**

9. **Statut** — Par défaut, le compte est créé actif. Décochez si vous souhaitez créer un compte en attente d'activation.
10. **Envoyer les identifiants par email** — Si cette case est cochée, la plateforme envoie automatiquement un email à l'utilisateur contenant ses identifiants de connexion (email + mot de passe) dès la validation du formulaire.

**Section « Avatar »**

11. Cliquez sur la zone d'upload pour sélectionner une photo de profil (formats acceptés : JPG, PNG, max 4 Mo). L'avatar est optionnel mais recommandé pour faciliter l'identification dans les journaux d'activité.

`<callout class="info">📸 <strong>Capture d'écran à insérer :</strong> Section Avatar : zone de drop d'image avec aperçu circulaire de la photo uploadée ; bouton "Supprimer" visible si une image est chargée</callout>`

### 11.3.3 Enregistrer l'utilisateur

1. Vérifiez l'ensemble des informations saisies.
2. Cliquez sur **Enregistrer**.
3. En cas d'erreur de validation (email déjà utilisé, mot de passe trop faible, rôle non sélectionné), les champs concernés sont mis en évidence avec un message d'erreur explicite.
4. En cas de succès, vous êtes redirigé vers la **fiche de l'utilisateur** créé.

`<callout class="info">📸 <strong>Capture d'écran à insérer :</strong> Page fiche utilisateur après création : bloc récapitulatif avec avatar, nom, email, rôle, acteur, ONG, statut actif, années scolaires accessibles ; bandeau de succès vert "Utilisateur créé avec succès" en haut de page</callout>`

---

# A.11.11.4 — Modifier un utilisateur existant

## 11.4 Modifier un utilisateur existant

### 11.4.1 Accéder à la modification

1. Dans la liste des utilisateurs, cliquez sur l'icône **Modifier** (crayon) sur la ligne de l'utilisateur concerné.
2. Ou naviguez vers la fiche utilisateur (icône Voir) puis cliquez sur **Modifier**.

`<callout class="info">📸 <strong>Capture d'écran à insérer :</strong> Ligne d'un utilisateur dans le tableau avec les 3 icônes d'action visibles : œil (Voir), crayon (Modifier), cadenas (Suspendre)</callout>`

Le formulaire de modification est identique au formulaire de création, prérempli avec les données existantes.

⚠️ **Attention :** La modification du **rôle** d'un utilisateur prend effet immédiatement. Si l'utilisateur est connecté au moment de la modification, ses accès seront mis à jour à sa prochaine action sur la plateforme.

⚠️ **Attention :** Le champ **Mot de passe** est optionnel en modification. Laissez-le vide pour conserver le mot de passe existant. Si vous le renseignez, le nouveau mot de passe remplace immédiatement l'ancien.

---

# A.11.11.5 — Consulter la fiche d'un utilisateur

## 11.5 Consulter la fiche d'un utilisateur

La fiche utilisateur consolide toutes les informations relatives à un compte en un seul écran.

`<callout class="info">📸 <strong>Capture d'écran à insérer :</strong> Page fiche utilisateur complète : (1) bloc identité en haut avec avatar, nom complet, email, statut badge (Actif), date de création du compte ; (2) section "Accès" : rôle, acteur, ONG, liste des années scolaires accessibles ; (3) section "Activité récente" : 5 dernières actions enregistrées dans le journal (action, module, date/heure) ; boutons "Modifier" et "Suspendre" en haut à droite</callout>`

---

# A.11.11.6 — Suspendre et réactiver un compte utilisateur

## 11.6 Suspendre et réactiver un compte utilisateur

### 11.6.1 Suspendre un compte

La suspension d'un compte **bloque immédiatement l'accès** à la plateforme pour l'utilisateur concerné, sans supprimer ses données ni son historique d'activité.

1. Dans la liste des utilisateurs ou dans la fiche utilisateur, cliquez sur l'icône **Suspendre** (cadenas).
2. Une fenêtre modale de confirmation s'affiche :

`<callout class="info">📸 <strong>Capture d'écran à insérer :</strong> Modale de suspension : titre "Suspendre le compte de [Nom de l'utilisateur</callout>", message d'avertissement "Cette action bloquera immédiatement l'accès de cet utilisateur à la plateforme. Son historique et ses données sont conservés. Vous pourrez réactiver son compte à tout moment.", boutons "Annuler" et "Suspendre le compte" (rouge)]`

3. Cliquez sur **Suspendre le compte** pour confirmer. Le badge de statut de l'utilisateur passe à **Suspendu** (rouge).

ℹ️ **Note :** Un utilisateur suspendu qui tente de se connecter voit s'afficher une page d'information lui indiquant que son compte est inactif et l'invitant à contacter l'administrateur.

### 11.6.2 Réactiver un compte

1. Repérez l'utilisateur suspendu dans la liste (filtrez sur le statut « Suspendu » si nécessaire).
2. Cliquez sur l'icône **Réactiver** (cadenas ouvert ou icône dédiée).
3. Une fenêtre modale de confirmation s'affiche :

`<callout class="info">📸 <strong>Capture d'écran à insérer :</strong> Modale de réactivation : titre "Réactiver le compte de [Nom</callout>", message "Cet utilisateur retrouvera immédiatement l'accès à la plateforme avec les droits associés à son rôle.", boutons "Annuler" et "Réactiver" (vert)]`

4. Cliquez sur **Réactiver**. Le badge repasse à **Actif** (vert).

---

# A.11.11.7 — Gestion des enquêteurs terrain

## 11.7 Gestion des enquêteurs terrain

### 11.7.1 Présentation

Les enquêteurs terrain sont un type particulier d'utilisateur de la PIGBF. Contrairement aux autres rôles, **ils n'ont aucun accès à l'interface web** : ils opèrent exclusivement via l'application mobile **ODK Collect** sur tablette. Leurs comptes sont des comptes ODK Central gérés depuis la PIGBF.

Menu latéral → **Enquêteurs**.

`<callout class="info">📸 <strong>Capture d'écran à insérer :</strong> Page liste des enquêteurs : tableau avec colonnes Nom, Email ODK, ONG de rattachement, Formulaires assignés (liste des formulaires ODK accessibles), Statut ODK (Actif/Inactif), Date de création, Actions (Voir / Modifier) ; bouton "Nouvel enquêteur" en haut à droite</callout>`

### 11.7.2 Consulter la fiche d'un enquêteur

Cliquez sur l'icône **Voir** sur la ligne d'un enquêteur pour accéder à sa fiche détaillée.

`<callout class="info">📸 <strong>Capture d'écran à insérer :</strong> Fiche enquêteur : nom et email ODK, ONG de rattachement, liste des formulaires ODK assignés avec leur code, QR code ODK de configuration de la tablette (à scanner lors de l'initialisation d'une nouvelle tablette), dernière synchronisation ODK (date/heure), statistiques de collecte (nombre de soumissions par formulaire)</callout>`

ℹ️ **Note :** Le QR code affiché sur la fiche enquêteur encode les paramètres de connexion ODK Central spécifiques à cet enquêteur. C'est ce QR code qui doit être scanné depuis l'application ODK Collect lors de la configuration initiale d'une tablette, ou lors du remplacement d'une tablette. Ne le partagez pas par voie non sécurisée.

---

# A.11.11.8 — Bonnes pratiques — Gestion des utilisateurs

## 11.8 Bonnes pratiques — Gestion des utilisateurs

**Appliquer le principe du moindre privilège.** Attribuez toujours le rôle le moins étendu qui permette à l'utilisateur d'accomplir ses tâches. Évitez de créer des comptes Admin génériques partagés entre plusieurs personnes.

**Ne jamais supprimer un compte.** La plateforme ne permet pas la suppression définitive d'un compte utilisateur (le bouton destroy n'est pas exposé). Utilisez la suspension. Cela préserve l'intégrité du journal d'activité et permet de retracer les actions passées en cas d'audit.

**Revoir régulièrement les accès actifs.** À chaque changement de personnel dans les équipes terrain ou de coordination, vérifiez et mettez à jour les comptes correspondants (suspension des départs, création des arrivées, mise à jour des rôles en cas de changement de poste).

**Documenter les raisons des suspensions.** Même si la plateforme ne dispose pas d'un champ commentaire sur la suspension, notez en interne la raison et la date de la décision, notamment pour les comptes d'agents terrain.

---

# A.12 — Rôles et permissions

Chapitre A.12 du Manuel PIGBF

# A.12.12.1 — Vue d'ensemble du module

## 12.1 Vue d'ensemble du module

Le module **Rôles et permissions** permet à l'Administrateur Plateforme de visualiser, créer, modifier et supprimer des rôles personnalisés, et de gérer finement les permissions associées à chacun.

La PIGBF utilise le moteur de gestion des rôles et permissions **Spatie Laravel Permission**. Chaque action possible sur la plateforme (consulter une liste, créer un enregistrement, valider une donnée ODK, générer un rapport…) est représentée par une **permission nommée**. Les rôles sont des **regroupements de permissions** que l'on attribue ensuite aux utilisateurs.

Menu latéral → **Paramètres → Rôles et permissions**.

`<callout class="info">📸 <strong>Capture d'écran à insérer :</strong> Page "Rôles et permissions" : grille de cartes (3 colonnes) affichant les rôles existants — chaque carte montre le nom du rôle, le nombre de permissions associées, le nombre d'utilisateurs ayant ce rôle, et des boutons "Voir les permissions", "Modifier", "Supprimer" ; barre de recherche de rôle en haut ; bouton "Créer un rôle" en haut à droite</callout>`

---

# A.12.12.2 — Les 7 rôles de la plateforme

## 12.2 Les 7 rôles de la plateforme

Les rôles suivants sont préconfigurés et constituent la base du contrôle d'accès de la PIGBF. Ils ne peuvent pas être supprimés (hormis les rôles personnalisés créés ultérieurement) :

<table id="bkmrk-r%C3%B4le-p%C3%A9rim%C3%A8tre-peut-"><thead><tr><th>Rôle</th><th>Périmètre</th><th>Peut être créé par</th></tr></thead><tbody><tr><td>**Super Admin**</td><td>Accès total, tous programmes, toutes ONG. Configure les paramètres système critiques. Seul à pouvoir créer d'autres Super Admins.</td><td>Super Admin uniquement</td></tr><tr><td>**Admin**</td><td>Administration générale sur le périmètre assigné. Accès à quasi tous les modules sauf paramétrage système réservé Super Admin.</td><td>Super Admin</td></tr><tr><td>**Admin PAAF**</td><td>Supervision programme côté coordination PAAF. Accès aux données consolidées, paiements, rapports tous axes.</td><td>Super Admin / Admin</td></tr><tr><td>**Admin ONG**</td><td>Gestion des opérations de **son ONG uniquement**. Validation ODK, suivi écoles/élèves/tuteurs dans son périmètre.</td><td>Super Admin / Admin</td></tr><tr><td>**Validateur paiement PAAF**</td><td>Rôle autonome : validation et envoi des instructions Equity et M-Pesa. Aucun accès aux données bénéficiaires.</td><td>Super Admin / Admin</td></tr><tr><td>**Admin IT ONG**</td><td>Profil technique ONG : gestion des enquêteurs, validation ODK, support collecte.</td><td>Super Admin / Admin / Admin ONG</td></tr><tr><td>**Lecture seule**</td><td>Consultation sans modification. Profil audit, supervision externe, bailleurs.</td><td>Super Admin / Admin</td></tr></tbody></table>

`<callout class="info">📸 <strong>Capture d'écran à insérer :</strong> Carte du rôle "Admin ONG" dans la grille : nom du rôle, badge "ONG" indiquant le cloisonnement, "47 permissions associées", "12 utilisateurs", boutons d'action visibles</callout>`

---

# A.12.12.3 — Visualiser les permissions d'un rôle

## 12.3 Visualiser les permissions d'un rôle

1. Sur la carte d'un rôle, cliquez sur **Voir les permissions**.
2. Une fenêtre modale s'ouvre listant toutes les permissions assignées à ce rôle, regroupées par module :

`<callout class="info">📸 <strong>Capture d'écran à insérer :</strong> Modale "Permissions du rôle Admin ONG" : liste organisée par catégories (ex : "Écoles" — consulter écoles, modifier écoles, valider école ODK ; "Élèves" — consulter élèves, modifier élèves, valider élève ODK ; "Paiements" — consulter paiements ; "Rapports" — générer rapport écoles, générer rapport élèves, générer rapport tuteurs…) ; chaque permission est listée avec une puce verte ✓ ; compteur total en bas ; bouton "Fermer"</callout>`

---

# A.12.12.4 — Créer un rôle personnalisé

## 12.4 Créer un rôle personnalisé

Il est possible de créer des rôles supplémentaires pour répondre à des besoins organisationnels spécifiques non couverts par les 7 rôles préconfigurés.

1. Cliquez sur **Créer un rôle**.
2. Une fenêtre modale s'ouvre :

`<callout class="info">📸 <strong>Capture d'écran à insérer :</strong> Modale "Créer un rôle" : champ "Nom du rôle" (texte libre, minimum 3 caractères) ; zone de sélection des permissions divisée en deux colonnes — colonne gauche "Permissions disponibles" avec barre de recherche et liste scrollable, colonne droite "Permissions sélectionnées" ; boutons "Tout sélectionner", "Tout désélectionner" ; boutons "Annuler" et "Enregistrer"</callout>`

3. Saisissez un **nom de rôle** explicite (minimum 3 caractères).
4. Sélectionnez les permissions à attribuer :  
     - Utilisez la barre de recherche pour filtrer rapidement les permissions par mot-clé (ex : « paiement », « écoles », « ODK »).  
     - Cliquez sur une permission pour la basculer dans la colonne « Sélectionnées ».  
     - Utilisez **Tout sélectionner** pour activer toutes les permissions d'un coup (à utiliser avec précaution).
5. Cliquez sur **Enregistrer**. Le nouveau rôle apparaît dans la grille et est immédiatement disponible dans le formulaire de création/modification d'utilisateurs.

`<callout class="info">📸 <strong>Capture d'écran à insérer :</strong> Zone de recherche de permissions dans la modale création rôle : terme "rapport" saisi dans la barre, liste filtrée affichant uniquement "generer rapport des ecoles", "generer rapport des élèves", "generer rapport des tuteurs" avec cases à cocher</callout>`

---

# A.12.12.5 — Modifier un rôle existant

## 12.5 Modifier un rôle existant

1. Sur la carte du rôle, cliquez sur **Modifier**.
2. La même modale que la création s'ouvre, préremplie avec le nom et les permissions actuelles.
3. Modifiez le nom et/ou les permissions.
4. Cliquez sur **Enregistrer**.

⚠️ **Attention :** La modification des permissions d'un rôle **prend effet immédiatement** pour tous les utilisateurs ayant ce rôle, y compris ceux actuellement connectés. Toute permission retirée est immédiatement révoquée. Procédez à ces modifications en dehors des heures d'utilisation intensive si possible.

---

# A.12.12.6 — Supprimer un rôle personnalisé

## 12.6 Supprimer un rôle personnalisé

🔒 **Restreint :** Les 7 rôles préconfigurés ne peuvent pas être supprimés. Seuls les rôles personnalisés créés par les administrateurs sont supprimables.

1. Sur la carte du rôle à supprimer, cliquez sur **Supprimer**.
2. Une fenêtre modale de confirmation s'affiche indiquant le nombre d'utilisateurs actuellement affectés à ce rôle.

`<callout class="info">📸 <strong>Capture d'écran à insérer :</strong> Modale de confirmation suppression rôle : titre "Supprimer le rôle [Nom</callout>", avertissement "Ce rôle est actuellement attribué à 3 utilisateur(s). Ces utilisateurs perdront ce rôle et n'auront plus accès aux fonctionnalités correspondantes. Cette action est irréversible.", boutons "Annuler" et "Supprimer définitivement" (rouge)]`

3. Cliquez sur **Supprimer définitivement**. Le rôle est retiré de la plateforme et retiré automatiquement de tous les utilisateurs qui le possédaient.

⚠️ **Attention :** Cette action est irréversible. Les utilisateurs qui ne possédaient que ce rôle n'auront plus aucun accès à la plateforme jusqu'à ce qu'un nouvel rôle leur soit attribué.

---

# A.13 — Paramètres généraux

Chapitre A.13 du Manuel PIGBF

# A.13.13.1 — Vue d'ensemble

## 13.1 Vue d'ensemble

Le module **Paramètres généraux** regroupe tous les référentiels métier de la plateforme : les listes de valeurs utilisées dans les formulaires de création d'écoles, d'élèves, de tuteurs et dans les formulaires ODK terrain. Maintenir ces référentiels à jour est essentiel pour garantir la cohérence des données collectées.

Menu latéral → **Paramètres → Général**.

`<callout class="info">📸 <strong>Capture d'écran à insérer :</strong> Page "Paramètres généraux" : page divisée en sections accordéon ou en onglets, chaque section représentant un référentiel (Provinces, Proveds, Sous-Proveds, Classes, Sections, Options, Genres, Territoires, etc.) ; chaque section est réduite par défaut et s'expand au clic ; compteur d'entrées visible sur chaque section fermée</callout>`

Les référentiels disponibles sont regroupés en trois grandes catégories :

**Référentiels géographiques**  
\- Provinces · Proveds · Sous-Proveds · Territoires · Secteurs · Groupements · Villages

**Référentiels pédagogiques**  
\- Classes · Sections · Options · Niveaux d'études · Périodes · Semestres · Régularités

**Référentiels socio-administratifs**  
\- Genres · Situations parentales · Statuts migratoires · Professions · Liens tuteurs-élèves · Liens tuteurs-représentants · Distances domicile-école · Motifs d'abandon scolaire · Types de documents · Modes de paiement · Banques · Devises

---

# A.13.13.2 — Fonctionnement général des référentiels

## 13.2 Fonctionnement général des référentiels

Chaque référentiel fonctionne selon le même modèle CRUD (Créer, Lire, Modifier, Supprimer) :

`<callout class="info">📸 <strong>Capture d'écran à insérer :</strong> Section "Classes" développée dans les paramètres généraux : tableau listant les classes (6ème Primaire, 1ère Secondaire, 2ème Secondaire…) avec colonnes Nom, Numéro d'ordre (utilisé pour le tri), Actions (Modifier / Supprimer) ; bouton "Ajouter une classe" ; champ de recherche rapide</callout>`

**Ajouter une entrée**

1. Cliquez sur le bouton **Ajouter \[nom du référentiel\]** dans la section concernée.
2. Un formulaire inline ou une modale s'ouvre selon le référentiel.
3. Saisissez les informations requises.
4. Cliquez sur **Enregistrer**.

**Modifier une entrée**

1. Cliquez sur l'icône **Modifier** (crayon) sur la ligne concernée.
2. Modifiez les informations dans le formulaire qui s'ouvre.
3. Cliquez sur **Enregistrer**.

**Supprimer une entrée**

1. Cliquez sur l'icône **Supprimer** (corbeille) sur la ligne concernée.
2. Une confirmation est demandée.

⚠️ **Attention :** La suppression d'une entrée de référentiel peut être bloquée si des enregistrements y font référence (par exemple, supprimer une classe utilisée par des élèves est impossible). Dans ce cas, un message d'erreur explicite s'affiche.

---

# A.13.13.3 — Référentiels géographiques

## 13.3 Référentiels géographiques

### 13.3.1 Provinces

Les provinces constituent le premier niveau de la hiérarchie géographique. Elles sont la base de filtrage dans les rapports, les listes d'écoles et les périmètres des ONG.

`<callout class="info">📸 <strong>Capture d'écran à insérer :</strong> Section Provinces : tableau avec 2 colonnes (Nom de la province, Actions) ; entrées exemple : "Kasaï", "Kasaï Central" ; bouton "Ajouter une province"</callout>`

### 13.3.2 Proveds (Provinciales de l'Éducation)

Chaque Proved est rattachée à une **Province**. Le formulaire d'ajout inclut un sélecteur de province parente.

`<callout class="info">📸 <strong>Capture d'écran à insérer :</strong> Formulaire d'ajout d'un Proved (modale) : champ "Nom du Proved", liste déroulante "Province parente" ; boutons Annuler / Enregistrer</callout>`

### 13.3.3 Sous-Proveds

Chaque Sous-Proved est rattaché à un **Proved**. Le formulaire inclut un sélecteur de Proved parent.

`<callout class="info">📸 <strong>Capture d'écran à insérer :</strong> Section Sous-Proveds : tableau avec colonnes Nom, Proved parent, Province (déduit), Actions ; exemple "Tshikapa 1 — Proved Kasaï — Kasaï"</callout>`

### 13.3.4 Territoires, Secteurs, Groupements, Villages

Ces quatre référentiels forment la hiérarchie administrative locale, complémentaire de la hiérarchie éducative (Province → Proved → Sous-Proved). Ils sont utilisés pour la localisation précise des écoles.

`<callout class="info">📸 <strong>Capture d'écran à insérer :</strong> Section Territoires développée : tableau Territoire / Province parente ; section Secteurs en dessous (réduite) avec compteur "23 secteurs" ; section Groupements (réduite) avec compteur "87 groupements" ; section Villages (réduite)</callout>`

---

# A.13.13.4 — Référentiels pédagogiques

## 13.4 Référentiels pédagogiques

### 13.4.1 Classes

Les classes sont ordonnées par un **numéro d'ordre** qui détermine leur affichage dans les listes et les graphiques du tableau de bord.

`<callout class="info">📸 <strong>Capture d'écran à insérer :</strong> Section Classes : tableau avec colonnes Nom (ex : "6ème Primaire", "1ère Secondaire"…), N° d'ordre (chiffre de 1 à N), Actions ; les lignes sont affichées dans l'ordre du numéro ; bouton "Ajouter une classe"</callout>`

### 13.4.2 Sections

Les sections (ex : Primaire, Humanités générales, Techniques commerciales, Techniques industrielles…) sont utilisées pour catégoriser les établissements et les parcours des élèves.

### 13.4.3 Options

Chaque option est rattachée à une **section**. Le formulaire inclut un sélecteur de section parente.

`<callout class="info">📸 <strong>Capture d'écran à insérer :</strong> Section Options : tableau avec colonnes Nom de l'option, Section parente, Actions ; exemples "Pédagogie générale — Humanités pédagogiques", "Commerce — Techniques commerciales", "Électronique — Techniques industrielles"</callout>`

### 13.4.4 Périodes et Semestres

Ces référentiels définissent les périodes d'évaluation utilisées lors de la collecte des notes et présences via ODK.

`<callout class="info">📸 <strong>Capture d'écran à insérer :</strong> Section Périodes : tableau avec colonnes Nom (ex : "Semestre 1 — 1ère période", "Semestre 1 — 2ème période"…), Semestre parent, Ordre ; section Semestres adjacente avec "Semestre 1", "Semestre 2"</callout>`

### 13.4.5 Régularités

Les régularités sont les tranches de taux de présence utilisées pour qualifier l'assiduité des élèves (ex : « Régulière ≥ 80% », « Irrégulière &lt; 80% »).

---

# A.13.13.5 — Référentiels socio-administratifs

## 13.5 Référentiels socio-administratifs

### 13.5.1 Genres

Permet de définir les libellés des genres utilisés dans les formulaires (ex : Masculin, Féminin, Non précisé).

### 13.5.2 Situations parentales

Valeurs utilisées pour décrire la situation familiale d'une élève (ex : Vit avec les deux parents, Orpheline de père, Orpheline de mère, Orpheline des deux parents, Enfant de rue, etc.).

### 13.5.3 Statuts migratoires

Catégorisent les élèves selon leur situation de déplacement (ex : Déplacée interne, Réfugiée, Résidente, Retournée).

`<callout class="info">📸 <strong>Capture d'écran à insérer :</strong> Section Statuts migratoires : 4 entrées listées avec leurs libellés et les compteurs d'élèves associés à chaque statut (données contextuelles affichées)</callout>`

### 13.5.4 Liens tuteurs-élèves et tuteurs-représentants

Ces deux référentiels définissent les relations de parenté ou de tutelle entre :  
\- Un tuteur et une élève bénéficiaire (ex : Mère, Père, Oncle, Grand-mère, Tuteur légal non apparenté…)  
\- Un tuteur et son représentant légal (personne qui le représente pour la réception des paiements si le tuteur est absent ou dans l'incapacité)

### 13.5.5 Distances domicile-école

Tranches de distance utilisées pour qualifier l'éloignement entre le domicile et l'établissement scolaire (ex : Moins de 1 km, 1 à 3 km, Plus de 3 km).

### 13.5.6 Motifs d'abandon scolaire

Liste des raisons pouvant expliquer l'abandon de la scolarité par une bénéficiaire (ex : Mariage précoce, Grossesse, Contraintes économiques, Déplacement, Décès, Maladie…).

`<callout class="info">📸 <strong>Capture d'écran à insérer :</strong> Section Motifs d'abandon : tableau avec libellés des motifs et compteur de cas enregistrés par motif sur l'année en cours</callout>`

### 13.5.7 Types de documents

Définit les types de documents pouvant être attachés aux fiches écoles et élèves (ex : Arrêté d'agrément, Fiche de bourse tranche 1, Fiche de bourse tranche 2, Bulletin scolaire, Acte de naissance…). Chaque type de document a un identifiant interne utilisé par les filtres et le module paiements.

### 13.5.8 Modes de paiement, Banques et Devises

- **Modes de paiement** : liste des canaux de paiement acceptés (Equity BCDC, Vodacom M-Pesa, Espèces…)
- **Banques** : liste des établissements bancaires de référence
- **Devises** : devises acceptées sur la plateforme (ex : Franc Congolais — CDF, Dollar américain — USD)

---

# A.14 — Années scolaires

Chapitre A.14 du Manuel PIGBF

# A.14.14.1 — Vue d'ensemble

## 14.1 Vue d'ensemble

La **gestion des années scolaires** est l'un des modules de paramétrage les plus importants de la PIGBF. L'**année scolaire active** est la notion centrale qui filtre l'ensemble des données affichées sur la plateforme : listes d'écoles, d'élèves, de tuteurs, validations ODK, paiements, rapports — tout est contextualisé par rapport à l'année scolaire en cours.

Menu latéral → **Paramètres → Années scolaires**.

`<callout class="info">📸 <strong>Capture d'écran à insérer :</strong> Page "Années scolaires" : section supérieure "Année scolaire active" avec la fiche de configuration de l'année en cours (libellé ex : 2025-2026, statut Ouverte/Clôturée, paramètres de bourse) ; section inférieure "Toutes les années scolaires" avec tableau listant toutes les années créées, leur statut et un bouton "Définir comme active" par ligne</callout>`

---

# A.14.14.2 — Créer une nouvelle année scolaire

## 14.2 Créer une nouvelle année scolaire

1. Cliquez sur le bouton **Ajouter une année scolaire**.
2. Une fenêtre modale s'ouvre avec un champ **Libellé** (format requis : `AAAA-AAAA`, ex : `2026-2027`). La plateforme vérifie que les deux années sont consécutives.
3. Cliquez sur **Enregistrer**.

`<callout class="info">📸 <strong>Capture d'écran à insérer :</strong> Modale d'ajout d'année scolaire : champ texte avec placeholder "Ex : 2026-2027", message de format AAAA-AAAA sous le champ, boutons Annuler / Enregistrer ; message d'erreur rouge visible si le format est incorrect ("L'année scolaire doit être consécutive")</callout>`

ℹ️ **Note :** La création d'une nouvelle année ne la définit pas automatiquement comme active. Il faut ensuite la configurer (paramètres de bourse, tranches) et la définir manuellement comme année par défaut.

---

# A.14.14.3 — Configurer les paramètres financiers de l'année scolaire

## 14.3 Configurer les paramètres financiers de l'année scolaire

Chaque année scolaire possède une **configuration de bourse** qui détermine les montants alloués et la structure des tranches de paiement.

`<callout class="info">📸 <strong>Capture d'écran à insérer :</strong> Section "Configuration de la bourse" pour l'année active : champs "Montant par élève versé à l'école (CDF)", "Subvention élève/tuteur (CDF)" (calculée automatiquement), "Montant total par bénéficiaire (CDF)" (somme des deux), "Montant total programme (optionnel)" ; bouton "Enregistrer"</callout>`

### 14.3.1 Montants de la bourse

<table id="bkmrk-champ-description-mo"><thead><tr><th>Champ</th><th>Description</th></tr></thead><tbody><tr><td>**Montant école (CDF)**</td><td>Montant versé directement à l'école par élève via Equity BCDC — couvre les frais scolaires</td></tr><tr><td>**Subvention élève/tuteur (CDF)**</td><td>Montant versé au tuteur ou à l'élève via M-Pesa — subvention directe</td></tr><tr><td>**Montant total par bénéficiaire**</td><td>Calculé automatiquement : montant école + subvention élève/tuteur</td></tr><tr><td>**Montant total programme**</td><td>Optionnel — montant global du programme pour l'année (à des fins de reporting)</td></tr></tbody></table>

### 14.3.2 Gérer les types de frais scolaires

Les types de frais définissent les catégories de dépenses scolaires collectées lors de la phase terrain (ex : Minerval, IPP, Bulletin, Tenues, Sport…).

1. Dans la section **Types de frais**, cliquez sur **Ajouter un type de frais**.
2. Saisissez le libellé du type de frais.
3. Cliquez sur **Enregistrer**.

`<callout class="info">📸 <strong>Capture d'écran à insérer :</strong> Section "Types de frais" dans la configuration de l'année : liste des types existants (Minerval, IPP, Bulletin, Tenues…) avec boutons Modifier / Supprimer par entrée ; formulaire inline d'ajout avec champ "Nom" et bouton "Ajouter"</callout>`

---

# A.14.14.4 — Gérer les tranches de paiement

## 14.4 Gérer les tranches de paiement

Les tranches de paiement définissent le calendrier de versement et la répartition des montants entre les différentes échéances du programme.

`<callout class="info">📸 <strong>Capture d'écran à insérer :</strong> Section "Tranches de paiement" : tableau avec colonnes Nom de la tranche, Bénéficiaire (École ou Élève/Tuteur), Pourcentage (pour Equity) ou Montant (pour M-Pesa), Montant calculé en CDF, Statut (Active/Non active) ; bouton "Ajouter une tranche" ; deux indicateurs en bas de tableau : "Total pourcentages Equity : 100%" (vert si correct, rouge sinon) et "Total montants M-Pesa : X CDF"</callout>`

### 14.4.1 Ajouter une tranche de paiement

1. Cliquez sur **Ajouter une tranche**.
2. Renseignez les champs :

`<callout class="info">📸 <strong>Capture d'écran à insérer :</strong> Modale ou formulaire inline d'ajout de tranche : champ "Nom de la tranche" (ex : "Tranche 1 — Équity"), liste déroulante "Bénéficiaire" (École / Élève-Tuteur), champ "Pourcentage" (pour Equity — ex : 50%) ou "Montant (CDF)" (pour M-Pesa — ex : 25 000), case à cocher "Active"</callout>`

<table id="bkmrk-champ-description-no"><thead><tr><th>Champ</th><th>Description</th></tr></thead><tbody><tr><td>**Nom de la tranche**</td><td>Libellé libre (ex : « Tranche 1 Equity », « Tranche 2 M-Pesa »)</td></tr><tr><td>**Bénéficiaire**</td><td>École (circuit Equity) ou Élève/Tuteur (circuit M-Pesa)</td></tr><tr><td>**Pourcentage / Montant**</td><td>Pour Equity : % du montant école. Pour M-Pesa : montant fixe en CDF</td></tr><tr><td>**Active**</td><td>Une tranche inactive n'est pas proposée lors de la génération des instructions de paiement</td></tr></tbody></table>

⚠️ **Attention :** La somme des pourcentages des tranches Equity doit être **égale à 100%**. La plateforme affiche un indicateur coloré (vert/rouge) pour vous alerter si la répartition est incorrecte. Une répartition incorrecte bloquera la génération des instructions Equity.

### 14.4.2 Modifier ou supprimer une tranche

- Cliquez sur **Modifier** sur la ligne de la tranche pour éditer ses paramètres.
- Cliquez sur **Supprimer** pour supprimer une tranche.

⚠️ **Attention :** La suppression d'une tranche est bloquée si des instructions de paiement ont déjà été générées sur cette tranche. Dans ce cas, désactivez la tranche plutôt que de la supprimer.

---

# A.14.14.5 — Définir l'année scolaire active

## 14.5 Définir l'année scolaire active

La **sélection de l'année scolaire active** (ou « par défaut ») détermine l'année qui s'affiche par défaut lors de la connexion de chaque utilisateur. Les utilisateurs peuvent basculer manuellement vers une autre année dans le sélecteur d'année scolaire en haut de l'interface, à condition d'y avoir accès dans leur profil.

1. Dans le tableau **Toutes les années scolaires**, repérez l'année à activer.
2. Cliquez sur **Définir comme active**.
3. Une confirmation est demandée.

`<callout class="info">📸 <strong>Capture d'écran à insérer :</strong> Tableau "Toutes les années scolaires" : 3 lignes (2023-2024 Clôturée, 2024-2025 Ouverte, 2025-2026 Ouverte avec badge "Active" jaune) ; bouton "Définir comme active" uniquement sur les lignes non actives ; bouton "Clôturer" sur les lignes ouvertes</callout>`

ℹ️ **Note :** Changer l'année active ne modifie pas les données — cela change uniquement l'année affichée par défaut au chargement de la plateforme pour tous les utilisateurs.

---

# A.14.14.6 — Clôturer une année scolaire

## 14.6 Clôturer une année scolaire

La **clôture d'une année scolaire** est une opération de fin de cycle qui verrouille définitivement toutes les données de l'année concernée. Une fois clôturée, aucune modification ne peut être apportée aux données de cette année.

1. Dans le tableau des années scolaires, cliquez sur **Clôturer** sur la ligne de l'année à clôturer.
2. Une fenêtre modale de confirmation très explicite s'affiche :

`<callout class="info">📸 <strong>Capture d'écran à insérer :</strong> Modale de clôture d'année scolaire : titre "Clôturer l'année scolaire 2024-2025", avertissement en rouge encadré "⚠️ Cette action est IRRÉVERSIBLE. Une fois l'année scolaire clôturée : toutes les données (écoles, élèves, tuteurs, paiements) de cette année seront verrouillées en lecture seule ; aucune modification, validation ou paiement ne pourra être effectué sur cette année ; l'année clôturée reste consultable mais pas modifiable.", champ de confirmation "Tapez 2024-2025 pour confirmer", boutons "Annuler" et "Clôturer l'année scolaire" (rouge, désactivé jusqu'à saisie correcte)</callout>`

3. Tapez le libellé exact de l'année (ex : `2024-2025`) dans le champ de confirmation.
4. Le bouton **Clôturer l'année scolaire** s'active.
5. Cliquez dessus pour finaliser.

⚠️ **Attention — Action irréversible.** La clôture d'une année scolaire est définitive et ne peut pas être annulée. Assurez-vous que tous les paiements de l'année ont été traités, tous les rapports générés, et toutes les données validées avant de procéder à la clôture. Consultez l'équipe de coordination PAAF avant toute clôture.

---

# A.14.14.7 — Le sélecteur d'année scolaire dans l'interface

## 14.7 Le sélecteur d'année scolaire dans l'interface

En dehors du module de paramétrage, le **sélecteur d'année scolaire** est accessible depuis la barre de navigation supérieure de la plateforme. Il permet à chaque utilisateur de basculer entre les années auxquelles il a accès sans quitter la page en cours.

`<callout class="info">📸 <strong>Capture d'écran à insérer :</strong> Barre de navigation supérieure : sélecteur d'année scolaire visible sous forme de liste déroulante affichant "2025-2026 (Active)" avec les autres années accessibles listées dessous (2024-2025, 2023-2024 — Clôturée) ; indicateur visuel de l'année clôturée (grisée ou badge cadenas) ; l'année active est marquée d'une étoile ou d'un badge "Active"</callout>`

Lorsqu'un utilisateur change d'année scolaire via ce sélecteur, toutes les données affichées sur la plateforme (listes, statistiques du tableau de bord, validations ODK en attente, paiements) se mettent à jour automatiquement pour refléter l'année nouvellement sélectionnée.

---

# A.15 — Logs et journal d'activités

Chapitre A.15 du Manuel PIGBF

# A.15.15.1 — Vue d'ensemble

## 15.1 Vue d'ensemble

La PIGBF dispose d'un **journal d'activités complet** qui enregistre automatiquement toutes les actions significatives réalisées par les utilisateurs sur la plateforme. Ce journal est un outil d'auditabilité essentiel pour :

- **Tracer** qui a fait quoi, quand et sur quel enregistrement
- **Investiguer** les anomalies ou erreurs constatées dans les données
- **Répondre aux exigences d'audit** des bailleurs et de la coordination PAAF
- **Détecter** des comportements inhabituels (accès suspect, modifications massives non attendues)

Le module Logs se divise en **deux journaux distincts** :

<table id="bkmrk-journal-contenu-acc%C3%A8"><thead><tr><th>Journal</th><th>Contenu</th><th>Accès</th></tr></thead><tbody><tr><td>**Journal d'activités**</td><td>Toutes les actions sur les entités métier (création, modification, validation, suppression d'écoles, élèves, tuteurs, paiements…)</td><td>Menu → Logs</td></tr><tr><td>**Journal de collecte**</td><td>Historique détaillé des soumissions ODK traitées (formulaire, enquêteur, date de collecte, Sous-Proved, résultat de l'intégration)</td><td>Menu → Logs → Collecte</td></tr></tbody></table>

---

# A.15.15.2 — Journal d'activités

## 15.2 Journal d'activités

### 15.2.1 Accéder au journal

Menu latéral → **Logs**.

`<callout class="info">📸 <strong>Capture d'écran à insérer :</strong> Page "Journal d'activités" : zone de filtres en haut (Recherche par description, Module/Log name, Type d'événement, Utilisateur auteur, Date de — Date jusqu'au, Nb par page, bouton Réinitialiser les filtres) ; tableau principal avec colonnes : Utilisateur (avatar + nom), Action/Description, Module concerné, Événement (badge : created/updated/deleted/validated), Objet modifié (type + ID), Date et heure ; pagination en bas ; lien "Voir les détails" sur chaque ligne</callout>`

### 15.2.2 Comprendre les colonnes du journal

<table id="bkmrk-colonne-description-"><thead><tr><th>Colonne</th><th>Description</th></tr></thead><tbody><tr><td>**Utilisateur**</td><td>L'utilisateur qui a réalisé l'action (nom + avatar). Les actions système automatisées (jobs, scheduler) sont identifiées par « Système »</td></tr><tr><td>**Description**</td><td>Résumé lisible de l'action (ex : « École Lycée de la Paix créée », « Élève Furaha Mwamba validée pour paiement tranche 1 »)</td></tr><tr><td>**Module**</td><td>Nom du journal auquel appartient cet événement (ex : `ecoles`, `eleves`, `paiements`, `utilisateurs`, `settings`)</td></tr><tr><td>**Événement**</td><td>Type d'action : `created` (création), `updated` (modification), `deleted` (suppression), ou événements métier spécifiques (`validated`, `rejected`, `sent`…)</td></tr><tr><td>**Objet modifié**</td><td>Type et identifiant de l'enregistrement concerné (ex : `Ecole #147`, `Eleve #2304`)</td></tr><tr><td>**Date et heure**</td><td>Horodatage précis de l'action (format `JJ/MM/AAAA HH:MM:SS`)</td></tr></tbody></table>

`<callout class="info">📸 <strong>Capture d'écran à insérer :</strong> Tableau du journal avec 5 lignes d'exemple : ligne 1 "Jean Mutombo | École Lycée de la Paix créée | ecoles | created | Ecole #147 | 12/06/2026 09:14:22" ; ligne 2 "Marie Kalala | Élève Furaha Mwamba validée pour paiement tranche 1 | paiements | validated | Eleve #2304 | 12/06/2026 10:31:07" ; ligne 3 "Système | QR Code généré | eleves | updated | Eleve #2304 | 12/06/2026 10:31:10" ; badges colorés pour chaque type d'événement (created=vert, updated=bleu, deleted=rouge, validated=violet)</callout>`

### 15.2.3 Filtrer le journal

La zone de filtres en haut de page permet de cibler rapidement les événements pertinents :

1. **Recherche par description** — Saisissez un mot-clé (nom d'école, nom d'élève, action…) pour filtrer les lignes dont la description contient ce terme.
2. **Module (Log name)** — Sélectionnez un module dans la liste déroulante pour n'afficher que les événements de ce module (ex : n'afficher que les logs du module paiements).
3. **Type d'événement** — Filtrez par type : `created`, `updated`, `deleted`, ou événements métier.
4. **Utilisateur auteur** — Sélectionnez un utilisateur dans la liste pour voir uniquement ses actions.
5. **Plage de dates** — Définissez une période (Date de / Date jusqu'au) pour restreindre la recherche à un intervalle temporel.
6. **Nombre par page** — Choisissez le nombre de lignes à afficher (10, 25, 50, 100).

`<callout class="info">📸 <strong>Capture d'écran à insérer :</strong> Zone de filtres du journal avec des sélections actives : Module "paiements" sélectionné, Événement "validated", Date de 01/06/2026 au 12/06/2026 ; le tableau en dessous n'affiche que les validations de paiements sur cette période</callout>`

Pour réinitialiser tous les filtres simultanément, cliquez sur **Réinitialiser les filtres**.

### 15.2.4 Consulter le détail d'un événement

Cliquez sur le lien **Voir les détails** sur une ligne du journal pour ouvrir la fenêtre modale de détail :

`<callout class="info">📸 <strong>Capture d'écran à insérer :</strong> Modale "Détails de l'événement" : bloc supérieur (Utilisateur : nom + avatar, Date : horodatage exact, Module, Événement, Objet concerné : type + ID + lien vers la fiche si applicable) ; bloc "Données avant modification" (ancien état JSON formaté et coloré) ; bloc "Données après modification" (nouvel état JSON formaté et coloré, différences surlignées en vert/rouge) ; bouton "Fermer"</callout>`

Cette vue de détail est particulièrement utile pour :  
\- Identifier précisément **quel champ a été modifié** et quelle était la valeur précédente  
\- Vérifier qu'une modification erronée peut être corrigée manuellement  
\- Fournir des preuves documentées en cas de contestation ou d'audit

ℹ️ **Note :** L'état « avant » est vide pour les événements de type `created` (l'enregistrement n'existait pas). L'état « après » est vide pour les événements de type `deleted`.

---

# A.15.15.3 — Journal de collecte

## 15.3 Journal de collecte

### 15.3.1 Présentation

Le **journal de collecte** trace l'historique des soumissions ODK qui ont été traitées par `api-pigbf` et mises à disposition pour validation dans la PIGBF. Contrairement au journal d'activités qui enregistre les actions des utilisateurs web, le journal de collecte enregistre les **événements de collecte terrain**.

Menu latéral → **Logs → Collecte**.

`<callout class="info">📸 <strong>Capture d'écran à insérer :</strong> Page "Journal de collecte" : zone de filtres (Recherche par enquêteur, Form ID ou ID instance, Année scolaire, Sous-Proved, Date de collecte Du/Au, Nb par page, Réinitialiser) ; tableau principal avec colonnes : Enquêteur (label ODK), Formulaire (form_id), ID Instance ODK (identifiant unique de la soumission), Sous-Proved, Année scolaire, Date de collecte, Statut d'intégration (badge : Intégré / En attente / Rejeté) ; pagination</callout>`

### 15.3.2 Colonnes du journal de collecte

<table id="bkmrk-colonne-description-"><thead><tr><th>Colonne</th><th>Description</th></tr></thead><tbody><tr><td>**Enquêteur**</td><td>Identifiant (label) ODK de l'enquêteur qui a soumis le formulaire</td></tr><tr><td>**Formulaire**</td><td>Identifiant du formulaire ODK (form\_id : ex : `identification_eleves`, `frais_scolaires`…)</td></tr><tr><td>**ID Instance**</td><td>Identifiant unique de la soumission dans ODK Central (`form_instance_id`). Permet de retrouver la soumission exacte dans ODK Central en cas de litige</td></tr><tr><td>**Sous-Proved**</td><td>Sous-Proved du formulaire concerné (issu des métadonnées de la soumission)</td></tr><tr><td>**Année scolaire**</td><td>Année scolaire associée à cette collecte</td></tr><tr><td>**Date de collecte**</td><td>Date à laquelle les données ont été collectées sur le terrain (pas la date de synchronisation)</td></tr><tr><td>**Statut**</td><td>`Intégré` = données traitées et disponibles en validation ; `En attente` = données reçues, pas encore traitées ; `Rejeté` = données rejetées lors de la validation</td></tr></tbody></table>

`<callout class="info">📸 <strong>Capture d'écran à insérer :</strong> Tableau journal de collecte avec 6 lignes d'exemple : plusieurs soumissions de différents enquêteurs, différents formulaires (frais_scolaires, identification_eleves), statuts variés (Intégré en vert, En attente en orange) ; filtre "Sous-Proved : Tshikapa 1" actif visible dans la zone de filtres</callout>`

### 15.3.3 Filtrer le journal de collecte

1. **Recherche** — Filtrez par nom d'enquêteur, identifiant de formulaire ou identifiant d'instance ODK.
2. **Année scolaire** — Sélectionnez une année scolaire dans la liste déroulante.
3. **Sous-Proved** — Filtrez par Sous-Proved pour ne voir que les collectes d'une zone géographique précise.
4. **Plage de dates** — Définissez une période de collecte pour restreindre l'affichage.

`<callout class="info">📸 <strong>Capture d'écran à insérer :</strong> Zone de filtres du journal de collecte avec "Année scolaire : 2025-2026", "Sous-Proved : Kamonia" et dates "01/05/2026 au 31/05/2026" sélectionnés ; tableau filtré affichant uniquement les collectes correspondantes</callout>`

---

# A.15.15.4 — Bonnes pratiques — Logs et journal d'activités

## 15.4 Bonnes pratiques — Logs et journal d'activités

**Consulter le journal avant toute investigation sur une anomalie.** Avant de modifier manuellement une donnée qui semble incorrecte, consultez le journal pour comprendre la chronologie des modifications : qui a modifié le champ concerné, quand, et quelle était la valeur précédente.

**Utiliser les filtres de dates pour les audits périodiques.** Pour un audit mensuel, filtrez le journal sur le mois écoulé et exportez ou prenez des captures d'écran des actions sensibles (validations de paiements, modifications de montants, créations d'utilisateurs).

**Croiser journal d'activités et journal de collecte.** Lorsqu'une école ou un élève présente des données incohérentes, il peut être utile de vérifier dans le journal de collecte quelle soumission ODK est à l'origine de l'enregistrement, puis dans le journal d'activités si des modifications manuelles ont été apportées après intégration.

**Signaler immédiatement les événements suspects.** Toute action effectuée par un utilisateur dont le compte devrait être suspendu, ou tout volume inhabituel de suppressions ou modifications en masse, doit être signalé immédiatement à l'équipe IT GROUP (support@itgroup.cd) avec la référence de l'événement visible dans le journal.

**Conserver l'historique.** Les journaux ne sont pas purgés automatiquement. Leur conservation intégrale garantit la traçabilité complète sur toute la durée du programme. Ne jamais supprimer des entrées du journal, même en cas d'erreur.

---

*Fin du document — Sections A.1 à A.15*

*Session 6 à venir : Section B complète — Administrateur ONG / Admin IT ONG (chapitres B.1 à B.8)*

---

## Note de rédaction — Consignes pour la suite

> Les notes suivantes sont à conserver d'une session à l'autre pour garantir la cohérence du manuel.
> 
> **Densité et niveau de détail :** Chaque chapitre doit décrire toutes les zones de l'interface, toutes les colonnes des tableaux, tous les champs des formulaires et toutes les actions possibles. Ne pas résumer ce qui peut être détaillé.
> 
> **Screenshots :** Placer un `<callout class="info">📸 <strong>Capture d'écran à insérer :</strong> description</callout>` à chaque fois qu'un état d'interface, une modale, un formulaire, un résultat ou un comportement est décrit pour la première fois. Minimum 2–3 screenshots par sous-section fonctionnelle.
> 
> **Tableaux de référence :** Toutes les listes de colonnes, champs, statuts, permissions et types doivent être présentées en tableau pour faciliter la lecture.
> 
> **Alertes ⚠️ :** Systématiquement signaler les actions irréversibles, les effets de bord immédiats (modification de rôle, clôture d'année) et les règles métier bloquantes (somme 100% des tranches Equity, filtre Province obligatoire pour les rapports).
> 
> **Structure cohérente :** Chaque module suit le plan : Vue d'ensemble → Accès au module → Fonctionnalités détaillées étape par étape → Bonnes pratiques / Points de vigilance.

---