V7.10 — Tableau de bord, guide, semaine type et enveloppe de formation

Reprise dans le répertoire de production du travail mené dans le worktree
ux-service-enfance :

- tableau de bord Service Enfance (dashboard.php) et navigation regroupée ;
- guide d'utilisation (faq.php) accessible depuis toute la navigation ;
- éditeur de semaine type mis en avant sur l'écran de saisie ;
- droit à l'enveloppe de formation par agent, en remplacement de la case
  « formation déjà prévue dans la répartition annuelle » ;
- correctif de « [object Object] » sur les cartes de quota du PTA ;
- motif de travail par défaut à la saisie, heures travaillées complètes
  dans les PDF.

Le docker-compose.yml de production est conservé : celui du worktree décrit
une pile de test (conteneurs et volume suffixés « test », ports 9080/9081),
qui aurait fait redémarrer l'application sur un volume MariaDB vide.

Les migrations database/migration_v7_9*.sql sont obligatoires ; le service
db-migrate les applique au déploiement.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
PTA
2026-08-17 16:53:04 +02:00
parent 57bd8da5c8
commit 4201894e28
69 changed files with 5228 additions and 246 deletions

View File

@@ -5,13 +5,20 @@ declare(strict_types=1);
require_once __DIR__ . '/app/autoload.php';
use App\Controllers\RoleController;
use App\Core\Security;
try {
$pdo = require __DIR__ . '/app/bootstrap.php';
(new RoleController($pdo))->index();
} catch (Throwable $e) {
http_response_code(500);
Security::sendHtmlHeaders();
$message = htmlspecialchars(
Security::reportThrowable($e, 'Une erreur technique empêche l’affichage de la sélection du rôle.'),
ENT_QUOTES,
'UTF-8'
);
echo '<!doctype html><html lang="fr"><meta charset="utf-8"><title>Erreur PTA</title>';
echo '<body style="font-family:Arial,sans-serif;padding:32px;max-width:900px;margin:auto">';
echo '<h1>Impossible d’ouvrir la sélection du rôle</h1><p>' . htmlspecialchars($e->getMessage(), ENT_QUOTES, 'UTF-8') . '</p></body></html>';
echo '<body><h1>Impossible d’ouvrir la sélection du rôle</h1><p>' . $message . '</p>';
echo '<p>Contactez l’administrateur de l’application : le détail de l’erreur a été journalisé.</p></body></html>';
}