Diagnostic des Systèmes d'Information de Gestion Logistique (SIGL ...
SIGL CPAN : Graphe des dependances entre modules Perl
-
Upload
julian-bilcke -
Category
Technology
-
view
2.592 -
download
2
description
Transcript of SIGL CPAN : Graphe des dependances entre modules Perl
![Page 1: SIGL CPAN : Graphe des dependances entre modules Perl](https://reader034.fdocuments.fr/reader034/viewer/2022042614/55992f061a28ab0e7b8b4743/html5/thumbnails/1.jpg)
Système d’Information Graphique Logiciel
Du dépôt logiciel CPAN
![Page 2: SIGL CPAN : Graphe des dependances entre modules Perl](https://reader034.fdocuments.fr/reader034/viewer/2022042614/55992f061a28ab0e7b8b4743/html5/thumbnails/2.jpg)
Présentation de CPAN
• Un dépôt logiciel
• Une communauté
• 14 000 paquets logiciels
• Plus de 65 000 modules
![Page 3: SIGL CPAN : Graphe des dependances entre modules Perl](https://reader034.fdocuments.fr/reader034/viewer/2022042614/55992f061a28ab0e7b8b4743/html5/thumbnails/3.jpg)
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)
![Page 4: SIGL CPAN : Graphe des dependances entre modules Perl](https://reader034.fdocuments.fr/reader034/viewer/2022042614/55992f061a28ab0e7b8b4743/html5/thumbnails/4.jpg)
Solution
• Extraction directe des dépendances
• Approche par exploration de graphes
• Riche en possibilités :
Spatialisation, coloration, interactivité..
![Page 5: SIGL CPAN : Graphe des dependances entre modules Perl](https://reader034.fdocuments.fr/reader034/viewer/2022042614/55992f061a28ab0e7b8b4743/html5/thumbnails/5.jpg)
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
![Page 6: SIGL CPAN : Graphe des dependances entre modules Perl](https://reader034.fdocuments.fr/reader034/viewer/2022042614/55992f061a28ab0e7b8b4743/html5/thumbnails/6.jpg)
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 »
![Page 7: SIGL CPAN : Graphe des dependances entre modules Perl](https://reader034.fdocuments.fr/reader034/viewer/2022042614/55992f061a28ab0e7b8b4743/html5/thumbnails/7.jpg)
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
![Page 8: SIGL CPAN : Graphe des dependances entre modules Perl](https://reader034.fdocuments.fr/reader034/viewer/2022042614/55992f061a28ab0e7b8b4743/html5/thumbnails/8.jpg)
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
![Page 9: SIGL CPAN : Graphe des dependances entre modules Perl](https://reader034.fdocuments.fr/reader034/viewer/2022042614/55992f061a28ab0e7b8b4743/html5/thumbnails/9.jpg)
Applet Web Géphi
• Graphe de packages
• Coloration des nœuds
• Diamètre variable
• Interactif (JavaScript)
![Page 10: SIGL CPAN : Graphe des dependances entre modules Perl](https://reader034.fdocuments.fr/reader034/viewer/2022042614/55992f061a28ab0e7b8b4743/html5/thumbnails/10.jpg)
• 6 niveaux de dépendances
• De 9 packages utilisés…
• .. on passe à 33 au total !
Un exemple : App-Context
![Page 11: SIGL CPAN : Graphe des dependances entre modules Perl](https://reader034.fdocuments.fr/reader034/viewer/2022042614/55992f061a28ab0e7b8b4743/html5/thumbnails/11.jpg)
Archives logicielles
• Accumulation des versions
• Plusieurs versions du même package
• Utilisation de packages obsolètes !
![Page 12: SIGL CPAN : Graphe des dependances entre modules Perl](https://reader034.fdocuments.fr/reader034/viewer/2022042614/55992f061a28ab0e7b8b4743/html5/thumbnails/12.jpg)
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
![Page 13: SIGL CPAN : Graphe des dependances entre modules Perl](https://reader034.fdocuments.fr/reader034/viewer/2022042614/55992f061a28ab0e7b8b4743/html5/thumbnails/13.jpg)
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
![Page 14: SIGL CPAN : Graphe des dependances entre modules Perl](https://reader034.fdocuments.fr/reader034/viewer/2022042614/55992f061a28ab0e7b8b4743/html5/thumbnails/14.jpg)
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