Récemment dans les Microformats (édition de juillet)

July 18th, 2008 par Christophe Ducamp

‘Cette Semaine en Microformats’ est un résumé de l’activité des microformats extrait des listes de diffusion, du wiki des évenements et du plus grand web. Ce billet est une traduction en cours d’un billet de Ben Ward publié initialement le 4 juillet dernier et seul le lien original fait référence. Toute contribution francophone pour aider à localiser proprement ce site et raffiner les traductions demeurent toujours d’actualité. Les demandes spontanées d’implémentation des ufs sur les sites francophones étant de plus en plus nombreuses, j’imagine pouvoir lancer dès la rentrée scolaire une série de dîners dédiés sur le sujet ? Si vous souhaitez aider à soutenir la localisation du projet en français, n’hésitez pas à me laisser un message au +336 03 96 04 92. Bonne journée, xtof

Sur le wiki

  • Din Neville a travaillé dur cette semaine sur la mise à jour de la traduction en russe du wiki. Merci Din.
  • datetime-design-pattern contient de la documentation et des discussions sur les patterns alternatifs pour représenter les dates et heures.
  • La page parseurs est devenue obsolète. J’aimerais aider à la mettre à jour avec des liens vers les parseurs actuellement disponibles, aide bienvenue !
  • Il existe une nouvelle page html5 pour suivre les changements en HTML5 qui impacteront les microformats (tant sur le plan positif que négatif). Non pas que toutes ces problématiques n’impactent pas le parsage, et ne le feront pas jusqu’à ce HTML5 soit stabilisé.

Sur les listes de discussion

Discuss et Dev ont été très occupées avec des discussions autour du pattern abbr datetime, beaucoup de choses là-dessus et les fils de discussion ont bien débordé.
Le coeur de ces discussions devraient être documenté sur le wiki dans la page sus-mentionnée durant le courant de la semaine. Les principaux fils
sont dans la page archive de µf-dev et la page archive de µf-discuss.

Autres discussions :

Sur le web

Ailleurs

  • Le 20 juin dernier, c’était le troisième anniversaire des microformats !
  • Des Dîners Hebdomadaires se mettent en place à San Francisco

Pour contribuer sur le prochain billet, éditez svp la page wiki. Merci !

Récemment dans les Microformats

May 28th, 2008 par Christophe Ducamp

‘Cette Semaine en Microformats’ est un résumé de l’activité des microformats en provenance des listes de discussion, du wiki, des événements et du plus grand web.

Sur le wiki

  • Nous avons documenté l’usage de données machine dans les microformats (formats de date et heure, lieux géographiques, mots-clés dans certains formats). La page est une référence rapide pour tous les formats que nous spécifiions, toutes les méthodes supportées actuellement sur la manière d’embarquer de la donnée dans votre propre texte, d’une manière qui soit valide en HTML.

Sur la liste de diffusion µf-Discuss

  • Discussion sur la demande de la BBC pour aider à apprendre sur l’usage de lecteur d’écran.

Sur le web

  • AlloGarage permet de trouver un bon garage auto pour la réparation, le dépannage ou l’entretien de votre voiture. Les garages sont classés grâce aux avis d’autres internautes. Les microformats sont disponibles pour tous les profils des garages auto (format hCard+geo) et sur tous les avis publiés (format hReview).
  • La BBC demande de l’aide pour trouver la façon dont les personnes utilisent des applications de lecteur d’écran pour lire des pages web à haute voix ; critique, s’ils doivent être paramétrés pour toujours lire l’attribut title des éléments abbreviation. SVP, faites part de vos réactions, cela aidera à l’amélioration.
  • Martin McEvoy a sorti TransFormr” : Un ensemble simple de XSLT et d’outils PHP pour Transformer les Microformats. (“Lisez l’introduction de Martin sur µf-discuss”)
  • Hi5 a ajouté le support de hCard et XFN pour ses listes d’amis.
  • Mahalo a ajouté les microformats aux pages de résultats de recherche.
  • Toluu a ajouté une fonction d’importation de profil basée-sur-hCard dans son processus d’enregistrement.

Dans le vrai monde

Pour contribuer au billet suivant, éditez svp la page wiki. Merci !

C’est quoi les Monkeyformats ?

May 1st, 2008 par Christophe Ducamp

Ce ne serait pas élégant si les navigateurs intelligents pouvaient reconnaître les adresses, les dates et autres données structurées figurant sur les pages web ? Et ce même quand les données ne sont pas structurées ? (tout comme le fait l’application Mail d’Apple qui reconnaît les dates et les heures en fournissant à l’utilisateur lambda une interface pour faire des choses simples comme savoir les ajouter à son agenda)…

Et bien disons qu’avec les monkeyformats d’Albert de Klein, on fait juste là un (grand) pas en avant. Amusez-vous par exemple à extraire les hCards sur les Pages Jaunes : essayé à l’instant sur une simple requête “Aston Martin” à Paris et ça fonctionne !. Bravo et merci Albert. - xtof

P.S. Ce qui suit en-dessous est une traduction en cours publiée sous FairUse de la page monkeyformats.org, seul lien de référence.

monkeyformats

Albert de Klein : C’est quoi les Monkeyformats ?

Les Monkeyformats sont des scripts utilisateurs Greasemonkey qui ajoutent un balisage sémantique dans le navigateur Firefox aux sites web ne supportant pas encore les Microformats. Vous pouvez alors exécuter des actions sur ces Microformats avec Operator ou toute autre extension similaire.

Vidéo Monkeyformats

Pourquoi avons-nous besoin des Monkeyformats ?

L’adaptation des microformats peut utiliser un boost dans le monde car cela fait du Web un plus bel endroit. Les Monkeyformats permettent aux utilisateurs d’expérimenter les avantages des microformats sur des sites qu’ils utilisent tous les jours mais qui manquent à cette heure de balisage sémantique, et sans les contraindre à attendre que ces sites les ajoutent. Même si nous n’en sommes encore qu’aux prémisses, il existe déjà plusieurs monkeyformats disponibles qui ajoutent des microformats à quelques répertoires téléphoniques nationaux en Europe, aux services de billetteries, etc.

Exemple de Monkeyformat

hCard

Directory Pays Installation Auteur
Yellow Pages (Nouveau !) US Installer Albert de Klein
Pagine Bianchi Italie Installer Albert de Klein
British Telecom Royaume-Uni Installer Thom Shannon
Das Telefonbuch Allemagne Installer Albert de Klein
De Telefoongids Pays-Bas Installer Albert de Klein
Pages Jaunes France Installer Albert de Klein

hCalendar

Event listing Country Installation Auteur
Ticketmaster.co.uk Royaume-Uni Installer Albert de Klein
Lippupalvelu.fi Finlande Installer Albert de Klein
Billettservice.no Norvège Installer Albert de Klein
Ticnet.se Suède Installer Albert de Klein
Billetnet.dk Danemark Installer Albert de Klein
Ticketmaster.nl Pays-Bas Installer Albert de Klein

