Mathieu Agopian : Retour sur Pytong 2013

Le 22 et 23 juin, à Toulon, s'est tenue la première édition de Pytong, organisée par Laurent Paoletti et David Larlet (merci à eux !).

Le format a reprit ce dont on a maintenant l'habitude pour les conférences Django organisées par django-fr, une première journée de conférences et barcamps, et une deuxième journée de détente ensemble pour apprendre à mieux se connaître.

Les présentations

Reporting web et print

Arthur Vuillard nous a montré comment utiliser pygal pour faire de jolis reporting web avec de jolis graphes SVG annotés, et weasyprint pour un export en PDF propre, avec gestion des coupures de tableaux, centrage sur la page, etc...

Reporting web et print, les slides.

Tu peux WebTest

Gaël Pasgrimaud, mainteneur de l'excellente librairie WebTest (créée par le prolifique Ian Bicking), nous a expliqué comment l'utiliser pour tester nos applications WSGI. Ça peut avantageusement remplacer le Django Test Client, étant donné ses fonctionnalités avancées, sa facilité d'utilisation, et le fait que ça dialogue directement au niveau WSGI.

Tu peux WebTest, les slides.

Des migrations sans interruption de service

Thomas Chaumeny a listé plusieurs techniques et pratiques, ainsi que les pièges à éviter pour faire des migrations de schéma de données (principalement en utilisant South), et ce sans interruption de service. En effet, selon la migration, les changements dans la base de données peuvent bloquer une table (verrou en écriture) pendant plusieurs minutes, voire heures. Il y a donc certains pièges a éviter, et des méthodes à suivre.

Des migrations sans interruption de service, les slides.

Débuter avec salt

Yann Malet nous a fait une rapide présentation de Salt, un gestionnaire de configuration, un framework d'installation et d'exécution à distance. Pour ceux qui connaissent Chef ou Puppet, Salt est un remplaçant écrit en Python, très performant, car basé sur ZMQ.

Il a ensuite expliqué comment, à LincolnLoop, ils ont utilisé Salt en tant que framework d'exécution à distance pour leur nouveau projet de monitoring : Salmon.

Déprimé, au bord du burn-out, et pourtant il faut continuer à coder

Jean-Michel Armand nous a fait part de son expérience de surmenage, de comment il s'en est sorti, et comment il essaie de ne plus se mettre en danger physiquement et psychologiquement. Un paquet de conseils avisés, à suivre avant qu'il ne soit trop tard.

On dit souvent qu'il faut vivre ses propres expériences pour pouvoir en apprendre, et j'ai moi-même vécu une expérience similaire. Les conseils donnés dans cette présentation sont précieux, et peuvent se résumer à « vous valez mieux que votre code/travail, vivez ».

Déprimé, au bord du burn-out... les slides.

Mezzanine, le CMS des développeurs pragmatiques

Thibault Jouannic nous a parlé de Mezzanine, un CMS simple, performant et facilement extensible, qui permet de répondre à des demandes simples sans avoir à installer un Drupal ou Wordpress.

Use ZMQ and Tornado for fun and profit

Boris Feld nous a donné des recettes pour utiliser ZMQ avec Tornado pour faire le lien avec HTTP.

Use ZMQ and Tornado for fun and profit, les slides.

Écriture d'un livre sur Django

Yohann Gabory nous a parlé de son expérience d'écriture d'un livre sur Django : Django avancé. Il en a profité pour nous expliquer comment écrire une bonne documentation utilisateur, pour lui donner envie d'utiliser notre projet/librairie/application...

Écriture d'un livre sur Django, les slides.

Python dans le navigateur, et pourquoi pas

Jean-Michel Armand nous a fait une démonstration de Brython, vu que toute sa présentation était faite avec. Brython a pour ambition de remplacer JavaScript dans le navigateur par le langage Python.

Python(Script) par Python pour le navigateur

Amirouche Boubekki nous a parlé de son projet PythonScript, une autre alternative à Brython pour avoir du Python dans le navigateur.

JavaScript pour les développeurs Python

