ESAAT

Notes de version

Générées automatiquement à chaque mise à jour (Changesets).

Retour à l'intranet

0.23.2

Patch Changes

  • Le formulaire de signalement joint désormais le navigateur et la version de l'app au rapport.
  • Bouton « Signaler un problème » : texte quasi invisible sur le fond sombre de la navbar (variant Mantine pensé pour un fond clair) — corrigé pour hériter du même contraste que les liens de navigation.

0.23.1

Patch Changes

  • Indicateur de dev Next.js déplacé en bas à droite (chevauchait le bouton « Signaler un problème » de la navbar, tous deux en bas à gauche par défaut).

0.23.0

Minor Changes

  • Fiche promotion : bouton « Bulletins de la classe (zip) » (onglet Étudiants) — télécharge en un clic les bulletins de tous les semestres du niveau pour tous les élèves de la classe.

0.22.0

Minor Changes

  • Assistant de bascule annuelle : nouvelle page dédiée /int/promotions/bascule (récapitulatif + import CSV optionnels avec aperçu ligne à ligne), remplace l'ancien bouton « Forcer le passage » compressé dans Configuration → Scolarité (qui s'y limite désormais à un lien). Entrée de navigation sous Scolarité → Classes & promotions.

    Corrige aussi l'affichage des badges de statut sur la page Rattrapages (« Décidée »/« Validé »/« Non validé » tronqués en DÉ.../VA... dans une colonne trop étroite).

Patch Changes

  • Bannière de bas de page : texte mis à jour pour la bêta (invite à signaler via le bouton dédié).

0.21.0

Minor Changes

  • Page Import/Export CSV : ajout de l'import (utilisateurs, niveaux d'évaluation) en plus des exports existants. Bouton « Signaler un problème » ajouté en pied de navbar. Correction des polices Acumin Pro (noms de fichiers ne correspondaient pas aux requêtes @font-face). Bouton de suppression (admin) sur la page Rattrapages.

0.20.2

Patch Changes

  • Commission : le mode « Rattrapage » d'une UE n'est plus effacé au rechargement de la page, et affiche désormais un badge « Validé par rattrapage » (ou « Rattrapage en cours ») une fois la décision administrative rendue — sans jamais l'écraser si la commission est resauvegardée (une seule commission, le rattrapage est décidé à part). Le compteur « X / Y validées » reflète maintenant l'état réel de validation.

0.20.1

Patch Changes

    • Bulletin élève : une UE validée via rattrapage affiche « Validée par rattrapage » (teal) au lieu de « Validée ».
    • Page Rattrapages : affiche toutes les convocations par défaut (colonnes Classe/Semestre) quand aucun filtre n'est choisi, au lieu d'un tableau vide.

0.20.0

Minor Changes

    • Page Rattrapages (/int/rattrapages, groupe Évaluation) : synchronisation depuis la commission, tableau des convocations (élève, UE, EC à repasser), saisie des résultats par EC, décision Valider/Refuser (coordo/admin).
    • Commission : en mode rattrapage, tous les EC de l'UE (référentiel) sont proposés à cocher — plus seulement les EC déjà évalués.
    • Élève : ses rattrapages (EC à repasser, résultats, décision) dans « Validation du semestre » ; semestre présélectionné automatiquement (fenêtres de saisie de la config) sur Mes résultats et Validation du semestre.
    • Config → Évaluations : édition des dates de publication des résultats par semestre (vide = dès la clôture de commission).

0.19.0

Minor Changes

    • Mes résultats : notes d'évaluations groupées par matière (tri par libellé, évals par date, description affichée).
    • Nouvelle page « Validation du semestre » (/int/results/bulletin) : décisions de commission, niveaux par bloc, UE validées et ECTS — séparée des notes, avec entrée de navigation dédiée.
    • Tableau de bord étudiant : widgets « Mes dernières notes » (3 dernières, tous semestres) et « Poursuite d'étude » (statut de la fiche / campagne).

0.18.1

Patch Changes

  • Les messages d'erreur de l'API (anglais, contrat stable) sont traduits en français côté client via un dictionnaire centralisé (lib/api/messages.ts) — ex. « Entry window is closed… » → « La fenêtre de saisie est fermée pour ce semestre. » Repli sur le message brut si inconnu.

0.18.0

