Archives de Tag: sql

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é , , , , , , , , ,

Code source de pourquoijepirate.fr

Salux !

Parce que la question de l’accessibilité du code source m’est souvent posée, je vais y répondre une fois pour toute ici : Je ne divulguerai pas le code source de pourquoijepirate.fr. J’y vois 3 raisons :

  1. J’ai codé ça en une journée tout au plus, c’est vraiment du PHP spaghetti codé à l’arrache. J’ai pas envie de vous refourguer un truc aussi mal foutu. Ça serait un cadeau empoisonné.
  2. Ça été codé sans aucune anticipation des différentes évolutions possibles, ni aucune possibilité d’adaptation.
  3. Je suis développeur Java/EE, pas PHP 😀 ceci pour appuyer le point 1.
Pour faire bref, vous perdriez moins de temps à repartir de zéro.

Ce que je propose

Néanmoins je pense que la base de données est réutilisable, et ma pensée libriste n’a pas envie de vous laisser réinventer quelque chose que j’ai déjà fait 😉
Si certains sont intéressés (j’ai les Twitter), on peut monter un projet libre et mutualiser les compétences 😉
Lâchez un commentaire ou un tweet si vous êtes intéressé.
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é , , , , ,

Compiler le plugin QIBASE pour Ubuntu


Flattr this

Salux !

Ce tutoriel s’adresse aux utilisateurs de Firebird et d’InterBase souhaitant développer un applicatif Qt autour de leur SGBD préféré.

Rappelons que Qt s’appuie sur le framework QtSql pour se connecter à une base de données par le biais de drivers propre à chacun d’entre eux (comme le fait JDBC). Dans cet article j’expliquerai brièvement comment compiler le driver QIBASE, nécessaire pour Firebird/InterBase, sur les distributions Linux ne l’ayant pas intégré dans leurs dépôts.

Ce tutoriel est écrit depuis Ubuntu 10.04 « Lucid Lynx » mais il est tout à fait applicable aux autres distributions. Dans ce cas, prenez soin de contrôler les chemins des bibliothèques & outils Qt.

Première étape,

Télécharger le framework Qt :

http://qt.nokia.com/downloads (pour connaître la version installée sur votre ordinateur tapez ‘qmake –version’)

Et la bibliothèque Firebird :

sudo apt-get install firebird2.1-dev

Deuxième étape,

Préparer Qt :

tar -xzf qt-everywhere-opensource-src-4.6.3.tar.gz
cd qt-everywhere-opensource-src-4.6.3
cd src/plugins/sqldrivers/ibase

Dans ce dossier se trouve ibase.pro. Éditez-le avec votre éditeur favori et modifiez la ligne suivante :

unix:!contains( LIBS, .*gds.* ):!contains( LIBS, .*libfb.* ):LIBS
→    *= -lgds

doit devenir :

unix:!contains( LIBS, .*gds.* ):!contains( LIBS, .*libfb.* ):LIBS
→    *= -lfbclient

En effet, le driver est initialement prévu pour InterBase. Si vous utilisez ce dernier, ne modifiez rien !

Dernière étape,

Compiler le driver :

qmake
make

Retourner au dossier qt-everywhere-opensource-src-4.6.3
Installer le plugin dans le répertoire de Qt :

sudo cp plugins/sqldrivers/libqsqlibase.so /usr/lib/qt4/plugins/sqldrivers/

Épicétou. Maintenant vos applications prendront en compte le driver.

Le Manchot Enragé

Tagué , , , , , , ,