Protocole de validation
# Plan de test — RoleBase UdN v12
**Version** : 12.0 — **Date** : 21/05/2026
**Objectif** : Valider les fonctionnalités de la plateforme après chaque déploiement
---
## Comment utiliser ce plan
| Symbole | Signification |
|---|---|
| ✅ | Test passé |
| ❌ | Test échoué — bug à documenter |
| ⚠️ | Test partiel — comportement dégradé |
| — | Non testé |
Pour chaque test : remplir la colonne **Résultat**, **Commentaire** et **Bug** dans le fichier Excel associé.
---
## AUTH — Authentification
| N° | Action | Prérequis | Résultat attendu |
|---|---|---|---|
| AUTH-01 | Se connecter avec email/mot de passe valide | Compte existant | Redirection vers le tableau de bord de l'orga |
| AUTH-02 | Se connecter avec email/mot de passe invalide | Compte existant | Message d'erreur affiché, pas de redirection |
| AUTH-03 | Créer un nouveau compte | Email non utilisé | Compte créé, email de confirmation envoyé |
| AUTH-04 | Se déconnecter | Être connecté | Redirection vers la page de connexion |
---
## ORG — Organisation
| N° | Action | Prérequis | Résultat attendu |
|---|---|---|---|
| ORG-01 | Créer une nouvelle organisation | Être connecté | Organisation créée, redirection vers l'orga |
| ORG-02 | Modifier le nom et logo de l'orga | Être admin de l'orga | Modifications sauvegardées et visibles |
| ORG-03 | Modifier la couleur d'accent | Être admin de l'orga | Couleur appliquée sur l'interface |
| ORG-04 | Modifier le message de bienvenue | Être admin de l'orga | Message visible sur la page d'accueil |
| ORG-05 | Changer le mode de gouvernance (Libre/Agile/Holacratique) | Être admin | Permissions UI adaptées au mode choisi |
| ORG-06 | Passer en mode Holacratique → confirmation modale | Être admin | Modale de confirmation affichée, rôles structurels créés |
---
## ORG — Organigramme
| N° | Action | Prérequis | Résultat attendu |
|---|---|---|---|
| ORG-10 | Visualiser l'organigramme | Orga avec cercles | Cercles et rôles affichés correctement |
| ORG-11 | Cliquer sur un cercle → voir les sous-cercles | Cercle avec enfants | Sous-cercles affichés |
| ORG-12 | Filtrer par 'Mes rôles' | Être membre d'un rôle | Seuls mes rôles sont mis en surbrillance |
| ORG-13 | Distinction visuelle cercle (🫧 small-caps) vs rôle | Orga avec cercles et rôles | Cercles en small-caps, rôles normaux |
---
## ROLE — Rôles & Cercles
| N° | Action | Prérequis | Résultat attendu |
|---|---|---|---|
| ROLE-01 | Créer un nouveau rôle dans un cercle | Être admin/leader | Rôle créé et visible dans l'organigramme |
| ROLE-02 | Modifier la raison d'être d'un rôle | Être admin/leader | Modification sauvegardée |
| ROLE-03 | Ajouter des redevabilités à un rôle | Être admin/leader | Redevabilités sauvegardées et affichées |
| ROLE-04 | Ajouter des règles communes à un rôle | Être admin/leader | Règles sauvegardées |
| ROLE-05 | Assigner un membre à un rôle | Être admin/leader + membre existant | Membre assigné, visible dans l'organigramme |
| ROLE-06 | Retirer un membre d'un rôle (bouton UserMinus) | Membre assigné | Membre retiré du rôle |
| ROLE-07 | Archiver un rôle | Être admin/leader | Rôle archivé et non visible |
| ROLE-08 | Créer un cercle (sous-groupe) | Être admin/leader | Cercle créé avec rôles structurels |
---
## MBR — Membres
| N° | Action | Prérequis | Résultat attendu |
|---|---|---|---|
| MBR-01 | Inviter un nouveau membre par email | Être admin | Email d'invitation envoyé |
| MBR-02 | Ajouter un membre sans email | Être admin | Membre créé sans compte utilisateur |
| MBR-03 | Voir la liste des membres | Être connecté | Liste complète des membres affichée |
---
## TENS — Tensions
| N° | Action | Prérequis | Résultat attendu |
|---|---|---|---|
| TENS-01 | Créer une tension opérationnelle depuis le menu | Être connecté | Tension créée avec badge OPÉ |
| TENS-02 | Créer une tension de gouvernance depuis le menu | Être connecté | Tension créée avec badge GOUV |
| TENS-03 | Créer une tension depuis la popup (nouveau bouton) | Être connecté | Popup avec champs Rôle et Type visibles (layout colonne) |
| TENS-04 | Remplir la description d'une tension | Tension créée | Description sauvegardée et affichée |
| TENS-05 | Valider une tension (passer en Terminé) | Tension en cours | Tension dans la liste Terminé |
| TENS-06 | Rejeter une tension (passer en Bloqué) | Tension en cours | Tension dans la liste Bloqué |
| TENS-07 | Filtrer tensions par 'Mes rôles' | Être membre d'un rôle | Seules les tensions de mes rôles affichées |
| TENS-08 | Filtrer tensions par 'Cercles' | Être membre d'un cercle | Tensions du cercle affichées |
| TENS-09 | Filtrer tensions par 'Toute l'organisation' | Être connecté | Toutes les tensions de l'orga affichées |
| TENS-10 | Voir le badge OPÉ/GOUV sur les tensions | Tensions des deux types | Badges colorés corrects |
---
## PROJ — Projets
| N° | Action | Prérequis | Résultat attendu |
|---|---|---|---|
| PROJ-01 | Créer un nouveau projet | Être connecté | Projet créé et visible dans la liste |
| PROJ-02 | Modifier le statut d'un projet | Projet existant | Statut mis à jour |
| PROJ-03 | Archiver un projet | Projet existant | Projet archivé et non visible |
---
## PP — Prochains pas ⚠️ *Fortement modifié en v12*
| N° | Action | Prérequis | Résultat attendu |
|---|---|---|---|
| PP-01 | Créer un prochain pas en réunion (avec note) | Être en réunion, tension ouverte | Prochain pas sauvegardé en BDD |
| PP-02 | Créer un prochain pas en réunion (sans note) | Être en réunion, tension ouverte | Prochain pas sauvegardé même sans note |
| PP-03 | Valider tension avec PP → apparaît dans Traités | Prochain pas saisi | PP visible sous le titre barré dans Traités |
| PP-04 | PP d'une tension d'un autre membre visible | Tension d'un autre membre avec PP | PP visible dans la liste Traités |
| PP-05 | Rouvrir une tension traitée → PP pré-rempli | Tension traitée avec PP | Champ PP pré-rempli avec la valeur existante |
| PP-06 | PP visible toutes réunions confondues | PP créé dans une ancienne réunion | PP affiché même si créé dans une autre réunion |
| PP-07 | Page 'Prochains pas' — voir mes PP | PP existants | Liste des PP avec cercle et réunion associés |
| PP-08 | Marquer un prochain pas comme fait | PP existant | PP barré et marqué fait |
---
## REU — Réunions ⚠️ *Fortement modifié en v12*
| N° | Action | Prérequis | Résultat attendu |
|---|---|---|---|
| REU-01 | Créer une nouvelle réunion | Être admin/leader | Réunion créée avec les étapes par défaut |
| REU-02 | Démarrer une réunion | Réunion planifiée | Interface de réunion active |
| REU-03 | Étape Inclusion — écrire des notes | Être en réunion | Notes sauvegardées |
| REU-04 | Étape Indicateurs — saisir les valeurs | Être en réunion, indicateurs configurés | Valeurs sauvegardées |
| REU-05 | Étape Checklist — cocher les items | Être en réunion, checklist configurée | Items cochés sauvegardés |
| REU-06 | Triage opé — ajouter une tension inline | Être en réunion, mode éditable | Tension créée et ajoutée à l'étape |
| REU-07 | Triage opé — importer une tension existante | Tensions disponibles | Tension importée dans l'étape |
| REU-08 | Triage opé — valider une tension avec PP | Tension dans l'étape | PP sauvegardé, tension dans Traités |
| REU-09 | Triage opé — PP affiché sous le titre (pas à droite) | Tension traitée avec PP | PP affiché EN DESSOUS du titre barré |
| REU-10 | Triage opé — rouvrir une tension traitée | Tension traitée | Tension repasse en À traiter |
| REU-11 | Étape Prochains pas — voir les PP de la réunion | PP créés pendant la réunion | PP affichés en kanban |
| REU-12 | Terminer la réunion | Être en réunion | Réunion marquée comme terminée |
| REU-13 | Notes réunion → description tension à la validation | Tension créée en réunion avec notes puis validée | Description = texte des notes (pas JSON) |
---
## EMAIL — Emails ⚠️ *Corrigé en v12*
| N° | Action | Prérequis | Résultat attendu |
|---|---|---|---|
| EMAIL-01 | Rappel J-1 réunion — automatique | Réunion planifiée demain, cron 9h UTC | Email reçu la veille à 9h UTC |
| EMAIL-02 | Tester rappel J-1 manuellement | Réunion dans les 36h | Email reçu après le curl test |
| EMAIL-03 | CR réunion — reçu automatiquement après fin | Réunion terminée, cron toutes les heures | Email CR reçu dans l'heure suivant la fin |
| EMAIL-04 | CR réunion — contient les prochains pas | Réunion avec PP | PP listés dans le mail |
| EMAIL-05 | CR réunion — envoyé une seule fois (flag summarySent) | Réunion terminée | Pas de doublon même si cron passe plusieurs fois |
| EMAIL-06 | Invitation nouveau membre — email reçu | Membre invité | Email d'invitation reçu |
> **Commandes de test manuel :**
> bash > # Rappel J-1 > curl -X POST http://localhost:8888/cron.sendMeetingReminders \\ > -H "Content-Type: application/json" \\ > -H "x-nhost-webhook-secret: cron-secret-udn" \\ > -d '{}' > > # Compte-rendu > curl -X POST http://localhost:8888/cron.sendMeetingSummaries \\ > -H "Content-Type: application/json" \\ > -H "x-nhost-webhook-secret: cron-secret-udn" \\ > -d '{}' >
---
## ASYNC — Gouvernance asynchrone
| N° | Action | Prérequis | Résultat attendu |
|---|---|---|---|
| ASYNC-01 | Soumettre une tension en gouvernance async | Mode holacratique + asyncGovernance activé | Mail envoyé aux membres du cercle |
| ASYNC-02 | Voter 'Valider' sur une tension async | Email avec lien de vote reçu | Vote enregistré |
| ASYNC-03 | Voter 'Objecter' sur une tension async | Email avec lien de vote reçu | Objection enregistrée, tension passe en réunion |
| ASYNC-04 | Cron clôture auto à la deadline | Tension async sans objection à deadline | asyncStatus = governance_async_validated |
| ASYNC-05 | Bouton 'Appliquer les évolutions' visible | asyncStatus = governance_async_validated | Bouton visible et actif |
| ASYNC-06 | Appliquer les évolutions | Évolutions en attente | Évolutions appliquées, tension fermée |
---
## ADM — Administration
| N° | Action | Prérequis | Résultat attendu |
|---|---|---|---|
| ADM-01 | Accéder au tableau de bord admin | Être super-admin | Page admin accessible avec liste des orgas |
| ADM-02 | Impersonner un utilisateur | Être super-admin | Bandeau orange 'Mode impersonation' affiché |
| ADM-03 | Modifier le plan d'une orga | Être super-admin | Plan mis à jour (vivante/carto) |
| ADM-04 | Export ISO 9001 Excel | Être admin orga | Fichier Excel téléchargé avec 4 onglets |
---
## IMP — Import
| N° | Action | Prérequis | Résultat attendu |
|---|---|---|---|
| IMP-01 | Importer une structure Glassfrog (JSON) | Fichier JSON Glassfrog valide | Structure importée dans l'orga |
---
## EXC — Excalidraw
| N° | Action | Prérequis | Résultat attendu |
|---|---|---|---|
| EXC-01 | Créer une fresque collaborative depuis une tension | addon_excalidraw activé | Lien Excalidraw créé et ouvert |
| EXC-02 | Créer une fresque depuis une réunion | addon_excalidraw activé | Lien Excalidraw créé |
---
## MEET — Meet UdN
| N° | Action | Prérequis | Résultat attendu |
|---|---|---|---|
| MEET-01 | Lancer une visio Meet depuis une réunion | addon_meet activé | Lien Meet généré et ouvert |
---
## NR — Non régression technique
> Ces tests sont à lancer après chaque déploiement ou modification technique.
| N° | Action | Prérequis | Résultat attendu |
|---|---|---|---|
| NR-01 | Build frontend sans erreur TypeScript | Code modifié | npm run build → 0 erreurs |
| NR-02 | Backend démarre sans erreur | Après restart | Logs OK, port 8888 accessible |
| NR-03 | Permissions Hasura next_step = org.members | Après toute modif permissions | Membres voient les PP de tous les cercles |
| NR-04 | Un seul prochain pas par tension (contrainte UNIQUE) | Plusieurs créations PP pour même tension | Upsert, pas de doublon en BDD |
| NR-05 | Crons actifs et URL correctes (sans /trpc/) | Après recréation cron | URLs = /cron.X dans Hasura metadata |
> **Vérification crons :**
> bash > docker exec rolebase-graphql-1 sh -c 'curl -s -X POST http://localhost:8080/v1/metadata \\ > -H "Content-Type: application/json" \\ > -H "x-hasura-admin-secret: hasura-admin-secret-prod-rolebase" \\ > -d "{\\"type\\":\\"export\_metadata\\",\\"args\\":{}}"' | \\ > python3 -c " > import sys, json > data = json.load(sys.stdin) > for c in data.get('cron\_triggers', \[\]): > print(c\['name'\], '|', c\['webhook'\]) > " >
---
## Récapitulatif
| Catégorie | Nb tests |
|---|---|
| Authentification | 4 |
| Organisation | 10 |
| Rôles & Cercles | 8 |
| Membres | 3 |
| Tensions | 10 |
| Projets | 3 |
| Prochains pas | 8 |
| Réunions | 13 |
| Emails | 6 |
| Gouvernance async | 6 |
| Admin | 4 |
| Import | 1 |
| Excalidraw | 2 |
| Meet UdN | 1 |
| Non régression | 5 |
| **TOTAL** | **84** |
---
*Document généré le 21/05/2026 — RoleBase UdN v12 — Université du Nous*