FEAT: Live view & page caméra enrichie — CameraDetail (flux rafraîchi, métadonnées, actions) #35
Labels
No labels
bug
chore
design
dx:ci
dx:database
dx:dotnet
dx:infra
dx:security
dx:tests
dx:ui
etape-1
etape-2
etape-3
etape-4
etape-5
etape-6
etape-7
feature
priority-high
priority-low
priority-medium
security
spec
tech-debt
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
nonobis/Heimdall#35
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
🎯 Contexte
La page détail d'une caméra doit être l'écran de surveillance principal : flux (ou image rafraîchie), état, métadonnées, actions et événements récents. Le WebRTC P2P (SIPSorcery) est traité par le ticket #3 existant — ici on livre un rendu image rafraîchie fonctionnel sans dépendre du WebRTC.
📚 Référence spec (MASTER_SPECIFICATION.md v2.0)
Étape 5 — Phase 22 (Live),
docs/ui-pages.md→ « P4a Live View », « P4b Détail Caméra » (contenu attendu, états, tests).🔍 État actuel (vérifié dans le code)
CameraDetail.razorexiste (/cameras/{Id:guid}) — contenu limité (infos + statut), pas de rendu vidéo/image, pas de rafraîchissement.POST /api/cameras/{id}/snapshot,GET /api/cameras/{id}/events) mais n'est pas exploité par la page.EventBroadcastService(SignalR) existe pour pousser les événements — pas de souscription côté UI caméra.🧩 Découpage proposé
prefers-reduced-motionrespecté) ; état « Pas de flux disponible » si aucune snapshot.c266f26)./events?cameraId=...si supporté).🧪 Critères d'acceptation
prefers-reduced-motion: reduceRenderPage<CameraDetail>(rafraîchissement, actions, états)📁 Fichiers concernés (estimés)
src/Heimdall.Web/Components/Pages/CameraDetail.razor(refonte)src/Heimdall.Web/Services/(timer/rafraîchissement, souscription SignalR)src/Heimdall.Web/wwwroot/app.css(aspect 16/9, overlay)tests/Heimdall.Web.Tests/Implémenté : vue live snapshot rafraîchi 10s, RTSP masquée + toggle, actions Activer/Désactiver/Supprimer (dialog toujours rendu), mini-timeline chips colorées, statut en badge traduit. Commit
49f451a, 178 tests Web verts (5 nouveaux).