Journée Perl 2012 - StrasbourgRetours dexpérience sur une utilisation        avancée du MetaCPAN  Erwan Labynocle Ben Soui...
■▪▪▪▪▪▪▪▪▪▪                                                                                         Plan                  ...
▪■▪▪▪▪▪▪▪▪▪                                                                                     Antepedia                 ...
▪■▪▪▪▪▪▪▪▪▪                                                                                   Antepedia De quelles informa...
▪■▪▪▪▪▪▪▪▪▪                                                                                                            Ant...
▪▪■▪▪▪▪▪▪▪▪                                                                                      CPAN   Comprehensive Perl...
▪▪■▪▪▪▪▪▪▪▪                                                                                      CPAN   Comment récupérer ...
▪▪■▪▪▪▪▪▪▪▪                                                                                      CPANYa til toutes les inf...
▪▪■▪▪▪▪▪▪▪▪                                                                                      CPAN                   AP...
▪▪▪■▪▪▪▪▪▪▪                                                                                   MetaCPAN         Alternative...
▪▪▪■▪▪▪▪▪▪▪                                                                                   MetaCPAN  Pourquoi lAPI Meta...
▪▪▪■▪▪▪▪▪▪▪                                                                                   MetaCPAN                    ...
▪▪▪■▪▪▪▪▪▪▪                                                             MetaCPAN Comment utiliser lAPI MetaCPAN ? $ curl h...
▪▪▪■▪▪▪▪▪▪▪                                                                                   MetaCPAN  Passage à léchelle...
▪▪▪■▪▪▪▪▪▪▪                                                                                   MetaCPAN     www.elasticsear...
▪▪▪▪■▪▪▪▪▪▪                                                                                   BackPAN  Ce qui est sur le C...
▪▪▪▪▪■▪▪▪▪▪                                                                       CPAN dans Antepedia  Le process dintégra...
▪▪▪▪▪▪■▪▪▪▪                                                                                   La communauté  Un travail co...
▪▪▪▪▪▪▪■▪▪▪                                                                         Exemple avec DancerRetours dexpérience...
▪▪▪▪▪▪▪■▪▪▪                                                                         Exemple avec Dancer Archive dune distr...
▪▪▪▪▪▪▪■▪▪▪                                                                         Exemple avec Dancer Fichier provenant ...
▪▪▪▪▪▪▪■▪▪▪                                                                         Exemple avec Dancer Fichier provenant ...
▪▪▪▪▪▪▪▪■▪▪                                                                                        Bilan  Le projet MetaCP...
▪▪▪▪▪▪▪▪■▪▪                                                                                           BilanP o u r A m e l...
▪▪▪▪▪▪▪▪▪■▪                                            Pour quelques stats en plus...                                     ...
▪▪▪▪▪▪▪▪▪■▪                                            Pour quelques stats en plus...                                     ...
▪▪▪▪▪▪▪▪▪■▪                                            Pour quelques stats en plus...                                     ...
▪▪▪▪▪▪▪▪▪■▪                                            Pour quelques stats en plus...                                     ...
▪▪▪▪▪▪▪▪▪■▪                                            Pour quelques stats en plus...                                     ...
▪▪▪▪▪▪▪▪▪■▪                                            Pour quelques stats en plus...                                     ...
▪▪▪▪▪▪▪▪▪▪■                                                                                   Insolites dans CPAN  Notre a...
Questions                                                                                   illustration issue de The Big ...
Prochain SlideShare
Chargement dans…5
×

Retour d'expérience sur une utilisation avancée du MetaCPAN - journée Perl 2012

3 774 vues

Publié le

Dans le cadre de l'activité d'Antelink, nous avons dû utiliser le MetaCPAN afin d'indexer et qualifier le contenu CPAN dans Antepedia, notre base de connaissance de composants open source.
Nous proposons cette présentation afin de montrer :
* une utilisation concrète du MetaCPAN à une grande échelle dans un environnement de production
* l'intêret d'un tel projet par rapport à l'API officielle de CPAN
* comment nous avons travaillé de pair avec la communauté Perl autour de ce projet.

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

  • Soyez le premier à aimer ceci

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

