Italian Perl Workshop 2006

Copyright © 2006 - Michel Rodriguez

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

Chapeau

Salut les p'tit gars. Donc spécialement pour BooK qui n'est pas là... le compte-rendu (partiel) de l'Italian Perl Workshop 2006, qui s'est tenu les 22 et 23 juin 2006 à Pise.

Jeudi

Comme d'habitude c'est à Pise, dans la même salle que d'hab. Cette année il y a à peu près 40 participants (c'est dur de compter, à part au moment du café, et comme c'est gratuit on peut pas trop se fier à la liste des inscrits).

Le site de la conférence est toujours http://perl.it/, et les photos devraient être sur Flickr, taggées ipw2006.

Je commence donc par sauter la première présentation, Introduction à Perl par Dakkar. Apparemment je n'aurais pas dû, vu que Bepi, qui connaît quand même assez bieng Perl, dit qu'en 2 minutes dans la salle il a déjà appris quelque chose. Une introduction de haut niveau donc !

Organisation du code

Présentation et discussion. Pas mal d'interventions cette année ont ce format : introduction par le speaker, avec quelques slides, puis débat. Ça marche assez bieng, la communauté Perl italienne ne manque pas de gens aux opinions bien tranchées (comme toute communauté Perl je pense !).

Une première discussion, sur que faire des données non-perl (config, XML, grammaire par exemple) : les garder dans le même fichier est plus simple pour l'installation et la distribution du code, en DATA ou en heredoc. Par contre on perd le « syntax highlighting » (en italien dans le texte). Sauf avec emacs remarquent quelques [CENSURÉ].

Puis, sur l'organisation interne du code : introduction des blocs BEGIN, pour initialiser les variables locales à un bloc :

   #!/usr/bin/perl

   toto();

   { my $var;
     BEGIN { $var=1; }
     sub toto
       { print $var; }
   }

Suggestion du public : mettre toujours toutes les fonctions dans un module. Du coup quand on fait use module ; l'initialisation se fait pendant la phase de compilation.

Puis : où mettre la doc. Mélangée au code ou à la fin (voire au début). Damian Conway et son Perl Best Practices sont cités régulièrement.

Je rate une bonne partie de l'après-midi, ma femme avait besoin de la voiture... désolé. D'après les commentaires que j'ai, Dakkar a parlé plus ou moins toute la journée, que ce soit pendant ses talks ou pendant ceux des autres... je suis très surpris ;--)

Je reviens juste à temps pour « comment être fainéant » par Osfameron, où nous échangeons quelques anecdotes sur comment perdre 3 heures à gagner 20 secondes plusieurs fois par heure/jour ou ans !

Le soir, repas dans une excellente pizzeria (La Legna), à peu près 25 convives, nous passons par les figures imposées (Slackware ou Debian ? Pourquoi PHP suxe, non Perl6 n'est toujours pas là. Je commence d'ailleurs à penser que l'erreur de base a été d'appeler le langage Perl 6. Perl++ ou suPerl nous aurait évité bien des remarques sur le fait que Perl 5 est voué à disparaître). Ensuite nous passons à l'histoire de la République de Venise (devenue puissante grâce aux Français apparemment, qui leur sous-traitèrent la partie maritime de je ne sais plus quelle croisade), puis au café. À noter que Pise est vraiment animée, y a plein de monde dans les rues, dans les bars à regarder le foot... on sent que c'est une ville étudiante, contrairement à Lucca.

Vendredi

Le lendemain : la matinée est consacrée à Perl et Ajax. Bepi parle de Jemplate, Emiliano Bruni de Prototype, et je présente un bout de code (super court parce que j'ai perdu l'original super complet la semaine dernière quand j'ai reformatté le disque de la machine sur laquelle je l'ai écrit). Je suis assez fier ceci dit, vu que c'est la première année que je présente en italien. Personne n'a l'air trop perdu, donc je vais pouvoir mettre à jour mon CV ! Yeay !

Les avis sont très partagés sur Prototype (super pratique / trop gros et ne résout pas certain problèmes importants) et l'utilisation de innerHTML() (super pratique / dangereux).

CGI::Ajax semble plaire à certains, essentiellement parce qu'il ne demande pas de connaître JavaScript.

Puis Bepi nous présente POD2IT, dont il me semble que j'ai déjà parlé dans mon compte-rendu de la visite de clkao.

