Micro-données…

HTML5 Logo by World Wide Web Consortium

Après une longue stagnation, HTML, le standard qui sous-tend la majorité du web a finalement recommencé à bouger, avec une version 5 qui s’impose peu à peu. Là où HTML4 a tenté – sans succès – d’imposer un système formel, avec une belle grammaire, HTML5 essaye plutôt d’ajouter les capacités qui manquent au système. Un des ajouts intéressant sont les µ-données (micro-données). L’idée étant de pouvoir ajouter des informations compréhensibles par un ordinateur à une page web.

Pourquoi est-ce utile ? La majorité des pages web sont, d’une manière ou d’une autre, lues par des algorithmes, que ce soit les moteurs de recherche ou les réseaux sociaux. Que ce soit pour inclure la page dans un indexe, ou bien pour partager un lien et afficher une vignette, il est utile pour le système de savoir de quoi parle une page web. Est-ce un article, qui est l’auteur, quel le titre, quelles sont les images ? Est-ce une critique ? Qu’est-ce qui est critiqué ? Quelle est la note de la critique ? Même si de grand progrès ont été faits en matière de traitement automatique de texte, aucun système ne peut pour l’instant extraire de manière fiable ces informations.

La solution est simple : ajouter ces informations, des méta-données, dans la page web dans une forme structurée qui puisse être analysée automatiquement. Ce n’est pas une idée nouvelle : une variété de systèmes ont été proposé à cet escient au cours des années, à commencer par le vénérable balise meta, qui fut abandonnée tant elle fut abusée par les sites web peu scrupuleux.

Le format proposé en 1999 est un système pour décrire des méta-données, mais une manière d’inclure ces informations dans une page web ne fut standardisée qu’en 2008, cet encodage est nommé , il utilise en partie des balises HTML existantes, mais introduit aussi les siennes.

Imaginons que je sois responsable d’un site web présentant des jeux de rôles, que je nommerais la Confrérie des Rôlistes Interstallaires (CRI). Voici comment je présenterais le jeu de rôles au format RDFa. Il me faut d’abord choisir un vocabulaire, i.e un suite d’attributs qui ont un sens pour le sujet dont je vais parler. Ici on parle de livre donc je choisis le vocabulaire , qui est abrégé dc.

<html xmlns="http://www.w3.org/1999/xhtml" dc="http://purl.org/dc/terms/" xmlns:biblio="http://purl.org/net/biblio#" >

<div xmlns:dc="http://purl.org/dc/elements/1.1/" about="urn:ISBN:9782847890525" typeof="biblio:book">
Titre: <span property="dc:title">Tigres Volants</span><br/>
Auteur: <span property="dc:creator">Stéphane Gallay</span><br/>
</div>
Éditeur: <span property="dc:publisher">2D Sans Faces</span><br/>
</div>

Avant de pouvoir parler, je dois donc importer les vocabulaires que j’utilise. Dans l’en-tête je définis donc que le préfixe dc correspond au vocabulaire Dublin Core, et biblio au vocabulaire sur les bibliographies (pour le type book). L’extrait de HTML rend explicite le fait qu’on parle d’un livre avec l’ISBN 9782847890525, le titre Tigres Volants et comme auteur Stéphane Gallay, publié par 2D Sans Faces. Il est possible de spécifier d’autres attributs, mais cela devient vite compliqué, car pour chaque domaine, il faut importer un nouveau vocabulaire et il en existe de nombreux, comme par exemple de Facebook.

L’idée des µ-données est de simplifier ce système en abandonnant la généricité du XML et en intégrant mieux le HTML. Comme auparavant, il faut choisir un vocabulaire, mais cette fois-ci il existe un vocabulaire généraliste qui décrit assez bien la plupart des choses : . Le même extrait ressemblerait cette fois-ci à cela :

<div itemscope itemtype="http://schema.org/Book">Titre: <span itemprop="name">Tigres Volants>/span><br/>
Auteur: <span itemprop="author">Stéphane Gallay</span><br/>
Éditeur: <span itemprop="publisher">2D Sans Faces</span><br/>
ISBN: <span itemprop="isbn">9782847890525</span><br/>
</div>

Le gros avantage de la solution µ-donnée est que le format est plus simple, le vocabulaire unifé et mieux documenté : pour savoir quels attributs sont supportés par un type, il suffit d’aller voir à l’url qui définit le type, ici le type livre.

Il existe un autre système, parallèle, appelé micro-formats (rien n’est simple), qui utilise uniquement les balise class utilisées par le CSS, ils ont l’avantage, mineur à mon sens, de ne pas introduire de nouvelle balise, ils ont l’inconvénient d’être plus complexe et d’interférer potentiellement avec la feuille de style.

Bon d’accord, mais en pratique, ça fait quoi ? Principalement, cela permet aux moteurs de recherche d’afficher les résultats de manière plus pertinente, par exemple si une page contient un évènement, d’afficher les dates, s’il s’agit d’une critique, d’afficher le score, par exemple avec des étoiles. D’une manière générale, cela permet aux engins de recherche d’afficher des informations à propos d’un sujet indépendamment d’une page web, par exemple, savoir que Tigres Volants est un jeu de rôle écrit par Stéphane Gallay.

Quelques Outils

4 thoughts on “Micro-données…”

  1. Je sens comme un message personnel dans ce billet… :)

    Cela dit, je suis convaincu depuis un moment de l’intérêt des micro-données, le problème est de trouver un moyen de les intégrer dans WordPress, parce que je ne suis pas du tout enthousiaste à l’idée de bidouiller directement dans le HTML de chaque article…

  2. Oui, je l’ai vu, depuis; je suis en train de tester sur le Tigres Volants Central.

    C’est pas mal, mais pas idéal: il n’y a par exemple pas de possibilités d’avoir des auteurs multiples.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.