Blog ENI : Toute la veille numérique !
-25€ dès 75€ sur les livres en ligne, vidéos... avec le code FUSEE25. J'en profite !
Accès illimité 24h/24 à tous nos livres & vidéos ! 
Découvrez la Bibliothèque Numérique ENI. Cliquez ici
  1. Livres et vidéos
  2. HTML5 et CSS3
  3. Le Web sémantique avec Microdata
Extrait - HTML5 et CSS3 Maîtrisez les standards de la création de sites web (2e édition)
Extraits du livre
HTML5 et CSS3 Maîtrisez les standards de la création de sites web (2e édition) Revenir à la page d'achat du livre

Le Web sémantique avec Microdata

L’état des lieux du Web sémantique

Le HTML5 a introduit un Web très sémantique avec l’usage précis d’éléments qui permettent de structurer nos pages web. Nous savons, par exemple, que l’élément <blockquote> indique que son contenu est une citation, que l’élément <address> précise que le contenu attendu est une adresse… Nous avons aussi tous les éléments de structuration de la page que nous avons précédemment étudiés : <header>, <aside>, <main>, <footer>… Mais ces éléments manquent cruellement de précision comme le montre l’usage de l’élément <p> qui est un paragraphe de texte, mais c’est tout ce que nous savons. Rien ne nous indique plus précisément son contenu, est-ce une recette de cuisine ? Une fiche de lecture d’un livre ? Un descriptif d’un appareil ménagé ? Nous n’en savons rien.

Prenons un petit exemple précis :

<p>Bonjour je suis <strong>Christophe AUBRY</strong>, j'habite 
dans la région de <em>Nantes</em> et j'écris ce livre pour les 
<strong>Editions ENI</strong></p> 

Nous avons trois mises en évidence avec les éléments <strong> et <em>. Mais...

L’objectif de Microdata

1. La norme et les schémas

Avec l’avènement du HTML5, Microdata permet d’ajouter des attributs afin d’avoir des éléments parfaitement définis d’un point de vue sémantique. Ainsi, les robots des moteurs de recherche savent parfaitement quel est le type de contenu des éléments HTML utilisés dans les pages web.

Microdata est une spécification du W3C : https://www.w3.org/TR/microdata/ à l’état de Working Draft au 26 avril 2018 (en juillet 2020, au moment de l’écriture de cet ouvrage). Vous pouvez suivre son évolution à cette URL : https://html.spec.whatwg.org/multipage/microdata.html.

L’objectif de Microdata est de créer un vocabulaire dédié à l’utilisation d’un type précis de donnée, comme des personnes, des événements, les lieux, des produits… Pour définir ce vocabulaire, vous allez pouvoir utiliser un schéma. Notez dès maintenant qu’il existe de nombreux vocabulaires, de nombreux schémas déjà disponibles sur le site de référence en la matière : Schema.org (https://schema.org).

Sur la page Schemas (https://schema.org/docs/schemas.html), vous pourrez utiliser des schémas déjà créés et vous inspirer de certains schémas...

Le schéma pour les personnes

1. Définir l’utilisation de Microdata avec itemscope

Nous allons aborder un premier exemple où il est question d’une personne avec du code HTML. Voici le code utilisé dans cet exemple :

<p>Bonjour, je suis <strong>Christophe AUBRY</strong>, je suis né 
le 10 juillet 1992 à Nantes. Je travaille régulièrement avec 
<em>Jérôme HABILLAUT</em> qui est responsable éditorial.</p> 

Tout ce contenu n’est pas sémantiquement précis, en-dehors des deux éléments <strong> et <em> qui n’apportent pas réellement de précision sur leur contenu. Nous allons donc utiliser Microdata pour ajouter plus de sémantique à ce code.

La première étape consiste à ajouter l’attribut itemscope à l’élément parent, ici dans l’élément <p> :

<p itemscope>Bonjour, je suis <strong>Christophe AUBRY</strong>,
je suis né le 10 juillet 1992 à Nantes. Je travaille régulièrement 
avec <em>Jérôme HABILLAUT</em> qui est responsable éditorial.</p> 

Ainsi, tous les autres éléments inclus dans l’élément <p> hériteront du même schéma.

2. Indiquer le schéma utilisé...

Imbriquer des schémas

1. Pourquoi imbriquer des schémas ?

Il est courant d’avoir dans le même élément HTML plusieurs types de données sémantiques différentes.

Tout d’abord, ajoutons une petite phrase à la fin du paragraphe : "Nous travaillons sur le livre HTML5/CSS3 - Maîtriser les standards de la création de sites web, publié aux Éditions ENI".

<p itemscope itemtype="https://schema.org/Person">Bonjour, je suis 
<strong><span itemprop="givenName">Christophe</span> <span item
prop="familyName">AUBRY</span></strong>, je suis né le 
<time datetime="1992-07-10" itemprop="birthDate">10 juillet 1992 
</time> à Nantes. Je travaille régulièrement avec <em><span  
itemprop="givenName">Jérôme</span> <span itemprop="familyName"> 
HABILLAUT</span></em> qui est <span itemprop="hasOccupation"> 
responsable éditorial</span>. Nous travaillons sur le livre 
HTML5/CSS3 - Maîtriser les standards de la création de sites web, publié aux Éditions ENI</p> 

Avec cet ajout, il y a bien maintenant deux données sémantiques différentes : des personnes et un livre. Il faudra donc imbriquer deux schémas. Et nous pourrions, sur le même principe, ajouter un troisième schéma pour la ville, Nantes qui est nommée.

Notez bien que nativement, les schémas proposés sur le site de Schema.org sont imbriqués. Voici l’URL qui montre cette imbrication des schémas...