reconstruit le tableau de bord du prof dans le style de /cockpit, avec les vraies données (chantier vrai cockpit, étape 1)
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
parent
78030de488
commit
0573894721
6 changed files with 302 additions and 41 deletions
|
|
@ -808,3 +808,24 @@ Toujours en attente du DNS `turn.syllabuslab.fr` (ADR 0006) pour le relais TURN
|
|||
**Comprendre**
|
||||
|
||||
Reprendre une maquette « telle quelle » (la règle de l'étape 8) a du sens pour la partie vitrine, qui s'adresse à un visiteur ; mais un même fichier de layout servait les deux publics à la fois, vitrine et application, sans jamais se demander qui regardait. La bonne clé n'était pas de reconstruire le menu, juste de lui apprendre à se taire sur les démos pour quelqu'un qui a déjà un compte — trois liens corrigés, pas toute la page. C'est aussi un bon rappel que « toutes les pages marchent » (dit à l'étape 8) voulait dire « s'affichent sans erreur », pas « mènent au bon endroit une fois connecté » : deux vérifications différentes, et seule un vrai parcours de connexion (pas un tinker) pouvait montrer celle-ci.
|
||||
|
||||
## 2026-10-12 — Chantier « vrai cockpit », étape 1 : tableau de bord réel
|
||||
|
||||
Après avoir montré que `/mes-classes` fonctionnait (voir plus haut), Adam a précisé le vrai besoin : il voulait le **style et la mise en page** de la démo `/cockpit`, mais branché sur ses vraies données. Quatre widgets de la démo (QCM, devoirs maison, observations, surveillance d'examen) n'ont pas de fonction réelle derrière : décidé avec Adam un ordre de construction (tableau de bord d'abord, puis une fonction à la fois), en commençant par ce qui existe déjà vraiment.
|
||||
|
||||
**Fait**
|
||||
|
||||
- `ClasseController::show()` calcule maintenant, en plus de ce qu'il chargeait déjà : la séance la plus pertinente de la classe (en cours avant salle d'attente, la plus récente d'abord), ses sessions de lab avec élève/dernière correction/machines, un taux de réussite moyen (sur les dernières corrections existantes, absent s'il n'y en a aucune — jamais un faux 0 %), le nombre de mains levées si une visio est ouverte, et la liste des autres classes du prof (pour le sélecteur).
|
||||
- `VisioController::nombreMainsLevees()` (nouveau, public) : lit le même cache que la page de visio, pour que le tableau de bord puisse afficher un vrai chiffre sans dupliquer le format de la clé.
|
||||
- `resources/views/mes-classes/show.blade.php` réécrite dans la mise en page de `/cockpit` (barre latérale avec sélecteur de classe, cartes d'indicateurs, tableau des élèves de la séance en cours) : **chaque chiffre vient d'une vraie table ou d'un vrai cache**. Aucune carte pour les fonctions non construites. Tout ce qui existait déjà (rejoindre, fiches, ajout/import d'élève, régénération de code, planification/archivage) est conservé, juste réorganisé.
|
||||
- 3 nouveaux tests Pest (59 au total) : classe vide (aucune carte inventée), séance en cours avec élèves réels/état/correction, étanchéité entre classes d'un même prof.
|
||||
|
||||
**Vérifié sur le serveur réel** (scénario de test jetable, supprimé ensuite) : connexion par le vrai formulaire → `/mes-classes/{id}` en 200, avec la vraie classe, le vrai élève, le vrai état (« Réussi », 10/10), le vrai ratio (1/1 dans la séance), le vrai taux (100 %), et le lien console — aucune erreur.
|
||||
|
||||
**Comprendre**
|
||||
|
||||
Le piège de ce chantier n'était pas technique mais une tentation facile : recopier `/cockpit` presque à l'identique en remplaçant juste un ou deux chiffres aurait été plus rapide, et personne n'aurait rien vu tout de suite. Mais une carte « Moyenne QCM : 13,4 » sans aucun QCM derrière, ou une carte « DM rendus » sans aucun devoir, ce n'est plus une démo marketing honnête (où le bandeau d'aperçu le dit) — c'est un mensonge dans l'outil que le prof utilise vraiment pour piloter sa classe. La règle « pas de KPI inventé » du CLAUDE.md vise la vitrine ; elle compte encore plus ici.
|
||||
|
||||
**Suite**
|
||||
|
||||
Chantier « vrai cockpit », étape 2 : Quiz flash (prochaine fonction à construire pour de vrai).
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue