Sert l'interface (app.js/app.css) depuis l'image, plus depuis le volume
- Les assets de l'interface étaient écrits dans le volume (output/assets) et servis d'ici : sur la webapp légère, un app.js périmé restait servi même après rebuild de l'image. - app.js/app.css (+ Leaflet vendorisé) sont désormais bâchés dans l'image au build (Dockerfile.webapp) et servis depuis l'image ; le volume ne porte que les données (index.html, vignettes, tuiles). - _write_ui_assets() génère les assets dans un dossier cible ; repli de régénération au démarrage si non bâchés (dev). build_index continue d'écrire output/assets/ pour le mode serveur statique.
This commit is contained in:
@ -1138,14 +1138,16 @@ def build_index(output_dir, output_format='avif'):
|
||||
return html_path
|
||||
|
||||
|
||||
def _write_assets(output_dir):
|
||||
"""Écrit les fichiers statiques de l'interface (CSS + JS) dans output/assets/.
|
||||
def _write_ui_assets(assets_dir):
|
||||
"""Écrit les fichiers statiques de l'interface (CSS + JS) dans `assets_dir`.
|
||||
|
||||
Inclut Leaflet vendorisé (assets/vendor/leaflet) : la carte reste
|
||||
fonctionnelle hors ligne, sans dépendance au CDN unpkg.
|
||||
Inclut Leaflet vendorisé (vendor/leaflet) : la carte reste fonctionnelle
|
||||
hors ligne, sans dépendance au CDN unpkg. La webapp bâche ces fichiers
|
||||
dans l'image (cf. Dockerfile.webapp) ; le mode serveur statique les écrit
|
||||
dans output/assets/ (cf. _write_assets).
|
||||
"""
|
||||
import shutil
|
||||
assets_dir = Path(output_dir) / 'assets'
|
||||
assets_dir = Path(assets_dir)
|
||||
assets_dir.mkdir(parents=True, exist_ok=True)
|
||||
(assets_dir / 'app.css').write_text(_APP_CSS, encoding='utf-8')
|
||||
(assets_dir / 'app.js').write_text(_APP_JS, encoding='utf-8')
|
||||
@ -1156,6 +1158,10 @@ def _write_assets(output_dir):
|
||||
shutil.copytree(src_vendor, dst_vendor)
|
||||
|
||||
|
||||
def _write_assets(output_dir):
|
||||
"""Écrit les fichiers statiques de l'interface dans output/assets/."""
|
||||
_write_ui_assets(Path(output_dir) / 'assets')
|
||||
|
||||
def _panel_selection(all_viz_keys):
|
||||
"""Couches proposées dans le panneau + couche activée par défaut.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user