[couverture de Linux Magazine 91]

Les Journées Perl 2006

Article publié dans Linux Magazine 91, février 2007.

Copyright © 2006 - Sébastien Aperghis-Tramoni

[+ del.icio.us] [+ Developers Zone] [+ Bookmarks.fr] [Digg this] [+ My Yahoo!]

Chapeau

Revenant cette année à Paris, les Journées Perl 2006 se déroulent à nouveau à la Cité des Sciences et de l'Industrie de la Villette, dans l'espace consacré aux nouvelles technologies.

Un succès malgré tout

[photo de la Cité des Sciences]
La Cité des Sciences

Si on peut reprocher une chose aux organisateurs, c'est bien le manque de transparence et de communication. Initialement prévue plus tôt dans l'année, elle a finalement été repoussée jusqu'à fin novembre, son organisation se faisant cahin-caha mais dans une grande opacité. Elle a malgré tout réunit plus de 70 personnes, qui ont pu choisir parmi une trentaine de présentations différentes.

Premier jour, samedi 25 novembre

Ce matin du premier jour débute comme il se doit par l'inscription de chaque participant. Chacun reçoit la désormais traditionnelle sacoche en tissu à l'effigie du logo officiel des Mongueurs, contenant cette année un exemplaire du dossier de Linux Magazine France consacré à Perl, un bloc-notes, un stylo et des brochures Talend ainsi que des brochures et goodies Red Hat. Les t-shirts de la conférence, eux aussi avec le logo des Mongueurs, sont de couleur beige pâle pour les participants et orange pour les organisateurs (à croire qu'un Léon Brocard est passé par là...)

[photo du public]
Une partie du public des Journées Perl 2006

Sans surprise, c'est avec du retard que David Elbaz ouvre la conférence, et invite chaque participant à se présenter. Il remercie par avance les personnes qui se sont déplacées pour venir assister aux nombreuses présentations proposées.

Laurent Gautrot débute en montrant comment installer sa propre version de Perl sur Nokia 770, une tablette internet qui tourne sous Debian GNU/Linux (cf. GLMF n°81). Comme l'installation normale de Perl est trop grosse à son goût, il lui fait subir une cure d'amaigrissement assez radicale.

Puis vient mon tour et j'explique comment écrire du code Perl relativement moderne mais compatible avec les anciennes versions du langage, par l'utilisation judicieuse de modules et éléments de syntaxe compatibles.

Xavier Caron enchaîne en montrant comme améliorer la qualité de son code Perl. Propagande CPAN-iste, protocole TAP, couverture de code et couverture fonctionnelle.. Xavier semble vouloir tout expliquer, et je me demande ce qu'il me restera à dire ! Surtout qu'il brosse rapidement mais doit certainement allécher plus d'un programmeur ;-)

Le déjeuner consiste en un couscous géant dans un restaurant pas loin de la Cité des Sciences. L'après-midi va être somnol^Wstudieuse !

Après ce consistant repas, Olivier Mengué commence par une courte présentation des notions de base sur les ORM (Object Relational Mapper), ces briques logicielles qui permettent de piloter une base de données comme une collection d'objets, évitant ainsi l'écriture de code SQL. Olivier enchaîne ensuite sur l'ORM de Django (Python), et est suivi de Noël Rocher qui parle d'Hibernate (Java), puis de Nicolas Chuche qui aborde ActiveRecord (Ruby) et enfin de Laurent Gautrot qui présente Class::DBI (Perl !). La plupart utilisent comme exemple la base de données d'une association de randonneurs, autorisant ainsi le public de facilement comparer la mise en application d'une même base avec ces différents ORM et langages.

[photo du dîner chez La Pouchla] [photo du dîner chez La Pouchla]
Le dîner au restaurant La Pouchla

Pendant ce temps, dans l'autre salle, Arnaud Assad montre tout l'intérêt qu'il y a à utiliser QPSTMPD, le mod_perl du mail. Il rappelle entre autres que bien qu'il soit écrit en Perl, ses performances n'ont rien à envier aux autres logiciels existants puisqu'il gère plus de 2 millions de mails par jour sur apache.org, et un nombre guère moins conséquent sur perl.org.

Michaël Scherer parle de manière curieuse de Djabberd, un serveur Jabber écrit en Perl, en illustrant avec des photos incongrues.

Ingrid Falk, chercheuse au CNRS, explique ensuite comment elle utilise Perl pour générer un lexique syntaxique, utilisant pour ce faire plusieurs modules Perl (XML::LibXML, Parse::RecDescent, Graph). Le but étant d'automatiser la production du lexique LDAL du projet SynLex, dans le cadre des systèmes de traitement automatique du langage (TAL).

Suit Thierry Hamon qui présente le projet ALVIS, un moteur de recherche spécialisé dans l'intégration d'informations sémantiques par une analyse linguistique des documents au travers d'une plate-forme exploitant des outils de TAL.

De retour dans la salle undef, on continue sur le sujet de ORM avec une présentation de DBIx::DataModel par Richard Gerber, Laurent Dami n'ayant pu venir à Paris. Ce module est encore un autre ORM, mais avec une vision orientée UML de la base de données. Nicolas Rennert termine sur ce sujet avec son ORM à lui, PerlPersistentObject.

Viennent alors deux présentations sur les environnements web avancés en Perl, avec Damien Krotkine qui introduit Mason de manière amusante, et Erik Colson qui montre les bases de Catalyst.

La soirée se passe au restaurant La Pouchla, découvert pendant les réunions alternatives de Paris.pm.

Second jour, dimanche 26 novembre

Pour ouvrir cette seconde journée, c'est Christian Aperghis-Tramoni qui commence salle undef par parler de Parrot, la machine virtuelle qui servira à exécuter le bytecode Perl 6. Il montre tout l'intérêt que cette machine virtuelle offre par son assembleur bien plus propre que les assembleurs machine (et en particulier de l'infâme dialecte Intel x86).

Suit Stéphane Payrard qui reprend une présentation d'Audrey Tang à propos de Pugs, de son évolution et de celle qu'il a induite dans les avancées simultanées de Perl 6 et Perl 5, comme le projet 6-on-5 qui consiste à traduire le code Perl 6 en Perl 5 afin de pouvoir l'exécuter avec l'interpréteur Perl5 actuel.

Il est suivi de Jonathan Worthington, un programmeur Parrot britannique, qui présente (en anglais) la théorie derrière les langages de programmation. Comment un code source est analysé et validé au travers d'une grammaire (qui définit le langage utilisé), convertit en un arbre de syntaxe abstrait (AST, Abstract Syntax Tree) et enfin exécuté ou convertit en assembleur ou bytecode pour machine virtuelle.

[photo de David Landgren]
Stéphane Payrard et Jonathan Worthington

Pendant ce temps, salle Talend, David Morel essaye (un peu laborieusement de son propre aveu) de montrer toute la puissance et la richesse que Catalyst met à disposition de ses utilisateurs par la très grande quantité de modules d'extension disponibles sur le CPAN.

J'enchaîne avec une présentation sur les conséquences de traîner sur IRC, ce lieu de perdition moderne. Par exemple, les bots comme purl, babel, meta, assemble. Par exemple, les défis comme le code pour mettre à jour la liste de Phalanx 100. Par exemple, les modules du core que certains porters vous proposent gentiment d'en prendre la maintenance. Enfin, des défis plus effrayants comme l'écriture de Lingua::FR::Inflect.

En sortant de la salle, votre serviteur a la surprise de découvrir qu'une thésarde en sociologie était venue pour assister à la conférence, et semble-t-il plus spécifiquement à cette présentation afin d'étudier la socialisation des geeks. L'ayant raté, je lui montre les slides et une discussion s'engage entre elle et quelques conférenciers sur ce sujet. Nous ignorons si elle a obtenu les informations qu'elle pensait trouver ;-)

Après la pause déjeuner, Stéphane Payrard commence en parlant des règles, les remplaçantes des expressions régulières en Perl 6, et d'une de leurs (nombreuses) applications, le filtrage par motif.

J'enchaîne avec une présentation basique sur les tests qui reprend certains des points abordés dans l'article paru dans le GLMF n°88.

[photo de David Landgren]
David Landgren explique l'algorithme Aho-Corasick

Pendant ce temps, salle Talend, Philippe Bruhat expose son nouveau module, Net::Proxy, qui propose certaines fonctionnalités amusantes comme le support de deux services (HTTPS et SSH) sur un même port TCP.

Suit Richard Gerber qui passe là aussi une présentation que Laurent Dami avait faite à YAPC::Europe 2006 à Birmingham, cette fois sur la publication sur le net des décisions de la justice genevoise.

Retour en salle undef pour la dernière présentation de la conférence par David Landgren qui explique les nouveautés de Perl 5.10. Suivant le sujet d'assez près, il est intarissable et parlera pendant plus de 50 minutes sur l'opérateur defined-or //, les variables d'état state $var, le smart match ~~ pour comparer des éléments complexes, le moteur d'expression régulière qui a été dérécursé par Dave Mitchell et étendu avec de nouvelles fonctionnalités par Yves Orton. Sans compter les gains substantiels en terme de mémoire, d'occupation disque et de rapidité.

Vient l'heure des présentations éclair, sous l'œil des gros bras de la conférence, Arnaud Dupuis et Emmanuel Seyman ;-)

Philippe Bruhat commence en parlant de son module Acme::MetaSyntactic sur fond de musique de la série Batman. Olivier Thauvin enchaîne sur VFSSimple, une couche d'abstraction d'accès aux fichiers. Puis j'expose de manière très directe les Règles de Sys::Syslog. Vient ensuite Christian Aperghis-Tramoni qui montre l'enseignement Perl qu'il donne dans différents endroits du globe, et les groupes de mongers qui commencent à s'y créer. Suit la présentation de Talend, l'un des sponsors, qui embauche des développeurs Perl et Java.

Puis David Landgren parle (trop) rapidement de Regexp::Assemble (voir la Perle de Mongueurs de ce numéro pour une présentation de ce module). Jonathan Worthington propose ensuite l'organisation d'un hackathon Perl européen, sur le modèle de celui qui s'est tenu à Chicago, USA. Paul Gaborit monte alors pour parler de son bien utile projet de traduction de la documentation de Perl.

[photo de la couverture d'une parodie de magazine]
Close(r), le magazine trash de la communauté Perl !

Vient alors David Elbaz qui résume l'activité du groupe de travail Articles des Mongueurs de Perl, et indique qu'il me passe la main comme nouveau coordinateur. Suit la présentation de Red Hat, un autre sponsor, qui embauche aussi. Puis Stéphane Payrard explique la thématisation, un mécanisme que Perl 6 a emprunté au japonais et utilise des exemples prévus pour m'embarrasser ;-)

Jean Forget enchaîne en expliquant de manière amusante en quoi c'est une bonne chose de réinventer la roue. Puis David Landgren revient pour parler cette fois-ci des résumés de la liste Perl5 Porters dont il assume actuellement la rédaction. Enfin, Philippe Bruhat termine avec sa présentation sur la « vérité » des faits qui se sont produits à Braga lors de YAPC::Europe 2005.

David Elbaz remercie les conférenciers qui ont fourni autant de présentations, et sur des sujets aussi divers et intéressants, le public qui est venu assez nombreux malgré la publicité qui ne fut pas aussi importante que d'autres fois et sur ces mots termine les Journées Perl 2006. Bien que cela ne soit pas officiellement confirmé, les milieux autorisés laissent entendre que les Journées Perl 2007 se dérouleront peut-être à Lyon.

Bilan

Au final, cette conférence aura fourni dans le fond la profusion qui fit défaut à la forme. Beaucoup de présentations, sur des sujets très variés, y compris en dehors de Perl, montrant que l'activité autour de Perl est loin de s'être tarie, et ce à tous les niveaux. Enfin, de nombreux projets publics ou secrets sont en cours d'élaboration, entre autres pour relancer la conquête du monde par notre langage favori.

Avec la sortie de Perl 5.10 et probablement d'une béta de Perl 6, l'année 2007 promet d'être riche et intéressante !

Liens

Les Journées Perl 2006 - http://conferences.mongueurs.net/fpw2006/

Les supports des présentations - http://conferences.mongueurs.net/fpw2006/talks

Les nombreuses photos de la conférence publiées sur Flickr - http://flickr.com/photos/tags/fpw2006/interesting/

QPSMTPd - http://smtpd.develooper.com/

DJabberd - http://www.danga.com/djabberd/

LORIA SynLex - http://www.loria.fr/~gardent/ladl/

ALVIS - http://www.alvis.info/

DBIx::DataModel - http://search.cpan.org/dist/DBIx-DataModel/

Mason - http://www.masonhq.com/

Catalyst - http://www.catalystframework.org/

Parrot - http://www.parrotcode.org/

Pugs - http://www.pugscode.org/

Auteur

Sébastien Aperghis-Tramoni <sebastien@aperghis.net> - Sophia.pm

[IE7, par Dean Edwards] [Validation du HTML] [Validation du CSS]