# ✅ Vérification humaine — `dev-verif-9` (Performance / CWV — lot 1)

**Branche :** `dev-verif-9` (depuis `dev`)
**Lot :** Core Web Vitals — la part **mesurable headless**
**Date :** 2026-06-01

## Corrigé (mesuré)

| Item | Avant | Après | Preuve |
|---|---|---|---|
| **CLS** `/outils/comparateur-electricite-pro/` | **0.242** ❌ | **0** ✅ | Lighthouse |
| Score perf (même page) | 79 | **94** | Lighthouse |
| performance / **cache-control** | "partiel" | ✅ déjà OK | `/_next/static/*` = `public, max-age=31536000, immutable` (défaut Next) — **aucune action** |

## Changement (fichier)

- `app/outils/comparateur-electricite-pro/page.tsx:152` — le fallback du `<Suspense>` (`Chargement…`) était minuscule → quand `CalculatorWizard` apparaît, il poussait le contenu (`LongFormContent`) → shift. Fallback dimensionné à `min-h-[640px]` (flex centré) → **0 shift**.

## Preuve (Lighthouse lab, build prod :3001)

```
/outils/comparateur-electricite-pro/
  perf 79 → 94 ·  CLS 0.242 → 0 ·  LCP 3.5s → 3.0s
```

## 🔴 Reste du chantier CWV (besoin d'assets / mesure navigateur — PAS dans ce lot)

- [ ] **LCP home (vidéo hero, ~5.3s)** : `components/hero/HeroServer.tsx` `<video autoPlay>` **sans `poster`**. Le fix = un **poster (1ère frame)** affiché instantanément → LCP = image. **`ffmpeg` absent** de la machine d'audit → extraire la frame hors-ligne (`ffmpeg -i hero-background.mp4 -frames:v 1 poster.webp`) puis `poster="/videos/hero-poster.webp"` + `preload="metadata"`.
- [ ] **LCP guide (~3.7s)** : `ServiceHero` fait déjà `next/image fill priority quality=85` ; gain restant = poids/format de l'image de fond (mesurer).
- [ ] **critical-CSS** (~450ms render-blocking) : inline du critical / découpage — à mesurer.
- [ ] **Self-host police** (`next/font/local`) : supprime la dépendance **Google Fonts au build** (source des builds flaky de cet audit) + item `font-loading`. Nécessite les WOFF2 Inter (download fiable).
- [ ] **lazy-loading** images sous la ligne de flottaison (audit `next/image`).

> Ces items demandent soit un **asset** (poster vidéo), soit une **itération Lighthouse/CrUX réelle** difficile en headless. À traiter en session dédiée (`dev-verif-10`).

## Décision

- [ ] **Lot validé** (CLS réglé, mesuré) → mergeable.
- [ ] Suite CWV planifiée (`dev-verif-10`) avec assets.
- [ ] Corrections demandées :

> _Notes du vérificateur :_
