## Résumé

Trois chantiers de la validation finale :

### 1. Page « Nos solutions cool roof » (FR/EN/ES)
Réplique de [covalba.fr/nos-solutions-cool-roof](https://www.covalba.fr/nos-solutions-cool-roof) dans la nouvelle DA, en **réutilisant les blocks ACF existants** (aucun nouveau block) :
hero · avantages_produit · grille_cards · grille_solutions · temoignages_video · texte_image · grille_secteurs · cta_final_enrichi.

- `src/content/coolRoofSolution.ts` — sections codées (`WpSection[]`) par locale, rendues par le `BlockRenderer` générique. **Fallback visible sur la preview sans WordPress.**
- Route FR réécrite (WP-or-fallback) ; EN/ES câblées (`i18nRoutes`, `resolve`, fallback codé dans `localizedRoute`) → `/en/cool-roof-solutions`, `/es/soluciones-cool-roof` + hreflang.
- Seed ACF FR/EN/ES (`wordpress/seed/content/page--nos-solutions-cool-roof*.json`) = pendant **éditable dans WordPress** (re-seed du host distant ⇒ voir `docs/RECETTE.md`).

### 2. FeedbackPin (recette)
Embed `feedbackpin.vercel.app/embed.js` chargé **uniquement si `NEXT_PUBLIC_FEEDBACKPIN_PROJECT_ID` est défini** (preview ; jamais en prod par défaut). CSP mise à jour (`script-src`/`connect-src`), vars documentées dans `.env.example`.

### 3. Helper de recette
`scripts/qa/recette.mjs` (`npm run qa:recette`) : crawl zéro-dépendance des **liens internes (statut 200)**, des **assets images**, et de la **langue** des pages (`html lang` / `og:locale` / `title`). Checklist `docs/RECETTE.md`.

## Constats (à ticketer, non bloquants)
- **`<html lang>` reste `fr` sur EN/ES** : `middleware.ts` expose `x-pathname` mais `app/layout.tsx` code en dur `lang="fr"`. Les `<title>` sont bien localisés. Corriger ⇒ lire `headers()` dans le root layout ⇒ bascule le site en dynamique (décision produit).
- `og:locale` codé en dur `fr_FR` dans `buildMetadata` (pages au métadata codé).

## Test plan
- [x] `next build` : TypeScript OK, compilation OK (l'échec de collecte de données concerne `/industries/[slug]` qui exige WordPress — pré-existant, hors périmètre).
- [x] `eslint` OK sur les fichiers modifiés.
- [x] Dev server (port 3105) : `/nos-solutions-cool-roof`, `/en/cool-roof-solutions`, `/es/soluciones-cool-roof` → **HTTP 200**, titres localisés (FR/EN/ES), `og:locale` correct, 9 sections rendues, grilles produits + secteurs présentes, 3 images 200.
- [ ] Re-seed WordPress distant (FR/EN/ES) pour rendre la page éditable en BO — déféré (cf. `docs/RECETTE.md`).
- [ ] Recette complète des liens/langues contre un env WP-branché ou la prod (`BASE_URL=… npm run qa:recette`).

🤖 Generated with [Claude Code](https://claude.com/claude-code)
