diff --git a/lidar_pipeline/index.py b/lidar_pipeline/index.py index 4003f4a..beca26b 100644 --- a/lidar_pipeline/index.py +++ b/lidar_pipeline/index.py @@ -23,6 +23,7 @@ Intégration: - Régénération solo via --rebuild-index dans cli.py """ +import hashlib import json import logging import re @@ -1185,6 +1186,13 @@ def _render_html(tiles, global_bbox, all_viz_keys, output_format): tiles_json = json.dumps(tiles, ensure_ascii=False) + # Les assets sont référencés avec une version (hash de leur contenu) : + # une URL neuve à chaque évolution du CSS/JS force le rechargement chez + # tous les navigateurs, même ceux qui ont une entrée de cache antérieure + # aux en-têtes no-cache de la webapp. + assets_v = hashlib.sha1( + (_APP_CSS + _APP_JS).encode('utf-8')).hexdigest()[:10] + # Options du sélecteur de génération/régénération : les couches du panneau # (PANEL_VIZ si restreint, sinon le registre complet — mêmes libellés, # valeurs = noms d'étapes --only du pipeline), y compris celles absentes @@ -1218,6 +1226,7 @@ def _render_html(tiles, global_bbox, all_viz_keys, output_format): tiles_json=tiles_json, viz_meta_json=viz_meta_json, stats_json=stats_json, + assets_v=assets_v, gen_viz_options=gen_viz_options, n_tiles=n_tiles, grid_w=grid_w, @@ -1233,7 +1242,7 @@ _HTML_TEMPLATE = """