Rich Media Applications : comment gérer les performances ?

Par Jérôme Jacq, DG de Keynote Western Europe

Le Boston Consulting Group révèle que 28% des visiteurs d’un site web n’y retournent pas si les performances ne sont pas à la hauteur de leurs attentes, et que, de plus, 6% délaisseront aussi les points de vente physiques de la marque concernée. Ces deux chiffres témoignent de l’impact majeur que peut avoir un site web peu performant sur l’image de marque d’une entreprise et sur son chiffre d’affaires. Garantir une performance optimale est donc aujourd’hui devenu un atout concurrentiel déterminant pour la satisfaction des clients et leur fidélisation.

Mais, malheureusement, dans un environnement technique en perpétuelle évolution, la qualité de service ne se décrète pas. La gestion des performances devient chaque jour plus complexe en raison notamment de l’évolution des applications Web et des infrastructures réseaux. Avec les applications Internet riches (Rich Internet Applications – RIA) et l’avènement de nouvelles technologies comme AJAX et Flash, l’expérience utilisateur se trouve  fondamentalement modifiée. Données affichées en temps-réel, retours d’information instantanés, permettent la personnalisation et le contrôle des pages. Autant de possibilités très appréciées des Internautes… mais qui complexifient fortement la gestion de la qualité de l’expérience de ces utilisateurs.

De la simplicité à la complexité

Avant le Web 2.0, les choses étaient bien plus simple : les pages web étaient principalement statiques, essentiellement conçues en HTML, avec une utilisation limitée de JavaScript et des CSS. Le contenu était facile à fournir et les performances applicatives étaient directement liées à la vitesse de connexion au serveur. Le contexte est aujourd’hui fondamentalement différent. L’évolution des réseaux Internet et l’avènement du Rich Media ont rendu l’optimisation et la gestion des performances à la fois plus critiques et plus complexes.

Afin de rendre l’expérience utilisateur plus interactive, les applications Internet « riches » d’aujourd’hui font davantage appel à JavaScript et aux CSS. Les contenus provenant de tierces parties (publicité notamment) et la multiplication des images alourdissent le poids des pages web, multiplient les requêtes par page et augmentent les charges de traitement de ces pages sur le poste client. Et cela pénalise les performances. Parallèlement, la course à des applications toujours plus riches et interactives redéfinit le rôle des navigateurs Internet. Ces derniers ne se contentent plus d’une simple communication de type client-serveur ; ils sont devenus de véritables plates-formes capables de télécharger, d’initialiser, de restituer et d’exécuter des applications. La simple vérification du bon fonctionnement d’un serveur web n’est donc plus suffisante.

D’autre part, le traditionnel hébergement sur un lieu unique au sein d’un centre de données local évolue vers un hébergement multi-site dans la sphère Internet/Cloud (services Web, infrastructure et centres de données multi-sites, réseaux de fourniture de contenu, etc.), ce qui décuple encore cette complexité. Les tests de performances des applications Web à partir d’un lieu unique ne suffisent plus non plus, la mondialisation est passée par là : il s’agit désormais de tester les sites à partir des différents points de connexion des utilisateurs, disséminés partout dans le monde.

Notons également que les cycles de développement des applications s’accélèrent. Auparavant, les développeurs disposaient de 6 mois à un an pour créer un nouveau site. Désormais, ils peuvent se considérer chanceux s’ils disposent de quelques semaines. De plus, dans un environnement économique fortement concurrentiel, les délais vont mécaniquement continuer à raccourcir.

Petit à petit, Internet est devenu pour les Internautes un service « de commodité » – toujours actif, toujours disponible, comme peuvent l’être la télévision ou le téléphone – tandis que, parallèlement, le modèle du Web 2.0  redéfinissait leurs attentes. Les utilisateurs ne visualisent plus simplement du contenu : ils interagissent avec ce contenu et s’attendent à ce qu’un site web soit aussi performant qu’une application résidente sur PC. Il y a quelques années, la règle des 8 secondes maximum pour l’affichage d’une page prévalait. Aujourd’hui, nous nous orientons progressivement vers le jour où un temps de réponse supérieur à 1 seconde sera simplement inacceptable. L’utilisateur final ne se soucie pas de la technologie utilisée pour fournir le contenu : ce qui compte, c’est que le résultat final soit pertinent et que le temps d’attente soit proche de l’instantanéité.

Face à cette nouvelle donne, les acteurs du secteur s’interrogent sur la meilleure manière de s’assurer que leurs stratégies de tests et de monitoring des performances sont à la hauteur des nouvelles attentes de leurs utilisateurs. Citons quelques-unes des « meilleures pratiques » des spécialistes de la question pour aider les entreprises à répondre à cet objectif.

Meilleures pratiques en matière de gestion des performances

•    Des tests à chaque étape du cycle de développement applicatif : le concept de performance doit être intégré en amont du cycle de vie des applications : les équipes de développement, d’assurance qualité (QA) et d’exploitation opérationnelle doivent travailler ensemble, dès la phase de conception du service. Une application qui présente en production des performances aléatoires ou mauvaises nécessite une rétro-ingénierie particulièrement coûteuse ainsi qu’une mobilisation importante de ressources qui devraient normalement travailler sur de futures versions.

•    Un monitoring des performances externes et à partir de plusieurs lieux disséminés dans le monde : un monitoring effectué à partir de votre centre de données n’est pas pertinent : vos utilisateurs ne sont pas installés dans votre data-center.

•    Des tests à partir d’un navigateur réel : les navigateurs émulés et les outils de saisie et de relecture sont inadaptés au Rich Media puisqu’ils ne reproduisent pas intégralement l’expérience de l’utilisateur final et n’intègrent pas toutes les fonctions des navigateurs les plus récents.

•    Un monitoring permanent adossé à un processus d’amélioration : mesurez les indicateurs pertinents (ceux qui impactent vos utilisateurs) et utilisez-les pour identifier vos points faibles et les corriger avant qu’ils n’impactent les Internautes. Les indicateurs en amont porteront par exemple sur les temps moyens de téléchargement, les délais de traitement sur poste client, et les écarts de performances selon les lieux géographiques de connexion. En environnement de production, les indicateurs porteront sur les mesures de performance (moyennes comparées aux objectifs), les temps de disponibilité (erreurs et requêtes non résolues), les variations de performance dans le temps (au sein d’une journée mais aussi sur des périodes plus longues), ou encore sur la performance des contenus fournis par des tierces parties. Ces résultats seront monitorés en permanence afin de définir des axes et des objectifs chiffrés d’amélioration. Ces améliorations consistent parfois simplement à mieux gérer le nombre et le poids des fichiers Flash ou à appliquer une bonne stratégie de mise en cache. Enfin, il est également important de mettre en œuvre et de suivre de près des accords de niveau de service (SLA) avec les tiers fournisseurs de contenus et de services.

Pour une entreprise, Savoir rime avec Pouvoir. Implémenter une stratégie de gestion des performan
ces efficace implique de comprendre le comportement de leurs applications Rich Media, d’identifier et de corriger rapidement les anomalies et surtout, d’appréhender l’impact de tel ou tel problème de performance sur l’expérience réelle de l’utilisateur final. Lorsqu’une telle politique de tests et de monitoring actif est mise en œuvre, les entreprises sont assurées d’être à l’avant-garde en matière de satisfaction client et disposent donc d’un avantage concurrentiel déterminant.

Plus d’infos: ICI