Aller au contenu

hCalendar

Un article de Wikipédia, l'encyclopédie libre.
Ceci est une version archivée de cette page, en date du 20 avril 2020 à 16:07 et modifiée en dernier par Xqbot (discuter | contributions). Elle peut contenir des erreurs, des inexactitudes ou des contenus vandalisés non présents dans la version actuelle.

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

Exemple 1

<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

Imaginons cet exemple semi-fictif :

   La version anglaise de Wikipédia fut lancée
   le 15 janvier 2001 lors d'une partie 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 partie 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 partie 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

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é

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

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

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

Utilisateurs

Quelques organisations connues et autres sites web utilisant hCalendar :

Références

Liens externes

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 :