# ✅ Vérification humaine — `dev-verif-3` (Head & metadata)

**Branche :** `dev-verif-3` (empilée sur `dev-verif-2`)
**Lot :** `<head>` / metadata — color-scheme, theme-color, favicon.ico, canonical /contact
**Date :** 2026-06-01

## Items d'audit corrigés

| # | Item (spec) | Avant | Après |
|---|---|---|---|
| 1 | foundations / **color-scheme** | ❌ absent (flash blanc) | ✅ `<meta name="color-scheme" content="light">` |
| 2 | foundations / **theme-color** | ⚠️ manifest only | ✅ `<meta name="theme-color" content="#FF6B2B">` |
| 3 | foundations / **favicons** | ⚠️ `/favicon.ico` 404 | ✅ `/favicon.ico` 200 (32²+48²) |
| 4 | foundations / **canonical** (/contact) | ⚠️ `<link canonical>` absent sur /contact | ✅ présent |

## Changements (fichiers)

- `app/layout.tsx` — ajout `export const viewport` (Next `Viewport`) : `colorScheme: "light"`, `themeColor: "#FF6B2B"`, viewport. Import `Viewport` ajouté.
- `app/contact/page.tsx` — `alternates: { canonical: "/contact" }`.
- `app/favicon.ico` — **nouveau** : vrai .ico multi-tailles (32²+48², PNG-in-ICO) généré depuis `public/logo.png`. Next le sert automatiquement à `/favicon.ico` et ajoute `<link rel="icon">`.

## Preuves (build prod local :3001)

```
/favicon.ico            → HTTP 200
home <head>             → <meta name="theme-color" content="#FF6B2B">
                          <meta name="color-scheme" content="light">
/contact/ <head>        → <link rel="canonical" href="https://www.aciebenergie.fr/contact/">
```
`pnpm build` : exit 0 (route list complète).

## ⚠️ À confirmer / limites

- [ ] **color-scheme = "light"** : posé en supposant un site light-only. Si un mode sombre existe (next-themes ?), passer à `"light dark"`.
- [ ] **theme-color** : `#FF6B2B` repris du `manifest.ts`. Confirmer la couleur de marque.
- [ ] **favicon.ico** dérivé de `logo.png` (rendu 32px d'un logo 512² — vérifier la lisibilité à petite taille ; un favicon dédié/simplifié serait idéal). Pas de SVG favicon (pas de logo SVG de marque dispo) — item `favicons` recommande aussi un SVG, **non couvert**.
- [ ] **canonical** : seul `/contact` était en gap (les autres templates l'ont déjà). Un helper centralisé `alternates.canonical` par page serait le fix « parfait » global — non fait ici (le header `Link: rel=canonical` du middleware couvre déjà tous les chemins).

## Décision

- [ ] **Lot validé** → mergeable.
- [ ] Corrections demandées :

> _Notes du vérificateur :_
