Bonjour, je m'appelle Laurent.

Je suis freelance. Je développe des applications web et j'administre des serveurs.

J'ai 33 ans, j'habite en France. Je suis un geek et libriste convaincu. J'utilise Linux et les logiciels libres depuis bien trop longtemps pour l'avouer. Ceci est mon espace personnel, vous y trouverez des articles techniques et le code de projets partagés. J'utilise principalement Python avec les frameworks Django et Flask, le tout dans un environnement Linux.


Derniers articles

Comment utiliser une image disque

Le titre n'étant pas très parlant, et comme je ne trouvais rien de mieux sans faire une longue tirade, on va tout de suite définir de quoi nous allons parler. Une image disque est tout simplement une copie d'un disque (ça peut être un disque dur, ou un DVD, ou ce que vous voulez) dans un fichier. Nous allons voir dans cet article ce qu'il est possible de faire avec une image disque, et surtout comment le faire.


Utiliser le module Upload de Nginx

Pendant le développement de Flaskup, j'ai dû faire face à une problématique concernant l'upload de fichiers volumineux. Le problème venait de performances médiocres à la fin de l'upload : le navigateur a fini d'envoyer la requête contenant notre fichier, et Flaskup pouvait mettre plusieurs minutes à répondre (pas terrible...).

On verra donc deux choses dans ce billet :

  • pourquoi le serveur met si longtemps à nous répondre
  • comment résoudre ce problème avec le module Upload de Nginx

Django : packager un projet

Dans ce billet, je vais décrire une méthode pour packager un projet Django avec distribute, le but étant d'avoir un joli tarball qu'on peut ensuite uploader sur le CheeseShop ou installer directement dans un virtualenv.

Un peu de vocabulaire pour bien commencer, dans le monde de Django il faut bien faire la différence entre une application et un projet :

  • Une application est un ensemble de fonctionnalités ajoutées à Django.
  • Un projet est une instance de Django. Un projet va utiliser plusieurs applications (listées dans INSTALLED_APPS).

Nous allons voir comment packager un projet Django et non une application. Comme je n'ai trouvé pratiquement aucune ressource sur ce sujet sur le web, je me permets de partager ma technique, ça intéressera peut-être quelques personnes :)

Bon, maintenant que tout le monde sait de quoi on va parler, allons-y !


Flask : déployer une application avec Fabric

Toujours dans la série d'articles dédiées au framework Flask, voici le cinquième dans lequel nous allons voir comment utiliser Fabric pour automatiser le déploiement d'une application.

Le but est d'installer une application, et toutes ses dépendances, sur un ensemble de serveurs en une seule commande. Une mise en production d'une application est toujours une opération plus ou moins risquée, alors autant mettre toutes les chances de son côté et automatiser cette tâche au maximum. Et c'est là que Fabric intervient.

Fabric est un peu un équivalent d'un Makefile (Fabric utilise un fichier nommé fabfile.py, mais orienté Python et en simplifiant les échanges avec les serveurs distants. On peut ainsi facilement copier des fichiers et lancer des commandes directement sur les serveurs, le tout de manière sécurisée à travers SSH.