LibreOffice Calc requêter une base MySQL

On va voir dans ce tutoriel comment charger dans le tableur de LibreOffice des données provenant d'une base MySQL. Le PC client fonctionne sous une version Kubuntu et le serveur de BDD sur Debian (mais ça n'a pas d'importance).

Commentez Donner une note à l'article (5).

Article lu   fois.

L'auteur

Liens sociaux

Viadeo Twitter Facebook Share on Google+   

I. Prérequis

  • Un serveur MySQL installé.
  • LibreOffice installé sur le poste client.

II. Permettre l'accès distant sur le serveur MySQL

Éditez le fichier /etc/mysql/my.cnf.

Afin de permettre les connexions depuis d'autres ordinateurs, modifiez la ligne bind-adress par celle-ci :

 
Sélectionnez
bind-address            = 0.0.0.0
 
Sélectionnez
#Redémarrez mysql
/etc/init.d/mysql restart
#puis connectez-vous à mysql
mysql -u root -p

Ajoutez un utilisateur ayant les droits depuis un poste distant (remplacez localhost par % dans la commande GRANT)

 
Sélectionnez
#pour un accès en lecture seulement :
GRANT SELECT ON votrebase.* TO 'user'@'%' IDENTIFIED BY 'votreMotDePasse';
#Si vous souhaitez un accès total à la base :
GRANT ALL ON votrebase.* TO 'user'@'%' IDENTIFIED BY 'votreMotDePasse';

Si nécessaire, ouvrez le pare-feu pour permettre les connexions MySQL (port 3306). Voici un exemple si votre Firewall est à base d'IPtables et que votre LAN est 192.168.0.* :

 
Sélectionnez
iptables -A INPUT -p tcp --destination-port 3306 -m iprange --src-range 192.168.0.1-192.168.0.254 -j ACCEPT

III. Sur le poste client

Installez le connecteur sur le client :

 
Sélectionnez
sudo apt-get install libreoffice-mysql-connector

Voilà, on a tout ce qu'il faut. L'application LibreOffice Base servira d'intermédiaire entre Calc et le serveur MySQL. Depuis un Microsoft Office, MS Query aurait servi d'intermédiaire, mais il est plus transparent que oooBase.

Ouvrez LibreOffice -> Nouveau document-base de données.

Dans l'assistant de base de données, choisissez « Se connecter à une base de données existante » et « Mysql » comme ci-dessous :

Image non disponible

« Connecter directement » (c'est plus simple) :

Image non disponible

Ma base s'appelle tinaderp. Adaptez en fonction de la vôtre, ainsi que l'IP du serveur :

Image non disponible

Puis l'utilisateur MySQL :

Image non disponible

À l'étape suivante, surtout cochez « Oui, je souhaite que l'assistant référence la base de données ». Ce sera beaucoup plus facile pour retrouver les données dans le tableur. Puis cliquez sur terminer.

Il vous demande d'enregistrer le fichier. Je vous conseille de donner au fichier le nom de votre base de données.

On arrive sur cette interface :

Image non disponible

III-A. Créer quelques requêtes

Mon objectif ici est de pouvoir faire des statistiques. La BDD étant relativement brute. Si j'importe la base de données directement dans un tableur, ça va être pénible (ceux qui ont fait déjà des formules de recherches matricielles dans un tableur me comprendront). Je vais donc créer les requêtes SQL qui me feront les sous-totaux, les décomptages tout en liant les tables afin d'avoir les intitulés et pas les clés. Bref, je veux avoir les tableaux que je n'aurai qu'à sélectionner pour établir les graphiques. Si ce n'est pas votre cas, que le contenu des tables de façon brute vous suffit. Passez directement au chapitre suivant.

Requêtes -> Créer une requête en mode SQL :

Image non disponible

Testez la requête puis enregistrez-la. Donnez-lui un nom, le mien serait, par exemple : sommeParTypeParMois. Enregistrez votre fichier de base de données.

III-B. Dans le tableur Calc

Données -> Table de pilote -> Créer

Image non disponible

Source de données enregistrée sous LibreOffice :

Image non disponible
  • sélectionnez votre base (qui a le nom du fichier base) ;
  • le type : feuille si vous voulez une table brute, ou requête si vous voulez récupérer les données d'une requête :
Image non disponible

Organisez comme il faut les colonnes, les lignes et les données en faisant du glisser-déposer :

Image non disponible

IV. Enjoy !

Image non disponible

V. Remerciements

Merci à Gnieark de nous permettre de publier son tutoriel.

Merci à jacques_jean et ClaudeLeloup pour la relecture orthographique.

Vous avez aimé ce tutoriel ? Alors partagez-le en cliquant sur les boutons suivants : Viadeo Twitter Facebook Share on Google+   

  

Copyright © 2014 Gnieark. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.