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 :)
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.
by ouhouhsami
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 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.