Documentation
This document in English.
L’utilisation de ce logiciel vous soumet à nos Conditions d’utilisation.
Introduction:
JaybirdOOo 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 Firebird 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 Firebird 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 JaybirdOOo utilise l’extension jdbcDriverOOo pour fonctionner.
Elle doit donc répondre aux prérequis de l’extension jdbcDriverOOo.
Elle nécessite que l’extension jdbcDriverOOo soit configurée pour charger les pilotes JDBC dans le ClassPath de Java comme c’est le cas par défaut.
Le pilote Java sous jacent Jaybird utilise pour son fonctionnement en mode intégré l’archive Java JaybirdEmbedded qui permet d’émuler la présence d’un Serveur Firebird 5.0.3 pour les architectures Windows et Linux en x86 64 bits.
Pour toutes autres architectures vous devez installer le Serveur Firebird 5.x correspondant à votre architecture.
De plus, en raison du dysfonctionnement #156471 et suivant le PR#154989, l’extension JaybirdOOo 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 Firebird avec toutes ses fonctionnalités.
-
Installer l’extension JaybirdOOo.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.JaybirdOOo.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 Jaybird intégré -> Options de journalisation.
La journalisation JaybirdLogger 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 -> 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 Jaybird 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…
JaybirdOOo 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 Firebird 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 JaybirdOOo 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 JaybirdOOo sur GitHub dans un dossier.
- Depuis ce dossier, accédez au répertoire:
source/JaybirdOOo/
- 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 24.2.1.2 (x86_64)- Windows 10
-
LibreOffice 24.2.1.2 - Lubuntu 22.04
-
LibreOffice 24.8.0.3 (X86_64) - Windows 10(x64) - Python version 3.9.19 (sous Lubuntu 22.04 / VirtualBox 6.1.38)
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:
- Tout d’abord je tiens à remercier rotteveel pour l’amélioration #629 qui a permis de publier cette extension.
- Cette extension 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.
- JaybirdOOo nécessite LibreOffice 24.2.x et Java 17 au minimum. Il se chargera pour l’url:
sdbc:embedded:jaybird.
Ce qui a été fait pour la version 1.0.1:
- Support de la nouvelle version 1.4.0 de jdbcDriverOOo.
- L’utilisation de fichiers odb créés avec une version précédente de JaybirdOOo, nécessite de modifier le paramètre :
Requête des valeurs générées accessible par le menu : Edition -> Base de données -> Paramètres avancés… -> Valeurs générées par la valeur : SELECT * FROM %s WHERE %s.
Ce qui a été fait pour la version 1.0.2:
- 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.0.3:
- Mise à jour du paquet Python setuptools vers la version 73.0.1.
- La journalisation accessible dans les options de l’extension s’affiche désormais correctement sous Windows.
- Les options de l’extension sont désormais accessibles via: Outils -> Options… -> LibreOffice Base -> Pilote Jaybird intégré
- 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.0.4:
- Nécessite la dernière version de jdbcDriverOOo 1.4.4.
- 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.
- Afin de ne pas entrer en conflit avec le pilote Firebird intégré à LibreOffice, le pilote a été renommé en Pilote Jaybird intégré.
Ce qui a été fait pour la version 1.0.5:
- 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 Jaybird intégré afin de respecter la nouvelle charte graphique.
Ce qui a été fait pour la version 1.1.0:
- 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.
- Il est désormais possible de créer le fichier oxt de l’extension JaybirdOOo 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.
Ce qui a été fait pour la version 1.1.1:
- De nombreuses corrections qui empêchaient le bon fonctionnement ont été apportées au pilote écrit en Python et enveloppant le pilote fourni par jdbcDriverOOo.
- Modification des prérequis pour indiquer clairement que le serveur Firebird doit être installé pour que l’extension JaybirdOoo fonctionne. Malheureusement, je ne m’en suis rendu compte que tardivement… :-(
- Nécessite l’extension jdbcDriverOOo en version 1.5.1 minimum.
Ce qui a été fait pour la version 1.1.2:
- Les binaires du Serveur Firebird 5.0.3 sont désormais fournis par l’extension jdbcDriverOOo via l’archive
JaybirdEmbedded.jar pour Windows et Linux dans l’architecture x86 64 bits.
- Nécessite l’extension jdbcDriverOOo en version 1.5.4 minimum.
Ce qui a été fait pour la version 1.1.3:
- Nécessite l’extension jdbcDriverOOo en version 1.5.7 minimum.
Ce qui a été fait pour la version 1.2.0:
- 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.1 minimum.
- A été testé sous LibreOfficeDev 26.2.
Que reste-t-il à faire pour la version 1.2.0: