Skip to main content

Fil de nouveautés — détails techniques

Fiche fonctionnelle

Description et fonctionnalités de ce module : Fil de nouveautés.

Couverture de tests

1 scénario(s) e2e couvrent ce module — dossier apps/open-ent-e2e/src/modules/17_fil_nouveautes.

1 test(s) e2e dans 1 scénario(s) — voir le détail

Fil de nouveautés 01_acces_et_chargement_du_fil.spec.ts

  • accès et chargement du fil

➡️ Statut dans le dashboard E2E · Résultats détaillés

La page « toutes les notifications » du dashboard (/dashboard/home/notifications) est en outre couverte par apps/dashboard-e2e/src/tests/13_notifications_page.spec.ts (rendu du fil et des dates importantes, « Tout marquer comme lu », lien interne de la cloche), exécutée sous le profil chef.

Intégration dashboard (page plein écran)

Sur Open ENT v3, le fil de nouveautés est intégré au dashboard plutôt que servi par l'ancienne application timeline. L'expérience repose sur le cœur timeline entcore existant, enrichie côté dashboard sans patch du backend.

AspectMise en œuvre
Pageapps/dashboard/src/app/home/notifications/page.tsx — onglets Fil de nouveautés (paginé, filtres par application, regroupement par période) et Dates importantes.
Hooksrc/hooks/useNotifications.ts — pagination via @openent/ts-client (loadNotifications/hasMorePage), filtre preferences.type, showMine, polling optionnel (badge de la cloche).
État de lectureentcore ne marque jamais une notification « lue » côté serveur (markEventsAsRead est inutilisé). L'état « non lu » est dérivé d'un horodatage lastRead persisté en préférence utilisateur /userbook/preference/timelineRead ; « Tout marquer comme lu » avance cet horodatage.
Dates importantesAgrégées côté dashboard : GET /api/notifications/agendaGET /calendar/calendars puis GET /calendar/events/widget (événements dont endMoment ≥ maintenant).
Anniversaires (option)GET /api/notifications/birthdaysGET /userbook/person/birthday (élèves de la classe, mois courant). Désactivés par défaut (opt-in), préférence dans timelineRead.
Routes proxysrc/app/api/notifications/{read-state,agenda,birthdays} (+ defaults, preferences, :id/discard existantes), authentifiées via buildOpenEntHeaders.
Pas de patch entcore

Cette fonctionnalité est 100 % côté dashboard (frontend) : aucun module entcore n'est modifié, donc pas de tag/nexus/fat-jar. Le déploiement suit le cycle habituel du dashboard (build nx + image docker + rollout).

Conformité

Évaluation au référentiel Open ENT NG (module timeline).

Maillon de la chaîne qualitéRéférence
🎯 Fonctionnalités attenduesfiche fonctionnelle
🧪 Tests réaliséscouverture e2e
✅ Tests de conformitétableau de conformité