Les microformats : allons plus loin

lundi 19 février 2007
Je vous présentais précédemment les microformats. Entrons maintenant un peu plus dans le détail en se penchant sur quelques exemples et en élargissant les idées au delà des microformats.

Description et intérêt de quelques microformats

rel-license
Le microformat rel-license est un format très simple pour indiquer les licenses sur les contenus dont il fait partie. On peut donc l'inclure sur une page web, un flux RSS, bref tout ce qui est descriptible en XHTML. Prenons l'exemple d'une page web. On peut indiquer qu'elle est sous licence Creative Commons en y incluant tout simplement le bout de code suivant :
<a href="http://creativecommons.org/licenses/by/2.0/" rel="license">cc by 2.0</a>
L'important dans cet extrait est ce rel="license". Il ne sert pas à organiser l'information mais à donner du sens au lien : c'est un lien représentant une licence, donc prouvant la valeur légale de la page.
L'intérêt est simple : si toutes les licenses étaient repérables par ce simple attribut, elles seraient identifiables automatiquement par les ordinateurs et les traitements effectuables pourraient être limités en fonction de la licence associé. C'est un exemple typique de la notion de simplicité voulue pour les microformats : elle s'occupe de mettre en valeur la licence du contenu dont elle fait partie, et rien d'autre.
XFN (XHTML Friends Network)
Le microformat XFN a pour but de décrire la relation humaine par des liens hypertextes. Si par exemple je propose un lien vers le site d'un ami, j'y ajouterais l'attribut rel="friend" pour préciser la relation que j'ai avec lui. Il existe différents types de relations : colleague, child, met, date, me, etc. On peut également combiner ces références : je pourrais ainsi dire "friend met" pour le site de mon ami car nous nous sommes déjà rencontrés ! L'intérêt est grand : en sémantisant les liens hypertextes, on sémantise l'information en la rapprochant de son possesseur : les ordinateurs peuvent ainsi reconnaître si un blog est plutôt personnel ou professionnel, si les images qu'il propose sont celles d'un séminaire ou d'un anniversaire, etc. Plus besoin de fiches à remplir, de profil à remplir ou de catégories à définir !
rel-nofollow
Le format rel-nofollow est un microformat simple dont la mission est d'indiquer qu'un lien ne doit pas avoir de poids supplémentaire par les robots d'analyse de pages web (comme les bots des moteurs de recherche ou les crawlers). Pour ce faire, il faut préciser l'attribut rel="no follow" dans la balise du lien. Ce format est particulièrement utile pour combattre le spam : dans les commentaires d'un blog, n'importe qui peut laisser l'adresse de son site : ainsi, le poids de ce site pourra augmenter (cf. cet article de webrankinfo pour plus d'informations sur l'impact des liens externes sur le référencement), peu importe si il est sérieux ou non. Le but de rel-nofollow est de proposer un moyen d'empêcher les robots de donner du poids au sites pointés par ces liens, et donc ainsi de ne pas les faire profiter de la page où ils laissent un lien hypertexte. C'est un peu comme un certificat de provenance : dans les articles que j'écris, je connais les liens et je peux donc les laisser suivre. Dans les commentaires, je ne sais pas ce qui va s'y trouver : le contenu n'étant pas connu, je préfère que les liens ne soient pas "soutenus" par ma page.
Il est également intéressant de constater les autres propositions de valeur pour l'attribut rel : noendorse, noweight, untrusted, unrelated, norank, etc. En effet, le tag nofollow ne veut pas dire "ne pas suivre" mais "ne donne pas d'importance à ce lien", ce qui n'est pas ce que l'on pourrait croire à première vue. En tout cas, il a rapidement été adopté, notamment grâce à l'investissement de Google dans ce microformat.
geo
Le format geo est comme on peut s'y attendre un microformat destiné à définir un emplacement géographique, grâce à des coordonnées. Ici, rien de révolutionnaire, juste un standard déjà utilisé par Flickr par exemple, mais qui pourrait l'être par Google Maps ou Google Earth. Il est assez amusant de constater qu'il existe déjà des réfléxions pour un système de coordonnées sur la Lune et sur Mars !
vote-links
VoteLinks est un des microformats que j'apprécie le plus : il s'agit ni plus ni moins d'un système de vote pour donner son avis sur des pages web. On peut ainsi marquer son accord ou son désaccord vers une discussion, désapprouver un article de blog ou montrer son indifférence sur une image. Le seul changement est l'inclusion d'un attribut rev dans la balise du lien concerné. Sa valeur peut être vote-for, vote-abstain ou vote-again. Ca ne vous fais pas penser à un système à la digg ?
hreview
Le dernier microformat dont je vais vous parler s'appelle hReview. Il s'agit tout simplement d'un microformat décrivant un avis donné par une personne sur à peu près n'mporte quoi : un restaurant, un livre, une recette de cuisine, un article, etc. On le voit, cela s'adresse donc par exemple à tous les développeurs de sites web à base de commentaires. Techniquement, il s'agit de l'un des plus "touffus", c'est à dire qu'il existe de nombreux éléments assez variés. Ce microformat est déjà très utilisé et beaucoup de services l'implémente.

