3.5 KiB
3.5 KiB
Changelog — Expria Frontend
Toutes les modifications notables du projet frontend sont documentées dans ce fichier.
Format basé sur Keep a Changelog.
Convention
Chaque entrée suit ce format :
## [Unreleased] — YYYY-MM-DD — Session <nom>
### Added (nouveautés)
- ...
### Changed (modifications)
- ...
### Fixed (corrections)
- ...
### Removed (suppressions)
- ...
### Security (sécurité)
- ...
[Unreleased]
Added
- Documentation initiale du projet (ARCHITECTURE, ONBOARDING, SECURITY, etc.)
- 5 ADRs pour les décisions architecturales majeures
- Code source de
src/entities/user/access.tsetlib.tsavec tests
2026-04-20 — Sprint 0.5 bis — AppLayout + primitives UI + refonte visuelle
Ajouté
src/app/AppLayout.tsx— layout applicatif desktop/mobile (sidebar fixe 240px, drawer mobile, BottomNav)src/app/Sidebar.tsx— navigation latérale avec verrouillagehasAccess()(Progression, Examen blanc, Historique)src/app/MobileHeader.tsx— header mobile sticky (Logo, ThemeToggle, bouton menu hamburger)src/app/BottomNav.tsx— navigation mobile fixe (4 items, bottom sheet "Simuler", tap target min 44px)src/shared/ui/Button.tsx— primitive Button (variants: primary/secondary/ghost/upgrade ; sizes: sm/md/lg ; loading Loader2)src/shared/ui/Card.tsx— primitive Card (variants: default/raised/interactive ; rendu<button>sionClickfourni)src/shared/ui/Badge.tsx— primitive Badge (variants: plan/nclc/neutral ; couleur selonplanValuepour variant plan)
Modifié
src/app/router.tsx— layout routes viaPrivateLayout(ProtectedRoute+AppLayout+Outlet) ;ComingSooninline ; redirect/simulation→/simulation/eesrc/features/simulations/components/TaskSelector.tsx— refonte avecCard interactive/Card default opacity-60,Badge"EE"/"EO", eyebrowtracking-widest, icône verrousrc/features/simulations/pages/SimulationPage.tsx— suppression header interne (Logo + ThemeToggle) ; root<main>;Buttonmigré vers@/shared/ui/Buttonvariant="secondary"src/features/dashboard/pages/DashboardPage.tsx— suppression header interne ;Buttonvariant="primary"avecnavigate('/simulation/ee');Badgevariant="plan" planValue={data.plan}; tout migré vers@/shared/ui/
Documentation
docs/TECH_DEBT.mdv1.6 — ajout FTD-18 (SimulationForm migration Button), FTD-19 (token--shadow-focusmanquant)
Tests
- Typecheck : 0 erreur
- Vitest : 59/59 passés
- Tests manuels : à valider par Hermann
2026-04-19 — Sprint 1 / Étape 6 — Maintenance mode + outillage sécurité
Ajouté
- Page de maintenance statique (
src/app/MaintenancePage.tsx) — logo + message, tokens Direction H, zéro dépendance - Guard
VITE_MAINTENANCE_MODEdansmain.tsx— sitrue, aucun provider ne se monte, aucun appel réseau - Variable
VITE_MAINTENANCE_MODEdansenv.ts(optionnelle, défautfalse) - Hook PreToolUse Claude Code (
security-check.sh) — 9 patterns SECURITY.md §2 - Hook Stop Claude Code (
check-file-size.sh) — alerte fichiers > 200 lignes - MCP server Semgrep enregistré dans Claude Code
Documentation
ARCHITECTURE.md§7 — ajoutVITE_MAINTENANCE_MODEdans la liste des variablesTECH_DEBT.md— FTD-16 résolu (maintenance mode implémenté)
Tests
- Typecheck : 0 erreur
- Vitest : 37/37 passés
- Test manuel : maintenance mode vérifié (page affichée, aucun appel réseau, routing bloqué)