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>
32 lines
1.0 KiB
PHP
32 lines
1.0 KiB
PHP
<?php
|
||
|
||
declare(strict_types=1);
|
||
|
||
require_once __DIR__ . '/app/autoload.php';
|
||
|
||
use App\Controllers\PageController;
|
||
use App\Core\Security;
|
||
|
||
function runPage(string $method): void
|
||
{
|
||
try {
|
||
$pdo = require __DIR__ . '/app/bootstrap.php';
|
||
$controller = new PageController($pdo);
|
||
if (!method_exists($controller, $method)) {
|
||
throw new RuntimeException('Page inconnue.');
|
||
}
|
||
$controller->{$method}();
|
||
} catch (Throwable $e) {
|
||
http_response_code(500);
|
||
Security::sendHtmlHeaders();
|
||
$message = htmlspecialchars(
|
||
Security::reportThrowable($e, 'Une erreur technique empêche l’affichage de cette page.'),
|
||
ENT_QUOTES,
|
||
'UTF-8'
|
||
);
|
||
echo '<!doctype html><html lang="fr"><meta charset="utf-8"><title>Erreur PTA</title>';
|
||
echo '<body><h1>Impossible de démarrer PTA</h1><p>' . $message . '</p>';
|
||
echo '<p>Contactez l’administrateur de l’application : le détail de l’erreur a été journalisé.</p></body></html>';
|
||
}
|
||
}
|