1. Questions Fréquentes des Utilisateurs (Support N1)
Q1 : Pourquoi certains enregistrements n'apparaissent-ils pas dans la liste du module Vie Scolaire, Absences & Discipline ?
- Réponse courte : La liste est filtrée automatiquement sur l'établissement courant (
school_id) et l'année académique sélectionnée (academic_year_id). - Procédure de résolution :
- Vérifier l'année scolaire active dans la barre supérieure.
- Réinitialiser les filtres de recherche actifs sur la page.
- Source technique vérifiée : Voir <code>.agents/skills/viescolaire-sygec/SKILL.md</code>.
Q2 : Pourquoi l'action de suppression ou de validation renvoie-t-elle une erreur d'autorisation (403) ?
- Réponse courte : Les opérations sensibles du module Vie Scolaire, Absences & Discipline sont protégées par le contrôle d'accès par rôle (RBAC) et la validation CSRF.
- Procédure de résolution : Vérifier que votre profil utilisateur dispose de la permission requise auprès de l'administrateur de l'établissement.
2. Questions Techniques & Diagnostic (Support N2 / N3)
Q3 : Quelles sont les tables MySQL et les sources PHP impliquées dans Vie Scolaire, Absences & Discipline ?
- Tables SQL principales :
absences,sanctions,inscriptions - Fichiers sources indexés :
- <code>SKILL.md</code> (
skill_md, 57 lignes, hash3caa364d280c) — Méthodes : Aucune méthode publique directe - <code>AbsencesController.php</code> (
controller, 1985 lignes, hash04ededddd261) — Méthodes :__construct()(L18),install()(L27),tableExists()(L116),installDataTable()(L129),verifyStructure()(L160),updateStructure()(L195),index()(L438),add()(L523) - <code>SanctionsController.php</code> (
controller, 480 lignes, hash3157e376aa27) — Méthodes :getFilterFields()(L353),initialize()(L397) - <code>VieScolaireService.php</code> (
service, 404 lignes, hash17ae280e373b) — Méthodes :__construct()(L20),dashboard()(L29),recordAbsence()(L78),justifyAbsence()(L148),getClassAttendanceMatrix()(L205),getStudentDisciplineFile()(L289),recordSanction()(L357) - <code>VieScolaireApiController.php</code> (
api_controller, 99 lignes, hash8155020a3d87) — Méthodes :__construct()(L19),dashboard()(L28),recordAbsence()(L39),justifyAbsence()(L50),classMatrix()(L62),studentDiscipline()(L79),recordSanction()(L92)
Q4 : Comment exécuter le test de non-régression de ce module ?
Exécuter en ligne de commande à la racine du projet :
```bash
php app/run_viescolaire_api_tests.php
```