hCalendar

Un article de Wikipédia, l'encyclopédie libre.

hCalendar (raccourci de HTML iCalendar) est un standard Microformat destiné à afficher une représentation sémantique XHTML du format iCalendar concernant l'information à propos d'un événement sur les pages web.

Il permet aux outils d'analyse (par exemple d'autres sites web, ou l'extension Operator de Firefox) d'extraire les détails de l'événement, et de les afficher en utilisant un autre site web, de les indexer ou de les chercher, ou de les charger à l'intérieur d'un programme de gestion d'agenda ou de publication de journal.

Les utilisateurs peuvent ainsi facilement copier ou s'abonner aux événements via l'utilisation d'un service de conversion de hCalendar vers iCalendar.

Exemples[modifier | modifier le code]

Exemple 1[modifier | modifier le code]

<div class="vevent">
 <div class="summary">Rock en Seine</div>
 <abbr class="dtstart" title="20070824">24</abbr> - 
 <abbr class="dtend" title="20070827">26 août 2007</abbr>
 <div class="location">Domaine National de Saint Cloud, Saint Cloud, France</div>
 <a class="url" href="http://www.lastfm.fr/event/183366">Lien permanent</a>
</div>

L'utilisation de l'élément abbr présente une date abrégée lisible par le lecteur sans oublier l'attribut "title" qui révélera une date précise, lisible par une machine selon la norme ISO 8601.

Exemple 2 : Enrichir un événement avec hCalendar[modifier | modifier le code]

Imaginons cet exemple semi-fictif :

   La version anglaise de Wikipédia fut lancée
   le 15 janvier 2001 lors d'une fête de 
   14h00 à 16h00 chez  
   Jimmy Wales 
   (plus d'information).

Le balisage HTML pourrait être :

<p>
   La version anglaise de Wikipédia fut lancée
   le 15 janvier 2001 lors d'une fête de 
   14h00 à 16h00 chez  
   Jimmy Wales 
   (<a href="http://fr.wikipedia.org/wiki/Histoire_de_Wikip%C3%A9dia">plus d'information</a>). 
</p>

Nous pouvons ajouter un balisage hCalendar en utilisant des éléments HTML span et les classes vevent, summary, dtstart (start date), dtend (end date), location et url :

<p class="vevent">
    La <span class="summary">version anglaise de Wikipédia fut lancée</span> 
    le 15 janvier 2001 lors d'une fête de 
    <abbr class="dtstart" title="2001-01-15T14:00:00+6:00">14h00</abbr> à 
    <abbr class="dtend" title="2001-01-15T16:00:00+6:00">16h00</abbr> chez  
    <span class="location">Jimmy Wales</span> 
    (<a class="url" href="http://fr.wikipedia.org/wiki/Histoire_de_Wikip%C3%A9dia">plus d'informations</a>)
</p>

Remarquons l'utilisation de l'élément abbr pour contenir le format date-time lisible par les machines ISO 8601 pour les heures de début et de fin.

Dates de fin exclusives[modifier | modifier le code]

Pour des dates qui contiennent une journée entière, où aucune heure n'est spécifiée, la date de la fin doit être enregistrée comme exclusive (c'est-à-dire le jour après la fin de l'événement). Par exemple :


 <abbr class="dtend" title="2008-02-01">31 janvier 2008</abbr>

Problèmes d'accessibilité[modifier | modifier le code]

Des problèmes ont été soulevés[1] à propos de l'utilisation de l'élément abbr (utilisant le « abbr-design-pattern[2] » comme ci-dessus) provoquant des problèmes d'accessibilité, non seulement pour les utilisateurs de lecteurs écran et les navigateurs oraux. Le travail est en cours pour trouver une méthode alternative de présentation de l'information date-time ISO8601[3]. Ceci est particulièrement problématique pour les dates de fin exclusives (voir l'exemple au-dessus).

Geo[modifier | modifier le code]

Le microformat geo fait partie de la spécification hCalendar, et il est souvent utilisé pour inclure les coordonnées du lieu de l'évènément dans un hCalendar.

Attributs[modifier | modifier le code]

Pour une liste complète des attributs voir l'anti-sèche hCalendar[4].

Utilisateurs[modifier | modifier le code]

Quelques organisations connues et autres sites web utilisant hCalendar :

Références[modifier | modifier le code]

Liens externes[modifier | modifier le code]

Pour une liste complète des noms de classe hCalendar, plus de détails sur la spécification hCalendar et l'accès à des services de conversion de hCalendar vers iCalendar, voir :