diff --git a/frontend/src/App.tsx b/frontend/src/App.tsx
index 82784a6..4155bb7 100644
--- a/frontend/src/App.tsx
+++ b/frontend/src/App.tsx
@@ -321,6 +321,57 @@ function RouteTracker() {
return null;
}
+// ─── MainContent : layout adaptatif selon la route ───────────────────────────
+// Les vues "canvas" ont besoin d'une hauteur fixe sans padding
+// pour que leurs colonnes scroll indépendamment.
+const FULLHEIGHT_ROUTES = ['/clustering'];
+
+function MainContent({ counts: _counts }: { counts: AlertCounts | null }) {
+ const location = useLocation();
+ const isFullHeight = FULLHEIGHT_ROUTES.some(r => location.pathname.startsWith(r));
+
+ if (isFullHeight) {
+ return (
+
Rendu WebGL · K-means++ sur toutes les IPs
@@ -440,12 +440,55 @@ export default function ClusteringView() {Clustering en cours…
+K-means++ · 31 features · toutes les IPs
+Mise à jour automatique toutes les 3 secondes