Auteur:
NicoLargo

Date:
25/04/2008

Catégories:
Open-source
Reseau

Tags:



Dia: Alternative à Visio sous Mac OS X

dialogo.jpgDans 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

Diagramme1.dia.jpg

21 commentaires


  1. Toniob, le 25/04/2008 (#3856)

    Une seule chose à dire :
    –2008-04-25 17:15:22– http://www.nicolargo.com/blogdata/network4dia.tgz
    Résolution de http://www.nicolargo.com... 209.172.41.53
    Connexion vers http://www.nicolargo.com|209.172.41.53|:80…connecté.
    requête HTTP transmise, en attente de la réponse…403 Forbidden
    2008-04-25 17:15:23 ERREUR 403: Forbidden.

    Je dirais merci plus tard ;) .


  2. NicoLargo, le 25/04/2008 (#3857)

    @Toniob: tu peux réessayer ça doit marcher maintenant (enfin logiquement…)


  3. Toniob, le 25/04/2008 (#3858)

    Ou pas…


  4. NicoLargo, le 25/04/2008 (#3860)

    Bizarre, cela marche parfaitement de chez moi…
    Su tu veux je peux te mailler l’archive…


  5. Corbier, le 8/06/2008 (#4208)

    Tu doit bloquer wget car on ne peut pas dwl l’archive avec.


  6. NicoLargo, le 13/06/2008 (#4263)

    @Toniob & Corbier: c’est effectivement mon serveur Web qui bloque le user-agent wget. Une solution possible:

    # wget –user-agent=”Lynx/2.8.4rel.1 libwww-FM/2.14 SSL-MM/1.4.1 GNUTLS/0.8.12″ http://www.nicolargo.com/blogdata/network4dia.tgz

    a et désolé pour le pb.


  7. Jeff, le 21/07/2008 (#4648)

    Bonjour à tous,

    Il y a 2 choses que je regarde depuis que je tourne en rond sur ce logiciel :

    - personne n’a pensé aux malheureux utilisateurs de Windows comme moi
    - personne n’a l’air géné par le manque de la fonction rotation des objets ?

    Pour faire court, ne seait-il pas possible de simplement générer un fichier ZIP qui contient le SVG de chaque objet ? plutot que de laisser le soin à chacun de refaire la manip avec le script python ?

    Merci,
    Jean-François.


  8. thierry chich, le 1/08/2008 (#4747)

    @Jeff
    Ben y a une version windows très simple à installer.

    Pour ce qui est de la rotation, ce n’est pas très cool, il faut bien le reconnaître. On doit se contenter des symétries…


  9. ditoo, le 27/11/2008 (#5401)

    je me trouve devant un petit soucis quand je tape sudo port le terminal me répond sudo: port : command not found
    que dois faire?


  10. ditoo, le 1/12/2008 (#5417)

    j’ai réussi la commande sudo port mais a l’install de dia j’ai cela

    macbook-de-david-3:// davidtheate$ cd /opt/local/var/macports/sources/rsync.macports.org/release/ports/gnome/dia/
    macbook-de-david-3:dia davidtheate$ sudo port install dia
    —> Configuring expat
    Error: Target org.macports.configure returned: configure failure: shell command ” cd “/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_textproc_expat/work/expat-2.0.1″ && ./configure –prefix=/opt/local –mandir=/opt/local/share/man ” returned error 77
    Command output: checking build system type… i386-apple-darwin9.5.0
    checking host system type… i386-apple-darwin9.5.0
    checking for gcc… /usr/bin/gcc-4.0
    checking for C compiler default output file name… configure: error: C compiler cannot create executables
    See `config.log’ for more details.

    Error: The following dependencies failed to build: gtk2 atk gettext expat libiconv gperf ncurses ncursesw glib2 pkgconfig cairo fontconfig freetype zlib libpixman libpng xrender xorg-renderproto render jasper jpeg pango Xft2 xorg-xproto shared-mime-info intltool gnome-common p5-xml-parser perl5.8 perl5 libxml2 tiff libart_lgpl libxslt popt
    Error: Status 1 encountered during processing.
    peut on m’aider
    merci


  11. Mallory, le 12/12/2008 (#5471)

    bonjour, hum,hum
    voilà, je suis une complète novice…
    et c’est bien là le problème, je ne comprends rien
    j’ai essayé de suivre les instructions, je suis aller dans Terminal et rentré les données et rien, rien du tout…
    Help


  12. sloter, le 26/02/2009 (#6049)

    Merci pour ce didacticiel!

    Pour le moment le lien n’est pas connecté à la shape et quand je bouge la shape le lien reste à son emplacement…

    Est-il possible d’ajouter des points d’ancrage aux shapes afin de les relier entre elles en utilisant les liens dia? Comment faire?

    Merci,


  13. Benoit, le 27/02/2009 (#6062)

    Ca ne fonctionne pas du tout, le script ne genere pas du tout ce qui est attendu
    (on obtient que des shapes, qui sont en fait des SVG mal nommée, alors que DIA essaye d’ouvrir des .PNG)

    Les SVG sont découpées n’importe comment , on a des SVG enormes pour des images toute petites; etc…

    Inutilisable.


  14. Benoit, le 27/02/2009 (#6063)

    Bon fait ca marche

    Il fallait spécifier le chemin de inkscape contrairement a ce qui est indiqué.

    Par contre dans les shapes obtenue y’a de grosses erreurs de decoupages.


  15. Fred, le 2/03/2009 (#6073)

    Bonjour,

    pour les erreurs de dependance (pb de ditoo), il faut installer XCode.

    Voila

    A bientot


  16. Seb, le 24/03/2009 (#6179)

    Procédure et .tgz compatible Linux (sur Debian Lenny)
    cf http://web.sdubois.net/blog/?p=83
    Merci beaucoup !


  17. gz, le 10/04/2009 (#6248)

    @Seb : Tu n’apportes rien sur ton blog, c’est exactement la même archive qu’ici et tu ne met pas à jour la procédure pour la rendre “compatible Linux”..
    Bref c’est de la pub.

    J’ai essayé sous debian lenny, en utilisant le script python ou bien en important le fichier tgz, il faut bien dire que beaucoup d’images n’ont pas le résultat attendu quand on les utilise sur dia (images petites dans un cadre énorme).
    Pour certaines cela fonctionne mais pour le reste très moyen.

    Je pense que le faire à la main avec inkscape reste la meilleure solution


  18. Talon, le 16/04/2009 (#6264)

    Bonjour,

    Déjà merci pour le tuto qui m’a servi de base pour l’installation / utilisation de Dia.

    voici modifications que j’ai du apportées au tuto avec la version actuelle de darwinport (v1.7) sous mac os x 10.5.6 :
    * la mise à jour des ports n’est plus possible en natif : darwinport configure les chemins dans ~/.profile et non dans ~/.bash_profile. Il en résulte qu’on ne trouve pas directement l’application ‘port’. Donc, avant l’étape 2, il faut ajouter la ligne suivante au fichier .bash_profile : “. ~/.profile” (bien entendu sans les “). Ensuite executez la commande source ~/.bash_profile (et là on peut commencer l’étape 2 – l’application port est trouvée).
    * le “cd /opt/local/var/…” n’est plus nécessaire, port installe tout au bon endroit maintenant.
    * je n’ai pas eu d’erreur avec python
    * pour les dépendances foireuses, je ne peux as savoir acr j’avais déjà installer XCode auparavant.

    Codrialement

    Talon


  19. Master, le 31/12/2009 (#7412)

    Salut,

    je suis tombé sur le blog de JCartier et comme la methode de decoupe n’est pas toujours satisfaisante a cause de fonctions svg non supportés par DIA, j’ai retraité la totalité des images de JCartier a la main (merci Vim) pour que ce soit optimal en taille et en coordonnées car beaucoup d’information inutile dans le svg.
    J’y ai passé une semaine… et ca rend pas trop mal.
    http://forum.master-inside.com/viewtopic.php?f=1&t=62


  20. seb, le 10/03/2010 (#7751)

    gz : le principe d’un blog c’est pas forcément d’être innovant. J’ai cité mes sources précisément et juste fait un résumé fonctionnel pour qqn sous Lenny avec un Dia qui veut pas s’amuser à faire un script pour découper le travail de Jean Cartier. J’ai fait une copie de l’archive car je maîtrise ainsi la pérennité du lien :) . à nouveau merci pour nicolargo

    Master : Super !! Chapeau pour le taf, du coup j’ai mis à jour mon blog ;) Une fois dezipé, il y a dans le dossier shapes un petit mv DBMS_server.png dbms_server.png nécessaire pour eviter le
    ** (dia:10421): WARNING **: Impossible d’ouvrir le fichier icône /home/sdubois/.dia/shapes/Network/dbms_server.png pour l’objet de type « Network FI – dbms_server »

    gz : j’ai inclus la modif du mv dans le .zip de mon blog comme ça vous avez la feuille Réseau et Network_FI au choix ;)


  21. François, le 5/04/2010 (#7865)

    Bonjour,

    J’ai cette méchante erreur au lancement du script python, quelqu’un peut-il m’aider ? Merci.

    FDV:test francois$ python dia_split_svg.py
    Traceback (most recent call last):
    File “dia_split_svg.py”, line 35, in
    loc = locale.getdefaultlocale()
    File “/System/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/locale.py”, line 441, in getdefaultlocale
    return _parse_localename(localename)
    File “/System/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/locale.py”, line 373, in _parse_localename
    raise ValueError, ‘unknown locale: %s’ % localename
    ValueError: unknown locale: UTF-8
    FDV:test francois$


Laisser un message

Les informations saisies resteront privées.