feat: shell back-office P3 (pages rendues serveur + garde) #14
No reviewers
Labels
No labels
auto-merge
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: AcadeNice/corentin_wakdo#14
Loading…
Add table
Reference in a new issue
No description provided.
Delete branch "feat/p3-admin-shell"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Shell back-office rendu serveur (P3, fondation du CRUD admin).
permission manquante), sinon GuardResult ; adminView() rend dans le shell avec identite + permissions
sorties echappees (RG-T15, initiales multibyte), assets en chemins absolus.
Qualite : 127 tests (dont la garde 403 RG-T03 et l'echappement XSS), PHPStan L6 vert, E2E (302 sans
session, 200 shell apres login). Revue adversariale passee, 5 findings corriges (initiales multibyte,
couverture 403, test d'echappement, marqueur de fragment, commentaire d'heritage).
Base volontaire : dev.
AdminController : base des pages back-office. guard(permission?) applique RG-6/RG-T02 (302 vers /login si session absente/expiree/inactive) puis RG-T03 (403 si permission manquante), sinon renvoie la GuardResult ; adminView() rend dans le shell admin en injectant identite + permissions + jeton CSRF. Controller gagne un hook layoutName() (defaut inchange). DashboardController -> GET /admin/dashboard (landing authentifie ; KPI reels = chunk stats). UserDirectory : nom + libelle de role pour la topbar. Vues admin/{layout,dashboard,forbidden} : navigation conditionnee aux permissions, logout en POST CSRF, sorties echappees (RG-T15), assets en chemins absolus. Premier cablage de SessionGuard sur une page. 127 tests (dont 403 garde, echappement XSS), PHPStan L6.