hcard-fr

From Microformats Wiki
Revision as of 22:08, 20 June 2006 by ChristopheDucamp (talk | contribs) (First french draft translation of [hcard] - to be checked and reviewed)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Attention : la traduction de cette spécification est en cours et doit être soigneusement relue et synchronisée avec le seul lien original de référence hCard. Je pense notamment au sens du mot implied.

hCard

hCard est un format d'information de contact simple, ouvert, distribué destiné aux personnes, sociétés et organisations, qui est approprié pour l'embarquement dans (X)HTML, Atom, RSS et du XML arbitraire. hCard est une représentation 1:1 du standard vCard (RFC2426) en XHTML, l'un des nombreux microformats standards ouverts.

Vous voulez démarrer dès à présent par écrire une hCard ? Utilisez le hCard creator pour écrire quelque information de contact et la publier, ou suivez les trucs pour la publication de hCard afin d'ajouter votre syntaxe hCard à votre page contact actuelle.

Spécification

Editeur

Tantek Çelik, Technorati, Inc.

Auteurs

Copyright

This specification is (C) 2004-2024 by the authors. However, the authors intend to submit (or already have submitted, see details in the spec) this specification to a standards body with a liberal copyright/licensing policy such as the GMPG, IETF, and/or W3C. Anyone wishing to contribute should read their copyright principles, policies and licenses (e.g. the GMPG Principles) and agree to them, including licensing of all contributions under all required licenses (e.g. CC-by 1.0 and later), before contributing.

Brevets

This specification is subject to a royalty free patent policy, e.g. per the W3C Patent Policy, and IETF RFC3667 & RFC3668.

Inspiration et Remerciements

Remerciemens à : 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, peut-être que j'aurais pu aider beaucoup de personnes à éviter de perdre du temps à réinventer beaucoup de roues des standards.

Introduction

Le standard vCard (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).

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 de telle manière que les spiders et autres agrégateurs puissent 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 est une représentation 1:1 en XHTML sémantique du standard vCard mentionné plus haut. Les blogueurs peuvent tout à la fois embarquer directement les vCards 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 à propos de telles vCards à partir des pages web sans avoir à référencer un fichier séparé.

Utilisez le hCard creator, 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

Note: the Semantic XHTML Design Principles were written primarily within the context of developing hCard and hCalendar, thus it may be easier to understand these principles in the context of the hCard design methodology (i.e. read that first). Tantek

XHTML is built on XML, and thus XHTML based formats can be used not only for convenient display presentation, but also for general purpose data exchange. In many ways, XHTML based formats exemplify the best of both HTML and XML worlds. However, when building XHTML based formats, it helps to have a guiding set of principles.

  1. Reuse the schema (names, objects, properties, values, types, hierarchies, constraints) as much as possible from pre-existing, established, well-supported standards by reference. Avoid restating constraints expressed in the source standard. Informative mentions are ok.
    1. For types with multiple components, use nested elements with class names equivalent to the names of the components.
    2. Plural components are made singular, and thus multiple nested elements are used to represent multiple text values that are comma-delimited.
  2. Use the most accurately precise semantic XHTML building block for each object etc.
  3. Otherwise use a generic structural element (e.g. <span> or <div>), or the appropriate contextual element (e.g. an <li> inside a <ul> or <ol>).
  4. Use class names based on names from the original schema, unless the semantic XHTML building block precisely represents that part of the original schema. If names in the source schema are case-insensitive, then use an all lowercase equivalent. Components names implicit in prose (rather than explicit in the defined schema) should also use lowercase equivalents for ease of use. Spaces in component names become dash '-' characters.
  5. Finally, if the format of the data according to the original schema is too long and/or not human-friendly, use <abbr> instead of a generic structural element, and place the literal data into the 'title' attribute (where abbr expansions go), and the more brief and human readable equivalent into the element itself. Further informative explanation of this use of <abbr>: Human vs. ISO8601 dates problem solved

Format

En Général

Le standard vCard (RFC2426) forme la base du 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.

Plus d'Equivalents Sémantiques

