
Optimiser le LCP d’une image hero : la méthode de Julien Jimenez, étape par étape
Identifier l’élément LCP réel, le rendre découvrable dès le HTML, prioriser sans tout prioriser, servir le bon format : la séquence complète, contrôle compris.
INPDécryptage · performance web
Un bouton qui tarde à réagir, un filtre qui fige la page, un menu qui s’ouvre avec un temps de retard : l’INP met un chiffre sur ces moments. Voici la méthode d’enquête de Julien Jimenez pour améliorer l’INP de son site, du relevé de terrain jusqu’au contrôle final.

Le rapport Core Web Vitals de la Search Console affiche « problème INP », alors que le score de laboratoire paraît correct. Rien d’anormal : l’Interaction to Next Paint ne se révèle qu’au contact des visiteurs, quand ils cliquent et tapent sur des appareils qui ne ressemblent pas toujours au vôtre.
Comment améliorer l’INP de son site sans réécrire tout le front ? En menant une enquête plutôt qu’en empilant des recettes : trouver les interactions lentes, comprendre où part le temps, corriger la cause, vérifier le gain. Ce décryptage suit cet ordre, secteur par secteur.
L’INP mesure le délai entre un geste et la réponse visible qui le suit. Le geste : un clic, un appui sur l’écran, une touche du clavier. La réponse : la prochaine image affichée, qu’il s’agisse du menu qui se déploie, de la case qui se coche ou du compteur du panier qui change.
L’indicateur observe les interactions de toute la visite et retient l’une des plus lentes ; le défilement et le survol ne comptent pas. Une page est jugée « bonne » avec un INP inférieur ou égal à 200 millisecondes au 75e centile des visites. Au-delà, elle passe en zone « à améliorer », puis « médiocre ». Pour le visiteur, c’est simple : il tape, rien ne se passe, il tape de nouveau, et le double appui ajoute deux articles au panier.
Le First Input Delay ne mesurait que l’attente avant le traitement de la première interaction, sans le traitement lui-même ni l’affichage de la réponse. Beaucoup de sites réussissaient l’examen alors que leurs boutons peinaient au troisième clic. En mars 2024, l’INP l’a remplacé parmi les Core Web Vitals : il couvre toute la visite et toute la chaîne, du geste à l’image suivante. D’où l’apparition d’alertes sur des sites qui n’en avaient jamais reçu.
Le laboratoire ne sait pas où vos visiteurs cliquent : le point de départ est le terrain, à trois niveaux de précision.
Ce troisième niveau fait gagner des semaines. Un INP médiocre sur un gabarit de catégorie ne dit rien de sa cause ; savoir que l’interaction la plus lente est l’ouverture du filtre « Taille », dans les premières secondes de la visite et sur des téléphones d’entrée de gamme, dit presque tout. Envoyez ces données vers l’outil d’analyse que vous possédez déjà : inutile d’ajouter un script tiers pour mesurer le coût des scripts tiers.
On rejoue l’interaction suspecte dans le panneau Performance des outils de développement de Chrome : processeur ralenti pour approcher un téléphone modeste, fenêtre sans extensions, bannière de consentement dans son état réel. Enregistrez, faites le geste, arrêtez. La piste du fil principal montre les tâches qui l’occupent et les scripts d’où elles viennent ; les tâches longues, au-delà de 50 millisecondes selon la définition de l’API Long Tasks, y sont marquées en rouge.
Chaque interaction se découpe en trois phases successives, qui appellent des correctifs différents.
| Phase | Ce qui se passe | Causes typiques | Leviers |
|---|---|---|---|
| Délai d’entrée | Le geste attend que le fil principal se libère | Tâches longues en cours : scripts au démarrage, tiers | Découper les tâches, différer le non critique |
| Traitement | Les gestionnaires d’événements s’exécutent | Code applicatif lourd, mises à jour en cascade | Retour visuel d’abord, le reste ensuite |
| Rendu | Styles, mise en page et peinture de la réponse | DOM volumineux, mises en page forcées | Alléger le DOM, content-visibility |
Cette lecture évite un contresens fréquent : accuser le code du bouton alors que le temps se perd avant même son exécution, parce qu’un script d’analyse occupe le fil principal au même moment.
Le fil principal exécute une tâche à la fois : tant qu’une tâche longue tourne, aucun geste n’est traité et aucune image n’est affichée. Le correctif tient en une phrase : faire tout de suite l’urgent, rendre la main, puis faire le reste. On sépare ce que l’utilisateur doit voir immédiatement (bouton enfoncé, panneau ouvert, indicateur de chargement) de ce qui peut attendre (événement d’analyse, recalcul d’une longue liste, sauvegarde d’une préférence).
D’autres leviers complètent ce découpage :
content-visibility: auto ;Mesure d’audience, gestionnaire de balises, consentement, test A/B, publicité, discussion en ligne : chaque script tiers a été ajouté pour une bonne raison, et rarement réévalué depuis. Ensemble, ils occupent le fil principal dans les premières secondes, quand le visiteur commence justement à interagir.
La décision se prend avec les équipes concernées, car certains scripts portent des revenus ou des outils métier : un arbitrage mesuré, pas une purge aveugle.
Avec React, Vue, Angular et leurs surcouches de rendu serveur, le HTML s’affiche vite, mais la page n’est interactive qu’une fois le JavaScript rattaché aux composants : c’est l’hydratation. Pendant cette longue tâche, les clics attendent. Cas type : sur une page de catégorie, le visiteur touche le bouton de tri et rien ne se passe pendant que toute la page s’hydrate, pied de page et carrousels compris. Trois leviers, du plus simple au plus structurant :
Sur WordPress ou un CMS e-commerce, l’équivalent se trouve dans les extensions, qui chargent souvent leurs scripts sur toutes les pages : retirer ces scripts des gabarits où ils ne servent pas constitue un premier tour rapide.
Un correctif d’INP se valide deux fois : en laboratoire le jour de la mise en production, puis sur le terrain au fil des semaines. La check-list de contrôle :
CrUX et la Search Console reposent sur une fenêtre glissante de 28 jours, selon la documentation de CrUX : le gain y apparaît progressivement. La mesure chez vos visiteurs, elle, le montre dès les premiers jours.
Un INP inférieur ou égal à 200 millisecondes au 75e centile des visites, mesuré séparément sur mobile et sur ordinateur. Au moins trois visites sur quatre doivent donc passer sous ce seuil : les appareils modestes et les réseaux chargés pèsent dans le résultat.
Pas lors d’un test de chargement classique, puisqu’aucune interaction n’a lieu : le Total Blocking Time n’en est qu’un indicateur indirect. Pour mesurer un INP en laboratoire, il faut rejouer de vrais gestes, avec le mode « période » de Lighthouse ou le panneau Performance de Chrome.
Non, car certains portent des revenus ou des outils indispensables. On mesure le coût de chacun sur les interactions réelles, on diffère ceux qui ne servent pas immédiatement, on charge à la demande ceux que peu de visiteurs utilisent et l’on retire ceux qui ne servent plus.
Plusieurs semaines, car le rapport s’appuie sur les données CrUX agrégées sur 28 jours glissants. Une mesure chez vos visiteurs et des tests de laboratoire répétés confirment le gain bien avant que le statut du groupe d’URL ne change.
Améliorer l’INP, ce n’est pas chasser un score : c’est rendre à chaque geste une réponse immédiate. Partir du terrain pour savoir quelles interactions souffrent, rejouer en laboratoire pour voir où part le temps, traiter d’abord les tâches longues et les scripts qui monopolisent le fil principal, puis contrôler sur les mêmes pages, dans les mêmes conditions.
Les gains les plus nets viennent rarement d’une prouesse technique, mais d’un inventaire honnête de ce que la page exécute. Pour aller plus loin sur la mesure, le décryptage consacré à l’écart entre un score PageSpeed vert et une Search Console en rouge aide à lire ces deux sources sans se tromper de diagnostic.