FEAT: Journal d'audit — couverture complète + détails OldValue/NewValue dans l'UI #92
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#92
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'utilisateur demande « le maximum d'informations dans le journal d'audit ». Aujourd'hui la couverture est partielle et l'UI masque les détails.
État actuel (constats code, 12/08/2026)
AuditLog:Action,ResourceType,ResourceId,OldValue,NewValue,IpAddress,Timestamp,UserId— les champs de détail existent ✅.Group.*(Create/Update/Delete/UserAdded/UserRemoved),Agent.Registered, et les actions User viaUserRepository.AddAuditLogAsyncsont journalisés. Absents : Site.Created/Updated/Deleted, Camera.Created/Updated/Deleted, Agent.Deleted, User.Deleted, settings, logins/échecs 2FA, etc.AuditLogsPage.razor: colonnes Date/Utilisateur/Action/Type/Ressource(8 premiers chars)/IP. Ni OldValue, ni NewValue, ni filtres par utilisateur/date.À faire
OldValue/NewValue(JSON compact) à chaque fois qu'une valeur change.Critères d'acceptation
Fichiers concernés
src/Heimdall.Application/Audit/src/Heimdall.Application/**/Commands/*(ajout d'audit)src/Heimdall.Infrastructure/Persistence/UserRepository.cssrc/Heimdall.Web/Components/Pages/AuditLogsPage.razorsrc/Heimdall.Web/Controllers/AuditLogsController.csMaquette
Description
Écran Journal d'audit enrichi : colonne « Détails (Avant → Après) » avec diff lisible (ancienne valeur barrée en rouge → nouvelle en vert), noms de ressourc
Maquette
Maquette the-designer intégrée (14/08/2026) :