hcard-fr: Difference between revisions

From Microformats Wiki
Jump to navigation Jump to search
m (Replace <entry-title> with {{DISPLAYTITLE:}})
 
(59 intermediate revisions by 4 users not shown)
Line 1: Line 1:
<h1>hCard</h1>
{{DISPLAYTITLE:hCard 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]])


hCard est un format simple, ouvert, distribué, pour représenter les personnes, sociétés, organisations et lieux, en utilisant une représentation 1:1 des propriétés et valeurs du standard vCard ([http://www.ietf.org/rfc/rfc2426.txt RFC2426]) en [[semantic-xhtml-fr|XHTML sémantique]]. hCard est l'un des nombreux [[microformats-fr|microformats]] standards ouverts adaptés pour l'embarquement dans (X)HTML, Atom, RSS, et le XML arbitraire.


Vous voulez démarrer dès à présent par écrire une [[hcard-fr|hCard]] ?  
----
Utilisez le [http://microformats.org/code/hcard/creator hCard creator] pour écrire quelque information de contact et la publier, ou suivez les [[hcard-authoring-fr|trucs pour la publication de hCard]] afin d'ajouter votre syntaxe hCard à votre page contact actuelle.
<dfn style="font-style:normal;font-weight:bold">hCard</dfn> est un format simple, ouvert pour publier sur le web des personnes, sociétés, organisations, en utilisant une représentation 1:1 des propriétés et des valeurs de la vCard ([[rfc-2426-fr|RFC2426]]) en HTML. hCard est l'un des nombreux standards [[microformats-fr|microformats]] ouverts adaptés pour l'embarquement dans le HTML/HTML5, et Atom/RSS/XHTML ou autre XML.


Les déclarations de [[hcard-fr#Copyright|Copyright]] et [[hcard-fr#Brevets|brevets]] sont en vigueur. Voir les [[hcard#Inspiration_et_Remerciements|remerciements]].
<div class="vcard">
; <span class="role">Editeur</span>
: <span class="fn">[[User:Tantek|Tantek Çelik]]</span> (<span class="url">http://tantek.com/</span>, et avant chez  [http://technorati.com Technorati, Inc.] et [http://microsoft.com/ Microsoft Corporation])
</div>
; Auteurs
: [http://tantek.com/ Tantek Çelik] (affiliations ci-dessus)
: <span class="vcard"><span class="fn">[[User:Brian|Brian Suda]]</span> (<span class="url">http://suda.co.uk/</span>)</span>
Remerciements : Voir [[hcard-fr#Inspiration_et_Remerciements|Remerciements]].
Les déclarations de [[hcard-fr#Copyright|copyright]] et de [[hcard#brevets|brevets]] s'appliquent.
== Exemple ==
Les hCards sont le plus souvent utilisées pour représenter des personnes :
<source lang=html4strict>
<div class="vcard">
<a class="url fn" href="http://tantek.com/">Tantek Çelik</a>
</div>
</source>
et des organisations :
<source lang=html4strict>
<div class="vcard">
<a class="url fn org" href="http://microformats.org/">microformats.org</a>
</div>
</source>
La classe '''<code>vcard</code>''' est un ''[[hcard-fr#Nom_de_Classe_Racine|nom de classe racine]]'' qui indique la présence d'une hCard. Les classes '''<code>url</code>''', '''<code>fn</code>''', et '''<code>org</code>''' sont les ''propriétés'' qui indiquent les aspects de la hCard.
== Propriétés ==
<div style="white-space:nowrap;float:left">les propriétés communes de hCard (à l'intérieur de la classe <code>'''vcard'''</code>)
* <code>'''fn'''</code> - nom, formaté/complet. requis
* <code>'''n'''</code> - nom structuré, conteneur pour :
** <code>'''honorific-prefix'''</code> - par ex. Ms., Mr., Dr.
** <code>'''given-name'''</code> - nom donné (souvent en premier), le prénom
** <code>'''additional-name'''</code> - autre nom/milieu
** <code>'''family-name'''</code> - nom de famille (souvent en dernier)
** <code>'''honorific-suffix'''</code> - par ex. Ph.D., Esq.
* <code>'''nickname'''</code> - pseudo/alias, par ex. [[irc-fr|IRC]] <abbr title="nickname">nick</abbr>
* <code>'''org'''</code> - société/organisation
* <code>'''photo'''</code> - photo, icône, avatar
* <code>'''url'''</code> - page personnelle pour ce contact
* <code>'''email'''</code> - addresse e-mail
* <code>'''tel'''</code> - numéro de téléphone
* <code>'''[[adr]]'''</code> - adresse structurée, conteneur pour :
** <code>'''street-address'''</code> - rue <abbr title="number">#</abbr>+nom, <abbr title="apartment">appart.</abbr>/<abbr title="suite">suite</abbr>
** <code>'''locality'''</code> - ville ou village
** <code>'''region'''</code> - état ou province
** <code>'''postal-code'''</code> - code postal par ex. <abbr title="United States">U.S.</abbr> ZIP
** <code>'''country-name'''</code> - non du pays
* <code>'''bday'''</code> - anniversaire. [[date-pattern-fr|date ISO]].
* <code>'''category'''</code> -  pour taguer les contacts
* <code>'''note'''</code> - notes concernant le contact
</div>
<div style="margin-top:-.4em; float:left;"><span style="display:none">Exemple de propriétés communes hCard :</span>
<ul style="list-style:none"><li><code>&lt;div class="'''vcard'''"&gt;</code>
<ul style="list-style:none; margin-top:-.02em">
<li><code>&lt;span class="'''fn'''"&gt;Sally Ride&lt;/span&gt;</code></li>
<li><code>(&lt;span class="'''n'''"&gt;</code><ul style="list-style:none">
<li><code>&lt;span class="'''honorific-prefix'''"&gt;Dr.&lt;/span&gt;</code></li>
<li><code>&lt;span class="'''given-name'''"&gt;Sally&lt;/span&gt;</code></li>
<li><code>&lt;abbr class="'''additional-name'''"&gt;K.&lt;/abbr&gt;</code></li>
<li><code>&lt;span class="'''family-name'''"&gt;Ride&lt;/span&gt;</code></li>
<li><code>&lt;span class="'''honorific-suffix'''"&gt;Ph.D.&lt;/span&gt;&lt;/span&gt;),</code></li></ul></li>
<li><code>&lt;span class="'''nickname'''"&gt;sallykride&lt;/span&gt; (IRC)</code></li>
<li><code>&lt;div class="'''org'''"&gt;Sally Ride Science&lt;/div&gt;</code></li>
<li><code>&lt;img class="'''photo'''" src="<nowiki>http://example.com/sk.jpg</nowiki>"/&gt; </code></li>
<li><code>&lt;a class="'''url'''" href="<nowiki>http://sally.example.com</nowiki>"&gt;w&lt;/a&gt;,</code></li>
<li><code>&lt;a class="'''email'''" href="<nowiki>mailto:sally@example.com</nowiki>"&gt;e&lt;/a&gt; </code></li>
<li><code>&lt;div class="'''tel'''"&gt;+1.818.555.1212&lt;/div&gt;</code></li>
<li><code>&lt;div class="'''adr'''"&gt;</code><ul style="list-style:none">
<li><code>&lt;div class="'''street-address'''"&gt;123 Main st.&lt;/div&gt;</code></li>
<li><code>&lt;span class="'''locality'''"&gt;Los Angeles&lt;/span&gt;, </code></li>
<li><code>&lt;abbr class="'''region'''" title="California"&gt;CA&lt;/abbr&gt;, </code></li>
<li><code>&lt;span class="'''postal-code'''"&gt;91316&lt;/span&gt;</code></li>
<li><code>&lt;div class="'''country-name'''"&gt;U.S.A&lt;/div&gt;&lt;/div&gt;</code></li></ul></li>
<li><code>&lt;time class="'''bday'''"&gt;1951-05-26&lt;/time&gt; birthday</code></li>
<li><code>&lt;div class="'''category'''"&gt;physicist&lt;/div&gt;</code></li>
<li><code>&lt;div class="'''note'''"&gt;First American woman in space.&lt;/div&gt;</code></li></ul></li>
<li><code>&lt;/div&gt;</code></li></ul>
</div>
<div style="clear:both; padding:1em 0 0.5em 0">Voir la [[hcard-fr#Liste_des_propriétés|liste complète des propriétés]] pour la liste complète.
</div>
__TOC__
__TOC__


== Spécification ==
=== Commencer à écrire une [[hcard-fr|hCard]] ===
* Utilisez le formulaire [http://microformats.org/code/hcard/creator hCard creator] saisir l'information de contact et la publier.
* Voir les [[hcard-authoring-fr|exemples de publication de hCard]] pour ajouter hCard à vos pages de contact actuelles.
 
 


=== Editeur ===
[http://tantek.com/ Tantek Çelik], [http://technorati.com Technorati, Inc.]


=== Auteurs ===
== Statut ==
* [http://tantek.com/ Tantek Çelik], [http://technorati.com Technorati, Inc]
hCard 1.0 est une spécification microformats.org. La discussion publique a pris place sur [[hcard-feedback]], le canal [[irc-fr|irc]] #microformats sur irc.freenode.net et la [http://microformats.org/discuss/mail/microformats-discuss/ liste de diffusion microformats-discuss].
* [http://suda.co.uk/ Brian Suda]


=== Traduction française ===
=== Langues disponibles ===
* [[Christophe Ducamp]]
La version anglaise de cette spécification sur [[hCard]] est la seule version normative. Pour les traductions de ce document voir la section [[#traductions]].


=== Copyright ===
=== Errata et Mises à jour ===
{{MicroFormatCopyrightStatement2004-fr}}
Les erreurs connues et problématiques de cette spécification sont corrigées dans les problématiques [[hcard-issues-resolved|résolues]] et [[hcard-issues-closed|fermées]]. Regardez-les svp avant de rendre compte de [[hcard-issues|problématiques]].


=== Brevets ===
La mise à jour hCard 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]].
{{MicroFormatPatentStatement-fr}}


=== Inspiration et Remerciements ===
Remerciements à :
mon bon ami [http://vadim.com/ Vadim] qui m'a présenté vCard il y a de ''nombreuses'' années,
et si j'avais prêté alors un peu plus d'attention, j'aurais pu peut-être aider beaucoup de personnes à éviter de perdre du temps à réinventer beaucoup de roues des standards.


== Introduction ==
== Origines ==
Le standard vCard ([http://www.ietf.org/rfc/rfc2426.txt RFC2426]), a été largement implémenté de façon interopérable. (par ex. dans l'application "Carnet d'Adresses" d'Apple intégrée dans MacOSX).
Le standard vCard ([[rfc-2426-fr|RFC2426]]), a été largement implémenté de façon inter-opérable. (par ex. dans l'application "Carnet d'Adresses" d'Apple intégrée dans MacOSX).


En outre, beaucoup de blogueurs s'identifient eux-mêmes par un nom et discutent avec leurs amis et familles.  Avec juste un peu de structure, les blogueurs peuvent discuter avec des personnes dans leurs blogs d'une telle façon que les spiders et autres agrégateurs peuvent retrouver cette information, la convertir automatiquement en vCards et l'utiliser dans n'importe quelle application ou service vCard.
En outre, beaucoup de blogueurs s'identifient eux-mêmes par un nom et discutent avec leurs amis et familles.  Avec juste un peu de structure, les blogueurs peuvent discuter avec des personnes dans leurs blogs d'une telle façon que les spiders et autres agrégateurs peuvent retrouver cette information, la convertir automatiquement en vCards et l'utiliser dans n'importe quelle application ou service vCard.


Cette spécification présente le format '''hCard''', qui utilise une représentation 1:1 des propriétés et valeurs du standard vCard mentionné ci-dessus, en XHTML sémantique. Les blogueurs peuvent tout à la fois embarquer directement les hCards dans leurs pages web et les styler avec CSS pour les faire apparaître comme ils le désirent. En outre, hCard permet aux applications de retrouver directement l'information à partir des pages web sans avoir à référencer un fichier séparé.
Cette spécification présente le format '''hCard''', qui utilise une représentation 1:1 des propriétés et valeurs du standard vCard mentionné ci-dessus, en HTML sémantique. Les blogueurs peuvent tout à la fois embarquer directement les hCards dans leurs pages web et les styliser avec CSS pour les faire apparaître comme ils le désirent. En outre, hCard permet aux applications de retrouver directement l'information à partir des pages web sans avoir à référencer un fichier séparé.


Utilisez le [http://microformats.org/code/hcard/creator hCard creator] et copiez le code HTML qu'il génère sur votre blog ou site web pour publier votre information de contact.
Utilisez le [http://microformats.org/code/hcard/creator hCard creator] et copiez le code HTML qu'il génère sur votre blog ou site web pour publier votre information de contact.


== Principes de Design XHTML Sémantique ==
== Conformité ==
{{semantic-xhtml-design-principles-fr}}
{{rfc-2119-intro-fr}}


== Format ==
== Format ==
=== En Général ===
=== En Général ===
Le standard vCard ([http://www.ietf.org/rfc/rfc2426.txt RFC2426]) forme la base du hCard.
Le standard vCard ([[rfc-2426-fr|RFC2426]]) forme la base de hCard.


Le format basique de hCard est d'utiliser les noms d'objet/propriété vCard en bas de casse pour les noms de classes, et de mapper l'imbrication des objects vCard directement dans les éléments imbriqués XHTML.
Le format basique de hCard est d'utiliser les noms d'objet/propriété vCard en bas de casse pour les noms de classes, et de mapper l'imbrication des objets vCard directement dans les éléments HTML imbriqués.


=== Plus d'Equivalents Sémantiques ===
=== Nom de Classe Racine===
Pour quelques propriétés, il existe quelques éléments HTML qui correspondent mieux et portent leurs sémantiques. Les propriétés suivantes DEVRAIENT être encodées avec le (X)HTML suivant :
Le nom de classe racine pour une hcard est "vcard". Un élément avec un nom de classe "vcard" est lui même appelé une ''hCard''.
* <code>URL</code> dans vCard devient  <code><a class="url" href="...">...</a></code> dans l'élément avec <code>class="vcard"</code> dans hCard.
* De la même manière, <code>EMAIL</code> dans la vCard devient <code><nowiki><a class="email" href="mailto:...">...</a></nowiki></code>
* <code>PHOTO</code> dans la vCard devient <code><img class="photo" src="..." alt="Photo de ..." /></code> ou <code><object class="photo" data="..." type="...">Photo de ...</object></code>
* <code>UID</code> dans vCard devient simplement une autre sémantique appliquée à un URL spécifique (ou EMAIL) pour une hCard.


=== Propriétés Singulières vs. Plurielles ===
=== Propriétés et Sous-propriétés ===
Les propriétés d'une hCard sont représentées par les éléments à l'intérieur de la hCard. Les éléments avec des 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 les éléments à l'intérieur des éléments pour les propriétés.


Pour les propriétés qui sont singulières (par ex. "N" et "FN"), le premier élément descendant avec cette classe devrait prendre effet, tous les autres étant ignorés.
=== Liste des propriétés ===
Propriétés hCard (sous-propriétés entre parenthèses comme ceci)


Pour les propriétés qui peuvent être plurielles (par ex. "TEL"), chaque instance de classe devrait créer une instance de cette propriété.
'''Requis :'''
* '''fn'''
* <span id="property-list-n">'''n'''<sup style="font-size:smaller">[[#note1|1]]</sup></span>
** family-name
** given-name
** additional-name
** honorific-prefix
** honorific-suffix
Optionnel :
* [[adr-fr|adr]]
** post-office-box
** extended-address
** street-address
** locality
** region
** postal-code
** country-name
** type
** value
* agent
* bday
* category
* class
* email (type, value)
* geo
** latitude
** longitude
* key
* label
* logo
* mailer
* nickname
* note
* org (organization-name, organization-unit)
* photo
* rev
* role
* sort-string
* sound
* <span id="property-list-tel">tel<sup style="font-size:smaller">[[#note2|2]]</sup> (type, value)</span>
* title
* tz
* uid
* url


==== Propriétés Singulières ====
=== Notes sur les Propriétés===
* <span id="note1">[[#property-list-n|1. ^]]</span> : La propriété 'n' est {{optional-fr}} si n'importe quelle [[hcard-fr#Optimisation_implicite_"n"|règle d'optimisation implicite 'n']] est en vigueur.<br />
* tel
** <span id="note2">[[#property-list-tel|2. ^]]</span>: tel - Les auteurs PEUVENT vouloir suivre le [http://en.wikipedia.org/wiki/E.123 standard E.123] pour écrire les valeurs de numéros de téléphone.
** Les valeurs lettre (par ex 1-555-FORMATS) DOIVENT être converties en nombres. Utilisez un <code>abbr</code> pour afficher les lettre et fournir simultanément une valeur numérique, par ex. <code><nowiki><abbr title="+15553676287">+1-555-FORMATS</abbr></nowiki></code>.


Les propriétés Singulières : "FN", "N", "BDAY", "TZ", "GEO", "SORT-STRING", "UID", "CLASS".
=== Propriétés Singulières vs. Plurielles ===
 
Les propriétés singulières : 'fn', 'n', 'bday', 'tz', 'geo', 'sort-string', 'uid', 'class', 'rev'. Pour les propriétés qui sont singulières, le premier élément descendant avec cette classe DEVRAIENT s'exécuter, toutes les autres étant ignorées.
Toutes les autres propriétés sont plurielles. Cette liste a été dérivée en analysant la sémantique des propriétés individuelles dans la RFC2426 vCard et en déterminant logiquement qu'elles DOIVENT être singulières selon leurs sémantiques. Voir [[hcard-singular-properties-fr|propriétés hcard singulier]] pour des explications.
 
==== 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 ne permettait qu'une valeur unique avec plusieurs composants, ces composants multiples sont représentés chacun avec leur propre singularité appelée propriété
Toutes les autres propriétés PEUVENT être plurielles. Chaque instance de classe de telles propriétés crée une instance de cette propriété.
et la propriété est en fait multivalorisée et sujette au traitement ci-dessus des propriétés multivalorisées.


=== Lisible par Humain vs. Machine ===
=== Lisible par Humain vs. Machine ===
Les contenus de textes visibles par les humains d'un élément pour une propriété représente la valeur de cette propriété, avec quelques exceptions :


Si un élément <code>&lt;abbr&gt;</code> est utilisé pour une propriété, alors l'attribut '<code>title</code>' de l'élément <code>&lt;abbr></code> est la valeur de la propriété, au lieu de celle des contenus de l'élément, ce qui fournit à la place une version humainement présentable de la valeur.
Si un élément <code>&lt;a&gt;</code> est utilisé pour une propriété, alors l'attribut '<code>title</code>' (si présent) de l'élément <code>&lt;abbr></code> est la valeur de la propriété, au lieu des contenus de l'élément, qui fournit à la place une version plus humainement présentable de la valeur.


Si un élément <code>&lt;a&gt;</code> est utilisé pour une ou plusieurs propriétés, il doit être traité comme suit :  
Si un élément <code>&lt;a&gt;</code> est utilisé pour une ou plusieurs propriétés, il {{must-fr}} être traité comme suit :  
# Pour la propriété "PHOTO" et toute autre propriété qui prend un URL comme sa valeur, l'attribut <code>href="..."</code> fournit la valeur de la propriété.
# Pour la propriété 'photo' et toute autre propriété qui prend un URL comme sa valeur, l'attribut <code>href="..."</code> fournit la valeur de la propriété.
# Pour les autres propriétés, le contenu de l'élément est la valeur de la propriété.
# Pour les autres propriétés, le contenu de l'élément est la valeur de la propriété.


Si un élément <code>&lt;img&gt;</code> est utilisé pour une ou plusieurs propriétés, il doit être traité comme suit :
# Pour la propriété "PHOTO" et toute autre propriété qui prend un URL comme sa valeur, l'attribut <code>src="..."</code> fournit la valeur de la propriété.
# Pour les autres propriétés, (NDT à vérifier) l'attribut <code>&lt;img></code> <code>alt</code> de l'élément est la valeur de la propriété.


Si un élément <code>&lt;object&gt;</code> est utilisé pour une ou plusieurs propriétés, il doit être traité comme suit :
Si un élément <code>&lt;img&gt;</code> est utilisé pour une ou plusieurs propriétés, il {{must-fr}} être traité comme suit :
# Pour la propriété "PHOTO" et toute autre propriété qui prend une URL comme sa valeur, l'attribut <code>data="..."</code> fournit la valeur de la propriété.
# Pour la propriété 'photo' et toute autre propriété qui prend une URL comme sa valeur, l'attribut fournit la valeur de propriété.
# Pour les autres propriétés, le contenu de l'élément est la valeur de la propriété.  
# Pour les autres propriétés, l'attribut '<code>alt</code>' de l'élément <code>&lt;img></code> est la valeur de la propriété.
 
Si un élément <code>&lt;object&gt;</code> est utilisé pour une ou plusieurs propriétés, il {{must-fr}} être traité comme suit :  
# Pour la propriété 'photo' et toute autre propriété qui prend une URL comme sa valeur, l'attribut <code>data="..."</code> fournit la valeur de la propriété.
# Pour les autres propriétés, le contenu de l'élément est la valeur de la propriété.


=== Extraction de Valeur ===
=== Extraction de Valeur ===
Parfois, seule une partie d'un élément qui est l'équivalent d'une propriété devrait être utilisée pour la valeur de la propriété. Ceci arrive typiquement quand une propriété a un sous-type, comme 'tel'. A cette intention, le nom de classe spécial "<code>value</code>" est introduit pour extraire le sous-ensemble de l'élément qui est la valeur de la propriété. Par exemple, voici un fragment hCard pour marquer un numéro de téléphone de domicile :<br />


Parfois, seule une partie d'un élément qui est l'équivalent pour une propriété
devrait être utilisée pour la valeur de la propriété. Ceci survient généralement quand une propriété a un sous-type, comme TEL. Pour cette intention, le nom de classe spéciale "<code>value</code>" est introduit pour extraire le sous-ensemble de l'élément qui est la valeur de la propriété. Par exemple ici un fragment hCard pour marquer un numéro de téléphone de domicile :<br />


vCard :
<source lang=html4strict>
TEL;TYPE=HOME:+1.415.555.1212
</source>


vCard:
hCard :
<pre><nowiki>
<source lang=html4strict>
TEL;TYPE=HOME:+331.58.40.36.41
<span class="tel">
</nowiki></pre>
<span class="type">home</span>:
<span class="value">+1.415.555.1212</span>
</span>
</source>


hCard:
Ce fragment de hCard pourrait s'afficher comme :  
<pre><nowiki>
<div style="border: thin dashed black; width: 95%; padding: .5em 1em;">
<span class="tel">
<span class="tel">
<span class="type">domicile</span>:
<span class="type">home</span>:
<span class="value:+331.58.40.36.41</span>
<span class="value">+1.415.555.1212</span>
</span>
</span>
</nowiki></pre>
</div>
 


Ce fragment de hCard pourrait s'afficher sous :  
Vous pourriez vouloir personnaliser/localiser la ponctuation visible et ne pas vouloir que les machines la voient. Utilisez plusieurs éléments de classe "value" qui sont alors concaténés, par ex :  


<div style="border: thin dashed black; width: 95%; padding: .5em 1em;">
<source lang=html4strict>
<span class="tel">
<span class="tel">
<span class="type">domicile</span>:
<span class="type">home</span>:
<span class="value:+331.58.40.36.41</span>
<span class="value">+1</span>.<span class="value">415</span>.<span class="value">555</span>.<span class="value">1212</span></span>
</span>
</span>
</div>
</source>
 
Aucun changement à l'affichage, mais la valeur de propriété analysée devient alors en vCard :
 
vCard:
<pre><nowiki>
TEL;TYPE=HOME:+14155551212
</nowiki></pre>
 
<!-- note pour Tantek : réviser/modifier la casse propriété à partir d'ici -->


=== Exceptions de Propriétés ===
=== Exceptions de Propriétés ===
 
vCard a plusieurs propriétés qui soit ne font pas de sens, ou sont déjà imbriquées dans le contexte d'une page web.  
vCard a plusieurs propriétés qui soit ne font pas de sens,  
ou sont déjà imbriquées dans le contexte d'une page web.  
Cette section explique ce qu'il faut (ou ne pas) faire avec elles :
Cette section explique ce qu'il faut (ou ne pas) faire avec elles :


# Les propriétés '''NAME''', '''PROFILE''', '''SOURCE''', '''PRODID''', '''VERSION''' telles que définies dans les Sections 2.1.2, 2.1.3, 2.1.4, 3.6.3, 3.6.9 de la RFC 2426.
# Les propriétés de la vcard '''NAME''', '''PROFILE''', '''SOURCE''', '''PRODID''', '''VERSION''' sont définies dans les Sections 2.1.2, 2.1.3, 2.1.4, 3.6.3, 3.6.9 de la [[rfc-2426|RFC2426]]. Les éditeurs de contenus NE DOIVENT PAS ({{must-not-fr}}) utiliser ces propriétés dans leurs hCards, et par conséquent, les clients/parseurs de hCard DOIVENT ({{must-fr}}) IGNORER ces propriétés si elles sont trouvées dans une hCard. Au lieu de cela, les convertisseurs hCard vers vCard DEVRAIENT ({{should-fr}}) utiliser le titre de la page où la hCard est trouvée (c'est à dire l'élément <code><title></code> dans les documents HTML) pour construire la propriété NOM, et ils {{may-fr}} produire une valeur PROFILE de "<code>VCARD</code>" selon la [[rfc-2426-fr|RFC2426]], ils DEVRAIENT ({{should-fr}}) utiliser l'URL de la page où est trouvée la hCard pour construire la propriété SOURCE (c'est à dire peut-être comme un paramètre vers un URL/service qui convertir les hCards en vCards), pour un flux de sortie vCard (par ex. un fichier vcf).  
Les éditeurs de contenus ne DOIVENT pas utiliser ces propriétés dans leurs hCards, et aussi les consommateurs/parsers de hCard DOIVENT IGNORER ces propriétés si elles sont trouvées dans une hCard.
Seuls les services/applications qui produisent de véritables vCards devraient écrire la propriété PRODID, avec l'identifiant produit pour l'application/service. De la même façon, seuls de tels services/applications devraient écrire la propriété VERSION, avec la valeur "3.0" (sans guillemets) selon la [[rfc-2426-fr|RFC2426]] Section 3.6.9.
Au lieu de cela, les convertisseurs hCard vers vCard DEVRAIENT utiliser le titre de la page où la hCard est trouvée (c'est à dire l'élément <code><title></code> dans les documents (X)HTML) pour construire la propriété NOM, PEUVENT produire une valeur PROFILE de "<code>VCARD</code>" par RFC 2426, DEVRAIENT utiliser l'URL de la page où est trouvée la hCard pour construire la propriété SOURCE (c'est à dire peut-être comme un paramètre vers un URL/service qui convertir les hCards en vCards), pour un flux de sortie vCard (par ex. un fichier vcf).  
Seuls les services/applications qui produisent de véritables vCards devraient écrire la propriété PRODID, avec l'identifiant produit pour l'application/service. De la même façon, seuls de tels services/applications devraient écrire la propriété VERSION, avec la valeur "3.0" (sans guillemets) selon la RFC2426 Section 3.6.9.


=== Info Contact Organisation ===
=== Info Contact Organisation ===
Si les propriétés "FN" et "ORG" (organisation) ont exactement la même valeur (généralement parce qu'elles sont  
Si les propriétés "FN" et "ORG" ont exactement la même valeur (généralement parce qu'elles sont  
réglées sur le même élément, par ex. class="fn org"), alors la hCard représente l'information de contact pour une société, une organisation ou un lieu et {{should-fr}} être traitée comme telle. Dans ce cas l'auteur {{must-not-fr}} NE DOIT aussi PAS régler la propriété "N", ou la régler (et n'importe quelles sous-propriétés) explicitement vers la chaîne vide "".   
réglées sur le même élément, par ex. class="fn org"), alors la hCard représente l'information de contact pour une société ou une organisation et devrait être traitée comme telle. Dans ce cas l'auteur DOIT aussi NE PAS régler la propriété "N", ou la régler (et n'importe quelles sous-propriétés) explicitement vers la chaîne vide "".   
Par conséquent les parseurs {{should-fr}} devraient gérer dans ce cas la propriété manquante "N" en  
Par conséquent les parseurs devraient gérer dans ce cas la propriété manquante "N" en  
sous-entendant des valeurs vides pour toutes les sous-propriétés "N".
sous-entendant des valeurs vides pour toutes les sous-propriétés "N".


=== Optimisation implicite "n" ===
=== Optimisation implicite "N" ===
Bien que vCard requiert que la propriété "N" soit présente, les auteurs de la spécification vCard ([[rfc-2426-fr|RFC2426]]) eux-mêmes n'incluent pas les propriétés "N" dans leurs vCards près de la fin de la spec (p.38). Cette contradiction apparente peut être résolue en permettant simplement à la propriété "FN" de sous-entendre les valeurs de la propriété "N" dans les cas typiques fournies dans la spécification. Nous faisons cela explicitement dans hCard.


Bien que vCard requiert que la propriété "N" soit présente, les auteurs de la spécification vCard (RFC 2426) n'incluent pas eux-mêmes les propriétés "N" dans leurs vCards près de fin de la spec (p.38). Cette contradiction apparente peut être résolue en permettant simplement à la propriété "FN" de sous-entendre les valeurs de la propriété "N" dans les cas typiques fournies dans la spec.
Si "FN" et "ORG" ne sont pas les mêmes (voir section précédente) et si la valeur de la propriété "FN" est exactement de deux mots (séparés par un espace blanc) et s'il n'y a pas de propriété explicite "N", alors la propriété "N" est inférée à partir de la propriété "FN".  
Nous faisons cela explicitement dans hCard.
Pour les "FN"s avec soit un mot voir au-dessous, et pour trois mots ou plus, l'auteur {{must-fr}} DOIT explicitement baliser le "N", exception faite pour le cas de l'information de contact organisation, [[hcard-fr#Info_Contact_Organisation|voir au-dessus]] pour cela.
 
Si "FN" et "ORG" ne sont pas les mêmes (voir section précédente) et si la valeur de la propriété "FN" est exactement deux mots (séparés par un espace blanc) et s'il n'y a pas de propriété explicite "N", alors la propriété "N" est inférée à partir de la propriété "FN".  
Pour les "FN"s avec soit un mot voir au-dessous, et pour trois ou plus, l'auteur DOIT explicitement baliser le "N", exception faite pour le cas de l'information de contact organisation,  
[http://microformats.org/wiki/hcard#Organization_Contact_Info voir au-dessus] pour cela.


# Le contenu de "FN" est brisé en deux "mots" séparés par un espace blanc.
# Le contenu de "FN" est brisé en deux "mots" séparés par un espace blanc.
# Le ''premier'' mot de ''FN'' est interprété comme le "given-name" (prénom) pour la propriété "N".
# Le ''premier'' mot de ''FN'' est interprété comme le "given-name" (prénom) pour la propriété "N".
# Le ''second/dernier'' mot de "FN" est interprété comme le "family-name" pour la propriété "N".
# Le ''second/dernier'' mot de "FN" est interprété comme le "family-name" pour la propriété "N".
# Exception : Si le premier mot se finit par une "," virgule OU si le second mot est un caractère unique (optionnellement suivi par un point "."), alors le premier mot (moins la virgule à la fin s'il y en a) est interprété comme le "family-name" et le second mot est interprété comme le "given-name" (prénom).
# Exception : Si le premier mot se finit par une "," virgule, alors le premier mot (moins la virgule à la fin s'il y en a) est interprété comme le "family-name" et le second mot est interprété comme le "given-name" (prénom).


Ceci permet une simplification dans le cas typique des gens déclarant :  
Ceci permet une simplification dans le cas typique des gens déclarant :  
* prénom (espace) nom-de-famille
* given-name  (espace) family-name
* nom-de-famille (virgule) prénom
* family-name (virgule) given-name
* nom-de-famille (virgule) premier-prénom-initiale
* nom-de-famille (espace) premier-prénom-initiale (point en option)


=== Optimisation implicite du "nickname" ===
=== Optimisation implicite du "nickname" ===
Du fait de la prévalence de l'utilisation sur le web de pseudos/handles/nomsutilisateurs dans les contenus publiés sur le Web (par ex. les auteurs des [[hreview-fr|critiques]]), hCard a aussi une  
Du fait de la prévalence de l'utilisation sur le web de pseudos/handles/nomsutilisateurs dans les contenus publiés sur le Web (par ex. les auteurs des [[hreview-fr|critiques]]), hCard a aussi une  
optimisation implicite de "nickname" pour gérer cela.
optimisation implicite de "nickname" pour gérer cela.
Line 163: Line 293:
si la valeur de la propriété "FN" est exactement d'un mot, et s'il n'y a pas de propriété "N" explicite, alors :
si la valeur de la propriété "FN" est exactement d'un mot, et s'il n'y a pas de propriété "N" explicite, alors :


# Le contenu du "FN" est traité comme une valeur de propriété "nickname".
# Le contenu du "FN" {{must-fr}} être traité comme une valeur de propriété "nickname".
# Les parseurs devraient gérer la propriété manquante "N" par des valeurs vides implicites pour toutes les sous-propriétés "N".
# Les parseurs devraient ({{should-fr}}) gérer la propriété manquante "N" par des valeurs vides implicites pour toutes les sous-propriétés "N".


Note : la hCard peut avoir des valeurs de propriétés explicites supplémentaires "nickname" en plus du nickname sous-entendu.
Note : la hCard peut ({{may-fr}}) avoir des valeurs de propriétés explicites supplémentaires "nickname" en plus du nickname sous-entendu.


=== Optimisation implicite "organization-name"  ===
=== Optimisation implicite "organization-name"  ===
La propriété "ORG" a deux sous-propriétés, organization-name et organization-unit. Très souvent les auteurs ne publient que organization-name. De ce fait si une propriété "ORG" n'a pas d'"organization-name" dedans, alors la totalité des contenus DOIT ({{must-fr}}) être traitée comme le "organization-name".


La propriété "ORG" a deux sous-propriétés, organization-name et organization-unit. Très souvent les auteurs ne publient que organization-name. De ce fait si une propriété "ORG" n'a pas d'"organization-name" dedans, alors la totalité des contenus DOIT être traitée comme le "organization-name".
=== Tags en tant que Catégories ===
Les catégories dans hCard peuvent ({{may-fr}}) être représentées par des tags avec rel-tag.
Quand une propriété category est un rel-tag, le tag (comme défini par rel-tag) est utilisé pour cette catégorie.
 
=== valeurs sous-propriété type ===
La sous-propriété 'type' en particulier prend différentes valeurs selon quelle propriété est une sous-propriété de.  Ces valeurs de sous-propriétés 'type' sont INSENSIBLES à la casse, ceci voulant dire que "Home" est équivalent à "home", tout comme elle est multivalorisée, par ex. un téléphone peut être home et pref (éré) :
 
 
vCard :
<source lang=html4strict>
TEL;TYPE=HOME,PREF:+1.415.555.1212
</source>
 
hCard :
<source lang=html4strict>
<span class="tel"><span class="type">Home</span> (<span class="type">pref</span>erred):
<span class="value">+1.415.555.1212</span>
</span>
</source>
 
Ceci pourrait être affiché sous :


=== Tags en tant que Catégories ===
<div style="border: thin dashed black; width: 95%; padding: .5em 1em; ">
<span class="tel"><span class="type">Home</span> (<span class="type">pref</span>erred):
<span class="value">+1.415.555.1212</span>
</span>
</div>


Les catégories dans hCard peuvent en option être représentées par des tags avec rel-tag.
==== type avec valeur non spécifiée ====
Quand une propriété category est un rel-tag, le tag (comme défini par rel-tag) est utilisée pour cette catégorie.
Quand le type d'une propriété est spécifié, et qu'il n'y ait pas de valeur explicite spécifiée, alors tout dans la propriété excepté le type est considéré la valeur de la propriété, par exemple :


=== Nom Classe Racine ===
<source lang=html4strict>
<span class="tel"><span class="type">Home</span> +1.415.555.1212</span>
</source>


Le nom de classe racine pour une hCard est "vcard".
est équivalent à :


=== Liste de propriétés ===
<source lang=html4strict>
<span class="tel"><span class="type">Home</span><span class="value"> +1.415.555.1212</span></span>
</source>


Ceci est la liste des propriétés (et sous-propriétés, entre parenthèses, comme ça) dans hCard, prise à partir de vCard :
Et ce fait le type est "home" et la valeur est "+1.415.555.1212".


* fn, n (nom de famille, prénom, prénom supplémentaire, préfixe honorifique, suffixe honorifque), pseudo, chaîne de tri
* url, email (type, value), tel (type, value)
* adr (boîte postale, adresse étendue, adresse dans la rue, localité, région, code-postal, nom-pays, type, valeur), étiquette
* geo (latitude, longitude), tz
* photo, logo, sound, bday
* title, role, org (nom-organisation, unité-organisation)
* category, note
* class, key, mailer, uid, rev
==== valeurs sous-propriété type ====


Le sous-propriété 'type' en particulier prend différentes valeurs selon quelle propriété est une sous-propriété de. 
==== adr tel email types ====
Ces valeurs de sous-propriétés 'type' sont INSENSIBLES à la casse, ceci voulant dire que "Home" est équivalent à "home", tout comme elle est multivalorisée, par ex. un téléphone peut être domicile et préféré :
<pre><nowiki>
<span class="tel"><span class="type">Domicile</span> (<span class="type">pref</span>éré):
<span class="value">+331.58.40.36.41</span>
</span>
</nowiki></pre>


Les listes suivantes sont ''informative''s. Voir sections RFC2426 3.2.1 ADR, 3.3.1 TEL, et 3.3.2 EMAIL respectivement pour les valeurs type normatives. Elles sont répétées ici pour la facilité. La(es) valeur(s) de sous-propriétés type est (sont) d'abord dans chaque liste et toutes indiquées en LETTRES CAPITALES. Les types peuvent être multivalorisées.
Les listes suivantes sont ''informative''s. Voir sections RFC2426 3.2.1 ADR, 3.3.1 TEL, et 3.3.2 EMAIL respectivement pour les valeurs type normatives. Elles sont répétées ici pour la facilité. La(es) valeur(s) de sous-propriétés type est (sont) d'abord dans chaque liste et toutes indiquées en LETTRES CAPITALES. Les types peuvent être multivalorisées.


* adr type: INTL, POSTAL, PARCEL, WORK, dom, home, pref
* adr type: INTL, POSTAL, PARCEL, WORK, dom, home, pref
* tel type: VOICE, home, msg, work, pref, fax, cell, video, pager, bbs, modem, car, isdn, pcs
* tel type: VOICE, home, msg, work, pref, fax, cell, video, pager, bbs, modem, [http://flickr.com/photos/tags/carcellphone/ car], isdn, pcs
* email type: INTERNET, x400, pref, "other IANA registered address types"
* email type: INTERNET, x400, pref
 
=== Profil ===
 
Le <span id="Profil_XMDP">Profil XMDP</span> est sur http://microformats.org/profile/hcard


=== Profil XMDP ===
Le contenu qui utilise hCard DEVRAIT référencer ce profil, c'est à dire :
<source lang=html4strict>
<link rel="profile" href="http://microformats.org/profile/hcard">
</source>
ou
<source lang=html4strict>
Ce contenu utilise <a rel="profile" href="http://microformats.org/profile/hcard">hCard</a>.
</source>
ou
<source lang=html4strict>
<head profile="http://microformats.org/profile/hcard">
</source>
(L'attribut de profil est déprécié en HTML5)
Le contenu peut aussi combiner les méthodes au-dessus.


Voir [[hcard-profile-fr|hcard-profile]] pour le profil [http://gmpg.org/xmdp XMDP] de hCard qui contient la liste complète ci-dessus de propriétés, avec des références à leurs définitions RFC 2426.


=== Détails Parsage ===
=== Détails Parsage ===
Voir [[hcard-parsing-fr|hCard parsing]].
Voir [[hcard-parsing-fr|hCard parsing]].


== Exemples ==
== Exemples ==
Cette section est informative.
Cette section est informative.


=== Echantillon vCard ===
=== Echantillon vCard ===
Voilà une vCard échantillon.
Voilà une vCard échantillon.


<pre><nowiki>
<source lang=html4strict>
BEGIN:VCARD
BEGIN:VCARD
VERSION:3.0
VERSION:3.0
Line 231: Line 388:
FN:Tantek Çelik
FN:Tantek Çelik
URL:http://tantek.com/
URL:http://tantek.com/
ORG:Technorati
END:VCARD
END:VCARD
</nowiki></pre>
</source>


et un équivalent en hCard avec différents éléments optimisés proprement.   
et un équivalent en hCard avec différents éléments optimisés proprement.   
Voir [[hcard-example1-steps-fr|hCard Exemple 1]] pour la dérivation.
Voir [[hcard-example1-steps-fr|hCard Exemple 1]] pour la dérivation.


<pre><nowiki>
<source lang=html4strict>
<div class="vcard">
<div class="vcard">
  <a class="url fn" href="http://tantek.com/">Tantek Çelik</a>
  <a class="url fn" href="http://tantek.com/">Tantek Çelik</a>
<div class="org">Technorati</div>
</div>
</div>
</nowiki></pre>
</source>


Cette carte pourrait être affichée comme :  
Cette carte pourrait être affichée comme :  
<div style="border: thin dashed black; width: 95%; padding: .5em 1em;">
<div style="border: thin dashed black; width: 95%; padding: .5em 1em;">
[http://tantek.com/ Tantek Çelik]<br />
[http://tantek.com/ Tantek Çelik]
Technorati
</div>
</div>


Note : L'information de version n'est pas directement nécessaire dans le balisage hCard parce que la version sera définie par le profil de hCard qui est utilisé/référencé dans l'attribut 'profile' de l'élément <head>.
Note : L'information de version n'est pas directement nécessaire dans le balisage hCard parce que la version sera définie par le profil de hCard qui est utilisé/référencé dans l'attribut 'profile' de l'élément <head>.
===Exemple Live===
Voici les détails de contacts de [http://www.commerce.net/ Commercenet], sous forme d'une hCard vivante qui sera détectée, sur cette page, par les outils de parsage de microformats :
<div class="vcard">
<div class="fn org">'''CommerceNet'''</div>
<div class="url">'''<nowiki>http://www.commerce.net/</nowiki>'''</div>
<div class="adr">'''<span class="type">Work</span>:'''
<div class="street-address">'''169 University Avenue'''</div>
<span class="locality">'''Palo Alto'''</span>, <span class="region">'''CA'''</span>&nbsp;&nbsp;<span class="postal-code">'''94301'''</span>
<div class="country-name">'''USA'''</div>
</div>
<div class="tel">'''<span class="type">Work</span> +1-650-289-4040'''</div>
<div class="tel">'''<span class="type">Fax</span> +1-650-289-4041'''</div>
<div>'''Email <span class="email"><nowiki>info@commerce.net</nowiki></span>'''</div>
</div>
Le marquage, graissage omis pour la clarté, avec les améliorations sémantiques suivantes :
* <code>abbr</code> pour épancher les abréviations
* hyperlien du nom de l'org avec l'url
<source lang=html4strict>
<div class="vcard">
  <a class="fn org url" href="http://www.commerce.net/">CommerceNet</a>
  <div class="adr">
    <span class="type">Work</span>:
    <div class="street-address">169 University Avenue</div>
    <span class="locality">Palo Alto</span>, 
    <abbr class="region" title="California">CA</abbr>&nbsp;&nbsp;
    <span class="postal-code">94301</span>
    <div class="country-name">USA</div>
  </div>
  <div class="tel">
  <span class="type">Work</span> +1-650-289-4040
  </div>
  <div class="tel">
    <span class="type">Fax</span> +1-650-289-4041
  </div>
  <div>Email:
  <span class="email">info@commerce.net</span>
  </div>
</div>
</source>


=== Plus d'Exemples ===
=== Plus d'Exemples ===
Voir [[hcard-examples-fr|exemples hCard]] pour plus d'exemples, y compris tous les exemples extraits de la [[rfc-2426-fr|RFC2426]] vCard convertie en hCard.


Voir [[hcard-examples-fr|exemples hCard]] pour plus d'exemples, y compris tous les exemples extraits de la RFC 2426 vCard convertie en hCard.
== exemples dans la jungle ==
 
Cette section est '''informative'''. Le nombre d'exemples de hCard dans la jungle a grandi bien au delà de la capacité de pouvoir être maintenu en ligne et associé à cette spécification. Ils ont migré sur une [[hcard-examples-in-wild-fr|page séparée]].
== Exemples "dans la jungle" ==
Cette section est '''informative'''. Le nombre d'exemples de hCard dans la jungle a grandi bien au delà de la capacité d'être maintenu en ligne pour cette spécification. Ils ont migré sur une [[hcard-examples-in-wild-fr|page séparée]].


Voir [[hcard-examples-in-wild-fr|Exemples hCard dans la jungle]].
Voir [[hcard-examples-in-wild-fr|Exemples hCard dans la jungle]].


== Implémentations ==
== Implémentations ==
Cette section est '''informative'''.
Cette section est '''informative'''. Le nombre d'implémentations de hCard a aussi grandi au delà de la capacité de pouvoir les maintenir sur cette même page. Elles ont été migrées sur une [[hcard-implementations-fr|page séparée]].
 
Voir [[hcard-implementations-fr|Implémentations hCard]].
 
== Articles ==
Cette section est <strong>informative</strong>. Pour <span id="En_savoir_plus">en savoir plus</span> sur hCard, voir [[hcard-articles-fr|hCard-articles]].


Les implémentations qui suivent ont été développées et génèrent ou parsent les hCards.
==Boutons==
Si vous avez une implémentation de hCard, sentez-vous à l'aise pour l'ajouter en haut de cette liste. Une fois que la liste aura trop grandi et sera devenue trop longue, nous produirons une page wiki séparée.
Vous pouvez utiliser ces boutons sur les pages avec des hCards. Voir [[buttons-fr#hCard]] pour toutes les additions récentes.
* [http://leftlogic.com/info/articles/microformats_bookmarklet Microformats Bookmarklet] est un bookmarklet conçu pour Safari (fonctionne dans Firefox et Camino) qui superpose sur la page en cours pour pemettre aux utilisateurs d'importer des hcards et hcalendars individuels. Ecrit par Remy Sharp.
* http://www.crowley.nl/images/hcard.png (miroir : http://www.davidjanes.com/images/mf_hcard.png)  
* [http://kitchen.technorati.com/search Technorati Microformats Search] indexe les [[hcard-fr|hCard]], [[hcalendar-fr|hCalendar]] et les [[hreview-fr|hReview]] comme [http://tantek.com/log/2006/05.html#d31t1802 cela a été annoncé par Tantek].
* http://rbach.priv.at/2006/buttons/hcard.png
** liste des pages avec des problèmes d'indexation de façon à ce qu'elles puissent être étudiées pour connaître les raisons pour lesquelles les données ne sont pas extraites.
* http://www.boogdesign.com/images/buttons/microformat_hcard.png
** suda.co.uk/contact
* boutons CSS, sur [http://re-run.com/about/microformat-badges microformat badges @ re-run]
** multipack.co.uk
* [http://www.webstandards.org/action/dwtf/microformats/ Dreamweaver Extension suite] du [http://webstandards.org/ Web Standards Project] permet de publier des hCards à partir de Dreamweaver 8.
* [http://scooch.gr0w.com/ Scooch] est un créateur de diapos et de présentations qui génère une [[hcard-fr|hCard]] pour les auteurs individuels de diaporamas et les auteurs de commentaires avec un bouton CSS pour paser et télécharger via [http://suda.co.uk/projects/X2V/ X2V]. Utilise aussi [[hreview-fr|hReview]] pour l'évaluation des diaporamas et [[rel-tag-fr|rel-tag]] pour les catégories.
* [http://blog.codeeg.com/2006/03/20/flock-tails-flocktails/ Flocktails] - porte l'extension Tails sur Flock 0.5.12 qui cherche des hCards, hCalendar, xFolk et hReview et les place dans une barre supérieure bien commode.
* [http://opensource.reevoo.com/2006/03/08/release-uformats-12/ uformats] est une librairie ruby qui peut parser [[hcalendar-fr|hCalendar]], [[hcard-fr|hCard]], [[hreview-fr|hReview]] et [[rel-tag-fr|rel-tag]]
* [http://blog.codeeg.com/tails-firefox-extension-03/ Tails] est une Extension Firefox qui affichera la présence et les détails des microformats ([[hcard|hCard]], [[hcalendar|hCalendar]], [[hreview|hReview]], [[xfolk|xFolk]]) sur une page web. [https://addons.mozilla.org/firefox/2240/ Tails Export] est une version augmentée.
* [http://www.stripytshirt.co.uk/features/firefox/smartzilla Smartzilla est une extension Firefox] qui trouve les hCards sur les pages web et vous laisse les ajouter dans votre carnet d'adresses.
* [http://placenamehere.com/TXP/pnh_mf/ pnh_mf] est un plugin pour [http://textpattern.com/ Textpattern] qui supporte l'embarquement de hCard et d'autres microformats dans les gabarits et billets de blog. Ecrit par [http://placenamehere.com/ Chris Casciano].
* [http://flickr.com/photos/factoryjoe/68755089/ Support de hCards intégré dans le navigateur Konqueror].  Spécifiquement, Konqueror 3.5, dans KDE 3.5 (kubuntu Breezy w/ update).
* [http://tagcamp.org/index.cgi?ContactList plugin pour hCards dans kwiki].  Mise à jour : le [http://svn.kwiki.org/cwest/Kwiki-hCard/ plugin kwiki hCard svn repository].  Voir [http://microwiki.caseywest.com/index.cgi?hCard la documentation du plugin kwiki hCard].
* [http://suda.co.uk/projects/X2V/ X2V] est un bookmarklet qui parse hCard et produit un flux .vcf (vCard).  Note : a besoin d'être mis à jour car la spec est affinée.
* [http://www.stripytshirt.co.uk Duncan Walker] a construit [http://www.stripytshirt.co.uk/features/firefox/smartzilla une extension Firefox] qui reçoit les données hCard à partir d'une page web, utilise le XSL (localement) de Brian Suda pour le transforme en format vcard
et ouvre le fichier résultant .vcf.
* [http://george.hotelling.net/90percent/ George] a écrit un [http://george.hotelling.net/90percent/geekery/greasemonkey_and_microformats.php script utilisateur Greasemonkey] qui détecte les hCards et permet aux utilisateurs de les ajouter facilement dans
leurs applications carnets d'adresses. S'appuie sur le service web X2V pour faire la conversion.
* [http://inside.glnetworks.de/ Martin Rehfeld] a mis à jour les travaux de [http://blogmatrix.blogmatrix.com/ David Janes]
et produit un [http://inside.glnetworks.de/2006/06/05/microformats-have-arrived-in-firefox-15-greasemonkey-06/ script] [[Greasemonkey]] qui trouve beaucoup d'éléments microformats, y compris les hCards, et [http://blog.davidjanes.com/mtarchives/2005_08.html#003379 fournit un menu popup d'actions]. La conversion hCard en vCard est faite en interne dans le script. ''Ceci fonctionnera maintenant avec FireFox 1.5+/GreaseMonkey 0.6.4+.''
* [http://diveintomark.org/ Mark Pilgrim] a aussi écrit un [http://diveintomark.org/projects/greasemonkey/hcard/ script utilisateur parseur hCard Greasemonkey].  Il est auto-contenu et ne s'appuie pas sur le web service X2V.
* [http://www.oliverbrown.me.uk/2005/09/03/a-working-microformats-extension-to-simplexml/ Oliver Brown] a écrit une "extension" pour [http://www.php.net/simplexml SimpleXML] qui donne un accès simple à l'information hCard dans PHP 5.
* [http://thedredge.org/ Andrew D. Hume] a construit un système (plugin Wordpress ?) pour [http://thedredge.org/2005/06/using-hcards-in-your-blog/ utiliser des hcards dans votre blog]
pour représenter les personnes laissant des commentaires sur vos billets de blogs.
* Le [http://tantek.com/microformats/hcard-creator.html hCard creator] est un script / une interface utilisateur/ un formulaire / très simple, à ce jour illustré, qui crée une hCard en temps réel au fur et à mesure que vous saisissez un ensemble d'informations de contacts.
* [http://greenbytes.de/tech/webdav/rfc2629.xslt rfc2629.xslt] tente maintenant de générer de l'information de hCard ([http://ietf.org/rfc/rfc2629 RFC2629] est un format XML pour publier des RFCs et des Drafts Internet, voir [http://greenbytes.de/tech/webdav/rfc2629xslt/rfc2629xslt.html exemple de document])
* [http://tantek.com/microformats/buddylist2hcards.html iChat buddy list to hCards] - Open source AppleScript pour convertir automatiquement une liste d'amis dans le client MacOSX iChat AIM en une liste valide XHTML 1.0 Strict de hCards.
* [http://dev.w3.org/cvsweb/2001/palmagent/ palmagent] est un ensemble d'outils palmpilot et sidekick. Comprend dérivés X2V xhtml2hcard.xsl et toICal.xsl plus quelques contenus  [http://dev.w3.org/cvsweb/2001/palmagent/hcardTest.html hcardTest]
* L'application [http://www.openpsa.org/ OpenPsa 2.x] de CRM utilise hCard pour toutes les listes de personnes. Le widget est [http://www.midgard-project.org/midcom-permalink-922834501b71daad856f35ec593c7a6d réutilisable à travers Midgard CMS]
* [http://www.metonymie.com Emiliano Martínez Luque] a écrit un  [http://www.metonymie.com/hCard_extract/app.html hCard finder et une application de recherche structurée] expérimentale qui trouve les hCrds dans un ensemble donné d'URLs et renvoie celles qui correspondent au critère de recherche spécifié.
* [http://randomchaos.com/microformats/base/ Microformat Base] est un crawler agrégation open-source PHP de microformats, qui reconnaît actuellement hreview, hcalendar et hcard.


== Applications Additionnelles ==
== Copyright ==
Cette section est '''informative'''.
Selon la sortie en domaine public sur les pages-utilisateurs des auteurs ([[User:Tantek|Tantek Çelik]], [[User:Brian|Brian Suda]]) cette specification est publiée dans le domaine public.


Il existe de nombreux usages potentiels supplémentaires et d'applicatons pour les hCards sur le Web. Les suivants sont simplement quelques idées et possibilités que les types ont produit :
{{MicroFormatPublicDomainContributionStatement-fr}}


* En tant que standard ouvert/format pour les [http://www.gravatar.com/ Gravatars].
== Brevets==
* Baliser les auteurs individuels de billets de blog sur un blog de groupe
{{MicroFormatPatentStatement-fr}}
* Baliser les noms des personnes et URLs dans une blogroll
* Toute référence à des personnes dans les billets de blog (par ex au moment de les citer, ou de les référencer, ou de les décrire par leurs noms).
* ...


== Références ==
== Références ==
Line 315: Line 486:
* [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.ietf.org/rfc/rfc2426.txt vCard RFC2426]
* [http://www.ietf.org/rfc/rfc2426.txt vCard RFC2426]
* [http://www.itu.int/rec/T-REC-E.123-200102-I/en ITU recommendation E.123] format des numéros de téléphone (document chargeable)
* [[rfc-2119-fr|RFC 2119]]


=== Références Informatives ===
=== Références Informatives ===
* [[hcard-history-fr|histoire de la hCard]]
** [http://wiki.oreillynet.com/foocamp04/index.cgi?SimpleSemanticFormats FOO Camp 2004 présentation Simple Semantic Formats, 2004-09-10]
** [http://tantek.com/log/2004/09.html#hcard terme hCard introduit et défini sur le Web, 2004-09-30]
** Contribué à partir de http://developers.technorati.com/wiki/hCard 2005-06-20
** Contributions provenant de http://developers.technorati.com/wiki/hCard.
* [http://www.dante.net/np/ds/osi/9594-6-X.520.A4.ps X.520 dans Postscript] ([http://72.14.253.104/search?q=cache:FjqzsFu4h20J:www.dante.net/np/ds/osi/9594-6-X.520.A4.ps HTMLization courtesy of Google Cache]) - vCard fait référence au ROLE comme étant "based on the X.520 Business Category explanatory attribute".
* [http://www.w3.org/2002/12/cal/rfc2426 version remise en forme HTML de la  RFC2426]
* [http://www.w3.org/2002/12/cal/rfc2426 version remise en forme HTML de la  RFC2426]
* [http://w3.org/TR/REC-CSS1 CSS1]
* [http://w3.org/TR/REC-CSS1 CSS1]
* [http://tantek.com/log/2004/09.html#hcard terme hCard présenté et défini sur le Web, 20040930]
* [http://wiki.oreillynet.com/foocamp04/index.cgi?SimpleSemanticFormats FOO Camp 2004 Simple Semantic Formats presentation, 20040910]
* Contribué à partir de http://developers.technorati.com/wiki/hCard.
* [http://www.w3.org/TR/xhtml11 XHTML 1.1]
* [http://www.w3.org/TR/xhtml11 XHTML 1.1]
* [http://en.wikipedia.org/wiki/E.123 Résumé Wikipedia de la Recommandation ITU-T E.123] - pour les valeurs "TEL".
* [http://www.imc.org/pdi/ Internet Mail Consortium Personal Data Interchange vCard and vCalendar]
* [[iso-8601|ISO8601]]


==== Spécifications Qui Utilisent hCard ====
==== Spécifications Qui Utilisent hCard ====
Line 331: Line 510:


==== Travaux Equivalents ====
==== Travaux Equivalents ====
Cette section est '''informative'''.
* [http://www.intertwingly.net/wiki/pie/PaceBetterPersonElement Atom PaceBetterPersonElement]
* [http://www.intertwingly.net/wiki/pie/PaceBetterPersonElement Atom PaceBetterPersonElement]
* [http://www.jabber.org/jeps/jep-0054.html JEP-0054: vcard-temp]
* [http://www.jabber.org/jeps/jep-0054.html JEP-0054: vcard-temp]
== Inspiration et Remerciements ==
Cette section est '''informative'''.
Remerciements à mon bon ami [http://vadim.com/ Vadim] qui m'a présenté vCard il y a de ''nombreuses'' années,
et si j'avais prêté alors un peu plus d'attention, j'aurais pu peut-être aider beaucoup de personnes à éviter de perdre du temps à réinventer beaucoup de roues des standards.
== Notes sur la dérivation provenant de la vCard ==
Cette section est ''informative''.
=== Principes de Design XHTML Sémantique ===
{{semantic-xhtml-design-principles-fr}}
=== Plus d'Equivalents Sémantiques ===
Pour quelques propriétés, il existe quelques éléments HTML qui correspondent mieux et portent leurs sémantiques. Les propriétés suivantes DEVRAIENT être encodées avec le HTML suivant :
* <code>URL</code> dans vCard devient  <code><a class="url" href="...">...</a></code> dans l'élément avec <code>class="vcard"</code> dans hCard.
* De la même manière, <code>EMAIL</code> dans la vCard devient <code><nowiki><a class="email" href="mailto:...">...</a></nowiki></code>
* <code>PHOTO</code> dans la vCard devient <code><img class="photo" src="..." alt="Photo de ..." /></code> ou <code><object class="photo" data="..." type="...">Photo de ...</object></code>
* <code>UID</code> dans vCard devient simplement une autre sémantique appliquée à un URL spécifique (ou EMAIL) pour une hCard.
==== Propriétés Singulières ====
Les propriétés Singulières : "FN", "N", "BDAY", "TZ", "GEO", "SORT-STRING", "UID", "CLASS".
Toutes les autres propriétés sont plurielles. Cette liste a été dérivée en analysant la sémantique des propriétés individuelles dans la RFC2426 vCard et en déterminant logiquement qu'elles DOIVENT être singulières selon leurs sémantiques. Voir [[hcard-singular-properties-fr|propriétés hcard singulier]] pour des explications.
==== 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 ne permettait qu'une valeur unique avec plusieurs composants, ces composants multiples sont représentés chacun avec leur propre singularité appelée propriété
et la propriété est en fait multivalorisée et sujette au traitement ci-dessus des propriétés multivalorisées.


== Pages Apparentées ==
== Pages Apparentées ==
* [http://microformats.org/code/hcard/creator hCard creator] ([[hcard-creator-feedback-fr|feedback]]) - crééz votre propre hCard.
{{hcard-related-pages-fr}}
* [[hcard-authoring-fr|publication hCard]] - apprenez comment ajouter hCard à votre information de contact existante.
* [[hcard-examples-fr|exemples hCard]] - exemple d'usage de différentes classes dans hCard,
* [[hcard-faq-fr|hCard FAQ]] - Si vous avez quelque question à propos de hCard, vérifiez ici et si vous ne trouvez pas de réponses, ajoutez-y votre question !
* [[hcard-parsing-fr|parsage hCard]] - Détails de normes sur la manière de parser les hCards.
* [[hcard-issues-fr|problématiques hCard]] - Merci d'ajouter toute problématique avec la spécification sur la page problématiques.
* [[hcard-profile-fr|hCard profile]] - Le profil XMDP pour hCard


Cette spécification est un travail en cours. Au fur et à mesure que des aspects supplémentaires sont discutés, compris et écrits, ils seront ajoutés. Ces idées, problématiques et questions sont maintenues dans des pages séparées.
[[Category:Specifications]]
[[Category:hCard]]


* [[hcard-brainstorming|hCard Brainstorming]] - l'endroit où nous maintenons nos brainstorms et autres explorations en rapport avec hCard.
* [[hcard-tests-fr|hCard tests]] - une page wiki avec de véritables hCards embarquées pour essayer le parsage.


== Lectures Supplémentaires ==
== Traductions ==
* [http://www.digital-web.com/articles/microformats_primer/ Digital Web Magazine: Microformats Primer] de Garrett Dimon a une bonne introduction à hCard
Lisez la spécification hCard dans d'autres <span id="langues">langues</span> :
* [http://24ways.org/advent/practical-microformats-with-hcard Practical Microformats with hCard] de Drew McLellan
* [[hcard|anglais]] - la version normative de la spécification seule version de référence
* [http://www.naturalsearchblog.com/archives/2006/09/28/tips-for-local-search-engine-optimization-for-your-site/ Local Search Engine Optimization using Microformats] par Chris Silver Smith
* [[hcard-ru|Русский]]
* [http://thedredge.org/ Andrew D. Hume] a écrit un billet de blog sur  [http://usabletype.com/articles/2005/usable-microformats/ usable microformats] qui discute de hCard
* [[hcard-ja|日本語]]
* [http://www.thefutureoftheweb.com/blog/2006/1/hcard L'introduction à hCard de Jesse Skinner]
* [[hcard-zh|漢語]]
* Superbe billet de blog de [http://blog.usweb.com/ Shaun Shull] sur [http://blog.usweb.com/archives/how-microformats-affect-search-engine-optimization-seo How Microformats Affect SEO], incluant sa [[hcard-fr|hCard]] comme un exemple.
* Voir aussi les [http://www.technorati.com/cosmos/referer.html blogs discutant de cette page] et le [http://technorati.com/tags/hcard tag hCard]

Latest revision as of 16:26, 18 July 2020

Tantek Çelik (Editeur, Auteur), Brian Suda (Auteur) (Traduction : Christophe Ducamp : hCalendar - Seule la spécification originale fait référence)



hCard est un format simple, ouvert pour publier sur le web des personnes, sociétés, organisations, en utilisant une représentation 1:1 des propriétés et des valeurs de la vCard (RFC2426) en HTML. hCard est l'un des nombreux standards microformats ouverts adaptés pour l'embarquement dans le HTML/HTML5, et Atom/RSS/XHTML ou autre XML.

Les déclarations de Copyright et brevets sont en vigueur. Voir les remerciements.

Auteurs
Tantek Çelik (affiliations ci-dessus)
Brian Suda (http://suda.co.uk/)

Remerciements : Voir Remerciements.

Les déclarations de copyright et de brevets s'appliquent.

Exemple

Les hCards sont le plus souvent utilisées pour représenter des personnes :

<div class="vcard">
 <a class="url fn" href="http://tantek.com/">Tantek Çelik</a>
</div>

et des organisations :

<div class="vcard">
 <a class="url fn org" href="http://microformats.org/">microformats.org</a>
</div>

La classe vcard est un nom de classe racine qui indique la présence d'une hCard. Les classes url, fn, et org sont les propriétés qui indiquent les aspects de la hCard.

Propriétés

les propriétés communes de hCard (à l'intérieur de la classe vcard)
  • fn - nom, formaté/complet. requis
  • n - nom structuré, conteneur pour :
    • honorific-prefix - par ex. Ms., Mr., Dr.
    • given-name - nom donné (souvent en premier), le prénom
    • additional-name - autre nom/milieu
    • family-name - nom de famille (souvent en dernier)
    • honorific-suffix - par ex. Ph.D., Esq.
  • nickname - pseudo/alias, par ex. IRC nick
  • org - société/organisation
  • photo - photo, icône, avatar
  • url - page personnelle pour ce contact
  • email - addresse e-mail
  • tel - numéro de téléphone
  • adr - adresse structurée, conteneur pour :
    • street-address - rue #+nom, appart./suite
    • locality - ville ou village
    • region - état ou province
    • postal-code - code postal par ex. U.S. ZIP
    • country-name - non du pays
  • bday - anniversaire. date ISO.
  • category - pour taguer les contacts
  • note - notes concernant le contact
Exemple de propriétés communes hCard :
  • <div class="vcard">
    • <span class="fn">Sally Ride</span>
    • (<span class="n">
      • <span class="honorific-prefix">Dr.</span>
      • <span class="given-name">Sally</span>
      • <abbr class="additional-name">K.</abbr>
      • <span class="family-name">Ride</span>
      • <span class="honorific-suffix">Ph.D.</span></span>),
    • <span class="nickname">sallykride</span> (IRC)
    • <div class="org">Sally Ride Science</div>
    • <img class="photo" src="http://example.com/sk.jpg"/>
    • <a class="url" href="http://sally.example.com">w</a>,
    • <a class="email" href="mailto:sally@example.com">e</a>
    • <div class="tel">+1.818.555.1212</div>
    • <div class="adr">
      • <div class="street-address">123 Main st.</div>
      • <span class="locality">Los Angeles</span>,
      • <abbr class="region" title="California">CA</abbr>,
      • <span class="postal-code">91316</span>
      • <div class="country-name">U.S.A</div></div>
    • <time class="bday">1951-05-26</time> birthday
    • <div class="category">physicist</div>
    • <div class="note">First American woman in space.</div>
  • </div>
Voir la liste complète des propriétés pour la liste complète.

Commencer à écrire une hCard



Statut

hCard 1.0 est une spécification microformats.org. La discussion publique a pris place sur hcard-feedback, le canal irc #microformats sur irc.freenode.net et la liste de diffusion microformats-discuss.

Langues disponibles

La version anglaise de cette spécification sur hCard 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 de cette spécification sont corrigées dans les problématiques résolues et fermées. Regardez-les svp avant de rendre compte de problématiques.

La mise à jour hCard 1.0.1 est actuellement en développement et incorpore les corrections connues tout comme le modèle-de-classe-value.


Origines

Le standard vCard (RFC2426), a été largement implémenté de façon inter-opérable. (par ex. dans l'application "Carnet d'Adresses" d'Apple intégrée dans MacOSX).

En outre, beaucoup de blogueurs s'identifient eux-mêmes par un nom et discutent avec leurs amis et familles. Avec juste un peu de structure, les blogueurs peuvent discuter avec des personnes dans leurs blogs d'une telle façon que les spiders et autres agrégateurs peuvent retrouver cette information, la convertir automatiquement en vCards et l'utiliser dans n'importe quelle application ou service vCard.

Cette spécification présente le format hCard, qui utilise une représentation 1:1 des propriétés et valeurs du standard vCard mentionné ci-dessus, en HTML sémantique. Les blogueurs peuvent tout à la fois embarquer directement les hCards dans leurs pages web et les styliser avec CSS pour les faire apparaître comme ils le désirent. En outre, hCard permet aux applications de retrouver directement l'information à partir des pages web sans avoir à référencer un fichier séparé.

Utilisez le hCard creator et copiez le code HTML qu'il génère sur votre blog ou site web pour publier votre information de contact.

Conformité

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.

Format

En Général

Le standard vCard (RFC2426) forme la base de hCard.

Le format basique de hCard est d'utiliser les noms d'objet/propriété vCard en bas de casse pour les noms de classes, et de mapper l'imbrication des objets vCard directement dans les éléments HTML imbriqués.

Nom de Classe Racine

Le nom de classe racine pour une hcard est "vcard". Un élément avec un nom de classe "vcard" est lui même appelé une hCard.

Propriétés et Sous-propriétés

Les propriétés d'une hCard sont représentées par les éléments à l'intérieur de la hCard. Les éléments avec des 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 les éléments à l'intérieur des éléments pour les propriétés.

Liste des propriétés

Propriétés hCard (sous-propriétés entre parenthèses comme ceci)

Requis :

  • fn
  • n1
    • family-name
    • given-name
    • additional-name
    • honorific-prefix
    • honorific-suffix

Optionnel :

  • adr
    • post-office-box
    • extended-address
    • street-address
    • locality
    • region
    • postal-code
    • country-name
    • type
    • value
  • agent
  • bday
  • category
  • class
  • email (type, value)
  • geo
    • latitude
    • longitude
  • key
  • label
  • logo
  • mailer
  • nickname
  • note
  • org (organization-name, organization-unit)
  • photo
  • rev
  • role
  • sort-string
  • sound
  • tel2 (type, value)
  • title
  • tz
  • uid
  • url

Notes sur les Propriétés

  • 1. ^ : La propriété 'n' est OPTIONNELLE si n'importe quelle règle d'optimisation implicite 'n' est en vigueur.
  • tel
    • 2. ^: tel - Les auteurs PEUVENT vouloir suivre le standard E.123 pour écrire les valeurs de numéros de téléphone.
    • Les valeurs lettre (par ex 1-555-FORMATS) DOIVENT être converties en nombres. Utilisez un abbr pour afficher les lettre et fournir simultanément une valeur numérique, par ex. <abbr title="+15553676287">+1-555-FORMATS</abbr>.

Propriétés Singulières vs. Plurielles

Les propriétés singulières : 'fn', 'n', 'bday', 'tz', 'geo', 'sort-string', 'uid', 'class', 'rev'. Pour les propriétés qui sont singulières, le premier élément descendant avec cette classe DEVRAIENT s'exécuter, toutes les autres étant ignorées.

Toutes les autres propriétés PEUVENT être plurielles. Chaque instance de classe de telles propriétés crée une instance de cette propriété.

Lisible par Humain vs. Machine

Les contenus de textes visibles par les humains d'un élément pour une propriété représente la valeur de cette propriété, avec quelques exceptions :

Si un élément <a> est utilisé pour une propriété, alors l'attribut 'title' (si présent) 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 plus humainement présentable de la valeur.

Si un élément <a> est utilisé pour une ou plusieurs propriétés, il DOIT être traité comme suit :

  1. Pour la propriété 'photo' et toute autre propriété qui prend un URL comme sa valeur, l'attribut href="..." fournit la valeur de la propriété.
  2. Pour les autres propriétés, le contenu de l'élément est la valeur de la propriété.


Si un élément <img> est utilisé pour une ou plusieurs propriétés, il DOIT être traité comme suit :

  1. Pour la propriété 'photo' et toute autre propriété qui prend une URL comme sa valeur, l'attribut fournit la valeur de propriété.
  2. Pour les autres propriétés, l'attribut 'alt' de l'élément <img> est la valeur de la propriété.

Si un élément <object> est utilisé pour une ou plusieurs propriétés, il DOIT être traité comme suit :

  1. Pour la propriété 'photo' et toute autre propriété qui prend une URL comme sa valeur, l'attribut data="..." fournit la valeur de la propriété.
  2. Pour les autres propriétés, le contenu de l'élément est la valeur de la propriété.

Extraction de Valeur

Parfois, seule une partie d'un élément qui est l'équivalent d'une propriété devrait être utilisée pour la valeur de la propriété. Ceci arrive typiquement quand une propriété a un sous-type, comme 'tel'. A cette intention, le nom de classe spécial "value" est introduit pour extraire le sous-ensemble de l'élément qui est la valeur de la propriété. Par exemple, voici un fragment hCard pour marquer un numéro de téléphone de domicile :


vCard :

TEL;TYPE=HOME:+1.415.555.1212

hCard :

<span class="tel">
 <span class="type">home</span>:
 <span class="value">+1.415.555.1212</span>
</span>

Ce fragment de hCard pourrait s'afficher comme :

home: +1.415.555.1212


Vous pourriez vouloir personnaliser/localiser la ponctuation visible et ne pas vouloir que les machines la voient. Utilisez plusieurs éléments de classe "value" qui sont alors concaténés, par ex :

<span class="tel">
 <span class="type">home</span>:
 <span class="value">+1</span>.<span class="value">415</span>.<span class="value">555</span>.<span class="value">1212</span></span>
</span>

Aucun changement à l'affichage, mais la valeur de propriété analysée devient alors en vCard :

vCard:

TEL;TYPE=HOME:+14155551212


Exceptions de Propriétés

vCard a plusieurs propriétés qui soit ne font pas de sens, ou sont déjà imbriquées dans le contexte d'une page web. Cette section explique ce qu'il faut (ou ne pas) faire avec elles :

  1. Les propriétés de la vcard NAME, PROFILE, SOURCE, PRODID, VERSION sont définies dans les Sections 2.1.2, 2.1.3, 2.1.4, 3.6.3, 3.6.9 de la RFC2426. Les éditeurs de contenus NE DOIVENT PAS (NE DOIT PAS) utiliser ces propriétés dans leurs hCards, et par conséquent, les clients/parseurs de hCard DOIVENT (DOIT) IGNORER ces propriétés si elles sont trouvées dans une hCard. Au lieu de cela, les convertisseurs hCard vers vCard DEVRAIENT (DEVRAIT) utiliser le titre de la page où la hCard est trouvée (c'est à dire l'élément <title> dans les documents HTML) pour construire la propriété NOM, et ils PEUT produire une valeur PROFILE de "VCARD" selon la RFC2426, ils DEVRAIENT (DEVRAIT) utiliser l'URL de la page où est trouvée la hCard pour construire la propriété SOURCE (c'est à dire peut-être comme un paramètre vers un URL/service qui convertir les hCards en vCards), pour un flux de sortie vCard (par ex. un fichier vcf).

Seuls les services/applications qui produisent de véritables vCards devraient écrire la propriété PRODID, avec l'identifiant produit pour l'application/service. De la même façon, seuls de tels services/applications devraient écrire la propriété VERSION, avec la valeur "3.0" (sans guillemets) selon la RFC2426 Section 3.6.9.

Info Contact Organisation

Si les propriétés "FN" et "ORG" (organisation) ont exactement la même valeur (généralement parce qu'elles sont réglées sur le même élément, par ex. class="fn org"), alors la hCard représente l'information de contact pour une société, une organisation ou un lieu et DEVRAIT être traitée comme telle. Dans ce cas l'auteur NE DOIT PAS NE DOIT aussi PAS régler la propriété "N", ou la régler (et n'importe quelles sous-propriétés) explicitement vers la chaîne vide "". Par conséquent les parseurs DEVRAIT devraient gérer dans ce cas la propriété manquante "N" en sous-entendant des valeurs vides pour toutes les sous-propriétés "N".

Optimisation implicite "N"

Bien que vCard requiert que la propriété "N" soit présente, les auteurs de la spécification vCard (RFC2426) eux-mêmes n'incluent pas les propriétés "N" dans leurs vCards près de la fin de la spec (p.38). Cette contradiction apparente peut être résolue en permettant simplement à la propriété "FN" de sous-entendre les valeurs de la propriété "N" dans les cas typiques fournies dans la spécification. Nous faisons cela explicitement dans hCard.

Si "FN" et "ORG" ne sont pas les mêmes (voir section précédente) et si la valeur de la propriété "FN" est exactement de deux mots (séparés par un espace blanc) et s'il n'y a pas de propriété explicite "N", alors la propriété "N" est inférée à partir de la propriété "FN". Pour les "FN"s avec soit un mot voir au-dessous, et pour trois mots ou plus, l'auteur DOIT DOIT explicitement baliser le "N", exception faite pour le cas de l'information de contact organisation, voir au-dessus pour cela.

  1. Le contenu de "FN" est brisé en deux "mots" séparés par un espace blanc.
  2. Le premier mot de FN est interprété comme le "given-name" (prénom) pour la propriété "N".
  3. Le second/dernier mot de "FN" est interprété comme le "family-name" pour la propriété "N".
  4. Exception : Si le premier mot se finit par une "," virgule, alors le premier mot (moins la virgule à la fin s'il y en a) est interprété comme le "family-name" et le second mot est interprété comme le "given-name" (prénom).

Ceci permet une simplification dans le cas typique des gens déclarant :

  • given-name (espace) family-name
  • family-name (virgule) given-name

Optimisation implicite du "nickname"

Du fait de la prévalence de l'utilisation sur le web de pseudos/handles/nomsutilisateurs dans les contenus publiés sur le Web (par ex. les auteurs des critiques), hCard a aussi une optimisation implicite de "nickname" pour gérer cela.

De la même manière que l'optimisation sous-entendue "n", si "FN" et "ORG" ne sont pas les mêmes, et si la valeur de la propriété "FN" est exactement d'un mot, et s'il n'y a pas de propriété "N" explicite, alors :

  1. Le contenu du "FN" DOIT être traité comme une valeur de propriété "nickname".
  2. Les parseurs devraient (DEVRAIT) gérer la propriété manquante "N" par des valeurs vides implicites pour toutes les sous-propriétés "N".

Note : la hCard peut (PEUT) avoir des valeurs de propriétés explicites supplémentaires "nickname" en plus du nickname sous-entendu.

Optimisation implicite "organization-name"

La propriété "ORG" a deux sous-propriétés, organization-name et organization-unit. Très souvent les auteurs ne publient que organization-name. De ce fait si une propriété "ORG" n'a pas d'"organization-name" dedans, alors la totalité des contenus DOIT (DOIT) être traitée comme le "organization-name".

Tags en tant que Catégories

Les catégories dans hCard peuvent (PEUT) être représentées par des tags avec rel-tag. Quand une propriété category est un rel-tag, le tag (comme défini par rel-tag) est utilisé pour cette catégorie.

valeurs sous-propriété type

La sous-propriété 'type' en particulier prend différentes valeurs selon quelle propriété est une sous-propriété de. Ces valeurs de sous-propriétés 'type' sont INSENSIBLES à la casse, ceci voulant dire que "Home" est équivalent à "home", tout comme elle est multivalorisée, par ex. un téléphone peut être home et pref (éré) :


vCard :

TEL;TYPE=HOME,PREF:+1.415.555.1212

hCard :

<span class="tel"><span class="type">Home</span> (<span class="type">pref</span>erred):
 <span class="value">+1.415.555.1212</span>
</span>

Ceci pourrait être affiché sous :

Home (preferred): +1.415.555.1212

type avec valeur non spécifiée

Quand le type d'une propriété est spécifié, et qu'il n'y ait pas de valeur explicite spécifiée, alors tout dans la propriété excepté le type est considéré la valeur de la propriété, par exemple :

<span class="tel"><span class="type">Home</span> +1.415.555.1212</span>

est équivalent à :

<span class="tel"><span class="type">Home</span><span class="value"> +1.415.555.1212</span></span>

Et ce fait le type est "home" et la valeur est "+1.415.555.1212".


adr tel email types

Les listes suivantes sont informatives. Voir sections RFC2426 3.2.1 ADR, 3.3.1 TEL, et 3.3.2 EMAIL respectivement pour les valeurs type normatives. Elles sont répétées ici pour la facilité. La(es) valeur(s) de sous-propriétés type est (sont) d'abord dans chaque liste et toutes indiquées en LETTRES CAPITALES. Les types peuvent être multivalorisées.

  • adr type: INTL, POSTAL, PARCEL, WORK, dom, home, pref
  • tel type: VOICE, home, msg, work, pref, fax, cell, video, pager, bbs, modem, car, isdn, pcs
  • email type: INTERNET, x400, pref

Profil

Le Profil XMDP est sur http://microformats.org/profile/hcard

Le contenu qui utilise hCard DEVRAIT référencer ce profil, c'est à dire :

<link rel="profile" href="http://microformats.org/profile/hcard">

ou

Ce contenu utilise <a rel="profile" href="http://microformats.org/profile/hcard">hCard</a>.

ou

<head profile="http://microformats.org/profile/hcard">

(L'attribut de profil est déprécié en HTML5) Le contenu peut aussi combiner les méthodes au-dessus.


Détails Parsage

Voir hCard parsing.

Exemples

Cette section est informative.

Echantillon vCard

Voilà une vCard échantillon.

BEGIN:VCARD
VERSION:3.0
N:Çelik;Tantek
FN:Tantek Çelik
URL:http://tantek.com/
END:VCARD

et un équivalent en hCard avec différents éléments optimisés proprement. Voir hCard Exemple 1 pour la dérivation.

<div class="vcard">
 <a class="url fn" href="http://tantek.com/">Tantek Çelik</a>
</div>

Cette carte pourrait être affichée comme :

Tantek Çelik

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


Exemple Live

Voici les détails de contacts de Commercenet, sous forme d'une hCard vivante qui sera détectée, sur cette page, par les outils de parsage de microformats :

CommerceNet
http://www.commerce.net/
Work:
169 University Avenue

Palo Alto, CA  94301

USA
Work +1-650-289-4040
Fax +1-650-289-4041
Email

Le marquage, graissage omis pour la clarté, avec les améliorations sémantiques suivantes :

  • abbr pour épancher les abréviations
  • hyperlien du nom de l'org avec l'url
<div class="vcard">
  <a class="fn org url" href="http://www.commerce.net/">CommerceNet</a>
  <div class="adr">
    <span class="type">Work</span>:
    <div class="street-address">169 University Avenue</div>
    <span class="locality">Palo Alto</span>,  
    <abbr class="region" title="California">CA</abbr>&nbsp;&nbsp;
    <span class="postal-code">94301</span>
    <div class="country-name">USA</div>
  </div>
  <div class="tel">
   <span class="type">Work</span> +1-650-289-4040
  </div>
  <div class="tel">
    <span class="type">Fax</span> +1-650-289-4041
  </div>
  <div>Email: 
   <span class="email">info@commerce.net</span>
  </div>
</div>

Plus d'Exemples

Voir exemples hCard pour plus d'exemples, y compris tous les exemples extraits de la RFC2426 vCard convertie en hCard.

exemples dans la jungle

Cette section est informative. Le nombre d'exemples de hCard dans la jungle a grandi bien au delà de la capacité de pouvoir être maintenu en ligne et associé à cette spécification. Ils ont migré sur une page séparée.

Voir Exemples hCard dans la jungle.

Implémentations

Cette section est informative. Le nombre d'implémentations de hCard a aussi grandi au delà de la capacité de pouvoir les maintenir sur cette même page. Elles ont été migrées sur une page séparée.

Voir Implémentations hCard.

Articles

Cette section est informative. Pour en savoir plus sur hCard, voir hCard-articles.

Boutons

Vous pouvez utiliser ces boutons sur les pages avec des hCards. Voir buttons-fr#hCard pour toutes les additions récentes.

Copyright

Selon la sortie en domaine public sur les pages-utilisateurs des auteurs (Tantek Çelik, Brian Suda) cette specification est publié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

Spécifications Qui Utilisent hCard

Travaux Equivalents

Cette section est informative.

Inspiration et Remerciements

Cette section est informative. Remerciements à mon bon ami Vadim qui m'a présenté vCard il y a de nombreuses années, et si j'avais prêté alors un peu plus d'attention, j'aurais pu peut-être aider beaucoup de personnes à éviter de perdre du temps à réinventer beaucoup de roues des standards.

Notes sur la dérivation provenant de la vCard

Cette section est informative.

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

Plus d'Equivalents Sémantiques

Pour quelques propriétés, il existe quelques éléments HTML qui correspondent mieux et portent leurs sémantiques. Les propriétés suivantes DEVRAIENT être encodées avec le HTML suivant :

  • URL dans vCard devient <a class="url" href="...">...</a> dans l'élément avec class="vcard" dans hCard.
  • De la même manière, EMAIL dans la vCard devient <a class="email" href="mailto:...">...</a>
  • PHOTO dans la vCard devient <img class="photo" src="..." alt="Photo de ..." /> ou <object class="photo" data="..." type="...">Photo de ...</object>
  • UID dans vCard devient simplement une autre sémantique appliquée à un URL spécifique (ou EMAIL) pour une hCard.

Propriétés Singulières

Les propriétés Singulières : "FN", "N", "BDAY", "TZ", "GEO", "SORT-STRING", "UID", "CLASS".

Toutes les autres propriétés sont plurielles. Cette liste a été dérivée en analysant la sémantique des propriétés individuelles dans la RFC2426 vCard et en déterminant logiquement qu'elles DOIVENT être singulières selon leurs sémantiques. Voir propriétés hcard singulier pour des explications.

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 ne permettait qu'une valeur unique avec plusieurs composants, ces composants multiples sont représentés chacun avec leur propre singularité appelée propriété et la propriété est en fait multivalorisée et sujette au traitement ci-dessus des propriétés multivalorisées.

Pages Apparentées

La spécification hCard est un chantier en cours. Au fur et à mesure que des aspects supplémentaires sont discutés, compris et écrits, ils seront rajoutés. Ces idées, problématiques et questions sont maintenues sur des pages distinctes.


Traductions

Lisez la spécification hCard dans d'autres langues :