<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Performance web &#187; Steve Souders</title>
	<atom:link href="http://performance.survol.fr/avec/steve-souders/feed/" rel="self" type="application/rss+xml" />
	<link>http://performance.survol.fr</link>
	<description>Quelques mots pour des sites web rapides</description>
	<lastBuildDate>Fri, 18 Jun 2010 12:47:47 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Page lente = taux d&#8217;abandon important</title>
		<link>http://performance.survol.fr/2009/08/page-lente-taux-dabandon-important/</link>
		<comments>http://performance.survol.fr/2009/08/page-lente-taux-dabandon-important/#comments</comments>
		<pubDate>Mon, 10 Aug 2009 10:00:06 +0000</pubDate>
		<dc:creator>Éric</dc:creator>
				<category><![CDATA[Performance]]></category>
		<category><![CDATA[abandon]]></category>
		<category><![CDATA[Artur Bergman]]></category>
		<category><![CDATA[statistiques]]></category>
		<category><![CDATA[Steve Souders]]></category>

		<guid isPermaLink="false">http://performance.survol.fr/?p=731</guid>
		<description><![CDATA[On en parlait il y a deux semaines dans le résumé de Steve Souders mais il semble que la statistique mise en avant avait peut être quelques défauts. On en a reparlé entre temps avec un joli graphique en camembert, &#8230; <a href="http://performance.survol.fr/2009/08/page-lente-taux-dabandon-important/">Continuer la lecture <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>On en parlait il y a deux semaines dans <a href="http://performance.survol.fr/2009/07/compte-rendu-des-conferences-velocity-steve-souders/">le résumé de Steve Souders</a> mais il semble que la statistique mise en avant avait peut être quelques défauts. On en a reparlé entre temps avec <a href="http://performance.survol.fr/2009/07/pourquoi-partez-vous/">un joli graphique en camembert</a>, et on a encore reparlé de la pertinence de la statistique.</p>
<p>Il nous reste deux statistiques qui vont encore dans le même sens : Yahoo! affirment que sur leur site auto, ajouter 400ms au chargement de la page fait monter le taux d&#8217;abandon de 5 à 9%. Akamaï affirment eux qu&#8217;<a href="http://performance.survol.fr/2008/07/combien-attendre/">au delà de 4 secondes, le taux d&#8217;abandon devient vraiment important</a>.</p>
<h3>Encore des chiffres</h3>
<p>C&#8217;est Artur Bergman qui nous donne encore du grain à moudre dans le dernier slide de sa présentation à l&#8217;<a href="http://en.oreilly.com/oscon2009">OSCON</a>. Il a mené une étude à l&#8217;aide de Google Analytics pour croiser le taux de rebond et le temps de chargement de la page. Les résultats sont tels que je les attendais : une courbe assez claire, presque une droite, qui confirme que les pages lentes sont de natures à faire fuir les utilisateurs.<span id="more-731"></span></p>
<h3><a href="http://performance.survol.fr/wp-content/uploads/2009/08/3716344792_e86a1c25f4.jpg"><img class="aligncenter size-full wp-image-734" title="abandons en fonction du temps de chargement" src="http://performance.survol.fr/wp-content/uploads/2009/08/3716344792_e86a1c25f4.jpg" alt="abandons en fonction du temps de chargement" width="500" height="388" /></a></h3>
<p>Vous voulez faire pareil ? les quelques lignes de javascript sont données dans <a href="http://www.stevesouders.com/blog/2009/07/27/wikia-fast-pages-retain-users/#comment-730">les commentaires du billet de Steve Souders</a> à ce sujet.</p>
<p>Notez qu&#8217;il reste potentiellement un biais sur la statistique : Les utilisateurs qui arrivent sur le site pour la première fois sont ceux qui auront légitimement le plus fort taux de rebond. Or ce sont aussi ceux qui n&#8217;ont aucun composant en cache et qui du coup ont le temps de chargement le plus long. Toutefois entre 100ms et 5s il y a une grande étendue, le fait que le graphique soit assez linéaire au lieu d&#8217;avoir une explosion du taux de rebond tout à droite tend à accréditer que ce biais n&#8217;est pas si important par rapport à l&#8217;influence du temps de réponse lui même (voire que peut être, au contraire, une partie du taux de rebond lorsqu&#8217;on arrive sur un nouveau site est due justement au fait que la page se charge lentement lors de ce premier accès).</p>
]]></content:encoded>
			<wfw:commentRss>http://performance.survol.fr/2009/08/page-lente-taux-dabandon-important/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Compte rendu des conférences Velocity &#8211; Steve Souders</title>
		<link>http://performance.survol.fr/2009/07/compte-rendu-des-conferences-velocity-steve-souders/</link>
		<comments>http://performance.survol.fr/2009/07/compte-rendu-des-conferences-velocity-steve-souders/#comments</comments>
		<pubDate>Mon, 27 Jul 2009 10:00:57 +0000</pubDate>
		<dc:creator>Éric</dc:creator>
				<category><![CDATA[Performance]]></category>
		<category><![CDATA[AOL]]></category>
		<category><![CDATA[argumentaire]]></category>
		<category><![CDATA[Bing]]></category>
		<category><![CDATA[chiffres]]></category>
		<category><![CDATA[exemples]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Shopzilla]]></category>
		<category><![CDATA[Steve Souders]]></category>
		<category><![CDATA[velocity]]></category>

		<guid isPermaLink="false">http://performance.survol.fr/?p=673</guid>
		<description><![CDATA[S&#8217;il y a une série de conférences auxquelles vous devez assister sur les performances, ce sont les conférences Velocity. La seconde édition a eu lieu en juin dernier, je regrette que l&#8217;éloignement m&#8217;ait contraint à ne pas espérer y aller, &#8230; <a href="http://performance.survol.fr/2009/07/compte-rendu-des-conferences-velocity-steve-souders/">Continuer la lecture <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>S&#8217;il y a une série de conférences auxquelles vous devez assister sur les performances, ce sont les conférences Velocity. La seconde édition a eu lieu en juin dernier, je regrette que l&#8217;éloignement m&#8217;ait contraint à ne pas espérer y aller, mais heureusement il y a des présentations en ligne et des résumés.</p>
<p>C&#8217;est <a href="http://radar.oreilly.com/2009/07/velocity-making-your-site-fast.html">le résumé de Steve Souders</a> qui a été publié récemment. On y retrouve quatre affirmations tirées des conférences. Toutes parlent d&#8217;une corrélation importante entre les performances et le trafic ou le business du site web :<span id="more-673"></span></p>
<h3>Microsoft</h3>
<p>Microsoft a trouvé qu&#8217;un ralentissement de deux secondes implique une réduction 1,8 % du nombre de recherches par utilisateur. Cela semble peu, mais c&#8217;est accompagné aussi d&#8217;une réduction de 4,3 % du revenu par utilisateur, et là ça fait moins rire. Autrement formulé : un utilisateur clique moins sur les publicités d&#8217;un site lent que sur les publicités d&#8217;un site rapide.</p>
<p>Ça rejoint d&#8217;ailleurs Google qui prend en compte la performance dans son &laquo;&nbsp;quality score&nbsp;&raquo; pour adword (en gros un site lent paiera plus cher ses publicités parce que le pourcentage de clic est plus faible) et c&#8217;est finalement logique, on hésitera à partir ailleurs et à se laisser tenter si on remet pas en cause une longue et pénible session de navigation qui nous a permis d&#8217;arriver jusqu&#8217;à la page en cours. Si la navigation est rapide on hésitera moins à partir dans diverses directions pour revenir ensuite.</p>
<p>Avis aux sites qui se rémunèrent sur la pub, et aux agences de comm qui font des publicités ultra lentes sous prétexte d&#8217;avoir une meilleur qualité d&#8217;image.</p>
<h3>Google</h3>
<p>Google lui a affirmé que 400 ms diminuait de 0,59 % le nombre de recherches par utilisateur. Là je suis un peu étonné parce que finalement ce n&#8217;est pas très significatif (sauf à ralentir de plusieurs secondes, et encore) et parce que <a href="http://glinden.blogspot.com/2006/11/marissa-mayer-at-web-20.html">leur dernière communication à ce sujet</a> était d&#8217;un tout autre ordre de grandeur. Ils refont d&#8217;ailleurs état de chiffres bien plus importants dans une autre conférence dans le même événement. J&#8217;attends donc de lire leur communication complètement pour juger de ce que cela implique et de comment comprendre leurs différents chiffres qui ne semblent pas dire la même chose.</p>
<p>Par contre Google fait état d&#8217;un fait d&#8217;importance : les utilisateurs qui ont subit ce ralentissement minime de 400 ms continuent de faire moins de recherche sur le long terme même après que ce ralentissement soit supprimé. En gros vos performances actuelles vous impactent non seulement maintenant mais aussi dans le futur. Le chiffre avancé parait faible mais il a beaucoup d&#8217;implications et le contexte de Google est très particulier, j&#8217;y reviendrai donc certainement dans un billet dédié.</p>
<h3>AOL</h3>
<p>Sur le réseau AOL les 10 % d&#8217;utilisateurs qui ont les meilleures performances visitent moitié plus de page par session que les 10 % avec les moins bonnes performances.</p>
<p>Autant dire que cela a un impact sur le trafic des sites, et donc forcément la conversion en clic publicitaires ou en achats. Le chiffre est important mais il peut revêtir plusieurs formes, je vous en dirai plus quand j&#8217;aurai là aussi lu leur présentation à tête reposée.</p>
<h3>Shopzilla</h3>
<p>Enfin, Shopzilla a réduit le temps de chargement de 7 secondes à 2 secondes. C&#8217;est une différence importante et ça a donc du nécessiter des efforts conséquents, mais le résultat est là : 25 % d&#8217;augmentation de trafic, 7 à 12 % d&#8217;augmentation sur les revenus, et 50 % de réduction sur les coûts matériels.</p>
<p>À défaut d&#8217;être une formule magique, investir dans l&#8217;amélioration de la performance *doit* être considéré après lecture de ces chiffres. Payer une étude quelques milliers d&#8217;euros et un développeur interne pendant quelques jours/semaines pour corriger ce qui a été trouvé, cela peut assez facilement se révéler un investissement payant à court terme.</p>
]]></content:encoded>
			<wfw:commentRss>http://performance.survol.fr/2009/07/compte-rendu-des-conferences-velocity-steve-souders/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Corrélation entre le temps de rendu et la complexité CSS</title>
		<link>http://performance.survol.fr/2009/07/correlation-entre-le-temps-de-rendu-et-la-complexite-css/</link>
		<comments>http://performance.survol.fr/2009/07/correlation-entre-le-temps-de-rendu-et-la-complexite-css/#comments</comments>
		<pubDate>Mon, 06 Jul 2009 10:00:55 +0000</pubDate>
		<dc:creator>Éric</dc:creator>
				<category><![CDATA[Performance]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[reflow]]></category>
		<category><![CDATA[rendu]]></category>
		<category><![CDATA[sélecteur]]></category>
		<category><![CDATA[Steve Souders]]></category>
		<category><![CDATA[velocity]]></category>

		<guid isPermaLink="false">http://performance.survol.fr/?p=641</guid>
		<description><![CDATA[On en a parlé plusieurs fois. Le temps de reflow d&#8217;un navigateur est dépendant de la complexité des feuilles de style, et particulièrement de la complexité des sélecteurs CSS. Google Page Speed y fait référence mais si vous voulez être &#8230; <a href="http://performance.survol.fr/2009/07/correlation-entre-le-temps-de-rendu-et-la-complexite-css/">Continuer la lecture <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>On en a parlé plusieurs fois. Le <a href="http://performance.survol.fr/avec/reflow/">temps de reflow</a> d&#8217;un navigateur est dépendant de la complexité des feuilles de style, et particulièrement de la <a href="http://performance.survol.fr/avec/selecteur/">complexité des sélecteurs CSS</a>.</p>
<p><a href="http://performance.survol.fr/2009/06/google-page-speed/">Google Page Speed</a> y fait référence mais si vous voulez être convaincus il faut aller voir <a href="http://en.oreilly.com/velocity2009/public/schedule/detail/8807">la présentation de Steve Souders aux conférences Velocity 2009</a>. À l&#8217;écran 75 on trouve un graphique qui vérifie la corrélation entre le nombre de règles CSS, le nombre de sélecteurs complexes, et le temps nécessaire au reflow.<span id="more-641"></span></p>
<p><a href="http://performance.survol.fr/wp-content/uploads/2009/06/Picture-2.png"><img class="aligncenter size-full wp-image-646" title="perf sélecteurs css" src="http://performance.survol.fr/wp-content/uploads/2009/06/Picture-2.png" alt="perf sélecteurs css" width="567" height="267" /></a><!--more--></p>
<p>Il y a trop de choses en jeu pour tirer des conclusions fermes, mais une corrélation est des plus probable. Bref, écrémez vos CSS et simplifiez vos sélecteurs. Si en plus vous limitez le nombre de noeuds DOM et la profondeur moyenne, vous toucherez probablement le jackpot en terme de performance de rendu.</p>
<p>Pour vous aider Google Page Speed permet de repérer les sélecteurs potentiellement les plus coûteux, et ceux qui ne servent à rien dans la page en cours.</p>
]]></content:encoded>
			<wfw:commentRss>http://performance.survol.fr/2009/07/correlation-entre-le-temps-de-rendu-et-la-complexite-css/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Point trop n&#8217;en faut</title>
		<link>http://performance.survol.fr/2009/06/point-trop-nen-faut/</link>
		<comments>http://performance.survol.fr/2009/06/point-trop-nen-faut/#comments</comments>
		<pubDate>Wed, 24 Jun 2009 10:00:07 +0000</pubDate>
		<dc:creator>Éric</dc:creator>
				<category><![CDATA[Performance]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[image]]></category>
		<category><![CDATA[mozilla]]></category>
		<category><![CDATA[outils]]></category>
		<category><![CDATA[sprite]]></category>
		<category><![CDATA[SriteMe]]></category>
		<category><![CDATA[Steve Souders]]></category>
		<category><![CDATA[velocity]]></category>
		<category><![CDATA[Vladimir Vukićević]]></category>

		<guid isPermaLink="false">http://performance.survol.fr/?p=603</guid>
		<description><![CDATA[En ce moment se tiennent les conférences Velocity en Californie. C&#8217;est une période où les experts parlent entre eux et où les bonnes remarques et bons sujets à propos des performances web sont publiés plusieurs fois par jour. Suite à &#8230; <a href="http://performance.survol.fr/2009/06/point-trop-nen-faut/">Continuer la lecture <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>En ce moment se tiennent <a href="http://en.oreilly.com/velocity2009">les conférences Velocity</a> en Californie. C&#8217;est une période où les experts parlent entre eux et où les bonnes remarques et bons sujets à propos des performances web sont publiés plusieurs fois par jour.</p>
<p>Suite à plusieurs de ces publications à propos des <a href="http://performance.survol.fr/2008/06/des-sprites-jusqua-plus-soif/">sprites CSS</a>, il est temps de faire ici un petit complément sur le sujet.<span id="more-603"></span></p>
<h3>Sprite Me</h3>
<p>Le premier lien c&#8217;est <a href="http://www.stevesouders.com/spriteme/">SpriteMe</a>, un bookmarklet qui permet de repérer les images les plus pertinentes à grouper ensemble dans un sprite. L&#8217;outil regarde toutes les images de background dans la CSS, les groupe par alignement et taille. Plus tard il est prévu qu&#8217;il <a href="http://spritegen.website-performance.org/">génère</a> le sprite associé puis mette à jour la CSS.</p>
<p>Je reste assez septique sur ces deux dernières étapes. C&#8217;est réalisable, sans aucun doute, mais pas forcément pertinent. On risque d&#8217;associer des images qui ne sont qu&#8217;occasionnellement dans le même contexte, ou des couleurs trop différentes, des alignements difficiles à faire parce que telle ou telle image a besoin d&#8217;une grande marge, etc.</p>
<p>La décision et la réalisation doivent probablement rester des étapes manuelles, mais l&#8217;aide à la décision ne peut être qu&#8217;une bonne chose.</p>
<h3>Trop c&#8217;est trop</h3>
<p>Le second lien c&#8217;est Vladimir Vukićević de Mozilla qui rappelle <a href="http://blog.vlad1.com/2009/06/22/to-sprite-or-not-to-sprite/">les problèmes inhérents à une mauvaise réalisation des sprites</a>.</p>
<p>Sur le réseau on fait transiter des images compressées, aussi seul le poids du fichier et le nombre de requêtes HTTP comptent. Les sprites sont une grande avancée. Toutefois, le navigateur utilise lui l&#8217;image décompressée en mémoire. Sur des tailles démeusurées, la mémoire se retrouve encombrée par un simple sprite. Sur un exemple réel, Vladimir parle d&#8217;un sprite de 75Mo en mémoire (1299&#215;15000 pixels).</p>
<p>Donc voilà, un rappel n&#8217;est jamais mauvais et j&#8217;avais déjà abordé ici la problématique à propos des terminaux mobiles, le sprite est globalement une bonne chose mais il vaut mieux rester mesuré : gardez la taille réelle de l&#8217;image en tête.</p>
<p>Le plus simple pour éviter les excès c&#8217;est de grouper ensemble des images de taille similaire et d&#8217;alignement identique. Pas d&#8217;icône 16&#215;16 liée à des bandeaux 2000&#215;24 pour éviter de perdre 1984px de largeur. De toutes façons, rappelez-vous qu&#8217;au delà de 2000 pixels, un bug du navigateur Opera risque de vous mettre des bâtons dans les roues.</p>
<h3>Ne pas jeter le bébé avec l&#8217;eau du bain</h3>
<p>La solution c&#8217;est le pipelining HTTP, qui ne semble jamais venir. Le commentaire de Rob Sayre de Mozilla à ce sujet (« en théorie, ahahaha ») veut tout dire. Les autres possibilités ce sont les conteneurs jar de mozilla, ou les réponses mime/multipart, de Mozilla aussi.</p>
<p>Mais voilà, pour l&#8217;instant c&#8217;est la seule technique viable que nous ayons, et elle fonctionne. En restant correct sur les tailles, le gain côté réseau dépasse largement le petit effet négatif sur la mémoire. N&#8217;oubliez pas, même sur les terminaux mobiles, c&#8217;est le réseau qui reste le plus gros goulet d&#8217;étranglement.</p>
<p>Bref, faites juste attention aux tailles des images décompressées.</p>
]]></content:encoded>
			<wfw:commentRss>http://performance.survol.fr/2009/06/point-trop-nen-faut/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Even Faster Web Sites</title>
		<link>http://performance.survol.fr/2009/06/even-faster-web-sites/</link>
		<comments>http://performance.survol.fr/2009/06/even-faster-web-sites/#comments</comments>
		<pubDate>Mon, 15 Jun 2009 10:00:56 +0000</pubDate>
		<dc:creator>Éric</dc:creator>
				<category><![CDATA[Performance]]></category>
		<category><![CDATA[Even Faster Web Sites]]></category>
		<category><![CDATA[High Performance Web Sites]]></category>
		<category><![CDATA[livre]]></category>
		<category><![CDATA[Steve Souders]]></category>

		<guid isPermaLink="false">http://performance.survol.fr/?p=566</guid>
		<description><![CDATA[Le second livre de Steve Souders sur la performance web, Even Faster Web Sites, est paru il y a une semaine aux éditions O&#8217;Reilly. Il est disponible en papier et en PDF (avec pour le même prix une version ebook &#8230; <a href="http://performance.survol.fr/2009/06/even-faster-web-sites/">Continuer la lecture <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Le second livre de Steve Souders sur la performance web, <a href="http://oreilly.com/catalog/9780596522308/">Even Faster Web Sites</a>, est paru il y a une semaine aux éditions O&#8217;Reilly. Il est disponible en papier et en PDF (avec pour le même prix une version ebook pour lire dans le métro).</p>
<p>Je ne l&#8217;avais pas caché, je n&#8217;ai pas aimé l&#8217;organisation du premier livre, <a href="http://oreilly.com/catalog/9780596529307/">High Performance Web Sites</a>. Il s&#8217;agissait plus d&#8217;un empilement de découverte qu&#8217;une documentation pour celui qui veut apprendre et comprendre.</p>
<p>Ce second livre est en fait comme un complément au premier. Ce sont 14 nouveaux sujets qui sont abordés qui viennent s&#8217;ajouter aux 14 sujets précédents. Chaque sujet est mieux organisé et plus orienté pratique que ceux du premier livre, mais il manque toujours cette cohérence qui lierait les chapitres ensembles et qui permettrait au lecteur de suivre un cheminement.<span id="more-566"></span></p>
<p>Au menu nous avons donc <a href="http://oreilly.com/catalog/9780596522308/toc.html">7 chapitres sur javascript, 5 chapitres sur le réseau, et 2 sur le navigateur</a> :</p>
<ol lang="en">
<li>Understanding Ajax Performance</li>
<li>Creating Responsive Web Applications</li>
<li>Splitting the Initial Payload</li>
<li>Loading Scripts Without Blocking</li>
<li>Coupling Asynchronous Scripts</li>
<li>Positionning Inline Scripts</li>
<li>Writing Efficient Javascript</li>
<li>Scaling with Comet</li>
<li>Going Beyond Gzipping</li>
<li>Optimizing Images</li>
<li>Sharding Dominant Domains</li>
<li>Flushing the Document Early</li>
<li>Using Iframes Sparingly</li>
<li>simplifying CSS Selectors</li>
</ol>
<p>Tous ces chapitres ne sont pas de Steve Souders. Il s&#8217;agit en fait plus d&#8217;un receuil d&#8217;interventions d&#8217;experts puisque que ce sont 8 auteurs qui participent sur 6 chapitres. On y voit entre autres Douglas Crokford, Nicole Sullivan et Stoyan Stefanov.</p>
<p>Au cours des prochaines semaines je tenterai un commentaire chapitre par chapitre. Vous aurez l&#8217;occasion de voir si l&#8217;achat vous intéresse. Pour ma part après une première lecture je ne sais pas si vraiment je le conseille.Il n&#8217;est pas adapté à quelqu&#8217;un qui découvre le sujet (il manque beaucoup de vue d&#8217;ensemble), ni à quelqu&#8217;un qui lit déjà tout ce qu&#8217;il trouve sur le web à propos de performance (rien à apprendre de nouveau), et non plus à celui qui cherche des solutions rapides et applicables immédiatement sans se prendre la tête (yslow ou google page speed sont bien plus intéressant).</p>
<p>Il intéressera par contre les curieux, ceux qui veulent toujours en savoir plus ou qui veulent tout comprendre. Pour les autres (mais pour ceux là aussi), je propose de patienter encore quelques mois, et je vous proposerai un autre livre, en français.</p>
]]></content:encoded>
			<wfw:commentRss>http://performance.survol.fr/2009/06/even-faster-web-sites/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Google Page Speed</title>
		<link>http://performance.survol.fr/2009/06/google-page-speed/</link>
		<comments>http://performance.survol.fr/2009/06/google-page-speed/#comments</comments>
		<pubDate>Fri, 05 Jun 2009 09:00:30 +0000</pubDate>
		<dc:creator>Éric</dc:creator>
				<category><![CDATA[Performance]]></category>
		<category><![CDATA[cascade]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[Google Page Speed]]></category>
		<category><![CDATA[outils]]></category>
		<category><![CDATA[smushit]]></category>
		<category><![CDATA[Steve Souders]]></category>
		<category><![CDATA[yslow]]></category>

		<guid isPermaLink="false">http://performance.survol.fr/?p=532</guid>
		<description><![CDATA[L&#8217;équipe performance de Yahoo! a fait un boulot extraordinaire concernant la performance web, et continue à le faire. On lui doit beaucoup de recherches inédites, les premières publications à la masse de développeurs, Yslow, Smushit&#8230; Google ne pouvait pas être en &#8230; <a href="http://performance.survol.fr/2009/06/google-page-speed/">Continuer la lecture <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>L&#8217;équipe performance de Yahoo! a fait un boulot extraordinaire concernant la performance web, et continue à le faire. On lui doit beaucoup de recherches inédites, les premières <a href="http://developer.yahoo.com/performance/">publications</a> à la masse de développeurs,<a href="http://performance.survol.fr/avec/yslow/"> Yslow</a>, <a href="http://performance.survol.fr/2008/10/verifiez-vos-images/">Smushit</a>&#8230; Google ne pouvait pas être en reste, surtout que Steve Souders, le monsieur performance de Yahoo!, est passé à Google depuis un bon moment.</p>
<p>Voilà donc <a href="http://code.google.com/speed/page-speed/">Page Speed</a>, en gros un Gslow avec quelques règles en plus et une ergonomie différente. On y trouve les même préconisations, avec un système de vérification automatique similaire.<span id="more-532"></span></p>
<h3>Les mieux</h3>
<ul>
<li>Vérification automatique de la compression des images (un petit équivalent smushit bienvenu), avec mise à disposition des fichiers recompressés</li>
<li>Pourcentage d&#8217;utilisation du contenu des CSS, avec la liste des sélecteurs non utilisés dans la page</li>
<li>Une règle pour inciter à préciser les dimensions des images pour éviter d&#8217;avoir à refaire plusieurs <a href="http://performance.survol.fr/avec/reflow/">reflow</a> dans la page</li>
<li>Identification des sélecteurs CSS inefficaces (mais ils ont l&#8217;air un peu trop radical là dessus pour moi)</li>
<li>Minification des javascripts (on vous propose la version minifiée pour remplacer la votre)</li>
<li>Proposition pour retarder le chargement de javascript</li>
</ul>
<p>Clairement il y a du bon. Mais surtout il y a un nouvel outil pour tracer le graphique en cascade des téléchargements. Celui de Page Speed propose tout ce qu&#8217;à Firebug 1.4 (DNS, connexion, queue, attente, téléchargement) mais on y ajoute les ressources prises depuis le cache (cache hit), une couleur spécifique à l&#8217;envoi de la requête (différente de l&#8217;attente de la réponse) et deux couleurs pour le temps d&#8217;analyse et le temps d&#8217;exécution des javascript. On a là le graphique en cascade le plus complet parmis tous les outils que j&#8217;ai vu jusqu&#8217;à présent. Ce sera un plaisir de travailler dessus.</p>
<h3>Et le moins bon</h3>
<p>Au niveau du mauvais il manque certaines règles et fonctions par rapport à Yslow2 :</p>
<ul>
<li>L&#8217;utilisation d&#8217;un CDN</li>
<li>Présence de 404</li>
<li>Présence d&#8217;AlphaImageLoader</li>
<li>Redimensionnement des images dans le navigateur</li>
<li>Règle spécifique au favicon</li>
<li>Externalisation des composants</li>
<li>Des notes plus précises</li>
</ul>
<p>Des notes plus précises ça peut paraître inutile (Page Speed n&#8217;a que les catégories : bon, mauvais, moyen et informatif) mais c&#8217;est indispensable quand on ne travaille pas seul, ou quand la direction souhaite avoir un aperçu de l&#8217;avancement. Quand bien même une note sur 100 n&#8217;est pas extraordinairement pertinente, elle montre un avancement, permet de prioritiser les efforts entre plusieurs sites. Même la note Yslow de A à F est importante pour cela. Page Speed demande de compter les points en rouge et les points en vert pour se faire une idée, sans savoir lesquels sont vraiment importants et lesquels non. Bref, c&#8217;est un manque sérieux pour une réelle exploitation en entreprise.</p>
<h3>Ouverture et extensibilité</h3>
<p>Mais surtout il manque l&#8217;extensibilité de Yslow2. Implémenter les quelques règles supplémentaires de Google Page Speed dans Yslow 2 doit être faisable en une semaine de travail au plus, seul le graphique en cascade représente un réel développement non reprenable.</p>
<p>Et du coup c&#8217;est un peu décevant. Je suis un éternel idéaliste mais un tel outil est compréhensible au début. Google Page Speed arrive en dernier, après plusieurs autres outils. Il aurait été agréable de soit étendre l&#8217;existant (mais je suppose que la rivalité Google/Yahoo! a pris le pas sur les belles paroles d&#8217;ouverture et de &laquo;&nbsp;on veut aider les gens&nbsp;&raquo;) au au moins de prévoir d&#8217;être soi-même extensible (vu que Yslow 2 l&#8217;est).</p>
<p>Heureusement le code lui-même est sous licence libre (ceci est un appel du pied à Stoyan Stefanov à propos de Smushit), mais c&#8217;est tout de même dommage qu&#8217;ils aient loupé le coche de l&#8217;ouverture.</p>
<h3>Compatibilité</h3>
<p>Seconde note : La compatibilité avec Firefox 3.5 ou Firebug 1.4 est pour l&#8217;instant assez mauvaise, je ne sais pas lequel des deux est le coupable, mais testez sur un Firefox 3.0 avec Firebug 1.3 pour pouvoir tout utiliser. C&#8217;est dommage d&#8217;ailleurs parce que vu ce que m&#8217;apportent Firefox 3.5 et Firebug 1.4 au jour le jour, quand bien même ils sont en version de développement, je n&#8217;aime pas avoir à choisir entre eux et un autre bon outil.</p>
<h3>Oui mais, mieux ou moins bien ?</h3>
<p>Là il va falloir attendre. Je n&#8217;ai pas pu résister à publier un premier de billet de présentation. C&#8217;est un peu d&#8217;excitation mais aussi que sinon on va m&#8217;envoyer des liens vers Page Speed jusqu&#8217;à ce que je publie quelque chose. Pour la réelle analyse, savoir si les règles mises en place sont pertinentes (est-ce que regarder la complexité des sélecteurs CSS est une bonne chose ?), si les réglages fins sont corrects (si oui, qu&#8217;est-ce qu&#8217;on considère comme un sélecteur CSS complexe ?), il va falloir un bon mois de retour d&#8217;expérience. À dans un mois donc&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://performance.survol.fr/2009/06/google-page-speed/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Quel avenir ?</title>
		<link>http://performance.survol.fr/2008/12/quel-avenir/</link>
		<comments>http://performance.survol.fr/2008/12/quel-avenir/#comments</comments>
		<pubDate>Tue, 02 Dec 2008 11:00:34 +0000</pubDate>
		<dc:creator>Éric</dc:creator>
				<category><![CDATA[Performance]]></category>
		<category><![CDATA[compression]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[John Resig]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Microsoft Internet Explorer]]></category>
		<category><![CDATA[mozilla]]></category>
		<category><![CDATA[opera]]></category>
		<category><![CDATA[parallélisation]]></category>
		<category><![CDATA[pipelining]]></category>
		<category><![CDATA[Steve Souders]]></category>
		<category><![CDATA[webkit]]></category>

		<guid isPermaLink="false">http://performance.survol.fr/?p=323</guid>
		<description><![CDATA[Vouloir optimiser le code et régler les performances, est-ce un sujet qui sera obsolète bientôt ? La question peut-être posée autrement : n&#8217;est-on pas en train de compenser les défauts des navigateurs dans quelques millions de sites avec des résultats &#8230; <a href="http://performance.survol.fr/2008/12/quel-avenir/">Continuer la lecture <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Vouloir optimiser le code et régler les performances, est-ce un sujet qui sera obsolète bientôt ?</p>
<p>La question peut-être posée autrement : n&#8217;est-on pas en train de compenser les défauts des navigateurs dans quelques millions de sites avec des résultats discutables au lieu de fixer les quelques navigateurs ?</p>
<h3>Sus au navigateur !</h3>
<p>Ma première réponse habituelle est de dire que si, nous sommes, pour bonne partie, en train de compenser les manques et les défauts de nos navigateurs. C&#8217;est le cas quand on parle d&#8217;agréger les contenus (au lieu d&#8217;utiliser le <a href="http://performance.survol.fr/2008/04/pipelining-enchainer-les-requetes-http/">HTTP pipelining</a>), quand on parle de <a href="http://performance.survol.fr/2008/04/javascript-a-sa-place/">déplacer les javascript en fin de document</a> (au lieu de <a href="http://performance.survol.fr/2008/08/javascript-non-bloquant/">laisser le navigateur les télécharger en parallèle</a>) ou quand on parle de <a href="http://performance.survol.fr/2008/04/limitation-du-nombre-de-requetes/">séparer les contenus statiques sur plusieurs domaines</a> (pour exploiter au mieux la configuration de nos navigateurs).</p>
<h3>Vive le navigateur !</h3>
<p>Heureusement il y a beaucoup d&#8217;activité actuellement chez les éditeurs logiciels. Opera, Apple/Webkit, Mozilla et même Microsoft font des efforts. La génération qui arrive va avoir des navigateurs avec beaucoup moins de goulots d&#8217;étranglement côté performances, et un ressenti de vitesse non atteint jusque là : Les javascript vont enfin pouvoir se télécharger en parallèle et ne plus bloquer le rendu, on ouvre plus de requêtes simultanées par serveur, et on tente quelques optimisations.</p>
<p>C&#8217;est Steve Souders qui nous propose <a href="http://stevesouders.com/ua/">un petit tableau récapitulatif sur les possibilités de cette nouvelle génération de navigateurs</a> (que <a href="http://ejohn.org/blog/browser-page-load-performance">John Resig commente</a>). Tout n&#8217;est pas parfait mais vous noterez intuitivement une bonne dose de vert pour Microsoft Internet Explorer 8, Minefield 3.1 (qui est la version de Firefox en développement), et WebKit 4. Les cases faisant la différence entre ces trois là sont liées aux redirections et au prechargement, ce sont certainement les colonnes les moins importantes de la grille. Opera reste de côté tant qu&#8217;il ne permet pas de paralléliser les scripts, mais il y a tout lieu de penser que cela va s&#8217;arranger.</p>
<h3>Agissons maintenant</h3>
<p>Tout va bien, arrêtons tout parce que ça va être corrigé sur les navigateurs ? Surtout pas ! Tout simplement parce que vos utilisateurs et votre site ne peuvent pas attendre les multiples années nécessaires à ce que le parc des navigateurs soit mis à jour.</p>
<p>Bref, nous n&#8217;avons pas le choix. Le visiteur se moque de savoir que c&#8217;est la faute du navigateur, qu&#8217;un plus récent est en préparation, ou même qu&#8217;un plus récent est disponible en téléchargement. Lui voit que votre site est lent, agaçant, et peut être qu&#8217;en allant chez le concurrent ça sera mieux &#8211; à navigateur égal.</p>
<p>En attendant que toutes les versions actuelles des navigateurs soient remplacées, vous devez agir, quitte à agir en pompier pour corriger les défaillances de ces derniers.</p>
<h3>Surtout que c&#8217;est un peu notre faute</h3>
<p>Mais n&#8217;oubliez pas, derrière cette grille il y a encore beaucoup de choses qui sont de la responsabilité de l&#8217;intégrateur web ou de l&#8217;administrateur web. Je parle de cache, d&#8217;agrégation de contenu, de compression http, d&#8217;images en sprites, d&#8217;optimisations javascript, ou simplement d&#8217;ordonnancement des composants.</p>
<p>Ne croyez pas que même avec ces superbes moteurs de navigateur qui arrivent, la performance deviendra un sujet obsolète.</p>
]]></content:encoded>
			<wfw:commentRss>http://performance.survol.fr/2008/12/quel-avenir/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Un livre sur les performances web</title>
		<link>http://performance.survol.fr/2008/11/un-livre-sur-les-performances-web/</link>
		<comments>http://performance.survol.fr/2008/11/un-livre-sur-les-performances-web/#comments</comments>
		<pubDate>Wed, 05 Nov 2008 11:00:06 +0000</pubDate>
		<dc:creator>Éric</dc:creator>
				<category><![CDATA[Performance]]></category>
		<category><![CDATA[blog]]></category>
		<category><![CDATA[livre]]></category>
		<category><![CDATA[mesure]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[Steve Souders]]></category>

		<guid isPermaLink="false">http://performance.survol.fr/?p=302</guid>
		<description><![CDATA[Pour l&#8217;instant il n&#8217;existe que quelques ressources sur les performances web vues du client. La plupart sont des blogs assez similaires au mien, avec des liens et des articles épars. En fait mon égo me fait croire que le mien &#8230; <a href="http://performance.survol.fr/2008/11/un-livre-sur-les-performances-web/">Continuer la lecture <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Pour l&#8217;instant il n&#8217;existe que quelques ressources sur les performances web vues du client. La plupart sont des blogs assez similaires au mien, avec des liens et des articles épars. En fait mon égo me fait croire que le mien est non seulement le seul en français mais le plus complet toutes langues confondues.</p>
<p>Il n&#8217;y a que deux ressources assez complètes qui permettent de couvrir l&#8217;ensemble des recommandations sans faire des mois de recherche : <a href="http://developer.yahoo.com/performance/">Le site de l&#8217;équipe performance de YDN</a> et <a href="http://www.amazon.com/dp/0596529309">le livre de Steve Souders</a>. Le premier n&#8217;explique pas en détail le pourquoi et le comment des recommandations. Le second, bien qu&#8217;intéressant et pionnier sur le sujet, est incomplet et pas si bien fait que cela (on peut être excellent en technique mais moins bon en écriture et formation, cela ne retire donc rien à ce qu&#8217;on doit à Steve Souders sur le sujet). Les deux sont en anglais.</p>
<p>J&#8217;ai donc dans les cartons un livre sur les performances web.<span id="more-302"></span>Quelque chose de complet, qui va en profondeur, et qui explique tout de A à Z sans préjuger de vos connaissances techniques.</p>
<p>C&#8217;est un boulot énorme, probablement bien plus grand que ce que vous imaginez. L&#8217;expérience de <a href="http://www.eyrolles.com/Informatique/Auteur/48750/eric-daspet">PHP 5 avancé</a> me fait dire qu&#8217;il y a encore longtemps avant que vous puissiez l&#8217;acheter. Entre temps ce blog me permet de publier au fil de l&#8217;eau ce que je découvre et ce que je pense, pour collecter les réactions et les commentaires. C&#8217;est en fait la raison d&#8217;être de ce blog.</p>
<p>Mais cela ne suffira pas. Il me faudra des gens pour relire le livre au fur et à mesure de son écriture. Pour commenter, pointer les manques, corriger les fautes, parfaire l&#8217;organisation des idées. C&#8217;est là que j&#8217;ai besoin de vous. Alors voilà, si ça vous intéresse, envoyez-moi un mail avec <q>[livre perf]</q> dans le sujet. Dites moi quelles sont vos connaissances, le temps que vous êtes prêts à investir, et quels sont vos points forts, que ce soit au niveau technique ou au niveau rédactionnel.</p>
<p>Je choisirai certains d&#8217;entre vous, probablement des gens que je connais, mais pas uniquement. Il me faut des gens très compétents sur le sujet, mais aussi des débutants. Les retours sont en effet à faire autant sur le fond que sur la forme. Je ne pourrai pas retenir tout le monde ceci dit, donc ne vous vexez pas si cela n&#8217;a pas de suite, même si je vous connais bien.</p>
<p>Mais ne vous trompez pas : C&#8217;est aussi un travail qui prend du temps : relire, commenter, corriger, faire des allers et retours. Je ne vous demande pas une heure par jour ni même d&#8217;engagement, mais ne vous proposez que si vous êtes prêts à investir un minimum de temps. De toutes façons ceux qui suivront l&#8217;aventure sont ceux qui me feront de bons retours donc si c&#8217;est uniquement pour lire à l&#8217;oeil vous seriez déçus. Si vous n&#8217;avez pas le temps, les commentaires de ce blog vous sont toujours ouverts.</p>
<p>Oh, et il n&#8217;y a malheureusement rien à gagner si ce n&#8217;est un remerciement en début de livre, et un exemplaire gratuit si mon éditeur y consent. Écrire ne rend pas riche (et j&#8217;en suis le premier déçu, croyez moi). Par contre vous y gagnerez avec des échanges que nous feront sur le sujet, au gré des chapitres et des retours. Et puis il y a la satisfaction personnelle, c&#8217;est elle qui doit être votre moteur si vous souhaitez tenter l&#8217;aventure.</p>
<p>À vous de voir, si vous êtes tentés, ma boite mail vous est ouverte.</p>
]]></content:encoded>
			<wfw:commentRss>http://performance.survol.fr/2008/11/un-livre-sur-les-performances-web/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Prenez vos cours avec Steve Souders</title>
		<link>http://performance.survol.fr/2008/10/prenez-vos-cours-avec-steve-souders/</link>
		<comments>http://performance.survol.fr/2008/10/prenez-vos-cours-avec-steve-souders/#comments</comments>
		<pubDate>Fri, 03 Oct 2008 10:00:57 +0000</pubDate>
		<dc:creator>Éric</dc:creator>
				<category><![CDATA[Performance]]></category>
		<category><![CDATA[cours]]></category>
		<category><![CDATA[CS193H: High Performance Web Sites]]></category>
		<category><![CDATA[Stanford]]></category>
		<category><![CDATA[Steve Souders]]></category>
		<category><![CDATA[université]]></category>

		<guid isPermaLink="false">http://performance.survol.fr/?p=217</guid>
		<description><![CDATA[Le saviez-vous ? Certaines universités ont des cours très pointus et pertinents sur les technologies web client, y compris sur les performances. Ne vous emballez pas, ce n&#8217;est pas demain la veille que ça arrivera en France. Chez nous c&#8217;est &#8230; <a href="http://performance.survol.fr/2008/10/prenez-vos-cours-avec-steve-souders/">Continuer la lecture <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Le saviez-vous ? Certaines universités ont des cours très pointus et pertinents sur les technologies web client, y compris sur les performances. Ne vous emballez pas, ce n&#8217;est pas demain la veille que ça arrivera en France. Chez nous c&#8217;est déjà bien si on enseigne du HTML conforme aux normes et si on parle programmation objet à propos de javascript. Non, tout ceci se passe à Stanford où <a href="http://www.stevesouders.com/">Steve Souders</a> donne <a href="http://www.stevesouders.com/blog/2008/09/26/first-week-of-classes/">des cours sur les performances web</a>.</p>
<p>La bonne nouvelle c&#8217;est que <a href="http://cs193h.stevesouders.com/#schedule">le programme est en ligne et que les supports de projection sont diffusés en ligne</a>. Les trois premiers fichiers sont déjà publiés. Certes les supports projetés ça ne fait pas l&#8217;intégralité d&#8217;un cours mais vous suivrez les problématiques abordées, les noms des outils, et les tous les points importants. Pour ceux qui ne savent pas où commencer, c&#8217;est une très bonne piste à suivre.</p>
]]></content:encoded>
			<wfw:commentRss>http://performance.survol.fr/2008/10/prenez-vos-cours-avec-steve-souders/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Javascript en ligne</title>
		<link>http://performance.survol.fr/2008/08/javascript-en-ligne/</link>
		<comments>http://performance.survol.fr/2008/08/javascript-en-ligne/#comments</comments>
		<pubDate>Wed, 06 Aug 2008 10:00:36 +0000</pubDate>
		<dc:creator>Éric</dc:creator>
				<category><![CDATA[Performance]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[feuille de style]]></category>
		<category><![CDATA[inline]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[parallélisation]]></category>
		<category><![CDATA[Steve Souders]]></category>
		<category><![CDATA[velocity]]></category>

		<guid isPermaLink="false">http://performance.survol.fr/?p=70</guid>
		<description><![CDATA[Je fais suite au précédent billet sur la présentation de Steve Souders aux conférences Velocity 2008. Tout à la fin il nous donne une seconde information sur le javascript inline, et ceci est une nouveauté pour moi. La situation de &#8230; <a href="http://performance.survol.fr/2008/08/javascript-en-ligne/">Continuer la lecture <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Je fais suite au précédent billet sur <a href="http://en.oreilly.com/velocity2008/public/schedule/detail/3621">la présentation de Steve Souders aux conférences Velocity 2008</a>. Tout à la fin il nous donne une seconde information sur le javascript inline, et ceci est une nouveauté pour moi.</p>
<p>La situation de base : Firefox bloque tous les nouveaux téléchargements quand il récupère une feuille de style. Une fois n&#8217;est pas coutume c&#8217;est Internet Explorer qui est le plus efficace, car il permet de paralléliser tous ces téléchargements.</p>
<p>Enfin presque.<span id="more-70"></span>C&#8217;est là qu&#8217;est la découverte pour moi : Si un javascript en ligne est situé en dessous de la feuille de style, alors Internet Explorer imite le mauvais comportement de Firefox et bloque les téléchargements le temps de récupérer la feuille de style entièrement (<a href="http://stevesouders.com/cuzillion/?ex=10021">à teste</a>r sur <a href="http://performance.survol.fr/2008/04/tester-avec-le-cuzillon/">Cuzillon</a>).</p>
<p>Dommage non ?</p>
<p>La solution simple est de remettre votre javascript en ligne au dessus de la feuille de style, ou de le mettre dans un fichier externe avec une des <a href="http://performance.survol.fr/2008/08/javascript-non-bloquant/">techniques de chargement</a> vues précédemment.</p>
]]></content:encoded>
			<wfw:commentRss>http://performance.survol.fr/2008/08/javascript-en-ligne/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
