<?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"
	>

<channel>
	<title>HTML zen garden</title>
	<atom:link href="http://www.htmlzengarden.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.htmlzengarden.com</link>
	<description>The Beauty in HTML Design</description>
	<pubDate>Wed, 20 Aug 2008 21:19:47 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6</generator>
	<language>en</language>
			<item>
		<title>Sprites et clipping</title>
		<link>http://www.htmlzengarden.com/2008/08/sprites_et_clipping/</link>
		<comments>http://www.htmlzengarden.com/2008/08/sprites_et_clipping/#comments</comments>
		<pubDate>Wed, 20 Aug 2008 21:16:28 +0000</pubDate>
		<dc:creator>Vincent</dc:creator>
		
		<category><![CDATA[Non classé]]></category>

		<category><![CDATA[clip]]></category>

		<category><![CDATA[css]]></category>

		<category><![CDATA[performances]]></category>

		<category><![CDATA[sprites]]></category>

		<guid isPermaLink="false">http://www.htmlzengarden.com/?p=43</guid>
		<description><![CDATA[Toujours en quête de meilleures performances, je m&#8217;attarde et j&#8217;extrapole (un peu) sur les sprites CSS.

Sprites

Je l&#8217;avoue, bien que connaissant la technique, je n&#8217;y trouvais jusqu&#8217;alors pas une grande utilité (outre pour les changements d&#8217;états au survol).

Maintenant qu&#8217;il est question de performances, la réponse est toute autre et j&#8217;utilise bien plus souvent cette astuce. C&#8217;est [...]]]></description>
			<content:encoded><![CDATA[<p>Toujours en quête de meilleures performances, je m&#8217;attarde et j&#8217;extrapole (un peu) sur les <a href="http://performance.survol.fr/2008/06/des-sprites-jusqua-plus-soif/">sprites <abbr title="Cascading Style Sheet">CSS</abbr></a>.</p>

<h3>Sprites</h3>

<p>Je l&#8217;avoue, bien que connaissant la technique, je n&#8217;y trouvais jusqu&#8217;alors pas une grande utilité (outre pour les changements d&#8217;états au survol).</p>

<p>Maintenant qu&#8217;il est question de performances, la réponse est toute autre et j&#8217;utilise bien plus souvent cette astuce. C&#8217;est un peu contraignant de produire des images démesurément grandes et de tout bien caler, mais on s&#8217;en sort quand même sans trop de heurts.</p>

<p>Je tâche toutefois de bien espacer mes sprites, pour permettre un agrandissement du texte dans le navigateur sans effet de bord sur l&#8217;affichage.</p>

<h3>Clipping</h3>

<p>De la même manière que je le fais maintenant pour mes images décoratives, je m&#8217;interrogeais sur la pertinence d&#8217;avoir une multitude d&#8217;images appelées dans le <abbr title="HyperText Markup Language">HTML</abbr>. Pourquoi ne pas réduire de la même manière le nombre de requêtes&#160;?</p>

<p>Je passe en revue plusieures solutions.</p>

<h4>Techniques de masquages par <abbr title="Cascading Style Sheet">CSS</abbr></h4>

<pre><code>&lt;div style="width:100px;height:50px;backgroud-image:url(texte.png);"&gt;
    &lt;span class="masquer"&gt;Texte&lt;/span&gt;
&lt;/div&gt;
</code></pre>

<p>Il s&#8217;agit là d&#8217;une technique plutôt connue mais qui pose je crois, pas mal de problèmes d&#8217;accessibilité. On s&#8217;empêche tout simplement d&#8217;utiliser des images de contenu et on ruse par <abbr title="Cascading Style Sheet">CSS</abbr> pour garantir un affichage conforme à grand coup d&#8217;images de fond.</p>

<p>Bref, on détourne le problème et on s&#8217;en crée des nouveaux&#8230; pas convaincu.</p>

<h4>Images map</h4>

<pre><code>&lt;img src="menu.png" alt="Menu" title="" width="150" height="50" usemap="#menu" /&gt;
&lt;map id="menu" name="menu"&gt;
    &lt;area alt="Lien 1" href="#lien_1" coords="0, 0, 75, 50" shape="rect"/&gt;
    &lt;area alt="Lien 2" href="#lien_2" coords="75, 0, 150, 50" shape="rect"/&gt;
&lt;/map&gt;
</code></pre>

<p>C&#8217;est déjà plus accessible. Mais on perd par contre toute information sémantique autour de nos liens et c&#8217;est un peu casse-pied à mettre en place. Pourquoi pas dans certaines occasions (typiquement une carte géographique).</p>

<h4 id="clipping">Clipping</h4>

<p>Je me souviens alors d&#8217;un vieil <a href="http://www.blog-and-blues.org/weblog/2004/08/14/272">article de Laurent Denis sur le clipping</a> et après avoir farfouillé un peu, on obtient quelque chose qui tient à peu prêt la route.</p>

<ul>
<li><a href="http://www.htmlzengarden.com/clip/">Un exemple de <strong>menu en image réalisé avec cette technique de clipping</strong></a>.</li>
</ul>

<p>Qu&#8217;en pensez-vous&#160;? Ça vaut le coup de se donner du mal comme ça pour les performances&#160;?</p>

<p>Les inconvénients que j&#8217;y vois au premier abord sont&#160;:</p>

<ul>
<li>le poids ajouté au fichier <abbr title="Cascading Style Sheet">CSS</abbr> (augmenté encore un peu plus pour notre ami <abbr title="Internet Explorer">IE</abbr>)&#160;;</li>
<li>la complexité relative de la technique&#160;;</li>
<li>et surtout l&#8217;affichage un peu étrange de la page <abbr title="Cascading Style Sheet">CSS</abbr> désactivées et images activées.</li>
</ul>

<p>Les avantages&#160;:</p>

<ul>
<li>le nombre de requêtes <abbr title="HyperText Transfert Protocole">HTTP</abbr> réduit&#160;;</li>
<li>l&#8217;accessibilité&#160;;</li>
<li>la sémantique du code&#160;;</li>
<li>et la possibilité de faire un changement d&#8217;image au survol sans ajout de <abbr title="JavaScript">JS</abbr>.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.htmlzengarden.com/2008/08/sprites_et_clipping/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Performance Web</title>
		<link>http://www.htmlzengarden.com/2008/08/performance_web/</link>
		<comments>http://www.htmlzengarden.com/2008/08/performance_web/#comments</comments>
		<pubDate>Sat, 16 Aug 2008 15:29:43 +0000</pubDate>
		<dc:creator>Vincent</dc:creator>
		
		<category><![CDATA[Bonnes pratiques]]></category>

		<category><![CDATA[Réflexions]]></category>

		<category><![CDATA[css]]></category>

		<category><![CDATA[javascript]]></category>

		<category><![CDATA[performances]]></category>

		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://www.htmlzengarden.com/?p=33</guid>
		<description><![CDATA[Depuis quelques temps, et en grande partie grâce à Éric, je tente de m&#8217;initier aux bonnes pratiques de performance Web.

Armé de l&#8217;extension YSlow, j&#8217;essaye de mettre en place une configuration la plus performante possible.

Bonne nouvelle

Certaines des recommandations sont évidentes et du coup il est rassurant de voir qu&#8217;on suit déjà ses principes&#160;:


externaliser les fichiers CSS [...]]]></description>
			<content:encoded><![CDATA[<p>Depuis quelques temps, et en grande partie grâce à <a href="http://eric.daspet.name/">Éric</a>, je tente de m&#8217;initier aux bonnes pratiques de <a href="http://performance.survol.fr/">performance Web</a>.</p>

<p>Armé de l&#8217;extension <a href="http://developer.yahoo.com/yslow/">YSlow</a>, j&#8217;essaye de mettre en place une configuration la plus performante possible.</p>

<h3>Bonne nouvelle</h3>

<p>Certaines des recommandations sont évidentes et du coup il est rassurant de voir qu&#8217;on suit déjà ses principes&#160;:</p>

<ul>
<li>externaliser les fichiers <abbr title="Cascading Style Sheet">CSS</abbr> et <abbr title="JavaScript">JS</abbr>&#160;;</li>
<li>éviter les redirections&#160;;</li>
<li>ne pas dupliquer les scripts&#160;;</li>
<li>réduire la taille de l&#8217;arbre <abbr title="HyperText Markup Language">HTML</abbr>&#160;;</li>
<li>utiliser le moins possible d&#8217;iframes&#160;;</li>
<li>éviter les pages 404&#160;;</li>
<li>préférer <code>&lt;link&gt;</code> à <code>@import</code>&#160;;</li>
<li>optimisez au mieux les images et</li>
<li>ne pas les redimensionner côté client.</li>
</ul>

<h3>Les premières étapes</h3>

<p>Beaucoup de <a href="http://developer.yahoo.com/performance/rules.html">règles</a> se comprennent aisément, et il suffit d&#8217;adapter son code pour s&#8217;y conformer.</p>

<p>Je me suis <a href="http://www.htmlzengarden.com/2008/05/structure_de_page/">ainsi retrouvé</a> à&#160;:</p>

<ul>
<li>déplacer mes appels <abbr title="JavaScript">JS</abbr> en bas de page&#160;;</li>
<li>utiliser bien plus souvent la technique des sprites <abbr title="Cascading Style Sheet">CSS</abbr>&#160;;</li>
<li>concaténer mes fichiers <abbr title="Cascading Style Sheet">CSS</abbr> et mes fichiers <abbr title="JavaScript">JS</abbr>&#160;;</li>
<li>limiter au maximum l&#8217;utilisation des filtres&#160;;</li>
<li>minimiser la taille des mes fichiers <abbr title="Cascading Style Sheet">CSS</abbr> et <abbr title="JavaScript">JS</abbr>&#160;;</li>
<li>faire attention à mes appels au DOM et</li>
<li>réduire la taille de mes favicons.</li>
</ul>

<h3>La suite</h3>

<p>Arrive maintenant les points qui me semblent plus obscurs (que je découvre à peine). À savoir&#160;:</p>

<ul>
<li>gérer le cache au mieux&#160;;</li>
<li>compresser les fichiers&#160;;</li>
<li>configurer les ETags&#160;;</li>
<li>vider le buffer&#160;;</li>
<li>etc.</li>
</ul>

<h3>Et pour les professionnels de l&#8217;optimisation et de l&#8217;hébergement</h3>

<p>Reste ensuite quelques points plus spécifiques qui, de mon avis, sont réservés aux professionnels ou tout du moins, bien peu évidents à mettre en place&#160;:</p>

<ul>
<li>l&#8217;utilisation d&#8217;un <abbr title="Content Delivery Network">CDN</abbr> ou encore</li>
<li>la répartition des contenus sur plusieurs domaines.</li>
</ul>

<h3>Mes interrogations du moment</h3>

<p>Elles sont multiples.</p>

<p>J&#8217;aimerais comprendre pourquoi malgré mes efforts certains de mes contenus ne sont pas Gzippés, comprendre un peu mieux les principes de ETags, fouiller un peu du côté de cette fonction <code>flush()</code>, automatiser les compressions et les concaténations, etc.</p>

<p>Et justement sur ce dernier point, j&#8217;expérimente en ce moment deux techniques. Celle de Niels Leenheer pour <a href="http://rakaz.nl/extra/code/combine">concaténer les fichiers</a> et celle de Douglas Crockford pour <a href="http://code.google.com/p/jsmin-php/">minimiser le code <abbr title="JavaScript">JS</abbr></a>.</p>

<p>Avez-vous des conseils à me donner sur ces sujets&#160;? Est-ce des domaines que vous découvrez également&#160;?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.htmlzengarden.com/2008/08/performance_web/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Intituler les listes de liens</title>
		<link>http://www.htmlzengarden.com/2008/07/intituler_les_listes_de_liens/</link>
		<comments>http://www.htmlzengarden.com/2008/07/intituler_les_listes_de_liens/#comments</comments>
		<pubDate>Wed, 30 Jul 2008 14:53:57 +0000</pubDate>
		<dc:creator>Vincent</dc:creator>
		
		<category><![CDATA[Réflexions]]></category>

		<category><![CDATA[accessibilité]]></category>

		<category><![CDATA[html]]></category>

		<category><![CDATA[listes]]></category>

		<category><![CDATA[sémantique]]></category>

		<guid isPermaLink="false">http://www.htmlzengarden.com/?p=29</guid>
		<description><![CDATA[Il m&#8217;est souvent conseillé par tel ou tel outil d&#8217;intituler mes listes de liens dans un souci d&#8217;accessibilité. J&#8217;imagine qu&#8217;il est plus facile alors de se situer au sein des menus.

Soit, mais quelles sont les bonnes pratiques&#160;? Est-ce vraiment pertinent&#160;?

J&#8217;ai en tête plusieurs possibilités&#160;:

&#60;ul title="Fruits"&#62;
    &#60;li&#62;&#60;a href="#lien_vers_pommes"&#62;Pommes&#60;/a&#62;&#60;/li&#62;
    &#60;li&#62;&#60;a href="#lien_vers_oranges"&#62;Oranges&#60;/a&#62;&#60;/li&#62;
 [...]]]></description>
			<content:encoded><![CDATA[<p>Il m&#8217;est souvent conseillé par tel ou tel outil d&#8217;intituler mes listes de liens dans un souci d&#8217;accessibilité. J&#8217;imagine qu&#8217;il est plus facile alors de se situer au sein des menus.</p>

<p>Soit, mais quelles sont les bonnes pratiques&#160;? Est-ce vraiment pertinent&#160;?</p>

<p>J&#8217;ai en tête plusieurs possibilités&#160;:</p>

<pre><code>&lt;ul title="Fruits"&gt;
    &lt;li&gt;&lt;a href="#lien_vers_pommes"&gt;Pommes&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href="#lien_vers_oranges"&gt;Oranges&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href="#lien_vers_bananes"&gt;Bananes&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</code></pre>

<p>ou&#160;:</p>

<pre><code>&lt;hx class="cacher"&gt;Fruits&lt;/hx&gt;
&lt;ul&gt;
    &lt;li&gt;&lt;a href="#lien_vers_pommes"&gt;Pommes&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href="#lien_vers_oranges"&gt;Oranges&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href="#lien_vers_bananes"&gt;Bananes&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</code></pre>

<p>ou encore&#160;:</p>

<pre><code>&lt;dl&gt;
    &lt;dt class="cacher"&gt;Fruits&lt;/dt&gt;
    &lt;dd&gt;&lt;a href="#lien_vers_pommes"&gt;Pommes&lt;/a&gt;&lt;/dd&gt;
    &lt;dd&gt;&lt;a href="#lien_vers_oranges"&gt;Oranges&lt;/a&gt;&lt;/dd&gt;
    &lt;dd&gt;&lt;a href="#lien_vers_bananes"&gt;Bananes&lt;/a&gt;&lt;/dd&gt;
&lt;/dt&gt;
</code></pre>

<p>La dernière solution semble attrayante&#8230; mais elle éliminerait de nos pages toute liste non-ordonnée. Et ça ne convient pas non plus pour des listes ordonnées.</p>

<p>Quelqu&#8217;un a t-il déjà fait des essais sur tout ça, des conseils à donner&#160;? Est-ce que ces techniques sont vraiment utiles&#160;?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.htmlzengarden.com/2008/07/intituler_les_listes_de_liens/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Mise en forme des éléments de formulaires</title>
		<link>http://www.htmlzengarden.com/2008/07/mise_en_forme_des_elements_de_formulaires/</link>
		<comments>http://www.htmlzengarden.com/2008/07/mise_en_forme_des_elements_de_formulaires/#comments</comments>
		<pubDate>Wed, 02 Jul 2008 14:59:14 +0000</pubDate>
		<dc:creator>Vincent</dc:creator>
		
		<category><![CDATA[Réflexions]]></category>

		<category><![CDATA[css]]></category>

		<category><![CDATA[formulaires]]></category>

		<category><![CDATA[interface]]></category>

		<guid isPermaLink="false">http://www.htmlzengarden.com/?p=28</guid>
		<description><![CDATA[Petit débat en prévision, afin de collecter un maximum d&#8217;arguments sur la mise en forme des éléments de formulaires. Êtes-vous pour&#160;? Êtes-vous contre&#160;?

D&#8217;un côté, on pourrait par exemple penser que ces éléments appartiennent au système d&#8217;exploitation. Et que par exemple, un ascenseur, un champ texte, un bouton radio&#8230; doivent changer d&#8217;apparence en fonction de l&#8217;OS.

C&#8217;est [...]]]></description>
			<content:encoded><![CDATA[<p>Petit débat en prévision, afin de collecter un maximum d&#8217;arguments sur la mise en forme des éléments de formulaires. Êtes-vous pour&#160;? Êtes-vous contre&#160;?</p>

<p>D&#8217;un côté, on pourrait par exemple penser que ces éléments appartiennent au système d&#8217;exploitation. Et que par exemple, un ascenseur, un champ texte, un bouton radio&#8230; doivent changer d&#8217;apparence en fonction de l&#8217;<abbr title="Operating System">OS</abbr>.</p>

<p>C&#8217;est le choix qui est fait actuellement par nos navigateurs.</p>

<p>De l&#8217;autre, à l&#8217;inverse, on peut très bien imaginer que ces éléments appartiennent au site/à l&#8217;interface visitée. On pourrait alors envisager de passer différents paramètres (via <abbr title="Cascading Style Sheet">CSS</abbr>) pour changer la taille, les couleurs, la forme, <abbr title="et cætera">etc.</abbr></p>

<p>C&#8217;est ce qui tend à se faire de plus en plus pour l&#8217;avenir, avec quelques possibilités actuellement sur les navigateurs modernes, mais encore trop de limitations. On voit d&#8217;ailleurs fleurir un nombre incroyable de scripts et d&#8217;astuces en tout genre, afin de palier au plus vite ces limites.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.htmlzengarden.com/2008/07/mise_en_forme_des_elements_de_formulaires/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Les attributs de tailles pour les images</title>
		<link>http://www.htmlzengarden.com/2008/06/les_attributs_de_tailles_pour_les_images/</link>
		<comments>http://www.htmlzengarden.com/2008/06/les_attributs_de_tailles_pour_les_images/#comments</comments>
		<pubDate>Tue, 17 Jun 2008 13:21:21 +0000</pubDate>
		<dc:creator>Vincent</dc:creator>
		
		<category><![CDATA[Réflexions]]></category>

		<category><![CDATA[html]]></category>

		<category><![CDATA[images]]></category>

		<guid isPermaLink="false">http://www.htmlzengarden.com/?p=27</guid>
		<description><![CDATA[&#60;img src="image.png" width="100" height="100" alt="&#38;hellip;" title="" /&#62;


ou

&#60;img src="image.png" alt="&#38;hellip;" title="" /&#62;



séparation du contenu de la présentation&#160;;
souplesse pour les éventuelles modifications&#160;;
légerté du code&#160;;
rendu au chargement mieux maitrisé.


Autant d&#8217;arguments à prendre en compte pour faire votre choix. Personnellement j&#8217;ai opté pour la solution une&#8230; mais je ne demande qu&#8217;à changer d&#8217;avis&#160;!
]]></description>
			<content:encoded><![CDATA[<pre><code>&lt;img src="image.png" width="100" height="100" alt="&amp;hellip;" title="" /&gt;
</code></pre>

<p>ou</p>

<pre><code>&lt;img src="image.png" alt="&amp;hellip;" title="" /&gt;
</code></pre>

<ul>
<li>séparation du contenu de la présentation&#160;;</li>
<li>souplesse pour les éventuelles modifications&#160;;</li>
<li>légerté du code&#160;;</li>
<li>rendu au chargement mieux maitrisé.</li>
</ul>

<p>Autant d&#8217;arguments à prendre en compte pour faire votre choix. Personnellement j&#8217;ai opté pour la solution une&#8230; mais je ne demande qu&#8217;à changer d&#8217;avis&#160;!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.htmlzengarden.com/2008/06/les_attributs_de_tailles_pour_les_images/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Eléments vides</title>
		<link>http://www.htmlzengarden.com/2008/06/elements_vides/</link>
		<comments>http://www.htmlzengarden.com/2008/06/elements_vides/#comments</comments>
		<pubDate>Fri, 06 Jun 2008 20:32:07 +0000</pubDate>
		<dc:creator>Vincent</dc:creator>
		
		<category><![CDATA[Réflexions]]></category>

		<category><![CDATA[balises]]></category>

		<category><![CDATA[html]]></category>

		<category><![CDATA[vides]]></category>

		<guid isPermaLink="false">http://www.htmlzengarden.com/?p=26</guid>
		<description><![CDATA[Il m&#8217;arrive assez fréquemment de devoir répondre à des demandes graphiques plutôt&#8230; complexes. Et parfois cela nécessite de multiplier les conteneurs. J&#8217;utilise plusieurs méthodes et j&#8217;aimerais connaître vos habitudes afin de confronter nos réflexions.

Imbrications des conteneurs

&#60;div class="encadre_arrondi_haut"&#62;
    &#60;div class="encadre_arrondi_bas"&#62;
        &#60;p&#62;Du contenu.&#60;/p&#62;
    &#60;/div&#62;
&#60;/div&#62;


C&#8217;est [...]]]></description>
			<content:encoded><![CDATA[<p>Il m&#8217;arrive assez fréquemment de devoir répondre à des demandes graphiques plutôt&#8230; complexes. Et parfois cela nécessite de multiplier les conteneurs. J&#8217;utilise plusieurs méthodes et j&#8217;aimerais connaître vos habitudes afin de confronter nos réflexions.</p>

<h3>Imbrications des conteneurs</h3>

<pre><code>&lt;div class="encadre_arrondi_haut"&gt;
    &lt;div class="encadre_arrondi_bas"&gt;
        &lt;p&gt;Du contenu.&lt;/p&gt;
    &lt;/div&gt;
&lt;/div&gt;
</code></pre>

<p>C&#8217;est de loin la méthode que je préfère, car, selon moi, elle ne perturbe pas le sens sémantique de la structure. Elle ne permet pas de traiter tout les cas de figures par contre (notamment quand il s&#8217;agit de jouer avec la transparence).</p>

<h3>Ajouts d&#8217;éléments vides</h3>

<pre><code>&lt;div&gt;
    &lt;span class="encadre_arrondi_haut"&gt;&lt;/span&gt;
    &lt;span class="encadre_arrondi_bas"&gt;&lt;/span&gt;
    &lt;p&gt;Du contenu.&lt;/p&gt;
&lt;/div&gt;
</code></pre>

<p>C&#8217;est pratique et parfois plus souple, ça valide au niveau W3C&#8230; mais pas avec l&#8217;<a href="http://users.skynet.be/mgueury/mozilla/">extension HTML Validator</a> que j&#8217;aime beaucoup. C&#8217;est tout bête mais ça m&#8217;ennuie&#160;!</p>

<h3>Ajouts d&#8217;éléments avec un contenu &#8220;neutre&#8221;</h3>

<pre><code>&lt;div&gt;
    &lt;span class="encadre_arrondi_haut"&gt;&lt;br /&gt;&lt;/span&gt;
    &lt;span class="encadre_arrondi_bas"&gt;&lt;br /&gt;&lt;/span&gt;
    &lt;p&gt;Du contenu.&lt;/p&gt;
&lt;/div&gt;
</code></pre>

<p>ou encore&#160;:</p>

<pre><code>&lt;div&gt;
    &lt;span class="encadre_arrondi_haut"&gt;&amp;nbsp;&lt;/span&gt;
    &lt;span class="encadre_arrondi_bas"&gt;&amp;nbsp;&lt;/span&gt;
    &lt;p&gt;Du contenu.&lt;/p&gt;
&lt;/div&gt;
</code></pre>

<p>Je ne pense pas que les retours chariots ni les espaces insécables soient pris en compte par les lecteurs d&#8217;écrans&#8230; toutefois, les éléments sont détournées de leur usage et je ne suis pas plus convaincu.</p>

<p>Des avis sur ce sujet, ô combien passionnant&#160;?!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.htmlzengarden.com/2008/06/elements_vides/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Balises auto-fermantes</title>
		<link>http://www.htmlzengarden.com/2008/05/balises_auto-fermantes/</link>
		<comments>http://www.htmlzengarden.com/2008/05/balises_auto-fermantes/#comments</comments>
		<pubDate>Mon, 26 May 2008 09:57:42 +0000</pubDate>
		<dc:creator>Vincent</dc:creator>
		
		<category><![CDATA[Réflexions]]></category>

		<category><![CDATA[balises]]></category>

		<category><![CDATA[html]]></category>

		<guid isPermaLink="false">http://www.htmlzengarden.com/?p=24</guid>
		<description><![CDATA[Mini-billet &#8220;mouche du code&#8221; aujourd&#8217;hui&#160;!

Vous écrivez vos balises auto-fermantes comme cela&#160;:

&#60;br /&#62;


Ou comme cela&#160;:

&#60;br/&#62;


Et surtout, pourquoi&#160;?

J&#8217;avoue utiliser la première solution sans aucune justification qui tienne la route pour autant. Je serais curieux d&#8217;en apprendre plus.
]]></description>
			<content:encoded><![CDATA[<p>Mini-billet &#8220;mouche du code&#8221; aujourd&#8217;hui&#160;!</p>

<p>Vous écrivez vos balises auto-fermantes comme cela&#160;:</p>

<pre><code>&lt;br /&gt;
</code></pre>

<p>Ou comme cela&#160;:</p>

<pre><code>&lt;br/&gt;
</code></pre>

<p>Et surtout, pourquoi&#160;?</p>

<p>J&#8217;avoue utiliser la première solution sans aucune justification qui tienne la route pour autant. Je serais curieux d&#8217;en apprendre plus.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.htmlzengarden.com/2008/05/balises_auto-fermantes/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Le point sur les formats d&#8217;images (JPG, GIF et PNG)</title>
		<link>http://www.htmlzengarden.com/2008/05/le_point_sur_les_formats_d_images/</link>
		<comments>http://www.htmlzengarden.com/2008/05/le_point_sur_les_formats_d_images/#comments</comments>
		<pubDate>Sat, 24 May 2008 17:02:22 +0000</pubDate>
		<dc:creator>Vincent</dc:creator>
		
		<category><![CDATA[Bonnes pratiques]]></category>

		<category><![CDATA[compression]]></category>

		<category><![CDATA[gif]]></category>

		<category><![CDATA[images]]></category>

		<category><![CDATA[jpg]]></category>

		<category><![CDATA[optimisation]]></category>

		<category><![CDATA[png]]></category>

		<guid isPermaLink="false">http://www.htmlzengarden.com/?p=23</guid>
		<description><![CDATA[Petit point rapide pour que tout soit bien clair. Il existe sur le Web trois formats d&#8217;images reconnus et compatibles.

Le format JPG

Il s&#8217;agit d&#8217;un format de compression puissant et particulièrement adapté aux photos et aux dégradés de couleurs.

Il est possible lors de l&#8217;optimisation de jouer sur&#160;:


le taux de compression (plus le taux est élevé plus [...]]]></description>
			<content:encoded><![CDATA[<p>Petit point rapide pour que tout soit bien clair. Il existe sur le Web trois formats d&#8217;images reconnus et compatibles.</p>

<h3>Le format <abbr title="(Joint Photographic (Experts) Group)">JPG</abbr></h3>

<p>Il s&#8217;agit d&#8217;un format de compression puissant et particulièrement adapté aux photos et aux dégradés de couleurs.</p>

<p>Il est possible lors de l&#8217;optimisation de jouer sur&#160;:</p>

<ul>
<li>le taux de compression (plus le taux est élevé plus l&#8217;image sera &#8220;abîmée&#8221;)&#160;;</li>
<li>le niveau de flou (une image légèrement floue fera apparaître moins de défauts à la compression)&#160;;</li>
<li>les passes (à savoir un affichage qui sera rendu de manière progressif le temps du chargement de l&#8217;image).</li>
</ul>

<h3>Le format <abbr title="(Graphics Interchange Format)">GIF</abbr></h3>

<p>Ce format est principalement utilisé pour créer des images animées, mais il est possible toutefois de l&#8217;utiliser avec des images fixes car l&#8217;optimisation des images en est parfois meilleur qu&#8217;avec le format  <abbr title="(Joint Photographic (Experts) Group)">JPG</abbr>. Notamment avec des images très &#8220;géométriques&#8221;, petites ou dont la palette de couleurs est limitée.</p>

<p>Il est possible lors de l&#8217;optimisation de jouer sur&#160;:</p>

<ul>
<li>le nombre de couleurs dans la palette (jusqu&#8217;à 256)&#160;;</li>
<li>et les différents paramètres qui permettront justement de réduire ce nombre de couleurs.</li>
</ul>

<p>Le format <abbr title="(Graphics Interchange Format)">GIF</abbr> accepte la transparence binaire (totalement transparent ou pas).</p>

<h3>Le format <abbr title="(Portable Network Graphics)">PNG</abbr></h3>

<p>C&#8217;est avant tout de ce format que je voulais parler car c&#8217;est sans doute le moins connus de tous. En effet, il est mal intégré aux logiciels de production habituels et également disponible en plusieurs format, ce qui ne facilite pas son utilisation.</p>

<h4><abbr title="(Portable Network Graphics)">PNG</abbr> 8</h4>

<p>On parle là d&#8217;une optimisation en 8 bits des images. On travaille donc comme en <abbr title="(Graphics Interchange Format)">GIF</abbr> sur une palette de 256 couleurs à la quelle on ajouter la transparence binaire là encore. Le taux de compression étant dans la plupart des cas meilleur qu&#8217;en <abbr title="(Graphics Interchange Format)">GIF</abbr>, si votre image n&#8217;est pas animée, je préconise de choisir ce format.</p>

<p>Il est possible lors de l&#8217;optimisation de jouer sur&#160;:</p>

<ul>
<li>le nombre de couleurs dans la palette (jusqu&#8217;à 256)&#160;;</li>
<li>et les différents paramètres qui permettront justement de réduire ce nombre de couleurs.</li>
</ul>

<h4><abbr title="(Portable Network Graphics)">PNG</abbr> 24</h4>

<p>Ce format diffère du précédent par la prise en charge de la transparence sur plusieurs niveaux. On pourra alors dire que telle couleur est rouge et transparente à 25%. Par ailleurs la palette n&#8217;est plus limitée à 256 couleurs puisqu&#8217;elle est codée maintenant sur 24 bits.</p>

<p>Il est possible lors de l&#8217;optimisation de jouer sur&#160;:</p>

<ul>
<li>les passes (à savoir un affichage qui sera rendu de manière progressif le temps du chargement de l&#8217;image).</li>
</ul>

<p>La seule restriction à ce format est qu&#8217;il n&#8217;est pas prit en charge par le navigateur Internet Explorer dans ses versions inférieures à 7. Il faut alors user de techniques particulières pour que cela marcher et ce n&#8217;est pas toujours évident.</p>

<h4>Enregistrement des fichiers <abbr title="(Portable Network Graphics)">PNG</abbr></h4>

<p>Que ce soit en <abbr title="(Portable Network Graphics)">PNG</abbr> 8 ou en <abbr title="(Portable Network Graphics)">PNG</abbr> 24, je vous conseille fortement de compresser vos fichiers avec un petit utilitaire&#160;: <a href="http://psydk.org/PngOptimizer.php">PngOptimizer</a>. Non seulement il compresse au mieux vos fichiers mais il corrige également des erreurs couleurs faites par la plupart des logiciels (dont Photoshop).</p>

<p>C&#8217;est un logiciel qui ne fonctionne que sous Windows, et je n&#8217;y ai pas trouvé d&#8217;alternative sérieuse sur Mac ou Linux. Les commentaires sont là pour ça.</p>

<h3>En résumé</h3>

<ul>
<li>Pour une image animée, utilisez le format <abbr title="(Graphics Interchange Format)">GIF</abbr>.</li>
<li>Pour une image riche en couleurs et détaillée (une photographie), utilisez le format <abbr title="(Joint Photographic (Experts) Group)">JPG</abbr>.</li>
<li>Pour une petite image faible en couleurs, qui nécessite une transparence binaire ou très &#8220;géométrique&#8221;, utilisez le format <abbr title="(Portable Network Graphics)">PNG</abbr> 8 (en veillant à compresser correctement).</li>
<li>Pour une image qui nécessite une transparence sur plusieurs niveaux, utilisez le format <abbr title="(Portable Network Graphics)">PNG</abbr> 24 (en veillant à compresser correctement et en utilisant les techniques appropriées pour Internet Explorer).</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.htmlzengarden.com/2008/05/le_point_sur_les_formats_d_images/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Encodage des fichiers CSS</title>
		<link>http://www.htmlzengarden.com/2008/05/encodage_des_fichiers_css/</link>
		<comments>http://www.htmlzengarden.com/2008/05/encodage_des_fichiers_css/#comments</comments>
		<pubDate>Thu, 22 May 2008 12:55:40 +0000</pubDate>
		<dc:creator>Vincent</dc:creator>
		
		<category><![CDATA[Réflexions]]></category>

		<category><![CDATA[css]]></category>

		<category><![CDATA[encodage]]></category>

		<guid isPermaLink="false">http://www.htmlzengarden.com/?p=22</guid>
		<description><![CDATA[Je n&#8217;utilise pas Dreamweaver pour construire mes pages HTML (mais plutôt le vieillissant TopStyle ou Coda en fonction de mon environnement) mais je reprends parfois le code de mes collègues.

J&#8217;ai ainsi découvert que cet éditeur ajoutais systématiquement une déclaration d&#8217;encodage sur les fichiers CSS.

@charset "utf-8";


J&#8217;y vois directement un intérêt quand il s&#8217;agit de commenter son [...]]]></description>
			<content:encoded><![CDATA[<p>Je n&#8217;utilise pas Dreamweaver pour construire mes pages <abbr title="HyperText Markup Language">HTML</abbr> (mais plutôt le vieillissant <a href="http://www.newsgator.com/individuals/topstyle/default.aspx">TopStyle</a> ou <a href="http://www.panic.com/coda/">Coda</a> en fonction de mon environnement) mais je reprends parfois le code de mes collègues.</p>

<p>J&#8217;ai ainsi découvert que cet éditeur ajoutais systématiquement une déclaration d&#8217;encodage sur les fichiers <abbr title="Cascading Style Sheets">CSS</abbr>.</p>

<pre><code>@charset "utf-8";
</code></pre>

<p>J&#8217;y vois directement un intérêt quand il s&#8217;agit de commenter son code ou de générer du contenu <em>via</em> les pseudos éléments <code>after</code> ou <code>before</code>.</p>

<p>Mais cet intérêt n&#8217;est limité qu&#8217;a cela&#160;? C&#8217;est très restreint comme champ d&#8217;utilisation non&#160;?
Et par ailleurs, cela pose-t&#8217;il pas des problèmes particuliers sur un navigateur précis&#160;?</p>

<p>Je serais curieux d&#8217;en savoir plus donc.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.htmlzengarden.com/2008/05/encodage_des_fichiers_css/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Le point sur la ponctuation française</title>
		<link>http://www.htmlzengarden.com/2008/05/le_point_sur_la_ponctuation_francaise/</link>
		<comments>http://www.htmlzengarden.com/2008/05/le_point_sur_la_ponctuation_francaise/#comments</comments>
		<pubDate>Thu, 15 May 2008 11:35:35 +0000</pubDate>
		<dc:creator>Vincent</dc:creator>
		
		<category><![CDATA[Bonnes pratiques]]></category>

		<category><![CDATA[markdown]]></category>

		<category><![CDATA[ponctuation]]></category>

		<category><![CDATA[typographie]]></category>

		<guid isPermaLink="false">http://www.htmlzengarden.com/?p=21</guid>
		<description><![CDATA[Du fait de la jeunesse du média et d&#8217;un manque d&#8217;information, la ponctuation sur le Web est souvent malmenée. Vous trouverez dans le tableau suivant les règles qu&#8217;il faut employer et les solutions que j&#8217;utilise pour respecter au mieux ces dernières (tout en assurant une compatibilité navigateur importante).




  Signes
  Espace avant
  Espace [...]]]></description>
			<content:encoded><![CDATA[<p>Du fait de la jeunesse du média et d&#8217;un manque d&#8217;information, la ponctuation sur le Web est souvent malmenée. Vous trouverez dans le tableau suivant les règles qu&#8217;il faut employer et les solutions que j&#8217;utilise pour respecter au mieux ces dernières <strong>(tout en assurant une compatibilité navigateur importante).</strong></p>

<table>
<thead>
<tr>
  <th>Signes</th>
  <th>Espace avant</th>
  <th>Espace après</th>
  <th>Code <abbr title="HyperText Markup Language">HTML</abbr></th>
</tr>
</thead>
<tbody>
<tr>
  <td>point</td>
  <td>aucun</td>
  <td>espace (sauf en fin de paragraphe)</td>
  <td><code>.</code></td>
</tr>
<tr>
  <td>point-virgule</td>
  <td>espace fine insécable</td>
  <td>espace</td>
  <td><code>&amp;nbsp;;</code> voire<br /><code>&lt;span class="fine"&gt;&amp;nbsp;&lt;/span&gt;;</code></td>
</tr>
<tr>
  <td>deux-points</td>
  <td>espace insécable</td>
  <td>espace</td>
  <td><code>&amp;nbsp;:</code></td>
</tr>
<tr>
  <td>point d&#8217;exclamation</td>
  <td>espace fine insécable</td>
  <td>espace</td>
  <td><code>&amp;nbsp;!</code> voire<br /><code>&lt;span class="fine"&gt;&amp;nbsp;&lt;/span&gt;!;</code></td>
</tr>
<tr>
  <td>point d&#8217;interrogation</td>
  <td>espace fine insécable</td>
  <td>espace</td>
  <td><code>&amp;nbsp;?</code> voire<br /><code>&lt;span class="fine"&gt;&amp;nbsp;&lt;/span&gt;?;</code></td>
</tr>
<tr>
  <td>virgule</td>
  <td>aucun</td>
  <td>un espace</td>
  <td><code>,</code></td>
</tr>
<tr>
  <td>trait d&#8217;union</td>
  <td>aucun</td>
  <td>pas d&#8217;espace</td>
  <td><code>-</code></td>
</tr>
<tr>
  <td>tiret</td>
  <td>espace insécable</td>
  <td>espace insécable</td>
  <td><code>&amp;nbsp;&amp;ndash;&amp;nbsp;</code></td>
</tr>
<tr>
  <td>tiret long</td>
  <td>espace insécable</td>
  <td>espace insécable</td>
  <td><code>&amp;nbsp;&amp;mdash;&amp;nbsp;</code></td>
</tr>
<tr>
  <td>guillemet ouvrant</td>
  <td>espace</td>
  <td>espace insécable</td>
  <td><code>&amp;laquo;&amp;nbsp;</code></td>
</tr>
<tr>
  <td>guillemet fermant</td>
  <td>espace insécable</td>
  <td>espace</td>
  <td><code>&amp;nbsp;&amp;raquo;</code></td>
</tr>
<tr>
  <td>barre de fraction</td>
  <td>espace fine insécable</td>
  <td>espace fine insécable</td>
  <td><code>&amp;nbsp;/&amp;nbsp;</code> voire<br /><code>&lt;span class="fine"&gt;&amp;nbsp;&lt;/span&gt;/&lt;span class="fine"&gt;&amp;nbsp;&lt;/span&gt;</code></td>
</tr>
<tr>
  <td>apostrophe</td>
  <td>aucun</td>
  <td>pas d&#8217;espace</td>
  <td><code>&amp;rsquo;</code></td>
</tr>
<tr>
  <td>points de suspension</td>
  <td>aucun</td>
  <td>un espace</td>
  <td><code>&amp;hellip;</code></td>
</tr>
<tr>
  <td>parenthèse ouvrante</td>
  <td>espace</td>
  <td>pas d&#8217;espace</td>
  <td><code>(</code></td>
</tr>
<tr>
  <td>parenthèse fermante</td>
  <td>aucun</td>
  <td>espace</td>
  <td><code>)</code></td>
</tr>
<tr>
  <td>crochet ouvrante</td>
  <td>espace</td>
  <td>pas d&#8217;espace</td>
  <td><code>[</code></td>
</tr>
<tr>
  <td>crochet fermante</td>
  <td>aucun</td>
  <td>espace</td>
  <td><code>]</code></td>
</tr>
</tbody>
</table>

<p>Notez que&#160;:</p>

<ul>
<li>on associera si besoin dans notre feuille de style cette règle&#160;: <code>.fine{font-size:30%}</code></li>
<li>les espaces insécables différent des espaces normaux car ils ne peuvent pas être séparés des mots qu&#8217;ils séparent par un éventuel retour à la ligne&#160;;</li>
<li>l&#8217;apostrophe et le trait d&#8217;union, ne sont pas des ponctuations mais des signes grammaticaux&#160;;</li>
<li>l&#8217;encodage des entités ne pose aucun problème dans la balise <code>&lt;title&gt;</code> et l&#8217;attribut <code>alt</code> par exemple&#160;;</li>
<li><strong>l&#8217;apostrophe français s&#8217;écrit <code>’</code> et non <code>'</code>&#160;;</strong></li>
<li><strong>les guillemets français s&#8217;écrivent <code>« »</code> et non <code>" "</code>&#160;;</strong></li>
<li><strong>les points de suspension s&#8217;écrivent <code>…</code> et non <code>...</code>&#160;;</strong></li>
<li>les différences entre les tirets et le trait d&#8217;union pourra faire l&#8217;objet d&#8217;un petit billet&#160;;</li>
<li>tout comme il est prévu également un billet sur les signes diacritiques, les symboles typographiques, mathématiques et monétaires.</li>
</ul>

<p>Et attention à ne pas croire que ces règles relèvent du détail, l&#8217;affichage est est parfois fortement impacté. Katsoura écrivait récemment <a href="http://www.tutoweb.com/blog/28-04-2008/espace-ponctuation/">un billet à ce sujet</a>.</p>

<p>On trouve d&#8217;ailleurs de plus en plus de <abbr title="Content Management System">CMS</abbr> ou d&#8217;outils qui respectent automatiquement ces règles (<abbr title="Système de Publication pour l'Internet Partagé">SPIP</abbr>, Dotclear, Markdown).</p>
]]></content:encoded>
			<wfw:commentRss>http://www.htmlzengarden.com/2008/05/le_point_sur_la_ponctuation_francaise/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
