81 lines
4.3 KiB
Markdown
81 lines
4.3 KiB
Markdown
# 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.
|