Pour quelques propriétés, il existe néanmoins un équivalent plus sémantique, et par conséquent elles reçoivent un traitement spécial, par ex. :

  • 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 vs. Plurielles

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

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é. Les propriétés plurielles avec des sous-types (par ex. TEL avec WORK, HOME, CELL) peuvent être optimisées pour partager un élément commun pour la propriété elle-même, avec chaque instance de sous-type étant un descendant classé de façon appropriée de l'élément propriété.

Propriétés Plurielles Singularisées

Parce que les noms de propriétés plurielles deviennent leurs équivalents singuliers, même si la propriété plurielle originale 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.

Lisible par Humain vs. Machine

Si un élément <abbr> est utilisé pour une propriété, alors l'attribut 'title' de l'élément <abbr> est la valeur de la propriété, au lieu 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 <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 un URL comme sa valeur, l'attribut src="..." fournit la valeur de la propriété.
  2. Pour les autres propriétés, (NDT à vérifier) l'attribut <img> alt de l'élément 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é.

Précision de Valeur

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


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

Ce fragment hCard pourrait être affiché comme :

home: +1.415.555.1212


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 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 é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. 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 <title> dans les documents (X)HTML) pour construire la propriété NOM, PEUVENT produire une valeur PROFILE de "VCARD" 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 devriaent écrire la propriété VERSION, avec la valeur "3.0" (sans guillemets) per RFC2426 Section 3.6.9.

Info Contact Organisation

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é 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 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 sous-entendue "n"

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. 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 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, 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 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).

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

  • given-name (espace) family-name
  • family-name (virgule) given-name
  • family-name (virgule) given-name-first-initial
  • family-name (espace) given-name-first-initial (optional period)

Optimisation sous-entendu du "pseudo"

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 sous-entendue 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" est traité comme une valeur de propriété "nickname".
  2. Les parsers devraient gérer la propriété manquante "N" en sous-entendant des valeurs vides 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.

Optimisation Implied "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 Categories

Les catégories dans hCard peuvent en option ê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ée pour cette catégorie.

Nom Classe Racine

Le nom de classe racine pour une hCard est "vcard".

Liste de propriétés

Ceci est la liste des propriétés (et sous-propriétés, entre parenthèses, comme ça) dans hCard, prise à partir de vCard :

  • fn, n (family-name, given-name, additional-name, honorific-prefix, honorific-suffix), nickname, sort-string
  • url, email (type, value), tel (type, value)
  • adr (post-office-box, extended-address, street-address, locality, region, postal-code, country-name, type, value), label
  • geo (latitude, longitude), tz
  • photo, logo, sound, bday
  • title, role, org (organization-name, organization-unit)
  • 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. 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é :

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

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 ALL CAPS (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, "other IANA registered address types"

Profil XMDP

Voir hcard-profile pour le profil 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 Parsing

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/
ORG:Technorati
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 class="org">Technorati</div>
</div>

Cette carte pourrait être affichée comme :

Tantek Çelik
Technorati

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>.

Plus d'Exemples

Voir hcard-examples pour plus d'exemples, y compris tous les exemples extraits de la RFC 2426 vCard convertie en hCard.

Exemples in the wild

Cette section est informative.

Les sites suivants ont publié des hCards, et sont par conséquent un endroit génial pour quiconque veut démarrer à cherche des exemples "in the wild" pour essayer de parser, indexer, organiser, etc. Si vous avez une hCard sur votre propre page, sentez-vous à l'aise pour l'ajouter en haut de cette liste. Une fois que la liste grandira et sera trop grosse, nous produirons une page wiki séparée.

Nouveaux Exemples

SVP ajoutez de nouveaux exemples à cette section.

dépendent du support du tag BASE ce qui fait de cela un très bon cas de test)

Maintenant utilisant <object> au lieu de <img> pour la photo. (Merci à Brian Suda pour avoir mis à jour le convertisseur vCard)

mais n'avait jamais pensé à l'ajouter ici jusqu'à ce que Tantek lui ait demandé.

mettent des églises, hôtels et stations de ski sur les mêmes cartes. Les endroits sont mis en page sous forme de hcards.

Par exemple, Cambodia Yellow Pages et Malaysia Super Pages

