hcalendar-fr

(Difference between revisions)

Jump to: navigation, search

ChristopheDucamp (Talk | contribs)
(First french draft translation of [hcalendar] - to be checked and reviewed)
Next diff →

Revision as of 22:13, 20 June 2006

Attention : cette traduction est une première ébauche de la spécification hCalendar seul lien officiel de référence. Merci par avance de votre effort pour la relecture. -- xtof


hCalendar

hCalendar est un format simple, ouvert, distribué pour le calendrier et les événements, fondé sur le standard iCalendar (RFC2445), adaptable pour l'embarquement dans (X)HTML, Atom, RSS et le XML arbitraire. hCalendar est l'un des nombreux standards ouverts microformat.

Vous voulez démarrer par écrire un événement hCalendar ? Utilisez le hCalendar creator pour écrire un événement et le publier.


Contents


Spécification

Editeur 
Tantek Çelik (Technorati, Inc)
Auteurs 
Tantek Çelik, Technorati, Inc
Brian Suda

Copyright

Cette spécification est (C) 2004-2019 par les auteurs. Néanmoins, les auteurs ont pour but de soumettre cette spécification à un corps de standards avec une politique libérale de copyright/licence telle que GMPG, IETF, et/ou W3C. Quiconque souhaite contribuer devrait lire avant de contribuer leurs principes de copyright, politiques et licences (par ex. les Principes GMPG) et être d'accord avec eux, y compris le fait de licencier toutes les contributions sous les licences nécessaires (par ex. CC-by 1.0 et suivantes).

Brevets

Cette spécification est sujette à une politique de brevets libres de droits, par ex. pour la Politique de Brevet du W3C, IETF RFC3667 et RFC3668.

Inspiration et Remerciements

Merci à :


Introduction

Le standard iCalendar (RFC2445), a été très largement mis en oeuvre avec interopérabilité (par exemple l'application "iCal" d'Apple intégrée dans MacOSX).

En outre, les blogueurs discutent souvent d'événements sur leurs blogs -- événements à venir, compte-rendus des événements passés, etc. Avec simplement une tout petit peu de structure, les blogueurs peuvent discuter d'événements dans leurs blogs d'une manière telle que les spiders et autres agrégateurs puissent retrouver de tels événements, les convertir automatiquement vers iCalendar, et les utiliser dans n'importe quel service ou application iCalendar.

Cette spécification présente le format hCalendar, qui est une représentation 1:1 du standard iCalendar précité en XHTML sémantique. Les Blogueurs peuvent embarquer à la fois les événements hCalendar directement dans leurs pages web, et les styler avec CSS pour les faire apparaître comme désiré. En outre, hCalendar permet aux applications de retrouver l'information sur de tels événements à partir de pages web sans avoir à référencer un fichier distinct.

Principes de Design XHTML Sémantique

