topo sur fichier vcard et répertoire téléphonique.

Page principale

Répondre à ce message
Auteur: anne.guilde@free.fr
Date:  
À: guilde
Anciens-sujets: Re: fichier vcard
Sujet: topo sur fichier vcard et répertoire téléphonique.
La solution trouvée pour modifier les vcard et récupérer mon répertoire
téléphonique sur mes téléphones gigaset.

Mon carnet d'adresse se trouve dans mon téléphone portable.
C'est un android

J'ai des téléphones fixes gigaset avec une base ip (C610ip) dont je me
sers pour la voip de free.
J'ai mis en place freepbx sur mon serveur (grâce à Raphael il y a déjà
plusieurs années qui m'a expliqué que j'avais tout ce qu'il fallait pour
mettre en place asterisk sur mon serveur ;) )
Cela me fait 2 communications téléphoniques avec free.

Pour configurer la base du C610ip, il y a une interface web qui me
permet entre autre d'exporter/importer le carnet d'adresse.
L'exportation = un fichier vcf => vcard
J'ai à peu près 440 vcard.

1- transférer mon carnet d'adresse sur mon pc.

Je suis avec debian stretch et mate
Je branche mon téléphone android sur mon pc avec un câble usb.
Je vais dans les contacts de mon android.
Il y a une option importer/exporter
je clique sur exporter vers le stockage usb.
J'ai maintenant mon fichier vcf sur ma debian.

=> carnet_anne.vcf

---
...
BEGIN:VCARD

VERSION:2.1

N:nom_1;prenom_1;;;

FN:prenom_1 nom_1
TEL;CELL:+33611111111

TEL;HOME:+33411111111
END:VCARD
BEGIN:VCARD

VERSION:2.1

N:nom_2;prenom_2;;;

FN:prenom_2 nom_2
TEL;X-HomeVoice:+33422222222
TEL;X-CellularVoice:+33622222222
EMAIL;X-Internet:nom_2@???

BDAY:1900-01-01
END:VCARD
...
---

J'utilise thunderbird
J'importe mon carnet d'adresse.
Je me rends compte que les entrées TEL;X-HomeVoice:+33422222222
TEL;X-CellularVoice:+33622222222 n'ont pas été récupérées.
J'ai bien prenom_1 nom_1 et prenom_2 nom_2 dans le carnet mais le
deuxième contact n'a plus de n° de téléphone.

Je mets le programme php sur une interface web de mon serveur.
https://github.com/thomascube/vcfconvert
Je n'avais pas envie d'installer php sur ma debian pour l'instant.
Pas mieux, le deuxième contact n'a pas de n° de téléphone, non plus.

Il y a plein d'entrées qui sont ne sont pas récupérées.
Solution, il faut analyser toutes les entrées pour voir ce qui est
récupéré et ce qui n'est pas récupéré.

2- Pour voir toutes les entrées trouvées

# awk -F : ' /^BEGIN|^ |^;|^=|^END|^VERSION|^$|^\s*$/ {next} 1 {print $1
; next} ' <Contacts_Anne.vcf | sort | uniq -c >entree_vcard

