Création d’une communauté de développeurs autour de la visualisation de graphes et des Web components

Codev4Graph est un projet financé pendant 2 ans (2023-2024) dans le cadre des Soutiens à Projets Innovants et Structurants de la Direction pour la Science Ouverte (DipSO) de l'INRAE.


Résumé

La visualisation de réseaux représentant des relations entre entités biologiques est un outil d’interprétation et de communication puissant pour la communauté. Le développement de solutions Web prenant en compte la spécificité des différents types de réseaux biologiques reste très coûteux en temps et le code produit difficilement réutilisable. Codev4Graph vise à fédérer une communauté de développeurs ayant pour objectif de mettre à disposition des composants Web facilitant le développement de solutions Web pour la visualisation de réseaux biologiques.


Objectifs

  • fédérer une communauté inter-CATI de développeurs autour de la visualisation des réseaux biologiques via le Web
  • partager nos connaissances et notre savoir-faire sur cette thématique
  • produire un catalogue de composants Web destiné à la visualisation des réseaux biologiques
  • produire et diffuser des solutions Web pour visualiser les principaux types de réseaux manipulés par notre communauté


Choix techniques

Afin de faciliter la maintenance et la réutilisabilité du code, nous avons choisi la solution technique des composants Web. Chaque composant Web correspond à un élément atomique d’une page Web ou à une combinaison d'éléments atomiques. Ainsi, une interface de visualisation sera composée de plusieurs composants correspondant aux nœuds, aux arêtes et aux labels du réseau mais aussi aux boutons, aux éléments de formulaire, etc… Cette vision très modulaire de la conception Web permet de réutiliser facilement les mêmes composants dans différentes interfaces. Parmi les frameworks reconnus à l’échelle mondiale permettant de développer facilement des composants Web, le framework Vue.js semble être celui le plus largement adopté par les développeurs que nous connaissons au sein d’INRAE. En effet, par rapport à ses concurrents directs (REACT ou Angular), Vue.js est une solution entièrement communautaire. De plus, il est reconnu que Vue.js offre la courbe d’apprentissage la plus rapide, ce qui nous permet d’envisager une montée en compétences rapide des participants les plus néophytes. Par ailleurs, certains participants ont déjà une expérience solide dans le développement avec Vue.js. Un groupe de travail dans l’infrastructure nationale de métabolomique et fluxomique MetaboHub, dans lequel interviennent déjà des participants au projet, existe déjà depuis maintenant deux ans et pourra aider à la mise en place d’une communauté plus grande. Pour la partie visualisation du réseau proprement dite, deux librairies javascript sont utilisées classiquement pour dessiner le réseau en fonction de certaines contraintes : d3.js et Cytoscape.js. La première est une librairie de visualisation généraliste et bénéficie d’une très grande communauté de développeurs. La seconde est focalisée sur la visualisation de réseaux et montre une courbe d’apprentissage plus rapide que celle de d3.js. Nous évaluerons ces deux solutions à travers des benchmarks et des retours d’expérience.