Archives de Tag: dbmaster

DbMaster 0.9 – ce qui vous attend


Flattr this

Salux !

La sortie de la version 0.8 est un peu sortie inaperçue, et a surtout avec quelques déboires de packaging (JE CHERCHE UN MAINTENEUR !) il est vrai. Cela n’empêche le projet le continuer son chemin et de vous présenter quelques points validés, pour certains déjà en cours de travaux.

Refactoring gestion des connexions

Et oui, encore du refactoring… Et sur une partie que je pensais figée qui plus est. J’ai pu discuter un peu sur la ML Qt pour me rendre compte que ma gestion des connexions est juste désastreuse. Je vais essayer de remédier à tout ça. En deux mots, une connexion doit avoir une durée de vie la plus courte possible et être libérée immédiatement (ce que font les autres outils du genre BTW).

Regrouper les onglets de l’éditeur de requêtes en un seul

A l’usage, je me suis rendu compte qu’une fonctionnalité d’AnySQL Maestro faisait cruellement défaut : chaque requête étant ouverte dans un onglet séparé, cela devient très vite inutilisable. Les gars d’AnySQL ont eu la bonne idée de ne faire qu’un seul onglet « Requêtes » et d’y regrouper toutes les requêtes. Idée que je vais reprendre.

Trier et ordonner les connexions

Lorsque l’on a un certain nombre de connexions (disons >5) il devient intéressant de pouvoir les ranger de manière thématique. Bref, au moins pouvoir faire un bête glisser-déposer pour ordonner tout ça.

Filtre dans les tables

Lorsque l’on affiche une table et que l’on veut restreindre à une seule partie du résultat (typiquement tous les manteaux rouges) on est obligés de passer par l’éditeur de requêtes.

A terme, directement dans l’outil table, on pourra filtrer le résultat facilement.

Support des index

Dans la catégorie fonctionnalité SQL les adaptateurs fourniront la liste des index en-dessous des colonnes.

Cette liste est évidemment incomplète puisqu’elle ne présente que les morceaux « importants ». Pour la totale, rendez-vous ici.

Le Manchot Enragé

Tagué , , , , , ,

Changement de licence pour DbMaster


Flattr this

Salux !

Gros sujet de réflexion actuel, sur lequel je n’ai malheureusement que peu de temps à consacrer, la licence de DbMaster. Je l’avais mise « par défaut » en GPLv3, mais je regrette aujourd’hui ce choix, trop restrictif.

Poursuite & financement du projet

Le projet a tapé dans l’œil de ma boss, qui voudrait bien commercialiser un produit dérivé avec des options supplémentaires. C’est -en partie- dans cette optique que le système de plugin a été développé.

Or, la licence GPL interdit les travaux dérivés/le link avec du code propriétaire, ce qui rend de facto cette version payante impossible, à moins de demander aux contributeurs de céder leur propriété sur les patchs, ce qui me gêne sur le principe.

Le choix de la licence Apache

J’ai un immense respect pour la Fondation Apache ainsi que son travail effectué. Leur licence est simple et clair et permettra les travaux dérivés tout en conservant la parenté du travail de chacun.

Les dérives sont possibles, certes, que des stagiaires ou des DSI peu scrupuleux reprennent le code et pavanent devant leur boss en toute légalité. Pour être honnête, ça ne m’empêchera pas de dormir.

Je préfère me dire qu’en simplifiant les termes de la licence, des entreprises seront plus enclines pour participer (humainement, financièrement…) afin d’améliorer l’outil en vue de l’utiliser ou de le revendre sous une autre forme. Tant que ça fait avancer le schmilblick…

En deux mots

Le changement n’a pas été fait, ce n’est qu’une question de temps, encore et toujours. J’ai lancé un appel aux contributions sur Twitter, en espérant recevoir un peu d’aide et me dégager du temps pour m’occuper de tous les trucs satellites qui ne sont pas du code mais restent indispensables (doc, site, etc.)

Le Manchot Enragé

Tagué , , , , , , , , ,

DbMaster 0.8


Flattr this

Salux !

Bon, j’avoue, j’ai peu communiqué ces derniers temps sur DbMaster. Peut-être devrais-je plus en parler sur ce blog, et moins sur dbmaster.sf.net, qui entre nous ne récolte que trop peu de visites.

Ceci dit grande nouvelle ! Le calendrier est respecté, même s’il reste quelques petits bogues (rien de méchant, ça sera corrigé le mois prochain).

