đą 24/08 â les correctifs sont dĂ©ployĂ©s : les Ă©tapes marquĂ©es « Ă REJOUER » se rejouent maintenant. RafraĂźchis ton navigateur (Ctrl+Maj+R) avant de commencer. La liste Ă jour des 23 rejeux est sur la page de suivi.
Version 1.4 â 19/08/2026 au soir. Dix parcours, 140 Ă©tapes (134 en v1.3). Reste Ă Ă©tablir la matrice de couverture, une fois qu'ils auront Ă©tĂ© jouĂ©s.
Ce qui change en v1.5 (21/08) â TROIS ĂTAPES DĂCRIVAIENT UN ATTENDU FAUX. Elles ressortaient KO Ă chaque passage sans qu'aucun dĂ©faut n'existe, et faisaient perdre du temps au testeur : 5.2 (« Mes Ă©quipes » n'est attendue que pour un encadrant de plusieurs niveaux), 6.17 (cinq panneaux mais quatre onglets), 7.10 (le formateur ne crĂ©e pas de cours â arbitrĂ© le 20/08). RĂšgle qui s'applique ici : un attendu invalidĂ© par une dĂ©cision ou par la mesure se corrige DANS LE CAHIER, jamais par une note en marge â on ne demande pas au testeur de rectifier lui-mĂȘme son rĂ©fĂ©rentiel.
Ce qui change en v1.4 â les ĂTAPES rattrapent les livraisons du 19/08. Le registre Ă©tait Ă jour, les parcours dĂ©crivaient encore l'interface d'avant. La recette ayant repris, chaque Ă©cart a Ă©tĂ© rejouĂ© contre la PR qui l'a corrigĂ© :
Volet Ce qui bouge Bascule d'univers l'admin en a trois â Administration · Pilotage · Apprentissage (P0.3, P0.5, P0.10 neuve) Barre du haut le bouton « Tableau de bord » de l'admin a disparu (P0.4) Comptes la modale de modification n'existe plus : tout se fait sur la fiche /admin/utilisateurs/:id(P8.1, P8.4, P8.5, P8.14 Ă P8.17 neuves)Invitations / Inscriptions le pied d'actions est dans le flux, le libellĂ© est « Envoyer l'invitation » (P1.1, P3.1 Ă P3.4, P4.1) Listes « Par page » au gabarit, dĂ©compte « Affichage 1 Ă 20 de N » (P3.5, P8.17) SĂ©lecteurs de rattachement le serveur sert enfin de quoi dĂ©partager deux homonymes ; l'Ă©cran ne l'affiche pas encore (P3.2, P4.2) Demandes d'inscription 500 levĂ©, filtre rĂ©el, trace de la dĂ©cision (P4.6, P4.7, P4.9, P4.11 neuve) Deux ajouts de mĂ©thode :
- Statut correctif par Ă©tape. Une Ă©tape dont le comportement a changĂ© pendant la recette porte, dans sa colonne Issue, la mention « corrigĂ© le JJ/MM â #xxx â Ă REJOUER** ». Un testeur qui reprend le cahier voit d'un coup d'Ćil ce qui a bougĂ© depuis son dernier passage. Les
KOencore ouverts gardent, eux, leur simple numéro d'issue.- Maquettes de référence par parcours. Chaque parcours ouvre sur les liens vers les maquettes de ses écrans. En cas de doute, on ouvre la maquette plutÎt que d'arbitrer de mémoire.
â ïž La rĂšgle que la v1.4 institue
Une livraison qui change un parcours met le cahier Ă jour DANS le train. Le cahier est un livrable du correctif, pas un rattrapage Ă faire plus tard. C'est ce retard-lĂ â registre Ă jour, Ă©tapes pĂ©rimĂ©es â qui a rendu cette version nĂ©cessaire : un testeur qui rejoue une Ă©tape contre une description obsolĂšte signale un dĂ©faut qui n'existe plus, et le tri de ce faux positif coĂ»te plus cher que la ligne qu'on n'a pas Ă©crite.
Rappel v1.3 (toujours vrai) : le prĂ©requis d'inscription est levĂ© â les quatre jeux sont jouables â et le registre des Ă©carts dĂ©jĂ connus (en fin de cahier) liste les
KOattendus étape par étape. Lisez-le avant de signaler quoi que ce soit.
Il décrit ce qu'un utilisateur fait, pas ce que le code contient. C'est la
différence qui compte : les 1 361 tests automatiques garantissent que
prochainCertificat départage trois formations correctement. Aucun ne dit qu'un
apprenant arrive Ă obtenir un certificat.
| Ătape | Qui | Ce qu'elle attrape |
|---|---|---|
| Recette unitaire | Claude | l'Ă©cran est-il conforme Ă sa maquette â gabarits, tailles, couleurs, mesurĂ©s sur le rendu |
| Contre-recette | Claude | le parcours s'enchaĂźne-t-il â sur les Ă©crans rĂ©els, avec un vrai compte |
| Recette utilisateur | un humain | est-ce utilisable â ce qu'aucune mesure ne dit |
Les Ă©tapes 2 et 3 suivent le mĂȘme cahier. C'est dĂ©libĂ©rĂ© : sans cela, vos retours et les miens ne porteraient pas sur les mĂȘmes gestes et ne pourraient pas se comparer.
Une ligne par retour, dans le champ de signalement Sentry. Jamais deux Ă©tapes dans un mĂȘme message.
| Marqueur | Sens | Exemple |
|---|---|---|
OK |
l'étape se comporte comme attendu | OK #172 P3.4 |
KO |
l'Ă©tape Ă©choue, sur une issue connue | KO #172 P3.4 â le filtre ne renvoie rien |
BUG |
dĂ©faut rĂ©el, rattachĂ© Ă aucune issue | BUG P3.4 â la page blanchit au second clic |
EVO |
ça marche, mais ça devrait ĂȘtre autrement | EVO P3.4 â pouvoir trier par date |
OK est obligatoire. Un silence est ambigu : on ne sait pas si l'étape a
réussi ou n'a pas été jouée.
La distinction KO / BUG est celle qui compte : un KO alimente une issue
existante, un BUG en crée une. Sans elle, les vrais défauts se noient dans les
écarts déjà connus.
â ïž Avant de signaler un
BUG, lisez le registreLe registre des écarts déjà connus (en fin de cahier) liste, étape par étape, ce qui est déjà suivi par une issue. Si votre constat y figure, c'est un
KOavec le numĂ©ro d'issue â pas unBUG.Ce n'est pas une formalitĂ© : deux personnes qui rĂ©digent la mĂȘme issue Ă deux heures d'Ă©cart coĂ»tent une heure de tri Ă quelqu'un, et le doublon survit souvent au tri. Cherchez sur le CONTENU du constat, pas sur son titre â une mĂȘme anomalie se dĂ©crit rarement deux fois avec les mĂȘmes mots.
Si vous hésitez, signalez
KOavec votre description : rattacher un constat à la mauvaise issue se corrige en dix secondes, un doublon coûte bien plus.
Ce sans quoi le produit n'a pas d'objet. Une Ă©tape qui les met en jeu est marquĂ©e vital ; son Ă©chec arrĂȘte la recette.
â ïž Elles parlent de toute personne qui se forme, jamais du « rĂŽle apprenant ».
La distinction n'est pas de style : sur staging, 38 personnes sont inscrites Ă
une formation, dont 16 ne portent pas le rĂŽle learner â managers, directeurs,
formateurs. Dans ce produit, les encadrants se forment aussi, souvent Ă des
formations obligatoires. Un critÚre écrit « un apprenant⊠» les aurait exclus,
et aurait fait passer BACK#447 pour un défaut secondaire.
Le point 8 n'est pas théorique : la suppression d'un cours effaçait l'historique de tous ses apprenants en cascade. L'entrée a été retirée de l'interface le 16/08, la route reste ouverte (BACK#445).
Ils se définissent par ce que l'utilisateur ne peut plus faire, jamais par l'ampleur du correctif.
| Niveau | DĂ©finition | Exemple | OĂč va le correctif |
|---|---|---|---|
| Vital | le produit ne remplit plus sa fonction pour quelqu'un | une personne ne peut pas suivre son cours, ou ne voit pas oĂč elle en est â que ce soit un apprenant ou un manager en formation | arrĂȘte la recette, correction immĂ©diate |
| Majeur | le produit fonctionne, mais une décision se prend sur du faux | un reporting collaborateurs erroné ; un écran qui ne s'affiche pas | L4.8, avant la mise en prod |
| Mineur | gĂȘne rĂ©elle, sans empĂȘchement ni erreur | un composant pas Ă jour, un libellĂ© anglais | L5 |
| Cosmétique | écart au dessin, invisible à l'usage | un espacement, une nuance | plus tard |
â ïž Le critĂšre d'entrĂ©e en L4.8 est la criticitĂ©, pas la date de dĂ©couverte. Sans cette rĂšgle, le lot devient la liste de tout ce que la recette a vu, et il ne se ferme jamais.
52 comptes sur staging, mot de passe commun. â ïž Les suffixes sont croisĂ©s avec les clĂ©s techniques, Ă dessein : le testeur voit le mot qu'il verra Ă l'Ă©cran.
recette-<qui>-admin@yopmail.com Administrateur
recette-<qui>-managerrh@yopmail.com Manager RH (clé `manager`)
recette-<qui>-managergeneral@yopmail.com Manager Général
recette-<qui>-directeur@yopmail.com Directeur
recette-<qui>-manager@yopmail.com Manager d'équipe (clé `sub_manager`)
recette-<qui>-formateur@yopmail.com Formateur
recette-<qui>-apprenant@yopmail.com Apprenant
â ïž Toute adresse SANS segment de jeu (recette-apprenant@âŠ, recette-manager@âŠ)
est une ancienne gĂ©nĂ©ration de comptes : elle se connecte avec le mĂȘme mot de
passe mais son jeu de données ne correspond PAS au cahier. Vécu en contre-recette :
un fil a perdu une heure sur recette-apprenant@ au lieu de recette-claude-apprenant@.
Le segment de jeu est OBLIGATOIRE.
<qui> vaut david, eng, lilian ou claude. Chacun dispose en plus de
3 apprenants et 3 managers d'équipe supplémentaires, pour éprouver les
rattachements et les équipes à plusieurs niveaux.
Trois sociĂ©tĂ©s : RecetteAikan, RecetteACS, RecetteEfektiv. Certaines Ă©quipes traversent deux sociĂ©tĂ©s â c'est le comportement normal du modĂšle, la sociĂ©tĂ© dĂ©crit, elle ne cloisonne pas.
| Formations ouvrables par apprenant et par manager d'Ă©quipe | 4 â relation-client, traitement-des-reclamations-rcl, et les 2 non publiĂ©es (gsicass-ouverture-do, test-course) qui s'ouvrent DĂSORMAIS pour les inscrits (#453 corrigĂ©e : l'inscription dĂ©cide) |
| Demande d'inscription en attente | apprenant2 â relation-client (jeu claude) â ne pas l'accepter, elle sert d'Ă©tat d'Ă©preuve |
| Utilisateurs statistiquement visibles | 3 par sociĂ©tĂ© (recette-stats-*) â le filtre SociĂ©tĂ© du tableau de bord doit rendre du non-vide |
| Parcours brouillon d'Ă©preuve | recette-brouillon-249 â visible du studio avec badge, fermĂ© aux apprenants |
Un 404 sur une formation listĂ©e dans « Mes formations » est dĂ©sormais une RĂGRESSION â l'inverse d'avant le 18/08 au soir.
Le serveur limite les tentatives de connexion. En enchaĂźnant plusieurs authentifications coup sur coup â plusieurs rĂŽles, ou plusieurs passes API â les suivantes sont refusĂ©es, et le symptĂŽme ressemble à « ce compte ne fonctionne pas ». Ce n'en est pas un.
Comptez ~20 secondes entre deux connexions. Si un compte semble mort, attendez une minute et recommencez avant de signaler quoi que ce soit.
Une story par parcours. Le « afin de » n'est pas de la forme : c'est lui qui permet de juger un cas que le cahier n'a pas prévu. Sans lui, un testeur constate un écart au script ; avec lui, il sait si l'écart a de l'importance.
| En tant que⊠| je veux⊠| afin de⊠| |
|---|---|---|---|
| P0 | n'importe quel utilisateur | entrer et sortir de la plateforme | accéder à mon espace sans que quelqu'un d'autre puisse y entrer à ma place |
| P1 | apprenant invité | recevoir mon accÚs et trouver ma premiÚre formation | commencer sans qu'on ait à m'expliquer comment faire |
| P2 | personne en formation | suivre mes supports jusqu'au certificat | prouver que j'ai suivi la formation, Ă moi et Ă mon employeur |
| P3 | Manager RH | faire entrer une équipe | que mes collaborateurs accÚdent à leurs formations obligatoires sans créer chaque compte |
| P4 | Manager RH | inscrire et arbitrer les demandes | que chacun suive ce qu'il doit suivre, et pas autre chose |
| P5 | Manager d'Ă©quipe | voir oĂč en sont mes collaborateurs | intervenir avant qu'un retard devienne un abandon |
| P6 | administrateur | composer et publier le catalogue | que l'offre corresponde à ce que l'organisme s'est engagé à délivrer |
| P7 | formateur | suivre mes cours et mes apprenants | accompagner ceux qui décrochent, sans attendre le bilan |
| P8 | administrateur | gérer les comptes et les rattachements | que chacun voie ce qui le regarde, et rien de plus |
| P9 | responsable produit | vérifier ce qui a été RETIRà | qu'aucune fonction abandonnée ne subsiste en état de nuire |
| Parcours | RĂŽle principal | Couvre | |
|---|---|---|---|
| P0 | Entrer et sortir | les 7 rÎles | connexion, déconnexion, mot de passe, bascule |
| P1 | De l'invitation au premier cours | Apprenant | invitation plateforme, onboarding, catalogue, page cours |
| P2 | Suivre une formation jusqu'au certificat | Apprenant | supports, progression, quiz, certificat |
| P3 | Faire entrer une équipe | Manager RH | invitations, suivi des envois, relances |
| P4 | Inscrire et traiter les demandes | Manager RH | inscriptions, demandes, notifications |
| P5 | Piloter son équipe | Manager d'équipe | tableau de bord, cockpit, retard et abandon |
| P6 | Administrer le catalogue | Admin | création cours/tuto/parcours, publication, référentiels |
| P7 | Encadrer ses apprenants | Formateur | mes cours, mes apprenants, fiche apprenant |
| P8 | Gérer les comptes | Admin | utilisateurs, rÎles, rattachements, sociétés |
| P9 | Ce qui doit ĂȘtre ABSENT | tous | Ă©crans supprimĂ©s, chat masquĂ©, suppression retirĂ©e |
P9 n'est pas une formalitĂ©. Le lot a beaucoup retirĂ© â six Ă©crans morts, deux vues fusionnĂ©es, la suppression de cours, le chat. Un retrait ratĂ© ne se voit pas en cherchant ce qui marche : il faut aller vĂ©rifier que ça ne marche plus.
Le seul parcours joué par les SEPT rÎles. Court, et c'est la seule chose que tout le monde fait. Un défaut ici bloque tous les autres parcours.
Comptes : les sept de votre jeu, l'un aprÚs l'autre. Durée : 5 minutes par rÎle.
Maquettes de référence :
connexion et mot de passe oublié ·
profil unique ·
fiche utilisateur admin
â c'est elle qui porte le gabarit .segmented du sĂ©lecteur d'univers (0.5).
| # | Ce que vous faites | Ce qui doit se produire | Criticité | Issue |
|---|---|---|---|---|
| 0.1 | Ouvrir l'adresse de staging | L'écran de connexion s'affiche. Logo et libellés en français. | vital | #11 |
| 0.2 | Se connecter avec un mot de passe FAUX | Le refus est explicite. Il ne dit pas si l'adresse existe â sinon il rĂ©vĂšle qui a un compte. Les deux rĂ©ponses doivent ĂȘtre identiques au caractĂšre prĂšs. | majeur | BACK#448 â corrigĂ© le 19/08, PR BACK#495 â Ă REJOUER** |
| 0.3 | Se connecter avec le bon mot de passe | L'espace s'ouvre sur l'univers du rĂŽle : Administration pour l'admin (/admin/dashboard ne fait plus que rediriger vers /admin/utilisateurs), Pilotage pour les autres encadrants, Apprentissage pour l'apprenant, son espace propre pour le formateur. |
vital | #75 â admin corrigĂ© le 19/08, #269 / PR FRONT#272 â Ă REJOUER** |
| 0.4 | Regarder la barre du haut | Le nom et le rĂŽle affichĂ©s sont les libellĂ©s â « Manager RH », jamais manager. â ïž Plus de bouton « Tableau de bord » pour l'admin : il faisait doublon avec « Administration » du sĂ©lecteur, il a Ă©tĂ© retirĂ©. Le formateur garde le sien â c'est son unique chemin vers /teacher/dashboard, il n'a pas de sĂ©lecteur. |
majeur | #154 · #273 â corrigĂ© le 19/08, PR FRONT#276 â Ă REJOUER** |
| 0.5 | Regarder le sĂ©lecteur d'univers de la barre du haut | Trois boutons pour l'administrateur â Administration · Pilotage · Apprentissage, dans cet ordre. Deux pour les autres encadrants (Manager RH, Manager d'Ă©quipe, Directeur, Manager gĂ©nĂ©ral) : Pilotage · Apprentissage. Aucun sĂ©lecteur pour l'apprenant ni pour le formateur. Les libellĂ©s annoncent oĂč l'on va, pas oĂč l'on est ; l'univers courant est la pilule sombre. Le groupe est au gabarit de la maquette (hauteur 42 px, fond --surface-2, survol et focus visibles). |
majeur | #336 · #269 · #274 â corrigĂ© le 19/08, PR FRONT#272 + #278 â Ă REJOUER** |
| 0.6 | Ouvrir Mon profil | Un seul écran, quel que soit le rÎle. Le rÎle y est affiché, non modifiable. | majeur | #154 |
| 0.7 | Se dĂ©connecter | Retour Ă l'Ă©cran de connexion. Aucun Ă©cran de l'application n'est plus atteignable en revenant en arriĂšre. | vital | â |
| 0.8 | Coller une URL interne aprÚs déconnexion | Redirection vers la connexion. Pas de page blanche, pas de contenu. | vital | #18 |
| 0.9 | Demander un mot de passe oublié | Le message part, le lien reçu porte un domaine complet. | majeur | #100 |
| 0.10 | Faire le tour de ses univers, et REVENIR â cliquer chaque bouton du sĂ©lecteur, puis retourner Ă celui du dĂ©part | Chaque bouton mĂšne Ă l'accueil de son univers : Administration â Utilisateurs, Pilotage â Tableau de bord, Apprentissage â Mes formations. La pilule sombre suit la route Ă chaque Ă©tape, et le retour ramĂšne bien au point de dĂ©part. â ïž Pour un apprenant ou un formateur, l'Ă©tape se lit en une seconde : il n'y a pas de sĂ©lecteur, et c'est le comportement attendu. | majeur | #269 · #92 â neuve en v1.4, PR FRONT#272 + #278 |
Le pĂ©rimĂštre diffĂšre lĂ©gitimement selon le rĂŽle. Partout ailleurs, un mĂȘme Ă©cran doit se comporter de la mĂȘme façon :
| RĂŽle | Ce qu'il doit voir en plus | Ce qu'il ne doit PAS voir |
|---|---|---|
| Administrateur | tout | â |
| Manager RH | l'onglet Tous les collaborateurs | â |
| Manager d'équipe | ses seuls rattachés | les collaborateurs des autres |
| Directeur · Manager général | leur hiérarchie | l'onglet Tous les collaborateurs |
| Formateur | ses cours, ses apprenants | le pilotage |
| Apprenant | l'apprentissage seul | le pilotage |
â ïž Une diffĂ©rence de comportement qui n'est PAS dans ce tableau est un
défaut, pas une rÚgle. Exemple vécu : la progression d'une formation n'était
servie qu'au rĂŽle learner â un manager qui se forme ne voyait donc jamais oĂč
il en était (BACK#447, 16 personnes concernées sur staging). Un cahier écrit
depuis le code aurait figé ce bug en « comportement attendu ».
Et c'est vital, pas majeur : pour ces seize personnes, le produit ne remplit pas sa fonction. Un encadrant en formation obligatoire qui ne sait pas oĂč il en est est exactement dans la situation qu'un LMS existe pour Ă©viter.
RÎle : Manager RH pour les étapes 1.1 à 1.3, puis Apprenant.
Comptes : recette-<qui>-managerrh@ puis un apprenant supplémentaire non
encore activé.
Durée estimée : 20 minutes.
Maquettes de référence : Invitations · Invitations · Suivi · onboarding par lien · accueil apprenant · catalogue apprenant · Mes formations · page d'un cours · Favoris
| # | Ce que vous faites | Ce qui doit se produire | Criticité | Issue |
|---|---|---|---|---|
| 1.1 | Pilotage âș Invitations âș Inviter, saisir une adresse yopmail inĂ©dite | Le formulaire accepte l'adresse. Le compteur de destinataires s'incrĂ©mente. Le pied d'actions annonce « N destinataire(s) · N cours ouvert(s) » et le bouton principal dit « Envoyer l'invitation » â au singulier dĂ©fini, comme la maquette. | vital | #96 · #286 â libellĂ© corrigĂ© le 19/08, PR FRONT#288 â Ă REJOUER** |
| 1.2 | Ajouter 6 destinataires | Le 6e est refusĂ© : la borne est de 5. Le message dit laquelle. â ïž La borne est posĂ©e par l'Ă©cran seul : invite-mail valide emails => nullable\|array, sans max:5 ni max:400 sur le message. KO attendu, et la contourner par l'API passe. |
mineur | BACK#403 |
| 1.3 | Envoyer, puis ouvrir l'onglet Suivi | L'envoi apparaßt, avec son état. Le regroupement est par personne, pas par envoi. | majeur | #168 |
| 1.4 | Ouvrir la boĂźte yopmail du destinataire | Le message est arrivĂ©. Le lien porte un domaine complet â pas /onboarding/<jeton>. |
vital | BACK#442 |
| 1.5 | Cliquer le lien | L'écran d'onboarding s'ouvre. Pas de page blanche. | vital | #59 |
| 1.6 | Définir un mot de passe trop court | Le refus dit la rÚgle, il ne se contente pas de refuser. | mineur | #100 |
| 1.7 | Définir un mot de passe valide | Connexion automatique. L'espace Apprentissage s'ouvre. | vital | #77 |
| 1.8 | Regarder la barre latérale | Quatre entrées : Mes formations · Catalogue · Certificats · Favoris. Pas d'onglets horizontaux. | mineur | #153 |
| 1.9 | Regarder l'accueil | Le vide dit quoi faire, il ne dit pas « aucun enregistrement trouvé ». | mineur | #199 |
| 1.10 | Ouvrir Catalogue | Rayons par sous-catégorie. Les filtres de durée et d'avancement portent un compteur. | majeur | #83, #199 |
| 1.11 | Filtrer sur une durée | La liste se restreint. Une formation sans durée déclarée n'apparaßt pas dans un filtre de durée. | mineur | #139 |
| 1.12 | Ouvrir une formation | La page s'ouvre sur le panneau sombre, trois onglets, le sommaire Ă droite. â ïž Toutes les formations listĂ©es s'ouvrent, y compris les non publiĂ©es auxquelles le compte est inscrit : c'est l'inscription qui dĂ©cide. Un 404 ici est dĂ©sormais une RĂGRESSION â l'inverse de ce que disait la v1.3. | vital | #212 · #453 â corrigĂ© le 18/08 â Ă REJOUER** |
| 1.13 | Lire le bloc de progression | « 0 supports terminĂ©s sur N », la barre est Ă zĂ©ro, le temps restant est annoncĂ©. â ïž Ă jouer AUSSI avec un compte manager : la progression doit s'afficher pour tout inscrit, quel que soit son rĂŽle. | vital | #212, BACK#447 |
| 1.14 | Chercher le bouton d'action | « Commencer le cours » est présent et cliquable. | vital | #212 |
| 1.15 | Regarder les onglets du sommaire | Pas d'onglet Chat : il est masqué. | mineur | #140, BACK#391 |
| 1.16 | Coller /chat dans la barre d'adresse |
La route ne s'ouvre pas â la fermeture est serveur, pas seulement visuelle. | majeur | BACK#391 |
/signup) â retirĂ©e par dĂ©cision produit (#192) :
l'entrée se fait par invitation. Vérifiée en P9.1.4 est le plus fragile. Les boßtes yopmail sont publiques : n'importe qui connaissant l'adresse lit le message. C'est voulu sur staging, et inacceptable ailleurs.
1.13 emploie le pluriel Ă zĂ©ro â « 0 supports terminĂ©s ». C'est une dĂ©cision
tracée (#212), pas un défaut : la rÚgle stricte du français veut le singulier,
mais la convention retenue est l'accord unique, celui qui a le moins d'impact.
Ne pas le signaler comme BUG.
1.16 est un test de retrait. Il Ă©choue si la page s'ouvre â c'est l'inverse de l'intuition. Le masquage doit tenir mĂȘme quand on contourne l'interface.
RĂŽle : Apprenant, puis le mĂȘme parcours rejouĂ© par un Manager d'Ă©quipe inscrit.
Comptes : recette-<qui>-apprenant@, puis recette-<qui>-manager@.
Durée : 30 minutes.
Maquettes de référence : Mes formations · page d'un cours · page d'un parcours · Certificats
C'est le parcours qui met en jeu cinq des huit fonctions vitales. S'il ne passe pas, le produit ne sert Ă rien.
| # | Ce que vous faites | Ce qui doit se produire | Criticité | Issue |
|---|---|---|---|---|
| 2.1 | Ouvrir une formation inscrite | Le sommaire liste les supports dans l'ordre, avec leur type et leur durée. | vital | #212 |
| 2.2 | Ouvrir le premier support vidéo | La vidéo se lit. Le lecteur ne déborde pas de son cadre. | vital | #212 |
| 2.3 | Regarder la vidĂ©o jusqu'au bout | Le support passe Ă terminĂ©, sans qu'on ait Ă le dĂ©clarer soi-mĂȘme. | vital | BACK#398 |
| 2.4 | Revenir au sommaire | La progression a augmenté : pourcentage, barre, « N supports terminés ». | vital | #212, BACK#447 |
| 2.5 | Ouvrir un support PDF | Le document s'affiche ou se tĂ©lĂ©charge. Pas de page blanche. | vital | â |
| 2.6 | Ouvrir un support de type page (HTML) | Le contenu s'affiche dans l'écran, mis en forme. | majeur | BACK#355 |
| 2.7 | Quitter la formation, revenir plus tard | On retrouve oĂč on en Ă©tait. La progression n'a pas Ă©tĂ© perdue. | vital | BACK#398 |
| 2.8 | Ouvrir le quiz de la formation | L'écran de quiz s'ouvre. L'instruction dit ce qui va se passer. | vital | #197 |
| 2.9 | Répondre à une question, vérifier | La correction s'affiche question par question, pas à la fin. | majeur | #145, #197 |
| 2.10 | Lire une option corrigée | Chaque option porte son mot (« Juste », « à écarter », « Attendue »), pas seulement une couleur. | majeur | #197 |
| 2.11 | Laisser une question sans réponse et terminer | Un avertissement chiffre ce qui manque et laisse revenir en arriÚre. | majeur | #197 |
| 2.12 | Terminer le quiz | Le score s'affiche, avec la cible. Il est conservé : recharger la page le retrouve. | vital | #197 |
| 2.13 | Terminer tous les supports | La formation passe Ă 100 %. | vital | â |
| 2.14 | Ouvrir Certificats | Le certificat de la formation terminée apparaßt. | vital | #155 |
| 2.15 | Télécharger le certificat | Le PDF s'ouvre, au nom de la bonne personne, avec la bonne formation. | vital | #155 |
| 2.16 | Lire le bas de l'écran Certificats | La rÚgle d'obtention est écrite en clair. | mineur | #155 |
| 2.17 | Rejouer 2.1 à 2.4 avec un Manager d'équipe inscrit | Comportement identique. La progression s'affiche. | vital | BACK#447 |
2.3 est la fonction vitale n°4, et la plus difficile Ă Ă©prouver : elle dĂ©pend du suivi de lecture. Si le support ne passe pas à « terminĂ© » tout seul, ne pas le forcer â c'est le dĂ©faut, pas un contretemps.
2.17 n'est pas une redite. C'est l'étape qui a fait naßtre BACK#447 : la
progression n'était servie qu'au rÎle learner, jamais aux 16 personnes
inscrites qui portent un autre rĂŽle. Si elle Ă©choue, la recette s'arrĂȘte.
2.6 dĂ©pend de BACK#355, ouverte : la famille « page » (HTML) n'est peut-ĂȘtre
pas encore gérée par la visionneuse. Un KO y est attendu.
RĂŽle : Manager RH.
Compte : recette-<qui>-managerrh@.
Durée : 20 minutes.
Maquettes de référence : Invitations · Invitations · Suivi · Tous les collaborateurs
| # | Ce que vous faites | Ce qui doit se produire | Criticité | Issue |
|---|---|---|---|---|
| 3.1 | Pilotage âș Invitations âș Inviter | Deux onglets : Inviter et Suivi. Pas d'Ă©cran legacy. Le formulaire tient en deux colonnes : la composition Ă gauche (destinataires, message, cours ouverts), l'aperçu de l'e-mail Ă droite, qui reste Ă sa place quand on fait dĂ©filer. | majeur | #96 · #266 â aperçu corrigĂ© le 19/08, PR FRONT#268 â Ă REJOUER** |
| 3.2 | Saisir 3 adresses, puis dĂ©plier « Cours ouverts Ă l'arrivĂ©e » | La saisie accepte les trois adresses. La liste de cours est cherchable et, une fois dĂ©pliĂ©e, rien ne la recouvre : le pied d'actions est dans le flux de la page, il ne flotte plus par-dessus. â ïž Les options ne portent que le nom du cours : le serveur sert dĂ©sormais la catĂ©gorie et le nombre de supports, l'Ă©cran ne les affiche pas encore â KO attendu (FRONT#170). â ïž Ce formulaire ne propose ni rĂŽle ni manager de rattachement : ces deux rĂ©glages n'existent pas Ă l'invitation, ils se posent depuis la fiche utilisateur (P8). |
majeur | #96 · #267 â pied corrigĂ© le 19/08, PR FRONT#285 â Ă REJOUER** · FRONT#170 â BACK#406 (PR BACK#511) |
| 3.3 | Dépasser 400 caractÚres de message | Le refus dit la borne. | mineur | BACK#403 |
| 3.4 | Envoyer | Le bouton principal dit « Envoyer l'invitation ». Confirmation au passĂ© : « Invitations envoyĂ©es ». | mineur | #145 · #286 â libellĂ© corrigĂ© le 19/08, PR FRONT#288 â Ă REJOUER** |
| 3.5 | Onglet Suivi | Regroupement par personne. Les filtres Statut et Compte fonctionnent et portent un compteur. Le pied de liste porte « Par page » au gabarit et le dĂ©compte « Affichage 1 Ă 20 de N » â avec l'espace avant « de ». | majeur | #168 · #275 · #283 â pied et dĂ©compte corrigĂ©s le 19/08, PR FRONT#284 + #287 â Ă REJOUER** |
| 3.6 | Filtrer sur « en attente » | La liste se restreint. Le compteur correspond au nombre affiché. | majeur | #168 |
| 3.7 | Exporter le suivi | Le fichier se tĂ©lĂ©charge, avec le mĂȘme pĂ©rimĂštre que ce qui est affichĂ© â filtres compris. | majeur | #168 |
| 3.8 | Relancer une invitation | Un nouveau message part. Le suivi le montre. | majeur | #139 |
| 3.9 | Ouvrir Tous les collaborateurs | L'onglet existe â rĂ©servĂ© au Manager RH et Ă l'admin. | majeur | BACK#63 |
| 3.10 | Rejouer 3.9 avec un Manager d'équipe | L'onglet n'existe pas. Il ne voit que ses rattachés. | vital | BACK#63 |
3.10 est un test de cloisonnement, donc vital : un manager d'équipe qui voit toute la plateforme est une fuite, pas un défaut d'affichage.
3.7 : l'export doit refléter les filtres. Un export qui rend tout, alors que l'écran filtre, produit un fichier qui ne correspond à rien de ce qu'on a vu.
3.2 a changé deux fois, et dans deux sens opposés. Le pied d'actions
recouvrait la liste de cours dĂ©pliĂ©e â corrigĂ© le 19/08 (FRONT#267, PR #285) :
si la liste est de nouveau masquée, c'est une régression. En revanche la
seconde ligne des options (nom + société, nom + catégorie) n'est toujours pas
affichée : le serveur la sert depuis BACK#511, l'écran ne l'a pas encore
branchĂ©e â c'est FRONT#170, ouverte, donc un KO attendu et non un dĂ©faut neuf.
Le rĂŽle et le manager de rattachement ne se saisissent PAS Ă l'invitation. La v1.3 les dĂ©crivait dans ce formulaire ; ils n'y sont pas, et n'y ont pas Ă©tĂ© retirĂ©s â ils se posent Ă la crĂ©ation d'un compte et sur la fiche utilisateur (P8). L'Ă©tape a Ă©tĂ© réécrite sur ce qui existe.
RÎle : Manager RH. Durée : 20 minutes.
Maquettes de référence : Inscriptions · Inscriptions · Demandes
| # | Ce que vous faites | Ce qui doit se produire | Criticité | Issue |
|---|---|---|---|---|
| 4.1 | Pilotage âș Inscriptions âș Inscrire | Deux onglets : Inscrire et Demandes. Le pied d'actions est dans le flux : une liste dĂ©pliĂ©e n'est plus recouverte (mĂȘme correctif qu'aux Invitations, la classe est partagĂ©e par les deux onglets). | majeur | #96 · #267 â corrigĂ© le 19/08, PR FRONT#285 â Ă REJOUER** |
| 4.2 | Choisir une formation et des apprenants | Les deux listes sont cherchables. Les personnes dĂ©jĂ inscrites sont signalĂ©es, pas proposĂ©es en double. â ïž Les options ne portent toujours que le NOM : deux homonymes restent indistinguables Ă l'Ă©cran. Le serveur sert pourtant dĂ©sormais l'adresse et la sociĂ©tĂ©/le profil mĂ©tier pour les personnes, la catĂ©gorie et le nombre de supports pour les cours â l'Ă©cran ne les a pas encore branchĂ©s. KO attendu. |
majeur | FRONT#170 â BACK#406 â serveur corrigĂ© le 19/08, PR BACK#511 ; Ă©cran non branchĂ©, FRONT#170 reste ouverte |
| 4.3 | Chercher l'interrupteur de notification | Il est absent : la fonction n'est pas livrée. Ne pas le signaler comme bug. | mineur | #170, BACK#405 |
| 4.4 | Inscrire | Confirmation. Les personnes apparaissent comme inscrites. | vital | â |
| 4.5 | VĂ©rifier cĂŽtĂ© apprenant | La formation apparaĂźt dans Mes formations. | vital | â |
| 4.6 | Onglet Demandes | La liste des demandes d'inscription s'affiche â y compris pour un encadrant sans aucun rattachĂ©. Un 500 ici est dĂ©sormais une RĂGRESSION. | majeur | #172 · #452 â corrigĂ© le 18/08, PR BACK#463 â Ă REJOUER** |
| 4.7 | Filtrer par statut | Le filtre s'applique rĂ©ellement : Pending, Approved, Rejected restreignent la liste. | majeur | BACK#410 â corrigĂ© le 19/08, PR BACK#495 â Ă REJOUER · CORRIGĂ le 19/08 (FRONT#312, PR #316) : filtre statut serveur, vue par dĂ©faut « Ă traiter ». Ă REJOUER** |
| 4.8 | Accepter une demande | L'apprenant est inscrit. La demande disparaßt de la liste. | vital | CORRIGà le 19/08 (FRONT#312) : une demande traitée sort de la vue par défaut. L'inscription fonctionnait déjà . à REJOUER |
| 4.9 | Chercher qui a acceptĂ©, et quand | La dĂ©cision porte son auteur et sa date. C'est la fonction vitale n°7. | majeur | BACK#411 â corrigĂ© le 19/08, PR BACK#495 â Ă REJOUER** |
| 4.10 | Refuser une demande | Le refus est enregistrĂ©, l'apprenant n'est pas inscrit, et aucun point ne lui est crĂ©ditĂ©. â ïž L'attendu de cette Ă©tape a CHANGĂ le 22/08 : elle annonçait un crĂ©dit de points en KO attendu â c'Ă©tait faux, un garde-fou l'empĂȘchait dĂ©jĂ . RĂ©-enregistrer le mĂȘme statut ne renvoie plus d'e-mail et n'Ă©crase plus la trace de qui a dĂ©cidĂ©. Ă REJOUER â vĂ©rifiĂ© en connectĂ© : points 0 â 0. |
majeur | BACK#412 â corrigĂ© 22/08, PR BACK#612 |
| 4.11 | Faire dĂ©poser une demande par une personne sans manager de rattachement, sur un cours sans rĂ©fĂ©rent | La demande part sans erreur silencieuse : Ă dĂ©faut de destinataire naturel, l'administrateur et le(s) Manager(s) RH sont notifiĂ©s. Le trou est fermĂ© des deux cĂŽtĂ©s. | majeur | BACK#502 · BACK#503 â neuve en v1.4, corrigĂ©es le 19/08 |
Trois KO de la v1.3 sont tombés pendant la recette (4.6, 4.7, 4.9) : ils
sont devenus des tests de non-régression. Si le 500, le filtre inerte ou
l'absence de trace reviennent, c'est un BUG en citant l'issue d'origine â plus
grave qu'un défaut neuf.
4.9 touche la preuve QUALIOPI : une inscription acceptée sans trace de qui l'a décidée est un trou dans le dossier de formation. C'est la raison pour laquelle elle a été corrigée avant la prod, et la raison pour laquelle il faut la rejouer plutÎt que la croire acquise.
4.2 est le cas d'Ă©cole du volet « Ă rejouer ». Le correctif serveur est livrĂ©, l'Ă©cran ne l'affiche pas : une Ă©tape peut ĂȘtre « corrigĂ©e » d'un cĂŽtĂ© et inchangĂ©e pour le testeur. C'est ce que la mention distingue.
RÎle : Manager d'équipe (sub_manager), puis Manager RH pour comparer les périmÚtres.
Durée : 30 minutes.
Maquettes de référence : Tableau de bord pilotage · Mes collaborateurs · Tous les collaborateurs · cockpit apprenant et Mes équipes
| # | Ce que vous faites | Ce qui doit se produire | Criticité | Issue |
|---|---|---|---|---|
| 5.1 | Se connecter en Manager d'équipe | Arrivée sur Pilotage, pas sur un écran legacy. | vital | #75 |
| 5.2 | Regarder la latĂ©rale | Tableau de bord · Mes collaborateurs · Invitations · Inscriptions. â ïž Â« Mes Ă©quipes » n'apparaĂźt QUE pour un encadrant de PLUSIEURS niveaux (elle montre les N-1 et les N-2). Son absence chez un Manager d'Ă©quipe, qui n'encadre qu'un niveau, est le comportement attendu â ce n'est pas un KO. | majeur | #70 · corrigĂ© en v1.5 â l'Ă©tape attendait « Mes Ă©quipes » pour tous |
| 5.3 | Tableau de bord | Les deux entonnoirs s'affichent avec des chiffres. | vital | #328 · CORRIGà le 19/08 (FRONT#311, PR #313) : le taux sous l'entonnoir des PERSONNES affichait celui des INSCRIPTIONS ; un entonnoir vide se distingue désormais d'un absent. à REJOUER |
| 5.4 | Tableau « Par module » | Les colonnes Vues, Apprenants actifs, Temps moyen, Score quiz sont remplies. | majeur | BACK#328 |
| 5.5 | Filtrer par sociĂ©tĂ© | Un filtre ne donne jamais accĂšs Ă plus (vital) et les chiffres se restreignent sans s'annuler : une sociĂ©tĂ© peuplĂ©e rend un tableau non vide. Une sociĂ©tĂ© qui rend zĂ©ro est dĂ©sormais une RĂGRESSION. â ïž Les deux questions sont Ă poser â voir ci-dessous. | vital + majeur | #451 â corrigĂ© le 18/08, PR BACK#463 â Ă REJOUER** |
| 5.6 | Mes collaborateurs | Liste des rattachĂ©s directs, avec avancement, retard, abandons. Les filtres SociĂ©tĂ© et Profil mĂ©tier servent leurs options depuis les routes managĂ©riales : un 403 sur cet Ă©cran est une RĂGRESSION. Le pied de liste porte « Par page » au gabarit et « Affichage 1 Ă 20 de N ». | vital | #263 · #275 · #283 â filtres et pied corrigĂ©s le 19/08, PR FRONT#265 + #284 + #287 â Ă REJOUER** |
| 5.7 | Trier une colonne | Le tri s'applique. Les en-tĂȘtes triables ont la mĂȘme casse que les autres. | mineur | #209 |
| 5.8 | Masquer une colonne | La préférence est retenue au rechargement. | mineur | BACK#180 |
| 5.9 | Exporter | Le fichier reflĂšte filtres et colonnes affichĂ©es. | majeur | â |
| 5.10 | Mes Ă©quipes | HiĂ©rarchie directe et indirecte, avec « Manager de rattachement ». | vital | â |
| 5.11 | Ouvrir le cockpit d'une personne | Son dossier s'ouvre : formations, avancement, historique. | vital | #186 |
| 5.12 | Lire les valeurs absentes | Un « â » pour une mesure absente, un « 0 » pour une mesure Ă zĂ©ro. Jamais l'un pour l'autre. | majeur | #146 |
| 5.13 | Ouvrir une formation du cockpit | Le détail s'affiche, la ligne ouverte est surlignée. | majeur | #186 |
| 5.14 | Chercher retard et abandon au niveau 1 | â ïž Absents : ils n'apparaissent qu'au niveau 2. KO attendu. |
majeur | #178 |
| 5.15 | « Afficher tout l'historique » | â ïž Rend des centaines de lignes sans pagination. KO attendu. |
majeur | #180 |
| 5.16 | Revenir en arriĂšre depuis le cockpit | â ïž Le retour rejoue l'historique au lieu de ramener Ă la liste. KO attendu. |
mineur | #177 |
| 5.17 | Rejouer 5.6 en Manager RH | Il voit tous les collaborateurs. Le Manager d'équipe n'a vu que les siens. | vital | BACK#63 |
| 5.18 | Forger l'accĂšs : en Manager d'Ă©quipe, remplacer l'identifiant d'un rattachĂ© par celui de quelqu'un d'autre dans l'URL d'une fiche | Refus (403) sur toutes les routes qui servent une personne â la fiche admin user/show comprise. Une fiche hors pĂ©rimĂštre qui s'ouvre est une RĂGRESSION VITALE. â ïž Ne se joue pas Ă la souris â l'Ă©cran ne propose jamais le geste ; passer par tools/recette-api/. |
confidentialitĂ© | #450 â corrigĂ© le 18/08, PR BACK#463 · BACK#512 â garde Ă©tendue Ă user/show le 19/08 â Ă REJOUER** |
Trois KO sont attendus (5.14 Ă 5.16) : ce sont les issues du cockpit
sorties du lot UX/UI et reportées. Les signaler confirme qu'elles sont bien
présentes ; ne pas les signaler laisserait croire qu'elles sont corrigées.
5.5, 5.17 et 5.18 sont les tests de pĂ©rimĂštre. Ils sont vitaux : un manager qui voit ce qui ne le regarde pas est une fuite de donnĂ©es personnelles. â ïž Les trois sont tenus depuis le 18/08 â 5.18 l'a Ă©tĂ© en dernier (#450, PR BACK#463), et sa garde a Ă©tĂ© Ă©tendue Ă la fiche utilisateur le 19/08 (BACK#512). Ils ont donc changĂ© de nature : ce ne sont plus des constats, ce sont des tests de non-rĂ©gression, et c'est pour cela qu'il faut les rejouer.
5.5 demande DEUX questions, et la premiÚre seule ne suffit pas. « Le filtre
élargit-il le périmÚtre ? » est satisfait par un filtre cassé qui rend toujours
zéro : 0 †52, invariant respecté. C'était l'état constaté avant le 18/08
(#451) â le filtre sociĂ©tĂ© rendait zĂ©ro sur les trois sociĂ©tĂ©s peuplĂ©es, et la
passe API le déclarait vert. Il faut donc aussi demander : « une société
peuplĂ©e rend-elle autre chose que zĂ©ro ? » â la rĂ©ponse doit ĂȘtre oui.
La leçon vaut au-delĂ de cet Ă©cran : un critĂšre formulĂ© comme une borne (« jamais plus que ») est satisfait par une fonction qui ne rend rien. Partout oĂč le cahier Ă©crit « ne donne jamais accĂšs Ă plus », il faut lire aussi « et donne bien accĂšs Ă ce qui est dĂ» ».
5.18 n'est pas une étape d'utilisateur, et c'est pour cela qu'elle manquait.
Un cahier écrit du point de vue de ce qu'on fait ne peut pas décrire une
fuite : l'interface ne propose jamais de changer un identifiant dans une URL.
Elle se joue par la passe API (v_idor_fiche_apprenant), pas au navigateur.
Les deux routes qui servaient l'Ă©tat civil et l'avancement de n'importe qui Ă
n'importe quel encadrant répondent 403 depuis le 18/08 (#450), et la passe
couvre depuis le 19/08 la route de la fiche utilisateur admin (BACK#512),
qui rendait en plus un 500 sur un identifiant inexistant.
RÎle : Administrateur. Durée : 40 minutes.
Maquettes de rĂ©fĂ©rence : Cours (admin) · liste Cours unifiĂ©e · CrĂ©er un cours · CrĂ©ation d'un tuto · Parcours (liste) · CrĂ©er un parcours · Ăditeur de parcours · page parcours apprenant · RĂ©fĂ©rentiels des cours
| # | Ce que vous faites | Ce qui doit se produire | Criticité | Issue |
|---|---|---|---|---|
| 6.1 | Admin âș Cours | Liste unifiĂ©e cours · tutos · parcours, avec un badge de type par ligne. Le pied de liste porte « Par page » au gabarit et « Affichage 1 Ă 20 de N ». | majeur | #72 · #275 · #283 â pied corrigĂ© le 19/08, PR FRONT#284 + #287 â Ă REJOUER** |
| 6.2 | Menu « + Créer » | Trois entrées, chacune décrivant sa nature. | majeur | #75 |
| 6.3 | « Un cours » | La fenĂȘtre s'ouvre, et son en-tĂȘte rappelle le type â non modifiable. | mineur | #144 |
| 6.4 | CrĂ©er sans titre | Le refus dit lequel des champs manque. | mineur | â |
| 6.5 | Créer un cours | Il apparaßt dans la liste, non publié. | vital | CORRIGà le 20/08 (BACK#553 + PR #554) : le cours naßt en BROUILLON, et le défaut SQL de la colonne a été retourné. à REJOUER |
| 6.6 | Ouvrir le studio | Sections, supports, glisser-déposer. | vital | #76 |
| 6.7 | Ajouter un support vidéo par lien (Vimeo/YouTube) | Le lien est accepté, la durée est reprise. | majeur | #349 |
| 6.8 | Ajouter un PDF | Le fichier se dĂ©pose, son type est reconnu. | vital | â |
| 6.9 | Renommer le cours au clic sur le titre | Le renommage seul fonctionne, sans réclamer toute la fiche. | mineur | #76 |
| 6.10 | Publier une section | Le statut change et se voit. | majeur | BACK#369 |
| 6.11 | Publier le cours | Il devient visible cĂŽtĂ© apprentissage. | vital | â |
| 6.12 | Ouvrir le cours par son URL | Le cours s'ouvre par son slug. â VĂ©rifiĂ© le 17/08 par la passe API : les cours publiĂ©s s'ouvrent par leur slug, BACK#337 est close. Un cours non publiĂ© rend 404 â c'est attendu ici, mais voir #453 pour l'apprenant qui y est inscrit. | vital | BACK#337 (close) |
| 6.13 | Dépublier | La confirmation chiffre ce que les apprenants perdent. | majeur | #145 |
| 6.14 | Chercher « Supprimer » | â ïž L'entrĂ©e n'existe plus â dĂ©cision du 16/08. Ne pas la signaler comme manquante. â Depuis le 22/08, le serveur refuse aussi : une formation portant un historique d'apprenants ne peut plus ĂȘtre supprimĂ©e, mĂȘme par un appel direct. Message vĂ©rifiĂ© en connectĂ© sur une formation Ă 20 apprenants â il chiffre la consĂ©quence et propose la dĂ©publication. | majeur | #145, BACK#445 â corrigĂ© 22/08, PR BACK#611 |
| 6.15 | CrĂ©er un tuto | Ăcran dĂ©diĂ©, badge « Tuto » en en-tĂȘte. | majeur | #75 |
| 6.16 | CrĂ©er un parcours | L'Ă©diteur s'ouvre : Ă©tapes, rĂ©ordonnancement. | majeur | â |
| 6.17 | RĂ©fĂ©rentiels | UN Ă©cran, deux rubriques, cinq panneaux dont QUATRE en onglets. La rubrique « Utilisateurs » n'a qu'un seul contenu : sa barre d'onglets est masquĂ©e Ă dessein (un onglet unique n'offre aucun choix). Compter 4 onglets n'est pas un KO. | majeur | #56 · corrigĂ© en v1.5 â l'Ă©tape annonçait « cinq onglets » |
| 6.18 | Coller /admin/cours/balises |
Redirige vers l'onglet Balises â pas seulement vers l'Ă©cran. | mineur | #56 |
| 6.19 | CrĂ©er une catĂ©gorie | Elle apparaĂźt, et devient disponible dans les filtres. | majeur | â |
6.14 est un test de retrait. Il échoue si l'entrée est présente.
6.12 est vital : sans slug fonctionnel, aucun lien partagé ne mÚne nulle part.
RÎle : Formateur. Durée : 15 minutes.
Maquettes de rĂ©fĂ©rence : â ïž aucune maquette v3 ne dessine l'espace
formateur â il n'a Ă©tĂ© ni redessinĂ© ni fusionnĂ© par le lot. Les Ă©crans se
jugent donc sur les gabarits partagés :
liste Cours unifiée
pour « Mes cours »,
Mes collaborateurs
pour « Mes apprenants »,
cockpit apprenant
pour la fiche. Un écart de gabarit se signale ; un écart de contenu relÚve
des KO ci-dessous, pas de la maquette.
| # | Ce que vous faites | Ce qui doit se produire | Criticité | Issue |
|---|---|---|---|---|
| 7.1 | Se connecter en Formateur | ArrivĂ©e sur son espace. LatĂ©rale Ă deux entrĂ©es : Mes cours · Mes apprenants. â ïž Aucun sĂ©lecteur d'univers â c'est voulu (#269) ; en revanche le formateur garde son bouton « Tableau de bord », qui est son unique chemin vers son accueil. | vital | #78 · #273 â vĂ©rifiĂ© le 19/08, PR FRONT#276 â Ă REJOUER** |
| 7.2 | Mes cours | Ses cours, sur la DataTable commune. | vital | #78 |
| 7.3 | Chercher la colonne « Mis Ă jour » | â ïž Absente : l'API ne sert pas la donnĂ©e. KO attendu. |
mineur | BACK#434 |
| 7.4 | Chercher « CatĂ©gorie âș Sous-catĂ©gorie » | â ïž Incomplet : la sous-catĂ©gorie n'est pas chargĂ©e. KO attendu. |
mineur | BACK#435 |
| 7.5 | Chercher un bouton Exporter | â ïž Absent : aucune route d'export teacher.*. |
mineur | BACK#436 |
| 7.6 | Mes apprenants | La liste s'affiche. | vital | #78 |
| 7.7 | Chercher tri et recherche | â ïž Absents, dĂ©libĂ©rĂ©ment : la route les ignorerait en silence. | mineur | BACK#437 |
| 7.8 | Ouvrir la fiche d'un apprenant | Son dossier s'ouvre : formations, avancement. | vital | #78 |
| 7.9 | Revenir en arriĂšre | Retour Ă Mes apprenants, pas ailleurs. | majeur | #78 |
| 7.10 | Chercher « + CrĂ©er un cours » et « Modifier » | â ïž Absents â comportement ATTENDU. Arbitrage rendu le 20/08 : le formateur ne crĂ©e pas de cours. Leur prĂ©sence serait un dĂ©faut. | mineur | #78 (close sur arbitrage) · corrigĂ© en v1.5 â l'Ă©tape les attendait |
Cinq KO attendus (7.3 Ă 7.5, 7.7, 7.10). C'est le parcours le plus contraint
par le back : les manques sont tracés et assumés. Un tri absent vaut mieux qu'un
tri qui ne trie pas.
RÎle : Administrateur. Durée : 35 minutes.
Maquettes de rĂ©fĂ©rence : Utilisateurs · CrĂ©er un utilisateur · fiche utilisateur admin â validĂ©e le 19/08, dĂ©cisions F-1 Ă F-5 en pied de page · RĂ©fĂ©rentiels · ParamĂštres
| # | Ce que vous faites | Ce qui doit se produire | Criticité | Issue |
|---|---|---|---|---|
| 8.1 | Admin âș Utilisateurs, puis cliquer sur une LIGNE | Liste des comptes, filtres, recherche. Le clic sur la ligne ouvre la fiche /admin/utilisateurs/:id. Les cellules interactives (case Ă cocher, menu) restent cliquables sans ouvrir la fiche. |
vital | #162 · #270 â corrigĂ© le 19/08, PR FRONT#271 â Ă REJOUER** |
| 8.2 | CrĂ©er un utilisateur | La fenĂȘtre s'ouvre. Les rĂŽles proposĂ©s excluent ceux de niveau supĂ©rieur au sien. | vital | â |
| 8.3 | Créer avec un rÎle managérial et un rattachement | Le parent proposé porte effectivement un périmÚtre hiérarchique. | majeur | BACK#52 |
| 8.4 | Rattacher quelqu'un Ă lui-mĂȘme â depuis sa fiche | La personne Ă©ditĂ©e n'apparaĂźt pas dans la liste des managers : elle en est retirĂ©e, pas seulement refusĂ©e Ă l'enregistrement. | majeur | BACK#52 · #270 â portĂ© sur la fiche le 19/08, PR FRONT#271 â Ă REJOUER** |
| 8.5 | Modifier un utilisateur | â ïž La modale de modification n'existe plus. L'Ă©dition se fait sur la fiche â voir 8.14. Chercher une fenĂȘtre de modification depuis la liste est un test de retrait : elle ne doit pas apparaĂźtre. Les modifications enregistrĂ©es sont visibles Ă la relecture. | vital | #46 · #270 â la modale a Ă©tĂ© supprimĂ©e le 19/08, PR FRONT#271 â Ă REJOUER** |
| 8.6 | Changer sa sociĂ©tĂ© | Le changement est pris. Le rattachement survit. | majeur | â |
| 8.7 | Rattacher Ă un manager d'une autre sociĂ©tĂ© | AcceptĂ© â la sociĂ©tĂ© dĂ©crit, elle ne cloisonne pas. Comportement normal. | mineur | â |
| 8.8 | DĂ©sactiver un compte | Il ne peut plus se connecter. Ses donnĂ©es restent. | vital | â |
| 8.9 | Apprenants sans manager | L'écran liste les orphelins et permet de les réaffecter. | majeur | #58 |
| 8.10 | RĂ©fĂ©rentiels âș SociĂ©tĂ©s et profils mĂ©tier | Les deux listes s'administrent. | majeur | #56 |
| 8.11 | Supprimer une société utilisée | La réaffectation est proposée avant la suppression. | majeur | #56 |
| 8.12 | ParamÚtres | Les réglages s'affichent et s'enregistrent. | majeur | #165 |
| 8.13 | Chercher les 4 rĂ©glages de la maquette | â ïž Certains n'ont pas de champ. KO attendu. |
mineur | #165 |
| 8.14 | La fiche utilisateur : l'ouvrir, modifier un champ dans chacune des trois sections, enregistrer | Trois sections Ă©ditables sur place : IdentitĂ© · RĂŽle et rattachement · AccĂšs. La barre d'enregistrement annonce ce qui a changĂ© avant de valider ; « Annuler » remet les valeurs d'origine. AprĂšs enregistrement, la relecture de la fiche montre bien les nouvelles valeurs. | majeur | #270 â neuve en v1.4, PR FRONT#271 |
| 8.15 | Depuis la fiche, revenir par le fil d'Ariane « Utilisateurs âș nom » | Retour Ă la liste, pas ailleurs, et pas par l'historique du navigateur. | majeur | #270 â neuve en v1.4, PR FRONT#271 |
| 8.16 | Ouvrir le menu d'actions d'une ligne | Quatre entrĂ©es, en français, sans icĂŽne rose : Ouvrir la fiche · Envoyer un lien de rĂ©initialisation · Ouvrir dans Pilotage · DĂ©sactiver (ou RĂ©activer sur un compte dĂ©sactivĂ©). â ïž Plus de « Supprimer » â c'est un test de retrait (fonction vitale n°8), il Ă©choue si l'entrĂ©e est prĂ©sente. « Ouvrir dans Pilotage » rend le passage d'univers explicite : on ne s'y retrouve jamais sans l'avoir demandĂ©. | majeur | #270 â neuve en v1.4, PR FRONT#271 |
| 8.17 | Regarder le pied de la liste | « Par page » est au gabarit (13 px, contrĂŽle de 34 px, dans un pied Ă filet et fond), et le dĂ©compte lit « Affichage 1 Ă 20 de N utilisatrices » â avec l'espace avant « de » (le dĂ©faut relevĂ© Ă©crivait « 20de 108 »). Ă vĂ©rifier aussi page 3 : le correctif ne doit pas valoir que pour la premiĂšre page. â ïž Transverse : le pied est celui de toutes les listes de la plateforme. Un Ă©cart se signale une fois, pas Ă©cran par Ă©cran. | mineur | #275 · #283 â neuve en v1.4, PR FRONT#284 + #287 |
8.7 n'est pas un défaut. Le cloisonnement multi-société est explicitement
reporté au SaaS : ManagerialParent n'impose aucune contrainte de société,
company_id est nullable, et la société est un filtre d'affichage. Une
équipe à cheval sur deux sociétés est le comportement attendu.
8.8 met en jeu la fonction vitale n°8 : désactiver ne doit rien effacer.
P8 est le parcours le plus remanié par les livraisons du 19/08. La modale de
modification a disparu au profit de la fiche /admin/utilisateurs/:id, et avec
elle l'entrée « Supprimer ». Quatre étapes neuves (8.14 à 8.17) décrivent ce qui
n'existait pas quand la v1.3 a été écrite : elles n'ont jamais été jouées par
personne. Si vous ne devez en jouer que deux, jouez 8.14 et 8.16.
La fiche n'affiche PAS tout ce que la maquette dessine, et c'est délibéré.
« DerniÚre connexion » et la carte Activité complÚte attendaient une route qui
ne les servait pas ; elle les sert depuis le 19/08 (BACK#508), le branchement
cÎté écran reste à faire. Un champ absent ici est un KO sur BACK#508, pas un
BUG. La rÚgle du dépÎt s'applique : un élément de maquette sans route est un
élément absent plus une issue, jamais un champ menteur.
La seconde ligne des options de rattachement (rÎle · société) manque encore.
Le serveur la sert depuis BACK#511, l'Ă©cran ne l'a pas branchĂ©e â c'est le mĂȘme
KO qu'en P4.2 (FRONT#170).
RÎle : tous, mais l'admin suffit pour l'essentiel. Durée : 15 minutes.
Maquettes de rĂ©fĂ©rence : un retrait ne se dessine pas. Deux maquettes servent tout de mĂȘme de tĂ©moin â connexion pour 9.6 (aucun lien « Inscription ») et vitrine publique pour 9.3.
Ce parcours échoue quand quelque chose s'affiche. C'est l'inverse de tous les autres, et c'est pourquoi il est facile à oublier : un retrait raté ne se voit jamais en vérifiant ce qui marche.
â ïž Trois retraits du 19/08 sont vĂ©rifiĂ©s AILLEURS, volontairement â les rejouer ici produirait deux signalements pour un mĂȘme geste :
| Ce qui a Ă©tĂ© retirĂ© | OĂč on le vĂ©rifie | Source |
|---|---|---|
| le bouton « Tableau de bord » de l'admin | P0.4 | #273 / PR FRONT#276 |
| la modale de modification d'un utilisateur | P8.5 | #46 / PR FRONT#271 |
| l'entrée « Supprimer » du menu d'un utilisateur | P8.16 | #270 / PR FRONT#271 |
| # | Ce que vous faites | Ce qui doit se produire | Criticité | Issue |
|---|---|---|---|---|
| 9.1 | Coller /chat |
Ne s'ouvre pas. La fermeture est serveur. | majeur | #140, BACK#391 |
| 9.2 | Chercher Chat, Annonces, Tickets dans les latérales | Aucune entrée, pour aucun des trois rÎles concernés. | majeur | #140 |
| 9.3 | Coller /catalog (sans E) |
Route supprimée. | mineur | #192 |
| 9.4 | Coller /plans |
Route supprimée. | mineur | #192 |
| 9.5 | Coller /signup |
Route supprimĂ©e â l'entrĂ©e se fait par invitation. | majeur | #192 |
| 9.6 | Chercher un lien « Inscription » sur l'écran de connexion | Aucun. | majeur | #192 |
| 9.7 | Coller /edit-quiz/1 |
Route supprimée. | mineur | #192 |
| 9.8 | Coller /admin/courses/<slug> |
Redirige vers /courses/<slug> â vue unique. |
majeur | #193 |
| 9.9 | Chercher « Supprimer » sur un cours | Aucune entrée. | majeur | #145 |
| 9.10 | Chercher les onglets horizontaux de l'apprentissage | Aucun : latérale seule. | mineur | #153 |
| 9.11 | Coller /admin/profile/edit |
Redirige vers /profil. |
mineur | #154 |
| 9.12 | Coller une URL quelconque déconnecté | Redirection vers la connexion, jamais de contenu. | vital | #18 |
9.5 et 9.6 vont ensemble. Supprimer la route sans retirer le lien laisse un
bouton qui mĂšne Ă une page morte â c'est le piĂšge relevĂ© lors de la chasse aux
routes orphelines : le lien vers /signup était dans un bloc commenté, donc
invisible Ă la recherche, mais un autre pouvait subsister.
9.12 est vital : c'est le seul test de sécurité de ce parcours.
Le mĂȘme contenu, rangĂ© par qui joue. Cette vue sert Ă RĂPARTIR et Ă vĂ©rifier qu'aucun rĂŽle n'a Ă©tĂ© oubliĂ© ; la vue par parcours sert Ă EXĂCUTER. Elle est dĂ©rivĂ©e des Ă©tapes elles-mĂȘmes â elle ne peut donc pas diverger du corps du cahier.
| Parcours | RĂŽle qui le joue | Ătapes | dont vitales | Neuves en v1.4 |
|---|---|---|---|---|
| P0 â Entrer et sortir | les 7 rĂŽles, l'un aprĂšs l'autre | 10 Ă7 | 4 | 0.10 |
| P1 â De l'invitation au premier cours | Manager RH (1.1â1.3) puis Apprenant | 16 | 7 | â |
| P2 â Suivre une formation jusqu'au certificat | Apprenant, puis un Manager d'Ă©quipe inscrit | 17 | 12 | â |
| P3 â Faire entrer une Ă©quipe | Manager RH | 10 | 1 | â |
| P4 â Inscrire et traiter les demandes | Manager RH | 11 | 3 | 4.11 |
| P5 â Piloter son Ă©quipe | Manager d'Ă©quipe, puis Manager RH (5.17) | 18 | 7 | â |
| P6 â Administrer le catalogue | Administrateur | 19 | 5 | â |
| P7 â Encadrer ses apprenants | Formateur | 10 | 4 | â |
| P8 â GĂ©rer les comptes | Administrateur | 17 | 4 | 8.14 Ă 8.17 |
| P9 â Ce qui doit ĂȘtre ABSENT | l'admin suffit | 12 | 1 | â |
140 Ă©tapes, dont 48 vitales â six de plus qu'en v1.3. Les six portent sur des Ă©crans livrĂ©s le 19/08 : personne ne les a encore jouĂ©es.
â ïž P0 se dĂ©cline sur les sept rĂŽles : ses 10 Ă©tapes valent 70 exĂ©cutions. Avec des contextes isolĂ©s, elles se jouent en parallĂšle et coĂ»tent le temps de dix.
| Type | Exemple | Parallélisable ? |
|---|---|---|
| DonnĂ©es | P2.14 (le certificat apparaĂźt) exige P2.13 (formation Ă 100 %) | non â chaĂźne stricte |
| Ătat partagĂ© | P4.8 accepte une demande : deux testeurs ne peuvent pas prendre la mĂȘme | oui, si chacun joue sur SES comptes |
| Session | le navigateur | oui â voir ci-dessous |
| Aucune | tout P9, les périmÚtres, les consultations | oui, franchement |
La deuxiĂšme se rĂ©sout d'elle-mĂȘme : chaque testeur a son jeu de comptes
(david, eng, lilian, claude). Les demandes que l'un accepte ne sont pas
celles de l'autre. Il ne reste que les chaĂźnes internes Ă un parcours.
On croyait devoir tout jouer en série : cookies et localStorage sont partagés
par ORIGINE, donc deux rĂŽles connectĂ©s en mĂȘme temps s'Ă©crasent l'un l'autre.
C'est vrai d'un navigateur ordinaire, faux avec des contextes isolĂ©s. ĂprouvĂ© sur staging avec Playwright â dĂ©jĂ prĂ©sent dans le dĂ©pĂŽt depuis le POC de captures d'aoĂ»t :
admin connecté | lit : ["admin"]
managerrh connecté | lit : ["manager"]
manager connecté | lit : ["sub_manager"]
formateur connecté | lit : ["teacher"]
apprenant connecté | lit : ["learner"]
Cinq sessions simultanées, chacune gardant la sienne. Chaque browserContext
a son propre stockage.
Conséquence : P0, qui se décline sur sept rÎles, passe de 63 exécutions en série à neuf étapes de temps mur. L'estimation d'une journée tombe à deux ou trois heures.
P1 âââ¶ P2 entrer, puis suivre, puis ĂȘtre certifiĂ©
P3 âââ¶ P4 faire entrer, puis inscrire
P0 P5 P6 P7 P8 P9 aucune dépendance entre eux
Les humains testent leur métier : c'est leur expertise qui donne de la valeur au retour, et un manager ne saura pas juger de la vue apprenant. Les chaßnes restent entiÚres, mais chacune appartient à un seul testeur.
| Testeur | Parcours | Pourquoi lui |
|---|---|---|
| Manager | P3 ⶠP4 ⶠP5 | il sait ce qu'on attend d'un tableau de bord d'équipe |
| Admin | P6 · P8 · P9 | il connaßt le catalogue et les rattachements |
| Apprenant | P1 â¶ P2 | il est le seul Ă juger si c'est utilisable sans explication |
| Claude | P0 (7 rÎles) · passe API · ce que personne ne prend | contextes isolés, exécution parallÚle |
Les trois colonnes tournent en mĂȘme temps, chacune sur ses comptes.
Historique, Ă garder pour comprendre le piĂšge. Le seeder crĂ©e la mĂȘme structure pour les quatre jeux mais n'inscrivait personne Ă une formation ; puis les inscriptions posĂ©es Ă la main portaient sur des cours non publiĂ©s, que « Mes formations » liste alors que la page rend 404 (#453). P1.12 Ă P1.14 et tout P2 Ă©taient injouables.
Débloqué le 17/08 : apprenant et manager d'équipe de chacun des quatre jeux sont inscrits à deux formations publiées. Vérifié jeu par jeu :
claude · david · eng · lilian â 2 formations ouvrables par rĂŽle
P2.17 (BACK#447, vitale) â OK sur les quatre
â ïž Ce dĂ©blocage est manuel et ne survivra pas Ă une reconstruction du jeu. Le seeder doit le porter â c'est BACK#439, qui doit garantir deux choses : inscrire Ă au moins 2 formations publiĂ©es, et conserver au moins une inscription non publiĂ©e comme cas d'Ă©preuve de #453.
Pour re-vérifier un jeu à tout moment :
RECETTE_PASSWORD='âŠ' RECETTE_QUI=<david|eng|lilian|claude> \
python3 tools/recette-api/passe_api.py
Attendu à P2.1 : « 2/4 formation(s) listées dont la page rend 404 ». C'est le
bon rĂ©sultat â les deux formations ouvrables fonctionnent, les deux non
publiées démontrent #453. Si le compte est « 4/4 », les inscriptions publiées ont
disparu : rien ne sert de commencer P1 ou P2.
â ïž Ne jouez pas les quatre passes Ă la suite : la limitation de dĂ©bit refuse les connexions et le rapport annonce « pas de jeton », qui ressemble Ă une panne de donnĂ©es sans en ĂȘtre une. Espacez de ~20 secondes.
à lire avant de signaler. Chaque ligne est un constat déjà suivi par une
issue. Le rencontrer se signale KO avec le numĂ©ro â jamais BUG.
Le registre est arrĂȘtĂ© au 17/08 au soir. Il ne prĂ©tend pas ĂȘtre exhaustif :
il couvre ce que la passe API et les tours de recette connectés ont trouvé. Un
constat absent d'ici est un BUG lĂ©gitime, c'est tout l'intĂ©rĂȘt de la liste.
Deux issues sont en cours de correction au moment oĂč vous lisez (#450,
452, possiblement #451) et deux PR front sont en attente de merge (#234,
236). Si le comportement décrit ne se reproduit pas, tant mieux : signalez
OK, la correction est passée entre-temps.
Si l'un de ces défauts réapparaßt, c'est une régression : signalez BUG en
citant l'issue d'origine, c'est plus grave qu'un défaut neuf.
| Corrigé | Ce qui doit marcher | Vérifié |
|---|---|---|
| FRONT#223 | la latérale reste à l'écran quand on fait défiler | mesuré, 1 136 px |
| FRONT#231 | catalogue : rayons, familles, flÚches de défilement | 42 contenus, 0 rayon sans flÚche |
| FRONT#226 | sélection multiple + barre d'actions sur Utilisateurs et Cours admin, confirmation chiffrée, « Par page » | 6 vérifications UI, 18/08 |
| FRONT#228 | page d'un cours : un seul en-tĂȘte, quel que soit l'Ă©tat d'inscription | 3 Ă©tats rejouĂ©s |
| BACK#447 | la progression s'affiche pour tout INSCRIT, pas seulement le rĂŽle apprenant | vital â OK sur les 4 jeux |
| BACK#450 | une fiche hors périmÚtre répond 403 | vérifié en ligne, 18/08 |
| BACK#337 | les cours publiés s'ouvrent par leur adresse | passe API |
| FRONT#266 | l'aperçu d'e-mail des Invitations reste EN PLACE au défilement (la maquette ne le rend pas sticky) | bundle servi, 19/08 |
| BACK#502 | une demande d'inscription d'un utilisateur SANS manager de rattachement notifie l'admin + le(s) Manager(s) RH, sans erreur silencieuse | rejouée en ligne (transaction annulée), 19/08 |
| BACK#503 | une demande d'inscription sur un cours SANS manager rĂ©fĂ©rent notifie aussi l'admin + le(s) Manager(s) RH â le trou est fermĂ© des deux cĂŽtĂ©s | rejouĂ©e en ligne (transaction annulĂ©e), 19/08 |
| FRONT#46/#270 | la fiche utilisateur admin (clic sur la ligne, /admin/utilisateurs/:id) remplace l'ancienne modale : rĂŽle et rattachement modifiables sur place (sens #52) |
bundle servi + contrat PUT rejoué en ligne, 19/08 |
| FRONT#269 (décl. 1)/#92 | l'admin dispose du sélecteur TROIS UNIVERS (Administration · Pilotage · Apprentissage), actif correct partout ; encadrant 2, apprenant 0 | sessions réelles, 19/08 |
| FRONT#273 | le bouton « Tableau de bord » admin est retiré (doublon du sélecteur) ; le formateur garde le sien | sessions réelles, 19/08 |
| FRONT#274 | la bascule d'univers est au gabarit maquette (347Ă42, --surface-2, survol et focus rĂ©els) | bundle servi, 19/08 |
| FRONT#275 | « Par page » des listes au gabarit (13px/34px, pied .table-foot) sur TOUTES les listes | bundle servi, session réelle, 19/08 |
| FRONT#267 | le pied des Invitations/Inscriptions est dans le FLUX : la liste de cours dépliée n'est plus recouverte (0/5 points) | bundle servi, session réelle, 19/08 |
| BACK#406 | learnerList/coursesList désambiguïsées (email + société/profil ; catégorie + nb supports), périmÚtres inchangés | session réelle, 19/08 |
| BACK#503 | demande sur un cours SANS rĂ©fĂ©rent â repli admin + Manager RH (le trou fermĂ© des deux cĂŽtĂ©s avec #502) | rejouĂ©e en ligne, 19/08 |
| BACK#508 | user/show sert last_login_at, created_at, courses_in_progress, certificates_count â rien d'autre | session rĂ©elle, 19/08 |
| BACK#512 | user/show vérifie le périmÚtre (garde partagée) : 403 hors périmÚtre, plus de 500 sur id inexistant | mesuré en ligne, 19/08 |
KO attendus, parcours par parcours| Ătape | Ce que vous verrez | KO |
|---|---|---|
| Invitation à plus de 5 destinataires | aucune borne appliquée, aucun message | BACK#403 |
| Accueil apprenant | pas de section « Ă faire », pas de badge « â AssignĂ© » | FRONT#227 â dĂ©pend de BACK#401 |
â ïž L'absence de « Ă faire » est volontaire : l'API ne sert aucune Ă©chĂ©ance, et un dĂ©lai inventĂ© sur un Ă©cran de conformitĂ© coĂ»te plus cher que pas de dĂ©lai. La question produit â faut-il exposer une Ă©chĂ©ance Ă l'apprenant ? â est ouverte sur BACK#401 et vous appartient.
| Ătape | Ce que vous verrez | KO |
|---|---|---|
| « Mes formations » | TOUTES les formations listĂ©es s'ouvrent â y compris les 2 non publiĂ©es auxquelles le compte est inscrit (#453 corrigĂ©e le 18/08 : l'inscription dĂ©cide, dĂ©publier ne casse plus un parcours engagĂ©). Un 404 ici est dĂ©sormais une RĂGRESSION | â |
| Page d'un cours | les durĂ©es Vimeo sont remplies (rĂ©tro-remplissage #456 jouĂ© le 18/08) ; seuls ~19 YouTube et quelques fichiers peuvent rester muets â signalez un « 0:01 » sur une VIDĂO VIMEO comme rĂ©gression | â |
| Page d'un cours | pas de « Niveau débutant » | BACK#438 |
| Certificat | ni numéro de référence, ni score | BACK#446 |
| Reprise | pas de « derniÚre activité », pas de reprise fine | BACK#398 |
â ïž Depuis le 18/08 au soir, ces deux inscriptions non publiĂ©es servent le cas INVERSE : elles prouvent qu'un inscrit garde l'accĂšs malgrĂ© la dĂ©publication.
| Ătape | Ce que vous verrez | KO |
|---|---|---|
| Demandes, encadrant sans rattachĂ© | corrigĂ© et vĂ©rifiĂ© le 18/08 (PR #463) â si un 500 revient, rĂ©gression | â |
| Filtrer les demandes par statut | fonctionne depuis le 19/08 (PR #495) : Pending/Approved/Rejected filtrent rĂ©ellement | â |
| Accepter / refuser | tracĂ© depuis le 19/08 : la dĂ©cision porte QUI et QUAND (vĂ©rifiĂ© en ligne) â fonction vitale 7 | â |
| Refuser une demande | crĂ©dite quand mĂȘme l'apprenant de points | BACK#412 |
| Inscrire | l'e-mail part toujours, impossible de s'en passer | BACK#405 |
| Onglet Demandes / Inscrire | 3 + 2 fonctions de la maquette absentes | FRONT#172, FRONT#170 |
| Ătape | Ce que vous verrez | KO |
|---|---|---|
| Filtres SociĂ©tĂ©/Profil mĂ©tier des Ă©crans collaborateurs | corrigĂ©s et vĂ©rifiĂ©s le 19/08 (PR #265) â options servies par les routes managĂ©riales, 3 profils mĂ©tier au jeu de donnĂ©es. Si un 403 revient sur ces Ă©crans, rĂ©gression | â |
| Filtre SociĂ©tĂ© du tableau de bord | fonctionne depuis le 18/08 : chaque sociĂ©tĂ© rend un tableau de bord non vide (3 apprenants « Stat » par sociĂ©tĂ©, comptes dĂ©diĂ©s). Si une sociĂ©tĂ© rend zĂ©ro, rĂ©gression | â |
| Fiche d'un apprenant hors de son pĂ©rimĂštre | refusĂ©e (403) depuis le 18/08 (PR #463, vĂ©rifiĂ© en ligne) â si elle s'ouvre, rĂ©gression VITALE | â |
| Cockpit apprenant | retard et abandon disparaissent au niveau 1 | FRONT#178 |
| Cockpit apprenant | « tout l'historique » rend des centaines de lignes | FRONT#180 |
| Cockpit apprenant | aucune action possible depuis le dossier | FRONT#179 |
| Compteurs de collaborateurs | filtrables en « au moins N » seulement | BACK#422 |
â ïž BACK#450 est une divulgation de donnĂ©es, pas une gĂȘne. Si vous ouvrez une
fiche que vous ne devriez pas voir, c'est le dĂ©faut â signalez KO #450 et
passez. N'explorez pas plus loin, il n'y a rien Ă documenter de plus.
| Ătape | Ce que vous verrez | KO |
|---|---|---|
| Studio parcours (liste, crĂ©ation, Ă©diteur) | livrĂ© et vĂ©rifiĂ© le 18/08 (PR #248) : liste avec CrĂ©er/Exporter, fenĂȘtre de crĂ©ation, Ă©diteur avec Aperçu apprenant/Ajouter/RĂ©glages â si un de ces Ă©lĂ©ments manque, rĂ©gression | â |
| Aperçu apprenant d'un parcours BROUILLON | fonctionne depuis le 19/08 (PR #493+#261) : la page rend avec le badge « Brouillon â aperçu studio » pour l'Ćil du studio, reste fermĂ©e aux apprenants. Cas d'Ă©preuve : `recette-brouillon-249` | â |
| Ătapes d'un parcours publiĂ©, vues par un non-inscrit | « Disponible une fois l'Ă©tape prĂ©cĂ©dente terminĂ©e » mĂȘme quand tout est rĂ©glĂ© « Ă l'inscription » â le libellĂ© est inventĂ© par repli | FRONT#249 |
| Actions groupĂ©es : Publier, DĂ©publier | livrĂ©es le 18/08 (PR #240) â si absentes, rĂ©gression | â |
| Changer de catĂ©gorie sur la sĂ©lection | absent, la route n'existe pas | BACK#459 â FRONT#237 |
| Colonne « Mis à jour » | vide | BACK#434 |
| Rayon « CatĂ©gorie âș Sous-catĂ©gorie » | sous-catĂ©gorie absente | BACK#435 |
| Bouton Exporter | aucune route derriĂšre | BACK#436 |
| Supprimer un cours | dĂ©truit dĂ©finitivement l'historique des apprenants | BACK#445 â ïž |
| Liste des contenus | 3 informations de la maquette non servies | BACK#399 |
â ïž BACK#445 : ne supprimez pas de cours pendant la recette, la perte est irrĂ©versible et emporte l'historique d'apprenants rĂ©els du jeu de test.
| Ătape | Ce que vous verrez | KO |
|---|---|---|
| Tri et recherche sur « Mes apprenants » | ignorés | BACK#437 |
| Export | aucune route | BACK#436 |
| Ătape | Ce que vous verrez | KO |
|---|---|---|
| Actions groupĂ©es : Affecter un manager, DĂ©sactiver | livrĂ©es le 18/08 (PR #240) â si absentes, rĂ©gression | â |
| Changer de rĂŽle sur la sĂ©lection | absent, la route n'existe pas | BACK#458 â FRONT#237 |
| « Affecter un manager » répond « N déjà rattachés inchangés » | PAS un bug front : la route ignore les comptes déjà rattachés, le front affiche le compte rendu VRAI du serveur | BACK#458 |
| Pastille « N sans manager » â Ă©cran dĂ©diĂ©, pas un filtre sur la liste | le contrat de listes ne sait pas dire « champ nul » | BACK#462 |
| Relancer / Exporter la sĂ©lection (Tous les collaborateurs) | absents â aucune route, AUCUNE case Ă cocher sur cet Ă©cran (voulu : une sĂ©lection sans action = un bouton mort) | BACK#460/#461 â FRONT#237 |
| Listes de rattachement | ne servent qu'une partie des personnes | BACK#406 |
| RĂ©glages administrables | 4 clĂ©s sans champ | FRONT#165 â BACK#413 |
| Ătape | Ce que vous verrez | KO |
|---|---|---|
| Mot de passe erronĂ©, adresse existante OU inexistante | rĂ©ponses identiques au caractĂšre prĂšs depuis le 19/08 (PR #495) â si elles diffĂšrent, rĂ©gression. Les portes /password/email et signup/verify rendent aussi une rĂ©ponse neutre identique (PR #498, vĂ©rifiĂ©) | â |
| Chat, annonces, tickets | non masquĂ©s partout oĂč ils devraient l'ĂȘtre | FRONT#140 |
Ceux-ci se rencontrent partout. Signalez-les une fois, pas à chaque étape.
| Constat | KO |
|---|---|
| Survol des cartes/boutons/champs, « Tout rĂ©initialiser », enveloppe RĂ©fĂ©rentiels, latĂ©rale admin | corrigĂ©s et vĂ©rifiĂ©s en ligne le 18/08 (PR #234, #236) â s'ils rĂ©apparaissent, rĂ©gression |
| Session expirĂ©e ou corrompue | retour propre Ă l'Ă©cran de connexion (#243 corrigĂ©e et vĂ©rifiĂ©e le 18/08) â une page BLANCHE ici est une rĂ©gression |
| Annuler une action depuis sa confirmation | FRONT#219 |
| Trois feuilles de style qui ne se chargent pas sur leurs écrans | FRONT#221 |
Pour Ă©viter quatre signalements par testeur sur les mĂȘmes points :
--t-h1. C'est la maquette qui est
l'exception, pas l'Ă©cran â la cohĂ©rence prime sur le cas isolĂ©.Une fois les neuf parcours jouĂ©s, il restera Ă vĂ©rifier ce qu'aucun ne
traverse. La méthode : croiser les 342 routes d'API (php artisan route:list) et les actions déclenchables de
chaque écran avec les étapes ci-dessus. Ce qui n'apparaßt nulle part est soit
une fonction oubliĂ©e du cahier, soit une fonction que personne n'utilise â les
deux mĂ©ritent d'ĂȘtre vues.
Un premier trou, trouvĂ© en v1.4 sans attendre la matrice. Poser les liens de maquettes parcours par parcours a suffi Ă le montrer : sur les 32 maquettes du dossier, une seule n'est rĂ©fĂ©rencĂ©e par aucun parcours â recherche globale. Aucune Ă©tape ne fait chercher quoi que ce soit Ă l'Ă©chelle de la plateforme. C'est exactement le genre de trou que la matrice existe pour attraper ; il est notĂ© ici en attendant qu'elle le confirme.