Aymeric / APLU(.FR) - Mot-clé - contactsSite d'Aymeric (ou d'aplufr) pour parler de Linux, de technique.. enfin de tout et surtout de n'importe quoi !2023-09-19T19:41:16+02:00Aymericurn:md5:9a770342f58fde945e9ce016459f8f12DotclearImporter un vCard sur un serveur CardDAVurn:md5:e421d3d0a655cfbb41990cff480731312015-12-16T20:00:00+01:002015-12-16T20:00:00+01:00APLUInternetCardDAVcontactsDégooglisonsOwnCloudshellunixvcard <p>Cet article peut s’inclure dans la partie Dégooglisons Internet, même si l’outil qui va être décrit ici n’a pas été utilisé pour ce cas précis.</p><p>En effet, suite à plusieurs problèmes récemment rencontrés avec OwnCloud sur l’application Contacts, j’ai décidé de migrer mes contacts d’OwnCloud vers un autre serveur de type CardDAV.</p><p>Je ne vais pas décrire l’installation de l’autre serveur CardDAV, simplement le nouveau serveur n’avait pas de fonction <em>Import</em> pour les fiches vCards. Après quelques heures de recherche sur Internet, j’ai décidé de faire moi-même un script pour importer mes contacts sur le nouveau serveur.</p><h2>Récupérer le vCard</h2><p>Dans un premier temps, il faut exporter les contacts dans un fichier au format vCard (un .vcf), OwnCloud permet de le faire directement depuis l’application Contacts.</p><p>Si vous utilisez Google, je vous invite à faire un passage sur le site <a title="Google Takeout" href="https://www.google.com/takeout">Google Takeout</a> qui permet de récupérer ses contacts dans le format vCard.</p><p>Il n’est pas impossible que je fasse le script <em>cardexport.sh</em> un jour prochain… mais pour l’instant, il faudra vous satisfaire des fonctions proposées par votre serveur actuel.</p><h2>Importer les nouveaux contacts</h2><p>Ensuite, afin d’importer les contacts sur le nouveau serveur, on va utiliser le script <em>cardimport.sh</em> présent sur <a href="https://github.com/mulx/vcardimport">mon compte GitHub</a> (oui, je sais, il faut migrer sous GitLab parce que GitHub <em>saymal,</em> mais là n’est pas l’objet).</p><p>Dans ce script, il faut modifier les premières lignes pour les adapter au serveur de destination.</p><pre># your user name, if you have a ':' in it, change your login or find another script as it will not work with this script
user='username'
# your password, theoretically any characters are allowed, even ':' or '@'
pass='YourSuperPassword'
# name of the collection
cardsCollection='contacts'
# url of your server, for example with davical
serverURL='https://cal.example.org/caldav.php/'
# sometimes you may have to edit the following part
serverFullURL=${serverURL}/${user}/${cardsCollection}/
</pre><p>Il est laissé le soin au lecteur de deviner ce qu’il faut modifier et se référer à la documentation de son serveur CardDAV pour connaître les URL.</p><p>Une fois fait, il suffit de lancer le script avec la commande suivante et d’attendre :</p><pre>bash cardimport.sh Contacts.vcf</pre><p>En remplaçant, bien évidemment, le fichier Contacts.vcf par le nom de votre fichier qui contient les vCards.</p><p>À noter que ce script ne fonctionne que pour les machines de type Unix ayant <em>curl</em>, <em>sed</em>, <em>grep</em> et <em>bash</em> d’installés (ce qui devrait couvrir toutes les distributions Linux, et fonctionne probablement aussi avec <em>cygwin</em>).</p>