Bonjour,
Ms access est la solution qui me vient à l’esprit quand je dois faire une base de données que je serais seul à utiliser. Parmi les points forts, on peut citer :
- Transportable
- On peut l’ouvrir sur quasiment tous les ordinateurs Windows
- Facile à utiliser
On peut faire tout ce que l’on veut quand on a appris à contourner certains bugs.
Malheureusement, depuis plusieurs années, je suis sous Linux et je m’interdit d’utiliser wine car il pollue les fonctionnalités natives de l’environnement de travail.
Il reste les machines virtuelles quand je dois utiliser Windows. C’est stable, rapide et on peut transférer les fichiers entre la machine hôte et la machine invitée.
Mais, c’est une solution très gourmande en RAM et HDD. C’est pourquoi, j’ai cherché une alternative.
Mes exigences pour un remplaçant sont assez faibles :
- Gérer les tables
- Gérer les vues
- Faire des formulaires
- Faire des états
- Intégrer un langage de script
- Comprend SQL
C’est tout. Il ne doit pas être compatible avec quelqu’autre logiciel, ni importer ou exporter dans un format particulier.
Libreoffice base est le candidat idéal. Il a tout ce qu’il faut.
Les premiers essais sont concluants et je décide de faire ma base de données avec.
Au bout de quelques jours, la base de données est corrompue, le fichier ne veut pas s’ouvrir. Heureusement que je sauve tous mes travaux personnels dans un repository svn. Un petit retour en arrière, on réinsert les données et ça roule.
Rebelotte, quelques jours après, nouvelle corruption. C’est la cata, libreoffice correspond à mes besoins mais son système de stockage est trop fragile.
Qu’est ce qui a fait ses preuves en matière de base de données ? Mysql.
Je décide donc de chercher un moyen d’avoir un front end libreoffice pour sa simplicité d’utilisation et son esthétique et de l’utiliser par dessus une base de données mysql pour la robustesse.
Voici donc la procédure
- installer le connecteur mysql
sudo apt-get install libreoffice-mysql-connector
- choisir le driver mysql
- choisir connecter directement
Les autres options ne sont pas aussi facile à mettre en place.
Résultat, j’ai un front end plaisant avec un back end en béton.
Mais cette solution n’est pas pour moi :
- On perd la transportabilité
On ne peut plus enregistrer sa bdd sur clé Usb et l’ouvrir ailleurs, faire une exportation puis une importation mysql n’est pas idéal. - On perd la simplicité
Il faut installer un paquet, installer un serveur de base de données, créer une base de données mysql pour chaque projet. - On perd l’universalité
Ce n’est pas important pour moi, mais, on ne pas se dire qu’on a 90% de chances de trouver libreoffice + mysql sur un pc. - Il faut insérer le mot de passe à chaque ouverture du fichier
Il y a surement moyen de l’enregistrer mais ce n’est pas directement avec une case à cocher lors de la création du projet. - On perd l’utilisation concurrente
Mysql est fait pour une utilisation via une interface web et accepte une utilisation simultanée sur plusieurs postes. C’est un avantage qu’on ne gagne pas parce qu’on est limité par l’interface mono-utilisateur de libreoffice. - On ne gagne pas en stabilité
Les fichiers ne sont plus corrompus mais ça plante trop souvent. Et ce n’est pas à cause du fichier qui grossit, vu qu’on le décharge du stockage des données.
Même si c’est une piste que j’ai pris plaisir à investiguer, je ne retiens pas libreoffice base, seul ou couplé avec un back end, comme une solution viable quel que soit le projet. En attendant d’avoir mieux, je vais créer une interface web + mysql pour tous mes projets perso.