<?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>xtof &#187; ressources</title>
	<atom:link href="http://christopheducamp.com/ProjetBlog/Sujet/ressources/feed/" rel="self" type="application/rss+xml" />
	<link>http://christopheducamp.com/ProjetBlog</link>
	<description>... en route pour un web social ouvert et libre</description>
	<lastBuildDate>Sun, 20 Feb 2011 07:34:31 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1</generator>
	<atom:link rel='hub' href='http://christopheducamp.com/ProjetBlog/?pushpress=hub'/>
		<item>
		<title>Intro au HTML5 : Structure</title>
		<link>http://christopheducamp.com/ProjetBlog/2010/07/04/intro-au-html5-structure/</link>
		<comments>http://christopheducamp.com/ProjetBlog/2010/07/04/intro-au-html5-structure/#comments</comments>
		<pubDate>Sun, 04 Jul 2010 19:18:01 +0000</pubDate>
		<dc:creator>xtof</dc:creator>
				<category><![CDATA[Featured]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[livres]]></category>
		<category><![CDATA[ressources]]></category>
		<category><![CDATA[htlml5]]></category>

		<guid isPermaLink="false">http://christopheducamp.com/ProjetBlog/?p=671</guid>
		<description><![CDATA[Après avoir lu trop rapidement quelques articles de référence et localisé hier un diaporama de Tantek, c&#8217;est décidé, je me jette à l&#8217;eau pour étudier le marquage de ce site en HTML5. Attention néanmoins, seule la spécification du W3C à l&#8217;état de &#171;&#160;working draft&#160;&#187; fait office de référence. Ce premier billet d&#8217;une série à venir, [...]]]></description>
			<content:encoded><![CDATA[<p></p><p>Après avoir lu trop rapidement quelques <a title="a list apart" href="http://www.alistapart.com/articles/previewofhtml5">articles</a> <a title="diveintohtml5 mark pilgrim" href="http://diveintohtml5.org/">de</a> <a title="bruno bichet" href="http://css4design.com/tag/html5">référence</a> et localisé hier un <a title="dias par Tantek HTML5 + CSS3+ microformats" href="http://christopheducamp.com/microformats/slides/HTML5CascadeSF20100701Tantek.html">diaporama de Tantek</a>, c&#8217;est décidé, je me jette à l&#8217;eau pour étudier le marquage de ce site en HTML5. Attention néanmoins, seule <a href="http://www.w3.org/TR/html5/">la spécification du W3C à l&#8217;état de &laquo;&nbsp;working draft&nbsp;&raquo; fait office de référence</a>. Ce premier billet d&#8217;une série à venir, définit les principaux éléments de structure du HTML. Le contenu, le code et les illustrations ont été tirés des éléments de l&#8217;excellent ouvrage <q><a title="introducinghtml5.com" href="http://introducinghtml5.com/">Introducing HTML5</a></q> de <cite class="vcard"><a title="twitter" class="url fn" href="http://twitter.com/brucel">Bruce Lawson</a></cite> et <cite class="vcard"><a class="url fn" href="http://twitter.com/rem">Remy Sharp</a></cite> à paraître la semaine prochaine. L&#8217;ouvrage est disponible en prévisualisation sur <a href="http://safaribooksonline.com/">Safari Books</a>. Les illustrations et traductions des contenus extraits du livre sont <ins>sous copyright de l&#8217;éditeur</ins> et publiés sous Fair Use à des fins d&#8217;étude personnelle.</p>
<h2>HTML5 : La Structure Principale</h2>
<p>Bien que la majorité du HTML5 soit conçue pour produire des applications web interactives, il s&#8217;avère aussi très intéressant pour les fans de syntaxe HTML et de sémantique ; 28 nouveaux éléments ont surgi et peuvent être utilisés tant dans vos pages &laquo;&nbsp;statiques&nbsp;&raquo; traditionnelles que dans toutes vos applications de Gestion de Contenu et/ou plates-formes de blogs.</p>
<p>Ma première intention est de transformer la structure actuelle de marquage des <code>&lt;div&gt;</code>s vers un système sémantique utilisant les nouveaux éléments de structure <code>&lt;nav&gt;</code>, <code>&lt;header&gt;</code>, <code>&lt;footer&gt;</code>, <code>&lt;aside&gt;</code> et <code>&lt;article&gt;</code>. Je me pencherai tout particulièrement sur la manière dont les documents HTML5 disposent d&#8217;une structure prêtant moins à confusion pour les moteurs de recherche.</p>
<p>L&#8217;idée sur ce site sera d&#8217;avancer au fil de l&#8217;eau pour produire une structure de document s&#8217;orientant vers quelque chose de <abbr title="Code HTML Intrinsèquement Classe">CHIC</abbr> (ou <a href="http://microformats.org/wiki/posh-fr">POSH</a>.)</p>
<p>Allons-y les mains dans le code.</p>
<p>Vous devrez tout d&#8217;abord ouvrir votre éditeur de code pour entrer un DOCTYPE et quelques informations préliminaires.</p>
<h3>Le <code>&lt;head&gt;</code></h3>
<p>Tout d&#8217;abord, le DOCTYPE :</p>
<blockquote><p><code>&lt;!DOCTYPE html&gt;</code></p></blockquote>
<p>Fait. Pas d&#8217;URLs compliquées à copier et coller. Adieu les numéros de version HTML et vieux héritages du DOCTYPE SGML. Non sensible à la casse, vous pouvez aussi écrire &laquo;&nbsp;doctype html&nbsp;&raquo; tout en minuscules ou panacher. Oui c&#8217;est tout.</p>
<p>Poursuivons à présent par l&#8217;encodage de caractère du document. Ne pas le faire peut provoquer des signes étranges dans l&#8217;affichage du document. Si comme moi, vous publiez essentiellement en français, je vous recommanderai pour faire simple d&#8217;utiliser l&#8217;encodage UTF-8.</p>
<blockquote><p><code>&lt;!DOCTYPE html&gt;<br />
&lt;meta charset="utf-8"&gt;</code></p></blockquote>
<p>Fait. Maintenant passons au contenu : </p>
<blockquote><p><code><br />
&lt;!DOCTYPE html&gt;<br />
&lt;meta charset="utf-8"&gt;<br />
&lt;title&gt;Mon super projet de blog&lt;/title&gt;<br />
&lt;p&gt;Aujourd'hui j'ai bu deux bières avec du camembert au petit déjeuner. 18 heures plus tard, je me suis couché.&lt;/p&gt;</code></p></blockquote>
<p>Si nous validons ce blog des plus consternants, nous trouverons qu&#8217;il valide, bien qu&#8217;à ce stade il n&#8217;ait ni balise &lt;html&gt; ni &lt;head&gt; et ni &lt;body&gt; (Figure 1.1).</p>
<p><img alt="figure 1.1 validateur HTML5" src="http://img.skitch.com/20100704-8m5nkb1d51t3kes1nkqc5xuj7q.jpg"></p>
<h5>Figure 1.1 : Cela peut paraître étonnant, mais même sans balises head, body ou html <a href="http://validator.nu/?profile=polyglot&#038;doc=http%3A//christopheducamp.com/html5/Test1.html">ce document valide</a> :</h5>
<p>Sans doute l&#8217;un des moments les plus intrigants des premiers pas en HTML5. Ces trois éléments manquants sont complètement optionnels, parce que les navigateurs les supposent. Néanmoins, ce n&#8217;est pas recommandé. En outre, la balise <code>&lt;html&gt;</code> risque de porter confusion au lecteur d&#8217;écran, car c&#8217;est l&#8217;endroit où vous réglez la langue du document : </p>
<blockquote><p><code>&lt;html lang="fr"&gt;</code></p></blockquote>
<p>C&#8217;est important car le mot six, par exemple, se prononce différemment en anglais. Ainsi, comme nous le verrons plus tard, IE requiert l&#8217;élément &lt;body&gt; avant de lui appliquer CSS pour styliser de nouveaux éléments HTML. </p>
<p>Ainsi, nous ajouterons ces éléments optionnels pour produire ce qui devrait être le minimum d&#8217;une page HTML5.</p>
<blockquote><p><code>&lt;!DOCTYPE html&gt;<br />
&lt;html lang="fr"&gt;<br />
&lt;head&gt;<br />
&lt;title&gt;Mon super blog intéressant&lt;/title&gt;<br />
&lt;meta charset="utf-8"&gt;<br />
&lt;/head&gt;<br />
&lt;body&gt;<br />
&lt;p&gt;Aujourd'hui j'ai bu deux bières avec du camembert au petit déjeuner. 18 heures plus tard, je me suis couché.&lt;/p&gt;<br />
&lt;/body&gt;<br />
&lt;/html&gt;</code></p></blockquote>
<blockquote>
<h3>Est-ce que la validation importe encore à ce stade ?</h3>
<p>Compte tenu de cette syntaxe qui sait pardonner, nous pourrions oublier des balises comme <code>&lt;html&gt;</code>, <code>&lt;head&gt;</code>, et <code>&lt;body&gt;</code>, parce que le HTML5 définit un DOM cohérent pour n&#8217;importe quel marquage. Vous pourriez vous demander si la validation est importante ? Je pense que cette validation n&#8217;est toujours qu&#8217;un outil, c&#8217;est un moyen, pas une fin en soi.</p>
<p>L&#8217;objectif est un marquage sémantique : vous assurer que les éléments que vous choisissez font sens pour définir votre contenu, et ne décrivent pas la présentation. Il est possible d&#8217;avoir une page parfaitement valide constituée d&#8217;affichages de <code>&lt;table&gt;</code>s, <code>&lt;div&gt;</code>s et <code>&lt;span&gt;</code>s, et qui soit sans aucun sens sémantique pour quiconque.</p>
<p>Mon point de vue est que cette validation demeure toujours une assurance qualité bien utile. Quand vous pilotez vos équipes de développement, leur faire passer la validation est une étape nécessaire avant toute correction de code. Un moyen de vous assurer que le code fait vraiment ce que vous voulez. Après tout, les navigateurs peuvent produire un <a title="wikipedia Document Object Model" href="http://fr.wikipedia.org/wiki/Document_Object_Model">DOM</a> cohérent à partir d&#8217;une mauvaise syntaxe mais ce pourrait ne pas être le DOM que vous désirez.</p>
<p>Le validateur que j&#8217;utilise est <a href="http://html5.validator.nu">http://html5.validator.nu</a> accessible facilement par un favelet que vous trouverez sur cette page de <span class="vcard"><a class="url fn" rel="muse colleague met" href="http://tantek.com">Tantek</a></span>. Nous attendons d&#8217;autres développements, comme des options pour forcer les choix de codage de manière à être avertis en cas d&#8217;absence de syntaxe XHTML, même si ce n&#8217;est pas requis par la spec.</p>
</blockquote>
<h3>Utiliser les nouveaux éléments HTML5 de Structure </h3>
<p>En 2004, l&#8217;éditeur de la spec HTML5, a fouillé 1 milliard de pages web via le Google Index, pour savoir de quoi était constitué le &ldquo;vrai&rdquo; web. L&#8217;une de ces analyses publiées sur <a href="http://code.google.com/webstats/2005-12/classes.html">http://code.google.com/webstats/2005-12/classes.html</a> était une liste des noms de classes les plus rencontrés dans ces documents HTML.</p>
<p>Plus récemment, en 2009, le crawler MAMA Opera (voir <a href="http://devfiles.myopera.com/articles/572/idlist-url.htm">http://devfiles.myopera.com/articles/572/idlist-url.htm</a>) a étudié les attributs de classe dans 2.148.723 URLs choisies au hasard et aussi dans des ids données aux éléments dans 1.806.424 URLs. </p>
<h4>Table 1 : Noms de classes </h4>
<p>Popularité&nbsp;&nbsp; &nbsp;Valeur&nbsp;&nbsp;&nbsp;Fréquence<br />
1&nbsp;&nbsp; &nbsp;footer&nbsp;&nbsp;&nbsp;179,528<br />
2&nbsp;&nbsp; &nbsp;menu&nbsp;&nbsp;&nbsp;146,673<br />
3&nbsp;&nbsp; &nbsp;style1&nbsp;&nbsp;&nbsp;138,308<br />
4&nbsp;&nbsp; &nbsp;msonormal&nbsp;&nbsp;&nbsp;123,374<br />
5&nbsp;&nbsp; &nbsp;text&nbsp;&nbsp;&nbsp;122,911<br />
6&nbsp;&nbsp; &nbsp;content&nbsp;&nbsp;&nbsp;113,951<br />
7&nbsp;&nbsp; &nbsp;title&nbsp;&nbsp;&nbsp;91,957<br />
8&nbsp;&nbsp; &nbsp;style2&nbsp;&nbsp;&nbsp;89,851<br />
9&nbsp;&nbsp; &nbsp;header&nbsp;&nbsp;&nbsp;89,274<br />
10&nbsp;&nbsp; &nbsp;copyright&nbsp;&nbsp;&nbsp;86,979<br />
11&nbsp;&nbsp; &nbsp;button&nbsp;&nbsp;&nbsp;81,503<br />
12&nbsp;&nbsp; &nbsp;main&nbsp;&nbsp;&nbsp;69,620<br />
13&nbsp;&nbsp; &nbsp;style3&nbsp;&nbsp;&nbsp;69,349<br />
14&nbsp;&nbsp; &nbsp;small&nbsp;&nbsp;&nbsp;68,995<br />
15&nbsp;&nbsp; &nbsp;nav&nbsp;&nbsp;&nbsp;68,634<br />
16&nbsp;&nbsp; &nbsp;clear&nbsp;&nbsp;&nbsp;68,571<br />
17&nbsp;&nbsp; &nbsp;search&nbsp;&nbsp;&nbsp;59,802<br />
18&nbsp;&nbsp; &nbsp;style4&nbsp;&nbsp;&nbsp;56,032<br />
19&nbsp;&nbsp; &nbsp;logo&nbsp;&nbsp;&nbsp;48,831<br />
20&nbsp;&nbsp; &nbsp;body&nbsp;&nbsp;&nbsp;48,052</p>
<h4>Table 1.2. : Noms ID</h4>
<p>Popularité&nbsp;&nbsp; &nbsp;Valeur&nbsp;&nbsp;&nbsp;Fréquence<br />
1&nbsp;&nbsp; &nbsp;footer&nbsp;&nbsp;&nbsp;288,061<br />
2&nbsp;&nbsp; &nbsp;content&nbsp;&nbsp;&nbsp;228,661<br />
3&nbsp;&nbsp; &nbsp;header&nbsp;&nbsp;&nbsp;223,726<br />
4&nbsp;&nbsp; &nbsp;logo&nbsp;&nbsp;&nbsp;121,352<br />
5&nbsp;&nbsp; &nbsp;container&nbsp;&nbsp;&nbsp;119,877<br />
6&nbsp;&nbsp; &nbsp;main&nbsp;&nbsp;&nbsp;106,327<br />
7&nbsp;&nbsp; &nbsp;table1&nbsp;&nbsp;&nbsp;101,677<br />
8&nbsp;&nbsp; &nbsp;menu&nbsp;&nbsp;&nbsp;96,161<br />
9&nbsp;&nbsp; &nbsp;layer1&nbsp;&nbsp;&nbsp;93,920<br />
10&nbsp;&nbsp; &nbsp;autonumber1&nbsp;&nbsp;&nbsp;77,350<br />
11&nbsp;&nbsp; &nbsp;search&nbsp;&nbsp;&nbsp;74,887<br />
12&nbsp;&nbsp; &nbsp;nav&nbsp;&nbsp;&nbsp;72,057<br />
13&nbsp;&nbsp; &nbsp;wrapper&nbsp;&nbsp;&nbsp;66,730<br />
14&nbsp;&nbsp; &nbsp;top&nbsp;&nbsp;&nbsp;66,615<br />
15&nbsp;&nbsp; &nbsp;table2&nbsp;&nbsp;&nbsp;57,934<br />
16&nbsp;&nbsp; &nbsp;layer2&nbsp;&nbsp;&nbsp;56,823<br />
17&nbsp;&nbsp; &nbsp;sidebar&nbsp;&nbsp;&nbsp;52,416<br />
18&nbsp;&nbsp; &nbsp;image1&nbsp;&nbsp;&nbsp;48,922<br />
19&nbsp;&nbsp; &nbsp;banner&nbsp;&nbsp;&nbsp;44,592<br />
20&nbsp;&nbsp; &nbsp;navigation&nbsp;&nbsp;&nbsp;43,664</p>
<p>Comme vous le constatez, une fois retirées les classes évidentes de présentation, il reste un bon paquet d&#8217;idées des structures que les auteurs essayent d&#8217;utiliser sur leurs pages.</p>
<p>Tout comme le HTML4 reflète le premier Web des scientifiques et ingénieurs (ainsi on trouve des éléments comme &lt;kbd&gt;, &lt;samp&gt;, et &lt;var&gt;), le HTML5 est le reflet du web tel qu&#8217;il est durant son développements : 28 éléments sont nouveaux, bon nombre d&#8217;entre eux inspirés par les noms de classes ci-dessus, parce que c&#8217;est ce que les développeurs ont véritablement construit dans cette jungle.</p>
<p>Ainsi pendant que nous sommes d&#8217;humeur pragmatique plutôt que philosophique, utilisons-les. Voici un exemple de page de blog telle que nous la marquerions en utilisant l&#8217;élément sémantiquement neutre &lt;div&gt; </p>
<blockquote><p><code>&lt;div id="header"&gt;<br />
&nbsp;&lt;h1&gt;Ma vie, mon oeuvre&lt;/h1&gt;<br />
&lt;/div&gt;<br />
&lt;div id="sidebar"&gt;<br />
&nbsp;&lt;h2&gt;Menu&lt;/h2&gt;<br />
&nbsp;&lt;ul&gt;<br />
&nbsp; &lt;li&gt;&lt;a<br />
href="semaine-derniere.html"&gt;La semaine dernière&lt;/a&gt;&lt;/li&gt;<br />
&nbsp; &lt;li&gt;&lt;a href="archive.html"&gt;Archives&lt;/a&gt;&lt;/li&gt;<br />
&nbsp;&lt;/ul&gt;<br />
&lt;/div&gt;<br />
&lt;div class="post"&gt;<br />
&nbsp;&lt;h2&gt;Hier&lt;/h1&gt;<br />
&nbsp;&lt;p&gt;Aujourd'hui, j'ai bu du thé au petit-déjeuner. 14 heures après, j'ai été me coucher.&lt;/p&gt;<br />
&lt;/div&gt;<br />
&lt;div class="post"&gt;<br />
&nbsp;&lt;h2&gt;Mardi&lt;/h2&gt;<br />
&nbsp;&lt;p&gt;Plus de thé, aussi ai-je pris un jus de tomates pour le déjeuner. C'était du concentré.&lt;/p&gt;<br />
&lt;/div&gt;<br />
&lt;div id="footer"&gt;<br />
&nbsp;&lt;p&gt;&lt;small&gt; Les contenus sont sous copyright 2010 Bruce Sharp. Contactez-moi pour négocier les droits pour le scénario du film.&nbsp;.&lt;/small&gt;&lt;/p&gt;<br />
&lt;/div&gt;</code></p></blockquote>
<p>En appliquant un peu de CSS, nous le styliserons ainsi : </p>
<blockquote><p><code>#sidebar {float:left; width:20%;}<br />
.post {float:right; width:79%;}<br />
#footer {clear:both;}</code></p></blockquote>
<p>Sous forme de diagramme, la page ressemblerait à ça :</p>
<p><img src="http://img.skitch.com/20100704-k3iuxd215dgqbr3a3cenre43pr.jpg" alt="La structure HTML4 de notre blog"/></p>
<h5>Figure 1.2. La structure HTML4 de notre blog.</h5>
<p>Bien qu&#8217;il n&#8217;y ait rien à redire sur ce marquage (et il continue à fonctionner parfaitement dans le nouvel HTML5), la plupart de la structure est complètement inconnu pour un navigateur, parce que le seul élément véritablement HTML que nous utilisons pour les repères sur ces structures de pages, c&#8217;est le &lt;div&gt; sémantiquement neutre (défini en HTML4 comme &ldquo;un mécanisme générique pour ajouter de la structure aux documents&rdquo;).</p>
<p>Il est possible d&#8217;imaginer un navigateur intelligent ayant une clé raccourcie qui irait droit vers la navigation de la page. La question demeure : Comment saurait-il où aller ? Quelques auteurs utilisent &lt;div class=&nbsp;&raquo;menu&nbsp;&raquo;&gt;, d&#8217;autres class=&nbsp;&raquo;nav&nbsp;&raquo; ou class=&nbsp;&raquo;navigation&nbsp;&raquo; ou class=&nbsp;&raquo;links&nbsp;&raquo; ou bon nombre d&#8217;autres équivalent dans des langues qui ne sont pas de l&#8217;anglais. Les tableaux ci-dessus suggèrent que menu, nav, sidebar, et navigation pourraient tous être synonymes.</p>
<p>Le HTML5 nous donne ainsi de nouveaux éléments qui ôtent toute ambiguïté sur les repères dans une page. Ainsi, nous allons récrire notre page avec quelques-uns de ces éléments : </p>
<blockquote><p><code><br />
&lt;header&gt;<br />
&nbsp;&lt;h1&gt;Ma vie intéressante&lt;/h1&gt;<br />
&lt;/header&gt;<br />
&lt;nav&gt;<br />
&nbsp;&lt;h2&gt;Menu&lt;/h2&gt;<br />
&nbsp;&lt;ul&gt;<br />
&nbsp; &lt;li&gt;&lt;a<br />
href="last-week.html"&gt;Semaine Dernière&lt;/a&gt;&lt;/li&gt;<br />
&nbsp; &lt;li&gt;&lt;a<br />
href="archive.html"&gt;Archives&lt;/a&gt;&lt;/li&gt;<br />
&nbsp;&lt;/ul&gt;<br />
&lt;/nav&gt;<br />
&lt;article&gt;<br />
&nbsp;&lt;h2&gt;Hier&lt;/h2&gt;<br />
&nbsp;&lt;p&gt;Aujourd'hui, j'ai bu du thé au petit-déjeuner. 14 heures après, j'ai été me coucher.&lt;/p&gt;<br />
&lt;/article&gt;<br />
&lt;article&gt;<br />
&nbsp;&lt;h2&gt;Mardi&lt;/h2&gt;<br />
&nbsp;&lt;p&gt;Plus de thé, aussi ai-je pris un jus de tomates pour le déjeuner. C'était du concentré.&lt;/p&gt;<br />
&lt;/article&gt;<br />
&lt;footer&gt;<br />
&nbsp;&lt;p&gt;&lt;small&gt;Les contenus sont sous copyright 2010 Bruce Sharp. Contactez-moi pour dealer les droits du film.&nbsp;.&lt;/small&gt;&lt;/p&gt;<br />
&lt;/footer&gt;</code></p></blockquote>
<p>Le schéma de la version HTML5 donnerait :</p>
<p><img alt="schéma HTML4 de la structure du blog" src="http://img.skitch.com/20100704-rdaisj1nqsbs1kde27xqshf28a.jpg" /></p>
<h5>Figure 1.3. La structure HTML5 de notre blog.</h5>
<blockquote><p>Pourquoi pas d&#8217;élement &lt;content&gt; ?</p>
<p>Il est aisé de voir comment notre saut hypothétique vers le raccourci de nav fonctionnerait, mais une exigence plus commune est d&#8217;aller droit vers l&#8217;aire de contenu principale. Quelques designers orientés accessibilité ajoutent un lien &ldquo;skip links&rdquo; tout en haut de la page, pour permettre aux lecteurs d&#8217;écran d&#8217;outrepasser les items de navigation. A cette heure en HTML5, il n&#8217;existe pas d&#8217;élément &laquo;&nbsp;content&nbsp;&raquo; à passer, aussi comment un lecteur d&#8217;écran (ou un moteur de recherche) saurait-il où démarre le contenu principal d&#8217;une page ?</p>
<p>En fait, il est simple de déterminer où il est : le premier morceau de contenu qui n&#8217;est pas ni dans un &lt;header&gt;, &lt;nav&gt;, &lt;aside&gt; ou &lt;footer&gt; est le début du contenu principal, indépendamment du fait qu&#8217;il soit contenu dans un &lt;article&gt;, une &lt;div&gt;, ou que ce soit ou non un descendant directe de l&#8217;élément &lt;body&gt;.</p>
<p>Bien que cela puisse sembler contre-intuitif de marquer les zones périphériques d&#8217;une page avec leurs propres éléments et non pas le coeur principal de la page -le contenu- parce qu&#8217;il peut être facilement découvert en excluant ces zones, il est mieux de ne pas ajouter un autre élément ; ajouter des éléments au langage n&#8217;est pas &ldquo;libre&rdquo; pour les constructeurs de navigateurs car cela rajoute de la complexité pour tester les suites et cela accroît les risques de régressions.</p>
</blockquote>
<p>Avant que nous ne plongions plus en détails pour savoir quand utiliser ces nouveaux éléments, et ce qu&#8217;ils signifient, stylisons pour démarrer les structures basiques de la page.</p>
<h3>Styliser le HTML5 avec CSS</h3>
<p>Dans tous les navigateurs (sauf un), styliser ces nouveaux éléments est vraiment simple : vous pouvez ajouter de la CSS à n&#8217;importe quel élément, car comme l&#8217;énonce la spec, CSS  &ldquo;est un langage de feuille de style qui permet aux auteurs et utilisateurs d&#8217;attachez un style &#8230; à des documents structurés (c&#8217;est à dire des documents HTML et des applications XML)&rdquo; et les applications XML peuvent avoir tous les éléments qu&#8217;elles veulent.</p>
<p>Bien que vous puissiez utiliser désormais les nouveaux éléments HTML5, la plupart des navigateurs &mdash;même les plus modernes&mdash; ne les comprennent pas nécessairement. Ils ne font rien de spécial avec elles et les traitent comme des éléments inconnus que vous produisez.</p>
<p>Par conséquent, en utilisant CSS, nous pouvons faire flotter <code>&lt;nav&gt;</code>, placer des bordures sur <code>&lt;article&gt;</code> presque aussi facilement que nous le faisons avec des <code>&lt;div&gt;</code>s.</p>
<p>Ce qui pourrait surprendre les lecteurs, c&#8217;est que par défaut, CSS suppose que les éléments sont display:inline, par conséquent si vous réglez juste les hauteurs et largeurs des éléments structurels comme nous produisons les <code>&lt;div&gt;</code>s, cela ne fonctionnera pas correctement en l&#8217;état actuel des navigateurs jusqu&#8217;à ce que nous disions explicitement au navigateur que ce sont des display:block. Dans les navigateurs actuels, il existe une feuille de style rudimentaire intégré dans le navigateur qui outrepasse le style par défaut dans la ligne pour ces éléments que nous pensons comme de niveau-bloc par défaut (une telle feuille de style peut être trouvée sur<br />
http://www.w3.org/TR/CSS2/sample.html). Néanmoins ces navigateurs n&#8217;ont pas encore de règles pour définir <code>&lt;header&gt;</code>,<br />
<code>&lt;nav&gt;</code>, <code>&lt;footer&gt;</code>, <code>&lt;article&#038;gt</code>; sous forme de <code>display:block</code>, aussi avons-nous besoin de spécifier ça dans notre CSS. Quand les navigateurs incluront véritablement de telles règles, notre ligne sera sans danger mais redondante, agissant comme une aide utile pour les anciens navigateurs.</p>
<p>Par conséquent pour styliser notre HTML5 afin de correspondre à notre design HTML4, nous avons simplement besoin des styles suivants : </p>
<blockquote><p><code><br />
header, nav, footer, article {display:block;}<br />
nav {float:left; width:20%;}<br />
article {float:right; width:79%;}<br />
footer {clear:both;}</code></p></blockquote>
<p>Et une magnifique page HTML5 est née. Exception faite dans un navigateur.</p>
<h4>Styliser CSS dans Internet Explorer</h4>
<p>Dans les versions actuelles d&#8217;Internet Explorer, votre page ne sera pas stylisée. En fait c&#8217;est pire : tous les nouveaux éléments ne sont pas stylisés, mais CSS est appliquée à ces élements HTML4 qu&#8217;IE supporte).</p>
<p>La façon de cajoler IE pour qu&#8217;il applique CSS à HTML5 est d&#8217;utiliser JavaScript. Pourquoi ? C&#8217;est un secret, et si nous vous le disions, nous devrions vous assassiner. (En fait nous ne savons pas). Si vous ajoutez le Javascript suivant dans le head de la page : </p>
<blockquote><p><code><br />
&lt;script&gt;<br />
document.createElement('header');<br />
document.createElement('nav');<br />
document.createElement('article');<br />
document.createElement('footer');<br />
&lt;/script&gt;</code></p></blockquote>
<p>IE appliquera par magie les styles à ces éléments, compte tenu du fait qu&#8217;il existe un élément body dans le marquage. Vous avez seulement besoin de créer chaque élément une fois, peu importe combien de fois il apparaîtra sur une page.</p>
<p>Souvenez-vous que HTML5 en lui-même n&#8217;a pas besoin de l&#8217;élément body, mais cette concoction d&#8217;IE8 (et versions antérieures), CSS et JavaScript le requiert.</p>
<p><b>Note</b> : l&#8217;élément <code>&lt;/script&gt;</code> n&#8217;a plus besoin que vous spécifiez le type de script ; JavaScript est supposé par défaut. Ceci fonctionne sur tous les navigateurs, aussi vous pouvez y aller directement.</p>
<p>Bien que ce JavaScript ne soit pas nécessaire pour les autres navigateurs, il ne provoquera aucun dommage. Néanmoins, vous pourriez vouloir donner à votre page une optimisation en vitesse, et ne télécharger uniquement ce script dans IE en le contournant avec les commentaires conditionnels (voir instructions sur </p>
<p>http://dev.opera.com/articles/view/supporting-ie-with-conditional-comments/).</p>
<p>A chaque fois que vous utilisez un nouvel élément HTML5, vous aurez besoin de vous rappeler d&#8217;ajouter le document.createElement pour lui dans le &lt;head&gt;.<br />
Alternativement, vous pouvez utiliser le petit script de Remy Sharp pour autoriser le HTML5 <a href="http://remysharp.com/2009/01/07/html5-enabling-script/">http://remysharp.com/2009/01/07/html5-enabling-script/</a> qui exécutera ceci pour tous les nouveaux éléments en une seule fois.</p>
<p>Attention !</p>
<p>Les utilisateurs de toutes les versions d&#8217;Internet Explorer (actuellement IE8 et antécédents) auront besoin d&#8217;activer JavaScript pour que cette technique fonctionne, même si IE9 fonctionne comme les autres navigateurs et n&#8217;a pas besoin de JavaScript.</p>
<p>Remarquez aussi que les modules d&#8217;impression d&#8217;IE ne semblent pas être affectés par notre JavaScript, ainsi les pages qui ne sont pas stylisés à l&#8217;écran n&#8217;embarquent pas ces styles vers l&#8217;imprimante. IE Print Protector (http://www.iecss.com/print-protector/) est un morceau de JavaScript qui vous permet d&#8217;imprimer des pages HTML5 dans IE&#8230;</p>
<p>Note : voir l&#8217;article de Remy sur HTML5 doctor <a href="http://html5doctor.com/how-to-gethtml5-working-in-ie-and-fire-fox-2/">How to get HTML5 working in IE and Firefox 2?</a> pour en savoir plus.</p>
<h4>Autres problèmes d&#8217;héritages dans les navigateurs</h4>
<p>Il y a d&#8217;autres problèmes d&#8217;héritages de navigateurs au moment de styliser HTML5. Dans quelques circonstances, régler une couleur d&#8217;arrière-plan sur les éléments ne fait rien à moins que vous ne déclariez explicitement la &laquo;&nbsp;background-color&nbsp;&raquo; à hériter sur les enfants, même si cela est supposé être le comportement par défaut. Dans quelques navigateurs basés sur Gecko, styliser les ancres de niveau bloc (ce qui veut dire, des éléments &lt;a&gt; qui enveloppent les éléments de niveau bloc car HTML5 permet maintenant ça&mdash;voir billet à suivre, &ldquo;Marquer le texte&rdquo;) peut être problématique, et dans tous les navigateurs, vous devez explicitement déclarer de telles ancres à être  display:block&mdash;voir <a href="http://mattwilcox.net/sandbox/html5-block-anchor/test.html">http://mattwilcox.net/sandbox/html5-block-anchor/test.html</a>.</p>
<p>Nous ne pourrons pas proposer une liste exhaustive de ces comportements ; ce sont des problèmes temporaires qui devraient disparaître au fur et à mesure des nouvelles versions. Si, en tant qu&#8217;early-adopter, vous veniez à croiser de tels bugs, vous pourriez vouloir envoyer un rapport de bug. John Resig a publié un bon article pour faire ça : &ldquo;A Web Developer&rsquo;s Responsibility&rdquo;chez <a href="http://ejohn.org/blog/a-web-developers-responsibility/">http://ejohn.org/blog/a-web-developers-responsibility/</a>.</p>
<h3>Quand utiliser les nouveaux éléments de structure HTML5 ?</h3>
<p>Nous avons utilisé ces éléments pour marquer notre page, les avons stylisés, et bien que l&#8217;utilisation de chacun d&#8217;eux pourrait sembler évidente d&#8217;après les noms, il est temps de les étudier plus à fond.</p>
<h4>&lt;header&gt;</h4>
<p>Dans notre exemple au-dessus, comme sur la plupart de sites, le header sera le premier élément sur une page, et il contient le titre du site, les logos, les liens retour vers la page d&#8217;accueil, etc. La spécification dit : </p>
<p><q>The header element represents a group of introductory or navigational aids &#8230; Note: A header element is intended to usually contain the section’s heading (an h1–h6 element or an hgroup element), but this is not required. The header element can also be used to wrap a section’s table of contents, a search form, or any relevant logos.</q></p>
<p>Analysons cela : la première chose à remarquer est que cet élément <code>&lt;header&gt;</code> n&#8217;est pas obligatoire ; dans notre exemple au-dessus, il est superflu car il enveloppe uniquement le &lt;h1&gt;. Sa valeur est qu&#8217;il regroupe des éléments “introductory or navigational”, aussi voici un exemple plus réaliste :</p>
<blockquote><p><code>&lt;header&gt;<br />
&lt;a href="/"&gt;&lt;img src=logo.png alt="home"&gt;&lt;/a&gt;<br />
&lt;h1&gt;Mon superblog intéressant&lt;/h1&gt;<br />
&lt;/header&gt; </code></p></blockquote>
<p>Beaucoup de sites web ont un titre et une tagline ou sous-titre. Pour masquer le sous-titre de l&#8217;algorithme de structure (faisant ainsi que l&#8217;en-tête principal et le sous-titre soient dans une unité logique ; voir billet suivant pour une discussion plus approfondie), le titre principal et le sous-titre peuvent se regroupe dans le nouvel élément &lt;hgroup&gt; :</p>
<blockquote><p><code>&lt;header&gt;<br />
&lt;a href="/"&gt;&lt;img src=logo.png alt="home"&gt;&lt;/a&gt;<br />
&lt;hgroup&gt;<br />
&lt;h1>Mon blog intéressant&lt;/h1&gt;<br />
&lt;h2>Tiédeur, passions et jambons&lt;/h2&gt;<br />
&lt;/hgroup&gt;<br />
&lt;/header&gt; </code></p></blockquote>
<p>L&#8217;en-tête contient aussi la navigation. Ce peut être très utile pour des navigations concernant tout le site, tout spécialement sur des sites construits par des gabarits là où l&#8217;ensemble de l&#8217;élément <code>&lt;header&gt;</code> pourrait provenir d&#8217;un fichier gabarit. Ainsi, par exemple, la navigation horizontale présente sur tout le site sur <a href="http://www.thaicookery.co.uk">www.thaicookery.co.uk</a> pourrait être encodée comme dans la Figure 1.4.</p>
<blockquote><p><code><br />
&lt;header&gt;<br />
 &lt;hgroup&gt;<br />
  &lt;h1&gt;Ecole de Cuisine Thai&gt;&lt;/h1&gt;<br />
  &lt;h2&gt;Apprenez de chez vous l'authentique cuisine Thai&lt;/h2&gt;<br />
 &lt;/hgroup&gt;<br />
 &lt;nav&gt;<br />
  &lt;ul&gt;<br />
   &lt;li&gt;Accueil&lt;/li&gt;<br />
   &lt;li&gt;&lt;a href="cours.html"&gt;Cours de Cuisine&lt;/a&gt;&lt;/li&gt;<br />
   &lt;li&gt;&lt;a href="contact.html"&gt;Contact&lt;/a&gt;&lt;/li&gt;<br />
  &lt;/ul&gt;<br />
 &lt;/nav&gt;<br />
&lt;/header&gt;</code></p></blockquote>
<p>Figure 1.4. le &lt;header&gt; de www.thaicookery.co.uk.</p>
<p><img src="http://img.skitch.com/20100704-r6it5r7b8iy8pi9njgkykiw7d4.jpg" alt="header de thaicookery.co.uk"/></p>
<p>Bien qu&#8217;il ne soit pas obligatoire que le <code>&lt;nav&gt;</code> soit dans le <code>&lt;header&gt;</code>. L&#8217;exemple de cuisine Thai pourrait tout aussi simplement être marqué avec <code>&lt;nav&gt;</code> dans le <code>&lt;header&gt;</code> :</p>
<blockquote><p><code>&lt;header&gt;<br />
&lt;hgroup&gt;<br />
&lt;h1&gt;Ecole de Cuisine Thai&gt;&lt;/h1&gt;<br />
&lt;h2&gt;Apprenez de chez vous l'authentique cuisine Thai&lt;/h2&gt;<br />
 &lt;/hgroup&gt;<br />
&lt;/header&gt;<br />
&lt;nav&gt;<br />
 &lt;ul&gt;<br />
   &lt;li&gt;Accueil&lt;/li&gt;<br />
   &lt;li&gt;&lt;a href="cours.html"&gt;Cours de Cuisine&lt;/a&gt;&lt;/li&gt;<br />
   &lt;li&gt;&lt;a href="contact.html"&gt;Contact&lt;/a&gt;&lt;/li&gt;<br />
  &lt;/ul&gt;<br />
 &lt;/nav&gt;</code></p></blockquote>
<p>Cela dépend essentiellement si vous croyez que la navigation globale du site appartient à l&#8217;en-tête global du site et des considérations pragmatiques pour l&#8217;application du  style. Par exemple, mon site personnel a une très grande barre de navigation à gauche de l&#8217;aire de contenu, qui peut être bien plus grande qu&#8217;un billet. Placer <code>&lt;nav&gt;</code> dans le <code>&lt;header&gt;</code> ferait qu&#8217;il serait très difficile de placer le contenu principal au bon endroit. Ainsi dans ce cas, la navigation globale du site est en dehors du <code>&lt;header&gt;</code>, et c&#8217;est un enfant cousin du <code>&lt;body&gt;</code> comme dans notre exemple précédent.</p>
<p><img src="http://img.skitch.com/20100704-r266n3r7udby7j1an25271ej48.jpg" alt="page avec navigation en dehors de l'aire du header principal"/></p>
<h5>Figure 1.5. Page typique avec navigation globale du site en dehors de l&#8217;aire du <code>&lt;header&gt;</code> principal.</h5>
<p>Remarquez que nous ne créons pas seulement le <code>&lt;header&gt;</code> principal de la page ; il peut exister plusieurs headers — nous verrons ça dans un prochain billet.</p>
<h4><code>&lt;section&gt;</code></h4>
<p>Les paragraphes d&#8217;informations sont généralement groupés ensemble dans de plus grandes sections telles qu&#8217;un chapitre de livre, un billet de blog ou un article de magazine. Le HTML5 fournit l&#8217;élément <code>&lt;section&gt;</code> pour grouper ensemble des contenus, que ce soit des paragraphes, des images, des titres, &#8230; afin de former une unité cohérente plus grande. Les éléments <code>&lt;section&gt;</code>s peuvent contenir un header et un footer, et peuvent aussi contenir tout élément pouvant être contenu dans le corps d&#8217;un document HTML. L&#8217;élément <code>&lt;section&gt;</code> peut contenir aussi de l&#8217;information plus spécifique, ou des métadonnées, en utilisant les attributs &laquo;&nbsp;class&nbsp;&raquo; ou &laquo;&nbsp;id&nbsp;&raquo;. Un livre par exemple a le plus généralement plusieurs chapitres, ainsi nous pourrions marquer les chapitres en utilisant <code>&lt;section class="chapitre"&gt;</code>. L&#8217;élément <code>&lt;section&gt;</code> n&#8217;est pas conçu pour remplacer l&#8217;élément <code>&lt;div&gt;</code> qui fait encore partie du HTML5. Les éléments <code>&lt;section&gt;</code> ne devraient être utilisés que quand ils sont appropriés sémantiquement. Pour de plus amples éclairages et quelques exemples d&#8217;utilisation, consultez l&#8217;article <a hreflang="en" title="the section element" href="http://html5doctor.com/the-section-element/">&laquo;&nbsp;the <code>&lt;section&gt;</code> element&nbsp;&raquo;</a> sur  HTML5 Doctor.</p>
<h4><code>&lt;nav&gt;</code></h4>
<p>L&#8217;élément <code>&lt;nav&gt;</code> est conçu pour marquer la navigation. La navigation est définie comme des liens autour d&#8217;une page (ainsi par exemple, une table des matières en haut d&#8217;un article qui lie vers des ancres sur la même page) ou dans un site. Mais chaque ensemble de liens n&#8217;est pas une <code>&lt;nav&gt;</code> ; une liste de liens sponsorisés n&#8217;est pas une <code>&lt;nav&gt;</code>. Ni une page de résultats de recherche, tout comme le contenu principal de la page.</p>
<p>Tout comme pour les <code>&lt;header&gt;</code>s et <code>&lt;footer&gt;</code>s (et tous les nouveaux éléments), vous n&#8217;êtes nullement restreint à un <code>&lt;nav&gt;</code> par page. Vous pourriez tout aussi bien avoir un <code>&lt;nav&gt;</code> pour tout le site dans un header, un <code>&lt;nav&gt;</code> qui soit une table des matières pour l&#8217;article en cours, et un <code>&lt;nav&gt;</code> en-dessous avec des liens vers d&#8217;autres articles en rapport sur votre site.</p>
<h5>To <code>&lt;nav&gt;</code> or not to <code>&lt;nav&gt;</code> ?</h5>
<p>La spec suggère que les liens “légaux” (copyright, contact, liberté d&#8217;information, respect de vie privée, etc.) souvent balancés dans le footer ne devraient pas être enveloppés  dans un <code>&lt;nav&gt;</code> : <q>It is common for footers to have a short list of links to various pages of a site, such as the terms of service, the home page, and a copyright page. The footer element alone is sufficient for such cases, without a nav element.</q></p>
<p>Nous ne sommes pas d&#8217;accord avec cette suggestion. Beaucoup de sites placent un lien vers l&#8217;information d&#8217;accessibilité qui donne de l&#8217;information comme savoir où demander de l&#8217;information dans des formats alternatifs, et les personnes qui ont besoin d&#8217;une telle information sont celles qui auraient le plus avantage à ce que les agents utilisateurs puissent les emmener directement aux éléments marqués comme <code>&lt;nav&gt;</code>.</p>
<p>Les contenus d&#8217;un élément <code>&lt;nav&gt;</code> seront probablement une liste de liens, marqués sous forme de liste non ordonnée (ce qui est devenu une tradition depuis l&#8217;article de Mark Newhouse <a href="http://www.elanceur.org/jason/AListApartCSSDesign/DomptageListes.html">&laquo;&nbsp;Domptage de Listes&nbsp;&raquo;</a> ou dans le cas d&#8217;une barre de navigation &laquo;&nbsp;petit poucet&nbsp;&raquo;, une liste ordonnée. Notez que l&#8217;élément <code>&lt;nav&gt;</code> n&#8217;est qu&#8217;une enveloppe ; il ne remplace pas les éléments <code>&lt;ol&gt;</code> ou <code>&lt;ul&gt;</code>, mais les enveloppe. De ce fait, les navigateurs qui ne comprennent pas l&#8217;élément verront simplement l&#8217;élément liste et les items de liste,  et ils se comporteront tout simplement bien.</p>
<p>Bien que cela fasse sens d&#8217;utiliser une liste (et cela vous donne plus de points d&#8217;ancrage pour CSS), ce n&#8217;est pas obligatoire. C&#8217;est parfaitement valide :</p>
<blockquote><p><code>&lt;nav&gt;<br />
&lt;p&gt;&lt;a href="/"&gt;Accueil&lt;/a&gt;&lt;/p&gt;<br />
&lt;p&gt;&lt;a href="/"&gt;A propos&lt;/a&gt;&lt;/p&gt;<br />
&lt;nav&gt;</code></p></blockquote>
<p>Vous pouvez aussi inclure les en-têtes pour la navigation : </p>
<blockquote><p><code><br />
&lt;nav&gt;<br />
&lt;h2&gt;Navigation principale&lt;/h2&gt;<br />
&lt;ul&gt;<br />
&lt;li&gt;&lt;a href="/about"&gt;A propos&lt;/a&gt;&lt;/li&gt;<br />
&lt;li&gt;&lt;a href="/about"&gt;Actualités&lt;/a&gt;&lt;/li&gt;<br />
&lt;/ul&gt;<br />
&lt;/nav&gt;</code></p></blockquote>
<h4>Grouper &lt;nav&gt; et d&#8217;autres éléments dans une barre latérale</h4>
<p>Beaucoup de sites ont une barre latérale qui contient plusieurs blocs de navigation et d&#8217;autres de contenus non navigationnels. Prenons par exemple mon propre site <a href="http://www.brucelawson.co.uk">www.brucelawson.co.uk</a> (Figure 1.6).</p>
<p><img src="http://img.skitch.com/20100704-rbyaryj4kg5aby19yuq3eqg3qi.jpg" alt="Barre latérale du blog de Bruce Lawson" /></p>
<h5>Figure 1.6. La barre latérale de mon blog, mixant navigation avec colophon et images de bellâtres</h5>
<p>La barre latérale à gauche du contenu principal a pleins de zones de <code>&lt;nav&gt;</code> (non représentées) telle que des pages, des catégories et les commentaires les plus récents. Ceux-ci sont marqués comme une série d&#8217;éléments <code>&lt;nav&gt;</code> (un unique <code>&lt;nav&gt;</code> contenant une liste avec une sous-liste est aussi possible mais je préfère utiliser des éléments <code>&lt;nav&gt;</code> discrets pour chacun des types de nav). </p>
<p>Les éléments <code>&lt;nav&gt;</code> contenu dans le nouvel élément <code>&lt;aside&gt;</code> &laquo;&nbsp;peuvent être utilisés pour des effets typographiques comme des guillemets de citation ou des barres latérales, pour la publicité, pour des groupes d&#8217;éléments de navigation, et pour tout autre contenu considéré comme distinct du contenu principal de la page.” <a href="http://dev.w3.org/html5/spec/semantics.html#the-aside-element">http://dev.w3.org/html5/spec/</a></p>
<p>Vue du code :</p>
<blockquote><p><code><br />
&lt;aside&gt;<br />
&lt;nav&gt;<br />
&lt;h2&gt;Pages&lt;/h2&gt;<br />
&lt;ul> .. &lt;/ul><br />
&lt;/nav&gt;<br />
...</code></p></blockquote>
<blockquote><p><code><br />
&lt;nav&gt;<br />
&lt;h2&gt;Commentaires Récents&lt;/h2&gt;<br />
&lt;ul> .. &lt;/ul><br />
&lt;/nav&gt;</code></p></blockquote>
<blockquote><p><code><br />
&lt;h2&gt;Blah Blah&lt;/h2&gt;<br />
&lt;a href="....">Hébergement Web par DreamHost&lt;a&gt;<br />
&lt;img src="...."&gt;<br />
&lt;p&gt;Motorisé par &lt;a href="....">WordPress&lt;a&gt;&lt;p&gt;<br />
&lt;p&gt;&lt;a href="....">Entrées (RSS)&lt;a&gt; et &lt;a href="..."&gt;Commentaires (RSS)&lt;a&gt;&lt;p&gt;<br />
</code></p></blockquote>
<p>Remarquez que la section “Blah blah” n&#8217;est pas marquée comme <code>&lt;nav&gt;</code>, car le lien vers mon hébergeur web, une photo de moi et deux liens RSS ne sont pas des &laquo;&nbsp;sections qui contiennent des blocks essentiels de navigation&nbsp;&raquo; comme le définit la spéc <code>&lt;nav&gt;</code>.</p>
<h3><code>&lt;footer&gt;</code></h3>
<p>L&#8217;élément <code>&lt;footer&gt;</code> est défini dans la spec comme représentant <q>a footer for its nearest ancestor sectioning content or sectioning root element.</q> (“Sectioning content” comprend les éléments article, aside, nav, section, et les éléments “sectioning root” sont blockquote, body, details, fieldset, figure, td).</p>
<p>Remarquez que, comme avec l&#8217;élément header, il peut y avoir plus d&#8217;un <code>&lt;footer&gt;</code> sur une page ; nous revisiterons cela dans le prochain billet. A cette heure, nous avons simplement un footer sur la page qui est un enfant de l&#8217;élément body. Comme le dit la spec, <q>When the nearest ancestor sectioning content or sectioning root element is the body element, then it applies to the whole page.</q></p>
<p>La spec continue <q>A footer typically contains information about its section such as who wrote it, links to related documents, copyright data, and the like.</q></p>
<p>Notre <code>&lt;footer&gt;</code> contient de la donnée de copyright, que nous enveloppons aussi dans un élément <code>&lt;small&gt;</code>. <code>&lt;small&gt;</code> a été redéfini en HTML5 ; avant c&#8217;était un élément de présentation, mais en HTML5 il représente une petite impression : <q>Small print typically features disclaimers, caveats, legal restrictions, or copyrights. Small print is also sometimes used for attribution, or for satisfying licensing requirements.</q></p>
<p>Le<code>&lt;footer&gt;</code> de votre site a probablement plus qu&#8217;une simple notice de copyright. Vous pourriez avoir des liens sur la politique de confidentialité, l&#8217;information d&#8217;accessibilité (pourquoi cacher cela ?) et d&#8217;autres liens apparentés. Ceux-ci devraient être enveloppés dans <code>&lt;nav&gt;</code>, malgré le conseil de la spec (voir la section nav précédente).</p>
<p>Vous pourriez même avoir un &laquo;&nbsp;fat footer&nbsp;&raquo; comme <a href="http://www.thecssdiv.co.uk">www.thecssdiv.co.uk</a> (Figure 1.7).</p>
<p><img src="http://img.skitch.com/20100704-bdnpey4t6at6yy3ra9qiq46ik5.jpg" alt="Le flat footer - theCSSdiv | Ross Bruniges"/></p>
<h5>Figure 1.7. Le “fat footer” de thecssdiv.co.uk.</h5>
<p>Il est légitime d&#8217;envelopper les liens vers d&#8217;autres pages sur le site avec un élément <code>&lt;aside&gt;</code> à l&#8217;intérieur du footer—mais interrogez vous si <code>&lt;aside&gt;</code> fait partie du footer, ou s&#8217;il serait mieux pour aside d&#8217;être à la place un cousin du footer. Après tout, les liens vers d&#8217;autres pages sont supposés tangentiellement apparentés à la page principale plutôt que simplement le contenu du footer.</p>
<p>Ici, j&#8217;utiliserais le marquage suivant : </p>
<blockquote><p><code>&lt;body&gt;<br />
&nbsp;&lt;div id=mainContent&gt;<br />
&nbsp; ...<br />
&nbsp;&lt;/div&gt;<br />
&lt;aside&gt;<br />
&nbsp;&lt;nav&gt;<br />
&nbsp; &lt;h2&gt;Twitter &lt;/h2&gt;<br />
&nbsp; &lt;ul&gt; ... &lt;/ul&gt;<br />
&nbsp;&lt;/nav&gt;<br />
&nbsp;&lt;nav&gt;<br />
&nbsp; &lt;h2&gt;Flickr &lt;/h2&gt;<br />
&nbsp; &lt;ul&gt; ... &lt;/ul&gt;<br />
&nbsp;&lt;/nav&gt;<br />
&nbsp;&lt;nav&gt;<br />
&nbsp; &lt;h2&gt;WeLoveLocal&lt;/h2&gt;<br />
&nbsp; &lt;ul&gt; ... &lt;/ul&gt;<br />
&nbsp;&lt;/nav&gt;<br />
&nbsp;&lt;nav&gt;<br />
&nbsp; &lt;h2&gt;A venir&lt;/h2&gt;<br />
&nbsp; &lt;ul&gt; ... &lt;/ul&gt;<br />
&nbsp;&lt;/nav&gt;<br />
&lt;/aside&gt;<br />
&lt;footer&gt;<br />
&nbsp;&lt;small&gt;&amp;copy;2007 Ross Bruniges. Design par Blogging Tips<br />
et Pearsonified&lt;/small&gt;<br />
&lt;/footer&gt;<br />
&lt;/body&gt;</code></p></blockquote>
<p>Figure 1.8 montre comment éviter un “fat footer.”</p>
<p><img src="http://img.skitch.com/20100704-csbsw6y7hi4qfruj876xf5e7t.jpg" alt="Intro HTML5 : Eviter un Flatfooter"/></p>
<p>Figure 1.8. Eviter un “fat footer” en faisant des liens externes un <code>&lt;/aside&gt;</code> de la page globale</p>
<h4><code>&lt;article&gt;</code></h4>
<p>Le contenu principal de cette page d&#8217;accueil de blog contient quelques billets de blog. Nous enveloppons chacun d&#8217;eux dans un élément <code>&lt;article&gt;</code>. <code>&lt;article&gt;</code> est spécifié ainsi : <q>The article element represents a component of a page that consists of a self-contained composition in a document, page, application, or site and that is intended to be independently distributable or reusable, e.g., in syndication.</q></p>
<p>Un billet de blog, un tutoriel, un article d&#8217;actualité, une bande dessinée ou une vidéo avec sa transcription correspondent parfaitement à cette définition. Remarquez que, comme pour <code>&lt;nav&gt;</code>, l&#8217;en-tête va à l&#8217;intérieur de l&#8217;élément, ainsi :</p>
<blockquote><p><code><br />
&lt;h1&gt;Mon article&lt;/h1&gt;<br />
&lt;article&gt;<br />
&lt;p&gt;Blah blah&lt;/p&gt;<br />
&lt;/article&gt;</code></p></blockquote>
<p>est incorrect ; ce devrait être :</p>
<blockquote><p><code><br />
&lt;article&gt;<br />
&lt;h1&gt;Mon article&lt;/h1&gt;<br />
&lt;p&gt;Blah blah&lt;/p&gt;<br />
&lt;/article&gt;</code></p></blockquote>
<p>Il y a bien d&#8217;autres facettes plus intéressantes pour <code>&lt;/article&gt;</code> qui sont disponibles dans le chapitre 2 de l&#8217;ouvrage à paraître <a href="http://introducinghtml5.com/">Introducing HTML5&#8243;</a> en <a href="http://www.amazon.com/Introducing-HTML5-Voices-That-Matter/dp/0321687299">pré-commande chez amazon</a>. </p>
<h3>Résumé</h3>
<p>Nous avons ainsi pu jeter un premier coup d&#8217;oeil au HTML5 et son DOCTYPE. Nous avons vu ses règles de syntaxe plutôt souples telle que la non sensibilité à la casse, l&#8217;omission possible de trucs standards comme <code>type="text/javascript"/"text/css"</code> sur le script, et les balises de style. Nous avons structuré les principaux repères d&#8217;une page web en utilisant header, footer, nav, aside et article, pour fournir aux agents utilisateur plus de sémantique que l&#8217;élément générique <code>&lt;div&gt;</code> qui était la seule option en HTML4 et stylisé les nouveaux éléments avec la magie de CSS. Pas mal pour un début non ? A suivre dans un prochain billet pour une implémentation sur ce site.</p>
<blockquote class="hproduct">
<h1 class="fn">Introducing HTML5</h1>
<p><a title="le site officiel du livre" href="http://introducinghtml5.com/"><img src="http://ecx.images-amazon.com/images/I/41z0FVu9ZhL._SL500_AA300_.jpg" alt="cover amazon.com" class="photo" /></a></p>
<p class="description">Le HTML5 arrive et il est temps de s&#8217;y mettre. Ecrit par deux développeurs passionnés, ce livre vous présente par l&#8217;exemple comment utiliser ce langage que vous pouvez dès à présent sur vos sites personnels et professionnels. Plutôt que de se cantonner à une description académique de la spécification, il se concentre sur les problèmes que le HTML5 peut résoudre. Les parties des spécifications qui sont encore en train d&#8217;évoluer ou sont non implémentées sont discutées dans le contexte. Au travers d&#8217;exemples pratiques, vous apprendrez notamment comment bâtir des formulaires spéciaux, gérer la vidéo et l&#8217;audio, utiliser Canvas pour dessiner des lignes et des formes, les transformations et animations, de nouvelles options de stockage et bases de données web, sans oublier un bonus sur la géolocalisation et comment l&#8217;utiliser en HTML5.</p>
<p>Cet ouvrage à paraître en juillet 2010 est destiné aux <a href="/tags/webdesign" class="category" rel="tag">designers</a> et développeurs <a href="/tags/HTML" class="category" rel="tag">HTML</a>, mais pourra plus largement intéresser  tous les auteurs curieux de comprendre l&#8217;avenir du web.</p>
<p>A partir de <span class="price">23.09 €</span> chez <a class="url" href="http://www.amazon.com/Introducing-HTML5-Voices-That-Matter/dp/0321687299">amazon</a>.</p>
</blockquote>
]]></content:encoded>
			<wfw:commentRss>http://christopheducamp.com/ProjetBlog/2010/07/04/intro-au-html5-structure/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Un microblog dans le firewall</title>
		<link>http://christopheducamp.com/ProjetBlog/2010/03/31/le-microblog-a-linterieur-du-pare-feu/</link>
		<comments>http://christopheducamp.com/ProjetBlog/2010/03/31/le-microblog-a-linterieur-du-pare-feu/#comments</comments>
		<pubDate>Wed, 31 Mar 2010 07:32:09 +0000</pubDate>
		<dc:creator>xtof</dc:creator>
				<category><![CDATA[ressources]]></category>
		<category><![CDATA[StatusNet]]></category>
		<category><![CDATA[cas]]></category>
		<category><![CDATA[microblog]]></category>
		<category><![CDATA[openmicroblog]]></category>

		<guid isPermaLink="false">http://christopheducamp.com/ProjetBlog/?p=629</guid>
		<description><![CDATA[StatusNet a été implémenté chez Molecular, une agence interactive pionnière aux Etats-Unis. Ce qui suit est la traduction d&#8217;un billet de Craig Andrews Microblogging inside the Firewall qui nous décrit les perspectives d&#8217;usage du microblog dans le Firewall. Les petites chaînes de texte sont un gros business – et ce qu&#8217;elles soient publiques ou dans [...]]]></description>
			<content:encoded><![CDATA[<p></p><p><em>StatusNet a été implémenté chez <span class="vcard"><a class="url fn org" href="http://www.molecular.com/">Molecular</a></span>, une agence interactive pionnière aux Etats-Unis. Ce qui suit est la traduction d&#8217;un billet de <cite class="vcard"><a class="url fn" title="Tous les billets de Craig Andrews sur molecular voices" href="http://molecularvoices.molecular.com/author/candrews/">Craig Andrews</a></cite> <a title="Lien original de reference vers molecularvoices Microblogging inside the  Firewall" href="http://molecularvoices.molecular.com/2010/microblogging-inside-the-firewall/">Microblogging inside the Firewall</a> qui nous décrit les perspectives d&#8217;usage du microblog dans le Firewall.</em></p>
<p>Les petites chaînes de texte sont un gros business – et ce qu&#8217;elles soient publiques ou dans le pare-feu. Comme nous le savons tous, Twitter est vraiment génial – les spots de publicité à la TV et la radio pour les plus grandes sociétés mentionnent leurs sites Twitter et même les cartes de visites font référence de nos jours aux URLs twitter. Mais Twitter ne peut pas être utilisé pour de l&#8217;information interne, aussi il y a beaucoup de puissance collaborative en latence prête à se déchaîner à l&#8217;intérieur du firewall de l&#8217;entreprise. Imaginez comment les salariés seraient plus productifs au quotidien s&#8217;ils pouvaient partager quelques petites bribes de connaissance.</p>
<p>Imaginons par exemple cette timeline :</p>
<blockquote>
<pre><strong>Alice </strong>: Le client a adoré la présentation - nous avons gagné #ventes
<strong>Bernard </strong>: Le distributeur de la machine à café du 27° étage fonctionne
<strong>Charles </strong>: #CSS me rappelle une programmation orientée aspect #poa
<strong>Denise</strong>: Le projet avance selon le planning #projet3
<strong>Eve </strong>: Chers collègues du #projet3 : notre politique front-end est-elle utile ? <a href="http://ur1.ca/shyu">http://ur1.ca/shyu</a>
<strong>Fred </strong>: @eve Probablement - discutons-en avec @bernard au déjeuner
<strong>Zoé </strong>: @fred @eve nous avons utilisé ces guidelines sur le #projet5 et ça a bien marché
<strong>RobotDSI </strong>: le serveur email est en panne. La DSI a été contactée.</pre>
</blockquote>
<p>Ces exemples montrent que :</p>
<ul>
<li>La barrière à l&#8217;entrée est vraiment basse (Alice a posté immédiatement après sa présentation client, probablement de l&#8217;avion)</li>
<li>L&#8217;information d&#8217;affaires utile est échangée, tout comme le &laquo;&nbsp;team-building&nbsp;&raquo; (Bernard a fourni une information non professionnelle sur le distributeur que les autres apprécieront probablement)</li>
<li>Le fait que la discussion soit ouverte à une plus large audience que l&#8217;email, d&#8217;autres participent de manière inattendue et bénéfique pour le groupe (regardez comment Zoé, qui n&#8217;est même pas sur le projet, a aidé l&#8217;équipe du projet3)</li>
<li>Les robots peuvent publiciser l&#8217;information rassemblée automatiquement. Par exemple, le DSI pourrait installer un robot vers les serveurs de moniteurs et publier automatiquement les mises à jour de statuts. Les robots peuvent aussi s&#8217;abonner aux fils RSS en pontant les wikis et blogs avec le monde du microblogging.</li>
</ul>
<p>Il y a bon nombre d&#8217;autres avantages, une fois que la métadonnée est considérée.</p>
<ul>
<li>Les personnes choisissent qui suivre. Si Alice n&#8217;est pas intéressée par l&#8217;état des systèmes informatiques, elle ne s&#8217;abonne pas au RobotDSI.</li>
<li>Les utilisateurs peuvent marquer un message comme favori. Les messages qui sont marqués comme favoris plusieurs fois s&#8217;affichent dans une liste &laquo;&nbsp;favoris&nbsp;&raquo;, qui est une source géniale d&#8217;information utile.</li>
<li>En cliquant sur un #projet3, Bernard peut trouver tous les billets concernant ce projet, en fournissant une option de recherche puissante.</li>
<li>Les messages peuvent se voir attachés en option une information de géolocalisation. Les utilisateurs peuvent dire si la personne à laquelle ils parlent sont dans le même bureau qu&#8217;eux, travaillant de la maison, chez un client, ou une autre filiale de leur société. Cette donnée permet aux utilisateurs de prendre des décisions rapides sur leur façon de communiquer pour continuer (téléphone, email ou marche à pied dans les étages).</li>
</ul>
<p>Chez Molecular, nous avons voulu tirer partie de ce que le microblog &laquo;&nbsp;dans le firewall&nbsp;&raquo; avait à offrir, aussi nous avons évalué quelques outils privés de microblog, encherchant un logiciel qui fournisse une interface facile, permettant la personnalisation du &laquo;&nbsp;look and feel&nbsp;&raquo;, et qui disposait de clients pour différents terminaux (comme en a Twitter). A la fin, nous avons choisi StatusNet. (Disclosure : je suis un développeur ayant contribué au projet StatusNet.)</p>
<p>Le logiciel <a href="http://status.net">StatusNet</a> (qui fait aussi tourner le site <a href="http://identi.ca">identi.ca</a> avec environ ~200k utilisateurs) est <a href="http://status.net/open-source">Libre et Open Source</a> aussi quiconque peut se sentir libre de l&#8217;installer, de l&#8217;évaluer et l&#8217;utiliser sans se soucier des contrats ou frais de licence. Néanmoins, StatusNet, Inc (la société qui supporte le logiciel StatusNet) offre des <a href="http://status.net/services">services professionnels</a> si vous choisissez de faire fonctionner le logiciel sur site, ou de l&#8217;hébergement si vous préférez l&#8217;héberger ailleurs. Si la route “go it yourself” est sélectionnée, l&#8217;installation est vraiment immédiate car il fonctionne sur la pile bien connue LAMP et dispose d&#8217;une communauté vibrante prête à répondre aux questions.</p>
<p>StatusNet peut intégrer un Annuaire LDAP et même quelques solutions simples de &laquo;&nbsp;Single Sign On&nbsp;&raquo;. Pas de soucis pour gérer les comptes au fur et à mesure des arrivées et départs des salariés, ainsi l&#8217;information privée reste privée.</p>
<p>Le logiciel supporte aussi toute une <a href="http://status.net/wiki/Apps">variété de clients sur un bon nombre de plates-formes</a>, en partant de Windows, Mac, Linux jusqu&#8217;aux terminaux iPhone et Android.</p>
<p>Après avoir développé une skin personnalisée, sélectionné les extensions à autoriser et testé avec un petit groupe, nous avons officiellement lancé “IsoBuzz” la semaine dernière pour toute l&#8217;entreprise. Nous avons déjà vu des conversations intéressantes. Au fil du temps, nous espérons voir IsoBuzz devenir un outil puissant pour le partage de connaissance et la collaboration, tout particulièrement entre les bureaux distants et entre les départements.</p>
]]></content:encoded>
			<wfw:commentRss>http://christopheducamp.com/ProjetBlog/2010/03/31/le-microblog-a-linterieur-du-pare-feu/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Emily Lewis : &#171; Parvenir au Sémantique avec les Microformats &#8211; 8ème partie : Modèle-de-Classe-Value &#187;</title>
		<link>http://christopheducamp.com/ProjetBlog/2009/12/21/emily_lewis-value-class-pattern/</link>
		<comments>http://christopheducamp.com/ProjetBlog/2009/12/21/emily_lewis-value-class-pattern/#comments</comments>
		<pubDate>Mon, 21 Dec 2009 18:14:41 +0000</pubDate>
		<dc:creator>xtof</dc:creator>
				<category><![CDATA[microformats]]></category>
		<category><![CDATA[ressources]]></category>
		<category><![CDATA[traduction]]></category>
		<category><![CDATA[abbr design pattern]]></category>
		<category><![CDATA[accessibilité]]></category>
		<category><![CDATA[accessibility]]></category>
		<category><![CDATA[datetime design pattern]]></category>
		<category><![CDATA[emilylewis]]></category>
		<category><![CDATA[hAccessibility]]></category>
		<category><![CDATA[hcalendar]]></category>
		<category><![CDATA[hcard]]></category>
		<category><![CDATA[screen readers]]></category>
		<category><![CDATA[semantics]]></category>
		<category><![CDATA[standards]]></category>
		<category><![CDATA[usability]]></category>
		<category><![CDATA[value excerption pattern]]></category>
		<category><![CDATA[value-class-pattern]]></category>
		<category><![CDATA[xhtml]]></category>

		<guid isPermaLink="false">http://christopheducamp.com/ProjetBlog/?p=324</guid>
		<description><![CDATA[Emily nous encourage dans le dernier billet de sa série à implémenter le &#171; modèle-de classe-value &#187;. Pour mémoire, le modèle-classe-value est un modèle de design microformats qui résout désormais les problématiques d&#8217;accessibilité et de localisation. J&#8217;ai inséré dans cette traduction un exemple de localisation d&#8217;une hCard avec domicile. La traduction reste ouverte à vos [...]]]></description>
			<content:encoded><![CDATA[<p></p><blockquote><p>Emily nous encourage dans le <a title="tous les billets d'Emily Lewis sur la série sémantique" href="http://christopheducamp.com/ProjetBlog/tag/emilylewis/">dernier billet de sa série</a> à implémenter le &laquo; modèle-de classe-value &raquo;. Pour mémoire, <a title="modèle de classe value" href="http://christopheducamp.com/ProjetBlog/2009/12/19/le-modele-de-classe-value/">le modèle-classe-value est un modèle de design microformats qui résout désormais les problématiques d&#8217;accessibilité et de localisation</a>.</p>
<p>J&#8217;ai inséré dans cette traduction un <a title="exemple hcard" href="http://christopheducamp.com/ProjetBlog/2009/12/21/emily_lewis-value-class-pattern/#hcard-domicile">exemple de localisation d&#8217;une hCard avec domicile</a>. La traduction reste ouverte à vos commentaires et corrections. Seul le lien original fait référence : <acronym title="Uniform Resource Locator">URL</acronym> raccourcie : <a rev="canonical" rel="alternate shorter" href="http://ablognotlimited.com/s/106">http://ablognotlimited.com/s/106</a>. Prochaine étape : implémentation sur ce site.</p></blockquote>
<div class="ins">
<p><strong>Mise à jour : <span class="value-title" title="2009-10-20">20 octobre 2009</span></strong></p>
<p><span class="vcard"><a href="http://tantek.com" title="tantek.com" class="fn url" rel="colleague met muse">Tantek &Ccedil;elik</a></span> <a href="http://www.ablognotlimited.com/articles/getting-semantic-with-microformats-part-8-value-class-pattern/#comment6">m&#8217;a demandé</a> que j&#8217;ajoute des exemples dans la ligne du marquage modèle-classe-value dans cet article, afin que les personnes qui travaillent sur des applications pour parser les usages de ce modèle puissent référencer cet article comme un exemple live.</p>
<p>Vous verrez ces exemples dans la ligne au-dessous, chacun d&#8217;eux étant indiqué sous une mise à jour.</p>
</div>
<p class="intro">Non, vos yeux ne vous lâchent pas. Voici une autre contribution de ma série <a href="http://microformateurs.org/2008/09/20/obtenir-de-la-semantique-avec-les-microformats-introduction/"><em>Parvenir Au Sémantique Avec Les Microformats</em></a> (avec un remerciement spécial à <span class="vcard"><a href="http://ben-ward.co.uk/" title="Le lien s'ouvre en dehors de ce site" class="fn url" rel="colleague muse friend met">Ben Ward</a></span> pour son assistance technique) !</p>
<p>Cela fait environ six mois depuis la <a href="http://christopheducamp.com/ProjetBlog/2009/12/20/parvenir-au-semantique-avec-les-microformats-7%C2%B0-partie/">7° partie</a>, aussi vous pouvez vous demander pourquoi j&#8217;ai attendu si longtemps. Bon, disons que j&#8217;ai <a title="emily écrit un livre" href="http://www.ablognotlimited.com/articles/so-im-writing-a-book/">été</a> <a title="la prochaine étape d'émily" href="http://www.ablognotlimited.com/articles/the-next-level/">occupée</a>.</p>
<p>Mais même mon infâme calendrier ne pouvait m&#8217;empêcher de poster ce dernier billet, qui vient à la suite de l&#8217;annonce que le <a href="http://christopheducamp.com/ProjetBlog/2009/12/19/le-modele-de-classe-value/" title="traduction du modèle de classe value">modèle-de-classe-value est officiel</a>. Commençons la célébration !</p>
<h4>Laissez-moi Rafraîchir votre Mémoire !</h4>
<p>A moins que vous ne soyez une geek microformats comme moi, vous ne savez probablement pas ce qu&#8217;est le <a href="http://microformats.org/wiki/value-class-pattern-fr" title="Microformats wiki">value-class-pattern</a> ou le &laquo;&nbsp;modèle de classe value&nbsp;&raquo;.</p>
<p>Si vous avez suivi cette série <em>et</em> s&#8217;il vous est arrivé de lire mon article <a href="http://www.ablognotlimited.com/articles/microformats-haccessibility-and-moving-forward/"><em>Microformats, hAccessibility &amp; Moving Forward</em></a>, vous en savez probablement plus que vous ne l&#8217;imaginez.</p>
<p>Mais ne me faites pas croire ça et vous restituer le contexte 411.</p>
<h5>hAccessibilité</h5>
<p><a href="http://www.webstandards.org/" title="webstandards.org">The Web Standards Project</a> avait remarqué un problème d&#8217;accessibilité dans les microformats (défini &quot;<a href="http://www.webstandards.org/2007/04/27/haccessibility/" title="Le lien s'ouvre en dehors de ce  site">hAccessiblity</a>&quot;) concernant le <a href="http://microformats.org/wiki/datetime-design-pattern-fr" title="Le lien s'ouvre en dehors de ce  site">datetime design pattern</a>.</p>
<p>Au coeur de ce problème, l&#8217;usage de <code>abbr</code> pour contenir une information de date lisible-par-les-humains, avec la valeur d&#8217;attribut <code>title</code> représentant la date lisible-par-les-machines <a href="http://microformats.org/wiki/iso-8601" title="Microformats wiki"><acronym title="International Standards Organization">ISO</acronym> 8601</a>. Cela ressemble à ça :</p>
<p class="code"><code>&lt;<strong>abbr</strong> class="dtstart" title="<strong>2009-05-18</strong>"&gt;<strong>18 mai 2009</strong>&lt;/abbr&gt;</code></p>
<p>Et quand c&#8217;est lui par un lecteur-écran, ce modèle de design fait que la date ISO 8601 se retrouve lue à l&#8217;utilisateur comme &quot;deux zéro zéro neuf tiret zéro cinq tiret un huit.&quot; Ce qui est pire est quand la valeur ISO 8601 fait plus qu&#8217;une date, mais inclut aussi l&#8217;horaire comme dans cet exemple : </p>
<p class="code"><code>&lt;<strong>abbr</strong> class="dtstart" title="<strong>2009-05-18T10:30:00</strong>"&gt;<strong>18 mai 2009 à 10h30</strong>&lt;/abbr&gt;</code></p>
<p>Ceci donne une sortie dans le lecteur-écran : &quot;deux zéro zéro neuf tiret zéro cinq tiret un huit T un zéro deux points trois zéro deux points zéro zéro.&quot;</p>
<p>La communauté pour l&#8217;accessibilité (à juste titre, <acronym title="In My Opinion">IMO</acronym>) soutenait que ce n&#8217;est pas accessible pour ces utilisateurs. Pendant ce temps, la communauté des microformats défendait que : </p>
<ul>
<li>les dates ISO 8601 sont en fait (sur toutes les cultures) lisibles par les humains;</li>
<li>La valeur sémantique d&#8217;offrir des valeurs développées via <code>abbr</code> surpasse la problématique du lecteur d&#8217;écran</li>
<li>Parce que la plupart des lecteurs d&#8217;écran n&#8217;ont pas développé de jeu.</li>
</ul>
<p>Et ce débat pesait depuis des années.</p>
<h5>Utilisabilité</h5>
<p>Mais il n&#8217;y avait pas que l&#8217;hAccessibiliy qui était une déchirement du côté des microformats. C&#8217;étaient aussi les problèmes d&#8217;utilisabilité concernant le &laquo;&nbsp;modèle-de-design-date-horaire&nbsp;&raquo;.</p>
<p>Une fois de plus, le problème était la date ISO 8601 sous la valeur <code>abbr</code> <code>title</code>. Cette fois, le problème n&#8217;était pas lié à l&#8217;activité du lecteur d&#8217;écran, mais au comportement normal du navigateur. Vous voyez, la plupart des navigateurs affichent les valeurs <code>abbr</code> <code>title</code> sous forme de bulle d&#8217;aide pour l&#8217;utilisateur :</p>
<p><img src="http://farm3.static.flickr.com/2767/4203008183_66710c42cb_m.jpg" class="frame" alt="capture d'écran d'une info-bulle d'aide Date Horaire" /></p>
<p>Seuls les plus geekies&ndash;des&ndash;geeks reconnaîtront probablement cette information. Pour tous les autres cela jette une (relativement petite) déchirure dans leur expérience de navigation. Et les parties lisible-par-les-machines des microformats sont <em>supposées</em> être invisibles pour l&#8217;utilisateur. Cet affichage de bulle d&#8217;aide n&#8217;est pas invisible et il peut être déroutant au quotidien pour les utilisateurs (non geeks).</p>
<h5>Internationalisation</h5>
<p>Une autre plainte souvent entendue sur les microformats est qu&#8217;ils ne sont pas &quot;internationalisés.&quot; Ce qui veut dire, que quelques-unes des valeurs demandées par les microformats ne font sens que pour ces types qui publient en Anglais-Américain.</p>
<p>Imaginons que les valeurs type acceptées pour telephone dans la <a href="http://microformats.org/wiki/hcard-fr" title="Le lien s'ouvre en dehors de ce site">hCard</a> : &quot;cell&quot; est la valeur requise à utiliser si vous indiquez un téléphone cellulaire. Les utilisateurs anglo-américains savent probablement ce qu&#8217;est un téléphone cellulaire, néanmoins, les lecteurs anglais et français appellent ces types de téléphones &quot;mobile.&quot;</p>
<p>A nouveau, des questions d&#8217;utilisabilité.</p>
<h4>Entrez dans le Modèle de Classe Value</h4>
<p>Pour résoudre ces problématiques, la communauté des microformats a travaillé de façon diligente pendant un moment pour parvenir à la solution.<br />
En fait, je me suis même <a href="http://www.ablognotlimited.com/articles/microformats-haccessibility-and-moving-forward/">essayé de publier et de tester à la main</a> ce qui s&#8217;appelait initialement le &laquo;&nbsp;pattern-value-excerption&nbsp;&raquo;.</p>
<p>Et tout ce dur travail a finalement payé avec le modèle-de-classe-value, qui offre aux auteurs <strong>plusieurs options</strong> pour marquer leurs contenus sans avoir à se préoccuper des problématiques d&#8217;utilisabilité, d&#8217;accessibilité et de localisation mentionnées plus haut.</p>
<h5>Information Date &amp; Heure</h5>
<p>Je viens de le dire, mais je le redirai : en utilisant le modèle-de-classe-value, les auteurs ont plusieurs options pour marquer l&#8217;information de date et d&#8217;horaire. Vous choisissez celle que vous aimez ; celle qui vous semble la plus pertinente pour votre contenu et vos préférences. J&#8217;en tremble rien qu&#8217;à y penser.</p>
<p>Tout d&#8217;abord, jetons un oeil à quelques-unes des options pour marquer l&#8217;information de date et d&#8217;horaire.</p>
<h6>Vous Pouvez Encore Utiliser <code>&lt;abbr&gt;</code></h6>
<p>Le modèle de classe value n&#8217;abolit pas l&#8217;utilisation du <a href="http://microformats.org/wiki/abbr-design-pattern-fr" title="Wiki Microformats : le lien s'ouvre en dehors de ce site">modèle-de-design-abbr</a> pour l&#8217;information date-horaire (<acronym title="Also Known As">AKA</acronym> datetime design pattern). Si vous êtes du côté du &quot;débat&quot; qui pense qu&#8217;utiliser <code>abbr</code> avec les valeurs ISO 8601 de date et heure en <code>title</code> fait un sens sémantique, allez-y.</p>
<p><em>Avant que le modèle de classe value</em> ne soit rentré dans la danse, voici comment vous pouviez marquer votre information date-heure pour <code>dstart</code> dans un <a href="http://microformats.org/wiki/hcalendar-fr" title="microformatswiki">hCalendar</a> :</p>
<p class="code"><code><strong>&lt;abbr class="dtstart" title="2009-06-06T18:30:00"&gt;</strong>6 juin 2009 à 18h30&lt;/abbr&gt;</code></p>
<p>Néanmoins, cette méthode est considérée comme dépréciée pour l&#8217;information date-heure. Les machines peuvent encore l&#8217;analyser, mais désormais avec le modèle-de-classe value, ce n&#8217;est plus la méthode recommandée.</p>
<p>Notez néanmoins que le modèle de design abbr en lui-même &mdash; pour les expansions de nom de pays, les coordonnées abrégées de latitude / longitude, <abbr title="Etcoetera">etc</abbr>. &mdash; est encore <strong>complètement valide</strong>. Ce n&#8217;est que pour l&#8217;information date-horaire que les choses changent <em>légèrement</em>.</p>
<p>Quels sont ces changements légers ?</p>
<p class="code"><code><strong>&lt;p class="dtstart"&gt;</strong><strong>&lt;abbr class="value" title="2009-06-06T18:30:00"&gt;</strong>6 juin 2009 à 18h30&lt;/abbr&gt;&lt;/p&gt;</code></p>
<p>Remarquez que la sous-propriété <code>dtstart</code> est assignée au <code>p</code> contenant (qui peut être <em>n&#8217;importe quel</em> élément), alors que l&#8217;<code>abbr</code> est maintenant assignée au <code>class="value"</code>. La valeur <code>title</code> ISO 8601 demeure la même.</p>
<p>Gardez à l&#8217;esprit cependant que cet exemple génère encore des problématiques d&#8217;accessibilité et d&#8217;utilisabilité derrière hAccessibility. Mais ce peut être la méthode préférée de quelques auteurs. La beauté du modèle de classe value est que vous pouvez <em>choisir la méthode qui fonctionne le mieux pour vous</em>.</p>
<div class="ins vevent">
<p><strong>Mise à jour : <span class="value-title" title="2009-10-20">20 octobre 2009</span></strong></p>
<p>Exemple dans la ligne du modèle de classe value ci-dessus, utilisant <code>&lt;abbr&gt;</code></p>
<p class="summary">Test Evénement 1</p>
<p class="dtstart"><abbr class="value" title="2009-06-06T:18:30:30">6 juin 2009 à 18h30</abbr></p>
</div>
<h6>Laissez Tomber le Modèle de Design Abbr</h6>
<p>Si vous êtes soucieux des problématiques de lecteur d&#8217;écran et d&#8217;utilisabilité concernant le modèle de design abbr pour votre information de date-heure, le modèle de classe value est pour vous aussi, grâce au <a href="http://microformats.org/wiki/value-class-pattern-fr#Parser_une_valeur_provenant_d.27un_attribut_title" title="Le lien s'ouvre en dehors de ce site">sous-ensemble value-title</a></p>
<p>Ainsi, au lieu d&#8217;utiliser <code>abbr</code> pour contenir le contenu lisible-par-les-humains avec la donnée machine dans l&#8217;attribut <code>title</code>, vous pouvez utiliser un élément <code>span</code> nommé <code>class=&quot;value-title&quot;</code> et un attribut <code>title</code> contenant la date ISO 8601. Les machines reconnaissent alors que la valeur de la donnée pour cet élément (celle nommée <code>class="value-title"</code>) devrait être extraite à partir du <code>title</code>, et non pas du texte à l&#8217;intérieur.</p>
<p class="code"><code>&lt;p class="dtstart"&gt;<strong>&lt;span class="value-title" title="2009-05-18T13:00:00"&gt;</strong>18 mai 2009 à 13h00&lt;/span&gt;&lt;/p&gt;</code></p>
<p>Ceci réalise l&#8217;objectif des microformats pour des données humaines <em>et</em> machine, tout en <del>ne provoquant pas l&#8217;affichage des infobulles dans le navigateur</del> n&#8217;alertant pas les lecteurs d&#8217;écran de lire l&#8217;information machine sur la date. <ins>La plupart des navigateurs, néanmoins, afficheront encore la valeur en infobulle, l&#8217;exception étant Safari 3.0.3 sur Windows XP.</ins></p>
<div class="ins vevent">
<p><strong>Mise à jour : 20 octobre 2009</strong></p>
<p>Exemple dans la ligne du modèle de classe-value ci-dessus, en utilisant <code>&lt;span&gt;</code></p>
<p class="summary">Test Evénement 2</p>
<p class="dtstart"><span class="value-title" title="2009-05-18T13:00:00">18 mai 2009 à 13h00</span></p>
</div>
<h6 id="ex3">Séparer la Date &amp; l&#8217;Heure</h6>
<p>Pour démontrer plus en profondeur le niveau de flexibilité du modèle de classe value, vous pouvez aussi l&#8217;utiliser pour spécifier <em>séparément</em> la date et l&#8217;heure.</p>
<p class="code"><code>&lt;p class="dtstart"&gt;<strong>&lt;span class="value-title" title="2009-05-18"&gt;18 mai 2009&lt;/span&gt;</strong> à <strong>&lt;span class="value-title" title="13:00:00"&gt;1 heure de l'après-midi&lt;/span&gt;</strong>&lt;/p&gt;.</code></p>
<p>A nouveau, dans cet exemple, j&#8217;ai laissé tombé l&#8217;usage du <code>abbr</code> et utilise l&#8217;approche <code>span class="value-title"</code>. Mais cette fois, remarquez que j&#8217;ai spécifié séparément la date et l&#8217;horaire dans leurs propres éléments <code>span class="value-title"</code> (chacun avec l&#8217;information ISO 8601 appropriée dans le <code>title</code>). Les machines peuvent alors combiner les données séparées de date et d&#8217;heure à l&#8217;intérieur d&#8217;une valeur unique date-heure.</p>
<div class="vevent ins">
<p><strong>Mise à jour : 20 octobre 2009</strong></p>
<p>Exemple dans la ligne du modèle de classe value, spécifiant séparément la date et l&#8217;heure en utilisant <code>&lt;span&gt;</code></p>
<p class="summary">Test Evénement 3</p>
<p class="dtstart"><span class="value-title" title="2009-05-18">18 mai 2009</span> à <span class="value-title" title="13:00:00">13h00</span></p>
</div>
<p>Et cette séparation de la date et de l&#8217;horaire peut être utilisée avec le modèle de design abbr. En fait, quelques types croient que cela aide à résoudre les problème d&#8217;utilisabilité avec les infobulles de date et d&#8217;heure. Spécifiquement, les infobulles <em>individuelles</em> résultantes pour la date et l&#8217;heure sont plus &quot;utilisables&quot; qu&#8217;une infobulle affichant la chaîne complète date-horaire :</p>
<p><img src="http://farm3.static.flickr.com/2430/4203141271_6e61889a1e_o.jpg" class="frame" alt="capture écran infobulle Date" style="border:1px solid brown;" /></p>
<p><img src="http://farm3.static.flickr.com/2643/4203136205_4f305d8efb_o.jpg" class="frame" alt="capture écran infobulle Horaire" style="border:1px solid brown; padding-left:1em"/></p>
<p>Pour ces types, cette implémentation du modèle de classe value appliquée au modèle de design abbr est idéale : </p>
<p class="code"><code>&lt;p class="dtstart"&gt;<strong>&lt;abbr class="value" title="2009-06-06"&gt;6 juin 2009&lt;/abbr&gt;</strong> à <strong>&lt;abbr class="value" title="18:30:00"&gt;18h30pm&lt;/abbr&gt;</strong>&lt;/p&gt;</code></p>
<p>Vous pouvez simplement définir séparément les valeurs de date et d&#8217;heure, chacune avec ses propres <code>abbr class="value"</code> et les valeurs <code>title</code> ISO 8601 appropriées.</p>
<div class="vevent ins">
<p><strong>Mise à jour : 20 octobre 2009</strong></p>
<p>Exemple dans la ligne du modèle de classe value, spécifiant séparément la date et l&#8217;heure en utilisant <code>&lt;abbr&gt;</code></p>
<p class="summary">Test Evénement 4</p>
<p class="dtstart"><abbr class="value" title="2009-06-06">6 juin 2009</abbr> à <abbr class="value" title="18:30:00">18h30</abbr></p>
</div>
<p>Remarquez que je n&#8217;utilise <strong>pas</strong> le sous-ensemble value-title dans cet exemple. C&#8217;est parce qu&#8217;il ne <strong>devrait pas être utilisé avec le modèle de design abbr</strong>.</p>
<p>Au moment d&#8217;utiliser le modèle de classe value avec le modèle de design abbr, il est seulement nécessaire d&#8217;assigner <code>class="value"</code> à l&#8217;élément <code>abbr</code>. Les machines savent déjà comment extraire les date et heure ISO 8601 à partir de l&#8217;attribut <code>abbr</code> <code>title</code>, ainsi <code>class="value-title"</code> n&#8217;est pas nécessaire et invalide.</p>
<h6>Sous-Ensemble Value-Title Avec <code>&lt;span&gt;</code>s Vides</h6>
<p>Et il y a même encore une autre option à cette heure ; une qui élimine à la fois les infobulles et les expansions de lecteur d&#8217;écran.</p>
<p>Vous pouvez aussi utiliser l&#8217;approche <code>class="value-title"</code> avec un <code>span</code> <strong>vide</strong> &hellip; bon en fait pas vraiment vide. <strong>Un <code>span</code> contenant un seul espace blanc</strong> :</p>
<p class="code"><code>&lt;p class="dtstart"&gt;<strong>&lt;span class="value-title" title="2009-05-18T13:00:00"&gt;&nbsp;&lt;/span&gt;</strong>18 mai 2009 à 13h00&lt;/p&gt;</code></p>
<div class="vevent ins">
<p><strong>Mise à jour : 20 octobre 2009</strong></p>
<p>Exemple dans la ligne du modèle de classe value utilisant le sous-ensemble value-title avec un <code>&lt;span&gt;</code> vide</p>
<p class="summary">Test Evénement 5</p>
<p class="dtstart"><span class="value-title" title="2009-05-18T13:00:00"> </span>18 mai 2009 à 13:00</p>
</div>
<p>Le résultat final est le même : les utilisateurs reçoivent une information compréhensible de date et d&#8217;horaire sur le navigateur et les machines reçoivent la date en ISO 8601. Et une fois de plus, pas de problèmes pour les lecteurs d&#8217;écran. Mais cette fois-ci, vous éliminez aussi les infobulles déroutantes.</p>
<p>Il y a quelques règles pour cette implémentation particulière, la première est d&#8217;utiliser cette approche &quot;title-value vide&quot; de façon restreinte. Ne l&#8217;utiliser que quand vous ne pouvez pas utiliser les autres modèles de design. Et quand vous l&#8217;utilisez :</p>
<ul>
<li>L&#8217;élément vide value-title devrait immédiatement suivre l&#8217;élément parent, apparaissant avant le contenu lisible-par-les-humains et sans imbrication supplémentaire.</li>
<li>L&#8217;élément vide value-title ne devrait être utilisé qu&#8217;une fois seulement au moment de définir la valeur de la donnée pour une propriété unique. Aussi il ne devrait pas être utilisé au moment de séparer la date et l&#8217;heure dans &#8211; par exemple &#8211; la valeur  <code>dtstart</code> de hCalendar.</li>
<li>L&#8217;implémentation value-title vide ne devrait seulement (au moins à cette heure) s&#8217;appliquer qu&#8217;à :
<ul>
<li>Des valeurs de date ISO 8601, dateheure, timezone et durée</li>
<li>Des valeurs énumérées comme les sous propriétés de hCard <code>tel</code>, <code>email</code> <code>adr</code></li>
<li>Les coordonnées pour les latitude et longitude dans le microformat <a href="http://microformats.org/wiki/geo-fr" title="Le lien s'ouvre en dehors de ce site">geo</a></li>
<li>Les propriétés du numéro de téléphone</li>
</ul>
</li>
</ul>
<h6>Pas Juste pour hCalendar</h6>
<p>Les exemples que j&#8217;ai couverts à cette heure se concentrent sur l&#8217;information de date et d&#8217;heure qui apparaîtrait dans hCalendar. Mais vous pouvez appliquer le modèle de classe value à n&#8217;importe quel microformat qui références de l&#8217;information de date et d&#8217;heure. Par exmple, les anniversaires dans la hCard :</p>
<p class="code"><code>&lt;p <strong>class="bday"</strong>&gt;Mon anniversaire est le <strong>&lt;span class="value-title" title="1974-09-04"&gt;4 septembre&lt;/span&gt;</strong>.&lt;/p&gt;</code></p>
<div class="vcard ins">
<p><strong>Mise à jour : 20 octobre 2009</strong></p>
<p>Exemple dans la ligne du modèle de classe value au-dessus appliqué à <code>bday</code> dans la hCard</p>
<p class="fn">Personne Un</p>
<p class="bday">Mon anniversaire est le <span class="value-title" title="1974-09-04">4 septembre</span>.</p>
</div>
<p>Ou pour publier des dates dans <a href="http://microformats.org/wiki/hatom-fr" title="Le Lien s'ouvre en dehors de ce site">hAtom</a> :</p>
<p class="code"><code>&lt;p <strong>class="published"</strong>&gt;<strong>&lt;span class="value-title" title="2009-06-03"&gt;2 juin 2009&lt;/span&gt;</strong>&lt;/p&gt;</code></p>
<div class="hentry ins">
<p><strong>Mise à jour : 20 octobre 2009</strong></p>
<p>Exemple dans la ligne du modèle de classe value au-dessus appliqué à <code>published</code> dans hAtom</p>
<p><span class="entry-title">Test Post</span> par <span class="author">Auteur Test</span></p>
<p class="published updated"><span class="value-title" title="2009-06-03">3 juin 2009</span></p>
</div>
<h5>Localiser Tout en Internationalisant</h5>
<p>A ce stade, je n&#8217;ai fait que parler du modèle de classe value en relation avec les informations de date et d&#8217;heure. Mais vous souvenez-vous de ma précédente discussion sur les problématiques d&#8217;internationalisation ? Bon, jetons un oeil sur la manière dont le modèle de classe value peut aider.</p>
<h6 id="telephone-type">Les <code>type</code>s de Téléphone</h6>
<p>Dans ma précédente référence, je mentionne spécifiquement les types de telephone dans la hCard. La seule valeur valide <code>type</code> pour spécifier un téléphone portable est &quot;cell,&quot; mais tout le monde n&#8217;appelle pas ainsi ces types de téléphone.</p>
<p>Vous pouvez utiliser le modèle de classe value pour afficher la valeur locale que comprendront vos utilisateurs, et indiquer la valeur de microformat requise via <code>span class="value-title"</code> et l&#8217;attribut <code>title</code> :</p>
<p class="code"><code>&lt;p class="tel"&gt;&lt;span class="type"&gt;<strong>&lt;span class="value-title" title="cell"&gt;mobile&lt;/span&gt;</strong>&lt;/span&gt;: &lt;span class="value"&gt;505-123-4567&lt;/span&gt;&lt;/p&gt;</code></p>
<p>Dans cet exemple, du fait que j&#8217;utilise le sous-ensemble value-title, les machines sauront extraire la valeur de donnée <code>type</code> (cell) provenant de mon attribut <code>title</code>, plutôt que le texte à l&#8217;intérieur (mobile).</p>
<div class="vcard ins">
<p><strong>Mise à jour : 20 octobre 2009</strong></p>
<p>Exemple dans la ligne du modèle de classe value au-dessus appliqué au <code>type</code> <code>tel</code> dans la hCard</p>
<p class="fn">Personne Deux</p>
<p class="tel"><span class="type"><span class="value-title" title="cell">mobile</span></span> : <span class="value">505-123-4567</span></p>
</div>
<h6>Numéros de Téléphone Localisés</h6>
<p>Un autre exemple (que j&#8217;ai volé sur le <a href="http://microformats.org/wiki/Main_Page-fr" title="Le lien s'ouvre en dehors de ce site">Microformats Wiki</a>, parce que je m&#8217;y connais pas assez en numéros internationaux) est pour les numéros de téléphone localisés. Dans ce cas, un numéro français :</p>
<p class="code"><code>&lt;p class="tel"&gt;&lt;span class="type"&gt;Home&lt;/span&gt;: <strong>&lt;span class="value"&gt;+33&lt;/span&gt;</strong> (0) <strong>&lt;span class="value"&gt;603 960 492&lt;/span&gt;</strong>&lt;/p&gt;</code></p>
<p>La logique derrière cette implémentation est que la donnée valide pour le numéro de téléphone est +33603960492. Mais les français sont familiers avec l&#8217;inclusion du (0) pour une numérotation locale. A cette heure +330603960492 est un numéro invalide.</p>
<p>Aussi, pour donner aux utilisateurs français locaux l&#8217;information la plus utilisable et fournir à nouveau une donnée machine valide pour le numéro, vous appliquez le modèle de classe value. Dans cet exemple, le préfixe +33 est contenu par le <code>span class="value"</code> comme l&#8217;est le numéro 603 960 492. Néanmoins le (0) n&#8217;est pas contenu par quoi que ce soit. Ainsi les machines concatènent les deux textes à l&#8217;intérieur de <code>span class="value"</code> pour former la donnée valide et complète.</p>
<div class="vcard ins">
<p><strong>Mise à jour : 20 octobre 2009</strong></p>
<p>Exemple dans la ligne du modèle de classe value au-dessus appliqué aux <code>value</code>s <code>tel</code> séparées dans la hCard</p>
<p class="fn">Personne Trois</p>
<p class="tel"><span class="type">Home</span> : <span class="value">+33</span>(0)<span class="value">603 960 492</span></p>
</div>
<div id="hcard-domicile" class="ins">
<p><strong>Mise à jour : <span class="value-title" title="2009-12-21">21 décembre 2009</span></strong></p>
<p><abbr class="Note du Traducteur">NDT</abbr> : En d&#8217;autres langues pour traduire &laquo;&nbsp;Home&nbsp;&raquo; en &laquo;&nbsp;Domicile&nbsp;&raquo; :</p>
<p class="code"><code>&lt;p class="tel"&gt;<br /><strong>&lt;span class="type"&gt;&lt;span class="value-title" title="Home"&gt;Domicile&lt;/span&gt;&lt;/span&gt;</strong> :<br />&lt;span class="value"&gt;+33&lt;/span&gt;(0)&lt;span class="value"&gt;603 960 492&lt;/span&gt;<br />&lt;/p&gt;</code></p>
<div class="vcard">
<p>Exemple dans la ligne du modèle de classe value au-dessus appliqué aux <code>value</code>s <code>tel</code> séparées dans la hCard</p>
<p class="fn">Personne Quatre</p>
<p class="tel"><span class="type"><span class="value-title" title="Home">Domicile</span></span> : <span class="value">+33</span>(0)<span class="value">603 960 492</span></p>
</div>
</div>
<p>Et il existe encore bien plus d&#8217;usages du modèle de classe value. Mais ce billet de blog est déjà plus long que prévu (je ne sais pas pourquoi cela me surprend encore, compte tenu de ma passion pour la verbosité) et j&#8217;ai bien d&#8217;autres choses à faire &hellip; aussi je vous laisse explorer ça plus en profondeur.</p>
<h4>Pick your Poison&#8230; (NDT : Vous avez l&#8217;embarras du choix)</h4>
<p>Pas pour suggérer que les microformats sont du poison (en fait ils ne sont que plein de bonnes choses délicieuses), mais j&#8217;avais envie de balancer un titre de piètre qualité.</p>
<p>Le point demeure, vous choisissez quelle implémentation de modèle de classe value marchera pour vous. Vous n&#8217;êtes pas marié à une méthode de marquage de votre contenu avec ce modèle.</p>
<p>Comme pour mes propres préférences, je ne fais pas partie de ces types intéressés pour continuer à utiliser le modèle de design abbr pour les dates et les heures. Ne me faites pas dire ce que je n&#8217;ai pas dit. Je pense vraiment que <code>abbr</code> fait sens sémantiquement parlant pour contenir l&#8217;information de date et s&#8217;épancher avec ISO 8601 via le <code>title</code>.</p>
<p>Mais parce que j&#8217;aime tant la sémantique, je ne suis pas une vraie puriste. Je pense que la valeur non sémantique <code>span class="value-title"</code> offre pour l&#8217;accessibilité et l&#8217;utilisabilité bien plus de poids et l&#8217;emporte sur ma compulsion à être sémantique.</p>
<p>Néanmoins, je ne suis pas trop enthousiaste sur l&#8217;usage de l&#8217;approche value-title vide. Aussi je ne prévois pas de trop l&#8217;utiliser. Pour la majorité de mes propres implémentations utilisant les dates et les heures, je me vois bien faire contenir mon contenu avec  <code>span class="value-title"</code> et de spécifier la donnée machine dans l&#8217;attribut <code>title</code>.</p>
<p>Il y aura probablement des exceptions à cela, mais c&#8217;est ce que j&#8217;aime dans le modèle de classe value. Il est flexible pour les besoins des auteurs de contenus.</p>
<h4>Mettez à Jour Vos Implémentations</h4>
<p>Même si j&#8217;ai trouvé le temps pour tomber cet article, je n&#8217;ai pas à cette heure encore trouvé le temps de mettre à jour mes implémentations de microformats existants. Mais je le veux &hellip; oh, oui je le veux. Et j&#8217;espère que vous le ferez, vous aussi.</p>
<p>A cette heure, les développeurs sont en train de travailler leurs outils pour reconnaître proprement le nouveau modèle de classe value. <a title="Optimus" href="http://microformatique.com/optimus">Optimus</a> mène la danse avec sa mise à jour v0.8 qui supporte le modèle de classe value.</p>
<p>Aussi, assurez-vous de prendre votre part et de mettre à jour votre marquage.</p>
<h4>Encore d&#8217;Autres à Venir ?</h4>
<p>Aucune promesse sur ce point de futurs billets pour cette série. J&#8217;aimerais couvrir quelques autres microformats, mais avec mes obligations de livre, je doute fortement que j&#8217;aurai le temps &hellip; au moins pas jusqu&#8217;à ce mon manuscrit final soit bouclé en Août.</p>
<p>Mais si vous plongez pour en savoir plus, pourquoi ne pas revisiter quelques-uns de mes précédents articles couvrant :</p>
<ul>
<li><a href="http://christopheducamp.com/ProjetBlog/2008/09/20/obtenir-de-la-semantique-avec-les-microformats-1%C2%B0-partie-rel/">rel-home, rel-license, rel-me &amp; rel-tag</a></li>
<li><a href="http://christopheducamp.com/ProjetBlog/2008/09/21/emily-lewis-parvenir-a-la-semantique-avec-les-microformats-2eme-partie-xfn/"><acronym title="XHTML Friends Network">XFN</acronym></a></li>
<li><a href="http://christopheducamp.com/ProjetBlog/2008/10/18/emily-lewis-parvenir-a-la-semantique-avec-les-microformats-3eme-partie-hcard/">hCard</a></li>
<li><a href="http://christopheducamp.com/ProjetBlog/2008/10/18/emily-lewis-parvenir-a-la-semantique-avec-les-microformats-4eme-partie-hcalendar/">hCalendar</a></li>
<li><a href="http://christopheducamp.com/ProjetBlog/2009/10/04/je-veux-un-blog-hatomique/">hAtom</a></li>
<li><a href="http://christopheducamp.com/ProjetBlog/2009/11/14/emily-lewis-parvenir-au-semantique-avec-les-microformats-hresume-partie-6/">hResume</a></li>
<li><a href="http://christopheducamp.com/ProjetBlog/2009/12/20/parvenir-au-semantique-avec-les-microformats-7%C2%B0-partie/">Thèmes &amp; Problématiques</a></li>
</ul>
<p>J&#8217;ai aussi donné récemment <a href="http://www.ablognotlimited.com/articles/introduction-to-microformats-recap/">une rapide présentation des microformats</a> qui pourrait vous intéresser (ou non).</p>
<p>Aussi, jusqu&#8217;à la prochaine fois &hellip; et oui, il y aura une prochaine étape en rapport avec les microformats même si elle ne fera pas partie de cette série.</p>
<div id="socialMedia">
<h3><span>&#9829;</span> Share the Love</h3>
<ul class="plain inline">
<li><a href="http://delicious.com/save?url=http://christopheducamp.com/ProjetBlog/2009/12/21/emily_lewis-value-class-pattern/&amp;title=Emily Lewis : &laquo;Parvenir au Sémantique avec les Microformats - 8ème partie : Modèle de Classe Value">Delicious</a></li>
<li><span>&#9829;</span>&nbsp;&nbsp;<a href="http://digg.com/submit?phase=2&amp;url=http://christopheducamp.com/ProjetBlog/2009/12/21/emily_lewis-value-class-pattern/&amp;title=Emily&nbsp;Lewis&nbsp;:&nbsp;&laquo;Parvenir&nbsp;au&nbsp;Sémantique&nbsp;avec&nbsp;les&nbsp;Microformats&nbsp;-&nbsp;8ème&nbsp;partie&nbsp;:&nbsp;Modèle&nbsp;de&nbsp;Classe&nbsp;Value">Digg</a></li>
<li><span>&#9829;</span>&nbsp;&nbsp;<a href="http://ma.gnolia.com/bookmarks/add?url=http://christopheducamp.com/ProjetBlog/2009/12/21/emily_lewis-value-class-pattern/&amp;title=Emily&nbsp;Lewis&nbsp;:&nbsp;&laquo;Parvenir&nbsp;au&nbsp;Sémantique&nbsp;avec&nbsp;les&nbsp;Microformats&nbsp;-&nbsp;8ème&nbsp;partie&nbsp;:&nbsp;Modèle&nbsp;de&nbsp;Classe&nbsp;Value">Ma.gnolia</a></li>
<li><span>&#9829;</span>&nbsp;&nbsp;<a href="http://scriptandstyle.com/submit?title=Emily&nbsp;Lewis&nbsp;:&nbsp;&laquo;Parvenir&nbsp;au&nbsp;Sémantique&nbsp;avec&nbsp;les&nbsp;Microformats&nbsp;-&nbsp;8ème&nbsp;partie&nbsp;:&nbsp;Modèle&nbsp;de&nbsp;Classe&nbsp;Value&amp;url=http://christopheducamp.com/ProjetBlog/2009/12/21/emily_lewis-value-class-pattern/">Script &amp; Style</a></li>
<li><span>&#9829;</span>&nbsp;&nbsp;<a href="http://www.stumbleupon.com/submit?url=http://christopheducamp.com/ProjetBlog/2009/12/21/emily_lewis-value-class-pattern/&amp;title=Emily&nbsp;Lewis&nbsp;:&nbsp;&laquo;Parvenir&nbsp;au&nbsp;Sémantique&nbsp;avec&nbsp;les&nbsp;Microformats&nbsp;-&nbsp;8ème&nbsp;partie&nbsp;:&nbsp;Modèle&nbsp;de&nbsp;Classe&nbsp;Value">StumbleUpon</a></li>
<li><span>&#9829;</span>&nbsp;&nbsp;<a href="http://www.designfloat.com/submit.php?url=http://christopheducamp.com/ProjetBlog/2009/12/21/emily_lewis-value-class-pattern/&amp;title=Emily&nbsp;Lewis&nbsp;:&nbsp;&laquo;Parvenir&nbsp;au&nbsp;Sémantique&nbsp;avec&nbsp;les&nbsp;Microformats&nbsp;-&nbsp;8ème&nbsp;partie&nbsp;:&nbsp;Modèle&nbsp;de&nbsp;Classe&nbsp;Value">Design Float</a></li>
<li><span>&#9829;</span>&nbsp;&nbsp;<a href="http://reddit.com/submit?url=http://christopheducamp.com/ProjetBlog/2009/12/21/emily_lewis-value-class-pattern/&amp;title=Emily&nbsp;Lewis&nbsp;:&nbsp;&laquo;Parvenir&nbsp;au&nbsp;Sémantique&nbsp;avec&nbsp;les&nbsp;Microformats&nbsp;-&nbsp;8ème&nbsp;partie&nbsp;:&nbsp;Modèle&nbsp;de&nbsp;Classe&nbsp;Value">Reddit</a></li>
</ul>
</div>
]]></content:encoded>
			<wfw:commentRss>http://christopheducamp.com/ProjetBlog/2009/12/21/emily_lewis-value-class-pattern/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Le modèle-de-classe-value</title>
		<link>http://christopheducamp.com/ProjetBlog/2009/12/19/le-modele-de-classe-value/</link>
		<comments>http://christopheducamp.com/ProjetBlog/2009/12/19/le-modele-de-classe-value/#comments</comments>
		<pubDate>Sat, 19 Dec 2009 14:11:19 +0000</pubDate>
		<dc:creator>xtof</dc:creator>
				<category><![CDATA[hcard]]></category>
		<category><![CDATA[implémentation]]></category>
		<category><![CDATA[microformats.org]]></category>
		<category><![CDATA[ressources]]></category>
		<category><![CDATA[traduction]]></category>
		<category><![CDATA[microformats]]></category>
		<category><![CDATA[value-class-pattern]]></category>

		<guid isPermaLink="false">http://christopheducamp.com/ProjetBlog/?p=228</guid>
		<description><![CDATA[Traduction en cours d'un billet de Tantek publié en mai dernier sur le site microformats.org : Le modèle-de-classe-value résout deux des trois défis les plus importants que les microformats ont rencontré durant toute leur histoire : l'accessibilité et la localisation.]]></description>
			<content:encoded><![CDATA[<p></p><p>Le modèle-de-classe-value résout deux des trois défis les plus importants que les microformats ont rencontrés durant toute leur histoire : l&#8217;accessibilité et la localisation.</p>
<p>Après de nombreux mois d&#8217;itérations sur le sujet (recherches, brainstorming, test et documentation) menées par Ben Ward, la version du <a rel="tag" href="http://microformats.org/wiki/value-class-pattern-fr">modèle-de-classe-value</a> est prêt à l&#8217;utilisation et au support.</p>
<h4>Publication et implémentation</h4>
<p>Plusieurs auteurs ont déjà <a href="http://microformats.org/wiki/value-class-pattern-fr#Exemples_dans_la_jungle">commencé à utiliser le modèle de classe value</a>, y compris <a title="le blog microformats.org" href="http://microformats.org">ce blog</a>, et quelques implémentations ont déjà commencé à le supporter.</p>
<p>Tous ceux qui publient du contenu marqué avec des microformats ou développent des <a href="http://microformats.org/wiki/implementations-fr">implémentations microformats</a> telles que des parseurs et outils de publication devraient étudier attentivement à supporter le &laquo;&nbsp;modèle-de-classe-value&nbsp;&raquo; dans le contenu qu&#8217;ils publient et sur les outils qu&#8217;ils implémentent. Tout particulièrement : </p>
<ul>
<li>Si votre <strong>implémentation parse</strong> <a rel="tag" href="http://microformats.org/wiki/hcalendar-fr">hCalendar</a>, <a rel="tag" href="http://microformats.org/wiki/hreview-fr">hReview</a>, or <a rel="tag" href="http://microformats.org/wiki/hatom-fr">hAtom</a>, implémentez SVP le modèle de classe value dans votre parseur, testez-le avec des exemples donnés à la fois dans la spécification et la liste croissante des <a href="http://microformats.org/wiki/value-class-pattern-fr#Exemples_dans_la_jungle">exemples de modèle-de-classe-value dans la jungle</a>, et ajoutez-les à la liste des <a href="http://microformats.org/wiki/value-class-pattern-fr#Implémentations">implémentations modèle-de-classe-value</a>.</li>
<li>Si votre <strong>site publie</strong> hCalendar, hReview, ou hAtom, utilisez svp le modèle-classe-value pour vos dates et horaires, et ajoutez votre site à la liste croissante des exemples de modèle-classe-value dans la jungle.</li>
<li>Si votre <strong>implémentation génère</strong> hCalendar, hReview, ou hAtom, générez SVP vos dates et horaires marqués avec le modèle-classe-value, et ajoutez votre implémentation à la liste des implémentations modèle-classe-value.</li>
</ul>
<p>A chaque fois que vous rencontrez un problème ou que vous avez quelque feedback concernant le modèle-classe-value, ajoutez-les respectivement sur les pages <a href="http://microformats.org/wiki/value-class-pattern-issues">value-class-pattern-issues</a> et <a href="http://microformats.org/wiki/value-class-pattern-feedback">value-class-pattern-feedback</a>.</p>
<h4>Résolutions majeures et révisions mineures</h4>
<p>Le modèle de classe-value a adressé la majorité des problèmes d&#8217;accessibilité et de publication sur plusieurs microformats, tout particulièrement pour les usages typiques des dates et horaires. Néanmoins, il demeure encore quelques questions ouvertes sur des microformats spécifiques pour lesquelles nous continuons encore à explorer des solutions  (plus sémantiques, plus accessibles), tout particulièrement le microformat <a rel="tag" href="http://microformats.org/wiki/geo-fr">geo</a> (et la propriété de <a rel="tag" href="http://microformats.org/wiki/hcard-fr">hCard</a>) quand elle est spécifiée comme un unique hyperlien ou une abbréviation, et la propriété <code>dtend</code> de   hCalendar quand elle spécifie une date complète (plutôt qu&#8217;un date-horaire spécifique).</p>
<p>Avec le modèle-classe-value fournissant des solutions à deux des tois plus gros défis des microformats (le dernier des trois sera adressé dans son propre billet de blog), et les résolutions aux questions restantes substantielles (telles que mentionnées au-dessus) sur hCard, hCalendar, hReview, et hAtom, nous travaillerons sur les révisions  1.0.1 qui : </p>
<ul>
<li>incorporeront les problématiques substantielles résolues à cette heure</li>
<li>exigeront le support du modèle-classe-value</li>
<li>sont publiées pour une compréhension et une utilisabilité plus larges.</li>
</ul>
<p>Les auteurs de tous les microformats <a href="http://microformats.org/wiki/Main_Page-fr#Drafts">drafts</a>, en <a href="http://microformats.org/wiki/exploratory-discussions">développement et microformats composés à venir</a> devraient aussi exiger le support du modèle-classe-value afin d&#8217;encourager une meilleure accessibilité dans le contenu qui est marqué avec des microformats.</p>
<h4>Remerciements</h4>
<p>Merci à tous ceux dans les communautés les plus larges sur l&#8217;accessibilité et l&#8217;internationalisation, qui ont maintenu l&#8217;effort avec leurs critiques constructives, leurs suggestions , leurs tests de cas, leurs documentations de résultats de tests et pour la participation générale. Vos efforts ont contribué à des améliorations majeures dans les microformats, et nous nous n&#8217;aurions pas pu faire ça sans vous et votre expertise. Tout particulièrement : </p>
<ul>
<li>L&#8217;article original du <span class="vcard"><span class="fn org">Web Standards Project</span></span> <a href="http://www.webstandards.org/2007/04/27/haccessibility/">hAccessibility</a> de <span class="vcard"><span class="fn">Bruce Lawson</span></span> et <span class="vcard"><span class="fn">James Craig</span></span> qui a fourni à la fois une documentation détaillée des problèmes concrets du vrai monde qui ont été expérimentés du fait d&#8217;utilisation de l&#8217;élément <code>abbr</code> avec les microformats, tout comme plusieurs idées d&#8217;alternatives à explorer. Bon nombre de ces idées ont constitué la base sur laquelle la communauté des microformats a passé plusieurs mois à investiguer en profondeur, à itérer, à faire évoluer, parfois diminuer et raffiner dans ce que nous avons produit pour le modèle de classe-value (value-title en particulier).</li>
<li>Tous ceux qui ont contribué aux documentations de modèles, questions, brainstorms, opinions concernant <a href="http://microformats.org/wiki/abbr-design-pattern-fr">l&#8217;élément <code>abbr</code></a>, les <a href="http://microformats.org/wiki/date-design-pattern-fr">dates</a>, les <a href="http://microformats.org/wiki/datetime-design-pattern-fr">datetimes</a>, l&#8217;<a rel="tag" href="http://microformats.org/wiki/accessibility-fr">accessibilité</a>, les <a href="http://microformats.org/wiki/assistive-technology">technologies d&#8217;assistance</a>, les <a rel="tag" href="http://microformats.org/wiki/internationalization-fr">internationalisation/localisation</a>, etc. sur le <a href="http://microformats.org/wiki/Main_Page-fr">wiki microformats</a>.  Tous ces ajouts à notre corps de connaissance nous ont aidé à raffiner le modèle-classe-value que vous voyez aujourd&#8217;hui.</li>
<li>Je veux remercier tout particulièrement James Craig pour les nombreuses heures passées à tester intensivement et à <a href="http://microformats.org/wiki/abbr-design-pattern-alternatives">la documentation de plusieurs alternatives avec des lecteurs-écrans</a>.</li>
<li>Personnellement, j&#8217;ai aussi beaucoup apprécié l&#8217;optimisme de <span class="vcard"><span class="fn">Derek Featherstone</span></span> concernant les microformats et l&#8217;accessibilité, nous encourageant à poursuivre nos travaux, et son soutien positif pour encourager la plus grande communauté de ceux qui utilisent le Web.</li>
<li>Pour conclure, merci à tous les auteurs, designers et développeurs qui supportent les microformats, tout spécialement ceux qui ont continué à faire ainsi malgré les questions restant ouvertes sur l&#8217;accessibilité et d&#8217;autres problèmes, pour leur patience et leur ténacité.</li>
</ul>
<h4>En rappport</h4>
<ul>
<li><a href="http://twitter.com/microformats/status/1675194341">@microformats announcement of value-class-pattern</a></li>
<li>Le billet <a href="http://microformats.org/discuss/mail/microformats-dev/2009-May/000612.html">d&#8217;appel à implémentations du modèle-classe-value</a>” sur  microformats-dev.</li>
</ul>
<p><em>Traduction d&#8217;un billet de <span class="vcard"><a class="url fn" rel="colleague met muse" href="http://tantek.com">Tantek</a></span> publié en <span class="dtstart"><span class="value-title" title="2009-05-12">mai dernier</span></span> sur le blog des microformats. <a title="blog microformats" href="http://microformats.org/2009/05/12/value-class-pattern">Seul le lien original fait office de référence</a></em></p>
]]></content:encoded>
			<wfw:commentRss>http://christopheducamp.com/ProjetBlog/2009/12/19/le-modele-de-classe-value/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>C.V. CHIC</title>
		<link>http://christopheducamp.com/ProjetBlog/2009/11/14/emily-lewis-parvenir-au-semantique-avec-les-microformats-hresume-partie-6/</link>
		<comments>http://christopheducamp.com/ProjetBlog/2009/11/14/emily-lewis-parvenir-au-semantique-avec-les-microformats-hresume-partie-6/#comments</comments>
		<pubDate>Sat, 14 Nov 2009 02:10:26 +0000</pubDate>
		<dc:creator>xtof</dc:creator>
				<category><![CDATA[microformats]]></category>
		<category><![CDATA[ressources]]></category>
		<category><![CDATA[traduction]]></category>
		<category><![CDATA[emilylewis]]></category>
		<category><![CDATA[hacessibility]]></category>
		<category><![CDATA[hcalendar]]></category>
		<category><![CDATA[hcard]]></category>
		<category><![CDATA[hresume]]></category>
		<category><![CDATA[include pattern]]></category>

		<guid isPermaLink="false">http://christopheducamp.com/ProjetBlog/?p=169</guid>
		<description><![CDATA[Toujours aussi dingue de microformats et avide de remettre en forme un vieux C.V. personnel, vous trouverez ci-dessous une traduction d&#8217;un article qui vous donnera tout ce qu&#8217;il faut pour construire un C.V CHIC. Par Emily Lewis, nouvelle gourou des microformats. Cet article d&#8217;Emily Lewis paru le 10 novembre 2008 traite en profondeur du hResume, [...]]]></description>
			<content:encoded><![CDATA[<p></p><p>Toujours aussi dingue de microformats et avide de remettre en forme un <a href="http://christopheducamp.com/curriculumvitae.html">vieux C.V. personnel</a>, vous trouverez ci-dessous une traduction d&#8217;un article qui vous donnera tout ce qu&#8217;il faut pour construire un <abbr title="Curriculum Vitae">C.V</abbr> <abbr title="Code HTML Intrinsèquement Classe">CHIC</abbr>.</p>
<p>Par <span class="vcard"><a class="fn" rel="muse colleague" href="http://ablognotlimited.com/">Emily Lewis</a></span>, nouvelle gourou des microformats.</p>
<blockquote><p>Cet article d&#8217;Emily Lewis paru le 10 novembre 2008 traite en profondeur du hResume, un microformat conçu pour publier un joli Curriculum Vitae avec du HTML ayant du sens. Cette traduction est en cours et <a href="http://ablognotlimited.com/articles/getting-semantic-with-microformats-part-6-hresume">seul le lien original fait référence</a></p></blockquote>
<h3>Emily Lewis &#8211; &laquo;&nbsp;Parvenir au Sémantique avec les Microformats : hResume&nbsp;&raquo; (Partie 6)</h3>
<p class="intro">J&#8217;ai <a href="http://christopheducamp.com/ProjetBlog/2008/09/20/obtenir-de-la-semantique-avec-les-microformats-introduction/">démarré cette série</a> il y a deux mois. Je voulais partager avec vous mon amour des microformats et détailler comment je les ai implémentés, avec l&#8217;espoir d&#8217;encourager plus de personnes à les adopter.</p>
<p>A cette heure, j&#8217;en ai beaucoup couvert :</p>
<ul>
<li>Les microformats-basés-sur-rel dans la <a href="http://christopheducamp.com/ProjetBlog/2008/09/20/obtenir-de-la-semantique-avec-les-microformats-1%C2%B0-partie-rel/">Partie 1</a></li>
<li><acronym title="XHTML Friends Network">XFN</acronym> dans la <a href="http://christopheducamp.com/ProjetBlog/2008/09/21/emily-lewis-parvenir-a-la-semantique-avec-les-microformats-2eme-partie-xfn/">Partie 2</a></li>
<li>hCard dans la <a href="http://christopheducamp.com/ProjetBlog/2008/10/18/emily-lewis-parvenir-a-la-semantique-avec-les-microformats-3eme-partie-hcard/">Partie 3</a></li>
<li>hCalendar dans la <a href="http://christopheducamp.com/ProjetBlog/2008/10/18/emily-lewis-parvenir-a-la-semantique-avec-les-microformats-4eme-partie-hcalendar/">Partie 4</a></li>
<li>hAtom dans la <a href="http://christopheducamp.com/ProjetBlog/2009/10/04/je-veux-un-blog-hatomique/">Partie 5</a></li>
</ul>
<p>Et maintenant, parce que je conclus cette série, il est temps de parler du <a title="Le lien s'ouvre en dehors de ce site" href="http://microformats.org/wiki/hresume-fr">microformat hResume</a> qui est utilisé pour ajouter de la sémantique et de la structure aux <strong>résumés et <abbr title="Curriculum vitae">CV</abbr>s sur le web</strong>.</p>
<h4>hResume : le Contexte</h4>
<p>Avant de plonger dans le marquage et les détails du hResume, que penser d&#8217;un peu d&#8217;information de contexte ?</p>
<h5>Spécification Draft</h5>
<p>hResume est une <strong>spécification draft</strong>.<br />
Qu&#8217;est-ce que ça peut vouloir dire ? En fin de compte, elle n&#8217;a pas été approuvée officiellement. Et cela veut dire qu&#8217;elle peut (et le sera probablement) changer un peu jusqu&#8217;à ce qu&#8217;elle devienne une spécification formelle.</p>
<p>Est-ce si important ? Peut-être pour vous, pas pour moi. J&#8217;accepte volontiers que la plupart des technologies web soient des cibles mouvantes. C&#8217;est tout bonnement la nature du web. Aucune raison pour moi de ne pas implémenter une technologie en laquelle je crois.</p>
<h5>Le Meilleur des Microformats</h5>
<p>hResume est, à sa base, l&#8217;un des microformats les plus simples, avec seulement huit propriétés. En même temps, hResume est un microformat composé ; il utilise trois autres microformats : <a title="Le lien s'ouvre en dehors de ce site" href="http://microformats.org/wiki/rel-tag-fr">rel-tag</a>, <a title="Le lien s'ouvre en dehors de ce site" href="http://microformats.org/wiki/hcard-fr">hCard</a> et <a title="Le lien s'ouvre en dehors de ce site" href="http://microformats.org/wiki/hcalendar-fr">hCalendar</a>.</p>
<p>Sur bien des points, ceci représente le meilleur des microformats : il utilise des <em>standards existants</em>.</p>
<h5 id="pire">Et le Pire</h5>
<p>Ceci étant dit, <em>la façon dont</em> hResume utilise hCard et hCalendar était, pour moi tout du moins, confuse et frustrante. Peut-être est-ce dû au statut draft et que ce sera résolu avant l&#8217;approbation finale. Peut-être est-ce moi et mon incapacité à penser à mon contenu ré-utilisable dans le sens où cela est requis pour appliquer hCard et hCalendar.</p>
<p>Quelle que soit la raison, hResume représente aussi le pire des microformats … de mon point de vue tout du moins.</p>
<p>Ce n&#8217;est pas le hResume en lui-même que je trouve problématique en soi. C&#8217;est le manque flagrant d&#8217;information et de bonne documentation. C&#8217;est quelque chose qui je pense est une épidémie pour les microformats, en général, et spécifiquement le <a title="Le lien sort de ce site" href="http://microformats.org/wiki/Main_Page-fr">Wiki Microformats</a>.</p>
<p>Bien sûr, hResume est un draft, aussi est-il difficile de voir là beaucoup de gens partager de l&#8217;information à ce propos. Mais l&#8217;information wiki pour le hResume laisse vraiment à désirer.</p>
<p>Je réalise combien c&#8217;est horrible de dire ça, tout spécialement parce que dois au wiki (pour ne pas citer ses auteurs et contributeurs) dette de gratitude pour me fournir toute l&#8217;information qui y réside. Mais le wiki est difficile à digérer, et épuisant au possible.</p>
<p>Et quand il n&#8217;y a que très peu d&#8217;autres ressources pour le hResume, cela rend le processus d&#8217;implémentation du microformat pénible et frustrant.</p>
<p>Mais c&#8217;est la raison pour laquelle je blogue sur les microformats, et j&#8217;espère que d&#8217;autres feront de même. Plus il y aura de personnes qui en parleront (que ce soit en bien ou en mal), meilleure sera l&#8217;information.</p>
<p>Aussi, fini de pesert, avançons.</p>
<h5>Historique</h5>
<p>hResume a un historique très simple. A la différence de hCard, hCalendar et hAtom, il n&#8217;a pas de lien avec une technologie &laquo;&nbsp;précurseur&nbsp;&raquo;.</p>
<p>Cependant, il a été développé sur la base de <a title="Le lien s'ouvre en dehors de ce site" href="http://microformats.org/wiki/resume-formats-fr">recherche de formats existants de curriculum-vitae</a> tels que <a title="Le lien s'ouvre en dehors de ce site" href="http://www.hr-xml.org/">HR-XML</a> et <a title="Le lien s'ouvre en dehors de ce" href="http://europass.cedefop.europa.eu/">Europass</a>.</p>
<h4>Les Fondamentaux</h4>
<p>Comme pour tous les microformats, il y a quelques &laquo;&nbsp;règles&nbsp;&raquo; que je mentionnerai (une fois de plus):</p>
<ul>
<li>Les propriétés et sous-propriétés sont exprimés en valeurs <code>class</code>. Ce sont elles qui définissent le microformat hResume.</li>
<li>Les noms de propriétés et sous-propriétés sont sensibles-à-la-casse.</li>
<li>La propriété &laquo;&nbsp;racine&nbsp;&raquo; ne peut pas être mélangée avec n&#8217;importe laquelle de ses sous-propriétés. De ce fait <code>&lt;p class="hresume contact"&gt;</code> est invalide.</li>
<li>Le marquage utilisé est sans rapport avec le microformat (bien le marquage <em>devrait</em> être valide et sémantique).</li>
</ul>
<h4>Le Profil</h4>
<p>Quand vous implémentez hResume, vous devriez vous assurer d&#8217;inclure son profil dans le <code>&lt;head&gt;</code> :</p>
<p class="code"><code>&lt;head <strong>profile="http://microformats.org/wiki/hresume-profile/"</strong>&gt;</code></p>
<p>Comme je le mentionnais, hResume peut tirer partie à la fois de hCard et hCalendar. Aussi, si vous choisissez d&#8217;utiliser ces microformats supplémentaires dans votre hResume, vous devriez vous assurer tout autant d&#8217;inclure leurs profils..</p>
<p>Le <a title="Le lien s'ouvre en dehors de ce site" href="http://www.w3.org/TR/REC-html40/struct/global.html#adef-profile">W3C autorise plusieurs valeurs de profils</a> (séparées par un espace blanc), aussi vous pourriez avoir tous les trois profils :</p>
<p class="code"><code>&lt;head profile="<strong>http://microformats.org/wiki/hresume-profile/</strong> <strong>http://purl.org/uF/hCard/1.0/</strong> <strong>http://purl.org/uF/hCalendar/1.0/</strong>"&gt;</code></p>
<p>Néanmoins, parce qu&#8217;à la fois hCard et hCalendar sont des spécifications formelles, elles sont incluses dans le profil <acronym title="Uniform Resource Locator">URL</acronym> combiné qui couvre tous les microformats non-draft. Je recommande d&#8217;utiliser ce profil unique, combiné avec le profil hResume :</p>
<p class="code"><code>&lt;head profile="<strong>http://microformats.org/wiki/hresume-profile/</strong> <strong>http://purl.org/uF/2008/03/</strong>"&gt;</code></p>
<h4>L&#8217;Exemple</h4>
<p>A la différence de tous les autres microformats traités dans cette série, je n&#8217;ai pas implémenté hResume sur <a href="http://www.ablognotlimited.com/">A Blog Not Limited</a>. Je ne vois vraiment pas de raison d&#8217;avoir mon résumé sur mon blog personnel, et en plus je l&#8217;ai déjà sur mon <a title="Le lien s'ouvre en dehors de ce site" href="http://www.emilylewisdesign.com/">design portfolio</a>.</p>
<p>L&#8217;exemple qui suit est pris directement à partir de <a title="Link opens off this site" href="http://www.emilylewisdesign.com/About-Emily-Lewis/Resume/">résumé sur mon portfolio</a>. C&#8217;est plutôt un long paquet de marquage et d&#8217;information, aussi j&#8217;ai coupé ce qui est redondant en termes de hResume et l&#8217;ai remplacé par des ellipses. J&#8217;ai aussi retiré les valeurs <code>class</code> en rapport avec le style et n&#8217;ont rien à voir avec le microformat hResume.</p>
<p>Si besoin, vous pouvez toujours voir le source de ma page en live.</p>
<ol class="code">
<li><code>&lt;div <strong>class="hresume"</strong>&gt;</code></li>
<li> <code>&lt;div <strong>class="contact</strong> vcard"&gt;</code></li>
<li> <code>&lt;img src="/images/personal/emilyLewis.jpg" width="150" height="203" class="photo" alt="Emily Lewis" /&gt;</code></li>
<li> <code>&lt;h2 class="fn n" id="emily-hcard-name"&gt;&lt;span class="given-name"&gt;Emily&lt;/span&gt; &lt;span class="additional-name"&gt;Paige&lt;/span&gt; &lt;span class="family-name"&gt;Lewis&lt;/span&gt;&lt;/h2&gt;</code></li>
<li> <code>&lt;p class="adr"&gt;&lt;span class="locality"&gt;Albuquerque&lt;/span&gt;, &lt;abbr class="region" title="New Mexico"&gt;NM&lt;abbr&gt; &lt;span class="postal-code"&gt;87106&lt;/span&gt; &lt;abbr class="country-name" title="United States of America"&gt;USA&lt;/abbr&gt;&lt;/p&gt;</code></li>
<li> <code>&lt;ul&gt;</code></li>
<li> <code>&lt;li&gt;&lt;a href="mailto:eplewis@gmail.com" class="email"&gt;eplewis[at]gmail[dot]com&lt;/a&gt;&lt;/li&gt;</code></li>
<li> <code>&lt;li&gt;&lt;a href="http://www.emilylewisdesign.com/" class="url" rel="me"&gt;Design Portfolio&lt;/a&gt;&lt;/li&gt;</code></li>
<li> <code>&lt;li&gt;&lt;a href="http://www.linkedin.com/in/emilyplewis/" rel="me"&gt;LinkedIn profile&lt;/a&gt;&lt;/li&gt;</code></li>
<li> <code>&lt;/ul&gt;</code></li>
<li> <code>&lt;/div&gt;</code></li>
<li> <code>&lt;h3&gt;Highlights of Qualifications&lt;/h3&gt;</code></li>
<li> <code>&lt;ul <strong>class="summary"</strong>&gt;</code></li>
<li> <code>&lt;li&gt;Web designer specializing in hand-coded semantic XHTML, cross-browser CSS, progressive enhancement accessibility and usability&lt;/li&gt;</code></li>
<li> <code>&lt;li&gt;Expert in the design of corporate web sites, intranets, email campaigns and e-commerce applications&lt;/li&gt;</code></li>
<li> …</li>
<li> <code>&lt;/ul&gt;</code></li>
<li> <code>&lt;h3&gt;Technical Expertise&lt;/h3&gt;</code></li>
<li> <code>&lt;h4&gt;Web Design &amp; Development&lt;/h4&gt;</code></li>
<li> <code>&lt;ul&gt;</code></li>
<li> <code>&lt;li&gt;&lt;a href="http://technorati.com/tag/xhtml" <strong>class="skill"</strong> rel="tag"&gt;XHTML&lt;/a&gt; — 9 yrs&lt;/li&gt;</code></li>
<li> <code>&lt;li&gt;&lt;a href="http://technorati.com/tag/css" <strong>class="skill"</strong> rel="tag" &gt;CSS&lt;/a&gt; — 9 yrs&lt;/li&gt;</code></li>
<li> …</li>
<li> <code>&lt;/ul&gt;</code></li>
<li> …</li>
<li> <code>&lt;h3&gt;Experience &amp; Accomplishments&lt;/h3&gt;</code></li>
<li> <code>&lt;div class="vcalendar"&gt;</code></li>
<li> <code>&lt;div <strong>class="experience</strong> vevent vcard"&gt;</code></li>
<li> <code>&lt;a class="include nonVisual" href="#emily-hcard-name"&gt;&lt;/a&gt;</code></li>
<li> <code>&lt;h4 class="title summary"&gt;Web Designer&lt;/h4&gt;</code></li>
<li> <code>&lt;p class="org fn"&gt;Pitney Bowes Business Insight&lt;/p&gt;</code></li>
<li> <code>&lt;p&gt;&lt;abbr class="dtstart" title="2004-12-01"&gt;December 2004&lt;/abbr&gt; – present&lt;/p&gt;</code></li>
<li> <code>&lt;ul class="description"&gt;</code></li>
<li> <code>&lt;li&gt;Designed interfaces and developed XHTML, CSS and graphics for main corporate site, international sites, marketing newsletters, corporate blog, corporate intranet and user conference site&lt;/li&gt;</code></li>
<li> …</li>
<li> <code>&lt;/ul&gt;</code></li>
<li> <code>&lt;/div&gt;</code></li>
<li> …</li>
<li> <code>&lt;/div&gt;</code></li>
<li> <code>&lt;h3&gt;Education&lt;/h3&gt;</code></li>
<li> <code>&lt;div class="vcalendar"&gt;</code></li>
<li> <code>&lt;div <strong>class="education</strong> vevent vcard"&gt;</code></li>
<li> <code>&lt;h4 class="summary"&gt;Web Design &amp; Development Certification&lt;/h4&gt;</code></li>
<li> <code>&lt;p class="org fn"&gt;&lt;a href="http://www.gwu.edu/index.cfm" class="url" title="Link opens off this site"&gt;George Washington University&lt;/a&gt;, Center for Professional Development&lt;/p&gt;</code></li>
<li> <code>&lt;p&gt;&lt;abbr class="dtstart" title="2001-09-01"&gt;September 2001&lt;/abbr&gt;–&lt;abbr class="dtend" title="2003-06-01"&gt;June 2003&lt;/abbr&gt;&lt;/p&gt;</code></li>
<li> <code>&lt;p&gt;GPA 3.8&lt;/p&gt;</code></li>
<li> <code>&lt;/div&gt;</code></li>
<li> <code>&lt;/div&gt;</code></li>
<li> …</li>
<li><code>&lt;/div&gt;</code></li>
</ol>
<h5>Propriété Racine : <code>hresume</code></h5>
<p>La propriété racine est <code>hresume</code> et elle est requise. Toute l&#8217;information hResume devrait être contenue dans un élément assigné <code>class="hresume"</code>:</p>
<p class="code"><code>&lt;div <strong>class="hresume"</strong>&gt;</code></p>
<h5>Propriété requise : <code>contact</code></h5>
<p>hResume n&#8217;a qu&#8217;une propriété obligatoire, <code>contact</code>, qui indique <strong>le nom et l&#8217;information de contact pour le propriétaire du résumé</strong>. Elle ne peut être utilisée qu&#8217;une fois seulement.</p>
<p>En outre, hResume requiert que l&#8217;information de contact soit une hCard :</p>
<ol class="code">
<li><code>&lt;div class="<strong>contact</strong> <strong>vcard</strong>"&gt;</code></li>
<li> <code>&lt;img src="/images/personal/emilyLewis.jpg" width="150" height="203" <strong>class="photo"</strong> alt="Emily Lewis" /&gt;</code></li>
<li> <code>&lt;h2 <strong>class="fn n"</strong> id="emily-hcard-name"&gt;&lt;span <strong>class="given-name"</strong>&gt;Emily&lt;/span&gt; &lt;span <strong>class="additional-name"</strong>&gt;Paige&lt;/span&gt; &lt;span <strong>class="family-name"</strong>&gt;Lewis&lt;/span&gt;&lt;/h2&gt;</code></li>
<li> <code>&lt;p <strong>class="adr"</strong>&gt;&lt;span <strong>class="locality"</strong>&gt;Albuquerque&lt;/span&gt;, &lt;abbr <strong>class="region"</strong> title="New Mexico"&gt;NM&lt;abbr&gt; &lt;span <strong>class="postal-code"</strong>&gt;87106&lt;/span&gt; &lt;abbr <strong>class="country-name"</strong> title="United States of America"&gt;USA&lt;/abbr&gt;&lt;/p&gt;</code></li>
<li> <code>&lt;ul&gt;</code></li>
<li> <code>&lt;li&gt;&lt;a href="mailto:eplewis@gmail.com" <strong>class="email"</strong>&gt;eplewis[at]gmail[dot]com&lt;/a&gt;&lt;/li&gt;</code></li>
<li> <code>&lt;li&gt;&lt;a href="http://www.emilylewisdesign.com/" <strong>class="url"</strong> rel="me"&gt;Design Portfolio&lt;/a&gt;&lt;/li&gt;</code></li>
<li> <code>&lt;li&gt;&lt;a href="http://www.linkedin.com/in/emilyplewis/" rel="me"&gt;LinkedIn profile&lt;/a&gt;&lt;/li&gt;</code></li>
<li> <code>&lt;/ul&gt;</code></li>
<li><code>&lt;/div&gt;</code></li>
</ol>
<h6>Consolidation d&#8217;Identité Avec <code>rel-me</code></h6>
<p>Remarquez aussi dans mon exemple que j&#8217;ai utilisé <a title="Le lien s'ouvre en dehors de ce site" href="http://microformats.org/wiki/rel-me-fr">rel-me</a> sur les liens vers mes sites web :</p>
<ol class="code">
<li><code>&lt;li&gt;&lt;a href="http://www.emilylewisdesign.com/" class="url" <strong>rel="me"</strong>&gt;Design Portfolio&lt;/a&gt;&lt;/li&gt;</code></li>
<li><code>&lt;li&gt;&lt;a href="http://www.linkedin.com/in/emilyplewis/" <strong>rel="me"</strong>&gt;LinkedIn profile&lt;/a&gt;&lt;/li&gt;</code></li>
</ol>
<p>Comme je le détaillais dans la <a href="http://microformateurs.org/2008/09/20/obtenir-de-la-semantique-avec-les-microformats-1%C2%B0-partie-rel/">Partie 1</a>, <code>rel="me"</code> est utilisé sur les hyperliens provenant d&#8217;une page d&#8217;une personne vers d&#8217;autres pages à propos de la même personne.</p>
<h6>Problématiques Avec <code>address</code></h6>
<p>La spécification hResume recommande plus loin d&#8217;utiliser <code>&lt;address&gt;</code> pour contenir l&#8217;information de contact sur la personne.</p>
<p><a href="http://www.w3.org/TR/REC-html40/struct/global.html#h-7.5.6">Selon le <cite><acronym title="World Wide Web Consortium">W3C</acronym></cite></a>, l&#8217;élément <code>&lt;address&gt;</code> est :</p>
<blockquote class="internal" cite="http://www.w3.org/TR/REC-html40/struct/global.html#h-7.5.6"><p><span class="nonVisual">&laquo;&nbsp;</span>… Les auteurs peuvent employer l&#8217;élément ADDRESS pour fournir les informations de contact du document ou d&#8217;une partie essentielle de celui-ci, comme un formulaire.<span class="nonVisual">&laquo;&nbsp;</span></p></blockquote>
<p>Dans le cas d&#8217;un curriculum-vitae, <code>&lt;address&gt;</code> est sémantiquement correct parce que l&#8217;information de contact est pour le propriétaire du résumé.</p>
<p>Néanmoins, vous remarquerez que je n&#8217;utilise pas <code>&lt;address&gt;</code> dans mon exemple (gasp !). Ceci parce que <code>&lt;address&gt;</code> ne peut pas contenir d&#8217;éléments de niveau-bloc.</p>
<p>Bien sûr, je pourrais remplacer tous les <code>&lt;p&gt;</code>s et les <code>&lt;ul&gt;</code> avec des <code>&lt;span&gt;</code>s, mais ceci fait bien moins sens sémantiquement parlant que de reconcer complètement à <code>&lt;address&gt;</code>.</p>
<h5>Propriété Optionnelle : <code>summary</code></h5>
<p>La propriété optionnelle <code>summary</code> indique l&#8217;<strong>aperçu des qualifications et objectifs</strong>. Elle aussi, ne peut être utilisé qu&#8217;une fois dans un hResume..</p>
<p>Dans mon résumé, je ne déclare pas un objectif, mais fournis une liste de qualifications :</p>
<ol class="code">
<li><code>&lt;h3&gt;Highlights of Qualifications&lt;/h3&gt;</code></li>
<li><code>&lt;ul <strong>class="summary"</strong>&gt;</code></li>
<li> <code>&lt;li&gt;Web designer specializing in hand-coded semantic XHTML, cross-browser CSS, progressive enhancement accessibility and usability&lt;/li&gt;</code></li>
<li> <code>&lt;li&gt;Expert in the design of corporate web sites, intranets, email campaigns and e-commerce applications&lt;/li&gt;</code></li>
<li> …</li>
<li><code>&lt;/ul&gt;</code></li>
</ol>
<h5>Propriété Optionnelle : <code>skill</code></h5>
<p>La propriété optionnelle <code>skill</code> s&#8217;applique au contenu qui indique les <strong>compétences spécifiques d&#8217;une personne</strong>. <code>skill</code> peut être utilisé plusieurs fois dans un hResume.</p>
<p>La spécification exige que le contenu skill soit contenu par un lien assigné <code>class="skill"</code> <em>et</em> <code>rel="tag"</code> :</p>
<ol class="code">
<li><code>&lt;ul&gt;</code></li>
<li> <code>&lt;li&gt;&lt;a href="http://technorati.com/tag/xhtml" <strong>class="skill"</strong> <strong>rel="tag"</strong>&gt;XHTML&lt;/a&gt; — 9 ans&lt;/li&gt;</code></li>
<li> <code>&lt;li&gt;&lt;a href="http://technorati.com/tag/css" <strong>class="skill"</strong> <strong>rel="tag"</strong>&gt;CSS&lt;/a&gt; — 9 ans&lt;/li&gt;</code></li>
<li> …</li>
<li><code>&lt;/ul&gt;</code></li>
</ol>
<h6>Folie de Lien</h6>
<p>Même si j&#8217;ai appliqué la propriété <code>skill</code> comme l&#8217;indique la spécification, je n&#8217;aime <em>vraiment</em> pas du tout tous ces liens supplémentaires. Je ne comprends vraiment pas pourquoi la spécification exige que soit appliqué ce lien à la propriété … pourquoi pas n&#8217;importe quel élément ?</p>
<p>Tous ces liens supplémentaires semblent superflus sur un résumé. Et je ne suis pas convaincue qu&#8217;ils fournissent quelque valeur ajoutée, tout particulièrement pour un employeur potentiel. En fait, ce pourrait être une distraction pour quelqu&#8217;un intéressé pour en savoir plus à mon propos et sur mes qualifications professionnelles.</p>
<h6>Les Espaces de Tags Semblent Hors de Propos</h6>
<p>Un autre problème que je rencontre avec la spécification est qu&#8217;elle exige aussi un <code>rel="tag"</code> assigné sur les liens.</p>
<p>Dans la <a href="http://microformateurs.org/2008/09/20/obtenir-de-la-semantique-avec-les-microformats-1%C2%B0-partie-rel/">Partie 1</a>, j&#8217;ai expliqué que <a title="Le lien s'ouvre en dehors de ce site" href="http://microformats.org/wiki/rel-tag-fr">rel-tag</a> indique <strong>la destination du lien est un tag (ou mot-clé) qui dit ce dont traite la page en cours — ou la partie de la page</strong>.</p>
<p>En outre, rel-tag requiert que le lien de destination (<code>href</code>) inclut la valeur réelle du mot-clé comme segment final de la valeur d&#8217;URL. Ceci est connu sous l&#8217;expression &laquo;&nbsp;tagspace.&nbsp;&raquo;</p>
<p>Compte tenu de ces obligations, tout mes liens <code>skill</code> sont dirigés vers Technorati, parce qu&#8217;il fournit de tels &laquo;&nbsp;tagsspaces&nbsp;&raquo;.</p>
<p>Néanmoins, ceci fait que ces liens sont même encore plus hors de propos en ce qui me concerne. Si je dois maintenir tous ces liens, je préférerais beaucoup plus qu&#8217;ils aillent vers un endroit qui fournisse une information discrète sur le mot-clé, comme Wikipedia, mais il n&#8217;existe pas d&#8217;articles pour toutes mes compétences et je voulais au moins rester cohérente.</p>
<p>En fin de compte, je pourrais changer les liens de destination vers des pages de Wikipedia quand elles seront disponibles et enlever tous les liens <code>skill</code> pour lesquels il n&#8217;existe pas d&#8217;article Wikipedia. Ou je pourrais décider de retirer complètement les liens <code>skill</code>. Ils sont optionnels.</p>
<h5>Propriété Optionnelle : <code>experience</code></h5>
<p>La propriété optionnelle <code>experience</code> indique les <strong>diverses expériences professionnelles d&#8217;une personne</strong>. Elle peut être utilisée plusieurs fois.</p>
<p>La spécification requiert que chaque &laquo;&nbsp;événement&nbsp;&raquo; professionnel soit un hCalendar et que chaque rôle/titre dans le travail soit une hCard :</p>
<ol class="code">
<li><code>&lt;div <strong>class="vcalendar"</strong>&gt;</code></li>
<li> <code>&lt;div class="<strong>experience</strong> <strong>vevent</strong> <strong>vcard</strong>"&gt;</code></li>
<li> <code>&lt;a class="include nonVisual" href="#emily-hcard-name"&gt;&lt;/a&gt;</code></li>
<li> <code>&lt;h4 class="<strong>title</strong> <strong>summary</strong>"&gt;Web Designer&lt;/h4&gt;</code></li>
<li> <code>&lt;p <strong>class="org"</strong>&gt;Pitney Bowes Business Insight&lt;/p&gt;</code></li>
<li> <code>&lt;p&gt;&lt;abbr <strong>class="dtstart"</strong> title="2004-12-01"&gt;December 2004&lt;/abbr&gt; – present&lt;/p&gt;</code></li>
<li> <code>&lt;ul <strong>class="description"</strong>&gt;</code></li>
<li> <code>&lt;li&gt;Designed interfaces and developed XHTML, CSS and graphics for main corporate site, international sites, marketing newsletters, corporate blog, corporate intranet and user conference site&lt;/li&gt;</code></li>
<li> …</li>
<li> <code>&lt;/ul&gt;</code></li>
<li> <code>&lt;/div&gt;</code></li>
<li> …</li>
<li><code>&lt;/div&gt;</code></li>
</ol>
<h6>Le Modèle Include : Eviter la Redondance</h6>
<p>Le fait que la spécification requiert l&#8217;assignation d&#8217;une hCard pour tous les titres/rôles dans les emplois <em>et</em> le fait que hCard exige la propriété <code>fn</code> (le nom formaté de la personne), ceci voudrait dire que pour chaque <code>experience</code> dans mon résumé, je devrais lister pour toutes l&#8217;information sur mon nom.</p>
<p>Ceci n&#8217;a pas de sens et va à l&#8217;encontre du format/contenu attendu dans un résumé.</p>
<p>Heureusement, les types des microformats ont sorti le <a title="Lien qui s'ouvre hors de ce site" href="http://microformats.org/wiki/include-pattern-fr">include design pattern</a>, qui permet à la donnée provenant d&#8217;un endroit sur une page d&#8217;être utilisée dans d&#8217;autres endroits sur la même page.</p>
<p>En utilisant le modèle include, je peux inclure mon information <code>fn</code> à partir de mon <code>contact</code> hCard dans mon  <code>experience</code> hCard et éviter de devoir la répéter.</p>
<p>Tout d&#8217;abord, j&#8217;ai dû assigner à mon information <code>contact</code> hCard <code>fn</code> un <code>id</code> que je peux référencer dans mon include :</p>
<p class="code"><code>&lt;h2 class="fn n" <strong>id="emily-hcard-name"</strong>&gt;&lt;span class="given-name"&gt;Emily&lt;/span&gt; &lt;span class="additional-name"&gt;Paige&lt;/span&gt; &lt;span class="family-name"&gt;Lewis&lt;/span&gt;&lt;/h2&gt;</code></p>
<p>Puis, pour toutes mes hCards <code>experience</code>, j&#8217;ai ajouté un <code>&lt;a&gt;</code> assigné <code>class="include"</code> avec une valeur <code>href</code> égale au <code>fn</code> <code>id</code> :</p>
<ol class="code">
<li><code>&lt;div class="vcalendar"&gt;</code></li>
<li> <code>&lt;div class="experience vevent vcard"&gt;</code></li>
<li> <code><strong>&lt;a class="include nonVisual" href="#emily-hcard-name"&gt;Emily Paige Lewis&lt;/a&gt;</strong></code></li>
<li> <code>&lt;h4 class="title"&gt;Web Designer&lt;/h4&gt;</code></li>
<li> <code>&lt;p class="org fn"&gt;Pitney Bowes Business Insight&lt;/p&gt;</code></li>
<li> <code>&lt;p&gt;&lt;abbr class="dtstart" title="2004-12-01"&gt;December 2004&lt;/abbr&gt; – present&lt;/p&gt;</code></li>
<li> <code>&lt;ul class="description"&gt;</code></li>
<li> <code>&lt;li&gt;Designed interfaces and developed XHTML, CSS and graphics for main corporate site, international sites, marketing newsletters, corporate blog, corporate intranet and user conference site&lt;/li&gt;</code></li>
<li> …</li>
<li> <code>&lt;/ul&gt;</code></li>
<li> <code>&lt;/div&gt;</code></li>
<li> …</li>
<li><code>&lt;/div&gt;</code></li>
</ol>
<p>Alternativement, le modèle include permet l&#8217;utilisation de <code>&lt;object&gt;</code> plutôt qu&#8217;un lien. <code>&lt;object&gt;</code> est vraiment plus sémantiquement correct que <code>&lt;a&gt;</code>, néanmoins il provoque quelques problèmes d&#8217;affichage.</p>
<p>Dans Safari, par exemple :</p>
<p><img class="frame" src="http://www.ablognotlimited.com/images/experiments/includeObjectSafari.png" alt="Affichage include object dans Safari" width="350px" height="255px" /></p>
<p>Chrome fait la même chose avec les barres de défilement :</p>
<p><img class="frame" src="http://www.ablognotlimited.com/images/experiments/includeObjectChrome.png" alt="Affichage include object dans Chrome" width="350px" height="229px" /></p>
<p>Opera n&#8217;affiche pas les barres de défilements, mais affiche une tonne d&#8217;espace blanc où demeure <code>&lt;object&gt;</code> :</p>
<p><img class="frame" src="http://www.ablognotlimited.com/images/experiments/includeObjectOpera.png" alt="Affichage include object dans Opera" width="261px" height="248px" /></p>
<p>IE6 et IE7 affichent quelque chose (je ne sais pas comment l&#8217;appeler) pour le code <code>&lt;object&gt;</code> :</p>
<p><img class="frame" src="http://www.ablognotlimited.com/images/experiments/includeObjectIE.png" alt="Affichage include object dans IE" width="257px" height="93px" /></p>
<p>Compte tenu de ces incohérences d&#8217;affichage, le lien est la méthode recommandée pour l&#8217;include pattern. A cette heure, trop de problèmes.</p>
<p>Bon, pas vraiment des &laquo;&nbsp;problèmes&nbsp;&raquo;, juste quelque chose à garder à l&#8217;esprit : le lien doit avoir un contenu à l&#8217;intérieur qui puisse garantir l&#8217;accessiblité pour les lecteurs-écrants.</p>
<p>Ceci veut dire qu&#8217;il s&#8217;affichera sur le navigateur, ce qui n&#8217;écessite que j&#8217;utilise <acronym title="Cascading StyleSheets">CSS</acronym> pour masquer le contenu (via <code>display:none</code>) de manière à ce que le lien ne s&#8217;affiche pas plusieurs fois.</p>
<h6>Datetime Design Pattern</h6>
<div class="ins">
<p><strong>Mise à jour : 02/06/2009</strong></p>
<p>Le <a href="http://microformats.org/wiki/datetime-design-pattern-fr" title="wiki microformats">modèle-date-horaire</a> est désormais déprécié en faveur du <a href="http://microformats.org/wiki/value-class-pattern-fr" title="wiki microformats">modèle-de-classe-value</a>. Voir <a title="modèle de classe value" href="http://christopheducamp.com/ProjetBlog/2009/12/19/le-modele-de-classe-value/">cet article en attendant la partie 8 de cette série</a> pour en savoir plus sur ce nouveau pattern.</p>
</div>
<p>Pour chacun de mes &laquo;&nbsp;events&nbsp;&raquo; d&#8217;emploi, j&#8217;utilise hCalendar comme c&#8217;est recommandé. Ceci veut aussi dire que j&#8217;utilise le <a title="Le lien s'ouvre en dehors de ce site" href="http://microformats.org/wiki/datetime-design-pattern-fr">datetime design pattern</a> pour mes dates de début et de fin :</p>
<p class="code"><code>&lt;p&gt;<strong>&lt;abbr</strong> class="dtstart" <strong>title="1999-11-01"</strong>&gt;<strong>Novembre 1999</strong>&lt;/abbr&gt; – &lt;abbr class="dtend" title="2004-01-01"&gt;Janvier 2004&lt;/abbr&gt;&lt;/p&gt;</code></p>
<p>Ce modèle spécifie que l&#8217;élément contenant est un <code>&lt;abbr&gt;</code> qui a une valeur d&#8217;attribut <code>title</code> qui renvoie une information date-horaire &laquo;&nbsp;lisible-par-une-machine&nbsp;&raquo; alors que l&#8217;information contenue (et qui s&#8217;affiche dans les navigateurs) est une information date-horaire &laquo;&nbsp;lisible-par-les-humains&nbsp;&raquo;.</p>
<p>En outre, le datetime design pattern spécifie que la valeur <code>title</code> devrait être exprimée dans un format <a title="Le lien s'ouvre en dehors de ce site" href="http://microformats.org/wiki/iso-8601-fr"><acronym title="International Standards Organization">ISO</acronym> 8601</a>.</p>
<p>Comme je le <a href="http://microformateurs.org/2008/10/18/emily-lewis-parvenir-a-la-semantique-avec-les-microformats-4eme-partie-hcalendar/#Date">detaillais dans la Partie 4</a>, il existe des <a title="Le lien s'ouvre hors de ce site" href="http://www.webstandards.org/2007/04/27/haccessibility/">problématiques d&#8217;accessibilité concernant le datetime design pattern</a> qui doivent être encore résolues.</p>
<h5>Propriété Optionnelle : <code>education</code></h5>
<p>La propriété optionnelle <code>education</code> indique les &laquo;&nbsp;événement&nbsp;&raquo; <strong>education telles qu&#8217;une scolarité étudiante.</strong>. <code>education</code> peut être utilisé plusieurs fois dans un hResume.</p>
<p>Tout comme pour <code>experience</code>, la spécification demanque que chaque &laquo;&nbsp;évenément&nbsp;&raquo; <code>education</code> soit un hCalendar. Et bien que cela ne fasse pas partie de la spécification, j&#8217;ai aussi ajouté de l&#8217;information hCard pour chaque institution :</p>
<ol class="code">
<li><code>&lt;div <strong>class="vcalendar"</strong>&gt;</code></li>
<li> <code>&lt;div class=" <strong>education</strong> <strong>vevent</strong> <strong>vcard</strong>"&gt;</code></li>
<li> <code>&lt;h4 <strong>class="summary"</strong>&gt;Web Design &amp; Development Certification&lt;/h4&gt;</code></li>
<li> <code>&lt;p <strong>class="org fn"</strong>&gt;&lt;a href="http://www.gwu.edu/index.cfm" <strong>class="url"</strong> title="Link opens off this site"&gt;George Washington University&lt;/a&gt;, Center for Professional Development&lt;/p&gt;</code></li>
<li> <code>&lt;p&gt;&lt;abbr <strong>class="dtstart"</strong> title="2001-09-01"&gt;Septembre 2001&lt;/abbr&gt;–&lt;abbr <strong>class="dtend"</strong> title="2003-06-01"&gt;Juin 2003&lt;/abbr&gt;&lt;/p&gt;</code></li>
<li> <code>&lt;p&gt;GPA 3.8&lt;/p&gt;</code></li>
<li> <code>&lt;/div&gt;</code></li>
<li><code>&lt;/div&gt;</code></li>
</ol>
<h4>Ce Que Je <em>N&#8217;ai Pas</em> Utilisé</h4>
<p>hResume supporte aussi l&#8217;information d&#8217;affiliation et de publication. Je n&#8217;ai utilisé aucune des ces propriétés dans mon résumé parce qu&#8217;elles ne sont pas pertinentes en ce qui me concerne (à cette heure). Mais voici quelques exemples sur la façon dont je pourrais les implémenter.</p>
<h5>Propriété Optionnelle :  <code>affiliation</code></h5>
<p>La propriété optionnelle <code>affiliation</code> indique les <strong>organisations avec lesquelles une personne est affiliée</strong>.  <code>affiliation</code> peut être utilisé plusieurs fois dans un hResume.</p>
<p>La spécification requiert que l&#8217;organisation contenue dans <code>affiliation</code> soit une hCard :</p>
<ol class="code">
<li><code>&lt;ul&gt;</code></li>
<li> <code>&lt;li class="<strong>affiliation</strong> <strong>vcard</strong>"&gt;&lt;span <strong>class="fn org"</strong>&gt;Association pour le Développement du Marketing&lt;/span&gt;&lt;/li&gt;</code></li>
<li> <code>&lt;li class="<strong>affiliation</strong> <strong>vcard</strong>"&gt;&lt;span <strong>class="fn org"</strong>&gt;Groupe des Utilisateurs Adobe&lt;/span&gt;&lt;/li&gt;</code></li>
<li><code>&lt;/ul&gt;</code></li>
</ol>
<h5>Publications</h5>
<p>hResume n&#8217;a pas de propriété spécifique pour les publications. Au lieu de cela, la spécification recommande l&#8217;utilisation de <code>&lt;cite&gt;</code> pour indiquer les <strong>publications qu&#8217;une personne a écrites </strong>:</p>
<p class="code"><code><strong>&lt;cite&gt;</strong>"Choisir Votre Caisse de Retraite"<strong>&lt;/cite&gt;</strong>, <em>New OD</em>, Septembre 1998</code></p>
<h4>Outils Pour Vous Faciliter la Vie</h4>
<p>Ceci couvre la totalité de hResume. Maintenant, comment vous faciliter la vie pour faire ça vous-même ? Il existe quelques outils pour vous aider à implémenter hResume :</p>
<ul>
<li><a title="Le lien s'ouvre en dehors de ce site" href="http://hresume.weblogswork.com/hresumecreator/">hResume creator</a> génère un hResume extrait de l&#8217;information proposée.</li>
<li>Le &laquo;&nbsp;hResume Project&nbsp;&raquo; a créé un <a title="Le lien s'ouvre en dehors de ce site" href="http://hresume.weblogswork.com/?page_id=3">plugin hResume</a> pour WordPress.</li>
<li><a title="Le lien s'ouvre en dehors de ce site" href="http://www.emurse.com/">Emurse</a> offre quelques gabarits qui génèrent hResume..</li>
<li><a title="Le lien s'ouvre en dehors de ce site" href="http://steve.ganz.name/blog/2007/01/linkedin-launches-hresume.html">LinkedIn génère des hResume</a> pour l&#8217;ensemble de ses 9 millions de profils publics.</li>
<li><a title="Le lien s'ouvre en dehors de ce site" href="http://cv.antix.co.uk/Build/">CV Antix</a> est un constructeur de CV/Résumés dynamique et basé sur le web.</li>
<li><span style="text-decoration: line-through;"><a title="Le lien s'ouvre en dehors de ce site" href="http://resolio.com/app/">Resolio</a> crée tous les résumés dans le format hResume.</span></li>
</ul>
<h4>Autres Outils</h4>
<ul>
<li>Il existe un plugin <a title="Le lien s'ouvre en dehors de ce site" href="http://wordpress.org/extend/plugins/linkedin-hresume/">hResume LinkedIn</a> pour WordPress qui extrait le contenu du hResume à partir d&#8217;un profil public LinkedIn, qui peut ensuite être ajouté à une page WordPress.</li>
<li><cite class="vcard"><a class="fn url" title="Le lien s'ouvre en dehors de ce site" rel="colleague muse" href="http://suda.co.uk">Brian Suda</a></cite> a une version beta d&#8217;un outil <a title="Le lien s'ouvre en dehors de ce site" href="http://suda.co.uk/projects/microformats/hresume/">hResume to resume <acronym title="eXtensible Markup Languge">XML</acronym></a> tool.</li>
<li>Le <a title="Le lien s'ouvre en dehors de ce site" href="http://microformatique.com/optimus/">transformeur microformats Optimus</a> fournit un transformateur de hResume vers <acronym title="JavaScript Object Notation">JSON</acronym>, XML ou <acronym title="Really Simple Syndication">RSS</acronym>.</li>
</ul>
<p>Malheureusement, je n&#8217;ai pas pu trouver quelque agrégateur ou extratcteur de hResume, même si j&#8217;ai vu mentionner que <a title="Le lien s'ouvre en dehors de ce site" href="http://www.simplyhired.com/">SimplyHired</a> utilise hResume pour agréger les CV&#8217;s des chercheurs d&#8217;emploi. Hélas, je n&#8217;ai pas pu trouver quelque information spécifique à ce propos, ni n&#8217;ai vu quelque hResume sur le site.</p>
<p>Je n&#8217;ai pas trouvé non plus quelque plugin ou extension navigateur, fait intéressant, une ancienne version de l&#8217;<a title="Le lien s'ouvre en dehors de ce site" href="http://blog.codeeg.com/tails-firefox-extension-03/">extension Firefox Tails</a> supportait hResume. Mais ça ne fonctionne pas avec la version actuelle de Firefox.</p>
<p>A un certain niveau, ce manque d&#8217;outils me surprend et ne me surprend pas.</p>
<p>Comme je râlais au début de cet article, l&#8217;information disponible sur hResume est minimale et pas vraiment facile à digérer. En outre, hResume est un draft. Cela ne me suprend aucunement que les types n&#8217;aient pas investi trop à développer des outils pour lui.</p>
<p>J&#8217;espère que cela changera.</p>
<h4>Avantages</h4>
<p>Pour moi, quand quelqu&#8217;un me demande pourquoi j&#8217;utilise des microformats, la réponse est simplement &laquo;&nbsp;Pourquoi ne le ferais-je pas ?&nbsp;&raquo; Les standards, la sémantique et les microformats sont tous bien dans mon monde.</p>
<p>Mais voici juste quelques avantages du hResume et des microformats pour ceux ayant besoin d&#8217;être convaincus.</p>
<h5>Standardisation &amp; Innovation</h5>
<p>hResume fournit un moyen standardisé pour les personnes de maîtriser leurs donnés de curriculum vitae, ce qui représente une fondation demandée pour des outils et technologies innovantes.</p>
<p>Si les job boards devaient adopter hResume, cette standardisation veut dire que le contenu hResume pourrait être hébergé et mis à jour en un endroit, et puis pingué vers les job-boards quand il y a des mises à jour.</p>
<p>Cette standardisation fournit aussi les fondations pour les personnes de disposer de CVs riches et utiles qui pourraient être facilement cherchés par des employeurs et/ou clients potentiels.</p>
<h5>Sémantique &amp; Simplicité</h5>
<p>hResume ajoute de la structure et du sens au contenu des CVs <em>et</em> les rend à la fois lisibles par les humains – et les machines. Tout cela avec des standards existants pour le marquage et les données.</p>
<p>Et malgré mon combat personnel pour implémenter hResume, il <em>est</em> intentionnellement simple. Juste quelques noms de <code>class</code>es pour le marquage et hResume est en place.</p>
<h4>C&#8217;est Tout ?</h4>
<p>Bon, c&#8217;est tout ce j&#8217;ai pour hResume. Mais ce n&#8217;est pas vraiment la fin de cette série.</p>
<p>J&#8217;ai un article en plus : <a href="http://christopheducamp.com/ProjetBlog/2009/12/20/parvenir-au-semantique-avec-les-microformats-7%C2%B0-partie/">une conclusion où je prévois de discuter de ce que j&#8217;ai appris durant le processus d&#8217;écriture de cette série</a>.</p>
<p>Je prévois aussi de traiter d&#8217;accessibilité, de sémantique et de standards (encore). Et une brève discussion sur le débat <abbr title="versus">vs.</abbr> <acronym title="Resource Description Framework">RDF</acronym>&nbsp;&raquo; est en route. Et tout ce qui pourra m&#8217;arriver.</p>
<p>Ce sera tout à cette heure. …</p>
<p><ins><strong>Mise à jour : 7 décembre 2008</strong></ins></p>
<p><cite class="vcard"><ins><a class="fn url" title="Le lien s'ouvre en dehors de ce site" rel="colleague" href="http://www.mijia.org/blog/">Jia Mi</a> a traduit cet article en chinois : <em><a title="Le lien s'ouvre en dehors de ce site" href="http://www.mijia.org/blog/?p=159">使用微格式来丰富网站语义：hResume</a></em>.</ins></cite></p>
<p><ins>Je ne lis pas le chinois, aussi je ne peux garantir la traduction. Mais l&#8217;intention est belle, aussi j&#8217;en fais la promotion.</ins></p>
<p><ins><strong>Mise à jour : 1/08/2009</strong></ins></p>
<p><cite class="vcard"><ins><a class="fn url" title="Le lien s'ouvre en dehors de ce site" rel="colleague" href="http://zdrojak.root.cz/">Jan Sládek</a> a traduit cet article en Tchèque : <em><a title="Le lien s'ouvre en dehors de ce site" href="http://zdrojak.root.cz/clanky/kodujme-semanticky-s-mikroformaty-hresume/">Kódujme sémanticky s mikroformáty: hResume</a></em>.</ins></cite></p>
<p><!--Fin Contenu Article--></p>
<h3><span>♥</span> Partagez l&#8217;Amour</h3>
<ul class="plain inline">
<li><a href="http://delicious.com/save?url=http://christopheducamp.com/ProjetBlog/2009/11/14/emily-lewis-parvenir-au-semantique-avec-les-microformats-hresume-partie-6/&amp;title=Un CV CHIC avec hResume">Delicious</a></li>
<li><span>♥</span> <a href="http://digg.com/submit?phase=2&amp;url=http://christopheducamp.com/ProjetBlog/2009/11/14/emily-lewis-parvenir-au-semantique-avec-les-microformats-hresume-partie-6/&amp;title=Un CV CHIC avec hResume">Digg</a></li>
</ul>
<h3>Passez le mot !</h3>
<p>Vous voulez partager cet article avec d&#8217;autres ? Utilisez SVP l&#8217;URL raccourci : <a rel="shorter" href="http://tr.im/cvchic"> http://tr.im/cvchic</a>.</p>
<p>Et bien sûr, vous pouvez toujours <a href="http://twitter.com/home?status=@xtof_fr 1 #exploracoeur tw pour ce C.V. CHIC /by @emilylewis : http://tr.im/cvchic">tweeter ça</a>. Lâchez-vous, y&#8217;a même de la <a title="trois pointeurs et l'explication du slashtag par chris messina" href="http://factoryjoe.com/blog/2009/11/08/new-microsyntax-for-twitter-three-pointers-and-the-slasher/">microsyntaxe et un peu de monnaie libre</a>&#8230; </p>
]]></content:encoded>
			<wfw:commentRss>http://christopheducamp.com/ProjetBlog/2009/11/14/emily-lewis-parvenir-au-semantique-avec-les-microformats-hresume-partie-6/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Paramétrer Votre Mac pour du Développement Local en Utilisant Coda, WordPress et MAMP</title>
		<link>http://christopheducamp.com/ProjetBlog/2009/10/05/parametrer-votre-mac-pour-du-developpement-local-en-utilisant-coda-wordpress-et-mamp/</link>
		<comments>http://christopheducamp.com/ProjetBlog/2009/10/05/parametrer-votre-mac-pour-du-developpement-local-en-utilisant-coda-wordpress-et-mamp/#comments</comments>
		<pubDate>Mon, 05 Oct 2009 14:13:11 +0000</pubDate>
		<dc:creator>xtof</dc:creator>
				<category><![CDATA[Featured]]></category>
		<category><![CDATA[ressources]]></category>
		<category><![CDATA[traduction]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[développement.]]></category>
		<category><![CDATA[Mac OS X]]></category>
		<category><![CDATA[tutorial]]></category>
		<category><![CDATA[web design]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://christopheducamp.com/ProjetBlog/?p=126</guid>
		<description><![CDATA[Wordpress n'est pas uniquement une plateforme de blogs. Mais c'est aussi un système de gestion de contenu vraiment sophistiqué que vous pouvez utiliser pour développer et gérer des sites web de clients professionnels. Encore mieux, il est complètement gratuit. Pour démarrer vos expérimentations, il est pratique de faire vos bricolages sans publier des fichiers sur l'internet. Ainsi vous trouverez ci-après un kit de bricolage complet pour expérimenter en local sur votre Mac. (682 mots)]]></description>
			<content:encoded><![CDATA[<p></p><blockquote><p><img style="float: right; padding: 0 0.5em;" src="http://christopheducamp.com/ProjetBlog/wp-content/uploads/2009/10/ProjetBlog20091005.jpg" alt="icône sites sur Coda" /> Ce billet est une traduction localisée (et testée) d&#8217;un <a href="http://jayrobinson.org/2009/08/10/setting-up-your-mac-for-local-development-using-coda-wordpress-mamp/">article original</a> de  <cite class="vcard"><a class="url fn" href="http://jwr.cc/">Jay Robinson</a></cite> qui pourrait bien m&#8217;aider dans le futur pour essayer une débauche de thèmes Wordpess. Et qui sait, envisager un jour de publier sur une plateforme <a title="Code HTML Intrinsèquement Classe" href="http://microformats.org/wiki/posh-fr">CHIC</a>&#8230;.</p></blockquote>
<p>WordPress n&#8217;est pas qu&#8217;une plateforme de blogs. Mais c&#8217;est aussi un système de gestion de contenu vraiment sophistiqué que vous pouvez utiliser pour développer et gérer des sites web de clients professionnels. Mieux encore, il est complètement gratuit. Pour démarrer vos expérimentations, ça peut être pratique et moins stressant de faire vos bricolages sans publier de fichiers sur internet. Vous trouverez donc ci-après un kit complet pour expérimenter en local sur votre Mac.</p>
<p>Dans ce tutoriel, je décrirai comment paramétrer un fichier sur votre Mac que vous pourrez utiliser pour pratiquer la construction de sites web avec PHP et une base de données MySQL. Mais avant de démarrer, vous aurez besoin :</p>
<ol>
<li>d&#8217;un <a title="Apple Mac" href="http://www.apple.com/fr/getamac/">Mac</a></li>
<li>d&#8217;un <a title="Coda est un très bon éditeur" href="http://www.panic.com/coda/">éditeur de texte</a></li>
<li>d&#8217;un <a title="Safari" href="http://www.apple.com/fr/safari/">navigateur web</a></li>
</ol>
<p>Commençons :</p>
<p>1. Téléchargez WordPress à partir de <a title="wordpress.org" href="http://www.wordpress.org/">WordPress.org</a> (ou sur le <a title="fr.wordpress.org" href="http://fr.wordpress.org/">site francophone pour une version traduite</a>). Décompressez le fichier obtenu dans un dossier appelé &laquo;&nbsp;wordpress&nbsp;&raquo;.  Renommez-le VOTRE_NOM_PROJET (le mien s&#8217;appellera &laquo;&nbsp;Projet Microformats&nbsp;&raquo; pour illustrer l&#8217;exemple). Glissez-le dans le dossier Sites que vous trouverez dans votre répertoire utilisateur.  Pour un accès plus facile, j&#8217;ai ajouté le répertoire Sites dans le répertoire latéral de ma fenêtre du Finder :</p>
<p><img class="alignleft" title="Arborescence Fichier Sites" src="http://christopheducamp.com/ProjetBlog/wp-content/uploads/2009/10/ProjetMicroformats-1-1.jpg" alt="Arborescence Fichier Sites" /></p>
<p>2. <a title="MAMP" href="http://www.mamp.info/">Téléchargez le logiciel gratuit MAMP</a> à partir de Mamp.info et installez la dernière version. MAMP veut dire Mac, Apache, MySQL et PHP. Cette application aide à gérer vos bases de données MySQL de manière directe et conviviale. Ouvrez l&#8217;application et cliquez sur “Preferences…”, puis sélectionnez l&#8217;onglet &laquo;&nbsp;Apache&nbsp;&raquo; pour sélectionner notre Document Racine.</p>
<p><img src="http://christopheducamp.com/ProjetBlog/wp-content/uploads/2009/10/MAMP-2.jpg" alt="définition chemin pour accéder au document racine" /></p>
<p>Nous voulons sélectionner le répertoire Sites situé dans le répertoire &laquo;&nbsp;Home&nbsp;&raquo;. Le chemin devrait lire /Users/VOTRE_NOM_UTILISATEUR_MAC_OS_X/Sites. Une fois MAMP activé, vous devez voir des feux verts. Testez-le pour voir s&#8217;il fonctionne en ouvrant votre navigateur et en allant sur http://localhost:8888/. Vous devriez voir les contenus de votre répertoire ~/Sites. Rappelez-vous que nous préparons un environnement de développement local. &laquo;&nbsp;Localhost&nbsp;&raquo; veut dire votre ordinateur, aussi personne d&#8217;autre dans le monde ne pourra voir ces fichiers dans son navigateur web.</p>
<p>Bon, MAMP fonctionne, et MySQL attend juste de notre part que nous lui donnions quelques tables de bases de données. Allez sur <a href=" http://localhost:8888/MAMP"> http://localhost:8888/MAMP</a> (doit être tout en capitales) puis cliquez sur “phpMyAdmin”. Une fois là, saisissez le nom de votre projet dans le champ &laquo;&nbsp;créer votre base de données&nbsp;&raquo; avec VOTRE_NOM_PROJET. Mon nom de base de données sera &laquo;&nbsp;ProjetMicroformats&nbsp;&raquo; pour coller à mon projet :</p>
<p><img src="http://christopheducamp.com/ProjetBlog/wp-content/uploads/2009/10/MAMP-1-1.jpg" alt="ajouter une bdd dans MAMP" /></p>
<p>3. Maintenant, nous n&#8217;avons plus qu&#8217;à faire correspondre WordPress avec la base de données. Accédez à VOTRE_NOM_PROJET dans ~/Sites et renommez le fichier wp-config-sample.php en wp-config.php. Ouvrez le fichier pour éditer le contenu. DB_NAME veut dire nom de la base de données, aussi entrez VOTRE_NOM_PROJET. Les DB_USER et DB_PASSWORD sont tous deux réglés sur “root”. Laissez “localhost” pour le serveur, parce que le serveur est votre ordinateur local :</p>
<p><img class="size-medium wp-image-129" title="wp-config" src="http://christopheducamp.com/ProjetBlog/wp-content/uploads/2009/10/wp-config.jpg" alt="réglage wp-config.php en local" /></p>
<p>4) Visitez la page http://localhost:8888/VOTRE_NOM_PROJET et vous tomberez sur la fameuse installation de WordPress en 5 minutes. Paramétrez le nom du blog et l&#8217;e-mail, et on vous donnera un mot de passe. (Je copie et colle ce mot de passe généré pour rentrer dans WordPress, puis le change immédiatement vers quelque chose de plus facile à retenir. J&#8217;utilise un mot de passe simple pour tous mes sites de développement WordPress, parce qu&#8217;ils ne sont pas sur l&#8217;internet) :</p>
<p><img class="size-medium wp-image-130" title="WordPress" src="http://christopheducamp.com/ProjetBlog/wp-content/uploads/2009/10/WordPress-»-Installation-1.jpg" alt="Wordpress installation en 5 minutes" /></p>
<p>WordPress est configuré pour tourner sur votre ordinateur, mais ne sera accessible que localement. La dernière étape est de paramétrer Coda pour accéder au répertoire.</p>
<p>5) Allez sur Coda, cliquez sur le bouton Sites (commande 1) et cliquez sur “Add Site…” (tout en bas de la fenêtre). Si vous développez localement, ceci sera utilisé simplement pour générer une vignette afin de voir votre projet dans Coda. Ce peut être la même URL, par exemple : http://localhost:8888/VOTRE_NOM_PROJET</p>
<dl>
<dt>Nickname</dt>
<dd>VOTRE_NOM_PROJET</dd>
<dt>Remote Root</dt>
<dd>Laissez ce champ tranquille</dd>
<dt>Local Root</dt>
<dd>Vous pouvez utiliser le bouton &laquo;&nbsp;Set&nbsp;&raquo; du navigateur pour trouver votre répertoire projet dans le répertoire Sites, ou copier et coller ce modèle : /Users/VOTRE_NOMUTILISATEUR_MAC_OS_X/Sites/VOTRE_NOM_PROJET</dd>
<dt>Connecting, Terminal and Source Control</dt>
<dd>Laissez ces champs. Vous ne devez pas les configurer pour le développement local.</dd>
</dl>
<p><img class="size-medium wp-image-130" src="http://christopheducamp.com/ProjetBlog/wp-content/uploads/2009/10/ParametrageCodaAjouterSite.jpg" alt="Wordpress installation en 5 minutes" /></p>
]]></content:encoded>
			<wfw:commentRss>http://christopheducamp.com/ProjetBlog/2009/10/05/parametrer-votre-mac-pour-du-developpement-local-en-utilisant-coda-wordpress-et-mamp/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Je veux un blog hAtomique !</title>
		<link>http://christopheducamp.com/ProjetBlog/2009/10/04/je-veux-un-blog-hatomique/</link>
		<comments>http://christopheducamp.com/ProjetBlog/2009/10/04/je-veux-un-blog-hatomique/#comments</comments>
		<pubDate>Sun, 04 Oct 2009 19:54:28 +0000</pubDate>
		<dc:creator>xtof</dc:creator>
				<category><![CDATA[hatom]]></category>
		<category><![CDATA[microformats]]></category>
		<category><![CDATA[ressources]]></category>
		<category><![CDATA[traduction]]></category>
		<category><![CDATA[accessibilité]]></category>
		<category><![CDATA[emilylewis]]></category>
		<category><![CDATA[hAccessibility]]></category>
		<category><![CDATA[hcard]]></category>
		<category><![CDATA[rel-bookmark]]></category>
		<category><![CDATA[rel-tag]]></category>
		<category><![CDATA[semantics]]></category>
		<category><![CDATA[standards     syndication]]></category>
		<category><![CDATA[web design]]></category>
		<category><![CDATA[xhtml]]></category>

		<guid isPermaLink="false">http://christopheducamp.com/ProjetBlog/?p=113</guid>
		<description><![CDATA[Ce qui suit s'inscrit dans la poursuite de travaux visant à mieux faire connaître les microformats. Vous trouverez ci-après une traduction en cours d'un article d'Emily Lewis publié le 15 octobre dernier sur son blog personnel. Ce billet s'inscrit dans la volonté "d'hAtomiser" et de donner du sens à c ce thème Wordpress tout frais fourni par Elegant Theme - (3069 mots)]]></description>
			<content:encoded><![CDATA[<p></p><p><em>Ce qui suit s&#8217;inscrit dans la poursuite de travaux visant à mieux faire connaître les microformats. Vous trouverez ci-après une traduction en cours d&#8217;un article d&#8217;<cite class="vcard"><a class="fn url" rel="colleague" href="http://www.ablognotlimited.com/about/">Emily Lewis</a></cite> publié le 15 octobre dernier sur son blog personnel. Seul <a title="a blog not limited" href="http://www.ablognotlimited.com/articles/getting-semantic-with-microformats-part-5-hatom/">le lien original fait référence</a>. Vous pouvez m&#8217;aider à raffiner le contenu en ajoutant vos commentaires ou en <a title="xtofwiki" href="http://socialsynergyweb.net/cgi-bin/wiki/XtofWiki?action=edit;id=ParvenirALaS%C3%A9mantiqueAvecLesMicroformatsPartieCinq">éditant directement le code posé sur la page miroir de mon wiki-personnel</a>. Ce billet s&#8217;inscrit dans la volonté &laquo;&nbsp;d&#8217;hAtomiser&nbsp;&raquo; ce thème WordPress fourni par Elegant Themes.<br />
</em></p>
<h2>Parvenir au Sémantique avec les Microformats : 5° partie &#8211; hAtom</h2>
<p class="intro">Durant le cheminement de <a href="http://christopheducamp.com/ProjetBlog/2008/09/20/obtenir-de-la-semantique-avec-les-microformats-introduction/">cette série</a>, j&#8217;ai discuté des différents microformats implémentés sur <a href="http://www.ablognotlimited.com/">A Blog Not Limited</a> : <a href="http://christopheducamp.com/ProjetBlog/2008/09/20/obtenir-de-la-semantique-avec-les-microformats-1%C2%B0-partie-rel/">basés-sur-le-rel</a>, <a href="http://christopheducamp.com/ProjetBlog/2008/09/21/emily-lewis-parvenir-a-la-semantique-avec-les-microformats-2eme-partie-xfn/">XFN</a>, <a href="http://christopheducamp.com/ProjetBlog/2008/10/18/emily-lewis-parvenir-a-la-semantique-avec-les-microformats-3eme-partie-hcard/">hCard</a> et <a href="http://christopheducamp.com/ProjetBlog/2008/10/18/emily-lewis-parvenir-a-la-semantique-avec-les-microformats-4eme-partie-hcalendar/">hCalendar</a>.</p>
<p>Maintenant, il est temps de parler du <a title="wiki des microformats" href="http://microformats.org/wiki/hatom-fr">microformat hAtom</a>, qui ajoute de la sémantique et de la structure au <strong>contenu web qui pourrait être syndiqué</strong>, comme les billets de blog ou les articles d&#8217;actualités.</p>
<h4>L&#8217;Histoire : Atom</h4>
<p>Le microformat hAtom est basé sur le format de syndication <acronym title="eXtensible Markup Language">XML</acronym> <a href="http://www.atomenabled.org/">Atom</a>.</p>
<p>A la différence de la représentation <abbr title="One to one">1:1</abbr> de hCard et hCalendar vers vCard et  vCalendar, le schéma hAtom n&#8217;est pas une réflexion <em>exacte</em> d&#8217;Atom.</p>
<p>Atom est un modèle robuste qui fournit bien plus de fonctionnalités que celles requises pour les contenus tels que des billets de blog. En tant que tel, hAtom utilise uniquement le minimum d&#8217;éléments requis ; c&#8217;est plus un sous-ensemble d&#8217;Atom.</p>
<p>Ceci dit, les propriétés et sous-propriétés hAtom sont basées sur les éléments correspondants dans la nomenclature hAtom.</p>
<h5>Micro-contenu <em>Pas Nécessairement</em> de la Syndication</h5>
<p>Même si hAtom est basé sur Atom, hAtom en lui-même <em>n&#8217;est pas un format de syndication</em>. L&#8217;auteur et éditeur de hAtom, <cite class="vcard"><a class="fn url" title="blog.davidjanes" rel="colleague muse" href="http://blog.davidjanes.com/">David Janes</a></cite> <a title="blogmatrix" href="http://blogmatrix.blogmatrix.com/:entry:blogmatrix-2007-08-06-0001/">explique</a> :</p>
<blockquote class="internal" cite="http://blogmatrix.blogmatrix.com/:entry:blogmatrix-2007-08-06-0001/"><p>… hAtom n&#8217;a jamais été conçu pour être un &laquo;&nbsp;format de syndication&nbsp;&raquo; ni pour concurrencer Atom ou RSS. Il est simplement conçu pour décrire le microcontenu sur les pages web, comme des billets de blog. Nous avons utilisé Atom parce qu&#8217;il fournit une nomenclature bien définie pour décrire de tels éléments.</p></blockquote>
<p>Ainsi, hAtom n&#8217;est pas <em>exclusivement</em> pour le contenu web qui pourrait être syndiqué. Néanmoins, pour les besoins de cet article, je parlerai des billets de blog, qui sont généralement syndiqués.</p>
<h4>L&#8217;Essentiel</h4>
<p>Avant de rentrer dans les détails de hAtom, jetons un œil sur quelques règles fondamentales (similaires à celles pour hCard et hCalendar) :</p>
<ul>
<li>Les propriétés et sous-propriétés sont exprimées en valeurs <code>class</code>.</li>
<li>Du fait de la relation avec Atom, les propriétés et sous-propriétés spécifiées hAtom reflètent les concepts des éléments hAtom.</li>
<li>Les noms de propriété et sous-propriété sont sensibles à la casse.</li>
<li>La propriété &laquo;&nbsp;racine&nbsp;&raquo; ne peut pas être combinée avec n&#8217;importe laquelle de ses propriétés/sous-propriétés. De ce fait <code>&lt;p class="hfeed author"&gt;</code> est invalide.</li>
</ul>
<p>Et tout comme avec les autres microformats, <strong>le marquage utilisé n&#8217;est pas important</strong> (même s&#8217;il <em>devrait</em> être à la fois valide et sémantique.)</p>
<p>Les <em><strong>valeurs Class (propriétés/sous-propriétés)</strong></em> sont celles qui définissent le microformats hAtom.</p>
<h4>Le Profil</h4>
<p>Si vous choisissez d&#8217;implémenter hAtom, vous devriez aussi référencer son profil dans le <code>&lt;head&gt;</code> des pages web qui incluent le microformat :</p>
<p class="code"><code>&lt;head <strong>profile="http://purl.org/uF/hAtom/0.1/"</strong>&gt;</code></p>
<p>Pour hCard et hCalendar, j&#8217;ai mentionné l&#8217;usage du profil combiné, qui couvre tous les <em>microformats non-draft</em> :</p>
<p class="code"><code>&lt;head profile="<strong>http://purl.org/uF/2008/03/</strong>"&gt;</code></p>
<p>Néanmoins, hAtom est une <em>spécification draft</em> et son profil n&#8217;est pas couvert dans le profil combiné. Aussi, vous aurez besoin de spécifier explicitement son profil.</p>
<p>Si vous référencez aussi le profil combiné, vous ajoutez simplement le profil hAtom (Le <acronym title="World Wide Web Consortium">W3C</acronym> autorise <a title="Link opens off this site" href="http://www.w3.org/TR/REC-html40/struct/global.html#adef-profile">plusieurs valeurs de profil</a>, séparées par un espace blanc) :</p>
<p class="code"><code>&lt;head profile="<strong>http://purl.org/uF/2008/03/</strong> <strong>http://purl.org/uF/hAtom/0.1/</strong>"&gt;</code></p>
<h4>Exemple : Billet Unique</h4>
<p>Bon, assez parlé des origines. Voici comment j&#8217;implémente hAtom sur ma page de contenu avec l&#8217;article complet :</p>
<ol class="code">
<li><code>&lt;div <strong>class="hentry"</strong>&gt;</code></li>
<li> <code>&lt;h3 <strong>class="entry-title"</strong>&gt;L'Accessiblité Web Est Importante&lt;/h3&gt;</code></li>
<li> <code>&lt;abbr <strong>class="published"</strong> title="2008-08-28T13:14:37-07:00"&gt;28 août 2008&lt;/abbr&gt;</code></li>
<li> <code>&lt;p class="category"&gt;&lt;a href="http://www.ablognotlimited.com/articles/category/commentaries/" <strong>rel="tag"</strong>&gt;Commentaires&lt;/a&gt;&lt;/p&gt;</code></li>
<li> <code>&lt;p&gt;&lt;a href="#commentForm" title="Postez votre commentaire"&gt;Quelque chose à ajouter ?&lt;/a&gt;&lt;/p&gt;</code></li>
<li> <code>&lt;div <strong>class="entry-content"</strong>&gt;</code></li>
<li> <code>&lt;p&gt;The National Federation of the Blind v. Target lawsuit was settled this past Wednesday on the following key terms:&lt;/p&gt;</code></li>
<li> …</li>
<li> <code>&lt;/div&gt;</code></li>
<li> <code>&lt;dl&gt;</code></li>
<li> <code>&lt;dt&gt;Tags:&lt;/dt&gt;</code></li>
<li> <code>&lt;dd&gt;&lt;a href="http://www.ablognotlimited.com/articles/tag/accessibility/" <strong>rel="tag"</strong>&gt;accessibility&lt;/a&gt;&lt;/dd&gt;</code></li>
<li> <code>&lt;dd&gt;&lt;a href="http://www.ablognotlimited.com/articles/tag/standards/" <strong>rel="tag"</strong>&gt;standards&lt;/a&gt;&lt;/dd&gt;</code></li>
<li> <code>&lt;dd&gt;&lt;a href="http://www.ablognotlimited.com/articles/tag/web+design/" <strong>rel="tag"</strong>&gt;web design&lt;/a&gt;&lt;/dd&gt;</code></li>
<li> <code>&lt;/dl&gt;</code></li>
<li><code>&lt;/div&gt;</code></li>
</ol>
<h5>Propriété Racine : <code>hfeed</code></h5>
<p>La racine de hAtom est <code>hfeed</code>, qui peut contenir une ou plusieurs entrées (dans cet exemple, les entrées sont des billets de blog).</p>
<p>Cette propriété racine est <em>optionelle</em>. Si elle n&#8217;est pas incluse, elle est supposée sur la page elle-même, ce qui est ce que j&#8217;ai fait (ou plutôt <em>pas</em> fait) dans l&#8217;exemple au-dessus.</p>
<p>Si c&#8217;est nécessaire, une page donnée peut avoir plusieurs <code>hfeed</code>s.</p>
<h5>Propriété Requise : <code>hentry</code></h5>
<p>Chaque entrée doit être contenue avec la propriété <code>hentry</code>. Comme je le précisais, on peut appliquer là une ou plusieurs (illimité) propriétés <code>hentry</code>.</p>
<p>Pour cet exemple, il n&#8217;y a qu&#8217;un <code>hentry</code> parce que cette implémentation est sur une page avec le contenu complet d&#8217;un unique billet de blog. Je discuterai plus tard dans cet article de plusieurs entrées.</p>
<p>La propriété <code>hentry</code> <strong>contient toute l&#8217;information concernant l&#8217;entrée</strong>.</p>
<h5>Sous-Propriété Requise : <code>entry-title</code></h5>
<p>L&#8217;une des sous-propriétés requises est <code>entry-title</code>, qui <strong>indique le titre de l&#8217;entrée</strong>.</p>
<p>Dans mon exemple, j&#8217;ai appliqué <code>entry-title</code> à un <code>&lt;h3&gt;</code> parce qu&#8217;en tant que titre, cela fait sens sémantiquement d&#8217;embarquer ça dans un titre.</p>
<h5>Sous-Propriété Requise : <code>author</code></h5>
<p>Une autre sous-propriété requise est <code>author</code>, qui <strong>indique l&#8217;auteur de l&#8217;entrée</strong>.</p>
<p>Selon la <abbr title="spécification">spec.</abbr>, le contenu embarqué par la sous-propriété <code>author</code> doit aussi être marqué avec <code>hCard</code> appliqué à un élément <code>&lt;address&gt;</code>.</p>
<h6>Attention : N&#8217;Affichez Pas le Nom de l&#8217;Auteur</h6>
<p>Il existe néanmoins des cas, mon blog y compris, où les auteurs ne se soucient pas de lister le nom de l&#8217;auteur.</p>
<p>La <a title="wiki microformats" href="http://microformats.org/wiki/hatom-fr#Entr.C3.A9e_Auteur">spec. s&#8217;adapte à cette situation</a> et lui permet d&#8217;être exclus du <code>hentry</code> <em>si la page en elle-même</em> contient l&#8217;information hCard dans un élément &lt;address&gt; assigné avec <code>class="author"</code>.</p>
<p>Cette alternative est aussi expliquée dans les <a title="FAQ hAtom" href="http://microformats.org/wiki/hatom-faq-fr"><acronym title="Frequently Asked Questions">FAQ</acronym> hAtom</a>.</p>
<p>Du fait que j&#8217;ai cette configuration de hCard dans le pied de page de toutes mes pages, j&#8217;exclus <code>author</code> de mes implémentations hAtom et elles sont encore, techniquement, valides.</p>
<p>Pour les blogs avec plusieurs auteurs qui ne souhaitent pas afficher le nom de l&#8217;auteur, il n&#8217;existe pas actuellement d&#8217;alternative valide. Le contenu <code>author</code> doit être dans le <code>hentry</code>.</p>
<p>J&#8217;imaginerais bien qu&#8217;une solution <acronym title="Cascading StyleSheets">CSS</acronym> pour supprimer l&#8217;affichage visuel (<code>display:none</code>) dans ces cas pourrait être acceptable.</p>
<h6>Attention : <code>address</code> Avec hCard</h6>
<p>Cela amène une autre problématique : l&#8217;utilisation de <code>&lt;address&gt;</code> pour hCard.</p>
<p>Comme je le précisais dans la <a href="http://socialsynergyweb.net/cgi-bin/wiki/XtofWiki/ParvenirALaS%c3%a9mantiqueAvecLesMicroformatsPartieTrois#address">3ème Partie</a>, l&#8217;utilisation de <code>&lt;address&gt;</code> pour une hCard n&#8217;est valide que si la hCard est pour le propriétaire du document. La <a title="FAQ hCard" href="http://microformats.org/wiki/hcard-faq-fr#Devrais-je_utiliser_ADDRESS_pour_les_hCards">FAQ hCard</a> déconseille d&#8217;utiliser <code>&lt;address&gt;</code> pour des hCards autres que le propriétaire du document.</p>
<p>Par conséquent, si les entrées hAtom sont rédigées par quelqu&#8217;un d&#8217;autre que le propriétaire du document, <code>&lt;address&gt;</code> ne serait pas l&#8217;élément sémantique approprié.</p>
<p>Cette problématique particulière est <a title="wiki des microformats. page à traduire" href="http://microformats.org/wiki/hatom-issues">en train d&#8217;être discutée</a>. Ce qui a été proposé est d&#8217;éliminer l&#8217;obligation d&#8217;utiliser <code>&lt;address&gt;</code>.</p>
<h5>Sous-Propriété Requise : <code>updated</code></h5>
<p>La sous-propriété <code>updated</code> est aussi requise, et elle <strong>indique les date/horaire de mise à jour de l&#8217;entrée</strong>.</p>
<p>Il y a encore là une mise en garde pour <code>updated</code> : si cette sous-propriété n&#8217;est pas définie, la sous-propriété <code>published</code> est utilisée pour indiquer les date/horaire de mise à jour d&#8217;une entrée.</p>
<p>Dans mon exemple, vous remarquerez que je n&#8217;inclus pas une sous-propriété <code>updated</code>. Néanmoins j&#8217;inclus <code>published</code>.</p>
<p>Ce qui m&#8217;amène à …</p>
<h5>Sous-propriété (optionnelle) : <code>published</code></h5>
<p>La sous-propriété optionnelle <code>published</code> est presque identique à <code>updated</code> dans le sens où elle renvoie les informations date/horaire pour l&#8217;entrée.</p>
<p>La différence principale étant que <code>published</code> est spécifique à <strong>quand l&#8217;entrée a été publiée pour la première fois</strong>, tandis qu&#8217;<code>updated</code> pourrait être la date de publication ou elle pourrait être des date/horaire ultérieurs quand l&#8217;entrée avait été mise à jour.</p>
<p>Il est aussi acceptable d&#8217;inclure <em>à la fois</em> <code>published</code> et <code>updated</code> pour décrire un élément <em>unique</em> contenant l&#8217;information de date/horaire :</p>
<p class="code"><code>&lt;abbr class="<strong>published</strong> <strong>updated</strong>" title="2008-08-28T13:14:37-07:00"&gt;28 août 2008&lt;/abbr&gt;</code></p>
<p>Dans mes implémentations, <code>published</code> seul est acceptable pour mes objectifs (et en plus sémantique), aussi c&#8217;est la sous-propriété que j&#8217;ai choisie de spécifier.</p>
<h6>Datetime Design Pattern</h6>
<div class="ins">
<p><strong>Mise à jour : 02/06/2009</strong></p>
<p>Le <a href="http://microformats.org/wiki/datetime-design-pattern-fr" title="wiki microformats">modèle-date-horaire</a> est désormais déprécié en faveur du <a href="http://microformats.org/wiki/value-class-pattern-fr" title="wiki microformats">modèle-de-classe-value</a>. Voir <a title="modèle de classe value" href="http://christopheducamp.com/ProjetBlog/2009/12/19/le-modele-de-classe-value/">cet article en attendant la partie 8 de cette série</a> pour en savoir plus sur ce nouveau pattern.</p>
</div>
<p>Tant pour <code>updated</code> que <code>published</code>, l&#8217;information date/horaire pour hAtom est recommandé pour être exprimée en utilisant le <a title="description sur le wiki des microformats" href="http://microformats.org/wiki/datetime-design-pattern-fr">datetime design pattern</a>:</p>
<p class="code"><code>&lt;<strong>abbr</strong> class="published" <strong>title="2008-08-28T13:14:37-07:00"</strong>&gt;<strong>28 août 2008</strong>&lt;/abbr&gt;</code></p>
<p>Ce pattern spécifie que l&#8217;élément conteneur est un <code>&lt;abbr&gt;</code> ayant une valeur d&#8217;attribut <code>title</code> qui reflète l&#8217;information date/horaire &laquo;&nbsp;lisible-par-les-machines&nbsp;&raquo; alors que l&#8217;information contenue (et qui s&#8217;affiche dans les navigateurs) est de l&#8217;information date/horaire &laquo;&nbsp;lisible-par-les-humains&nbsp;&raquo;.</p>
<p>Pour aller plus loin, le pattern datetime spécifie que la valeur <code>title</code> devrait être exprimée en format <a title="ISO 8601 sur le wiki microformats" href="http://microformats.org/wiki/iso-8601-fr"><acronym title="International Standards Organization">ISO</acronym> 8601</a>.</p>
<p>Pour conclure, comme je l&#8217;ai <a href="http://socialsynergyweb.net/cgi-bin/wiki/XtofWiki/ParvenirALaS%C3%A9mantiqueAvecLesMicroformatsPartieQuatre#dateTimeAccessibility">traité précédemment</a>, il y a des <a title="haccessibility sur les webstandard" href="http://www.webstandards.org/2007/04/27/haccessibility/">problématiques d&#8217;accessibilité concernant le &laquo;&nbsp;datetime design pattern&nbsp;&raquo;</a>.</p>
<p>A cette heure, ces problématiques n&#8217;ont pas été résolues, même si la communauté des microformats travaille sur cet objectif.</p>
<h5>Sous-Propriété Optionnelle : <code>entry-summary</code></h5>
<p>La sous-propriété <code>entry-summary</code> est optionnelle. Elle <strong>indique un résumé ou un extrait de l&#8217;entrée</strong>. Cette sous-propriété peut être utilisée un nombre illimité de fois dans <code>hentry</code>.</p>
<p>Sur mon blog je ne crée pas de résumé pour mes articles, aussi je n&#8217;inclus pas cette sous-propriété dans mes implémentations hAtom.</p>
<h5>Sous-Propriété Optionnelle : <code>entry-content</code></h5>
<p>Une autre sous-propriété optionnelle est <code>entry-content</code> qui <strong>indique le contenu complet de l&#8217;entrée</strong>.</p>
<p>Dans mon exemple, tout mon contenu d&#8217;article est embarqué dans un <code>&lt;div class="entry-content"&gt;</code> unique. Néanmoins, la sous-propriété <code>entry-content</code> peut être utilisée un nombre illimité de fois dans un <code>hentry</code>.</p>
<h5>Optionnelle : rel-bookmark</h5>
<p>hAtom spécifie aussi une valeur d&#8217;attribut <code>rel</code> pour <strong>indiquer le permalien de l&#8217;entrée</strong> : <code>bookmark</code>.</p>
<p>Dans la <a title="traduction sur le site des microformateurs" href="http://microformateurs.org/2008/09/20/obtenir-de-la-semantique-avec-les-microformats-1%C2%B0-partie-rel/">1<sup>ère</sup>Partie</a> de cette série, j&#8217;ai parlé des microformats-basés-sur-rel, qui sont utilisés pour indiquer la relation des liens (<code>&lt;a&gt;</code>) vers le document de destination (<code>href</code>).</p>
<p>rel-bookmark est simplement un autre exemple de description d&#8217;un lien, ce n&#8217;est pas un microformat en soi. Il n&#8217;existe seulement que comme une partie de hAtom pour décrire le permalien.</p>
<p>Si vous l&#8217;ignoriez, le permalien est l&#8217;<acronym title="Uniform Resource Locator">URL</acronym> de lien permanent pour un billet/article/entrée.</p>
<p>Avec hAtom, vous ajoutez simplement <code>rel="bookmark"</code> au permalien de l&#8217;entrée :</p>
<p class="code"><code>&lt;a href="http://www.ablognotlimited.com/articles/web-accessibility-is-important/" <strong>rel="bookmark"</strong>&gt;L'Accessibilité Web Est Importante&lt;/a&gt;</code></p>
<p>Vous pourrez remarquer que je n&#8217;ai pas de permalien dans mon premier exemple. Ceci parce que je suis généralement la règle du –of–thumb pour ne pas fournir un lien actif vers la page en cours (<a title="useit.com Jakob Nielsen" href="http://www.useit.com/alertbox/20031110.html">Nielsen&#8217;s #10 of the Ten Most Violated Homepage Design Guidelines</a>).</p>
<p>Et parce que rel-bookmark est optionnel, mon hAtom demeure techniquement valide.</p>
<p>Si un <code>hentry</code> n&#8217;a pas de permalien indiqué, l&#8217;URL de la page est utilisée. Pour aller plus loin, si le  <code>hentry</code> a un attribut <code>id</code> défini, cette valeur là est ajoutée à l&#8217;URL pour identifier les entrées individuelles.</p>
<h5>Catégories en Combinant les Microformats</h5>
<p>J&#8217;ai aussi mentionné le <a title="rel-tag sur le wiki microformats" href="http://microformats.org/wiki/rel-tag-fr">microformat rel-tag</a> dans la <a href="http://microformateurs.org/2008/09/20/obtenir-de-la-semantique-avec-les-microformats-1%C2%B0-partie-rel/">1<sup>ère</sup> Partie</a>.</p>
<p>Il est ajouté aux liens (<code>&lt;a&gt;</code>) qui <strong>indiquent ce qu&#8217;une page — ou une partie de cette page— traite</strong>. Basiquement, une organisation/categorisation avec le &laquo;&nbsp;tagage,&nbsp;&raquo; qui est très répandu dans les blogs.</p>
<p>hAtom tire partie de l&#8217;information rel-tag (la beauté de combiner les microformats) contenue à la fois dans <code>hfeed</code> et <code>hentry</code> :</p>
<ul>
<li>Les liens assignés <code>rel="tag"</code> qui apparaissent <em>dans</em> un <code>hfeed</code> (souvenez-vous, ce peut être exclus et supposé sur la page) <em>mais en dehors</em> du <code>hentry</code> sont considérés comme des &laquo;&nbsp;feed categories.&nbsp;&raquo;</li>
<li>Les liens assignés <code>rel="tag"</code> qui sont contenus dans <code>hentry</code> sont considérés comme des &laquo;&nbsp;entry categories.&nbsp;&raquo;</li>
</ul>
<p>Dans mon exemple, j&#8217;inclus des liens rel-tag dans mon <code>hentry</code> pour à la fois le lien &laquo;&nbsp;Category&nbsp;&raquo; et mes liens &laquo;&nbsp;Tags&nbsp;&raquo; :</p>
<p class="code"><code>&lt;p class="category"&gt;&lt;a href="http://www.ablognotlimited.com/articles/category/<strong>commentaires</strong>/" <strong>rel="tag"</strong>&gt;Commentaires&lt;/a&gt;&lt;/p&gt;</code></p>
<p class="code"><code>&lt;dd&gt;&lt;a href="http://www.ablognotlimited.com/articles/tag/<strong>web+design</strong>/" <strong>rel="tag"</strong>&gt;web design&lt;/a&gt;&lt;/dd&gt;</code></p>
<p>Remarquez que la spécification rel-tag exige que le lien destination (<code>href</code>) inclut la véritable valeur  du &laquo;&nbsp;tag&nbsp;&raquo; comme segment final de la valeur d&#8217;URL. Ceci est connu comme &laquo;&nbsp;tagspace.&nbsp;&raquo;</p>
<h4>Exemple : Plusieurs Billets</h4>
<p>Maintenant que j&#8217;ai couvert les détails de hAtom, j&#8217;ai pensé que je pourrais aussi présenter un exemple sur la façon dont cela pourrait être implémenté pour aller plus loin qu&#8217;une entrée unique.</p>
<p>Sur mon blog, j&#8217;ai aussi ajouté hAtom sur ma page d&#8217;accueil pour présenter mes trois articles les plus récents :</p>
<ol class="code">
<li><code>&lt;div <strong>class="hentry"</strong>&gt;</code></li>
<li> <code>&lt;h3 <strong>class="entry-title"</strong>&gt;&lt;a href="http://www.ablognotlimited.com/articles/web-accessibility-is-important/" <strong>rel="bookmark"</strong>&gt;Web Accessibility Is Important&lt;/a&gt;&lt;/h3&gt;</code></li>
<li> <code>&lt;abbr <strong>class="published"</strong> title="2008-08-28T13:14:37-07:00"&gt;Aug 28, 2008&lt;/abbr&gt;</code></li>
<li> <code>&lt;p class="category"&gt;&lt;a href="http://www.ablognotlimited.com/articles/category/commentaries/" <strong>rel="tag"</strong>&gt;Commentaries&lt;/a&gt;&lt;/p&gt;</code></li>
<li> <code>&lt;div <strong>class="entry-content"</strong>&gt;</code></li>
<li> <code>&lt;p&gt;The National Federation of the Blind v. Target lawsuit was settled this past Wednesday on the following key terms:&lt;/p&gt;</code></li>
<li> …</li>
<li> <code>&lt;/div&gt;</code></li>
<li> <code>&lt;p&gt;&lt;a href="http://www.ablognotlimited.com/articles/web-accessibility-is-important/" <strong>rel="bookmark"</strong>&gt;Continue Reading&lt;/a&gt;&lt;/p&gt;</code></li>
<li> <code>&lt;dl&gt;</code></li>
<li> <code>&lt;dt&gt;Tags:&lt;/dt&gt;</code></li>
<li> <code>&lt;dd&gt;&lt;a href="http://www.ablognotlimited.com/articles/tag/accessibility/" <strong>rel="tag"</strong>&gt;accessibility&lt;/a&gt;&lt;/dd&gt;</code></li>
<li> <code>&lt;dd&gt;&lt;a href="http://www.ablognotlimited.com/articles/tag/standards/" <strong>rel="tag"</strong>&gt;standards&lt;/a&gt;&lt;/dd&gt;</code></li>
<li> <code>&lt;dd&gt;&lt;a href="http://www.ablognotlimited.com/articles/tag/web+design/" <strong>rel="tag"</strong>&gt;web design&lt;/a&gt;&lt;/dd&gt;</code></li>
<li> <code>&lt;/dl&gt;</code></li>
<li><code>&lt;/div&gt;</code></li>
<li><code>&lt;div <strong>class="hentry"</strong>&gt;</code></li>
<li> <code>&lt;h3 <strong>class="entry-title"</strong>&gt;&lt;a href="http://www.ablognotlimited.com/articles/plateau/" <strong>rel="bookmark"</strong>&gt;Plateau&lt;/a&gt;&lt;/h3&gt;</code></li>
<li> <code>&lt;abbr <strong>class="published"</strong> title="2008-08-27T13:59:51-07:00"&gt;Aug 27, 2008&lt;/abbr&gt;</code></li>
<li> <code>&lt;p class="category"&gt;&lt;a href="http://www.ablognotlimited.com/articles/category/commentaries/" <strong>rel="tag"</strong>&gt;Commentaries&lt;/a&gt;&lt;/p&gt;</code></li>
<li> <code>&lt;div <strong>class="entry-content"</strong>&gt;</code></li>
<li> <code>&lt;p&gt;As I posted previously, I'm doing the one hundred push ups challenge: a six-week program designed to get me able to do 100 consecutive push ups. I am now on my seventh week.&lt;/p&gt;</code></li>
<li> <code>&lt;/div&gt;</code></li>
<li> <code>&lt;p&gt;&lt;a href="http://www.ablognotlimited.com/articles/plateau/" <strong>rel="bookmark"</strong>&gt;Continue Reading&lt;/a&gt;&lt;/p&gt;</code></li>
<li> <code>&lt;dl&gt;</code></li>
<li> <code>&lt;dt&gt;Tags:&lt;/dt&gt;</code></li>
<li> <code>&lt;dd&gt;&lt;a href="http://www.ablognotlimited.com/articles/tag/exercise/" <strong>rel="tag"</strong>&gt;exercise&lt;/a&gt;&lt;/dd&gt;</code></li>
<li> <code>&lt;dd&gt;&lt;a href="http://www.ablognotlimited.com/articles/tag/fitness/" <strong>rel="tag"</strong>&gt;fitness&lt;/a&gt;&lt;/dd&gt;</code></li>
<li> <code>&lt;dd&gt;&lt;a href="http://www.ablognotlimited.com/articles/tag/push+ups/" <strong>rel="tag"</strong>&gt;push ups&lt;/a&gt;&lt;/dd&gt;</code></li>
<li> <code>&lt;/dl&gt;</code></li>
<li><code>&lt;/div&gt;</code></li>
<li><code>&lt;div <strong>class="hentry"</strong>&gt;</code></li>
<li> <code>&lt;h3 <strong>class="entry-title"</strong>&gt;&lt;a href="http://www.ablognotlimited.com/articles/getting-semantic-with-microformats-introduction/" <strong>rel="bookmark"</strong>&gt;Getting Semantic With Microformats, Introduction&lt;/a&gt;&lt;/h3&gt;</code></li>
<li> <code>&lt;abbr <strong>class="published"</strong> title="2008-09-05T07:05:34-07:00"&gt;Sep 5, 2008&lt;/abbr&gt;</code></li>
<li> <code>&lt;p class="category"&gt;&lt;a href="http://www.ablognotlimited.com/articles/category/commentaries/" <strong>rel="tag"</strong>&gt;Commentaries&lt;/a&gt;&lt;/p&gt;</code></li>
<li> <code>&lt;div <strong>class="entry-content"</strong>&gt;</code></li>
<li> <code>&lt;p&gt;I'm an organizer with a sometimes frustrating need to pay attention to the smallest details.&lt;/p&gt;</code></li>
<li> …</li>
<li> <code>&lt;/div&gt;</code></li>
<li> <code>&lt;p&gt;&lt;a href="http://www.ablognotlimited.com/articles/getting-semantic-with-microformats-introduction/" <strong>rel="bookmark"</strong>&gt;Continue Reading&lt;/a&gt;&lt;/p&gt;</code></li>
<li> <code>&lt;dl&gt;</code></li>
<li> <code>&lt;dt&gt;Tags:&lt;/dt&gt;</code></li>
<li> <code>&lt;dd&gt;&lt;a href="http://www.ablognotlimited.com/articles/tag/French+translation/" <strong>rel="tag"</strong>&gt;French translation&lt;/a&gt;&lt;/dd&gt;</code></li>
<li> <code>&lt;dd&gt;&lt;a href="http://www.ablognotlimited.com/articles/tag/hAtom/" <strong>rel="tag"</strong>&gt;hAtom&lt;/a&gt;&lt;/dd&gt;</code></li>
<li> <code>&lt;dd&gt;&lt;a href="http://www.ablognotlimited.com/articles/tag/hCalendar/" <strong>rel="tag"</strong>&gt;hCalendar&lt;/a&gt;&lt;/dd&gt;</code></li>
<li> …</li>
<li> <code>&lt;/dl&gt;</code></li>
<li><code>&lt;/div&gt;</code></li>
</ol>
<p>Remarquez que dans cet exemple, j&#8217;utilise plusieurs instances de <code>hentry</code> ; une pour chaque article.</p>
<p>Remarquez aussi que j&#8217;indique les permaliens pour chacune des entrées (dans les liens pour le titre et &laquo;&nbsp;Continue Reading&nbsp;&raquo;) parce que ce ne sont pas des liens vers la page en cours.</p>
<p>A part ces deux différences, hAtom est implémenté de la même façon que dans mon premier exemple.</p>
<h4>Implémentations Potentielles</h4>
<p>Pour aller au delà des deux exemples présentés ici, il existe beaucoup <a title="wiki microformats" href="http://microformats.org/wiki/hatom-examples-fr">d&#8217;autres possibilités d&#8217;implémenter</a> :</p>
<ul>
<li>Une liste d&#8217;entrée qui apparaît sur une page d&#8217;archives</li>
<li>Les Résultats de recherche pour les entrées</li>
<li>Les &laquo;&nbsp;Bulletin board&nbsp;&raquo;</li>
<li>Les commentaires</li>
</ul>
<p>J&#8217;envisage d&#8217;implémenter hAtom sur mes propres archives et les pages des résultats de recherche (et peut-être même les commentaires, parce qu&#8217;ils ont besoin de hCard) dès que j&#8217;aurai un peu de temps libre pour modifier mon marquage.</p>
<h4>Statut Projet</h4>
<p>De tous les microformats que j&#8217;ai couvert dans cette série, hAtom fût le plus difficile. Je soupçonne personnellement que cela est dû au fait que c&#8217;est une spécification à l&#8217;état de projet (draft).</p>
<p>Basiquement, les défis que j&#8217;ai rencontrés sont minimes, mais légèrement frustrants :</p>
<ul>
<li>Il y a <strong>beaucoup</strong> moins d&#8217;information disponible sur la spécification hAtom et ses propriétés/sous-propriétés.</li>
<li>Il existe plusieurs <a title="wiki microformats : une page à traduire en français" href="http://microformats.org/wiki/hatom-issues">problématiques ouvertes</a> en cours de discussion qui font que c&#8217;est ambitieux d&#8217;implémenter hAtom (par ex. l&#8217;utilisation de <code>&lt;address&gt;</code>).</li>
<li>Bien moins de ressources/outils disponibles, comparé aux autres microformats.</li>
<li>Les générateurs disponibles hAtom et parseurs ne (me) semblent pas être aussi à jour que la spec en elle-même. Ainsi, ils ne semblent pas prendre en considération les mises en garde que j&#8217;ai évoquées. (par exemple exclure <code>author</code> et rel-bookmark).</li>
</ul>
<p>A cette heure, de mon point de vue, c&#8217;est tout ce qu&#8217;on attend d&#8217;une spécification projet. Elle est encore sujette à modification, travaux et discussions.</p>
<p>Je ne pense pas néanmoins, que cela dise que vous ne devriez pas implémenter hAtom, ou au minimum commencer à vous y familiariser. Au lieu de cela, essayez-là et soyez conscients que la spécification est en état de flux (relativement minimal).</p>
<h4>Outils &amp; Ressources</h4>
<p>Bien qu&#8217;ayant mentionné le fait qu&#8217;il y a comparativement bien moins d&#8217;outils et ressources hAtom disponibles, il en existe quelques-uns là :</p>
<ul>
<li>Le <a title="thème Sandbox pour WordPress" href="http://www.plaintxt.org/themes/sandbox/">Thème WordPress Sandbox</a> est un thème &laquo;&nbsp;squelette&nbsp;&raquo; qui peut être utilisé comme base pour des thèmes <abbr title="WordPress">WP</abbr> personnalisés <em>et</em> il supporte hAtom.</li>
<li><cite class="vcard"><a class="fn url" title="frances berriman" rel="colleague muse" href="http://fberriman.com/">Frances Berriman</a></cite> a créé une boucle WP <a title="boucle WP hAtom" href="http://fberriman.com/2006/08/07/implementing-hatom-the-entries-code/">hAtom <acronym title="Hypertext Preprocessor">PHP</acronym></a> qui peut être ajoutée aux thèmes WP existants.</li>
<li><cite class="vcard"><a class="fn url" title="Michael Kaply" rel="colleague" href="http://www.kaply.com/weblog/">Michael Kaply</a></cite> a créé <a title="script utilisateur hAtom" href="http://www.kaply.com/weblog/operator-user-scripts/">un script utilisateur hAtom</a> pour <a title="Link opens off this site" href="https://addons.mozilla.org/en-US/firefox/addon/4106">l&#8217;extension Operator</a> de Firefox. Ce script ajoute une fonctionnalité supplémentaire de mise en signets pour les occurences <code>hentry</code>. (Coup de chapeau à mon ami <span class="vcard"><a class="fn url" title="chris harrison" rel="met friend colleague" href="http://cdharrison.com">Chris Harrison</a></span> pour m&#8217;avoir signalé ce script.)</li>
<li>Il existe un <a href="http://transformr.co.uk/#hatom">transformateur hAtom</a> qui extrait hAtom d&#8217;une page web de manière à ce qu&#8217;il puisse être automatiquement transformé dans le XML pour un fil de syndication Atom.</li>
<li><a title="Link opens off this site" href="http://rbach.priv.at/hAtom2Atom/">hAtom2Atom</a> utilise <acronym title="eXtensible Stylesheet Language Transformation">XSLT</acronym> pour transformer un marquage hAtom en XML Atom.</li>
<li>Il existe un <a title="hatom2atom" href="http://www.lukearno.com/projects/hatom2atom/">proxy distant utilisant hAtom2Atom</a> construit par <cite class="vcard"><a class="fn url" title="lukearno" rel="colleague muse" href="http://lukearno.com/">Luke Arno</a></cite>, tout comme un <a title="chunkysoup" href="http://chunkysoup.net/article/236/FeedsForAllWithhAtomPart2TheCode">script filtre utilisant hAtom2Atom</a> produit par <cite class="vcard"><a class="fn url" title="placenamehere" rel="colleague muse" href="http://placenamehere.com/">Chris Casciano</a></cite>.</li>
<li><a title="Optimus chez microformatique" href="http://microformatique.com/optimus/">Optimus</a> est un transformateur robuste de microformats qui supporte hAtom. En outre, il offre un validateur qui supporte hAtom.</li>
<li>Le <a title="microformatic" href="http://tools.microformatic.com/help/xhtml/hatom/">transcodeur hAtom</a> est un autre transformateur qui non seulement produit du Atom 1.0, mais aussi du <acronym title="Really Simple Syndication">RSS</acronym> 2.0.</li>
</ul>
<h4>Dans la Jungle</h4>
<p>Même si hAtom est une spécification projet (draft), il est en train d&#8217;être adopté :</p>
<ul>
<li>Google a ajouté la <a href="http://googlenotebookblog.blogspot.com/2008/01/permalinks-up-and-hatom.html">fonctionnalité pour les liens permanents hAtom</a> à son Bloc-Notes.</li>
<li>Le nouveau système de gabarits de mise en page de Blogger <a title="groups google" href="http://groups.google.com/group/bloggerDev/browse_thread/thread/69344c5cc35b472e?pli=1">supporte hAtom</a>.</li>
<li>Spinn3r a ajouté la <a title="spinn3r" href="http://blog.spinn3r.com/2008/01/announcing-spin.html">fonctionnalité hAtom <code>entry-content</code></a> à son service 2.1 d&#8217;indexation de blogs.</li>
</ul>
<p>Et il existe encore plus d&#8217;<a title="wiki des microformats" href="http://microformats.org/wiki/hatom-examples-in-wild-fr">exemples hAtom dans la jungle</a>.</p>
<h4>Avantages</h4>
<h5>Syndication (X)HTML</h5>
<p>Je pense que l&#8217;un des avantages les plus cools d&#8217;hAtom est son portentiel pour la syndication <acronym title="eXtensible Hypertext Markup Language">XHTML</acronym>.</p>
<p>Dans la liste des outils et ressources, je mentionne deux transformateurs. Ceux-ci utilisent XSLT pour transformer le XHTML avec hAtom en XML pour un fil Atom ou RSS.</p>
<p>Ceci veut dire que vous n&#8217;avez pas besoin de créer ou maintenir des fichiers séparés Atom ou RSS XML pour la syndication. En utilisant simplement hAtom et l&#8217;un de ces transformateurs, la syndication XML est automatiquement générée.</p>
<p>Essayez vous-même. Tout ce que avez à faire est de faire précéder l&#8217;URL d&#8217;une page qui contient hAtom (par ex. <a href="http://www.ablognotlimited.com/">http://www.ablognotlimited.com/</a>) avec l&#8217;URL de l&#8217;un des transformateurs (<a href="http://transformr.co.uk/hatom/">http://transformr.co.uk/hatom/</a>) :</p>
<p class="code"><code>&lt;a href="<strong>http://transformr.co.uk/hatom/http://www.ablognotlimited.com/</strong>"&gt;Fil Atom pour A Blog Not Limited&lt;/a&gt;</code></p>
<p>Le lien résultant crée le XML Atom et les utilisateurs le sélectionnent pour s&#8217;abonner  :</p>
<p><img class="frame" style="height: 191px; width: 350px;" src="http://www.ablognotlimited.com/images/experiments/hAtomTransformer.png" alt="page d'abonnement Google Reader pour A Blog Not Limited utilisant le transformateur hAtom" /></p>
<p>Personnellement je n&#8217;ai pas encore implémenté cette option sur mon site, parce que j&#8217;ai des <a href="http://www.ablognotlimited.com/articles/customizing-expressionengine-rss-template/">fils RSS personnalisés</a> pour lesquels je ne me soucie pas de perdre la personnalisation. Tout ceci pour ne pas dire, que j&#8217;ai encore à ajouter les fils Atom.</p>
<p>Néanmoins, ces transformations sont désormais sur ma liste de fonctionnalités à explorer pour ce blog.</p>
<h5>Sémantique</h5>
<p>Vous n&#8217;alliez tout de même pas penser que j&#8217;allais oublier ça, non ? Bien sûr que non.</p>
<p>En tirant partie des <em>standards existants</em> (les éléments et attributs XHTML), les microformats ajoutent de la valeur sémantique au contenu web. Et la sémantique aide à la fois les humains et les processus machines, à chercher et comprendre le web.</p>
<p>Les microformats encouragent aussi les standards du web … les approches d&#8217;un standard pour baliser le contenu, y appliquer de l&#8217;information de classe et de processus de développement.</p>
<p>La sémantique est bonne. Les standards sont bons. Les microformats sont bien.</p>
<h4>A Venir dans la 6<sup>ème</sup> Partie</h4>
<p>Ceci conclut ma &laquo;&nbsp;couverture&nbsp;&raquo; du microformat en projet hAtom.</p>
<p>Dans <em>Parvenir à la Sémantique, 6<sup>ème</sup> Partie</em>, <a title="CV CHIC" href="http://christopheducamp.com/ProjetBlog/2009/11/14/emily-lewis-parvenir-au-semantique-avec-les-microformats-hresume-partie-6/">je discuterai du microformat hResume pour l&#8217;information dans les résumés</a> et <abbr title="Curriculum Vitae">CV</abbr>.</p>
<p>Restez branchés !</p>
]]></content:encoded>
			<wfw:commentRss>http://christopheducamp.com/ProjetBlog/2009/10/04/je-veux-un-blog-hatomique/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Emily Lewis : &#171; Parvenir au Sémantique avec les Microformats, 4ème partie &#8211; hCalendar &#187;</title>
		<link>http://christopheducamp.com/ProjetBlog/2008/10/18/emily-lewis-parvenir-a-la-semantique-avec-les-microformats-4eme-partie-hcalendar/</link>
		<comments>http://christopheducamp.com/ProjetBlog/2008/10/18/emily-lewis-parvenir-a-la-semantique-avec-les-microformats-4eme-partie-hcalendar/#comments</comments>
		<pubDate>Sat, 18 Oct 2008 15:53:24 +0000</pubDate>
		<dc:creator>xtof</dc:creator>
				<category><![CDATA[hcalendar]]></category>
		<category><![CDATA[microformats]]></category>
		<category><![CDATA[ressources]]></category>
		<category><![CDATA[traduction]]></category>
		<category><![CDATA[accessibilité]]></category>
		<category><![CDATA[emilylewis]]></category>
		<category><![CDATA[hcard]]></category>
		<category><![CDATA[rel-tag]]></category>
		<category><![CDATA[sémantique]]></category>
		<category><![CDATA[standards]]></category>
		<category><![CDATA[webdesign]]></category>
		<category><![CDATA[xhtml]]></category>

		<guid isPermaLink="false">http://microformateurs.org/?p=84</guid>
		<description><![CDATA[Nous voici de nouveau à plonger dans le monde excitant (au moins pour moi) des microformats. Basé sur ce que j&#8217;avais planifié au début, cet article marque le mi-parcours de la série. A ce stade, j&#8217;ai discuté de trois implémentations des microformats sur A Blog Not Limited : Spécifier les relations fondées sur les liens [...]]]></description>
			<content:encoded><![CDATA[<p></p><p><a href="http://microformats.org/" title="microformats.org"><img src="http://farm1.static.flickr.com/131/396166718_df65c9ffe3_m.jpg" alt="Microformats" /></a></p>
<p class="intro">Nous voici de nouveau à plonger dans le monde excitant (au moins pour moi) des microformats. Basé sur ce que j&#8217;avais <a href="http://microformateurs.org/2008/09/20/obtenir-de-la-semantique-avec-les-microformats-introduction/">planifié au début</a>, cet article marque le mi-parcours de la série. A ce stade, j&#8217;ai discuté de trois implémentations des microformats sur <a title="a blog not limited" href="http://www.ablognotlimited.com/">A Blog Not Limited</a> :</p>
<ul>
<li>Spécifier les relations fondées sur les liens en utilisant l&#8217;attribut <code>rel</code> dans la <a href="http://christopheducamp.com/ProjetBlog/2008/09/20/obtenir-de-la-semantique-avec-les-microformats-1%C2%B0-partie-rel/">1<sup>ère</sup> Partie</a></li>
<li>Donner aux liens un &laquo;&nbsp;visage humain&nbsp;&raquo; en utilisant le microformat <acronym title="XHTML Friends Network">XFN</acronym> dans la <a href="http://christopheducamp.com/ProjetBlog/2008/09/21/emily-lewis-parvenir-a-la-semantique-avec-les-microformats-2eme-partie-xfn/">2<sup>ème</sup> Partie</a></li>
<li>Décrire les personnes, les sociétés et lieux avec le microformat hCard dans la <a href="http://christopheducamp.com/ProjetBlog/2008/10/18/emily-lewis-parvenir-a-la-semantique-avec-les-microformats-3eme-partie-hcard/">3<sup>ème</sup> Partie</a></li>
</ul>
<p>Pas mal. Mais cela ne fait que gratter la surface des microformats.</p>
<p>Aussi, allons droit vers le <a href="http://microformats.org/wiki/hcalendar-fr" title="hCalendar sur le wiki des microformats">microformat hCalendar</a>, que j&#8217;utilise pour ajouter de la sémantique et de la structure à mon contenu pour les <strong>événements et activités basés sur des dates et heures.</strong></p>
<h4>Origines : <a href="http://en.wikipedia.org/wiki/ICalendar" title="ICalendar" rel="wikipedia" class="zem_slink">iCalendar</a></h4>
<p><a href="http://fr.wikipedia.org/wiki/ICalendar" title="wikipedia">iCalendar</a> (ou iCal) est un standard pour partager des données de calendrier. Plus fréquemment, il est utilisé dans les échanges d&#8217;email, bien qu&#8217;il ne soit pas seulement limité à ce médium.</p>
<p>Comme la <a href="http://microformats.org/wiki/hCard-fr" title="hCard sur le wiki des microformats">hCard</a>, hCalendar a été introduit de manière à ce que les auteurs web puissent inclure des données iCalendar dans leurs pages web.</p>
<p>hCalendar est une représentation <abbr title="one to one">1:1</abbr> du iCalendar, qui permet aux parseurs d&#8217;extraire de l&#8217;information d&#8217;événement provenant d&#8217;une page web de manière à ce qu&#8217;elle puisse être utilisée dans les programmes de calendriers (parmi d&#8217;autres usages).</p>
<p>Note historique : iCalendar est basé sur <a href="http://en.wikipedia.org/wiki/VCalendar#vCalendar_1.0" title="vCalendar sur wikipedia">vCalendar</a> (Virtual Calendar), qui est une application de calendrier en open source pour publier et maintenir des événements et rendez-vous en ligne.  vCalendar a été développé avec le format de carte de visite électronique vCard.</p>
<h4>Activités Fondées sur Date/Heure</h4>
<p>Le microformat hCalendar décrit le type d&#8217;information à propos d&#8217;évènements (ou tout ce qui est basé sur les date/heure) que vous auriez sur un calendrier, à savoir (mais non limité) :</p>
<ul>
<li>Résumé</li>
<li>Date et heure</li>
<li>Lieu</li>
<li>Description détaillée</li>
<li>Récurrence</li>
</ul>
<h4>Les Bases</h4>
<p>Tout comme hCard, hCalendar a quelques règles de base :</p>
<ul>
<li>Les propriétés et sous-propriétés sont exprimées sous des valeurs <code>class</code>.</li>
<li>Du fait de la relation 1:1 avec iCalendar, les propriétés spécifiées hCalendar sont basées sur les noms de propriétés de iCalendar (à savoir, <code>vevent</code>).</li>
<li>Les propriétés et sous-propriétés sont sensibles à la casse.</li>
<li>La propriété &laquo;&nbsp;racine&nbsp;&raquo; ne peut pas être mélangée avec n&#8217;importe laquelle de ses propriétés. De ce fait, <code>&lt;p class="vevent summary"&gt;</code> est invalide.</li>
</ul>
<p>Et même si ce n&#8217;est pas une règle, il est important de garder ça à l&#8217;esprit : <strong>le marquage utilisé importe peu</strong>.</p>
<p><em><strong>Les valeurs de classe (propriétés/sous-propriétés) définissent le microformat hCalendar.</strong></em></p>
<p>Ceci étant dit, j&#8217;encourage vraiment le marquage sémantique (et cela va sans dire valide).</p>
<h4>Le Profil</h4>
<p>Comme pour tous les microformats, il est recommandé de faire référence au <a href="http://microformats.org/wiki/hcalendar-profile" title="profil hCard sur le wiki des microformats">profil hCalendar</a> dans le <code>&lt;head&gt;</code> des pages web qui contiennent le microformat :</p>
<p class="code"><code>&lt;head <strong>profile="http://purl.org/uF/hCalendar/1.0/"</strong>&gt;</code></p>
<p>Le <acronym title="World Wide Web Consortium">W3C</acronym> autorise <a href="http://www.la-grange.net/w3c/html4.01/struct/global.html#h-7.4.1" title="spécification HTML 4">plusieurs valeurs de profils</a>, séparées par des espaces blancs, ainsi vous pouvez lister plusieurs profils si vous choisissez :</p>
<p class="code"><code>&lt;head profile="<strong>http://gmpg.org/xfn/11</strong> <strong>http://purl.org/uF/hCard/1.0/"</strong> <strong>http://purl.org/uF/hCalendar/1.0/</strong>"&gt;</code></p>
<p>Cependant, si vous référencez des <em>microformats-non-draft</em> (et hCalendar est non-draft), vous pouvez utiliser à la place l&#8217;<acronym title="Uniform Resource Locator">URL</acronym> profil combinée, qui couvre tous les microformats non-draft :</p>
<p class="code"><code>&lt;head profile="<strong>http://purl.org/uF/2008/03/</strong>"&gt;</code></p>
<p>Si vous faites référence à la fois à des microformats non-draft et draft, vous pouvez utiliser ce profil combiné avec les profils pour les nouveaux/draft microformats.</p>
<h4>L&#8217;exemple</h4>
<p>Ce blog est encore relativement nouveau. Aussi, je n&#8217;ai pas eu beaucoup d&#8217;opportunités de lister de l&#8217;information d&#8217;évènement.</p>
<p>En fait, je n&#8217;ai qu&#8217;un exemple vivant, grâce à un <a href="http://www.ablognotlimited.com/articles/barcampalbuquerque-around-the-corner/">article sur un BarCamp récent à Albuquerque</a> où j&#8217;ai utilisé le microformat hCalendar :</p>
<ol class="code">
<li><code>&lt;div <strong>class="vevent"</strong>&gt;</code></li>
<li><code>&lt;p&gt;<br />
Oui, c'est un billet court, mais marquez ça dans vos agendas :<br />
&lt;a href="http://barcamp.org/BarCampAlbuquerque"<br />
<strong>class="url summary"</strong>&gt;<br />
&lt;span <strong>class="category"</strong>&gt;BarCamp&lt;/span&gt;<br />
Albuquerque 3&lt;/a&gt;<br />
aura lieu ce week-end.<br />
&lt;/p&gt;</code></li>
<li><code>&lt;dl&gt;</code></li>
<li><code>&lt;dt&gt;Quand :&lt;/dt&gt;</code></li>
<li><code>&lt;dd&gt;&lt;abbr <strong>class="dtstart"</strong><br />
title="2008-09-13T09:00:00"&gt;13&lt;/abbr&gt;–<br />
&lt;abbr <strong>class="dtend"</strong> title="2008-09-14T18:00:00"&gt;14 septembre&lt;/abbr&gt;,<br />
à partir de 9h00 jusqu'à 18h00 les deux jours.&lt;/dd&gt;<br />
</code></li>
<li><code>&lt;dt&gt;Où :&lt;/dt&gt;</code></li>
<li><code>&lt;dd <strong>class="location</strong> vcard"&gt;<br />
&lt;a class="fn org url" href="http://www.chefwhite.com/cjw_cafe.php"&gt;CJW Cafe&lt;/a&gt;<br />
à &lt;a href="http://maps.google.com/maps" class="adr"&gt;<br />
  &lt;span class="street-address"&gt;4801 Alameda<br />
  &lt;abbr title="Boulevard"&gt;Blvd&lt;/abbr&gt;<br />
  &lt;abbr title="Northeast"&gt;NE&lt;/abbr&gt;<br />
  &lt;/span&gt;,<br />
  &lt;span class="locality"&gt;Albuquerque&lt;/span&gt;,<br />
  &lt;abbr class="region" title="New Mexico"&gt;NM<br />
  &lt;/abbr&gt; &lt;span class="postal-code"&gt;87113<br />
  &lt;/span&gt;<br />
&lt;/a&gt;<br />
&lt;/dd&gt;<br />
</code></li>
<li><code>&lt;dt&gt;Quoi :&lt;/dt&gt;</code></li>
<li><code>&lt;dd <strong>class="description"</strong>&gt;<br />
Un évènement de<br />
&lt;abbr <strong>class="duration"</strong> title="P2D"&gt;deux jours&lt;/abbr&gt;  pour tout ce qui concerne le web — design (visuel, expérience, architecture de l'information), technologie (infrastructure, programmation), social et nouveaux médias, et d'autres trucs simplement vraiment cools.&lt;/dd&gt;</code></li>
<li><code>&lt;/dl&gt;</code></li>
<li><code>&lt;/div&gt;</code></li>
</ol>
<h4>Les Parties de la Somme</h4>
<p>Décomposons cet exemple avec ses parties.</p>
<h5>La Racine : <code>vevent</code></h5>
<p>Vous remarquerez que la propriété racine dans mon exemple est <code>vevent</code>, plutôt que <code>vcalendar</code>. Ceci parce hCalendar a un élément racine <em>optionne</em> du <code>vcalendar</code>, qui n&#8217;est obligatoire que si vous décrivez <em>plus d&#8217;un calendrier d&#8217;événements</em> sur une page donnée.</p>
<p>Pour une page avec un unique calendrier d&#8217;événements, la propriété <code>vcalendar</code> est présumée sur la page elle-même.</p>
<p>Le fait que mon exemple soit un événement unique dans un &laquo;&nbsp;calendrier,&nbsp;&raquo; unique, je place toute mon information d&#8217;événement dans <code>&lt;div class="vevent"&gt;</code>. Ceci indique que tout le contenu embarqué à l&#8217;intérieur décrit <strong>un événement unique</strong>.</p>
<p>Une fois de plus, l&#8217;élément conteneur pourrait être n&#8217;importe quoi (<code>&lt;dl&gt;</code>, <code>&lt;ul&gt;</code>, <code>&lt;p&gt;</code>, <code>&lt;span&gt;</code>, <abbr title="etcetera">etc</abbr>.) la <code>&lt;div&gt;</code> est simplement appropriée pour mon exemple.</p>
<h5>Propriétés Requises : <code>summary</code> &amp; <code>dtstart</code></h5>
<p>Les seules propriétés requises pour hCalendar (autres que la racine <code>vevent</code>) sont <code>summary</code> et <code>dtstart</code>.</p>
<h6><code>summary</code></h6>
<p>La propriété <code>summary</code> décrit un <strong>synopsis bref de l&#8217;événement</strong>. Le contenu embarqué par cette propriété est typiquement ce qui s&#8217;affiche dans un programme de calendrier sous le nom ou titre de l&#8217;événement.</p>
<p>Ainsi dans mon exemple, &laquo;&nbsp;BarCamp Albuquerque 3&#8243; est contenu par <code>summary</code>, aussi c&#8217;est l&#8217;information qui s&#8217;affiche comme le nom/titre dans mon calendrier personnel :</p>
<p class="code"><code>&lt;p&gt;Oui, c'est un billet rapide, mais à marquer dans vos agendas : &lt;a href="http://barcamp.org/BarCampAlbuquerque" class="url <strong>summary</strong>"&gt;&lt;span class="category"&gt;<strong>BarCamp&lt;/span&gt; Albuquerque 3</strong>&lt;/a&gt; c'est ce week-end.&lt;/p&gt;</code></p>
<h6><code>dtstart</code></h6>
<p>La propriété <code>dtstart</code> décrit les <strong>date/horaire pour le démarrage de l&#8217;événement</strong>. Dans mon exemple, &laquo;&nbsp;13&#8243;:</p>
<p class="code"><code>&lt;dd&gt;<br />
&lt;abbr <strong>class="dtstart"</strong><br />
title="2008-09-13T09:00:00"&gt;<strong>13</strong><br />
&lt;/abbr&gt;–&lt;abbr class="dtend"<br />
title="2008-09-14T18:00:00"&gt;14 septembre&lt;/abbr&gt;,<br />
de 9h00 à 18h00 les deux jours&lt;/dd&gt;<br />
</code></p>
<h6>Date/Time Design Pattern</h6>
<div class="ins">
<p><strong>Mise à jour : 02/06/2009</strong></p>
<p>Le <a href="http://microformats.org/wiki/datetime-design-pattern-fr" title="wiki microformats">modèle-date-horaire</a> est désormais déprécié en faveur du <a href="http://microformats.org/wiki/value-class-pattern-fr" title="wiki microformats">modèle-de-classe-value</a>. Voir <a title="modèle de classe value" href="http://christopheducamp.com/ProjetBlog/2009/12/19/le-modele-de-classe-value/">cet article en attendant la partie 8 de cette série</a> pour en savoir plus sur ce nouveau pattern.</p>
</div>
<p>Remarquez que l&#8217;élément contenant pour <code>dtstart</code> est un <code>&lt;abbr&gt;</code>, là où l&#8217;information contenue est est &laquo;&nbsp;13&#8243; et la valeur d&#8217;attribut <code>title</code> est &laquo;&nbsp;2008-09-13T09:00:00&#8243;:</p>
<p class="code"><code>&lt;dd&gt;&lt;<strong>abbr</strong> class="dtstart"<br />
title="<strong>2008-09-13T09:00:00</strong>"&gt;<strong>13</strong>&lt;/abbr&gt;<br />
–&lt;abbr class="dtend" title="2008-09-14T18:00:00"&gt;14 septembre&lt;/abbr&gt;,<br />
de 9h00 à 18h00 les deux jours&lt;/dd&gt;<br />
</code></p>
<p>C&#8217;est l&#8217;approche actuellement recommandée pour définir l&#8217;information date/horaire dans un microformat — connue sous le <a href="http://microformats.org/wiki/datetime-design-pattern-fr" title="datetime design pattern">datetime design pattern</a> (qui est une extension du <a href="http://microformats.org/wiki/abbr-design-pattern" title="abbr-design-pattern">abbr design pattern</a>).</p>
<p>Ce pattern a été développé pour supporter l&#8217;un des principes fondamentaux des microformats : designer d&#8217;abord pour les humains, ensuite pour les machines. Visant pendant tout ce temps, à fournir une information qui soit à la fois lisible par les humains et par les machines.</p>
<p>La logique est que les machines — tout comme les applications web — utiliseront la valeur <code>title</code>, alors que les navigateurs afficheront pour les humains le contenu embarqué par <code>&lt;abbr&gt;</code>.</p>
<p>Aussi, en tant que partie de la spécification pour utiliser ce &laquo;&nbsp;datetime pattern&nbsp;&raquo;, l&#8217;information date/horaire <em>devrait</em> être spécifiée dans un <a href="http://microformats.org/wiki/iso-8601-fr" title="ISO 8601"><acronym title="International Standards Organization">ISO</acronym> 8601</a> :</p>
<ul>
<li>AAAA-MM-JJThh:mm:ss — &laquo;&nbsp;A&nbsp;&raquo; représente les nombres entiers de l&#8217;année, &laquo;&nbsp;M&nbsp;&raquo; représente les nombres entiers du mois, &laquo;&nbsp;J&nbsp;&raquo; représente les nombres entiers du jour, &laquo;&nbsp;h&nbsp;&raquo; représente les nombres entiers des heures, &laquo;&nbsp;m&nbsp;&raquo; représente les nombres entiers des minutes et &laquo;&nbsp;s&nbsp;&raquo; représente les nombres entiers des secondes.</li>
<li>AAAA-MM-JJThh:mm:ssZ — &laquo;&nbsp;Z&nbsp;&raquo; est utilisé pour indiquer le <acronym title="Greenwich Mean Time">GMT</acronym>.</li>
<li>AAAA-MM-JJThh:mm:ss+hh (ou -hh) — les &laquo;&nbsp;+hh&nbsp;&raquo; et &laquo;&nbsp;-hh&nbsp;&raquo; indiquent le décalage horaire en heure  GMT.</li>
</ul>
<p>Pour dire ça dans des termes un peu plus compréhensibles, 2008-09-30T13:00:00 = 30 septembre 2008, 13h00 (heure locale).</p>
<p>Le caractère &laquo;&nbsp;T&nbsp;&raquo; dans ces exemples sépare l&#8217;information de date de l&#8217;information d&#8217;horaire.</p>
<p>Si vous n&#8217;avez qu&#8217;une date, omettez simplement le &laquo;&nbsp;T&nbsp;&raquo; et l&#8217;information horaire le suivant. De même, si vous n&#8217;avez qu&#8217;un horaire, omettez le &laquo;&nbsp;T&nbsp;&raquo; et l&#8217;information de date le précédant.</p>
<p>Il existe néanmoins <em>et hélas</em>, quelques problèmes d&#8217;accessibilité avec ce pattern, problèmes que je décrirai plus tard dans cet article. A cette heure, continuons avec mon exemple.</p>
<h5>Le Reste des Propriétés Date/Horaire</h5>
<p>Il existe deux autres propriétés date/horaire (et optionnelles) que j&#8217;ai ajoutées : <code>dtend</code> et <code>duration</code>.</p>
<h6><code>dtend</code></h6>
<p>La propriété <code>dtend</code> décrit les <strong>date/horaire de la fin de l&#8217;événement</strong>. Dans mon exemple, &laquo;&nbsp;14 septembre&nbsp;&raquo;:</p>
<p class="code"><code>&lt;dd&gt;<br />
&lt;abbr class="dtstart" title="2008-09-13T09:00:00"&gt;13&lt;/abbr&gt;<br />
–&lt;abbr<strong> class="dtend"</strong><br />
<strong>title="2008-09-14T18:00:00"</strong>&gt;<strong>14</strong> septembre&lt;/abbr&gt;,<br />
de 9h00 à 18h00 les deux jours&lt;/dd&gt;</code></p>
<h6><code>duration</code></h6>
<p>La propriété <code>duration</code> décrit la <strong>durée (en temps) de l&#8217;événement</strong>.<br />
Dans mon exemple, deux jours :</p>
<p class="code"><code>&lt;dd class="description"&gt;Un évènement de &lt;abbr <strong>class="duration"</strong> <strong>title="P2D"</strong>&gt;<strong>deux jours</strong>&lt;/abbr&gt; pour tout ce qui concerne<br />
le web — design (visuel, expérience, architecture de l'information), technologie (infrastructure, programmation), social et nouveaux médias, et d'autres trucs simplement vraiment cools.&lt;/dd&gt;</code></p>
<p>Tout comme pour l&#8217;information de date/horaire, l&#8217;information de durée est spécifiée en utilisant le &laquo;&nbsp;datetime design pattern&nbsp;&raquo;, où l&#8217;information &laquo;&nbsp;lisible-par-les-machines&nbsp;&raquo; est indiquée par la valeur <code>title</code> et l&#8217;&nbsp;&raquo;information-lisible-par les-humains&nbsp;&raquo; est contenue par le <code>&lt;abbr&gt;</code>.</p>
<p>Aussi, la valeur de &laquo;&nbsp;duration&nbsp;&raquo; <code>title</code> est spécifiée selon ISO 8601, qui indique que la valeur est précédée par un  &laquo;&nbsp;P&nbsp;&raquo; pour indiquer une période de temps.</p>
<p>Cette période de temps peut être exprimée en années (Y), mois (M), semaines (W), jours (D), heures (H), minutes (M) et/ou secondss (S).</p>
<p>Voici quelques exemples pour clarifier cela :</p>
<ul>
<li>P2Y = durée de 2 ans</li>
<li>P10D = durée de 10 jours</li>
<li>P3H = durée de 3 heures</li>
<li>P2W = durée de 2 semaines weeks</li>
<li>P12DT8H30M = durée de 12 jours, 8 heures et 30 minutes</li>
</ul>
<h6 id="dateTimeAccessibility">Parlons Accessibilité</h6>
<p>J&#8217;ai rapidement évoqué dans la <a href="http://www.ablognotlimited.com/articles/getting-semantic-with-microformats-part-3-hcard/">3ème Partie</a> qu&#8217;il y avait eu récemment quelques discussions sur <a href="http://www.webstandards.org/2007/04/27/haccessibility/" title="haccessibility sur webstandards">les problèmes d&#8217;accessibilité avec le datetime design pattern</a>.</p>
<p>Le point crucial du problème d&#8217;accessibilité est la façon dont les lecteurs d&#8217;écran interprètent les valeurs d&#8217;attribut <code>title</code> : ils les lisent/parlent.</p>
<p>Aussi, là où le datetime design pattern indique de mettre l&#8217;information ISO 8601 de date/horaire lisible par les machines  dans le <code>title</code>, un lecteur d&#8217;écran déclame littéralement la valeur.</p>
<p>Imaginez entrendre ça à chaque fois que votre lecteur d&#8217;écran rencontre <code>&lt;abbr title="2008-09-30"&gt;</code> : &laquo;&nbsp;<em>Deux mille huit tiret zéro neuf tiret trente</em>.&nbsp;&raquo; Et c&#8217;est même encore pire pour les valeurs plus longues avec l&#8217;information sur l&#8217;horaire.</p>
<p>On peut soutenir que ceci n&#8217;est <strong>pas</strong> &laquo;&nbsp;human-friendly&nbsp;&raquo; pour ces utilisateurs.</p>
<p>A cette heure, ces problèmes n&#8217;ont pas été résolus. Il y a eu queques alternatives proposées, mais la communauté des microformats continue à discuter de la meilleure approche pour avancer afin de résoudre ces problèmes d&#8217;accessibilité <em>et</em> de rester cohérente avec l&#8217;esprit des microformats.</p>
<p>Pour moi et mon blog personnel, mes référents indiquent que je n&#8217;ai pas de visiteurs avec des lecteurs d&#8217;écran. Aussi, je ne suis pas préoccupée par l&#8217;implémentation du &laquo;&nbsp;datetime design pattern&nbsp;&raquo; sur ce blog.</p>
<p>Néanmoins, travaillant pour une grande entreprise, le manque d&#8217;accessibilité n&#8217;est tout <em>simplement pas acceptable</em> (pour moi et mon superviseur direct, même si je suis certaine que les &laquo;&nbsp;gros bonnets&nbsp;&raquo; pourraient moins s&#8217;en soucier).</p>
<p>Je suis désireuse de voir comment vont ces problèmes vont être résolus, de manière à ce que je puisse implémenter correctement l&#8217;information date/horaire en microformats <em>et</em> que cela puisse être encore supporté par tous les utilisateurs de lecteurs d&#8217;écrans.</p>
<p>Désormais, il est temps de revenir à l&#8217;exemple et des propriétés restantes utilisées …</p>
<h5>Le Reste du Reste</h5>
<p>Mon exemple comprend quatre propriétés supplémentaires (aussi optionnelles) : <code>url</code>, <code>category</code>, <code>location</code> and <code>description</code>.</p>
<h6><code>url</code></h6>
<p>La propriété <code>url</code> décrit un <strong>lien (<code>&lt;a&gt;</code>) pour l&#8217;événement</strong> :</p>
<p class="code"><code>&lt;p&gt;Oui c'est un billet rapide, mais marquez vos agendas : &lt;a href="<strong>http://barcamp.org/BarCampAlbuquerque</strong>" <strong>class="url</strong> summary"&gt;&lt;span class="category"&gt;BarCamp&lt;/span&gt; Albuquerque 3&lt;/a&gt; c'est ce week-end.&lt;/p&gt;</code></p>
<p>Vous remarquerez que j&#8217;ai ajouté la propriété <code>url</code> à la propriété <code>summary</code>. Ceci tout simplement parce que le contenu embarqué par le <code>&lt;a&gt;</code> était simplement la valeur pour mon <code>summary</code>. D&#8217;autres implémentations pourraient être différentes.</p>
<h6><code>category</code></h6>
<p>La propriété <code>category</code> décrit le <strong>type d&#8217;événement</strong>. Dans mon exemple, &laquo;&nbsp;BarCamp&nbsp;&raquo; :</p>
<p class="code"><code><br />
&lt;p&gt;Oui c'est un billet rapide, mais marquez vos agendas :<br />
&lt;a href="http://barcamp.org/BarCampAlbuquerque" class="url summary"&gt;<strong><br />
&lt;span class="category"&gt;BarCamp&lt;/span&gt;</strong> Albuquerque 3&lt;/a&gt;<br />
c'est ce week-end.&lt;/p&gt;</code></p>
<p>A la différence des propriétés évoquées plus haut, <code>category</code> peut utiliser un <em>nombre illimité de fois</em>. Quelques exemples communs de valeurs de <code>category</code> sont :</p>
<ul>
<li>Rencontre</li>
<li>Expo</li>
<li>Vacances</li>
<li>Anniversaire</li>
<li>Conférence</li>
</ul>
<p>Dans un certain sens, <code>category</code> est un moyen de &laquo;&nbsp;taguer&nbsp;&raquo; l&#8217;événement. Aussi, si j&#8217;avais choisi de marquer mon exemple pour y inclure un lien vers le site principal du BarCamp, j&#8217;aurais aussi utilisé <a href="http://microformats.org/wiki/rel-tag-fr" title="rel-tag sur le wiki des microformats">microformat rel-tag</a> pour accompagner <code>category</code> :</p>
<p class="code"><code>&lt;p&gt;Vous pourriez vous demander ce qu'est un<br />
&lt;a href="http://barcamp.org/"<br />
<strong>class="category"</strong> <strong>rel="tag"</strong>&gt;BarCamp&lt;/a&gt; ?<br />
&lt;/p&gt;</code></p>
<p>Souvenez-vous, rel-tag ne peut être uniquement utilisé que sur des liens (<code>&lt;a&gt;</code>).</p>
<h6><code>location</code></h6>
<p>La propriété <code>location</code> décrit <strong>où aura lieu l&#8217;événement</strong>.</p>
<p class="code"><code><br />
&lt;dd <strong>class="location</strong> vcard"&gt;&lt;a class="fn org url"<br />
href="http://www.chefwhite.com/cjw_cafe.php"&gt;<strong>CJW Cafe</strong><br />
&lt;/a&gt; au &lt;a href="http://maps.google.com/maps" class="adr"&gt;<br />
&lt;span class="street-address"&gt;<strong>4801 Alameda</strong><br />
&lt;abbr title="Boulevard"&gt;<strong>Bd</strong>&lt;/abbr&gt;<br />
&lt;abbr title="Northeast"&gt;<strong>NE</strong>&lt;/abbr&gt;<br />
&lt;/span&gt;,<br />
&lt;span class="locality"&gt;<strong>Albuquerque</strong>&lt;/span&gt;,<br />
&lt;abbr class="region" title="New Mexico"&gt;<strong>NM</strong>&lt;/abbr&gt;<br />
&lt;span class="postal-code"&gt;<strong>87113</strong>&lt;/span&gt;&lt;/a&gt;<br />
&lt;/dd&gt;</code></p>
<p>Dans mon exemple, je fournis le nom du lieu et son adressse. Néanmoins, ce peut être tout simplement le lieu, ou juste l&#8217;adresse ; les deux ne sont pas requis. </p>
<h6><code>description</code></h6>
<p>Pour finir, la propriété <code>description</code> décrit un <strong>synopsis plus détaillé de l&#8217;évènement que <code>summary</code></strong> :</p>
<p class="code"><code><br />
&lt;dd <strong>class="description"</strong>&gt;Un évènement de<br />
&lt;abbr class="duration" title="P2D"&gt;deux jours&lt;/abbr&gt;<br />
pour tout ce qui concerne le web — design (visuel, expérience, architecture de l'information), technologie (infrastructure, programmation), social et nouveaux médias, et d'autres trucs simplement vraiment cools.<br />
&lt;/dd&gt;</code></p>
<h4>Ce Que Je N&#8217;ai Pas Ajouté</h4>
<p>Il existe plusieurs autres propriétés souvent utilisées pour hCalendar que j&#8217;ai choisies simplement de ne pas ajouter à mon exemple : </p>
<ul>
<li><code>dtstamp</code> indique les date/horaire à laquelle l&#8217;information hCalendar a été créée.</li>
<li><code>last-modified</code> indique les date/horaire à laquelle l&#8217;information hCalendar a été mise à jour.</li>
<li><code>status</code> indique la confirmation d&#8217;événement. Les valeurs autorisées sont &laquo;&nbsp;cancelled,&nbsp;&raquo; &laquo;&nbsp;confirmed&nbsp;&raquo; et &laquo;&nbsp;tentative.&nbsp;&raquo;</li>
<li><code>class</code> indique la classification d&#8217;événement. Les valeurs autorisées sont &laquo;&nbsp;private,&nbsp;&raquo; &laquo;&nbsp;public &nbsp;&raquo; et &laquo;&nbsp;confidential.&nbsp;&raquo;</li>
<li><code>rrule</code> indique la récurrence régulière d&#8217;un événement. Si cette propriété est utilisée, elle a une sous-propriété obligatoire de <code>freq</code> pour indiquer la fréquence de la récurrence, qui est spécifiée plus en profondeur par des qualifiants (à savoir, <code>count</code>, <code>interval</code>).</li>
<li><code>rdate</code> indique des événements qui arrivent irrégulièrement. La valeur <code>title</code> renvoie les dates irrégulières (séparées par des virgules).</li>
</ul>
<p>Et il en existe encore d&#8217;autres qui peuvent être utilisées. Regardez les <a href="http://microformats.org/wiki/hcalendar-examples-fr" title="Exemples de microformats hCalendar sur le wiki">exemples hCalendar</a> sur le wiki pour plus de détails.</p>
<h4>hCalendar + hCard</h4>
<p>Peut-être que vous avez remarqué que mon marquage hCalendar comprenait des propriétés et sous-propriétés hCard :</p>
<p class="code"><code><br />
&lt;dd class="location <strong>vcard</strong>"&gt;<br />
&lt;a <strong>class="fn org url"</strong><br />
href="http://www.chefwhite.com/cjw_cafe.php"&gt;CJW Cafe&lt;/a&gt; au<br />
&lt;a href="http://maps.google.com/maps" <strong>class="adr"</strong>&gt;<br />
&lt;span <strong>class="street-address"</strong>&gt;4801 Alameda<br />
&lt;abbr title="Boulevard"&gt;Blvd&lt;/abbr&gt;<br />
&lt;abbr title="Northeast"&gt;NE&lt;/abbr&gt;&lt;/span&gt;,<br />
&lt;span <strong>class="locality"</strong>&gt;Albuquerque&lt;/span&gt;,<br />
&lt;abbr <strong>class="region"</strong> title="New Mexico"&gt;NM&lt;/abbr&gt;<br />
&lt;span <strong>class="postal-code"</strong>&gt;87113&lt;/span&gt;&lt;/a&gt;<br />
&lt;/dd&gt;</code></p>
<p>Comme je l&#8217;évoquais dans la <a href="http://www.ablognotlimited.com/articles/getting-semantic-with-microformats-part-3-hcard/">3<sup>ème</sup> Partie</a>, combiner les microformats est facile, et là où cela produire du contenu contextuel, cela ajoute plus de valeur sémantique au contenu (et <em>vous savez</em> ce que j&#8217;en pense).</p>
<p>Pour aller plus loin, cela donne à l&#8217;utilisateur juste quelques autres types de données qui peuvent être extraites et utilisées, comme une vCard pour son carnet d&#8217;adresses.</p>
<p>Dans cet exemple, la propriété <code>location</code> du hCalendar fait sens pour être aussi marquée avec <code>vcard</code>. Même si je n&#8217;ai fait que rajouter la ville, j&#8217;aurais pu encore ajouter les propriétés/sous-propriétés de hCard.</p>
<h4>Langage Naturel</h4>
<p>J&#8217;ai parlé aussi d&#8217;utiliser les microformats en langage naturel (dans le flux de phrases normales) dans la <a href="http://microformateurs.org/2008/10/18/emily-lewis-parvenir-a-la-semantique-avec-les-microformats-3eme-partie-hcard/">3ème Partie</a>, et hCalendar ne fait pas exception à ce concept.</p>
<p>Vous remarquerez que dans cet exemple, quelques informations du hCalendar sont directement dans le flux de mon contenu.</p>
<p>J&#8217;aurais pu mettre toute l&#8217;information du hCalendar dans des phrases naturelles plutôt que de &laquo;&nbsp;découper&nbsp;&raquo; quelques-uns des détails dans des <code>&lt;dl&gt;</code> :</p>
<ol class="code">
<li><code>&lt;div <strong>class="vevent"</strong>&gt;<br />
</code></li>
<li><code><br />
&lt;p&gt;Oui, c'est un billet rapide, mais à marquer dans vos calendries :<br />
&lt;a href="http://barcamp.org/BarCampAlbuquerque"<br />
<strong>class="url summary"</strong>&gt;<br />
&lt;span <strong>class="category"</strong>&gt;BarCamp&lt;/span&gt; Albuquerque 3&lt;/a&gt; c'est ce week-end,<br />
&lt;abbr <strong>class="dtstart"</strong> title="2008-09-13T09:00:00"&gt;13<br />
&lt;/abbr&gt;–<br />
&lt;abbr <strong>class="dtend"</strong><br />
title="2008-09-14T18:00:00"&gt;14 septembre&lt;/abbr&gt;, de 9h00 à 18h00<br />
&lt;abbr <strong>class="duration"</strong> title="P2D"&gt;les deux jours&lt;/abbr&gt;.<br />
&lt;/p&gt;</code></li>
<li><code>&lt;p <strong>class="description"</strong>&gt;Ce BarCamp de l'année traitera de tout ce qui concerne le web : design (visuel, expérience, architecture de l'information), technologies (infrastructure, programmation), social et nouveaux medias, et d'autres trucs qui sont tout simplement vraiment cools.&lt;/p&gt;</code></li>
<li><code><br />
&lt;p <strong>class="location</strong> vcard"&gt;<br />
&lt;a class="fn org url" href="http://www.chefwhite.com/cjw_cafe.php"&gt;CJW Cafe&lt;/a&gt;<br />
(sur &lt;a href="http://maps.google.com/maps" class="adr"&gt;<br />
&lt;span class="street-address"&gt;4801 Alameda<br />
&lt;abbr title="Boulevard"&gt;Blvd&lt;/abbr&gt;<br />
&lt;abbr title="Northeast"&gt;NE&lt;/abbr&gt;<br />
&lt;/span&gt;, &lt;span class="locality"&gt;Albuquerque&lt;/span&gt;,<br />
&lt;abbr class="region" title="New Mexico"&gt;NM&lt;/abbr&gt;<br />
&lt;span class="postal-code"&gt;87113<br />
&lt;/span&gt;<br />
&lt;/a&gt;) sera notre hôte pour l'événement.<br />
&lt;/p&gt;</code></li>
<li><code>&lt;/div&gt;</code></li>
</ol>
<h4>Ajouter à votre Calendrier</h4>
<p>Aussi sur l&#8217;article <a href="http://www.ablognotlimited.com/articles/barcampalbuquerque-around-the-corner/">BarCamp Albuquerque 3</a>, je fournis un lien aux utilisateurs pour qu&#8217;ils puissent ajouter l&#8217;événement à leurs programmes de calendrier :</p>
<p><img src="http://www.ablognotlimited.com/images/experiments/addCalendar.png" alt="Télécharger le fichier événement .ics du BarCamp Albuquerque 3" class="frame" style="height: 30px; width: 198px;" /></p>
<p>Ce lien pourrait être une URL directe vers n&#8217;importe quel fichier iCalendar (à savoir, .ics, .ical, .ifb, .icalendar) avec votre information d&#8217;événement. En ce qui me concerne, j&#8217;ai utilisé le <a href="http://technorati.com/events/" title="Service fils d'événements de Technorati">Service de Fils d&#8217;Evénements de Technorati</a>.</p>
<p>En utilisant la technologie de Technorati, vous faites précéder simplement l&#8217;URL de la page où réside votre microformat avec <a title="Service fils d'événements de Technorati" href="http://feeds.technorati.com/events/">http://feeds.technorati.com/events/</a>, et puis utilisez l&#8217;URL résultante comme la valeur <code>href</code> de votre lien (<code>&lt;a&gt;</code>) :</p>
<p class="code"><code>&lt;a href="<strong>http://feeds.technorati.com/events/http://www.ablognotlimited.com/articles/barcampalbuquerque-around-the-corner</strong>"<br />
title="Télécharger le fichier .ics "&gt;<br />
Ajoutez à votre calendrier&lt;/a&gt;</code></p>
<p>Quand un utilisateur sélectionne ce lien, le fichier .ics est créé dynamiquement et il peut le télécharger ::</p>
<p><img src="http://farm3.static.flickr.com/2181/2934211400_fbbd7fd3f7.jpg" alt="Télécharger le fichier .ics" class="frame" /></p>
<h4>Les Apparences Comptent</h4>
<p>Je l&#8217;ai répété plusieurs fois : le marquage importe peu (bien qu&#8217;il devrait idéalement être valide <em>et</em> sémantique).</p>
<p>Et même si les valeurs <code>class</code> (propriétés/sous-propriétés) sont <em>essentielles</em> pour le microformat, la <acronym title="Cascading StyleSheets">CSS</acronym> que vous utilisez pour styliser votre information hCalendar est uniquement dédiée à la présentation (pas pour dire que ce n&#8217;est pas important).</p>
<p>Je recommanderais néanmoins d&#8217;utiliser les valeurs <code>class</code> qui sont requises par hCalendar dans votre CSS, plutôt que d&#8217;ajouter de nouvelles <code>class</code>es pour le style. Ceci vous donne simplement une CSS plus maigre.</p>
<p>Pour un exemple sur la façon dont vous pouvez styliser un calendrier d&#8217;événements, jetez un oeil au superbe travail de <cite class="vcard"><a href="http://adactio.com/" rel="colleague muse" class="fn url" title="adactio.com">Jeremy Keith</a></cite> qu&#8217;il a produit pour <a href="http://adactio.com/journal/1378/" title="adactio présente la CSS du WEB 2.0 Berlin">des calendriers en cascade</a>.</p>
<p>Pour finir, vous pouvez produire tout ce que votre coeur désire. <em>La présentation de votre hCalendar ne se limite qu&#8217;à vos talents en CSS</em>.</p>
<h4>Pourquoi s&#8217;en Soucier ? Les Avantages, Bien Sûr</h4>
<p>Bien qu&#8217;ayant déjà traité des avantages dans cette série d&#8217;articles, ils valent toujours la peine d&#8217;être répétés, … essentiellement parce que les microformats sont si simples à mettre en oeuvre et qu&#8217;ils offrent tant de potentiels.</p>
<p>Je souhaiterais que plus de personnes les connaissent et les utilisent. Cela aiderait à accroître le nombre d&#8217;outils et d&#8217;applications qui les utilisent.</p>
<h5>Une Fois de Plus : Sémantique</h5>
<p>Oui, la sémantique. Vous devez croire que c&#8217;est mon concept favori. Oui, vous auriez raison.</p>
<p>Les microformats prennent les <em>standards existants</em>, comme les éléments XHTML, et ajoutent encore même plus de valeur sémantique au contenu qu&#8217;ils contiennent. Ceci aide de mon point de vue les auteurs web à créer de meilleurs sites qui deviennen t plus utilisables et accessibles tant pour les humains que pour les machines (comme les moteurs de recherche).</p>
<p>Pour aller plus loin, le fait d&#8217;adopter la sémantique (même sans microformats, mais dans le marquage en lui-même) fait partie du support des standards ; des moyens standardisés de développer des sites. Ceci profite non seulement aux utilisateurs (et ceci concerne aussi les machines), mais assi aux designers/développeurs et aux équipes. Cela profite à tous.</p>
<p>Et, une fois de plus, ces approches posent une fondation (sémantiquement riche) pour <a href="http://www.w3.org/DesignIssues/Semantic.html" title="w3.org le web sémantique par Tim Berners-Lee">Le Web Sémantique</a>, tout en nous permettant simultanément de tirer profit du web et des technologies d&#8217;<strong>aujourd&#8217;hui</strong>.</p>
<h5>Cool Shit</h5>
<p>Je comprends tout à fait que la sémantique et les standards relèvent pour certains de discussions philosophiques. En fin de compte, soit vous &laquo;&nbsp;captez&nbsp;&raquo; ou non.</p>
<p>Si vous êtes dans le dernier camp, considérez quelques-uns des outils plutôt cools et utiles disponibles aujourd&#8217;hui qui savent tirer profil du microformat hCalendar.</p>
<h6>Extensions Navigateur</h6>
<p>Il existe tout un paquet d&#8217;outils navigateurs qui extraient l&#8217;information hCalendar provenant d&#8217;une page web de façon à pouvoir l&#8217;exporter et l&#8217;utiliser dans des applications qui supportent iCalendar.</p>
<ul>
<li>L&#8217;extension <a href="https://addons.mozilla.org/en-US/firefox/addon/4106" title="Extension Operator">Operator</a> pour Firefox extrait l&#8217;information hCalendar et vous permet de l&#8217;ajouter dans votre application préférée de gestion de calendrier (elle fait de même avec l&#8217;information hCard pour votre carnet d&#8217;adresses) :<br />
<img src="http://farm4.static.flickr.com/3001/2951983968_f70b36fb51.jpg" alt="exemple de hCalendar avec Operator pour Firefox" class="frame" /></li>
<li>Aussi pour Firefox, l&#8217;extension <a href="https://addons.mozilla.org/en-US/firefox/addon/2240" title="Tails Export">Tails Export</a> détecte l&#8217;information hCalendar (tout comme pour hCard) et l&#8217;extrait pour l&#8217;exporter dans votre application de calendrier : <br />
<img src="http://farm4.static.flickr.com/3069/2951991090_a6a328bbcb.jpg" alt="exemple de hCalendar avec Tails Export pour  Firefox" class="frame" /></li>
<li>Le <a href="http://zappatic.net/safarimicroformats/" title="plugin microformats pour Safari">plugin microformats pour Safari</a> fonctionne comme les extensions Firefox, en extrayant pour vous l&#8217;information hCalendar (et hCard) afin de l&#8217;ajouter à votre programme de calendrier.</li>
<li>Le <a title="bookmarklet microformats chez leftlogic" href="http://leftlogic.com/lounge/articles/microformats_bookmarklet">bookmarklet microformats</a> extrait lui aussi l&#8217;information hCalendar que vous pouvez exporter dans votre application de calendrier :</li>
</ul>
<p><img src="http://farm4.static.flickr.com/3233/2951997524_3a935c38d8_m.jpg" alt="exemple de bookmarklet microformats" class="frame" /></p>
<h6>Autres Services</h6>
<ul>
<li><a href="http://suda.co.uk/projects/X2V/" title="projet X2V">X2V</a> de <cite class="vcard"><a href="http://suda.co.uk/" rel="colleague muse" class="url fn" title="page de Brian">Brian Suda</a></cite> est une feuille de style <acronym title="eXtensible Stylesheet Language Transformation">XSLT</acronym> qui extrait l&#8217;information hCalendar provenant d&#8217;une page web pour créer un fichier iCalendar .ics.</li>
<li>Technorati offre un <a href="http://kitchen.technorati.com/search/" title="recherche microformats technorati">moteur de recherche de microformats</a> qui indexe l&#8217;information microformatée (hCalendar, hCard et hReview) provenant d&#8217;URLs proposées et rend cette information disponible pour la recherche.</li>
<li><cite class="vcard"><a href="http://torrez.us/" class="url fn">Elias Torres</a></cite> a créé un script Greasemonkey <a href="http://torrez.us/archives/2006/04/13/431/" title="hcalendar + google reminders">hCalendar + Google Calendar Reminders</a> qui identifier l&#8217;information hCalendar sur une page web et fournit une icône pour ajouter cet événement à votre Calendrier Google.</li>
<li>Un autre script GreaseMonkey de <cite class="vcard"><a href="http://decafbad.com/blog/lifestream" class="fn url">Les Orchard</a></cite> vous permet de modifier les champs de formulaire texte de Firefox pour devenir des générateurs hCalendar : <a href="http://decafbad.com/blog/2005/06/08/greasemonkey-magic" title="Magic Microformat Forms">Magic Microformat Forms</a>.</li>
</ul>
<p>Il existe encore plein d&#8217;<a href="http://microformats.org/wiki/hcalendar-implementations-fr" title="implémentations hCalendar sur le wiki des microformats">implémentations hCalendar</a> que je n&#8217;ai pas mentionnées.</p>
<h4>Pression Par les Pairs</h4>
<p>Si ces ressources ne vous ont pas fait tourner la tête, alors peut-être qu&#8217;un peu de pression par les pairs le fera. Bon nombre de services leaders aujourd&#8217;hui utilisent hCalendar (et d&#8217;autres microformats) :</p>
<ul>
<li>Le site d&#8217;événement de Yahoo, <a href="http://upcoming.yahoo.com/" title="upcoming">Upcoming</a> utilise hCalendar, de façon à ce que pendant que les utilisateurs naviguent dans les événements, ils puissent aussi les importer dans leurs applications de gestion de calendrier.</li>
<li><a href="http://blog.mapquest.com/2008/09/25/microformat-support-on-mapquest-local/" title="mapquest local">MapQuest Local</a> supporte aussi hCalendar, tout comme les microformats hCard et celui de géolocalisation.</li>
<li><a href="http://www.tripit.com/" title="tripit.com">TripIt</a> utilise le marquage hCalendar pour ses itinéraires.</li>
<li><a href="http://www.last.fm/" title="last.fm">Last.fm</a> utilise hCalendar pour ses annonces de concerts.</li>
<li>Le géant du réseau social, <a href="http://www.facebook.com/" title="facebook">Facebook</a>, utilise hCalendar pour l&#8217;information d&#8217;événements.</li>
</ul>
<p>Et il existe encore plus d&#8217;<a href="http://microformats.org/wiki/hcalendar-examples-in-wild-fr" title="exemples sur le wiki des microformats">exemples hCalendar dans la jungle</a>&#8230;</p>
<p>Bon, vous savez que vous voulez y aller. Essayez tout simplement. Croyez-moi, vous aimerez.</p>
<h4>Outils pour une Production Plus Facile</h4>
<p>Aussi, si j&#8217;ai pu parvenir à vous &laquo;&nbsp;vendre&nbsp;&raquo; les microformats, vous pourriez être ravi(e) de savoir qu&#8217;il existe quelques outils qui vous faciliteront la vie pour les implémenter (à l&#8217;inverse du codage à la main, sans mentionner le fait de se rappeler de toutes les propriétés/sous-propriétés) :</p>
<ul>
<li>Le <a href="http://microformats.org/code/hcalendar/creator" title="hCalendar Creator">hCalendar Creator</a> est un formulaire qui génère du marquage hCalendar et les propriétés/sous-propriétés que vous lui proposez. Copiez et collez. Ne pourrait pas être plus simple.</li>
<li>Pour Textpattern, vous disposez du <a href="http://textpattern.org/plugins/525/pnh_mf" title="textpattern plugin pnh_mf">plugin pnh_mf</a> et de <a href="http://euphemize.net/blog/plugins/textpattern/jmc_event_manager/" title="euphemize.net jmc event manager">JMC_Event_Manager</a> pour ajouter du contenu microformaté à votre site/blog Textpattern.</li>
<li>WordPress a aussi quelques plugins qui aident les auteurs web à ajouter des microformats à leurs blogs/sites WordPress : <a href="http://structuredblogging.org/instructions-wp.php" title="structuredblogging.org">Structured Blogging</a> (aussi disponible pour MovableType) et <a href="http://wordpress.org/support/topic/43405" title="wordpress.org">WP-Microformats</a>.</li>
<li>Grâce à <acronym title="The Web Standards Project">WaSP</acronym>, il existe une <a href="http://www.webstandards.org/action/dwtf/microformats/" title="webstandards.org">extension microformats pour Dreamweaver</a> conçue pour <abbr title="Dreamweaver">DW</abbr> 8, MX et au-dessus.</li>
<li>Le <a href="http://dmitry.baranovskiy.com/work/csc/" title="superbe implémentation de dmitry baranovskiy pour produire des tableaux sémantiques">Conference Schedule Creator</a> vous aide à créer un programme complet de conférence avec tous les événements marqués avec hCalendar.</li>
</ul>
<h4>A venir en 5ème Partie</h4>
<p>Voilà c&#8217;est tout ce que j&#8217;ai pour hCalendar (est-ce assez ?).</p>
<p>La prochaine fois, dans <em><a title="traduction en cours" href="http://christopheducamp.com/ProjetBlog/2009/10/04/je-veux-un-blog-hatomique/">Parvenir à la Sémantique avec les Microformats, 5ème Partie</a></em>, je vous emmènerai en détail sur le microformat hAtom pour le contenu syndiqué comme les billets de blogs.</p>
<p>D&#8217;ici là …</p>
<h3><span>♥</span> Share the Love</h3>
<ul class="plain inline">
<li><span>♥</span>&nbsp;&nbsp;<a href="http://delicious.com/save?url=http://microformateurs.org/2008/10/18/emily-lewis-parvenir-a-la-semantique-avec-les-microformats-4eme-partie-hcalendar/">Delicious</a></li>
<li><span>♥</span>&nbsp;&nbsp;<a href="http://digg.com/submit?phase=2&amp;url=http://microformateurs.org/2008/10/18/emily-lewis-parvenir-a-la-semantique-avec-les-microformats-4eme-partie-hcalendar/">Digg</a></li>
<li><span>♥</span>&nbsp;&nbsp;<a href="http://ma.gnolia.com/bookmarks/add?url=http://christopheducamp.com/ProjetBlog/2008/10/18/emily-lewis-parvenir-a-la-semantique-avec-les-microformats-4eme-partie-hcalendar/">Ma.gnolia</a></li>
<li><span>♥</span>&nbsp;&nbsp;<a href="http://www.stumbleupon.com/submit?url=http://christopheducamp.com/ProjetBlog/2008/10/18/emily-lewis-parvenir-a-la-semantique-avec-les-microformats-4eme-partie-hcalendar/">StumbleUpon</a></li>
<li><span>♥</span>&nbsp;&nbsp;<a href="http://www.designfloat.com/submit.php?url=http://christopheducamp.com/ProjetBlog/2008/10/18/emily-lewis-parvenir-a-la-semantique-avec-les-microformats-4eme-partie-hcalendar/">Design Float</a></li>
<li><span>♥</span>&nbsp;&nbsp;<a href="http://reddit.com/submit?url=http://christopheducamp.com/ProjetBlog/2008/10/18/emily-lewis-parvenir-a-la-semantique-avec-les-microformats-4eme-partie-hcalendar/">Reddit</a></li>
</ul>
<p><strong>Note :</strong> Cette traduction s&#8217;inscrit dans la poursuite de travaux visant à mieux faire connaître les microformats. L&#8217;article original d&#8217;<cite class="vcard"><a class="fn url" rel="colleague muse" href="http://www.ablognotlimited.com/about/">Emily Lewis</a></cite>  a été publié le <abbr title="2008-10-01">1<sup>er</sup> octobre dernier</abbr> sur son blog personnel. Seul <a title="a blog not limited  getting-semantic-with-microformats--part-4-hcalendar" href="http://www.ablognotlimited.com/articles/getting-semantic-with-microformats-part-4-hcalendar/">le lien original fait référence</a>. Vous pouvez aider à raffiner cet article en <a title="xtofwiki" href="http://socialsynergyweb.net/cgi-bin/wiki/XtofWiki/ParvenirALaS%C3%A9mantiqueAvecLesMicroformatsPartieQuatre">éditant directement le code posé sur la page miroir de mon wiki-personnel</a>. Merci d&#8217;avance. <span class="vcard"><a class="url fn" rel="me" href="http://christopheducamp.com/">xtof</a></span></p>
]]></content:encoded>
			<wfw:commentRss>http://christopheducamp.com/ProjetBlog/2008/10/18/emily-lewis-parvenir-a-la-semantique-avec-les-microformats-4eme-partie-hcalendar/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Emily Lewis : &#171;Parvenir au Sémantique avec les Microformats, 3ème partie &#8211; hCard&#187;</title>
		<link>http://christopheducamp.com/ProjetBlog/2008/10/18/emily-lewis-parvenir-a-la-semantique-avec-les-microformats-3eme-partie-hcard/</link>
		<comments>http://christopheducamp.com/ProjetBlog/2008/10/18/emily-lewis-parvenir-a-la-semantique-avec-les-microformats-3eme-partie-hcard/#comments</comments>
		<pubDate>Sat, 18 Oct 2008 11:47:15 +0000</pubDate>
		<dc:creator>xtof</dc:creator>
				<category><![CDATA[hcard]]></category>
		<category><![CDATA[microformats]]></category>
		<category><![CDATA[ressources]]></category>
		<category><![CDATA[emilylewis]]></category>
		<category><![CDATA[operator]]></category>
		<category><![CDATA[vcard]]></category>
		<category><![CDATA[xhtml]]></category>

		<guid isPermaLink="false">http://microformateurs.org/?p=83</guid>
		<description><![CDATA[J&#8217;ai démarré cette série d&#8217;articles en détaillant les microformats pour les relations fondées sur les liens en utilisant l&#8217;attribut rel dans la 1èrePartie. Puis j&#8217;ai poursuivi dans la 2° Partie par une discussion sur l&#8217;extension de l&#8217;attribut rel avec les valeurs XFN pour connoter les relations sociales sur le web. XFN et les microformats fondés [...]]]></description>
			<content:encoded><![CDATA[<p></p><p><a title="microformats.org" href="http://microformats.org/"><img src="http://farm1.static.flickr.com/131/396166718_df65c9ffe3_m.jpg" alt="logo des Microformats" /></a></p>
<p>J&#8217;ai démarré cette série d&#8217;articles en détaillant les microformats pour les relations fondées sur les liens en utilisant l&#8217;attribut <code>rel</code> dans la <a href="http://christopheducamp.com/ProjetBlog/2008/09/20/obtenir-de-la-semantique-avec-les-microformats-1%C2%B0-partie-rel/">1<sup>ère</sup>Partie</a>. Puis j&#8217;ai poursuivi dans la <a href="http://christopheducamp.com/ProjetBlog/2008/09/21/emily-lewis-parvenir-a-la-semantique-avec-les-microformats-2eme-partie-xfn/">2° Partie</a> par une discussion sur l&#8217;extension de l&#8217;attribut <code>rel</code> avec les valeurs <a title="XFN sur le wiki des microformats" href="http://microformats.org/wiki/xfn-fr"><acronym title="XHTML Friends Network">XFN</acronym></a> pour connoter les relations sociales sur le web.</p>
<p>XFN et les microformats fondés sur rel sont relativement simples, n&#8217;exigeant que l&#8217;ajout de l&#8217;attribut <code>rel</code> sur les liens (<code>&lt;a&gt;</code>) et la(es) bonne(s) valeurs pour fournir le contexte sémantique.</p>
<p>Il est désormais temps de porter cette discussion sur les microformats à un niveau plus détaillé avec le <a title="hcard sur le wiki des microformats" href="http://microformats.org/wiki/hCard-fr">microformat hCard</a>, qui ajoute de la sémantique et de la structure au contenu web traitant des <strong>personnes, organisations, sociétés et lieux</strong>.</p>
<p>(Mettez-vous à l&#8217;aise, c&#8217;est long.)</p>
<h4 id="hcard-origine">Origines : <a title="VCard" rel="wikipedia" href="http://fr.wikipedia.org/wiki/VCard">vCard</a></h4>
<p><a title="vcard sur wikipedia" href="http://fr.wikipedia.org/wiki/VCard">vCard</a> est un standard pour les cartes de visite électroniques, qui sont le plus souvent attachées en pièces jointes aux courriers électroniques sous forme de fichiers avec l&#8217;extension &laquo;&nbsp;.vcf&nbsp;&raquo;. Tout comme les cartes de visite traditionnelles, les vCards contiennent de l&#8217;information sur le nom et le contact.</p>
<p>La hCard a été présentée comme un format standard pour permettre aux auteurs du web d&#8217;inclure l&#8217;information vCard au sein de leurs pages web.</p>
<p>hCard utilise une représentation <abbr title="one to one !">1:1</abbr> de la vCard. Ce qui veut dire que le contenu web marqué avec le format hCard peut être converti en vCards par les spiders et autres agrégateurs, et peut être utilisé dans n&#8217;importe quelle application ou service vCard.</p>
<h4>Personnes, Organisations, Sociétés &amp; Lieux</h4>
<p>Le microformat hCard représente des personnes, organisations, sociétés et lieux — le plus souvent en termes d&#8217;information adresse/contact, y compris mais non limité à :</p>
<ul>
<li>Nom formaté/structuré</li>
<li>Adresse postale/distribution</li>
<li>Adresse e-mail</li>
<li>Numéro(s) de téléphone</li>
<li>Photographie</li>
</ul>
<p>Parmi toutes les informations qui peuvent être incluses dans hCard, la seule information <em>obligatoire</em> est le nom formaté. Tout le reste est optionnel.</p>
<p>Et hCard, comme tous les microformats, utilise <em>un marquage et des attributs existants</em> pour spécifier cette information adresse/contact, et tout particulièrement différentes valeurs de <code>class</code>e, qui sont renvoyées sous des &laquo;&nbsp;propriétés&nbsp;&raquo; et &laquo;&nbsp;sous-propriétés.&nbsp;&raquo;</p>
<h4>Une Personne, à Savoir Moi</h4>
<p>L&#8217;une des premières implémentations hCard sur <a title="ablognotlimited" href="http://www.ablognotlimited.com/">A Blog Not Limited</a> est pour mon information personnelle de contact sur ma page <a href="http://www.ablognotlimited.com/about/">About</a> :</p>
<ol class="code">
<li><code>&lt;div <strong>class="vcard"</strong>&gt;<br />
</code></li>
<li><code>&lt;p class="fn n"&gt;<br />
&lt;span class="given-name"&gt;Emily&lt;/span&gt;<br />
&lt;span class="additional-name"&gt;Paige&lt;/span&gt;<br />
&lt;span class="family-name"&gt;Lewis&lt;/span&gt;&lt;/p&gt;<br />
</code></li>
<li><code>&lt;p&gt;&lt;a class="email"<br />
href="mailto:emily@ablognotlimited.com"&gt;<br />
emily@ablognotlimited.com&lt;/a&gt;<br />
&lt;/p&gt;<br />
</code></li>
<li><code>&lt;p class="adr"&gt;<br />
&lt;span class="locality"&gt;Albuquerque&lt;/span&gt;,<br />
&lt;abbr class="region" title="New Mexico"&gt;NM<br />
&lt;/abbr&gt;<br />
&lt;span class="postal-code"&gt;87106<br />
&lt;/span&gt;<br />
&lt;acronym class="country-name" title="United States of America"&gt;USA&lt;/acronym&gt;<br />
&lt;/p&gt;<br />
</code></li>
<li><code>&lt;p class="nonVisual"&gt;<br />
&lt;a href="http://www.ablognotlimited.com" rel="home me" class="url"&gt;<br />
A Blog Not Limited&lt;/a&gt;<br />
&lt;/p&gt;<br />
</code></li>
<li><code>&lt;/div&gt;<br />
</code></li>
</ol>
<p>La première chose à considérer sur l&#8217;exemple ci-dessus est que tout le balisage et le contenu sont contenus dans une <code>&lt;div&gt;</code> déclarée <code>class="vcard"</code>.</p>
<p>L&#8217;<em>élément contenant pourrait être n&#8217;importe quoi</em> (<code>&lt;p&gt;</code>, <code>&lt;ul&gt;</code>, <code>&lt;span&gt;</code>, <abbr title="etcetera">etc.</abbr>), tant que cela reste de la syntaxe valide et de préférence sémantique.</p>
<p><strong>Ce qui est essentiel c&#8217;est <code>class="vcard"</code></strong>.</p>
<p>&laquo;&nbsp;Mais le microformat s&#8217;appelle <em>hCard</em> … quel rapport avec la propriété vCard ?&nbsp;&raquo; me direz vous.</p>
<p>Bon, ceci s&#8217;explique par la représentation 1:1 de la vCard. Toutes les propriétés spécifiées hCard (les valeurs <code>class</code>) sont fondées sur les noms des propriétés type vCard.</p>
<p>Acceptez ça et avançons.</p>
<h5>Information d&#8217;Identité Personnelle</h5>
<p>En divisant l&#8217;exemple dans ses différentes propriétés, commençons par celles qui m&#8217;identifient personnellement, comme mon nom. Vous pouvez constater que mon information de nom est contenue dans <code>&lt;p class="fn n"&gt;</code> :</p>
<p class="code"><code>&lt;p <strong>class="fn n"</strong>&gt;<br />
&lt;span class="given-name"&gt;Emily&lt;/span&gt;<br />
&lt;span class="additional-name"&gt;Paige&lt;/span&gt;<br />
&lt;span class="family-name"&gt;Lewis&lt;/span&gt;<br />
&lt;/p&gt;<br />
</code></p>
<p>La propriété <code>fn</code> indique que le contenu contenu à l&#8217;intérieur est <strong>une chaîne correspondant au nom de la personne</strong>, comme pourriez le voir sur une plaque nominative. Comme je l&#8217;évoquais précédemment, c&#8217;est une <em>propriété obligatoire</em> dans le microformat hCard.</p>
<p>La propriété <code>n</code> indique que le contenu à l&#8217;intérieur contient <strong>les parties du nom d&#8217;une personne</strong>, comme le prénom, le deuxième prénom et les noms de famille.</p>
<p>Bien que la propriété <code>n</code> soit requise par la spécification, elle peut être implicite (ce qui veut dire, non spécifiée), si le contenu regroupé par la propriété <code>fn</code> fait <em>exactement deux mots</em>. Le wiki Microformats explique en détail cette <a title="wiki des microformats" href="http://microformats.org/wiki/hcard-fr#Optimisation_implicite_.22n.22">optimisation implicite</a>.</p>
<p>Il existe quelques autres propriétés d&#8217;identification que je pourrais inclure si j&#8217;étais encline à faire ainsi :</p>
<ul>
<li><code>class="nickname"</code> indique le pseudo/nom de guerre d&#8217;une personne, et s&#8217;applique à un élément contenant le texte de ce pseudo.</li>
<li><code>class="photo"</code> indique une photo associée à une personne, et s&#8217;applique à un élément <code>&lt;img /&gt;</code> faisant référence à l&#8217;<acronym title="Uniform Resource Locator">URL</acronym> de la photo (via <code>src</code>). Cette propriété pourrait être aussi appliquée à un élément <code>&lt;object&gt;</code> référençant l&#8217;URL de la photo via l&#8217;attribut <code>data</code> (bien que ce soit pour moi une option non-sémantique).</li>
<li><code>class="bday"</code> indique une date de naissance d&#8217;une personne, et s&#8217;applique à un élément contenant l&#8217;information de date.</li>
</ul>
<h6>Aparté : Les Dates</h6>
<div class="ins">
<p><strong>Mise à jour : 02 juin 2009</strong></p>
<p>Le <a title="Lien sur le wiki des microformats" href="http://microformats.org/wiki/datetime-design-pattern-fr">datetime design pattern</a> est désormais déprécié en faveur du <a title="wikimicroformats" href="http://microformats.org/wiki/value-class-pattern-fr">modèle-de-classe-value</a>. Voir <a>cet article</a> en attendant la 8ème partie de cette série pour en savoir plus sur ce nouveau pattern.</p>
</div>
<p>Je devrais mentionner que quand on arrive à l&#8217;information de date, celle-ci est souvent marquée avec de l&#8217;information à la fois lisible par les humains et par les machines. Ceci s&#8217;appelle le <a title="wiki des microformats" href="http://microformats.org/wiki/datetime-design-pattern-fr">datetime design pattern</a>.</p>
<p>Sans rentrer trop dans les détails (parce que je traiterai cela en profondeur avec <a title="hcalendar microformat sur le wiki des microformats" href="http://microformats.org/wiki/hcalendar-fr">microformat hCalendar</a> dans la 4<sup>ème</sup> partie de cette série), voici un exemple sur la façon dont l&#8217;information de date est communément référencée dans les différents microformats :</p>
<p class="code"><code>&lt;abbr class="bday"<br />
<strong>title="1974-09-04"</strong>&gt;4 Septembre 1974<br />
&lt;/abbr&gt;<br />
</code></p>
<p>&gt;Remarquez que ce qui est contenu par le <code>&lt;abbr&gt;</code> est de l&#8217;information-date-lisible-par-les-<em>humains</em>, alors que la valeur <code>title</code> est de l&#8217;information de date lisible–par–les–<em>machines</em>.</p>
<p>L&#8217;utilisation de l&#8217;élément <code>&lt;abbr&gt;</code> pour l&#8217;information de date (<a title="wiki des microformats : abbr design pattern" href="http://microformats.org/wiki/abbr-design-pattern-fr">l&#8217;abbr design pattern</a>), a cependant soulevé quelques  <a title="haccessibility sur webstandards" href="http://www.webstandards.org/2007/04/27/haccessibility/">problématiques d&#8217;accessibilité</a>.</p>
<p>Une fois de plus, je traiterai cela plus en détails dans la 4ème partie, mais ce qui a été proposé pour contourner ces problématiques est d&#8217;utiliser un élément <code>&lt;span&gt;</code> avec une valeur <code>title</code> plutôt que <code>&lt;abbr&gt;</code>. (Je traiterai aussi des problématiques d&#8217;accessibilité plus en détail en conclusion de cette série.)</p>
<h5>Sous-Propriétés</h5>
<p>Ainsi, pour revenir à l&#8217;exemple sur ma page <a title="page about sur ablognotlimited" href="http://www.ablognotlimited.com/about/">About</a> …</p>
<p>Beaucoup de propriétés hCard ont des sous-propriétés pour fournir encore plus de contenu. Dans mon exemple, je marque le contenu dans <code>&lt;p class="fn n"&gt;</code> avec des <code>&lt;span&gt;</code>s référençant les sous-propriétés :</p>
<p class="code"><code>&lt;p class="fn n"&gt;<br />
&lt;span <strong>class="given-name"</strong>&gt;Emily&lt;/span&gt;<br />
&lt;span <strong>class="additional-name"</strong>&gt;Paige&lt;/span&gt;<br />
&lt;span <strong>class="family-name"</strong>&gt;Lewis&lt;/span&gt;<br />
&lt;/p&gt;</code></p>
<ul>
<li>Mon premier prénom est indiqué par <code>class="given-name"</code>.</li>
<li>Mon second prénom est indiqué par <code>class="additional-name"</code>.</li>
<li>Mon nom de famille est indiqué par le <code>class="family-name"</code>.</li>
</ul>
<p>Parmi ces trois sous-propriétés, <code>given-name</code> et <code>family-name</code> ne peuvent être  seulement utilisées qu&#8217;une fois par <code>vcard</code>, alors que la sous-propriété <code>additional-name</code> peut être utilisée plusieurs fois.</p>
<p>Et il existe deux sous-propriétés supplémentaires que j&#8217;aurais pu inclure :</p>
<ul>
<li><code>class="honorific-prefix"</code> indique les préfixes du nom (par ex. <abbr title="Monsieur">M.</abbr>, <abbr title="Docteur">Dr.</abbr>), et qui s&#8217;applique à un élément contenant le texte de ce préfixe.</li>
<li><code>class="honorific-suffix"</code> indique les suffixes du nom (par ex. <abbr title="Medical Doctor">MD</abbr>, <abbr title="Philosophiae Doctor">PhD</abbr>), et s&#8217;applique à un élément contenant le texte de ce suffixe.</li>
</ul>
<p>Comme <code>additional-name</code>, ces deux sous-propriétés peuvent aussi être utilisées plusieurs fois.</p>
<h5>E-mail &amp; Téléphone</h5>
<p>La prochaine partie de l&#8217;exemple est mon adresse e-mail dans <code>&lt;a class="email"&gt;</code> :</p>
<p class="code"><code>&lt;p&gt;<br />
;&lt;a <strong>class="email"</strong><br />
href="mailto:emily@ablognotlimited.com"&gt;<br />
emily@ablognotlimited.com&lt;/a&gt;<br />
&lt;/p&gt;<br />
</code></p>
<p>Attribuer la propriété <code>email</code> à mon lien (<code>&lt;a&gt;</code>) indique que la valeur <code>href</code> est mon adresse e-mail. Le contenu regroupé par le <code>&lt;a&gt;</code> pourrait être n&#8217;importe quoi. J&#8217;ai simplement choisi d&#8217;afficher la véritable valeur de mon adresse e-mail.</p>
<p>La propriété <code>email</code> peut être utilisée plusieurs fois. Dans ces cas, la sous-propriété <code>type</code> peut être ajoutée pour savoir quelle adresse parmi les multiples e-mails est la préférée (&laquo;&nbsp;pref&nbsp;&raquo;):</p>
<ol class="code">
<li><code>&lt;p&gt;&lt;a <strong>class="email"</strong><br />
href="mailto:test1@test.com"&gt;<strong><br />
&lt;span class="type"&gt;pref&lt;/span&gt;</strong>erred email<br />
&lt;/a&gt;<br />
&lt;/p&gt;<br />
</code></li>
<li><code>&lt;p&gt;&lt;a <strong>class="email"</strong><br />
href="mailto:test2@test.com"&gt;alternate email<br />
&lt;/a&gt;<br />
&lt;/p&gt;<br />
</code></li>
</ol>
<p>Je pourrais aussi inclure une autre propriété, <code>tel</code>, qui indique un numéro de téléphone d&#8217;une personne (via la sous-propriété <code>value</code>). La propriété <code>tel</code> a une sous-propriété <code>type</code> pour indiquer le type de numéro (par exemple home, work, fax) :</p>
<p class="code"><code>&lt;p <strong>class="tel"</strong>&gt;<br />
&lt;span <strong>class="type"</strong>&gt;Work&lt;/span&gt; :<br />
&lt;span <strong>class="value"</strong>&gt;555-123-4567&lt;/span&gt;<br />
&lt;/p&gt;<br />
</code></p>
<p>La sous-propriété <code>type</code> est complètement optionnelle. Si vous avez choisi de l&#8217;omettre, la valeur par défaut est &laquo;&nbsp;voice.&nbsp;&raquo;</p>
<p>La propriété <code>tel</code> peut être utilisée plusieurs fois, comme le peut <code>type</code>. La sous-propriété  <code>type</code> peut aussi indiquer &laquo;&nbsp;pref&nbsp;&raquo; pour afficher si c&#8217;est le numéro de téléphone préféré.</p>
<ol class="code">
<li><code>&lt;p <strong>class="tel"</strong>&gt;<br />
&lt;span <strong>class="type"</strong>&gt;Work<br />
&lt;/span&gt;(<strong>&lt;span class="type"&gt;pref<br />
&lt;/span&gt;</strong>erred):<br />
&lt;span class="value"&gt;555-123-4567<br />
&lt;/span&gt;<br />
&lt;/p&gt;<br />
</code></li>
<li><code>&lt;p <strong>class="tel"</strong>&gt;<br />
&lt;span <strong>class="type"</strong>&gt;Home<br />
&lt;/span&gt; :<br />
&lt;span class="value"&gt;555-789-0123<br />
&lt;/span&gt;<br />
&lt;/p&gt;<br />
</code></li>
</ol>
<p>Pour finir, la sous-propriété <code>value</code> peut être implicite. Si un <code>type</code> est spécifié sans qu&#8217;aucune  <code>value</code> ne soit spécifiée, alors tout autre propriété autre que <code>type</code> dans la propriété <code>tel</code> est considérée comme la <code>value</code>.</p>
<h5>Information d&#8217;Adresse</h5>
<p>La prochaine partie de l&#8217;exemple inclut mon adresse regroupée sous un <code>&lt;p class="adr"&gt;</code> :</p>
<p class="code"><code>&lt;p <strong>class="adr"</strong>&gt;<br />
&lt;span <strong>class="locality"</strong>&gt;Albuquerque&lt;/span&gt;,<br />
&lt;abbr <strong>class="region"</strong> title="Nouveau Mexique"&gt;NM&lt;/abbr&gt;<br />
&lt;span <strong>class="postal-code"</strong>&gt;87106&lt;/span&gt;<br />
&lt;acronym <strong>class="country-name"</strong> title="United States of America"&gt;USA&lt;/acronym&gt;<br />
&lt;/p&gt;<br />
</code></p>
<p>La propriété <code>adr</code> indique les parties d&#8217;une adresse, que je décris par des <code>&lt;span&gt;</code>s assignés aux différentes sous-propriétés de l&#8217;adresse :</p>
<ul>
<li>La ville est indiquée par <code>class="locality"</code>.</li>
<li>L&#8217;état est indiqué par <code>class="region"</code>. Cette sous-propriété pourrait s&#8217;utiliser pour les provinces.</li>
<li>Le code postal est indiqué par <code>class="postal-code"</code>.</li>
<li>Le pays est indiqué par <code>class="country-name"</code>.</li>
</ul>
<p>Remarquez que pour mon <code>country-name</code>, j&#8217;ai utilisé l&#8217;élément <code>&lt;acronym&gt;</code> pour une référence plus courte vers mon pays, avec le nom complet inclus dans le <code>title</code>. J&#8217;aurais pu tout aussi bien écrire le nom complet et contourner complètement l&#8217;<code>&lt;acronym&gt;</code>e. Juste une question de préférence (même si j&#8217;encourage vivement à la concision sémantique).</p>
<p>Pour des détails d&#8217;adresses encore plus précis, je pourrais aussi ajouter :</p>
<ul>
<li><code>class="street-address"</code> pour mon adresse de rue</li>
<li><code>class="extended-address"</code> pour ajouter le numéro de mon appartement</li>
<li><code>class="type"</code> pour indiquer le type d&#8217;adresse (par ex. home, work)</li>
</ul>
<h6>Aparté : <code>address</code></h6>
<p>Mais attendez ! Qu&#8217;en-est-il de la sémantique ? Pourquoi ne pas utiliser l&#8217;élément <code>&lt;address&gt;</code> comme le conteneur principal, plutôt qu&#8217;un <code>&lt;p&gt;</code> ?</p>
<p>En fait, jusqu&#8217;à ce que j&#8217;écrive cet article et fasse la recherche, j&#8217;ai découvert que j&#8217;utilisais <code>&lt;address&gt;</code> de manière incorrecte depuis des années. J&#8217;avais toujours pensé que c&#8217;était littéralement pour les adresses physiques, comme dans cet exemple précis.</p>
<p>J&#8217;avais tort.</p>
<p>Selon le <cite><acronym title="World Wide Web Consortium">W3C</acronym></cite>, l&#8217;élément <code>&lt;address&gt;</code> est :</p>
<blockquote class="internal" cite="http://www.la-grange.net/w3c/html4.01/struct/global.html#h-7.5.6"><p>… employer l&#8217;élément ADDRESS pour fournir les informations de contact du document ou d&#8217;une partie essentielle de celui-ci, comme un formulaire.</p></blockquote>
<p>Compte tenu de cela, ce n&#8217;est tout simplement pas le bon élément à utiliser.</p>
<h5>Information sur le Site Web</h5>
<p>La dernière partie de mon exemple contient mon URL de blog dans <code>&lt;a class="url"&gt;</code> :</p>
<p class="code"><code>&lt;p class="nonVisual"&gt;<br />
&lt;a href="http://www.ablognotlimited.com" rel="home me" <strong>class="url"</strong>&gt;<br />
A Blog Not Limited&lt;/a&gt;<br />
&lt;/p&gt;</code></p>
<p>La propriété <code>url</code> indique que le lien (<code>&lt;a&gt;</code>) destination (<code>href</code>) se fait vers un site web associé à moi. Bien que je sois en train de référencer mon blog, ceci pourrait être aussi un lien vers mon <a title="www.emilylewisdesign.com" href="http://www.emilylewisdesign.com">portfolio design</a> ou toute autre URL m&#8217;étant associée.</p>
<p>Quelques trucs à remarquer concernant la dernière partie de l&#8217;exemple :</p>
<ul>
<li>En restant engagée avec les microformats fondés sur le rel, je me suis aussi assurée d&#8217;inclure <code>rel="home me"</code>. Remarquez la facilité de combiner les microformats ?</li>
<li>Le lien est contenu dans un <code>&lt;p class="nonVisual"&gt;</code>, ce qui est tout simplement un paragraphe auquel j&#8217;ai déclaré une classe personnalisée pour supprimer l&#8217;affichage de l&#8217;information parce que je ne pense pas qu&#8217;il soit nécessaire de l&#8217;afficher dans cette situation spécifique. Sans tenir compte du fait que cela n&#8217;a rien à voir avec le microformat hCard.</li>
</ul>
<h5>Produit Fini</h5>
<p>Après cette explication exhaustive du marquage, voici à quoi cela ressemble :</p>
<p><a href="http://www.ablognotlimited.com/About/"><img class="frame" style="height: 126px; width: 184px;" src="http://www.ablognotlimited.com/images/experiments/emilyVCard.png" alt="vCard d'Emily" /></a></p>
<p>Et du fait que hCard n&#8217;utilise que du <acronym title="eXtensible Hypertext Markup Language">XHTML</acronym> standard, elle peut être <strong>stylisée de n&#8217;importe quelle façon comme il vous plaira</strong>.</p>
<p>Si vous n&#8217;avez pas déjà compris, j&#8217;ai choisi une esthétique plutôt minimaliste, aussi j&#8217;en suis arrivée virtuellement à aucun autre stylisme que l&#8217;utilisation du <code>class="nonVisual"</code> pour supprimer l&#8217;affichage de quelque contenu.</p>
<p>Mais pour voir un exemple de ce que vous pourriez produire, <cite class="vcard"><a class="fn url" title="Chris Coyier" rel="colleague muse" href="http://chriscoyier.net/">Chris Coyier</a></cite> a récemment posté une <a title="Microformats Business Card" href="http://css-tricks.com/a-buisness-card-microformats-site">Carte de Visite Professionnelle en Microformats</a>, qui utilise le marquage hCard avec une très belle <acronym title="Cascading StyleSheets">CSS</acronym> pour imiter une carte de visite traditionnelle imprimée.</p>
<p><em>Les possibilités ne se limitent qu&#8217;à vos talents en CSS</em>.</p>
<h5>Ajouter au Carnet d&#8217;Adresses ?</h5>
<p>Vous voyez dans mon exemple qu&#8217;immédiatement après mon contenu hCard, j&#8217;offre un lien vers &laquo;&nbsp;Ajouter à votre Carnet d&#8217;Adresses.&nbsp;&raquo; C&#8217;est tout simplement un lien vers le fichier vCard qui peut être téléchargé et ajouté à un programme de gestion de carnet d&#8217;adresses.</p>
<p>Vous pouvez offrir facilement un lien direct vers le .vcf que vous créerez et maintiendrez sur votre serveur, ou vous pouvez tirer profit du <a title="Service Contacts de Technorati" href="http://technorati.com/contacts/">Service Contacts de Technorati</a>. <em>(NDT : utilisez désormais le <a title="h2vx.com/vcf" href="http://h2vx.com/vcf/">service de conversion de contacts h2vx</a>)</em></p>
<p>En utilisant la technologie h2vx <span style="text-decoration: line-through;">de Technorati</span>, vous faites simplement précéder l&#8217;URL de la page dépouillée de son préfixe <code>http://</code> où votre microformats hCard réside avec <a title="h2vx.com/vcf" href="http://h2vx.com/vcf/">http://h2vx.com/vcf/</a> <span style="text-decoration: line-through;"><a href="http://feeds.technorati.com/contacts/">http://feeds.technorati.com/contacts/</a></span>, et puis utilisez l&#8217;URL résultante comme la valeur <code>href</code> pour votre lien (<code>&lt;a&gt;</code>). Ce qui donne : </p>
<p class="code"><code><br />
&lt;a<br />
href="<strong>http://h2vx.com/vcf/www.ablognotlimited.com/about/</strong>"<br />
title="Téléchargez la vCard"<br />
&gt;Ajouter au Carnet d'Adresses<br />
&lt;/a&gt;<br />
</code></p>
<p>Quand un utilisateur sélectionne ce lien, la vCard est créée dynamiquement et il peut alors la télécharger :</p>
<p><img class="frame" src="http://img.skitch.com/20100319-r4fgm25w6nidyjxw9kwamaucre.jpg" alt="Téléchargez la vCard" /></p>
<h4>Quelques Règles &amp; Un Rappel</h4>
<p>Maintenant que j&#8217;en ai terminé avec mon premier exemple de hCard, il est nécessaire de faire remarquer quelques règles :</p>
<ul>
<li>Les noms de propriétés et de sous-propriétés sont sensibles à la casse.</li>
<li>La &laquo;&nbsp;racine&nbsp;&raquo; <code>vcard</code> ne peut pas être mélangée avec n&#8217;importe laquelle de ses propriétés. Par conséquent, <code>class="vcard fn"</code> est invalide.</li>
<li>Les propriétés ne peuvent pas être combinées avec les sous-propriétés. Par conséquent, <code>class="tel value"</code> est invalide.</li>
</ul>
<p>Pas si mal non ? Je veux dire, allez les microformats sont <em>standards</em>. Bien sûr il y a quelques règles.</p>
<p><strong>Et n&#8217;oubliez pas :</strong> Ce n&#8217;est pas <em>intrinsèquement</em> un problème de marquage quand on parle de microformats. Cela concerne les valeurs de <code>class</code>e et différents attributs de marquage — propriétés et sous-propriétés.</p>
<p>Vous pouvez utiliser presque tous les éléments (X)HTML que vous voudrez et faire que les microformats soient encore valides <em>si</em> vous déclarez proprement les propriétés et sous-propriétés.</p>
<p>Bien sûr, si vous vous souciez de comprendre la sémantique des microformats, vous devriez aussi comprendre le marquage sémantique.</p>
<h4 id="profil">N&#8217;oublions Pas le Profil</h4>
<p>Tout comme je le mentionnais avec XFN, il est recommandé d&#8217;inclure le <a title="profil hCard sur le wiki microformats" href="http://microformats.org/wiki/hcard-profile-fr">profil hCard</a> dans le <code>&lt;head&gt;</code> des pages web qui incluent le microformat :</p>
<p class="code"><code><br />
&lt;head <strong>profile="http://www.w3.org/2006/03/hcard"</strong>&gt;<br />
</code></p>
<p>le W3C autorise <a title="recommandation W3C" href="http://www.w3.org/TR/REC-html40/struct/global.html#adef-profile">plusieurs valeurs de profil</a>, séparées par un espace blanc, ainsi vous pouvez avoir à la fois les profils pour hCard et XFN :</p>
<p class="code"><code>&lt;head<br />
<strong>profile="http://gmpg.org/xfn/11</strong><br />
<strong>http://www.w3.org/2006/03/hcard"</strong>&gt;<br />
</code></p>
<p>Mise à jour :</p>
<p>J&#8217;ai récemment découvert qu&#8217;il existe un profil combiné pouvant être utilisé pour tous les microformats-non-draft, plutôt que de lister plusieurs profils dans le  d&#8217;un document :</p>
<p class="code"><code>&lt;head profile="http://purl.org/uF/2008/03/"&gt;<br />
</code></p>
<p>Aussi si vous utilisez un microformat unique sur une page, vous pouvez utiliser ce profil combiné si ce microformat est non-draft. Néanmoins pour les microformats-draft (en projet), vous devez spécifier le profil pour ce microformat particulier.</p>
<p>A cette heure, tous les microformats discutés dans cette série (à l&#8217;exception de rel-home) sont &laquo;&nbsp;non-draft&nbsp;&raquo;.</p>
<p>A nouveau, comme je l&#8217;ai déjà abordé eu égard à XFN, je maintiens mon <code>&lt;head&gt;</code> dans une inclusion globale, ainsi il y est fait référence sur l&#8217;ensemble du site <q>A Blog Not Limited</q>. Néanmoins, tel que cela se révèle, ceci est requis, parce que j&#8217;utilise le microformat hCard sur presque toutes les pages de mon site (dans le pied de page).</p>
<p>Ce qui suit très joliment dans la prochaine partie de cet article …</p>
<h4>hCard en Langage Naturel</h4>
<p>Il y a de ça un moment, j&#8217;étais tombée sur un article génial du brillant <cite class="vcard"><a class="url fn" title="page personnelle adactio.com" rel="muse colleague" href="http://adactio.com">Jeremy Keith</a></cite>, qui suggère d&#8217;utiliser <a title="traduction du billet de Jeremy" href="http://christopheducamp.com/ProjetBlog/2007/10/01/une-hcard-en-langage-naturel/">hCard en langage naturel</a>.</p>
<p>En fait, il propose d&#8217;appliquer les propriétés et sous propriétés de hCard pour l&#8217;information de contact (par ex : nom, site web, email) qui apparaîtront dans le flux des phrases naturelles, à l&#8217;inverse du &laquo;&nbsp;découpage &nbsp;&raquo; de l&#8217;information de contact d&#8217;une personne comme montré dans mon premier exemple.</p>
<p>Le concept est si simple et s&#8217;ouvre vraiment aux opportunités pour utiliser hCard. Aussi, ai-je décidé de l&#8217;utiliser dans mon pied de page sur <em>A Blog Not Limited</em> où j&#8217;ai quelques trucs me concernant :</p>
<ol class="code">
<li><code>&lt;div id="creator" <strong>class="vcard"</strong>&gt;</code></li>
<li><code>&lt;h3&gt;&lt;a href="/about/"<br />
title="En savoir plus à propos d'Emily"&gt;La Personne la plus Cool que Je Connaisse&lt;/a&gt;<br />
&lt;/h3&gt;<br />
</code></li>
<li><code>&lt;a href="/about/"<br />
title="En savoir plus à propos d'Emily"&gt;<br />
&lt;img src="/images/emilyLewisThumb.jpg"<br />
style="width:80px; height:80px;" <strong>class="photo"</strong><br />
alt="Emily Lewis" /&gt;<br />
&lt;/a&gt;<br />
</code></li>
<li><code>&lt;p&gt;Yeah ce serait moi :<br />
&lt;a <strong>class="fn email"</strong><br />
href="mailto:emily@ablognotlimited.com"&gt;Emily Lewis&lt;/a&gt;.<br />
&lt;/p&gt;</code></li>
<li><code>&lt;p&gt;Je suis<br />
&lt;span <strong>class="title"</strong>&gt;web designer<br />
&lt;/span&gt; vit à<br />
&lt;span <strong>class="adr"</strong>&gt;<br />
&lt;span <strong>class="locality"</strong>&gt;Albuquerque&lt;/span&gt;,<br />
&lt;span <strong>class="region"</strong>&gt;New Mexico<br />
&lt;/span&gt; &lt;span <strong>class="postal-code</strong>nonVisual"&gt;87106<br />
&lt;/span&gt;<br />
&lt;acronym <strong>class="country-name</strong> nonVisual" title="United States of America"&gt;USA<br />
&lt;/acronym&gt;&lt;/span&gt;, et suis une "standardista."&lt;/p&gt;</code></li>
<li><code>&lt;p&gt;Je suis spécialisée dans le<br />
&lt;acronym title="eXtensible Hypertext Markup Language"&gt;(X)HTML<br />
&lt;/acronym&gt; sémantique codé à la main et &lt;acronym title="Cascading StyleSheets"&gt;CSS<br />
&lt;/acronym&gt;, concevoir des sites web accessibles, et l'écriture et optimisation du contenu web.<br />
&lt;/p&gt;<br />
</code></li>
<li><code>&lt;p&gt;&lt;a href="http://www.ablognotlimited.com" rel="home me"<br />
<strong>class="url"</strong>&gt;A Blog Not Limited&lt;/a&gt; est mon blog personnel où je pontifie sur le design web, les standards du web, la sémantique et tout ce qui m'entiche.<br />
&lt;/p&gt;</code></li>
<li><code>&lt;/div&gt;</code></li>
</ol>
<h5>Les Différences</h5>
<p>Mis à part le fait que le contenu hCard dans ce second exemple soit &laquo;&nbsp;dans la ligne&nbsp;&raquo; avec du contenu non-hCard, il y a quelques légères différences dans les propriétés et sous-propriétés hCard utilisées :</p>
<ul>
<li>Je fais uniquement référence dans cet exemple à mon premier prénom et à mon nom de famille, aussi je n&#8217;utilise que <code>class="fn"</code>. Souvenez-vous que la propriété <code>n</code> peut être implicite <em>si</em> le contenu <code>fn</code> fait exactement deux mots.</li>
<li>J&#8217;inclus mon titre de job dans la description, aussi j&#8217;ajoute <code>class="title"</code>, qui est l&#8217;une des propriétés fournissant de l&#8217;information à propos de l&#8217;affiliation professionnelle d&#8217;une personne. Cette propriété indique le titre de mon job.</li>
<li>J&#8217;inclus une photo de moi-même, aussi j&#8217;ajoute <code>class="photo"</code> à <code>&lt;img /&gt;</code>.</li>
</ul>
<p>Néanmoins, ces différences avec le premier exemple n&#8217;ont rien à voir avec le fait que j&#8217;utilise la hCard en langage naturel. Ce n&#8217;étaient simplement que les valeurs appropriées à utiliser avec le contenu dans cet exemple spécifique..</p>
<h4>Combiner hCard &amp; XFN</h4>
<p>Comme je le mentionnais, ce concept de hCard en langage naturel fournit tellement plus de contextes dans lesquels la hCard peut être utilisée. Je l&#8217;ai déja appliqué à l&#8217;information à mon propos, mais je fais souvent référence à des amis et confrères dans mes articles … cela fait vraiment sens de marquer ces références avec hCard.</p>
<p>Et peu importe si je marque déjà ces références avec les valeurs XFN. L&#8217;une des meilleures choses à propos des microformats est qu&#8217;ils peuvent être <em>facilement combinés</em>.</p>
<p>Selon le contexte de la référence, j&#8217;utilise un marquage légèrement différent.</p>
<p>Dans les situations où je fais référence à un article/billet (tel que la référence au-dessus à Jeremy Keith), j&#8217;utilise <code>&lt;cite&gt;</code> comme mon conteneur <code>vcard</code> :</p>
<p class="code"><code>&lt;p&gt; … le brillant<br />
<strong>&lt;cite class="vcard"&gt;</strong><br />
&lt;a href="http://adactio.com" <strong>rel="muse colleague"</strong><br />
<strong>class="url fn"</strong><br />
title="adactio.com"&gt;Jeremy Keith&lt;/a&gt;<br />
&lt;/cite&gt;,<br />
qui suggère d'utiliser &lt;a href="http://adactio.com/journal/1122/"<br />
title="adactio : hCard en langage naturel"&gt;hCard en langage naturel&lt;/a&gt;.<br />
&lt;/p&gt;<br />
</code></p>
<p>Et dans les situations où je fais simplement référence à la personne, j&#8217;utilise <code>&lt;span&gt;</code> comme mon conteneur <code>vcard</code> :</p>
<p class="code"><code><strong>&lt;span class="vcard"&gt;</strong><br />
&lt;a href="http://www.jenschwedler.com/"<br />
title="jenschwedler.com" class="url fn"<br />
rel="met colleague co-worker friend"&gt;<br />
Jen Schwedler&lt;/a&gt;<br />
&lt;/span&gt;<br />
</code></p>
<p>Pour finir, si je fais seulement référence à la personne par son prénom, j&#8217;utilise <code>&lt;abbr&gt;</code> le conteneur du nom formaté avec le nom complet comme valeur pour <code>title</code> :</p>
<p class="code"><code>&lt;span class="vcard"&gt;<br />
<strong>&lt;abbr class="fn" title="Ian Pitts"&gt;</strong><br />
&lt;a href="http://www.iso-100.com/" title="iso-100.com"<br />
class="url" rel="met colleague co-worker friend"&gt;<br />
<strong>Ian</strong><br />
&lt;/a&gt;<br />
&lt;/abbr&gt;<br />
&lt;/span&gt;<br />
</code></p>
<p>Dans tous ces exemples, les différences de marquage reflètent simplement ma sémantique préférée. <strong>Les microformats hCard et XFN sont les mêmes </strong>:</p>
<ul>
<li>propriété <code>fn</code> pour le nom</li>
<li>propriété <code>url</code> pour le site web</li>
<li>valeurs <code>rel</code> appropriées.</li>
</ul>
<p>Et si j&#8217;avais de l&#8217;information supplémentaire à propos de ces types (comme un titre de job, un e-mail, etc.) je marquerais de la même façon ce contenu avec les propriétés/sous-propriétés appropriées.</p>
<h4>Organisations &amp; Sociétés</h4>
<p>J&#8217;ai déjà rencontré des situations où je devais utiliser hCard pour décrire une société ou une organisation sur ce blog, et je voulais vraiment fournir un exemple sur la façon dont cela pourrait s&#8217;implémenter :</p>
<ol class="code">
<li><code>&lt;div <strong>class="vcard"</strong>&gt;</code></li>
<li><code>&lt;p <strong>class="fn org"</strong>&gt;Big Ass Blow-Up Dolls&lt;/p&gt;</code></li>
<li><code>&lt;img src="logo.png" <strong>class="logo"</strong> style="width:69px; height:69px;" alt="Big Ass Blow-Up Dolls" /&gt;</code></li>
<li><code>&lt;p <strong>class="adr"</strong>&gt;&lt;span<br />
<strong>class="street-address"</strong>&gt;<br />
6969 Happiness Avenue&lt;/span&gt;,<br />
&lt;span <strong>class="locality"</strong>&gt;Los Angeles&lt;/span&gt;,<br />
&lt;abbr <strong>class="region"</strong> title="California"&gt;CA&lt;/abbr&gt;<br />
&lt;span <strong>class="postal-code"</strong>&gt;69069&lt;/span&gt;<br />
&lt;/p&gt;</code></li>
<li><code>&lt;ul&gt;</code></li>
<li><code>&lt;li <strong>class="tel"</strong>&gt;&lt;span<br />
<strong>class="value"</strong>&gt;696-969-6969&lt;/span&gt;<br />
&lt;/li&gt;</code></li>
<li><code>&lt;li&gt;&lt;a <strong>class="email"</strong><br />
href="mailto:goodtimes@babud.com"&gt;Envoyez-nous un e-mail&lt;/a&gt;<br />
&lt;/li&gt;<br />
</code></li>
<li><code>&lt;li&gt;&lt;a <strong>class="url"</strong><br />
href="http://www.babud.com/"&gt;Visitez Notre Site Web&lt;/a&gt;<br />
&lt;/li&gt;</code></li>
<li><code>&lt;/ul&gt;</code></li>
<li><code>&lt;/div&gt;</code></li>
</ol>
<p>Comme vous pouvez le constater, la hCard pour les organisations/sociétés est en fait la même qu&#8217;elle l&#8217;est pour les individus. Les principales différences sont :</p>
<ul>
<li>En plus de la propriété <code>fn</code> pour le nom, le nom de l&#8217;organisation se voit aussi déclarer la propriété <code>org</code>. Et avec les sociétés/organisations, vous n&#8217;utilisez jamais la propriété <code>n</code>.</li>
<li>Plutôt que <code>photo</code> pour l&#8217;<code>&lt;img /&gt;</code>, l&#8217;image associée est marquée avec la propriété <code>logo</code>.</li>
</ul>
<h4>Lieux</h4>
<p>Ce que j&#8217;ai détaillé pour les sociétés et organisations serait la même approche pour les lieux. Vous référenceriez simplement le nom du lieu avec les propriétés <code>fn org</code> et appliqueriez toute l&#8217;information d&#8217;adresse comme je l&#8217;ai démontré au-dessus.</p>
<p>Voici un exemple de hCard en langage naturel pour un lieu :</p>
<p class="code"><code><br />
&lt;p <strong>class="vcard"</strong>&gt;<br />
Durant ma visite à &lt;span <strong>class="locality"</strong>&gt;Atlanta<br />
&lt;/span&gt;,<br />
&lt;abbr title="Georgia" <strong>class="region"</strong>&gt;GA<br />
&lt;/abbr&gt;,<br />
je prévois de jeter un oeil au<br />
&lt;span <strong>class="fn org"</strong>&gt;<br />
Centennial Olympic Park<br />
&lt;/span&gt;.&lt;/p&gt;<br />
</code></p>
<p>Il y a quelques propriétés hCard spécifiques-aux-lieux qui sont particulièrement utiles pour les endroits (bien qu&#8217;elles ne soient pas uniquement <em>limitées</em> aux lieux) :</p>
<ul>
<li>La propriété <code>geo</code> spécifie la position globale en utilisant deux sous-propriétés, <code>latitude</code> et <code>longitude</code>.</li>
<li>La sous-propriété <code>latitude</code> spécifie une valeur décimale qui indique la position verticale en relation avec l&#8217;équateur.</li>
<li>La sous-propriété <code>longitude</code> spécifie une valeur décimale qui indique la position horizontale en relation avec le premier méridien.</li>
</ul>
<h4>Parlons Avantages</h4>
<p>Ainsi, maintenant que j&#8217;ai traité plusieurs exemples de hCard, il est temps de passer aux avantages.</p>
<h5>Sémantique</h5>
<p>Vous saviez que ça arriverait. Je l&#8217;ai déjà dit et le répéterai encore une fois :</p>
<p>L&#8217;usage des microformats ajoute de la structure et du sens au contenu web, le rendant à la fois lisible par les humains et les machines. Et tout cela avec des <em>standards existants pour le marquage et les données</em>.</p>
<p>Ceci encourage aussi le concept plus large de standards du web qui profitent à tous.</p>
<h5>Partager l&#8217;Information de Contact</h5>
<p>En utilisant hCard pour marquer l&#8217;information de contact, vous rendez automatiquement possible le fait que cette information soit convertie en une vCard téléchargeable, qui peut alors être utilisée par les programmes tels que Outlook de Microsoft et le Carnet d&#8217;Adresses d&#8217;Apple.</p>
<p>Vous pouvez utiliser le service de contacts de Technorati décrit précédemment, ou pouvez créer le vôtre et l&#8217;héberger sur votre propre serveur pour le téléchargement.</p>
<p>En outre, il existe plusieurs modules/extensions de navigateurs qui exportent automatiquement l&#8217;information hCard en vCards :</p>
<h6>Firefox</h6>
<p><a title="Extension Firefox Operator" href="https://addons.mozilla.org/en-US/firefox/addon/4106">Operator 0.9.3</a> reconnaît le contenu hCard et offre aux utilisateurs une option pour exporter l&#8217;information sous une vCard pour utilisation dans leurs programmes préférés de gestion d&#8217;adresses :</p>
<p><img class="frame" src="http://farm4.static.flickr.com/3217/2951567914_dbe89d7d6d.jpg" alt="Extension Firefox Operator avec hCard" /></p>
<p><img class="frame" src="http://farm4.static.flickr.com/3280/2951573334_11e491487a.jpg" alt="vCard importée dans le Carnet d'Adresses" /></p>
<p>Vous pouvez aussi voir la liste des options dans la capture d&#8217;écran, Operator utilise l&#8217;information hCard pour chercher sur d&#8217;autres sites web, comme Google Maps :</p>
<p><img class="frame" src="http://farm4.static.flickr.com/3173/2951576962_0cf9d8fba3.jpg" alt="Google Maps recherche hCard" /></p>
<p><a title="Extension Firefox Tails Export" href="https://addons.mozilla.org/en-US/firefox/addon/2240">Tails Export 0.3.5</a> est une autre extension Firefox qui tire profit de l&#8217;information hCard pour l&#8217;export à l&#8217;intérieur d&#8217;autres programmes de carnet d&#8217;adresses :</p>
<p><img class="frame" src="http://farm4.static.flickr.com/3071/2951583402_5469aec06f_o.jpg" alt="Extension Firefox Tails Export vers hCard" /></p>
<h6>Safari</h6>
<p><a title="Extension Microformats pour Safari" href="http://zappatic.net/safarimicroformats/">Le plugin Safari Microformats</a> est utilisé pour vous utilisateurs de Safari afin d&#8217;identifier les microformats hCard sur une page web et de la sauvegarder dans votre carnet d&#8217;adresses.</p>
<p>Je ne suis pas une fervente utilisatrice de Safari, et l&#8217;installation de ce plug-in fût bien trop boîteuse pour moi … aussi je ne l&#8217;ai pas installé et ne peux pas vous fournir de capture d&#8217;écran.</p>
<h6>Bookmarklets</h6>
<p>Le concept derrière le plugin susmentionné a été implémenté dans un <a title="bookmarklet microformats" href="http://leftlogic.com/lounge/articles/microformats_bookmarklet">bookmarklet microformats</a> indépendant du navigateur, et je peux confirmer que c&#8217;est vraiment très beau :</p>
<p><img class="frame" src="http://farm4.static.flickr.com/3230/2951587922_2c8d5192b6.jpg" alt="bookmarklet Microformats avec hCard" /></p>
<p>Il existe aussi <a href="http://microformats.org/wiki/bookmarklets-fr">d&#8217;autres bookmarklets hCard</a>.</p>
<h5>Chercher</h5>
<p>Le contenu web marqué avec des microformats a naturellement plus de sens. Ceci pourrait aider les moteurs de recherche à mieux évaluer le contenu que vous leur fournissez, et peut-être, augmenter votre classement dans les résultats des moteurs de recherche.</p>
<p>Il n&#8217;y a jamais de garanties quand on arrive à la recherche, mais le <em>contenu de qualité dans le contexte</em> est toujours un bon démarrage.</p>
<p>Au delà des résultats de recherche, bon nombre des moteurs de recherche sont en train d&#8217;implémenter hCard dans leurs propres applications et services :</p>
<ul>
<li>Google a <a title="microformats dans google maps" href="http://googlemapsapi.blogspot.com/2007/06/microformats-in-google-maps.html">ajouté les microformats à sa Google Maps</a>.</li>
<li><a title="Technorati Search" href="http://kitchen.technorati.com/search/">Technorati Microformats Search</a> cherche les hCards et autres microformats, y compris hCalendar et <a title="hReview sur le wiki des microformats" href="http://microformats.org/wiki/hreview-fr">hReview</a>.</li>
<li><a title="Yahoo! Local" href="http://local.yahoo.com/">Yahoo! Local</a> marque ses résultats avec hCard, tout comme avec hCalendar et hReview.</li>
</ul>
<h5>Réseaux Sociaux</h5>
<p>Les sites de réseaux sociaux utilisent les microformats hCard pour marquer les pages profils avec l&#8217;information de contact des utilisateurs, tout comme celles des &laquo;&nbsp;contacts/friends/followers&nbsp;&raquo; des utilisateurs :</p>
<ul>
<li><a title="twitter.com" href="http://twitter.com">Twitter</a> applique la hCard aux pages profil, tout comme celles des listes des &laquo;&nbsp;following&nbsp;&raquo; et &laquo;&nbsp;follower&nbsp;&raquo;.</li>
<li><a title="claimID" href="http://claimid.com">ClaimID</a> applique la hCard sur les profils publics des utilisateurs.</li>
<li><a title="Last.fm" href="http://www.last.fm/">Last.fm</a> applique la hCard sur les profils, qui comprend <code>photo</code> et <code>url</code> en plus de <code>fn</code>.</li>
</ul>
<p>Et ce pour n&#8217;en citer que quelques-uns. Regardez la liste complète des <a title="Services avec profils hCard sur le wiki des microformats" href="http://microformats.org/wiki/hcard-supporting-user-profiles-fr#Tous_les_services_avec_des_profils_hCard">services qui utilisent hCard</a>.</p>
<h4>Des Outils pour Vous Faciliter La Vie</h4>
<p>Je serais négligente si je ne vous faisais pas ressortir quelques outils utiles qui peuvent vous aider à implémenter bien plus facilement hCard que de coder à la main et vous obliger à vous souvenir de toutes les valeurs (bien que <em>j</em>&#8216;apprécie) :</p>
<ul>
<li><a title="hCard creator" href="http://microformats.org/code/hcard/creator">hCard creator</a> est un simple formulaire qui génère une hCard à partir de l&#8217;information proposée.</li>
<li>Le <a title="validateur microformat hCard" href="http://hcard.geekhood.net/">validateur microformat hCard</a> vous laisse proposer une URL avec un contenu hCard, et puis valide les propriétés et sous-propriétés.</li>
<li>Il existe une <a title="anti-sèche hCard sur le wiki des microformats" href="http://microformats.org/wiki/hcard-cheatsheet-fr">anti-sèche hCard</a> pour une référence rapide aux propriétés et sous-propriétés.</li>
</ul>
<h4>Il y en a Tellement Plus</h4>
<p>Je suis entrée dans des détails vraiment spécifiques sur le microformat hCard. Mais il y en a bien plus encore que ce que j&#8217;ai pu mentionner.</p>
<p>Je vous encourage vivement à prendre un peu de temps et lire toutes les <a title="propriétés et sous-propriétés disponibles du microformat hCard" href="http://microformats.org/wiki/hcard-fr#Propri.C3.A9t.C3.A9s_et_Sous-propri.C3.A9t.C3.A9s">propriétés et sous-propriétés disponibles du microformat hCard</a>, tout comme à voir quelques-uns des exemples de <a title="hCard dans la jungle" href="http://microformats.org/wiki/hcard-examples-in-wild-fr">hCard dans la jungle</a>.</p>
<h4>A venir en 4ème Partie</h4>
<p>Bien que ce fût un article long (qui en dit beaucoup considérant ma tendance normale à la verbosité), j&#8217;espère que cela a été intéressant et au moins utile pour vous.</p>
<p><em><a title="traduction en cours sur mon wiki personnel" href="http://christopheducamp.com/ProjetBlog/2008/10/18/emily-lewis-parvenir-a-la-semantique-avec-les-microformats-4eme-partie-hcalendar/">Parvenir à la Sémantique Avec les Microformats, 4<sup>ème</sup> Partie</a></em> traitera du microformat hCalendar.</p>
<p><strong>Note :</strong> Cette traduction s&#8217;inscrit dans la poursuite de travaux visant à mieux faire connaître les microformats. L&#8217;article original d&#8217;<cite class="vcard"><a class="fn url" rel="colleague" href="http://www.ablognotlimited.com/about/">Emily Lewis</a></cite> a été publié le <abbr title="2008-09-22">22 septembre dernier</abbr> sur son blog personnel. Seul <a title="a blog not limited  getting-semantic-with-microformats--part-3-hcard" href="http://www.ablognotlimited.com/articles/getting-semantic-with-microformats-part-3-hcard/">le lien original fait référence</a>. Vous pouvez aider à raffiner cet article en me laissant un commentaire ou en <a title="xtofwiki" href="http://socialsynergyweb.net/cgi-bin/wiki/XtofWiki?action=edit;id=ParvenirALaS%C3%A9mantiqueAvecLesMicroformatsPartieTrois">éditant directement le code posé sur la page miroir de mon wiki-personnel</a>. Merci d&#8217;avance. <span class="vcard"><a class="url fn" rel="me" href="http://christopheducamp.com/">xtof</a></span></p>
]]></content:encoded>
			<wfw:commentRss>http://christopheducamp.com/ProjetBlog/2008/10/18/emily-lewis-parvenir-a-la-semantique-avec-les-microformats-3eme-partie-hcard/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Emily Lewis : &#171; Parvenir au Sémantique avec les Microformats, 2ème partie &#8211; XFN &#187;</title>
		<link>http://christopheducamp.com/ProjetBlog/2008/09/21/emily-lewis-parvenir-a-la-semantique-avec-les-microformats-2eme-partie-xfn/</link>
		<comments>http://christopheducamp.com/ProjetBlog/2008/09/21/emily-lewis-parvenir-a-la-semantique-avec-les-microformats-2eme-partie-xfn/#comments</comments>
		<pubDate>Sun, 21 Sep 2008 06:06:31 +0000</pubDate>
		<dc:creator>xtof</dc:creator>
				<category><![CDATA[microformats]]></category>
		<category><![CDATA[ressources]]></category>
		<category><![CDATA[traduction]]></category>
		<category><![CDATA[attribute selectors]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[emilylewis]]></category>
		<category><![CDATA[hcard]]></category>
		<category><![CDATA[rel-me]]></category>
		<category><![CDATA[semantics]]></category>
		<category><![CDATA[standards]]></category>
		<category><![CDATA[web design]]></category>
		<category><![CDATA[xfn]]></category>
		<category><![CDATA[xhtml]]></category>
		<category><![CDATA[XHTML Friends Network]]></category>

		<guid isPermaLink="false">http://microformateurs.org/?p=82</guid>
		<description><![CDATA[Dans la première partie de cette série, j&#8217;ai expliqué différentes implémentations du microformat rel sur A Blog Not Limited. Tout en expliquant rel-me, j&#8217;ai rapidement abordé le microformat XFN. Il est maintenant temps de passer un peu plus de temps sur ce microformat très cool, qui fût en outre l&#8217;un des premiers. Mettre un Visage [...]]]></description>
			<content:encoded><![CDATA[<p></p><p>Dans la <a href="http://christopheducamp.com/ProjetBlog/2008/09/20/obtenir-de-la-semantique-avec-les-microformats-1%C2%B0-partie-rel/">première partie</a> de cette série, j&#8217;ai expliqué différentes implémentations du microformat <code>rel</code> sur <a title="ablognotlimited.com" href="http://www.ablognotlimited.com/">A Blog Not Limited</a>. Tout en expliquant <a title="spécification rel-me sur le wiki des microformats" href="http://microformats.org/wiki/rel-me-fr">rel-me</a>, j&#8217;ai rapidement abordé le microformat <a title="XFN sur le wiki des microformats" href="http://microformats.org/wiki/xfn-fr"><acronym title="XHTML Friends Network">XFN</acronym></a>.</p>
<p>Il est maintenant temps de passer un peu plus de temps sur ce microformat très cool, qui fût en outre l&#8217;un des premiers.</p>
<h4>Mettre un Visage Humain sur les Liens</h4>
<p>Créé par le <acronym title="Global Multimedia Protocols Group">GMPG</acronym>, le <a title="XFN sur le GMPG" href="http://gmpg.org/xfn/">XHTML Friends Network</a> est un moyen étonnamment simple et décentralisé de <strong>représenter les relations humaines</strong> en utilisant l&#8217;attribut <code>rel</code> dans les liens(<code>&lt;a&gt;</code>).</p>
<p>Le concept est identique à ce que je décrivais dans la <a title="traduction en cours sur mon wiki de travail" href="http://christopheducamp.com/ProjetBlog/2008/09/20/obtenir-de-la-semantique-avec-les-microformats-1%C2%B0-partie-rel/">Première Partie</a> pour les relations fondées sur les liens :</p>
<p class="code"><code><br />
&lt;a href="http://twitter.com/emilylewis"<br />
<strong>rel="me"</strong>&gt;Twitter&lt;/a&gt;<br />
</code></p>
<p>Dans cet exemple, l&#8217;ajout du <code>rel="me"</code> indique que le lien de destination (<code>href</code>) fait référence à <em>une page à mon propos</em> (ou une page dont je suis responsable).</p>
<p>Le microformat XFN prend cette référence &laquo;&nbsp;humaine&nbsp;&raquo; pour les relations fondées sur les liens bien plus profondément que ce que j&#8217;ai déjà discuté.</p>
<h4>Nous Sommes Tous Connectés</h4>
<p>XFN pousse le concept du rel-me au delà de l&#8217;identification personnelle de l&#8217;individu pour aller vers les relations sociales entretenues par une personne. Vous ajoutez simplement <em>plusieurs valeurs</em> qui décrivent ces relations à l&#8217;attribut <code>rel</code> d&#8217;un lien.</p>
<p>Par exemple, je fais souvent référence dans mes articles de blog à mon ami et patron, <span class="vcard"><abbr class="fn" title="Ian Pitts"><a class="url" title="iso-100.com" href="http://www.iso-100.com/" rel="met colleague co-worker friend">Ian</a></abbr></span>&nbsp; :</p>
<p class="code"><code><br />
&lt;a href="http://www.iso-100.com/"<br />
<strong>rel="met colleague co-worker friend"</strong>&gt;<br />
Ian Pitts&lt;/a&gt;<br />
</code></p>
<p>Dans cet exemple, j&#8217;ai ajouté <code>rel="<strong>met colleague co-worker friend</strong>"</code> au lien faisant référence à son blog personnel. Les valeurs <code>rel</code> indiquent que :</p>
<ul>
<li>J&#8217;ai rencontré (<code>met</code>) Ian en personne.</li>
<li>Ian est un confrère (<code>colleague</code>), ce qui veut dire que le considère comme un pair avec des intérêts et talents similaires.</li>
<li>Ian est mon boss et par conséquent un collègue (<code>co-worker)</code>.</li>
<li>Je considère Ian comme mon ami (<code>friend</code>) (il a de la chance, non ?).</li>
</ul>
<h5><em>Comment</em> Sommes Nous Connectés</h5>
<p>La spécification XFN fournit <a title="http://www.gmpg.org/xfn/1" href="http://www.gmpg.org/xfn/1">des valeurs de relation</a> qui sont <em>volontairement</em> simplifiées.</p>
<h6>Amitié/Familiarité</h6>
<p>Seule une valeur peut être utilisée dans cette liste :</p>
<ul>
<li><strong><code>friend</code></strong> : varie selon les définitions personnelles. C&#8217;est fondamentalement le plus haut niveau d&nbsp;&raquo;intimité&nbsp;&raquo; dans la catégorie de familiarité.</li>
<li><strong><code>acquaintance</code></strong> : induit une familiarité mutuelle. </li>
<li><strong><code>contact</code></strong> : quelqu&#8217;un avec lequel vous avez l&#8217;information de contact. </li>
</ul>
<h6>Physique</h6>
<p><strong><code>met</code></strong> indique quelqu&#8217;un que vous avez rencontré en personne. Peut exister indépendamment de toutes les autres valeurs.</p>
<h6>Professionnel</h6>
<p>Une ou plusieurs de ces valeurs peuvent être utilisées :</p>
<ul>
<li><strong><code>colleague</code></strong> : quelqu&#8217;un avec des intérêts et/ou compétences similaires aux vôtres ; un pair.</li>
<li><strong><code>co-worker</code></strong> : quelqu&#8217;un avec qui vous partagez un employeur.</li>
</ul>
<h6>Géographique</h6>
<p>Seule une de ces valeurs peut être utilisée :</p>
<ul>
<li><strong><code>co-resident</code></strong> : quelqu&#8217;un avec lequel vous partagez une adresse de rue. </li>
<li><strong><code>neighbor</code></strong> : une référence géographique plus étendue, généralement quelqu&#8217;un qui vit près de chez vous mais pas dans la même rue. </li>
</ul>
<h6>Familial</h6>
<p>Seule une de ces valeurs peut être utilisée :</p>
<ul>
<li><strong><code>child</code></strong> : quelqu&#8217;un dont vous êtes le parent, que ce soit biologique ou adoptif. </li>
<li><strong><code>parent</code></strong> : quelqu&#8217;un qui vous a enfanté, que ce soit biologique ou adoptif. </li>
<li><strong><code>sibling</code></strong> : quelqu&#8217;un avec qui vous partagez un parent, une fois de plus biologique ou adoptif, tout comme à travers le mariage. </li>
<li><strong><code>spouse</code></strong> : quelqu&#8217;un avec lequel(le) (ou <em>sentez</em> que vous êtes) marié(e), que ce soit légal ou non.</li>
<li><strong><code>kin</code></strong> : tout proche de vous, que ce soit par le sans, le mariage ou l&#8217;adoption. </li>
</ul>
<h6>Romantique</h6>
<p>N&#8217;importe laquelle ou toutes ces valeurs peuvent être utilisées :</p>
<ul>
<li><strong><code>muse</code></strong> : quelqu&#8217;un qui vous inspire.</li>
<li><strong><code>crush</code></strong> : quelqu&#8217;un vers lequel vous êtes attiré(e), mais dont les sentiments peuvent ne pas être réciproques ou même savoir que vous existez. </li>
<li><strong><code>date</code></strong> : quelqu&#8217;un avec qui vous sortez régulièrement.</li>
<li><strong><code>sweetheart</code></strong> : une personne avec laquelle vous êtes intime sur le plan émotionnel et/ou physiquement, et vers laquelle vous êtes engagé(e).</li>
</ul>
<p>Du fait de ma propre confusion quand j&#8217;ai commencé cette tentative, j&#8217;ai pressenti que cela pouvait valoir la peine d&#8217;expliquer la valeur <code>muse</code>. Même si elle existe dans la catégorie romantique, c&#8217;est parti d&#8217;une <em>perspective comparative en relation avec le rationnel</em>. L&#8217;inspiration n&#8217;est pas rationnelle, de ce fait elle est romantique.</p>
<p>J&#8217;insère fréquemment des liens vers quelques-uns de mes héros de l&#8217;industrie (<span class="vcard"><a class="fn url" title="zeldman.com" href="http://www.zeldman.com/" rel="colleague muse">Jeffrey Zeldman</a></span>, <span class="vcard"><a class="fn url" title="meyerweb.com" href="http://meyerweb.com/" rel="colleague muse">Eric Meyer</a></span> et <span class="vcard"><a class="fn url" title="jasonsantamaria" href="http://jasonsantamaria.com/" rel="colleague muse">Jason Santa Maria</a></span>, pour n&#8217;en nommer que quelques-uns). Et pour tous, j&#8217;insère <code>rel="muse"</code>.</p>
<p>En aucune façon, ceci n&#8217;indique une relation romantique. J&#8217;admire tout simplement (et profondément) leurs travaux et les suit souvent pour de l&#8217;inspiration.</p>
<p>Et juste un aparté personnel : j&#8217;ai trouvé les <a title="romance sur gmpg" href="http://www.gmpg.org/xfn/background#romance">descriptions de ces valeurs romantiques</a> extrêmement drôles et amusantes.</p>
<h6>Identité Personnelle</h6>
<p><strong><code>me</code></strong> indique un lien vers vous-même à un endroit différent (<code>href</code>).</p>
<p>C&#8217;est l&#8217;unique &laquo;&nbsp;relation&nbsp;&raquo; qui existe d&#8217;elle-même et reste <strong>exclusive de toutes les autres valeurs de relation</strong>.</p>
<p>J&#8217;espère que c&#8217;est évident, mais au cas où ce n&#8217;est pas considéré simplement que même si vous pressentez que vous êtes un ami de vous-même, déclarer la valeur <code>friend</code> est redondant. Tout comme <code>met</code> et toutes les autres. Vous n&#8217;avez tout simplement pas besoin d&#8217;elles et elles ne sont pas valides.</p>
<h5>Délibérément Simple = Efficace</h5>
<p>Même moi, en tant que personne très pointue sur le détail, je peux apprécier la simplicité et l&#8217;efficacité de ces valeurs. Plutôt que de débattre pour savoir si quelqu&#8217;un est, par exemple, un superviseur ou un subordonné, j&#8217;accepte simplement que <code>co-worker</code> soit une valeur plus large qui englobe les deux.</p>
<p>Cela vaut la peine de mentionner qu&#8217;il n&#8217;existe <strong>pas d&#8217;ordre spécifique</strong> qui ait besoin d&#8217;être suivi quand vous utilisez ces valeurs.</p>
<p>En outre, la réciprocité dans ces valeurs n&#8217;est pas obligatoire. Ainsi, si vous faites référence à une personne en tant que <code>friend</code> et qu&#8217;elle fait référence à vous en tant qu&#8217;<code>acquaintance</code>, ce n&#8217;est pas un problème (à moins que vous ne souffriez extrêmement d&#8217;un manque d&#8217;estime de vous-même et le preniez personnellement).</p>
<h4>Spécifier un Profil</h4>
<p>En plus de déclarer les valeurs <code>rel</code> sur les liens vers quiconque que vous connaissez, le GMPG recommande que vous laissiez aussi les navigateurs et moteurs de recherche savoir que vos pages supportent XFN en spécifiant le profil XFN dans l&#8217;en-tête <code>&lt;head&gt;</code> des pages avec des liens de relation XFN.</p>
<p>En ce qui me concerne, j&#8217;ai choisi de déclarer le profil de toutes mes pages par que mon <code>&lt;head&gt;</code> est maintenu dans un fichier global include. Ceci me facilite la maintenance, en outre, au minimum le <code>rel="me"</code> apparaît sur toues mes pages (dans les liens du pied de page vers mes pages profil <a title="flickr.com" href="http://www.flickr.com/">Flickr</a>, <a title="delicious" href="http://www.delicious.com/">Delicious</a>, <a title="ilike.com" href="http://www.ilike.com/">iLike</a> et <a title="twitter.com" href="http://twitter.com/">Twitter</a> ) :</p>
<p class="code"><code>&lt;head <strong>profile="http://gmpg.org/xfn/11"</strong>&gt;</code></p>
<h4>Dites-le au Monde</h4>
<p>Le GMPG recommande aussi de faire savoir aux gens que votre site est &laquo;&nbsp;XFN-friendly&nbsp;&raquo;. Ils fournissent même un petit marqueur que vous pouvez ajouter sur votre site :</p>
<p><a href="http://gmpg.org/xfn"><img class="inline" alt="XFN Friendly" src="http://www.ablognotlimited.com/images/experiments/xfnFriendly.gif" style="height: 15px; width: 80px;" /></a></p>
<p>Personnellement, je ne suis pas très fan des boutons et badges. Je préfère une esthétique plus discrète. Mais je supporte vraiment l&#8217;effort, ainsi j&#8217;ai ajouté un lien XFN dans mon pied de page :</p>
<p class="code"><code><br />
&lt;a href="http://gmpg.org/xfn"<br />
title="XHTML Friends Network Friendly"&gt;XFN&lt;/a&gt;<br />
</code></p>
<p><img class="frame" alt="lien XFN dans le pied de page A Blog Not Limited" src="http://www.ablognotlimited.com/images/experiments/xfnFooter.png" style="height: 25px; width: 350px;" /></p>
<h4>Faites que ce soit Plus Facile pour Vous</h4>
<p>Même si ajouter simplement un attribut et quelques valeurs aux hyperliens ne constitue qu&#8217;un tout petit effort, il existe quelques outils disponibles qui rendent le XFN plus facile à implémenter :</p>
<ul>
<li><a title="créateur XFN" href="http://gmpg.org/xfn/creator-fr">Créateur XFN 1,1</a> est une application web qui crée des liens avec les valeurs XFN propres et est disponible en plusieurs langues.</li>
<li><a title="plugin MovableType XFN pour blogroll" href="http://plugins.movalog.com/mt-blogroll/mt-blogroll-212-manual/"><abbr title="MovableType">MT</abbr> Blogroll 2.12 Manual</a> est un plugin pour Movable Type qui vous permet de définir les relations XFN pour les liens dans la blogroll.</li>
<li><a title="XFN Link Creator" href="http://www.accessify.com/tools-and-wizards/developer-tools/xfn/default.php">XFN Link Creator</a> est un autre wizard qui crée des liens avec des valeurs XFN. Il vous permet aussi de spécifier le balisage du contenant, tout comme les valeurs <code>title</code> pour les liens. </li>
<li><a title="WordPress Links Manager" href="http://codex.wordpress.org/Links_Manager">WordPress Links Manager</a> est configuré pour vous permettre de définir les relations XFN pour les liens de blogroll. </li>
<li><a title="Microformatted Blogroll 0.2" href="http://factorycity.net/projects/wp-microformatted-blogroll/"><abbr title="WordPress">WP</abbr> Microformatted Blogroll 0.2</a> est un plugin WordPress qui produit des liens microformatés annotés sur votre blog.</li>
<li><a title="rel-lint" href="http://tools.microformatic.com/help/xhtml/rel-lint/">rel-lint</a> est un bookmarklet JavaScript qui vérifie les valeurs XFN connues et marque celles qu&#8217;il ne reconnaît pas. </li>
</ul>
<h4>Le Web Sémantique</h4>
<p>Je sais que je l&#8217;ai déjà dit <a title="Parvenir à la sémantique avec les Microformats : Introduction" href="/2008/09/20/obtenir-de-la-semantique-avec-les-microformats-introduction/">encore</a> et <a href="/2008/09/20/obtenir-de-la-semantique-avec-les-microformats-1%C2%B0-partie-rel/">encore</a> (et ce n&#8217;est pas près de se terminer) : la <strong>sémantique</strong> est l&#8217;un des bénéfices de base des microformats, et XFN n&#8217;y fait pas exception.</p>
<p>L&#8217;usage ajoute de la structure et du sens au contenu, le rendant à la fois lisible par les humains – tout comme par les machines. Et même encore mieux, il le fait en utilisant des standards existants pour le marquage et les données. Brillant !</p>
<p>Les microformats nous emmènent vers un pas plus proche du <a title="w3.org" href="http://www.w3.org/DesignIssues/Semantic.html">Web Sémantique</a> visionné par <a title="Bio de Tim sur Wikipedia" href="http://fr.wikipedia.org/wiki/Tim_Berners-Lee">Tim Berners-Lee</a>.</p>
<h4>Le Web Social</h4>
<p>Tout comme la sémantique seule <em>me</em> donne raison d&#8217;implémenter les microformats sur ce blog, je réalise que ce ne peut être suffisant pour certaines personnes. Pour ces personnes, je soupçonne que les aspects &laquo;&nbsp;sociaux&nbsp;&raquo; de XFN peuvent être plus importants.</p>
<h5>Recherche Sociale</h5>
<p><a title="rubhub.com" href="http://rubhub.com/">Rubhub</a> est un moteur de recherche sociale où vous pouvez proposer votre site, et il est indexé et comparé à d&#8217;autres sites dans l&#8217;index rubhub pour identifier n&#8217;importe quelles relations sociales.</p>
<p>Une fois indexé, vous pouvez voir les résultats sociaux de votre site, y compris les autres sites liés à votre identité (via <code>rel="me"</code>) et les sites des personnes qui vous référencent (y compris <em>comment</em> elles vous référencent).</p>
<h5>Visualisations</h5>
<p><a title="Graphe XFN sur sourceforge" href="http://xfngraph.sourceforge.net/">XFN Graph</a> crée des diagrammes en étoile sur la manière dont les sites se relient les uns aux autres, fournissant une représentation visuelle des relations sociales entres les auteurs de site/blog. A partir de ça, vous pouvez voir comment les personnes se connectent aux autres et trouver de nouvelles personnes qui partagent des intérêts similaires aux vôtres.</p>
<h5>Connectivité</h5>
<p>En utilisant XFN, l&#8217;<a title="API Social Graph chez Google" href="http://code.google.com/apis/socialgraph/">API Social Graph</a> de Google facilite le fait de trouver des amis dans de nouveaux endroits sur le web.</p>
<p>Son application de démo <a title="my connections" href="http://socialgraph-resources.googlecode.com/svn/trunk/samples/findcontacts.html">My Connections</a>, par exemple, vous montre comment vous êtes connecté(e) à d&#8217;autres personnes. Voici un aperçu des résultats provenant de <q>A Blog Not Limited&nbsp;&raquo;</q></p>
<p><img class="frame" alt="API Social Graph My Connections pour A Blog Not Limited" src="http://www.ablognotlimited.com/images/experiments/socialGraphMyConnection.png" style="height: 573px; width: 350px;" /></p>
<h5>Listes d&#8217;Amis</h5>
<p>Il existe beaucoup de sites, particulièrement les sites de réseaux sociaux, qui supportent le marquage XFN sur les listes d&#8217;amis/contacts. Tant Twitter et <a title="Link opens off this site" href="http://www.linkedin.com/">LinkedIn</a>, par exemple, ajoutent <code>rel="contact"</code> à leurs listes de liens des &laquo;&nbsp;suiveurs&nbsp;&raquo; et des contacts.</p>
<p>Pour aller un cran plus loin, plusieurs sites publient des <a title="listes d'amis hCard+XFN sur le wiki microformats.org" href="http://microformats.org/wiki/hcard-xfn-friends-lists-fr">listes d&#8217;amis hCard+XFN</a>, qui peuvent être utilisées pour importer/s&#8217;abonner à d&#8217;autres sites qui supportent hCard+XFN. (Je couvrirai le <a title="hCard sur le wiki des microformats" href="http://microformats.org/wiki/hCard-fr">microformat hCard</a> en détail dans la partie 3 de cette série.)</p>
<p>Ceci pose les fondations pour permettre aux utilisateurs de modifier l&#8217;information de réseau social sur un site et faire que les autres sites soient automatiquement mis à jour.</p>
<h5>Consolidation d&#8217;Identité</h5>
<p>Comme je l&#8217;évoquais dans la <a title="première partie de cet article à propos de XFN" href="/2008/09/20/obtenir-de-la-semantique-avec-les-microformats-1%C2%B0-partie-rel/">Partie 1</a>, XFN est <em>essentiel</em> pour la consolidation d&#8217;identité.</p>
<h6>Sites de Réseaux Sociaux</h6>
<p>Par exemple, beaucoup de sites de réseaux sociaux associent <code>rel="me"</code> aux liens vers les pages de profil, que ce soit Flickr, Twitter, LinkedIn et d&#8217;autres encore. Ainsi, là où n&#8217;importe quelle page réclame l&#8217;autre, l&#8217;identité divisée est consolidée.</p>
<h6>ClaimID</h6>
<p>Il existe aussi des services de consolidation d&#8217;identité qui utilisent XFN. <a title="Link opens off this site" href="http://claimid.com/">claimID</a>, par exemple, vous permet de régler manuellement un profil avec toutes vos identités en ligne consolidées sur une page, chacune d&#8217;entre elle pouvant être annoté avec <code>rel="me"</code>. Voici un aperçu de mon <a title="mon profil sur claimid" href="http://claimid.com/xtof">profil claimID</a> avec des liens qui englobent le microformat rel-me :</p>
<p><a title="profil d'emily sur claimid" href="http://claimid.com/emilylewis"><img class="frame" alt="profil d'emily sur claimid" src="http://www.ablognotlimited.com/images/experiments/myClaimID.png" style="height: 274px; width: 350px;" /></a></p>
<p>Un avantage supplémentaire de régler un profil claimID est que cela vous offre une <a title="openid.net" href="http://openid.net/">OpenID</a>.</p>
<p>OpenID est un système ouvert, décentralisé et libre pour l&#8217;identité digitale centrée sur l&#8217;utilisateur. Elle utilise les technologies web existantes pour transformer les identités digitales existantes (telles qu&#8217;un blog, un flux de photos, etc.) en un compte qui peut être utilisé sur des sites supportant les connexions OpenID. Ceci n&#8217;a bien sûr pas de rapport avec la discussion XFN, mais c&#8217;est vraiment cool.</p>
<h6>Plaxo</h6>
<p>Il existe aussi le <a title="plaxo.com" href="http://www.plaxo.com/info/opensocialgraph">Graphe Social Ouvert de Plaxo</a>, qui comprent un crawler qui démarre par une URL que vous saisissez et cherche les liens&nbsp;<code>rel="me"</code>. Il balaye ensuite ces liens, jusqu&#8217;à ce qu&#8217;il ne trouve plus de liens à suivre.</p>
<p>Il cherche aussi les liens bidirectionnels pour établir une &laquo;&nbsp;déclaration vérifiée&nbsp;&raquo; que c&#8217;est bien la même personne dans les deux endroits (<code>href</code>). Voici un aperçu des résultats du crawler pour <q>A Blog not limited</q> :</p>
<p><img class="frame" alt="Plaxo Open Social Graph results for A Blog Not Limited" src="http://www.ablognotlimited.com/images/experiments/plaxoOpenSocialGraph.png" style="height: 143px; width: 350px;" /></p>
<p>Le carnet d&#8217;adresses en ligne de Plaxo et le service de réseau social supporte aussi XFN en ajoutant automatiquement <code>rel="me"</code> à n&#8217;importe lesquels des sites personnels que vous ajoutez à votre profil. Chacun des liens &laquo;&nbsp;Emily on the Web&nbsp;&raquo; provenant de <a title="emily sur myplaxo" href="http://emilylewis.myplaxo.com/">mon profil Plaxo</a> a le microformat rel-me annoté :</p>
<p><a title="Profil d'Emily sur Plaxo" href="http://emilylewis.myplaxo.com/"><img class="frame" alt="Emily's Plaxo profile" src="http://www.ablognotlimited.com/images/experiments/myPlaxoProfile.png" style="height: 254px;" /></a></p>
<p>Même l&#8217;API Social Graph de Google comprend une application de démonstration, <a title="Link opens off this site" href="http://socialgraph-resources.googlecode.com/svn/trunk/samples/findyours.html">Site Connectivity</a>, qui vous montre votre identité consolidée en listant les sites qu&#8217;elle <i>sait </i>de vous, tout comme ceux qu&#8217;elle <i>pense</i> pouvoir être de vous. Voici un aperçu des résultats que j&#8217;ai obtenus pour A Blog Not Limited :</p>
<p><img class="frame" alt="Social Graph API Site Connectivity for A Blog Not Limited" src="http://www.ablognotlimited.com/images/experiments/socialGraphSiteConnectivity.png" style="height: 550px; width: 350px;" /></p>
<h5>Un peu de Style</h5>
<p>Aussi abordé dans la <a title="Première partie de cet article" href="/2008/09/20/obtenir-de-la-semantique-avec-les-microformats-1%C2%B0-partie-rel/">Partie 1</a>, vous pouvez utiliser les <a title="CSS2.1 sélecteurs d'attribut" href="http://www.w3.org/TR/CSS21/selector.html#attribute-selectors">sélecteurs d&#8217;attribut <acronym title="Cascading StyleSheets">CSS</acronym></a> pour ne styliser que les liens comportant des valeurs spécifiques <code>rel</code>.</p>
<p>Par exemple, mettons que vous vouliez tirer profit des <a title="icônes par chris messina sur factorycity" href="http://www.factorycity.net/projects/microformats-icons/#xfn-set">icônes microformats XFN</a>, vous utiliseriez des sélecteurs d&#8217;attribut pour déclarer :</p>
<p class="code"><code><br />
a[rel~="friend"]:before {content: url(xfn-friend.png);}<br />
</code></p>
<p>Dans les navigateurs supportant la <a title="spécification CSS 2.1" href="http://www.w3.org/TR/CSS21/">spécification CSS 2.1</a> (qui ne doivent <em>pas</em> être cette merde de navigateur <abbr title="Internet Explorer">IE</abbr>6), ceci pourrait s&#8217;afficher comme suit :</p>
<p><img class="frame" alt="exemple de lien ami XFN" src="http://www.ablognotlimited.com/images/experiments/xfnMyFriend.png" style="width: 115px; height: 38px;" /></p>
<h4 class="clearL">A venir en Partie 3</h4>
<p>Ceci clôture mon billet sur XFN. <q><a title="Pour tout savoir sur la hCard" href="http://christopheducamp.com/ProjetBlog/2008/10/18/emily-lewis-parvenir-a-la-semantique-avec-les-microformats-3eme-partie-hcard/">Parvenir au Sémantique avec les Microformats, 3ème Partie traitera du microformat hCard</a></q>.</p>
<p>Restez branché …</p>
<p><em>Note : Cette traduction s&#8217;inscrit dans la poursuite de travaux visant à mieux faire connaître les microformats. L&#8217;article original d&#8217;<cite class="vcard"><a class="fn url" rel="colleague" href="http://www.ablognotlimited.com/about/">Emily Lewis</a></cite> a été publié le 17 septembre dernier sur son blog personnel. Seul <a title="a blog not limited  getting-semantic-with-microformats--part-2-xfn" href="http://www.ablognotlimited.com/articles/getting-semantic-with-microformats-part-2-xfn/">le lien original fait référence</a>. Vous pouvez m&#8217;aider à raffiner cet article en laissant un commentaire ou en <a title="xtofwiki" href="http://socialsynergyweb.net/cgi-bin/wiki/XtofWiki?action=edit;id=ParvenirALaS%C3%A9mantiqueAvecLesMicroformatsPartieDeux">éditant directement le code posé sur la page miroir de mon wiki-personnel</a>. Merci d&#8217;avance.</em> <span class="vcard"><a class="url fn" rel="me" href="http://christopheducamp.com/">xtof</a></span></p>
]]></content:encoded>
			<wfw:commentRss>http://christopheducamp.com/ProjetBlog/2008/09/21/emily-lewis-parvenir-a-la-semantique-avec-les-microformats-2eme-partie-xfn/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
	</channel>
</rss>

