Lors de nos développements en local, nous utilisons généralement PHPMyAdmin ou l’outil embarqué de PHPStorm, car ils sont simples d’utilisation, rapides et complets. Mais quand il s’agit de manipuler des bases de préproduction et production, c’est un peu plus délicat, car il n’est pas recommandé d’installer un PHPMyAdmin sur ces environnements pour une question de sécurité. Mais du coup comment faire ? Faire du SQL en CLI, connecté en SSH ? Non merci, pas très pratique.
Pour remédier à ce problème, nous avons fait simple, nous avons pris l’un des plus connus et réputés disponible sur notre environnement qu’est Linux : MySQL Workbench.
MySQL Workbench se prend vite en main, on découvre rapidement qu’il est relativement puissant et que les fonctionnalités sont nombreuses :
-
Gestion de multiples connexions base de données, de manière sécurisée via SSH
-
Export et Import de données simple et efficace
-
Possibilité d’éditer/supprimer/ajouter des lignes directement via l’interface et commit les changements (plus communément appelé “inline edit”)
-
Analyse de la base (nombres de requêtes en cours, type de requête …)
-
Garde en mémoire les onglets de requêtes
-
Et plein d’autres petites fonctionnalités : https://www.mysql.com/fr/products/workbench/features.html
Selon nous, l’un de ses plus grands points forts reste son ergonomie. En effet, on peut facilement gérer plusieurs connexions et onglets de requêtes en même temps grâce à son interface légère :
Mais alors, pourquoi chercher des alternatives ? Tout simplement parce que tous ces points positifs sont gâchés par des freezes récurrents et de nombreux crashs qui, au mieux, concernent juste l’application elle-même mais qui peuvent aussi toucher tout le PC. De plus, il arrive que des requêtes toutes simples prennent réellement 3 minutes à s’exécuter. Tout ceci, quand il y a besoin d’agir en urgence sur une base de données de production, n’est pas envisageable. Cela peut passer un temps, mais au bout d’un moment, ça devient compliqué.
Pour remédier à cela, nous avons décidé de nous pencher sur d’autres solutions, en voici trois qui nous ont fait de l’œil.
Ces trois alternatives présentent des avantages et des inconvénients par rapport à MySQL Workbench que nous allons détailler ici :
Beekeeper Studio
Les plus :
-
Application avec une interface légère et simple
-
Simple d'utilisation
-
Relativement ergonomique
-
Historique et Favoris de requête bien pratique
-
Export de données simple et efficace, sans forcément être très poussé
Les moins :
-
Beaucoup moins de fonctionnalités que Workbench
-
Pas d'inline edit (pour nous ça suffit à ne pas l'utiliser en remplacement de Workbench)
-
Pas de LIMIT par défaut donc il faudra penser au LIMIT dans toutes vos requêtes si vous ne voulez pas attendre trop longtemps et trop solliciter la base pour rien
-
Pas d'auto-complete pour les colonnes, tant dans les SELECT que les WHERE
En résumé : cette application n’est vraiment pas un remplaçant à Workbench à cause de son manque de fonctionnalités, mais il a le mérite d’être intéressant pour ceux qui aiment tout faire à la main, à la dure, sans pour autant passer par le seul terminal.
DBeaver Community
Les plus :
-
Simple d'utilisation
-
Inline edit
-
Auto-complete agréable (ajout auto des alias, bonne gestion des colonnes et tables)
-
Switch entre les bases simple
-
Import / Export, mais pas très intuitif
-
LIMIT par défaut avec pagination très pratique
-
Réalisation de MCD (Modèle Conceptuel de Données)
Les moins :
-
Interface assez vieillotte
-
Ergonomie améliorable, mais nous pensons qu'avec le temps on peut s'y faire
En résumé : Probablement la meilleure alternative gratuite à Workbench, répandue et réputée. Pour les problèmes d'ergonomie cela devrait aller avec le temps et l’habitude.
DataGrip
Les plus :
-
Inline Edit
-
Un auto-complete (proposition d'alias, quand vous faites un JOIN, il vous propose les ON possibles en fonction des colonnes et des clés étrangères, c'est vraiment très pratique)
-
Les lives template comme PHPStorm : Un vrai gain de productivité
-
Export et import de données intuitif, simple et complet
-
LIMIT par défaut avec pagination très pratique
-
Réalisation de MCD
Les moins :
-
Ergonomie pas optimale au premier abord mais si on est habitué à PHPStorm (ou autres outils JetBrains), on est pas trop perdu et les multiples paramètres permettent d'avoir une interface tout de même sympathique.
-
Payant avec 30 jours d'essai
En résumé : selon nous, c’est la meilleure alternative, mais payante. Étant habitué à PHPStorm, qui lui-même intègre des fonctionnalités de DataGrip, la prise en main a été rapide. Il apporte un vrai gain de productivité et d’efficacité si l’on est amené à souvent travailler sur les données en base.
Autre point à prendre en compte : ces 3 solutions gèrent plusieurs SGBD (MariaDB, Postgre, SQLite…)
Pour finir sur ces alternatives, nous pouvons dire que DBeaver semble la meilleure option gratuite et que DataGrip est LA meilleure option payante, du moins sur notre environnement de travail qu’est Linux.
Par ailleurs, pour nous, aucune d’elles n’égale l’ergonomie de Workbench (mais au moins elles ne crashent pas et ne font pas crasher vos PC )
Et nous regrettons qu'aucune des trois ne propose la possibilité de bien séparer les onglets par base/connexion aussi bien que Workbench.
Il y a tant de choses à dire sur ces alternatives qu’elles mériteraient chacune leur propre article. Une fois que nous les aurons utilisées plus en profondeur, est-ce que cela vous intéresserait ?
À vous, après lecture de vous en faire vos propres avis. Nous vous attendons en commentaires Si vous souhaitez tester par vous-même, ils sont tous les 3 disponibles sur le snapcraft store :
-
Beekeeper Studio : https://snapcraft.io/beekeeper-studio
-
DBeaver Community : https://snapcraft.io/dbeaver-ce
-
DataGrip : https://snapcraft.io/datagrip
Et vous ? Qu’avez-vous l’habitude d’utiliser et surtout pour quelles raisons ?