Un poney qui vole au-dessus de Lille

Programme

Vendredi

Le vendredi sera dédié au Tutoriel Django Girls

Activités

En intérieur ou en extérieur, il y a plein de choses à faire avec des ami·es Djangonautes à Lille. Nous allons remplir cette section avec les activités proposées (sprints, balades, …)

Conférence

La conférence sera ouverte par une courte présentation d'introduction le samedi de 10h45 à 11h. Ensuite, les 14 présentations de 25 minutes sont divisées en trois créneaux: deux présentations samedi matin de 11h à midi, neuf samedi après-midi de 13h à 18h, et trois dimanche matin entre 10h30 et midi. Les détails des présentations sont ci-dessous.

Martin De Wulf - madewulf
Utilisation de Django dans un projet d'élimination de la maladie du sommeil Samedi 9 Juin - 11h00-11h30

Un retour d'expérience sur un projet épidémiologique réalisé avec l'Institut de Maladies Tropicales d'Anvers, où les fonctionnalités de Django font merveille. On y parlera entre autres de l'intégration de React et Couchdb avec Django.

Christophe Baldy
Django et la gestion des médias avec S3 Samedi 9 Juin - 11h30-12h00

Comment Autolib', utilisant Django, a migré d'un système de stockage avec NFS à un système avec S3. La présentation convient à la fois pour un public débutant, pour comprendre comment gérer correctement des médias avec Django, quelque soit le système de stockage utilisé, et aussi pour un public plus confirmé, car elle revient sur certaines subtilités de configuration et de programmation pour utiliser S3. Le support s'appuie à la fois sur du code Django, mais également de la configuration de uWSGI et de Nginx. Enfin, le stockage sous S3 est évoqué à la fois en étant hébergé chez AWS, mais aussi en utilisant une solution de serveur open source (Scality).

Ludovic Gasc - GMLudo
Django, je t'ai aimé pendant 3 ans, et après ? Samedi 9 Juin - 13h00-13h30

Malgré l'aspect trollistique du titre, cette présentation serait l'opportunité de montrer les bonnes pratiques que j'ai appris grâce à Django, ainsi que la bonne ambiance de la communauté Django.

Joachim Jablon - ewjoachim
Un voyage migratoire avec Django Samedi 9 Juin - 13h30-14h00

Comment une boite pleine de Djangonautes a pris conscience que son approche des migrations Django et l’ownership sur la base de données n'était pas idéal, ce qui a changé, et comment on a retourné le problème entièrement pour se débarasser entièrement des migrations générées par Django tout en gardant ce qui fait le charme du Framework au Poney.

Damien Marié
Lissez vos templates en leur donnant une nouvelle jeunesse ! Samedi 9 Juin - 14h00-14h30

Je propose une alternative aux templating classiques de Django pour une approche basée sur la librairie Lys qui reprend les idées de React.js. Un talk avancé pour mettre en lumière les avantages d'un système plus simple : HTML toujours valide, plus besoin de fonctions spécifiques pour les templates, pas de nouveau langage à apprendre,…

Stéphane "Twidi" Angel
Les outils pour améliorer votre code python Samedi 9 Juin - 14h45-15h15

Tout le monde écrit son code d'une façon différente, sans y penser. Mais on lit plus souvent du code que l'on en écrit. Avoir un "style" est donc important, encore plus dans une équipe. Cette présentation fera un petit tour des règles stylistiques qui existent dans le monde python et des outils pour vérifier qu'elles sont bien appliquées, voire même forcer leur application. On parlera donc de pep8, flake8, pep275, isort, black, mypy, docstrings...

Vincent Desprez - vinzd
Faire payer ses utilisateurs, facile ? Samedi 9 Juin - 15h15-15h45

Quoi de plus frustrant, une fois un nouveau service (innovant et disruptif, évidemment) prêt au lancement, que de se heurter aux récalcitrantes interfaces de paiement ? Que l’on ouvre un site de e-commerce international ou un blog de tricot, le choix du prestataire ne peut être fait à la légère. Nous vous proposons un retour sur l’intégration d’un spécialiste mondial du genre, Worldpay, avec ses contraintes, défis et avantages par rapport à des acteurs plus… traditionnels dont nous avons déjà l’expérience.

Xavier Ordoquy - Linovia
Modèles de maturité des APIs REST Samedi 9 Juin - 15h45-16h15