Comment puis-je utiliser ces Monkeyformats ?

Tout d’abord, vous devez installer à la fois l’extension Greasemonkey et l’extension Operator dans votre navigateur Firefox. Puis vous pouvez essayer quelques-uns des scripts utilisateurs provenant du répertoire Monkeyformat en les installant et en visitant les sites web pour lesquels ces microformats ont été écrits. Dans la plupart des cas, les signaux d’Operator devraient s’allumer dans la barre d’adresses après que vous ayez éxécuté une recherche indiquant que les microformats ont été ajoutés à la page. Puis vous pouvez par exemple envoyer ces hCards dans votre carnet d’adresses ou sur votre téléphone mobile.

Comment je crée mes propres microformats ?

Si vous voulez créer vos propres microformats, jetez un coup d’oeil aux scripts utilisateurs dans le repository. La plupart d’entre eux utilisent une combinaison de requêtes Xpath et de remplacements d’Expressions Régulières pour appliquer les microformats aux pages. Pour quelques sites c’est relativement facile d’appliquer les classes des microformats car tous les éléments sont en place et vous n’avez qu’à ajouter les classes appropriées. Dans la plupart des cas, vous devrez ajouter des éléments supplémentaires autour des adresses, des codes postaux ou des localités parce qu’ils ne sont pas entourés par des éléments à cette heure pour s’appliquer aux classes. Parfois, vous devrez même ajouter quelques éléments imbriqués pour rendre possible la structure des microformats.

Si vous créez des monkeyformats, partagez les S.V.P. avec d’autres dans le repository Userscripts.org. N’oubliez pas d’ajouter le tag monkeyformats pour faciliter la recherche.

Qu’est-ce que Greasemonkey ?

Greasemonkey est une extension pour le navigateur Firefox qui peut modifier l’apparence des sites web grâce à Javascript du côté client.

Qu’est-ce qu’Operator ?

Operator est une extension pour Firefox qui vous permet d’exécuter des actions sur les Microformats grâce à JavaScript.

C’est quoi les Microformats?

Les microformats sont un ensemble divers de spécifications qui vous permettent d’ajouter un balisage sémantique dans les pages HTML en utilisant des attributs de classes pré-définis.

Pour en savoir plus

Le concept complet des Monkeyformats est vraiment tout nouveau. Pour le moment, (et si vous savez lire le néerlandais) vous pourriez aussi jeter un oeil sur l’article que j’ai écrit pour Naar Voren, un magazine hollandais pour les travailleurs du web, dans lequel j’ai présenté le concept des Monkeyformats pour quelque information plus approfondie.

Amusez-vous avec le Web Sémantique !

Albert de Klein

Carsten Pötter : “MyBlogLog Présente les hCards”

April 27th, 2008 par Christophe Ducamp

Ce billet est la traduction d’un article publié par Carsten Pötter le 25 avril 2008. Seul le lien original fait référence. Cette traduction reste aussi ouverte aux raffinements sur un wiki-personnel. Cliquez sur ce lien pour éditer directement le code html.

Carsten Pötter : MyBlogLog Présente les hCards

MyBlogLog continue à impressionner les défenseurs des standards ouverts. Après avoir sorti les microformats comme <rel="tag"> et XFN, MicroID et FOAF, ils ont annoncé hier soir l’ajout des hCards et des vCards aux profils de leurs utilisateurs.

vCards et hCards

Les profils présentent désormais deux nouvelles icônes : une pour les vCards et une pour les hCards :

profil public de carsten sur mybloglog

En cliquant sur l’icône vCard (celle qui est la plus à gauche), la vCard peut être téléchargée sur un ordinateur et ajoutée au carnet d’adresses favori d’un utilisateur. En cliquant sur l’icône hCard, une page séparée affiche une information de profil :

hcard mybloglog

Réglages d’intimité

Les personnes disposant d’un compte MyBlogLog savent qu’elle peuvent ajouter à leurs profils de l’information à caractère privé comme un numéro de téléphone. Même si elles peuvent aussi décider que cette information soit publique, seulement par leurs contacts ou par personne. MyBlogLog a aussi ajouté ces réglages d’intimité aux informations figurant sur la hCard et la vCard. Ainsi si l’utilisateur décide que son numéro de téléphone ne doit seulement être affiché qu’à ses contacts, les autres personnes ne pourront pas accéder à cette information par la hCard ou la vCard. La même chose s’applique pour les services qui parsent les hCards.

C’est vraiment cool parce que c’est le premier service que je connaisse qui offre des réglages granulaires de l’intimité pour les hCards. Je suis certain que cette implémentation aidera aussi à réduire les craintes que l’information de contact ne devienne disponible sur le web sans le consentement des utilisateurs.

Bien joué ! :)

Mots-clés :

Mahalo ajoute les Microformats !

April 24th, 2008 par Christophe Ducamp

Logo Microformats Mahalo

Mahalo, le moteur de recherche propulsé par les humains, vient juste d’implémenter les microformats pour certains de ses résultats de recherche.

La nouvelle est tombée aujourd’hui sur le blog de Sean Percival :

Chez Mahalo, nous venons juste d’implémenter les Microformats pour les pages des résultats de recherche. Aussi, qu’est-ce que ça veut dire et qu’est-ce que c’est les Microformats ? Bon, ce sont des classes de données qui aident les machines et les personnes à identifier et exporter de l’information. La donnée comme les contacts et l’information sur les adresses est bien plus facile à gérer, les moteurs de recherche peuvent aussi mieux cataloguer l’info. Oui, un peu plus de web sémantique de demain. Dès aujourd’hui !

Pour Démarrer :

  1. Les utilisateurs de Firefox peuvent télécharger l’extension Operator pour avoir un support instantané des Microformats.
  2. Visitez la page the Hotels Munich sur Mahalo
  3. Remarquez l’extension Operator tout en haut et à gauche de l’image du dessous. Chaque hôtel présenté sur la page est désormais disponible pour une exporation rapide et facile. Vous pouvez même avoir quelques autres belles fonctionnalités comme l’accès rapide pour cartographier les sites web… Recevez la donnée dont vous avez besoin et ramenez-la en quelques clics dans votre carnet d’adresses et votre téléphone.

requête paris_hotels avec revelation Operator sur Mahalo

Evidemment, ce type de fonctionnalité ne peut s’appliquer seulement qu’à certains types d’information. Cependant, pour la donnée avec laquelle ce peut être utilisée, il y a beaucoup de potentiels. Les Microformats ont encore à trouver leur point d’inflexion comme RSS. Mais les rumeurs courent comme quoi Firefox 3 et Internet Explorer 9 vont les inclure en support natif. Maintenant, nous avons besoin de vraiment trouver quels sont les autres types de données à mapper et comment faire en sorte que ce soit même plus facile pour nos utilisateurs. Plus d’information à “suivre” bientôt.

Remerciements à Tantek qui a pris le temps de venir au siège de Mahalo et de partager les Microformats avec l’équipe.

