Files
pta/docs/README_V7_14.md
2026-08-20 17:00:06 +02:00

4.3 KiB
Raw Permalink Blame History

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.