Aller au contenu

Vue filtrée pour Administrateur Planificateur Gestionnaire de patrimoine Enseignant Étudiant Tout afficher

Scénarios par domaine

Vérifié contre le produit le .

Cette page porte la préparation commune. Les dix-sept scénarios s’y réfèrent au lieu de répéter leur montage — c’est ce qui fait qu’une recette complète tient en trois heures plutôt qu’en cinq.

Lisez le gabarit une fois avant d’écrire ou de jouer un scénario ; tout ce qui suit le suppose acquis.

Chaque scénario déclare, en préparation, lequel des deux il utilise. Il n’y en a pas de troisième.

Fenêtre de terminal
docker compose up -d postgres redis solver
cd packages/db && bun run db:migrate
cd ../.. && bun run dev
bun run demo:seed

Vous obtenez l’Institut Supérieur Delacroix — DÉMO : 2 campus, 5 bâtiments, 60 salles, 19 promotions, 80 enseignants, ~430 cours dont ~2 900 séances déjà placées. La commande est idempotente : elle détruit et recrée le tenant, même graine, mêmes données.

Compte Mot de passe Ce qu’il est
demo@delacroix.example Demo-Delacroix-2026! administrateur
prof@delacroix.example (même mot de passe) enseignant, lié à une fiche
etudiant@delacroix.example (même mot de passe) étudiant, lié à une fiche

Employez-le dès qu’un scénario a besoin de volume ou de cas réalistes : planning, contraintes, optimisation, publication, analytique, mon planning.

Socle B — l’établissement construit à la main

Section intitulée « Socle B — l’établissement construit à la main »

Pour tout ce qui porte sur la saisie, les droits et l’isolation : on ne peut pas recetter la création d’un campus sur une base qui en contient déjà deux.

Fenêtre de terminal
docker compose up -d postgres redis
cd packages/db && bun run db:migrate
cd ../.. && bun run dev

Puis, sur http://localhost:3000 :

  1. alice s’inscrit — « Créer un compte », avec un « Nom de l’établissement » : « School A ».

  2. alice invite bob et dave — Administration → Utilisateurs → « Inviter » — et copie le lien affiché. Dans un autre navigateur, chacun ouvre son lien, crée son compte, revient sur le lien et accepte explicitement.

  3. alice crée trois rôles — Administration → Rôles :

    • « Demandeur » : room.book ;
    • « Valideur A » : booking.approve ;
    • « Planificatrice » : planning.edit + planning.solve, sans planning.publish.
  4. alice attribue « Demandeur » à bob sans périmètre, « Valideur A » à dave limité au campus A, et « Planificatrice » à erin.

  5. Référentiel → Patrimoine : deux campus A et B, deux bâtiments BAT-A (campus A) et BAT-B (campus B), deux équipements (Projecteur, Tableau blanc), et quatre salles :

    Salle Bâtiment Capacité Équipements PMR
    A-101 BAT-A 40 Projecteur non
    A-102 BAT-A 100 Projecteur + Tableau blanc non
    A-103 BAT-A 20 oui
    B-201 BAT-B 30 non

Ce scénario enchaîne assez de requêtes d’authentification pour déclencher le limiteur de débit — un refus muet qui n’a rien à voir avec vos identifiants. Il est décrit une fois pour toutes sur Les pièges connus.

Les prénoms sont stables sur toute la recette : un scénario qui dit « bob » parle du même profil qu’un autre.

Compte Rôle Ce qu’il sert à éprouver
alice administratrice, créatrice de l’établissement référentiel, rôles, approbation, publication
bob « Demandeur » — room.book réservation, quotas, notifications
dave « Valideur A » — booking.approve, limité au campus A la portée d’un rôle, en refus comme en accord
carol administratrice d’un second établissement l’isolation
erin « Planificatrice » — planning.edit + planning.solve, sans planning.publish la couture préparation / publication

erin est le compte qu’aucun plan existant n’avait : sans un rôle qui prépare sans pouvoir publier, la moitié du domaine Publication n’est pas recettable.

L’ordre suit les dépendances, pas l’alphabet — il est détaillé sur la page d’entrée.

# Domaine Socle Durée Étiquette
1 Identité et invitations B 12 min manuel
2 RBAC et scoping B 16 min manuel
3 Référentiel et patrimoine B 10 min automatisable
4 Pédagogie B 8 min automatisable
5 Calendrier académique B 8 min automatisable
6 Imports B 10 min automatisable
7 Contraintes et scoring A 12 min manuel
8 Planning et placement A 15 min manuel
9 Optimisation et solveur A 12 min manuel
10 Publication A 12 min manuel
11 Indisponibilités de salle B 10 min automatisable
12 Réservation et quotas B 16 min manuel
13 Approbations B 10 min manuel
14 Notifications B 12 min manuel
15 Mon planning A 6 min automatisable
16 Analytique d’occupation A 6 min automatisable
17 Isolation multi-établissements autonome 10 min manuel

Total : 3 h 05. Les deux socles se montent en amont — comptez 10 minutes pour A, 25 pour B.

L’étiquette automatisable n’est pas une intention : elle s’appuie sur ce qui existe. apps/api porte 34 suites de bout en bout, à peu près une par domaine. Chaque scénario nomme la suite qui le couvre dans sa traçabilité.

Deux conséquences pratiques :

  • un scénario marqué automatisable et déjà couvert par une suite se joue en dernier, ou pas du tout si le temps manque — le test l’a déjà fait ;
  • un scénario automatisable sans suite associée est une dette identifiée : c’est là que l’écriture d’un test rapporte le plus.

Un scénario manuel porte sa justification en une ligne : deux navigateurs simultanés, un rendu visuel, une progression non déterministe. Sans elle, l’étiquette n’est qu’un aveu.

Documentation technique source (2)