VCF

Qu’est-ce qu’un fichier VCF ?

Le format de carte de visite que s’échangent les téléphones et les logiciels de messagerie.

Ce qu’est VCF

VCF est un format texte que n’importe quel éditeur ouvre. Il est utilisé pour l’échange entre programmes.

L’extension est .vcf et le nom complet vCard Contact. L’un et l’autre comptent moins que ce que le fichier peut contenir, et c’est le sujet du reste de cette page.

D’où vient VCF

Il remonte à 1995. La spécification est RFC 6350.

À un format resté lisible aussi longtemps, on peut confier quelque chose qu’on veut retrouver dans dix ans.

La spécification est publique

Elle est publiée intégralement : n’importe qui peut l’implémenter à partir du document plutôt qu’en l’observant, et c’est pourquoi ce format apparaît dans tant de programmes et pourquoi des fichiers écrits il y a vingt ans s’ouvrent encore. Une spécification publiée n’est pas pour autant libre de redevances : quand un format enveloppe un codec, les brevets sont une question à part, que la norme ne tranche pas.

Rien n’est jeté

VCF enregistre son contenu à l’identique. Le réenregistrer ne change rien : vous pouvez l’ouvrir, le modifier et le réenregistrer autant de fois que vous voulez sans accumuler de dégâts, et c’est ce qui en fait un format de travail plutôt qu’un format de livraison.

Ce qui ouvre VCF

Google Contacts, Apple Contacts et Microsoft Outlook le lisent, comme la plupart des programmes du même genre.

Quand un fichier ne s’ouvre pas, le format est rarement en cause : le plus souvent, c’est le programme qui est plus ancien que lui. Convertir vers quelque chose de plus ancien est le contournement fiable, et c’est à cela que sert le reste de ce site.

L’ouvrir dans un navigateur

Aucun navigateur ne le lit.

C’est de loin la raison la plus fréquente de le convertir : non pas que le format soit mauvais, mais que l’endroit où vous voulez montrer le fichier ne sache pas le lire.

C’est un format de travail

VCF est fait pour être ouvert et modifié. Gardez le fichier dans ce format tant que le travail dure, et exportez depuis lui chaque fois qu’une version finie est nécessaire.

D’où vient un fichier VCF

D’un téléphone, presque toujours. Exporter les contacts depuis Android, iPhone, Google Contacts ou Outlook produit un VCF, et partager un contact unique par message ou par courrier électronique en attache un aussi. C’est le seul format sur lequel ils s’accordent tous, et c’est pourquoi il survit malgré une conception de 1995.

L’autre source courante est un client de messagerie. Les blocs de signature, les carnets d’adresses et la petite fiche jointe à un courriel professionnel sont tous des vCard. Si vous avez reçu un fichier nommé quelque chose comme contact.vcf sans l’avoir demandé, c’est ce qui s’est passé.

Un fichier peut contenir un contact ou cinq mille

Cela prend les gens à contre-pied dans les deux sens. Une vCard partagée depuis un téléphone contient une personne ; une vCard exportée depuis un carnet d’adresses contient tout le monde, à la suite dans le même fichier, chacune entre les lignes BEGIN:VCARD et END:VCARD. Les deux utilisent la même extension, et il n’y a aucun marqueur dans le nom de fichier pour les distinguer, ce qui est la source d’à peu près toutes les confusions autour de ce format.

Donc un VCF de 4 Mo n’est pas un contact corrompu — c’est l’ensemble de votre carnet d’adresses, et l’importer ajoutera toutes les entrées. À l’inverse, envoyer à quelqu’un votre fichier exporté pour partager un numéro lui remet tout le lot. Ouvrez-le d’abord dans un éditeur de texte si vous n’êtes pas sûr de ce que vous avez ; la structure est évidente au premier coup d’œil. Pour les fichiers volumineux, chercher la chaîne BEGIN:VCARD et compter les occurrences donne le nombre exact de fiches en une seconde, ce qui évite la surprise à l’arrivée.

