FEAT: UI Admin — page inventaire matériel agent (specs complètes + métriques live + historique) #86
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#86
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
Une fois les collecteurs en place (CPU, mémoire/disque, GPU, OS/Docker/réseau), il faut une vue unique par agent : les specs de la machine d'un coup d'œil (« ce site a un i7, 32 Go, une RTX 3060 12 Go, tourne en Docker avec 4 CPUs alloués ») + les métriques live + l'historique des valeurs.
📚 Référence spec / décision
Décision : page détail agent enrichie + agrégation par site.
AgentMetricSamplehorodatée, rétention configurable)🔍 État actuel (vérifié dans le code)
Page agent : cartes métriques live (CPU/RAM/disque), section « Capacité IA » à venir (#73). Dashboard/AllAgents : tuiles stat (StatTile). Pas de specs matérielles, pas de vue site agrégée, pas d'historique de métriques.
🧩 À faire
AgentDetail.razor: sections Spécifications (CPU/Mémoire/Disques/GPU/OS) + Machine (IP/temp/uptime/conteneur)HardwareSpecCard.razor,GpuCard.razor(multi-GPU),MetricHistoryChart.razorAgentMetricSample(AgentId, TimestampUtc, Cpu, Mem, Disk, GpuTemp, GpuUtil) + job Hangfire d'échantillonnage (ex. /5 min) + rétention (ex. 30 j)GET /api/agents/{id}/inventory,GET /api/agents/{id}/metrics/history?from=&to=,GET /api/sites/{id}/capacity🧪 Critères d'acceptation
make testvert📁 Fichiers concernés
src/Heimdall.Web/Pages/Agents/AgentDetail.razor, src/Heimdall.Web/Pages/Sites/SiteDetail.razor, src/Heimdall.Web/Components/HardwareSpecCard.razor + GpuCard.razor + MetricHistoryChart.razor (nouveaux), src/Heimdall.Domain/Entities/AgentMetricSample.cs (nouveau), src/Heimdall.Infrastructure/BackgroundJobs/JobSetup.cs (échantillonnage), src/Heimdall.Web/Controllers/AgentsController.cs + SitesController.cs, tests/Heimdall.Web.Tests/
⚠️ Impact
Ajoute une table de métriques historiques (volume : 1 ligne/agent/5 min ≈ 8 640 lignes/agent/an) — index (AgentId, TimestampUtc) + rétention obligatoire.
📝 Notes
Consomme les inventaires des tickets CPU / mémoire-disque / GPU / OS-Docker-réseau. L'historique est le socle des futurs alerting (« ce site chauffe »).
Maquette
Description
NOUVELLE PAGE « Inventaire matériel » accessible depuis la fiche agent. Vue par agent : KPI live (CPU, RAM, GPU, disque), onglets (Vue d'ensemble / Métriques live
Maquette
Maquette the-designer intégrée (14/08/2026) :