Plus de discussion chez : Mashable, Jason et C.K.

Bravo Tantek et bravo les mecs.

Maintenant, qu’attendent tous les autres moteurs pour s’y mettre ?

Cette Semaine en Microformats - du 7 au 13 avril

April 15th, 2008 par Christophe Ducamp

‘Cette Semaine en Microformats’ est un résumé de l’activité des microformats en provenance des listes de discussion, du wiki, des événements et du plus grand web.

Sur le wiki

  • Toby Inkster a compilé un document pour transformer XFN en FOAF

Sur la µf-liste de discussion

Sur le web

  • L’excellent outil de transformation et de validation Optimus (supportant tous les microformats principaux) a été mis à jour en version 0.5.1.
  • Fuzzbot est une extension Mozilla Firefox pour exposer révéler les données microformatées et RDFa dans les pages.
  • WASP Café : Atelier Web Sémantique
    le jeudi 17 avril 2008 de 19h30 à 21:00 - IESA 5, rue Saint-Augustin - 75002 Paris (GPS : 48° 52′ 8” N, 2° 20′ 16” E)

Ce bulletin hebdomadaire a été assemblé grâce aux contributions de Toby Inkster. Pour contribuer au prochain numéro, éditez svp la page wiki. Merci !

Brian Suda - Encodage XFN, extraction et visualisations

April 13th, 2008 par Christophe Ducamp

Par Brian Suda. Traduction d’un article publié initialement le 21 février 2008 chez Dev.Opera. Seul le lien original fait référence.

Introduction

Dans cet article, j’exposerai un bel aperçu de XFN - le microformat pour décrire les relations entre personnes. Je regarderai rapidement ce que c’est et quel est le balisage requis pour ajouter de l’information sur vos sites, avant d’aller ensuite plus en profondeur, pour regarder les avantages dont vous pourrez tirer profit de cette donnée en l’extrayant et en l’utilisant de différentes façons. Extraire la donnée est plus facile que vous ne le pensez - il existe probablement une librairie déjà disponible pour votre langage ! Sinon, il existe aussi quelques services web qui pourraient faire le boulot que je vous présenterai en-dessous.

Remarquez que j’ai créé quelques exemples complexes pour accompagner les sections CSS et XSLT - vous pouvez télécharger le code ici.

Qu’est-ce que XFN ?

XFN veut dire “XHTML Friends Network” et c’est l’un des tout premiers microformats créé par le Global Multimedia Protocol Group. Il a émergé de la tendance générale à publier des liens vers d’autres sites dont vous appréciez la lecture. Sur votre blog, cela s’appelle une blogroll - il est commun de penser aux personnes à travers leurs sites web. Leur URL est une représentation de cette personne ; elle fait partie de son identité en ligne. XFN est une tentative pour codifier ces relations en utilisant du HTML standard.

XFN est très facile à utiliser - vous utilisez simplement quelques mots-clés intuitifs pour décrire les relations que vous avez avec d’autres personnes. Il existe un document XMDP qui décrit toutes les valeurs possibles XFN. Ces valeurs sont très basiques et capturent un large spectre de possibilités. J’avancerai avec vous à travers quelques exemples en-dessous. XFN est volontairement laissé vague ; il permet aux définitions de plus facilement se tordre dans le temps, et par conséquent nous obtenons une liste plus courte. Une liste plus verbeuse aurait été autrement trop longue et vous n’auriez pas pu décider exactement quelles valeurs utiliser, et elle n’aurait jamais pu être suffisamment granulée pour quiconque. Aussi XFN colle aux 80% des usages et ce rapidement et facilement, et en utilisant quelque chose de CHIC ou d’autres microformats pour coller à tous les cas particuliers.

Ces valeurs XFN sont ajoutées à l’intérieur des attributs rel (rel est un raccourci pour “relation”) des éléments a que vous utilisez pour lier ces personnes. L’attribut rel peut aussi apparaître sur l’élément link, mais du fait que les microformats se préoccupent de rendre les méta-données plus visibles, nous nous concentrerons seulement sur l’élément “a“. Un bel aspect de l’attribut rel est qu’il peut prendre un ensemble de valeurs séparées-non-ordonnées. Ceci veut dire que vous pouvez produire des déclarations XFN composées très simplement en listant plus d’une valeur, si la personne que vous liez a plus d’un type différent de relation envers vous. Ce qui suit est un tableau des valeurs possibles XFN, classées en catégories :

Amitié
(une
sélection)
Phys. Pro. Géo
(une
sélection)
Famille
(une
sélection)
Roman-
tique
Identité
contact met co-worker co-resident child muse me
acquaintance colleague neighbor parent crush
friend sibling date
spouse sweetheart

Implémentation

Ainsi prenons par exemple, Chris Mills, l’éditeur de mon article. Il a une bio d’auteur sur dev.opera.com, ainsi nous pouvons utiliser ce lien :

<a href="http://dev.opera.com/author/974138" rel=”">
Chris Mills</a>

Maintenant que j’ai ma structure basique, j’ai besoin de placer les valeurs appropriées pour mes relations avec Chris. Si je démarre simplement à gauche de la liste XFN et la parcours, je peux voir quelles valeurs je peux utiliser. La première catégorie est Amitié, qui décrit le niveau d’amitié que Chris et moi avons. Je sais comment contacter Chris, aussi contact est certainement approprié. Pour la plupart des personnes, ce pourrait être la relation maximale possible, mais je connais Chris mieux que cela, aussi je pourrais utiliser acquaintance. J’ai aussi travaillé avec Chris avant sur d’autres projets et l’ai rencontré à plusieurs occasions comme sur SxSWi et d.Construct, et nous avons pu discuter lors de plusieurs breuvages, par conséquent je pense que friend est la description qui colle le mieux. Quelques personnes réservent le terme friend aux personnes à qui elles laisseraient voir leurs enfants, quelques personnes sont amies avec quelqu’un qu’elles ont simplement rencontré durant 5 minutes ou admirent. Dans la catégorie amitié, il est possible de n’avoir qu’une seule valeur, aussi je baliserais Chris comme un friend. Le terme friend est souvent symétrique, ce qui veut dire que si je considère Chris comme un ami, il est probable qu’il me considère aussi comme un ami, mais ce n’est pas requis. Chris pourrait être encore bien plus strict sur sa définition de friend et de ne considérer seulement cette valeur que pour les quelques personnes sur la liste destinataires de sa carte de voeux. La définition de friend est ouverte à interprétation et changera avec le contexte et le temps. Du fait que la catégorie Amitié ne peut avoir qu’une seule valeur au plus, j’ai sélectionné le plus haut niveau de relation, friend.

<a href="http://dev.opera.com/author/974138" rel="friend“>
Chris Mills</a>

La prochaine catégorie est Physique. La seule option est met, et j’ai rencontré Chris à plusieurs occasions, aussi je peux ajouter cela à la valeur rel.