Le numéro de version compte plus qu’il ne devrait

Trois versions circulent et elles ne sont pas interchangeables. La version 2.1 date de 1996 et encode le texte non latin de façons que les logiciels modernes lisent souvent mal. La version 3.0 est celle qu’écrivent la plupart des systèmes. La version 4.0, spécifiée dans la RFC 6350, est le standard actuel et n’est toujours pas acceptée universellement — certains logiciels d’entreprise n’ont pas bougé depuis la 3.0 et refuseront sans message clair un fichier plus récent.

La RFC 6350 place la ligne VERSION immédiatement après BEGIN:VCARD, mais les anciennes versions ne l’exigent qu’à un endroit quelconque dans la fiche, donc sur un fichier 2.1 cherchez le mot plutôt que de lire la deuxième ligne. Cela vaut la peine d’être fait quand un import se passe mal, parce que « ce programme ne lit pas mes contacts » est très souvent « ce programme n’accepte pas la 4.0 » ou « ce fichier est en 2.1 et les accents sont devinés ». Pour un envoi à un destinataire dont on ne contrôle pas le logiciel, la 3.0 reste le compromis raisonnable : universellement lue, mieux codée que la 2.1, et suffisamment ancienne pour qu’aucun système ne la refuse.

Pourquoi les accents et les trémas sortent de travers

La version 4.0 a tranché pour UTF-8 et le problème a en grande partie disparu. Les fichiers plus anciens n’avaient pas ce luxe : la 2.1 utilisait un encodage quoted-printable avec un jeu de caractères déclaré par champ, et nombre de logiciels l’écrivaient de façon incohérente.

Le résultat visible est des noms avec des points d’interrogation, des majuscules à des endroits inhabituels, ou des séquences comme =C3=BC au milieu d’un patronyme. Cette dernière manifestation, c’est le quoted-printable qui transparaît — la donnée est intacte, c’est le lecteur qui ne la décode pas. Convertir le fichier avec un outil qui comprend l’encodage le répare ; retaper quatre cents noms n’a pas besoin d’arriver.

Les photos sont à l’intérieur du fichier

Une vCard peut incorporer une photographie de contact sous forme de texte en base64, et les carnets d’adresses le font par défaut. C’est la raison pour laquelle un export de huit cents contacts pèse plusieurs mégaoctets plutôt que quelques dizaines de kilooctets, et c’est aussi pourquoi un VCF transféré par courriel atteint vite la limite de taille des pièces jointes sans qu’aucun des contacts ne soit particulièrement lourd en données.

C’est aussi la raison pour laquelle un VCF échoue parfois à s’importer : certains systèmes imposent une limite de taille par fiche, et une photographie haute résolution fait dépasser la limite à une seule entrée. Si un import en volume s’interrompt en cours de route, une photo trop volumineuse sur un contact en est la cause probable, et le fichier vous dira lequel. Pour les exports destinés à transiter par des canaux étroits — courriel d’entreprise, MMS, certaines API — convertir les photos en miniature avant l’export est souvent la seule façon de faire tenir le fichier, et un outil qui propose un réglage sur la taille des photos embarquées fait gagner du temps en aval.

Convertir en CSV, et ce qui change

C’est de loin la conversion la plus fréquente : des contacts vers un tableur, pour nettoyer les doublons, pour un publipostage, ou pour importer dans un système qui n’accepte que du CSV. La correspondance fonctionne parce que la plus grande partie d’une vCard est faite de champs simples — nom, organisation, téléphone, courriel, adresse.

Ce qui ne se transpose pas proprement, c’est la répétition. Un contact avec quatre numéros de téléphone et trois adresses de courriel doit devenir des colonnes, et chaque outil choisit un ensemble légèrement différent de noms de colonnes — TEL;TYPE=WORK,VOICE devient « Téléphone (Travail) » chez l’un, « Work Phone » chez l’autre, et la même adresse de courriel professionnelle arrive dans une colonne « E-mail 1 » ou « Courriel pro » selon l’humeur du développeur. Les noms structurés — les parties séparées prénom, nom et titre — s’effondrent dans ce qu’attend la cible, et les photographies incorporées sont abandonnées. Pour dédoublonner une liste, rien de tout cela n’importe ; pour une archive sans perte, gardez le VCF d’origine.