Aucune remarque pour cette diapositive

Retour d'expérience sur une utilisation avancée du MetaCPAN - journée Perl 2012

  1. 1. Journée Perl 2012 - StrasbourgRetours dexpérience sur une utilisation avancée du MetaCPAN Erwan Labynocle Ben Souiden - erwan@aleikoum.net - @labynocle - Antelink
  2. 2. ■▪▪▪▪▪▪▪▪▪▪ Plan Antepedia CPAN MetaCPAN BackPAN La communauté Exemple avec Dancer Pour quelques stats en plus... Insolites vu dans CPANRetours dexpérience sur une utilisation avancée du MetaCPAN – Journée Perl 2012 2
  3. 3. ▪■▪▪▪▪▪▪▪▪▪ Antepedia La plus grande base de connaissance de composants Open Source +1M de projets (+2M avec les projets Github) +500M de fichiers +1k projets ajoutés quotidiennement +44To de données stockéesRetours dexpérience sur une utilisation avancée du MetaCPAN – Journée Perl 2012 3
  4. 4. ▪■▪▪▪▪▪▪▪▪▪ Antepedia De quelles informations avons nous besoin ? Une description du projet LURL du projet La licence du projet Les archives des releases avec leurs numéros de version et leurs dates Ladresse du repositoryRetours dexpérience sur une utilisation avancée du MetaCPAN – Journée Perl 2012 4
  5. 5. ▪■▪▪▪▪▪▪▪▪▪ Antepedia Le cas Perl Diagramme des langages les plus utilisés stats venant du Tiobe Index 2011 (par Tiobe Software)Retours dexpérience sur une utilisation avancée du MetaCPAN – Journée Perl 2012 5
  6. 6. ▪▪■▪▪▪▪▪▪▪▪ CPAN Comprehensive Perl Archive Network - www.cpan.org héberge tous les modules et distributions Perl... … ainsi que des informations/métadonnées les concernant maintenu par la communauté et soutenu par de nombreuses entreprisesRetours dexpérience sur une utilisation avancée du MetaCPAN – Journée Perl 2012 6
  7. 7. ▪▪■▪▪▪▪▪▪▪▪ CPAN Comment récupérer les informations automatiquement ? via le site : www.cpan.org via lAPI CPAN : search.cpan.org/apiRetours dexpérience sur une utilisation avancée du MetaCPAN – Journée Perl 2012 7
  8. 8. ▪▪■▪▪▪▪▪▪▪▪ CPANYa til toutes les informations dont nous avons besoin ?Exemple avec Dancer : Une description du projet A minimal-effort oriented web application framework LURL du projet ??? La licence du projet The Perl 5 License (Artistic 1 & GPL 1) Les archives des releases avec leurs numéros de version et leurs dates Dancer-1.3095.tar.gz - version ??? – 2012/04/01 Dancer-1.3094.tar.gz - version ??? – 2012/03/31 Ladresse du repository http://github.com/sukria/DancerRetours dexpérience sur une utilisation avancée du MetaCPAN – Journée Perl 2012 8
  9. 9. ▪▪■▪▪▪▪▪▪▪▪ CPAN API « officielle » Support du format JSON et XML Certaines informations ne sont pas retournées (license, repository) par lAPI... … et certaines informations manquent (URL du projet) API moins souple au niveau des requêtes (3 types de requêtes) Ne retourne pas les informations sur les distributions qui ont un status « backpan »Retours dexpérience sur une utilisation avancée du MetaCPAN – Journée Perl 2012 9
  10. 10. ▪▪▪■▪▪▪▪▪▪▪ MetaCPAN Alternative Open Source et gratuite à search.cpan.org … sappuyant sur les données déclarées … ainsi que les données provenant dautres sites (ex : Github) Depuis 2010 2 contributeurs principaux mais plus de 40 participants Un frontend : www.metacpan.org Et une API MetaCPAN dédiée : api.metacpan.orgRetours dexpérience sur une utilisation avancée du MetaCPAN – Journée Perl 2012 10
  11. 11. ▪▪▪■▪▪▪▪▪▪▪ MetaCPAN Pourquoi lAPI MetaCPAN a des résultats plus riches ? Toutes les informations sont présentes... et même plus ! Retourne les informations sur des distributions qui ne sont plus sur le CPAN LAPI est beaucoup plus souple en permettant de lancer des requêtes très complexes et pointues Support de la recherche * Support du format JSON Le contenu du MetaCPAN est mis à jour toutes les heures et regarde le contenu des distributions (META.json)Retours dexpérience sur une utilisation avancée du MetaCPAN – Journée Perl 2012 11
  12. 12. ▪▪▪■▪▪▪▪▪▪▪ MetaCPAN illustration de xkcd.orgRetours dexpérience sur une utilisation avancée du MetaCPAN – Journée Perl 2012 12
  13. 13. ▪▪▪■▪▪▪▪▪▪▪ MetaCPAN Comment utiliser lAPI MetaCPAN ? $ curl http://api.metacpan.org/release/Dancer { "resources" : { "repository" : { "url" : "http://github.com/sukria/Dancer" }, "homepage" : "http://perldancer.org/", "bugtracker" : { "web" : "http://github.com/sukria/Dancer/issues" } }, "status" : "latest", "date" : "2012-04-01T19:22:56", "author" : "XSAWYERX", "maturity" : "released", "dependency" : [ { 13 "relationship" : "requires",Retours dexpérience sur une utilisation avancée du MetaCPAN – Journée Perl 2012
  14. 14. ▪▪▪■▪▪▪▪▪▪▪ MetaCPAN Passage à léchelle ? Une seule règle dutilisation : BE POLITE Problèmes avec les requêtes qui retournent beaucoup de résultats Les requêtes de type search * sont trop lourdes Tuning des paramètres (size, fields)Retours dexpérience sur une utilisation avancée du MetaCPAN – Journée Perl 2012 14
  15. 15. ▪▪▪■▪▪▪▪▪▪▪ MetaCPAN www.elasticsearch.org Moteur de recherche distribué, RESTful écrit en JAVA MetaCPAN sappuie sur elasticsearch pour la recherche paginée et permettre le passage à léchelleRetours dexpérience sur une utilisation avancée du MetaCPAN – Journée Perl 2012 15
  16. 16. ▪▪▪▪■▪▪▪▪▪▪ BackPAN Ce qui est sur le CPAN ny reste pas forcément ! BackPAN – backpan.perl.org – est un mirror CPAN où aucun contenu nest effacé En mergeant le contenu BackPAN et celui de notre mirroir CPAN, on couvre toute lhistoire de Perl !Retours dexpérience sur une utilisation avancée du MetaCPAN – Journée Perl 2012 16
  17. 17. ▪▪▪▪▪■▪▪▪▪▪ CPAN dans Antepedia Le process dintégration du CPAN dans Antepedia : Découverte de tous les projets – via lAPI MetaCPAN Récupération des informations pour chaque projets trouvés – via lAPI MetaCPAN Download des distributions associées à chaque projet – via le miroir CPAN dAntelink Extractions des distributions Si déclaré : dump du repository (GIT,SVN ou CVS)Retours dexpérience sur une utilisation avancée du MetaCPAN – Journée Perl 2012 17
  18. 18. ▪▪▪▪▪▪■▪▪▪▪ La communauté Un travail continu avec la communautéRetours dexpérience sur une utilisation avancée du MetaCPAN – Journée Perl 2012 18
  19. 19. ▪▪▪▪▪▪▪■▪▪▪ Exemple avec DancerRetours dexpérience sur une utilisation avancée du MetaCPAN – Journée Perl 2012 19
  20. 20. ▪▪▪▪▪▪▪■▪▪▪ Exemple avec Dancer Archive dune distributionRetours dexpérience sur une utilisation avancée du MetaCPAN – Journée Perl 2012 20
  21. 21. ▪▪▪▪▪▪▪■▪▪▪ Exemple avec Dancer Fichier provenant dune distributionRetours dexpérience sur une utilisation avancée du MetaCPAN – Journée Perl 2012 21
  22. 22. ▪▪▪▪▪▪▪■▪▪▪ Exemple avec Dancer Fichier provenant du repository déclaréRetours dexpérience sur une utilisation avancée du MetaCPAN – Journée Perl 2012 22
  23. 23. ▪▪▪▪▪▪▪▪■▪▪ Bilan Le projet MetaCPAN a permis davoir un point dentrée unique et efficace pour découvrir le contenu du CPAN... … mais aussi de qualifier complètement ce contenu … de façon automatique ce process tourne aujourdhui dans notre production sans interruption pour les contributeurs Perl, il reste un moyen simple pour la déclaration et la récupération dinformationsRetours dexpérience sur une utilisation avancée du MetaCPAN – Journée Perl 2012 23
  24. 24. ▪▪▪▪▪▪▪▪■▪▪ BilanP o u r A m e lio r e r la q u a lit e d e s in fo r m a t io n s ,U t ilis e z E t a b u s e z d u ME TA C PA N illustration de xkcd.orgRetours dexpérience sur une utilisation avancée du MetaCPAN – Journée Perl 2012 24
  25. 25. ▪▪▪▪▪▪▪▪▪■▪ Pour quelques stats en plus... illustrations par Hasni AlamatRetours dexpérience sur une utilisation avancée du MetaCPAN – Journée Perl 2012 25
  26. 26. ▪▪▪▪▪▪▪▪▪■▪ Pour quelques stats en plus... illustrations par Hasni AlamatRetours dexpérience sur une utilisation avancée du MetaCPAN – Journée Perl 2012 26
  27. 27. ▪▪▪▪▪▪▪▪▪■▪ Pour quelques stats en plus... illustrations par Hasni AlamatRetours dexpérience sur une utilisation avancée du MetaCPAN – Journée Perl 2012 27
  28. 28. ▪▪▪▪▪▪▪▪▪■▪ Pour quelques stats en plus... illustrations par Hasni AlamatRetours dexpérience sur une utilisation avancée du MetaCPAN – Journée Perl 2012 28
  29. 29. ▪▪▪▪▪▪▪▪▪■▪ Pour quelques stats en plus... illustrations par Hasni AlamatRetours dexpérience sur une utilisation avancée du MetaCPAN – Journée Perl 2012 29
  30. 30. ▪▪▪▪▪▪▪▪▪■▪ Pour quelques stats en plus... Stats dexploitation illustrations par Hasni AlamatRetours dexpérience sur une utilisation avancée du MetaCPAN – Journée Perl 2012 30
  31. 31. ▪▪▪▪▪▪▪▪▪▪■ Insolites dans CPAN Notre analyse a révélé plus de 200 distributions en doublon avec les cas particuliers suivants : CGI.pm-3.02_alpha.tar.gz et CGI.pm-3.02.tar.gz sont en réalité identiques : une alpha qui devient la vraie release ? Gtk2-TrayIcon-0.03.tar.gz est retrouvé en doublon sous le nom Gtk2- TrayIcon-0.03_foo.tar.gz avec une version 0.02. Version déclarée pas en phase avec la version de la release ?Retours dexpérience sur une utilisation avancée du MetaCPAN – Journée Perl 2012 31
  32. 32. Questions illustration issue de The Big Bang TheoryRetours dexpérience sur une utilisation avancée du MetaCPAN – Journée Perl 2012 32

×