diff --git a/MEMORY.md b/MEMORY.md index 757ab0d..67c5a97 100644 --- a/MEMORY.md +++ b/MEMORY.md @@ -203,6 +203,77 @@ Approche progressive recommandee: - suivi fin des fiches vues / exercices faits - Vigilance langue française: les libellés visibles doivent utiliser les accents et formulations françaises correctes, par exemple `Démarrer la leçon`. +## Session Programme / Mobile / Fiches SVG + +- Le contenu pedagogique a ete copie dans le repo sous: + - `backend/contenus_pedagogiques` +- Objectif: le `git pull` serveur doit recuperer les contenus pedagogiques en meme temps que l'application. +- Le backend cherche maintenant le contenu prioritairement dans: + - `backend/contenus_pedagogiques` en local + - `/app/contenus_pedagogiques` dans le conteneur backend + - puis les anciens chemins externes si besoin +- Le cas test valide localement: + - niveau: `CM1` + - lecon: `CM1 - Nombres entiers` + - 7 fiches SVG detectees +- Le mode admin ne doit plus afficher Professeur TOP ni permettre de dialoguer avec lui. +- Le mode admin est maintenant une console de gestion: + - selection / creation d'eleve + - affectation d'une lecon active + - resume de l'eleve selectionne + - apercu des fiches SVG de la lecon +- Le mode eleve reste le seul mode avec Professeur TOP, voix, saisie, micro et affichage de lecon. +- Les fiches SVG sont decoupees dynamiquement en etapes/cards a partir des grands groupes `` internes. +- Exemple pour la premiere fiche `Lecture Ecriture Nombres Entiers`: + - `La méthode` + - `Exemple` + - `À retenir` + - `Exemples résolus` +- Le frontend avance maintenant par etape de fiche plutot que seulement par fiche entiere. +- Le pourcentage affiche dans la lecon est calcule sur toutes les etapes detectees: + - progression proportionnelle + - fin de parcours arrondie a 100% +- Sur laptop: + - la fiche/card reste lisible dans la zone centrale + - le parcours pedagogique doit quand meme suivre les cards une par une +- Sur telephone: + - ne pas afficher les 7 fiches d'un coup + - ne pas afficher la fiche paysage complete + - afficher une seule card recadree en gros plan + - la card doit prendre le maximum de largeur possible + - eviter les doubles encadrements: pas de card dans une card dans l'encadre bleu + - les bords de la card doivent presque toucher les cotes de l'ecran + - les boutons precedent/suivant doivent rester petits et secondaires + - une seule zone eleve en bas: elle sert a la fois a taper et a recevoir la transcription micro +- Le bouton/lien "Agrandir la fiche" a ete retire apres decoupage des cards: la card doit etre lisible directement. +- Le texte visible de Professeur TOP est compacte a l'ecran pour garder de la place a la card. +- La voix peut rester plus longue, mais l'affichage texte ne doit pas occuper trop de hauteur. +- Le frontend envoie maintenant au backend un contexte de lecon avec `/chat`: + - titre de lecon + - titre de fiche + - titre de card/section affichee + - pourcentage d'avancement +- Le backend ajoute ce contexte au prompt pour que Professeur TOP parle de la card actuellement affichee. +- Au demarrage de seance, si une lecon est affectee, Professeur TOP doit parler de la premiere card affichee et verifier la comprehension. +- Probleme restant important: + - Professeur TOP ne pilote pas encore automatiquement le changement de card. + - Prochaine brique: faire produire une intention structuree du type `advance_lesson_step=true` quand l'eleve dit qu'il a compris. + - Le frontend devra alors avancer automatiquement a la card suivante. +- Probleme principal restant: + - Le discours de Professeur TOP n'est pas encore assez correle a la card affichee. + - Le simple contexte `titre de card + titre de fiche` ne suffit pas toujours: le modele peut repartir sur l'historique ou une notion voisine. + - Il faudra probablement generer et stocker un texte pedagogique specifique par fiche/card. + - Ce texte de card devra decrire exactement ce qui est affiche, proposer une consigne orale courte et verifier la comprehension. + - Exemple attendu: pour la card `La méthode`, Professeur TOP doit expliquer le decoupage en groupes de 3 chiffres, puis demander si l'eleve comprend cette methode. + - Ces textes pourraient etre generes depuis les SVG/Markdown puis sauvegardes comme metadonnees de programme, plutot que recrees a chaque seance. +- Direction pedagogique retenue: + - Professeur TOP presente la card active. + - Il demande si l'eleve comprend. + - Si oui, il passe a la card suivante. + - Si non, il explique uniquement cette card, avec un exemple court. + - Sur laptop il peut dire par exemple "en haut a gauche, tu vois la méthode". + - Sur telephone il doit parler de la card affichee en gros plan. + ## Plan de Dev Acces Eleve / Admin 1. Socle comptes et roles: table `users`, hash password, seed admin depuis `.env`, login, session courante.