feat(dashboard): session cleaner intégré + auth + nettoyage UI

- Onglet "🧹 Nettoyage" dans le dashboard (iframe vers port 5006)
- Indicateur d'état + bouton de démarrage si cleaner down
- Service systemd rpa-session-cleaner intégré au target rpa-vision
- svc.sh et services.conf incluent session-cleaner (port 5006)

P0-A — Auth dashboard Flask :
- HTTP Basic obligatoire sur tous les endpoints (sauf /health, /healthz)
- Credentials via DASHBOARD_USER + DASHBOARD_PASSWORD
- 13 tests

Nettoyage UI :
- Section "Détection Visuelle" OWL retirée (modèle remplacé par pipeline VLM)
- Dashboard préfère auto shot_*_blurred.png (avec ?raw=1 pour brut)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Dom
2026-04-14 16:48:36 +02:00
parent f7b8cddd2b
commit bb4ed2a75d
7 changed files with 507 additions and 67 deletions

View File

@@ -0,0 +1,42 @@
[Unit]
Description=RPA Vision V3 - Session Cleaner (port 5006)
Documentation=https://lea.labs.laurinebazin.design
After=network-online.target rpa-streaming.service
Wants=network-online.target
Requires=rpa-streaming.service
PartOf=rpa-vision.target
StartLimitIntervalSec=300
StartLimitBurst=5
[Service]
Type=simple
# ---- Runtime ----
User=dom
Group=dom
WorkingDirectory=/home/dom/ai/rpa_vision_v3
EnvironmentFile=/home/dom/ai/rpa_vision_v3/.env.local
Environment="PYTHONUNBUFFERED=1"
Environment="RPA_SERVICE_NAME=rpa-session-cleaner"
# Lancement du session cleaner (dépend du streaming server port 5005)
ExecStart=/home/dom/ai/rpa_vision_v3/.venv/bin/python3 tools/session_cleaner.py
# ---- Resilience ----
Restart=on-failure
RestartSec=10
TimeoutStopSec=15
KillMode=mixed
KillSignal=SIGTERM
# ---- Hardening ----
NoNewPrivileges=true
PrivateTmp=true
# Logs -> journald
StandardOutput=journal
StandardError=journal
SyslogIdentifier=rpa-session-cleaner
[Install]
WantedBy=rpa-vision.target

View File

@@ -0,0 +1,7 @@
[Unit]
Description=RPA Vision V3 - Tous les services
After=network-online.target
Wants=rpa-streaming.service rpa-vision-v3-api.service rpa-vision-v3-dashboard.service rpa-vision-v3-worker.service rpa-session-cleaner.service
[Install]
WantedBy=multi-user.target