PTA 13ee16e25d Démarrage de la pile par un simple docker compose up
La pile de test de la branche ne démarrait pas : « Connexion à la base
impossible ». Trois causes cumulées, toutes corrigées.

1. PTA_DB_PORT et DB_PORT étaient passés à 9306. Ces variables désignent le
   port joint À L'INTÉRIEUR du réseau Docker, où MariaDB écoute sur 3306, et
   non un port publié sur l'hôte : la connexion était refusée. Elles reviennent
   à 3306, et le port hôte 9306 est désormais réellement publié par le service
   db (sur la boucle locale), pour un client SQL externe.

2. Le service db-migrate manquait sur la branche. Le schéma d'initialisation ne
   contient aucune des tables et vues d'accès V7.8 : sur un volume neuf,
   l'application refusait de démarrer. db-migrate applique maintenant tous les
   database/migration_*.sql, dont celle du tableau de bord V7.9 — plus aucune
   étape SQL manuelle.

3. Le défaut de PTA_DB_PASS (change_me) différait de celui de MARIADB_PASSWORD
   (pta). Sans fichier .env — et ce répertoire n'en a pas, il est ignoré par
   git — l'authentification échouait. Les deux défauts sont alignés.

Le bandeau du tableau de bord ne prétend plus que « tous les lieux ont des
horaires attendus » quand aucun lieu n'est enregistré.

Vérifié : volume détruit puis « docker compose up -d --build » seul suffit à
obtenir les onze pages en 200, l'atterrissage sur le tableau de bord et les deux
migrations appliquées ; un second up les ignore ; la base répond sur
127.0.0.1:9306 ; la pile principale sur 8080 est restée intacte.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-11 11:53:19 +02:00
2026-08-07 16:13:43 +02:00
2026-08-07 16:13:43 +02:00
2026-08-07 16:13:43 +02:00
2026-08-07 16:13:43 +02:00
2026-08-07 16:13:43 +02:00
2026-08-07 16:19:14 +02:00
2026-08-07 16:13:43 +02:00
2026-08-07 16:13:43 +02:00
2026-08-07 16:13:43 +02:00
2026-08-07 16:13:43 +02:00
2026-08-07 16:13:43 +02:00
2026-08-07 16:13:43 +02:00
2026-08-07 16:13:43 +02:00
2026-08-07 16:13:43 +02:00
2026-08-07 16:13:43 +02:00
2026-08-07 16:13:43 +02:00
2026-08-07 16:13:43 +02:00
2026-08-07 16:13:43 +02:00
2026-08-07 16:13:43 +02:00
2026-08-07 16:13:43 +02:00
2026-08-07 16:13:43 +02:00
2026-08-07 16:13:43 +02:00
2026-08-07 16:13:43 +02:00
2026-08-07 16:13:43 +02:00
2026-08-07 16:13:43 +02:00

PTA V6 — application PHP MVC multipage

PTA n’est plus une SPA. Chaque fonction principale correspond à une page PHP distincte :

  • planning.php : saisie, brouillon, validation et semaines types ;
  • pending.php : plannings en attente de validation ;
  • coverage.php : contrôle des créneaux sans agent ;
  • structures.php : planning hebdomadaire par lieu ;
  • agents.php : planning mensuel et bilan par agent ;
  • vacations.php : aperçu et enregistrement des vacances scolaires ;
  • administration.php : lieux, agents et règles de couverture.

index.php redirige vers le choix de rôle lors de la première visite, puis vers la page d’accueil autorisée pour le profil sélectionné.

Architecture

page PHP
  → PageController
    → Models / Services
      → View dédiée

View
  → API JSON uniquement pour les actions asynchrones utiles

Les contrôleurs métier, modèles, services PDF et endpoints API de la V5.20 sont conservés. La différence principale porte sur l’interface : plus de routeur JavaScript, plus de vues cachées et plus de chargement de tous les modules sur une seule page.

JavaScript chargé par page

  • Saisie : planning-editor.js et week-templates.js ;
  • À valider : pending-validation.js ;
  • Couverture : coverage.js ;
  • Par lieu : structure-overview.js ;
  • Par agent : agent-overview.js ;
  • Vacances : vacation-calendar.js ;
  • Administration : administration.js et la partie configuration de coverage.js.

assets/js/page-bootstrap.js initialise uniquement les modules déclarés par la page et applique les filtres transmis dans l’URL.

Liens directs

Une page de contrôle peut ouvrir directement le planning concerné :

planning.php?structure_id=2&agent_id=7&week=2026-W31&focus=validation

Installation

  1. Configurer config.php.
  2. Utiliser le schéma SQL correspondant à la V5.20.
  3. Placer le dossier sur le serveur PHP.
  4. Ouvrir index.php ou planning.php.

Aucune migration SQL supplémentaire n’est nécessaire pour passer de la V5.20 à la V6.

Version 7

Voir README_V7.md pour le nouveau socle PTA annuel, les équipes des mercredis/vacances et les contrôles métier associés.

V7.2 — Vue annuelle

La page annual.php reproduit l’esprit du tableau annuel historique : douze mois côte à côte, codes AP/PP/AE/PE, couleurs métier, vacances scolaires et accès direct à la semaine à corriger. Voir README_V7_2.md.

V7.8 — Sécurité et droits en base

Les correctifs de sécurité et le déplacement de la matrice des droits dans des vues SQL sont décrits dans README_V7_8.md. La migration database/migration_v7_8_securite_acces.sql est obligatoire.

V7.4 — Rôles et droits d’accès

La première arrivée ouvre role.php. Les droits Agent, Responsable de structure et Service Enfance sont vérifiés dans les pages et les contrôleurs API. Voir README_V7_4.md.

Description
No description provided
Readme 1.4 MiB
Languages
PHP 67.1%
JavaScript 26.9%
CSS 5.5%
Shell 0.4%