vCard 2.1, 3.0 et 4.0 comparées
| 2.1 | 3.0 | 4.0 | |
|---|---|---|---|
| Norme | Spécification du consortium versit (pas une RFC) | RFC 2426 | RFC 6350 |
| Publiée en | 1996 | 1998 | 2011 |
| Lignes obligatoires | VERSION ; N en pratique | VERSION, N, FN | VERSION, FN |
| Écriture d’un numéro mobile | TEL;CELL: | TEL;TYPE=CELL: | TEL;TYPE=cell: |
| Jeu de caractères | CHARSET= sur chaque ligne, souvent une page de code locale | non indiqué dans le fichier ; UTF-8 en pratique | UTF-8, toujours |
| Texte accentué | parfois en quoted-printable | texte brut | texte brut |
| Photos | ENCODING=BASE64 | ENCODING=b (base64) | une URI, souvent une URI data: |
| Qui l’écrit | anciens téléphones, Outlook classique | iPhone, iCloud, Google Contacts | encore peu d’apps |
Pour savoir laquelle vous avez, ouvrez le fichier dans un éditeur de texte et lisez la deuxième ligne. VERSION:3.0 est celle que vous croiserez le plus.
Les propriétés que vous verrez
| Propriété | Ce qu’elle contient | Exemple |
|---|---|---|
FN | Le nom tel qu’il doit s’afficher | FN:Amélie Lefèvre |
N | Le nom en cinq parties : nom de famille ; prénom ; autres prénoms ; préfixes ; suffixes | N:Lefèvre;Amélie;;; |
ORG | L’entreprise, puis le service éventuel | ORG:Northfield Tools;Sales |
TITLE | Le poste | TITLE:Sales Director |
TEL;TYPE=… | Un numéro de téléphone ; les types incluent CELL, WORK, HOME, FAX et VOICE | TEL;TYPE=WORK,VOICE:+1 555 555 0100 |
EMAIL | Une adresse e-mail, avec un type facultatif | EMAIL;TYPE=WORK:[email protected] |
ADR | Une adresse postale en sept parties : boîte postale ; complément ; rue ; ville ; région ; code postal ; pays | ADR;TYPE=WORK:;;12 Main St;Springfield;IL;62701;USA |
URL | Un site web | URL:https://example.com |
NOTE | Du texte libre | NOTE:Met at booth 14\, spring show |
PHOTO | Une image, encodée dans le fichier ou liée | PHOTO;ENCODING=b;TYPE=JPEG:/9j/4AAQ… |
Les noms de propriétés ne sont pas sensibles à la casse : tel et TEL veulent dire la même chose. Les lignes qui commencent par X- sont des ajouts propres à un éditeur, comme X-SOCIALPROFILE. Apple et Google regroupent aussi une valeur et son libellé personnalisé en mettant le même préfixe sur les deux lignes : item1.EMAIL:[email protected] et item1.X-ABLabel:Billing vont ensemble. Un lecteur qui ignore le préfixe obtient quand même l’e-mail, simplement sans son libellé.
Le même contact dans chaque version
vCard 2.1, avec le nom accentué en quoted-printable :
BEGIN:VCARD
VERSION:2.1
N;CHARSET=UTF-8;ENCODING=QUOTED-PRINTABLE:Lef=C3=A8vre;Am=C3=A9lie;;;
FN;CHARSET=UTF-8;ENCODING=QUOTED-PRINTABLE:Am=C3=A9lie Lef=C3=A8vre
TEL;CELL;VOICE:+1 555 555 0142
END:VCARD
vCard 3.0 :
BEGIN:VCARD
VERSION:3.0
N:Lefèvre;Amélie;;;
FN:Amélie Lefèvre
TEL;TYPE=CELL:+1 555 555 0142
END:VCARD
vCard 4.0, avec le numéro sous forme de lien tel: :
BEGIN:VCARD
VERSION:4.0
FN:Amélie Lefèvre
N:Lefèvre;Amélie;;;
TEL;TYPE=cell;VALUE=uri:tel:+1-555-555-0142
END:VCARD
Pliage des lignes et quoted-printable
Les lignes longues sont pliées. En 3.0 et 4.0, le logiciel qui écrit coupe une ligne longue en insérant un saut de ligne suivi d’une espace ou d’une tabulation ; la RFC 6350 demande des lignes de 75 octets au plus. Le lecteur les rejoint en supprimant le saut de ligne et ce seul caractère, rien d’autre. Un outil qui supprime aussi l’espace suivante, ou qui garde la première, colle deux mots ou ajoute une espace au milieu d’une adresse e-mail. Une photo en base64 s’étend sur des centaines de lignes pliées : c’est pourquoi un .vcf avec des images est bien plus lourd qu’un fichier sans.
Le quoted-printable appartient au 2.1. Chaque octet hors de l’ASCII simple devient un signe égal suivi de deux chiffres hexadécimaux, donc « é » en UTF-8 s’écrit =C3=A9. Une ligne qui se termine par = est un saut doux : la valeur continue au début de la ligne suivante.
Jeux de caractères et noms illisibles
- Un fichier 2.1 sans
CHARSET=a en général été écrit dans la page de code locale du téléphone ou de Windows. Lu comme de l’UTF-8, ses accents deviennent des points d’interrogation. - « é » à la place de « é » signifie l’inverse : du texte UTF-8 lu comme du Windows-1252, souvent par Excel.
- Un fichier 3.0 n’indique pas son jeu de caractères. Les exports actuels écrivent de l’UTF-8, et un lecteur doit le supposer.
- Un fichier 4.0 est en UTF-8 par définition.
- En 3.0 et 4.0, une virgule, un point-virgule ou une barre oblique inverse dans une valeur est échappé par une barre oblique inverse, et un saut de ligne dans une note s’écrit
\n. Un lecteur qui l’ignore coupe une valeur en deux.
Convertir d'une version à l'autre et en CSV
Le convertisseur VCF en CSV lit les trois versions, les lignes pliées, le texte quoted-printable, les libellés item1. et les fichiers en UTF-8, UTF-16 ou Windows-1252, puis écrit un CSV avec une ligne par contact. Dans l’autre sens, il crée un seul fichier vCard 3.0 à partir d’un CSV. Il fonctionne dans votre navigateur et rien n’est envoyé. Les photos sont ignorées. Pour commencer par les bases, lisez la page fichier VCF.
Krane pour iPhone
Avec Krane : des vCards à partir de cartes papier
Krane sur iPhone, iPhone Duo et iPad part de l’autre bout : il transforme une carte de visite imprimée en contact, puis l’ajoute à Contacts d’Apple ou la partage en vCard. Avec Krane Pro, il exporte aussi un CSV ou envoie le contact vers HubSpot, Salesforce ou Pipedrive. Le scanner de cartes de visite est gratuit pour 10 scans par semaine. Il ne peut pas importer de .vcf.