From 2af7c42b2b09882b332dc82f079d8483c106fc09 Mon Sep 17 00:00:00 2001 From: Claude Date: Fri, 24 Jul 2026 07:41:41 +0000 Subject: [PATCH] =?UTF-8?q?fix(grille):=20tooltip=20tendance=20(r=C3=A9gre?= =?UTF-8?q?ssion=2012=20mois)=20+=20lots=20Qlik=20plus=20petits=20(OOM)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Corrige le tooltip erroné 'X% (4 derniers mois vs 4 précédents)' → 'Tendance X% sur 12 mois (régression)'. Le calcul est déjà une régression linéaire sur 12 mois ; seul le texte était resté l'ancien. - Réduit la taille des lots du cube [Article Code, Mois] (800→300, replis 150/75) pour alléger la mémoire moteur Qlik et limiter les 'Out of memory / File corrupted' (3002) observés sur le sync. --- src/features/grid/components/heatmap-grid.tsx | 4 ++-- src/lib/qlik-playwright.ts | 4 +++- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/src/features/grid/components/heatmap-grid.tsx b/src/features/grid/components/heatmap-grid.tsx index 5d54969..5e33812 100644 --- a/src/features/grid/components/heatmap-grid.tsx +++ b/src/features/grid/components/heatmap-grid.tsx @@ -243,7 +243,7 @@ type NetworkTrend = { values: number[]; // quantités mensuelles, ordre chronologique labels: string[]; // "YYYY-MM" direction: "up" | "down" | "flat"; - pct: number | null; // variation moyenne 4 derniers mois vs 4 précédents + pct: number | null; // variation modélisée (régression linéaire) sur 12 mois hasData: boolean; }; @@ -306,7 +306,7 @@ function TrendSparkline({ trend }: { trend: NetworkTrend }) { }).join(" "); const Arrow = direction === "up" ? TrendingUp : direction === "down" ? TrendingDown : Minus; return ( -
= 0 ? "+" : ""}${(pct * 100).toFixed(0)}% (4 derniers mois vs 4 précédents)` : "tendance réseau"}> +
= 0 ? "+" : ""}${(pct * 100).toFixed(0)}% sur 12 mois (régression) — cliquer pour le détail` : "Tendance réseau — cliquer pour le détail"}>
{n > 1 && } diff --git a/src/lib/qlik-playwright.ts b/src/lib/qlik-playwright.ts index 44323d7..e7a4765 100644 --- a/src/lib/qlik-playwright.ts +++ b/src/lib/qlik-playwright.ts @@ -422,7 +422,9 @@ export async function fetchNetworkMetricsPlaywright( await sleep(qlikSettleMs); } aggMonths = monthlyPayload.length; - const fallbackSizes = [800, 400, 200]; + // Lots plus petits = cubes plus légers (moins de pression mémoire côté + // moteur Qlik, qui a tendance à saturer "Out of memory" sur les gros cubes). + const fallbackSizes = [300, 150, 75]; const totalCodes = codes.length; let codeIndex = 0, batchNumber = 0, fallbackIndex = 0; while (codes.length ? codeIndex < totalCodes : batchNumber === 0) {