Documentation
This document in English.
L’utilisation de ce logiciel vous soumet à nos Conditions d’utilisation et à notre Politique de protection des données.
Introduction:
vCardOOo fait partie d’une Suite d’extensions LibreOffice et/ou OpenOffice permettant de vous offrir des services inovants dans ces suites bureautique.
Cette extension vous donne l’accès, dans LibreOffice, à vos contacts présent sur un serveur CardDAV (ou vCard Extensions to WebDAV).
Elle utilise la RFC 6352 pour synchroniser votre carnet d’adresses distant dans une base de données locale HsqlDB 2.7.4.
Cette extension est vu par LibreOffice comme un pilote de base de données répondant à l’URL: sdbc:address:vcard:*.
Etant un logiciel libre je vous encourage:
Bref, à participer au developpement de cette extension.
Car c’est ensemble que nous pouvons rendre le Logiciel Libre plus intelligent.
Prérequis:
L’extension vCardOOo utilise l’extension OAuth2OOo pour fonctionner.
Elle doit donc répondre aux prérequis de l’extension OAuth2OOo.
L’extension vCardOOo utilise l’extension jdbcDriverOOo pour fonctionner.
Elle doit donc répondre aux prérequis de l’extension jdbcDriverOOo.
De plus, vCardOOo nécessite que l’extension jdbcDriverOOo soit configurée pour fournir com.sun.star.sdb comme niveau d’API, qui est la configuration par défaut.
Installation:
Il semble important que le fichier n’ait pas été renommé lors de son téléchargement.
Si nécessaire, renommez-le avant de l’installer.
-
Installer l’extension OAuth2OOo.oxt 
Vous devez installer cette extension, si elle n’est pas déjà installée.
-
Installer l’extension jdbcDriverOOo.oxt 
Vous devez installer cette extension, si elle n’est pas déjà installée.
-
Installer l’extension vCardOOo.oxt 
Redémarrez LibreOffice après l’installation.
Attention, redémarrer LibreOffice peut ne pas suffire.
-
Sous Windows pour vous assurer que LibreOffice redémarre correctement, utilisez le Gestionnaire de tâche de Windows pour vérifier qu’aucun service LibreOffice n’est visible après l’arrêt de LibreOffice (et tuez-le si ç’est le cas).
-
Sous Linux ou macOS vous pouvez également vous assurer que LibreOffice redémarre correctement, en le lançant depuis un terminal avec la commande
soffice et en utilisant la combinaison de touches Ctrl + C si après l’arrêt de LibreOffice, le terminal n’est pas actif (pas d’invité de commande).
Après avoir redémarré LibreOffice, vous pouvez vous assurer que l’extension et son pilote sont correctement installés en vérifiant que le pilote io.github.prrvchr.vCardOOo.Driver est répertorié dans le Pool de Connexions, accessible via le menu: Outils -> Options -> LibreOffice Base -> Connexions. Il n’est pas nécessaire d’activer le pool de connexions.
Si le pilote n’est pas répertorié, la raison de l’échec du chargement du pilote peut être trouvée dans la journalisation de l’extension. Cette journalisation est accessible via le menu: Outils -> Options -> LibreOffice Base -> Contacts CardDAV -> Options de journalisation.
La journalisation vCardLog doit d’abord être activée, puis LibreOffice redémarré pour obtenir le message d’erreur dans le journal.
Utilisation:
Dans LibreOffice / OpenOffice aller à: Fichier -> Assistants -> Source de données des adresses…

L’Assistant source de données du carnet d’adresses s’ouvre.
À l’étape: 1.Type de carnet d’adresses:
- Sélectionner: Autre source de données externes.
- Cliquez sur le bouton: Suivant.

À l’étape: 2.Paramètres de Connexion:
- Cliquez sur le bouton: Paramètres.

Un nouvel assistant s’ouvre. Propriétés de la source de données.
A l’étape: 1.Propriétés avancées.
Dans Type de base de données:
- Sélectionner: Contacts vCard.
- Cliquez sur le bouton: Suivant.

