Voici un petite compte-rendu de ma première (mon premier ?) PyConFr, une conférence qui s’est révélée d’une qualité épatante.
Merci aux gentils organisateurs de l’AFPY pour cet évènement (en particulier à Nelle Varoquaux), qui s’est vraiment déroulé sans accrocs, dans de superbes conditions (Cité des sciences de la Villette), bravo à vous !
Ça a été l’occasion pour moi de rencontrer IRL des gens que je suis ou lis depuis un bout de temps, et de faire un tas de rencontres passionnantes.
Vivement l’édition 2013, et pourquoi pas un jour à Strasbourg ? ;)
Les présentations qui m’ont marqué
Je configure mes serveurs avec fabric et fabtools (Ronan Amicel)
Fabtools est une une surcouche à Fabric. C’est un ensemble d’instructions souvent utilisées quand on installe un nouveau serveur. Plus complexe que fabric, mais plus facile à mettre en oeuvre que Chef et Puppet.
URL du projet : http://github.com/amicel/fabtools
Slides de la présentation : http://www.slideshare.net/ronan.amicel/je-configure-mes-serveurs-avec-fabric-et-fabtools
WeasyPrint (Simon Sapin)
Un moteur de rendu HTML+CSS3 en PDF absolument bluffant.
Comme l’a fait remarquer une personne de chez Mozilla, il y a peu de monde capable d’implémenter un moteur de rendu CSS, chapeau !
Intégration très facile avec Flask.
Les slides sont ici : http://exyr.org/2012/weasyprint-at-pyconfr/
URL du projet : http://weasyprint.org/
Picasso, le polyglotte et le philosophe (Marc Chantreux)
Un peu de provoc ne fait pas de mal de temps en temps. Marc invite les pythonneux à sortir un peu des querelles de chapelle et voir “the big picture” : la progression de la qualité et du nombre de features des projets Open Source.
Il nous invite à être polyglottes, à prendre ce qui est bon dans tous les langages. Il faut penser partage d’algorithmes, de fonctionnalités.
Une idée forte : partager des specs plutôt que de réimplémenter chacun dans son coin
Manger tout type de données avec PyBabe (Florian Douetteau)
Florian travaille dans le datamining et nous présente PyBabe, une lib optimisée qui fonctionne à base de générateurs Python.
Le principe est d’extraire les infos au besoin, quand elles sont utilisées.
Cet outil est capable de travailler en streaming sur de gros fichiers de logs (et bases SQL).
Cette présentation m’a donné quelques bonnes idées au niveau de l’analyse de logs de Gestour.
Projet sur GitHub : https://github.com/fdouetteau/PyBabe
Kivy, Natural User Interfaces (Gabriel Pettier)
Un framework d’interface graphique en OpenGL ES (donc accéléré) gérant beaucoup de périphériques d’entrée : Kinect, WiiMote, Multitouch…
Compatible iOS, Android, Mac, Windows, Linux
URL du projet : http://kivy.org/
Programmation Web Asynchrone avec Tornado (Ronan Amicel)
Présentation du serveur web et framework web asynchrone Tornado.
Là aussi, ça m’a inspiré une idée pour une nouvelle façon de monitorer la performance des serveurs Gestour.
URL du projet : http://www.tornadoweb.org/
Slides : http://fr.slideshare.net/ronan.amicel/programmation-web-asynchrone-avec-tornado
Mesurer tout, tout le temps (Timothée Peignier)
Mesurez votre code, vous saurez alors réellement ce qui prend du temps !
La mesure de la performance, sans overhead, avec une interface bien léchée, j’adore !
Exemples pris chez 20 minutes.
Très belle présentation.
Slides: https://speakerdeck.com/u/tim/p/mesurer-par-tout-tout-le-temps
Outils présentés :
- statsd : https://github.com/etsy/statsd
- Graphite : http://graphite.wikidot.com/
- metrology : https://github.com/cyberdelia/metrology
Forger son historique avec Mercurial : l’obsolescence s’abat sur les DVCS (Pierre-Yves David)
Par un spécialiste de Mercurial qui développe une nouvelle extension : evolve.
Quand on développe avec Hg, on éprouve quelque fois le besoin de réécrire l’historique.
Ce n’est pas, comme je l’ai entendu dire lors d’une question à la fin de la présention, réservé aux linuxiens barbus.
J’ai des développeurs normaux dans ma société qui utilisent parfois mq, strip, rebase, afin de contribuer un historique “propre” pour le reste des codeurs, c’est une question de “savoir-vivre”.
Quelques infos ici :
- http://mercurial.selenic.com/wiki/ChangesetsObsolescence
- http://hg-lab.logilab.org/doc/mutable-history/html/instability.html
- http://hg-lab.logilab.org/doc/mutable-history/html/
Circus : Gestionnaire de processus avancé (Tarek Ziadé)
Circus est un outil de supervision de processus.
Assez bluffant je dois dire. Tarek et les mozilla guys avaient très envie d’écrire cet outil, ils l’ont dit plusieurs fois. Et ils ont bien fait ! C’est un coup de maître et il ont fait preuve d’une réelle attention à faire un outil “utilisable” et qui m’a l’air très adapté à la mise en production de grosses structures.
Ses principales fonctionnalités sont :
- Support du clustering
- Interface web sexy
- Paramétrage dynamique via la ligne de commande (circus-ctl)
- circustop : un top en ligne de commande
Encore un outil qu’il serait intéressant d’étudier pour Gestour.
Site web : http://circus.io
Intéressant
REST in SPORE (Arnaud Grausem)
Présentation de la spec SPORE, qui permet d’écrire des clients REST multi langages de manière très simple.
Présentation très dynamique d’Arnaud avec des exemples venus tout droit de la Terre du Milieu (et même du Mordor).
Il est temps ! (Aymeric Augustin)
Cette présentation m’a ouvert les yeux sur la complexité de la gestion des timezones en Python. La citation à retenir :
“There’s no such thing as naive datetime” - Aymeric Augustin
en référence à
“There’s no such thing as plain text” - Joël Spolsky
Voir ici pour plus de détail sur l’article de Joël
Les présentation que je n’ai pas vu mais que j’aurai bien voulu voir
- Architecture CQRS et performance avec Django (Olivier Girardot)
Lightning talks
La journée était cloturée par une série de lightning talks (présentation courtes de 5 minutes visant à faire découvrir un sujet).
Voici quelques-uns des sujets abordés :
- factory_boy : https://github.com/dnerdy/factory_boy
- virtualenvwrapper : http://www.doughellmann.com/projects/virtualenvwrapper/
- Robotique et python : C’était moi ! A venir : un billet de blog plus détaillé sur la BH Team
- Python et les LEDs : présentation de l’affichage à LEDs qui affichait le planning des sessions et les tweets en live pendant la PyConFr.