4.3 KiB
PTA V7.14 — Groupe « Management » : les agents et les lieux ont chacun leur onglet
Le problème traité
L’onglet « Administration » réunissait trois objets sans rapport les uns avec les autres :
- le référentiel des agents (création, fiches, rattachements) ;
- le référentiel des lieux d’affectation (création, type périscolaire/extrascolaire) ;
- les horaires de couverture attendus, qui ne décrivent ni une personne ni un lieu mais une exigence de présence.
L’écran était aussi organisé à l’envers : les deux formulaires de création côte à côte en haut, puis les deux tableaux plus bas, séparés par les horaires de couverture. Créer un agent puis vérifier sa fiche demandait de traverser tout l’écran.
Ce qui change
1. Un groupe de navigation « Management », deux onglets
La barre de navigation gagne un cinquième groupe, au même titre que « Piloter », « Planifier », « Consulter » et « Paramétrer » :
| Groupe | Onglets |
|---|---|
| Piloter | Tableau de bord, À valider, Couverture |
| Planifier | Saisie, Équipes |
| Consulter | Par agent, Par lieu, Vue annuelle, PTA détaillé |
| Management | Agents, Lieux d’affectation |
| Paramétrer | Vacances, Administration, Accès & journaux |
Chaque onglet porte la création puis la liste de son objet : « Ajouter un agent » puis « Informations des agents » ; « Ajouter un lieu » puis « Paramètres des lieux ». C’est l’ordre du travail réel.
Le groupe se place volontairement avant « Paramétrer » : on y crée et corrige au fil de l’eau, là où « Paramétrer » se règle une fois pour l’année.
2. « Administration » ne garde que la couverture
Il ne reste que l’encadré « Horaires de couverture des lieux » — le paramètre que contrôle l’onglet
« Couverture ». Le sous-titre de la page le dit, et la page ne charge plus que le module coverage :
les 578 lignes du module administration partent avec les deux nouveaux onglets.
3. Rien n’a changé côté serveur
Endpoints, gardes, contrôles et modules JS sont identiques : c’est un déplacement de markup, pas
une réécriture. Les identifiants HTML — points d’ancrage du module administration — sont conservés
à la lettre, et ce module fonctionne indifféremment sur l’un ou l’autre onglet : ses écouteurs sont
tous posés en ?., donc sans effet quand l’élément visé n’est pas sur la page.
Deux adaptations d’affichage : le raccourci du tableau de bord pointe sur « Agents », et le guide d’utilisation renvoie aux nouveaux onglets. La tuile « Lieux à paramétrer » continue de mener à « Administration » : elle parle bien de couverture.
Une singularité de nommage à connaître
Les deux méthodes de PageController s’appellent manage_agents() et manage_structures(), en
snake_case, à rebours de tout le reste du projet. Ce n’est pas un oubli : le nom de la méthode est
la clé de page passée à runPage() et inscrite dans acces_role_page, où les clés sont en
minuscules (dashboard, coverage, pending…). Garder les deux identiques prime sur l’uniformité
de style — c’est cette identité qui permet à PTA de se passer de routeur.
Fichiers
| Fichier | Rôle |
|---|---|
database/migration_v7_9g_management.sql |
Droits d’accès aux deux pages pour le Service Enfance |
manage_agents.php, manage_structures.php |
Points d’entrée |
app/Views/pages/manage_*.php, app/Views/partials/manage_*.php |
Vues et markup déplacé |
app/Views/partials/administration.php |
Ne conserve que les horaires de couverture |
app/Controllers/PageController.php |
manage_agents(), manage_structures(), administration() allégé |
app/Views/layouts/header.php |
Groupe « Management » dans $navigationGroups |
app/Views/partials/dashboard.php, app/Views/partials/faq.php |
Renvois mis à jour |
Point d’attention
Sans la migration, les pages sont refusées et les onglets n’apparaissent pas — c’est la règle de PTA
depuis la V7.8 : les pages autorisées sont lues en base, jamais écrites en PHP. La migration
supprime au passage la ligne management d’une version intermédiaire : une page inconnue laissée
dans acces_role_page finirait dans le groupe de repêchage « Autres » de la barre de navigation.