- Watchdog (30s) : vérifie backend, caméra, chromium, tue les orphelins,
reboot auto après 10 échecs consécutifs (~5min sans service)
- kiosk-session.sh : tue les backends orphelins au démarrage, trap EXIT
pour cleanup quand le kiosk est tué
- camera.py : force release USB avec timeout 2s quand connecter() échoue
- main.py : uvicorn.run(app) au lieu de string pour éviter double import
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>