# 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é.

---