From c45f1b79fd190db6892ee13aebde1d69930c548a Mon Sep 17 00:00:00 2001 From: Roman Date: Fri, 25 Sep 2026 14:58:42 +0000 Subject: [PATCH] Cache-busting des assets statiques MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Le navigateur servait un CSS périmé après mise à jour (aucun invalidateur sur /static). Les liens CSS/JS portent désormais ?v= : toute modification du design est visible immédiatement chez tous les clients, sans hard-refresh ni bump manuel de version. --- app/routers/pages.py | 7 +++++++ app/templates/base.html | 6 +++--- app/templates/login.html | 2 +- 3 files changed, 11 insertions(+), 4 deletions(-) diff --git a/app/routers/pages.py b/app/routers/pages.py index d542b39..34e73b4 100644 --- a/app/routers/pages.py +++ b/app/routers/pages.py @@ -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: diff --git a/app/templates/base.html b/app/templates/base.html index 50650ec..dd15749 100644 --- a/app/templates/base.html +++ b/app/templates/base.html @@ -4,7 +4,7 @@ {% block title %}Ohm Stream{% endblock %} - + @@ -37,8 +37,8 @@
{% block content %}{% endblock %}
- - + + {% block scripts %}{% endblock %} diff --git a/app/templates/login.html b/app/templates/login.html index c1f2825..b3b73a9 100644 --- a/app/templates/login.html +++ b/app/templates/login.html @@ -4,7 +4,7 @@ Connexion — Ohm Stream - +