hatom-fr: Difference between revisions

From Microformats Wiki
Jump to navigation Jump to search
m (→‎Schéma: link restored)
m (Replace <entry-title> with {{DISPLAYTITLE:}})
 
(37 intermediate revisions by 10 users not shown)
Line 1: Line 1:
<h1> hAtom 0.1 </h1>
{{DISPLAYTITLE: hAtom 0.1 }}
{{Template:DraftSpecification-fr}}


hAtom est un microformat pour le contenu qui peut être syndiqué, initialement conçu pour les billets de blog mais pas exclusivement. hAtom est basé sur un sous-ensemble du format de syndication [http://www.atomenabled.org/ Atom]. hAtom est l'un des nombreux standards ouverts [[microformats-fr|microformats]].
hAtom est un microformat pour le contenu qui peut être syndiqué, initialement conçu pour les billets de blog mais pas exclusivement. hAtom est basé sur un sous-ensemble du format de syndication [http://www.atomenabled.org/ Atom]. hAtom sera l'un des nombreux [[microformats-fr|microformats]] standards ouverts.
__TOC__
== Spécification Draft ==
 
<div class="vcard">
;<span class="role">Editor/Author</span>
:<span class="fn">[http://blogmatrix.blogmatrix.com/ David Janes]</span> <span class="org">([http://www.blogmatrix.com BlogMatrix, Inc.])</span>
</div>
 
;Contributeurs
:<span class="vcard"><span class="fn">[http://members.optusnet.com.au/benjamincarlyle/benjamin/blog/ Benjamin Carlyle]</span></span>
:<span class="vcard"><span class="fn">[[User:Tantek|Tantek Çelik]]</span> (<span class="url">http://tantek.com/</span> and before at [http://technorati.com Technorati, Inc.])</span>
 
;Traduction
:<span class="vcard"><span class="fn">[[User:ChristopheDucamp|Christophe Ducamp]]</span>


__TOC__
== Spécification Brouillon ==


=== Editeur/Auteur ===
Les déclarations de [[hatom-fr#Copyright|copyright]] de [[hatom-fr#Brevet|brevets]] sont en vigueur.
* [http://blogmatrix.blogmatrix.com/ David Janes], [http://www.blogmatrix.com BlogMatrix, Inc.]
 


=== Contributeurs ===
== Statut ==
* [http://members.optusnet.com.au/benjamincarlyle/benjamin/blog/ Benjamin Carlyle]
hAtom 0.1 est une spécification draft microformats.org. La discussion publique sur hAtom a lieu sur [[hatom-feedback]], le canal [[irc]] #microformats sur irc.freenode.net, et [http://microformats.org/discuss/mail/microformats-discuss/ microformats-discuss et liste de diffusion].
* [http://tantek.com/ Tantek Çelik], [http://technorati.com Technorati, Inc.]


(Traduction en cours par [[Christophe Ducamp]], reste un gros travail de vérification - chantier en cours avec le travail sur la définition des blogs)
=== Langues disponibles ===
La version anglaise de cette spécification est la seule version normative. Pour les traductions de ce document voir la section [[#traductions]].


=== Copyright ===
=== Errata et Mises à Jour ===
{{MicroFormatCopyrightStatement2005-fr}}
Des erreurs connues et des préoccupations dans cette spécification sont corrigées dans les problématiques [[hatom-issues-resolved|résolues]] et [[hatom-issues-closed|fermées]].
SVP vérifiez là-bas avant de rendre compte de [[hatom-issues|problématiques]].


=== Patents ===
La mise à jour hAtom 0.2 est actuellement en développement et incorpore des corrections connus d'errata tout comme le [[value-class-pattern-fr|modèle-de-classe-value]].
{{MicroFormatPatentStatement-fr}}


== Introduction ==
== Introduction ==
hAtom est un [[microformat-fr|microformat]] pour identifier l'information sémantique dans les billets de blog et pratiquement n'importe quel autre endroit [http://www.atomenabled.org/ Atom] peut être utilisé, comme les articles d'actualités. Le contenu hAtom est facilement ajouté à la plupart des blogs par de simples modifications aux définitions du gabarit du blog.
{{rfc-2119-intro-fr}}


hAtom est un [[microformat-fr|microformat]] pour identifier l'information sémantique dans les billets de blog et pratiquement n'importe quel autre endroit [http://www.atomenabled.org/ Atom] peut être utilisé, comme les articles d'actualités. Le contenu hAtom est facilement ajouté à la plupart des blogs par de simples modifications aux définitions du gabarit du blog.


== Principes de Design XHTML Sémantique ==
== Principes de Design XHTML Sémantique ==
Line 42: Line 57:


* hfeed ('''<code>hfeed</code>'''). optionnel.
* hfeed ('''<code>hfeed</code>'''). optionnel.
* hentry ('''<code>hentry</code>''').  
** '''<code>feed category</code>'''. optionnel. mots-clé ou phrases, en utilisant '''[[rel-tag-fr|rel-tag]]'''.
** '''<code>entry-title</code>'''. requis. texte.
** [[hentry-fr|hentry]] ('''<code>hentry</code>''').  
** '''<code>entry-content</code>'''. optionnel (voir description du champ). texte.
*** '''<code>entry-title</code>'''. requis. texte.
** '''<code>entry-summary</code>'''. optionnel. texte.
*** '''<code>entry-content</code>'''. optionnel (voir desription champ). texte. [*]
** '''<code>updated</code>'''. requis utilise le [[datetime-design-pattern-fr|datetime-design-pattern]].
*** '''<code>entry-summary</code>'''. optionnel. texte.
** '''<code>published</code>'''. optionnel, utilise le [[datetime-design-pattern-fr|datetime-design-pattern]].
*** '''<code>updated</code>'''. requis en utilisant le [[datetime-design-pattern-fr|datetime-design-pattern]]. [*]
** '''<code>author</code>'''. requis utilise '''[[hcard-fr|hCard]]'''.
*** '''<code>published</code>'''. optionnel en utilisant le [[datetime-design-pattern-fr|datetime-design-pattern]].
** '''<code>bookmark</code>''' (permalien). optionnel, utilise '''[[rel-bookmark-fr|rel-bookmark]]'''.
*** '''<code>author</code>'''. requis en utilisant '''[[hcard-fr|hCard]]'''. [*]
** tags. optionnel. mots-clés ou phrases, utilise '''[[rel-tag-fr|rel-tag]]'''.
*** '''<code>bookmark</code>''' (permalink). optionnel en utilisant  '''[[rel-bookmark-fr|rel-bookmark]]'''.
*** tags. optionnel. mots-clés ou phrases, utilise '''[[rel-tag-fr|rel-tag]]'''.


Quelques éléments requis ont des valeurs par défaut si elles manquent, voir en-dessous.
[*] Quelques éléments requis ont des valeurs par défaut si elles manquent, voir en-dessous.


=== Détails Champ et Elément ===
=== Détails Champ et Elément ===
===== Feed =====
* un élément Feed est identifié par le nom de classe <code>hfeed</code>
* un élément Feed représente le concept d'un [http://www.atomenabled.org/developers/syndication/atom-format-spec.php#rfc.section.4.1.1 fil Atom]
* l'élément Feed est optionnel et s'il manque, il est supposé être la page
* les documents hAtom PEUVENT avoir plusieurs éléments Feed.


===== Fil =====
=====  Feed Category =====
* un élément Fil est identifié par le nom de classe <code>hfeed</code>
* un élément Feed Category est identifié par [[rel-tag-fr|rel-tag]]
* un élément Fil représente le concept d'un [http://www.atomenabled.org/developers/syndication/atom-format-spec.php#rfc.section.4.1.1 fil Atom]
* un Fil PEUT avoir un Feed Category
* l'élément Fil est optionnel et s'il manque, il est supposé être la page
* un élément Feed Category représente le concept d'une  [http://www.atomenabled.org/developers/syndication/atom-format-spec.php#rfc.section.4.2.2 catégorie Atom] dans un [http://www.atomenabled.org/developers/syndication/#optionalFeedElements fil]
* les documents hAtom PEUVENT avoir plusieurs éléments Fil.
* les éléments Feed Category DOIVENT apparaitre à l'intérieur d'un élément Fil mais pas à l'intérieur d'un élément Entrée
 
=====  Fil Catégorie =====
* un élément Fil Catégorie est identifié par [[rel-tag-fr|rel-tag]]
* un Fil PEUT avoir un Fil Catégorie
* un élément Fil Catégorie représente le concept d'une  [http://www.atomenabled.org/developers/syndication/atom-format-spec.php#rfc.section.4.2.2 catégorie Atom] dans un [http://www.atomenabled.org/developers/syndication/#optionalFeedElements fil]
* les éléments Catégorie Fil DOIVENT apparaître à l'intérieur d'un élément Fil mais pas à l'intérieur d'un élément Entrée
* le [[rel-tag-fr|rel-tag]] <code>href</code> encode le <code>category:term</code> atom ; le lien texte définit la <code>category:label</code> atom.
* le [[rel-tag-fr|rel-tag]] <code>href</code> encode le <code>category:term</code> atom ; le lien texte définit la <code>category:label</code> atom.


===== Entrée =====
===== Entry =====
* un élement Entrée est identifié par le nom de classe <code>hentry</code>
* un élement Entry est identifié par le nom de classe <code>hentry</code>
* un élement Entrée représente le concept d'une [http://www.atomenabled.org/developers/syndication/atom-format-spec.php#rfc.section.4.1.2 entrée Atom]
* un élement Entry représente le concept d'une [http://www.atomenabled.org/developers/syndication/atom-format-spec.php#rfc.section.4.1.2 entrée Atom]
* tout contenu microformat à l'intérieur d'un élément <code>&lt;blockquote></code> ou <code>&lt;q></code> dans l'Entrée ne devrait pas être considéré comme partie de l'Entrée.
* tout contenu microformat à l'intérieur d'un élément <code>&lt;blockquote></code> ou <code>&lt;q></code> dans l'Entry ne devrait pas être considéré comme partie de l'Entry.
: ''Ceci permet la citation d'autres données microformatées sans se soucier de corrompre le modèle''
: ''Ceci permet la citation d'autres données microformatées sans se soucier de corrompre le modèle''


===== Catégorie Entrée =====
===== Entry Category =====
* un élément Catégorie Entrée est identifié par [[rel-tag-fr|rel-tag]]
* un élément Entry Category est identifié par [[rel-tag-fr|rel-tag]]
* une Entrée PEUT avoir une Catégorie Entrée
* une Entrée PEUT avoir une Entry Category
* un élément Catégorie Entrée représente le concept d'une [http://www.atomenabled.org/developers/syndication/atom-format-spec.php#rfc.section.4.2.2 catégorie Atom] à l'intérieur d'une [http://www.atomenabled.org/developers/syndication/#optionalEntryElements entrée]
* un élément Entry Category représente le concept d'une [http://www.atomenabled.org/developers/syndication/atom-format-spec.php#rfc.section.4.2.2 catégorie Atom] à l'intérieur d'une [http://www.atomenabled.org/developers/syndication/#optionalEntryElements entrée]
* le [[rel-tag-fr|rel-tag]] <code>href</code> encode le <code>category:term</code> atom ; le lien texte définit la <code>category:label</code> atom
* le [[rel-tag-fr|rel-tag]] <code>href</code> encode le <code>category:term</code> atom ; le lien texte définit la <code>category:label</code> atom


===== Entry Title =====
===== Entry Title =====
* un élément Entry Title est identifié par le nom de classe <code>entry-title</code>
* un élément Entry Title ('entry-title') est identifié par le nom de classe <code>entry-title</code>
* une Entrée DEVRAIT avoir un Entry Title
* une Entry DEVRAIT avoir une Entrée Titre
* un élément Entry Title représente le concept d'une  [http://www.atomenabled.org/developers/syndication/atom-format-spec.php#rfc.section.4.2.14 entrée titre Atom]
* un élément 'Entry Title' représente le concept d'une  [http://www.atomenabled.org/developers/syndication/atom-format-spec.php#rfc.section.4.2.14 entrée titre Atom]
* si Entry Title manque, utilisez  
* si 'Entry Title' manque, utilisez  
** le premier élément <code>&lt;h#></code> dans l'Entrée, ou  
** le premier élément <code>&lt;h#></code> dans l'Entry, ou  
** le <code>&lt;title></code> de la page, s'il n'y a pas d'élément Feed enclos, ou
** le <code>&lt;title></code> de la page, s'il n'y a pas d'élément Feed enclos, ou
** assumez que ce soit la chaîne vide
** supposez que ce soit la chaîne vide


===== Entry Content =====
===== Entry Content =====
* un élément "Entry Content" est identifié par le nom de classe  <code>entry-content</code>
* un élément "Entry Content" est identifié par le nom de classe  <code>entry-content</code>
* une Entrée DEVRAIt avoir une Entrée Contenu
* une Entry DEVRAIT ({{should-fr}}) avoir une Entrée Contenu
* un élément "Entry Content" représente le concept d'un [http://www.atomenabled.org/developers/syndication/atom-format-spec.php#atomContent contenu Atom]
* un élément "Entry Content" représente le concept d'un [http://www.atomenabled.org/developers/syndication/atom-format-spec.php#atomContent contenu Atom]
* une Entrée PEUT avoir 0 or plus éléments "Entry Content". L'"Entry Content" logique d'une Entrée est la concaténation, par ordre d'apparition, de toutes les Entrées de Contenus dans l'Entrée.
* une Entry PEUT ({{may-fr}}) avoir 0 or plus éléments "Entry Content". L'"Entry Content" logique d'une Entrée est la concaténation, par ordre d'apparition, de toutes les Entrées de Contenus dans l'Entrée.
: ''Beaucoup de weblogs découpent le contenu en plusieurs sections avec un lien "En savoir plus" et des trucs javascript. Ceci est aussi requis dans les cas où les 'entry-title' sont codés dans la ligne et sont considérés comme partie du contenu.''
: ''Beaucoup de weblogs découpent le contenu en plusieurs sections avec un lien "En savoir plus" et des trucs javascript. Ceci est aussi requis dans les cas où les 'entry-title' sont codés dans la ligne et sont considérés comme partie du contenu.''
* si 'Entry-Content' manque, supposez que c'est la chaîne vide.
* si 'Entry-Content' manque, supposez que c'est la chaîne vide.
Line 100: Line 115:
===== Entry Summary =====
===== Entry Summary =====
* un élément Entry Summary est identifié par le nom de classe <code>entry-summary</code>
* un élément Entry Summary est identifié par le nom de classe <code>entry-summary</code>
* un élément Entry Summary représente le concept d'un [http://www.atomenabled.org/developers/syndication/atom-format-spec.php#rfc.section.4.2.13 summary Atom]
* un élément 'Entry Summary' représente le concept d'un [http://www.atomenabled.org/developers/syndication/atom-format-spec.php#rfc.section.4.2.13 summary Atom]
* une Entrée PEUT avoir 0 ou plus d'éléments 'Entry Summary'. L'"Entry Summary" logique d'une Entrée est la concaténation par ordre d'apparition, de tous les 'Entry Summary' dans l'Entrée.
* une 'Entry' PEUT ({{may-fr}}) avoir 0 ou plus d'éléments 'Entry Summary'. L'"Entry Summary" logique d'une Entry est la concaténation par ordre d'apparition, de tous les 'Entry Summary' dans l' 'Entry'.


===== Entry Permalink =====
===== Entry Permalink =====
* un élément 'Entry Permalink' est identifié par [[rel-bookmark-fr|rel-bookmark]]
* un élément 'Entry Permalink' est identifié par [[rel-bookmark-fr|rel-bookmark]]
* une Entrée DEVRAIT avoir un 'Entry Permalink'
* une Entry DEVRAIT ({{should-fr}}) avoir une 'Entry Permalink'
* un élément 'Entry Permalink' représente le concept d'un [http://www.atomenabled.org/developers/syndication/atom-format-spec.php#rfc.section.4.2.7 lien Atom dans une entrée]
* un élément 'Entry Permalink' représente le concept d'un [http://www.atomenabled.org/developers/syndication/atom-format-spec.php#rfc.section.4.2.7 lien Atom dans une entrée]
* si 'Entry Permalink' manque, utilisez l'URI de la page ; si l'Entrée n'a pas d'attribut "id", ajoutez cela comme un fragment vers l'URI de la page pour distinguer les entrées individuelles  
* si 'Entry Permalink' manque, utilisez l'URI de la page ; si l'Entry n'a pas d'attribut "id", ajoutez cela comme un fragment vers l'URI de la page pour distinguer les entrées individuelles  


===== Entry Updated =====
===== Entry Updated =====
* an Entry Updated element is identified by class name <code>updated</code>
* un élément 'Entry Updated' est identifié par le nom de classe <code>updated</code>
* an Entry Updated element represents the concept of [http://www.atomenabled.org/developers/syndication/atom-format-spec.php#rfc.section.4.2.15 Atom updated]
* un élément 'Entry Updated' représente le concept de [http://www.atomenabled.org/developers/syndication/atom-format-spec.php#rfc.section.4.2.15 Atom updated]
* an Entry SHOULD have an Entry Updated element
* une Entry DEVRAIT ({{should-fr}}) avoir un élément 'Entrée Mise à jour'
* use the [[datetime-design-pattern]] to encode the updated datetime
* utiliser le [[datetime-design-pattern-fr|datetime-design-pattern]] pour encoder la date et l'heure de mise à jour
* if there is no Entry Updated element,
* s'il n'existe pas d'élément 'Entry Updated',  
** use the Entry Published element, if present
** utilisez l'élément 'Entry Published' si présent
** otherwise the page is invalid hAtom
** autrement la page est invalide hAtom


===== Entry Published =====
===== Entry Published =====
* an Entry Published element is identified by the class name <code>published</code>
* un élément 'Entry Published' est identifié par le nom de classe <code>published</code>
* an Entry Published element represents the concept of [http://www.atomenabled.org/developers/syndication/atom-format-spec.php#rfc.section.4.2.9 Atom published]
* un élément 'Entry Published' représente le concept de [http://www.atomenabled.org/developers/syndication/atom-format-spec.php#rfc.section.4.2.9 Atom published]
* use the [[datetime-design-pattern-fr|datetime-design-pattern]] to encode the published datetime
* utilisez le [[datetime-design-pattern-fr|datetime-design-pattern]] pour encoder la date et l'heure de publication


===== Entry Author =====
===== Entry Author =====
* an Entry Author element is represented by class name <code>author</code>
* un élément 'Entry Author' est représenté par le nom de classe <code>author</code>
* an Entry Author element represents the concept of an [http://www.atomenabled.org/developers/syndication/atom-format-spec.php#rfc.section.4.2.1 Atom author]
* un élément 'Entry Author' représente le concept d'un [http://www.atomenabled.org/developers/syndication/atom-format-spec.php#rfc.section.4.2.1 Atom author]
* an Entry Author element MUST be encoded in an [[hcard-fr|hCard]]
* un élément 'Entry Author' ({{must-fr}}) être encodé dans une [[hcard-fr|hCard]]
* an Entry Author element SHOULD be encoded in an <code>&lt;address></code> element
* un élément 'Entry Author' {{should-fr}} être encodé dans un élément <code>&lt;address></code>
* an Entry SHOULD have at least one Entry Author element
* une Entry DEVRAIT avoir au moins un élément 'Entry Author'
* an Entry MAY have more than one Entry Author elements
* une Entry PEUT avoir plus qu'un élément 'Entry Author'
* if the Entry Author is missing
* si l'Entrée Auteur manque
** find the [[algorithm-nearest-in-parent-fr|Nearest In Parent]] <code>&lt;address></code> element(s) with class name <code>author</code> and that is/are a valid [[hcard-fr|hCard]]
** trouvez le(s) élément(s) <code>&lt;address></code> [[algorithm-nearest-in-parent-fr|Plus Proche En Parent]] avec le nom de classe <code>author</code> et qui soit/soient une [[hcard-fr|hCard]] valide.
** otherwise the entry is invalid hAtom
** autrement l'entrée est hAtom invalide


=== Profil XMDP ===
=== Profil XMDP ===
<pre>
Voir [[hatom-profile-fr|hAtom-profile]].
<dl class="profile">
<dt>class</dt>
<dd><p>
  <a rel="help" href="http://www.w3.org/TR/html401/struct/global.html#adef-class">
  HTML4 definition of the 'class' attribute.</a>
  This meta data profile defines some 'class' attribute values (class names)
  and their meanings as suggested by a
  <a href="http://www.w3.org/TR/WD-htmllink-970328#profile">
  draft of "Hypertext Links in HTML"</a>.
  <dl>
  <dt>hfeed</dt>
  <dd>
    The concept of atom:feed from
    <a href="http://www.atomenabled.org/developers/syndication/atom-format-spec.php">The Atom Syndication Format</a>,
    constrained and modified as per the <a href="http://microformats.org/wiki/hatom">hAtom microformat spec</a>.
  </dd>
  <dt>hentry</dt>
  <dd>
    The concept of atom:entry from
    <a href="http://www.atomenabled.org/developers/syndication/atom-format-spec.php">The Atom Syndication Format</a>,
    constrained and modified as per the <a href="http://microformats.org/wiki/hatom">hAtom microformat spec</a>.
  </dd>
  <dt>entry-title</dt>
  <dd>
    The concept of atom:title inside of an atom:entry from
    <a href="http://www.atomenabled.org/developers/syndication/atom-format-spec.php">The Atom Syndication Format</a>,
    constrained and modified as per the <a href="http://microformats.org/wiki/hatom">hAtom microformat spec</a>.
  </dd>
  <dt>entry-content</dt>
  <dd>
    The concept of atom:content from
    <a href="http://www.atomenabled.org/developers/syndication/atom-format-spec.php">The Atom Syndication Format</a>,
    constrained and modified as per the <a href="http://microformats.org/wiki/hatom">hAtom microformat spec</a>.
  </dd>
  <dt>entry-summary</dt>
  <dd>
    The concept of atom:summary from
    <a href="http://www.atomenabled.org/developers/syndication/atom-format-spec.php">The Atom Syndication Format</a>,
    constrained and modified as per the <a href="http://microformats.org/wiki/hatom">hAtom microformat spec</a>.
  </dd>
  <dt>bookmark</dt>
  <dd>
    The concept of atom:link (without any "rel") with an atom:entry from
    <a href="http://www.atomenabled.org/developers/syndication/atom-format-spec.php">The Atom Syndication Format</a>,
    constrained and modified as per the <a href="http://microformats.org/wiki/hatom">hAtom microformat spec</a>.
  </dd>
  <dt>published</dt>
  <dd>
    The concept of atom:published from
    <a href="http://www.atomenabled.org/developers/syndication/atom-format-spec.php">The Atom Syndication Format</a>,
    constrained and modified as per the <a href="http://microformats.org/wiki/hatom">hAtom microformat spec</a>.
  </dd>
  <dt>updated</dt>
  <dd>
    The concept of atom:updated from
    <a href="http://www.atomenabled.org/developers/syndication/atom-format-spec.php">The Atom Syndication Format</a>,
    constrained and modified as per the <a href="http://microformats.org/wiki/hatom">hAtom microformat spec</a>.
  </dd>
  <dt>author</dt>
  <dd>
    The concept of atom:author from
    <a href="http://www.atomenabled.org/developers/syndication/atom-format-spec.php">The Atom Syndication Format</a>,
    constrained and modified as per the <a href="http://microformats.org/wiki/hatom">hAtom microformat spec</a>.
  </dd>
  </dl>
</dd>
</dl>
</pre>


== Exemples ==
== Exemples ==
Voir [[hatom-examples-fr|exemples hatom]].
Voir [[hatom-examples-fr|exemples hatom]].


== Exemples dans la jungle ==
== Exemples dans la jungle ==
Cette section est '''informative'''.
Voir [[hatom-examples-in-wild-fr|hAtom-exemples dans la jungle]]
== Implémentations ==
Cette section est '''informative'''.
Cette section est '''informative'''.


=== 0.1 implémentations hAtom ===
Les implémentations qui suivent ont été développées et elles génèrent ou parsent les liens hAtom. Si vous avez une implémentation hAtom, sentez-vous libre de l'ajouter en haut de cette liste. Une fois que la liste sera devenue trop grosse, nous produirons une page wiki séparée comme [[hatom-implementations]].
* [http://www.capital.edu Capital University] utilise hAtom 0.1 pour baliser le fil des derniers billets postés par les blogueurs étudiants sur sa page d'accueil.
* [http://blog.davidjanes.com Ranting and Roaring] (David Janes)
* [http://ChunkySoup.net/ ChunkySoup.net] a été redesigné en utilisant hAtom 0.1 et les hCards sur la totalité du site -- par [[User:ChrisCasciano|Chris Casciano]]
* [http://sedna.spip.org/sedna/ Sedna RSS] (un agrégateur de fils basé sur SPIP, par Fil, IZO et d'autres ; sources GPLisées disponibles sur la [http://zone.spip.org/trac/spip-zone/browser/_squelettes_/sedna SPIP-Zone])
* [http://members.optusnet.com.au/benjamincarlyle/benjamin/blog/ Sound Advice] (Benjamin Carlyle)
* [http://quotedprintable.com/pages/scribbish Scribbish] est un thème Typo qui utilise hAtom.
* [http://rbach.priv.at/hAtom2Atom/Changelog/ Le Changelog d'hAtom2Atom.xsl] est publié sous hAtom et Atom.
* [http://federali.st/ federali.st]'s webbed Federalist Papers sont tous balisés en hAtom.


=== Implémentations Pre 0.1 hAtom  ===
<!--
Ces pages se conforment à un standard brouillon plus ancien et ont besoin d'être mises à jour.


* [http://www.myelin.co.nz/post/ Second p0st] (Phil Pearson)
ajoutez les nouveaux items tout en HAUT de cette liste


== Implémentations ==
-->


Cette section est '''informative'''.
* http://code.google.com/p/spinn3r-client/ spinn3r-client] - implementé dans [http://spinn3r.com Spinn3r] et partie du [http://code.tailrank.com/feedparser FeedParser] et notre annonce de [http://blog.spinn3r.com/2008/01/announcing-spin.html hAtom dans Spinn3r 2.1]
* [http://www.fberriman.com fberriman.com] utilise hAtom 0.1 pour les billets de blog  (boucle wordpress) et hCard  -- par [[User:Phae|Frances Berriman]]
* Le [http://tools.blogmatrix.com/extract/ Parseur Microformat Presque Universel] peut extraire le contenu hAtom à partir de pages web. ([http://code.davidjanes.com/aumfp/demo/ demo])
* Le [http://www.trinityanne.com/tools/extract/ Parseur Microformat Presque Universel] peut extraire le contenu hAtom à partir de pages web. ([http://www.trinityanne.com/tools/extract/?uri=http%3A%2F%2Fblog.davidjanes.com&microformat=hatom&submit=Submit example])
* le script [http://www.trinityanne.com/tools/greasemonkey/microformat-action.user.js microformat-action] [[greasemonkey-fr|Greasemonkey]] détecte le contenu hAtom sur les pages web et appellera le [http://www.trinityanne.com/tools/extract/ Almost Universal Microformat Parser]
* [http://rbach.priv.at/hAtom2Atom/ hAtom2Atom.xsl] transforme hAtom en Atom (comme le suggère le nom.)
* [http://rbach.priv.at/hAtom2Atom/ hAtom2Atom.xsl] transforme hAtom en Atom (comme le suggère le nom.)
* Il existe désormais un [http://www.lukearno.com/projects/hatom2atom/ proxy hatom2atom] qui utilise hAtom2Atom.xsl.
* [http://placenamehere.com/article/185/SubscribingTohAtomFeedsWithNetNewsWire Subscribe To hAtom] est un script qui fournit aux utilisateurs de [http://ranchero.com/netnewswire/ NetNewsWire 2.x] la capacité de s'abonner à des documents hAtom comme ils le feraient avec n'importe quel autre fil. par [[User:ChrisCasciano|Chris Casciano]].
* [http://placenamehere.com/article/185/SubscribingTohAtomFeedsWithNetNewsWire Subscribe To hAtom] est un script qui fournit aux utilisateurs de [http://ranchero.com/netnewswire/ NetNewsWire 2.x] la capacité de s'abonner à des documents hAtom comme ils le feraient avec n'importe quel autre fil. par [[User:ChrisCasciano|Chris Casciano]].
* [http://boxtheweb.mihopa.net/code/apis/#outlineclasses Outline Classes] - a GPLisé son code PHP pour lire hAtom
* [http://boxtheweb.4x2.net/ BoxtheWeb] - supporte l'abonnement à hAtom sous un format fil
* Il existe un [http://code.google.com/p/transformr/downloads/detail?name=hatom%280.2%29.zip hAtom toolkit] qui extrait hAtom, il y aussi une [http://transformr.co.uk/ démo ici]
<!--
ajoutez les nouveaux items tout en HAUT de cette liste
-->
=== Copyright ===
{{MicroFormatCopyrightStatement2005-fr}}
* [[User:Tantek|Tantek]] : Je sors toutes mes contributions à cette spécification dans le domaine public et j'encourage les autres auteurs à faire ainsi.
** Quand tous les auteurs/éditeurs auront fait ainsi, nous pourrons retirer la référence au modèle MicroFormatCopyrightStatement et la remplacer avec le modèle MicroFormatPublicDomainContributionStatement.
=== 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]
* [http://www.atomenabled.org/ Atom]
* [http://www.ietf.org/rfc/rfc4287 RFC4287 : Le Format de Syndication Atom]
* [[hcard-parsing-fr|parsage hcard]]
* [[hcard-parsing-fr|parsage hcard]]
* [[rfc-2119-fr|RFC 2119]]
* [[iso-8601-fr|ISO8601]]


===  Références Informatives ===
===  Références Informatives ===
* [http://www.atomenabled.org/ Atom]


==== Spécifications Qui utilisent hAtom ====
==== Spécifications Qui utilisent hAtom ====


==== Travail Similaire ====
==== Travail Similaire ====
* [http://rdfs.org/sioc/ Semantically-Interlinked Online Communities (SIOC) RDF Ontology]
* [http://rdfs.org/sioc/ Semantically-Interlinked Online Communities (SIOC) RDF Ontology]
== Pour aller plus loin : ==
* [http://www.ablognotlimited.com/articles/getting-semantic-with-microformats-part-5-hatom/ Getting Semantic With Microformats, Part 5: hAtom] par [http://www.ablognotlimited.com/ Emily Lewis] - Traduction en cours sur http://snipr.com/emilylewishatom


== Chantier en Cours ==
== Chantier en Cours ==
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 brainstorms et autres explorations en rapport avec hAtom :  
Cette spécification est un chantier en cours. Au fur et à mesure que des aspects supplémentaires sont discutés, compris et écrits, ils sont ajoutés. Il existe un document séparé où nous conservons nos brainstorms et autres explorations en rapport avec hAtom :  
 
* [[blog-post-brainstorming-fr|blog-post Brainstorming]]
* [[blog-post-brainstorming-fr|blog-post Brainstorming]]


=== Version 0.1 ===
=== Version 0.1 ===
La version 0.1 est sortie le 28 février 2006.
La version 0.1 est sortie le 28 février 2006.


== Discussions ==
== Discussions ==
* voir [http://www.technorati.com/cosmos/referer.html les blogs discutant de cette page].
* voir [http://www.technorati.com/cosmos/referer.html les blogs discutant de cette page].


Line 269: Line 229:
=== Problématiques  ===
=== Problématiques  ===
* SVP ajoutez toutes les problématiques de la spécification au document séparé [[hatom-issues-fr|problématiques hAtom]].
* SVP ajoutez toutes les problématiques de la spécification au document séparé [[hatom-issues-fr|problématiques hAtom]].


==Voir aussi ==
==Voir aussi ==
* [[hatom-fr|hAtom]] - la proposition brouillon
{{hatom-related-pages-fr}}
* [[hatom-hints-fr|hAtom Hints]] - aide pour les implémenteurs
* [[rel-enclosure-fr|rel-enclosure]] - comment référencer sémantiquement les pièces jointes (par ex. les podcasts) dans hAtom
* [[hatom-issues-fr|hatom-problématiques]] - problèmes ? plaintes ? idées ? Posez-les
* [[hatom-faq-fr|hatom-faq]] - base de connaissance
* [[blog-post-brainstorming-fr|blog-post-brainstorming]]
* [[blog-post-brainstorming-fr|blog-post-brainstorming]]
* [[blog-post-formats-fr|blog-post-formats]]
* [[blog-post-formats-fr|blog-post-formats]]
* [[blog-post-examples-fr|blog-post-examples]]
* [[blog-post-examples-fr|blog-post-exemples]]
* [[blog-post-feed-equivalence-fr|blog-post-feed-equivalence]]
* [[blog-description-format-fr|blog-description-format]] - comment décrire un blog (à l'opposé des entrées individuelles, ce qui n'est pas ce que nous sommes en train de faire ici)
* [[blog-description-format-fr|blog-description-format]] - comment décrire un blog (à l'opposé des entrées individuelles, ce qui n'est pas ce que nous sommes en train de faire ici)
* [[xhtml-syndication-fr|xhtml-syndication]]
[[Category:Draft Specifications]]
[[Category:hAtom]]
== Traduction  ==
Lisez la spécification draft hAtom dans d'autres <span id="langues">langues</span>:
* [[hatom-fr|français]]

Latest revision as of 16:23, 18 July 2020

Ce document est une spécification microformat draft. Bien que les "drafts" soient en quelque sorte mâtures dans le processus de développement, la stabilité de ce document ne peut être garantie, et les implémenteurs doivent être prêts à rester informés des futurs développements et modifications. Suivez cette page wiki, ou suivez les discussions sur la liste de discussion microformats-new pour rester informé.

hAtom est un microformat pour le contenu qui peut être syndiqué, initialement conçu pour les billets de blog mais pas exclusivement. hAtom est basé sur un sous-ensemble du format de syndication Atom. hAtom sera l'un des nombreux microformats standards ouverts.

Spécification Draft

Editor/Author
David Janes (BlogMatrix, Inc.)
Contributeurs
Benjamin Carlyle
Tantek Çelik (http://tantek.com/ and before at Technorati, Inc.)
Traduction
Christophe Ducamp


Les déclarations de copyright de brevets sont en vigueur.


Statut

hAtom 0.1 est une spécification draft microformats.org. La discussion publique sur hAtom a lieu sur hatom-feedback, le canal irc #microformats sur irc.freenode.net, et microformats-discuss et liste de diffusion.

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

Des erreurs connues et des préoccupations dans cette spécification sont corrigées dans les problématiques résolues et fermées. SVP vérifiez là-bas avant de rendre compte de problématiques.

La mise à jour hAtom 0.2 est actuellement en développement et incorpore des corrections connus d'errata tout comme le modèle-de-classe-value.

Introduction

hAtom est un microformat pour identifier l'information sémantique dans les billets de blog et pratiquement n'importe quel autre endroit Atom peut être utilisé, comme les articles d'actualités. Le contenu hAtom est facilement ajouté à la plupart des blogs par de simples modifications aux définitions du gabarit du blog.

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.

  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 Format de Syndication Atom fournit la base conceptuelle pour ce microformat, avec les mises en garde suivantes :

  • Atom fournit beaucoup plus de fonctionnalités qu'il n'en faut pour un microformat "billet blog", aussi nous avons pris le nombre minimal d'éléments requis.
  • le modèle "logique" de hAtom est celui d'Atom. S'il y a un conflit, Atom devrait être pris comme correct.
  • le modèle "physique" de hAtom -- la véritable écriture des éléments -- est bien plus varié que ce que fournit Atom, du fait de la variété des manières dont sont effectivement produits les weblogs dans la jungle. Le microformat hAtom fournit un certain nombre de règles pour "ponter le fossé"

Schéma

Les éléments du schéma sont basés sur la nomenclature Atom et suivent le modèle de préfixer un identifiant unique (dans ce cas, 'h') sur la plupart des éléments conteneurs -- le Fil ou l'Entrée. Les parties de ce microformat sont basées sur l'analyse de beaucoup de weblogs, de bulletin board et de billets média et peuvent être lus sur blog-post-brainstorming#Eléments découverts.

Le schéma hAtom comprend les points suivants :

  • hfeed (hfeed). optionnel.
    • feed category. optionnel. mots-clé ou phrases, en utilisant rel-tag.
    • hentry (hentry).
      • entry-title. requis. texte.
      • entry-content. optionnel (voir desription champ). texte. [*]
      • entry-summary. optionnel. texte.
      • updated. requis en utilisant le datetime-design-pattern. [*]
      • published. optionnel en utilisant le datetime-design-pattern.
      • author. requis en utilisant hCard. [*]
      • bookmark (permalink). optionnel en utilisant rel-bookmark.
      • tags. optionnel. mots-clés ou phrases, utilise rel-tag.

[*] Quelques éléments requis ont des valeurs par défaut si elles manquent, voir en-dessous.

Détails Champ et Elément

Feed
  • un élément Feed est identifié par le nom de classe hfeed
  • un élément Feed représente le concept d'un fil Atom
  • l'élément Feed est optionnel et s'il manque, il est supposé être la page
  • les documents hAtom PEUVENT avoir plusieurs éléments Feed.
Feed Category
  • un élément Feed Category est identifié par rel-tag
  • un Fil PEUT avoir un Feed Category
  • un élément Feed Category représente le concept d'une catégorie Atom dans un fil
  • les éléments Feed Category DOIVENT apparaitre à l'intérieur d'un élément Fil mais pas à l'intérieur d'un élément Entrée
  • le rel-tag href encode le category:term atom ; le lien texte définit la category:label atom.
Entry
  • un élement Entry est identifié par le nom de classe hentry
  • un élement Entry représente le concept d'une entrée Atom
  • tout contenu microformat à l'intérieur d'un élément <blockquote> ou <q> dans l'Entry ne devrait pas être considéré comme partie de l'Entry.
Ceci permet la citation d'autres données microformatées sans se soucier de corrompre le modèle
Entry Category
  • un élément Entry Category est identifié par rel-tag
  • une Entrée PEUT avoir une Entry Category
  • un élément Entry Category représente le concept d'une catégorie Atom à l'intérieur d'une entrée
  • le rel-tag href encode le category:term atom ; le lien texte définit la category:label atom
Entry Title
  • un élément Entry Title ('entry-title') est identifié par le nom de classe entry-title
  • une Entry DEVRAIT avoir une Entrée Titre
  • un élément 'Entry Title' représente le concept d'une entrée titre Atom
  • si 'Entry Title' manque, utilisez
    • le premier élément <h#> dans l'Entry, ou
    • le <title> de la page, s'il n'y a pas d'élément Feed enclos, ou
    • supposez que ce soit la chaîne vide
Entry Content
  • un élément "Entry Content" est identifié par le nom de classe entry-content
  • une Entry DEVRAIT (DEVRAIT) avoir une Entrée Contenu
  • un élément "Entry Content" représente le concept d'un contenu Atom
  • une Entry PEUT (PEUT) avoir 0 or plus éléments "Entry Content". L'"Entry Content" logique d'une Entrée est la concaténation, par ordre d'apparition, de toutes les Entrées de Contenus dans l'Entrée.
Beaucoup de weblogs découpent le contenu en plusieurs sections avec un lien "En savoir plus" et des trucs javascript. Ceci est aussi requis dans les cas où les 'entry-title' sont codés dans la ligne et sont considérés comme partie du contenu.
  • si 'Entry-Content' manque, supposez que c'est la chaîne vide.
Entry Summary
  • un élément Entry Summary est identifié par le nom de classe entry-summary
  • un élément 'Entry Summary' représente le concept d'un summary Atom
  • une 'Entry' PEUT (PEUT) avoir 0 ou plus d'éléments 'Entry Summary'. L'"Entry Summary" logique d'une Entry est la concaténation par ordre d'apparition, de tous les 'Entry Summary' dans l' 'Entry'.
Entry Permalink
  • un élément 'Entry Permalink' est identifié par rel-bookmark
  • une Entry DEVRAIT (DEVRAIT) avoir une 'Entry Permalink'
  • un élément 'Entry Permalink' représente le concept d'un lien Atom dans une entrée
  • si 'Entry Permalink' manque, utilisez l'URI de la page ; si l'Entry n'a pas d'attribut "id", ajoutez cela comme un fragment vers l'URI de la page pour distinguer les entrées individuelles
Entry Updated
  • un élément 'Entry Updated' est identifié par le nom de classe updated
  • un élément 'Entry Updated' représente le concept de Atom updated
  • une Entry DEVRAIT (DEVRAIT) avoir un élément 'Entrée Mise à jour'
  • utiliser le datetime-design-pattern pour encoder la date et l'heure de mise à jour
  • s'il n'existe pas d'élément 'Entry Updated',
    • utilisez l'élément 'Entry Published' si présent
    • autrement la page est invalide hAtom
Entry Published
  • un élément 'Entry Published' est identifié par le nom de classe published
  • un élément 'Entry Published' représente le concept de Atom published
  • utilisez le datetime-design-pattern pour encoder la date et l'heure de publication
Entry Author
  • un élément 'Entry Author' est représenté par le nom de classe author
  • un élément 'Entry Author' représente le concept d'un Atom author
  • un élément 'Entry Author' (DOIT) être encodé dans une hCard
  • un élément 'Entry Author' DEVRAIT être encodé dans un élément <address>
  • une Entry DEVRAIT avoir au moins un élément 'Entry Author'
  • une Entry PEUT avoir plus qu'un élément 'Entry Author'
  • si l'Entrée Auteur manque
    • trouvez le(s) élément(s) <address> Plus Proche En Parent avec le nom de classe author et qui soit/soient une hCard valide.
    • autrement l'entrée est hAtom invalide

Profil XMDP

Voir hAtom-profile.

Exemples

Voir exemples hatom.

Exemples dans la jungle

Cette section est informative. Voir hAtom-exemples dans la jungle

Implémentations

Cette section est informative.

Les implémentations qui suivent ont été développées et elles génèrent ou parsent les liens hAtom. Si vous avez une implémentation hAtom, sentez-vous libre de l'ajouter en haut de cette liste. Une fois que la liste sera devenue trop grosse, nous produirons une page wiki séparée comme hatom-implementations.



Copyright

Cette spécification est (C) 2005-2024 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).

  • Tantek : Je sors toutes mes contributions à cette spécification dans le domaine public et j'encourage les autres auteurs à faire ainsi.
    • Quand tous les auteurs/éditeurs auront fait ainsi, nous pourrons retirer la référence au modèle MicroFormatCopyrightStatement et la remplacer avec le modèle MicroFormatPublicDomainContributionStatement.


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

Spécifications Qui utilisent hAtom

Travail Similaire

Pour aller plus loin :

Chantier en Cours

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

Version 0.1

La version 0.1 est sortie le 28 février 2006.

Discussions

Q&R

  • Si vous avez quelque question à propos de hAtom, regardez les FAQ hAtom, et si vous ne trouvez pas de réponses, ajoutez vos questions !

Problématiques

Voir aussi


Traduction

Lisez la spécification draft hAtom dans d'autres langues: