Files
pta/role.php
2026-08-20 13:22:49 +02:00

36 lines
1.3 KiB
PHP

<?php
declare(strict_types=1);
require_once __DIR__ . '/app/autoload.php';
/**
* Sélecteur de rôle — point d'entrée hors périmètre de page_bootstrap.php.
*
* Cette page ne peut pas passer par runPage() : elle est justement celle qui
* s'affiche AVANT qu'un rôle soit choisi, donc avant tout contrôle d'accès. Elle
* porte pour cette raison son propre bloc <head> (Views/pages/role.php), ce qui
* en fait un troisième endroit où bumper la version des assets.
*
* Rappel : sélection != authentification, voir Access::select().
*/
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><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>';
}