Système d’Information Graphique Logiciel Du dépôt logiciel CPAN
Présentation de CPAN <ul><li>Un dépôt logiciel </li></ul><ul><li>Une communauté </li></ul><ul><li>14 000 paquets logiciels...
Problématique <ul><li>Dépendances fortes </li></ul><ul><li>Comment les représenter ? </li></ul><ul><li>L’approche CPAN dep...
Solution <ul><li>Extraction directe des dépendances </li></ul><ul><li>Approche par exploration de graphes </li></ul><ul><l...
Etape 1 : Moisson de CPAN <ul><li>Robot de collecte.. en Java ! </li></ul><ul><li>Téléchargement du code source </li></ul>...
Etape 2 : Plateforme de consultation <ul><li>Modèle client / serveur </li></ul><ul><li>Plusieurs clients : </li></ul><ul><...
Plugin Géphi <ul><li>Recherche paramétrée : </li></ul><ul><ul><li>Dépendances d’un composant </li></ul></ul><ul><ul><li>Ut...
Coté serveur : GFeed <ul><li>Application Python </li></ul><ul><li>Génération de graphes à la demande </li></ul><ul><li>Sta...
Applet Web Géphi <ul><li>Graphe de packages </li></ul><ul><li>Coloration des nœuds </li></ul><ul><li>Diamètre variable </l...
<ul><li>6 niveaux de dépendances </li></ul><ul><li>De 9 packages utilisés… </li></ul><ul><li>.. on passe à 33 au total ! <...
Archives logicielles <ul><li>Accumulation des versions </li></ul><ul><li>Plusieurs versions du même package </li></ul><ul>...
Etat du projet <ul><li>Base de données du mois de Mai </li></ul><ul><li>Intégration avec Géphi : </li></ul><ul><ul><li>Rec...
Objectifs à moyen terme <ul><li>Création du site plateforme </li></ul><ul><li>Améliorations prioritaires : </li></ul><ul><...
TX SIGL CPAN - Printemps 2008 <ul><li>Remerciements </li></ul><ul><li>Antoine Jouglet </li></ul><ul><li>Mathieu Bastian </...
Prochain SlideShare
Chargement dans…5
×

SIGL CPAN : Graphe des dependances entre modules Perl

2 882 vues

Publié le

Présentation d\'un prototype de système de visualisation du réseau de dépendances logicielles entre les librairies Perl de la communauté CPAN (+ 14 500 modules).
Rapport complet : http://tinyurl.com/sigl-rapport
Galerie d\'images : http://tinyurl.com/sigl-gallery

Publié dans : Technologie
0 commentaire
2 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

Aucun téléchargement
Vues
Nombre de vues
2 882
Sur SlideShare
0
Issues des intégrations
0
Intégrations
248
Actions
Partages
0
Téléchargements
4
Commentaires
0
J’aime
2
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

SIGL CPAN : Graphe des dependances entre modules Perl

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

×