Ecrire un microformat

Pour écrire un microformat, rien de plus simple : à vous de chercher le moyen de décrire et de sémantiser de l'information via un format XML. Veillez tout de même à bien lire les mailing-lists qui sont très fournies et bien remplies d'idées. Il existe également des modèles de conception, permettant de fournir les bonnes pistes à suivre pour créer un microformat.

La communauté

 Il existe de nombreux contributeurs en ce qui concerne les microformats, venant de grande société de l'Internet comme Mozilla, Technorati ou Google. Les discussions sont nombreuses pour toute personne souhaitant s'y intéresser. A noter également que le wiki est traduit en français (plus de 100 articles) et qu'elle est la seule à avoir autant traduit de l'anglais.

La finalité ?

 La finalisation utopique des microformats seraient de pouvoir décrire 100% de l'information que l'on peut trouver sur Internet, et ainsi de créer les outils nécessaires à travailler sur la sémantique du Web, et non plus sur les mots simplement. Le travail est large et les microformats ont forcément des contraintes. Néanmoins, l'axe de travail est intéressant : on pourrait le comparer à la maxime "Diviser pour régner" : en cherchant à décrire de tous petits éléments puis en les mettant bout à bout, les microformats pourront peut-être arriver à améliorer l'utilisation que nous faisons d'Internet. Un bon signe : Mozilla souhaite inclure ses microformats directement dans la version 3.0. Jetez aussi un oeil à Mozilla Operator.

Au delà, d'autres éléments du web sémantique

Le format RDF est un autre élément du web sémantique. Il s'agit en fait d'un modèle de graphe destiné à décrire les ressources Web. Attention, ce n'est pas un format XML mais il existe une implémentation en XML avec laquelle il est souvent confondu : le RDF/XML. Pour faire simple, le RDF est un ensemble de triplets :
  • Le sujet, c'est à dire la ressource à décrire (un article de blog par exemple)
  • Le prédicat, c'est à dire une propriété d'une ressource (par exemple l'auteur de l'article)
  • L'objet, qui peut représenter une donnée ou une autre ressource (par exemple Fabien)
Là où ce modèle devient très intéressant, c'est quand on sait qu'il est déjà utilisé : par exemple dans les flux RSS 1.0 ou même la technologie riche XUL. Les graphes étant des éléments très facilement manipulables par les ordinateurs, on peut donc y voir un intérêt à les utiliser. Et surtout à combiner son utilisation avec des descriptions d'interfaces : ainsi le sens peut également être mis en forme.

Facile à dire à première vue, mais impossible d'adapter l'existant pour profiter des avantages du RDF. Justement, le W3C travaille sur un mécanisme permettant d'extraire du RDF à partir de documents XHTML : ainsi, rien de plus simple pour sémantiser l'information que l'on trouve sur le net sans avoir à y modifier quoi que ce soit. Ce mécanisme s'appelle GRDDL : Gleaning Ressource Descriptions for Dialects of Language. Un brin long comme nom, mais assez complexe tout de même. Pour cela, le W3C présente quelques cas d'utilisations.

Je n'entrerais pas dans les détails de ces deux formats, mais sachez que ce sont tout de même deux éléments les plus importants dans le monde du web sémantique. Seriez-vous intéressez par un article sur l'utilisation possible du RDF dans les applications riches ?

Liens

 Voici quelques liens sur lesquels je me suis basé pour écrire ces deux articles (tous en anglais) :

Conclusion

 J'espère vous avoir présenté les microformats de manière claire via ces deux articles. Je pensais n'en faire qu'un au début mais j'ai du creuser le sujet et j'ai appris énormément de nouvelles choses en fouillant, et je voulais vous présenter des microformats plus variés car c'est aussi leur force. Si vous avez des remarques à faire, n'hésitez pas à m'en faire part. J'aimerais pour le moment conserver cet article et le ressortir dans un an, histoire de voir un peu l'évolution !

Les microformats : présentation

