Retrouvez-moi en conférence aux TechDays 2010 le 8, 9 et 10 Février

2 février 2010

Plus que quelques jours avant la 4ème édition des TechDays 2010 qui se déroule le 8, 9 et 10 février 2010 au Palais des Congrès de Paris.  

TechDays2010_Signature_Email

Pour rappel les TechDays c’est :

  • 3 grandes conférences plénières
  • Plus de 300 conférences techniques
  • Des workshops animés par des experts sur des thématiques variées
  • Une zone d’exposition regroupant près de 130 partenaires, stands Microsoft et communautaires
  • Un espace dédié pour échanger avec des experts

Pour ma part vous me retrouverez lors de deux sessions :

  • Le Mardi 9/02 – 13:00 – 14:00 – Nouveautés de Visual Basic 2010 et les trucs et astuces de son IDE (co-animé avec Gregory Renard)
  • Le Mercredi 10/02 – 16:00 – 17:00 – SQL Azure & Azure Storage (co-animé avec Pascal Belaud)

Ainsi que différents Workshops sur Windows Azure que je donnerai avec Guillaume Belmas et Ronny Kwon :

  • Le Lundi 8/02 – 14:30 – 15:30 – Développer pour Windows Azure
  • Le Lundi 8/02 – 17:30 – 18:30 – Développer pour Windows Azure
  • Le Mardi 9/02 – 14:30 – 15:30 – Développer pour Windows Azure
  • Le Mardi 9/02 – 17:30 – 18:30 – Développer pour Windows Azure
  • Le Mecredi 10/02 – 14:30 – 15:30 – Développer pour Windows Azure

Mon programme complet : http://www.microsoft.com/france/mstechdays/programmes/parcours.aspx?SpkID=ea05b0cd-6e8e-45f2-8609-4da9588d3501

Vignette_Speaker_H

Wordpress, Windows Live Writer et son Invalid response document returned from XmlRpc server

2 février 2010

Cela fait plus d’une dizaine de jours que je suis privé de mon Windows Live Writer pour composer mes posts de blog. Cela devient très problématique pour le confort d’utilisation qu’apporte WLW surtout en ce qui concerne la gestion des images entre autre…

En cause, une erreur levée par WLW m’indiquant :

An error occurred while attempting to connect to your blog:

Invalid Server Response – The reponse to the blogger.getUsersBlogs method received from the blog server was invalid:

Invalid response document returned from XmlRpc server

You must correct this error before proceeding.

Pour information, mon blog (un Wordpress actuellement en version 2.9.1) est hébergé sur un Windows 2003 avec donc un IIS6, le module de FastCGI avec un PHP 4.4.6, le tout derrière un reverse proxy Apache 2. Vous retrouverez déjà sur Internet plusieurs article à ce sujet, mais aucun n’a résolu mon problème. (http://codex.wordpress.org/Windows_Live_Writer_Help).

Après avoir éliminé le cas d’une erreur coté client (mon WLW marche bien avec d’autre blog) et d’une erreur de mon environnement Win/IIS par le fait qu’un autre blog Wordpress 2.9.1 sur ce même serveur fonctionne très bien avec WLW, je me suis intéressé à la différence dans les échanges HTTP entre le blog qui fonctionne et mon blog qui ne fonctionne pas avec WLW.

Pour cela je me suis servi de Fiddler pour filtrer les échanges HTTP de WLW avec les blogs en question. Voici le début du process d’ajout d’un compte dans WLW :

  1. Téléchargement de la page d’accueil du blog pour récupérer l’URL du “EditURI”
  2. GET sur le /xmlrpc.php?rsd pour récupérer l’URL de l’API (qui doit être /xmlrpc.php)
  3. POST sur le /xmlrpc.php
  4. ….

Seulement l’erreur de WLW est lévée à l’étape 3. D’ailleurs Fiddler nous indique une violation du protocole HTTP :

Fiddler has detected a protocol violation in session #51. Content-Length mismatch: Response Header claimed 647 bytes, but server sent 650 bytes.

image

Il y a en effet 3 octets en plus dans le contenu de la réponse que dans ce qui est déclaré dans le header HTTP. En regardant le plus près, ces trois octets sont présents juste au début du contenu de la réponse HTTP et juste après le header : EF BB BF !

image

Suivant Wikipédia : “La représentation UTF-8 du BOM est la séquence d’octets EF BB BF, qui apparaît en codage ISO-8859-1 comme ""”.

On peut facilement reproduire ce comportement en créant deux pages PHP faisant un simple echo. Sur une des pages on enregistre en “ANSI” et sur l’autre en “UTF8”. En appelant ces deux pages, on constatera avec Fiddler que le fameux “EF BB BF” est ajouté sur la page encodée en UTF-8.

Sachant cela, je me suis intéressé à la possibilité qu’un fichier PHP inclut dans ma réponse était encodé en UTF8. Et cela était le cas mais à un endroit où on l’attend pas : dans mon thème Wordpress.

Ainsi si vous avez cette erreur, vérifiez tous vos plugins et surtout votre thème. Désactivez tout, il y a de très grandes chances que cela provient d’un fichier ayant un mauvais encodage. Vous éviterez de perdre de longues heures pour tenter de comprendre ce problème :)