sites individuels des écoles.

  • Ralph Brandi a ajouté une hCard à la barre latérale de son weblog suite à

la portion de présentation des Microformats de Tantek Çelik lors de SXSW 2006.

a balisé tous ses présentateurs avec hCard.

pour tous ses listings d'affaires. Plus d'informations sur http://wikitravel.org/en/Wikitravel_talk:Listings.

  • Musik-Erber utilise hcard pour présenter l'information de contact dans sa barre latérale.
  • Colin D. Devroe utilise hCard pour afficher son information de contact sur sa page "about".
  • The ECS (Scool of Electronics and Computer Science at the University of Southampton) People Pages utilisent vCard. Contact cjg@ecs.soton.ac.uk s'il y a quelque bug.
  • Pat Ramsey a son information de contact sur son blog balisée avec hCard. Contacter ramsey.pat@gmail.com s'il y a quelque bug.
  • Meryl K. Evans a une hCard cachée sur sa page d'accueil.

Exemples

pour tous les artistes étant passés.

Exemples avec quelques problèmes

fichier original vCard. Un progres est fait pour transformer son fichier FoaF vers une représentation encodée hCard. (fait aussi pour mon épouse :Yong Yuan)

    • (2005-09-27) PASSED, PASSED
    • WARNINGS
      • utilise 'n given-name' et 'n family-name' au lieu d'imbriquer les noms -given et family - dans le 'n'
      • a une valeur 'tel' avec un paquet de valeurs dedans
      • probablement plus de problèmes --RyanKing 17:19, 5 Jan 2006 (PST)
  • Cori Schlegel discute comment il a mis à jour sa page contact avec hCard
    • INVALID - utiliser 'prefix' au lieu de 'honorific-prefix' et les type's dans les noms de classes (à la fois dans adr et tel) et il a deux photo's (la seconde pourrait être 'logo') -- RyanKing 15:15, 5 Jan 2006 (PST)
  • Le bon navire Leonid Miloslavskiy a pointé l'Atlantique Nord
    • INVALID --RyanKing 00:50, 27 Oct 2005 (PDT)
      • class="family" devrait être probablement family-name
      • la propriété "n" manque et l'optimisation "n" ne peut pas être appliquée
      • la première propriété géo est vide, la seconde est invalide (par ex. elle ne contient pas lat/long)
  • Landsbanki Føroya
    • INVALIDE - utilisation de rdf/xml embarqué de façon invalide
  • la page contact de Chris Cherry avec sa hCard
    • AVERTISSEMENT - utilise class="cell" au lieu de <span class="type">cell</span>
  • Les résultats du Chercheur de Personnes de l'University of Bath sont encodés avec des hCards de façon à pouvoir facilement créer

une vCard à partir de n'importe quel résultat.n

    • ERREUR - tentative d'utiliser une optimisation Implied-N là où cela n'est pas possible. --RyanKing 14:29, 5 Jan 2006 (PST)
    • l'Erreur n'apparaît que pour les utilisateurs externes. Ne sera pas réparé bientôt. -- PhilWilson 00:03, 28 Jan 2006 (GMT)
  • Richi Jennings a posé son essai
    • INVALIDE, FN manquant --RyanKing 12:47, 5 Jan 2006 (PST)
  • shifting pixel photoblog a publié une hCard.
    • "organization_name" devrait être "organization-name" (s/_/-/), sinon c'est bien --RyanKing 14:01, 5 Jan 2006 (PST)

Implémentations

Cette section est informative.

Les implémentations qui suivent ont été développées et génèrent ou parsent les hCards. 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.

et ouvre le fichier résultant .vcf.

leurs applications carnets d'adresses. S'appuie sur le service web X2V pour faire la conversion.

et produit un script Greasemonkey qui trouve beaucoup d'éléments microformats, y compris les hCards, et 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+.

ne s'appuie pas sur le web service X2V.

pour SimpleXML qui donne un accès simple à l'information hCard dans PHP 5.

pour représenter les personnes laissant des commentaires sur vos billets de blogs.

  • Le 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.

  • rfc2629.xslt tente maintenant de générer de l'information de hCard (RFC2629 est un format XML pour publier des RFCs et des Drafts Internet.