# Microformat

Un microformat (parfois abrégé sous μF ou uF) est une approche de formatage de données dans des pages web, qui cherche à rationaliser et standardiser le contenu existant, comme les métadonnées, en utilisant des classes et attributs de balises XHTML et HTML. Cette approche est conçue pour permettre à l'information destinée aux utilisateurs finaux, telle que le carnet d'adresses, les coordonnées géographiques, les numéros de téléphone, les événements et autres données ayant une structure constante, d'être traitée automatiquement par les logiciels.
Même si le contenu des pages web était déjà capable techniquement d'être « traité automatiquement » depuis la conception du web, il existait certaines limites. Les balises traditionnelles de marquage étaient en effet utilisées pour afficher l'information sur le Web et non pas pour décrire ce que voulait dire l'information. Les microformats sont destinés à combler ce fossé en attachant de la sémantique par la standardisation de la codification des balises HTML et XHTML, ce qui permet d'éviter d'autres méthodes plus compliquées de traitement automatisé, comme le traitement du langage naturel ou le screen scraping. L'utilisation, l'adoption et le traitement des microformats permet aux éléments de données d'être indexés, cherchés, sauvegardés ou référencés de manière que l'information puisse être réutilisée ou combinée.
Les microformats actuels permettent l'encodage et l'extraction d'événements, d'information de contact, de relations sociales et ainsi de suite. Bon nombre d'autres formats sont en cours de développement.

## Historique

Les microformats ont émergé d'un mouvement pour rendre les éléments de données reconnaissables (comme les événements, les détails de contacts ou les endroits géographiques), aptes à pouvoir être traités automatiquement par le logiciel, tout en étant directement lisibles par les utilisateurs finaux$^,$. Les microformats basés sur le lien ont été les premiers à émerger. Ceux-ci incluaient les liens de vote qui expriment des opinions sur la page liée, qui peut être comptabilisé en sondages instantanés par les moteurs de recherche.
Au fur et à mesure de la croissance de la communauté des microformats, CommerceNet (en), une organisation à but non lucratif qui promeut le commerce électronique sur internet, a aidé de différentes manières à sponsoriser et à promouvoir la technologie et le support de la communauté des microformats. CommerceNet a aussi aidé à cofonder le site de la communauté des microformats microformats.org.
Ni CommerceNet ni Microformats.org ne sont un corps de standards. La communauté des microformats est un wiki ouvert, une liste de diffusion et un canal de discussion sur IRC. La plupart des microformats existants ont été créés sur le wiki Microformats.org et sur la liste de discussion associée, à travers un processus consistant à rassembler des exemples de comportements de publication web, puis à les codifier. D'autres microformats (comme rel=nofollow et unAPI) ont été proposés ou développés ailleurs.
En 2007, des annonces ont laissé penser que la version 3 du navigateur Firefox tout comme la version 8 d'Internet Explorer supporteraient nativement les microformats.

## Aperçu technique

Les standards XHTML et HTML permettent à la sémantique d'être embarquée et encodée dans les attributs de balises de marquage. Les microformats tirent profit de ces standards en indiquant la présence de métadonnées à travers l'utilisation des attributs suivants :
* class
* rel
* rev (dans un cas, sinon déprécié dans les microformats)
Par exemple, dans le texte « Les oiseaux se sont perchés à 52.48,-1.89 », c'est une paire de nombres qui peut être comprise grâce à son contexte comme un système de coordonnées géographiques. En les entourant de balises span ou div (ou d'autres éléments HTML) avec des noms de classes spécifiques (dans ce cas geo, latitude et longitude, faisant tous partie de la spécification du microformat geo) :
on peut dire exactement aux machines ce que représente chaque valeur, et elles peuvent ensuite les indexer, les chercher sur une carte, les exporter sur un terminal GPS, etc.

### Exemple

Considérez l'information de contact :
Avec le marquage microformat hCard, ceci devient :
Ici le nom formaté (fn), l'organisation (org), le numéro de téléphone (tel) et l'adresse web (url) ont été identifiés en utilisant des noms de classes spécifiques ; et l'ensemble est emballé dans une class="vcard", ce qui indique que les autres classes forment une hCard (raccourci de "HTML vCard)"), et ce ne sont pas simplement des noms de classe définis par coïncidence. D'autres classes (optionnelles) de hCard existent aussi.
Il est désormais possible pour le logiciel, par exemple pour les plugins de navigateurs, d'extraire l'information et de la transférer vers d'autres applications, comme un carnet d'adresses.

## Microformats spécifiques

Plusieurs microformats ont été développés pour permettre le marquage sémantique de différentes formes d'informations :
* hAtom - pour marquer des fils web Atom (standard) provenant du HTML standard ;
* hCalendar - pour les événements ;
* hCard - pour l'information de contact ; comprend :
** adr - pour les adresses postales,
** geo - pour les coordonnées géographiques (latitude, longitude) ;
* hListing - pour les petites annonces ;
* hNews - pour les actualités ;
* hProduct - pour les produits ;
* hReview - pour les critiques ;
* hResume - pour les curriculum vitae ("resume" en anglais) ;
* rel-directory - pour la création et l'inclusion de répertoire distribué ;
* rel-nofollow, une tentative pour décourager du spam provenant de tiers (par ex. le spam sur les blogs) ;
* rel-tag (métadonnée) - pour le tag décentralisé (Folksonomie) ;
* xFolk - pour les liens tagués ;
* XHTML Friends Network (XFN) - pour les relations sociales ;
* XOXO - pour les listes et les plans.

### Microformats proposés

Parmi les nombreux microformats proposés, les suivants sont actuellement en développement actif :
* citation - pour la citation de références ;
* currency - pour les quantités en devises ;
* extensions geo - pour les endroits comme Mars, la Lune et d'autres corps équivalents ; pour l'altitude et pour les ensembles de marquage de parcours, de routes ou frontières ;
* species - pour les noms d'espèces vivantes.

## Usages des microformats

Utiliser les microformats dans le code HTML fournit des données de mise en forme et sémantiques supplémentaires qui peuvent être utilisées par les applications. Celles-ci peuvent être des applications qui rassemblent des ressources de données à propos de ressources en ligne, comme les crawlers web, ou des applications de bureau comme les clients-email ou les logiciels de gestion d'agenda.
Plusieurs extensions de navigateurs, comme « Tails Export » ou « Operator » pour Firefox, permettent à l'utilisateur de détecter les microformats dans un document HTML et de les exporter dans un format compatible avec des gestionnaires de contacts et des utilitaires de calendriers, tels que Microsoft Outlook.
Microsoft et d'autres sociétés de logiciels ont exprimé le désir d'incorporer les microformats dans des projets à venir.
Sur Wikipédia - et plus généralement avec MediaWiki - les microformats sont utilisés en tant qu'éléments de modèles comme {{coord}} sur la Wikipédia anglo-saxonne.

## Évaluation des microformats

Bon nombre de commentateurs ont apporté des critiques et discussions sur les principes de design et sur les aspects pratiques des microformats. En outre, les microformats ont été comparés à d'autres approches qui visent le même objectif. De temps en temps, il y a une critique d'un microformat unique ou de l'ensemble. Les efforts documentés tant pour répandre et faire utiliser les microformats sont tout aussi bien connus$^,$. Ceci comprend les ressources de la communauté pour le marketing des microformats, comme les boutons, bannières, fonds d'écrans, logos, etc.

### Principes de design

Rohit Khare a déclaré que réduire, réutiliser et recycler est un « raccourci pour plusieurs principes de design » ayant motivé le développement et les pratiques derrière les microformats. Ces aspects peuvent être résumés comme suit :
* réduire : encourager les solutions les plus simples et drainer l'attention sur les problèmes spécifiques ;
* réutiliser : travailler en partant de l'expérience et encourager les exemples de la pratique actuelle ;
* recycler : encourager la modularité et la capacité à embarquer, le XHTML valide peut être réutilisé dans les billets de blog, les fils RSS et tout ce à quoi vous pouvez accéder sur le Web.

### Approches alternatives

Les microformats ne sont pas l'unique solution pour disposer de données « plus intelligentes » sur le Web. Des approches alternatives ont été aussi imaginées et développées. Citons par exemple, les microdonnées HTML5, l'utilisation du marquage XML et les standards du web sémantique. Ces derniers, au contraire des microformats, ne coïncident pas nécessairement avec les principes de conception « réduire, réutiliser et recycler », au moins dans la même généralité.