DEVOPS

Mesurer l’expérience des utilisateurs : deux technos à connaître

La supervision synthétique et le Real User Monitoring

Mesurer l’expérience utilisateur sur les applications est une demande récurrente autant de la part des équipes techniques que des équipes métiers. Attendre que les utilisateurs se plaignent et compter leurs commentaires du type « ça rame tout le temps », « mon voisin non plus n’a pas réussi » et autres « l’appli est pas dispo » est une approche qui trouve vite ses limites.
Se pose alors la question de la méthode et des outils existants. Pour mettre en place une supervision de la disponibilité et de la performance de chargement – également connues sous les termes de monitoring et de Web performance en bon franglais, deux technologies existent et se distinguent. Dans ce blog, nous comparerons la supervision synthétique (en anglais Synthetic Monitoring) et la supervision réelle des utilisateurs (ou en anglais « RUM » pour Real User Monitoring).

Définitions

Commençons par la définition : 

  • Synthetic Monitoring : les fournisseurs de synthetic monitoring proposent une infrastructure de points de mesure distants sur Internet (souvent mondiale) basée sur des « robots » (des agents simulant un utilisateur humain). Ces robots parcourent à intervalle défini un site ou une application web (pour simplifier, regroupons-les sous le nom d’application). Comme un client mystère, ou un employé mystère pour une application métier interne, le robot exécute un parcours prédéfini à chaque visite ; il enregistre les données de performance pour chaque exécution, ainsi que des copies d’écran pour les solutions les plus évoluées. Ce trafic n’est pas celui de véritables utilisateurs, il est généré de manière synthétique, d’où le nom. Le terme active monitoring est parfois employé pour cette même raison et pour le distinguer du passive monitoring que constitue l’autre solution détaillée ci-dessous. 
  • Real User Monitoring : les fournisseurs de RUM proposent un agent (JavaScript ou Snippet) qui est intégré sur chaque page du site web ou de l’application. L’agent rapporte les données de chargement de la page et de navigation pour chaque visite effectuée par cet utilisateur. Comme son nom l’indique, cette technique supervise les interactions réelles des utilisateurs humains avec une application.

Comparaison de ces deux approches

Le RUM et le Synthetic Monitoring sont tous deux utiles pour suivre et identifier les pistes d’optimisation de la performance. Les deux méthodologies fonctionnent encore mieux lorsqu’elles sont associées. Chacune apporte des informations différentes et complémentaires.


Un résumé rapide des différences en prenant l’analogie de la météo :

  • Le synthétique aide à diagnostiquer et à résoudre les problèmes de performance à court terme – c’est la « température sous abri », dans un environnement contrôlé et stable.
  • Le RUM offre une vue en temps réel de la performance ressentie par des utilisateurs qui ont des contextes d’utilisation différents – c’est la « température ressentie » de la performance.
  • Le synthétique ne nécessite généralement pas d’installer quoi que ce soit sur l’application alors que le RUM a besoin d’une légère intervention. 

Examinons maintenant plus en détail certains des principaux bénéfices que le Synthetic Monitoring offre par rapport au RUM.

Tester à chaque étape du dév

Le Synthetic Monitoring peut être utilisé pour tester des applications en pré-production – le RUM s’applique uniquement en production ou du moins quand il y a déjà des utilisateurs.

Les résultats de tests en pré-production du synthétique peuvent servir à établir une base de référence pour les performances et à définir des seuils d’alerte, mais ils peuvent également aider à prévenir les problèmes de performance avant qu’ils n’atteignent la production, où il peut être coûteux et chronophage de les corriger rétroactivement.

Mesures dans un environnement contrôlé

Le Synthetic Monitoring vous permet de superviser la performance avec un ensemble de variables contrôlées – géographie, réseau, appareil, navigateur, mis en cache ou non mis en cache, etc. Par exemple, certains utilisateurs d’une même application peuvent se connecter depuis Tokyo sur le dernier iPhone avec une connexion haut débit alors dans des zones reculées avec des appareils ayant plusieurs années déjà : les données des vrais utilisateurs remontées par le RUM seront plus complexes à analyser pour comprendre la performance de votre application. 

A contrario, les robots font le même parcours avec les mêmes étapes depuis le même point de mesure alors que le RUM mesurera l’expérience d’utilisateurs se connectant potentiellement depuis des zones géographiques et des qualités de connexion réseau très différentes. En conséquence, les utilisateurs peuvent :

  • identifier rapidement la latence et les temps d’arrêt,
  • isoler et diagnostiquer la cause principale (article en anglais) de tout problème de performance,
  • tester dans des conditions proches du contexte d’utilisation des utilisateurs que vous ciblez.

Prenons un exemple d’application de ce dernier point : vous souhaitez ouvrir l’accès à votre application aux utilisateurs japonais. Comment vérifier sans faire le déplacement et en évitant la latence induite par la distance ? En utilisant le point de mesure de Tokyo. Ainsi, vous pourrez mesurer les performances pour vérifier qu’elles correspondent à vos objectifs et éventuellement tester des solutions techniques alternatives (hébergement, CDNs).

A/B testing des effets de performance des contenus tiers

Le Synthetic Monitoring offre la capacité de créer des tests qui excluent ou incluent des éléments venant de tiers. Ceci est particulièrement intéressant pour les sites de B2C : les clients Splunk par exemple, dans l’e-commerce font état d’environ 15 à 25 trackers en moyenne (suivi de trafic, outils de web marketing, etc) ; les sites de média en comptent 3 fois plus. De nombreuses applications B2B font aussi appel à des éléments tiers. 

