Archives for DbMaster

DbMaster 0.7 beta

Salux !

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.

DbMaster pour Windows – Enfin !

Salux !

Je ne vous cacherai pas que ça n’a pas été de tout repos. Plus d’une fois j’ai eu envie de jeter l’éponge pour porter DbMaster sur Windows, mais j’y suis enfin arrivé.

Vous pouvez télécharger l’installeur pour la version 0.6.1 à cette adresse : http://sourceforge.net/projects/dbmaster/files/DbMaster/0.6/dbmaster-0.6.1-setup.exe/download

Cependant, je dois vous prévenir que les versions Windows seront toujours en deçà des versions Linux. Il me faut deux fois plus de temps sur Windows pour réaliser les mêmes tâches : tests d’intégration, compilation des drivers, packaging, mise en ligne…

À moins de trouver des financements ou un mainteneur attitré, je ferai le minimum pour que ça soit fonctionnel, mais je recommande vivement l’usage de la version Linux.

Côté bizarreries, InnoSetup ne me génère pas de raccourci correct. Si vous mettez un raccourci sur le bureau, assurez-vous que le dossier « Démarrer dans : » soit bien celui de DbMaster.

Aperçu de DbMaster 0.7

Salux !

J’ai décidé de vous fournir un bref tour de ce qui a été fait pour DbMaster 0.7, ainsi que de ce qu’il reste à faire.

Pour rappel, DbMaster 0.7 représente avant tout un travail de réécriture pour préparer à l’introduction des adaptateurs (qui verront le jour pour la 0.8). Les ajouts de fonctionnalités seront donc relativement limités (un peu comme la 0.6 en somme).

Nouveautés visibles

Le saviez-vous ?

On m’a fait la remarque que certaines fonctionnalités soient « cachées » et qu’une aide serait la bienvenue. C’est chose faite : dans l’onglet d’accueil une petite zone affiche des astuces aléatoirement.

Assistant de rapport

Je rappelle que DbMaster a été écrit pour m’assister dans mes TP d’études. Dans cette optique une idée a émergée : la possibilité d’exporter au format HTML un document résumant l’exécution. En en-tête figurerait la requête, puis diverses options comme la durée d’exécution ou le SGBD, enfin le résultat partiel ou complet.

Sous le capot

Gestion des connexions

