Il y a presque un an, une dépêche annonçait le logiciel OpenDBViewer, sponsorisé par l’entreprise Jet1oeil et supervisé par moi‐même.
Il s’agit, comme son nom le suggère, d’un petit logiciel très léger écrit en C++/Qt pour lire et modifier les bases de données SQLite, MySQL et PostgreSQL. Le logiciel est sous licence GPL v3.
Avec la venue de stagiaires dans l’entreprise, nous avons pu développer de nouvelles fonctionnalités durant l’année afin d’encore améliorer son ergonomie.
Les fonctionnalités du logiciel sont :
- compatibilité avec les systèmes d’exploitation GNU/Linux, macOS et Windows ;
- compatibilité avec les bases de données SQLite, MySQL et PostgreSQL ;
- coloration syntaxique SQL dans les feuilles de travail SQL ;
- vue multiple des bases de données, tables et feuilles de travail.
Dont les nouveautés :
- chargement de bases de données lourdes ;
- chargement de bases SQLite via glisser‐déposer ;
- historique des dix dernières connexions ;
- modification de la base de données directement depuis la vue d’une table.
Nous utilisons surtout le logiciel avec SQLite sous GNU/Linux, alors nous sommes preneurs de retour d’utilisation sous Windows et macOS, afin de corriger les éventuels bogues.
Aller plus loin
- Dépôt GitHub (1764 clics)
# .
Posté par guppy . Évalué à 8.
Salut,
Intéressant. PgAdmin (client officiel en gui pour postgres) est passé il y a quelques temps à la version 4 qui est une réécriture complète. Et pour l'instant, c'est pas très stable. La version 3 n'étant plus maintenue, la situation actuelle commence à être un peu délicate.
Un logiciel minimaliste de ce genre peut donc dépanner.
J'ai survolé le code, ça m'a l'air très propre, félicitations. Cette partie m'ayant un peu inquiété : ;)
[^] # Re: .
Posté par grugru . Évalué à 7.
Ils sont bien évidemment encadrés avec en particulier de la revue de code systématique pour assurer une continuité minimale dans la qualité du développement.
[^] # Re: .
Posté par guppy . Évalué à 4.
J'ai parfois également des stagiaires, et je me suis rendu compte que je mettais autant de temps (voire plus) à les aider à faire du code de qualité qu'à l'écrire moi-même.
Effectivement, parfois l'aspect transmission de connaissance c'est sympa, mais si l'idée c'est de gagner du temps chez nous ça n'a jamais fonctionné. Peut-être que j'ai eu que des mauvais ceci dit. Ou qu'il faudrait que je me soigne pour supporter du code un peu dégueu.
[^] # Re: .
Posté par Sytoka Modon (site web personnel) . Évalué à 7.
Il n'est pas sur que tu écrirais du code de la même qualité… Le faire écrire par quelqu'un d'autre t'oblige à la revue de code et le fait de lire du code d'un autre te fait toi aussi progresser dans tes propres critères de qualité.
Bref, c'était pour élargir le débat ;-)
[^] # Re: Bons et mauvais stagiaires
Posté par Pierre Jarillon (site web personnel) . Évalué à 10.
Oui, j'ai eu beaucoup de stagiaires et je suis d'accord, cela ne m'a pas fait vraiment gagner de temps.
Par contre, ils m'ont appris des choses que leurs professeurs leur avaient enseigné et je leur ai appris d'autres choses. C'est cet échange qui a été fructueux.
Un de mes collègues me disait qu'il n'avait jamais eu de bons stagiaires. Il les faisait travailler sur des sujets qu'il ne maitrisait pas et que les stagiaires avaient beaucoup de mal à appréhender.
De mon côté, je leur donnais des sujets que j'aurais aimé traiter. À part de rares exceptions, je n'ai eu que des bons stagiaires.
Je pense que la compétence du maître de stage est très importante. Il ne doit donner que des travaux qu'il saurait faire et qu'il aimerait faire.
[^] # Re: .
Posté par FantastIX . Évalué à 4.
J'ai quasiment envie de dire que c'est normal — bravo et merci entre-temps de consacrer ce temps à de la formation de qualité. [Opinion personnelle:] Notre monde moderne nous apprend à sacrifier la qualité (s'il n'y avait que ça, hélas) pour la rapidité (mais pas que…); la qualité de l'enseignement (c-à-d de la transmission de la connaissance) se fait dans les mêmes conditions. Et du coup on perd de vue que ceux que nous formons formeront à leur tour. Les stagiaires ont envie de savoir et nous nous devons de leur transmettre, du mieux que nous le pouvons, nos connaissances et notre savoir-faire. Quand on y pense, ça fait deux jobs à temps plein: transmettre et créer. On ne gagne peut-être pas du temps sur le fait mais ce qui sera gagné, c'est la qualité du savoir-faire de ceux qui vont nous succéder.
AMHA ce serait plutôt aux autres de se faire soigner pour accepter du code dégueu contre tout bon sens sur le long terme ;-) .
# comparé à DBeaver
Posté par abriotde (site web personnel, Mastodon) . Évalué à 8. Dernière modification le 29 août 2018 à 18:18.
J'utilise DBeaver au bureau. J'aurais voulu savoir la raison qui vous a poussé a développer OpenDBViewer. Pour sa vélocité?
DBeaver est très puissant d'un point de vue fonctionnalité (auto complétion…) et nombre de base de données prises en charges. Ses points faibles sont l'édition de tables (Alter) et la lourdeur JAVA.
Sous licence Creative common. Lisez, copiez, modifiez faites en ce que vous voulez.
[^] # Re: comparé à DBeaver
Posté par blobmaster . Évalué à 4.
J'utilise DBeaver aussi au taff et je le trouve tellement efficace que j'aurai du mal à m'en passer. Il a tellement de features trop bien.
Par contre j'ai installé OpenDBviewer et je l'ai lancé et Whouahou !! trop rapide ! le truc se lance instantanément. les pages de table itou. Bref c'est surper rapide.
Du coup pour mes besoins perso (que du postges + petite machine + direct en prod) je me dit que ça peut le faire mais pour le taff il manque bien trop de features, pas de tunneling, pas toutes les features CSV, Pas la couleur des environnements, pas de…
Je ne sais pas pourquoi ils ont développés OpenDBviewer mais moi je l'utiliserai peut-être pour sa vélocité. Pour tout autre raison DBeaver sort gagnant.
[^] # Re: comparé à DBeaver
Posté par cppuser . Évalué à 3.
On n'est pas vendredi mais dès que y a Java en général c'est beaucoup plus lent, ça prend plus de mémoires, l'IHM n'est pas "native" on voit que c'est du java
Raison pour laquelle quand j'ai le choix je ne prends pas le soft fait avec Java<\troll>
[^] # Re: comparé à DBeaver
Posté par rupteur . Évalué à 1. Dernière modification le 31 août 2018 à 12:01.
Je cherchais un remplaçant à pgAdmin3 mais je n'ai pas pu me faire à l'interface DBeaver. (pourtant utilisateur d'éclipse)
j'ai eu pas mal de soucis avec pgAdmin4.
(mais la dernière fournée 4.3 avec une installation simplifiée en mode client est plus convaincante)
je vais tester ce nouvel outil.
[^] # Re: comparé à DBeaver
Posté par Eric Beuque (site web personnel) . Évalué à 4.
Alors pour répondre à la question on a développé ce logiciel pour répondre à plusieurs contraintes du à notre utilisation en production :
- Rapidité : Je pense que C++ reste le mieux pour créer des applications très réactive.
- Peu de dépendance : On a juste besoin de Qt, qui est fourni avec l'installeur (sous Windows et Mac). Pas besoin d'avoir Java ou Python, où une autre dépendance un peu lourde.
- Léger : Rapide à transmettre sur des postes avec une faible connexion internet.
- Multiplateforme : Besoin que ça marche sur Windows, Mac et Linux.
- Utilisable en petite résolution : On a encore du travail, mais on veut améliorer l'interface pour être utilisable en petite résolution car il nous arrive d'utiliser teamviewer, sur des postes où les résolutions sont très petites (1024x720 voir 800x600)
- On a aussi créé un code assez simple pour faciliter les éventuelles contributions
Le fait d'avoir C++ complexifie un peu le développement, mais je pense qu'il était intéressant de pouvoir proposer cet outil.
# Petite suggestion
Posté par stephane74 . Évalué à 3.
Slt,
Sur la partie "Structure" à gauche dans l'appli là ou se trouve la liste des tables, il serait pas mal d'afficher en second niveau la liste des schémas et en troisième niveau la liste des tables par schémas.
J'utilise PostgreSQL et la base avec laquelle je travail actuellement contient 15 schémas avec pas mal de tables dans chaque.
[^] # Re: Petite suggestion
Posté par FluffyHamster . Évalué à 2.
Globalement petit outil très sympa, j'avais cherché des trucs du genre il n'y a pas longtemps et je m'étais arrêté sur DB Browser.
Je me permet de rajouter mes petites suggestions aussi :
- un bouton "ouvrir", c'est bête mais ça rend service…
- les couleurs alternées dans les vues en table de Qt, et aussi ne pas masquer les bordures, ça évite de tuer les yeux quand on a une blinde de données !
- le fichier de config directement dans le home ? vraiment ?
# En gros c'est comme DB Browser for SQlite
Posté par cppuser . Évalué à 0.
C'est la même chose ? sauf que cela fonctionne pour d'autres base de données si j'ai bien compris.
[^] # Re: En gros c'est comme DB Browser for SQlite
Posté par elf32 . Évalué à 3.
DBeaver fonctionne avec une myriade de drivers de BDD differentes !
Même des NoSQL.
Je pense que ce projet est plutôt une alternative rapide et réactive. Car DBeaver laisse parfois à désirer niveau perf, en effet…
# nostalgie... ou pas
Posté par steph1978 . Évalué à 5.
Quand j'étais jeune, j'utilisais SquirrelSQL, en Java+JDBC.
Je constate qu'il évolue encore.
Il y avait plein de plugins en particulier un qui permettait de reconstruire le MPD.
Maintenant, quand je dois toucher du SQL, c'est plus avec SQLite et donc DB Browser for SQLite ou la CLI.
Merci pour le partage.
# Logiciel qui trouve sa place comme client graphique léger pour MySQL
Posté par LeBouquetin (site web personnel, Mastodon) . Évalué à 3.
J'ai testé l'outil en même temps que Crowl, du coup le résultat de mes tests est un peu plus long qu'un simple commentaire… et mêlé à un feedback concernant Crowl. Au final j'ai rédigé ça sous la forme d'un journal qui relate mes manipulations Crowl & OpenDBViewer.
#tracim pour la collaboration d'équipe __ #galae pour la messagerie email __ dirigeant @ algoo
# installation impossible sur buster
Posté par François GUÉRIN (Mastodon) . Évalué à 1.
Salut,
Impossible de tester cet outil dans une buster, une erreur de dépendance:
https://github.com/Jet1oeil/opendbviewer/issues/30
Sinon, ça a l'air sympa…
Merci !
# Paquet manquant, sous Ubuntu
Posté par windu.2b . Évalué à 3.
La ligne de commande pour installer les paquets nécessaires devrait aussi proposer
cmake
, sinon la compilation ne peut pas se faire.# Perso sous Windows j'utilile HeidiSQL
Posté par Graveen . Évalué à 3.
Et si j'avais à l'utiliser sous Linux, ce serait avec Wine tellement l'ergonomie est sympa.
Effectivement, HeidiSQL ne supporte pas SQLite, et donc je suis sur DBBrowser.
Si le logiciel est de qualité et pas trop lourd, c'est vraiment bon.
Allez je file tester ça ! Merci !
# Problème avec Postgres sur Windows
Posté par AnthonyRabine (site web personnel) . Évalué à 1.
Impossible de se connecter sur une base Postgres sous Windows, dans la console il dit qu'il ne trouve pas le driver PSQL. Problème d'empaquetage ? windeployqt est bien pratique :)
# excellent
Posté par jemore . Évalué à 1.
Merci pour la découverte de cet outil, et aux autres commentateurs qui m'ont fait découvrir d'autres produits que HeidiSQL dans Wine…
Connaissez-vous un outil equivalent (explorateur de DB MySQL ou SQLite) purement en ligne de commande ? Un genre de OpenDBViewer mais en ncurses ?
[^] # Henplus, en ligne de commande
Posté par seveso . Évalué à 0. Dernière modification le 15 septembre 2018 à 10:05.
Je connais Henplus qui n'est pas à proprement parler un explorateur de DB. C'est un client SQL générique en ligne de commande qui supporte n'importe quelle BDD pour laquelle il existe un pilote JDBC (oui Henplus est écrit en Java, mais ça marche bien quand même).
En plus des fonctionnalités classiques il propose Tree View of connected tables qui pourrait t'intéresser.
Si ce n'est pas suffisant, il te permet aussi d'implémenter tes propres plugins à condition d'aimer coder en Java.
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.