Par exemple, un responsable technique peut créer un test qui exclut un plugin marketing problématique et exécuter le test côte à côte avec un autre test qui inclut le plugin pour montrer clairement son impact sur la disponibilité et la performance. Un utilisateur peut également utiliser le Synthetic Monitoring pour quantifier l’impact du changement de fournisseurs de publicités ou de certains outils d’accélération de contenu comme les CDNs (Content Delivery Networks).

Benchmark concurrentiel

Le Synthetic Monitoring ne nécessite aucune installation ou injection de code sur l’application, facilitant ainsi le benchmarking face à ses concurrents. Connaître sa position face à ces derniers est nécessaire pour adapter les ressources à l’état de l’art du marché et définir des objectifs data-driven. Le Synthetic Monitoring devient alors un outil d’aide à la décision. Avant le lancement d’un nouveau produit, ce benchmark permet de fixer les objectifs de temps de réponse en vue utilisateur à atteindre.

Supervision 24 h/24, 7 j/7

À la différence du RUM (et donc des humains), les robots ne dorment pas. Il est donc possible de détecter des incidents « externes à l’entreprise » qui ne sont pas sous votre responsabilité, mais qui affecteront vos utilisateurs au réveil (exemple : un CDN hors service, une API tiers en erreur, etc) et sont indétectables par les outils d’observabilité qui, eux, scrutent « l’interne » comme les outils d’Infrastructure Monitoring ou encore les APM (Application Performance Monitoring).

Core Web Vitals 

Les Core Web Vitals sont un ensemble de métriques spécifiques que Google utilise pour évaluer l’expérience utilisateur d’un site web. Elles se concentrent sur trois aspects principaux : 

  • Largest Contentful Paint (LCP) : mesure le temps de chargement du contenu principal d’une page. Un bon LCP signifie que la page se charge rapidement, ce qui est essentiel pour une bonne expérience utilisateur.
  • First Input Delay (FID) : évalue la réactivité d’une page en mesurant le temps entre l’interaction d’un utilisateur avec la page (par exemple, un clic sur un lien ou un bouton) et la réponse de la page à cette interaction. Un FID faible indique que le site répond rapidement aux actions de l’utilisateur.
  • Cumulative Layout Shift (CLS) : quantifie la stabilité visuelle en mesurant la fréquence et l’ampleur des changements inattendus de mise en page dans le contenu d’une page. Un CLS faible signifie que la page est visuellement stable et ne provoque pas de déplacements de contenu qui pourraient désorienter l’utilisateur.

Ces indicateurs influencent directement le classement dans les résultats de recherche. Les améliorer peut donc contribuer à une meilleure expérience utilisateur et potentiellement à un meilleur référencement SEO. Étant donné les efforts et les budgets consacrés au SEO dans de nombreuses organisations, le suivi de ces indicateurs est souvent l’occasion de mettre en place une approche moins cloisonnée entre les équipes IT, SEO et métiers.

Tant pour le Synthetic Monitoring que le RUM : le suivi de ces indicateurs s’accompagne souvent par la mise en place du second outil et une démarche plus avancée sur l’analyse des mesures.

Mesurer les vrais utilisateurs 

La granularité des données permet de couvrir certains angles morts du synthétique :

  • Vous souhaitez pouvoir suivre l’expérience de certains utilisateurs VIP : en capturant chacune des sessions, le RUM permet cela (avec l’accord de ces utilisateurs et dans le respect des réglementations en vigueur). 
  • Les utilisateurs se conforment rarement exactement aux parcours prévus pour eux : en observant les données de leurs navigations dans un outil de RUM, vous pourrez adapter et corriger au besoin les étapes que vous demandez aux robots de réaliser de manière récurrente dans les scripts de Synthetic Monitoring.

Dans ces deux cas, la fonction de « Session Replay » permet de visualiser une vidéo de chaque session (en l’anonymisant au besoin) pour affiner la compréhension de l’expérience utilisateur sur son parcours réel.

En résumé

La clé pour avoir une vue holistique de l’expérience utilisateur de vos sites web et applications en ligne est d’exploiter la complémentarité des deux technologies. Au moment de lancer une nouvelle application, le Synthetic Monitoring possède de nombreux atouts. Il constitue une bonne première étape dans la mise en place d’une démarche orientée autour de la mesure de performance et de l’expérience utilisateur.

Ajouter ensuite les mesures d’une solution de RUM à votre monitoring vous permettra de pousser plus loin le niveau de détail de vos analyses en les segmentant pour vos utilisateurs finaux.

Mais la meilleure manière d’apprécier les bénéfices de ces outils dans votre environnement est de les essayer !

Liens

Arthur Hamon
Posted by

Arthur Hamon

Après avoir travaillé en Europe et aux États-Unis sur des projets SAP chez Saint-Gobain, Arthur rejoint en 2005 une start-up spécialisée dans le Digital Experience Monitoring. Pour développer l’activité sur la région APAC, il s'installe en Chine avec sa famille - un pays au marché en ébullition et caractérisé par les défis techniques du “Great Firewall” pour les sites web des marques internationales.
Aujourd'hui, dans l’équipe Stratégie Produit Observability EMEA, Arthur aide nos clients et partenaires à résoudre l'équation de la Web Performance et de son impact business.

TAGS
Show All Tags
Show Less Tags