Sorry, this blog is exclusively written in French!

Django, qu'est ce que c'est ?

Django est un framework web basé sur le langage Python qui permet un développement simple et ultra-rapide. A l'instar de Symfony ou Ruby on Rails, il suit le modèle de conception Modèle-Vue-Contrôleur ; toute la gesion de la structure des données est assurée par des classes de Modèles, les Vues permettent l'affichage des informations et enfin les Contrôleurs répondent au requêtes des utilisateurs. Ainsi, grâce à ces trois entités, le framework sera capable de générer toute une application web, en back et frontoffice.

Installation

La plupart des informations glanées sur Internet concernant l'installation de Django se fait souvent sous environnement Linux. Voici la marche à suivre pour permettre aux utilisateurs de Windows d'utiliser Django. Celle-ci est assez simple. Je met à votre disposition une archive contenant tous les installateurs dont j'ai eu besoin. Ceux-ci datent du mois de juillet 2008, et ne seront peut être plus d'actualité dans quelques mois.

Installer Python

Tout d'abord, vous devez avoir la dernière version de Python. Vous pouvez la télécharger sur le site officiel. Une fois l'installateur lancé, conservez les options par défaut ; le dossier d'installation sera C:\Python25 (pour la version 2.5).

Installer PostgreSQL et psycopg

Django gère plusieurs types de SGBD. Néanmoins, je vous conseille d'installer postgreSQL, accompagné de psycopg (qui permettra à Python de communiquer avec la base). Une fois récupéré le .msi d'installation sur le site, conservez là-encore les options par défaut, jusqu'à l'écran de configuration ("Initialise database cluster"). Là, choisissez un login (postgres par exemple) et un mot de passe permettant d'accèder à la future base de données.
Une fois l'installation terminée, lancez le programme pgAdmin III depuis le menu démarrer. Vous pourrez vous y connecter grâce au mot de passe préalablement choisi. L'installation s'est donc bien déroulée ! Vous n'avez plus qu'à installer psycopg, très simplement en téléchargeant l'exécutable windows.

Installer Apache et mod_python

Téléchargez simplement la denière version d'Apache et éxecutez l'installateur. Choisissez bien de lancer Apache sur le port 80. Pour vérifier que l'installation s'est bien déroulée, lancez votre navigateur sur l'url http://127.0.0.1. Vous devriez avoir une page générée par le serveur : "It works". En installant Apache, vous avez aussi accès au moniteur du service, dans la barre de taches. C'est là que vous pourrez relancer ou arrêter le serveur.
Maintenant, au tour de mod_python qui permettra à Apache d'interpréter le code Python. Suivez simplement l'assistant d'installation. Puis, éditez le fichier httpd.conf d'Apache, situé dans son répertoire d'installation : C:\Program Files\Apache Software Foundation\Apache 2.X\conf\httpd.conf. Ajoutez le chargement de mod_python à l'endroit où sont regroupés tous les "LoadModule" (au début du fichier) de la façon suivante :

LoadModule python_module modules/mod_python.so

Relancez Apache par le moniteur de services. Si le serveur refuse de se réinitialisez, vous avez commis une erreur en éditant le fichier httpd.conf. Recommencez (il existe un fichier de backup dans le même répertoire conf).

Installer Subversion

Pour récupérer la dernière version de développement de Django, nous allons utiliser subversion. Vous pouvez le télécharger ici. Pour les adeptes des interfaces graphiques, il existe aussi TurtoiseSVN (que je déconseille néanmoins). Cela vous permettra, entre autres, de mettre à jour automatiquement votre version de Django en lançant un simple update depuis votre répertoire d'installation. Plus d'informations sur Subversion.

Installer Django

Enfin nous y arrivons ! Grâce à SVN, nous allons faire un commit depuis le site officiel du framework. Pour cela, lancez l'invite de commande et tapez

C:\>cd C:\python25\Lib\sites-package
C:\python25\Lib\sites-package>svn co http://code.djangoproject.com/svn/django/trunk/ django

Djanjo va alors s'installer dans le répertoire de Python. Pour un usage ultérieur plus facile, vous pouvez faire une copie du fichier django-admin.py de Django\bin vers C:\Python25\Scripts. De plus, vous pouvez aussi changer vos variables d'environnement. Pour celà, faites un clic droit sur le poste de travail > Propriétés. Puis, dans l'onglet Avancé, cliquez sur "Variables d'environnement". A la suite de la chaine de caractères du PATH, rajoutez les chemins ci-dessous :

C:\Python25;C:\Python25\Scripts\;C:\Program Files\Subversion\bin;

Configurer Apache

Revenons à Apache. Nous allons configurer votre espace de développement local. Rééditez votre fichier httpd.conf et placez vous tout en bas. Copiez collez les lignes suivantes, permettant de créer un alias de votre répertoire de développement Django. (C:\Django ici)


SetHandler python-program
PythonPath "['C:/django'] + sys.path"
PythonHandler django.core.handlers.modpython
SetEnv DJANGO_SETTINGS_MODULE testproject.settings
PythonDebug On


SetHandler None


SetHandler None

La configuration est donc terminée ! Vous trouverez tous les exécutables nécessaire à cette installation ici. Nous pouvons donc entrer dans le vif du sujet.

Démarrer avec Django

Pour vérifier que l'installation s'est correctement déroulée, nous allons commencer un nouveau projet Django. Pour en savoir plus sur les commandes que nous allons utiliser, je vous invite à consulter la doc du framework, très bien faite (ou les futurs articles de ce blog !)
Commençons à créer notre dossier Django.

C:\>mkdir Django
C:\>cd Django

Puis, nous allons créer un nouveau projet Django

C:\Django\>django-admin.py startproject monprojet
C:\Django\>cd monprojet

Le squelette du projet Django est donc initialisé. Pour pouvoir le tester, nous devons effectuer un runserver qui lancera le serveur de développement en local (par défaut sur le port 8000) en validant vos modèles (vides pour l'instant, donc ça devrait aller).

C:\Django\monprojet\>python manage.py runserver

Ainsi, en lançant votre navigateur sur l'url http://127.0.0.1:8000/monprojet/, vous verrez la page par défaut du projet Django vide.

Maintenant, à vous de jouer ! Pour découvrir Django (et python !), je vous conseille le tutorial du site officiel : Rédaction de votre première application (en quatre parties, traduites en plus !).