BUG: Ajout de caméra — remonter les erreurs détaillées du back-end dans l'UI #93
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#93
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
L'ajout de caméra échoue parfois sans explication : l'UI affiche « Erreur lors de la création » ou
OperationFailed()générique alors que le back-end renvoie une erreur précise.État actuel
HeimdallApiClient.CreateCameraAsync:if (!response.IsSuccessStatusCode) return null;→ le message d'erreur serveur est avalé (constat code, 12/08/2026).CamerasPage.razor(CreateCamera) :_dialogError = "Erreur lors de la création"ouUiErrors.OperationFailed()— message générique, aucune trace de la cause (URL RTSP invalide, validation, conflit...).À faire
{ error }/ ProblemDetails) et le propager : changer la signature enCreateCameraResult(succès + caméra OU échec + message) ou lever une exception dédiée avec le message.CamerasPage.razor: afficher le message réel du back-end dans le dialog (_dialogError), et loguer la cause côté serveur si absente.CamerasController.Createrenvoie bien des messages exploitables (validation FluentValidation, RTSP mal formé, site inexistant).ConfirmDiscoveryAsyncetCreateSiteAsyncsi le même pattern null avale l'erreur.Critères d'acceptation
Fichiers concernés
src/Heimdall.Web/Services/HeimdallApiClient.cssrc/Heimdall.Web/Components/Pages/CamerasPage.razorsrc/Heimdall.Web/Controllers/CamerasController.csMaquette
Description
Le dialog « Ajouter une caméra » affiche l'erreur réelle du back-end : alerte en haut du dialog (message détaillé + adresse + port) ET erreur inl
Maquette
Maquette the-designer intégrée (14/08/2026) :