… avant l'arrivée des poneys au pays du Lion !
a.k.a #djangocong
Le programme - conférences
16 conférences: 15 minutes pour écouter - 3 minutes pour questionner
6 lightning talks: 5 minutes pour écouter
Retour sur la refonte de Greenbureau, un service de centralisation de factures et de relevés, avec l'objectif d'être capable de traiter plus d'un million de comptes utilisateur tous les mois.
J'ai un parcours centripète: en 15 ans je suis passé de l'infographie au développement backend. En fait, ce qui m'a toujours intéressé, c'est exposer les données de la meilleure façon pour l'utilisateur, d'où le besoin de comprendre et maîtriser les problématiques des différentes couches mises en œuvres, et leurs technologies associées.
Présentation de la démarche qualité utilisée au sein du projet Autolib' dont le système
d'information est écrit en Django ou comment faire du joli code robuste dans la bonne humeur ?
"Présentation de la méthodologie utilisée sur le projet qui permet de maintenir un code robuste, un rythme
soutenu de mise en production et la bonne humeur des développeurs via quelques rituels amusants comme :
- celui qui casse le build ramène les croissants,
- la désignation d'un build master toutes les semaines au sein de l'équipe de dév (préalablement armé) qui doit
s'assurer entre autre que les builds Jenkins restent verts, la pile des tickets d'assistance reste vide et les
logs Sentry restent rassurants.
Présentation des outils utilisés sur le projet comme : Unittest, Lettuce, Pylint, Jenkins, Sentry, Trac..."
Bio-informaticienne de formation, elle ne jure que par Python depuis des
années.
Développeuse ploneuse à son compte, elle a enfin arrêté de travailler en
pyjama pour rejoindre l'équipe projet Autolib'.
Maniaque du joli code, extrémiste du pep8 et groupie du Scrum.
N'aime pas : qu'on lui demande (parce que c'est une fille)
comment elle en est arrivée à faire du dév, le code sale, la coriandre.
Elle soutient ne pas être une Geekette et quand elle casse le build,
elle ramène des muffins faits maison pas des croissants ;)
Tous les trucs et astuces nécessaires au développement d'une application multilingue en Django. Depuis le contenu en passant par les modèles, les URLs et les mails.
Après avoir été chef d'entreprise d'une boite de développement d'application Web en Django, Rémy
travaille maintenant chez Novapost SAS où il dématérialise les bulletins de salaires et les courriers de
nombreux employés partout dans le monde.
Perfectionniste avéré, Rémy aime aussi contribuer autant que possible à l'OpenSource et à l'écosystème
Django.
Retour sur l'utilisation des formsets et sur la possibilité de les imbriquer en utilisant la mécanique de validation des formulaires proposée par Django. Nous verrons aussi comment intégrer ces formsets imbriqués dans l'admin Django.
Samuel Goldszmidt est responsable technique des applicatifs web de l'Ircam, Institut de Recherche et de Coordination Acoustique Musique. Il utilise très souvent Django et Python pour développer des systèmes d'information ou de gestion de contenu, et JavaScript pour enrichir les interfaces utilisateurs.
Github/Bitbucket sont vraiment super, mais utiliser un serveur centralisé pour un DVCS, c'est un peu dommage. Utiliser les hooks permet d'avoir les avantages de Github/Bitbucket, mais aussi de ses propres dépôts.
Freelance depuis peu, insatiable curieux, sait une chose pour sûr : il ne sait rien.
Lorsqu'une nouvelle version du projet est prête, vient l'instant tant redouté du passage en
production.
Comment faire pour gérer ces opérations sans aucune coupure de service ?
Rapide tour d'horizon de quelques recettes testées pour vous.
Geek.
Je conçois le SI d'Autolib´, et je maintiens factory_boy à mes heures perdues.
C'est l'histoire d'un petit projet vivotant tranquillement sur son petit serveur qui un
beau matin se fait assaillir par une horde d'utilisateurs en furie. Petit retour sur le leçons
tirées des quelques mois d'extinction d'incendie qui ont suivi l'assaut de FeedHQ par
d'anciens utilisateurs de Google Reader.
Bruno Renié vit en Suisse.
Il publie dans son blog comme une brutasse.
Il code comme une brutasse sur Github.
Il twitte parfois comme une brutasse.
Il mange les pizzas comme une brutasse.
Tu m'étonnes que son pseudo, ça soit brutasse.
En revanche, quand on le rencontre, on le trouve d'une charmante délicatesse.
L'une des fonctionnalités attendue par de nombreux utilisateurs est l'introduction du modèle
d'utilisateur modifiable.
Grâce à cette fonctionnalité, les librairies peuvent désormais permettre plus de souplesse aux développeurs en
leur offrant des modèles adaptables.
- Utiliser un modèle adaptable,
- Le mettre en place dans une librairie,
- Bonnes pratiques, pièges à éviter et questions en suspens.
Je suis Xavier Ordoquy, Freelance depuis 2004. J'ai découvert Python en 2002 grâce au projet Gnome et Django en 2008. Convaincu par ces technologies, je me suis spécialisé dans le développement Web avec Django et d'outils avec Python.
La production de cartes d'identité génétique de souches bactériennes responsables d'une épidémie permet de tracer l'apparition et/ou l'évolution d'une population bactérienne, et ainsi d'endiguer plus rapidement cette épidémie. Il existe à l'heure actuelle plusieurs techniques de génotypage pour caractériser des souches bactériennes. Ces techniques génèrent des données qu'il convient de pouvoir facilement stocker et interroger. Plusieurs bases de données publiques existent, mais sont très souvent dédiées à une seule espèce bactérienne en particulier, et peuvent difficilement être alimentées par une source externe ou interrogées dans une interface homogène en ligne. La plate-forme MicroGeno — boostée par Django et un soupçon de d3.js — a été développée en partenariat avec l'université Paris Sud pour palier ce manque. Notre objectif est de fournir une boite à outils collaborative pour stocker, interroger et analyser des collections de données issues d'études épidémiologiques. Cette solution en ligne — accessible gratuitement aux centres de recherche académique — est une opportunité pour les petits laboratoires avec peu de moyens techniques et financiers.
Bio-informaticien structuraliste, en 2011, j'ai mis de côté mes legos aminés d'universitaire parisien pour venir construire le web en Auvergne et dans la ville rose. Passionné par la science et les technologies du web, je m'efforce de réaliser de belles choses pour satisfaire mes collaborateurs.
En général, le premier contact d'un djangonaute avec les transactions est une terrifiante DatabaseError: "current transaction is aborted, commands ignored until end of transaction block". Et c'est souvent le dernier. Heureusement, Django 1.6 propose une nouvelle gestion des transactions, plus puissante et plus pythonique. C'est le moment d'apprendre quand et comment utiliser des transactions !
Ingénieur dans l'âme, j'aime les logiciels qui n'ont pas de bugs et les méthodes qui permettent de les développer. Je suis convaincu que Django peut être un bon choix pour des logiciels d'entreprise et je le prouve en réalisant les systèmes d'information d'Autolib'. Je suis core developer de Django depuis 2011. Tout le monde me déteste maintenant qu'il faut faire attention à ne pas mélanger des date et des datetime.
Aimeriez-vous déployer un projet en une commande ? Avez-vous entendu parler des bienfaits du déploiement continu ? Si l'idée fait rêver, la mise en pratique est loin d'être une promenade de santé. Certains hésitent, d'autres s'y cassent les dents. Le but de cette présentation est d'aider ceux qui voudraient se jeter à l'eau ou améliorer des procédures déjà en place : un peu de culture pour nourrir l'esprit critique et des techniques concrètes pour démarrer.
Benoît n'est pas rapide, mais il s'applique.
Le soft est enfin stabilisé, le service tourne sans ratés.
Soudain, la nouvelle tombe : on lance un deuxième site. Ou un nouveau service, proche mais pas totalement.
Bref, comme dirait le marketing, "C'est facile, on reprend les neuf dixièmes du système et on change juste un
petit bout là-bas !".
Comment procéder pour découper et modulariser un soft mûr pour réutiliser certains composants ?
Réutiliser les bibliothèques ou mettre en place des services distants partagés ?
Comment gérer une transition dans la douceur ?
Avec la généralisation des APIs et la facilité d'utilisation des ORM, on a tendance à oublier qu'utiliser les queries de l'ORM directement dans les vues ou les parties de code haut niveau est bien souvent une très mauvaise idée. Je rappellerai pourquoi du point de vue de la théorie, et suggérerai une autre façon de faire avec Django en pratique. Histoire de se remettre en tête qu'il y a une distinction sémantique entre "API" et "interface objet", et que "écrire une API RESTful" n'est pas synonyme de "exposer le modèle de base de données sur internet" ;)
Eve Le Cellier est une informaticienne qui préfère écrire du code que sa bio. Elle aime les algo complexes, les architectures élégantes et le tricot. Elle est actuellement dresseuse web chez l'hebergeur Online où elle présente, dans le même numéro, des éléphants et des poneys roses.
Expérience de la gestion du site de conservation des ressources phyto-génétiques en Suisse (www.bdn.ch). Historique (de Plone à Django). Choix de la structuration des données (modèles dynamiques vs EAV). Recherche mixte indexation/base de données.
Claude Paroz est un ancien enseignant reconverti dans l'informatique et ardent défenseur des logiciels libres. Il travaille maintenant comme développeur Web indépendant dans sa Suisse natale. Il fait partie de l'équipe des commiteurs de Django depuis mars 2012.
SportEasy a cassé le fonctionnement intrinsèque de Django afin de forcer la factorisation du code métier et servir à la fois un site web, une API REST et bientôt un site mobile aux périmètres fonctionnels différents. Les vues n'ont plus accès aux modèles de données, mais seulement à des API internes. Cerise sur le gâteau, cela permet d'avoir une scalabilité fonctionnelle: chaque serveurs peuvent se spécialiser sur une tâche précise.
Actuellement développeur chez SportEasy depuis bientôt 2 ans, premier projet Django en 2007. Mordu par un python il y a quelques années.
On pense souvent à sécuriser son site internet, son serveur de production, ses locaux... mais
une chaine est aussi faible que le plus faible de ses maillons.
Quelques rappels de bonnes habitudes à prendre, et mauvaises habitudes à proscrire.
Oscar est une application e-commerce pour django pensée métier (ou domain driven). Lors de cette présentation, je vous montrerai par l'exemple pourquoi vous devez l'utiliser dans votre prochain projet e-commerce complexe.
On code une lib, puis une autre, et soudain on se retrouve avec 20 paquets sur les bras, avec chacun leur rythme de livraison, leurs dépendances, … Comment traverser les terres maudites du packaging Python sans sombrer dans la folie ? Rapide tour d'horizon de quelques bonnes pratiques qui sauveront votre santé mentale — et vos projets.
Couteau-suisse du web, Mathieu est développeur Django à Mozilla. Trolleur sans pitié, touche à tout mais particulièrement intéressé par les problématiques de performance et de sécurité web, il a aussi été développeur PHP pendant quelques années avant de réaliser que c'était parfaitement possible d'être payé à faire du Python toute la journée.
Djangonaute multiclassé commercial et chef d'entreprise, Jean-Michel est un geek
orchestre qui lorsque qu'il ne peste après les retards de son TGV, aide à l'organisation de
conférence, disserte sur les jeux vidéos ou achète des nom de domaines qu'il n'utilisera jamais.
Grand amoureux des bières belges et du cassoulet, son tour de taille lui permet pour l'instant de
ne pas se vêtir uniquement de braies à rayures et de profiter de sa collection de tee-shirts aux
références cryptiques. Il paraîtrait qu'il est tombé dans un chaudron de potion magique étant petit
et que grâce à cela, il a un talent rare pour lancer D20 et D100 (mais pas les menhirs).
Testons en python.Quoi tester ? Quand tester ? Comment tester ?
"Perfectionniste avéré, il n'a de cesse de forger les meilleurs outils possibles pour résoudre ses problème et celui de ses congénères, Boris est surnommé le Forgeron Stakhanov. À grand coup de Python, sur une base de MongoDB, saupoudré d'un peu de ZeroMQ, il n'a de cesse de réinventer la roue, avec un résultat le plus souvent carré, mais dès fois presque rond."
Présentation de py.test qui remplace avantageusement unittest pour les tests unitaires, et de WebTest, un équivalent au test client de Django pour les tests fonctionnels.
Utiliser des vues sql avec l'orm pourquoi, comment.
- comment on a utilisé django & websocket
- des infos dénormalisées dans postgres
Aigri, twitteur fou, Benoît s'est réfugié depuis un an dans une team où le mantra "t'as écris des tests ?"
sonne régulièrement.
Depuis il va mieux.
Souvent qualifié d'hipster, il s'efforce de maitriser à la fois le développement et la partie
système d'un projet.
Il travaille actuellement sur des projets liés aux énergies renouvelables, à haute teneur éthique.
Le web de demain sera temps-réel ou ne sera pas. Mais pour l'instant, il n'est pas possible de
faire du temps-réel avec Django.
Alors, faut-il apprendre Twisted ou Node.js ?
Tout d'abord, que signifie "temps-réel" sur le web ?
Pourquoi est-ce compliqué à intégrer à un framework comme
Django ?
Quelles sont les possibilités aujourd'hui ? Et demain ?
J'ai longtemps considéré Django comme le meilleur compromis pour développer rapidement de petits projets. Puis, j'ai découvert Sinatra et sa syntaxe minimaliste. En trois lignes, Sinatra permet d'avoir une vue et un système de routage. Aussi, je vous propose de passer en revue plusieurs frameworks dans différents langages. Nous déciderons ensemble si Django reste la solution optimale pour développer rapidement vos projets du dimanche..
Florian Le Goff est en charge des relations avec les développeurs chez Mailjet. Il réside à Lille dans le Nord, où il co-organise la conférence TakeOff, un des principaux évènements techniques et anglophones au nord de Paris. Florian est également le co-fondateur d'ubinect, le pionnier de la gestion de cabinet médical libéral en mode web.