INP (Interaction to Next Paint)

L’INP (acronyme de Interaction to Next Paint, littéralement « interaction jusqu’à la prochaine peinture ») est une métrique de performance web standardisée par Google qui mesure la réactivité globale d’une page aux interactions de l’utilisateur. Officiellement intégrée aux Core Web Vitals le 12 mars 2024 en remplacement du First Input Delay (FID), elle évalue le temps écoulé — exprimé en millisecondes — entre une interaction utilisateur (clic, tap, pression d’une touche) et le moment où le navigateur peut afficher visuellement la réponse à cette interaction, c’est-à-dire la prochaine peinture (next paint) effective de l’écran.

Contrairement au FID qui ne mesurait que le délai initial avant le traitement de la première interaction, l’INP retient la plus longue latence d’interaction observée sur l’ensemble du cycle de vie d’une page (avec une légère tolérance statistique pour ignorer les valeurs aberrantes sur les sessions très longues). Elle devient ainsi le baromètre officiel de la fluidité ressentie par l’utilisateur, et un facteur direct de classement dans les résultats de recherche Google.

Origine et contexte : pourquoi l’INP remplace le FID

Annoncée par l’équipe Chrome dès mai 2022 comme métrique expérimentale, l’INP a connu une période de promotion en tant que pending Core Web Vital jusqu’à son adoption définitive en mars 2024. Cette transition répond à une critique de fond formulée par la communauté SEO et les développeurs web : le FID, en ne mesurant que le délai avant le traitement de la première interaction, donnait une image trop optimiste — et souvent trompeuse — de la réactivité réelle des pages.

Selon les données publiques du Chrome User Experience Report (CrUX), près de 90 % des sites obtenaient un FID jugé « bon », alors même que de nombreuses interactions ultérieures (ouverture de menus, validations de formulaires, expansions d’accordéons) restaient lentes ou bloquantes. L’INP corrige cette anomalie en mesurant toutes les interactions pendant la visite, et en retenant la pire.

Comment l’INP est-il mesuré ?

Les trois types d’interactions prises en compte

L’INP ne mesure pas n’importe quel évènement. Seules trois familles d’interactions sont retenues par la spécification du W3C :

  • Les clics de souris (évènements pointerdown, pointerup et click).
  • Les touches tactiles sur écrans mobiles ou trackpads (touchstart, touchend).
  • Les pressions de touches du clavier (keydown, keyup) — utiles pour les formulaires et la navigation.

Les évènements de défilement (scroll) et de survol (hover) sont explicitement exclus, car ils sont déjà couverts par d’autres métriques comme le Cumulative Layout Shift (CLS) ou ne représentent pas une véritable intention d’interaction.

Décomposition technique d’une interaction

Chaque interaction mesurée par l’INP se décompose en trois phases distinctes :

  1. Input Delay : temps écoulé entre l’action de l’utilisateur et le début effectif du traitement du gestionnaire d’évènement (correspondant à l’ancien FID).
  2. Processing Time : durée d’exécution du ou des gestionnaires JavaScript associés à l’interaction.
  3. Presentation Delay : délai entre la fin du traitement et la prochaine peinture visuelle réelle de l’écran par le navigateur.

La somme de ces trois phases constitue la latence d’interaction. Sur une session donnée, l’INP retient la valeur maximale parmi toutes les interactions, à l’exception d’une interaction toutes les 50 environ pour neutraliser les pics anormaux.

Les seuils officiels de Google

Google a défini trois paliers pour qualifier la qualité de l’INP d’une page, basés sur le 75ᵉ percentile des sessions utilisateurs réelles mesurées en field data :

  • Bon : INP inférieur ou égal à 200 ms.
  • À améliorer : INP compris entre 200 ms et 500 ms.
  • Médiocre : INP supérieur à 500 ms.

Pour qu’une page soit considérée comme conforme aux Core Web Vitals — un signal de classement direct dans les résultats Google depuis 2021 — son INP au 75ᵉ percentile doit impérativement rester sous la barre des 200 ms, en complément des seuils du LCP (Largest Contentful Paint, ≤ 2,5 s) et du CLS (Cumulative Layout Shift, ≤ 0,1).

Comment mesurer l’INP de son site

Outils field data (données réelles)

  • Google Search Console : rapport « Signaux Web essentiels » qui agrège les données du CrUX par groupe d’URL.
  • PageSpeed Insights : affiche l’INP au 75ᵉ percentile sur les 28 derniers jours pour les URL ayant suffisamment de trafic.
  • Chrome User Experience Report (CrUX) : base de données publique accessible via BigQuery ou l’API CrUX pour des analyses fines.

Outils lab data (laboratoire)

  • Lighthouse (à partir de la version 11) : simule les interactions et estime un INP synthétique.
  • DevTools de Chrome : onglet Performance et panneau Interactions qui affichent chaque évènement avec ses trois phases détaillées.
  • WebPageTest et web-vitals.js : la bibliothèque officielle de Google permet d’intégrer une mesure RUM (Real User Monitoring) dans n’importe quel site.

Optimiser l’INP : les leviers concrets

L’INP étant principalement piloté par l’exécution JavaScript sur le thread principal, les optimisations s’articulent autour de la réduction de la charge sur ce dernier :

  • Découper les longues tâches JavaScript (supérieures à 50 ms) à l’aide d’API natives comme scheduler.yield() ou setTimeout pour rendre la main au navigateur.
  • Différer le code non critique via les attributs defer, async ou le lazy loading des modules.
  • Déplacer les calculs lourds vers un Web Worker afin de libérer le thread principal.
  • Limiter les third-party scripts (analytics, chat widgets, publicités) qui monopolisent l’exécution.
  • Optimiser le rendu en évitant les layout thrashing et en utilisant requestAnimationFrame pour les mises à jour visuelles.
  • Utiliser content-visibility: auto sur les sections hors écran pour différer leur rendu.
  • Prioriser l’affichage visuel avant les traitements lourds : peindre l’état intermédiaire de l’interface dès que possible, puis exécuter la logique métier de manière asynchrone.

INP et SEO : un enjeu de classement direct

Depuis l’intégration des Core Web Vitals à l’algorithme de Google en juin 2021 (mise à jour Page Experience), ces métriques participent directement au classement des pages dans les résultats de recherche. L’INP étant désormais l’un des trois piliers officiels — aux côtés du LCP et du CLS — un site dont l’INP dépasse 200 ms perd un signal de qualité technique majeur, ce qui peut influencer son positionnement, notamment sur les requêtes très concurrentielles.

Pour les sites WordPress, particulièrement vulnérables à l’inflation des plugins JavaScript et aux thèmes lourds, surveiller régulièrement l’INP via Search Console et PageSpeed Insights devient un réflexe indispensable. Les sites e-commerce, les blogs riches en interactions (commentaires, filtres, modales) et les Single Page Applications sont les plus exposés à des INP médiocres et doivent investir prioritairement sur l’optimisation de leur code côté client.

À retenir

L’INP est, depuis mars 2024, la métrique de référence pour évaluer la réactivité d’un site web aux interactions de ses visiteurs. Successeur du FID, plus exigeant et plus représentatif de l’expérience réelle, il s’inscrit comme un Core Web Vital à part entière et constitue désormais un critère SEO incontournable. Maintenir un INP sous les 200 ms exige une discipline rigoureuse de gestion du JavaScript, de hiérarchisation du rendu et d’audit régulier de la performance — un investissement technique qui se traduit directement en gains de satisfaction utilisateur, en taux de conversion et en visibilité organique.