Dot - Graphviz

Le langage dot est un langage de description de graphes inventé vers 1990.

Ce fichier texte porte (normalement) comme extension .dot.

La documentation complète, écrite en anglais, est téléchargeable ici (au format PDF).

Graphviz est un ensemble d'outils, écrits en C, dont dot qui est un outil en ligne de commande permettant, depuis un fichier .dot, de générer un fichier image, dans différents formats (GIF, PNG, SVG, PDF, ...), représentant un organigramme.

dot est à la fois le nom du langage et le nom de l'outil.

Aperçus

Graphviz peut être téléchargé et installé sur quasi tout système d'exploitation.

Installation sous Windows 11

Ce logiciel fonctionne sous Windows, mais il n'est pas designed for Windows. Seul l'outil "dot" (dot.exe et toutes ses dépendances) est nécessaire pour générer un fichier image.

Pour obtenir cet outil, on peut télécharger : graphviz-3.0.0 (32-bit) ZIP archive (contains all tools and libraries) = windows_10_msbuild_Release_graphviz-3.0.0-win32.zip

Une fois l'archive dézippée, le programme dot.exe peut être utilisé (dans un terminal)

Un fichier d'extension .dot (généré, par exemple, par autodoc.py) peut être copié (dans le dossier contenant dot.exe)

Alors, dans un terminal (ouvert dans ce dossier), la commande :
.\dot -Tsvg archiv2.dot > archiv2.svg
générera un fichier image (au format SVG)

dot.exe et ses dépendances sont dans le dossier d'installation.
Par exemple : ...\cours\logiciels\graphviz\exe

Exemple d'utilisation

Dans un programme, une fonction peut en appeler une autre.

Un fichier .dot peut être créé par programmation.

autodoc.py est un programme, écrit en Python, permettant notamment de cartographier toutes les fonctions d'un autre programme, écrit en Python.

Rappel : Comportement de votre navigateur

Votre navigateur affiche un fichier-texte comme s'il avait été codé en latin-1. Les fichier-textes codés en UTF-8 afficheront alors des caractères bizarres, notamment au niveau des lettres accentuées.

autodoc.py (fichier-texte)

Une ligne dans le .dot = une ligne dans le dessin entre deux fonctions : fonctionA -> fonctionB;

Écrire fonctionA -> fonctionB -> fonctionC; ne présente aucun avantage au niveau de la taille du fichier image généré. Seul le fichier .dot sera un peu plus petit. Exemple d'un fichier .txt (codé en dot), généré par autodoc.py :

archiv2.txt (fichier-texte)

L'extension normale (.dot) a été remplacée par .txt afin que votre navigateur puisse afficher son contenu.

Dans un terminal ouvert dans le dossier contenant le fichier archiv2.dot, la commande suivante :

dot -Tsvg archiv2.dot > archiv2.svg

permet de générer le fichier SVG suivant :

archiv2.svg (fichier-texte, affichant une image dans un navigateur)