Conception de votre base de données avec MySQL Workbench

30/07/2009

Lorsque l’on bosse sur un projet qui contient plusieurs tables ayant des relations entre elles, il est agréable de disposer d’un logiciel permettant de concevoir son modèle des données ainsi que la possibilité d’y générer ensuite les tables automatiquement sur le SGBDR.

Pour ceux qui bossent avec MySQL, il existe depuis longtemps un outil gratuit s’appelant DBDesigner 4 qui est développé par fabforce.net.

Michael G. Zinner, le concepteur de ce logiciel a rejoint la société MySQL, ce qui a donné naissance au nouveau produit MySQL Workbench, dont voici une capture d’écran ci-dessous.

Capture d'écran de MySQL Workbench

Ce logiciel a bien évolué et contient toutes les fonctionnalités que l’on attend d’un bon système de conception de bases de données. Cet outil spécialisé pour MySQL permet notamment de générer un script SQL pour y créer les tables. De plus, par la rétro-ingénierie sur des bases existantes, on peut extraire la structure et en donner une interprétation graphique.

Depuis la version 5.1 sortie le 30 juin 2009, le logiciel est devenu multiplateforme et est disponible désormais pour Windows, Linux et Mac.

En plus de la version open source (licence GPL), il existe une version commerciale payante qui comprend des fonctionnalités supplémentaires dans les domaines de la validation du schéma / modèle de données ainsi qu’au niveau de la documentation des tables et autres objets.

A essayer …

Site internet : http://dev.mysql.com/workbench/

Parser un fichier XML volumineux en C avec la Libxml2

24/05/2009

Dans le cadre d’un projet, j’ai plusieurs fichiers XML volumineux (plusieurs Go) que je dois parser pour en extraire des données à insérer en base de données. En fait, ces fichiers XML contiennent des articles d’un site de commerce électronique. Par un programme d’affiliation, je dois faire apparaître certains de ces articles sur un site web.

Lorsque que l’on souhaite parser du XML, on a principalement le choix entre 2 méthodes différentes. On a DOM (Document Object Model) qui va charger l’intégralité d’un document XML en mémoire sous forme d’un arbre, ce qui rend aisé la manipulation du document. Cependant avec un fichier XML volumineux cette méthode n’est pas possible. Dans ce cas, on va utiliser la méthode SAX (Simple API for XML). Avec SAX on a une analyse événementielle, cela veut dire que le document XML est analysé au fur et à mesure et selon le type de l’élément rencontré (balise, commentaire ou texte), une fonction de rappel (callback) est appelée pour traiter l’élément concerné. Donc SAX en utilisant moins de mémoire est parfait pour extraire des données de grands fichiers XML.

Par le passé, j’utilisais Java avec Xerces mais pour un souci de performance (le plus vite possible en utilisant le moins de mémoire) je me suis orienté sur des implémentations en C. J’ai découvert deux librairies open source : Expat et Libxml2. Comme il faut faire un choix, j’ai opté pour la Libxml2. Il s’agit d’une puissante boîte à outils XML développée dans le cadre du projet Gnome, mais elle est tout à fait utilisable en dehors de celui-ci, elle n’a pas de dépendance et elle se compile simplement avec l’API ANSI C.

Lire la suite…

Author: Damien Zufferey Categories: Développement C/C++ Tags: , , ,

Récupérer l’icône de notification de mises à jour sous Ubuntu 9.04

04/05/2009

Avec la sortie de la nouvelle version de Ubuntu 9.04 (Jaunty Jackalope), l’icône de notification de mises à jour qui apparaissait dans la zone de notifications (System Tray) a disparu. Le nouveau comportement est d’ouvrir directement le gestionnaire de mises à jour pour « forcer » l’utilisateur a effectuer l’update le plus vite possible.

Pour avoir le comportement par défaut de l’ancienne version et ainsi récupérer l’icône de notification de mises à jour, il suffit de taper cette commande dans le Terminal :

gconftool --set --type bool /apps/update-notifier/auto_launch false

