Monthly Archives: October 2012


Comment servir les fichiers statiques avec Django en dev et en prod

Servir les fichiers CSS, javascript et les images avec Django a toujours été la plus grande source de confusion (heureusement ça s’est bien amélioré avec la 1.4, donc upgradez si vous pouvez). C’est d’autant plus déroutant que la manière de faire est différente selon la version de Django, et selon que l’on est en production ou en développement.

Affiche du film "Labyrinthe

Démasquer les faux profils sur les réseaux sociaux et sites de rencontres (Badoo, Facebook, etc)

Haaaa c’est bientôt l’hiver, on a envie de trouver une poule pour être au chaud alors on va sur badoo, oui mais voilà c’est plein de faux profils qui vont tenter de vous vendre un compte en banque remplie de millions de dollars sous condition d’envoyer un western union pour débloquer l’avocat enfermé au Congo chargé de valider la transaction…


Logo de Python rendu à la Matrix

Les environnements virtuels Python : venv, virtualenv et virtualenvwrapper

Quand on commence beaucoup programmer, on accumule rapidement plusieurs projets en cours de développement sur sa machine. Certains vieux, certains récents, qui utilisent tous des bibliothèques similaires, mais pas forcément de mêmes versions. Ou parfois des bibliothèques incompatibles. Parfois même, des version différentes de Python: Python 2.6, 2.7, 3.2 ? Et c’est sans compter les mises à jour de l’OS, qui a ses propres besoins en terme de libs et de versions.

Le jour où ça casse, c’est le chaos.


Générateur de nom d’heroic fantasy en Python

Les générateurs de nom d’heroic fantasy sont légions sur internet. Mais autant j’ai trouvé des générateurs de noms normaux en Python (dont je me sers d’ailleurs pour créer des comptes bidons automatiquement pour les démos), autant je n’ai rien trouvé pour pythonement printer l’en-tête d’une feuille de personnage de DDA.

Dessin de Drizzt Do'Urden

Schéma détaillant le phénomène de l'érection masculine

Le pattern observer en utilisant des décorateurs

Nous avons vu précédemment que les décorateurs permettaient d’exécuter du code avant et après une fonction, sans modifier la fonction. La plupart du temps on retourne ainsi une nouvelle fonction embarquant un nouveau code.

Mais il existe d’autres usages pour les décorateurs, et notamment un qui est au cœur du fonctionnement de django-quicky: l’abonnement.