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

81 lines
4.3 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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.