Les principes guidant les APIs REST sont relativement bien connus, mais souvent mal compris. Afin de mieux comprendre les intérêts des contraintes REST, des modèles de maturité de design d'API émergent. Nous allons voir ceux définis par Leonard Richardson et repris par Martin Frowler, ainsi que celui, plus récent, de Mike Amundsen.

Mathilde Ziboura - Eliath
Django: Python 2 ➜ Python 3 Samedi 9 Juin - 16h30-17h00

Quelles sont les différences entre python 2 et python 3, et comment gérer ça avec Django ?

Je vous propose de découvrir ou redécouvrir comment migrer vers la version 3.6 de Python, et si jamais vous êtes amené⋅e à le faire vous-même, voir les trucs et astuces qui pourraient vous faire gagner du temps. Comment rendre votre code compatible dans les 2 versions, comment gérer les problèmes d'encodage, à quoi faut-il penser en amont, et comment résoudre les erreurs le plus communes générées ? Que vous soyez débutant⋅e ou confirmé⋅e, cette présentation vous apportera tout ce dont vous avez besoin pour éviter de vous faire des cheveux blancs.

Nicolas Dubois - Wo0dyn
Soigner l'historique git de son projet Django Samedi 9 Juin - 17h00-17h30

Cette présentation montrera pourquoi il est important d'avoir un historique propre sur son projet, en prenant des petits exemples et un cas d'utilisation plus conséquent, sur un projet Django. Les pistes évoquées sont évidemment applicables dans tout autre projet versionné, quelque que soit d'ailleurs le système de versionning choisi du reste.

??? - À confirmer
McNuggets ou comment partir du bon pied Samedi 9 Juin - 17h30-18h00

L'automatisation du lancement de projet avec Ansible, Git, Gitlab, Cookiecutter, Jenkins et PowerDNS. Chez Emencia, nous avons automatisé le déploiement des nouveaux projets Python+Django CMS en deux étapes, d'abord avec une stack d’intégration continue basée sur Jenkins et Ansible, puis avec un outil de lancement de projet basé sur Cookiecutter, celery et les API de Gitlab, Jenkins et PowerDNS. La présentation fait un retour sur l’expérience, les dangers, les progrès et les résultats. Les participants profiteront d'une belle histoire, qui finit bien. Ils seront inspirés pour implémenter des processus similaires et guidés dans les risques du déploiement automatisé.

Arthur Vuillard
J'ai packagé une app Django pour Windows Dimanche 10 Juin - 10h30-11h00

Dans le cadre d'un projet pour client, je me suis retrouvé à devoir faire l'installateur Windows d'une application Django. Je souhaite partager mon expérience, les ornières rencontrées et donner des indications à celles et ceux qui souhaitent (ou doivent) suivre le même chemin. Je vais parler en particulier de PyInstaller et NSIS.

Matthias Dugué - m4dz
Déploiement continu et feature-flipping, uniquement avec Git Dimanche 10 Juin - 11h00-11h30

Le déploiement continu peut-être un cauchemar, particulièrement si vous n'utilisez pas les bons outils. Il en existe des tonnes : serveurs d'intégration continue, provisionneurs, conteneurs… Mais que se passe-t-il si vous avez en plus besoin de gérer des contextes de feature-flipping, qui vont parfois vous contraindre à déployer plusieurs dizaines de fois par jour ? Ces outils sont-ils suffisamment adaptés pour vous permettre d'avoir confiance dans votre processus ? Pourrait-on envisager de ne passer que par un outil, que nous connaissons bien : Git. Examinons un processus de déploiement à la volée complexe d'une solution s'appuyant sur Django, avec un envrionnement de feature-flipping, exclusivement au travers de Git pour gérer la livraison.

Mehdi Raddadi - Eclar
Django et GraphQL Dimanche 10 Juin - 11h30-12h00

La présentation s'adresse à des personnes débutantes ou confirmées. Elle a pour but de présenter la RFC GraphQL et son rapport avec Django.

Une première partie introductive permettra aux participants de comprendre ce qu'apporte l'utilisation de cette RFC, ses avantages et ses inconvénients. Cela s'articulera autour du concept de cette technologie sans parler d'implémentation.

Dans une seconde partie, on s'intéressera à une implémentation en python avec Graphene qui s'interface avec Django. Cette implémentation sera illustrée avec un exemple de mise en place d'une API GraphQl sur un projet simple pour présenter cette implémentation avant de discuter de l'état actuel de Graphene et de ses limitations.