La gestion des connexions est maintenant placée dans un thread séparé. L’interface n’est plus gelée si un serveur met du temps à répondre, ce ne justifiera plus de pause café :( . Accessoirement le passage d’une liste à un VRAI model (jetez un œil au code si vous êtes curieux) a allégé le code global de l’application et centralisé pas mal de choses. Et, comme chacun le sait, moins qu’il y a de code, moins qu’il y a de risque que ça plante.

Ordonnanceur de requêtes

Gros gros morceau, la réécriture complète de l’exécution des requêtes. Chaque connexion dispose d’une pile (thread) FIFO, donc plus de freeze. Les informations sont stockées dans un jeton qui est transmit à l’ordonnanceur ou au widget d’affichage.

Compatibilité Windows

D’énormes progrès ont été faits sur ce point. Il ne me reste plus qu’à embarquer les drivers dans l’installeur (ce qui ne s’avère ne pas être une partie de plaisir).

DbMaster 0.6.1 – correctifs et paquets Ubuntu

Salux !

DbMaster 0.6.1 est une mise à jour de maintenance. Elle n’inclut aucune nouvelle fonctionnalité depuis la 0.6 mais corrige de nombreux pépins.

Pour consulter la liste de ces correctifs, voir le ChangeLog [en].

À défaut de nouveautés fonctionnelle, cette version voit son support bien plus étoffé :

  • Paquets .deb Ubuntu prêts à être installés pour Lucid (32 et 64bits) !
  • Support de Windows (voir billet précédent). Un installeur est en cours d’élaboration et sortira dans les prochains jours.

Pour télécharger cette version, comme toujours consultez la page « Télécharger ».

Fermeture de la branche 0.6

Par la même occasion je clos la branche 0.6. Maintenir deux branches est un travail difficile, surtout que la version 0.7 avance à grands pas.

Compatibilité Windows : support de MySQL

Capture d'écran de DbMaster sur Windows Vista

Salux !

Après des mois d’attente, j’ai enfin réussi à faire fonctionner DbMaster sur Windows Vista et MySQL !

Les versions 0.6.1 et supérieures seront fournies sur Windows avec le support officiel d’ODBC, SQLite et MySQL. Je peux dors et déjà vous assurer que PostGreSQL sera le suivant sur la liste.

Windows Vista et 7 seront testés, vous pourrez (à priori) l’exécuter sur XP mais sans aucune garantie.

Recherche mainteneur Windows

J’en profite pour passer une annonce : j’aimerais avoir un mainteneur Windows. Le développement de DbMaster me coûte trop de temps pour que je m’occupe pleinement de la compilation des drivers.

Ce qui est bien dommage : 86% des personnes ayant téléchargé DbMaster 0.6 l’ont fait depuis un poste Windows. Si vous voulez aider à rendre la compatibilité Windows meilleure, rendez-vous sur la page Contribuer.

Je publierai prochainement la procédure à reproduire pour bénéficier de MySQL.

Création de la rubrique contribution

Salux !

Afin de guider ceux qui voudraient participer au projet DbMaster, la rubrique Contribution vient d’ouvrir ! Elle explique les bases, les outils nécessaires et les procédures pour rapporter un bogue ou contribuer à la traduction.

D’autres procédures seront fournies au fur et à mesure.

Nouveautés prévues pour DbMaster 0.7

Salux !

Au programme de la version 0.7 : refactoring ! Peu d’ajouts mais un travail en profondeur pour amener à la version 1.0. Je rappelle que toute version 0.x n’est pas considérée comme stable et aucun support ne peut être garanti.

Du point de vue utilisation :

  • Ajouter une fonction d’impression.
  • Étendre l’export aux formats HTML et -pourquoi pas- PDF.

Du point de vue technique :

  • La gestion des connexions sera revue (en utilisant un model) et surtout placée sur un thread séparé pour éviter les gels de l’interface (par ex. en ouvrant une connexion sur un hôte qui ne répond pas).
  • Ajout d’une pile d’exécution des requêtes. Idem, le but est de pouvoir continuer de travailler pendant qu’une grosse requête tourne.
  • Revoir l’interaction des onglets avec la fenêtre principale (notamment pour l’annulation).

Compatibilité & plateformes :

  • Paquets binaires pour Linux (à priori Ubuntu et éventuellement Fedora).
  • Support de Windows (depuis le temps que j’en parle ça serait bien) avec installeur.

Si vous connaissez des problèmes avec l’auto-complément (autre que son habituelle non-pertinence des résultats) n’hésitez pas à me le signaler. Je ne sais pas s’il est nécessaire de le placer sur un thread séparé, des retours me seront utiles dans ce choix.

La version 0.7 sera la dernière à s’appuyer uniquement sur QtSql. J’introduirai une architecture par plugin par la suite pour étendre ses fonctionnalités, par exemple pouvoir extraire les informations de structure sur une table. Je donnerai plus d’informations lorsque l’architecture sera élaborée. Cette architecture simplifiera grandement le portage Windows au passage.

Sortie de DbMaster 0.6

Salux !

Après quelques mois de travaux, voici enfin la version 0.6 de DbMaster ! Vous pouvez la télécharger à l’adresse suivante : https://sourceforge.net/projects/dbmaster/files/DbMaster/0.6/dbmaster-0.6-src.tar.bz2/download

Rappel : ceci est une version de développement.

En deux mots

  • Journalisation des requêtes avec informations complètes (nombre de lignes, temps d’exécution, etc.) disponible dans le menu Outils.
  • Pagination des requêtes pour l’affichage des grosses requêtes (voir mon précédent billet sur le sujet).

Pour plus d’informations consultez le Changelog.

Révision 107 : historique des fichiers récents

Salux !

Dernière fonctionnalité avant la 0.6, je ne m’y attarderai pas trop car son nom en dit assez : DbMaster retient les 10 derniers fichiers que vous avez ouvert. Vous verrez bien à l’usage ;)

Les ajouts de fonctionnalités sont gelés pour la version 0.6. Au programme : finaliser la traduction, peaufiner l’interface (notamment les raccourcis) et rédiger la documentation utilisateur.

J’ai fixé la date de sortie au dimanche 28, comme d’hab pour signaler un bogue il y a le tracker ou éventuellement par mail (pour ceux qui ont mon mail :D ).

Révision 105 : rétro-compatibilité avec Qt 4.4

Salux !

Utilisateurs de distributions fournissant Qt 4.4, réjouissez-vous ! La révision 105 a été compilée et testée (succinctement) avec succès sur Debian Lenny. Malheureusement, cette rétro-compatibilité a un prix :

  1. L’interface à onglets de Qt 4.4 ne fournit pas la possibilité de fermer les onglets de manière native. Le bouton « Fermer l’onglet » y remédie, aisément reconnaissable à sa croix bleue située à côté du bouton « Enregistrer » dans la barre d’outils.
  2. La méthode removeDuplicates() de QStringList n’existait pas alors qu’elle est utilisée dans l’auto-complément. Après avoir compilé tous les mots-clés disponibles cette méthode supprime les doublons par souci de légèreté, notamment au niveau visuel. Dans l’immédiat l’appel a été désactivé pour les utilisateurs de Qt <4.5.

Malheureusement la rétro-compatibilité ne pourra pas aller plus loin : certaines fonctions cruciales n’ont été introduites qu’à partir de Qt 4.4. Pour résumer la situation :

Version de Qt État
4.0 à 4.3 Incompatible
4.4 Compatible avec régressions
4.5 et 4.6 Compatible

La version 0.6 approche à grands pas, mais pour les impatients aventuriers :

svn co https://dbmaster.svn.sourceforge.net/svnroot/dbmaster/branches/0.6 dbmaster

Pour l’installation reportez-vous à la page dédiée, section « Depuis le code source » : lien.