Documentation
This document in English.
L’utilisation de ce logiciel vous soumet à nos Conditions d’utilisation.
Introduction:
SQLiteOOo 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 permet d’utiliser la base de données SQLite JDBC en mode intégré, rendant la base de donnée portable (un seul fichier odb).
Elle permet de profiter des propriétés ACID de la base de données SQLite sous jancente.
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 SQLiteOOo utilise l’extension jdbcDriverOOo pour fonctionner.
Elle doit donc répondre aux prérequis de l’extension jdbcDriverOOo.
De plus, en raison du dysfonctionnement #156471 et suivant le PR#154989, l’extension SQLiteOOo nécessite LibreOffice version 24.2.x minimum pour fonctionner.
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 jdbcDriverOOo.oxt 
Cette extension est nécessaire pour utiliser SQLite version 3.42.0.0 avec toutes ses fonctionnalités.
-
Installer l’extension SQLiteOOo.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.SQLiteOOo.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 -> Pilote SQLite intégré -> Options de journalisation.
La journalisation SQLiteLogger
doit d’abord être activée, puis LibreOffice redémarré pour obtenir le message d’erreur dans le journal.
N’oubliez pas au préalable de mettre à jour la version du JRE ou JDK Java installée sur votre ordinateur, cette extension utilise la nouvelle version de jdbcDriverOOo qui nécessite Java version 17 ou ultérieure au lieu de Java 11 auparavant.
Utilisation:
Dans LibreOffice / OpenOffice aller à: Fichier -> Nouveau -> Base de données…:

A l’étape: Sélectionner une base de données:
- selectionner: Créer une nouvelle base de données
- Dans: Base de données intégrée: choisir: Pilote SQLite intégré
- cliquer sur le bouton: Suivant

A l’étape: Enregistrer et continuer:
- ajuster les paramètres selon vos besoins…
- cliquer sur le bouton: Terminer

