4 Parcours ExpertLeçon 5 sur 8 7 min de lecture

Performance d'Éclair : garder 100 sur 100

  1. 1. L'architecture d'Éclair
  2. 2. Développement local et tests
  3. 3. Personnaliser les gabarits du thème
  4. 4. Nginx, VPS, proxy et CDN : déployer Éclair
  5. 5. Performance d'Éclair : garder 100 sur 100
  6. 6. Migrer depuis WordPress ou Wix
  7. 7. Sécurité avancée et maintenance
  8. 8. Industrialiser Éclair en agence
Sommaire
  1. Ce que fait déjà Éclair
  2. Comment mesurer la performance d'Éclair ?
  3. Le temps de réponse d'un hébergement mutualisé
  4. Images : le premier poste à surveiller
  5. Polices, CSS personnalisé et vidéos
  6. Scripts tiers et mesure d'audience
  7. Faut-il un CDN ?
  8. La liste de contrôle
  9. À retenir
  10. Pour aller plus loin
  11. Questions fréquentes

La performance d'Éclair ne dépend d'aucune extension de cache à régler : elle est intégrée au CMS. Mesuré en local, le site de démonstration obtient 100 dans les quatre catégories de Lighthouse. Cette leçon explique d'où vient ce résultat, comment le mesurer chez toi et quelles décisions le font baisser : images, polices, CSS, vidéos, scripts et hébergement.

Ce que tu sauras faire

Mesurer correctement

Lighthouse, PageSpeed Insights et temps de réponse du serveur.

Garder des pages légères

Images, polices, CSS personnalisé et vidéos.

Éviter les pièges

Scripts tiers, mesure d'audience et cache de CDN.

Ce que fait déjà Éclair

Mesures d'Éclair : Lighthouse 100 dans les quatre catégories, poids des pages et temps de réponse du serveur
Mesures publiées pour Éclair, en local sur le site de démonstration.
MécanismeEffet
cache statique : index.php sert la page sans charger l'application0,7 ms de temps de réponse serveur, mesuré en local
CSS inséré dans la page : 17 à 23 Ko, 5 à 6 Ko compressésaucune feuille de style bloquante
polices système, ou une seule police de titre préchargéeaucun décalage de mise en page
images WebP de 480 à 1600 px, dimensions explicites, chargement différél'élément principal s'affiche vite
un seul script public, différé : 2,4 Ko, 1,2 Ko compressénavigateur jamais bloqué
Brotli ou Gzip, cache navigateur d'un an, adresses versionnées ?v=…visites suivantes sans retéléchargement
ETag et réponses 304une page inchangée n'est pas renvoyée

Le dépôt publie aussi ses mesures dans tests/fixtures/lighthouse-1.8.0.json : Lighthouse en mobile, médiane de trois passages, sur l'accueil et un article du site de référence, une page de vente, puis l'accueil habillé des directions Nocturne, Riviera, Presse et Affiche. Résultat partout : 100 dans les quatre catégories, un LCP de 779 à 885 ms, un CLS de 0 et un TBT de 0 à 17 ms.

Comment mesurer la performance d'Éclair ?

  1. Lighthouse dans Chrome : ouvre la page en navigation privée, car les extensions faussent la mesure, puis les outils de développement, onglet Lighthouse. Choisis le mode mobile et les quatre catégories, puis lance l'analyse.
  2. PageSpeed Insights (pagespeed.web.dev) : la même analyse, lancée depuis les serveurs de Google, avec les données réelles des visiteurs Chrome quand ton site en a assez.
  3. En ligne de commande, pour suivre l'évolution d'une version à l'autre.
  4. Le temps de réponse du serveur, que Lighthouse noie dans le reste : mesure-le à part avec curl.
# Lighthouse en mobile (Node.js 22 ou plus), rapport ouvert dans le navigateur
npx lighthouse https://exemple.fr/ --only-categories=performance,accessibility,best-practices,seo --view

# Après une modification : 1er appel (page générée), puis 2e appel (cache statique)
curl -s -o /dev/null -w 'TTFB : %{time_starttransfer} s\n' https://exemple.fr/
curl -s -o /dev/null -w 'TTFB : %{time_starttransfer} s\n' https://exemple.fr/

Le temps de réponse d'un hébergement mutualisé

Les 0,7 ms annoncés sont mesurés en local. Sur un vrai hébergement s'ajoutent la latence du réseau et le démarrage de PHP, car même le chemin rapide passe par index.php. Trois leviers restent entre tes mains :