<a href="http://dev.opera.com/author/974138" rel="friend met“>
Chris Mills</a>

L’ordre des valeurs XFN n’est pas important ; le fait qu’elles soient séparées par des espaces veut dire que toutes ces valeurs s’appliquent. La prochaine catégorie est Professionnel. Celles-ci décrivent quelques relations professionnelles que vous pourriez avoir eues avec des personnes. Chris et moi travaillons tous deux dans le même secteur et écrivons pour dev.opera.com, par conséquent je dirais qu’il est un colleague. L’autre option est co-worker, mais nous ne travaillons pas pour la même société, aussi je n’utiliserai probablement pas ça. Ces deux valeurs professionnelles sont symétriques, aussi si je suis un “co-worker” de Chris, alors il est aussi un “co-worker” avec moi, et il en est de même pour “colleague” - si nous travaillons tous les deux dans le même secteur, alors nous devrions tous les deux nous considérer l’un et l’autre comme “colleague”.

<a href="http://dev.opera.com/author/974138"
rel="friend met colleague“>
Chris Mills</a>

Dans le reste des catégories, je ne trouve pas quelque valeur qui corresponde à Chris, aussi je n’ai pas besoin d’ajouter quelque valeur supplémentaire à mon attribut rel.

La dernière catégorie dans XFN est Identité, elle n’est utilisée que pour vos propres sites, pas pour les sites des amis. La seule valeur ‘rel‘ est ‘me‘ qui, quand elle est symétrique, permet la consolidation d’identité à travers différentes pages sur internet. Si mon site web suda.co.uk a un lien vers mon profil flickr, je peux utiliser rel="me". Puis son profil flickr, je peux utiliser rel="me" pour faire un lien arrière vers suda.co.uk. Si je peux faire ça sur toutes mes différentes pages profils sur Twitter, upcoming et autres, alors n’importe quel crawler XFN rel-me pourra commencer à construire un profil unique de moi sur le Web, tout cela sans avoir à dire à chaque site isolé ce qu’il en est de tous mes autres profils.

Outils pour créer XFN

Si cela vous semble difficile à mémoriser, pas de panique - il existe beaucoup d’outils pour vous aider. Il existe une version web du créateur XFN en différentes langues pour vous aider à démarrer rapidement. Il existe aussi des plug-ins pour Dreamweaver et Wordpress. De plus en plus de plugins sont en train d’apparaître, aussi soyez sûr de vérifier la page wiki sur XFN pour votre langage favori ou votre système de gestion de contenu.

Problématiques avec XFN

Il y a toujours eu quelques problématiques ouvertes avec XFN. Je ne m’y attarderai pas ici, mais ci-dessous je souligne quelques points communs et regarderai comment nous pouvons avoir intérêt à les connaître.

  • Par exemple, il n’existe pas de moyen de dire ex-ami de 1990-2000. XFN existe dans le maintenant. C’est plus un cas limite et ne peut pas être représenté dans XFN.
  • La définition de ‘friend’ est peut-être trop vague. C’est une zone grise - quelques-uns la considèrent trop vague, et d’autres disent de laisser le langage évoluer et la définition de “friend” changera tout autant. Personnellement je suis d’accord avec la dernière proposition - si nous nous efforçons d’améliorer la précision de la terminologie, nous pourrions sur-compliquer les choses et aboutir à 400 définitions supplémentaires de l’amitié que personne n’utiliserait de toutes façons.
  • XFN n’a pas suffisamment de relations professionnelles telles que “manager” ou “vendor”. Le truc génial à propos du HTML est que vous pourriez écrire rel="co-worker manager". Un parseur XFN trouverait encore la valeur ‘co-worker’ et d’autres parseurs spécifiques extrairaient vos valeurs personnalisées telles que ‘manager’. Les microformats sont aussi basés sur les pratiques existantes, aussi du fait que de plus en plus de personnes publient leurs relations professionnelles, celles-ci pourraient être classées dans le XFN à une date ultérieure. Rien n’est figé dans la perpétuité.

Comment extrayez-vous la donnée XFN ?

Il y a beaucoup de façons pour que vous puissiez extraire la donnée provenant du HTML, et j’étudierai dans cette section quelques-unes des plus populaires.

JavaScript

Javascript complète naturellement le HTML, ainsi c’est un langage idéal pour parser le XFN à partir du DOM. Le Javascript pourrait être chargé à l’intérieur de la page onLoad, il pourrait faire partie d’un bookmarklet, ou même être compilé dans un script greasemonkey. Voici un peu de code simple pour que vous puissiez démarrer.

// get all 'a' elements

var links=document.getElementsByTagName("a");
var xfnValues=['friend','acquaintance','contact','met','co-worker','colleague','co-resident','neighbor','child','parent','sibling','spouse','kin','muse','crush','date','sweetheart','me']

// boucle et recherche les attributs rel

for(var i=0;i<links.length;i++){
  var link = links[i];
  // regarde pour voir si le lien a un attribut rel et href
  if(link.getAttribute("href")&&link.getAttribute("rel")) {
    // reçoit la valeur rel
    var rel=link.getAttribute("rel");
    // boucle à travers les valeurs connues XFN
    for(var j=0;j< xfnValues.length;j++) {
      // cherche des correspondances
      var regex=new RegExp('\\b'+ xfnValues[j]+'\\b',"i");
      if(rel.match(regex)) {
        // fait quelque chose ici
      }
    }
  }
}

Drew McLellan a un outil génial rel-Lint, qui vous aidera à trouver les problèmes communs avec votre XFN et d’autres balisages.

CSS

En utilisant CSS, vous pouvez facilement styliser les données XFN. Il existe beaucoup de façons d’y parvenir, y compris les couleurs d’arrière-plan, ou en utilisant :after {content:"xxx" } pour ajouter un astérisque ou une image. Wolfgang Bartelme a produit quelques très belles images à cette intention qui sont une licence généreuse.

Les valeurs XFN sont ajoutées aux attributs rel des éléments a.
Ainsi, la première partie de toute déclaration CSS serait de styliser le a, à partir de là nous construirons des valeurs spécifiques XFN pour le stylisme.

a{ background-color: yellow; }

Ceci donnera un arrière-plan jaune à tous les liens, mais j’ai besoin d’être plus spécifique ici - ensuite je voudrais ne cibler que les éléments a avec un attribut rel. Ceci est possible avec le sélecteur d’attribut CSS.

a[rel] { background-color: yellow; }

Ceci n’appliquera le style qu’à tous les liens qui contiennent aussi l’attribut rel. L’étape suivante est de s’assurer que les attributs rel sélectionnés ont des valeurs XFN - nous ne voulons tout simplement pas n’importe quel attribut rel.

a[rel="friend"]{ background-color: yellow; }

