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:
Antoine Jacquin
2026-09-17 00:42:12 +02:00
parent 6fb2c4ee97
commit ac182da55e
5 changed files with 39 additions and 9 deletions

View File

@ -34,6 +34,11 @@ RUN pip3 install --no-cache-dir \
COPY lidar_pipeline/ ./lidar_pipeline/
COPY webapp-entrypoint.sh /webapp-entrypoint.sh
# CSS/JS de l'interface (app.js/app.css + Leaflet) bâchés dans l'image : la
# webapp les sert depuis /app/lidar_pipeline/webapp_assets, plus depuis le
# volume — le code de l'interface suit l'image, régénéré à chaque build.
RUN python3 -c "import sys; sys.path.insert(0, '/app'); from lidar_pipeline.index import _write_ui_assets; _write_ui_assets('/app/lidar_pipeline/webapp_assets')"
RUN groupadd -g 1000 lidar && \
useradd -u 1000 -g lidar -m -s /bin/bash lidar && \
mkdir -p /data/output /data/input && \