Nicolas Perriault a pris à revers les deux précédentes présentations courtes : il explique qu'il est inutile et futile de vouloir remplacer le langage qui a été prévu exprès pour manipuler le DOM et être asynchrone (à base de callbacks), exprès pour être exécuté dans les navigateurs.

Le pragmatisme du développeur Python voudrait justement qu'il utilise les bons outils pour les bonnes utilisations, et donc JavaScript pour du code dans le navigateur.

Développer une app Django

Samuel Goldszmidt s'est servi de l'exemple de son application Django-Select2Light pour montrer comment créer une application Django, en utilisant FloppyForms et TastyPie.

Développer une app Django, les slides.

Utiliser un système de packaging privé

Brice Gelineau nous a expliqué comment il utilisait un système de packaging privé pour son déploiement. C'est encore une autre alternative à l'utilisation de Buildout ou encore le mirroir PyPI privé dont j'ai eu l'occasion de parler lors d'une précédente conférence.

Utiliser un système de packaging privé, les slides.

À quoi ressemblerait mon python ?

Nicolas Dubois s'est demandé comment améliorer encore la lisibilité de nos programmes Python. Il s'avère qu'avec quelques judicieuses modification, et l'utilisation de caractères Unicode par exemple, nous pourrions avoir du code source encore plus concis et expressif.

Il y a peu de chances que nous ayons un interpréteur Python comprenant cette syntaxe un jour, mais je trouve très intéressant de se poser ce genre de questions, et nous avons commencé a écrire « BMC » (Beautify My Code) avec Nicolas, petite librairie (service ?) qui permet d'opérer des changements/remplacements sur un fichier source et d'afficher le résultat. À suivre donc.

À quoi ressemblerait mon python, les slides.

Daybed, une couche de validation pour CouchDB

Antoine Cezar nous a présenté le projet Daybed dont il est un des contributeurs. Cette surcouche à CouchDB, qui ajoute la validation de données, permet d'avoir un remplaçant à GoogleForms.

Daybed, une couche de validation pour CouchDB, les slides.

Les barcamps

Les Web Components

Il y a eu un premier barcamp proposé par David Larlet qui a fait l'unanimité (oui, c'est bizarre d'avoir un seul et unique barcamp, ça s'oppose un peu à la loi des deux pieds) : une présentation des Web Components.

Les Web Components ont à l'heure actuelle deux implémentations : celle de Mozilla avec xtags, et celle de Google avec polymer. Ce sont des composants qui peuvent être entièrement packagés et distribuables : html, css et JavaScript en un seul morceau.

Ça me laisse une sorte d'impression de déjà vu, comment si on revenait aux années sombres des « clients lourds » avec GUI, composants et widgets, etc... je vois néanmoins l'intérêt que ces Web Components apportent alors qu'on déporte de plus en plus de logique et de calcul sur le client, et qu'on cherche à avoir des applications web de plus en plus proches, justement, des applications natives.

Comprendre "this" en JavaScript

Suite à sa présentation courte sur « JavaScript pour les développeurs Python », Nicolas Perriault a indiqué les différentes utilisations et manières de spécifier this en JavaScript, ainsi que les IIFE et use strict.

J'avais déjà eu la chance de me pencher sur l'utilisation de this grâce à un lien que Nicolas m'avait fourni : Learning advanced JavaScript.

Maitriser git

Proposé par Thibault Jouannic, je n'ai pu y participer ayant assisté au barcamp ci-dessus, mais j'en ai eu de bons retours.

La journée détente

Au programme :

Conclusion

C'est toujours un vrai plaisir de pouvoir rencontrer ses pairs, apprendre d'eux, faire des connaissance, échanger des astuces et techniques. Je pense que c'est un investissement indispensable à tout développeur passionné et curieux qui souhaite évoluer et rester au courant des avancées dans son domaine.

Vous pouvez par ailleurs consulter le compte rendu de Rémy.

Enfin, en petit bonus, je vous met le lien vers la présentation courte que j'avais préparée « au cas où », mais que je n'ai pas eu l'occasion de montrer : Sécuriser ses données.