Bien que cela soit correct, ça ne trouvera que des éléments a qui ont une valeur unique rel de friend. Souvenez-vous que l’attribut rel peut prendre une liste de valeurs séparées. S’il y a d’autres valeurs sur l’attribut rel, ce sélecteur ne collera pas et le style ne sera pas appliqué. Aussi, j’ai besoin d’ajouter un autre morceau d’information à ma syntaxe de sélecteur CSS.

a[rel~="friend"]{ background-color: yellow; }

En utilisant ~=" au lieu de simplement =, cela dit au navigateur d’accorder la chaîne friend dans n’importe quelle liste de valeurs séparées-par-des-espaces, comme tout simplement friend. Remarquez que ceci n’est pas supporté dans IE6, mais ce l’est dans la plupart des autres navigateurs modernes. Pour finir, il est aussi possible de chaîner ensemble ces valeurs :

a[rel~="friend"][rel~="co-worker"] { background-color: red; }

Ceci vous permet de styliser les combinaisons de personnes de valeurs XFN, je pourrais par exemple styliser les amis en jaune, mais les amis avec qui je travaille aussi auraient un arrière-plan rouge. Ceci est possible pour n’importe quelle combinaison, friend vs. friend et colleagues, muse vs. muse et met ; en utilisant CSS il est facile de cible ces relations particulières.

XSLT

XSLT est conçu pour convertir XML vers un autre format - vous pouvez très facilement extraire la donnée provenant du HTML en utilisant XSL et XPath, tant que le HTML est bien formé. (S’il ne l’est pas, vous pouvez utiliser une application comme TIDY pour le nettoyer). Pour toutes les personnes qui sont plus à l’aise avec Javascript qu’avec XPath, la plupart de la connaissance DOM se transfère, vous aurez juste besoin de vous familiariser avec la nouvelle syntaxe. Laissez-moi vous présenter un exemple. Tout d’abord, j’ai besoin de trouver tous les a n’importe où dans le DOM Tree. Pour faire ça, je démarre avec le chemin //.

//a

