Porter la génération de tuiles dans lidar-maps et retirer l'ancienne webapp

La carte à tuiles XYZ devient la seule interface : l'API de génération
(preview, generate, status, stop, file, cell), le job unique + file
persistante, la délégation LIDAR_GENERATION_URL et les garde-fous
(token, LIDAR_REGEN_CIDR) passent de webapp.py à mapserve.py ; l'interface
gagne les boutons + Zone / ⤒ Compléter / régénération à la dalle, les
options de run et la progression cadre par cadre. mapserve sert aussi
l'inventaire /api/tiles et les dalles en statique versionné : le worker
image complète remplace la webapp sur le 8973 du générateur, le Pi
n'exécute plus que lidar-maps. index.py se réduit aux registres partagés
+ vignettes/sous-tuiles/inventaire (l'UI HTML/JS et les mosaïques
d'overview partent avec export.py et les compose/scripts de la webapp).
This commit is contained in:
Antoine Jacquin
2026-09-23 23:21:05 +02:00
parent 81defa85c9
commit 0a2ccee958
31 changed files with 1774 additions and 8465 deletions

View File

@ -1,7 +1,7 @@
# Lancement du pipeline LiDAR — TOUJOURS via docker compose :
# docker compose up -d --build serve # TOUJOURS --build : le code est baké dans
# # l'image, sans --build l'ANCIEN code tourne
# # (carte interactive + API sur http://localhost:8973)
# # (carte + tuiles XYZ + API sur http://localhost:8973)
# docker compose logs -f serve # journal du serveur
# docker compose down # arrêt
# Traitement ponctuel (sans serveur) — --build pour la même raison :
@ -10,7 +10,7 @@
# docker compose --profile interactive up -d jupyter
services:
# Carte interactive + API de génération (mode ./run.sh --serve)
# Carte + tuiles XYZ + API de génération (mode ./run.sh --serve)
serve:
build: .
image: lidar-lidar
@ -28,18 +28,19 @@ services:
- TZ=Europe/Paris
- LIDAR_INPUT_DIR=/data/input
- LIDAR_OUTPUT_DIR=/data/output
- LIDAR_PORT=8973
# Les générations lancées depuis la carte utilisent le GPU
- LIDAR_GPU=1
- LIDAR_WORKERS=10
# Machine de traitement pour une webapp distante (Raspberry Pi) :
# Machine de traitement pour une carte distante (Raspberry Pi) :
# décommenter et définir la même valeur en LIDAR_REMOTE_TOKEN là-bas
# (protège /api/generate, /api/preview, /api/rebuild, /api/sync).
# (protège /api/generate, /api/preview, /api/stop).
# - LIDAR_API_TOKEN=change-moi
# Réseaux autorisés à lancer les générations depuis la carte (défaut :
# localhost + plages privées RFC1918 ; liste de CIDR séparés par
# virgules, vide = tout autoriser).
# - LIDAR_REGEN_CIDR=192.168.1.0/24
command: python3 -m uvicorn lidar_pipeline.webapp:app --host 0.0.0.0 --port 8973
command: python3 -m uvicorn lidar_pipeline.mapserve:app --host 0.0.0.0 --port 8973
restart: unless-stopped
# Traitement ponctuel des dalles input/ (une passe puis arrêt)