Techno : graphviz (la suite)

graph
Dans les projets informatique actuels, nous avons de plus en plus de besoin autour des représentations graphiques. Nous cherchons à représenter des données tabulaires sous la forme d’arbre, sous la forme de diagramme, et sous la forme de possibilité et autres.

Cet article est la suite de la première partie, elle représente une synthèse sur mes recherches actuelles autour de graphviz, autour d’UML, et autour du web.

On recherche des moyens de collecter des données, des moyens de représenter ces données pour les rendre plus parlantes, et des moyens pour interagir avec.

Par exemple, lors que l’on trace le parcours d’un utilisateur sur un site web, nous souhaitons visualiser son parcours, les possibilités de parcours et optimiser le chemin.

Dans cet article, je cherche à répondre à 3 grandes questions autour de graphviz.

  • Comment construire un fichier DOT depuis un programme java ?
  • Comment construire une représentation graphique Graphviz dans un navigateur ?
  • Comment rendre cette représentation graphique plus interactive. ?

Cet article est un synthèse de mes recherches actuelles sur le sujet. J’ai trouvé des projets informatique plus ou moins vivants. Je rassemble les projets les plus intéressants.

Comment construire un fichier DOT depuis un programme java ?

Il existe de très nombreuses librairies de création de fichier DOT pour Graphviz, pour trouver la bonne librairie, c’est un choix complexe.

J’ai recherché des libraires permettant de lire, et de modifier des fichiers DOT existants (le format de graphviz). J’ai recherché la possibilité de créer des objets complexe de plus au niveau, etc..

J’ai fixé des contraintes pour plusieurs raisons.

  • La possibilité d’utiliser des fichiers DOT existants.. ( pré-calculs)
  • La possibilité de compléter des fichiers , des ressources existantes.
  • L’apprentissage du langage dot demande du temps. La mise au point d’un librairie java encore plus.

Je vous propose 3 librairies.

A Java GraphViz graph builder and parser.

  • En cours

 

AJaPaD stands for Another Java Parser for DOT. It provides programmers with an ANTLR-based DOT parser and a Java API for creating, manipulating and serializing GraphViz/DOT graphs.

Actuellement aucunes des 3 librairies gère les tableaux HTML dans le format DOT.

Comment construire une représentation graphique Graphviz dans un navigateur ?

Il existe actuellement, deux grandes méthodes.

  • La méthode statique

La méthode statique consiste a généré des images PNG à partir de l’outil graphviz et de les déployer sur un site web. Cette méthode est utilisée dans Schema Spy et Schema Crawler lors de la visualisation des bases de données.

  • La méthode dynamique

Nous avons 3 grandes librairies javascript autour de graphviz : Canviz, Viz.js et Liviz.js.

J’ai retenu la libraire Viz.js, elle est maintenue et la dernière évolution date 17/11/2015. J’ai trouvé une petite notice d’utilisation.

Comment rendre cette représentation graphique plus interactive. ?

Lors de mes recherches sur graphviz javascript, je suis tombé sur des libraires Javascript JQUERY vers SVG.

Ces librairies permettent de rendre interactifs l’arbre SVG produit par Graphviz. J’aime beaucoup la petite démo suivante : démo

A++

Je vous invite à me laisser des commentaires sur vos trouvailles et vos essais.

 

 

A propos Duarte TERENCIO

Chef de projet et Architecte J2EE - Portail d'entreprise - Cloud computing Vous trouverez plus d'information sur la page "Me contacter"
Cet article, publié dans Programmation, Techno, est tagué , , , , , . Ajoutez ce permalien à vos favoris.

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s