Ceci trouvera n’importe quel élément a à n’importe quel niveau de profondeur (//) à partir du noeud racine, dans notre cas html. C’est très proche du document.getElementByTagName('a') en JavaScript. L’étape suivante est de raffiner notre sélection à tous les éléments a qui ont un attribut rel de friend.

//a[@rel='friend']

Les crochets ([]) fonctionnent presque de la même façon qu’avec nos crochets CSS. Le @ est utilisé pour dire que c’est un attribut, ainsi @rel est l’attribut rel et il doit être égal à friend. Le problème avec cette expression XPath est le même qu’avec la problématique CSS ; il trouvera les valeurs rel qui ne contiennent seulement que la chaîne friend ; Je veux trouver friend n’importe où dans une liste séparée par des espaces.

XPath nous donne un peu plus d’outils que CSS ; nous pouvons ajouter la fonction contains() pour trouver la chaîne friend à partir de la valeur d’attribut générale rel. contains() prend deux paramètres - la chaîne complète suivie par la sous-chaîne que vous recherchez.

//a[contains(@rel,'friend')]

Ceci trouvera n’importe quel élément a qui a un attribut rel qui contient la sous-chaîne friend. Le problème est que cela trouvera aussi la chaîne friendship parce que friend est contenu dedans. Pour résoudre cela, je peux garnir les deux côtés de l’attribut rel avec des espaces et chercher le terme aussi garni d’espaces. Cela paraît compliqué, mais ce ne l’est pas. Il y a deux fonctions supplémentaires à noter dans cet exemple - normalize-space() qui retire l’espace-blanc non voulu (équivalent à trim() dans d’autres langages de programmation) et concat(), qui fusionne simplement les chaînes ensemble. Dans cet exemple nous concaténons un espace blanc avant et après les attributs normalisés rel.

//a[contains(concat(' ', normalize-space(@rel), ' '),' friend ')]

En utilisant XPath, vous pouvez maintenant trouver les éléments qui correspondent à vos requêtes. Il est désormais possible d’extraire cette donnée et de la styliser, de la transformer et de la sauvegarder pour un accès ultérieur.

Expressions Régulières

Vous pouvez aussi utiliser des Expressions Régulières pour extraire la donnée. Ceci est plus compliqué, mais quelques personnes sont plus à l’aise avec les Regexes qu’avec XSLT. Je ne suis pas un expert des Expressions Régulières - il y a probablement un meilleur moyen, plus optimisé de produire ça - mais cela fonctionne pour moi !

/<a(.*|\W*)(rel\s*=\s*\"([^\"]*)\")(.*|\W*)>(.*|\W*)<\/a>/i

Ceci trouvera tous les éléments a et tentera d’extraire les valeurs rel à l’intérieur d’un array que vous pourrez ensuite parser pour regrouper n’importe quelles valeurs ; vous pouvez ensuite faire tout ce que vous voulez avec la donnée.

L’expression régulière est non-sensible-à-la-casse ; nous avons spécifié qu’avec le /i sur la fin. Cela commence par le groupement d’une chaîne de <a - c’est la façon dont chaque lien ancre est écrit. Puis, cela cherche (.*|\W*). Le point (. regroupe n’importe quel caractère et le \W regroupe n’importe quel mot. Nous cherchons pour l’un d’entre eux zéro ou plus de fois. Ceci engloutira tout autre texte comme href="..." ou d’autres attributs qui ne sont pas les valeurs rel que nous recherchons. Nous avons besoin de faire ça de nouveau après la valeur rel pour engloutir aussi tout autre texte derrière. Le href ou les autres attributs peuvent être dans n’importe quel ordre, aussi nous avons besoin de gérer ces scénarios. La partie vraiment importante est (rel\s*=\s*\"([^\"]*)\"). Ceci regroupe la chaîne rel suivie par zéro ou plus de caractères espace blanc, puis un = suivi par plus d’espaces blancs optionnels. Le \" est la valeur d’échappement pour un caractère à double guillemets. C’est le début de notre liste séparée par des espaces de valeurs rel. Le ([^\"]*) dit à mon expression régulière pour saisir zéro ou plus de caractères qui ne sont pas (^) un double guillemet.

Une fois que vous faites tourner cette expression régulière, toutes les données dans la parenthèse sont rassemblées dans des valeurs array. La valeur véritable de l’attribut rel serait dans un item array [3] parce que c’est le troisième ensemble de parenthèses dans cette chaîne. Ceci est vraiment compliqué pour quelque chose qui semble vraiment simple dans d’autres langages, mais selon votre situation, votre niveau de confort et de langage de programmation, les expressions régulières pourraient être pour vous le meilleur choix.

Si aucun de ces morceaux de code ne sont votre tasse de thé, il pourrait y en avoir un disponible dans votre langage favori. La page XFN sur le wiki a une liste croissante d’applications et de librairies déjà écrites, ainsi c’est un endroit excellent pour démarrer votre prochain projet XFN.

Que pouvons-nous faire avec ces données ?

Ainsi tout cela est bien, mais certains d’entre vous doivent être en train de penser “Quelles sont les choses intéressantes que je puisse produire avec cette donnée, maintenant que je l’ai extraite ?” Une fois que vous avez extrait toute cette donnée du HTML, il est très facile de la stocker dans une base de données ou un fichier texte pour la retrouver ultérieurement. Vous êtes basiquement en train de stocker trois pièces de données - deux URLs (une URL#1 qui a une relation XFN avec la seconde URL) et une de type relation (la valeur de l’attribut rel.) Une fois que vous avez votre base de données, vous pouvez vous poser des questions comme “Montre moi toutes les URLs qui ont une relation de ‘contact ou colleague’ avec ’suda.co.uk’”

Dans cette section, j’étudierai quelques cas et sites qui vous permettent de faire un peu de ça dès aujourd’hui.

Six Degrés de Séparation

Le fameux phénomène du Petit Monde de Stanley Milgram a démontré qu’il existe une moyenne de 6 étapes entre deux personnes. Ceci est produit à travers un réseau complexe d’envois de lettres, et puis plus tard à nouveau via e-mail. En utilisant XFN, il est possible de cartographier les distances entre deux personnes via leurs relations. Le site RubHub trace les relations XFN et liste ceux qui se lient à vous et comment, avec ceux qui vous lient et comment. Les résultats pour mon site personnel, suda.co.uk, peuvent être vus dans la Figure 1. Mon ami Harry Halpin de mes années d’Université est lié à moi et dans mon exemple au-dessus, je lie vers Chris Mills. Ainsi un spider automatisé pourrait commencer par construire un réseau de qui est connecté à qui et à travers qui. Nous pouvons épancher cela à travers les contacts d’Harry et de Chris, et nous pouvons demander qui connaît qui et dans combien de sauts, ou s’il existe d’autres connexions mutuelles entre les deux parties. Avant, sans XFN, vous ne pouviez que deviner si un lien définissait une relation ou si c’était juste un lien. Maintenant que nous avons “typé” les liens, il est possible d’extraire plus de sens à partir d’eux.

A ma connaissance, il n’existe pas d’outil qui puisse répondre à des questions comme “à quelle distance est Jeffrey Zeldman de Brian Suda”. Le service RubHub vous permet de cliquer à travers chaque site de personne et de suivre leurs liens à l’infini, tout comme vous pouvez le faire avec IMDB pour voir quels acteurs ont travaillé avec d’autres. Ce type de donnée est juste en train de demander de construire un joli front-end visuel, ainsi vous pouvez poser des questions comme “Trouve le chemin entre suda.co.uk et zeldman.com”. Désormais, si seulement Kevin Bacon avait un site web avec XFN…

les résultats Rubhub pour suda.co.uk

Figure 1 : suda.co.uk résultats RubHub XFN

Comme vous pouvez le voir, le spider Rubhub a trouvé 6 liens externes qui pointent vers suda.co.uk avec différents types de valeurs XFN. Rubhub participe aussi à la consolidation d’identité à travers l’usage de liens rel-me - il sait qu’il existe trois autres pages que j’ai déclarées comme étant à moi. Ceci veut dire que tout lien XFN vers n’importe lesquelles de ces trois pages devrait être compté comme un lien vers suda.co.uk.

Graphe XFN

XFN Graph est une application similaire à celle de Many Eyes d’IBM, que je mentionnais dans un article précédent. Vous ensemencez cette application avec une URL et une profondeur. Elle crawlera ensuite l’URL et les liens vers la profondeur spécifiée pour une recherche de données XFN. Ceci vous permet de construire un graphe connecté entre les personnes. A partir de là, vous pouvez facilement inspecter les noeuds et fils pour trouver un chemin entre n’importe quelle paire de personnes.

graphe XFN Twitter

Figure 2 : Graphe XFN des amis de Brian Suda à partir de Twitter.

L’exemple dans la Figure 2 ne va qu’à un niveau de profondeur de 1, mais il est possible de continuer à crawler chacun de ces noeuds et de trouver leurs amis. Avec un niveau de profondeur de 2, il devient possible de chercher les amis d’amis, avec un niveau de 3 vous obtenez les amis d’amis d’amis et ainsi de suite.

Combiner ces données avec de l’information supplémentaire permet des mashups intéressants, vous pourriez par exemple combiner votre dossier d’e-mails envoyés avec votre liste d’amis XFN pour grouper vos amis selon la fréquence à laquelle vous les e-mailez. Vous pourriez aussi utiliser le @nomutilisateur de twitter pour voir quelles sont les personnes qui parlent à qui le plus souvent.

Nuages de tags

Le backnetwork est une brique logicielle pour les conférences et autres rassemblements. Il vous permet de vous ajouter vous-même avec quelques informations personnelles, puis vous pouvez construire calmement vos relations avec les autres participants. Il dispose de beaucoup de fonctionnalités intéressantes, mais celle sur laquelle je me concentrerai est le nuage de tags des relations.

Au fur et à mesure que vous vous connectez à d’autres participants présents, vous les étiquetez avec des valeurs XFN dans le système. Le nuage de relations tague ces valeurs XFN et leur assigne des poids. Un ami est plus grand qu’une connaissance, qui à son tour est plus grande qu’un contact. Si la relation est réciproque, alors la taille est augmentée encore plus. Ceci nous ramène à l’exemple de moi-même et Chris. Je le considère comme un ami, mais ce pourrait être réciproque. Dans cette instance, la taille du nom ne serait pas aussi grande que s’il avait été là. En utilisant ce jumelage rigolo, nous pouvons aussi commencer à évaluer les poids des liens, pas simplement le type.

Le nuage de relation de Brian sur le backnetwork de dconstruct 07

Figure 3 : nuage de relations du backnetwork d.Construct

La Figure 3 montre mon Nuage de Tags de d.Construct 07 - vous pouvez facilement voir à qui je suis connecté et avec quelle force. Les visualisations de type nuage sont populaires pour les tags et les mots, mais elles peuvent être aussi utilisées pour les personnes et la force des connexions. Ceci vous pemet de voir en un coup d’oeil à qui vous êtes le plus connecté. La plupart du temps, les personnes ne sont pas intéressées à la MANIERE exacte dont vous pouvez connaître quelqu’un, mais plutôt à la façon dont la connexion est grande et solide. Si vous voulez être présenté à quelqu’un en particulier, alors vous pouvez voir qui de vos amis a la connexion la plus solide vers cette personne. C’est la route avec le plus de succès.

Construire votre propre spider XFN

Construire votre propre spider n’est probablement pas la chose à conseiller. Ecrire le code, voyager le web, indexer les sites à la recherche de liens … tant que vous y êtes, pourquoi ne pas écrire un moteur de rcherche complet ? Heureusement, vous avez quelques options. Pour ceux qui doivent simplement faire tourner leurs propres applications, vous pourriez louer la donnée et le temps serveur provenant d’Alexa et crawler la donnée pour vous-même, ou vous pourriez utiliser la nouvelle API Google Social Graph.
Ceci vous permet de saisir une ou plusieurs URLs ; elle cherchera alors dans sa propre base de donées Internet les liens et rétroliens à partir de ces URLs qui disposent de liens XFN ou FOAF. J’ai saisi suda.co.uk, mon site personnel et claimid.com/briansuda, un autre site que j’utilise pour OpenID. Les résultats de cette trouvaille sont étonnants - regardez la Figure 4.

Les URLs de Brian connectées dans l'API Google Social

Figure 4 : Photo écran de mes URLs connectées dans l’API Google Open Social

Le service trouve 25 URLs qu’il connaît comme étant aussi à moi, et 4 de plus pour lequel il pense que c’est à moi. Ce service vous permet de consolider votre identité à travers la totalité de l’internet. Il personnifie ce pourquoi l’internet a été conçu, des sites vaguement joints, sans le besoin d’un serveur central où vous saisissez toute votre information. Vous pouvez vivre votre vie aux bords de ce graphe sur des sites web faisant chacun des tâches pour lesquels ils ont été conçus. Puis les services peuvent ensuite rassembler toutes ces données pour produire un profil unique vous concernant.

Non seulement, cela ne fonctionne pas uniquement pour des données vous concernant, mais aussi pour des données sur la manière dont vous êtes en rapport avec vos amis. La fonctionnalité trouvée dans le lien au-dessus permet à n’importe quel nouveau site de réseau social de vous demander une URL quand vous le rejoignez. Il peut ensuite utiliser l’API Google pour recevoir une liste des URLs d’amis que vous avez déclarés ailleurs sur l’internet. Ce nouveau site de réseau social ne vous oblige plus à passer des heures à écrire du code pour accéder aux APIs de différents sites ou de les scraper pour des données ; vous pouvez maintenant demander un service unique qui ait précédemment indexé les sites et relations. Google renvoie les données, en suggérant les URLs potentielles qui correspondent aux membres existants de ce nouveau réseau social et en vous demandant de migrer vos relations avec juste un clic.

Résumé

Comme nous l’avons vu, XFN est un moyen rapide et simple d’exprimer quelques relations basiques entre vous-même et d’autres à travers l’utilisation de pratiques HTML existantes. En balisant explicitement les données, vous donnez plus de sens à votre balisage, qui peut être alors utilisé pour générer de nouvelles visualisations et aussi utilisé pour créer un réseau de connexions pouvant être facilement migré de place en place. Aussi qu’attendez-vous ?

Ressources

Mots-clés : , , , ,

Note : Traduction en cours d’un article de Brian Suda paru chez DevOpera le 21 février dernier. Seul le lien original fait référence. Vous pouvez aider à raffiner cette traduction publiée sous “fair use” en éditant la page-miroir posée sur mon wiki. Merci - xtof.

Cette Semaine en Microformats - du 31 mars au 6 avril

April 9th, 2008 par Christophe Ducamp

‘Cette semaine en Microformats’ est un résumé de l’activité des microformats provenant des listes de diffusion, du wiki, des évènements et du plus grand web.

Sur la liste de discussion µf

  • Beaucoup de discussions cette semaine sur la standardisation de la représentation de hCard en JSON. Actuellement, les parseurs ont tendance à produire des objets sensés mais subtilement différents, ceci est un premier effort pour rendre tout cela interopérable. Il existe une page wiki et des discussions : Standardized Representation of Microformats in JSON et jCard draft.

Sur le web

Evénements dans la Vraie Vie

Ce bulletin de la semaine a été assemblé grâce aux contributions de Frances Berriman, Toby Inkster, Tantek Çelik, Gerald Bauer, David Janes et Brian Suda. Pour contribuer au prochain, éditez svp la page wiki. Merci !

Les Microformats au WASP café

April 6th, 2008 par Christophe Ducamp

A vos agendas !

WASP Café : Atelier Web Sémantique

Ce sera le jeudi 17 avril 2008 de 19h30 à 21:00

Où ?

IESA 5, rue Saint-Augustin - 75002 Paris (GPS : 48° 52′ 8” N, 2° 20′ 16” E)

L’atelier sera animé par David Larlet et Frédéric de Villamil.

Ils nous feront découvrir ce que peuvent apporter ces outils (, , etc) et nous feront pénétrer dans l’univers du web sémantique.

Inscrivez-vous pour participer !

Microformats : Combler les Lacunes du HTML

April 6th, 2008 par Christophe Ducamp

Traduction en cours d’un article paru dans SitePoint - Seul le lien original fait référence

Microformats - Combler les Lacunes du HTML

Dans cette référence, les sujets portent sur les standards (ou pour utiliser les termes du W3C, les “recommandations”) qui s’appliquent aux éléments et attributs du HTML/XHTML. Si vous les avez tous lus (dans ce cas, vous méritez une étoile d’or), il pourrait vous arriver de temps à autre de vous dire, “bon c’est bien fichu, mais comment puis-je baliser une adresse, comme celle où j’habite ?”. Ou peut-être que vous vous êtes posé la question “Comment devrai-je baliser quelque chose comme la date d’un évènement ?”. Si vous avez réfléchi à cela, alors vous avez déjà fait progresser mon scénario d’application des microformats. Mais qu’est-ce que les microformats et pourquoi devriez-vous vous y intéresser ?

Dans les saveurs actuelles du HTML et du XHTML, il existe un bon nombre d’éléments qui, dans l’environnement actuel, apparaissent comme étant complètement hors de propos. Par exemple, quand vous vous retrouvez à utiliser les éléments xmp ou tt. Je ne l’ai jamais fait. Également s’agissant des éléments semblant superflus et ayant été forgés par quelques scientifiques pour qui leur utilisation était limité en pratique, il semble vraiment qu’il y ait quelques omissions dans les spécifications (et par specs, je veux dire bien sûr “recommandations” - néanmoins la plupart des personnes normales font référence à elles en tant que specs !). L’exemple de l’adresse que j’ai éludé au-dessus est l’une de ces omissions.

Maintenant, pour ceux qui prêtent encore attention - et pour ceux qui ont dévoré les contenus de cette référence du début à la fin - on peut tout de même progresser à ce stade : “Ah, mais il existe un élément pour les adresses. Il s’appelle ‘address‘.” Mais hélas, vous faites fausse route. Un rapide retour à la référence pour address révélera que cet élément n’est pas utilisé pour baliser un endroit physique, mais qu’il est en fait réservé pour identifier la personne à contacter concernant une page Web et que par conséquent, il peut inclure une adresse e-mail ou un numéro de téléphone ou quelque chose de cet acabit. Si l’élément address est utilisé pour baliser un endroit (numéro, rue, localité, etc), il est en fait mal utilisé. Mais alors que devriez-vous faire ?

Entrez dans les Microformats.

L’idée derrière les Microformats est de combler ces lacunes existantes dans les standards actuels, tout en utilisant - et ceci est assez difficile - uniquement du HTML/XHTML standard et valide. Comment cela peut-il être possible ? En ajoutant à ces éléments standards un ensemble défini de valeurs d’attribut qui sont basées sur un standard pré-existant. Ainsi, si vous voulez par exemple baliser les informations de contact de quelqu’un, vous pouvez utiliser hCard, le microformat conçu à cette effet, qui est fondé sur le format plus ancien et standardisé de la vcard (l’usage de hCard sera entièrement décrit d’ici peu). Les différentes parties des informations de contact - nom de famille, prénom, localité, rue, etc. - sont toutes identifiées par un attribut de classe qui peut être appliqué à n’importe quel élément HTML ; vous pouvez aussi faire usage de ces noms de classe pour modifier le style.

Ce n’est pas dévoiler un secret très bien conservé que d’avancer que le mécanisme du Consortium du World Wide Web Consortium (W3C) peut vraiment s’enrayer, ce qui est très frustrant pour des développeurs Web, programmeurs et designers du monde entier. Néanmoins, avec les microformats c’est une autre histoire. Bien entendu, les ’standards’ pour les Microformats sont également révisés et validés par les pairs, mais cela se produit bien plus rapidement. Dans l’intervalle de temps durant lequel CSS3 a été discuté et mis à disposition par le W3C, pour ne garder à cette heure qu’une recommandation dans les travaux, la totalité du concept des microformats était né, et plusieurs standards définis, avec bien plus de microformats en discussion et approchant de leur version finale.

Pour le dire vite, si un mécanisme pour marquer le HTML pour un objectif spécifique doit être accepté (et, on l’espère, utilisé) comme un microformat, il a besoin de satisfaire tous ces points :

  • Le Microformat doit résoudre un problème (et non pas créer quelque schéma fantaisiste pour baliser quelque chose qui existe déjà ou ne le garantit vraiment pas).
  • Il devrait démarrer aussi simplement que possible.
  • Il devrait être conçu d’abord pour les humains, ensuite pour les machines.
  • Il devrait réutiliser des standards existants et largement adoptés (par ex. IETF).
  • Pour finir, il devrait encourager des développements/services décentralisés (par exemple les services d’agrégation).

Pour vous donner une idée sur la manière dont les microformats peuvent offrir un avantage à l’utilisateur, prenons un exemple du vrai monde chez Google.

Google Maps et hCard

Quand Google a ajouté du contenu microformaté à ses résultats de recherche, ç’aurait été tout sauf invisible pour la plupart des utilisateurs réguliers que quelque chose de nouveau ait été ajouté. Cela a probablement pris très peu de temps à leurs développeurs d’ajouter les attributs de classe supplémentaires aux résultats de recherche, aussi cela n’aura pas été un effort inutile. Mais pour bon nombre de personnes - moi y compris - ajouter le microformat hCard a offert une excellente nouvelle fonctionnalité. Pour que cette fonctionnalité opère, cela requiert l’ajout d’une barre d’outils dans le navigateur qui peut alors détecter la présence de microformats sur une page. Personnellement j’ai essayé l’extension Tails (pour Firefox) et aussi l’extension Operator (aussi pour Firefox). En supposant que vous ayez ajouté ces barres d’outils, voici ce à quoi vous pouvez vous attendre au moment d’utiliser Google Maps pour chercher des restaurants locaux avec l’extension Operator :

  • Recherche Google Maps pour une Maison du Curry dans votre quartier
  • Les résultats apparaissent sur la carte avec des pointeurs que vous pouvez cliquer et aussi une liste en bas sur le côté gauche. (Normalement c’est là où votre interaction s’arrête et vous pouvez produire une note des détails du restaurant avant de téléphoner pour réserver une table.)
  • Operator vous notifie de la présence de Microformats en affichant l’une des icônes de la barre d’outils (qui était précédemment grisée)
  • Le fait de cliquer sur l’icône mise en valeur révèle la liste des Maisons du Curry trouvées, et vous pouvez ensuite exporter chacune d’elles individuellement - ou toutes en une fois - vers le carnet d’adresses de votre ordinateur.
  • Si votre téléphone mobile est couplé à votre ordinateur via Bluetooth – quelque chose que beaucoup de gens font pour synchroniser leurs contacts et agendas - vous pouvez alors mettre rapidement tous ces contacts sur votre téléphone mobile.

Il y a peu de temps, j’ai fait tout ce qui est décrit au-dessus à des fins de démonstration (une démonstration en ligne est disponible sur http://www.youtube.com/watch?v=Kjp4BaJOd0M), et il était possible de chercher les établissements et d’obtenir tous leurs numéros de téléphone et adresses sur mon téléphone en moins de 60 secondes. Je ne serai plus jamais à court de Maison du Curry si je devais me retrouver dans un cas de besoin urgent de Poulet Tikka Masal sans accès à un annuaire téléphonique ou à l’Internet, je peux d’ailleurs remercier les microformats d’avoir rendu cela possible.

Un autre outil qui vaut la peine d’être mentionné à ce stade est Optimus (http://microformatique.com/optimus/) qui n’est pas une extension navigateur mais un service basé sur le Web. Il fournit un mécanisme pour transformer le contenu sur une page qui a été balisé sous un Microformat vers un autre format, actuellement XML ou JSON. Ce serait un job supplémentaire d’ajouter un lien vers votre site Web dans une section qui est utilisé sur tout le site (par exemple un fichier inclus dans l’en-tête ou le pied de page) et de ce fait fournir des formats alternatifs pour tous vos contenus microformatés. Comme le dit la ligne savoureuse du site Web : “Maintenant votre site Web pourrait vraiment être votre API avec la beauté des microformats et la puissance d’Optimus.”

Microformats – Constamment en évolution

Du fait de la nature d’émergence rapide des Microformats (rapidité relative comparée au W3C, au moins !), il n’est pas possible de décrire tous les microformats disponibles. Le temps que ceci s’imprime, la liste aura probablement évoluée. Néanmoins cela vaut la peine de jeter un oeil sur quelques microformats spécifiques et sans surprise il s’avère que ce sont ceux qui existent depuis le plus longtemps du fait qu’ils aient été les premiers à être définis et qu’ils ont été les plus utiles pour l’implémentation. Pour une liste complète des microformats, allez sur le http://microformats.org/wiki. Si vous souhaitez vous impliquer dans la discussion et aider à former de nouveaux microformats, vous pouvez rejoindre la liste de discussion sur http://microformateurs.org/discussion/.

Les Microformats décrits par cette référence sont :

Pour démarrer, nous jetterons un oeil à la hCard – l’un des meilleurs exemples de Microformats paru du fait de son potentiel d’usages.

Dans cette partie :

  • hCalendar
    fournit un mécanisme pour baliser les évènements (date, heure, lieu, etc.)
  • hCard
    fournit un mécanisme pour baliser les informations de contact
  • hreview
    standardise une méthode pour les revues critiques de produit, service
  • XFN
    identifie la relation sociale des liens entre les pages Web
  • rel- Microformats
    fournit une relation supplémentaire concernant la destination du lien