L'après-midi Frodo nous présente Acme::Eyedrops, et nous explique comment choisir soigneusement le motif : pas de fleurs ou de cœurs percés, ça ne fait pas sérieux. Un panneau routier, genre sens interdit, de suite ça donne une meilleure image. Betty Boop : non ! Brad Pitt, un peu mieux. Un labyrinthe : excellent, surtout un dynamique parcouru par un petit motif rigolo. Les mains d'Escher : parfait pour l'eXtreme Programming !

Ensuite un talk sans slides sur Perl et les réseaux, que je ne commenterai pas parce qu'on est vendredi après-midi, je suis fatigué, mon italien est pas topissime encore, brefle, je somnole en lisant /.. La discussion s'éternise.

Tiens, pas mal de macs cette année dans le public, peut-être 1/3.

Maintenant une présentation de SOAP, « Hygiène quotidienne pour les web services », par grubert.

Quelques acronymes pour commencer, SOAP, WSDL, UDDI... je vous embête pas avec ce que ça veut dire. Il a juste quelques problèmes avec le S (Simple) de SOAP, et tant qu'il y est aussi avec le reste, vu que ça sert pas forcément à faire de l'objet.

Il utilise bieng sûr SOAP::Lite mais aussi Pod::WSDL que je ne connais pas. Il explique que WSDL::Generator marche aussi, mais est un peu trop magique pour lui.

Il nous crée un module, en direct, qui renvoie des données sur la conférence (le lieu c'est facile, c'est toujours le même chaque année !). Ça va, je peux regarder, il utilise gvim. Oh, oh ! Il écrit le test après avoir écrit la méthode ! Honte à lui je suppose.

Maintenant il génère le WSDL, ça a l'air facile comme ça.

Démo : ça ne marche pas ! Forcément, il a oublié de faire un print du résultat ! Maintenant c'est bon. Son commentaire : et oui, c'est simple. Et des fois ça marche facilement. Et d'autres fois non !

Les problèmes arrivent quand on communique avec des langages plus fortement typés (Java !) : il faut penser à donner explicitement le type des données échangées. Pod::WSDL se prend les pieds dans le tapis si un fichier contient plus d'un package.

Avec Tomcat tout se passe bien si on se limite à échanger des données avec les types de base.

La vente aux enchères finale

Dada fait l'animateur, sur fond d'IRC #nordeste.

Je rassemble toutes mes connaissances en italien et parviens à enchérir 25 euros pour 3 numéros de Make.

Dakkar est reste tranquille trop longtemps, il se lève et lance un programme qui gère les enchères inverses pour 5 versions de Learning Perl (plus une carte postale en prime). On n'entend plus que lui. Il ne se rappelle plus comment le programme marche... au moins ça nous fait rire. Ça discute dans la salle pendant que le prix descend... un part à 34, les débutants prétendent qu'ils n'ont plus besoin du bouquin après sa merveilleuse présentation d'hier... 18, un autre part... 15 pour un troisième signé par dada, Dada menace de signer toutes les pages... 15 encore pour les 2 derniers !

Puis à peu près 1 kg de bloc-notes O'Reilly avec la couverture de Head Rush Ajax (donc super hip web 2.0 machin !). Ils partent à 5/6 euros chaque.

Perl/Tk (et sa carte postale !) finit à 35 euros, TT2 est à 29, Frodo arrondit le chiffre, que larsen traduit par 100... vite corrigé par Frodo... 30 euros. Le Camel (3ème édition)... silence religieux dans la salle... Gaspa de Bologne veut qu'on le lui envoie... ça tombe bien, un des participants est de là, 2 enchères à 30 en même temps sur IRC... nids les mets d'accord à 31... 1/4 d'heure plus tard il part à 37 euros. Makers... 25 à Bepi. Encore 3 numéros de Make, les mêmes que j'ai eu à 25 pour... 12 enchères pour aller de 26 à 27... 27.03 à nids. Je passe sur quelques autres bouquins...

Dakkar continue à parler, en plus on l'a aussi en streaming sur le web... je capitule et j'arrête ici ce compte-rendu... je suis épuisé ! Ah non, il l'a senti, il a fini ! Yay !

Bon, c'est fini, c'était bieng, comme d'hab, maintenant je peux aller me préparer pour le match de ce soir.

Cette année je serai à OSCON, donc vous aurez encore des nouvelles de moi dans un peu plus d'un mois.

Ciao !

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