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
---
|
Symbole
|Signification
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
ActionPrérequis
| 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
ActionPrérequis
| 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
ActionPrérequis
| 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
ActionPrérequis
| 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
ActionPrérequis
| 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
ActionPrérequis
| 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
ActionPrérequis
| 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
ActionPrérequis
| 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
ActionPrérequis
| 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
ActionPrérequis
| 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
ActionPrérequis
| 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
ActionPrérequis
| 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
ActionPrérequis
| 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
ActionPrérequis
| 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
ActionPrérequis
| 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
ActionPrérequis
| Prérequis | Résultat attendu
||----|--------|-----------|-----------------||
NR-01
| Build frontend sans erreur TypeScript
| Code modifié
| `npm run build`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`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\export\_metadata\\",\\"args\\":{}}"' | \
>\ > python3 -c "
> > import sys, json
> > data = json.load(sys.stdin)
> > for c in data.get('cron_triggers'cron\_triggers', \[\]):
> > print(c[c\['name'\], '|', c[c\['webhook'\])
> > "
> ```>
---
## Récapitulatif
|
Catégorie
| Nb tests
||-----------|----------||
Authentification
|4
4
||
Organisation
|10
10
||
Rôles & Cercles
|8
8
||
Membres
|3
Tensions
10
Projets
3
||
Tensions| 10 || Projets | 3 || Prochains pas
|8
8
||
Réunions
|13
13
||
Emails
|6
6
||
Gouvernance async
|6
6
||
Admin
|4
4
||
Import
|1
1
||
Excalidraw
|2
2
||
Meet UdN
|1
1
||
Non régression
|5
5
||
**TOTAL**
| **84**
|
---
*Document généré le 21/05/2026 — RoleBase UdN v12 — Université du Nous*