Après chaque modification, Éclair vide tout le cache : la première visite de chaque page la régénère, une seule fois. Les visites suivantes repassent par le chemin rapide.

Images : le premier poste à surveiller

La performance d'Éclair se joue surtout sur les images, puisque tout le reste est déjà réglé. Éclair réduit chaque original à 2000 px, le ré-encode, puis crée des déclinaisons WebP de 480, 800, 1200 et 1600 px, uniquement plus petites que l'original. Quelques réflexes suffisent :

Polices, CSS personnalisé et vidéos

Polices. Les thèmes classiques n'utilisent que des polices système, sans aucun téléchargement. Une direction artistique ajoute une seule police de titre de 12 à 27 Ko : ton serveur la télécharge une fois depuis Fontsource, la range dans media/fonts/, puis le site la précharge avec font-display: optional, sans décalage de mise en page. N'ajoute pas d'autre police : le CSS personnalisé retire les @import, et la CSP refuse les polices d'un autre domaine.

CSS personnalisé. Il est inséré dans chaque page, avec le thème : chaque Ko ajouté est téléchargé à chaque visite, sans cache séparé. Le plafond est de 64 Ko, mais vise quelques Ko, et n'y glisse pas d'images encodées en base64.

Vidéos. Le bloc Vidéo n'affiche qu'un bouton de lecture : aucune requête ne part vers YouTube ou Vimeo avant le clic. Au clic, le script du site charge le lecteur depuis youtube-nocookie.com ou player.vimeo.com.

Scripts tiers et mesure d'audience

La CSP du site public n'accepte que les scripts servis par ton domaine : gestionnaires de balises, fenêtres de discussion ou Cloudflare Web Analytics sont bloqués. C'est voulu, car chaque script tiers coûte du temps de chargement et souvent des cookies. Pour suivre ton audience sans rien ajouter :

Un outil de mesure en JavaScript t'obligerait à modifier les gabarits et la CSP du noyau, perdus à chaque mise à jour, puis la politique de confidentialité créée à l'installation, qui annonce l'absence de cookie de suivi et d'outil de mesure d'audience tiers.

Faut-il un CDN ?

Rarement. Les pages, déjà légères, partent du cache statique en quelques millisecondes. Un CDN aide surtout quand tes visiteurs sont loin du serveur, pour les fichiers statiques. Dans ce cas, ne mets pas le HTML en cache chez le CDN : Éclair ne pourrait pas le vider à chaque publication. Les réglages de Cloudflare sont détaillés dans la leçon Nginx, VPS, proxy et CDN.

La liste de contrôle

VérificationOùAttendu
cache actifRéglages › AvancéX-Cache: HIT au deuxième appel
mode débogageeclair-config.phpaucun ECLAIR_DEBUG
version de PHPpanneau de l'hébergeur8.3, avec OPcache actif
imagesMédias1600 px au moins en pleine largeur, textes alternatifs remplis
WebPcode source d'une page illustréedes fichiers .webp dans les srcset
CSS personnaliséRéglages › Apparencequelques Ko
vidéosbloc Vidéoaucun lecteur avant le clic
scripts tiersgabaritsaucun
mesure finaleLighthouse mobile100 dans les 4 catégories, à un point près

À retenir

Pour aller plus loin

Questions fréquentes

Pourquoi mon score est-il plus bas sur PageSpeed Insights qu'en local ?

PageSpeed Insights mesure depuis les serveurs de Google, avec un mobile et un réseau simulés plus lents, et subit la latence de ton hébergement. Compare plusieurs passages et regarde d'abord le temps de réponse du serveur.

Faut-il une extension de cache ou un CDN ?

Éclair n'a pas d'extensions et n'en a pas besoin : le cache statique est intégré. Un CDN reste utile pour des visiteurs éloignés, à condition de laisser le HTML hors de son cache.

Puis-je ajouter Google Analytics ?

Pas sans modifier les gabarits et la CSP du noyau, puis ta politique de confidentialité. Commence par Search Console et les statistiques de ton hébergeur, qui ne coûtent aucun point.

Les directions artistiques ralentissent-elles le site ?

Elles ajoutent une police de titre de 12 à 27 Ko, servie par ton site et préchargée. Les quatre directions mesurées dans le dépôt gardent 100 dans les quatre catégories.

Toutes les leçons du parcours