Files
moulin-mapper/server
Flag 6e83bbd73f feat(server): ingest temps réel WS + GUI live + client PC
Serveur FastAPI reçoit le flux JSONL (sim ou ROV réel) sur /ws/ingest,
SLAM incrémental, rediffuse carte+poses sur /ws/live, GUI live et export PLY.
Déployé Docker sur caddy-net, exposé /moulin-live/. Client PC stream_client.py.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-06-06 20:27:17 +00:00
..

moulin-mapper server

Lancement local

cd server/
python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt

uvicorn app:app --host 0.0.0.0 --port 8211

GUI accessible sur : http://localhost:8211/

Variables d'environnement

Variable Défaut Description
MOULIN_TOKEN moulin-2026 Token authentification ingest WS

Endpoints

Endpoint Description
GET / GUI live (HTML statique)
WS /ws/ingest?token=… Reçoit le flux JSONL du client ROV/sim
WS /ws/live Navigateur s'abonne aux mises à jour temps réel
POST /session/reset Remet la session à zéro (form: token)
GET /healthz Santé + compteurs
GET /cloud.ply Export nuage 3D courant

Déploiement derrière Caddy (préfixe /moulin-live/)

Exemple Caddyfile :

handle /moulin-live/* {
    uri strip_prefix /moulin-live
    reverse_proxy localhost:8211
}

Important : la GUI construit les URLs WS depuis window.location.pathname, donc le préfixe de déploiement est automatiquement inclus.
Ne PAS utiliser d'URLs en dur dans le code client.

Lancer le client stream (sur le PC de Flag)

cd client/
pip install -r requirements.txt

# Simulation rapide (test)
python stream_client.py \
  --file ../../data/sim/run_L.jsonl \
  --url wss://laboratoire.freeboxos.fr/moulin-live/ws/ingest \
  --token moulin-2026 \
  --speed 0

# Temps réel
python stream_client.py \
  --file ../../data/sim/run_L.jsonl \
  --url wss://laboratoire.freeboxos.fr/moulin-live/ws/ingest \
  --token moulin-2026 \
  --speed 1.0