Importer un carnet d'adresses

De openmoko-fr.

Ce tutoriel explique comment importer des contacts dans le carnet d'adresses du Neo FreeRunner.

Source : Import_Vcf_Contacts


Sommaire

Pour Om2008.8 / FSO / FDOM

Le carnet d'adresses est basé sur celui de Qtopia et se nomme "Contacts".


En résumé

  1. Transférer sur le neo le carnet d'adresses au format vCard2.1 encodé en UTF8.
  2. Se connecter en ssh sur le neo et taper :
# export DISPLAY=:0
# addressbook mon_fichier.vcf

Explications détaillées ci-dessous :


Export du carnet d'adresses

Lors de l'export (depuis votre messagerie / téléphone / site web /...), choisissez le format vcf 2.1 encodé en UTF8.

Vous devriez obtenir un fichier .vcf contenant des blocs de ce type :

BEGIN:VCARD
VERSION:2.1
REV:20080725T144144Z
N:NOM;Prénom;;;
FN:Nom affiché
EMAIL;INTERNET;WORK:adresse@email.com
TEL;WORK;CELL:+33123456789
ORG:Société
CATEGORIES:[top];Openmoko
END:VCARD

Pour vérifier le format de fichier, vous pouvez utiliser la commande suivante :

$ file mon_fichier.vcf
mon_fichier.vcf: vCard visiting card


Transfert du carnet d'adresses

Connectez le Neo FreeRunner par USB à votre ordinateur (voir ce tutoriel).

Sur l'ordinateur, placez-vous dans le répertoire contenant le fichier vcf puis transférez-le sur le neo :

$ scp mon_fichier.vcf root@192.168.0.202:/home/root


Import du carnet d'adresses

Se connecter au neo depuis l'ordinateur hôte :

$ ssh root@192.168.0.202

une fois connecté au neo, il faut s'assurer que l'application s'affichera sur l'écran du néo (et pas sur l'ordinateur hôte) :

# export DISPLAY=:0

Puis tapez la commande d'import :

# addressbook mon_fichier.vcf

Le carnet d'adresses s'ouvre (sur le neo) et demande confirmation pour importer les contacts du fichier vcf. Après validation, il faut attendre patiemment le retour du prompt dans la console ssh avant de faire quoi que ce soit d'autre.


Remarques :

  • si des contacts sont déjà présents, il ne les écrase pas
  • cette opération semble très gourmande en ressources mémoire (risque de crash)
  • un reboot peut être nécessaire à la fin de l'opération


En cas d'erreur il n'y a que 2 solutions pour supprimer les contacts :

  • à la main un par un dans l'application
  • via un client SQLlite (voir ici)


Pour Qtopia / QtExtended / Qtmoko

  1. Transférer dans le Dossier Documents du neo le carnet d'adresses au format vCard (format .vcf, encodage UTF-8)
  2. Aller dans "Main Menu" et lancer l'application "Documents" (icône en bas à droite, voir capture ci-dessous)
  3. Naviguer jusqu'au fichier vcf transféré (s'il n'apparaît pas, ouvrir le menu "options" et choisir "rescan system")
  4. Ouvrir le fichier vcf : l'application se lance et propose d'importer les contacts.

Pour Hackable:1

Voici la démarche

Export des contacts de la carte SIM depuis une distribution OM

  • Démarrer sur la OM2008.12 (pas testé avec la SHR, cela marche peut-être aussi)
  • Vérifier que sqlite3 est bien installé
opkg install sqlite3
  • Lancer la commande suivante sur le freerunner (créé un fichier .tsv)
~/Applications/Qtopia/qtopia_db.sqlite $1 'Select distinct firstname, lastname, middlename,
nickname, default_email,title,
cpn5.phone_number as Business_Phone,
cpn1.phone_number as Home_Phone,
cpn8.phone_number as Business_Fax,
cpn9.phone_number as Business_Pager,
cpn2.phone_number as Home_Mobile from contacts
left outer join contactphonenumbers as cpn1
on contacts.recid=cpn1.recid and cpn1.phone_type=1
left outer join contactphonenumbers as cpn2
on contacts.recid=cpn2.recid and cpn2.phone_type=257
left outer join contactphonenumbers as cpn3
on contacts.recid=cpn3.recid and cpn3.phone_type=769
left outer join contactphonenumbers as cpn4
on contacts.recid=cpn4.recid and cpn4.phone_type=513
left outer join contactphonenumbers as cpn5
on contacts.recid=cpn5.recid and cpn5.phone_type=2
left outer join contactphonenumbers as cpn6
on contacts.recid=cpn6.recid and cpn6.phone_type=258
left outer join contactphonenumbers as cpn7
on contacts.recid=cpn7.recid and cpn7.phone_type=770
left outer join contactphonenumbers as cpn8
on contacts.recid=cpn8.recid and cpn8.phone_type=514
left outer join contactphonenumbers as cpn9
on contacts.recid=cpn9.recid and cpn9.phone_type=1026;'| sed 's/|/\t/g' > addressbook.tsv
  • Copier le addressbook.tsv du freerunner vers un répertoire de travail du pc (depuis le terminal du freerunner)
scp addressbook.tsv  mon_login_pc@192.168.0.200:/home/mon_login_pc/tmp

Utilisation de ces données dans le logiciel "contacts" du PC (sous distribution Ubuntu ou Debian)

  • télécharger un script sur le PC pour transformer le .tsv en .vcf

http://sourceforge.net/projects/tsv2vcf/ Le décompresser dans le répertoire de travail du PC /home/mon_login_pc/tmp

  • lancer la conversion en vcf depuis le terminal du PC:
cd /home/mon_login_pc/tmp
perl tsv2vcf.pl addressbook.tsv addressbook.vcf
  • Installer "contacts" sur son pc (ajouter sudo pour les Ubunteros)
apt-get install contacts
  • Ouvrir "contacts" depuis son PC desktop et importer le vcf

Faire les modifications qu'il faut (personnellement j'enlève tous les caractères accentués et bizares. Puis fermer contacts.

Exporter les contacts depuis le PC (logiciel "contacts") vers la Hackable (logiciel "contacts")

  • Depuis le freerunner qui tourne toujours sous OM : il faut monter la partition ext2 sur laquelle se trouvent les fichiers de la Hackable Attention, peut être que les références aux partitions ne sont pas les mêmes chez vous. Chez moi, c'est la /dev/mmcblk0p2 )
cd /media/card/
mkdir montageh1
mount /dev/mmcblk0p2 /media/card/montageh1/
  • ensuite, toujours depuis le terminal de la session OM2008.12 : supprimer le fichier de contacts de la Hackable et le remplacer par le nouveau qu'on vient de créer avec "contacts" :
rm /media/card/montageh1/root/.evolution/addressbook/local/system/addressbook.db
scp mon_login_pc@192.168.0.200:/home/mon_login_pc/.evolution/addressbook/local/system/addressbook.db /media/card/montageh1/root/.evolution/addressbook/local/system/addressbook.db
  • redémarrer sur la Hackable:1 --> HOP, cela fonctionne
Outils personnels