Cahier de textes
Le cahier de textes (module diary) est disponible en natif dans l'application
mobile, ouvert depuis le lanceur « Mes apps ». Il affiche les
séances réellement saisies dans l'ENT — leur contenu pédagogique et les devoirs
associés — sous une vue jour par semaine.
Vue jour
L'écran présente une journée sous forme de cartes de séances : heure de début/fin, matière, classe et salle, un aperçu du contenu et un badge 📌 indiquant les éventuels devoirs. Chaque matière a sa couleur. La navigation se fait par semaine (flèches) et par jour (onglets Lun → Sam).
Parcours capturé en test e2e live —
apps/mobile/e2e/lanceur/parcours-cahier-textes-college.yaml: enseignante réelle multi-établissement (lilit.upreti001) → choix de l'établissement → cahier de textes → semaine du 8 juin → détail d'une séance de mathématiques. La capture et la vidéo de cette page en sont issues.
Détail d'une séance
Un appui sur une séance ouvre son détail : en-tête (matière, classe, horaire, salle, enseignant), contenu de la séance (texte mis en forme, rendu fidèlement) et, lorsqu'ils existent, les devoirs (type, échéance « pour le … » et énoncé).
Qui voit quoi
- Enseignant : ses propres séances (toutes classes confondues).
- Élève : les séances de sa classe (tous les enseignants).
- Parent : un onglet par enfant, montrant les séances de la classe de l'enfant.
La visibilité dans « Mes apps » est pilotée par les droits ENT : le cahier de textes n'apparaît que si l'instance l'autorise à l'utilisateur.
Données réelles
- Source : module
diary—GET /diary/sessions/own/:début/:fin/:structureId(enseignant et élève — le serveur résout les séances « propres » selon le profil),GET /diary/sessions/child/:début/:fin/:enfant(vue parent). Chaque séance porte sa matière, sa classe (audience), son enseignant, son contenu HTML et ses devoirs. - L'écran de mobilité est en lecture : la saisie des séances reste faite depuis le poste de l'enseignant (web).
La création de séances échouait sur PostgreSQL 16 : l'INSERT de diary.session liait
la colonne date en tant que chaîne sans conversion explicite (to_date), alors que PG16 ne
caste plus implicitement varchar → date. Le correctif (aligné sur l'UPDATE et l'INSERT
des devoirs qui utilisent déjà to_date) est appliqué dans
modules/cahier-de-textes (SessionServiceImpl). Sans lui, le cahier de textes restait
vide faute de pouvoir enregistrer la moindre séance.
Tests
- Jest : mapping pur (extraction matière/classe/horaires, nettoyage HTML, échéances,
tri par jour) —
apps/mobile/__tests__/cahier-textes-mapping.test.ts. - e2e Maestro live :
apps/mobile/e2e/lanceur/parcours-cahier-textes-college.yaml(enseignante réelle, séance + détail).