hcard-examples-fr: Difference between revisions

From Microformats Wiki
Jump to navigation Jump to search
m ([fr:sync'd with english version])
m (racbonov)
Line 1: Line 1:
sitcotaalrel
<h1>Exemples de hCard</h1>
<h1>Exemples de hCard</h1>
{{TOC-right}}
{{TOC-right}}
Line 4: Line 5:


== Auteurs ==
== Auteurs ==
* [http://tantek.com/ Tantek Çelik]
* [http://tantek.com/ Tantek Çelik]
* Brian Suda
* Brian Suda


* (Traduction en cours et tentative de localisation francophone [[Christophe Ducamp]] - Attention : seul le lien [[hcard-examples]] fait référence)
* (Traduction en cours et tentative de localisation francophone [[Christophe Ducamp]] - Attention : seul le lien [[hcard-examples]] fait référence)


== Exemples Instructifs ==
== Exemples Instructifs ==


=== Auteurs de Pages et de Posts ===
=== Auteurs de Pages et de Posts ===
[http://www.la-grange.net/w3c/html4.01/struct/global.html#h-7.5.6 Selon la spécification HTML4.01], "les auteurs peuvent employer l'élément <code>&lt;address&gt;</code> pour fournir les informations de contact du document ou d'une partie essentielle de celui-ci" c'est à dire
[http://www.la-grange.net/w3c/html4.01/struct/global.html#h-7.5.6 Selon la spécification HTML4.01], "les auteurs peuvent employer l'élément <code>&lt;address&gt;</code> pour fournir les informations de contact du document ou d'une partie essentielle de celui-ci" c'est à dire


<pre><nowiki>
<pre><nowiki>
<address>
<address>
  <a href="http://tantek.com/">Tantek Çelik</a>
  <a href="http://tantek.com/">Tantek Çelik</a>
</address>
</address>
</nowiki></pre>
</nowiki></pre>


En ajoutant [[hcard-fr|hCard]] à un tel XHTML sémantique, vous pouvez indiquer explicitement le nom de la personne, son URL, etc. :
En ajoutant [[hcard-fr|hCard]] à un tel XHTML sémantique, vous pouvez indiquer explicitement le nom de la personne, son URL, etc. :


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


Ceci pourrait être affiché comme :  
Ceci pourrait être affiché comme :  


  [http://tantek.com/ Tantek Çelik]
  [http://tantek.com/ Tantek Çelik]


Ceci fonctionne non seulement pour l'ensemble de pages, mais aussi pour les "parties essentielles" des pages, par exemple les billets de blog.
Ceci fonctionne non seulement pour l'ensemble de pages, mais aussi pour les "parties essentielles" des pages, par exemple les billets de blog.


Voir le [http://microformats.org/blog/ blog microformats.org] (visualisez la source) pour un exemple vivant. L'auteur de chaque billet de blog sur le blog microformats.org est balisé comme un élément <code>&lt;address class="vcard"&gt;</code> comme l'exemple montré ci-dessus.
Voir le [http://microformats.org/blog/ blog microformats.org] (visualisez la source) pour un exemple vivant. L'auteur de chaque billet de blog sur le blog microformats.org est balisé comme un élément <code>&lt;address class="vcard"&gt;</code> comme l'exemple montré ci-dessus.


=== Références aux Personnes et aux Organisations ===
=== Références aux Personnes et aux Organisations ===


Un modèle commun dans les posts de blog est de lier les citations des noms de personnes vers leurs blogs, et/ou les organisations vers leurs pages d'accueil. Par ex :  
Un modèle commun dans les posts de blog est de lier les citations des noms de personnes vers leurs blogs, et/ou les organisations vers leurs pages d'accueil. Par ex :  


<pre><nowiki>
<pre><nowiki>
<cite>
<cite>
<a href="http://meyerweb.com/">Eric Meyer</a>  
<a href="http://meyerweb.com/">Eric Meyer</a>  
a écrit un billet  
a écrit un billet  
(<cite>
(<cite>
<a href="http://meyerweb.com/eric/thoughts/2005/12/16/tax-relief/">
<a href="http://meyerweb.com/eric/thoughts/2005/12/16/tax-relief/">
Line 49: Line 50:
</a>
</a>
</cite>)  
</cite>)  
à propos d'une lettre involontairement humoristique qu'il a reçue du  
à propos d'une lettre involontairement humoristique qu'il a reçue du  
<a href="http://irs.gov/">Internal Revenue Service</a>.
<a href="http://irs.gov/">Internal Revenue Service</a>.
</nowiki></pre>
</nowiki></pre>


En ajoutant hCard à un tel balisage, vous pouvez explicitement indiquer à la fois la personne et l'organisation par le nom et l'URL :  
En ajoutant hCard à un tel balisage, vous pouvez explicitement indiquer à la fois la personne et l'organisation par le nom et l'URL :  


<pre><nowiki>
<pre><nowiki>
Line 59: Line 60:
<a class="fn url" href="http://meyerweb.com/">Eric Meyer</a>
<a class="fn url" href="http://meyerweb.com/">Eric Meyer</a>
</cite>  
</cite>  
a écrit un billet  
a écrit un billet  
(<cite>
(<cite>
<a href="http://meyerweb.com/eric/thoughts/2005/12/16/tax-relief/">
<a href="http://meyerweb.com/eric/thoughts/2005/12/16/tax-relief/">
Line 65: Line 66:
</a>
</a>
</cite>)  
</cite>)  
à propos d'une lettre involontairement humoristique qu'il a reçue du  
à propos d'une lettre involontairement humoristique qu'il a reçue du  
<span class="vcard">
<span class="vcard">
<a class="fn org url" href="http://irs.gov/">Internal Revenue Service</a>
<a class="fn org url" href="http://irs.gov/">Internal Revenue Service</a>
Line 71: Line 72:
</nowiki></pre>
</nowiki></pre>


Remarquez les noms de classe "fn org url" sur l'hyperlien entourant IRS.  Utiliser la même valeur (ou élément pour ce qui compte) pour "fn" et "org" indique que le hCard décrit une organisation plutôt qu'une personne.
Remarquez les noms de classe "fn org url" sur l'hyperlien entourant IRS.  Utiliser la même valeur (ou élément pour ce qui compte) pour "fn" et "org" indique que le hCard décrit une organisation plutôt qu'une personne.


Ceci pourrait être affiché comme :
Ceci pourrait être affiché comme :


  ''[http://meyerweb.com/ Eric Meyer]'' a écrit un billet  
  ''[http://meyerweb.com/ Eric Meyer]'' a écrit un billet  
(''[http://meyerweb.com/eric/thoughts/2005/12/16/tax-relief/ Tax Relief]'')  
(''[http://meyerweb.com/eric/thoughts/2005/12/16/tax-relief/ Tax Relief]'')  
à propos d'une lettre involontairement humoristique qu'il a reçue du [http://irs.gov/ Internal Revenue Service].
à propos d'une lettre involontairement humoristique qu'il a reçue du [http://irs.gov/ Internal Revenue Service].


=== hCard et XFN ===
=== hCard et XFN ===
==== Références vers des Personnes dans les Billets de Blog ====
==== Références vers des Personnes dans les Billets de Blog ====


Dans l'exemple au-dessus, une personne (le blogueur) fait référence à une autre personne (Eric Meyer).  En plus d'utiliser hCard pour baliser explicitement la référence comme une personne, le blogueur peut utiliser [http://gmpg.org/xfn/ XFN] (Le XHTML Friends Network) pour indiquer sa relation avec Eric Meyer, par ex. :
Dans l'exemple au-dessus, une personne (le blogueur) fait référence à une autre personne (Eric Meyer).  En plus d'utiliser hCard pour baliser explicitement la référence comme une personne, le blogueur peut utiliser [http://gmpg.org/xfn/ XFN] (Le XHTML Friends Network) pour indiquer sa relation avec Eric Meyer, par ex. :


<pre><nowiki>
<pre><nowiki>
Line 90: Line 91:
</a>
</a>
</cite>  
</cite>  
a écrit un billet  
a écrit un billet  
(<cite>
(<cite>
<a href="http://meyerweb.com/eric/thoughts/2005/12/16/tax-relief/">Tax Relief</a>
<a href="http://meyerweb.com/eric/thoughts/2005/12/16/tax-relief/">Tax Relief</a>
</cite>)  
</cite>)  
à propos d'une lettre involontairement humoristique qu'il a reçue du  
à propos d'une lettre involontairement humoristique qu'il a reçue du  
<span class="vcard">
<span class="vcard">
<a class="fn org url" href="http://irs.gov/">
<a class="fn org url" href="http://irs.gov/">
Line 102: Line 103:
</nowiki></pre>
</nowiki></pre>


Cela s'afficherait de la même façon que dans l'exemple précédent.
Cela s'afficherait de la même façon que dans l'exemple précédent.


==== Références aux Personnes dans les Blogrolls ====
==== Références aux Personnes dans les Blogrolls ====


Beaucoup de blogueurs utilisent XFN (en utilisant souvent une interface utilisateur facile qui est construite dans [http://wordpress.org WordPress]) pour indiquer explicitement leurs relations avec les personnes dans leurs blogrolls :
Beaucoup de blogueurs utilisent XFN (en utilisant souvent une interface utilisateur facile qui est construite dans [http://wordpress.org WordPress]) pour indiquer explicitement leurs relations avec les personnes dans leurs blogrolls :
Line 119: Line 120:
</nowiki></pre>
</nowiki></pre>


En ajoutant le balisage hCard à une blogroll d'amis XFN, vous pouvez indiquer explicitement le nom et l'URL de la personne en plus de sa relation :  
En ajoutant le balisage hCard à une blogroll d'amis XFN, vous pouvez indiquer explicitement le nom et l'URL de la personne en plus de sa relation :  


<pre><nowiki>
<pre><nowiki>
Line 136: Line 137:
* [http://photomatt.net Matt Mullenweg]
* [http://photomatt.net Matt Mullenweg]


Ceci fait référence aux [[hcard-xfn-supporting-friends-lists-fr|listes d'amis supportant hCard et XFN]], et c'est un bloc de construction clé de la [[social-network-portability-fr|portabilité du réseau social]].
Ceci fait référence aux [[hcard-xfn-supporting-friends-lists-fr|listes d'amis supportant hCard et XFN]], et c'est un bloc de construction clé de la [[social-network-portability-fr|portabilité du réseau social]].


Pour plus d'informations sur XFN, voir la [http://gmpg.org/xfn/ page d'accueil XFN], [http://gmpg.org/xfn/join rejoindre XFN], et [http://gmpg.org/xfn/background données de base sur XFN].
Pour plus d'informations sur XFN, voir la [http://gmpg.org/xfn/ page d'accueil XFN], [http://gmpg.org/xfn/join rejoindre XFN], et [http://gmpg.org/xfn/background données de base sur XFN].


La technique est utilisée dans le plugin  [http://factorycity.net/projects/wp-microformatted-blogroll/ Wordpress Blogroll Microformatée].
La technique est utilisée dans le plugin  [http://factorycity.net/projects/wp-microformatted-blogroll/ Wordpress Blogroll Microformatée].


=== Nouveaux Types d'Information de Contact ===
=== Nouveaux Types d'Information de Contact ===


Depuis que vCard a été conçu, il y a eu plusieurs autres services qui fournissent des individus avec des adresses ou d'autres moyens de contact, par ex. la messagerie instantanée, la voip, etc.
Depuis que vCard a été conçu, il y a eu plusieurs autres services qui fournissent des individus avec des adresses ou d'autres moyens de contact, par ex. la messagerie instantanée, la voip, etc.


Est-ce que cela veut dire que vCard (et par conséquent hCard) doit être étendu pour les représenter ?
Est-ce que cela veut dire que vCard (et par conséquent hCard) doit être étendu pour les représenter ?


Grâce à la flexibilité de la propriété URL, la réponse est non, aucune extension n'est nécessaire. Au lieu de cela, nous utilisons l'URL appropriée pour le service qui identifie le service (protocole, machine et/ou chemin), et plaçon l'adresse de l'individu à l'intérieur de cela.
Grâce à la flexibilité de la propriété URL, la réponse est non, aucune extension n'est nécessaire. Au lieu de cela, nous utilisons l'URL appropriée pour le service qui identifie le service (protocole, machine et/ou chemin), et plaçon l'adresse de l'individu à l'intérieur de cela.


==== AOL Instant Messenger (AIM) ====
==== AOL Instant Messenger (AIM) ====
Les ids AOL Instant Messenger (AIM) peuvent être représentées en utilisant le protocole <code>aim:</code>.  Beaucoup de personnes qui publient leurs ids AIM le font ainsi avec des URLs cliquables par ex :  
Les ids AOL Instant Messenger (AIM) peuvent être représentées en utilisant le protocole <code>aim:</code>.  Beaucoup de personnes qui publient leurs ids AIM le font ainsi avec des URLs cliquables par ex :  


<pre><nowiki>
<pre><nowiki>
Line 157: Line 158:
</nowiki></pre>
</nowiki></pre>


Par conséquent pour hCard, nous adopterons ce comportement existant d'éditeur, et le saisirons simplement comme un autre URL pour le hCard :  
Par conséquent pour hCard, nous adopterons ce comportement existant d'éditeur, et le saisirons simplement comme un autre URL pour le hCard :  


<pre><nowiki>
<pre><nowiki>
Line 164: Line 165:


==== Yahoo Messenger ====
==== Yahoo Messenger ====
De la même manière, les ids de Yahoo Instant Messenger (YIM) peuvent être représentées en utilisant le protocole <code>ymsgr:</code>.  Et de la même manière, beaucoup publient leurs ids YIM comme des URLs cliquables par ex :
De la même manière, les ids de Yahoo Instant Messenger (YIM) peuvent être représentées en utilisant le protocole <code>ymsgr:</code>.  Et de la même manière, beaucoup publient leurs ids YIM comme des URLs cliquables par ex :


<pre><nowiki>
<pre><nowiki>
Line 176: Line 177:


==== MSN Messenger ====
==== MSN Messenger ====
Les ids de MSN Messenger (MSNIM) peuvent être représentées en utilisant le protocole <code>msnim:</code>. Et de la même façon, beaucoup publient leurs ids MSNIM comme des URLs cliquables par ex :  
Les ids de MSN Messenger (MSNIM) peuvent être représentées en utilisant le protocole <code>msnim:</code>. Et de la même façon, beaucoup publient leurs ids MSNIM comme des URLs cliquables par ex :  


<pre><nowiki>
<pre><nowiki>
Line 188: Line 189:
</nowiki></pre>
</nowiki></pre>


Mis à jour le 14 mai 2006 - [http://www.wackomenace.co.uk/ Ruben]
Mis à jour le 14 mai 2006 - [http://www.wackomenace.co.uk/ Ruben]


Voir les [[hcard-examples-issues-fr#MSN_Messenger|problématiques en rapport]].
Voir les [[hcard-examples-issues-fr#MSN_Messenger|problématiques en rapport]].


==== XMPP (Jabber) ====
==== XMPP (Jabber) ====
Les idées [http://www.xmpp.org/ Extensible Messaging and Presence Protocol (XMPP)] peuvent être représentées en utilisant le protocole <code>xmpp:</code>, par exemple :  
Les idées [http://www.xmpp.org/ Extensible Messaging and Presence Protocol (XMPP)] peuvent être représentées en utilisant le protocole <code>xmpp:</code>, par exemple :  
<pre><nowiki>
<pre><nowiki>
<a class="url" href="xmpp:username@jabberservice.com">IM with username@jabberservice.com</a>
<a class="url" href="xmpp:username@jabberservice.com">IM with username@jabberservice.com</a>
Line 203: Line 204:


==== Skype ====
==== Skype ====
Skype peut être représenté en utilisant le protocole <code>skype:</code> protocol. Il peut être utilisé pour ouvrir une session de chat ou produire un appel Skype.
Skype peut être représenté en utilisant le protocole <code>skype:</code> protocol. Il peut être utilisé pour ouvrir une session de chat ou produire un appel Skype.


<pre><nowiki>
<pre><nowiki>
Line 223: Line 224:


==== ICQ ====
==== ICQ ====
ICQ n'a pas de schéma URL. A la place de cela, ICQ fait un lien sur le web en utilisant les hyperliens HTTP pour télécharger une ressource de contenu-type <code>application/x-icq</code> que le système d'exploitation ouvre alors avec le client utilisateur ICQ du client.  
ICQ n'a pas de schéma URL. A la place de cela, ICQ fait un lien sur le web en utilisant les hyperliens HTTP pour télécharger une ressource de contenu-type <code>application/x-icq</code> que le système d'exploitation ouvre alors avec le client utilisateur ICQ du client.  
Par conséquent nous pouvons marquer ces hyperliens HTTP avec le contenu-type réglé explicitement pour conmmuniquer la sémantique ICQ :
Par conséquent nous pouvons marquer ces hyperliens HTTP avec le contenu-type réglé explicitement pour conmmuniquer la sémantique ICQ :


<pre><nowiki>
<pre><nowiki>
Line 235: Line 236:
</nowiki></pre>
</nowiki></pre>
En remplaçant [NUMEROICQ] avec le véritable numéro ICQ de l'utilisateur.
En remplaçant [NUMEROICQ] avec le véritable numéro ICQ de l'utilisateur.


==== Profils de Sites ====  
==== Profils de Sites ====  
Les blogueurs indiquent souvent leur identité sur les services d'hébergement de contenu en utilisant l'URL de leur page d'accueil, fil ou profil sur ces services. En les étiquetant comme des propriétés d'URL, ces facettes supplémentaires d'identité peuvent être aussi bien publiées dans hCard.
Les blogueurs indiquent souvent leur identité sur les services d'hébergement de contenu en utilisant l'URL de leur page d'accueil, fil ou profil sur ces services. En les étiquetant comme des propriétés d'URL, ces facettes supplémentaires d'identité peuvent être aussi bien publiées dans hCard.


* <code>[http://del.icio.us delicious]:</code>
* <code>[http://del.icio.us delicious]:</code>
Line 247: Line 248:
* <code>[http://technorati.com/ Technorati]:</code>
* <code>[http://technorati.com/ Technorati]:</code>
** <code>&lt;a class="url" href="http://technorati.com/profile/tantek/"&gt;Profil Technorati&lt;/a&gt;</code>
** <code>&lt;a class="url" href="http://technorati.com/profile/tantek/"&gt;Profil Technorati&lt;/a&gt;</code>
* Complétez ici...
* Complétez ici...
** ....
** ....


==== lister vos autres profils ====
==== lister vos autres profils ====
Le cas le plus commun des sites listant d'autres profils sont les blogueurs qui listent leurs leurs propres autres profils, ou un site permettant à un utilisateur de lister son profil sur ce site, de lier vers ses autres profils. Du fait que l'auteur indique clairement que tous ces profils signifient la même personne, il est mieux de les marquer avec <code>rel="me"</code> de [[xfn-fr|XFN]] pour une consolidation d'identité explicite, par exemple si ces liens étaient sur le blog de Tantek ou d'autres profils de réseaux sociaux :  
Le cas le plus commun des sites listant d'autres profils sont les blogueurs qui listent leurs leurs propres autres profils, ou un site permettant à un utilisateur de lister son profil sur ce site, de lier vers ses autres profils. Du fait que l'auteur indique clairement que tous ces profils signifient la même personne, il est mieux de les marquer avec <code>rel="me"</code> de [[xfn-fr|XFN]] pour une consolidation d'identité explicite, par exemple si ces liens étaient sur le blog de Tantek ou d'autres profils de réseaux sociaux :  


* <code>[http://del.icio.us delicious] :</code>
* <code>[http://del.icio.us delicious] :</code>
Line 263: Line 264:
** ....
** ....


Une telle consolidation d'identité explicite menée par l'utilisateur est aussi un bloc de construction-clé pour la  [[social-network-portability-fr|portabilité-du-réseau-social]] qui est espliquée plus à fond dans le contexte des [[hcard-xfn-supporting-friends-lists-fr|listes-d'amis-supportant-hCard-et-XFN]].
Une telle consolidation d'identité explicite menée par l'utilisateur est aussi un bloc de construction-clé pour la  [[social-network-portability-fr|portabilité-du-réseau-social]] qui est espliquée plus à fond dans le contexte des [[hcard-xfn-supporting-friends-lists-fr|listes-d'amis-supportant-hCard-et-XFN]].


=== Profils Canoniques sur les Sites ===
=== Profils Canoniques sur les Sites ===
Les sites ont parfois différentes pages pour la "home" page d'une persone, et cette page profil de l'utilisateur.
Les sites ont parfois différentes pages pour la "home" page d'une persone, et cette page profil de l'utilisateur.


Par exemple, Flick a :  
Par exemple, Flick a :  
Line 276: Line 277:
En outre, les sites on souvent une URL <em>canonique</em> pour une personne et plusieurs URLs alternatives.
En outre, les sites on souvent une URL <em>canonique</em> pour une personne et plusieurs URLs alternatives.


Comme cela a été noté au-dessus, les liens vers ces URLs à l'intérieur de hCards qui représentent ces personnes devraient avoir un nom de classe "url".
Comme cela a été noté au-dessus, les liens vers ces URLs à l'intérieur de hCards qui représentent ces personnes devraient avoir un nom de classe "url".


En outre, de tel(s) lien(s) dans les hCards vers l'URL canonique d'une personne sur ce site devrai(en)t aussi avoir le nom de classe "uid". Cette technique a été proposée par Ryan King au premier  [[events/2007-08-28-social-network-portability-today|déjeuner Social Network Portability Today]].  
En outre, de tel(s) lien(s) dans les hCards vers l'URL canonique d'une personne sur ce site devrai(en)t aussi avoir le nom de classe "uid". Cette technique a été proposée par Ryan King au premier  [[events/2007-08-28-social-network-portability-today|déjeuner Social Network Portability Today]].  


Construit sur l'exemple en partant de la sections précédente :  
Construit sur l'exemple en partant de la sections précédente :  
* [http://flickr.com Flickr]:
* [http://flickr.com Flickr]:
** <code>&lt;a class="url" href="http://flickr.com/photos/tantek/"&gt;Voir mes photos&lt;/a&gt;</code>
** <code>&lt;a class="url" href="http://flickr.com/photos/tantek/"&gt;Voir mes photos&lt;/a&gt;</code>
** <code>&lt;a rel="me" class="url uid" href="http://flickr.com/people/tantek/"&gt;Profil Flickr&lt;/a&gt;</code>
** <code>&lt;a rel="me" class="url uid" href="http://flickr.com/people/tantek/"&gt;Profil Flickr&lt;/a&gt;</code>


Une telle propriété "url" + "uid" pourrait aussi être utilisé par un site sous l'URL [[OpenID-fr|OpenID]] de la personne.
Une telle propriété "url" + "uid" pourrait aussi être utilisé par un site sous l'URL [[OpenID-fr|OpenID]] de la personne.


=== Organisations et Départements ===
=== Organisations et Départements ===
Les départements sont balisés en utilisant le nom de classe "organization-unit" à l'intérieur de l'élément "org", avec le nom de l'organisation "organization-name" spécifiquement balisé pur le distinguer du département :
Les départements sont balisés en utilisant le nom de classe "organization-unit" à l'intérieur de l'élément "org", avec le nom de l'organisation "organization-name" spécifiquement balisé pur le distinguer du département :


<pre><nowiki>
<pre><nowiki>
Line 299: Line 300:
</nowiki></pre>
</nowiki></pre>


Le département peut aussi faire partie de l'adresse, cas dans lequel vous pourrez vouloir le baliser explicitement comme "extended-address" (adresse étendue) en plus de "organization-unit".
Le département peut aussi faire partie de l'adresse, cas dans lequel vous pourrez vouloir le baliser explicitement comme "extended-address" (adresse étendue) en plus de "organization-unit".


<pre><nowiki>
<pre><nowiki>
Line 309: Line 310:
   </div>
   </div>
   <div class="street-address">7 avenue de la Cristallerie</div>
   <div class="street-address">7 avenue de la Cristallerie</div>
   <span class="locality">Sèvres</span>,  
   <span class="locality">Sèvres</span>,  
   <abbr title="Ile de France" class="region">Ile de France</abbr>
   <abbr title="Ile de France" class="region">Ile de France</abbr>
   <span class="postal-code">92310</span>
   <span class="postal-code">92310</span>
Line 316: Line 317:
</nowiki></pre>
</nowiki></pre>


Remarquer qu'en imbriquant le org dans l'adresse, nous avons évité de dupliquer le nom du département.
Remarquer qu'en imbriquant le org dans l'adresse, nous avons évité de dupliquer le nom du département.


=== Listest d'Organisations ===
=== Listest d'Organisations ===
De la même façon que dans les [[hcard-examples-fr#R.C3.A9f.C3.A9rences_aux_Personnes_dans_les_Billets_de_Blog|listes de personnes]], les listes d'organisations (par exemple les groupes de musique) devraient utiliser une liste (non ordonnée à moins qu'il n'y ait une raison spécifique de la trier) avec des items de liste vers les pages d'accueil respectives des organisations.
De la même façon que dans les [[hcard-examples-fr#R.C3.A9f.C3.A9rences_aux_Personnes_dans_les_Billets_de_Blog|listes de personnes]], les listes d'organisations (par exemple les groupes de musique) devraient utiliser une liste (non ordonnée à moins qu'il n'y ait une raison spécifique de la trier) avec des items de liste vers les pages d'accueil respectives des organisations.


par exemple ce simple [[posh-fr|CHIC]] :
par exemple ce simple [[posh-fr|CHIC]] :
Line 339: Line 340:
</nowiki></pre>
</nowiki></pre>


peut être facilement amélioré avec hCard :  
peut être facilement amélioré avec hCard :  


<pre><nowiki>
<pre><nowiki>
Line 361: Line 362:
Ce sont des exemples 1:1 de hCard pour chaque exemple dans la [http://www.ietf.org/rfc/rfc2426.txt RFC 2426].
Ce sont des exemples 1:1 de hCard pour chaque exemple dans la [http://www.ietf.org/rfc/rfc2426.txt RFC 2426].


Mark Pilgrim a produit ces exemples de hCard disponibles sous des fichiers séparés :  
Mark Pilgrim a produit ces exemples de hCard disponibles sous des fichiers séparés :  
* http://diveintomark.org/projects/greasemonkey/hcard/tests/
* http://diveintomark.org/projects/greasemonkey/hcard/tests/


Line 372: Line 373:
</nowiki></pre>
</nowiki></pre>


Ce fragment de vCard a une propriété dont la valeur est une autre vCard, et pourrait être représentée comme un fragment de hCard avec un Chard embarqué, littéralement (avec la valeur par défaut non nécessaire type=internet omise, et l'optimisation implicite n) :  
Ce fragment de vCard a une propriété dont la valeur est une autre vCard, et pourrait être représentée comme un fragment de hCard avec un Chard embarqué, littéralement (avec la valeur par défaut non nécessaire type=internet omise, et l'optimisation implicite n) :  


<pre><nowiki>
<pre><nowiki>
Line 382: Line 383:
</nowiki></pre>
</nowiki></pre>


Ce hCard pourrait être affiché comme :  
Ce hCard pourrait être affiché comme :  


[mailto:jvendredi@host.com Jean Vendredi]<br />
[mailto:jvendredi@host.com Jean Vendredi]<br />
Line 388: Line 389:
Administration Chantier, Assistant
Administration Chantier, Assistant


=== 3.1.1 Définition Type FN  ===
=== 3.1.1 Définition Type FN  ===


<pre><nowiki>
<pre><nowiki>
Line 400: Line 401:
</nowiki></pre>
</nowiki></pre>


Ce fragment hCard pourrait être affiché comme :  
Ce fragment hCard pourrait être affiché comme :  


M. Jean Q. Public, Dr.
M. Jean Q. Public, Dr.


=== 3.1.2 Définition Type N ===
=== 3.1.2 Définition Type N ===


==== Exemple 1 ====
==== Exemple 1 ====
Line 424: Line 425:
</nowiki></pre>
</nowiki></pre>


ce fragment hCard pourrait être affiché comme :
ce fragment hCard pourrait être affiché comme :


M. Jean Quinlan Public, Dr.
M. Jean Quinlan Public, Dr.
Line 449: Line 450:
</nowiki></pre>
</nowiki></pre>


ce fragment hCard serait affiché comme :  
ce fragment hCard serait affiché comme :  


Dr. John Philip Paul Stevenson, Jr., M.D., A.C.P.
Dr. John Philip Paul Stevenson, Jr., M.D., A.C.P.


=== 3.1.3 Définition Type NICKNAME (pseudo) ===
=== 3.1.3 Définition Type NICKNAME (pseudo) ===


==== Exemple 1 ====
==== Exemple 1 ====
Line 467: Line 468:
</nowiki></pre>
</nowiki></pre>


ce fragment hCard serait affiché comme :  
ce fragment hCard serait affiché comme :  


Robbie
Robbie
Line 484: Line 485:
</nowiki></pre>
</nowiki></pre>


ce fragment hCard serait affiché comme :  
ce fragment hCard serait affiché comme :  


Jim, Jimmie
Jim, Jimmie


=== 3.1.4 Définition Type PHOTO ===
=== 3.1.4 Définition Type PHOTO ===


==== Exemple 1 ====
==== Exemple 1 ====
Line 509: Line 510:
</nowiki></pre>
</nowiki></pre>


Ce fragment vCard sous un fragment hCard : (sauts de ligne insérés dans la valeur src pour lisibilité) :
Ce fragment vCard sous un fragment hCard : (sauts de ligne insérés dans la valeur src pour lisibilité) :


<pre><nowiki>
<pre><nowiki>
Line 518: Line 519:
</nowiki></pre>
</nowiki></pre>


=== 3.1.5 Définition Type BDAY ===
=== 3.1.5 Définition Type BDAY ===


==== Exemple 1 ====
==== Exemple 1 ====
Line 568: Line 569:
<abbr class="bday" title="1987-09-27T08:30:00-06:00">9 septembre 1987</abbr>
<abbr class="bday" title="1987-09-27T08:30:00-06:00">9 septembre 1987</abbr>


=== 3.2.1 Définition Type ADR ===
=== 3.2.1 Définition Type ADR ===


<pre><nowiki>
<pre><nowiki>
Line 601: Line 602:
</div>
</div>


=== 3.2.2 Définition Type LABEL ===
=== 3.2.2 Définition Type LABEL ===


<pre><nowiki>
<pre><nowiki>
Line 629: Line 630:




'''Note :''' le fragment hCard au-dessus utilise un tag &lt;pre&gt; à l'intérieur d'une valeur de propriété pour capturer/représenter des retours explicites de transport (caractères "\n") extrait du fragment vCard.
'''Note :''' le fragment hCard au-dessus utilise un tag &lt;pre&gt; à l'intérieur d'une valeur de propriété pour capturer/représenter des retours explicites de transport (caractères "\n") extrait du fragment vCard.


ce fragment hCard pourrait s'afficher comme suit :  
ce fragment hCard pourrait s'afficher comme suit :  
Line 646: Line 647:
</pre>
</pre>


=== 3.3.1 Définition Type TEL ===
=== 3.3.1 Définition Type TEL ===


<pre><nowiki>
<pre><nowiki>
Line 657: Line 658:
<span class="tel">
<span class="tel">
  <abbr class="type" title="pref">mon</abbr>  
  <abbr class="type" title="pref">mon</abbr>  
  <abbr class="type" title="voice">téléphone</abbr>
  <abbr class="type" title="voice">téléphone</abbr>
  <span class="type">professionnel</span> avec  
  <span class="type">professionnel</span> avec  
   <abbr class="type" title="msg">messagerie vocale</abbr> :
   <abbr class="type" title="msg">messagerie vocale</abbr> :
Line 666: Line 667:
ce fragment hCard pourrait s'afficher comme :
ce fragment hCard pourrait s'afficher comme :


mon téléphone professionnel avec messagerie vocale : +1-213-555-1234
mon téléphone professionnel avec messagerie vocale : +1-213-555-1234


=== 3.3.2 Définition Type EMAIL ===
=== 3.3.2 Définition Type EMAIL ===


==== Exemple 1 ====
==== Exemple 1 ====
Line 713: Line 714:
<a class="email" href="mailto:jeanne_doe@abc.com">
<a class="email" href="mailto:jeanne_doe@abc.com">
  <abbr class="type" title="pref">preferred</abbr>  
  <abbr class="type" title="pref">preferred</abbr>  
  email préféré pour jeanne_doe
  email préféré pour jeanne_doe
</a>
</a>
</nowiki></pre>
</nowiki></pre>
Line 719: Line 720:
ce fragment hCard pourrait s'afficher ainsi
ce fragment hCard pourrait s'afficher ainsi


[mailto:jeanne_doe@abc.com email préféré pour jeanne_doe]
[mailto:jeanne_doe@abc.com email préféré pour jeanne_doe]


=== 3.3.3 Définition Type MAILER ===
=== 3.3.3 Définition Type MAILER ===


<pre><nowiki>
<pre><nowiki>
Line 737: Line 738:
Jeanne Doe utilise <span class="mailer">PigeonMail 2.1</span> pour l'email.
Jeanne Doe utilise <span class="mailer">PigeonMail 2.1</span> pour l'email.


=== 3.4.1 Définition Type TZ ===
=== 3.4.1 Définition Type TZ ===


==== Exemple 1 ====
==== Exemple 1 ====
Line 774: Line 775:
<abbr class="tz" title="-05:00; EST; Raleigh/North America;This example has a single value, not a structure text value.">EST</abbr>
<abbr class="tz" title="-05:00; EST; Raleigh/North America;This example has a single value, not a structure text value.">EST</abbr>


=== 3.4.2 Définition Type GEO ===
=== 3.4.2 Définition Type GEO ===


<pre><nowiki>
<pre><nowiki>
Line 793: Line 794:
37.386013, -122.082932
37.386013, -122.082932


=== 3.5.1 Définition Type TITLE ===
=== 3.5.1 Définition Type TITLE ===


<pre><nowiki>
<pre><nowiki>
TITLE:Directeur\, Recherche et Développement
TITLE:Directeur\, Recherche et Développement
</nowiki></pre>
</nowiki></pre>


Line 802: Line 803:


<pre><nowiki>
<pre><nowiki>
<span class="title">Directeur, Recherche et Développement</span>
<span class="title">Directeur, Recherche et Développement</span>
</nowiki></pre>
</nowiki></pre>


ce fragment hCard pourrait s'afficher ainsi
ce fragment hCard pourrait s'afficher ainsi


Directeur, Recherche et Développement
Directeur, Recherche et Développement


=== 3.5.2 Définition Type ROLE ===
=== 3.5.2 Définition Type ROLE ===


<pre><nowiki>
<pre><nowiki>
Line 825: Line 826:
Programmeur
Programmeur


=== 3.5.3 Définition Type LOGO ===
=== 3.5.3 Définition Type LOGO ===


==== Exemple 1 ====
==== Exemple 1 ====
Line 839: Line 840:
</nowiki></pre>
</nowiki></pre>


ce fragment hCard pourrait s'afficher ainsi : (note : j'ai utilisé une véritable URL pour l'image) :  
ce fragment hCard pourrait s'afficher ainsi : (note : j'ai utilisé une véritable URL pour l'image) :  


http://microformats.org/img/mf-lg-ora.gif
http://microformats.org/img/mf-lg-ora.gif
Line 861: Line 862:
</nowiki></pre>
</nowiki></pre>


aucun affichage équivalent donné, parce que ce sont des données : URL tiré de l'exemple original incomplet.
aucun affichage équivalent donné, parce que ce sont des données : URL tiré de l'exemple original incomplet.


=== 3.5.4 Définition Type AGENT ===
=== 3.5.4 Définition Type AGENT ===


==== Exemple 1 ====
==== Exemple 1 ====
Line 902: Line 903:
[mailto:sthomas@host.com Susan Thomas], +1-919-555-1234
[mailto:sthomas@host.com Susan Thomas], +1-919-555-1234


Note : la vCard dans la propriété AGENT du fragment vCard est en fait invalide parce qu'il lui manque la propriété "N".  Néanmoins, la version hCard *est* valide, parce que j'ai ajouté le nom de classe "n" à l'exemple.
Note : la vCard dans la propriété AGENT du fragment vCard est en fait invalide parce qu'il lui manque la propriété "N".  Néanmoins, la version hCard *est* valide, parce que j'ai ajouté le nom de classe "n" à l'exemple.


=== 3.5.5 Définition Type ORG ===
=== 3.5.5 Définition Type ORG ===


<pre><nowiki>
<pre><nowiki>
Line 924: Line 925:
ABC, Inc., North American Division, Marketing
ABC, Inc., North American Division, Marketing


=== 3.6.1 Définition Type CATEGORIES ===
=== 3.6.1 Définition Type CATEGORIES ===


==== Exemple 1 ====
==== Exemple 1 ====
Line 985: Line 986:
</nowiki></pre>
</nowiki></pre>


Note, cette propriété vCard ne fait véritablement pas de sens comme propriété hCard, parce qu'elle devrait être vraiment remplie par tout ce que peut transformer le code hCard en vCard, par ex. Brian Suda's X2V.
Note, cette propriété vCard ne fait véritablement pas de sens comme propriété hCard, parce qu'elle devrait être vraiment remplie par tout ce que peut transformer le code hCard en vCard, par ex. Brian Suda's X2V.


=== 3.6.4 Définition Type REV ===
=== 3.6.4 Définition Type REV ===


==== Exemple 1 ====
==== Exemple 1 ====
Line 1,014: Line 1,015:


<pre><nowiki>
<pre><nowiki>
<abbr class="rev" title="1997-11-15">Mise à jour : 15 novembre</abbr>
<abbr class="rev" title="1997-11-15">Mise à jour : 15 novembre</abbr>
</nowiki></pre>
</nowiki></pre>


ce fragment hCard pourrait s'afficher comme :  
ce fragment hCard pourrait s'afficher comme :  


<abbr class="rev" title="1997-11-15">Mise à jour : 15 novembre</abbr>
<abbr class="rev" title="1997-11-15">Mise à jour : 15 novembre</abbr>


=== 3.6.5 Définition Type SORT-STRING ===
=== 3.6.5 Définition Type SORT-STRING ===


==== Exemple 1 ====
==== Exemple 1 ====
Line 1,047: Line 1,048:
</nowiki></pre>
</nowiki></pre>


Note : La chaîne "Harten" n'a PAS été répétée dans le hCard, même s'il ETAIT répété dans la vCard (3 fois ! dans N, FN, et SORT-STRING).  La propriété "SORT-STRING" fournit une autre bonne démonstration sur la façon dont hCard permet une meilleure adhérence au  [http://microformats.org/wiki/hcard-example1-steps-fr#exemple_hCard_it.C3.A9ration_1_:_DRY principe DRY] que la vCard.
Note : La chaîne "Harten" n'a PAS été répétée dans le hCard, même s'il ETAIT répété dans la vCard (3 fois ! dans N, FN, et SORT-STRING).  La propriété "SORT-STRING" fournit une autre bonne démonstration sur la façon dont hCard permet une meilleure adhérence au  [http://microformats.org/wiki/hcard-example1-steps-fr#exemple_hCard_it.C3.A9ration_1_:_DRY principe DRY] que la vCard.


ce fragment hCard pourrait s'afficher comme :  
ce fragment hCard pourrait s'afficher comme :  
Line 1,071: Line 1,072:
</nowiki></pre>
</nowiki></pre>


Note : Non seulement la chaîne "Pau" n'était PAS répétée dans le hCard (meilleure adhérence à nouveau au better [http://microformats.org/wiki/hcard-example1-steps-fr#exemple_hCard_it.C3.A9ration_1_:_DRY principe DRY]), même s'il elle ETAIT répétée dans la vCard, mais dans ce cas du fait que "family-name" et "sort-string" sont les même, nous avons pu utiliser la [http://microformats.org/wiki/hcard-example1-steps-fr#Exemple_hCard_it.C3.A9ration_2_:_conservation_.C3.A9l.C3.A9ment conservation élément] et n'utiliser qu'un élément pour les deux propriétés.
Note : Non seulement la chaîne "Pau" n'était PAS répétée dans le hCard (meilleure adhérence à nouveau au better [http://microformats.org/wiki/hcard-example1-steps-fr#exemple_hCard_it.C3.A9ration_1_:_DRY principe DRY]), même s'il elle ETAIT répétée dans la vCard, mais dans ce cas du fait que "family-name" et "sort-string" sont les même, nous avons pu utiliser la [http://microformats.org/wiki/hcard-example1-steps-fr#Exemple_hCard_it.C3.A9ration_2_:_conservation_.C3.A9l.C3.A9ment conservation élément] et n'utiliser qu'un élément pour les deux propriétés.


ce fragment hCard pourrait être affiché ainsi :
ce fragment hCard pourrait être affiché ainsi :


Robert Pau Shou Chang
Robert Pau Shou Chang
Line 1,095: Line 1,096:
Note : Cet exemple, en plus de mieux illustrer le meilleur support du [http://microformats.org/wiki/hcard-example1-steps-fr#exemple_hCard_it.C3.A9ration_1_:_DRY principe DRY], fait aussi usage de l'[http://microformats.org/wiki/hcard-fr#Optimisation_implicite_.22n.22 optimisation implicite "N"].
Note : Cet exemple, en plus de mieux illustrer le meilleur support du [http://microformats.org/wiki/hcard-example1-steps-fr#exemple_hCard_it.C3.A9ration_1_:_DRY principe DRY], fait aussi usage de l'[http://microformats.org/wiki/hcard-fr#Optimisation_implicite_.22n.22 optimisation implicite "N"].


ce fragment hCard pourrait être affiché ainsi :
ce fragment hCard pourrait être affiché ainsi :


Osamu Koura
Osamu Koura
Line 1,121: Line 1,122:
</nowiki></pre>
</nowiki></pre>


Note : Malheureusement cet exemple pourrait ne pas complètement adhérer au principe DRY du fait du "FN" utilisant une *substring* du family-name, et en plus a par conséquent cacher la chaîne de valeur supplémentaire "family-name" en utilisant CSS display:none, ce qui en devrait être évité en général.  Suggestion bienvenue pour améliorations de ce fragment hCard.
Note : Malheureusement cet exemple pourrait ne pas complètement adhérer au principe DRY du fait du "FN" utilisant une *substring* du family-name, et en plus a dû par conséquent cacher la chaîne de valeur supplémentaire "family-name" en utilisant CSS display:none, ce qui en devrait être évité en général.  Suggestion bienvenue pour améliorations de ce fragment hCard.


ce fragment hCard pourrait s'afficher comme :  
ce fragment hCard pourrait s'afficher comme :  
Line 1,143: Line 1,144:
</nowiki></pre>
</nowiki></pre>


Note : Cet exemple redémontre les avantages/l'efficacité démontrés dans l'[http://microformats.org/wiki/hcard-examples-fr#Exemple_3_3 exemple 3] au-dessus.
Note : Cet exemple redémontre les avantages/l'efficacité démontrés dans l'[http://microformats.org/wiki/hcard-examples-fr#Exemple_3_3 exemple 3] au-dessus.


ce fragment hCard pourrait s'afficher comme :
ce fragment hCard pourrait s'afficher comme :
Line 1,149: Line 1,150:
Christine d'Aboville
Christine d'Aboville


=== 3.6.6 Définition Type SOUND ===
=== 3.6.6 Définition Type SOUND ===


==== Exemple 1 ====
==== Exemple 1 ====
Line 1,171: Line 1,172:
prononciation de "JOHN Q PUBLIC"
prononciation de "JOHN Q PUBLIC"


à la condition que votre navigateur supporte le type MIME "audio/basic" (défini dans la [http://www.rfc-editor.org/rfc/rfc2046.txt RFC2046 section 4.3]) et ait quelque moyen de retrouver les urls "CID:".
à la condition que votre navigateur supporte le type MIME "audio/basic" (défini dans la [http://www.rfc-editor.org/rfc/rfc2046.txt RFC2046 section 4.3]) et ait quelque moyen de retrouver les urls "CID:".


==== Exemple 2 ====
==== Exemple 2 ====
Line 1,193: Line 1,194:
</nowiki></pre>
</nowiki></pre>


pas d'affichage équivalent donné, parce que des données : l'URL de l'exemple original est incomplète.
pas d'affichage équivalent donné, parce que des données : l'URL de l'exemple original est incomplète.


=== 3.6.7 Définition Type UID ===
=== 3.6.7 Définition Type UID ===


<pre><nowiki>
<pre><nowiki>
Line 1,212: Line 1,213:
Unique id:19950401-080045-40000F192713-0052
Unique id:19950401-080045-40000F192713-0052


Note : en pratique, je ne pense pas que j'ai vu globalement des IDs uniques pour des enregistrements de "contact info" publiés sur le web, mais peut-être que je ne considère pas assez d'exemples.
Note : en pratique, je ne pense pas que j'ai vu globalement des IDs uniques pour des enregistrements de "contact info" publiés sur le web, mais peut-être que je ne considère pas assez d'exemples.




=== 3.6.8 Définition Type URL ===
=== 3.6.8 Définition Type URL ===


<pre><nowiki>
<pre><nowiki>
Line 1,231: Line 1,232:
[http://www.swbyps.restaurant.french/~chezchic.html Chez Chic]
[http://www.swbyps.restaurant.french/~chezchic.html Chez Chic]


=== 3.7.1 Définition Type CLASS ===
=== 3.7.1 Définition Type CLASS ===


==== Exemple 1 ====
==== Exemple 1 ====
Line 1,281: Line 1,282:
CONFIDENTIAL
CONFIDENTIAL


=== 3.7.2 Définition Type KEY ===
=== 3.7.2 Définition Type KEY ===


<pre><nowiki>
<pre><nowiki>
Line 1,329: Line 1,330:
Key
Key


Note : Du fait du manque d'une valeur TYPE dans l'exemple RFC2426, j'ai substitué application/octet-stream.  Clairement pour que ce soit de quelque utilité, le type spécifié doit être de quelque sorte de clé ou de "certificate mime type".
Note : Du fait du manque d'une valeur TYPE dans l'exemple RFC2426, j'ai substitué application/octet-stream.  Clairement pour que ce soit de quelque utilité, le type spécifié doit être de quelque sorte de clé ou de "certificate mime type".


=== 7. Adresses des Auteurs ===
=== 7. Adresses des Auteurs ===
Line 1,360: Line 1,361:
</nowiki></pre>
</nowiki></pre>


Notez que ces deux vCards sont invalides parce qu'il manque la propriété REQUISE "N" qui est tout à fait ironique, parce que ce sont les vCards des auteurs eux-mêmes.
Notez que ces deux vCards sont invalides parce qu'il manque la propriété REQUISE "N" qui est tout à fait ironique, parce que ce sont les vCards des auteurs eux-mêmes.


Néanmoins, ces vCards peuvent être représentées par les hCards suivantes :  
Néanmoins, ces vCards peuvent être représentées par les hCards suivantes :  


<pre><nowiki>
<pre><nowiki>
Line 1,468: Line 1,469:


== Test de Casses ==
== Test de Casses ==
Ce sont des exemples [[hcard-fr|hCard]] qui ont été trouvés particulièrement utiles pour trouver des bugs dans les parseurs hCard (par ex. X2V).
Ce sont des exemples [[hcard-fr|hCard]] qui ont été trouvés particulièrement utiles pour trouver des bugs dans les parseurs hCard (par ex. X2V).


=== Problème avec Information BDAY ===
=== Problème avec Information BDAY ===
cet exemple :  
cet exemple :  


Line 1,483: Line 1,484:
</pre>
</pre>


devrait produire "BDAY:1985-10-27T00:00:00Z" mais il produit "BDAY:Birthday October 27\, 1985". Le fait intéressant est que le carnet d'adresses apple est encore en train de vouloir l'accepter de cette façon.
devrait produire "BDAY:1985-10-27T00:00:00Z" mais il produit "BDAY:Birthday October 27\, 1985". Le fait intéressant est que le carnet d'adresses apple est encore en train de vouloir l'accepter de cette façon.


=== INSENSIBILITE à la casse des valeurs type ===
=== INSENSIBILITE à la casse des valeurs type ===


* "home" vs. "Home"
* "home" vs. "Home"
Line 1,498: Line 1,499:
</pre>
</pre>


ceci non, mais le devrait. Mais au lieu de ça il devient simplement TEL sans un type dans la vcard
ceci non, mais le devrait. Mais au lieu de ça il devient simplement TEL sans un type dans la vcard


<pre>
<pre>
Line 1,514: Line 1,515:
   <span class="fn n">
   <span class="fn n">
     <a class="url" href="http://t37.net">
     <a class="url" href="http://t37.net">
       <span class="given-name">Fréderic</span>  
       <span class="given-name">Fréderic</span>  
       <span class="family-name">de Villamil</span>  
       <span class="family-name">de Villamil</span>  
     </a>
     </a>
Line 1,534: Line 1,535:
   </span>
   </span>
   <span class="geo">
   <span class="geo">
     <abbr class="latitude" title="48.816667">N 48° 81.6667</abbr>
     <abbr class="latitude" title="48.816667">N 48° 81.6667</abbr>
     <abbr class="longitude" title="2.366667">E 36.6667</abbr>
     <abbr class="longitude" title="2.366667">E 2° 36.6667</abbr>
   </span>
   </span>
</div>
</div>
Line 1,541: Line 1,542:
</pre>
</pre>


devrait être traduite dans la vCard suivante :
devrait être traduite dans la vCard suivante :


<pre><nowiki>
<pre><nowiki>
Line 1,556: Line 1,557:
</nowiki></pre>
</nowiki></pre>


X2V (2005-12-18) échoue à cette heure pour parser/exporter la propriété GEO.
X2V (2005-12-18) échoue à cette heure pour parser/exporter la propriété GEO.


== Pages Apparentées ==
== Pages Apparentées ==
* [[hcard-examples-issues-fr|hcard-exemples-problématiques]]
* [[hcard-examples-issues-fr|hcard-exemples-problématiques]]
{{hcard-related-pages-fr}}
{{hcard-related-pages-fr}}

Revision as of 11:35, 3 January 2009

sitcotaalrel

Exemples de hCard

Exemples de hCards.

Auteurs

Exemples Instructifs

Auteurs de Pages et de Posts

Selon la spécification HTML4.01, "les auteurs peuvent employer l'élément <address> pour fournir les informations de contact du document ou d'une partie essentielle de celui-ci" c'est à dire

<address>
 <a href="http://tantek.com/">Tantek Çelik</a>
</address>

En ajoutant hCard à un tel XHTML sémantique, vous pouvez indiquer explicitement le nom de la personne, son URL, etc. :

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

Ceci pourrait être affiché comme :

Tantek Çelik

Ceci fonctionne non seulement pour l'ensemble de pages, mais aussi pour les "parties essentielles" des pages, par exemple les billets de blog.

Voir le blog microformats.org (visualisez la source) pour un exemple vivant. L'auteur de chaque billet de blog sur le blog microformats.org est balisé comme un élément <address class="vcard"> comme l'exemple montré ci-dessus.

Références aux Personnes et aux Organisations

Un modèle commun dans les posts de blog est de lier les citations des noms de personnes vers leurs blogs, et/ou les organisations vers leurs pages d'accueil. Par ex :

<cite>
<a href="http://meyerweb.com/">Eric Meyer</a> 
a écrit un billet 
(<cite>
<a href="http://meyerweb.com/eric/thoughts/2005/12/16/tax-relief/">
Tax Relief
</a>
</cite>) 
à propos d'une lettre involontairement humoristique qu'il a reçue du 
<a href="http://irs.gov/">Internal Revenue Service</a>.

En ajoutant hCard à un tel balisage, vous pouvez explicitement indiquer à la fois la personne et l'organisation par le nom et l'URL :

<cite class="vcard">
<a class="fn url" href="http://meyerweb.com/">Eric Meyer</a>
</cite> 
a écrit un billet 
(<cite>
<a href="http://meyerweb.com/eric/thoughts/2005/12/16/tax-relief/">
Tax Relief
</a>
</cite>) 
à propos d'une lettre involontairement humoristique qu'il a reçue du 
<span class="vcard">
<a class="fn org url" href="http://irs.gov/">Internal Revenue Service</a>
</span>.

Remarquez les noms de classe "fn org url" sur l'hyperlien entourant IRS. Utiliser la même valeur (ou élément pour ce qui compte) pour "fn" et "org" indique que le hCard décrit une organisation plutôt qu'une personne.

Ceci pourrait être affiché comme :

Eric Meyer a écrit un billet 

(Tax Relief) à propos d'une lettre involontairement humoristique qu'il a reçue du Internal Revenue Service.

hCard et XFN

Références vers des Personnes dans les Billets de Blog

Dans l'exemple au-dessus, une personne (le blogueur) fait référence à une autre personne (Eric Meyer). En plus d'utiliser hCard pour baliser explicitement la référence comme une personne, le blogueur peut utiliser XFN (Le XHTML Friends Network) pour indiquer sa relation avec Eric Meyer, par ex. :

<cite class="vcard">
<a class="fn url" rel="friend colleague met" href="http://meyerweb.com/">
Eric Meyer
</a>
</cite> 
a écrit un billet 
(<cite>
<a href="http://meyerweb.com/eric/thoughts/2005/12/16/tax-relief/">Tax Relief</a>
</cite>) 
à propos d'une lettre involontairement humoristique qu'il a reçue du 
<span class="vcard">
<a class="fn org url" href="http://irs.gov/">
Internal Revenue Service
</a>
</span>.

Cela s'afficherait de la même façon que dans l'exemple précédent.

Références aux Personnes dans les Blogrolls

Beaucoup de blogueurs utilisent XFN (en utilisant souvent une interface utilisateur facile qui est construite dans WordPress) pour indiquer explicitement leurs relations avec les personnes dans leurs blogrolls :

<ul>
 <li>
 <a href="http://meyerweb.com" rel="friend colleague met">Eric Meyer</a>
 </li>
 <li>
 <a href="http://photomatt.net" rel="friend colleague met">Matt Mullenweg</a>
 </li>
</ul>

En ajoutant le balisage hCard à une blogroll d'amis XFN, vous pouvez indiquer explicitement le nom et l'URL de la personne en plus de sa relation :

<ul>
 <li class="vcard">
 <a class="fn url" href="http://meyerweb.com" rel="friend colleague met">Eric Meyer</a>
 </li>
 <li class="vcard">
 <a class="fn url" href="http://photomatt.net" rel="friend colleague met">Matt Mullenweg</a>
 </li>
</ul>

qui pourrait s'afficher comme :

Ceci fait référence aux listes d'amis supportant hCard et XFN, et c'est un bloc de construction clé de la portabilité du réseau social.

Pour plus d'informations sur XFN, voir la page d'accueil XFN, rejoindre XFN, et données de base sur XFN.

La technique est utilisée dans le plugin Wordpress Blogroll Microformatée.

Nouveaux Types d'Information de Contact

Depuis que vCard a été conçu, il y a eu plusieurs autres services qui fournissent des individus avec des adresses ou d'autres moyens de contact, par ex. la messagerie instantanée, la voip, etc.

Est-ce que cela veut dire que vCard (et par conséquent hCard) doit être étendu pour les représenter ?

Grâce à la flexibilité de la propriété URL, la réponse est non, aucune extension n'est nécessaire. Au lieu de cela, nous utilisons l'URL appropriée pour le service qui identifie le service (protocole, machine et/ou chemin), et plaçon l'adresse de l'individu à l'intérieur de cela.

AOL Instant Messenger (AIM)

Les ids AOL Instant Messenger (AIM) peuvent être représentées en utilisant le protocole aim:. Beaucoup de personnes qui publient leurs ids AIM le font ainsi avec des URLs cliquables par ex :

<a href="aim:goim?screenname=ShoppingBuddy">IM avec l'AIM ShoppingBuddy</a>

Par conséquent pour hCard, nous adopterons ce comportement existant d'éditeur, et le saisirons simplement comme un autre URL pour le hCard :

<a class="url" href="aim:goim?screenname=ShoppingBuddy">IM avec l'AIM ShoppingBuddy</a>

Yahoo Messenger

De la même manière, les ids de Yahoo Instant Messenger (YIM) peuvent être représentées en utilisant le protocole ymsgr:. Et de la même manière, beaucoup publient leurs ids YIM comme des URLs cliquables par ex :

<a href="ymsgr:sendIM?QuelqueAmiYahoo">IM avec QuelqueAmiYahoo</a>

A nouveau, pour hCard, nous adopterons ce comportement de pubication de contenu existant, et le saisirons simplement comme un autre URL pour le hCard :

<a class="url" href="ymsgr:sendIM?QuelqueAmiYahoo">IM avec QuelqueAmiYahoo</a>

MSN Messenger

Les ids de MSN Messenger (MSNIM) peuvent être représentées en utilisant le protocole msnim:. Et de la même façon, beaucoup publient leurs ids MSNIM comme des URLs cliquables par ex :

<a href="msnim:chat?contact=jeandupont@hotmail.com">IM avec jeandupont@hotmail.com</a>

Pour hCard, nous adopterons ce comportement de publication existant et le saisirons simplement comme un autre URL pour le microformat hCard :

<a class="url" href="msnim:chat?contact=jeandupont@hotmail.com">IM avec jeandupont@hotmail.com</a>

Mis à jour le 14 mai 2006 - Ruben

Voir les problématiques en rapport.

XMPP (Jabber)

Les idées Extensible Messaging and Presence Protocol (XMPP) peuvent être représentées en utilisant le protocole xmpp:, par exemple :

<a class="url" href="xmpp:username@jabberservice.com">IM with username@jabberservice.com</a>

Le protocole permet des URLs beaucoup plus riches, voir RFC4622.

Il n'y a pas beaucoup de clients supportant actuellement le protocole.

Skype

Skype peut être représenté en utilisant le protocole skype: protocol. Il peut être utilisé pour ouvrir une session de chat ou produire un appel Skype.

<a href="skype:echo-chinese?chat">IM avec Skype echo service (Chinois) </a>
<a href="skype:echo-chinese?call">Appel Skype vers Skype echo service (Chinois) </a>

De ce fait pour hCard, nous pourrions adopter ce comportement de publication existant, et le capturer simplement comme un autre URL pour la hCard :

<a class="url" href="skype:echo-chinese?chat">IM avec Skype echo service (Chinois) </a>
<a class="url" href="skype:echo-chinese?call">Appel Skype vers Skype echo service (Chinois)</a>

ICQ

ICQ n'a pas de schéma URL. A la place de cela, ICQ fait un lien sur le web en utilisant les hyperliens HTTP pour télécharger une ressource de contenu-type application/x-icq que le système d'exploitation ouvre alors avec le client utilisateur ICQ du client.

Par conséquent nous pouvons marquer ces hyperliens HTTP avec le contenu-type réglé explicitement pour conmmuniquer la sémantique ICQ :


<a class="url"
type="application/x-icq"
href="http://www.icq.com/people/cmd.php?uin=[NUMEROICQ]&action=message">
Contact with ICQ</a>

En remplaçant [NUMEROICQ] avec le véritable numéro ICQ de l'utilisateur.

Profils de Sites

Les blogueurs indiquent souvent leur identité sur les services d'hébergement de contenu en utilisant l'URL de leur page d'accueil, fil ou profil sur ces services. En les étiquetant comme des propriétés d'URL, ces facettes supplémentaires d'identité peuvent être aussi bien publiées dans hCard.

lister vos autres profils

Le cas le plus commun des sites listant d'autres profils sont les blogueurs qui listent leurs leurs propres autres profils, ou un site permettant à un utilisateur de lister son profil sur ce site, de lier vers ses autres profils. Du fait que l'auteur indique clairement que tous ces profils signifient la même personne, il est mieux de les marquer avec rel="me" de XFN pour une consolidation d'identité explicite, par exemple si ces liens étaient sur le blog de Tantek ou d'autres profils de réseaux sociaux :

Une telle consolidation d'identité explicite menée par l'utilisateur est aussi un bloc de construction-clé pour la portabilité-du-réseau-social qui est espliquée plus à fond dans le contexte des listes-d'amis-supportant-hCard-et-XFN.

Profils Canoniques sur les Sites

Les sites ont parfois différentes pages pour la "home" page d'une persone, et cette page profil de l'utilisateur.

Par exemple, Flick a :

En outre, les sites on souvent une URL canonique pour une personne et plusieurs URLs alternatives.

Comme cela a été noté au-dessus, les liens vers ces URLs à l'intérieur de hCards qui représentent ces personnes devraient avoir un nom de classe "url".

En outre, de tel(s) lien(s) dans les hCards vers l'URL canonique d'une personne sur ce site devrai(en)t aussi avoir le nom de classe "uid". Cette technique a été proposée par Ryan King au premier déjeuner Social Network Portability Today.

Construit sur l'exemple en partant de la sections précédente :

Une telle propriété "url" + "uid" pourrait aussi être utilisé par un site sous l'URL OpenID de la personne.

Organisations et Départements

Les départements sont balisés en utilisant le nom de classe "organization-unit" à l'intérieur de l'élément "org", avec le nom de l'organisation "organization-name" spécifiquement balisé pur le distinguer du département :

<div class="vcard">
 <div class="org fn">
  <div class="organization-name">Pages Jaunes France</div> 
  <div class="organization-unit">Apprentissage et Plomberie : Design Microformats</div>
 </div>
</div>

Le département peut aussi faire partie de l'adresse, cas dans lequel vous pourrez vouloir le baliser explicitement comme "extended-address" (adresse étendue) en plus de "organization-unit".

<div class="vcard">
 <div class="adr">
  <div class="org fn">
   <div class="organization-name">Pages Jaunes France</div>
   <div class="organization-unit extended-address">Apprentissage et Plomberie : Design Microformats</div>
  </div>
  <div class="street-address">7 avenue de la Cristallerie</div>
  <span class="locality">Sèvres</span>, 
  <abbr title="Ile de France" class="region">Ile de France</abbr>
  <span class="postal-code">92310</span>
 </div>
</div>

Remarquer qu'en imbriquant le org dans l'adresse, nous avons évité de dupliquer le nom du département.

Listest d'Organisations

De la même façon que dans les listes de personnes, les listes d'organisations (par exemple les groupes de musique) devraient utiliser une liste (non ordonnée à moins qu'il n'y ait une raison spécifique de la trier) avec des items de liste vers les pages d'accueil respectives des organisations.

par exemple ce simple CHIC :

<ul>
 <li>
  <a href="http://microformateurs.org/">microformateurs.org</a>
 </li>
 <li>
  <a href="http://technorati.com/">Technorati</a>
 </li>
 <li>
  <a href="http://www.w3.org/">World Wide Web Consortium</a>
  (W3C)
  </a>
 </li>
</ul>

peut être facilement amélioré avec hCard :

<ul>
 <li class="vcard">
  <a class="fn org url" href="http://microformateurs.org/">microformateurs.org</a>
 </li>
 <li class="vcard">
  <a class="fn org url" href="http://technorati.com/">Technorati</a>
 </li>
 <li class="vcard">
  <a class="fn org url" href="http://www.w3.org/">World Wide Web Consortium</a>
  (<span class="nickname">W3C</span>)
  </a>
 </li>
</ul>

Exemples RFC 2426 dans la hCard

Ce sont des exemples 1:1 de hCard pour chaque exemple dans la RFC 2426.

Mark Pilgrim a produit ces exemples de hCard disponibles sous des fichiers séparés :

2.4.2 VCARD

AGENT:BEGIN:VCARD\nFN:Jean Vendredi\nTEL:+1-919-555-7878\n
TITLE:Administration Chantier\, Assistant\n EMAIL\;TYPE=INTERNET:\n
jvendredi@host.com\nEND:VCARD\n

Ce fragment de vCard a une propriété dont la valeur est une autre vCard, et pourrait être représentée comme un fragment de hCard avec un Chard embarqué, littéralement (avec la valeur par défaut non nécessaire type=internet omise, et l'optimisation implicite n) :

<div class="agent vcard">
 <a class="email fn" href="mailto:jvendredi@host.com">Jean Vendredi</a>
 <div class="tel">+1-919-555-7878</div>
 <div class="title">Administration Chantier, Assistant</div>
</div>

Ce hCard pourrait être affiché comme :

Jean Vendredi
+1-919-555-7878
Administration Chantier, Assistant

3.1.1 Définition Type FN

FN:M. Jean Q. Public\, Dr.

ce fragment vCard comme un fragment hCard :

<span class="fn">M. Jean Q. Public, Dr.</span>

Ce fragment hCard pourrait être affiché comme :

M. Jean Q. Public, Dr.

3.1.2 Définition Type N

Exemple 1

N:Public;Jean;Quinlan;M.;Esq.

ce fragment vCard fragment comme un fragment hCard :

<span class="n">
 <span class="honorific-prefix">M.</span>
 <span class="given-name">Jean</span>
 <span class="additional-name">Quinlan</span>
 <span class="family-name">Public</span>, 
 <span class="honorific-suffix">Dr.</span>
</span>

ce fragment hCard pourrait être affiché comme :

M. Jean Quinlan Public, Dr.

Exemple 2

N:Stevenson;Jean;Philippe,Paul;Dr.;Jr.,M.D.,A.C.P.

Ce fragment vCard sous un fragment hCard :

<span class="n">
 <span class="honorific-prefix">Dr.</span>
 <span class="given-name">Jean</span>
 <span class="additional-name">Philippe</span>
 <span class="additional-name">Paul</span>
 <span class="family-name">Stevenson</span>,
 <span class="honorific-suffix">Jr.</span>,
 <span class="honorific-suffix">M.D.</span>,
 <span class="honorific-suffix">A.C.P.</span>
</span>

ce fragment hCard serait affiché comme :

Dr. John Philip Paul Stevenson, Jr., M.D., A.C.P.

3.1.3 Définition Type NICKNAME (pseudo)

Exemple 1

NICKNAME:Robbie

Ce fragment vCard sous un fragment hCard :

<span class="nickname">Robbie</span>

ce fragment hCard serait affiché comme :

Robbie

Exemple 2

NICKNAME:Jim,Jimmie

Ce fragment vCard sous un fragment hCard :

<span class="nickname">Jim</span>, 
<span class="nickname">Jimmie</span>

ce fragment hCard serait affiché comme :

Jim, Jimmie

3.1.4 Définition Type PHOTO

Exemple 1

PHOTO;VALUE=uri:http://www.abc.com/pub/photos/jqpublic.gif

Ce fragment vCard sous un fragment hCard :

<img class="photo" src="http://www.abc.com/pub/photos/jqpublic.gif" alt="" />

Exemple 2

PHOTO;ENCODING=b;TYPE=JPEG:MIICajCCAdOgAwIBAgICBEUwDQYJKoZIhvcN
 AQEEBQAwdzELMAkGA1UEBhMCVVMxLDAqBgNVBAoTI05ldHNjYXBlIENvbW11bm
 ljYXRpb25zIENvcnBvcmF0aW9uMRwwGgYDVQQLExNJbmZvcm1hdGlvbiBTeXN0
 <...remainder of "B" encoded binary data...>

Ce fragment vCard sous un fragment hCard : (sauts de ligne insérés dans la valeur src pour lisibilité) :

<img class="photo" src="data:image/jpeg;base64,MIICajCCAdOgAwIBAgICBEUwDQYJKoZIhvcN
AQEEBQAwdzELMAkGA1UEBhMCVVMxLDAqBgNVBAoTI05ldHNjYXBlIENvbW11bm
ljYXRpb25zIENvcnBvcmF0aW9uMRwwGgYDVQQLExNJbmZvcm1hdGlvbiBTeXN0
...remainder of B encoded binary data..." alt="" />

3.1.5 Définition Type BDAY

Exemple 1

BDAY:1996-04-15

Ce fragment vCard sous un fragment hCard :

<abbr class="bday" title="1996-04-15">15 avril 1996</abbr>

ce fragment hCard pourrait s'afficher comme :

15 avril 1996

Exemple 2

BDAY:1953-10-15T23:10:00Z

Ce fragment vCard sous un fragment hCard :

<abbr class="bday" title="1953-10-15T23:10:00Z">15 octobre 1953</abbr>

ce fragment hCard pourrait s'afficher comme :

15 octobre 1953

Exemple 3

BDAY:1987-09-27T08:30:00-06:00

Ce fragment vCard sous un fragment hCard :

<abbr class="bday" title="1987-09-27T08:30:00-06:00">9 septembre 1987</abbr>

ce fragment hCard pourrait s'afficher comme :

9 septembre 1987

3.2.1 Définition Type ADR

ADR;TYPE=dom,home,postal,parcel:;;123 Main
  Street;Any Town;CA;91921-1234

ce fragement vCard sous un fragment hCard :

<div class="adr">
 <abbr class="type" title="dom">US</abbr>
 <span class="type">home</span> address, for
 <abbr class="type" title="postal">mail</abbr> and
 <abbr class="type" title="parcel">shipments</abbr>:
 <div class="street-address">123 Main Street</div>
 <span class="locality">Any Town</span>, <span class="region">CA</span>, 
 <span class="postal-code">91921-1234</span>
</div>

ce fragment hCard pourrait s'afficher comme :

US home address, for mail and shipments:

123 Main Street

Any Town, CA, 91921-1234

3.2.2 Définition Type LABEL

LABEL;TYPE=dom,home,postal,parcel:Mr.John Q. Public\, Esq.\n
 Mail Drop: TNE QB\n123 Main Street\nAny Town\, CA  91921-1234
 \nU.S.A.

Ce fragment vCard sous un fragment hCard :

<nowiki>
Please use the following address label for 
<div class="label">
 <abbr class="type" title="dom">local delivery</abbr>
 <abbr class="type" title="home">to my home</abbr>
 <abbr class="type" title="postal">of mail</abbr>
 <abbr class="type" title="parcel">and packages:</abbr>
<pre>
Mr.John Q. Public, Esq.
Mail Drop: TNE QB
123 Main Street
Any Town, CA  91921-1234
U.S.A.

</nowiki>


Note : le fragment hCard au-dessus utilise un tag <pre> à l'intérieur d'une valeur de propriété pour capturer/représenter des retours explicites de transport (caractères "\n") extrait du fragment vCard.

ce fragment hCard pourrait s'afficher comme suit :

Please use the following address label for local delivery to my home of mail and packages:

Mr.John Q. Public, Esq.
Mail Drop: TNE QB
123 Main Street
Any Town, CA  91921-1234
U.S.A.

3.3.1 Définition Type TEL

TEL;TYPE=work,voice,pref,msg:+1-213-555-1234

ce fragment vCard sous un fragment hCard :

<span class="tel">
 <abbr class="type" title="pref">mon</abbr> 
 <abbr class="type" title="voice">téléphone</abbr>
 <span class="type">professionnel</span> avec 
  <abbr class="type" title="msg">messagerie vocale</abbr> :
 <span class="value">+1-213-555-1234</span>
</span>

ce fragment hCard pourrait s'afficher comme :

mon téléphone professionnel avec messagerie vocale : +1-213-555-1234

3.3.2 Définition Type EMAIL

Exemple 1

EMAIL;TYPE=internet:jqpublic@xyz.dom1.com

ce fragment vCard comme un fragment hCard :

<a class="email" href="mailto:jqpublic@xyz.dom1.com">email jqpublic</a>

ce fragment hCard pourrait s'afficher ainsi

email jqpublic

Exemple 2

EMAIL;TYPE=internet:jdoe@isp.net

ce fragment vCard comme un fragment hCard :

<a class="email" href="mailto:jdoe@isp.net">email jdoe</a>

ce fragment hCard pourrait s'afficher ainsi

email jdoe

Exemple 3

EMAIL;TYPE=internet,pref:jeanne_doe@abc.com

ce fragment vCard comme un fragment hCard :

<a class="email" href="mailto:jeanne_doe@abc.com">
 <abbr class="type" title="pref">preferred</abbr> 
 email préféré pour jeanne_doe
</a>

ce fragment hCard pourrait s'afficher ainsi

email préféré pour jeanne_doe

3.3.3 Définition Type MAILER

MAILER:PigeonMail 2.1

ce fragment vCard comme un fragment hCard :

Jeanne Doe utilise <span class="mailer">PigeonMail 2.1</span> pour l'email.

ce fragment hCard pourrait s'afficher ainsi

Jeanne Doe utilise PigeonMail 2.1 pour l'email.

3.4.1 Définition Type TZ

Exemple 1

TZ:-05:00

ce fragment vCard comme un fragment hCard :

<span class="tz">-05:00</span>

ce fragment hCard pourrait s'afficher ainsi

-05:00

Exemple 2

TZ;VALUE=text:-05:00; EST; Raleigh/North America
;This example has a single value, not a structure text value.

ce fragment vCard comme un fragment hCard :

<abbr class="tz"
 title="-05:00; EST; Raleigh/North America;This example has a single value, not a structure text value.">
 EST
</abbr>

ce fragment hCard pourrait s'afficher ainsi

EST

3.4.2 Définition Type GEO

GEO:37.386013;-122.082932

ce fragment vCard comme un fragment hCard :

<span class="geo">
 <span class="latitude">37.386013</span>, 
 <span class="longitude">-122.082932</span>
</span>

ce fragment hCard pourrait s'afficher ainsi

37.386013, -122.082932

3.5.1 Définition Type TITLE

TITLE:Directeur\, Recherche et Développement

ce fragment vCard comme un fragment hCard :

<span class="title">Directeur, Recherche et Développement</span>

ce fragment hCard pourrait s'afficher ainsi

Directeur, Recherche et Développement

3.5.2 Définition Type ROLE

ROLE:Programmeur

ce fragment vCard comme un fragment hCard :

<span class="role">Programmeur</span>

ce fragment hCard pourrait s'afficher ainsi :

Programmeur

Exemple 1

LOGO;VALUE=uri:http://www.abc.com/pub/logos/abccorp.jpg

ce fragment vCard comme un fragment hCard :

<img class="logo" src="http://www.abc.com/pub/logos/abccorp.jpg" alt="my logo" />

ce fragment hCard pourrait s'afficher ainsi : (note : j'ai utilisé une véritable URL pour l'image) :

mf-lg-ora.gif

Exemple 2

LOGO;ENCODING=b;TYPE=JPEG:MIICajCCAdOgAwIBAgICBEUwDQYJKoZIhvcN
AQEEBQAwdzELMAkGA1UEBhMCVVMxLDAqBgNVBAoTI05ldHNjYXBlIENvbW11bm
ljYXRpb25zIENvcnBvcmF0aW9uMRwwGgYDVQQLExNJbmZvcm1hdGlvbiBTeXN0
<...the remainder of "B" encoded binary data...>

ce fragment vCard comme un fragment hCard :

<img class="logo" src="data:image/jpeg;base64,MIICajCCAdOgAwIBAgICBEUwDQYJKoZIhvcN
AQEEBQAwdzELMAkGA1UEBhMCVVMxLDAqBgNVBAoTI05ldHNjYXBlIENvbW11bm
ljYXRpb25zIENvcnBvcmF0aW9uMRwwGgYDVQQLExNJbmZvcm1hdGlvbiBTeXN0
...remainder of B encoded binary data..." alt="" />

aucun affichage équivalent donné, parce que ce sont des données : URL tiré de l'exemple original incomplet.

3.5.4 Définition Type AGENT

Exemple 1

AGENT;VALUE=uri:
 CID:JQPUBLIC.part3.960129T083020.xyzMail@host3.com

ce fragment vCard comme un fragment hCard :

<a class="agent" href="CID:JQPUBLIC.part3.960129T083020.xyzMail@host3.com">JQPUBLIC</a>

ce fragment hCard pourrait s'afficher comme :

JQPUBLIC

Exemple 2

AGENT:BEGIN:VCARD\nFN:Susan Thomas\nTEL:+1-919-555-
 1234\nEMAIL\;INTERNET:sthomas@host.com\nEND:VCARD\n

ce fragment vCard comme un fragment hCard :

<span class="agent vcard">
 <a class="email fn n" href="mailto:sthomas@host.com">Susan Thomas</a>,
 <span class="tel">+1-919-555-1234</span>
</span>

ce fragment hCard pourrait s'afficher comme :

Susan Thomas, +1-919-555-1234

Note : la vCard dans la propriété AGENT du fragment vCard est en fait invalide parce qu'il lui manque la propriété "N". Néanmoins, la version hCard *est* valide, parce que j'ai ajouté le nom de classe "n" à l'exemple.

3.5.5 Définition Type ORG

ORG:ABC\, Inc.;North American Division;Marketing

ce fragment vCard comme un fragment hCard :

<span class="org">
 <span class="organization-name">ABC, Inc.</span>, 
 <span class="organization-unit">North American Division</span>,
 <span class="organization-unit">Marketing</span>,
</span>

ce fragment hCard pourrait s'afficher comme :

ABC, Inc., North American Division, Marketing

3.6.1 Définition Type CATEGORIES

Exemple 1

CATEGORIES:TRAVEL AGENT

ce fragment vCard comme un fragment hCard :

<span class="category">TRAVEL AGENT</span>

ce fragment hCard pourrait s'afficher comme :

TRAVEL AGENT


Exemple 2

CATEGORIES:INTERNET,IETF,INDUSTRY,INFORMATION TECHNOLOGY

ce fragment vCard comme un fragment hCard :

<span class="category">INTERNET</span>, 
<span class="category">IETF</span>, 
<span class="category">INDUSTRY</span>, 
<span class="category">INFORMATION TECHNOLOGY</span>

ce fragment hCard pourrait s'afficher comme :

INTERNET, IETF, INDUSTRY, INFORMATION TECHNOLOGY

3.6.2 NOTE Type Definition

NOTE:This fax number is operational 0800 to 1715
 EST\, Mon-Fri.

ce fragment vCard comme un fragment hCard :

<p class="note">This fax number is operational 0800 to 1715 EST, Mon-Fri.</p>

ce fragment hCard pourrait s'afficher comme :

This fax number is operational 0800 to 1715 EST, Mon-Fri.

3.6.3 PRODID Type Definition

PRODID:-//ONLINE DIRECTORY//NONSGML Version 1//EN

Note, cette propriété vCard ne fait véritablement pas de sens comme propriété hCard, parce qu'elle devrait être vraiment remplie par tout ce que peut transformer le code hCard en vCard, par ex. Brian Suda's X2V.

3.6.4 Définition Type REV

Exemple 1

REV:1995-10-31T22:27:10Z

ce fragment vCard comme un fragment hCard :

<abbr class="rev" title="1995-10-31T22:27:10Z">Updated: 10/31 10:27p</abbr>

ce fragment hCard pourrait s'afficher comme :

Updated: 10/31 10:27p

Exemple 2

REV:1997-11-15

ce fragment vCard comme un fragment hCard :

<abbr class="rev" title="1997-11-15">Mise à jour : 15 novembre</abbr>

ce fragment hCard pourrait s'afficher comme :

Mise à jour : 15 novembre

3.6.5 Définition Type SORT-STRING

Exemple 1

FN:Rene van der Harten
N:van der Harten;Rene;J.;Sir;R.D.O.N.
SORT-STRING:Harten

ce fragment vCard comme un fragment hCard :

<span class="n"
 <span class="honorific-prefix">Sir</span>
 <span class="fn">
  <span class="given-name">Rene</span>
  <span class="family-name">
   van der <span class="sort-string">Harten</span>
  </span>
 </span>
 (<span class="additional-name">J.</span>),
 <span class="honorific-suffix">R.D.O.N.</span>
</span>

Note : La chaîne "Harten" n'a PAS été répétée dans le hCard, même s'il ETAIT répété dans la vCard (3 fois ! dans N, FN, et SORT-STRING). La propriété "SORT-STRING" fournit une autre bonne démonstration sur la façon dont hCard permet une meilleure adhérence au principe DRY que la vCard.

ce fragment hCard pourrait s'afficher comme :

Sir Rene van der Harten (J.), R.D.O.N.

Exemple 2

FN:Robert Pau Shou Chang
N:Pau;Shou Chang;Robert
SORT-STRING:Pau

ce fragment vCard fragment comme un fragment hCard :

<span class="fn n">
 <span class="additional-name">Robert</span>
 <span class="family-name sort-string">Pau</span>
 <span class="given-name">Shou Chang</span>
</span>

Note : Non seulement la chaîne "Pau" n'était PAS répétée dans le hCard (meilleure adhérence à nouveau au better principe DRY), même s'il elle ETAIT répétée dans la vCard, mais dans ce cas du fait que "family-name" et "sort-string" sont les même, nous avons pu utiliser la conservation élément et n'utiliser qu'un élément pour les deux propriétés.

ce fragment hCard pourrait être affiché ainsi :

Robert Pau Shou Chang

Exemple 3

FN:Osamu Koura
N:Koura;Osamu
SORT-STRING:Koura

ce fragment vCard fragment comme un fragment hCard :

<span class="fn">
 Osamu <span class="sort-string">Koura</span>
</span>

Note : Cet exemple, en plus de mieux illustrer le meilleur support du principe DRY, fait aussi usage de l'optimisation implicite "N".

ce fragment hCard pourrait être affiché ainsi :

Osamu Koura

Exemple 4

FN:Oscar del Pozo
N:del Pozo Triscon;Oscar
SORT-STRING:Pozo

ce fragment vCard fragment comme un fragment hCard :

<span class="n">
 <span class="fn">
  <span class="given-name">Oscar</span>
  del <span class="sort-string">Pozo</span>
 </span>
 <span class="family-name" style="display:none">
  del Pozo Triscon
 </span>
</span>

Note : Malheureusement cet exemple pourrait ne pas complètement adhérer au principe DRY du fait du "FN" utilisant une *substring* du family-name, et en plus a dû par conséquent cacher la chaîne de valeur supplémentaire "family-name" en utilisant CSS display:none, ce qui en devrait être évité en général. Suggestion bienvenue pour améliorations de ce fragment hCard.

ce fragment hCard pourrait s'afficher comme :

Oscar del Pozo

Exemple 5

FN:Christine d'Aboville
N:d'Aboville;Christine
SORT-STRING:Aboville

ce fragment vCard comme un fragment hCard :

<span class="fn">
 Christine d'<span class="sort-string">Aboville</span>
</span>

Note : Cet exemple redémontre les avantages/l'efficacité démontrés dans l'exemple 3 au-dessus.

ce fragment hCard pourrait s'afficher comme :

Christine d'Aboville

3.6.6 Définition Type SOUND

Exemple 1

SOUND;TYPE=BASIC;VALUE=uri:CID:JOHNQPUBLIC.part8.
 19960229T080000.xyzMail@host1.com

ce fragment vCard comme un fragment hCard :

<object class="sound" type="audio/basic"
 data="CID:JOHNQPUBLIC.part8.19960229T080000.xyzMail@host1.com">
pronounciation of "JOHN Q PUBLIC"
</object>

ce fragment hCard pourrait s'afficher comme :

prononciation de "JOHN Q PUBLIC"

à la condition que votre navigateur supporte le type MIME "audio/basic" (défini dans la RFC2046 section 4.3) et ait quelque moyen de retrouver les urls "CID:".

Exemple 2

SOUND;TYPE=BASIC;ENCODING=b:MIICajCCAdOgAwIBAgICBEUwDQYJKoZIhvcN
 AQEEBQAwdzELMAkGA1UEBhMCVVMxLDAqBgNVBAoTI05ldHNjYXBlIENvbW11bm
 ljYXRpb25zIENvcnBvcmF0aW9uMRwwGgYDVQQLExNJbmZvcm1hdGlvbiBTeXN0
 <...the remainder of "B" encoded binary data...>

ce fragment vCard comme un fragment hCard :

<object class="sound" 
data="data:audio/basic;base64,MIICajCCAdOgAwIBAgICBEUwDQYJKoZIhvcN
 AQEEBQAwdzELMAkGA1UEBhMCVVMxLDAqBgNVBAoTI05ldHNjYXBlIENvbW11bm
 ljYXRpb25zIENvcnBvcmF0aW9uMRwwGgYDVQQLExNJbmZvcm1hdGlvbiBTeXN0
 ...the remainder of "B" encoded binary data...">
pronounciation
</object>

pas d'affichage équivalent donné, parce que des données : l'URL de l'exemple original est incomplète.

3.6.7 Définition Type UID

UID:19950401-080045-40000F192713-0052

ce fragment vCard comme un fragment hCard :

Unique id: 
 <span class="uid">19950401-080045-40000F192713-0052</span>

ce fragment hCard pourrait s'afficher comme :

Unique id:19950401-080045-40000F192713-0052

Note : en pratique, je ne pense pas que j'ai vu globalement des IDs uniques pour des enregistrements de "contact info" publiés sur le web, mais peut-être que je ne considère pas assez d'exemples.


3.6.8 Définition Type URL

URL:http://www.swbyps.restaurant.french/~chezchic.html

ce fragment vCard comme un fragment hCard :

<a class="url" href="http://www.swbyps.restaurant.french/~chezchic.html">Chez Chic</a>

ce fragment hCard pourrait s'afficher comme :

Chez Chic

3.7.1 Définition Type CLASS

Exemple 1

CLASS:PUBLIC

ce fragment vCard comme un fragment hCard :

<span class="class">PUBLIC</span>

ce fragment hCard pourrait s'afficher comme :

PUBLIC

Exemple 2

CLASS:PRIVATE

ce fragment vCard comme un fragment hCard :

<span class="class">PRIVATE</span>

ce fragment hCard pourrait s'afficher comme :

PRIVATE

Exemple 3

CLASS:CONFIDENTIAL

ce fragment vCard comme un fragment hCard :

<span class="class">CONFIDENTIAL</span>

ce fragment hCard pourrait s'afficher comme :

CONFIDENTIAL

3.7.2 Définition Type KEY

KEY;ENCODING=b:MIICajCCAdOgAwIBAgICBEUwDQYJKoZIhvcNAQEEBQA
 wdzELMAkGA1UEBhMCVVMxLDAqBgNVBAoTI05ldHNjYXBlIENbW11bmljYX
 Rpb25zIENvcnBvcmF0aW9uMRwwGgYDVQQLExNJbmZvcm1hdGlvbiBTeXN0
 ZW1zMRwwGgYDVQQDExNyb290Y2EubmV0c2NhcGUuY29tMB4XDTk3MDYwNj
 E5NDc1OVoXDTk3MTIwMzE5NDc1OVowgYkxCzAJBgNVBAYTAlVTMSYwJAYD
 VQQKEx1OZXRzY2FwZSBDb21tdW5pY2F0aW9ucyBDb3JwLjEYMBYGA1UEAx
 MPVGltb3RoeSBBIEhvd2VzMSEwHwYJKoZIhvcNAQkBFhJob3dlc0BuZXRz
 Y2FwZS5jb20xFTATBgoJkiaJk/IsZAEBEwVob3dlczBcMA0GCSqGSIb3DQ
 EBAQUAA0sAMEgCQQC0JZf6wkg8pLMXHHCUvMfL5H6zjSk4vTTXZpYyrdN2
 dXcoX49LKiOmgeJSzoiFKHtLOIboyludF90CgqcxtwKnAgMBAAGjNjA0MB
 EGCWCGSAGG+EIBAQQEAwIAoDAfBgNVHSMEGDAWgBT84FToB/GV3jr3mcau
 +hUMbsQukjANBgkqhkiG9w0BAQQFAAOBgQBexv7o7mi3PLXadkmNP9LcIP
 mx93HGp0Kgyx1jIVMyNgsemeAwBM+MSlhMfcpbTrONwNjZYW8vJDSoi//y
 rZlVt9bJbs7MNYZVsyF1unsqaln4/vy6Uawfg8VUMk1U7jt8LYpo4YULU7
 UZHPYVUaSgVttImOHZIKi4hlPXBOhcUQ==

ce fragment vCard comme un fragment hCard :

<object class="key" type="application/octet-stream"
 data="data:application/octet-stream;base64,MIICajCCAdOgAwIBAgICBEUwDQYJKoZIhvcNAQEEBQA
 wdzELMAkGA1UEBhMCVVMxLDAqBgNVBAoTI05ldHNjYXBlIENbW11bmljYX
 Rpb25zIENvcnBvcmF0aW9uMRwwGgYDVQQLExNJbmZvcm1hdGlvbiBTeXN0
 ZW1zMRwwGgYDVQQDExNyb290Y2EubmV0c2NhcGUuY29tMB4XDTk3MDYwNj
 E5NDc1OVoXDTk3MTIwMzE5NDc1OVowgYkxCzAJBgNVBAYTAlVTMSYwJAYD
 VQQKEx1OZXRzY2FwZSBDb21tdW5pY2F0aW9ucyBDb3JwLjEYMBYGA1UEAx
 MPVGltb3RoeSBBIEhvd2VzMSEwHwYJKoZIhvcNAQkBFhJob3dlc0BuZXRz
 Y2FwZS5jb20xFTATBgoJkiaJk/IsZAEBEwVob3dlczBcMA0GCSqGSIb3DQ
 EBAQUAA0sAMEgCQQC0JZf6wkg8pLMXHHCUvMfL5H6zjSk4vTTXZpYyrdN2
 dXcoX49LKiOmgeJSzoiFKHtLOIboyludF90CgqcxtwKnAgMBAAGjNjA0MB
 EGCWCGSAGG+EIBAQQEAwIAoDAfBgNVHSMEGDAWgBT84FToB/GV3jr3mcau
 +hUMbsQukjANBgkqhkiG9w0BAQQFAAOBgQBexv7o7mi3PLXadkmNP9LcIP
 mx93HGp0Kgyx1jIVMyNgsemeAwBM+MSlhMfcpbTrONwNjZYW8vJDSoi//y
 rZlVt9bJbs7MNYZVsyF1unsqaln4/vy6Uawfg8VUMk1U7jt8LYpo4YULU7
 UZHPYVUaSgVttImOHZIKi4hlPXBOhcUQ==">
Key
</object>

ce fragment hCard pourrait s'afficher comme :

Key

Note : Du fait du manque d'une valeur TYPE dans l'exemple RFC2426, j'ai substitué application/octet-stream. Clairement pour que ce soit de quelque utilité, le type spécifié doit être de quelque sorte de clé ou de "certificate mime type".

7. Adresses des Auteurs

BEGIN:vCard
VERSION:3.0
FN:Frank Dawson
ORG:Lotus Development Corporation
ADR;TYPE=WORK,POSTAL,PARCEL:;;6544 Battleford Drive
;Raleigh;NC;27613-3502;U.S.A.
TEL;TYPE=VOICE,MSG,WORK:+1-919-676-9515
TEL;TYPE=FAX,WORK:+1-919-676-9564
EMAIL;TYPE=INTERNET,PREF:Frank_Dawson@Lotus.com
EMAIL;TYPE=INTERNET:fdawson@earthlink.net
URL:http://home.earthlink.net/~fdawson
END:vCard


BEGIN:vCard
VERSION:3.0
FN:Tim Howes
ORG:Netscape Communications Corp.
ADR;TYPE=WORK:;;501 E. Middlefield Rd.;Mountain View;
CA; 94043;U.S.A.
TEL;TYPE=VOICE,MSG,WORK:+1-415-937-3419
TEL;TYPE=FAX,WORK:+1-415-528-4164
EMAIL;TYPE=INTERNET:howes@netscape.com
END:vCard

Notez que ces deux vCards sont invalides parce qu'il manque la propriété REQUISE "N" qui est tout à fait ironique, parce que ce sont les vCards des auteurs eux-mêmes.

Néanmoins, ces vCards peuvent être représentées par les hCards suivantes :

<div class="vcard">
<a class="url fn" href="http://home.earthlink.net/~fdawson">Frank Dawson</a>
<div class="org">Lotus Development Corporation</div>
<div class="adr">
 <span class="type">work</span> address 
(<abbr class="type" title="postal">mail</abbr> and
 <abbr class="type" title="parcel">packages</abbr>):
 <div class="street-address">6544 Battleford Drive</div>
 <span class="locality">Raleigh</span>
 <span class="region">NC</span>
 <span class="postal-code">27613-3502</span>
 <div class="country-name">U.S.A.</div>
</div>
<div class="tel">
 <span class="value">+1-919-676-9515</span> 
(<abbr class="type" title="WORK">w</abbr>,
 <abbr class="type" title="VOICE">v</abbr><abbr class="type" title="MSG">m</abbr>)
</div>
<div class="tel">
 <span class="value">+1-919-676-9564</span>
(<abbr class="type" title="WORK">w</abbr><abbr class="type" title="FAX">f</abbr>)
</div>
<a class="email" href="mailto:Frank_Dawson@Lotus.com">
 <span class="type">pref</span>erred<span> email</span>
</a>,
<a class="email" href="mailto:fdawson@earthlink.net">
 alternate email
</a>
</div>
<div class="vcard">
<a class="email fn" href="mailto:howes@netscape.com">Tim Howes</a>
<div class="org">Netscape Communications Corp.</div>
<div class="adr">
 <span class="type">work</span> address:
 <div class="street-address">501 E. Middlefield Rd.</div>
 <span class="locality">Mountain View</span>, 
 <span class="region">CA</span>
 <span class="postal-code">94043</span>
 <div class="country-name">U.S.A.</div>
</div>
<div class="tel">
 <span class="value">+1-415-937-3419</span> 
(<abbr class="type" title="WORK">w</abbr>,
 <abbr class="type" title="VOICE">v</abbr><abbr class="type" title="MSG">m</abbr>)
</div>
<div class="tel">
 <span class="value">+1-415-528-4164</span>
(<abbr class="type" title="WORK">w</abbr><abbr class="type" title="FAX">f</abbr>)
</div>
</div>

ces hCards pourraient s'afficher comme :

Frank Dawson

Lotus Development Corporation

work address (mail and packages):

6544 Battleford Drive

Raleigh NC 27613-3502

U.S.A.

+1-919-676-9515 (w, vm)

+1-919-676-9564 (wf)

preferred email, alternate email

Tim Howes

Netscape Communications Corp.

work address:

501 E. Middlefield Rd.

Mountain View, CA 94043

U.S.A.

+1-415-937-3419 (w, vm)

+1-415-528-4164 (wf)

Test de Casses

Ce sont des exemples hCard qui ont été trouvés particulièrement utiles pour trouver des bugs dans les parseurs hCard (par ex. X2V).

Problème avec Information BDAY

cet exemple :

    <!-- anniversaire -->
    <div class="bday">
    <dt>Anniversaire</dt>
    <dd>
        <abbr class="value" title="1985-10-27T00:00:00Z">27 octobre 1985</abbr>
    </dd>
    </div>

devrait produire "BDAY:1985-10-27T00:00:00Z" mais il produit "BDAY:Birthday October 27\, 1985". Le fait intéressant est que le carnet d'adresses apple est encore en train de vouloir l'accepter de cette façon.

INSENSIBILITE à la casse des valeurs type

  • "home" vs. "Home"

cet exemple fonctionne avec X2V :

    <div class="tel">
    <dt>Phone (<span class="type">home</span>)</dt>
    <dd><span class="value">+438123418</span></dd>
    </div>

ceci non, mais le devrait. Mais au lieu de ça il devient simplement TEL sans un type dans la vcard

    <div class="tel">
    <dt>Phone (<span class="type">Home</span>)</dt>
    <dd><span class="value">+438123418</span></dd>
    </div>

GEO parsing

la hCard suivante :

<div class="vcard">
  <span class="fn n">
     <a class="url" href="http://t37.net">
       <span class="given-name">Fréderic</span> 
       <span class="family-name">de Villamil</span> 
     </a>
  </span>
  <span class="nickname">neuro</span>
  <a class="email" href="mailto:neuroNOSPAM@t37.net">
     <span class="type">pref</span>erred<span> email</span>
  </a>
  <span class="org">Omatis</span>
  <span class="adr">
     <abbr class="type" title="dom">France</abbr>
     <span class="type">home</span> address
     <abbr class="type" title="postal">mail</abbr> and
     <abbr class="type" title="parcel">shipments</abbr>:
     <span class="street-address">12 rue Danton</span>
     <span class="locality">Le Kremlin-Bicetre</span>
     <span class="postal-code">94270</span>
     <span class="country-name">France</span>
  </span>
  <span class="geo">
     <abbr class="latitude" title="48.816667">N 48° 81.6667</abbr>
     <abbr class="longitude" title="2.366667">E 2° 36.6667</abbr>
  </span>
</div>

devrait être traduite dans la vCard suivante :

BEGIN:VCARD
VERSION:3.0
URL:http://t37.net
ORG:Omatis;;
NICKNAME:neuro
N:de Villamil;Frederic;;Mr.;
EMAIL;TYPE=INTERNET,PREF:neuroNOSPAM@t37.net
ADR;TYPE=HOME:;;12 rue danton;le Kremlin-Bicetre;;94270;France
GEO:48.816667;2.366667
END:VCARD

X2V (2005-12-18) échoue à cette heure pour parser/exporter la propriété GEO.

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.