dans Web Performance

[SudWeb2012] « Mettre en place une stra­té­gie de Perfor­mance Web » – Article

Dans ce nouvel article consa­cré à la perfor­mance Web, nous nous attar­de­rons sur la partie « stra­té­gie et culture d’en­tre­prise » ou comment un enjeu tech­nique peut deve­nir une aven­ture de longue halei­ne…

Note : l’ar­ticle ci-dessous a été publié sur Clever Age dans Mettre en place une stra­té­gie de Perfor­mance Web.

Aver­tis­se­ment

Avant d’al­ler plus loin, expli­ci­tons deux non-dits.

Le premier est assez simple : on ne peut mettre en place une stra­té­gie d’amé­lio­ra­tion de la perfor­mance Web que dans une entre­prise qui est consciente des ses avan­tages. Et avant d’y arri­ver, il faut souvent convaincre de l’in­té­rêt de la perfor­mance Web. Cela pour­rait être le sujet d’un article à part entière, mais pour l’ins­tant partons du prin­cipe que l’en­tre­prise est sensible à l’ar­gu­ment.

Le deuxième non-dit est que la perfor­mance Web n’est pas qu’un déve­lop­pe­ment ou un ensemble de déve­lop­pe­ments. Vous pouvez audi­ter un site, conseiller des correc­tions ou propo­ser de nouvelles implé­men­ta­tions, et la perfor­mance s’amé­lio­rera tempo­rai­re­ment. C’est une première étape essen­tielle. Mais si le site ciblé est vivant, s’il évolue, alors la perfor­mance Web est plus compliquée à atteindre car elle devient un enjeu quali­ta­tif à chaque livrai­son, voire même à chaque contri­bu­tion (côté Back ou Front).

Main­te­nant que nous sommes d’ac­cord sur tout ça, comment mettre en place une stra­té­gie de perfor­mance Web ? Lente­ment, et par étapes.

Niveau 0 – la compré­hen­sion

La première étape consiste à comprendre ce que l’on entend par Perfor­mance Web, car la plupart du temps, cela consiste à répondre à deux ques­tions : « à quelle vitesse ma page s’af­fiche-t-elle ? » et « comment cela modi­fie-t-il l’ex­pé­rience de mes visi­teurs ? ». Or, il n’y a pas de bonnes réponses à ces ques­tions, il n’y a que des indi­ca­teurs qui permettent de se faire une idée. Et il est parfois diffi­cile de s’y retrou­ver.

Ces indi­ca­teurs peuvent être de deux types : orien­tés métier ou pure­ment tech­niques. Suivant le contexte, il vous faudra défi­nir le juste assem­blage. Côté métier par exemple, pour un site e-commerce, la parti­ci­pa­tion d’une page à la géné­ra­tion de reve­nus est un indi­ca­teur incon­tour­nable. En revanche, sur un portail colla­bo­ra­tif, il s’agira de toutes autres mesures, comme le nombre de contri­bu­tions par parti­ci­pant. Au niveau des indi­ca­teurs tech­niques, il y a aussi le choix comme nous l’avions vu dans cet autre article. A vous de faire votre sélec­tion.

Souvent, dans cette première phase, vous n’avez pas l’oeil perpé­tuel­le­ment rivé sur les indi­ca­teurs, sinon vous ne feriez pas grand chose de concret. A la place, vous faites une extrac­tion des mesures toutes les semaines ou tous les mois, suivant la criti­cité, souvent manuel­le­ment. Il ne s’agit pas de perdre du temps à sortir des métriques, mais bien d’amé­lio­rer rapi­de­ment les choses. Pas la peine de réin­ven­ter la roue, vous pouvez utili­ser des outils publics, souvent gratuits et en ligne comme :

Niveau 1 – la réac­tion

Une fois la défi­ni­tion de vos indi­ca­teurs termi­née, vous êtes norma­le­ment capable de mesu­rer les gains et les pertes dans le temps. Malheu­reu­se­ment, si vous êtes chargé de mettre en place cette stra­té­gie, c’est qu’elle n’existe pas déjà et que donc l’en­tre­prise n’a proba­ble­ment aucune culture de la Perfor­mance Web. Vous êtes donc en mesure de trou­ver des problèmes, mais êtes proba­ble­ment le seul à cher­cher à les résoudre. Et en plus de ça, on vous demande de faire vos preuves au milieu d’un milieu a priori hostile car mal informé.