Nouveautés

Comme la précédente, une grande partie des ajouts n’est pas visible directement à l’utilisation. Notamment l’ajout d’un système de plugins ! Simpliste pour l’instant, je l’étofferai au fur et à mesure des versions pour permettre aux développeurs tiers d’ajouter des fonctionnalités spécifiques. Ces plugins ont ouvert la boîte de Pandore si l’on peut dire, puisque le but de DbMaster est d’être universel ; or on se rend vite compte que c’est chose impossible à cause de la diversité des syntaxes SQL. Exemple concret :

Listing des colonnes d’une table Grâce aux plugins, il est possible d’avoir les colonnes d’une table, avec les informations de type, la valeur par défaut… Ces informations étendues sont disponibles pour MySQL, PostgreSQL & SQLite. D’autres viendront, bien entendu.

Amélioration de l’éditeur de requêtes avec de nombreux ajouts mineurs mais bienvenus comme

  • Auto-indentation
  • Auto-complément plus stable
  • Copier-coller du contenu des cellules (ne marche qu’avec Excel pour l’instant)
  • Le résultat peut être réduit/affiché plus facilement
  • Passage en majuscule/minuscule d’une sélection
  • Suppression d’une ligne via Ctrl+D
  • Visualisation des BLOB au format texte & HTML

Meilleure gestion des connexions qui peuvent être nommées avec des alias, rechargées à la volée, supportent les schémas (quand c’est présent) et les colonnes.

Et le meilleur pour la fin, des barres d’outils revues pour une meilleure ergonomie, avec un thème d’icônes plus visible et un panneau de connexions qui peut être placé n’importe où.

Nouveau site

Comme vous pouvez le constater, le tout nouveau tout beau site web contient plus d’informations, est plus clair et surtout, est multilingue.

Ce qu’il reste à faire

Comme d’habitude, revoir la doc, rafraîchir les captures d’écran, trouver des utilisateurs, prier pour gagner 50cts sur Flattr…

Poursuite du projet

Fort heureusement, ça n’est pas fini ! Pour rappel, je publie une mise à jour de maintenance tous les mois, et conserve un rythme de six mois pour les « grosses » mises à jour.

La version 0.9 est donc officiellement démarrée, même si pour l’instant rien n’est vraiment décidé quand au contenu. Vous pourrez suivre l’évolution sur cette page ou sur la mailing-list.

Le Manchot Enragé

Tagué , , , , ,

DbMaster v0.7 beta

Salux ! Flattr this

Après cinq longs mois de développement, la version 0.7 arrive au stade de beta ! Toutes les fonctionnalités ont été implémentées, mais certains bogues persistent (liste). J’ai fait tout ce qui était prévu, et plus encore !

Pour les impatients : Télécharger la beta.

Hébergement sur dvp.com & github.com

Je quitte petit à petit sourceforge.net. Le code source est hébergé par GitHub et la plateforme de développement (Redmine) est fournie par developpez.com. Les informations dans les pages Contribuer/Installer ne sont par conséquent plus à jour, elles le seront pour la refonte du site.

À retenir

  • Pool de connexions dans un thread séparé
  • Impression des requêtes
  • Outil de recherche
  • Export HTML
  • Tooltip « Le saviez-vous ? »
  • Amélioration de l’intégration visuelle à Linux
  • Ordonnanceur de requête

Vous avez dit « beta » ?

DbMaster 0.7 n’est pas encore fini : il reste de nombreux bogues à trouver/corriger. Je vous invite donc à l’essayer et à raporter les bogues à vue : http://projets.developpez.com/projects/dbmaster/issues.

À venir

Dans les prochains jours je fournirai les paquets binaires pour Ubuntu Linux et Windows 7. Dès la RC le choix sera, bien entendu, plus étoffé.

17 nov, Release Candidate (RC) : on prépare la version finale et on créé la branche 0.7.

1er déc, version finale : DbMaster 0.7 sera prêt, propre et disponible à tous sur Linux ET Windows.

Poursuite du projet

Le calendrier de la v0.8 sera présenté en même temps que la v0.7 RC (le 17/11). Désormais, l’intervalle entre deux versions est fixé à six mois, afin de faciliter le travail des testeurs/intégrateurs.

Le Manchot Enragé

Tagué , , , , ,

DbMaster 0.6.1 – résumé de la situation

Salux !

Cela faisait longtemps que je n’avais pas abordé DbMaster dans ces colonnes.

