Archives de Tag: sgbd

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é

Publicités
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 – 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é , , , ,

Lancement de DbMaster

Salux !

DbMaster sort enfin de mon garage pour être disponible à l’adresse suivante :

https://sourceforge.net/projects/dbmaster/

DbMaster un programme de gestion de base de données open-source écrit en C++/Qt. Les fonctionnalités prévues sont :

  • Multi-plateforme (au moins Linux et Windows)
  • Gestion des connections
  • Gestion les tables (aussi bien les données que la structure) + assistant de création
  • Gestion les utilisateurs+droits
  • Éditeur de requête avec coloration syntaxique, auto-completion, etc.
  • Gestion des transactions
  • Support de la majorité des bases open-source (MySQL, PostGreSQL, Firebird, SQLite…)

La version actuelle est la 0.2. Je ne la conseille que pour les curieux, en effet elle ne possède que très peu de fonctions.

Téléchargement

Vous pouvez télécharger DbMaster :

Je le développe dans le cadre de mon cursus en BTS info, par conséquent je dois vous prévenir que je serai le seul développeur (même si cela me chagrine) pour la branche 1.0 (càd toutes les versions >= 1.0 + màj de sécurité 1.0.x).

Néanmoins je reste ouvert à toute critique/traduction/patch que vous pouvez m’adresser par le tracker.

Màj : migration sur sourceforge.net

Tagué , , , ,