C’est le moment privi­lé­gié des « Quick Win », ces opti­mi­sa­tions rapides et effi­caces qui permettent d’ob­te­nir des résul­tats grati­fiants au prix de peu de déve­lop­pe­ment et de TNR [1]. Il s’agit souvent de solu­tions pure­ment tech­niques, recom­man­dées par des outils d’ana­lyse auto­ma­tique et dont la réso­lu­tion ne remet pas en cause l’exis­tence ou la dyna­mique de l’en­tre­prise sur Inter­net. Profi­tez de la rela­tive simpli­cité de ces premières opti­mi­sa­tions pour géné­ra­li­ser l’usage de tests A/B. Cela vous permet­tra de démon­trer le gain issu de la perfor­mance en compa­rant une version du site sans opti­mi­sa­tion à une autre en béné­fi­ciant.

Mais tout n’est pas rose : grâce aux indi­ca­teurs que vous avez mis en place, vous détec­tez des problèmes qui passaient inaperçus jusqu’à présent, dans la jungle des autres problèmes. Et dans la pure logique « Shoo­ting The Messen­ger« , vous serez souvent rendu respon­sable de ne pas avoir déjà corrigé tous ces problèmes. La situa­tion, qui semble assez posi­tive, peut rapi­de­ment se retour­ner contre vous si vous vous retrou­vez submergé par la tâche, ou si ne vous savez pas « vendre la perfor­mance » suffi­sam­ment bien, le temps que les premiers gains parlent d’eux-même.

C’est la phase de montée en compé­tence. La vôtre, au sein du SI de l’en­tre­prise que vous appre­nez à comprendre, mais aussi celle des personnes qui vous côtoient dans l’en­tre­prise, qui vont petit-à-petit acqué­rir une certaine culture de la perfor­mance Web. Accro­chez-vous, si on vous bous­cule un peu, c’est que ça rentre.

Niveau 2 – Savoir et Faire

A ce niveau, vous avez suffi­sam­ment d’ex­pé­rience sur le SI de l’en­tre­prise pour connaitre les proces­sus du(des) site(s) ciblé(s), bien évidem­ment, mais égale­ment ceux du SI et du métier/commerce. Vous connais­sez les enjeux, êtes capable de trou­ver rapi­de­ment où sont les problèmes et chif­frer leur réso­lu­tion. Vous êtes dans votre zone de confort. Vous savez comment amélio­rer le site, vous êtes un réfé­rent sur la Produc­tion car vous réali­sez des mesures régu­lières et des analyses effi­caces.

Problème : dans la mesure où vous analy­sez la produc­tion, vous arri­vez toujours trop tard. Il est grand temps d’an­ti­ci­per en réali­sant des tests de perfor­mance sur les envi­ron­ne­ments internes, avant que le code ne soit livré. L’oc­ca­sion, peut-être, de déployer une instance privée de WebPa­geTest.org et de passer par l’API pour lancer certains tests.

C’est une phase où la diffi­culté est orga­ni­sa­tion­nelle, car suivant la taille du site ou sa volu­mé­trie, vos rele­vés de perfor­mance « à la main » sur plusieurs envi­ron­ne­ments commencent à être coûteux en temps…

Niveau 3 – l’au­to­ma­ti­sa­tion

Au bout d’un certain temps, vous surveillez telle­ment d’en­vi­ron­ne­ments que même en rôdant vos proces­sus au maxi­mum, vous finis­sez par passer moins de temps à résoudre les problèmes qu’à mesu­rer leur impact. Il est temps d’agir. Lorsque la mesure à la demande n’est plus envi­sa­geable, il faut auto­ma­ti­ser.