A l’étape: 2.Paramètres de connexion.
Dans Général: Entrer ici la chaîne de connexion spécifique au SGDB / pilote.
- Mettre l’url de votre instance Nextcloud (ie: nuage.distrilab.fr).
Dans Authentification de l’utilisateur: Nom d’utilisateur:
- Mettre votre nom d’utilisateur.
- Cochez la case: Mot de passe requis
Puis:
- Cliquez sur le bouton: Tester la connexion.

Dans Authentification requise: Mot de passe:
- Mettre votre mot de passe.

Normalement vous devez voir s’afficher: Test de connexion: Connexion établie.

Si la connexion a été etablie, vous pouvez terminer cet assistant avec le bouton Terminer.

A l’étape: 3.Sélection de table.
Si votre source de données comporte plusieurs tables, il vous sera demandé de sélectionner la table principale.
Dans ce cas sélectionnez la table: Tous mes contacts. Si nécessaire et avant toute connexion il est possible de renommer le nom de la table principale dans: Outils -> Options -> Internet -> vCardOOo -> Nom de la table principale.
A l’étape: 4.Assignation de champ.
Si nécessaire il est possible de renommer les noms des colonnes de la source de données à l’aide du bouton: Assignation de champ.
Veuillez poursuivre cet assistant par le bouton: Suivant.

A l’étape: 5.Titre de la source de données.
Il faut créer un fichier odb. Pour cela vous devez:
-
Décocher la case: Intégrer cette définition du carnet d’adresses dans le document actuel.
- Nommer le fichier odb dans le champ: Emplacement.
Il faut également rendre accessible ce fichier odb. Pour cela vous devez:
-
Cocher la case: Rendre ce carnet d’adresses accessible à tous les modules de LibreOffice
- Nommer le carnet d’adresses dans le champ: Nom du carnet d’adresses.

Maintenant à vous d’en profiter…
Normalement, l’extension est créée avec Eclipse pour Java et LOEclipse. Pour contourner Eclipse, j’ai modifié LOEclipse afin de permettre la création de l’extension avec Apache Ant.
Pour créer l’extension vCardOOo avec l’aide d’Apache Ant, vous devez:
- Installer le SDK Java version 17 ou supérieure.
- Installer Apache Ant version 1.10.0 ou supérieure.
- Installer [LibreOffice et son SDK][43] version 7.x ou supérieure.
- Cloner le dépôt vCardOOo sur GitHub dans un dossier.
- Depuis ce dossier, accédez au répertoire:
source/vCardOOo/
- Dans ce répertoire, modifiez le fichier
build.properties afin que les propriétés office.install.dir et sdk.dir pointent vers les dossiers d’installation de LibreOffice et de son SDK, respectivement.
- Lancez la création de l’archive avec la commande:
ant
- Vous trouverez l’archive générée dans le sous-dossier:
dist/
A été testé avec:
-
LibreOffice 7.3.7.2 - Lubuntu 22.04 - Python version 3.10.12 - OpenJDK-11-JRE (amd64)
-
LibreOffice 7.5.4.2(x86) - Windows 10 - Python version 3.8.16 - Adoptium JDK Hotspot 11.0.19 (under Lubuntu 22.04 / VirtualBox 6.1.38)
-
LibreOffice 7.4.3.2(x64) - Windows 10(x64) - Python version 3.8.15 - Adoptium JDK Hotspot 11.0.17 (x64) (under Lubuntu 22.04 / VirtualBox 6.1.38)
-
LibreOffice 24.8.0.3 (X86_64) - Windows 10(x64) - Python version 3.9.19 (sous Lubuntu 22.04 / VirtualBox 6.1.38)
-
Ne fonctionne pas avec OpenOffice sous Windows voir dysfonctionnement 128569. N’ayant aucune solution, je vous encourrage d’installer LibreOffice.
Je vous encourage en cas de problème 
de créer un dysfonctionnement
J’essaierai de le résoudre 
Historique:
Introduction:
Cette extension a été écrite afin de rendre utilisables dans un logiciel libre (LibreOffice ou OpenOffice) vos données personnelles (vos vCard) stockées sur un serveur Nextcloud.
Avec l’extension eMailerOOo, elle peut être la source de données pour des publipostages par courriel (email), à vos correspondants (vos vCard) provenant du serveur Nextcloud.
Elle vous donnera accès à un système d’information que seules les grandes entreprises sont capables, aujourd’hui, de mettre en œuvre.
Ce qui a été fait pour la version 0.0.1:
-
Ecriture du service UNO com.sun.star.sdbc.Driver repondant à l’appel de l’url sdbc:address:vcard:*
La méthode connect(url, info) de ce pilote utilise le singleton DataSource pour renvoyer le service UNO com.sun.star.sdbc.Connection.
-
Ce singleton DataSource est responsable de:
- Lors de sa création, créer un thread Replicator pour suivre les modifications distantes sur les serveurs Nextcloud.
- Créer et de mettre en cache une interface User nécessaire pour:
- La création de la connexion à la base de données sous-jacente.
- La connexion du Replicator au serveurs Nextcloud.
- Démarrer le Replicator à chaque connexion à la base de données.
-
Après avoir récupéré les modifications distantes, le Replicator utilise pour analyser le contenu des vCards un service UNO com.sun.star.task.Job CardSync écrit en Java et utilisant la bibliothèque ez-vcard.
Ce qui a été fait pour la version 1.0.1:
Ce qui a été fait pour la version 1.0.2:
- Prise en charge de la version 1.2.0 de l’extension OAuth2OOo. Les versions précédentes ne fonctionneront pas avec l’extension OAuth2OOo 1.2.0 ou ultérieure.
Ce qui a été fait pour la version 1.0.3:
- Prise en charge de la version 1.2.1 de l’extension OAuth2OOo. Les versions précédentes ne fonctionneront pas avec l’extension OAuth2OOo 1.2.1 ou ultérieure.
Ce qui a été fait pour la version 1.1.0:
- Tous les paquets Python nécessaires à l’extension sont désormais enregistrés dans un fichier requirements.txt suivant la PEP 508.
- Désormais si vous n’êtes pas sous Windows alors les paquets Python nécessaires à l’extension peuvent être facilement installés avec la commande:
pip install requirements.txt
- Modification de la section Prérequis.
Ce qui a été fait pour la version 1.1.1:
- Utilisation du package Python
dateutil pour convertir les chaînes d’horodatage en UNO DateTime.
- De nombreuses autres corrections…
Ce qui a été fait pour la version 1.1.2:
Ce qui a été fait pour la version 1.1.3:
- La création de la base de données, lors de la première connexion, utilise l’API UNO proposée par l’extension jdbcDriverOOo depuis la version 1.3.2. Cela permet d’enregistrer toutes les informations nécessaires à la création de la base de données dans 9 tables texte qui sont en fait 9 fichiers csv.
- L’extension vous demandera d’installer les extensions OAuth2OOo et jdbcDriverOOo en version respectivement 1.3.4 et 1.3.2 minimum.
- De nombreuses corrections.
Ce qui a été fait pour la version 1.1.4:
Ce qui a été fait pour la version 1.1.5:
- Mise à jour du paquet Python setuptools vers la version 73.0.1.
- L’extension vous demandera d’installer les extensions OAuth2OOo et jdbcDriverOOo en version respectivement 1.3.7 et 1.4.5 minimum.
- Les modifications apportées aux options de l’extension, qui nécessitent un redémarrage de LibreOffice, entraîneront l’affichage d’un message.
- Support de LibreOffice version 24.8.x.
Ce qui a été fait pour la version 1.1.6:
- L’extension vous demandera d’installer les extensions OAuth2OOo et jdbcDriverOOo en version respectivement 1.3.8 et 1.4.6 minimum.
- Modification des options de l’extension accessibles via : Outils -> Options… -> Internet -> vCardOOo afin de respecter la nouvelle charte graphique.
Ce qui a été fait pour la version 1.2.0:
- L’extension vous demandera d’installer les extensions OAuth2OOo et jdbcDriverOOo en version respectivement 1.4.0 et 1.4.6 minimum.
- Il est possible de construire l’archive de l’extension (ie: le fichier oxt) avec l’utilitaire Apache Ant et le fichier script build.xml.
- L’extension refusera de s’installer sous OpenOffice quelle que soit la version ou LibreOffice autre que 7.x ou supérieur.
- Ajout des fichiers binaires nécessaires aux bibliothèques Python pour fonctionner sous Linux et LibreOffice 24.8 (ie: Python 3.9).
Ce qui a été fait pour la version 1.2.1:
Ce qui a été fait pour la version 1.3.0:
- Mise à jour du paquet Python packaging vers la version 25.0.
- Rétrogradage du paquet Python setuptools vers la version 75.3.2, afin d’assurer la prise en charge de Python 3.8.
- Déploiement de l’enregistrement passif permettant une installation beaucoup plus rapide des extensions et de différencier les services UNO enregistrés de ceux fournis par une implémentation Java ou Python. Cet enregistrement passif est assuré par l’extension LOEclipse via les PR#152 et PR#157.
- Modification de LOEclipse pour prendre en charge le nouveau format de fichier
rdb produit par l’utilitaire de compilation unoidl-write. Les fichiers idl ont été mis à jour pour prendre en charge les deux outils de compilation disponibles: idlc et unoidl-write.
- Compilation de toutes les archives Java contenues dans l’extension sous forme de modules et avec Java JDK version 17.
- Il est désormais possible de créer le fichier oxt de l’extension vCardOOo uniquement avec Apache Ant et une copie du dépôt GitHub. La section Comment créer l’extension a été ajoutée à la documentation.
- Pour faciliter la construction sous Ant, les deux bibliothèques Java ezvcard et vinnie utilisées par vCardOOo ont été intégrées dans Eclipse aux côtés de vCardOOo et sont désormais compilées sous forme de module Java. Une demande d’amélioration a été faite pour trouver une solution plus simple si possible.
- Implémentation de PEP 570 dans la journalisation pour prendre en charge les arguments multiples uniques.
- Toute erreur survenant lors du chargement du pilote sera consignée dans le journal de l’extension si la journalisation a été préalablement activé. Cela facilite l’identification des problèmes d’installation sous Windows.
- Pour garantir la création correcte de la base de données vCardOOo, il sera vérifié que l’extension jdbcDriverOOo a
com.sun.star.sdb comme niveau d’API.
- Nécessite l’extension jdbcDriverOOo en version 1.5.0 minimum.
- Nécessite l’extension OAuth2OOo en version 1.5.0 minimum.
Ce qui a été fait pour la version 1.3.1:
vCardOOo partage la bibliothèque Java UnoHelper.jar avec jdbcDriverOOo. La mise à jour de cette bibliothèque dans jdbcDriverOOo nécessite la même mise à jour dans vCardOOo.
- Nécessite l’extension jdbcDriverOOo en version 1.5.4 minimum.
- Nécessite l’extension OAuth2OOo en version 1.5.1 minimum.
Ce qui a été fait pour la version 1.3.2:
- Support de LibreOffice 25.2.x et 25.8.x sous Windows 64 bits.
- Nécessite l’extension OAuth2OOo en version 1.5.2 minimum.
Ce qui a été fait pour la version 1.4.0:
- Si un mot de passe incorrect est fourni lors de la connexion à la source de données, il n’est plus nécessaire de redémarrer LibreOffice pour tenter de se connecter à nouveau.
- Si l’extension jdbcDriverOOo fonctionne sans l’instrumentation Java, un message d’avertissement s’affichera dans les options de l’extension.
- Nécessite l’extension jdbcDriverOOo en version 1.6.0 minimum.
- Nécessite l’extension OAuth2OOo en version 1.6.0 minimum.
- A été testé sous LibreOfficeDev 26.2.
Ce qui a été fait pour la version 1.4.1:
- Toutes les fenêtres modales s’ouvrent désormais correctement en mode modal.
- Nécessite l’extension jdbcDriverOOo en version 1.6.1 minimum.
- Nécessite l’extension OAuth2OOo en version 1.6.1 minimum.
Que reste-t-il à faire pour la version 1.4.1:
-
Rendre le carnet d’adresses modifiable localement avec la réplication des modifications.
-
Ajouter de nouvelles langues pour l’internationalisation…
-
Tout ce qui est bienvenu…