<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	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/"
		>
<channel>
	<title>Commentaires sur : Erreurs de syntaxe</title>
	<atom:link href="http://performance.survol.fr/2008/09/erreurs-de-syntaxe/feed/" rel="self" type="application/rss+xml" />
	<link>http://performance.survol.fr/2008/09/erreurs-de-syntaxe/</link>
	<description>Quelques mots pour des sites web rapides</description>
	<lastBuildDate>Thu, 20 May 2010 23:40:14 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
	<item>
		<title>Par : Éric</title>
		<link>http://performance.survol.fr/2008/09/erreurs-de-syntaxe/#comment-328</link>
		<dc:creator>Éric</dc:creator>
		<pubDate>Mon, 29 Sep 2008 15:58:43 +0000</pubDate>
		<guid isPermaLink="false">http://performance.survol.fr/?p=170#comment-328</guid>
		<description>@Julien: moi je veux bien, je n&#039;ai pas encore fait de test donc je ne vais pas te contredire fortement, mais c&#039;est Microsoft qui affirme que les balises non fermées impactent les performance. J&#039;ai tendance à les croires quant à leur moteur.</description>
		<content:encoded><![CDATA[<p>@Julien: moi je veux bien, je n&#8217;ai pas encore fait de test donc je ne vais pas te contredire fortement, mais c&#8217;est Microsoft qui affirme que les balises non fermées impactent les performance. J&#8217;ai tendance à les croires quant à leur moteur.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Par : JulienW</title>
		<link>http://performance.survol.fr/2008/09/erreurs-de-syntaxe/#comment-325</link>
		<dc:creator>JulienW</dc:creator>
		<pubDate>Mon, 29 Sep 2008 15:03:57 +0000</pubDate>
		<guid isPermaLink="false">http://performance.survol.fr/?p=170#comment-325</guid>
		<description>Et ne pas oublier qu&#039;il y a des balises qu&#039;on ne peut pas refermer avec &lt;script /&gt;.  par exemple :-)

Ceci dit, les trucs qui déclenchent les recalculs de page, ce sont surtout des images dont il n&#039;y a pas les tailles, par exemple dans des tables, etc...

A mon avis, le plus grand saut de performance vient du passage de la mise en page par tableaux à la mise en page par CSS. (et souvent, quand on fait ça, on a peu de problèmes de syntaxe restants) 
Après, ce dont tu parles ici, ça peut surtout provoquer des problèmes de rendu, mais pas trop de performance, et en tout cas c&#039;est négligeable.

Autant passer du temps sur les algorithmes utilisés dans vos scripts, ce temps sera plus utile :-)</description>
		<content:encoded><![CDATA[<p>Et ne pas oublier qu&#8217;il y a des balises qu&#8217;on ne peut pas refermer avec &lt;script /&gt;.  par exemple :-)</p>
<p>Ceci dit, les trucs qui déclenchent les recalculs de page, ce sont surtout des images dont il n&#8217;y a pas les tailles, par exemple dans des tables, etc&#8230;</p>
<p>A mon avis, le plus grand saut de performance vient du passage de la mise en page par tableaux à la mise en page par CSS. (et souvent, quand on fait ça, on a peu de problèmes de syntaxe restants)<br />
Après, ce dont tu parles ici, ça peut surtout provoquer des problèmes de rendu, mais pas trop de performance, et en tout cas c&#8217;est négligeable.</p>
<p>Autant passer du temps sur les algorithmes utilisés dans vos scripts, ce temps sera plus utile :-)</p>
]]></content:encoded>
	</item>
	<item>
		<title>Par : Éric</title>
		<link>http://performance.survol.fr/2008/09/erreurs-de-syntaxe/#comment-318</link>
		<dc:creator>Éric</dc:creator>
		<pubDate>Sat, 27 Sep 2008 17:16:09 +0000</pubDate>
		<guid isPermaLink="false">http://performance.survol.fr/?p=170#comment-318</guid>
		<description>Le billet http://ln.hixie.ch/?start=1138169545&amp;count=1 de Ian Hickson est un bon point de départ sur les corrections DOM et ce que ça peut entrainer.</description>
		<content:encoded><![CDATA[<p>Le billet <a href="http://ln.hixie.ch/?start=1138169545&#038;count=1" rel="nofollow">http://ln.hixie.ch/?start=1138169545&#038;count=1</a> de Ian Hickson est un bon point de départ sur les corrections DOM et ce que ça peut entrainer.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Par : Éric</title>
		<link>http://performance.survol.fr/2008/09/erreurs-de-syntaxe/#comment-317</link>
		<dc:creator>Éric</dc:creator>
		<pubDate>Sat, 27 Sep 2008 10:27:22 +0000</pubDate>
		<guid isPermaLink="false">http://performance.survol.fr/?p=170#comment-317</guid>
		<description>Les li et p sont des balises assez simples parce que il sait automatiquement quoi fermer. il faudrait chercher un test qui prend en compte plus de difficultés, c&#039;est à dire avec quelques erreurs de syntaxes cumulées à des balises non fermées qui imposent au navigateur de faire et refaire des corrections au fur et à mesure que le HTML est interprêté. Ca doit pouvoir être fait sur des balises de tableau, mais ça demande de bosser pas mal de temps à chercher ce que réalise le navigateur pour lui imposer le chemin le plus complexe.</description>
		<content:encoded><![CDATA[<p>Les li et p sont des balises assez simples parce que il sait automatiquement quoi fermer. il faudrait chercher un test qui prend en compte plus de difficultés, c&#8217;est à dire avec quelques erreurs de syntaxes cumulées à des balises non fermées qui imposent au navigateur de faire et refaire des corrections au fur et à mesure que le HTML est interprêté. Ca doit pouvoir être fait sur des balises de tableau, mais ça demande de bosser pas mal de temps à chercher ce que réalise le navigateur pour lui imposer le chemin le plus complexe.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Par : mat</title>
		<link>http://performance.survol.fr/2008/09/erreurs-de-syntaxe/#comment-316</link>
		<dc:creator>mat</dc:creator>
		<pubDate>Sat, 27 Sep 2008 00:02:15 +0000</pubDate>
		<guid isPermaLink="false">http://performance.survol.fr/?p=170#comment-316</guid>
		<description>La remarque de Benjamin ne me surprendrait pas, vrai parseur XML par rapport à un parseur HTML plein de hacks, ca doit être mieux :)

Sinon, une remarque quand même: ne faites pas n&#039;importe quoi, les élements déclarés EMPTY dans la dtd ne doivent jamais être fermés avec une autre balise, et en XHTML doivent uniquement être fermés avec /&gt; (slash-plus grand que, si le html est strippé dans les commentaires :)</description>
		<content:encoded><![CDATA[<p>La remarque de Benjamin ne me surprendrait pas, vrai parseur XML par rapport à un parseur HTML plein de hacks, ca doit être mieux :)</p>
<p>Sinon, une remarque quand même: ne faites pas n&#8217;importe quoi, les élements déclarés EMPTY dans la dtd ne doivent jamais être fermés avec une autre balise, et en XHTML doivent uniquement être fermés avec /&gt; (slash-plus grand que, si le html est strippé dans les commentaires :)</p>
]]></content:encoded>
	</item>
	<item>
		<title>Par : Pierre Bertet</title>
		<link>http://performance.survol.fr/2008/09/erreurs-de-syntaxe/#comment-315</link>
		<dc:creator>Pierre Bertet</dc:creator>
		<pubDate>Fri, 26 Sep 2008 21:31:42 +0000</pubDate>
		<guid isPermaLink="false">http://performance.survol.fr/?p=170#comment-315</guid>
		<description>Benjamin, Eric :

Je viens de faire un test (sur Firefox 3 uniquement), et les résultats sont assez similaires.

Le test est constitué d&#039;une liste de 10 000 lignes, chacune contenant un paragraphe de texte fictif. Pour la version &quot;HTML4 balises ouvertes&quot;, les balises &lt;code&gt;&lt;p&gt;&lt;/code&gt; et &lt;code&gt;&lt;li&gt;&lt;/code&gt; ne sont pas fermées.

Le temps passé en millisecondes est relevé en début et en fin de document.

Je ne sais pas si ce test est réellement représentatif, mais si l&#039;un d&#039;entre vous a une idée et veut l&#039;améliorer, qu&#039;il n&#039;hésite pas :-)

Les tests (moyenne sur 20 chargements) :

HTML4 strict, balises ouvertes, text/html : 2.003 secondes
HTML4 strict, balises fermées, text/html : 2.222 secondes
XHTML1 strict, balises fermées, text/html : 2.263 secondes
HTML1.1 strict, balises fermées, application/xhtml+xml : 2.171 secondes


On peut voir que &quot;HTML4 balises ouvertes&quot; est un peu plus rapide que les autres et c&#039;est normal, car la chaîne &quot;&lt;code&gt;&lt;/li&gt;&lt;/p&gt;&lt;/code&gt;&quot; est absente sur l&#039;ensemble des lignes.

Le XHTML servi en application/xhtml+xml est en deuxième position, mais l&#039;écart est léger.

Si quelqu&#039;un s&#039;en sent le courage, il pourrait être intéressant d&#039;adapter et de tester ça sur les autres navigateurs (notamment IE puisque Microsoft recommande de fermer les balises).

On pourrait aussi créer une page plus complexe, avec un tableau en &lt;code&gt;table-layout:auto&lt;/code&gt; par exemple.

Et consulter le résultat détaillé ici : http://spreadsheets.google.com/pub?key=pEgfOn-yIxmcq2g-FIlHWeg

Vous pouvez télécharger les fichiers de test ici (avec le .htaccess) : http://essais.pierrebertet.net/parsing_html.tar.gz

Au courageux testeur : pour que le script fonctionne sur Internet Explorer, il faudrait remplacer &lt;code&gt;console.log()&lt;/code&gt; (Firebug) par &lt;code&gt;window.alert()&lt;/code&gt; par exemple, et &lt;code&gt;Date.now()&lt;/code&gt; par &lt;code&gt;new Date().getTime()&lt;/code&gt;.</description>
		<content:encoded><![CDATA[<p>Benjamin, Eric :</p>
<p>Je viens de faire un test (sur Firefox 3 uniquement), et les résultats sont assez similaires.</p>
<p>Le test est constitué d&#8217;une liste de 10 000 lignes, chacune contenant un paragraphe de texte fictif. Pour la version &laquo;&nbsp;HTML4 balises ouvertes&nbsp;&raquo;, les balises <code>&lt;p&gt;</code> et <code>&lt;li&gt;</code> ne sont pas fermées.</p>
<p>Le temps passé en millisecondes est relevé en début et en fin de document.</p>
<p>Je ne sais pas si ce test est réellement représentatif, mais si l&#8217;un d&#8217;entre vous a une idée et veut l&#8217;améliorer, qu&#8217;il n&#8217;hésite pas :-)</p>
<p>Les tests (moyenne sur 20 chargements) :</p>
<p>HTML4 strict, balises ouvertes, text/html : 2.003 secondes<br />
HTML4 strict, balises fermées, text/html : 2.222 secondes<br />
XHTML1 strict, balises fermées, text/html : 2.263 secondes<br />
HTML1.1 strict, balises fermées, application/xhtml+xml : 2.171 secondes</p>
<p>On peut voir que &laquo;&nbsp;HTML4 balises ouvertes&nbsp;&raquo; est un peu plus rapide que les autres et c&#8217;est normal, car la chaîne &laquo;&nbsp;<code>&lt;/li&gt;&lt;/p&gt;</code>&nbsp;&raquo; est absente sur l&#8217;ensemble des lignes.</p>
<p>Le XHTML servi en application/xhtml+xml est en deuxième position, mais l&#8217;écart est léger.</p>
<p>Si quelqu&#8217;un s&#8217;en sent le courage, il pourrait être intéressant d&#8217;adapter et de tester ça sur les autres navigateurs (notamment IE puisque Microsoft recommande de fermer les balises).</p>
<p>On pourrait aussi créer une page plus complexe, avec un tableau en <code>table-layout:auto</code> par exemple.</p>
<p>Et consulter le résultat détaillé ici : <a href="http://spreadsheets.google.com/pub?key=pEgfOn-yIxmcq2g-FIlHWeg" rel="nofollow">http://spreadsheets.google.com/pub?key=pEgfOn-yIxmcq2g-FIlHWeg</a></p>
<p>Vous pouvez télécharger les fichiers de test ici (avec le .htaccess) : <a href="http://essais.pierrebertet.net/parsing_html.tar.gz" rel="nofollow">http://essais.pierrebertet.net/parsing_html.tar.gz</a></p>
<p>Au courageux testeur : pour que le script fonctionne sur Internet Explorer, il faudrait remplacer <code>console.log()</code> (Firebug) par <code>window.alert()</code> par exemple, et <code>Date.now()</code> par <code>new Date().getTime()</code>.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Par : Éric</title>
		<link>http://performance.survol.fr/2008/09/erreurs-de-syntaxe/#comment-314</link>
		<dc:creator>Éric</dc:creator>
		<pubDate>Fri, 26 Sep 2008 15:16:08 +0000</pubDate>
		<guid isPermaLink="false">http://performance.survol.fr/?p=170#comment-314</guid>
		<description>@Benjamin: J&#039;en doute, mais je suis preneur des chiffres (accompagné du jeu de test) si tu as le courage de le vérifier.</description>
		<content:encoded><![CDATA[<p>@Benjamin: J&#8217;en doute, mais je suis preneur des chiffres (accompagné du jeu de test) si tu as le courage de le vérifier.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Par : Pierre Bertet</title>
		<link>http://performance.survol.fr/2008/09/erreurs-de-syntaxe/#comment-313</link>
		<dc:creator>Pierre Bertet</dc:creator>
		<pubDate>Fri, 26 Sep 2008 14:50:02 +0000</pubDate>
		<guid isPermaLink="false">http://performance.survol.fr/?p=170#comment-313</guid>
		<description>Pierre Goiffon :
Tout à fait ! C&#039;est pourquoi dans ma dernière phrase je donnais l&#039;exemple d&#039;attributs non valides aujourd&#039;hui, mais &lt;em&gt;qui le seront un jour&lt;/em&gt; : ça ne pose pas de problème aujourd&#039;hui (il suffit de tester pour s&#039;en apercevoir), et il est raisonnable de penser qu&#039;à l&#039;avenir, aucun navigateur n&#039;aura de problème pour les interpréter puisqu&#039;ils sont prévus pour HTML5.

L&#039;inverse est vrai comme tu l&#039;indiques : les navigateurs savent lire HTML4, ils savent donc très bien lire des balises non fermées, puisque c&#039;est toléré. En XHTML, aucun problème non plus lorsqu&#039;il est envoyé en &lt;code&gt;text/html&lt;/code&gt;, ce qui revient pour les navigateurs à lire du HTML.

Bref, je veux simplement dire qu&#039;on ne peut pas, en théorie, se reposer sur la gestion des erreurs par les navigateurs, sauf dans certains cas (spécifications passées ou futures sous certaines conditions par exemple).

C&#039;est d&#039;ailleurs le problème des hacks CSS, qui se basent sur l&#039;interprétation d&#039;erreurs pour cibler certains navigateurs.

PS : Désolé pour le hors-sujet, cela n&#039;a pas grand chose à voir avec les performances de nos pages...</description>
		<content:encoded><![CDATA[<p>Pierre Goiffon :<br />
Tout à fait ! C&#8217;est pourquoi dans ma dernière phrase je donnais l&#8217;exemple d&#8217;attributs non valides aujourd&#8217;hui, mais <em>qui le seront un jour</em> : ça ne pose pas de problème aujourd&#8217;hui (il suffit de tester pour s&#8217;en apercevoir), et il est raisonnable de penser qu&#8217;à l&#8217;avenir, aucun navigateur n&#8217;aura de problème pour les interpréter puisqu&#8217;ils sont prévus pour HTML5.</p>
<p>L&#8217;inverse est vrai comme tu l&#8217;indiques : les navigateurs savent lire HTML4, ils savent donc très bien lire des balises non fermées, puisque c&#8217;est toléré. En XHTML, aucun problème non plus lorsqu&#8217;il est envoyé en <code>text/html</code>, ce qui revient pour les navigateurs à lire du HTML.</p>
<p>Bref, je veux simplement dire qu&#8217;on ne peut pas, en théorie, se reposer sur la gestion des erreurs par les navigateurs, sauf dans certains cas (spécifications passées ou futures sous certaines conditions par exemple).</p>
<p>C&#8217;est d&#8217;ailleurs le problème des hacks CSS, qui se basent sur l&#8217;interprétation d&#8217;erreurs pour cibler certains navigateurs.</p>
<p>PS : Désolé pour le hors-sujet, cela n&#8217;a pas grand chose à voir avec les performances de nos pages&#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>Par : Pierre Goiffon</title>
		<link>http://performance.survol.fr/2008/09/erreurs-de-syntaxe/#comment-312</link>
		<dc:creator>Pierre Goiffon</dc:creator>
		<pubDate>Fri, 26 Sep 2008 14:48:07 +0000</pubDate>
		<guid isPermaLink="false">http://performance.survol.fr/?p=170#comment-312</guid>
		<description>Pardon je n&#039;ai peut être pas été assez explicite tout à l&#039;heure... 

Cette technique était vraiment énormément utilisé du temps des tableaux, cela faisait gagner beaucoup en terme de poids des pages. Le gain est le plus important sur les tableaux bien entendu ( et ).

Ce n&#039;est sans doute pas vraiment d&#039;actualité aujourd&#039;hui si l&#039;on génère du HTML contenant le moins possible de mise en forme ?
Ok, en n&#039;aillant pas de chiffres on va garder ce prb à l&#039;esprit...</description>
		<content:encoded><![CDATA[<p>Pardon je n&#8217;ai peut être pas été assez explicite tout à l&#8217;heure&#8230; </p>
<p>Cette technique était vraiment énormément utilisé du temps des tableaux, cela faisait gagner beaucoup en terme de poids des pages. Le gain est le plus important sur les tableaux bien entendu ( et ).</p>
<p>Ce n&#8217;est sans doute pas vraiment d&#8217;actualité aujourd&#8217;hui si l&#8217;on génère du HTML contenant le moins possible de mise en forme ?<br />
Ok, en n&#8217;aillant pas de chiffres on va garder ce prb à l&#8217;esprit&#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>Par : Benjamin D.C.</title>
		<link>http://performance.survol.fr/2008/09/erreurs-de-syntaxe/#comment-311</link>
		<dc:creator>Benjamin D.C.</dc:creator>
		<pubDate>Fri, 26 Sep 2008 13:42:23 +0000</pubDate>
		<guid isPermaLink="false">http://performance.survol.fr/?p=170#comment-311</guid>
		<description>Tiens, au passage, j&#039;ai cru vaguement comprendre qu&#039;une page déclarée en application/xhtml+xml serait traitée plus rapidement qu&#039;en bon vieux text/html. Ça semble &quot;logique&quot;, mais quid en pratique?</description>
		<content:encoded><![CDATA[<p>Tiens, au passage, j&#8217;ai cru vaguement comprendre qu&#8217;une page déclarée en application/xhtml+xml serait traitée plus rapidement qu&#8217;en bon vieux text/html. Ça semble &laquo;&nbsp;logique&nbsp;&raquo;, mais quid en pratique?</p>
]]></content:encoded>
	</item>
</channel>
</rss>