Maintenant à vous d’en profiter…
SQLiteOOo est un service com.sun.star.sdbc.Driver UNO écrit en Python.
Il s’agit d’une surcouche à l’extension jdbcDriverOOo permettant de stocker la base de données SQLite dans un fichier odb (qui est, en fait, un fichier compressé).
Son fonctionnement est assez basique, à savoir:
- Lors d’une demande de connexion, plusieurs choses sont faites:
- Lors de la fermeture ou du changement de nom (Enregistrer sous) du fichier odb, si la connexion a réussi, le DocumentHandler copie tous les fichiers présents dans le sous-répertoire dans le (nouveau) répertoire database du fichier odb (zip), puis supprime le sous-répertoire.
Le but principal de ce mode de fonctionnement est de profiter des caractéristiques ACID de la base de données sous-jacente en cas de fermeture anormale de LibreOffice.
En contre partie, la fonction: fichier -> Sauvegarder n’a aucun effet sur la base de données sous jacente. Seul la fermeture du fichier odb ou son enregistrement sous un nom different (Fichier -> Enregistrer sous) effectura la sauvegarde de la base de donnée dans le fichier odb.
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 SQLiteOOo avec l’aide d’Apache Ant, vous devez:
- Installer le SDK Java version 8 ou supérieure.
- Installer Apache Ant version 1.10.0 ou supérieure.
- Installer LibreOffice et son SDK version 7.x ou supérieure.
- Cloner le dépôt SQLiteOOo sur GitHub dans un dossier.
- Depuis ce dossier, accédez au répertoire:
source/SQLiteOOo/
- 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:
Je vous encourage en cas de problème 
de créer un dysfonctionnement
J’essaierai de le résoudre 
Historique:
Ce qui a été fait pour la version 1.0.0:
Ce qui a été fait pour la version 1.0.1:
- Résolution du dysfonctionnement 156511 survenant lors de l’utilisation de l’interface com.sun.star.embed.XStorage. Le contournement consiste à utiliser la méthode copyElementTo() au lieu de moveElementTo(). Les versions de LibreOffice 7.6.x et supérieures deviennent utilisables.
Ce qui a été fait pour la version 1.0.2:
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:
Ce qui a été fait pour la version 1.1.2:
Ce qui a été fait pour la version 1.1.3:
- Prise en charge de la dernière version de jdbcDriverOOo 1.1.4 et de SQLite-jdbc-3.45.1.6-SNAPSHOT.jar.
- Maintenant, pour un bon fonctionnement dans Base sous : Édition -> Base de données -> Paramètres avancés… -> Requête des valeurs générées doit être laissée vide. Si vous souhaitez utiliser un fichier odb créé avec une version précédente de SQLiteOOo vous devez modifier ce paramètre manuellement.
- Normalement les prochaines versions de SQLiteOOo devraient pouvoir être mises à jour dans la liste des extensions installées sous LibreOffice: Outils -> Gestionnaire des extensions… -> Vérifier les mises à jour.
Ce qui a été fait pour la version 1.1.4:
- Prise en charge de la dernière version de jdbcDriverOOo 1.3.1.
- Lors de l’enregistrement sous un nom différent, la base de données si ouverte sera fermée correctement.
Ce qui a été fait pour la version 1.1.5:
- Utilisation du nouveau format de données implémenté dans la version 1.1.4. Par conséquent, si vous devez ouvrir des fichiers odb créés avec une version inférieure à 1.1.4, vous devez d’abord les ouvrir avec la version 1.1.4, sinon une erreur sera générée.
Ce qui a été fait pour la version 1.2.0:
- Cette version est basée sur la correction #154989 disponible depuis LibreOffice 24.2.x. Elle peut donc fonctionner avec les autres extensions proposant des services de bases de données intégrées.
- Désormais, SQLiteOOo nécessite LibreOffice 24.2.x minimum et se chargera pour l’url:
sdbc:embedded:sqlite
.
Ce qui a été fait pour la version 1.2.1:
- Mise à jour du paquet Python packaging vers la version 24.1.
- Mise à jour du paquet Python setuptools vers la version 72.1.0.
- L’extension vous demandera d’installer l’extensions jdbcDriverOOo en version 1.4.2 minimum.
Ce qui a été fait pour la version 1.2.2:
- Correction du problème n°2 qui semble être une régression liée à la sortie de JaybirdOOo. Merci à madalienist de l’avoir signalé.
- Mise à jour du paquet Python setuptools vers la version 73.0.1.
- Les options de l’extension sont désormais accessibles via: Outils -> Options -> LibreOffice Base -> Pilote SQLite intégré
- La journalisation accessible dans les options de l’extension s’affiche désormais correctement sous Windows.
- Les modifications apportées aux options de l’extension, qui nécessitent un redémarrage de LibreOffice, entraîneront l’affichage d’un message.
- Dans les options de l’extension il est possible de définir les options: Afficher les tables système, Utiliser les signets et Forcer le mode SQL qui seront spécifiques à ce pilote.
- Nécessite la dernière version de jdbcDriverOOo 1.4.4.
- Support de LibreOffice version 24.8.x.
Ce qui a été fait pour la version 1.2.3:
- L’extension vous demandera d’installer l’extensions jdbcDriverOOo en version 1.4.6 minimum.
- Modification des options de l’extension accessibles via : Outils -> Options -> LibreOffice Base -> Pilote SQLite intégré afin de respecter la nouvelle charte graphique.
Ce qui a été fait pour la version 1.3.0:
- Mise à jour du paquet Python packaging vers la version 25.0.
- Mise à jour du paquet Python setuptools vers la version 75.3.2.
- 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.
- Implémentation de PEP 570 dans la journalisation pour prendre en charge les arguments multiples uniques.
- Il est désormais possible de créer le fichier oxt de l’extension SQLiteOOo 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.
- 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.
- Nécessite l’extension jdbcDriverOOo en version 1.5.0 minimum.
Que reste-t-il à faire pour la version 1.3.0: