Cache-busting des assets statiques

Le navigateur servait un CSS périmé après mise à jour (aucun invalidateur
sur /static). Les liens CSS/JS portent désormais ?v=<mtime des fichiers
statiques> : toute modification du design est visible immédiatement chez
tous les clients, sans hard-refresh ni bump manuel de version.
This commit is contained in:
Roman
2026-09-25 14:58:42 +00:00
parent d747c574b8
commit c45f1b79fd
3 changed files with 11 additions and 4 deletions
+7
View File
@@ -12,6 +12,13 @@ protected = APIRouter(tags=["pages"], include_in_schema=False, dependencies=[Dep
templates = Jinja2Templates(directory=BASE_DIR / "app" / "templates")
# Cache-busting des assets : version dérivée de la date des fichiers statiques —
# tout changement de CSS/JS invalide le cache navigateur sans intervention.
_static_root = BASE_DIR / "app" / "static"
templates.env.globals["asset_v"] = str(
max(int(p.stat().st_mtime) for p in _static_root.rglob("*") if p.is_file())
)
@router.get("/login", response_class=HTMLResponse)
async def login_page(request: Request) -> HTMLResponse: