Dia: Alternative à Visio sous Mac OS X

Publié le 25 avril 2008 par Nicolargo

Dans le cadre de mon boulot et de ce blog, j’ai souvent des diagrammes réseau à faire. Je cherchais depuis un bon moment une altervative open-source à Microsoft Viso sous Mac OS X, je viens de trouver mon bonheur: Dia. Nous allons dans ce billet en décrire l’installation et la configuration.

Installation de Dia sous Mac OS X

Dia est un logiciel Gnome (c’est à dire à la base prévu pour les OS Linux), il faut donc installer un certain nombre de pré-requis sur votre Mac OS X. Nous allons commencer par les Darwin Ports:

1) Télécharger et installer la dernière version des Darwin Ports

2) Mettre à jour vos ports à partir d’un terminal:
# sudo port -d selfupdate

On installe ensuite Dia

# cd /opt/local/var/macports/sources/rsync.macports.org/release/ports/gnome/dia/
# sudo port install dia

Pour lancer l’application:

# dia
> Rien ne vous empêche de créer une icône de raccourcie…

Si vous rencontrez l’erreur suivante lors de l’installation de Dia:

….
-DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -D_REENTRANT=1 -I/opt/local/include/libxml2 -I/opt/local/include -I/opt/local/include/python2.5 -c libxml2-py.c -o build/temp.macosx-10.3-i386-2.5/libxml2-py.o
unable to execute -DNDEBUG: No such file or directory
error: command ‘-DNDEBUG’ failed with exit status 1

Il faut effectuer les actions suivantes:

# sudo /opt/local/bin/port
> install py25-libxml2
> quit

Puis relancer l’installation:

# sudo port install dia

Configuration de Dia pour les schémas réseau (optionnel)

Les icônes fournies par défaut ne sont pas très classes… En surfant un peu sur Google, je suis tombé sur ce billet proposant des icônes SVG “à la Visio”.

La méthode pour découper cette image en autant d’icônes au format SVG (merci à Thomas Dubois pour le script Python) est décrite ci-dessous. Mais comme je suis un bon gars, je vous propose de télécharger une archive TGZ à décompresser dans votre répertoire local ~/.dia.

Pour les geeks, voici la procédure à suivre pour générer les fichiers. Attention, il faut avoir Inkscape installé sur son Mac. Les opérations à faire sont les suivantes:

# cd ~
# mkdir svg
# cd svg
# wget http://www.softia-systems.net/contribs/dia_split_svg.py
# wget http://www.jcartier.net/ini/hardware.svg
# vi dia_split_svg_py
Remplacer la ligne
xmldoc = minidom.parse(’/path/to/file.svg’)
et
popen2.popen3(”/usr/bin/inkscape svg/%s.svg -e shape/%s.png -d 90 -z -D”%(i,i))
par:
xmldoc = minidom.parse(’./hardware.svg’)
et
popen2.popen3(”/Applications/Inkscape.app/Contents/Resources/bin/inkscape svg/%s.svg -e shape/%s.png -d 90 -z -D”%(i,i))
# python dia_split_svg.py

Vous allez obtenir:

  • un répertoire svg avec les fichiers SVG des objets
  • un répertoire shape avec les fichiers shapes correspondant
  • un fichier Youshape.sheet

Il ne reste plus qu’a les insérer dans votre configuration de Dia:

# cp YourSheet.sheet Network.sheet
# vi Network.sheet
Remplacer:
<name>Sample</name>
par:
<name>Network</name>
# cp Network.sheet ~/.dia/sheets
# cp shape/* ~/.dia/shapes/Network

Test final

Et voilà, vous pouvez maintenant relancer Dia