jeudi 15 février 2007
Voilà quelques temps que je souhaite aborder ce thème, voilà enfin un article qui y est consacré : les microformats. Sous forme de questions-réponses, creusons un peu pour découvrir ces nouveaux standards.

Les microformats, c'est quoi ?
Les microformats sont un ensemble de standards ouverts, dont le but est d'être simple et compréhensible par l'homme. Ils se basent sur des standards comme le XHTML et sont d'abord adaptés aux utilisateurs puis aux machines. Enfin, ils sont spécifiques à des problèmes simples et réduits pour en faciliter l'utilisation.
Mais quel éditeur s'occupe des microformats ?
Aucun éditeur n'est chargé des microformats ! Il s'agit juste de volontaires proposant des idées, des drafts, et qui discutent pour aboutir sur ces standards. Tout les standards sont ouverts. Parmi toutes les personnes participantes, on trouve notamment Tantek Celik qui travaille pour Technorati et Matt Cutts de Google. Mais d'autres grands noms sont associés aux microformats, comme Mozilla ou Yahoo.
D'accord, mais concrètement, c'est quoi un microformat ?
Arrêtons de tourner autour du pot : un exemple sera surement plus parlant. Voici donc hCard : un standard pour définir des identités. Mon hCard ressemblerait à ça :

<div class="vcard">
<a href="http://www.fdeshayes.net" _fcksavedurl="http://www.fdeshayes.net" class="url fn">Fabien Deshayes</a>
<div class="org">Cegedim</div>
<a href="mailto:fabien.deshayes[-at-]gmail.com" class="email"> fabien.deshayes[-at-]gmail.com</a> </div>


Et le rendu serait ainsi :

 
Ce format se base sur une syntaxe appellée XHML sémantique. Il s'agit en fait des éléments du HTML qui ont le plus de sens : on utilise donc <strong> plutôt que <b>, <p> plutôt que <br>, etc. L'intérêt est tout simplement de proposer un standard unique pour tous ceux désirant représenter une identité (professionnelle ou non), et facile à mettre en place. A ce propos, il existe un hCard creator. Le contenu est totalement séparé de la forme et, par le biais de fichiers CSS, l'ensemble des hCards seront "décorées" de la même manière sur un site.
OK, c'est un peu plus clair. Mais à qui cela s'adresse ?
Tout simplement aux développeurs web. Toute personne ayant un blog souhaite certainement décrire son identité (sans forcément y mettre tous les éléments). Il peut alors y déposer son hCard. Ou par exemple, n'importe quel site nécessitant une inscription pourrait structurer l'information des profils des utilisateurs dans une hCard pour permettre un rendu unique et adéquat. Au delà, les microformats en général propose ce que l'on pourrait appeller des bonnes pratiques de web sémantique : elles permettent (et permettront certainement à plus grande échelle dans le futur) de rajouter du sens à votre contenu, que ce soit un blog ou un service web. C'est en quelque sorte un élément d'une évolution vers une structuration plus parlante de l'information présente sur Internet.
Plus techniquement, comment est-ce mis en place ?
Les microformats se basent sur des standards largement répandus, comme le XHTML ou le XMDP. Ce dernier permet en fait de décrire les profils les données méta de balises html, c'est à dire pour expliquer à quoi servent chacun des tags et des balises utilisées dans le microformat concerné. Parfois, il peut s'agir de la description d'un unique tag, ou parfois d'un ensemble plus complexe (comme c'est le cas pour la hCard).
Dans le futur, qu'apporterons les microformats à l'utilisateur ?
Le but principal est d'offrir des outils à l'Internet pour qu'il se dirige vers ce que l'on appelle (de manière très "buzzante") le web 3.0, c'est à dire un Internet basé sur le sens que l'on peut donner à l'information, et non uniquement sur son contenu. Cela apportera donc de l'uniformité à l'utilisateur : pourquoi ne pas penser à un profil unique utilisable par toute application ? Ou tout simplement une interopérabilité bien plus importante entre tous les services web comme on le voit déjà avec les mashups de calendrier et de cartes. Internet sera alors bien plus adapté à proposer enfin une recherche plus efficace de l'information.

Pour résumer, on peut donc dire qu'un microformat est un standard visant à remplir une tâche simple, comme décrire un lieu ou donner du sens à un lien. Il est décrit par un format de type XHTML et s'applique également à de l'XHTML. Comme il y a énormément de choses à dire concernant les microformats, je vais très prochainement vous proposer un second article décrivants d'autres microformats utilisés et parler un peu plus de ce qu'il y a autour : les autres formats pour un web sémantique, la communauté, quelques liens, etc. A suivre donc !

Rechercher