Minor Changes

    • Évaluations : champ description (consignes, visible des élèves) à la création et à l'édition, affiché sur la grille ; sélecteur de semestre dans la création, présélectionné selon les fenêtres de saisie de la config (sinon la saison), qui filtre la liste des matières.
    • PDF : sélecteurs de contexte adaptés au type de document (professeur pour le récap, demande pour la fiche poursuite) dans l'aperçu et la génération.
    • Fix : avertissement « script tag » au rendu (ColorSchemeScript retiré, thème clair uniquement) ; import manquant dans le stepper.
    • Dockerfile de production (Next standalone) pour la CI/CD.

0.17.1

Patch Changes

    • Promotions : l'année déterminée automatiquement est la fin de cursus (1ʳᵉ année DN MADE créée à l'été 2026 → 2029 ; durée selon le diplôme), recalculée quand on change diplôme/niveau.
    • Fiche utilisateur : la classe de l'étudiant et les promotions coordonnées se choisissent dans des listes déroulantes des vraies classes (fini la saisie d'identifiants).

0.17.0

Minor Changes

    • 2FA au login : quand le compte a la double authentification, le login passe en 2ᵉ étape (code à 6 chiffres, PinInput, validation automatique) — flux complet vérifié avec le backend (/2fa/verify).
    • Changelog en onglets : un onglet par module (Application + chaque service/paquet, badge de version).
    • Navbar : version réelle de l'application dans le pied (« ESAAT v0.x.y · notes de version »).
    • Année scolaire : bascule au 1ᵉʳ juillet (une promo créée en été prépare la rentrée suivante — fin 2027 en juillet 2026).
    • Mes évaluations : chaque niveau porte la ref de la compétence (C1.1…) et son énoncé au survol.

0.16.0

Minor Changes

  • Page /changelog publique : notes de version générées automatiquement depuis les CHANGELOG.md écrits par Changesets (application + accordéon par service, badge de version). La bannière « version en développement » pointe dessus (« voir les changelogs » cliquable) + lien « notes de version » dans le pied de la navbar.

0.15.1

Patch Changes

  • Bannière fixe « Version en cours de développement — des bugs peuvent exister et des fonctionnalités peuvent ne pas être encore complètement implémentées, voir les changelogs. » affichée en bas de toutes les pages.

0.15.0

Minor Changes

    • Page admin « Exports CSV » (/int/exports) : tous les exports au même endroit (utilisateurs par rôle, classes & promotions, récap des évaluations).
    • Poursuite d'étude (/int/poursuite, groupe Scolarité) : formulaire étudiant (vœux ordonnés + lettre, verrouillé au dépôt), timeline de progression, téléchargement PDF de la fiche (étudiant quand terminée, staff toujours) ; liste staff avec dépôt d'avis (prof/coordo/direction), réouverture et suppression admin. Onglet de config « Poursuite d'étude » (ouverture de campagne + message).
    • Mes résultats : le bulletin s'affiche dès la commission close (fix) + nouvelle section « Mes évaluations » (notes rendues visibles par les profs).
    • Évaluations : le prof contrôle la visibilité des résultats (masqués / immédiat / à une date) depuis la grille.
    • Commission : badge d'état à hauteur des contrôles + bouton « Réouvrir la commission ».

0.14.1

Patch Changes

  • Page d'une évaluation : boutons « Feuille CSV » (export 1 ligne/élève × 1 colonne/compétence) et « Importer CSV » (simulation puis fusion) directement depuis la grille.

0.14.0

