by David Larlet
Il existe des moments clés dans un groupe qui sont liés à sa taille. Dans les communautés ouvertes, c'est d'autant plus flagrant car la croissance est incontrôlée. Via un savant mélange de chiffres, d'expérience et de trolls vous pourrez analyser les succès et surtout les échecs de projets comme Django ou django-fr. Et notamment comprendre pourquoi vous n'êtes pas 200 dans la salle :)
Comment organiser une application Django de plus 120k lignes de code ? Pour le projet Autolib’, la pierre angulaire est le modèle de données qui est à la fois utilisé par le site Web, les utilisateurs du service, le sytème d'information qui intégre un centre d'appel ainsi que par des applications externes (bornes de locations et smartphones). Cette présentation évoquera :
Libération a basculé 90% de son site en Django pendant l'été 2011. Avant, pendant et malheureusement surtout après la bascule, nous avons découvert plein de petits et gros pièges, essentiellement liés aux performances, qui vont de pair avec le fait d'avoir un "gros" site en Django, et l'idée de cette intervention est de les présenter pour que tout le monde puisse en profiter :)
Unfortunately, solving simple problems with Python isn't always 'import antigravity'. Best practices are sometimes far from obvious. This talk will analyze the high barriers of entry that clutter the Python landscape. We'll discuss ways to make Python more accessible for newcomers and less of a headache for seasoned veterans.
Django's app structure enables developers to break their application into functional units from the start of a project. This enables multiple developers to easily contribute to a single project and offers great re-use. The next step is to move from many Django apps in a single project to many services that talk across defined contracts and API's. We'll walk through practices for doing this and how Django enables it easily, but also the places it introduces complexities.
Panorama de différentes situations rencontrées lors de l'utilisation conjointe de formset et de "rich" widget (en opposition aux champs input standards) pour l'édition de ce formset. Etudes de cas depuis la concordance 1 widget pour 1 champ de formulaire, à 1 widget pour l'édition de l'ensemble du formset.
Exemple d'un cas pratique non trivial : Vous voulez qu'un utilisateur puisse créer, mettre à jour, supprimer un ensemble de 'point of interests' sur une carte dans une même et unique interface, tout en utilisant au maximum les briques fonctionnelles mises à disposition par Django ; comment vous faites ? L'objectif de cette mini-conférence est de donner des pistes pour cela.
Comment publier des données cartographiques, aussi simplement qu'on publie une image ? Il existe un monde où Django expose lui-même des cartes interactives, sans déployer l'artillerie habituelle ! Une approche à contre-courant se prêtant parfaitement à la mise en valeur quasi-immédiate d'informations geographiques, comme celles libérées par votre ville !
Présentation brève d'outils pour que les données de votre application Django puisse rejoindre Linked Open Data Cloud…
by Souen
Même si l'admin django est très populaire et offre pas mal de documentation sur comment la personnaliser, il n'est pas toujours évident de l'adapter aux besoins réels de ses utilisateurs.
Pourtant, en creusant un peu dans les méandres de ses classes, on trouve des possibilités d'extensions un peu cachées qui permettent une personnalisation plus poussée. Cette conférence a pour but de présenter quelques unes de ces possibilités.
by Twidi
Une application django pour gérer le cache de fragments de templates, avec des fonctions avancées :
by kemar
Ma page fait 9000 requêtes SQL, pourquoi, et comment je m’en sors ? D’abord, il faut s’en apercevoir avant de passer en production. Ensuite, il existe des techniques classiques, en fonction de la complexité de la situation.
Oui, il existe une foultitude de projets, applications, scripts... qui permettent de créer son propre miroir de PyPI. Seulement, il y a la solution simple, la solution du pauvre qui se fait en quelques minutes et avec un minimum d'effort.
Pourquoi utiliser son propre miroir ? Ah mais pas d'inquiétudes, nous allons parler de ça aussi ;)
Celery est l'outil le plus fréquemment utilisé pour mettre en place des traitements de tâches en arrière-plan avec Django. Ce lightning talk vise à faire un rapide résumé des fonctionnalités disponibles et des difficultés rencontrées lors de la mise en place.
Ce talk est principalement un retour d'expérience suite à la réalisation de showyoulike.it qui importe massivement des données en provenance de Facebook en tâche de fond.
Vous êtes vous déjà demandé quel est le but d'un test qui échoue ?
Nous sommes des Djangonautes mais les Rubistes font (rarement) aussi des choses intéressantes, et c'est le cas d'un outil de test Cucumber porté de Ruby à Django nommé Lettuce. Cet outil offre une approche alternative à l'écriture des tests (Behavior Driven Development) qui facilite la réutilisabilité et la compréhension. Chaque test est associé à une simple phrase en language naturel, en composant chacune de ces phrases sous forme d’histoires, vous serez en mesure d’écrire des scénari complexes et facile à maintenir.
by Bruno Renié
Django 1.3 intègre contrib.staticfiles pour simplifier la gestion des ressources statiques (CSS, JS, images). Petit tour d'horizon pour bien comprendre ce que ça fait, comment s'en servir en développement et en production, avec à la clé la configuration parfaite. Rien que ça.
Django nous permet d'être averti lorsque l'application plante. Néanmoins les informations fournies ne permettent pas toujours de comprendre ou reproduire le problème. Sentry pallie ce manque, tant avec Django qu'avec Python. Nous allons voir ce qu'offre Sentry pour Django en particulier et plus généralement pour les scripts Python.
Retour sur la création du nouveau site mobile de 20minutes.fr, du développement au déploiement.
by Twidi
La gestion de millions d'objets au sein d'un projet Django n'est pas forcément beaucoup plus compliquée qu'à une échelle plus réduite. Ce qui l'est plus, c'est quand ces objets sont tirés de sites distants, mis à jour plus ou moins régulièrement, et qu'il en apparaît ou disparaît en permanence.
Cette mini-conférence présentera les choix effectués pour mener à bien un tel projet : récupération des données, stockage, recherche, cache…
by Bruno Renié
Les pratiques de distribution en vue du déploiement sont multiples : clone ou archive VCS, rsync… Le packaging est une alternative qui facilite un certain nombre de choses : versionnement, gestion des dépendances, facilité de rétrogradage. Nous verrons ici comment monter une infrastructure de déploiement robuste basée sur les outils de packaging et distribution Python.