J’ai ouvert un blog consacré à DbMaster qui contient toutes les publications récentes. J’ai décidé d’écrire un court billet ici pour résumer les avancées en cours.

Tout d’abord, la version 0.6.1, outre des correctifs, a apporté des installeurs pour Windows et Linux. Vous pouvez vous rendre directement sur cette page pour en savoir plus.

Les nouveautés de la version 0.6 peuvent être consultées sur ce billet.

Enfin, cet été paraîtra une nouvelle version, la 0.7, détaillée ici.

Recherche mainteneur Windows

Je ré-itère mon annonce : la maintenance de la version Windows me fait perdre beaucoup trop de temps. J’ai besoin d’un contributeur courageux qui serait prêt à me soutenir dans cette tâche.

Grosso modo, le travail consisterait à tester DbMaster pour vérifier qu’il n’y ait pas de régression sur Windows. Ensuite, maintenir à jour les installeurs pour chaque version. Ces deux points ne sont pas très compliqués mais comme j’utilise Linux en OS natif je perds énormément de temps à virtualiser/redémarrer.

Ensuite, pour les courageux, il y aurait la compilation des drivers QtSql. Là par contre, je dois l’avouer, c’est tout sauf une partie de plaisir. Je suis prêt à mettre la main à ma pâte pour cette étape.

Bien sûr, toute contribution sera la bienvenue. D’ailleurs j’ai pour habitude de mettre les noms des participants dans le fichier AUTHORS et la fenêtre « À propos » en guise de remerciement.

Financement ?

Actuellement je passe environ un mi-temps sur le développement de DbMaster. Je le fais par plaisir mais aussi avec l’espoir (naïf ?) que je pourrais un jour percevoir une rémunération pour ce travail.

Mon logiciel se destine avant tout aux établissements scolaires et aux étudiants, mais -à terme- il pourrait devenir un outil d’entreprise. Contribuer financièrement à DbMaster assurerait un plus grand investissement de ma part, donc une évolution plus rapide, plus de fonctionnalités et un meilleur support.

Je réfléchirais plus sérieusement à ces options lorsque la version 1.0 sera terminée.

Le Manchot Enragé

Tagué , , , , , , , , ,

DbMaster – version 0.6 en route et défilement de requête

Salux !

Finalement, contrairement à ce qui était annoncé, une version 0.6 verra le jour, notamment à cause d’un gros bogue qui a nécessité une amélioration notable : le défilement de requête (ou query scrolling). J’ai voulu tester la façon dont DbMaster se comporte avec de grosses requêtes et j’ai été assez déçu du résultat. Exécution de la requête + chargement du modèle = 1sec, nickel, ensuite affichage : 5 min. Bon. Il fallait faire quelque chose.

Défilement de requête

Des zolies images valant mieux qu’un long discours, voici en capture d’écran la nouveauté :

J’ai utilisé la BDD employees fournie par MySQL. Comme encadré en bas, la table contient plus de 300k items (cf problème cité plus haut). L’utilisateur peut définir le nombre d’items à afficher par page et les défiler (suivant, précédent, début, fin).

J’ai encore quelques bogues à résoudre de ce côté-ci mais tout sera fin prêt pour la 0.6.

Compatibilité SQLite

Romain m’a prévenu que DbMaster ne fonctionne pas avec SQLite. D’ici une semaine j’espère avoir résolu le problème, je posterai un billet ou un tweet surement.

Compatibilité Windows

Autre objectif (ambitieux) : assurer 100% des fonctionnalités sur Windows. Ça va pas être facile, mais c’est envisageable. Je ne sais pas si j’aurais le courage de fournir un installeur, mais au moins les binaires archivés. Ce portage inaugurera Qt 4.6.

Paquets DEB (optionnel)

Bon ça j’avoue, c’est du bonus, mais si je pouvais fournir des paquets au moins pour Ubuntu, ça serait top. Pour Debian Lenny je ne peux rien garantir à cause du fait que Qt 4.4 est fourni et que j’utilise des fonctionnalités disponibles uniquement depuis la 4.5.

Le Manchot Enragé

Tagué , , , ,

DbMaster – démarrage de la branche 0.5

Salux !

DbMaster a atteint les limites de QtSql semble-t-il. Aujourd’hui je mets à disposition la version 0.5, dernière version avec cette base de code. Elle est boguée et peu fonctionnelle je l’avoue, mais elle sera suffisante pour être présentée le jour du BTS. Je fournirai surement des correctifs avec des versions 0.5.x.

