Le CPAN

Sébastien Aperghis-Tramoni, sebastien@aperghis.net

CPAN

  • Comprehensive Perl Archive Network

  • collection centralisée et distribuée de modules

  • créé en 1995

  • http://www.cpan.org/

  • >8.0 Go, >22 000 distributions, >4 000 auteurs

  • 262 miroirs

Search CPAN

  • http://search.cpan.org/

  • intégration distribuée de nombreux services

    • permaliens (par exemple : http://search.cpan.org/dist/Dancer/)

    • documentation en ligne + code source

    • navigation dans la distribution

    • rapports de tests automatiques

    • gestionnaire de tickets

    • forum de discussion dédié

    • système de notes et de critiques

Search CPAN

cpan(1)

  • commande et shell d'installation des modules

  • installation automatique des dépendances

  • exécution automatique des tests

cpan(1)

  • cpanp (CPANPLUS)

    • autre shell d'installation, plus modulaire

  • cpanm (cpanminus)

    • autre commande d'installation, plus simple

    • aucune configuration nécessaire

    •  cd ~/bin
       wget http://xrl.us/cpanm
       chmod +x cpanm

Les joyaux du CPAN

  • paradigme objet

    • Moose

    • Mouse, Moo

    • MooseX::Declare

Les joyaux du CPAN

  • expressions régulières

    • Regexp::Common, Regexp::Assemble

  • analyse

    • Parse::Yapp, Parse::RecDescent

    • Regexp::Grammars

Les joyaux du CPAN

  • date et heure

    • DateTime

    • DateTime::TimeZone

    • DateTime::Set, DateTime::Span

    • DateTime::Calendar:: Chinese, Christian, Coptic, FrenchRevolutionary, HalariSamvata, Hebrew, Japanese, Mayan, Pataphysical, ShalivahanaShaka, VikramaSamvata

Les joyaux du CPAN

  • XML

    • XML::LibXML, XML::LibXSLT

    • XML::Twig

Les joyaux du CPAN

  • bases de données

    • DBI

    • MySQL, PostgreSQL, SQLite, Oracle, JDBC, ODBC, Sybase, ADO DB, Unify et encore plus...

    • DBI::Proxy, DBD::Gofer

Les joyaux du CPAN

  • client web

    • LWP

    • HTML::Parser, HTML::TreeBuilder

    • WWW::Mechanize

    • WWW::Scripter

    • WWW::Mechanize::Firefox

Les joyaux du CPAN

  • génération de HTML, templating

    • Mason, Template Toolkit

  • frameworks web modernes

    • Dancer

    • Catalyst

Les joyaux du CPAN

Les joyaux du CPAN

  • programmation événementielle/asynchrone

Les joyaux du CPAN

  • et tant d'autres...

CPAN

  • des dizaines de nouveaux modules chaque jour

  • de nouvelles idées chaque semaine

  • de nouveaux paradigmes chaque année

CPAN

  • programmation LEGO

  • permet la création de logiciels complexes

  • excellente plate-forme de développement

  • à la fois communautaire et de qualité industrielle

  • contribution active de sociétés

LEGO

CPAN

  • « CPAN is the language, Perl is just its syntax » - Audrey Tang

  • véritable richesse de Perl

  • ciment de la communauté

Communauté

  • http://cpan-explorer.org/

  • dépendances entre modules

  • liens entre auteurs

  • communauté très active

  • IRC, forums, listes de diffusion

  • nombreuses conférences

Communauté

  • réseau social

  • plus cool que Facebook

  • plus hype que Twitter

  • n'hésitez pas à nous rejoindre

Merci