Deploying the Need Facebook canvas app. to Windows Azure Web Sites |Déploiement de l’appli. canvas Facebook dans les Web Sites Windows Azure

With the new release of Windows Azure Web Sites in June 2012, it is now possible to have free ASP.NET hosting for simple usage. Avec la sortie des sites Web Windows Azure en Juin 2012, il est maintenant possible d’avoir de l’hébergement gratuit d’ASP.NET pour une utilisation simple.
This blog post explains how to deploy Need application to Windows Azure Web Sites instead of Cloud Services. Ce billet explique comment déployer l’application Need vers les sites Web Windows Azure plutôt que dans les “Cloud Services”.
You may find information about that new June 2012 Windows Azure release in Episode 83 of the Cloud Cover Show, or in French in Episode 8 of “Le bulletin Azure”. Vous trouverez des informations sur cette nouvelle version Windows Azure de juin 2012 dans l’Le Bulletin Azure, épisode 8, ou en anglais dans l’épisode 83 de “The Cloud Cover Show”.

 

In a previous post, I explained what the sample app Need is, and how to deploy it to Windows Azure Cloud Services. Prior to June 7th 2012, Cloud Services were named “hosted services” and it was the unique way to deploy to Windows Azure. Dans un billet précédent, j’ai expliqué ce qu’était l’application Need, et comment la déployer dans les “Cloud Services” Windows Azure. Avant le 7 juin 2012, les “Cloud Services” Windows Azure s’appelaient “hosted services” et était l’unique mode de déploiement Windows Azure.
As Need app. may be deployed many times for small communities inside Facebook, it makes sense to use Windows Azure Web Sites for the following reasons: - It is free for low usage - It can scale when usage grows Comme l’appli. Need peut être déployé un certain nombre de fois pour des petites communautés au sein de Facebook, cela peut avoir du sens d’utiliser des sites Web Windows Azure pour les raisons suivantes: - c’est gratuit pour un usage faible - cela peut monter en charge en fonction des besoins
Another interesting thing about Windows Azure Web Sites and Facebook canvas applications is that an SSL certificate is provided. Un autre aspect intéressant des sites Web Windows Azure dans le cadre d’applications canvas Facebook est qu’un certificat SSL est fourni.

image

Currently, Windows Azure Web Sites don’t provide the ability to use your own SSL certificate on your own domain name (you can provide your own domain name in reserved mode). With Facebook canvas applications, this is not an issue as end users won’t use directly the web site’s URL; they will see apps.facebook.com/<app namespace>. In the following screen shot, user sees https://apps.facebook.com/need-sample/ while the canvas app is at https://need.azurewebsites.net. Actuellement, les sites Web Windows Azure ne proposent pas la possibilité d’utiliser son propre certificat SSL sur son propre domaine (on peut tout de même utiliser son propre nom de domaine en mode réservé). Avec les applications canvas Facebook, cela n’est pas un problème du tout puis que les utilisateurs finaux ne vont pas utiliser l’URL du site Web directement; ils vont voir apps.facebook.com/<espace de noms de l’appli>. Dans la copie d’écran suivante, l’utilisateur voit https://apps.facebook.com/need-sample/ et l’appli canvas est à https://need.azurewebsites.net

image

 

So, le't’s publish the App to Windows Azure Web Sites. Publions donc l’appli vers les sites Web Windows Azure.

 

First step is to create a new Web Site with a Windows Azure SQL Database (was SQL Azure). La première étape est de créer un site Web avec une base de données SQL Windows Azure (précédemment SQL Azure).

image

image

image

image

image

Then you can go to the newly created web site administration in the portal to download a publish settings file: Puis on peut aller vers l’administration du nouveau site Web ainsi créé pour télécharger le fichier des paramètres de publication:

image

image

store the file on your local disk enregistrer le fichier sur le disque local
From Visual Studio, right click on the Web Site project (the Azure Cloud Service deployment project is useless for Azure Web Sites) and choose Publish. Depuis Visual Studio, cliquer droit sur le projet Web (le projet de déploiement Windows Azure vers les “cloud services” est inutile pour le déploiement vers les sites Web Windows Azure) et choisir “Publish”.

image

image

Import the file you just downloaded  

image

set the connection string for NeedContext from the drop down box: choisir la chaîne de connexion pour NeedContext depuis le liste combinée déroulante:

image

Then publish on next page. Start Preview button will optionally show the files that needs to be updated when publishing for the n-th time. Puis publier sur la page d’après. Le bouton “Start Preview” montre optionellement les fichiers qui ont besoin d’être remplacés à destination quand on publie pour la n-ième fois.

image

This will show the Web Site in the browser. An error like this shows up in Windows Azure Web Sites: Cela va montrer le site Web dans le navigateur. Une erreur telle que celle-ci apparaît avec les Sites Web Windows Azure:

Could not load file or assembly 'Microsoft.WindowsAzure.ServiceRuntime, Version=1.7.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The system cannot find the file specified.

image

This is because the Need application uses Windows Azure API that are not deployed by default in Azure Web Sites. They are deployed by default in Windows Azure Cloud Services so Visual Studio adds the reference with the copy local option set to false. Cela vient du fait que l’appli Need utilise les API Windows Azure qui ne sont pas déployées par défaut dans les sites Web Windows Azure. Elles sont déployés par défaut dans les “Cloud Services” Windows Azure et Visual Studio ajoute donc la référence avec l’option “copy local” à “false”.
The copy local option, when set to true, includes the DLL to the deployment destination . So let’s set it to true for the two assemblies we need. L’option “copy local”, quand mise à “true”, inclut les DLL dans la destination du déploiement.Positionnons donc cette valeur à “true” pour les deux assemblys dont nous avons besoin.

image

Then you just have to deploy again to Windows Azure Web Sites and you’ll have the site running. Puis il suffit de redéployer vers les sites Web Windows Azure et le site fonctionnera.
Another important step is to change the parameters of the App in Facebook so that the canvas is at <yourapp>.azurewebsites.net: Une étape importante est de changer les paramètres de l’appli Facebook de façon à ce que l’appli Canvas soit à <votreappli>.azurewebsites.net

image

 

An instance of the app is deployed on a Windows Azure Web Site and you can try it. Just connect with you Facebook account and go to the following URL: Une instance de l’appli est déployée sur un site Web Windows Azure et vous pouvez l’essayer. Connectez-vous simplement à Facebook avec votre compte et allez à l’URL suivante:

https://apps.facebook.com/need-sample/

Once you’ve accepted the App, the App must accept you. As it is deployed in demo mode, you just have to enter the demo invitation code which is the following: Une fois que vous avez accepté l’appli, l’appli doit vous accepter. Comme elle est déployée en mode démo, vous avez juste à entrer le code d’invitation qui est le suivant:

data-may-be-deleted

 

Smile

Benjamin