Minor Changes

    • CSV : boutons Exporter/Importer sur la page utilisateurs et la page évaluations (modal d'import générique avec simulation et rapport ligne à ligne).
    • Mot de passe oublié : lien sur la page de connexion (modal d'envoi du lien) + nouvelle page /reset-password (cible du mail).
    • Comptes Google-only : case « Compte sans mot de passe (connexion via Google uniquement) » à la création d'un utilisateur.

0.13.2

Patch Changes

  • Login : widget captcha en français avec messages explicites (« Protection anti-robots — vérification automatique », « Vérifié : vous n'êtes pas un robot ✓ »…) ; bouton Google renommé « Connexion profs & étudiants via Google ».

0.13.1

Patch Changes

  • Captcha : widget ALTCHA v3 configuré via l'API configure() (l'attribut challengeurl v1 n'existe plus) — corrige « Verification failed » sur la page de connexion.

0.13.0

Minor Changes

  • Captcha ALTCHA non invasif sur la page de connexion : le widget résout une preuve de travail automatiquement en arrière-plan pendant la saisie (pas d'images à cliquer), le bouton se déverrouille une fois vérifié.

0.12.0

Minor Changes

  • Recherche d'utilisateurs partagée (modules/users/user-search) : hook de résolution des noms de promotions, matcher (nom, e-mail, promo), champ de recherche et UserMultiSelect réutilisable. Appliquée à la page utilisateurs (barre de recherche + colonne Promo avec le nom de la promotion au lieu de l'id) et au ciblage des notifications (« Prénom Nom — Promo », promo cherchable).

0.11.0

Minor Changes

  • Notifications « bandeau » : case à cocher côté admin, bandeaux Alert affichés au-dessus du contenu jusqu'à lecture (croix = marquer lu). Refactor : état des notifications partagé dans un NotificationsProvider (un seul flux SSE pour la cloche et les bandeaux).

0.10.0

Minor Changes

  • 13a1fd1: Aide en ligne : bouton « ? » contextuel dans le header (Drawer affichant l'aide de la page courante), page /int/faq (liste + recherche + édition admin), rendu markdown (react-markdown). Nouvelle capacité faq:manage.
  • 3463220: - Notifications : cloche dans le header (badge non-lues, aperçu, marquer lu) mise à jour en direct (SSE + toast), page /int/notifications (boîte personnelle + composition/historique admin : ciblage, canaux site/e-mail), 6 types avec icônes (info, succès, alerte, système, mise à jour, évènement) ; les évènements portent une date/plage horaire (formulaire + affichage cloche/liste). Capacité notifications:manage.
    • Session : rafraîchissement automatique du jeton sur 401 (fini les « Unauthorized » après 15 min).
    • Navbar réorganisée en groupes repliables (Scolarité / Évaluation / Administration), le groupe de la page courante s'ouvre automatiquement.
    • Promotions : le champ « Année scolaire » du formulaire est remplacé par l'année de fin déterminée automatiquement.
    • Évaluations : retrait des boutons bulletin PDF (en-tête et par élève) ; nouveau bouton « Récap PDF » des évaluations du professeur connecté.

Toutes les évolutions notables du front. Versionnage SemVer.

[0.9.2] — 2026-07-03

Modifié

  • Année scolaire affichée par son année de fin (header + colonne « Année scolaire » des promotions), ex. « 2026 ».

[0.9.1] — 2026-07-02

Ajouté

  • Badge année scolaire courante dans le header (calculée depuis la date, rentrée = septembre).

[0.9.0] — 2026-07-02

Ajouté

  • Configuration → Scolarité : date de passage des classes + bouton « Forcer le passage maintenant » (déclenche le rollover côté promotions).

[0.8.0] — 2026-07-02

Ajouté

  • Thème éditable (src/app/theme.css) : tokens --esaat-* (rayons, couleurs) branchés sur Mantine via theme.ts (échelle de rayon, badges au rayon de base) et globals.css (fond, header, navbar). Rayon 0 → UI carrée.
  • Sélecteur de thèmes par section dans Mon profil : ESAAT + 6 sections (charte esaat-roubaix.com) ; l'accent recolore la couleur primaire et la navbar (contraste du texte auto-adapté), persisté en localStorage.
  • Logo ESAAT dans le header (cliquable → accueil) et sur la page de connexion.
  • Bouton « Continuer avec Google » sur le login (OAuth déjà géré côté auth).

Modifié

  • Commission : niveaux par bloc affichés dans le tooltip de la matière (UE) au survol, au lieu de puces permanentes.

Ajouté

  • Bulletins (/int/bulletins, profs) : saisie de l'appréciation par matière (EC du semestre sélectionné), 6 semestres pour les admins, appréciations des professeurs consultables en modale.
  • Commissions (/int/commissions) : interface élève par élève (recherche
    • navigation ◀▶), toutes les UE du semestre en cartes colorées, niveau par UE éditable au clic (défaut = calculé, auto-validé si ≥ seuil), mode de validation (compensation / rattrapage), sélection des EC en rattrapage, détail par bloc coloré, tooltip professeur.
  • Mes résultats (/int/results, élève) : niveaux par bloc et par UE une fois publiés.
  • Niveaux affichés en libellés textuels (Insuffisant / Fragile / Satisfaisant / Très bonne maîtrise) partout ; plus de niveau global.

[0.6.0] — 2026-06-30

Ajouté

  • Documents PDF : page admin /int/pdf de gestion des templates {{var}} (éditeur HTML, aperçu via iframe, variables disponibles par type de document) et capacité pdf:manage.
  • Génération depuis les évaluations : bouton « Documents » (liste) et action « Bulletin » par élève (grille de saisie) → téléchargement du PDF (attestation de compétences, attestation d'ECTS, bulletin). Capacité pdf:generate. Helpers API apiBlob/apiText/downloadBlob.

[0.5.0] — 2026-06-30

Ajouté

  • Header : menu avatar (initiales) en haut à droite → nom + rôle, « Mon profil » et « Déconnexion » (remplace le texte + bouton libellé).
  • Création d'évaluation en stepper : page dédiée /int/evaluations/new avec un parcours guidé en 4 étapes (classe & matière → détails → compétences → récapitulatif).
  • Sélecteur de compétences retravaillé (CompetencySelector) : accordéon par bloc, cases à cocher, « tout le bloc », recherche et compteurs. Réutilisé par le stepper et l'édition.
  • Édition des compétences a posteriori : depuis la page d'une évaluation, bouton « Modifier les compétences » (avec avertissement si des niveaux déjà saisis seraient perdus).
  • Tableau de bord par rôle : professeur → « Mes évaluations » (avancement de saisie, à compléter) + « Fenêtres de saisie » (état par semestre lu depuis la config) ; admin → volumétrie + annuaire.

Modifié

  • Le hook useEvaluationCatalog factorise le catalogue de saisie (classes/EC restreints aux affectations, compétences par bloc). La modale de la liste se limite désormais à l'édition titre/date.

[0.4.1] — 2026-06-30

Modifié

  • Typographie : Acumin Pro pour le corps et les titres (auparavant GT Spectra sur les titres). Déclarations @font-face GT Spectra retirées.

[0.4.0] — 2026-06-29

Ajouté

  • Configuration (admins) : page /int/config par onglets (capacité config:manage, nav + raccourci tableau de bord). Section Évaluations (seuil d'acquisition, compensation, fenêtres de saisie par semestre, échelle de maîtrise, visibilité élève, sessions, attestation) et section Notifications (types déclenchant un email). Découpée en modules/config/.

[0.3.0] — 2026-06-29

Modifié

  • Évaluations : à la création, la classe et la matière (EC) proposées sont limitées aux affectations du professeur (admin : tout). Plus de matières non affectées dans la modale.
  • Refactor : la feature évaluations est découpée en composants (modules/evaluations/ : EvaluationsView, EvaluationFilters, EvaluationsTable, EvaluationFormModal, EvaluationGrid) ; les pages app/int/evaluations ne sont plus que de fines enveloppes.

[0.2.0] — 2026-06-29

Ajouté

  • Interface par rôle : module de permissions (lib/permissions.ts, capacités par rôle), navigation filtrée selon le rôle, garde de route (redirection vers le tableau de bord si la capacité manque), tableau de bord adaptatif (accès rapides selon le rôle ; annuaire réservé aux admins).
  • Évaluations : masquage des actions selon les droits — bouton Créer (profs/admins), Modifier/Supprimer par ligne (propriétaire ou admin), grille en lecture seule pour les non‑propriétaires.

[0.1.0] — 2026-06-29

Ajouté

  • Évaluations : page de saisie des niveaux de maîtrise par compétence (grille élèves × compétences, échelle 1‑4, légende, cellules colorées, intitulés tronqués avec tooltip).
  • Évaluations : filtres sur la liste (classe, professeur, UE, semestre, élève) et modification d'une évaluation existante (titre, date, compétences) via modale.
  • Évaluations : sélection des compétences groupée par bloc à la création.
  • Classes : page détail (onglets Élèves / Groupes / Affectations), gestion des sous‑groupes et des affectations EC↔professeurs.
  • Profil : page de profil avec activation/désactivation de la 2FA (TOTP).
  • Référentiel : consultation par mention (UE/EC, blocs, compétences avec code C{bloc}.{ordre}).

Modifié

  • api.ts découpé en modules par domaine (client, auth, users, referentiel, promotions, classes, evaluations) derrière une façade @/lib/api.
Version bêta. Des bugs peuvent encore exister, merci de les signaler via le bouton « Signaler un problème » de la navbar, voir aussi les changelogs.