Note : les Principes de Design XHTML Sémantique ont été écrits initialement dans le contexte de développement de hCard et hCalendar, par conséquent il peut être plus facile de comprendre ces principes dans le contexte de la méthodologie de design hCard (ce qui veut dire, lisez ça d'abord). Tantek

XHTML est construit sur du XML, et par conséquent les formats fondés sur XHTML peuvent être utilisés non seulement pour une présentation d'affichage pratique, mais aussi à des fins d'échanges de données. A bien des façons, les formats fondés sur XHTML illustrent le meilleur des mondes tant du HTML que du XML. Néanmoins au moment de construire des formats basés sur XHTML, cela aide d'avoir un ensemble de principes directeurs.

  1. Réutilisez autant que possible le schéma (noms, objets, propriétés, valeurs, types, hiérarchies, contraintes) à partir des standards de référence établis et bien supportés. Evitez de redéclarer les contraintes exprimées dans le standard source. Des mentions à titre d'information peuvent passer.
    1. Pour les types avec plusieurs composants, utilisez des éléments imbriqués avec des noms de classe équivalents aux noms des composants.
    2. Les composants pluriels sont produits au singulier, et par conséquent plusieurs éléments imbriqués sont utilisés pour représenter plusieurs valeurs de texte qui sont délimitées par des virgules.
  2. Utilisez la sémantique XHTML la plus précise pour construire des blocs pour chaque objet, etc.
  3. Autrement utilisez un élément générique structurel (par ex. <span> ou <div>), ou l'élément contextuel approprié (par ex. un <li> dans un <ul> ou <ol>).
  4. Utilisez des noms de classes basés sur des noms extraits du schéma original, à moins que le XHTML sémantique de construction de bloc ne représente précisément cette partie du schéma original. Si les noms dans le schéma original ne sont pas sensibles la casse, alors mettez tout dans un équivalent en bas de casse. Les noms de composants implicites en prose (plutôt qu'explicites dans le schéma défini) devraient aussi utiliser les équivalents bas de casse pour une facilité d'utilisation. Les espaces dans les noms des composants deviennent des caractères tiret '-'.
  5. Pour finir, si le format de la donnée selon le schéma original est trop long et/ou non amical sur le plan humain, utilisez <abbr> au lieu d'un élément générique structurel, et placez les données littérales dans l'attribut 'title' (là où vont les expansions abbr), et l'équivalent le plus bref et le plus lisible humainement dans l'élément lui-même. De plus amples explications de cet usage de <abbr> : Human vs. ISO8601 dates problem solved

Format

En Général

Le standard iCalendar (RFC2445) constitue la base de hCalendar.

Note : l'éditeur et les auteurs de cette spécification sont en train de suivre l'l'effort "iCal-Basic" et ont l'intention de fonder le profil noyau du hcalendar sur iCal-Basic. Voir les références pour un lien vers le brouillon en cours.

Le format basique de hCalendar est d'utiliser les noms d'objet/propriété en bas de casse pour les noms de classes, et de mapper l'encapsulage des objets iCalendar directement à l'intérieur du XHTML imbriqué.

Plus d'Equivalents Sémantiques

Néanmoins, pour quelques propriétés il existe un équivalent plus sémantique equivalent, et par conséquent elles ont un traitement spécifique, c'est à dire :

par un adr et un geo (latitude et longitude) LOCATION peut être représenté par un geo.

Propriétés Singulier vs Pluriel

Pour les propriétés qui sont singulières (par ex. "N" et "FN" extrait de vCard), le premier élément descendant avec cette classe là devrait prendre effet, tous les autres étant ignorés.

Pour les propriétés qui peuvent être plurielles (par ex. "TEL" extrait de la vCard), chaque instance de classe devrait créer une instance de cette propriété. Les propriétés plurielles avec des sous-types (par ex. TEL avec WORK, HOME, CELL extait de la vCard) peuvent être optimisées pour partager un élément commun pour la propriété elle-même, avec chaque instance de sous-type étant un descendant proprement classé de l'élément propriété.

Plusieurs Propriétés Singularisées

Parce que les noms de propriétés plurielles deviennent leurs équivalents singuliers, même si la propriété plurielle originale n'a permis seulement qu'une valeur unique avec plusieurs composants, ces composants-là multiples sont représentés chacun avec leurs propres singularités nommées propriété et la propriété a en fait plusieurs valeurs et sujette au traitement ci-dessus des propriétés à plusieurs valeurs.

Lisible par des Humains vs Machines

Si un élément <abbr> est utilisé pour une propriété, alors l'attribut 'title' de l'élément <abbr> est la valeur de la propriété, au lieu des contenus de l'élément, qui fournit à la place uen version humaine présentable de la valeur. Cette spécification recommande que de tels éléments <abbr> soient utilisés pour les propriétés suivantes iCalendar :

Exemple

Voilà un événement échantillon dans un iCalendar :

BEGIN:VCALENDAR
PRODID:-//XYZproduct//EN
VERSION:2.0
BEGIN:VEVENT
URL:http://www.web2con.com/
DTSTART:20051005
DTEND:20051008
SUMMARY:Web 2.0 Conference
LOCATION:Argent Hotel\, San Francisco\, CA
END:VEVENT
END:VCALENDAR

et un équivalent en format hCalendar avec différents éléments optimisés de façon appropriée. Voir étapes-hcalendar-exemple 1 pour la dérivation (NDT derivation)

<span class="vevent">
 <a class="url" href="http://www.web2con.com/">
  <span class="summary">Web 2.0 Conference</span>: 
  <abbr class="dtstart" title="2005-10-05">October 5</abbr>-
  <abbr class="dtend" title="2005-10-08">7</abbr>,
 at the <span class="location">Argent Hotel, San Francisco, CA</span>
 </a>
</span>

qui pourrait être affiché comme :

Web 2.0 Conference: October 5-7, at the Argent Hotel, San Francisco, CA

Note 1 : L'information produit n'est pas nécessaire parce que le hCalendar est un format interchangeable. Quand hCalendar est transformé en iCalendar, le moteur transformant devrait ajouter sa propre ID produit.

Note 2 : Un élément entourant le <span class="vcalendar"> est optionnel et laissé comme ceci. Il est optionnel parce le contexte d'un vcalendar est impliqué quand un vevent est rencontré. Le contexte/étendue imppliqué est celui du document. Les auteurs peuvent explicitement utiliser des éléments avec class="vcalendar" pour emballer les ensembles de vevents qui appartiennent tous au même calendrier, par exemple au moment de publier plusieurs calendriers sur la même page.

Note 3 : L'information de version n'est pas nécessaire directement dans la syntaxe hCalendar parce que la version sera définie par le profil du qui est utilisé/référencé dans l'attribut 'profile' de l'élément <head>.

Note 4 : Les dates ISO8601 (requises par iCalendar) ne sont pas très humaines. En outre, l'année est souvent comprise implicitement par les humains à partir du contexte. Par conséquent les éléments <abbr> sont utilisés pour fournir simultanément une date humaine et/ou une heure dans les contenus visibles de l'élément, tout en plaçant respectivement l'heuredate ISO8601 parsable par les machines dans l'attribut 'title'. La notation YYYY-MM-DD devrait être utilisée pour une meileure lisibilité.

Note 5 : La différence entre la date DTEND ISO8601 (2005-10-08) et la date lisible par un humain (7) n'est PAS une erreur. DTEND est exclusif, voulant dire que l'événement finit simplement avant le DTEND. De ce fait pour les événements qui démarrent sur un jour et finissent sur un autre jour, la date DTEND doit être spécifiée comme le jour après le jour qu'un humain dirait que c'est le dernier jour de l'événement.

Note 6 : L'endroit (Location) dans cet exemple contient une structure implicite (nom du lieu de l'événement, ville, état) qui devrait être balisée explicitement sous une hCard. Voir hCalendar brainstorming: hCard locations pour une explication sur la façon de faire ça.

Voir exemples hcalendar pour plus d'exemples hCalendar.

Exemples dans le wild

Cette section est pour information.

Les sites suivants ont implémenté le hCalendar, et sont par conséquent un endroit génial pour tous pour commencer à regarder des exemples "in the wild" pour essayer de parser, d'indexer, d'organiser, etc. Si les événements sur vos pages sont balisés avec hCalendar, sentez-vous à l'aise pour les ajouter en haut de cette liste. Une fois que la liste deviendra trop grande, nous produirons une page wiki distincte.

Nouveaux Exemples

SVP, ajoutez de nouveaux exemples à cette section.

Lundi 22 mai, 4:00 PM ET The World Cup, one of the world's most watched sporting events, is almost upon us. If you've ever tried to follow your favorite team through the Cup you know that it can sometimes be difficult to know when they're on. World Cup Kickoff can help.

World Cup KickOff is all you will ever need for knowing all the match details for the upcoming World Cup 2006. Whether you use your mobile phone, MS Outlook, Apple iCal or Mozilla Calendar, you can download and keep all the fixtures you are interested in so you will never miss a single game! ADVERTISEMENT

Next tip? We'll show you how to get up at 2 AM to watch your matches. ;0) Thanks to Tom for the tip!

Exemples avec quelques problèmes

Implémentations

Cette section est pour information.

Les implémentations suivantes ont été développées qui soit génère ou parse les hCalendars. Si vous avez une implémentation hCalendar, sentez-vous libre de l'ajouter en haut de cette liste. Une fois que la liste sera devenue trop grosse, nous produirons une page séparée.

Publier

Les implémentations que vous pouvez utiliser pour rédiger, créer et publier des événements hCalendar.

Outils de Blog et CMS

Midgard CMS 
Midgard CMS - net.nemein.calendar - comme c'est blogué par Henri Bergius
Drupal module 
Drupal Upcoming.org syndication module emits hCalendar
MovableType et WordPress plug-ins 
StructuredBlogging est un ensemble de plugins pour WordPress et pour MovableType qui supporte l'embarquement de hCalendar et d'autre microformats dans les gabarits et les billets de blog.
Textpattern plug-in 
pnh_mf est un plugin pour Textpattern qui supporte l'embarquement de hCalendar et d'autres microformats dans les gabarits et billets de blog. Ecrit par Chris Casciano.

Scripts et plugins pour Navigateurs

Plugins navigateurs qui fonctionnent avec les outils de publication existants :

Tout navigateur avec javascript et un petit morceau de CSS 
microformats.org hCalendar creator (vor aussi l'original : Ryan King a un hCalendar creator).
Firefox Greasemonkey user script hCalendar creator 
magic_hcalendar Greasemonkey user script par Les Orchard - permet une saisie facile par formulaire d'un événement dans n'importe quelle aire de texte, par ex. à l'intérieur d'une aire de texte pour billet de blog.
Firefox Greasemonkey user script hCalendar vers Google Calendar
Elias Torres a créé un script simple qui parsera les entrées hCalendar et créera un lien pour ajouter un événement vers le service de Google Calendar. Basé sur le travail de George et de Arve.

Outil de Publication de Bureau

Dreamweaver Extension 
Extension suite pour Dreamweaver 8 tirée du Web Standards Project.
xfy 

dans la Communauté xfy, il existe quelques implémentatons hCalendar.

Recherche et Découverte

Conversion et Importation

Les implémentations que vous pouvez utiliser pour l'importation dans une application calendrier, généralement en convertissant hCalendar vers iCalendar/vCalendar.

Web Services

Ceux-ci renvoient des formats iCalendar (.ics) et d'autres foramts de calendrier à l'intérieur de programmes typiques de calendriers ou autre traitement.

Firefox Greasemonkey Plugins

La conversion hCalendar en vCalendar est faite en interne dans le script. Ceci fonctionnera désormais bien dans FireFox 1.5+/GreaseMonkey 0.6.4+.

Agrégateurs

Regardez la photo d'écran en bas de la page.

Browsing

Implémentations qui détectent, affichent et autrement soulignent les événements hCalendar dans les pages.

et syndique les hCalendars à l'intérieur d'une vue calendrier.

Extension Firefox

Tails est une extension Firefox qui affichera la présence de microformats (hCard, hCalendar, hReview, xFolk) sur une page web.

Extension Flock

Flocktails - porte l'extension Tails pour Flock 0.5.12 qui cherche les hCards, hCalendar, xFolk et hReview et les secoue dans une barre supérieure bien commode.

Librairies

Les librairies open source des parsers hCalendar et autres codes aparentés pour construire des implémentations hCalendar.

Javascript 
parseur simple hCalendar par Arve Bersvendsen
PHP 
Microformat Base est un crawler d'agrégation de microformat open-source PHP, reconnaissant actuellement hreview, hcalendar et hcard.
Ruby 
uformats est une librairie ruby qui peut parser hCalendar, hCard, hReview et rel-tag
XSLT 

elle fonctionne beaucoup comme xhtml2vcal.xsl dans X2V. Voir aussi : RDF Calendar workspace avec les contenus de test icalendar.

Implémentations potentielles

Ce sont des projets open source qui pourrait être améliorés potentiellement pour supporter hCalendar :

Références

Références Normatives

Références Informatives

En Rapport

"Right now people can do that by publishing .ics files, but it's not trivial to do so, and it's work on the part of other people to look at them. If it's not HTML hanging off our friend's home page that can be viewed in any browser on a public terminal in a library, the bar to entry is too high and it's useless."

Travail similaire

Discussions

Cette spécification est un chantier en cours. Au fur et à mesure que des aspects supplémentaires sont discutés, compris et écrits, ils seront ajoutés. Il existe un document séparé où nous conservons nos brainstormings et autres explorations en rapport avec hCalendar :

Q&R

Problèmes

hcalendar-fr was last modified: Wednesday, December 31st, 1969

Views