Carnet de liaison — détails techniques
Description et fonctionnalités de ce module : Carnet de liaison.
Couverture de tests
2 scénarios e2e couvrent ce module — dossier apps/open-ent-e2e/src/modules/42_carnet_de_liaison.
Le premier sert aussi de seed : il crée de vrais mots de liaison que l'espace parent
(application mobile) consomme.
8 test(s) e2e dans 2 fichiers — voir le détail
Carnet de liaison — enseignant 01_carnet_de_liaison.spec.ts
- accès au module
- création de messages de liaison (seed)
- liste des messages envoyés
Carnet de liaison — renvoi automatique 02_renvoi_automatique.spec.ts
- paramétrage du renvoi automatique
- composer un message avec renvoi automatique
- suivi du renvoi automatique sur un message envoyé
- relance manuelle : tous, ou parent par parent
- suivi des accusés : noms des destinataires
Renvoi automatique des mots non consultés
Fonctionnalité ajoutée au module schoolbook (migration SQL 003-auto-reminders.sql).
- Préférences enseignant : table
schoolbook.reminder_settings(par expéditeur + établissement) —enabled,delay_hours(1–720),max_reminders(1–10). Exposées parGET/PUT /schoolbook/api/reminder-settings(workflowschoolbook.message.create). - Snapshot par message : à l'envoi, les colonnes
auto_reminder,reminder_delay_hours,max_reminderssont figées sur la ligneschoolbook.messagesdepuis les préférences de l'enseignant (une valeur explicite dans la requête prime).reminder_countetlast_reminder_attracent les relances effectuées. - Worker planifié :
ReminderWorkerdéclenché par unCronTrigger(configreminder-cron, par défaut horaire). Il balaie les messages dont le délai est dépassé, qui n'ont pas atteint le plafond de relances et qui ont encore des destinatairesPENDING, puis renotifie ces destinataires (timelineschoolbook.liaison_reminder+ push) et incrémente le compteur. - La relance manuelle (
POST /schoolbook/api/messages/:id/remind) réutilise le même chemin de notification. Le corps accepte unrecipientIdoptionnel : fourni → relance ce seul destinataire (parent par parent) ; absent → relance tous les destinatairesPENDING. - Le suivi des réponses (
GET /schoolbook/api/messages/:id/recipients) résout les identifiants de destinataires en noms via l'annuaire Neo4j (champdisplayName, repli sur l'id) — y compris pour des parents qui ne se sont jamais connectés.
Les scénarios de rédaction/envoi s'exécutent sur l'établissement de référence cd16-primaire (E.P.PU-JULES FERRY-PONTIVY, classe de CE2) : ils requièrent les données primaire (élève + familles) absentes des autres environnements. Les captures de cette page en sont issues.
➡️ Statut dans le dashboard E2E · Résultats détaillés
Conformité
Évaluation au référentiel Open ENT NG (module schoolbook).
| Maillon de la chaîne qualité | Référence |
|---|---|
| 🎯 Fonctionnalités attendues | fiche fonctionnelle |
| 🧪 Tests réalisés | couverture e2e |
| ✅ Tests de conformité | tableau de conformité |