Skip to content

Perf: images responsive via srcset et sizes #688

@lacatoire

Description

@lacatoire

Problème

`next.config.ts` :

```ts
output: "export",
images: { unoptimized: true },
```

Contrainte du static export : le loader Next/Image est désactivé, donc aucun `srcset` automatique. De plus, `grep sizes=` sur `src/` → 1 seul fichier sur 75 `` utilise le prop `sizes`.

Conséquences :

  • Mobile reçoit l'image originale (souvent 720px ou plus) pour un slot 400px → poids inutile, LCP dégradé.
  • Pas de format moderne (AVIF) servi conditionnellement.
  • Score Core Web Vitals pénalisé sur `/article/*` et `/nos-references` (grille de logos).

Solution

Deux étapes :

1. Pipeline de pré-traitement — script `postbuild` (ou `prebuild`) basé sur `sharp` qui, pour chaque image dans `public/images/`, génère :

  • 3 tailles : 400w, 800w, 1200w
  • Format AVIF + WebP fallback

2. Composant wrapper `` qui émet :

```html

\`\`\`

Migration progressive :

  1. Pages article (plus gros impact LCP)
  2. `/nos-references` (grille de logos)
  3. Reste du site

Alternative plus simple : utiliser un CDN image (Cloudinary, Imgix) avec un loader personnalisé Next/Image.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions