hcalendar-fr: Difference between revisions
mNo edit summary |
m (Replace <entry-title> with {{DISPLAYTITLE:}}) |
||
(23 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
< | {{DISPLAYTITLE:hCalendar 1.0}} | ||
<span class="vcard"><span class="fn">[[User:Tantek|Tantek Çelik]]</span> (<span class="role">Editeur</span>, <span class="role">Auteur</span>)</span>, <span class="vcard"><span class="fn">[[User:Brian|Brian Suda]]</span> (<span class="role">Auteur</span>)</span> | |||
(<span class="vcard"><span class="role">Traduction</span> : <span class="fn">[[User:ChristopheDucamp|Christophe Ducamp]]</span></span> : [[hcalendar|hCalendar - Seule la spécification originale fait référence]]) | |||
---- | |||
hCalendar est un format simple, ouvert | <dfn style="font-style:normal;font-weight:bold">hCalendar</dfn> est un format simple, ouvert pour publier des événements sur le web en utilisant une représentation 1:1 des propriétés VEVENT iCalendar ([[rfc-2445-fr|RFC2445]]) et valeurs en HTML. hCalendar est l'un des nombreux [[microformats-fr|microformats]] standards ouverts adaptable pour l'embarquement de données dans le HTML/HTML5, et Atom/RSS/XHTML ou autre XML. | ||
hCalendar est l'un des nombreux | |||
Les déclarations de [[hcalendar-fr#Copyright|Copyright]] et [[hcalendar-fr#Brevets|brevets]] sont en vigueur. | |||
Voir les [[hcalendar#Inspiration_et_Remerciements|remerciements]]. | |||
== Exemple == | |||
Voici un évènement simple en prose : | |||
<blockquote><p>Le site microformats.org a été lancé le 2005-06-20 lors de la Conférence Supernova à San Francisco, CA, USA.</p></blockquote> | |||
marqué avec hCalendar | |||
<source lang=html4strict> | |||
<span class="vevent"> | |||
<span class="summary">Le site microformats.org a été lancé</span> | |||
le <span class="dtstart">2005-06-20</span> | |||
lors de la Conférence Supernova | |||
à <span class="location">San Francisco, CA, USA</span>. | |||
</span> | |||
</source> | |||
'''Vous voulez démarrer par écrire un événement [[hcalendar-fr|hCalendar]] ?''' Utilisez le [http://microformats.org/code/hcalendar/creator hCalendar creator] pour écrire un événement et le publier, ou suivez les [[hcalendar-authoring-fr|trucs de publication hCalendar]] pour ajouter de la syntaxe hCalendar à votre page d'évènements à venir ou des événements que vous mentionnez dans vos billets de blogs, wikis, etc. | |||
== Statut == | |||
hCalendar 1.0 est une spécification microformats.org. La discussion publique sur hCalendar a pris place sur [[hcalendar-feedback]], le canal [[irc-fr|irc]] #microformats sur irc.freenode.net, et la [http://microformats.org/discuss/mail/microformats-discuss/ liste de discussion microformats-discuss]. | |||
=== | === Langues disponibles === | ||
La [[hcalendar|version anglaise de cette spécification]] est la seule version normative. Pour les traductions de ce document, voir la section [[#traductions]]. | |||
=== | === Errata et Mises à Jour === | ||
Les erreurs connues et problématiques dans cette spécification sont corrigées dans les problématiques [[hcalendar-issues-resolved|résolues]] et [[hcalendar-issues-closed|fermées]]. Vérifiez-les svp avant de rapporter des [[hcalendar-issues|problématiques]]. | |||
Notez en particulier la [[dtend-issue-fr|problématique-dtend]] qui impacte les dates de fin. Les implémentations DEVRAIENT implémenter la résolution de cette question aussi rapidement que possible. | |||
La mise à jour hCalendar 1.0.1 est actuellement en développement et incorpore les corrections connues tout comme le [[value-class-pattern-fr|modèle-de-classe-value]]. | |||
== Introduction == | == Introduction == | ||
Le standard iCalendar ([http://www.ietf.org/rfc/rfc2445.txt RFC2445]), a été très largement mis en | Le standard iCalendar ([http://www.ietf.org/rfc/rfc2445.txt RFC2445]), a été très largement mis en œuvre 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 HTML sémantique. Les blogueurs peuvent embarquer à la fois les événements hCalendar directement dans leurs pages web, et les styliser 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. | |||
{{rfc-2119-intro-fr}} | |||
== Principes de Design XHTML Sémantique == | == Principes de Design XHTML Sémantique == | ||
Line 44: | Line 52: | ||
{{semantic-xhtml-design-principles-fr}} | {{semantic-xhtml-design-principles-fr}} | ||
Pour les implémentations pratiques, il devrait être noté que le support d'Internet Explorer pour | Pour les implémentations pratiques, il devrait être noté que le support d'Internet Explorer pour styliser les éléments <code><nowiki><abbr></nowiki></code> est pauvre et peut obliger à emballer les éléments. | ||
== Format == | == Format == | ||
=== En Général === | |||
Le standard iCalendar ([http://www.ietf.org/rfc/rfc2445.txt RFC2445]) constitue la base de hCalendar. | |||
Note : l'éditeur et les auteurs de cette spécification sont en train de suivre l'[http://lists.osafoundation.org/pipermail/ietf-calsify/ 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'imbrication des objets iCalendar directement à l'intérieur des éléments XHTML imbriqués. | |||
=== Nom de Classe Racine === | |||
Le nom de classe racine pour hCalendar est "vcalendar". Un élément avec un nom de classe "vcalendar" est lui-même appelé un ''hCalendar''. | |||
Le nom de classe racine pour les événements est "vevent". Un élément avec un nom de classe "vevent" est lui-même appelé un ''événement hCalendar''. | |||
=== | Pour la commodité de publication, tant "vevent" et "vcalendar" sont traités comme des noms de classes racine pour les objectifs de parsage. Si un document contient des éléments avec le nom de classe "vevent" mais pas "vcalendar", la totalité du document a un contexte implicite "vcalendar". | ||
'''vevent''' devrait être considéré comme obligatoire pour chaque inscription d'événement. | |||
=== Propriétés et sous-propriétés === | |||
Les propriétés d'un hCalendar sont représentées par des éléments à l'intérieur du hCalendar. Les éléments avec les noms de classes des propriétés listées représentent les valeurs de ces propriétés. Quelques propriétés ont des sous-propriétés, et celles-ci sont représentées par des éléments à l'intérieur des éléments pour les propriétés. | |||
=== Liste des Propriétés === | |||
Les propriétés hCalendar (sous-propriétés entre parenthèses comme ceci) | |||
'''Requis :''' | |||
* '''dtstart''' ([[iso-8601-fr|ISO date]]) | |||
* '''summary''' | |||
Optionnel : | |||
* location | |||
* url | |||
* dtend (ISO date), duration (ISO date duration) | |||
* rdate, rrule | |||
* category, description | |||
* uid | |||
* geo (latitude, longitude) | |||
* attendee (partstat, role), contact, organizer | |||
* attach | |||
* status | |||
* ... note de l'auteur : cette liste est incomplète (une liste incomplète est mieux que pas de liste) et est en train d'être rédigée à partir de la RFC2445 vers ici. La liste au-dessus des propriétés sont celles qui sont souvent utilisées dans hCalendar sur le web. | |||
=== Profil === | |||
Le profil XMDP hCalendar est sur http://microformats.org/profile/hcalendar | |||
Le | Le contenu qui utilise hCalendar DEVRAIT référencer ce profil, c'est à dire : | ||
<source lang=html4strict> | |||
<head profile="http://microformats.org/profile/hcalendar"> | |||
</source> | |||
ou | |||
<source lang=html4strict> | |||
<link rel="profile" href="http://microformats.org/profile/hcalendar"> | |||
</source> | |||
ou | |||
<source lang=html4strict> | |||
Ce contenu utilise <a rel="profile" href="http://microformats.org/profile/hcalendar">hCalendar</a>. | |||
</source> | |||
Le contenu peut combiner les méthodes au-dessus. | |||
=== Plus d'Equivalents Sémantiques === | === Plus d'Equivalents Sémantiques === | ||
Pour quelques propriétés il existe un équivalent plus sémantique, et par conséquent elles reçoivent un traitement particulier, par exemple : | |||
* <code>URL</code> dans iCalendar devient <code><a class="url" href="...">...</a></code> à l'intérieur de l'élément avec <code>class="vevent"</code> dans le hCalendar. | |||
et par conséquent elles | * <code>ATTENDEE</code>, <code>CONTACT</code>, et <code>ORGANIZER</code> dans le iCalendar PEUVENT être représentés par une [[hcard-fr|hCard]] dans le hCalendar . | ||
* <code>URL</code> dans iCalendar devient <code> | * Un lieu nommé <code>LOCATION</code> (potentiellement avec une adresse et/ou geo) dans iCalendar PEUT être représenté par une [[hcard-fr|hCard]] imbriquée dans le hCalendar. De la même façon, une adresse <code>LOCATION</code> PEUT être représentée par un [[adr-fr|adr]] et un geo (latitude et longitude) <code>LOCATION</code> PEUT être représenté par un [[geo-fr|geo]]. | ||
* <code>ATTENDEE</code>, <code>CONTACT</code>, et <code>ORGANIZER</code> dans le iCalendar | |||
* Un lieu nommé <code>LOCATION</code> (potentiellement avec une adresse et/ou geo) dans iCalendar | |||
* <code>UID</code> dans le iCalendar devient simplement une autre sémantique appliquée à un URL spécifique pour un événement hCalendar. | * <code>UID</code> dans le iCalendar devient simplement une autre sémantique appliquée à un URL spécifique pour un événement hCalendar. | ||
* <code>ATTACH</code> dans iCalendar devient un élément img ou object (où la valeur est stocké dans/retrouvée à partir des attributs 'src' ou 'data' respectivement). Un <code><a class="attach" href="...">...</a></code> peut aussi être utilisé, auquel cas l'attribut href est utilisé pour la valeur de propriété. | |||
=== Propriétés Singulier vs Pluriel === | === 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 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é. | 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 extrait de la vCard) peuvent être optimisées pour partager un élément commun pour la propriété elle-même, | Les propriétés plurielles avec des sous-types (par ex. TEL avec WORK, HOME, CELL extrait 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é. | ||
avec chaque instance de sous-type étant un descendant proprement classé de l'élément propriété. | |||
==== | ==== Propriétés Plurielles 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 est sujette au traitement ci-dessus des propriétés à plusieurs valeurs. | |||
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 est sujette au traitement ci-dessus des propriétés à plusieurs valeurs. | |||
=== Lisible par des Humains vs Machines === | === Lisible par des Humains vs Machines === | ||
Si un élément <code><nowiki><abbr></nowiki></code> est utilisé pour une propriété, alors l'attribut '<code>title</code>' de l'élément <code><nowiki><abbr></nowiki></code> est la valeur de la propriété, au lieu des contenus de l'élément, qui fournit à la place | Si un élément <code><nowiki><abbr></nowiki></code> est utilisé pour une propriété, alors l'attribut '<code>title</code>' de l'élément <code><nowiki><abbr></nowiki></code> est la valeur de la propriété, au lieu des contenus de l'élément, qui fournit à la place une version humainement présentable de la valeur. Cette spécification recommande que de tels éléments <code><nowiki><abbr></nowiki></code> soient utilisés pour les propriétés suivantes iCalendar : | ||
* DTSTART, DTEND, DURATION, RDATE, RRULE | * DTSTART, DTEND, DURATION, RDATE, RRULE | ||
== | == Exemples == | ||
Voici un exemple | Voici un exemple échantillon avec plusieurs jours dans un iCalendar: | ||
< | |||
<source lang=text> | |||
BEGIN:VCALENDAR | BEGIN:VCALENDAR | ||
PRODID:-//XYZproduct//EN | PRODID:-//XYZproduct//EN | ||
VERSION:2.0 | VERSION:2.0 | ||
BEGIN:VEVENT | BEGIN:VEVENT | ||
URL:http:// | URL:http://conferences.oreillynet.com/pub/w/40/program.html | ||
DTSTART: | DTSTART:20051005 | ||
DTEND: | DTEND:20051008 | ||
SUMMARY:Web 2.0 Conference | SUMMARY:Web 2.0 Conference | ||
LOCATION:Argent Hotel\, San Francisco\, CA | LOCATION:Argent Hotel\, San Francisco\, CA | ||
END:VEVENT | END:VEVENT | ||
END:VCALENDAR | END:VCALENDAR | ||
</ | </source> | ||
et un événement équivalent dans un format hCalendar avec différents éléments optimisés de façon appropriée. Voir [[hcalendar-example1-steps-fr|hCalendar-exemple1-étapes]] pour la dérivation. | et un événement équivalent dans un format hCalendar avec différents éléments optimisés de façon appropriée. Voir [[hcalendar-example1-steps-fr|hCalendar-exemple1-étapes]] pour la dérivation. | ||
< | <source lang=html4strict> | ||
<div class="vevent"> | <div class="vevent"> | ||
<a class="url" href="http:// | <a class="url" href="http://conferences.oreillynet.com/pub/w/40/program.html"> | ||
http://conferences.oreillynet.com/pub/w/40/program.html | |||
</a> | |||
<span class="summary">Web 2.0 Conference</span>: | |||
<abbr class="dtstart" title="2005-10-05">October 5</abbr>- | |||
<abbr class="dtend" title="2005-10-07">7</abbr>, | |||
</ | at the <span class="location">Argent Hotel, San Francisco, CA</span> | ||
</div> | |||
</source> | |||
Qui pourrait être affiché comme : | Qui pourrait être affiché comme : | ||
<div class="vevent"> | <div class="vevent"> | ||
<span class="url">http:// | <span class="url">http://conferences.oreillynet.com/pub/w/40/program.html</span> <!-- note modifiée pour prendre en considération l'idiosyncrasie du logiciel wiki --> | ||
<span class="summary">Web 2.0 Conference</span>: | <span class="summary">Web 2.0 Conference</span>: | ||
<abbr class="dtstart" title=" | <abbr class="dtstart" title="2005-10-05">October 5</abbr>- | ||
<abbr class="dtend" title=" | <abbr class="dtend" title="2005-10-07">7</abbr>, | ||
at the <span class="location">Argent Hotel, San Francisco, CA</span> | |||
</div> | </div> | ||
Note 1 : Remarquez que c'est un microformat hCalendar '''live''', qui sera trouvé sur cette page par les parseurs. | |||
=== Exemple | Note 2 : Cet exemple avait "2005-10-08" comme la valeur de dtend, mais selon la résolution de la [[dtend-issue-fr|problématique-dtend]], cette valeur a été modifié en "2005-10-07" afin d'encourager les éditeurs/implémenteurs à mettre à jour immédiatement leur code/marquage et le [http://ufxtract.com/testsuite/hcalendar/hcalendar1.htm le tester]. | ||
L'exemple suivant spécifie un rendez-vous programmé qui commence le 12 mars 1998 à | |||
08:30 EST et se termine à 09:30 EST le 12 mars 1998. | Note 3 : Remarquez que le iCalendar dans la première partie de l'exemple a le code <code>DTEND:20051008</code>. Ce "8" n'est pas une faute de typo. iCalendar utilise des dates de fin globales<em>exclusives</em> (valeurs DTEND) et par conséquent requiert que la valeur DTEND soit réglée sur le jour complet <em>après</em> ce que les auteurs de contenu affichent de manière visible comme la date de fin d'un événement. La convention des dates de fin exclusives de iCalendar s'est avérée comme [[dtend-issue-fr|problematique et déroutante]] pour les auteurs de contenus et les éditeurs. Par conséquent, selon la résolution de la [[dtend-issue-fr|problématique dtend]] dans le hCalendar, la date de fin est déclarée exactement comme ce que publient les événements existants comme dates de fin visibles pour les humains, avec une date de fin <em>inclusive</em> (valeur de propriété dtend), dans cet exemple, 2005-10-07. | ||
=== Exemple de réunion === | |||
L'<span id="Exemple_2">exemple</span> suivant spécifie un rendez-vous programmé qui commence | |||
le 12 mars 1998 à 08:30 EST et se termine à 09:30 EST le 12 mars 1998. | |||
<source lang=text> | |||
BEGIN:VCALENDAR | |||
BEGIN:VEVENT | |||
UID:guid-1.host1.com | |||
DTSTAMP:19980309T231000Z | |||
DESCRIPTION:Project XYZ Review Meeting | |||
SUMMARY:XYZ Project Review | |||
DTSTART:19980312T133000Z | |||
DTEND:19980312T143000Z | |||
LOCATION:1CP Conference Room 4350 | |||
END:VEVENT | |||
END:VCALENDAR | |||
</source> | |||
L'équivalent en hCalendar : | L'équivalent en hCalendar : | ||
< | <source lang=html4strict> | ||
<div class="vevent"> | <div class="vevent"> | ||
<h3 class="summary">XYZ | <h3 class="summary">XYZ Project Review</h3> | ||
<p class="description"> | <p class="description">Project XYZ Review Meeting</p> | ||
<p> | <p>To be held on | ||
<span class="dtstart"> | |||
<p> | <abbr class="value" title="1998-03-12>the 12th of March</abbr> | ||
<small> | from <span class="value">8:30am</span> <abbr class="value" title="-0500">EST</abbr> | ||
<abbr class=" | </span> until | ||
<span class="dtend"> | |||
<span class="value">9:30am</span> <abbr class="value" title="-0500">EST</abbr> | |||
</span> | |||
</p> | |||
<p>Location: <span class="location">1CP Conference Room 4350</span></p> | |||
<small>Booked by: <span class="uid">guid-1.host1.com</span> on | |||
<span class="dtstamp"> | |||
<abbr class="value" title="1998-03-09">the 9th</abbr> at <span class="value">6:00pm</span> | |||
</span> | |||
</small> | |||
</div> | </div> | ||
</ | </source> | ||
Ceci pourrait s'afficher comme : | Ceci pourrait s'afficher comme : | ||
Line 161: | Line 230: | ||
<div class="vevent"> | <div class="vevent"> | ||
<h3 class="summary">XYZ | |||
<p class="description"> | <h3 class="summary">XYZ Project Review</h3> | ||
<p> | <p class="description">Project XYZ Review Meeting</p> | ||
<p>To be held on <time class="dtstart" datetime="1998-03-12 08:30:00-05:00">the 12th of March from 8:30am EST</time> | |||
<p> | until <time class="dtend" datetime="1998-03-12 09:30:00-05:00">9:30am EST</time></p> | ||
<small> | <p>Location: <span class="location">1CP Conference Room 4350</span></p> | ||
< | <small>Booked by: <span class="uid">guid-1.host1.com</span> on <time class="dtstamp" datetime="1998-03-09 18:00">the 9th at 6:00pm</time></small></div> | ||
---- | ---- | ||
Line 176: | Line 245: | ||
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 de qui est utilisé/référencé dans l'attribut 'profile' de l'élément <head>. | 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 de qui est utilisé/référencé dans l'attribut 'profile' de l'élément <head>. | ||
Note 4 : Les dates ISO8601 ( | Note 4 : Les dates-horaires [[iso-8601-fr|ISO8601]] (requis par iCalendar) ne sont pas très humains. En outre, l'année est souvent comprise implicitement par les humains à partir du contexte. Par conséquent, le [[value-class-pattern-fr|modèle de classe value]] et les éléments <code><nowiki><abbr></nowiki></code> sont utilisés pour fournir simultanément des dates et/ou horaires compréhensibles par les humains dans les contenus visibles de l'élément, tout en plaçant respectivement des dates et horaires ISO8601 parsables par les machines si c'est nécessaire dans l'attribut 'title'. Selon le [[value-class-pattern-fr|modèle-de-classe-value]], les dates et horaires séparés DEVRAIENT être utilisés par les auteurs plutôt qu'un date-horaire complet ISO8601, et ce pour une meilleure lisibilité et écoute. | ||
Note 5 : | Note 5 : Selon la résolution [[dtend-issue-fr|dtend-problématique]], les dates DTEND sont fournies parce que les humains s'attendent à ce qu'elles soient (cohérentes avec le jour à laquelle un événement se termine), plutôt que la définition trompeuse de iCalendar (le jour d'après). De ce fait, les processeurs de hCalendar qui produisent des iCalendar doivent faire la transformation, ce qui revient à traiter une date de fin hCalendar globale <code>dtend</code> comme *inclusive*, et la convertir en une date de fin *[http://lists.osafoundation.org/pipermail/ietf-calsify/2005-September/000769.html DTEND exclusive]* au moment de produire iCalendar. | ||
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-fr|hCard]]. Voir [http://microformats.org/wiki/hcalendar-brainstorming-fr#hCard_locations hCalendar brainstorming: hCard locations] pour une explication sur la façon de faire ça. | 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-fr|hCard]]. Voir [http://microformats.org/wiki/hcalendar-brainstorming-fr#hCard_locations hCalendar brainstorming: hCard locations] pour une explication sur la façon de faire ça. | ||
=== Plus d'exemples === | === Plus d'exemples === | ||
Voir [[hcalendar-examples-fr|hCalendar exemples]] pour plus d'exemples, y compris des exemples extraits de la RFC 2445 iCalendar convertis en hCalendar. | Voir [[hcalendar-examples-fr|hCalendar exemples]] pour plus d'exemples, y compris des exemples extraits de la RFC 2445 iCalendar convertis en hCalendar. | ||
== Exemples dans la jungle == | == Exemples dans la jungle == | ||
Line 196: | Line 260: | ||
== Implémentations == | == Implémentations == | ||
Cette section est ''' | Cette section est '''à des fins d'étude'''. Le nombre d'implémentations hCalendar a grandi bien au delà des capacités de pouvoir les maintenir dans la page. Elles ont été migrées vers une [[hcalendar-implementations-fr|page séparée]]. | ||
Voir [[hcalendar-implementations-fr|hCalendar Implementations]]. | Voir [[hcalendar-implementations-fr|hCalendar Implementations]]. | ||
== Articles == | |||
Cette section est <strong>à des fins d'étude</strong>. | |||
Voir : [[hcalendar-articles-fr|articles-hCalendar]]. | |||
==Boutons== | |||
Cette section est <strong>à des fins d'étude</strong>. N'oubliez pas que vous pouvez ajouter un de nos [[buttons-fr#hCalendar|boutons]] vers la page, pour indiquer la présence de microformats hCalendar. Par exemple : http://www.boogdesign.com/images/buttons/microformat_hcalendar.png. Si vous pouvez le lier vers cette page (ou même sur une page sur votre site web, à propos de votre utilisation des microformats), plus il y en aura, mieux ce sera ! | |||
=== Copyright === | |||
Selon la parution dans le domaine public sur les pages utilisateur des auteurs ([[User:Tantek|Tantek Çelik]], [[User:Brian|Brian Suda]]), cette spécification est tombée dans le domaine public. | |||
{{MicroFormatPublicDomainContributionStatement-fr}} | |||
=== Brevets === | |||
{{MicroFormatPatentStatement-fr}} | |||
== Références == | == Références == | ||
=== Références Normatives=== | === Références Normatives === | ||
* [http://www.w3.org/TR/2002/REC-xhtml1-20020801/ XHTML 1.0 SE] | * [http://www.w3.org/TR/2002/REC-xhtml1-20020801/ XHTML 1.0 SE] | ||
* [[hcard-fr|hCard]] | * [[hcard-fr|hCard]] | ||
* [http://www.ietf.org/rfc/rfc2445.txt iCalendar RFC2445] | * [http://www.ietf.org/rfc/rfc2445.txt iCalendar RFC2445] | ||
* [[iso-8601-fr|ISO8601]] | |||
=== Références Informatives === | === Références Informatives === | ||
* [http://w3.org/TR/REC-CSS1 CSS1] | * [http://w3.org/TR/REC-CSS1 CSS1] | ||
* [http://tantek.com/log/2004/09.html#hcalendar terme hCalendar | * [http://tantek.com/log/2004/09.html#hcalendar terme hCalendar présenté et défini sur le Web, 20040930] | ||
* [http://wiki.oreillynet.com/foocamp04/index.cgi?HTMLForCalendars FOO Camp 2004 | * [http://wiki.oreillynet.com/foocamp04/index.cgi?HTMLForCalendars FOO Camp 2004 HTML For Calendars presentation, 20040911] | ||
* [http://wiki.oreillynet.com/foocamp04/index.cgi?SimpleSemanticFormats FOO Camp 2004 | * [http://wiki.oreillynet.com/foocamp04/index.cgi?SimpleSemanticFormats FOO Camp 2004 Simple Semantic Formats presentation, 20040910] | ||
* [http://ietfreport.isoc.org/idref/draft-royer-ical-basic/ iCal-Basic ( | * [http://ietfreport.isoc.org/idref/draft-royer-ical-basic/ iCal-Basic (latest)] [http://www.faqs.org/ftp/pub/pub/internet-drafts/draft-royer-ical-basic-04.txt (draft 04)] | ||
* | * [http://www.w3.org/TR/NOTE-datetime W3C Note sur les Formats de Dates et d'Heure] | ||
* [http://www. | * [http://www.imc.org/pdi/ Internet Mail Consortium Personal Data Interchange vCard and vCalendar] | ||
* Contributed from http://developers.technorati.com/wiki/hCalendar | |||
==== Spécifications qui utilisent hCalendar ==== | |||
* [[hreview-fr|hReview]] | |||
=== | ==== Travaux en rapport ==== | ||
* [[ | * [http://lists.osafoundation.org/pipermail/ietf-calsify/ IETF-calsify archives] | ||
* [http://www.softwarestudio.org/iCal/2445Issues.html RFC2445 Issues List] | |||
* [http://ietf.webdav.org/calsify/ CALSIFY WG Links And Resources] | |||
== Pour aller plus loin == | == Pour aller plus loin == | ||
* [http://www.livejournal.com/users/jwz/444651.html jwz - Hula] ( | * [http://www.livejournal.com/users/jwz/444651.html jwz - Hula] (à lire) | ||
* [http://www.jwz.org/doc/groupware.html Groupware Bad de Jamie Zawinski] critallise la raison pour hCalendar ('''emphase''' ajoutée ) : | * [http://www.jwz.org/doc/groupware.html Groupware Bad de Jamie Zawinski] critallise la raison pour hCalendar ('''emphase''' ajoutée ) : | ||
<blockquote>"A cette heure, les gens font cela en publiant des fichiers .ics, mais ce n'est pas trivial de faire ainsi, et c'est du travail de la part des autres personnes pour les regarder. '''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.'''"</blockquote> | <blockquote>"A cette heure, les gens font cela en publiant des fichiers .ics, mais ce n'est pas trivial de faire ainsi, et c'est du travail de la part des autres personnes pour les regarder. '''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.'''"</blockquote> | ||
Line 227: | Line 315: | ||
* [http://weblog.infoworld.com/udell/2006/01/11.html#a1368 Moving forward with microformats] de [http://weblog.infoworld.com/udell Jon Udell] fournit un exemple hCalendar et quelque discussion. | * [http://weblog.infoworld.com/udell/2006/01/11.html#a1368 Moving forward with microformats] de [http://weblog.infoworld.com/udell Jon Udell] fournit un exemple hCalendar et quelque discussion. | ||
* Voir aussi les [http://www.technorati.com/cosmos/referer.html blogs qui discutent de cette page] et le [http://technorati.com/tags/hcalendar tag hCalendar] | * Voir aussi les [http://www.technorati.com/cosmos/referer.html blogs qui discutent de cette page] et le [http://technorati.com/tags/hcalendar tag hCalendar] | ||
* [http:// | * [http://fr.wikipedia.org/wiki/HCalendar article Wikipedia sur hCalendar] (requiert un remaniement, une expansion et une traduction) | ||
* [http://www.ablognotlimited.com/articles/getting-semantic-with-microformats-part-4-hcalendar/ Getting Semantic With Microformats, Part 4: hCalendar] par [http://www.ablognotlimited.com/ Emily Lewis] - ([http://microformateurs.org/2008/10/18/emily-lewis-parvenir-a-la-semantique-avec-les-microformats-4eme-partie-hcalendar/ Traduction en français]) | |||
* [http://www.peachpit.com/guides/content.aspx?g=webdesign&seqNum=356 Microformats: The Art of Markup: hCalendar] par [http://www.stuffandnonsense.co.uk/ Andy Clarke] | |||
* [http://forabeautifulweb.com/blog/about/a_tribute_to_microformats_a_reader_question_answered/ A tribute to Microformats (a reader question answered)] par [http://www.stuffandnonsense.co.uk/ Andy Clarke] | |||
=== Inspiration et Remerciements === | |||
Merci à : | |||
* Adam Bosworth pour avoir mené la [http://wiki.oreillynet.com/foocamp04/index.cgi?HTMLForCalendars présentation FOO Camp 2004 HTML For Calendars presentation] qui a rassemblé une masse critique de personnes intéressées. | |||
== Pages Apparentées == | == Pages Apparentées == | ||
{{hcalendar-related-pages-fr}} | {{hcalendar-related-pages-fr}} | ||
== Traductions == | |||
Lisez la spécification hCalendar dans d'autres <span id="languages-fr">langues</span> : | |||
* [[hcalendar|anglais-US]] - seule version normative de référence. | |||
* [[hcalendar-ja|日本語]] (japonais) | |||
* [[hcalendar-pl|Polski]] (polonais) | |||
* [[hcalendar-ru|Русский]] (russe) | |||
[[Category:Specifications]] | |||
[[Category:hCalendar]] |
Latest revision as of 16:24, 18 July 2020
Tantek Çelik (Editeur, Auteur), Brian Suda (Auteur) (Traduction : Christophe Ducamp : hCalendar - Seule la spécification originale fait référence)
hCalendar est un format simple, ouvert pour publier des événements sur le web en utilisant une représentation 1:1 des propriétés VEVENT iCalendar (RFC2445) et valeurs en HTML. hCalendar est l'un des nombreux microformats standards ouverts adaptable pour l'embarquement de données dans le HTML/HTML5, et Atom/RSS/XHTML ou autre XML.
Les déclarations de Copyright et brevets sont en vigueur. Voir les remerciements.
Exemple
Voici un évènement simple en prose :
Le site microformats.org a été lancé le 2005-06-20 lors de la Conférence Supernova à San Francisco, CA, USA.
marqué avec hCalendar
<span class="vevent">
<span class="summary">Le site microformats.org a été lancé</span>
le <span class="dtstart">2005-06-20</span>
lors de la Conférence Supernova
à <span class="location">San Francisco, CA, USA</span>.
</span>
Vous voulez démarrer par écrire un événement hCalendar ? Utilisez le hCalendar creator pour écrire un événement et le publier, ou suivez les trucs de publication hCalendar pour ajouter de la syntaxe hCalendar à votre page d'évènements à venir ou des événements que vous mentionnez dans vos billets de blogs, wikis, etc.
Statut
hCalendar 1.0 est une spécification microformats.org. La discussion publique sur hCalendar a pris place sur hcalendar-feedback, le canal irc #microformats sur irc.freenode.net, et la liste de discussion microformats-discuss.
Langues disponibles
La version anglaise de cette spécification est la seule version normative. Pour les traductions de ce document, voir la section #traductions.
Errata et Mises à Jour
Les erreurs connues et problématiques dans cette spécification sont corrigées dans les problématiques résolues et fermées. Vérifiez-les svp avant de rapporter des problématiques.
Notez en particulier la problématique-dtend qui impacte les dates de fin. Les implémentations DEVRAIENT implémenter la résolution de cette question aussi rapidement que possible.
La mise à jour hCalendar 1.0.1 est actuellement en développement et incorpore les corrections connues tout comme le modèle-de-classe-value.
Introduction
Le standard iCalendar (RFC2445), a été très largement mis en œuvre 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 HTML sémantique. Les blogueurs peuvent embarquer à la fois les événements hCalendar directement dans leurs pages web, et les styliser 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.
Les mots-clés "DOIT", "NE DOIT PAS", "OBLIGATOIRE", "DEVRA", "NE DEVRA PAS", "DEVRAIT", "NE DEVRAIT PAS", "RECOMMANDÉ", "PEUT" et "OPTIONNELLE" dans ce document doivent être interprétés comme décrits dans la RFC 2119.
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.
- 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.
- Pour les types avec plusieurs composants, utilisez des éléments imbriqués avec des noms de classe équivalents aux noms des composants.
- 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.
- Utilisez la sémantique XHTML la plus précise pour construire des blocs pour chaque objet, etc.
- 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>
). - 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 '-'.
- 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
Pour les implémentations pratiques, il devrait être noté que le support d'Internet Explorer pour styliser les éléments <abbr>
est pauvre et peut obliger à emballer les éléments.
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'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'imbrication des objets iCalendar directement à l'intérieur des éléments XHTML imbriqués.
Nom de Classe Racine
Le nom de classe racine pour hCalendar est "vcalendar". Un élément avec un nom de classe "vcalendar" est lui-même appelé un hCalendar.
Le nom de classe racine pour les événements est "vevent". Un élément avec un nom de classe "vevent" est lui-même appelé un événement hCalendar.
Pour la commodité de publication, tant "vevent" et "vcalendar" sont traités comme des noms de classes racine pour les objectifs de parsage. Si un document contient des éléments avec le nom de classe "vevent" mais pas "vcalendar", la totalité du document a un contexte implicite "vcalendar".
vevent devrait être considéré comme obligatoire pour chaque inscription d'événement.
Propriétés et sous-propriétés
Les propriétés d'un hCalendar sont représentées par des éléments à l'intérieur du hCalendar. Les éléments avec les noms de classes des propriétés listées représentent les valeurs de ces propriétés. Quelques propriétés ont des sous-propriétés, et celles-ci sont représentées par des éléments à l'intérieur des éléments pour les propriétés.
Liste des Propriétés
Les propriétés hCalendar (sous-propriétés entre parenthèses comme ceci)
Requis :
- dtstart (ISO date)
- summary
Optionnel :
- location
- url
- dtend (ISO date), duration (ISO date duration)
- rdate, rrule
- category, description
- uid
- geo (latitude, longitude)
- attendee (partstat, role), contact, organizer
- attach
- status
- ... note de l'auteur : cette liste est incomplète (une liste incomplète est mieux que pas de liste) et est en train d'être rédigée à partir de la RFC2445 vers ici. La liste au-dessus des propriétés sont celles qui sont souvent utilisées dans hCalendar sur le web.
Profil
Le profil XMDP hCalendar est sur http://microformats.org/profile/hcalendar
Le contenu qui utilise hCalendar DEVRAIT référencer ce profil, c'est à dire :
<head profile="http://microformats.org/profile/hcalendar">
ou
<link rel="profile" href="http://microformats.org/profile/hcalendar">
ou
Ce contenu utilise <a rel="profile" href="http://microformats.org/profile/hcalendar">hCalendar</a>.
Le contenu peut combiner les méthodes au-dessus.
Plus d'Equivalents Sémantiques
Pour quelques propriétés il existe un équivalent plus sémantique, et par conséquent elles reçoivent un traitement particulier, par exemple :
URL
dans iCalendar devient<a class="url" href="...">...</a>
à l'intérieur de l'élément avecclass="vevent"
dans le hCalendar.ATTENDEE
,CONTACT
, etORGANIZER
dans le iCalendar PEUVENT être représentés par une hCard dans le hCalendar .- Un lieu nommé
LOCATION
(potentiellement avec une adresse et/ou geo) dans iCalendar PEUT être représenté par une hCard imbriquée dans le hCalendar. De la même façon, une adresseLOCATION
PEUT être représentée par un adr et un geo (latitude et longitude)LOCATION
PEUT être représenté par un geo. UID
dans le iCalendar devient simplement une autre sémantique appliquée à un URL spécifique pour un événement hCalendar.ATTACH
dans iCalendar devient un élément img ou object (où la valeur est stocké dans/retrouvée à partir des attributs 'src' ou 'data' respectivement). Un<a class="attach" href="...">...</a>
peut aussi être utilisé, auquel cas l'attribut href est utilisé pour la valeur de propriété.
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 extrait 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é.
Propriétés Plurielles 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 est 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 une version humainement 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 :
- DTSTART, DTEND, DURATION, RDATE, RRULE
Exemples
Voici un exemple échantillon avec plusieurs jours dans un iCalendar:
BEGIN:VCALENDAR
PRODID:-//XYZproduct//EN
VERSION:2.0
BEGIN:VEVENT
URL:http://conferences.oreillynet.com/pub/w/40/program.html
DTSTART:20051005
DTEND:20051008
SUMMARY:Web 2.0 Conference
LOCATION:Argent Hotel\, San Francisco\, CA
END:VEVENT
END:VCALENDAR
et un événement équivalent dans un format hCalendar avec différents éléments optimisés de façon appropriée. Voir hCalendar-exemple1-étapes pour la dérivation.
<div class="vevent">
<a class="url" href="http://conferences.oreillynet.com/pub/w/40/program.html">
http://conferences.oreillynet.com/pub/w/40/program.html
</a>
<span class="summary">Web 2.0 Conference</span>:
<abbr class="dtstart" title="2005-10-05">October 5</abbr>-
<abbr class="dtend" title="2005-10-07">7</abbr>,
at the <span class="location">Argent Hotel, San Francisco, CA</span>
</div>
Qui pourrait être affiché comme :
http://conferences.oreillynet.com/pub/w/40/program.html Web 2.0 Conference: October 5- 7, at the Argent Hotel, San Francisco, CA
Note 1 : Remarquez que c'est un microformat hCalendar live, qui sera trouvé sur cette page par les parseurs.
Note 2 : Cet exemple avait "2005-10-08" comme la valeur de dtend, mais selon la résolution de la problématique-dtend, cette valeur a été modifié en "2005-10-07" afin d'encourager les éditeurs/implémenteurs à mettre à jour immédiatement leur code/marquage et le le tester.
Note 3 : Remarquez que le iCalendar dans la première partie de l'exemple a le code DTEND:20051008
. Ce "8" n'est pas une faute de typo. iCalendar utilise des dates de fin globalesexclusives (valeurs DTEND) et par conséquent requiert que la valeur DTEND soit réglée sur le jour complet après ce que les auteurs de contenu affichent de manière visible comme la date de fin d'un événement. La convention des dates de fin exclusives de iCalendar s'est avérée comme problematique et déroutante pour les auteurs de contenus et les éditeurs. Par conséquent, selon la résolution de la problématique dtend dans le hCalendar, la date de fin est déclarée exactement comme ce que publient les événements existants comme dates de fin visibles pour les humains, avec une date de fin inclusive (valeur de propriété dtend), dans cet exemple, 2005-10-07.
Exemple de réunion
L'exemple suivant spécifie un rendez-vous programmé qui commence le 12 mars 1998 à 08:30 EST et se termine à 09:30 EST le 12 mars 1998.
BEGIN:VCALENDAR
BEGIN:VEVENT
UID:guid-1.host1.com
DTSTAMP:19980309T231000Z
DESCRIPTION:Project XYZ Review Meeting
SUMMARY:XYZ Project Review
DTSTART:19980312T133000Z
DTEND:19980312T143000Z
LOCATION:1CP Conference Room 4350
END:VEVENT
END:VCALENDAR
L'équivalent en hCalendar :
<div class="vevent">
<h3 class="summary">XYZ Project Review</h3>
<p class="description">Project XYZ Review Meeting</p>
<p>To be held on
<span class="dtstart">
<abbr class="value" title="1998-03-12>the 12th of March</abbr>
from <span class="value">8:30am</span> <abbr class="value" title="-0500">EST</abbr>
</span> until
<span class="dtend">
<span class="value">9:30am</span> <abbr class="value" title="-0500">EST</abbr>
</span>
</p>
<p>Location: <span class="location">1CP Conference Room 4350</span></p>
<small>Booked by: <span class="uid">guid-1.host1.com</span> on
<span class="dtstamp">
<abbr class="value" title="1998-03-09">the 9th</abbr> at <span class="value">6:00pm</span>
</span>
</small>
</div>
Ceci pourrait s'afficher comme :
XYZ Project Review
Project XYZ Review Meeting
To be held on until
Location: 1CP Conference Room 4350
Booked by: guid-1.host1.com onNote 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 que le contexte d'un vcalendar est implicite quand un vevent est rencontré. Le contexte/étendue implicite 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 de qui est utilisé/référencé dans l'attribut 'profile' de l'élément <head>.
Note 4 : Les dates-horaires ISO8601 (requis par iCalendar) ne sont pas très humains. En outre, l'année est souvent comprise implicitement par les humains à partir du contexte. Par conséquent, le modèle de classe value et les éléments <abbr>
sont utilisés pour fournir simultanément des dates et/ou horaires compréhensibles par les humains dans les contenus visibles de l'élément, tout en plaçant respectivement des dates et horaires ISO8601 parsables par les machines si c'est nécessaire dans l'attribut 'title'. Selon le modèle-de-classe-value, les dates et horaires séparés DEVRAIENT être utilisés par les auteurs plutôt qu'un date-horaire complet ISO8601, et ce pour une meilleure lisibilité et écoute.
Note 5 : Selon la résolution dtend-problématique, les dates DTEND sont fournies parce que les humains s'attendent à ce qu'elles soient (cohérentes avec le jour à laquelle un événement se termine), plutôt que la définition trompeuse de iCalendar (le jour d'après). De ce fait, les processeurs de hCalendar qui produisent des iCalendar doivent faire la transformation, ce qui revient à traiter une date de fin hCalendar globale dtend
comme *inclusive*, et la convertir en une date de fin *DTEND exclusive* au moment de produire iCalendar.
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.
Plus d'exemples
Voir hCalendar exemples pour plus d'exemples, y compris des exemples extraits de la RFC 2445 iCalendar convertis en hCalendar.
Exemples dans la jungle
Cette section est informative. Le nombre d'exemples hCalendar dans la jungle a grandi bien au-delà de la capacité de pouvoir être maintenus à l'intérieur de cette spécification. Ils ont été migrés vers une page séparée.
Voir hCalendar Exemples dans la jungle.
Implémentations
Cette section est à des fins d'étude. Le nombre d'implémentations hCalendar a grandi bien au delà des capacités de pouvoir les maintenir dans la page. Elles ont été migrées vers une page séparée.
Voir hCalendar Implementations.
Articles
Cette section est à des fins d'étude.
Voir : articles-hCalendar.
Boutons
Cette section est à des fins d'étude. N'oubliez pas que vous pouvez ajouter un de nos boutons vers la page, pour indiquer la présence de microformats hCalendar. Par exemple : . Si vous pouvez le lier vers cette page (ou même sur une page sur votre site web, à propos de votre utilisation des microformats), plus il y en aura, mieux ce sera !
Copyright
Selon la parution dans le domaine public sur les pages utilisateur des auteurs (Tantek Çelik, Brian Suda), cette spécification est tombée dans le domaine public.
Obligation de Contribution dans le Domaine Public. Du fait que le(s) auteur(s) aient publié leurs travaux dans le domaine public, afin de maintenir le statut de ce travail dans le domaine public, tous les contributeurs sur cette page sont aussi d'accord pour publier leurs contributions dans le domaine public. Les contributeurs peuvent indiquer leur consentement en ajoutant le modèle "public-domain-release" sur leur page utilisateur selon les instructions de Déclarations d'être Volontaire pour le Domaine Public. Les contributions non publiées dans le domaine public peuvent être défaites/retirées.
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.
Références
Références Normatives
Références Informatives
- CSS1
- terme hCalendar présenté et défini sur le Web, 20040930
- FOO Camp 2004 HTML For Calendars presentation, 20040911
- FOO Camp 2004 Simple Semantic Formats presentation, 20040910
- iCal-Basic (latest) (draft 04)
- W3C Note sur les Formats de Dates et d'Heure
- Internet Mail Consortium Personal Data Interchange vCard and vCalendar
- Contributed from http://developers.technorati.com/wiki/hCalendar
Spécifications qui utilisent hCalendar
Travaux en rapport
Pour aller plus loin
- jwz - Hula (à lire)
- Groupware Bad de Jamie Zawinski critallise la raison pour hCalendar (emphase ajoutée ) :
"A cette heure, les gens font cela en publiant des fichiers .ics, mais ce n'est pas trivial de faire ainsi, et c'est du travail de la part des autres personnes pour les regarder. 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."
- Jason Klemow's blog
- Moving forward with microformats de Jon Udell fournit un exemple hCalendar et quelque discussion.
- Voir aussi les blogs qui discutent de cette page et le tag hCalendar
- article Wikipedia sur hCalendar (requiert un remaniement, une expansion et une traduction)
- Getting Semantic With Microformats, Part 4: hCalendar par Emily Lewis - (Traduction en français)
- Microformats: The Art of Markup: hCalendar par Andy Clarke
- A tribute to Microformats (a reader question answered) par Andy Clarke
Inspiration et Remerciements
Merci à :
- Adam Bosworth pour avoir mené la présentation FOO Camp 2004 HTML For Calendars presentation qui a rassemblé une masse critique de personnes intéressées.
Pages Apparentées
- hCalendar - spécification
- hCalendar intro - présentation en langage clair
- hCalendar publication - apprendre comment ajouter le balisage hCalendar à vos événements existants.
- hCalendar creator (hCalendar feedback) - créer vos propres événements hCalendar.
- hCalendar antisèche - propriétés hCalendar
- hCalendar exemples dans la jungle - une liste continuellement mise à jour de sites web qui utilisent hCalendar.
- hCalendar implementations - les sites web ou outils qui soit génèrent ou parsent les hCalendars.
- hCalendar FAQ - Si vous avez quelque question à propos de hCalendar, jetez un coup d'oeil ici.
- hCalendar parsage - détails normatifs sur la manière de parser hCalendar.
- hCalendar profil - le profil XMDP pour hCalendar
- hCalendar tests - une page wiki avec de véritables événements hCalendar embarqués pour essayer le parsage.
- hCalendar "to do" - tâches à faire
- hCalendar soutien - encourager les autres à utiliser hCalendar.
Cette spécification est un chantier en cours. Au fur et à mesure que les aspects additionnels sont discutés, compris et écrits, ils seront ajoutés. Ces idées et questions sont maintenues sur des pages séparées.
- hCalendar Brainstorming - brainstormings et autres explorations en rapport avec hCalendar
- hCalendar problématiques - problématiques avec la spécification
Traductions
Lisez la spécification hCalendar dans d'autres langues :
- anglais-US - seule version normative de référence.
- 日本語 (japonais)
- Polski (polonais)
- Русский (russe)