<?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>Gatellier.be &#187; Performances</title>
	<atom:link href="http://www.gatellier.be/blog/tags/marin/performances/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.gatellier.be/blog</link>
	<description>Interwebs with passion.</description>
	<lastBuildDate>Thu, 24 Nov 2011 13:09:55 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
	<atom:link rel='hub' href='http://www.gatellier.be/blog/?pushpress=hub'/>
		<item>
		<title>Bug: IE n&#8217;affiche pas mes CSS</title>
		<link>http://www.gatellier.be/blog/bug-ie-rendu-css-drupal/</link>
		<comments>http://www.gatellier.be/blog/bug-ie-rendu-css-drupal/#comments</comments>
		<pubDate>Tue, 19 Jan 2010 16:58:24 +0000</pubDate>
		<dc:creator>Marin</dc:creator>
				<category><![CDATA[Browsers]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[Débogage]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[Internet Explorer]]></category>
		<category><![CDATA[Performances]]></category>
		<category><![CDATA[bug]]></category>
		<category><![CDATA[concatenate]]></category>
		<category><![CDATA[Drupal]]></category>
		<category><![CDATA[IE]]></category>
		<category><![CDATA[IE6]]></category>
		<category><![CDATA[IE7]]></category>
		<category><![CDATA[IE8]]></category>
		<category><![CDATA[minify]]></category>

		<guid isPermaLink="false">http://www.gatellier.be/blog/?p=325</guid>
		<description><![CDATA[IE6, IE7, IE8 ne supportent pas la gestion de plus de 31 CSS dans une page web...]]></description>
			<content:encoded><![CDATA[<p>Un <a href="http://support.microsoft.com/kb/262161" hreflang="en">magnifique bug</a> (parmi de nombreux autres) existe dans Internet Explorer (IE6, IE7, IE8).</p>
<p>IE6, IE7, IE8 ne supportent pas plus de 31 fichiers <abbr title="Cascading StyleSheet" lang="en">CSS</abbr> liés dans une page html (que se soit par tag <code>&lt;link rel="stylesheet" ...&gt;</code> ou CSS <code>@import</code>).</p>
<p>Toutes les <strong>CSS venant après la 31ème seront simplement ignorées</strong>&nbsp;!</p>
<p>Ok, ça n'est pas idéal, d'un point de vue performance, de splitter ses CSS mais des fois nous n'avons pas le choix. (Ex&nbsp;: Développement Drupal avec quelques modules rajoutant chacun sa propre CSS).</p>

<h3>La solution pour Drupal&nbsp;:</h3>
<p>Un module existe (il ne loade pas de CSS propre)&nbsp;: <strong><a href="http://drupal.org/project/ie_css_optimizer">IE CSS Optimizer</a></strong> concatène les CSS trouvées dans les répertoires <code>/modules/</code> d'un projet Drupal une fois configuré et activé.</p>

<h3>Et si je n'emploie pas Drupal&nbsp;?&nbsp;:</h3>

<p>Comme Microsoft le suggère <small>[<a href="/blog/bug-ie-rendu-css-drupal/#ft-note-drupa-perf-01">1</a>]</small>&nbsp;:</p>
<p><cite lang="en">To work around this limitation, combine multiple classes into a single style tag.</cite></p>
<p><cite>Pour contourner cette limitation, combinez les différentes classes dans un seul tag style.</cite></p>
<p>Le plus simple est de vérifier si les CSS liées sont vraiment nécessaires et en supprimer si besoin. D'autres solutions de concaténation existent (voir la <a href="http://code.google.com/p/minify/" hreflang="en">librairie Minify</a>) </p>

<h4>Liens relatifs&nbsp;:</h4>
<ul>
	<li><a href="http://john.albin.net/ie-css-limits/link-test.html" hreflang="en">Testcase des différentes solutions envisageables</a></li>
	<li><a href="http://drupal.org/project/ie_css_optimizer" hreflang="en">Drupal IE CSS Optimizer Module</a></li>
	<li>via <a href="http://john.albin.net/css/ie-stylesheets-not-loading" hreflang="en">John Albin</a></li>
	<li><small>[1]</small>&nbsp;: <a href="http://support.microsoft.com/kb/262161" hreflang="en" id="ft-note-drupa-perf-01">Résolution proposée par Microsoft</a></li>
</ul><hr />
<p><small>© Marin for <a href="http://www.gatellier.be/blog">Gatellier.be</a>, 2010. |
<a href="http://www.gatellier.be/blog/bug-ie-rendu-css-drupal/">Permalink</a> |
<a href="http://www.gatellier.be/blog/bug-ie-rendu-css-drupal/#comments">2 comments</a> |
Add to
<a href="http://del.icio.us/post?url=http://www.gatellier.be/blog/bug-ie-rendu-css-drupal/&title=Bug: IE n&#8217;affiche pas mes CSS">del.icio.us</a>
<br/>
Post tags: <a href="http://www.gatellier.be/blog/tag/bug/" rel="tag">bug</a>, <a href="http://www.gatellier.be/blog/tag/concatenate/" rel="tag">concatenate</a>, <a href="http://www.gatellier.be/blog/tag/css/" rel="tag">CSS</a>, <a href="http://www.gatellier.be/blog/tag/drupal/" rel="tag">Drupal</a>, <a href="http://www.gatellier.be/blog/tag/ie/" rel="tag">IE</a>, <a href="http://www.gatellier.be/blog/tag/ie6/" rel="tag">IE6</a>, <a href="http://www.gatellier.be/blog/tag/ie7/" rel="tag">IE7</a>, <a href="http://www.gatellier.be/blog/tag/ie8/" rel="tag">IE8</a>, <a href="http://www.gatellier.be/blog/tag/minify/" rel="tag">minify</a>, <a href="http://www.gatellier.be/blog/tag/performances/" rel="tag">Performances</a><br/>
</small></p>]]></content:encoded>
			<wfw:commentRss>http://www.gatellier.be/blog/bug-ie-rendu-css-drupal/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Addon Firefox: Content Encoding Detector 0.4b</title>
		<link>http://www.gatellier.be/blog/addon-firefox-content-encoding-detector-04b/</link>
		<comments>http://www.gatellier.be/blog/addon-firefox-content-encoding-detector-04b/#comments</comments>
		<pubDate>Mon, 14 Dec 2009 11:09:14 +0000</pubDate>
		<dc:creator>Marin</dc:creator>
				<category><![CDATA[Addons]]></category>
		<category><![CDATA[ContentEncoding]]></category>
		<category><![CDATA[Firefox]]></category>
		<category><![CDATA[Performances]]></category>
		<category><![CDATA[utilitaire]]></category>
		<category><![CDATA[addon]]></category>
		<category><![CDATA[ContentEncodingDetector]]></category>
		<category><![CDATA[ContentEncodingV04b]]></category>
		<category><![CDATA[gzip]]></category>
		<category><![CDATA[performance]]></category>

		<guid isPermaLink="false">http://www.gatellier.be/blog/?p=321</guid>
		<description><![CDATA[Content Encoding Detector est un addon Firefox permettant de voir si le serveur web que vous visitez sert des pages gzippées]]></description>
			<content:encoded><![CDATA[<p>Dans le but de promouvoir un web <strong>plus rapide</strong> et donc <strong>plus respectueux de ses utilisateurs</strong>, je viens de cr&eacute;er un petit Addon Firefox qui promeut l'encodage des pages en GZIP.</p>
<p>Cet encodage permet de r&eacute;duire drastiquement le poid des fichiers transf&eacute;r&eacute;s entre le serveur web et votre navigateur.</p>

<p style="text-align:center;"><a href="https://addons.mozilla.org/en-US/firefox/addon/54647/" hreflang="en"><img src="http://static.gatellier.be/i/091214/content_encoding_detector.png" alt="Capture d'&eacute;cran - Content Encoding Detector" /></a></p>

<h3>Point de vue technique&nbsp;:</h3>
<p>L'addon <strong>Content Encoding Detector</strong> soumet l'url de la page que vous visitez au service <a href="http://json-head.appspot.com/">JSON-HEAD</a> de <a href="http://simonwillison.net/2008/Jul/29/jsonhead/">Simon Willison</a>.</p>
<p>Si le serveur retourne l'http_header "Content-Encoding", l'ic&ocirc;ne de status Firefox est mise &agrave; jour pour refl&eacute;ter l'encodage.</p>
<p>L'addon est en cours de validation mais vous pouvez d&eacute;j&agrave; <a href="https://addons.mozilla.org/en-US/firefox/addon/54647/" hreflang="en">le t&eacute;l&eacute;charger &agrave; sa page Mozilla Addons</a>.</p>

<p><small>tag: ContentEncoding</small></p>
<hr />
<p><small>© Marin for <a href="http://www.gatellier.be/blog">Gatellier.be</a>, 2009. |
<a href="http://www.gatellier.be/blog/addon-firefox-content-encoding-detector-04b/">Permalink</a> |
<a href="http://www.gatellier.be/blog/addon-firefox-content-encoding-detector-04b/#comments">One comment</a> |
Add to
<a href="http://del.icio.us/post?url=http://www.gatellier.be/blog/addon-firefox-content-encoding-detector-04b/&title=Addon Firefox: Content Encoding Detector 0.4b">del.icio.us</a>
<br/>
Post tags: <a href="http://www.gatellier.be/blog/tag/addon/" rel="tag">addon</a>, <a href="http://www.gatellier.be/blog/tag/contentencoding/" rel="tag">ContentEncoding</a>, <a href="http://www.gatellier.be/blog/tag/contentencodingdetector/" rel="tag">ContentEncodingDetector</a>, <a href="http://www.gatellier.be/blog/tag/contentencodingv04b/" rel="tag">ContentEncodingV04b</a>, <a href="http://www.gatellier.be/blog/tag/firefox/" rel="tag">Firefox</a>, <a href="http://www.gatellier.be/blog/tag/gzip/" rel="tag">gzip</a>, <a href="http://www.gatellier.be/blog/tag/performance/" rel="tag">performance</a><br/>
</small></p>]]></content:encoded>
			<wfw:commentRss>http://www.gatellier.be/blog/addon-firefox-content-encoding-detector-04b/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Performances Web: Impact du SSL</title>
		<link>http://www.gatellier.be/blog/performances-web-impact-du-ssl/</link>
		<comments>http://www.gatellier.be/blog/performances-web-impact-du-ssl/#comments</comments>
		<pubDate>Sun, 15 Mar 2009 17:07:17 +0000</pubDate>
		<dc:creator>Marin</dc:creator>
				<category><![CDATA[Bonnes pratiques]]></category>
		<category><![CDATA[Performances]]></category>
		<category><![CDATA[estat]]></category>
		<category><![CDATA[https]]></category>
		<category><![CDATA[performance]]></category>
		<category><![CDATA[ssl]]></category>
		<category><![CDATA[tracking]]></category>

		<guid isPermaLink="false">http://www.gatellier.be/blog/?p=268</guid>
		<description><![CDATA[Le téléchargement d'un fichier de tracking appelé en https prend deux fois plus de temps qu'en http. Vérifiez vos ressources externes, pour des sites web performants]]></description>
			<content:encoded><![CDATA[<p>Depuis quelques temps, avec l'apparition de l'<a href="http://developer.yahoo.com/yslow/" hreflang="en" title="télécharger l'extension YSLOW">extension Firebug YSLOW</a>, je m'intéresse de près aux <strong>performances des sites web</strong>.</p>
<p>J'ai profité des conseils avisés de <a href="http://stevesouders.com/" hreflang="en" title="High Performance Web Sites blog">Steve Souders</a> et d'<a href="http://performance.survol.fr/" title="Performance web: Quelques mots pour des sites web rapides">&Eacute;ric Daspet</a> dans quelques projets réalisés chez <a href="http://www.emakina.com/" title="Mon employeur">Emakina</a>.</p>

<p>Un d'entre eux, le site <a href="http://smart.brusselsairlines.com/">smart.brusselsairlines.com</a>, permettait aux participants de recevoir une réduction augmentant avec le nombre de participants (revenez-y de temps pour les prochaines promotions).</p>

<p>La mesure des visites du sites est gérée par une société externe <a href="http://estat.com/">EStat</a>. Et, bien que je leur ai demandé de la documentation sur l'implémentation de leur script de tracking, on emploie toujours le vieux bout de code qui date de la première version du site.</p>

<p>Hors, le <strong>script de tracking est appelé via <abbr title="Secure HyperText Transfer Protocol">HTTPS</abbr></strong>. Vous voyez où je veux en venir.</p>

<h3>Mesure des connections <em>avec HTTPS</em>.</h3>
<div style="position:relative;height:33px;overflow:hidden;">
	<img src="http://static.gatellier.be/i/090315/waterfall-with-https.png" style="border:none;position:absolute;top:-96px;clip:rect(96px,500px,129px,0)" alt="Waterfall des connections du site smart.brusselsairlines.com - Estat avec HTTPS" usemap="#waterfall-with-https" />
</div>
<map name="waterfall-with-https" id="waterfall-with-https">
	<area href="http://performance.webpagetest.org:8080/result/090305_5a4b382b00acbfaae96a6b991d7ef53b/1/details/#request5" coords="315,98,326,112" alt="DNS Lookup: 178 ms" title="DNS Lookup: 178 ms" />
	<area href="http://performance.webpagetest.org:8080/result/090305_5a4b382b00acbfaae96a6b991d7ef53b/1/details/#request5" coords="326,98,337,112" alt="Initial Connection: 171 ms" title="Initial Connection: 171 ms" />
	<area href="http://performance.webpagetest.org:8080/result/090305_5a4b382b00acbfaae96a6b991d7ef53b/1/details/#request5" coords="337,98,368,112" alt="SSL Negotiation: 505 ms" title="SSL Negotiation: 505 ms" />
	<area href="http://performance.webpagetest.org:8080/result/090305_5a4b382b00acbfaae96a6b991d7ef53b/1/details/#request5" coords="368,98,379,112" alt="Time to First Byte: 164 ms" title="Time to First Byte: 164 ms" />
	<area href="http://performance.webpagetest.org:8080/result/090305_5a4b382b00acbfaae96a6b991d7ef53b/1/details/#request5" coords="379,98,380,112" alt="Content Download: 2 ms" title="Content Download: 2 ms" />
	<area href="http://performance.webpagetest.org:8080/result/090305_5a4b382b00acbfaae96a6b991d7ef53b/1/details/#request5" coords="379,114,388,128" alt="Initial Connection: 148 ms" title="Initial Connection: 148 ms" />
	<area href="http://performance.webpagetest.org:8080/result/090305_5a4b382b00acbfaae96a6b991d7ef53b/1/details/#request5" coords="388,114,398,128" alt="SSL Negotiation: 152 ms" title="SSL Negotiation: 152 ms" />
	<area href="http://performance.webpagetest.org:8080/result/090305_5a4b382b00acbfaae96a6b991d7ef53b/1/details/#request5" coords="398,114,408,128" alt="Time to First Byte: 162 ms" title="Time to First Byte: 162 ms" />
	<area href="http://performance.webpagetest.org:8080/result/090305_5a4b382b00acbfaae96a6b991d7ef53b/1/details/#request5" coords="408,114,409,127" alt="Content Download: 1 ms" title="Content Download: 1 ms" />
</map>

<h4>R&eacute;sultats de la requête #5&nbsp;:</h4>
<table style="font-size:1.1em;" summary="Resultats de la requête avec https" width="100%">
<tr>
	<th>URL:</th>
	<td><a href="https://prof.estat.com/js/m.js">https://prof.estat.com/js/m.js</a></td>
</tr>
<tr>
	<th>Host:</th>
	<td>prof.estat.com</td>
</tr>
<tr>
	<th>IP:</th>
	<td>194.126.157.11</td>
</tr>
<tr>
	<th>Location:</th>
	<td>Valbonne, France*</td>
</tr>
<tr>
	<th>Error/Status Code:</th>
	<td>200</td>
</tr>
<tr>
	<th>Start Offset:</th>
	<td>1.04 s</td>
</tr>
<tr>
	<th style="background-color:rgb(0,123,132);">DNS Lookup:</th>
	<td>178 ms</td>
</tr>
<tr>
	<th style="background-color:rgb(255,123,0);">Initial Connection:</th>
	<td>171 ms</td>
</tr>
<tr>
	<th style="background-color:rgb(207,37,223);"><strong>SSL Negotiation:</strong></th>
	<td><strong>505 ms</strong></td>
</tr>
<tr>
	<th style="background-color:rgb(0,255,0);">Time to First Byte:</th>
	<td>164 ms</td>
</tr>
<tr>
	<th style="background-color:rgb(0,123,255);">Content Download:</th>
	<td>2 ms</td>
</tr>
<tr>
	<th>Bytes In (downloaded):</th>
	<td>2.0 KB</td>
</tr>
<tr>
	<th>Bytes Out (uploaded):</th>
	<td>0.6 KB</td>
</tr>
</table>

<h4>Analyse&nbsp;:</h4>
<p>Sur un total de 1023 ms, 505 ms - <strong>soit presque 50% du temps de la requête</strong> - sont consacrées à la négociation <abbr title="Secure Socket Layer">SSL</abbr> pour des données ne nécéssitant pas l'emploi du SSL...</p>	
<p>N'ayant pas eu la documentation du fournisseur de service EStat, je me suis permis de tester la <a href="/blog/ie-https-supprimer-alertes-de-securite-en-mode-https/" title="sur ce blog: supprimer les alertes de sécurité en mode https">technique pour supprimer le protocole https lors de l'appel à la ressource</a>.</p>
<p>J'ai donc refait le test en faisant un requête vers le même fichier <abbr title="JavaScript">JS</abbr>, mais sans passer par <abbr>HTTPS</abbr>.</p>


<h3>Mesure des connections <em>sans HTTPS</em>.</h3>
<div style="position:relative;height:33px;overflow:hidden;">
	<img src="http://static.gatellier.be/i/090315/waterfall-without-https.png" style="border:0;position:absolute;top:-97px;clip:rect(96px,500px,130px,0)" alt="Waterfall des connections du site smart.brusselsairlines.com - Estat sans HTTPS" usemap="#waterfall-without-https" />
</div>
<map name="waterfall-without-https" id="waterfall-without-https">
	<area href="http://performance.webpagetest.org:8080/result/090305_31c5ea087fb3a3551ac5b198b9f14de2/1/details/#request5" coords="330,98,334,112" alt="DNS Lookup: 56 ms" title="DNS Lookup: 56 ms" />
	<area href="http://performance.webpagetest.org:8080/result/090305_31c5ea087fb3a3551ac5b198b9f14de2/1/details/#request5" coords="334,98,345,112" alt="Initial Connection: 155 ms" title="Initial Connection: 155 ms" />
	<area href="http://performance.webpagetest.org:8080/result/090305_31c5ea087fb3a3551ac5b198b9f14de2/1/details/#request5" coords="345,98,356,112" alt="Time to First Byte: 163 ms" title="Time to First Byte: 163 ms" />
	<area href="http://performance.webpagetest.org:8080/result/090305_31c5ea087fb3a3551ac5b198b9f14de2/1/details/#request5" coords="356,98,357,112" alt="Content Download: 3 ms" title="Content Download: 3 ms" />
	<area href="http://performance.webpagetest.org:8080/result/090305_31c5ea087fb3a3551ac5b198b9f14de2/1/details/#request5" coords="356,114,366,128" alt="Initial Connection: 147 ms" title="Initial Connection: 147 ms" />
	<area href="http://performance.webpagetest.org:8080/result/090305_31c5ea087fb3a3551ac5b198b9f14de2/1/details/#request5" coords="366,114,377,128" alt="Time to First Byte: 162 ms" title="Time to First Byte: 162 ms" />
	<area href="http://performance.webpagetest.org:8080/result/090305_31c5ea087fb3a3551ac5b198b9f14de2/1/details/#request5" coords="377,114,378,128" alt="Content Download: 0 ms" title="Content Download: 0 ms" />
</map>


<h4>R&eacute;sultats de la requête #5&nbsp;:</h4>
<table style="font-size:1.1em;" summary="Resultats de la requête avec https" width="100%">
<tr>
	<th>URL:</th>
	<td><a href="http://prof.estat.com/js/m.js">http://prof.estat.com/js/m.js</a></td>
</tr>
<tr>
	<th>Host:</th>
	<td>prof.estat.com</td>
</tr>
<tr>
	<th>IP:</th>
	<td>194.126.157.11</td>
</tr>
<tr>
	<th>Location:</th>
	<td>Valbonne, France*</td>
</tr>
<tr>
	<th>Error/Status Code:</th>
	<td>200</td>
</tr>
<tr>
	<th>Start Offset:</th>
	<td>1.19 s</td>
</tr>
<tr>
	<th style="background-color:rgb(0,123,132);">DNS Lookup:</th>
	<td>56 ms</td>
</tr>
<tr>
	<th style="background-color:rgb(255,123,0);">Initial Connection:</th>
	<td>155 ms</td>
</tr>
<tr>
	<th style="background-color:rgb(0,255,0);">Time to First Byte:</th>
	<td>163 ms</td>
</tr>
<tr>
	<th style="background-color:rgb(0,123,255);">Content Download:</th>
	<td>3 ms</td>
</tr>
<tr>
	<th>Bytes In (downloaded):</th>
	<td>1.1 KB</td>
</tr>
<tr>
	<th>Bytes Out (uploaded):</th>
	<td>0.3 KB</td>
</tr>
</table>

<h4>Verdict&nbsp;:</h4>
<p>Le résultat est flagrant&nbsp;: 378 ms contre 1023, il n'y a pas photo.</p> 
<p>Quand vous devez reprendre un vieux site et l'optimiser pour, entre autre, des raisons de performance, <strong>n'oubliez pas de tenir compte des ressources externes</strong> en https&nbsp;!</p>
<p>Et en plus si le fournisseur de service ne vous fourni pas de documentation, et n'active pas le <a href="http://en.wikipedia.org/wiki/Keep-alive" hreflang="en" title="définition de Keep-Alive sur Wikipedia">Keep-Alive</a> sur ses serveurs, vous pouvez vivement envisager de changer de prestataire&nbsp;! &Agrave; bon entendeur...</p><hr />
<p><small>© Marin for <a href="http://www.gatellier.be/blog">Gatellier.be</a>, 2009. |
<a href="http://www.gatellier.be/blog/performances-web-impact-du-ssl/">Permalink</a> |
<a href="http://www.gatellier.be/blog/performances-web-impact-du-ssl/#comments">One comment</a> |
Add to
<a href="http://del.icio.us/post?url=http://www.gatellier.be/blog/performances-web-impact-du-ssl/&title=Performances Web: Impact du SSL">del.icio.us</a>
<br/>
Post tags: <a href="http://www.gatellier.be/blog/tag/estat/" rel="tag">estat</a>, <a href="http://www.gatellier.be/blog/tag/https/" rel="tag">https</a>, <a href="http://www.gatellier.be/blog/tag/performance/" rel="tag">performance</a>, <a href="http://www.gatellier.be/blog/tag/ssl/" rel="tag">ssl</a>, <a href="http://www.gatellier.be/blog/tag/tracking/" rel="tag">tracking</a><br/>
</small></p>]]></content:encoded>
			<wfw:commentRss>http://www.gatellier.be/blog/performances-web-impact-du-ssl/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

