-------------------------------------------------------------
L’équipe Windows Azure vous proposera dans les semaines à venir une série de 12 articles incontournables pour tout connaitre sur Windows Azure, rédigés par des experts Microsoft et des MVP.

Découvrez aujourd'hui le dixième article de la série, rédigé par Aymeric Weinbach, MVP Windows Azure et fondateur de ZeCloud.

-------------------------------------------------------------


Pré requis :

La première étape, consiste bien évidemment à installer les prérequis pour ce tutorial.

Ce tutorial est fait pour Visual Studio 2010 ou 2012. Vous aurez besoin de :

  • Python 2.7
  • les Excellents Python tools pour Visual Studio
  • Le Sdk Python Windows Azure
    Mon conseil ici serait d’installer tout cela avec le Web Platform Installer il vous installera tout en une fois ainsi que toutes les dépendances nécessaires
  • un client Git serait utile aussi Msysgit (ligne de commande) et en option une surcouche bien pratique comme tortoisegit ou VisualGit Pour la publication vous pouvez aussi utiliser un client ftp.
  • Et enfin le script wfastcgi.py qui permettra à IIS d’exécuter votre code python 

Création du site web

Commençons par nous connecter au portail Azure manage.windowsazure.com pour créer le site web : 


 Nommez votre site web, par exemple '”PythonWebSite” ce nom sera utilisé comme préfixe pour l’url de votre site web qui sera ainsi accessible : PythonWebSite.azurewebsites.net. 

 

Ouvrons à présent Visual Studio puis créons un nouveau site Django avec le Template d’application installé précédemment. Attention à bien décocher l’option de création d’un dossier pour la solution :

Sur les serveurs Azure Web Sites  l’interpréteur Python est installé mais Django  ne l’est pas, vous allez donc  devoir copier les librairies Django dans votre dossier  de solution pour pouvoir les déployer ultérieurement avec votre site web.

Votre dossier python doit être à priori c:\python27 si c’est le cas copiez le dossier c:\python27\Lib\site-packages à la racine de votre projet au même niveau que l’application que l’on vient de créer.
Ce dossier contient d’autres librairies python installé sur votre poste que django, si certaines ne sont pas nécessaires pour votre site vous pouvez les supprimer.

A présent copier aussi à la racine le fichier wfastcgi.py que vous avez téléchargé tout à l’heure.

Vous devez maintenant avoir ces 3 éléments dans votre dossier projet  :

wfastcgi.py

site-packages

monapplicationdjango

Publication du site Web 

Revenons sur le portail Azure puis sur le tableau de bord de notre site web. 

 

 

 

Première chose si vous n’avez jamais configuré d’utilisateur pour le déploiement, ou si vous ne vous rappelez pas du mot de passe que vous aviez mis cliquez sur “Réinitialiser les informations d'identification du déploiement”

Puis créez votre repository Git en cliquant sur “Configurer la publication Git”

 

 

 

Maintenant passons à git  ouvrez un shell git:

Naviguez vers votre dossier projet 

cd c:\mondossierprojet

initialiser votre repo local

git init

ajouter vos dossiers et faites votre premier commit

git add monapplicationdjango site-packages wfastcgi.py
git commit -m "Initial site"

Et publiez votre application, le mot de passe de déploiement que vous avez configuré va vous être demandé 

git remote add azure https://zecloud@pyzecloud.scm.azurewebsites.net/PythonWebSite.git
git push azure master 

 

C’est presque fini il ne nous reste plus qu’a configurer notre site Azure pour qu’il soit accessible.

Allez sur la page configurer

Django nécessite 3 variables d’environnement DJANGO_SETTINGS_MODULE, PYTHONPATH, WSGI_HANDLER

Sur un azure website votre site publié avec git va se retrouver dans le dossier D:\home\site\wwwroot\ voici ce que vous devez rentrer dans les paramètres de l’application : 

DJANGO_SETTINGS_MODULE                   monapplicationdjango .settings

 PYTHONPATH                    D:\home\site\wwwroot\monapplicationdjango ;D:\home\site\wwwroot\site-packages

WSGI_HANDLER                     django.core.handlers.wsgi.WSGIHandler()

Enfin vous devez configurer IIS pour que les requêtes entrantes soit traitées par python, 

Ajoutez au moins une ligne à “Mappages de gestionnaires”  * va renvoyer toutes les requêtes http vers le script D:\home\site\wwwroot\wfastcgi.py qui seront exécutées par D:\python27\python.exe

Si tout s’est bien passé vous devriez voir sur l’url de votre site la page par défaut de django

Bravo, maintenant à vous de jouer. N’oubliez pas que si vous installez de nouvelles librairies Python sur votre poste, il faudra mettre à jour le dossier site-packages de votre projet.
Et pour mettre votre jour votre site il vous suffira de le redéployer avec Git. 

 

Essayez gratuitement Windows Azure avec le trial 90 jours!