Plusieurs solu­tions sont possibles : la première, la plus évidente, est d’au­to­ma­ti­ser l’uti­li­sa­tion des mêmes outils que précé­dem­ment. Plutôt que de lancer vos analyses WebPa­geTest à la main, vous passez désor­mais par leur API REST, et vous pouvez égale­ment imagi­ner le télé­char­ge­ment et trai­te­ment des résul­tats HAR appli­ca­ti­ve­ment, pour géné­rer une levée d’alerte auto­ma­tique. Autres solu­tions possibles, utili­ser WPT Moni­tor ou une instance privée d’HttpAr­chive.org, qui four­nissent tous deux des services simi­laires.

Rien ne vous empêche cepen­dant de réali­ser l’in­ves­tis­se­ment néces­saire à une véri­table amélio­ra­tion de votre trousse à outils en bascu­lant vers la mesure de l’ex­pé­rience réelle des utili­sa­teurs. Il peut s’agir de Peer Testing, c’est-à-dire de mesu­rer la perfor­mance de votre site sur une popu­la­tion cible (à la façon d’un Focus Group), ou de mesures réali­sées en JavaS­cript et renvoyées à vos serveurs ou à un service externe.

On peut citer, dans ce domaine : Gomez RUMGoogle Analy­tics,Boome­rangNew Relic RUMEpisodes 2

L’avan­tage est évident : vous n’êtes plus dans un contexte de test provoqué, mais bien dans une visua­li­sa­tion de l’ex­pé­rience réelle de vos visi­teurs, qui ont proba­ble­ment une façon bien à eux d’uti­li­ser le site, diffé­rente de la vôtre. Vos mesures sont plus fiables et la corré­la­tion avec les indi­ca­teurs métier n’en est que meilleure. Vous vous rappro­chez des popu­la­tions métier/commerce, car vous parlez désor­mais le même langage : celui qui s’ar­ti­cule non-pas autour d’une notion tech­nique, mais autour du client.

Niveau 4 – l’ana­lyse en amont

Vous arri­vez à un moment où vous ne pouvez plus opti­mi­ser en vous concen­trant unique­ment sur l’as­pect tech­nique et où vous devez prendre en compte l’im­pact commer­cial pour prio­ri­ser vos déve­lop­pe­ments, voire défi­nir les évolu­tions du site en fonc­tion de ce critère. D’in­ter­ve­nant de fin de cycle, vous pouvez alors bascu­ler vers la défi­ni­tion des projets avant même leur mise en chan­tier. Vous parti­ci­pez aux défi­ni­tions des nouvelles fonc­tion­na­li­tés et pouvez conseiller leur élabo­ra­tion ou lever les alertes quand c’est néces­saire.

Mais comme un grand pouvoir implique de grandes respon­sa­bi­li­tés, il est désor­mais capi­tal que vous portiez vos tests auto­ma­ti­sés sur l’en­semble de la chaîne de déve­lop­pe­ment de manière à pouvoir vali­der que les déve­lop­pe­ments suivent bien vos préco­ni­sa­tions et n’im­pactent pas néga­ti­ve­ment les indi­ca­teurs de perfor­mance, avant même la mise en Produc­tion. A vous les joies du recou­pe­ment de données ou de l’in­té­gra­tion de votre tableau de bord à l’uti­li­taire de compi­la­tion/livrai­son. L’objec­tif est de pouvoir dire, lors d’une dégra­da­tion de perfor­mance, quelle contri­bu­tion est respon­sable.

Niveau 5 – la constance

Vous y êtes, vous contrô­lez la perfor­mance Web du ou des sites de l’en­tre­prise. Votre vision de la perfor­mance est bien sûr trou­blée par des impré­vus mineurs mais vous êtes globa­le­ment maître des temps de réponse du site. Il s’agit à cette étape de péren­ni­ser le travail effec­tué : réali­sa­tion de tableaux de bord conte­nant des indi­ca­teurs mis-à-jour en temps réel sur les diffé­rents envi­ron­ne­ments mesu­rés, analyse de l’im­pact commer­cial avant la livrai­son, défi­ni­tion de refontes alliant métier et perfor­man­ce… etc.

Et si vous avez encore 5 minutes, n’hé­si­tez pas à rejoindre la commu­nauté des Web Perfor­mers français qui s’ar­ti­cule aujourd’­hui autour du projet d’ana­lyse des bonnes pratiques WebPerf OpQuast. On vous attends !