Nous allons voir comment permettre au logiciel de bureautique OpenOffice.org, de se connecter très facilement avec une base de données MySQL. Pourquoi faire ? Pour utiliser et exploiter MySQL, la base de données maintenant universellement connue et reconnue, dans vos applications Office Write, Office Calc et bien entendu avec Office Base qui vous permettra d'insérer vos données à partir de formulaires simples et conviviaux.

Alors, je vous préviens je ne suis pas administrateur de base de données et il y a encore 24h je ne savais pas du tout comment cela pouvais se faire. Seulement voilà, un ami (sous windows) ma demandé de l'aider à se connecter à sa base de données MySQL à partir d'OpenOffice.org. Je me dis "Cool ! Quelqu'un qui utilise du libre" sous Windows, mais bon c'est mieux que rien. Je googolise (du verbe googoliser) sur le sujet, et il semble que je doive utiliser des connecteurs JDBC ou ODBC. Hmm... connecteurs, ODBC, JDBC, "Qu'est ce que c'est que ce charabia" ?

A cet instant, je comprends juste que JDBC "ça utilise java" et que Java je connais un peu car je trouve que c'est une excellente technologie... Bon ok je ne vais par raconter ma vie dans ce billet non plus : j'ai du passer trop de trop de temps la bouche ouverte devant une station Sun :-D. Tout ça pour dire que j'ai fini par me connecter à cette fichu base sous Windows, et que par curiosité j'ai voulu faire la même chose sous mon Ubuntu chérie.

Et là, je me connecte sur le Wiki Ubuntu-fr et je tape "JDBC" dans le champ recherche et que tout le monde à utilisé au moins une fois dans sa vie. Vous l'utilisez hein j'espère ?! ;-) Malheureusement ce cher Wiki me sort un laconique "Pas de réponse.". Diable ! C'est un scoop : j'ai mis la honte à la base de connaissances de la communauté Ubuntu. :-D.

Je n'en démords pas, aventurier comme je suis, je décide ne pas utiliser Google pour une fois et d'utiliser :

apt-cache search jdbc | grep java

Et là je trouve : libmysql-java - Java database (JDBC) driver for MySQL
(Ne faites pas comme moi hein, je raconte juste comme j'en suis arrivé à écrire ce billet !)

Le tuto commence donc à partir de maintenant (bien entendu MySql doit avoir été déja installé).

Prérequis :

  • Une base MySQL installé et configuré avec au moins une base dessus.
  • Une version récente de Java, elle se trouve dans les dépots Ubuntu.
  • OpenOffice.org (installé par défaut)

Avant tout, tapez ceci dans un terminal :

sudo apt-get install libmysql-java

Voilà ! Pour info, cette installation copie tout simplement un fichier nommé com.mysql.jdbc.Driver.jar dans votre /home/repertoire_utilisateur/.java/deployment/ext. Un truc qu'on aurais pu faire à la main avec un simple copier-coller, mais la encore Ubuntu démontre sa facilité déconcertante et son accessiblité au grand public.

Ensuite il est important de redémarrer votre session, je ne sais pas vraiment pourquoi mais si on ne le fais pas, cela ne semble pas fonctionner. Démarrons OpenOffice Base dans Applications > Bureautique > Base de données OpenOffice.org, ce qui démarre l'assistant de configuration de base de données, configurez d'après les captures d'écrans suivantes (cliquez sur le bouton "Suivant" entre chaque étapes) :

Etape 1 :

Etape 2 :

Etape 3 : Cliquer sur "Tester la classe" avant de continuer:


Etape 4 : Test du connecteur JDBC

Tout va bien, fermez cette petite fenêtre puis passer à l'étape 5 !

/!\ Si vous obtenez cette erreur :

Cela signifie qu'OpenOffice n'arrive probablement pas à détecter le connecteur JDBC. Avez-vous pensé à relancer votre session ?

Etape 5 :

Etape 6 :

La connexion a été établie avec le serveur MySQL, vous êtes un winner \o/. Vous pouvez maintenant cliquer sur le bouton "Terminer" pour commencer à exploiter votre base de données MySQL sous OOo.

Je vais probablement écrire une suite à ce billet (d'ou le titre à la StarWars), tout dépendra de vos réactions. En attendant, si vous rencontrez des erreurs, n'hésitez pas à les décrire dans vos commentaires. A bientôt donc. ;-)