2.9 KiB
Édition des absences
Page : /fiche (Apprentis)
Sélectionner un apprenti
Le sélecteur en haut de la page propose une recherche en direct : tape une partie du nom, prénom ou classe pour filtrer.
Raccourcis :
/ouvre directement le sélecteurEntréesélectionne le premier résultat filtréÉchapferme la recherche
Calendrier mensuel
Chaque cellule représente un jour du mois. Les couleurs indiquent l'état :
| Couleur de fond | Signification |
|---|---|
| Blanc | Aucune absence |
| Vert clair | Toutes les absences sont excusées |
| Rose | Au moins une absence non excusée |
| Bleu | Jour sélectionné en édition |
| Bleu pâle | Aujourd'hui |
Les nombres dans les cellules :
- "2 ⚠️ 1" → 2 absences au total dont 1 non excusée
- "5" → 5 absences toutes excusées
Cliquer sur un jour avec absences ouvre le panneau d'édition.
Panneau d'édition
10 lignes (P1 à P10) avec un segmented control à 3 boutons :
- Présent (gris) — l'apprenti était là
- E (orange) — Excusée
- N (rouge) — Non excusée
Un seul clic suffit. Le bouton Enregistrer sauve toutes les modifications de la journée d'un coup. Le panneau reste ouvert après l'enregistrement pour permettre un éventuel ajustement.
Excuse rapide ("Valider toutes les absences d'une journée")
Sous le calendrier, un bandeau jaune liste les jours qui ont au moins une absence non encore traitée (statut a_traiter). Cliquer sur un de ces boutons excuse toutes les absences à traiter de ce jour-là en une seule action.
Page : /classe (Vue classe)
Sélection de classe
Même principe que pour les apprentis : recherche en direct avec /, Entrée, Échap.
Cartes apprenti
Chaque apprenti de la classe a une carte avec :
- Nom + lien vers sa fiche complète
- Badge "Sanction" si quota atteint (≥5 absences brutes en blocs)
- KPIs : Total / Excusées / Non excusées / Blocs d'absences
- Boutons de téléchargement PDF (Absences, Bulletin, Notes)
- Onglets BN / Notes d'examen pour visualiser
Audit des modifications
Chaque modification d'absence est tracée dans data/logs/operations.log :
[14:32:01] [abs] prof.demo : Dupont Marc (1MAB1) — 04.02.2026 P6 : N → E
[14:32:01] [abs] prof.demo : Dupont Marc (1MAB1) — 04.02.2026 P6 : N → E
Visible aussi sur la page /logs. Le champ updated_by de la table Absence enregistre le dernier utilisateur ayant modifié.
Effet de chaque modification
- La table
Absenceest mise à jour (ou créée/supprimée) - Une entrée
EscadaPendingest ajoutée pour le push ultérieur vers Escada - Un toast de confirmation s'affiche
- Une ligne est ajoutée à
operations.log