<?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>CSS &#38; Webdesign &#187; Section</title>
	<atom:link href="http://css.4design.tl/tag/section/feed" rel="self" type="application/rss+xml" />
	<link>http://css.4design.tl</link>
	<description>Le blog de l&#039;intégrateur web</description>
	<lastBuildDate>Thu, 24 May 2012 16:31:47 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>HTML 5 Outline &#8212; Quelques notes sur la structure des pages Web avec h1 et section</title>
		<link>http://css.4design.tl/html-5-outline-page-web-section-h1</link>
		<comments>http://css.4design.tl/html-5-outline-page-web-section-h1#comments</comments>
		<pubDate>Mon, 20 Dec 2010 08:07:49 +0000</pubDate>
		<dc:creator>Bruno Bichet</dc:creator>
				<category><![CDATA[HTML & CSS]]></category>
		<category><![CDATA[Intégration web]]></category>
		<category><![CDATA[Edito]]></category>
		<category><![CDATA[h1]]></category>
		<category><![CDATA[h2]]></category>
		<category><![CDATA[h3]]></category>
		<category><![CDATA[hgroup]]></category>
		<category><![CDATA[HTML5]]></category>
		<category><![CDATA[HTML5 Outliner]]></category>
		<category><![CDATA[Outline]]></category>
		<category><![CDATA[Section]]></category>
		<category><![CDATA[Sectioning Content]]></category>
		<category><![CDATA[Sectioning Root]]></category>

		<guid isPermaLink="false">http://css4design.com/?p=8482</guid>
		<description><![CDATA[Après l&#8217;article Quelques notes sur la balise h1 avec HTML5 dans lequel j&#8217;ai abordé l&#8217;utilisation des niveaux d&#8217;en-tête h1 -- h6 pour savoir dans quelle mesure il est judicieux d&#8217;utiliser une ou plusieurs balises h1 dans une même page Web, je continue sur ma lancée avec la notion d&#8217;Outline. Cette dernière fournit la liste des sections imbriquées impliquant les éléments de type Sectioning Content ou Sectioning Root. Chaque section peut être associée à un niveau d&#8217;en-tête et peut contenir autant de sections imbriquées que l&#8217;on veut. Notez que les sections dont on parle ne sont pas nécessairement l&#8217;élément section lui-même [...]]]></description>
			<content:encoded><![CDATA[<p>Après l&#8217;article <a rel="bookmark" href="http://css.4design.tl/quelques-notes-sur-la-balise-h1-avec-html5">Quelques notes sur la balise h1 avec HTML5</a> dans lequel j&#8217;ai abordé l&#8217;utilisation des niveaux d&#8217;en-tête <code>h1 -- h6</code> pour savoir dans quelle mesure il est judicieux d&#8217;utiliser une ou plusieurs balises <code>h1</code> dans une même page Web, je continue sur ma lancée avec la notion d&#8217;<a href="http://www.w3.org/TR/html5/sections.html#outline">Outline</a>. Cette dernière fournit la liste des sections imbriquées impliquant les éléments de type <a href="http://www.w3.org/TR/html5/content-models.html#sectioning-content">Sectioning Content</a> ou <a href="http://www.w3.org/TR/html5/sections.html#sectioning-root">Sectioning Root</a>. Chaque section peut être associée à un niveau d&#8217;en-tête et peut contenir autant de sections imbriquées que l&#8217;on veut. Notez que les sections dont on parle ne sont pas nécessairement l&#8217;élément <code>section</code> lui-même (même si ce dernier fait partie des éléments ayant une portée de <em>Sectioning Content</em>).<span id="more-8482"></span></p>

<h2><img class="alignnone size-full wp-image-8594" src="http://css.4design.tl/files/2010/12/html5-outline-section-h1.png" alt="" width="633" height="297" /></h2>

<h2>Balises h1, avec ou sans section ?</h2>

<p><em>HTML5 Outliner</em> est un outil qui permet de souligner la structure hiérarchique d&#8217;un document HTML en mettant en évidence les différents niveaux d&#8217;en-tête et de sections. En HTML5, les sections sont déterminées de deux manières :</p>

<ol>
    <li>Explicite, avec les éléments ayant une portée de <em>Sectioning Content</em> (`article`, `aside`, `nav` ou `section`).</li>
    <li>Implicite, avec les élements d&#8217;en-tête (<em>Headings</em>) (`h1`, `h2`, `h3`, `h4`, `h5`, `h6` et `hgroup`).</li>
</ol>

<p>Pour s&#8217;en convaincre, il suffit de jeter un oeil sur les deux exemples mis en ligne par @futomi qui tient un <a href="http://www.html5.jp/">blog consacré à HTML5</a> (oui, c&#8217;est en japonais, mais le code n&#8217;a pas de frontière et <em>Google Translate</em> est toujours ton ami) :</p>

<h3>Section implicite</h3>

<p><pre>&lt;!DOCTYPE html&gt;
&lt;html lang="ja"&gt;
    &lt;head&gt;
        &lt;meta charset="UTF-8" /&gt;
        &lt;title&gt;outline1&lt;/title&gt;
    &lt;/head&gt;
    &lt;body&gt;
        &lt;article&gt;
            &lt;h1&gt;a&lt;/h1&gt;
            &lt;h1&gt;b&lt;/h1&gt;
            &lt;h1&gt;c&lt;/h1&gt;
        &lt;/article&gt;
    &lt;/body&gt;
&lt;/html&gt;</pre>
<em>Source : <a href="http://www.html5.jp/test/outline1.html">http://www.html5.jp/test/outline1.html</a></em></p>

<h3>Section explicite</h3>

<p><pre>&lt;!DOCTYPE html&gt;
&lt;html lang="ja"&gt;
    &lt;head&gt;
        &lt;meta charset="UTF-8" /&gt;
        &lt;title&gt;outline2&lt;/title&gt;
    &lt;/head&gt;
    &lt;body&gt;
        &lt;section&gt;
            &lt;h1&gt;a&lt;/h1&gt;
        &lt;/section&gt;
        &lt;section&gt;
            &lt;h1&gt;b&lt;/h1&gt;
        &lt;/section&gt;
        &lt;section&gt;
            &lt;h1&gt;c&lt;/h1&gt;
        &lt;/section&gt;
    &lt;/body&gt;
&lt;/html&gt;</pre>
<em>Source : <a href="http://www.html5.jp/test/outline1.html">http://www.html5.jp/test/outline2.html</a></em></p>

<p>La vérification avec <em>HTML5 Outliner</em> montre une hiérarchie similaire, même si le maquage HTML est différent. La section <em>Untitled</em> qui apparait au début n&#8217;est autre que la section introduite par la balise <code>body</code> qui a une portée de <em>Sectioning Roots</em> avec <code>blockquote</code>, <code>details</code>, <code>fieldset</code>, <code>figure</code> et <code>td</code>. Ce n&#8217;est pas très gênant dans la mesure où un document HTML5 reste valide sans <code>body</code> lorsqu&#8217;il n&#8217;est pas nécessaire, ce qui est le cas ici.</p>

<h2>Outline, au pied !</h2>

<p>Si l&#8217;on raisonne en terme de page Web et non plus uniquement en terme de document, on peut se trouver face à quelques problèmes de structure, notamment, si l&#8217;on désire que les en-têtes contenus dans une balise <code>aside</code> suivent la hiérarchie initiée plus haut dans la page. Par exemple :
<pre>&lt;!DOCTYPE html&gt;
&lt;html&gt;
    &lt;head&gt;&lt;title&gt;Test&lt;/title&gt;&lt;/head&gt;
    &lt;body&gt;
        &lt;article&gt;
            &lt;h1&gt;Title 1&lt;/h1&gt;
                &lt;h2&gt;Title 2&lt;/h2&gt;
        &lt;aside&gt;Aside&lt;/aside&gt;
            &lt;h3&gt;Title 3&lt;/h3&gt;
        &lt;/article&gt;
    &lt;/body&gt;
&lt;/html&gt;</pre>
Est compris comme :
<pre>article
    h1
        h2
        aside
        h3</pre>
Alors que l&#8217;on voudrais que le <code>h3</code> contenu dans la balise <code>aside</code> descende de <code>h2</code> au lieu que la balise <code>aside</code> (suivant logiquement son statut de <em>Sectioning Content</em>) ne remette la hiérarchie des en-têtes <code>h1 -- h6</code> à zéro, pour obtenir :
<pre>article
    h1
        h2
            aside
            h3</pre>
Pour cela, il est nécessaire d&#8217;utiliser des sections explicites, comme :
<pre>&lt;!DOCTYPE html&gt;
&lt;html&gt;
    &lt;head&gt;&lt;title&gt;Test&lt;/title&gt;&lt;/head&gt;
    &lt;body&gt;
        &lt;article&gt;
            &lt;h1&gt;Title 1&lt;/h1&gt;
            &lt;section&gt;
                &lt;h2&gt;Title 2&lt;/h2&gt;
                &lt;aside&gt;Aside&lt;/aside&gt;
                &lt;section&gt;
                    &lt;h3&gt;Title 3&lt;/h3&gt;
                &lt;/section&gt;
            &lt;/section&gt;
        &lt;/article&gt;
    &lt;/body&gt;
&lt;/html&gt;</pre></p>

<h2>Titre h1 et sous-titre h2 informatif</h2>

<p>Il peut arriver que l&#8217;on désire utiliser envelopper un titre avec la balise <code>h1</code> et un sous-titre dans une balise <code>h2</code>. Si on utilise :
<pre>&lt;section&gt;
    &lt;h1&gt;Section and outlines of a document&lt;/h1&gt;
    &lt;h2&gt;HTML, HTML5, Sections, Outlines&lt;/h2&gt;
&lt;/section&gt;</pre>
On va se retrouver avec une structure qui risque de «décaler» la hiérarchie de notre document, comme :
<pre>1. Section and outlines of a document
    1.1 HTML, HTML5, Sections, Outlines</pre>
Pour éviter que notre balise <code>h2</code> n&#8217;apparaisse dans l&#8217;<em>outine</em>, il suffit d&#8217;utiliser l&#8217;élément <code>hgroup</code> :
<pre>&lt;section&gt;
    &lt;hgroup&gt;
        &lt;h1&gt;Justine&lt;/h1&gt;
        &lt;h2&gt;Les Malheurs de la vertu&lt;/h2&gt;
    &lt;/hgroup&gt;
&lt;/section&gt;</pre>
Qui nous donnera l&#8217;<em>outline</em> suivant :
<pre>1. Justine</pre></p>

<h2>Pour finir</h2>

<p>Je vous laisse avec quelques liens triés sur le volet à propos de l&#8217;Outline des documents Web. N&#8217;hésitez pas à partager vos expériences heureuses ou non concernant le balisage des pages Web avec les nouvelles balises HTML5.</p>

<h2>Linkographie</h2>

<ul>
    <li><a href="http://gsnedders.html5.org/outliner/">HTML5 Outliner</a> &#8212; Outil en ligne permettant de mettre en évidence la structure d&#8217;une page Web.</li>
    <li><a href="https://chrome.google.com/extensions/detail/afoibpobokebhgfnknfndkgemglggomo">HTML5 Outliner pour Google Chrome</a> (via <a href="http://normandie-web.hiseo.fr/">HISEO</a>) &#8212; Extension Chrome/Chromium pour mettre l&#8217;Outline en évidence. Les éléments sélectionnés apparaissent dans la page en clignotant. Devient vite indispensable pour comprendre les sites web surchargés ;)</li>
    <li><a href="http://oli.jp/2010/outline-algorithm/">Questioning the HTML5 outline algorithme</a></li>
    <li><a href="https://developer.mozilla.org/en/Sections_and_Outlines_of_an_HTML5_document">Sections and outlines of an HTML5 document</a></li>
    <li><a href="http://css.4design.tl/conception-dans-le-navigateur-avec-html5-css3">Conception d&#8217;une page Web avec HTML5 &amp; CSS3</a></li>
    <li>Tous les articles taggués <a href="http://css.4design.tl/tag/html5">HTML5 sur CSS 4 Design</a></li>
</ul>

<h3 class='related_post_title'>Articles sur le même sujet</h3>

<ul class='related_post'><li><a href='http://css.4design.tl/quelques-notes-sur-la-balise-h1-avec-html5' title='Quelques notes sur la balise h1 avec HTML5'>Quelques notes sur la balise h1 avec HTML5</a></li><li><a href='http://css.4design.tl/html5-repenser-le-decoupage-des-pages-web-et-des-contenus' title='HTML5 &#8212; Repenser le découpage des pages web et des contenus'>HTML5 &#8212; Repenser le découpage des pages web et des contenus</a></li><li><a href='http://css.4design.tl/composes-html-logo-baseline-potentiel-seo' title='8 composés HTML pour le logo et la « baseline » et leur potentiel SEO'>8 composés HTML pour le logo et la « baseline » et leur potentiel SEO</a></li><li><a href='http://css.4design.tl/html5-et-si-on-evitait-la-balise-section-dans-une-balise-article' title='HTML5 &#8212; Et si on évitait la balise «section» dans une balise «article» ?'>HTML5 &#8212; Et si on évitait la balise «section» dans une balise «article» ?</a></li><li><a href='http://css.4design.tl/programme-formation-html-css' title='Quelques notes &#8212; Programme de formation HTML &amp; CSS'>Quelques notes &#8212; Programme de formation HTML &amp; CSS</a></li></ul>
 <p><a href="http://css.4design.tl/?flattrss_redirect&amp;id=8482&amp;md5=74edfdfa0f1e733ab3f333ae90db383e" title="Flattr" target="_blank"><img src="http://css.4design.tl/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://css.4design.tl/html-5-outline-page-web-section-h1/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		<atom:link rel="payment" href="https://flattr.com/submit/auto?user_id=br1o&amp;popout=1&amp;url=http%3A%2F%2Fcss.4design.tl%2Fhtml-5-outline-page-web-section-h1&amp;language=fr_FR&amp;category=text&amp;title=HTML+5+Outline+%26%238212%3B+Quelques+notes+sur+la+structure+des+pages+Web+avec+h1+et+section&amp;description=Apr%C3%A8s+l%26%238217%3Barticle+Quelques+notes+sur+la+balise+h1+avec+HTML5+dans+lequel+j%26%238217%3Bai+abord%C3%A9+l%26%238217%3Butilisation+des+niveaux+d%26%238217%3Ben-t%C3%AAte+h1+--+h6+pour+savoir+dans+quelle+mesure+il+est+judicieux+d%26%238217%3Butiliser...&amp;tags=Edito%2Ch1%2Ch2%2Ch3%2Chgroup%2CHTML5%2CHTML5+Outliner%2COutline%2CSection%2CSectioning+Content%2CSectioning+Root%2Cblog" type="text/html" />
	</item>
		<item>
		<title>Quelques notes sur la balise h1 avec HTML5</title>
		<link>http://css.4design.tl/quelques-notes-sur-la-balise-h1-avec-html5</link>
		<comments>http://css.4design.tl/quelques-notes-sur-la-balise-h1-avec-html5#comments</comments>
		<pubDate>Thu, 16 Dec 2010 13:19:29 +0000</pubDate>
		<dc:creator>Bruno Bichet</dc:creator>
				<category><![CDATA[HTML & CSS]]></category>
		<category><![CDATA[Intégration web]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[Edito]]></category>
		<category><![CDATA[En-tête]]></category>
		<category><![CDATA[h1]]></category>
		<category><![CDATA[h2]]></category>
		<category><![CDATA[h3]]></category>
		<category><![CDATA[HTML5]]></category>
		<category><![CDATA[Quelques notes]]></category>
		<category><![CDATA[Référencement]]></category>
		<category><![CDATA[Section]]></category>
		<category><![CDATA[Sémantique]]></category>
		<category><![CDATA[SEO]]></category>
		<category><![CDATA[Spécification]]></category>
		<category><![CDATA[Title]]></category>
		<category><![CDATA[W3C]]></category>

		<guid isPermaLink="false">http://css4design.com/?p=8356</guid>
		<description><![CDATA[La réponse courte à la question « Combien de balises h1 dans une page Web HTML5 ? » est : « Autant que nécessaire ! » En gros, chaque fois que vous avez une nouvelle section, vous  pouvez mettre un h1. D&#8217;une manière générale, h1 accompagnera article, aside, nav ou section avec brio ! (cf. Sectioning content). Allons voir ce que nous disent les spécifications HTM5 sur l&#8217;emploi des balises de titre h1 &#8212; h6, notamment les exemples concernant les niveaux de titre. Ils sont assez parlant bien que parfois déroutant lorsqu&#8217;on a l&#8217;habitude du balisage utilisé jusqu&#8217;à présent. Les éléments h1 &#8212; h6 représentent [...]]]></description>
			<content:encoded><![CDATA[<p>La réponse courte à la question « Combien de balises <code>h1</code> dans une page Web HTML5 ? » est : « Autant que nécessaire ! » En gros, chaque fois que vous avez une nouvelle section, vous  pouvez mettre un <code>h1</code>. D&#8217;une manière générale, <code>h1</code> accompagnera <code>article</code>, <code>aside</code>, <code>nav</code> ou <code>section</code> avec brio ! (cf. <a href="http://www.w3.org/TR/html5/content-models.html#sectioning-content">Sectioning content</a>). Allons voir ce que nous disent <a href="http://www.w3.org/TR/html5/">les spécifications HTM5</a> sur l&#8217;emploi des <a href="http://www.w3.org/TR/html5/sections.html#the-h1-h2-h3-h4-h5-and-h6-elements">balises de titre</a> <code>h1</code> &#8212; <code>h6</code>, notamment les exemples concernant les niveaux de titre. Ils sont assez parlant bien que parfois déroutant lorsqu&#8217;on a l&#8217;habitude du balisage utilisé jusqu&#8217;à présent. Les éléments <code>h1</code> &#8212; <code>h6</code> représentent les niveaux d&#8217;en-têtes de leurs sections respectives. Quant à l&#8217;élément <code>hgroup</code>, il regroupe un ensemble d&#8217;en-têtes composé d&#8217;au moins deux niveaux de titre, comme un titre et son sous-titre ou un titre et le slogan associé (un bon candidat pour <a href="http://css.4design.tl/html5-manifeste-logo-motto">Logo et Motto</a>, faute de mieux).<span id="more-8356"></span></p>

<p><img class="alignnone size-full wp-image-8475" src="http://css.4design.tl/files/2010/12/html5-balise-h1-section.png" alt="" width="633" height="322" /></p>

<h2>Quelques exemples avec H1</h2>

<p>Les deux bouts de code qui suivent sont équivalent :
<pre>&lt;body&gt;
    &lt;h1&gt;Let's call it a draw(ing surface)&lt;/h1&gt;
    &lt;h2&gt;Diving in&lt;/h2&gt;
    &lt;h2&gt;Simple shapes&lt;/h2&gt;
    &lt;h2&gt;Canvas coordinates&lt;/h2&gt;
    &lt;h3&gt;Canvas coordinates diagram&lt;/h3&gt;
    &lt;h2&gt;Paths&lt;/h2&gt;
&lt;/body&gt;</pre>
<pre>&lt;body&gt;
    &lt;h1&gt;Let's call it a draw(ing surface)&lt;/h1&gt;
    &lt;section&gt;
        &lt;h1&gt;Diving in&lt;/h1&gt;
    &lt;/section&gt;
    &lt;section&gt;
        &lt;h1&gt;Simple shapes&lt;/h1&gt;
    &lt;/section&gt;
    &lt;section&gt;
        &lt;h1&gt;Canvas coordinates&lt;/h1&gt;
        &lt;section&gt;
            &lt;h1&gt;Canvas coordinates diagram&lt;/h1&gt;
        &lt;/section&gt;
    &lt;/section&gt;
    &lt;section&gt;
        &lt;h1&gt;Paths&lt;/h1&gt;
    &lt;/section&gt;
&lt;/body&gt;</pre>
La première forme est celle que l&#8217;on utilisera le plus souvent dans le cadre d&#8217;un CMS, puisque il est rare que l&#8217;on puisse saisir des balises <code>section</code> lors de la rédaction d&#8217;un article, même en passant par l&#8217;éditeur HTML puisqu&#8217;il supprime les balises exotiques. A moins qu&#8217;un plugin ne permette d&#8217;y remédier.</p>

<p>Dans un autre exemple, on trouve une utilisation des niveaux <code>h1</code> suivis de <code>h2</code> et <code>h3</code> à l&#8217;intérieur des sections :
<pre>&lt;body&gt;
    &lt;h1&gt;Apples&lt;/h1&gt;
    &lt;p&gt;Apples are fruit.&lt;/p&gt;
    &lt;section&gt;
        &lt;h2&gt;Taste&lt;/h2&gt;
        &lt;p&gt;They taste lovely.&lt;/p&gt;
        &lt;section&gt;
            &lt;h3&gt;Sweet&lt;/h3&gt;
            &lt;p&gt;Red apples are sweeter than green ones.&lt;/p&gt;
        &lt;/section&gt;
    &lt;/section&gt;
    &lt;section&gt;
        &lt;h2&gt;Color&lt;/h2&gt;
        &lt;p&gt;Apples come in various colors.&lt;/p&gt;
    &lt;/section&gt;
&lt;/body&gt;</pre>
Toutefois, le W3C recommande d&#8217;utiliser la forme suivante plus explicite et plus simple à maintenir si l&#8217;on doit modifier l&#8217;ordre des sections en cours de rédaction (ou lors de corrections plus tardives) :
<pre>&lt;body&gt;
    &lt;h1&gt;Apples&lt;/h1&gt;
    &lt;p&gt;Apples are fruit.&lt;/p&gt;
    &lt;section&gt;
        &lt;h1&gt;Taste&lt;/h1&gt;
        &lt;p&gt;They taste lovely.&lt;/p&gt;
        &lt;section&gt;
            &lt;h1&gt;Sweet&lt;/h1&gt;
            &lt;p&gt;Red apples are sweeter than green ones.&lt;/p&gt;
        &lt;/section&gt;
    &lt;/section&gt;
    &lt;section&gt;
        &lt;h1&gt;Color&lt;/h1&gt;
        &lt;p&gt;Apples come in various colors.&lt;/p&gt;
    &lt;/section&gt;
&lt;/body&gt;</pre>
Si la première version semble mieux hiérarchisée, la deuxième est plus claire : un <code>h1</code> gratuit pour chaque création de section explicite ! Et l&#8217;on peut continuer avec les balises <code>h2</code>, <code>h3</code>, etc. C&#8217;est la profondeur du document, l&#8217;imbrication des sections et des sous-sections qui définit la hiérarchie du document. Ce qui ne signifie pas que les balises <code>h2</code>  &#8211; <code>h6</code> sont inutiles. Elle sont toujours indispensables pour structurer le message à l&#8217;intérieur des sections.</p>

<p>Pour l&#8217;application des styles CSS, en revanche, pas sûr que <code>section section h1 {...}</code> soit plus simple que <code>h3 {...}</code>. Voir à ce sujet <a href="https://gist.github.com/568155">HTML5 Titles Inception</a>, la courageuse descente de <a href="http://gasteroprod.com/">Nicolas Hoizey</a> dans les limbes pour styler les <code>h1</code> selon leur profondeur.</p>

<h2>Sémantique ou optimisation SEO ?</h2>

<p>La question du nombre de fois où l&#8217;on peut utiliser la balise <code>h1</code> dans un document présente deux facettes :</p>

<ol>
    <li>Logique interne du document (<em>Semantic</em>). Un document est souvent identifié par un titre et les parties qui le composent par des sous-titres. Si un document peut ne posséder qu&#8217;un seul titre (à l&#8217;image des livres où le titre se trouve en couverture), il est possible d&#8217;utiliser un titre `h1` par `section`. On suppose alors que les sections forment des parties dissociables du tout. A cet égard, on peut se demander si une balise `article` n&#8217;est pas préférable dans la mesure où une partie indépendante peut bénéficier (en théorie) d&#8217;un flux RSS dédié.</li>
    <li>Le référencement au niveau de la page (<em>In Page</em>). Google accorde un poids supplémentaire (un petit poids, faut pas trop rêver non plus) aux mots-clés contenus dans les balises de titre `h1`, `h2` et `h3`. La tentation est grande de vouloir en utiliser un maximum dans une même page.</li>
</ol>

<p>Est-il est possible de mixer ces deux approches en tentant le Jackpot de la beauté sémantique et du charme SEO ? Lorsqu&#8217;on regarde de près les ouvrages imprimés (livre ou magazine), on s&#8217;aperçoit que le titre ne se retrouve pas toujours uniquement sur la 1ère de couverture. Dans certains livres, le titre est parfois répété dans les feuillets intérieurs précédé et/ou suivi de quelques pages blanches. Dans certains magazines, le nom de la revue peut se retrouver sur toutes les pages avec le titre de la rubrique en regard.</p>

<p>Du coup, l&#8217;argument du titre unique pour l&#8217;ensemble du site Web &#8212; en comparaison logique avec le Livre (objet de référence dès qu&#8217;il s&#8217;agit de bon goût) &#8212; ne tient plus. CQFD. Reste la question du <code>title</code> présent dans les balises <code>meta</code>. D&#8217;un point de vue SEO, cette balise est fondamentale car elle fait office de titre dans les SERP&#8217;s (Résultats dans les pages de recherche). Il faut donc lui accorder un soin tout particulier. Elle doit être unique sur la page. Or, la plupart des CMS utilisent le titre de l&#8217;article pour garnir ce <code>title</code>, ce qui le fait apparaitre deux fois. Sans compter l&#8217;URL du billet qui reprend souvent ce même titre lors de la réécriture des URL (<em>URL Rewriting</em>).</p>

<p>Il est important de s&#8217;assurer que ce <code>title</code> n&#8217;est pas redondant. Le meilleur moyen d&#8217;y parvenir est de considérer qu&#8217;il représente le vrai titre de la page Web, indépendamment des niveaux de titres <code>h1</code> présents (sans compter que la page n&#8217;est pas forcément synonyme de document) ou même du logo, qu&#8217;il s&#8217;agisse d&#8217;un texte ou d&#8217;une image. Le Web n&#8217;est pas totalement réductible aux pratiques de l&#8217;imprimé, fussent-elles de bon goût.</p>

<p>En matière de SEO, redondance rime avec décadence, du moins lorsque la répétition s&#8217;effectue sur des niveaux hiérarchiques d&#8217;égale importance.</p>

<h2>Document vs Site Web</h2>

<p>La plupart des exemples fournis par le W3C concernent des documents et pas des sites Web, et ce n&#8217;est pas un détail : de nombreuses ambiguïtés concernant le bon usage de la balise <code>h1</code> viennent de là.  Si l&#8217;on doit présenter le compte-rendu d&#8217;une réunion, le titre du document pourrait être l&#8217;objet du mail qui a servi pour inviter les participants.</p>

<p>Prenons par exemple le document suivant :
<pre>&lt;h1&gt;«La Tête Dans l'Asso» accueille les nouveaux adhérents&lt;/h1&gt;
&lt;p&gt;Cette année, l'association a recueillie une centaine de nouveaux membres [...]&lt;/p&gt;
&lt;h2&gt;La réunion d'intégration&lt;/h2&gt;
&lt;p&gt;blablabla [...]&lt;/p&gt;
&lt;h2&gt;Le livret d'intégration&lt;/h2&gt;
&lt;p&gt;blablabla [...]&lt;/p&gt;
&lt;h2&gt;Partenaires&lt;/h2&gt;
&lt;ul&gt;
    &lt;li&gt;La Tête dans l'Ecu&lt;/li&gt;
    &lt;li&gt;La Tête allant vers... &lt;/li&gt;
&lt;/ul&gt;</pre>
Une fois que le document est balisé correctement, il reste à l&#8217;intégrer dans le site Web qui contient généralement des balises d&#8217;en-tête de différents niveaux avant et après la zone des articles. Pour simplifier, on peut utiliser le marquage suivant :
<pre>&lt;header&gt;
    &lt;hgroup&gt;
        &lt;h1&gt;Mon logo qu'il est beau&lt;/h1&gt;
        &lt;h2&gt;Mon Slogan qu'il est grand&lt;/h2&gt;
    &lt;/hgroup&gt;
    &lt;p&gt;Ma description étendue qu'elle est bien fichue [...]&lt;/p&gt;
&lt;/header&gt;</pre>
Sous réserve que le logo en question soit composé en HTML et signifie quelque chose. Pendant longtemps, ce blogzine avait pour titre «CSS &amp; Webdesign», ce qui en faisait un titre efficace dans le sens où 1) l&#8217;expression était représentative du contenu et 2) signifiait quelque chose pour les moteurs de recherche. D&#8217;ailleurs, sans trop vouloir enfoncer le clou du SEO, si votre logo-titre n&#8217;est pas utile pour les moteurs de recherche (ex. css4design, logo en image), autant utiliser une balise <code>div</code>.</p>

<p>Pour intégrer notre document dans le site Web, nous allons l&#8217;envelopper avec une balise <code>article</code>. Puis, nous allons modifier le marquage du <code>header</code> pour supprimer la balise <code>h1</code> bien que les spécifications HTML5 ne nous y oblige pas. L&#8217;idée est de garder la ou les balises <code>h1</code> uniquement à l&#8217;intérieur de la balise <code>article</code> pour optimiser le SEO <em>In Page</em>. Nous en profiterons pour remplacer la description du site par un résumé de l&#8217;article qui servira de chapô :
<pre>&lt;header&gt;
    &lt;p&gt;
        &lt;span id="logo"&gt;Mon logo qu'il est beau &lt;/span&gt;
        &lt;span id="slogan"&gt;Mon Slogan qu'il est grand&lt;/span&gt;
    &lt;p&gt;
    &lt;p&gt;Un résumé de l'article qui servira de chapô [...]&lt;/p&gt;
&lt;/header&gt;
&lt;article&gt;
    &lt;h1&gt;«La Tête Dans l'Asso» accueille les nouveaux adhérents&lt;/h1&gt;
    &lt;p&gt;Cette année, l'association a recueillie une centaine de nouveaux membres [...]&lt;/p&gt;
    &lt;h2&gt;La réunion d'intégration&lt;/h2&gt;
    &lt;p&gt;blablabla [...]&lt;/p&gt;
    &lt;h2&gt;Le livret d'intégration&lt;/h2&gt;
    &lt;p&gt;blablabla [...]&lt;/p&gt;
    &lt;h2&gt;Partenaires&lt;/h2&gt;
    &lt;ul&gt;
        &lt;li&gt;La Tête dans l'Ecu&lt;/li&gt;
        &lt;li&gt;La Tête allant vers... &lt;/li&gt;
    &lt;/ul&gt;
&lt;article&gt;</pre>
Pour continuer dans cette logique de donner la primeur au contenu principal de la page, le mieux est encore de le placer en premier dans le code. En effet, un des avantages du Web par rapport à l&#8217;imprimé, c&#8217;est que l&#8217;ordre d&#8217;affichage des éléments n&#8217;est pas forcément celui du code source. Ainsi, dans l&#8217;exemple, ci-dessus, on peut très bien placer le contenu de la balise <code>article</code> avant celui de <code>header</code> dans le code et inverser l&#8217;ordre d&#8217;affichage avec la propriété <code>float</code> ou <code>position: absolute</code>.</p>

<h2>Adaptez la feuille de style aux documents, pas l&#8217;inverse !</h2>

<p>Si les spécification du W3C autorisent &#8212; voire encouragent &#8212; l&#8217;utilisation de plusieurs balises <code>h1</code> pour structurer le contenu à l&#8217;aide de <code>section</code>, il me semble important d&#8217;adapter le balisage HTML à la sémantique des documents. Vous trouvez ça bateau ? Pourtant je remarque que l&#8217;on a tendance à baliser les documents de manière à les adapter à la feuille de style que l&#8217;on a déjà, plutôt que d&#8217;adapter la feuille de style aux documents ! Cela passe par une analyse approfondie des documents existants, par la création d&#8217;une feuille de style CSS souple et par la capacité de remettre son travail en question selon la nature des documents à venir.</p>

<h2>Linkographie</h2>

<ul>
    <li><a href="http://www.htmlzengarden.com/2009/02/combien_peut-on_mettre_de_h1_dans_une_page/">Combien peut-on mettre de « H1 » dans une page ?</a></li>
    <li><a href="http://www.cafe-referencement.com/seo-technique/un-balisage-semantique-ideal-existe-til-339">Un balisage sémantique idéal existe-t&#8217;il</a></li>
    <li><a href="http://www.laurentbourrelly.com/blog/874.php">Non, je n’ai pas de mots clés dans l’URL</a></li>
    <li><a href="http://www.laurentbourrelly.com/blog/640.php">H1 ne sert pas à faire n’importe quoi</a>.</li>
    <li><a href="http://css.4design.tl/wordpress-une-meilleure-indexation-avec-not-at-all-in-one-seo">WordPress — Une meilleure indexation avec Not at All in One SEO</a></li>
    <li><a href="http://forum.alsacreations.com/topic-6-8173-1-Guide-accessiweb.html">Accessibilité Web et ordre des éléments dans le flux</a></li>
    <li><a href="http://www.accessiweb.org/fr/guide_accessiweb/thema09-structuration-de-l-information.html">Guide AccessiWeb : structuration de l&#8217;information</a></li>
    <li><a href="http://www.accessiweb.org/fr/guide_accessiweb/guide-accessiweb-glossaire.html#titre_h">Glossaire AccessiWeb : Les titres</a></li>
    <li><a href="https://gist.github.com/568155">HTML5 titles Inception</a></li>
</ul>

<h3 class='related_post_title'>Articles sur le même sujet</h3>

<ul class='related_post'><li><a href='http://css.4design.tl/html-5-outline-page-web-section-h1' title='HTML 5 Outline &#8212; Quelques notes sur la structure des pages Web avec h1 et section'>HTML 5 Outline &#8212; Quelques notes sur la structure des pages Web avec h1 et section</a></li><li><a href='http://css.4design.tl/composes-html-logo-baseline-potentiel-seo' title='8 composés HTML pour le logo et la « baseline » et leur potentiel SEO'>8 composés HTML pour le logo et la « baseline » et leur potentiel SEO</a></li><li><a href='http://css.4design.tl/programme-formation-html-css' title='Quelques notes &#8212; Programme de formation HTML &amp; CSS'>Quelques notes &#8212; Programme de formation HTML &amp; CSS</a></li><li><a href='http://css.4design.tl/wordpress-a-z-extension-plugin' title='WordPress de A à Z &#8212; E comme Extensions (les plugins)'>WordPress de A à Z &#8212; E comme Extensions (les plugins)</a></li><li><a href='http://css.4design.tl/fonctions-metier-integrateur-web' title='Quelques notes sur les fonctions de l&#039;intégrateur web et de l&#039;intégratrice web'>Quelques notes sur les fonctions de l&#039;intégrateur web et de l&#039;intégratrice web</a></li></ul>
 <p><a href="http://css.4design.tl/?flattrss_redirect&amp;id=8356&amp;md5=2689ee23cb61e9fa9755e99532cd2237" title="Flattr" target="_blank"><img src="http://css.4design.tl/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://css.4design.tl/quelques-notes-sur-la-balise-h1-avec-html5/feed</wfw:commentRss>
		<slash:comments>35</slash:comments>
		<atom:link rel="payment" href="https://flattr.com/submit/auto?user_id=br1o&amp;popout=1&amp;url=http%3A%2F%2Fcss.4design.tl%2Fquelques-notes-sur-la-balise-h1-avec-html5&amp;language=fr_FR&amp;category=text&amp;title=Quelques+notes+sur+la+balise+h1+avec+HTML5&amp;description=La+r%C3%A9ponse+courte+%C3%A0+la+question+%C2%AB%C2%A0Combien+de+balises+h1+dans+une+page+Web+HTML5+%3F%C2%A0%C2%BB+est+%3A+%C2%AB%C2%A0Autant+que+n%C3%A9cessaire+%21%C2%A0%C2%BB+En+gros%2C+chaque+fois+que+vous+avez+une...&amp;tags=CSS%2CEdito%2CEn-t%C3%AAte%2Ch1%2Ch2%2Ch3%2CHTML5%2CQuelques+notes%2CR%C3%A9f%C3%A9rencement%2CSection%2CS%C3%A9mantique%2CSEO%2CSp%C3%A9cification%2CTitle%2CW3C%2Cblog" type="text/html" />
	</item>
		<item>
		<title>HTML5 &#8212; Repenser le découpage des pages web et des contenus</title>
		<link>http://css.4design.tl/html5-repenser-le-decoupage-des-pages-web-et-des-contenus</link>
		<comments>http://css.4design.tl/html5-repenser-le-decoupage-des-pages-web-et-des-contenus#comments</comments>
		<pubDate>Thu, 08 Apr 2010 16:09:01 +0000</pubDate>
		<dc:creator>Bruno Bichet</dc:creator>
				<category><![CDATA[Intégration web]]></category>
		<category><![CDATA[Rédaction web]]></category>
		<category><![CDATA[h1]]></category>
		<category><![CDATA[HTML5]]></category>
		<category><![CDATA[Outline]]></category>
		<category><![CDATA[Section]]></category>
		<category><![CDATA[Sectioning Content]]></category>
		<category><![CDATA[Sous-titre]]></category>
		<category><![CDATA[Titre]]></category>
		<category><![CDATA[WYSIWYG]]></category>

		<guid isPermaLink="false">http://css4design.com/?p=5967</guid>
		<description><![CDATA[Derrière les nouvelles balises proposées par HTML5 se cache un nouveau modèle de structuration. Jusqu&#8217;à présent, on rencontre souvent la structure suivante : un niveau de titre h1 pour le nom du site et ça continue avec h2 pour le titre des articles ; reste h3 &#8212; h6 pour structurer la prose, ce qui est suffisant ou pas. HTML5 introduit la notion de Sectioning Content (cf. le concept d&#8217;outline) de manière explicite avec les balises section, nav, article et aside ou de manière implicite a chaque utilisation d&#8217;un niveau de titre h1. Soyez détendus du h1 En gros, il est [...]]]></description>
			<content:encoded><![CDATA[<p>Derrière les nouvelles balises proposées par HTML5 se cache un nouveau modèle de structuration. Jusqu&#8217;à présent, on rencontre souvent la structure suivante : un niveau de titre <code>h1</code> pour le nom du site et ça continue avec <code>h2</code> pour le titre des articles ; reste <code>h3</code> &#8212; <code>h6</code> pour structurer la prose, ce qui est suffisant ou pas. HTML5 introduit la notion de <a href="http://dev.w3.org/html5/spec/Overview.html#sectioning-content-0">Sectioning Content</a> (cf. le concept d&#8217;<a href="http://dev.w3.org/html5/spec/Overview.html#outline">outline</a>) de manière explicite avec les balises <code>section</code>, <code>nav</code>, <code>article</code> et <code>aside</code> ou de manière implicite a chaque utilisation d&#8217;un niveau de titre <code>h1</code>.<span id="more-5967"></span></p>

<h2>Soyez détendus du h1</h2>

<p>En gros, il est tout à fait possible d&#8217;utiliser un <code>h1</code>pour le titre du site (suivi d&#8217;un <code>h2</code> pour le sous-titre éventuellement dans un <code>hgroup</code>), mais aussi pour le titre des articles et pourquoi pas à l&#8217;intérieur de l&#8217;article lui-même pour le découper en «sections». Ça tombe bien car je trouvais un peu pénible d&#8217;être «obligé» de commencer mes titres avec un <code>h2</code> voire un <code>h3</code> et laisser le <code>h1</code> de mon éditeur WYSIWYG prendre la poussière !</p>

<h3 class='related_post_title'>Articles sur le même sujet</h3>

<ul class='related_post'><li><a href='http://css.4design.tl/html-5-outline-page-web-section-h1' title='HTML 5 Outline &#8212; Quelques notes sur la structure des pages Web avec h1 et section'>HTML 5 Outline &#8212; Quelques notes sur la structure des pages Web avec h1 et section</a></li><li><a href='http://css.4design.tl/quelques-notes-sur-la-balise-h1-avec-html5' title='Quelques notes sur la balise h1 avec HTML5'>Quelques notes sur la balise h1 avec HTML5</a></li><li><a href='http://css.4design.tl/html5-et-si-on-evitait-la-balise-section-dans-une-balise-article' title='HTML5 &#8212; Et si on évitait la balise «section» dans une balise «article» ?'>HTML5 &#8212; Et si on évitait la balise «section» dans une balise «article» ?</a></li><li><a href='http://css.4design.tl/editeurs-html-wysiwyg-wysiwym' title='11 éditeurs HTML WYSIWYG et WYSIWYM'>11 éditeurs HTML WYSIWYG et WYSIWYM</a></li><li><a href='http://css.4design.tl/maqetta-editeur-html5-javascript' title='Maqetta &#8212; Editeur HTML5 / Javascript en ligne ou à emporter'>Maqetta &#8212; Editeur HTML5 / Javascript en ligne ou à emporter</a></li></ul>
 <p><a href="http://css.4design.tl/?flattrss_redirect&amp;id=5967&amp;md5=adc35673fd8b7c78b95b539e2e52eafc" title="Flattr" target="_blank"><img src="http://css.4design.tl/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://css.4design.tl/html5-repenser-le-decoupage-des-pages-web-et-des-contenus/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<atom:link rel="payment" href="https://flattr.com/submit/auto?user_id=br1o&amp;popout=1&amp;url=http%3A%2F%2Fcss.4design.tl%2Fhtml5-repenser-le-decoupage-des-pages-web-et-des-contenus&amp;language=fr_FR&amp;category=text&amp;title=HTML5+%26%238212%3B+Repenser+le+d%C3%A9coupage+des+pages+web+et+des+contenus&amp;description=Derri%C3%A8re+les+nouvelles+balises+propos%C3%A9es+par+HTML5+se+cache+un+nouveau+mod%C3%A8le+de+structuration.+Jusqu%26%238217%3B%C3%A0+pr%C3%A9sent%2C+on+rencontre+souvent+la+structure+suivante+%3A+un+niveau+de+titre+h1+pour+le...&amp;tags=h1%2CHTML5%2COutline%2CSection%2CSectioning+Content%2CSous-titre%2CTitre%2CWYSIWYG%2Cblog" type="text/html" />
	</item>
		<item>
		<title>HTML5 &#8212; Et si on évitait la balise «section» dans une balise «article» ?</title>
		<link>http://css.4design.tl/html5-et-si-on-evitait-la-balise-section-dans-une-balise-article</link>
		<comments>http://css.4design.tl/html5-et-si-on-evitait-la-balise-section-dans-une-balise-article#comments</comments>
		<pubDate>Fri, 26 Mar 2010 08:44:06 +0000</pubDate>
		<dc:creator>Bruno Bichet</dc:creator>
				<category><![CDATA[HTML & CSS]]></category>
		<category><![CDATA[Intégration web]]></category>
		<category><![CDATA[Article]]></category>
		<category><![CDATA[Header]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[HTML5]]></category>
		<category><![CDATA[Section]]></category>
		<category><![CDATA[Sectioning Content]]></category>

		<guid isPermaLink="false">http://css4design.com/?p=5888</guid>
		<description><![CDATA[Ce billet fait partie d&#8217;une série de notes rapides prises lors de ma lecture des spécifications HTML5. Aujourd&#8217;hui, c&#8217;est le commentaire de Romy qui me donne l&#8217;occasion de rebondir sur le découpage d&#8217;une page web avec HTML5 et plus particulièrement la balise section. Dans ce billet, je m&#8217;éloigne un peu du commentaire de Romy et je voudrais souligner qu&#8217;elle a parfaitement raison quand elle dit que le rôle des balises header et footer est clair mais que leur traduction en En-tête et Pied de page prête à confusion ; il faudrait peut-être introduire la notion de meta information. La balise section [...]]]></description>
			<content:encoded><![CDATA[<p>Ce billet fait partie d&#8217;une série de notes rapides prises lors de ma lecture des <a href="http://www.w3.org/TR/html5/">spécifications HTML5</a>. Aujourd&#8217;hui, c&#8217;est <a href="http://css.4design.tl/html5-pourquoi-header-et-footer-ne-creent-pas-de-sections#comment-4566">le commentaire</a> de <a href="http://romy.tetue.net/">Romy</a> qui me donne l&#8217;occasion de rebondir sur le découpage d&#8217;une page web avec HTML5 et plus particulièrement la balise <code>section</code>. Dans ce billet, je m&#8217;éloigne un peu du commentaire de Romy et je voudrais souligner qu&#8217;elle a parfaitement raison quand elle dit que le rôle des balises <code>header</code> et <code>footer</code> est clair mais que leur traduction en <em>En-tête</em> et<em> Pied de page</em> prête à confusion ; il faudrait peut-être introduire la notion de <em>meta information</em>. <span id="more-5888"></span></p>

<h2>La balise section</h2>

<p>Dans l&#8217;article <a href="http://romy.tetue.net/elements-html-5-de-structure">Éléments HTML 5 de structure</a> on trouve un exemple de l&#8217;utilisation d&#8217;une balise <code>section</code> dans une balise <code>article</code>. Si j&#8217;ai bien compris la partie des spécifications consacrée à la notion de <a href="http://dev.w3.org/html5/spec/Overview.html#sectioning-content">Sectioning Content</a> et à <a href="http://dev.w3.org/html5/spec/Overview.html#the-section-element">l&#8217;élément section</a>, ce dernier agit comme une «remise à zéro» de la hiérarchie des niveaux de titres.</p>

<blockquote>The section element represents a generic document or application section. A section, in this context, is a thematic grouping of content, typically with a heading</blockquote>

<p>Mettre une balise <code>section</code> à l&#8217;intérieur d&#8217;une balise <code>article</code> n&#8217;est donc pas l&#8217;idéal : le <code>h1</code> du titre de l&#8217;article (et les éventuels éléments présents dans son <code>header</code>) n&#8217;est plus en relation avec les niveaux de titres situés dans le corps de l&#8217;article lui-même. Et ce, d&#8217;autant plus que l&#8217;élément article possède également le statut de <em>Sectioning Content</em>. Il vaudrait mieux faire le contraire.</p>

<p>Ainsi, au lieu de :
<pre>body
    header
    div#content
        article
            header
            section</pre>
Je trouve plus logique d&#8217;utiliser :
<pre>body
    header
    section#content
        article
            header
            div.hentry</pre>
<code>div.hentry</code> n&#8217;est pas une obligation : on pourrait très bien s&#8217;en passer en attaquant directement l&#8217;article sous le <em>header</em> mais on a généralement besoin d&#8217;élément permettant de gérer les <em>padding</em> et autres <em>margin</em> ou placer un <em>background. </em>Utilisation qui est dans les cordes de notre bonne vieille balise <code>div</code> désormais réservée au <em>scripting</em> ou à l&#8217;application de styles CSS.</p>

<h2>La balise nav</h2>

<blockquote>The nav element represents a section of a page that links to other pages or to parts within the page: a section with navigation links.</blockquote>

<p>L&#8217;élément <code>nav</code> possède également des propriétés de <em>Sectioning Content</em>. Il ne serait donc pas très judicieux de l&#8217;englober avec une balise <code>section</code>. Celà dit, il est facile de confondre la balise <code>nav</code> avec ce que l&#8217;on appelle la <em>Sidebar</em>. Une barre latérale contient souvent des liens qui pointent vers des pages intérieures du site (catégories, derniers billets, commentaires récents, etc.) mais on y trouve aussi toute sortes de contenus qui ne pointent nullement vers le site (textes de présentation, blogroll, publicités, listes des derniers tweets, etc.).</p>

<p>Pour ma part, je réserverais l&#8217;élément <code>nav</code> aux menus de navigation tels que : <em>Breadcrumbs</em>, listes des pages et des catégories, pages suivantes et précédentes, liens d&#8217;évitement, etc.</p>

<p>Ce qui m&#8217;amène à continuer la structure précédente :
<pre>body
    header
    section#content
        article
            header
            div.hentry
    section#sidebar-1
        nav#category
        section#blogroll</pre>
Ici, l&#8217;imbrication des sections n&#8217;est pas préjudiciable à la hiérarchie des titres de niveaux <code>hn</code>, puisque chaque section (y compris <code>nav</code>, donc) est indépendante et possède sa propre hiérarchie.  C&#8217;est pourquoi je n&#8217;ai pas retenu l&#8217;élément <code>aside</code> pour remplacer <code>nav</code> en raison de la diversité des contenus présent dans une <em>sidebar</em>. Toutefois, lorsque les éléments de la &laquo;&nbsp;barre latérale&nbsp;&raquo; se rapportent globalement au contenu principal  (les articles en l&#8217;occurrence), il vaut mieux se tourner vers <code>aside</code>.</p>

<p>Bref, HTML5, des fois c&#8217;est facile, des fois&#8230; pas facile. Rassurez-vous (ou pas) : j&#8217;aurais l&#8217;occasion de revenir sur HTML5 plus souvent qu&#8217;à mon tour car écrire sur ce sujet me permets de sortir un peu la tête des spécifications !</p>

<h3 class='related_post_title'>Articles sur le même sujet</h3>

<ul class='related_post'><li><a href='http://css.4design.tl/html5-pourquoi-header-et-footer-ne-creent-pas-de-sections' title='HTML5 &#8212; Pourquoi «header» et «footer» ne créent pas de «sections»'>HTML5 &#8212; Pourquoi «header» et «footer» ne créent pas de «sections»</a></li><li><a href='http://css.4design.tl/html-5-outline-page-web-section-h1' title='HTML 5 Outline &#8212; Quelques notes sur la structure des pages Web avec h1 et section'>HTML 5 Outline &#8212; Quelques notes sur la structure des pages Web avec h1 et section</a></li><li><a href='http://css.4design.tl/html5-repenser-le-decoupage-des-pages-web-et-des-contenus' title='HTML5 &#8212; Repenser le découpage des pages web et des contenus'>HTML5 &#8212; Repenser le découpage des pages web et des contenus</a></li><li><a href='http://css.4design.tl/the-html-framework-project-phase-11-definir' title='The HTML Framework Project &#124; Phase 1.1 — définir'>The HTML Framework Project &#124; Phase 1.1 — définir</a></li><li><a href='http://css.4design.tl/programme-formation-html-css' title='Quelques notes &#8212; Programme de formation HTML &amp; CSS'>Quelques notes &#8212; Programme de formation HTML &amp; CSS</a></li></ul>
 <p><a href="http://css.4design.tl/?flattrss_redirect&amp;id=5888&amp;md5=6fbd2ab36dfbe068fefae9806c180b35" title="Flattr" target="_blank"><img src="http://css.4design.tl/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://css.4design.tl/html5-et-si-on-evitait-la-balise-section-dans-une-balise-article/feed</wfw:commentRss>
		<slash:comments>13</slash:comments>
		<atom:link rel="payment" href="https://flattr.com/submit/auto?user_id=br1o&amp;popout=1&amp;url=http%3A%2F%2Fcss.4design.tl%2Fhtml5-et-si-on-evitait-la-balise-section-dans-une-balise-article&amp;language=fr_FR&amp;category=text&amp;title=HTML5+%26%238212%3B+Et+si+on+%C3%A9vitait+la+balise+%C2%ABsection%C2%BB+dans+une+balise+%C2%ABarticle%C2%BB+%3F&amp;description=Ce+billet+fait+partie+d%26%238217%3Bune+s%C3%A9rie+de+notes+rapides+prises+lors+de+ma+lecture+des+sp%C3%A9cifications+HTML5.+Aujourd%26%238217%3Bhui%2C+c%26%238217%3Best+le+commentaire+de+Romy+qui%C2%A0me+donne+l%26%238217%3Boccasion+de+rebondir+sur+le...&amp;tags=Article%2CHeader%2CHTML%2CHTML5%2CSection%2CSectioning+Content%2Cblog" type="text/html" />
	</item>
		<item>
		<title>HTML5 &#8212; Pourquoi «header» et «footer» ne créent pas de «sections»</title>
		<link>http://css.4design.tl/html5-pourquoi-header-et-footer-ne-creent-pas-de-sections</link>
		<comments>http://css.4design.tl/html5-pourquoi-header-et-footer-ne-creent-pas-de-sections#comments</comments>
		<pubDate>Wed, 24 Mar 2010 16:00:39 +0000</pubDate>
		<dc:creator>Bruno Bichet</dc:creator>
				<category><![CDATA[HTML & CSS]]></category>
		<category><![CDATA[Intégration web]]></category>
		<category><![CDATA[Footer]]></category>
		<category><![CDATA[Header]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[HTML5]]></category>
		<category><![CDATA[Section]]></category>

		<guid isPermaLink="false">http://css4design.com/?p=5890</guid>
		<description><![CDATA[Les nouvelles balises introduites par HTML5 ne sont pas très évidentes à utiliser. Plus que jamais, le contenu est roi et tout dépend de lui. Les notions de Sectioning Content implicites ou explicites risquent de se transformer en poil à gratter pour les intégrateurs web. Pour commencer, notre balise div préférée devra laisser du terrain à la balise section quand on pourra justifier d&#8217;un h1 à l&#8217;intérieur. Ce titre de premier niveau mène la danse et pourra inspirer l&#8217;intitulé de l&#8217;id de la section. Plus que jamais, l&#8217;intégrateur web devra avoir une solide culture générale. Il lui faudra tout au [...]]]></description>
			<content:encoded><![CDATA[<p>Les nouvelles balises introduites par HTML5 ne sont pas très évidentes à utiliser. Plus que jamais, le contenu est roi et tout dépend de lui. Les notions de <em>Sectioning Content</em> implicites ou explicites risquent de se transformer en poil à gratter pour les intégrateurs web. Pour commencer, notre balise <code>div</code> préférée devra laisser du terrain à la balise <code>section</code> quand on pourra justifier d&#8217;un <code>h1</code> à l&#8217;intérieur.<span id="more-5890"></span></p>

<p>Ce titre de premier niveau mène la danse et pourra inspirer l&#8217;intitulé de l&#8217;<code>id</code> de la section. Plus que jamais, l&#8217;intégrateur web devra avoir une solide culture générale. Il lui faudra tout au moins s&#8217;intéresser suffisamment aux contenus qu&#8217;il met en page pour savoir où commencent et où finissent les idées de ses clients !</p>

<p>Durant mes tests, j&#8217;ai beaucoup hésité sur l&#8217;utilisation de la balise <code>header</code>. Celle que l&#8217;on pensait forcément prévue pour prendre la place de notre <code>div id="header"</code> ne s&#8217;est pas vu attribuée ce rôle de manière formelle et univoque dans les spécifications. Elle pourra servir dans plusieurs contextes en conjonction (ou pas) avec une balise <code>footer</code> ; mais pas le <code>footer</code> que l&#8217;on place généralement tout en bas de la page page&#8230; Dans les faits, l&#8217;utilisation des balises <code>header</code> et <code>footer</code> est à géométrie variable.</p>

<h2>Modèles de document HTML5</h2>

<p>HTML5 introduit la notion de <a href="http://dev.w3.org/html5/spec/Overview.html#sectioning-content">Sectioning Content</a>. Pour faire simple, une section regroupe un ensemble de titres de plusieurs niveaux formant une unité logico-sémantique. Lorsqu&#8217;un deuxième <code>h1</code> est nécessaire, c&#8217;est qu&#8217;on se trouve dans une autre «section».  Les sections sont implicites et suivent la hiérarchie des balises <code>h1</code>, <code>h2</code>, etc. mais on peut les formaliser avec les balises <code>article</code>, <code>aside</code>, <code>nav</code> ou&#8230; <code>section</code>.</p>

<p>La première remarque qui m&#8217;est venue à l&#8217;esprit en voyant la liste des balises ayant le statut de «section», c&#8217;est qu&#8217;il manquait les balises <code>header</code> et <code>footer</code> !</p>

<h6>Les éléments HTML se retrouvent dans zéro ou plusieurs catégories en fonction de leurs caractéristiques.</h6>

<div id="attachment_5892" class="wp-caption alignleft" style="width: 444px"><a href="http://css.4design.tl/files/2010/03/html5-content-models.png"><img class="size-large wp-image-5892" src="http://css.4design.tl/files/2010/03/html5-content-models-434x244.png" alt="" width="434" height="244" /></a><p class="wp-caption-text">Le modèle de document HTML5 se compose de : metadata content, flow content, sectioning content, heading content, phrasing content, embedded content et interactive content. (Source : W3C)</p></div>

<h3>Pourquoi les balises header et footer n&#8217;en font pas partie ?</h3>

<p>Très bonne question. La premier élément de réponse tient certainement à la nature équivoque de ces balises : elles peuvent se trouver à l&#8217;intérieur des sections introduites par <code>body</code>, <code>article</code>, <code>nav</code>, <code>aside</code> ou <code>section</code> pour regrouper le titre (ou les titres avec <code>hgroup</code>) et des informations complémentaires sur le contenu (date, auteur, etc.).</p>

<p>La deuxième, c&#8217;est peut-être pour les utiliser afin de regrouper des informations dans l&#8217;en-tête et le pied de page du site, sans les couper des autres informations. De cette manière, les informations contenues dans <code>header</code> et <code>footer</code> concernent toute la page (voire tout le site web), ce qui est plus logique.</p>

<p>Reste le <em>Sectioning</em> implicite. Est-ce à dire qu&#8217;il faut éviter d&#8217;utiliser des niveaux de titre dans notre en-tête et notre pied de page ?</p>

<h3 class='related_post_title'>Articles sur le même sujet</h3>

<ul class='related_post'><li><a href='http://css.4design.tl/html5-et-si-on-evitait-la-balise-section-dans-une-balise-article' title='HTML5 &#8212; Et si on évitait la balise «section» dans une balise «article» ?'>HTML5 &#8212; Et si on évitait la balise «section» dans une balise «article» ?</a></li><li><a href='http://css.4design.tl/the-html-framework-project-phase-11-definir' title='The HTML Framework Project &#124; Phase 1.1 — définir'>The HTML Framework Project &#124; Phase 1.1 — définir</a></li><li><a href='http://css.4design.tl/quelques-notes-sur-xhtml-et-css-au-fil-de-l-eau' title='Quelques notes sur XHTML et CSS, au fil de l&#039;eau&#8230;'>Quelques notes sur XHTML et CSS, au fil de l&#039;eau&#8230;</a></li><li><a href='http://css.4design.tl/programme-formation-html-css' title='Quelques notes &#8212; Programme de formation HTML &amp; CSS'>Quelques notes &#8212; Programme de formation HTML &amp; CSS</a></li><li><a href='http://css.4design.tl/liens-javascript-jquery' title='390 ressources Javascript &amp; jQuery'>390 ressources Javascript &amp; jQuery</a></li></ul>
 <p><a href="http://css.4design.tl/?flattrss_redirect&amp;id=5890&amp;md5=62bce0ad48cda98716abcc2a4fefbd04" title="Flattr" target="_blank"><img src="http://css.4design.tl/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://css.4design.tl/html5-pourquoi-header-et-footer-ne-creent-pas-de-sections/feed</wfw:commentRss>
		<slash:comments>14</slash:comments>
		<atom:link rel="payment" href="https://flattr.com/submit/auto?user_id=br1o&amp;popout=1&amp;url=http%3A%2F%2Fcss.4design.tl%2Fhtml5-pourquoi-header-et-footer-ne-creent-pas-de-sections&amp;language=fr_FR&amp;category=text&amp;title=HTML5+%26%238212%3B+Pourquoi+%C2%ABheader%C2%BB+et+%C2%ABfooter%C2%BB+ne+cr%C3%A9ent+pas+de+%C2%ABsections%C2%BB&amp;description=Les+nouvelles+balises+introduites+par+HTML5+ne+sont+pas+tr%C3%A8s+%C3%A9videntes+%C3%A0+utiliser.+Plus+que+jamais%2C+le+contenu+est+roi+et+tout+d%C3%A9pend+de+lui.+Les+notions+de+Sectioning+Content...&amp;tags=Footer%2CHeader%2CHTML%2CHTML5%2CSection%2Cblog" type="text/html" />
	</item>
		<item>
		<title>The HTML Framework Project &#124; Phase 1.1 — définir</title>
		<link>http://css.4design.tl/the-html-framework-project-phase-11-definir</link>
		<comments>http://css.4design.tl/the-html-framework-project-phase-11-definir#comments</comments>
		<pubDate>Fri, 05 Sep 2008 02:25:23 +0000</pubDate>
		<dc:creator>Bruno Bichet</dc:creator>
				<category><![CDATA[HTML & CSS]]></category>
		<category><![CDATA[Aside]]></category>
		<category><![CDATA[Fichiers]]></category>
		<category><![CDATA[Footer]]></category>
		<category><![CDATA[Framework]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[HTML5]]></category>
		<category><![CDATA[Intégration HTML]]></category>
		<category><![CDATA[Section]]></category>

		<guid isPermaLink="false">http://www.css4design.com/?p=1681</guid>
		<description><![CDATA[Je vous ai rapidement parlé de The HTML Framework Project qui propose de réfléchir ensemble à la mise en place d&#8217;un environnement de travail pour rendre le démarrage d&#8217;un projet de site web moins ennuyeux. Le projet en est à la phase 1.1 : définir. Il est évident que produire un bon code HTML est un métier, un art qui peut difficilement se faire comme on élève des poules en batteries. Pour autant, il doit être possible de dégager parmi les bonnes pratiques de travail, quelques concepts récurrents que l&#8217;on pourrait utiliser au démarrage d&#8217;un projet. C&#8217;est quoi un framework [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.css4design.com/the-html-framework-project-phase-1-definir">Je vous ai rapidement parlé</a> de <a href="http://htmlframework.com">The HTML Framework Project</a> qui propose de réfléchir ensemble à la mise en place d&#8217;un environnement de travail pour rendre le démarrage d&#8217;un projet de site web moins ennuyeux. Le projet en est à la <a href="http://htmlframework.com/?p=15">phase 1.1 : définir</a>. Il est évident que produire un bon code HTML est un métier, un art qui peut difficilement se faire comme on élève des poules en batteries. Pour autant, il doit être possible de dégager parmi les bonnes pratiques de travail, quelques concepts récurrents que l&#8217;on pourrait utiliser au démarrage d&#8217;un projet.<span id="more-1681"></span></p>

<h3>C&#8217;est quoi un framework HTML, au juste ?</h3>

<p>Un Framework HTML devrait inclure une structure de fichiers normalisée, quelques trucs pour mettre les navigateurs au garde-à-vous et des fichiers HTML servant de fondations pour des maquettes différentes. C&#8217;est aussi simple que ça : un jeu de fichiers et de répertoires pour amorcer le travail dans la joie et la bonne humeur ;)</p>

<h3>Sur quelles bases construire ce framework ?</h3>

<p>S&#8217;assurer que le Framework HTML est conforme avec les points suivants :</p>

<ul>
<li>Éviter les <code>tables</code> pour la présentation,</li>
<li>Séparer le fond et la forme,</li>
<li>Réserver la partie présentation aux CSS,</li>
<li>Prendre en considération la &laquo;&nbsp;sémantique&nbsp;&raquo; des balises HTML,</li>
<li>Intégrer des noms de classes signifiants,</li>
<li>Valider en accord avec les spécifications du W3C.</li>
</ul>

<h3>Un mot d&#8217;ordre : la flexibilité</h3>

<p>Pour que ce framework HTML soit utile aux développeurs, il faudra :</p>

<ul>
<li>Ne pas gêner les <em>web designers</em> (les graphistes doivent pouvoir laisser libre-court à leur créativité),</li>
<li>S&#8217;adapter aux contraintes propres d&#8217;un projet (être un plus, pas un obstacle),</li>
<li>Rester léger en excluant les fonctionnalités superflues,</li>
<li>Être extensible pour faire face aux besoins futurs.</li>
</ul>

<h3>Participer à la discussion</h3>

<p>On parle beaucoup (ou pas) de HTML5. <a href="http://htmlframework.com/?p=15#comment-7">J&#8217;ai donc lancé l&#8217;idée</a> de bâtir les fondations du framework sur la base des spécifications du HTML5, notamment pour la partie structure en accord avec la <a href="http://www.w3.org/html/wg/html5/#sections">partie sections du W3C</a> :</p>

<ul>
<li><code>section</code>  &#8212; Chapitres, onglets des menu, etc. La page d&#8217;accueil d&#8217;un site web pourrait être découpée en sections : introduction, news et informations de contact.</li>
<li><code>nav</code> &#8212;  Menu principal ou secondaire d&#8217;un site web.</li>
<li><code>article</code> &#8212; Partie indépendante d&#8217;une page, d&#8217;un document ou d&#8217;un site : contribution sur un forum, article de magazine, billet de blog, commentaire, etc.</li>
<li><code>aside</code> &#8212; Barre latérale ou contenu adjacent,</li>
<li><code>header</code> &#8212; Regroupement de sections ou de balises <code>h1</code>, <code>h2</code>, etc.</li>
<li><code>footer</code> &#8212; Pied de page d&#8217;une <code>section</code>,</li>
<li><code>address</code> &#8212; Informations de contact, idéalement placées dans le <code>footer</code>.</li>
</ul>

<p>Dans le framework HTML, ces éléments pourraient se traduire par :</p>

<pre><code>&lt;div&gt;&lt;/div&gt;
&lt;div class="article"&gt;&lt;/div&gt;
&lt;p class="aside"&gt;
</code></pre>

<p>Les autres éléments de HTML4  étant utilisés &#8212; comme d&#8217;habitude &#8212; de manière à coller au plus près du sens véhiculé par le contenu.</p>

<h3>Pour conclure</h3>

<p>L&#8217;avantage de calquer les <code>id</code> et les <code>class</code> sur les balises prévues par HTML5, c&#8217;est de voir loin tout en s&#8217;adaptant dès maintenant aux nouvelles habitudes de structuration des contenus avec HTML5. Et comme le suggère <a href="http://www.jdgraffam.com/">jdgraffam</a> il est envisageable que le framework définisse un plan pour passer du framework au HTML 5 quand ce dernier sera pris en compte par les navigateurs, tout en restant rétro-compatible !</p>

<p>Faites tourner et n&#8217;hésitez pas à partager ce que ce projet vous inspire. Si vous avez des idées et quelques connaissances en anglais, je vous invite à <a href="http://htmlframework.com/?p=15">commenter ce billet</a>, ou ici, si vous êtes plus à l&#8217;aise en français ;)</p>

<h3 class='related_post_title'>Articles sur le même sujet</h3>

<ul class='related_post'><li><a href='http://css.4design.tl/html5-pourquoi-header-et-footer-ne-creent-pas-de-sections' title='HTML5 &#8212; Pourquoi «header» et «footer» ne créent pas de «sections»'>HTML5 &#8212; Pourquoi «header» et «footer» ne créent pas de «sections»</a></li><li><a href='http://css.4design.tl/html5-et-si-on-evitait-la-balise-section-dans-une-balise-article' title='HTML5 &#8212; Et si on évitait la balise «section» dans une balise «article» ?'>HTML5 &#8212; Et si on évitait la balise «section» dans une balise «article» ?</a></li><li><a href='http://css.4design.tl/html5-une-orientation-encore-trop-litteraire-et-pas-assez-web' title='HTML5 &#8212; Une orientation encore trop « littéraire » et pas assez « web »'>HTML5 &#8212; Une orientation encore trop « littéraire » et pas assez « web »</a></li><li><a href='http://css.4design.tl/framework-html-bootstrap-fondation-html5-boilerplate' title='Framework HTML : Bootstrap, Fondation et HTML5 Boilerplate'>Framework HTML : Bootstrap, Fondation et HTML5 Boilerplate</a></li><li><a href='http://css.4design.tl/le-petit-journal-du-web-les-fruits-de-la-veille-ont-garde-leur-fraicheur' title='Le petit journal du web &#8212; Les fruits de la veille ont gardé toute leur fraicheur'>Le petit journal du web &#8212; Les fruits de la veille ont gardé toute leur fraicheur</a></li></ul>
 <p><a href="http://css.4design.tl/?flattrss_redirect&amp;id=1681&amp;md5=6117198f9d7a92903d13a7778e5c7838" title="Flattr" target="_blank"><img src="http://css.4design.tl/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://css.4design.tl/the-html-framework-project-phase-11-definir/feed</wfw:commentRss>
		<slash:comments>8</slash:comments>
		<atom:link rel="payment" href="https://flattr.com/submit/auto?user_id=br1o&amp;popout=1&amp;url=http%3A%2F%2Fcss.4design.tl%2Fthe-html-framework-project-phase-11-definir&amp;language=fr_FR&amp;category=text&amp;title=The+HTML+Framework+Project+%26%23124%3B+Phase+1.1+%E2%80%94+d%C3%A9finir&amp;description=Je+vous+ai+rapidement+parl%C3%A9+de+The+HTML+Framework+Project+qui+propose+de+r%C3%A9fl%C3%A9chir+ensemble+%C3%A0+la+mise+en+place+d%26%238217%3Bun+environnement+de+travail+pour+rendre+le+d%C3%A9marrage+d%26%238217%3Bun+projet...&amp;tags=Aside%2CFichiers%2CFooter%2CFramework%2CHTML%2CHTML5%2CInt%C3%A9gration+HTML%2CSection%2Cblog" type="text/html" />
	</item>
	</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Page Caching using disk: basic

Served from: css.4design.tl @ 2012-05-25 04:23:20 -->