Changements majeurs pour la version 0.5

  • Auto-complément du code basé sur la norme SQL et le contexte (noms de tables, champs). Je recommande de la désactiver car cette fonction est assurément la plus instable.
  • Exécution des sous-requêtes par sélection de celles-ci.

Voir le changelog complet pour plus d’informations.

En route pour 0.6

Pour la version 1.0 une réécriture des drivers de base de données sera nécessaire. Malgré la puissance de QtSql, celui-ci n’est pas adapté. En effet, il est orienté données et non structure. Il est impossible de l’interroger sur les déclencheurs ou les schémas par exemple. Je m’inspirerai d’AnySQL pour l’interface (capture d’écran), notamment l’arbre à gauche.

Je m’appuierai notamment sur QtPlugin pour générer un module pour chaque type de base de données. Je mettrai en priorité ODBC, MySQL et PostGreSQL parce qu’ODBC est compatible avec la majorité des SGBD mais reste trop générique et MySQL et PostGreSQL sont ceux que j’utilise le plus. Pour les autres, cela dépendra du temps dont je disposerai (sans parler des possibilités techniques, par ex. DB2 me semble inaccessible).

Je reste ouvert à toute suggestion/bogue et je remercie tous ceux qui m’ont aidé pour ce projet.

Site du projet : http://sourceforge.net/projects/dbmaster/

Le Manchot Enragé

Tagué , , , ,

DbMaster – 0.5 en approche et pause du développement

Salux !

Comme vous le savez peut-être, DbMaster est un projet d’étude. Malheureusement, il n’est pas le seul, et étant donné qu’il attendra bientôt ses objectifs pour le BTS, je le mettrai en pause jusqu’au mois de juillet. Je reste ouvert à toute suggestion en attendant, et il y aura peut-être des mises à jour de maintenance.

Pour autant, cela ne satisfait pas à passer DbMaster en version 1.0. Je trouve le nombre de fonctionnalités encore trop faible et il y a bien trop de bogues à résoudre. Une version 0.5 sera publiée bientôt, afin de clore temporairement le développement (comme expliqué plus haut).

Côté nouveautés pour la 0.5 :

  • Nettoyage du code : DbMaster est plus léger, plus rapide et plus stable (heureusement).
  • Auto-complétion SQL
  • Analyse de contexte (coloration des noms de tables/champs)
  • Exécution de sous-requêtes

Le Manchot Enragé

Tagué , ,

DbMaster 0.4 – grand nivellage

Salux !

Seulement un mois après DbMaster 0.3, voici la version 0.4.

Quoi de neuf ? Pas grand chose dans le fond, car les bases avaient été posées avec la 0.3. Cependant le ChangeLog est loin d’être vide, car j’ai corrigé des bogues à la pelle, amélioré l’interface utilisateurs en utilisant la classe QWizard, refait pas mal de trucs, bref, vous pouvez considérer que DbMaster quitte le rang d’instable. Je m’efforcerai de garder une certaine stabilité tout au long des prochaines versions.

Le peu de fonctions présentes fonctionnent, n’ayez plus peur de cliquer sur un bouton « qui casse tout » 😉

L’installation se fait toujours en mode console, comme décrit dans le fichier INSTALL. Les paquets binaires ainsi qu’un support de Windows sont prévus pour la prochaine version.

ATTENTION le programme n’est compatible que Linux pour l’instant !

Lien direct pour le téléchargement : https://sourceforge.net/projects/dbmaster/files/DbMaster/0.4/dbmaster-0.4-src.tar.bz2/download

Le Manchot Enragé

Tagué

DbMaster – 30e commit installable

Salux !

Ce soir, après quelques dizaines d’essais infructueux, j’ai finalement réussi à rendre DbMaster installable !

Vous pouvez donc télécharger, tester et installer ce 30ème commit en suivant la procédure suivante (allergiques à la ligne de commande s’abstenir) :

svn co https://dbmaster.svn.sourceforge.net/svnroot/dbmaster/trunk dbmaster 

Ensuite, la compilation :

qmake
make

puis l’installation (en root) :

make install

Enfin l’exécution :

dbmaster

L’exécutable se met par défaut dans /usr (je remplacerai bientôt par /usr/local, faîtes un tour dans src/src.pro avant la compilation si vous voulez le faire manuellement).

Fonctionne pour l’instant sous Archlinux et Ubuntu, j’attends vos retours pour les autres distros 😉

Tagué