Centrer la carte sur le GPS du téléphone (HTTPS terminé par le proxy)

Le bouton ⌖ recentre la carte sur la position GPS du téléphone. L'API
Geolocation exige un contexte sécurisé : la webapp sert désormais du HTTP
et le TLS est porté par le reverse proxy (Traefik, labels dans l'override
local) ; le webapp est transparent au proxy (URLs relatives, X-Forwarded-For
pour la restriction LIDAR_REGEN_CIDR). Ajoute le modèle d'override
docker-compose.webapp.override.yml.example, un rebuild d'index à la demande
et met à jour doc/déploiement ; les tuiles sont servies à la demande.
This commit is contained in:
Antoine Jacquin
2026-09-13 19:57:09 +02:00
parent dd1aca3cfe
commit e2533bac48
16 changed files with 407 additions and 279 deletions

View File

@ -6,9 +6,8 @@
# génération sur le port hôte 8974 ;
# - webapp : interface légère (image Dockerfile.webapp, sans PDAL/GPU) —
# carte sur le port hôte 8973, avec son PROPRE cache de tuiles
# (./output-webapp) alimenté par rsync depuis ./output du
# worker (monté en lecture seule dans la webapp), comme le
# Raspberry Pi le fait par SSH vers la machine de traitement.
# (./output-webapp) peuplé à la demande depuis le worker,
# comme le fait le Raspberry Pi.
#
# Intérêt en local : mettre à jour le code de l'interface (rebuild webapp)
# sans toucher au worker ni aux générations en cours, et réciproquement.
@ -52,21 +51,14 @@ services:
- "8973:8973"
volumes:
# Cache local propre à la webapp (équivalent du disque du Raspberry
# Pi) — PAS le ./output du worker : la séparation rendu/interface
# doit être réelle, les tuiles arrivent par le rsync ci-dessous.
# Pi) — PAS le ./output du worker : la séparation rendu/interface doit
# être réelle, les tuiles arrivent à la demande depuis le worker.
- ./output-webapp:/data/output
# Sortie du worker, en lecture seule : source du rsync local qui
# remplace le "rsync par SSH vers la machine de traitement".
- ./output:/data/remote:ro
environment:
- TZ=Europe/Paris
- LIDAR_OUTPUT_DIR=/data/output
# Backend de génération = worker du même réseau compose (DNS docker)
# Backend de génération = worker du même réseau compose (DNS docker) ;
# les tuiles sont servies à la demande depuis le worker (cache peuplé
# au fil des consultations, vignettes régénérées localement par /api/sync)
- LIDAR_GENERATION_URL=http://lidar-worker:8973
# Rapatriement des tuiles : mêmes exclusions que la prod (les
# vignettes/sous-tuiles sont régénérées localement par /api/sync)
- LIDAR_SYNC_CMD=rsync -a --delete --exclude=*.tif --exclude=.generation* --exclude=index_thumbs --exclude=index_subtiles /data/remote/ /data/output/
# Cache auto-entretenu : resynchronisation + vignettes toutes les
# 2 min (plus réactif que la prod pour tester en local)
- LIDAR_AUTO_SYNC_SECONDS=120
restart: unless-stopped