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) {