Performance perçue

From Wikipedia, the free encyclopedia

En génie informatique, la performance perçue est la rapidité avec laquelle une fonctionnalité logicielle semble exécuter sa tâche. Ce concept s'applique principalement aux tests d'acceptation des utilisateurs[1].

L'affichage d'un écran de démarrage (voir Écran de démarrage ) ou d'une boîte de dialogue de progression ne réduit pas le temps de lancement d'une application ou de téléchargement d'un fichier. Cependant, il répond à certains besoins : il donne l'impression d'un traitement plus rapide et fournit un indicateur visuel informant l'utilisateur que le système est en train de traiter sa requête.

Dans la plupart des cas, l'amélioration des performances réelles accroît les performances perçues. Cependant, lorsque les performances réelles ne peuvent être augmentées en raison de limitations physiques, des techniques permettent d'accroître les performances perçues, quitte à réduire légèrement les performances réelles. Par exemple, l'affichage et l'actualisation d'une barre de progression pendant le chargement d'un fichier satisfont l'utilisateur, mais ralentissent le processus de chargement, généralement de façon infime. Toutes ces techniques doivent exploiter l'incapacité de l'utilisateur à évaluer précisément les performances réelles, sous peine d'être considérées comme nuisibles à ces dernières.

Les techniques d'amélioration de la performance perçue peuvent aller au-delà de la simple réduction du délai entre la requête de l'utilisateur et le retour visuel. Parfois, un délai plus long peut être perçu comme une amélioration, par exemple lorsqu'une variable contrôlée par l'utilisateur est définie sur une moyenne mobile de ses entrées. Cela peut donner l'impression d'un mouvement plus fluide, mais la variable contrôlée atteint toujours la valeur souhaitée avec un léger retard. Comme cela lisse les fluctuations à haute fréquence, lorsque l'utilisateur tente de maintenir la valeur constante, il peut avoir l'impression d'y parvenir plus facilement. Ce type de compromis serait approprié pour le contrôle d'un fusil de précision dans un jeu vidéo. Un autre exemple consiste à effectuer des calculs simples en amont plutôt qu'après le déclenchement d'une action par l'utilisateur, comme le tri préalable d'une longue liste de données avant que l'utilisateur ne souhaite la consulter.

Une technique permettant de mesurer et d'interpréter les performances perçues des systèmes distants est présentée dans un article de 2003 et mise à jour en 2005 pour les machines virtuelles.

Performance Web

Pour optimiser les performances web, la performance perçue joue un rôle crucial. Elle donne l'illusion à l'utilisateur qu'un site se charge plus rapidement qu'il ne l'est réellement. Pour ce faire, les ressources bloquant le rendu sont chargées en dernier afin de laisser au navigateur le soin d'afficher d'abord les autres éléments, tels que le texte et les images. Ainsi, même si le navigateur charge les mêmes éléments, le chargement prioritaire des ressources non bloquantes donne l'impression à l'utilisateur que du contenu s'affiche immédiatement. Cette technique améliore la performance perçue et, par conséquent, l'expérience utilisateur globale.

Pour mesurer et améliorer cette performance, on se base sur des indicateurs clés et des principes de conception.

Indicateurs de performance web

Plusieurs métriques permettent de quantifier la performance perçue :

  • Time To First Byte (TTFB) : Cet indicateur mesure le temps entre la requête de l'utilisateur et la réception du premier octet de données du serveur. Un TTFB bas (Google recommande moins de 200 ms) est la première étape d'un chargement rapide.
  • Largest Contentful Paint[2] (LCP) : Le LCP mesure le temps nécessaire pour afficher le plus grand élément de contenu (généralement une image, une vidéo ou un bloc de texte) visible dans la fenêtre du navigateur. Un LCP rapide (idéalement sous 2,5 secondes) rassure l'utilisateur en lui montrant que le contenu principal de la page est en train d'apparaître.
  • Speed Index (Indice de Vitesse) : Cette métrique mesure la rapidité avec laquelle le contenu visible de la page (au-dessus de la ligne de flottaison) se remplit visuellement. Contrairement au LCP qui mesure un seul élément, le Speed Index évalue la progression globale de l'affichage. Un score bas signifie que la page semble se charger rapidement et de manière fluide, plutôt que par à-coups ou en restant blanche longtemps.
  • Interaction to Next Paint[3] (INP) : Ce Core Web Vital (remplaçant le First Input Delay - FID) mesure la réactivité de la page. Il évalue le temps entre une interaction de l'utilisateur (un clic, une touche pressée) et le moment où la page réagit visuellement. Un INP faible est crucial pour que le site paraisse réactif et non « figé ».
  • Cumulative Layout Shift (CLS) : Le CLS mesure la stabilité visuelle de la page. Un CLS élevé signifie que des éléments de la page (comme des polices, images ou publicités) se déplacent de manière inattendue pendant le chargement, ce qui peut frustrer l'utilisateur (par exemple, s'il clique accidentellement sur un mauvais lien). Il est calculé en additionnant les scores de déplacement (Layout Shifts) :

 :

  • est le score du déplacement.
  • est le pourcentage de la fenêtre qui a changé.
  • est la distance parcourue par l'élément instable (rapportée à la taille de la fenêtre).

Le CLS[4] est la somme de ces scores sur la durée de vie de la page.

Principes pour une meilleure expérience utilisateur

Voici les principales étapes de performance perçue pour une meilleure expérience utilisateur :

  1. Optimiser le chargement initial : Chargez uniquement les ressources critiques nécessaires à l'affichage du premier contenu (le above the fold). Les autres ressources (scripts, images plus bas sur la page) peuvent être chargées de manière différée. Cela améliore directement le TTFB, le LCP et le Speed Index.
  2. Assurer la stabilité visuelle : Pour éviter les sauts de contenu (et améliorer le CLS), il convient de toujours spécifier les dimensions (largeur et hauteur) des images, vidéos et contenus intégrés. Utilisez des espaces réservés (placeholders) pour que la mise en page soit stable avant même que le contenu final ne soit chargé.
  3. Gérer le chargement des polices : Les polices web peuvent causer des décalages (CLS) ou des « flashs » de texte invisible ou mal stylisé (FOIT/FOUT[5]). Utilisez des techniques comme font-display: swap pour afficher un texte de repli rapidement, minimisant ainsi l'impact sur la performance perçue.
  4. Prioriser l'interactivité : Les éléments interactifs (boutons, liens, champs de formulaire) doivent être fonctionnels le plus vite possible. Même si le reste de la page charge encore, permettre à l'utilisateur d'interagir rapidement (ce qui améliore l'INP) donne une forte impression de rapidité.

Outils

Pour améliorer la performance perçue d'une page web, de nombreux outils peuvent s'avérer utiles :

Tous ces outils se reposent au moins en partie sur les Core Web Vitals définis par Google.

Références

Related Articles

Wikiwand AI