Le vendredi sera dédié au Tutoriel Django Girls
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, …)
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.
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.
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).
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.
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.
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,…
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, pep257, isort, black, mypy, docstrings...
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.
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.
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.
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.
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é.
France Université Numérique is developping and hosting several opensource Django applications for learning. We will share with you our journey switching to container-native development and how we automated our deployments using Docker, OpenShift and Ansible. A presentation of the concepts will be followed by a demo of our tool.
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.
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.