---
       9


      23 ADR;HOME
      12 ADR;HOME;CHARSET=UTF-8;ENCODING=QUOTED-PRINTABLE
      12 ADR;HOME;ENCODING=QUOTED-PRINTABLE
       1 ADR;WORK
      20 ADR;X-PREF
       1 ADR;X-PREF;ENCODING=QUOTED-PRINTABLE
      41 BDAY
       2 EMAIL;HOME
       1 EMAIL;PREF
       3 EMAIL;WORK
     228 EMAIL;X-Internet
     413 FN
      29 FN;CHARSET=UTF-8;ENCODING=QUOTED-PRINTABLE
     413 N
      29 N;CHARSET=UTF-8;ENCODING=QUOTED-PRINTABLE
      12 NOTE
       4 NOTE;CHARSET=UTF-8;ENCODING=QUOTED-PRINTABLE
      25 NOTE;ENCODING=QUOTED-PRINTABLE
     123 ORG
       4 ORG;CHARSET=UTF-8;ENCODING=QUOTED-PRINTABLE
       7 PHOTO;ENCODING=BASE64;JPEG
       3 TEL;
       3 TEL;CAR
      92 TEL;CELL
       4 TEL;CELL;PREF
      43 TEL;HOME
       8 TEL;HOME;PREF
       5 TEL;VOICE
      26 TEL;WORK
       1 TEL;WORK;FAX
     161 TEL;X-CellularVoice
       1 TEL;X-CellularVoice;PREF
      65 TEL;X-HomeVoice
       1 TEL;X-HomeVoice;PREF
       5 TEL;X-WorkFax
     102 TEL;X-WorkVoice
       5 TITLE
       2 URL
       6 X-ANDROID-CUSTOM
---



Comme vous pouvez le voir, c'est très hétéroclite.

Je farfouille pour voir s'il y a un standard de défini pour les vcard
C'est la jungle.
Chacun a fait un peu ce qu'il voulait selon le logiciel et le système
d'exploitation (windows, mac, android,...) et la version des vcard
vCard 2.1, vCard 3.0, vCard 4.0

2 solutions, soit modifier le logiciel vcfconvert, soit modifier les
entrées.

J'ai opté pour la deuxième solution.

J'ai utilisé un éditeur de texte pour faire les modifications. (pluma
avec mate)

TEL;X* a enlever et a remplacer par TEL;CELL, TEL;HOME, TEL;WORK...

Il y a aussi CHARSET=UTF-8 et ENCODING=QUOTED-PRINTABLE (caractère
accentué).
J'ai enlevé les caractères accentués dans les noms et prénoms. (N et FN)
avec le téléphone android avant d'exporter de nouveau dans le pc.

# awk -F : ' /^BEGIN|^ |^;|^=|^END|^VERSION|^$|^\s*$/ {next} 1 {print $1
; next} ' <Contacts_Anne-1.vcf | sort | uniq -c >entree_vcard1

      7


      35 ADR;HOME
       3 ADR;HOME;CHARSET=UTF-8;ENCODING=QUOTED-PRINTABLE
      10 ADR;HOME;ENCODING=QUOTED-PRINTABLE
      16 ADR;WORK
       2 ADR;X-PREF
       1 ADR;X-PREF;ENCODING=QUOTED-PRINTABLE
      41 BDAY
       2 EMAIL;HOME
       1 EMAIL;PREF
       3 EMAIL;WORK
     228 EMAIL;X-Internet
     441 FN
     441 N
      13 NOTE
       3 NOTE;CHARSET=UTF-8;ENCODING=QUOTED-PRINTABLE
      25 NOTE;ENCODING=QUOTED-PRINTABLE
     126 ORG
       1 ORG;CHARSET=UTF-8;ENCODING=QUOTED-PRINTABLE
       7 PHOTO;ENCODING=BASE64;JPEG
       3 TEL;CAR
     256 TEL;CELL
     120 TEL;HOME
       5 TEL;VOICE
     127 TEL;WORK
       6 TEL;WORK;FAX
       5 TITLE
       2 URL
       6 X-ANDROID-CUSTOM


C'est déjà mieux

J'ai 441 noms avec pour certains plusieurs n° de téléphone.

Les téléphones gigaset n'ont pas autant d'entrées, entre 100 et 150
selon le téléphone.
Donc faire un ménage... à la main!

J'ai fait des essais de transferts sur mes téléphones gigaset.
Autre souci découvert: quand il y a plusieurs n° de téléphone pour une
personne, il n'y a qu'un n° de récupéré.
Solution: dupliqué la personne, modifié le prénom et ne mettre qu'un n°
de téléphone par vcard.

Si ma prose peut servir à d'autres...
Vous pouvez aussi écrire vos commentaires et modifications...

Anne