Cela arrive tout le temps : le client ouvre PageSpeed Insights et voit 62, le développeur lance Lighthouse depuis Chrome DevTools et obtient 88, et la réunion suivante vire à la discussion sur lequel de ces deux chiffres est « le vrai ». La réponse courte, c’est qu’aucun des deux n’est faux. La réponse complète demande de comprendre ce que sont ces outils, ce qu’ils ont en commun et pourquoi, bien qu’ils utilisent le même moteur, ils arrivent souvent à des résultats différents.
Lighthouse : le moteur d’analyse
Lighthouse est un outil open source développé par Google qui charge une page dans un navigateur Chrome contrôlé, enregistre son comportement et produit un rapport en quatre catégories : Performances, Accessibilité, Bonnes pratiques et SEO. C’est une analyse de laboratoire : une seule visite, dans des conditions simulées, sans utilisateur réel.
On peut le lancer de nombreuses façons : depuis le panneau Lighthouse de Chrome DevTools, en ligne de commande avec Node.js, comme module à l’intérieur d’autres programmes et dans les pipelines d’intégration continue avec Lighthouse CI. Dans tous les cas, le test s’exécute sur la machine qui le lance, avec son processeur, sa connexion et, pour DevTools, son profil de navigateur.
# Profil mobile par défaut, catégorie Performance uniquement
npx lighthouse https://www.votresite.fr/ --only-categories=performance --view
# Profil desktop, rapport JSON pour des comparaisons automatisées
npx lighthouse https://www.votresite.fr/ --preset=desktop --output=json --output-path=report.json
PageSpeed Insights : un service qui utilise Lighthouse
PageSpeed Insights, souvent abrégé en PSI, est un service web de Google. Quand on saisit une adresse, il exécute Lighthouse sur ses propres serveurs et affiche le résultat dans la section « Diagnostiquer les problèmes de performances ». Mais il ajoute ce que Lighthouse seul ne peut pas offrir : les données d’utilisateurs réels du Chrome UX Report, pour l’URL analysée et pour l’ensemble de l’origine, dans la section « Découvrez l’expérience de vos utilisateurs réels ».
PageSpeed Insights est donc deux outils en un : une exécution de Lighthouse dans un environnement géré par Google et une fenêtre sur les données de terrain des 28 derniers jours. Il est aussi disponible via une API, utile pour surveiller automatiquement de nombreuses pages :
curl "https://www.googleapis.com/pagespeedonline/v5/runPagespeed?url=https://www.votresite.fr/&strategy=mobile&category=performance"
Ce qu’ils ont en commun
La partie laboratoire est la même. Les deux mesurent First Contentful Paint, Largest Contentful Paint, Total Blocking Time, Cumulative Layout Shift et Speed Index, et les deux calculent le score de performance avec la même formule : dans les versions actuelles de Lighthouse, le Total Blocking Time pèse 30 %, le LCP et le CLS 25 % chacun, le FCP et le Speed Index 10 %. Le profil mobile par défaut est lui aussi identique : un smartphone milieu de gamme émulé, une connexion 4G lente simulée et un processeur ralenti.
À noter que le score de performance n’inclut pas l’INP : il n’y a pas d’interactions réelles en laboratoire, et sa place est prise par le Total Blocking Time, qui n’est qu’un indicateur indirect. L’INP apparaît bien dans PageSpeed Insights, mais seulement dans la section des données d’utilisateurs réels.
Les différences qui comptent
| PageSpeed Insights | Lighthouse | |
|---|---|---|
| Où il s’exécute | Serveurs de Google | Votre machine ou votre serveur |
| Données d’utilisateurs réels | Oui, issues de CrUX (28 jours) | Non, laboratoire uniquement |
| Pages accessibles | URL publiques uniquement | Aussi préproduction, local et zones restreintes |
| Configuration | Mobile ou desktop uniquement | Réseau, CPU, appareil, catégories, scripts de navigation |
| Outils de diagnostic | Rapport synthétique | Rapport complet, trace de performance, treemap JavaScript |
| Automatisation | API PageSpeed Insights | CLI, Node.js, Lighthouse CI |
| Version de Lighthouse | Choisie par Google | Celle qui est installée |
La différence la plus pertinente pour une entreprise est la deuxième ligne du tableau : seul PageSpeed Insights montre comment les utilisateurs vivent réellement le site. Lighthouse explique comment la page se comporte lors d’une seule visite contrôlée ; PageSpeed Insights ajoute à cette explication le verdict du terrain. Ce sont les deux perspectives que nous décrivons dans pourquoi il faut à la fois CrUX et les données de laboratoire.
Pourquoi le même moteur donne des chiffres différents
Si la formule est identique, d’où viennent les écarts ? Des conditions dans lesquelles le test est exécuté. Les causes les plus fréquentes sont les suivantes :
- Le matériel. Le ralentissement du CPU est un multiplicateur appliqué au processeur réel : sur un ordinateur portable puissant et sur un serveur partagé, le même « quatre fois plus lent » produit des temps très différents, surtout pour le Total Blocking Time.
- Le réseau et l’emplacement. PageSpeed Insights atteint le site depuis un data center de Google, DevTools depuis votre propre connexion. La latence, le chemin réseau et la distance au serveur modifient le TTFB et, par conséquent, toutes les métriques qui suivent.
- L’état du navigateur. Dans Chrome, les extensions, les cookies, les sessions actives et le cache peuvent altérer le résultat. Un test avec un bloqueur de publicités activé, ou en étant connecté, mesure une page différente de celle que voient les visiteurs.
- La version. PageSpeed Insights utilise la version de Lighthouse choisie par Google, DevTools celle livrée avec votre version de Chrome, la ligne de commande celle qui est installée. Les changements dans le calcul des métriques d’une version à l’autre déplacent les scores.
- La variabilité naturelle. Deux exécutions consécutives du même outil donnent rarement le même chiffre : publicités, tests A/B, cache du serveur et charge du moment changent d’un chargement à l’autre.
Il y a ensuite un cas particulier : certaines configurations reconnaissent les outils de test à leur User-Agent ou à leur adresse IP et leur servent une page différente. Dans ce cas, l’écart entre les deux outils n’est pas du bruit statistique, mais le signe que le test ne voit pas le même site que les utilisateurs, comme nous l’avons montré en analysant le cas de LiteSpeed Cache.
Quand utiliser PageSpeed Insights
PageSpeed Insights est l’outil adapté pour un coup d’œil rapide et pour la communication. Il permet à n’importe qui, sans rien installer, de voir comment Google évalue une page publique, sur le terrain comme en laboratoire, et il produit un résultat que l’on peut partager par un lien. C’est aussi le moyen le plus rapide de consulter les données CrUX d’une page ou d’un concurrent, et avec son API il devient la base d’un monitoring périodique sur une liste d’URL.
Il a toutefois des limites claires : il ne peut pas atteindre les environnements de préproduction ni les pages protégées par une connexion, il ne permet pas de modifier les conditions du test et ses outils de diagnostic sont plus basiques. Et son score de laboratoire, comme celui de n’importe quelle exécution isolée, doit être lu avec prudence.
Quand utiliser Lighthouse
Lighthouse est l’outil de travail du développeur. Dans DevTools, il permet d’ouvrir la trace complète dans le panneau Performance, d’explorer le poids du JavaScript avec le treemap, de vérifier une modification en local avant même de la publier et d’analyser des pages qui exigent une connexion, comme l’espace client ou le tunnel de commande. En ligne de commande et avec Lighthouse CI, il entre dans les pipelines de développement : chaque version peut être comparée à des seuils de performance, les fameux budgets de performance, ce qui bloque les régressions avant qu’elles n’atteignent les utilisateurs.
Le prix de cette flexibilité est la responsabilité : les résultats dépendent de la machine et de la configuration, il faut donc toujours les obtenir dans le même environnement pour qu’ils soient comparables. Pour des tests depuis différents lieux géographiques ou sur de vrais appareils, il existe des outils complémentaires, comme WebPageTest.
Les erreurs les plus courantes
- Comparer les scores d’outils différents. Un 62 sur PageSpeed Insights et un 88 dans DevTools n’indiquent ni une amélioration ni une régression : ils indiquent deux environnements différents.
- Se fier à une seule exécution. Une mesure peut tomber sur un moment favorable ou défavorable. Trois ou cinq exécutions, en prenant la médiane, donnent une indication bien plus stable.
- Tester avec son navigateur de tous les jours. Les extensions et les sessions actives faussent le résultat : une fenêtre de navigation privée ou un profil vierge vaut mieux.
- Confondre mobile et desktop. Le profil desktop est beaucoup plus indulgent : un bon score desktop dit peu de chose d’un site visité surtout depuis des smartphones.
- Traiter le score comme un objectif business. Le chiffre de 0 à 100 est un résumé utile, mais les décisions doivent se fonder sur les métriques individuelles et, surtout, sur les données d’utilisateurs réels.
Comment obtenir des mesures fiables
Une méthode simple évite l’essentiel des discussions. Choisissez un outil et une configuration de référence, par exemple Lighthouse en ligne de commande, toujours sur la même machine avec le profil mobile, ou l’API PageSpeed Insights. Lancez plusieurs tests et notez la médiane des métriques individuelles, pas seulement celle du score. Notez la version de Lighthouse utilisée. Et comparez les résultats de laboratoire avec l’évolution des données d’utilisateurs réels, en vous rappelant que ces dernières se mettent à jour sur une fenêtre de 28 jours.
Dans nos rapports, nous indiquons toujours l’outil, la version, le profil et le nombre d’exécutions à côté de chaque valeur. Cela peut sembler une précision excessive, mais c’est la seule façon de rendre comparables des mesures prises à des moments différents et par des personnes différentes, et de transformer un chiffre en décision.
En résumé
Lighthouse est le moteur d’analyse : open source, configurable, exécutable partout, idéal pour diagnostiquer les problèmes et prévenir les régressions. PageSpeed Insights est un service qui exécute Lighthouse sur les serveurs de Google et y ajoute les données CrUX réelles : idéal pour une évaluation rapide et partageable et pour savoir comment les utilisateurs vivent le site. Ils utilisent la même formule mais s’exécutent dans des environnements différents, ce qui explique pourquoi leurs scores ne doivent pas être comparés entre eux.
La bonne question n’est donc pas de savoir lequel des deux chiffres est vrai, mais quelle question nous posons. Pour savoir comment les utilisateurs s’en sortent, regardez les données d’utilisateurs réels dans PageSpeed Insights. Pour comprendre pourquoi, et pour vérifier qu’une correction fonctionne, utilisez Lighthouse, toujours dans les mêmes conditions.