Translate the whole project to English and fix outdated comments and help

Comments, docstrings, logs, CLI help, map UI, legends, PDF sheet, scripts,
compose files and AGENTS.md are now English. Data keys stay unchanged
(relief_oriente, densite_sol, visualisations/, API JSON keys, link params).
Wrong comments and help defaults found along the way are corrected.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Antoine
2026-09-27 23:16:45 +02:00
parent cc1c22d2b8
commit fb892ea9f2
52 changed files with 4356 additions and 4323 deletions

View File

@ -1,31 +1,33 @@
# Machine de traitement — générateur de tuiles (cf. docs/DEPLOY_WEBAPP.md).
# Processing machine - tile generator (see docs/DEPLOY_WEBAPP.md).
#
# Tourne sur la machine puissante (GPU + PDAL) et expose l'API que les
# cartes distantes (Raspberry Pi, docker-compose.maps.yml + LIDAR_GENERATION_URL)
# appellent : dessin d'une zone → téléchargement IGN + traitement GPU ici,
# dalles et tuiles servies aux machines légères (/api/tiles + statiques,
# Runs on the powerful machine (GPU + PDAL) and exposes the API that remote
# maps (Raspberry Pi, docker-compose.maps.yml + LIDAR_GENERATION_URL) call:
# drawing an area -> IGN download + GPU processing here; source tiles and
# XYZ tiles served to the lightweight machines (/api/tiles + static files,
# /tiles/XYZ).
#
# docker compose -f docker-compose.worker.yml up -d --build
# docker compose -f docker-compose.worker.yml logs -f worker
# docker compose -f docker-compose.worker.yml down
#
# Traitement batch ponctuel des dalles présentes dans input/ :
# docker compose -f docker-compose.worker.yml run --rm --build process [-r 0.5,0.2 | --force]
# One-off batch processing of the tiles present in input/:
# docker compose -f docker-compose.worker.yml run --rm --build process
# (any argument replaces the default command: repeat
# python3 -m lidar_pipeline /data/input -o /data/output -r 0.2 -g all ... in full)
services:
# Générateur de tuiles : carte XYZ + API de génération (image complète, GPU)
# Tile generator: XYZ map + generation API (full image, GPU)
worker:
build: .
image: lidar-lidar
container_name: lidar-worker
init: true
user: "1000:1000"
gpus: all # retirer cette ligne sur une machine sans GPU
gpus: all # remove this line on a machine without a GPU
ports:
- "8973:8973" # joignable par les cartes distantes (LIDAR_GENERATION_URL
# et LIDAR_SOURCE_URL pointent ici)
- "8973:8973" # reachable by the remote maps (LIDAR_GENERATION_URL
# and LIDAR_SOURCE_URL point here)
volumes:
# input/ en écriture : l'API y télécharge les dalles IGN manquantes
# input/ writable: the API downloads missing IGN tiles into it
- ./input:/data/input
- ./output:/data/output
environment:
@ -33,34 +35,34 @@ services:
- LIDAR_INPUT_DIR=/data/input
- LIDAR_OUTPUT_DIR=/data/output
- LIDAR_PORT=8973
# Les générations lancées depuis une carte distante utilisent le GPU
# Generations started from a remote map use the GPU
- LIDAR_GPU=1
- LIDAR_WORKERS=auto
# Workers par GPU bornés par la VRAM libre au lancement du run
# ((libre − réserve) / pic d'un worker) ; l'excédent tourne en CPU.
# Pic estimé à 2048 Mo : à ajuster après mesure (nvidia-smi pendant un run).
# Workers per GPU capped by the free VRAM when the run starts
# ((free - reserve) / per-worker peak); the excess runs on the CPU.
# Peak estimated at 2048 MiB: adjust after measuring (nvidia-smi during a run).
# - LIDAR_GPU_WORKER_MIB=2048
# - LIDAR_GPU_RESERVE_MIB=512
# Une ligne par worker : BLAS/OpenMP mono-thread, sinon 12 workers × N
# threads écrasent les 14 cœurs (load 68+ observé pendant les runs)
# One thread per worker: single-threaded BLAS/OpenMP, otherwise 12 workers x N
# threads swamp the 14 cores (load 68+ observed during runs)
- OMP_NUM_THREADS=1
- OPENBLAS_NUM_THREADS=1
- MKL_NUM_THREADS=1
- NUMEXPR_NUM_THREADS=1
# Protéger l'API si le réseau n'est pas de confiance : même valeur que
# LIDAR_REMOTE_TOKEN sur chaque carte distante (sinon, laisser commenté)
# - LIDAR_API_TOKEN=change-moi
# Protect the API if the network is not trusted: same value as
# LIDAR_REMOTE_TOKEN on every remote map (otherwise leave commented out)
# - LIDAR_API_TOKEN=change-me
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)
# One-off processing of the input/ tiles (one pass, then exit)
process:
build: .
image: lidar-lidar
container_name: lidar-process
init: true
user: "1000:1000"
gpus: all # retirer cette ligne sur une machine sans GPU
gpus: all # remove this line on a machine without a GPU
volumes:
- ./input:/data/input
- ./output:/data/output