Mais où est donc passé le Live Service Developer Portal ?

2 février 2010

En voulant mettre en place une authentification LiveId pour une application Web, je me suis demandé où était passé le “Live Service Developer Portal” nous permettant de déclarer nos applications.

En effet depuis la PDC09, la section “Live Services” a disparu du portail “Windows Azure” nous mettant maintenant à disposition les services Windows Azure (Compute et Storage), SQL Azure, AppFabric (ex. .NET Services) et enfin le Marketplace :

image

Il faut chercher un peu car il n’y a aucun lien sur le site des Live Services (http://dev.live.com/) ni sur les blogs et/ou forums associés, en fait on retrouve le fameux lien dans la documentation MSDN sur la page “Getting Your Application ID….” ! L’adresse est donc : https://live.azure.com !

azure

Ce qui est assez étonnant c’est que ce portail n’est plus tellement à jour à y regarder le menu, on y retrouve les “.NET Services” à la place du nouveau  “AppFabric”. De plus, “Live Services” a disparu au profit du “Marketplace”.

Quoi qu’il en soit vous pourrez toujours gérer vos applications afin d’y intégrer l’authentification Live Id .

helpaged

Seulement vous risquez de rencontrer souvent ce type d’erreur, une “PipeException” :

errorlive

Visiblement le “Live Services Developer Portal” semble être en pleine “restructuration” après le lancement officielle de la plateforme Windows Azure. Wait & see….

Présentation & démos du Azure Roadshow

31 janvier 2010

En début de semaine nous donnons avec Gregory Renard, une serie de conférences dans le cadre du Azure Roadshow en Belgique.

Comme promis, nous vous mettons à disposition la presentation ainsi que les ateliers/démos que nous avons joués :

  • Atelier 1 – Premier service : Hello World dans un WebRole, découverte des fichiers de définition et configuration et déploiement local et sur Azure
  • Atelier 2 – Tables : Conception d’un WebRole type « twitter-like ». Manipulation des Azure Tables pour enregistrement des messages
  • Atelier 3 – Blobs : Ajout des images sur les messages. Manipulation des Azure Blobs pour le stockage des images
  • Atelier 4 – Queue & WorkerRole : Ajout d’un WorkerRole pour la génération des miniatures des images. Manipulation des Azure Queues pour transmettre les demandes de minuatures au Worker Role.
  • Atelier 5 – SQL Azure : Remplacement du repository Azure Tables par un DBML pour interfacer un SQL Express. Puis migration du SQL Express sur un base SQL Azure.
  • DemoSqlAzure : demos SQL Azure : calcul des couts et manipulation du firewall

Je vous rappelle aussi que vous pouvez vous former sur la plateforme Windows Azure en consultant notre Coach sur la MSDN : http://msdn.microsoft.com/fr-fr/azure/msdn.coach.azure.aspx

Windows Azure Status

25 janvier 2010

A l’instar de Trust chez Salesforce, App Status Dashboard chez Google ou encore Service Health Dashboard chez Amazon WS, Microsoft vient de sortir un outil de surveillance des services de la plateforme Windows Azure, à savoir :

  • Windows Azure (Compute, Storage et CDN)
  • SQL Azure
  • App Fabric (ServiceBus et Access Control)

Vous aurez aussi la possibilité de remonter dans l’historique jour après jour ou de vous abonner aux flux RSS pour être notifié sur l’état des services.

Le lien : http://www.microsoft.com/windowsazure/support/status/servicedashboard.aspx