sigl cpan : graphe des dependances entre modules perl
Post on 05-Jul-2015
2.592 Views
Preview:
DESCRIPTION
TRANSCRIPT
Système d’Information Graphique Logiciel
Du dépôt logiciel CPAN
Présentation de CPAN
• Un dépôt logiciel
• Une communauté
• 14 000 paquets logiciels
• Plus de 65 000 modules
Problématique
• Dépendances fortes
• Comment les représenter ?
• L’approche CPAN deps :– Dépendances entre packages uniquement
– Versions obsolètes ignorées
– Il manque des dépendances !
– Exploration limitée (liens vers page CPAN)
Solution
• Extraction directe des dépendances
• Approche par exploration de graphes
• Riche en possibilités :
Spatialisation, coloration, interactivité..
Etape 1 : Moisson de CPAN
• Robot de collecte.. en Java !
• Téléchargement du code source
• Téléchargement des métadonnées
• Adaptation aux :–Différents formats d’archives
–Différentes structures et syntaxes
Etape 2 : Plateforme de consultation
• Modèle client / serveur
• Plusieurs clients :–Plugin Géphi
–Navigateur Web : XML, SVG..
–Navigateur Web : Applet Géphi
« CPAN Explorer »
Plugin Géphi
• Recherche paramétrée :– Dépendances d’un composant
– Utilisateurs du composant
– Profondeur réglable
• Téléchargement des graphes
• Utilisation des outils de Géphi
Coté serveur : GFeed
• Application Python
• Génération de graphes à la demande
• Standalone, portable et léger
• Peut gérer le multi-formats (GDF, PNG..)
• Scalable (Intégration avec Apache, FCGI..)
• Possibilité d’envoyer des flux de graphes
Applet Web Géphi
• Graphe de packages
• Coloration des nœuds
• Diamètre variable
• Interactif (JavaScript)
• 6 niveaux de dépendances
• De 9 packages utilisés…
• .. on passe à 33 au total !
Un exemple : App-Context
Archives logicielles
• Accumulation des versions
• Plusieurs versions du même package
• Utilisation de packages obsolètes !
Etat du projet
• Base de données du mois de Mai
• Intégration avec Géphi :–Recherche simple de composants Perl
–Consultation des graphes globaux
• Prototype de l’applet publique
• Evaluation avec des développeurs
Objectifs à moyen terme
• Création du site plateforme
• Améliorations prioritaires :–Mise à jour automatisée
– Envoi en streaming
–Mise en cache
• Association avec la communauté CPAN
TX SIGL CPAN - Printemps 2008Remerciements• Antoine Jouglet
• Mathieu Bastian
• Sébastien Heymann
Liens• Géphi: http://gephi.org
• Jeremy Palmier
• Thomas Drugeon
• La communauté Perl
top related