Transférer des contacts entre téléphones

La séquence fiable est : exporter en VCF, transférer le fichier, importer. Cela fonctionne d’Android à iPhone et dans l’autre sens, et cela ne dépend pas du fait que les deux appareils fassent confiance au même compte cloud, ce qui est en général la raison pour laquelle les gens font cela à la main. C’est aussi la méthode qui fonctionne quand l’un des deux appareils refuse de se connecter à un service tiers, situation de plus en plus courante à mesure que les configurations de sécurité des entreprises se durcissent.

Deux choses à vérifier ensuite. Les doublons : importer sans avoir vidé la cible au préalable fusionne plutôt que remplacer, et la plupart des carnets d’adresses dédoublonnent mal — deux fiches avec le même nom et un chiffre différent persistent souvent comme deux fiches distinctes qu’il faudra fusionner à la main. Et les groupes ou étiquettes : ils sont hors du format central, gérés de façon incohérente, et c’est ce qui arrive le plus souvent vide. Les noms et les numéros voyagent de façon fiable ; l’organisation autour d’eux fréquemment non, et un import qui produit une liste aplatie de mille contacts sans aucune structure est techniquement réussi mais pratiquement inutilisable.

Les données, au même endroit

Identifiants et origine du format VCF.
Extension.vcf, .vcard
Type de médiatext/vcard
Première publication1995
SpécificationRFC 6350

Fichiers VCF : questions courantes

Comment ouvrir un fichier VCF ?

Double-cliquez dessus et votre application de contacts propose de l’importer. Pour voir ce qu’il y a dedans d’abord, ouvrez-le dans n’importe quel éditeur de texte — c’est du texte brut et la structure se lit au premier coup d’œil, ce qui est la façon la plus rapide de distinguer un contact d’un carnet entier.

Pourquoi mon VCF contient-il des centaines de contacts ?

Parce qu’un seul fichier peut contenir un nombre quelconque de fiches, à la suite. Un export depuis un carnet d’adresses contient tout le monde, tandis qu’un contact partagé depuis un téléphone contient une personne. Les deux ont la même extension, donc vérifier avant d’importer ou d’envoyer vaut les dix secondes.

Comment convertir un VCF en Excel ?

Convertissez-le en CSV, que tout tableur ouvre directement. Les noms, organisations, numéros de téléphone, courriels et adresses se transposent proprement. Les contacts avec plusieurs numéros s’étalent en colonnes supplémentaires, et les photographies incorporées sont abandonnées.

Pourquoi les caractères accentués sont-ils faux ?

Les vCards plus anciennes utilisent un encodage quoted-printable avec le jeu de caractères déclaré par champ, et il est facile pour un lecteur de se tromper. Des séquences comme =C3=BC dans un nom signifient que la donnée est intacte et n’est pas décodée. Les fichiers en version 4.0 utilisent UTF-8 et ont rarement ce problème.

Peut-on transférer des contacts d’Android vers iPhone avec un VCF ?

Oui, dans les deux sens — exportez en VCF, déplacez le fichier par courriel ou stockage cloud, puis importez. Cela fonctionne sans que les deux appareils partagent un compte, ce qui est en général la raison de procéder ainsi. Vérifiez les doublons ensuite, car importer fusionne plutôt que remplacer.

Un fichier VCF contient-il des photos ?

Souvent, oui — les photographies de contact sont incorporées sous forme de texte en base64, ce qui explique qu’un export de quelques centaines de contacts puisse peser plusieurs mégaoctets. Une photo inhabituellement grande sur une fiche est une raison courante pour qu’un import en volume s’interrompe en cours de route.