Sélectionner une page

Le Domaine de la webperf est en constante évolution et il est parfois difficile de s’y retrouver avec tous les termes qui circulent. C’est pourquoi nous avons souhaité fournir une description brève et simplifiée des termes qui reviennent souvent. Nous ferons évoluer cette liste au fûr et à mesure de nos veilles.

WebPerf

Provient du terme anglais Web Performance, qui est la gestion de la performance des applications web par la mesure de certains indicateurs comme le temps de réponse, la rapidité d’affichage… La gestion de la webperf est désormais un point capital pour l’expérience utilisateur et le SEO. En Français on pourrait traduire ça par Performance Web, mais ça veut tout et rien dire car on pourrait penser à une performance marketing…

Navigation Timing

Le Navigation Timing est une norme proposée par la W3C qui a pour but d’aporter une méthode commune pour la mesure du chemin critique du rendu d’une application web. Le navigateur émet une série d’événements consommables qui capturent les différentes étapes du chemin critique du rendu.

Resource Timing

Le Resource Timing est une recommandation proposée par la W3C qui a pour but d’aporter plus de précision dans la mesure des performances qui est dédié aux ressources. Le Navigation Timing permet de manière globale de répondre à ce besoin de mesure, mais il ne permet pas d’avoir une finesse par ressource. C’est donc le rôle de la norme Resource Timing, fournir, par ressource, des méthodes de mesures de performances des ressources. Les types de ressources possibles sont “css”, “embed”, “img”, “link”, “object”, “script”, “subdocument”, “svg”, “xmlhttprequest”, “other”.

User Timing

Le User Timing est une recommandation proposée par la W3C qui a pour but d’aider les développeurs à mesurer l’exécution des scripts de leur applications web en leur donnant accès à une horodatage précis. L’API User Timing définit deux métriques permettant de mesurer le minutage des scripts : marks et measures. La valeur mark représente un timestamp haute résolution situé à un instant bien précis de l’exécution du script. La valeur measure représente la différence entre deux valeurs mark. Il complète Navigation Timing et Resource Timing.

Performance Timeline

Performance Timeline est une recommandation proposée par la W3C qui a pour but de fournir une interface unifiée qui permet de gérer les recommandations W3C décrites ci-dessous (Navigation Timing, User Timing, Resource Timing). Cette recommandation fournit une interface unifiée qui permet de récupérer la chronologie de performance se son application web.

Frame Timing

Frame Timing est une recommandation proposée par la W3C qui a pour but de fournir les mêmes mécaniques que les recommandations ci-dessus, mais concerne ici le délais de rendu de l’affichage.

Server Timing

Server Timing est une recommandation proposée par la W3C qui permet au serveur de communiquer des métriques de performance et une interface Javascript qui va permettre aux applications de collecter, traiter et d’agir sur ces paramètres pour optimiser la livraison de l’application.

RUM (Real User Monitoring)

Le RUM est une méthode passive qui permet de récupérer les données de performances d’une application web. Un script javascript positionné sur l’application web va communiquer avec le navigateur pour récupérer les données de performance qui proviennent des utilisateurs réels. Ceci implique la gestion de milliers/millions de mesures. L’utilisation du RUM est recommandé dans un environnement de production ce qui permet par exemple de mesurer les latences réseaux, les performances de l’application dans diverses zones du monde sans avoir à avoir de pop pour des tests synthétique…

Monitoring Synthétique

Le Monitoring Synthetique est une méthode active qui va tester une page ou exécuter un scénario en émulant un navigateur web et va récolter les métriques de performances. L’utilisation du monitoring synthétique est pratique en phase de développement, mais aussi pour suivre sa performance de manière quotidienne pour valider par exemple que l’applicaiton ne souffre pas de régression.

Content Delivery Network (CDN)

Un CDN est un réseau de diffusion de contenu qui a pour but de fournir du contenu aux visiteurs d’une application web sur différentes zones géographiques avec un mécanisme de cache. L’idée qu’on retrouve pour la performance est l’amélioration de l’expérience utilisateur avec du contenu qui se charge plus rapidement du fait de la distance entre vous et le cache CDN.

Test de Charge, Test de performance, Stress Tests

Un test de charge consiste à simuler une activité sur une application web, le plus souvent via des scénarios, afin d’analyser le comportement et les performances de l’application concernée. Un test de montée en charge va permettre de déterminer si il y a des goulets d’étranglements, quels sont les parties à optimisée, comment se comporte l’infrastructure, mais aussi à partir de combien de visiteurs simultanés ou hit l’expérience utilisateur se dégrade. Ce typde de tests se fait sur une durée relativement courte d’environ 2 heures. Une bonne pratique pour les site e-commerce est de réaliser des tests de charges avant les soldes, ceci afin d’éviter d’avoir un site en panne sur la période la plus importante de l’année.

Test de robustesse

Il s’agit d’un test de performance de longue durée de 08 à 10 heures pour voir si le système testé est capable de supporter une activité intense sur une longue période sans dégradations des performances et des ressources applicatives ou système.

Waterfall

Le Waterfall est un diagramme qui va permettre de visualiser l’ordonnancement du chargement des composants d’une page.

TTFB (Time To First Byte)

Le TTFB est le temps nécessaire pour télécharger le premier octet.

Load Time ou temps de chargement

Il s’agit du temps de chargement complet de l’application web.

Start Render

Il s’agit du moment à partir du quel la page commence à s’afficher.

Visually Complete

Il s’agit du temps d’affichage du contenu du site au dessus de la ligne de flotaison

SpeedIndex

Le SpeedIndex est un indice de mesure de la performance web créé par Webpagetest.org

Domain sharding

Il s’agit d’une technique utilisant plusieurs noms de domaines afin de paralléliser les transferts de ressources, on fait souvent pour les contenus statiques, deviendra obsolète et même pire négatif avec HTTP/2

HTTP/2

Évolution de la norme HTTP/1.1 qui apporte de grosse évolution en terme de performance.

CSS Sprite

La technique consiste à exploiter un fichier unique pour stocker de multiples images, positionnées les unes à côté des autres, puis appelée via css. Ceci permet entre-autre de limiter le nombre de requêtes et donc de réduire les temps de chargement.

Lazy Loading

Le Lazy Loading permet de ne charger que les images qui sont visible à l’écran. De cette manière, on économise en nombre de requêtes, en temps de chargement et en bande passante en ne chargeant que ce qui est nécessaire au moment voulu. On retrouve souvent cette technique sur les pages produits des sites e-commerce.

 

Bref, comme dit en début d’article, nous allons faire évoluer cette liste au fur et à mesure, si vous souhaitez compléter cette liste n’hésitez pas.