Cette commande va simplement inscrire la valeur booléenne false pour la clé ‘/apps/update-notifier/auto_launch’ du système de configuration GConf.

Méthode graphique

Pour ceux qui sont allergiques à la console, on peut changer la configuration graphiquement.

Pour celà, on va utliser l’Editeur de configuration de Gnome (qui ressemble à la très connue base de registre de Windows :) ).

Premièrement on va modifier le menu ‘Applications’ afin d’y rajouter un lien vers l’Editeur de configuration (gconf-editor). Allez dans ‘Système’ puis ‘Préférences’ et ‘Menu principal’. Cochez l’élément ‘Editeur de configuration’ du sous-menu ‘Outils système’ comme dans la capture d’écran ci-dessous.

Editeur du menu principal

Maintenant que l’Editeur de configuration est disponible via le menu principal, on peut l’ouvir et décocher la clé ‘/apps/update-notifier/auto_launch’ comme dans la capture d’écran ci-dessous.

Editeur de configuration

Voilà, au prochain lancement de votre session, l’icône de notification de mises à jour réapparaitra lorsque des updates seront disponibles. (Pour éviter de devoir redémarrer votre session, vous pouvez tuer le processus ‘update-notifier’ et le relancer.)

Author: Damien Zufferey Categories: Ubuntu Tags: ,

Tester en ligne son site sur plusieurs navigateurs

01/05/2009

Comme chaque navigateur web a sa façon (certains sont plus tordus que d’autres… :) ) d’interpréter le HTML et les CSS, lorsque que l’on développe un site qui doit s’afficher correctement, on est obligé de tester le rendu un à un sur chaque navigateur / système d’exploitation.

Comme je travaille principalement sous Linux, j’ai besoin d’une machine virtuelle avec Windows pour tester mes développements sur les différentes versions de IE.

Il est aussi possible d’avoir recours à des services en ligne pour ce genre de tâche :

  • http://browsershots.org > permet de tester son site sur plus de 50 navigateurs différents et de versions différentes sous Windows, Mac, Linux et BSD. Malheureusement le rendu n’est pas immédiat, le traitement est mis dans une file d’attente et il faut parfois attendre plus de 60 min !
  • http://ipinfo.info/netrenderer > permet un rendu « instantané » mais limité aux navigateurs de la famille IE.

Même si ces outils en ligne sont pratiques pour ce qui concerne le rendu HTML / CSS, difficile de tester les fonctionnalités faisant usage de JavaScript.

Est-ce qu’il y a d’autres solutions intéressantes sur le web ?

Author: Damien Zufferey Categories: Développement Web Tags: ,

Ouverture du Blog

01/05/2009

Hello à tous,

Cela faisait déjà un moment que je projetais d’ouvrir un blog traitant de divers sujets IT comme l’Open source, Linux,  le développement ou encore la sécurité informatique.

Dans mes activités de développement ou d’administration système, il m’est souvent arrivé de trouver les solutions à mes problèmes en cherchant sur le web ou simplement soi-même après de longues expérimentations. N’étant pas forcément toujours un champion de l’ordre, je rédigeais quelques notes sur papier ou dans un document informatisé, la démarche à suivre pour régler tel ou tel problème. Après quelque temps, par exemple 6 mois plus tard, on souhaite à nouveau configurer tel système sur un serveur et oups!, après de multiples recherches infructueuses un peu partout dans ses documents, on se rend compte qu’on avait peut-être même pas pris de notes et qu’il sera nécessaire à nouveau de perdre son temps à rechercher la démarche à suivre sur le net pour une activité déjà réalisée par le passé.

Grâce à ce blog, je pourrai mettre par écrit des astuces qui me sont importantes et qui potentiellement pourront être utiles à d’autres personnes ou du moins je l’espère… De plus, grâce aux commentaires qui pourront être postés sur mes billets, il sera facile de partager ses expériences aux autres internautes.

A bientôt sur ce blog pour de futurs billets !

Author: Damien Zufferey Categories: Général Tags: