vBulletin stats
Christophe Lauer, My Microsoft Life - Site Home - MSDN Blogs

Christophe Lauer, My Microsoft Life

Think Different. Think for Yourself.

Posts
  • Christophe Lauer, My Microsoft Life

    Surprise sur Joost.com ce matin

    • 46 Comments

    Surprise, je dispose de 998 invitations sur Joost.com. On dirait qu'ils ouvrent bien plus largement leur bêta privée. La date d'ouverture du service semble donc approcher ;)

    [Edit 1] : Si vous voulez en bénéficier, envoyer moi votre nom + prénom et une adresse mail genre "fusible", on ne sait jamais. En revanche, je ne garantis pas que j'aurais le temps de traiter toutes les demandes avant la semaine prochaine, car je suis en congés jusqu'au 9 Mai sans accès à Internet. Patience ...

    [Edit 2] : A priori, Joost.com serait en ce moment victime de son succès...

     

  • Christophe Lauer, My Microsoft Life

    Flex, Silverlight et les Offres d'Emploi...

    • 23 Comments

    Hier soir, j'assistais à une présentation organisée par l'AFUP à propos de PHP + Flex. La conférence était animée par Mike Potter, un Canadien de l'équipe de Marketing Produit Flex chez Adobe. Mike a d'ailleurs fait beaucoup d'efforts pour s'adresser en Français à son auditoire, bel esprit.

    Au cours de sa présentation, Mike Potter a basculé son browser sur cette page - dont il parle d'ailleurs dans ce billet sur son blog. Il s'agit d'une comparaison des offres d'emploi entre Flex et Silverlight. Voici pour mémoire le graphique en question :

    IndeedJobsTrends

    Le speaker a commenté ce graphique en disant qu'il y avait une forte demande pour des profils de développeurs Flex et que cette demande était en croissance, ce que je graphique confirme. Accessoirement, le graphique montre aussi la tendance sur les offres d'emploi sur Silverlight (et ce n'est pas par hasard, l'URL utilisée dans le billet de son blog contient explicitement la requête sur Silverlight).

    Alors voilà, Mike, je te livre mes commentaires sur cet argument que tu utilises sur ton blog et auprès de tes audiences. Tu parles Français, et via le trackback, tu liras peut être ce billet...

    1 - Premièrement, il est normal que le graphique pour Silverlight commence autour de Mai 2007. C'est le moment où on a annoncé ce nom publiquement lors de Mix07 à Las Vegas. Avant cette date, Silverlight s'appellait WPF/e et était en Bêta. Donc fatalement, aucune offre d'emploi sur Silverlight *avant* Mai 2007.

    2 - Deuxièmement, et là c'est plus intéressant : je trouve que cet argument a priori en faveur de Flex est l'exemple type du contre-argument. Je m'explique.

    Depuis le début avec .NET - soit depuis 2001 - nous nous sommes efforcés de fédérer tous nos environnements et nos technologies autour de .NET, du runtime (le "CLR") et des langages .NET tels que C# et VB.NET.

    A nouveau, avec Silverlight, bien qu'étant une nouvelle plate-forme, nous avons eu le soucis de l'appuyer sur les fondamentaux de .NET, avec le support d'une CLR embarquée, une bibliothèque de classes, des langages parmi lesquels le C#, etc...

    Je veux dire par là qu'avec Silverlight, ce que nous sommes entrain de faire, c'est ni plus ni moins de transformer l'énorme quantité de développeurs formés et compétents en .NET en développeurs d'applications "RIA".

    De même qu'avec .NET depuis le début, une des promesses était qu'un développeur Windows Forms pourrait demain devenir avec un minimum d'efforts et d'apprentissage un développeur Web avec ASP.NET ou un développeur d'applications mobiles avec le .NET Compact Framework, maintenant nous ouvrons à nos développeurs l'univers des possibles autour des applications de type RIA.

    Pour nos clients, c'est aussi l'assurance de pouvoir touver rapidement des développeurs expérimentés, compétents, et qui possèdent déjà les bons réflèxes de coding, et qui seront très rapidement productifs et efficaces sur Silverlight.

    Pas besoin d'apprendre une nouvelle plate-forme depuis zéro et de se mettre à un nouveau langage tel que ActionScript. Sorry ;)

    Vous êtes développeur : vous vous formez à Flex, vous apprenez ActionScript et vous devenez compétent sur cette techno. Fine. Demain, si vous ne faites plus de Flex, comment pouvez vous réutiliser cette compétence et quelles sont vos autres choix possibles ?

    Honnêtement, entre Windows Forms, ASP.NET, Compact Framework, WPF et Silverlight, vous avez un peu plus le choix et plus d'opportunités de valoriser et de réutiliser vos acquis. Pas d'accord ?

    Et puis dernier point, Mike, à vue d'oeil, comme ça, j'ai bien l'impression que si on superpose les deux graphiques à leur point d'origine, la croissance du nombre d'offres sur Silverlight est bien supérieure à celle sur Flex.

    On en reparle dans un an ? ;)

    [Update 14/10/2007] : Suite au commentaire de Bruno, je publie ci-dessous un morceau du graphique sur lequel j'ai rapidement superposé les courbes de Flex et de Silverlight en faisant coincider leurs points d'origine. Ma lecture - Merci Bruno de te soucier de ma vue - c'est que la croissance côté Silverlight (en bleu) est bien plus rapide que celle de Flex (en rouge). Je maintiens ce que je dis...

    GrowthRatesCompared

  • Christophe Lauer, My Microsoft Life

    Préparation du "Tour de France Silverlight"...

    • 20 Comments

    Nous préparons en ce moment un Tour de France sur Silverlight, qui devrait se dérouler à partir de début Octobre 2007.

    Le format est une demi journée, en après midi, assez classique... Les villes couvertes seraient a priori les mêmes que l'an dernier avec Mini-Mix, alias le "Tour Frimr.com", soit : Lille, Strasbourg, Nantes, Toulouse, Aix en Provence, Lyon et Paris.

    Comme on ne change pas une équipe qui gagne - sauf dans le cyclisme, mais c'est une autre histoire ;) - c'est Pierre Lagarde et moi-même qui nous y collerons.

    Pourquoi est-ce que je vous parle de ce tour deux mois à l'avance ? Pour recueillir vos feedbacks, vos inputs et vos suggestions sur l'organisation de ce tour et sur le contenu que vous souhaiteriez y trouver.

    Alors puisque les commentaires de ce billet sont ouverts : Exprimez-vous, lâchez-vous !

  • Christophe Lauer, My Microsoft Life

    Microsoft publiera en grande partie le code source du .NET Framework avec la sortie de Visual Studio 2008

    • 18 Comments

    Aujourd'hui, nous annonçons que nous publierons sous licence Shared Source "Microsoft Reference Licence" une grande partie des codes sources des composants et technologies qui constituent le .NET Framework.

    Dans un premier temps, l'ensemble de classes et des bibliothèques qui sera couvert par cette publication de leur code source comprendra les bibliothèques de base (la BCL, aka Base Classe Library, qui regroupe par exemple les namespaces System, IO, Text, Collections, CodeDom, Remoting, etc...) ainsi que ASP.NET, Windows Forms et WPF (aka Windows Presentation Foundation). D'autres parties constitutives du .NET Framework seront ajoutées avec le temps.

    Pour les développeurs, cela signifie d'une part qu'il sera possible d'étudier le fonctionnement des composants de base du .NET Framework, et que d'autre part, il sera possible d'utiliser ces codes sources au sein des outils de debugging intégrés à Visual Studio 2008.

    Il sera donc possible d'installer ces codes sources localement sur les machines de développement pour les étudier et naviguer d'un code à l'autre, et d'autre part, il sera possible de configurer Visual Studio 2008 de façon à ce qu'il rappatrie les codes sources et fichiers de symboles (.PDB) nécessaires au sein des sessions de Debug.

    Vous pouvez retrouver cette annonce sur le blog de Scott Guthrie, ainsi qu'une interview publiée sur Channel9 qui présente les différents aspects et détails liés à cette annonce.

    On dirait que Shawn Burke est finalement parvenu à faire entendre sa voix ;)

    [Edit 05/10/2007] : Miguel de Icaza a posté un billet dans lequel il commente cette annonce. Son billet comporte un paragraphe de "spéculations" personnelles.

    A mon tour, non pas de faire des spéculations, mais de prononcer mes rêves à voix haute : Je veux croire que la publication de ces codes sources sous licence Microsoft Reference Licence soient un premier pas vers un accord de droit d'utilisation de notre propriété intellectuelle par les contributeurs du projet Mono. Clairement, c'est complètement utopique, et sans doute ingérable au niveau juridique avec ces imbrications et implications entre les différentes licences en présences qui ne sont pas toutes mutuellement solubles.

    En même temps, c'est pourtant déjà bien le cas avec IronPython et le DLR, non ? Alors pourquoi n'étendrions nous pas ceci à tout le .NET Framework ?

    Dernier commentaire personnel : Si vous ne l'aviez pas remarqué, ou si vous avez passé les 12, 24 ou 36 derniers mois dans une grotte, sachez qu'il se passe des choses en profondeur chez nous. Microsoft change... I luv this c0mpany ;)

  • Christophe Lauer, My Microsoft Life

    Appel à Commentaires : Programme de la tournée en France "Web Nouvelle Génération" qui débutera fin Septembre

    • 17 Comments

    Si vous ne le saviez pas, le mois de Juillet constitue le début de l'exercice fiscal chez Microsoft. C'est pendant Juillet et Aout qu'on définit une bonne partie des plans et des programmes de tous ordres qu'on va dérouler ensuite pendant les 12 mois suivants.

    Dans cette optique, nous sommes en cours de préparation d'une tournée dans plusieurs villes de France pour présenter en 1/2 journée ce que Microsoft prévoit et propose pour le Web Nouvelle Génération. Ca sera l'équipe Pierre Lagarde et moi-même qui avait déjà sévit pendant les "Journées ASP.NET" en 2003 et en 2004 qui va se reformer. Et oui, on fait un petit come back sur scène ;)

    On a convergé ensemble sur un programme qui nous plait assez, mais puisqu'on est en plein dans  l'époque du Web 2.0, on pouvait difficilement imaginer construire le programme de cette demi-journée sans demander un peu de feedback et de commentaires aux lecteurs que vous êtes, et qui êtes des participants potentiels de cette série d'évènements.

    Voilà, donc. On vous livre ici le programme tel qu'on l'a conçu, et on est ouverts à vos commentaires et propositions. Ensuite, on fera entre nous une petite séance d'ajustement et d'arbitrage afin de les prendre en compte, puis on en publiera la version finale.

    - Les villes visitées seraient :  Strasbourg, Lille, Nantes, Toulouse, Aix en Provence et  Lyon. Pour Paris, il s'agira d'un autre event spécifique sur lequel on communiquera ultérieurement.

    - Le format serait d'une demi-journée, de 14h à 18h.

    1 - Intro Web 2.0 - 1/2 heure

    La big picture, ce que c'est, les différentes dimensions (techniques, sociales, usages, etc…) et pourquoi on parlera plutôt de Web Nouvelle Génération pour souligner qu'on s'en tiendra principalement au sujets techniques en oubliant - sans les occulter - les autres dimensions

    Exemples des sites et des modèles "qui marchent", les grandes tendances, les principaux usages, les grand concepts sur lesquels un consensus s'est formé, comment ça se traduit en entreprise, au-delà de la vision très Consumer que tout le monde a du Web 2.0

    Au-delà des technos, qu’est-ce qui change fondamentalement par rapport au Web 1.0 et pourquoi vous devez prendre ces changements en compte :

    -          Ouverture des APIs, User Generated Content, dynamicité de l’interface, centré sur les usages, mise en relation des utilisateurs, tagging, ranking, etc…

     

    2 - Atlas - 1 heure 1/2

    C'est la session "Deep Dive" dans Atlas que vous attendiez depuis les DevDays. C'est plutôt du niveau 300 au moins pour la première heure. La dernière demi-heure peut être consacrée aux sujets connexes : feedbacks de ton mois passé à Corp dans les équipes de dév (si il y a des choses pertinentes à raconter ?), intro et présentation des Atlas Toolkit, utilisation de Codeplex, ...

     

    Pause - 1/4 heure

     

    3 - Plate-forme RSS - 1/2 heure

    Ici, c'est en fait trois parties de 10' chacune :

    1 - Quid RSS, et Atom ? les extensions SSE, SLE, etc… les usages, quelques chiffres sur l'explosion de l'utilisation de RSS

    2 - Utiliser / Consommer du RSS : pour MS, c'est via IE7, Outlook 2007, Windows Live Mail Center et plus généralement autour de la RSS Platform. Présentation des APIs et démos de la RSS Platform. Montrer la synchro dans tous les sens via Newsgator (solution partenaire, acheter un compte ?)

    3 - Exposer du RSS. Pourquoi c'est important. Parlez en à vos responsables fonctionnels et marketing. Stratégies possibles (qu'est que j'expose ? Gratuit / payant ? Comment j'ajoute un flux RSS à un site existant ? Exemples et démos

     

    4 - Windows Live. 1 heure 1/2

    On commence par définir ce qu'est Windows Live, quelle est la vision à long terme de Microsoft derrière Windows Live, les différentes briques de Windows Live (il y en a presque une trentaine à ce jour !) On termine en présentant APIs des principaux services de Windows Live, avec des petites démos de code : création de gadgets Live.Com, utilisation des APIs de Search, utilisation des APIs de Windows Live Local, le Virtual Earth Component, la place des Gadgets Windows Vista, etc…

     

    Wrap-up, Questions / Réponses...

    Voilà, c'est brut de décoffrage ce qui est ressorti de notre meeting interne de cette après-midi. Vos commentaires et suggestions sont plus que bienvenus ;)

  • Christophe Lauer, My Microsoft Life

    Microsoft annonce Microsoft Popfly

    • 16 Comments

    Qu'est-ce que Microsoft Popfly ?

    Popfly permet de construire et de partager facilement et de façon ludique des applications web de type "mash-up", de construire des pages Web et des applications. Popfly comporte deux parties principales :

    Popfly Creator est un ensemble d'outils visuels, en ligne, pour construire des pages Web et des applications de type mash-up.

    Popfly Space est une communauté en ligne pour les utilisateurs de Popfly, depuis laquelle il est possible d'héberger, de partager, de noter, de commenter et même de remixer les créations réalisées par d'autres utilisateurs de Popfly.

    Pour faire le tour de Popfly en 15 minutes, suivez ce webcast (en Anglais).

    Fonctionnalités clé

    Création de Mash-ups

     

    * Les Blocks permettent aux utilisateurs de Popfly de réaliser des choses telles que de récupérer les photos depuis leur espace Windows Live Space ou leur compte Flickr, et des les afficher grâce à des blocks utilisant Silverlight, par exemple sous la forme d'un carousel intéractif, ou encore d'un diaporama, le tout sans écrire une seule ligne de code. Si vous êtes curieux de savoir ce qu'il y a sous le capot, les blocks sont à la base des composants assez simples qui encapsulent des opérations complexes telles que récupérer des données depuis un site Web ou un service en ligne, ou d'afficher un diaporama afin que d'autres utilisateurs puissent réutiliser ce block.

     

    * La Surface de Design Intéractive vous invite à y glisser et déposer des blocks, à les connecter entre eux puis à les configurer afin de construire votre application.

    * Les Tutoriels Intégrés au mash-up creator, dans la partie droite de l'outil, sont constitués de tutoriels vidéos qui facilitent la prise en main de l'outil et montre ses différentes possibilités, afin de faciliter la création de votre première application.

     

    * Les utilisateurs avancés, qui savent manipuler le code HTML, ont la possibilité de prendre la main sur le rendu du code HTML, mais aussi de modifier l'affichage en agissant sur les feuilles de style CSS ou encore sur le comportement de l'application en écrivant du code Javascript. C'est un peu votre espace personnel pour expérimenter le développement sur le Web.

    Création de Pages Web

     

    * Il est également possible de créer ou d'éditer visuellement une page Web sans écrire de code grâce à la même technologie que celle qui anime Microsoft Office Live Web Designer.

    * Vous avez le choix entre plus de 150 thèmes visuels, 10 styles, et 30 couleurs pour une expérience et une identité visuelle unique.

     

    * Pour aller au delà de la page Web classique, l'éditeur de page Web vous permet d'embarquer dans celle-ci vos mash-ups réalisés avec Popfly Creator, vos gadgets, ou tout autre contenu dynamique construit par vous ou par d'autres membres de la communauté Popfly.

    Popfly Space

     

    * Popfly Space est un réseau social qui regroupe les créateurs et utilisateurs de Popfly. Grâce à Popfly Space, vous pouvez garder le contact avec vos créateurs d'applications ou de blocks préférés et suivre leur nouveaux projets et leurs nouvelles créations.

     

    * Popfly vous permet également de noter, de "ripper" (c'est-à-dire de copier et modifier) les réalisations d'autres créateurs en dupliquant ces projets dans votre espace personnel. Vous pouvez ensuite facilement inclure vos réalisations dans votre blog, éventuellement automatiquement depuis l'outils pour les blogs tels que TypePad ou Windows Live Spaces. Vous pouvez aussi sauver votre création en tant que Gadget pour la Sidebar de Windows Vista.

     

    * Les utilisateurs avancés ayant un profil de développeur peuvent installer le plug-in Popfly Explorer qui permet à Visual Studio 2005 - y compris les éditions Express - d'uploader des projets construits depuis Visual Studio et de les partager ainsi avec le monde entier.

    Vous pouvez également consulter l'article sur TechCrunch.

  • Christophe Lauer, My Microsoft Life

    Microsoft livre Silverlight 1.0 et (surprise hein ?) étend le support à Linux !

    • 14 Comments

    Voilà, c'est à présent tout ce qu'il y a de plus officiel, et je vous invite à consulter le PR correspondant ici. Vous comprenez sans doute mieux maintenant mon billet autant mystérieux qu'enthousiaste d'hier, et vous comprendrez aussi que je ne pouvais rien en révéler... Bravo à Christopher Maneu qui avait presque deviné, je n'ai pas de lot à distribuer sinon c'est toi qui l'aurais remporté :) Il avait commenté :

    "Même pas une petite info ? :p Microsoft a aidé les "singes" de Mono et ils ont terminés moonlight ? Ils ont intégrés Silverlignt à l'iPhone ?"

    Euh, non Christopher, on n'a rien à annoncer concernant le support de l'iPhone, mais demande à Miguel si ça ne serait pas dans leurs plans ;)

    Bon, après cette rapide introduction, n'en oublions pas pour autant l'autre information importante de ce PR : Silverlight 1.0 est RTW, ou autrement dit il est "Released to Web", soit finalisé, terminé, publié, fini, ready, fertig, etc... Vous pouvez donc maintenant commencer à travailler plus que sérieusement avec Silverlight puisque la techno est donc par conséquent prête et complètement prise en charge par notre Support Technique, et que vous pouvez la déployer sur vos serveurs de prod, IIS ou Apache ou whatever...

    Comment commencer avec Silverlight ? Je vous invite à consulter les liens contenus dans ce billet, et à vous inscrire pour venir participer au Tour de France Silverlight - exclusivement pour les développeurs parmi vous - dans une ville près de chez vous...

    Revenons à l'annonce sur support de Linux par Microsoft pour Silverlight. Il s'agit en fait d'un accord de collaboration technique entre Novell, qui a embauché Miguel de Icaza et a récupéré la paternité du projet Mono depuis l'acquisition de Ximian, la société de Miguel. Voici l'extrait du Press Release :

    Microsoft, Novell Respond to Shared Customer Demand for Silverlight and .NET

    Microsoft is committed to ensuring that organizations have the best tools and resources to begin building Silverlight-based solutions with the broadest possible reach. The decision to work with Novell to offer Silverlight support for the Linux platform is in direct response to customer feedback, and both companies are optimistic about the impact this extended partnership will have in the industry.

    “Silverlight is a popular new way to build and deliver cross-browser, cross-platform experiences on the Web,” said Miguel de Icaza, vice president of Developer Platforms and leader of the Mono project at Novell. “Novell is excited to work with Microsoft to extend Silverlight beyond Windows® and Macintosh to Linux with Moonlight, so Linux users everywhere can enhance their rich media and interactive experiences on the Web.”

    Au final, c'est Novell et l'équipe du projet Mono qui va réaliser "Moonlight" la version Linux de Silverlight, via le projet Mono dont vous avez pu voir les toutes premières démos en exclu à Paris pendant le Mix07. Microsoft fournira les spécifications à Novell ainsi que le support de ses propres équipes afin de garantir la pleine compatibilité des deux implémentations dans une classique logique win-win d'intéropérabilité.

    Miguel n'a pas encore bloggué à ce sujet, mais je suis curieux et impatient de pouvoir lire ses commentaires perso à ce sujet.

    Même si selon les dernier chiffres que j'ai trouvés (Xiti, stats de Janvier 2007), Linux et les autres OS ne représentent guère plus de resp. 0,7 et 0,4% du parc installé des machines d'internautes actifs, on peut se réjouir de voire d'une part une telle ouverture de la part d'une équipe produit Microsoft qui a bien le vent en poupe, et d'autre part de voir cette techno - que personnellement j'adore - devenir réellement et complètement multi-plateformes.

    Allez, aujourd'hui, comme prévu, je vais bosser avec mon t-shirt Mono pour féter ça ;)

    To the Mono Dudes out there: Keep on good work, Guys, we do love you!

    PS: No Infoworld, Silverlight is *not* what you call a "video technology". It is so much more than simply that...

    [Edit] : Miguel vient de blogguer sur cette annonce. Il présente les détails de cet accord de collaboration technique :

    • "Microsoft will give Novell access to the test suites for Silverlight to ensure that we have a compatible specification. The same test suite that Microsoft uses for Silverlight.
    • Microsoft will give us access to the Silverlight specifications: details that might be necessary to implement 1.0, beyond what is currently published on the web; and specifications on the 1.1 version of Silverlight as it is updated.
    • Microsoft will make the codecs for video and audio available to users of Moonlight from their web site. The codecs will be binary codecs, and they will only be licensed for use with Moonlight on a web browser (sorry, those are the rules for the Media codecs[1]).
    • Novell will implement Silverlight 1.0 and 1.1 and will distribute it for the major Linux distributions at the time of the shipment. We will offer some kind of one-click install for Linux users (no "Open a terminal and type su followed by your password..." as well as RPM and DEB packages for the major distros and operating systems."

    Allez, quelques quotes qui font bien plaisir et qu'en tant que supporter du Blue Monster je me délecte à lire :

    "This is an historical collaboration between an open source project and Microsoft. They have collaborated with other folks on the server space (Xen, PHP and) but this is their first direct contribution to the open source desktop.

    Microsoft benefits by making Silverlight reach the Linux and BSD spaces. We benefit by ensuring that users of open source operating systems get access to sites that adopt Silverlight to deliver content or spice up their web apps."

    et aussi :

    "Scott Guthrie, Bill Hilf and many members of his team that are transforming Microsoft from the inside out and have championed approaching the open source community."

    Allez, je me calme un peu et je retourne vaquer à mes occupations ;)

  • Christophe Lauer, My Microsoft Life

    Enorme annonce prévue pour ce soir...

    • 14 Comments

    Allez, en pur mode teasing : je vous promets du lourd au niveau annonce ce soir sur les technos Microsoft.

    Surveillez votre lecteur RSS...

    [Edit] : Aucune info, fuite, piste, devinette, rien avant 18h00 aujourd'hui, heure de Paris. Patience ;) 

  • Christophe Lauer, My Microsoft Life

    Sécurité des sites et applications Web : le problème est entre la chaise et le clavier, et ça ne s’améliore pas

    • 13 Comments

    Au début du l’essor du Web, il y a dix ans, il était courant que les problèmes de sécurité les plus graves viennent de bugs ou de failles présents dans les systèmes d’exploitation, les serveurs HTTP, les serveurs d’applications et autres composants “système”, ceux-là même sur lesquels les ingénieurs système, les DBA et les développeurs n’ont pas la main.

    Avec le temps et la répétition de ces problèmes de sécurité, l’ensemble de éditeurs et des fournisseurs de ces couches basses a fait son travail et il est communément accepté aujourd’hui dans le monde de la sécurité et des hackers que les systèmes d’exploitation, serveurs HTTP et serveurs d’applications ont fortement gagné en robustesses et deviennent beaucoup plus difficiles à attaquer que par le passé.

    On serait donc tentés de penser qu’avec maintenant 10 ans de recul et d’expérience accumulés sur le web, l’industrie et les écosystèmes du Web ont atteint une maturité qui confère aux sites et aux applications Web un niveau de sécurité confortable.

    Pourtant, à y regarder de plus près, il semble bien justement qu’il n’en soit rien au niveau de certaines pratiques de codage dangereuses encore trop souvent utilisées par des développeurs. A croire que l’éducation en la matière ne porte pas ses fruits.

    En Février 2004, je publiais ainsi un billet sur mon blog de l’époque (en Anglais) qui reflétait les résultats d’une enquête qui venait d’être publiée et dont les conclusions étaient que “seulement 10% des applications Web étaient protégées des techniques de hacking les plus courantes”. Si l’étude de la société WebCohort a depuis disparu, mon billet avait reproduit le tableau suivant :

    Most Common Application Layer Vulnerabilities (Source: Webcohort)

    Attack Percent vulnerable
    Cross-site scripting 80%
    SQL injection 62%
    Parameter tampering 60%
    Cookie poisoning 37%
    Database server 33%
    Web Server 23%
    Buffer overflow 19%

     

    En début de mois de Novembre 2009, donc cette année, et pratiquement cinq ans après l’étude suivante, une nouvelle étude publiée par Cenzic montre que la situation ne s’est pas améliorée, pire, elle se serait dégradée par rapport à 2008. Je cite :

    “The number of software vulnerabilities detected has risen to the point that almost 9 out of 10 Web applications have flaws that could lead to the exposure of sensitive information.

    Cenzic's "Web Application Security Trends Report Q1-Q2, 2009" report, released on Monday, says that more than 3,100 vulnerabilities were identified in the first half of the year, 10% more than the number identified in the second half of 2008.”

    Si je lis bien “9 out of 10” ça fait donc 10% soit le même chiffre qu’en 2004.

    En Février dernier, c’est l’ami Fred de Villamil qui se fait l’écho sur son blog du rapport annuel de CWE qui liste et explique le Top 25 des erreurs de sécurité dans les applications Web. Allez, on regarde vite fait le haute de la liste :

      1. Mauvais filtrage des données envoyées par les utilisateurs
      2. Mauvais encodage ou échappement des données en sortie
      3. Injections SQL
      4. Cross Site Scripting (ou XSS)
      5. Injection de commandes directement exécutables par le système d’exploitation (system() ou exec())
      6. CSRF
      7. Race conditions
      8. Divulgation d’informations dans les messages d’erreur (comme le PATH dans lequel est installée votre application web)

    Comparez avec le tableau datant de 2004. Effarant, non ?

    Plus récemment encore, c’est l’organisme OWASP (= Open Web Application Security Project) qui publie le très didactique rapport de ton Top10 des failles dans les applications Web, un véritable document de référence que chaque chef de projet ou team manager devrait passer une journée à lire et à travailler avec ses équipes de développement. Si j’étais encore chef de projet, c’est certain que j’aurais déjà conduit cette initiative avec mes équipes.

    Rapport OWASP “The 10 Most Critical Web Application Security Risks, ed. 2010” – PDF, 21 pages

    Vous pouvez le télécharger ici, l’imprimer, le distribuer à vos équipes, le publier sur votre intranet ou dans votre wiki projet, etc… Faites tourner !

    Si ce rapport vous intéresse et que vous voulez entrer en contact avec un représentant de l’OWASP : contactez Sébastien Gioria de ma part (twitter @SPoint). Sébastien est un consultant indépendant en sécurité informatique, et il est également le représentant en France de l’OWASP.

    [Edit] Sébastien Gioria nous signale en commentaire que le rapport de l'OWASP Edition 2007 est disponible en Français ici. L'édition 2010 en Français devrait aussi arriver sous peu... A suivre.

    Durant notre récente journée de Conférence Web, organisée le 17 Novembre dernier chez Microsoft France, la dernière session de l’après-midi était animée par François Sutter, le Directeur Technique de l’agence Blue acacia et portait justement sur les questions de sécurité des applications Web. François a publié sa présentation (légèrement expurgée ;)) sur Slideshare. Vous pouvez donc la consulter, surtout si la lecture de l’Anglais n’est pas votre fort, car elle est en Français contrairement aux documents précédents.

    La session de François Sutter a rencontré un vif succès parmi les participants : pour plusieurs d’entre eux, ça a été comme un choc, une révélation. En effet, on constate dans “la profession” un nombre croissant d’acteurs qui viennent de divers horizons et arrivent au développement Web parce que c’est facile en apparence.

    De même que passer son permis de conduire ne fait pas de vous un mécanicien, le fait de déployer un moteur de CMS ou un blog sur un serveur ne fait pas de vous un développeur ou un informaticien “pro”. Et du fait, beaucoup utilisent des outils dont ils ne maitrisent pas tous les aspects et ignorent tout simplement parfois dans quelle mesure ils peuvent présenter des risques, non seulement pour eux, mais surtout pour leurs clients !

    Les cas et les anecdotes présentés en session par François étaient édifiants : sites de eCommerce sur lesquels on peut faire ses prix soi même, moteur de CMS hackables avec un simple navigateur et dans lesquels on peut entrer en admin en deux temps et trois mouvements, sites sur lesquels on peut récupérer des dumps et des backups avec tous les fichiers clients et les mots de passe, jusqu’aux numéros de CB stockés en clair (un procédé très étroitement encadré par la loi, rappelons-le). Bref, la liste est longue.

    Et personne ne semble être à l’abri. La semaine dernière, c’est l’éditeur Symantec – pourtant un spécialiste des solutions de sécurité – qui a connu une telle mésaventure : faille sur leur site Web, récupération des fichiers clients et de listes de serials de produits. C’est la fête ! La faille ? Une banale Injection SQL, top 2 et top 3 dans les tableaux ci-dessus. Tellement banal !

    Faites le test du “or 1=1” chez vous, sur le login/password de votre site Web, et vous verrez…

    Essentiellement, le problème vient entre la chaise et le clavier : l’homme, qu’il soit développeur, “webmaster” ou ingénieur système. Mais loin de moi l’idée de leur jeter la pierre. L’objet de ce (long) billet est d’attirer l’attention de chacun sur le besoin d’éducation sur le sujet, passant par la formation des développeurs et des IT Pros, et par la mise en place dans chaque équipe de développement de processus de revue de code, ou encore de mise en place de “bonnes pratiques” au sein du code, clairement documentées et expliquées.

    Et vous, chez vous, quelles pratiques avez-vous mises en oeuvre pour traiter ces problèmes ? J’attends vos commentaires avec impatience ;)

    [Edit du 15/01/2010] : En complément à ce billet, et pour entrer plus concrêtement dans les détails techniques des différentes techniques courants et des moyens de s'en prémunir, je vous conseille la lecture de la traduction en Français réalisée par Frédéric de Villamil d'un très bon article publié sur le non moins excellent site Smashing Magazine. Enjoy :)

  • Christophe Lauer, My Microsoft Life

    Où en sommes nous sur Silverlight, en six points...

    • 12 Comments

    Voici un billet que je vous écris à chaud, de retour d'une semaine passée à Barcelone à assister au TechEd Développeurs.

    Après avoir suivi quelques sessions ayant un rapport plus ou moins proche avec Silverlight, et après avoir animé déjà quatre dates des sept que comporte notre Tour de France Silverlight, je voulais partager les réflexions et constats suivants avec vous. Les voici.

    Ce qui est confirmé par les différentes réactions que j'ai observées tant pendant nos quatre premières dates du Tour de France Silverlight de pendant les sessions du TechEd :

    1 - L'intérêt pour Silverlight est grand auprès des développeurs et des populations techniques en général (c'est vous, chers lecteurs et lectrices ;)

    Et sans trop de surprise, puisqu'il s'agit d'une toute nouvelle plate-forme de développement d'applications Web avec des capacités d'intéractions et de graphiques encore inédites dans le catalogue Microsoft, l'intérêt pour Silverlight en particulier chez les développeurs .NET et ASP.NET plus particulièrement.

    2 - Les développeurs .NET attendent (bien légitimement) de Silverlight une productivité au moins équivalente à celle de ASP.NET ou de Windows Forms

    Pour un développeur ASP.NET qui a pris l'habitude de développer des applications Web en utilisant les WebForms et qui a depuis longtemps abandonné la manière dure et ingrate (ie: générer son HTML depuis son code, comme on le faisait par exemple en ASP "Classic" ou en PHP) : utiliser une liste déroulante dans une page Web, ça se fait en écrivant Listbox.Items.Add() et non pas à grands coups de branchement des EventHandlers, de définition de transformations de translation dans des StoryBoards et de l'utilisation du Clipping pour ne voir qu'une "fenêtre" de notre liste d'items ;)

    Bref, la façon dont on construit aujourd'hui des listes déroulantes en Silverlight 1.0 s'apparente clairement plus à un retour en arrière vers l'époque des Windows API que à l'utilisation d'un framework moderne du 21° siècle tel que ASP.NET.

    Silverlight (1.0 et 1.1) sont donc pour le moment vécus comme un retour en arrière par les développeurs ASP.NET. Je souligne "pour le moment"...

    3 - Les développeurs .NET considèrent Silverlight 1.0 comme une pré-version inutile et inutilisable

    A plusieurs reprises, pendant le Tour Silverlight, j'ai eu le feedback suivant :

    "Mais pourquoi diantre avez vous sorti Silverlight 1.0. Pour moi c'est inutilisable et c'est juste une Bêta, non ?"

    C'est vrai et faux... On peut faire des choses en Silverlight 1.0 si on le veut. Regardez par exemple le site Quiksilver Pro France. C'est une application entièrement réalisée en Silverlight 1.0. Ne dites pas qu'on ne peut rien faire en Silverlight 1.0...

    Et puis l'autre aspect des choses, c'est que les machines sur lesquelles Silverlight 1.0 est installé seront automatiquement mises à jour en Silverlight 1.1 à terme. Vous - en tant que développeurs - serez alors ravis de voir que tant de machines qui ont reçu Silverlight 1.0 à un moment donné se retrouvent prêtes à exécuter vos belles applications riches en Silverlight 1.1.

    OK, il reste l'aspect du langage Javascript. Forcément, en tant que développeur ASP.NET, vous ne pouvez pas aimer écrire du Javascript. Nous le savons.

    Mais ne perdez pas de vue la chose suivante : C'est que les cibles et les scénarios d'utilisation de Silverlight 1.0 et de Silverlight 1.1 pour nous (comprendre "nous" = Microsoft dans ce contexte) sont très différentes.

    Avec Silverlight 1.0, on vise à enrichir des sites ou des applications existantes avec des contenus plus riches, ou vectoriels ou de la vidéo. Un autre scénario est la réalisation de "mini sites" de type évènementiels liés à une actualité comme par exemple un évènement sportif (Quiksilver), une conférence ou un lancement produit (cf le mini site Halo3 chez MSN).

    Les gens qui réalisent ce type de mini site sont généralement des développeurs Web / Ajax qui travaillent dans des agences intéractives. On ne cible pas les développeurs qui écrivent des applications transactionnelles pour des Front-Office de salles de marchés dans des grandes banques :)

    Pour les développeurs en agences, les capacités de Silverlight 1.0 et l'utilisation de Javascript sont OK. Pas besoin de plus. Au contraire, l'utilisation de langages managés comme C# serait sans doute un gap trop important.

    A contrario, pour les développeurs ASP.NET, la cible avec Silverlight en tant que scénario c'est la réalisation d'applications Web riches (RIA) complètes et ex-nihilo. Dans ce contexte, il vous faut non seulement utiliser des langages managés type C# mais aussi disposer de deux ou trois autres trucs, parmi lesquels :

    • un système de layout (prévu pour Silverlight 1.1, pour le moment absent de l'Alpha actuelle)
    • une bibliothèque de contrôles visuels riche et extensible (prévue pour Silverlight 1.1, pour le moment absent de l'Alpha actuelle)
    • des mécanismes d'accès aux données (qui viendront sous différentes formes, le projet Astoria en Bêta étant l'une de ces formes)
    • des mécanismes de Binding sur les propriétés des objets (prévu pour Silverlight 1.1, pour le moment absent de l'Alpha actuelle)

    Ces dernières pièces du puzzle étant actuellement manquantes, résultat : Vous êtes frustré(e)s !

    4 - Silverlight 1.1 semble frustrer très fort

    Et oui, et sans surprise, c'est la conséquence directe et évidente du point précédent. Et pour couronner le tout, nous ne disposons pas encore aucune roadmap claire et précise du groupe produit Silverlight, ni d'une liste exhaustive des contrôles qui pourraient à terme faire parti de Silverlight 1.1 en version finale. C'est vrai.

    "Alors pourquoi avoir sorti cette pré-version Alpha si tôt, puisqu'elle ne contient presque rien" me demanderez-vous ?

    Au contraire, elle contient déjà beaucoup de choses ! Cette pré-version Alpha de Silverlight 1.1 contient une première implémentation d'un runtime .NET allégé qui fonctionne dans le navigateur et qui permet l'exécution de codes managés dans le client Web. Cette Alpha de la 1.1 contient également une première implémentation du DLR (ie Dynamic Language Runtime) qui permet l'exécution de langages dynamiques, soit IronPython et JScript dans cette version.

    Tout ceci renforce le discours que nous tenons depuis 2001 - à l'époque de la sortie du .NET Framework 1.0 - où nous expliquions que nous allions fédérer progressivement toutes nos plate-formes autour de .NET, du CLR et des langages managés.

    Ainsi, cette pré-version Alpha de Silverlight 1.1 dessine le portrait robot des futures applications Web, celles qu'on nomme actuellement RIA pour "Rich Internet Applications", qui bénéficient du meilleur des deux mondes avec à la fois des applications riches et très intéractives, et d'autre part, un "footprint" léger et aucun déploiement nécessaire.

    5 - Silverlight 1.1 Alpha Refresh est très stable

    En effet. Silverlight 1.1, bien qu'étant en version Alpha est *très* stable.

    Voire trop.

    C'est à un tel point qu'on finirait presque par en oublier que Silverlight 1.1 est actuellement en phase de Alpha test. C'est une version Alpha. Et comme cette version 1.1 Alpha est si stable, la tentation est grande d'aller plus loin, de développer des choses complexes. Tentation d'aller plus loin.

    Trop loin ?

    A force d'utiliser et de cotoyer à longueur de journée des sites "2.0" qui portent la mention de "version Bêta", on en oublierait presque ce que signifie "Alpha".

    Je vous redonne à lire un extrait de la licence qui accompagne le téléchargement de Silverlight 1.1. Vous n'avez sans doute pas prête trop d'attention à cette licence. Voici pourtant un extrait intéressant :

    PRE-RELEASE SOFTWARE. This software is a pre-release version. It may not work correctly or the way a final version of the software will. We may change it for the final, commercial version. We also may not release a commercial version.

    Traduction en version courte et explicite : C'est une pré-version, et donc on ne garantit RIEN, ça va casser à la prochaine version, ça va casser à chaque version d'ici à la version finale, si il y a une version finale un jour, ce qui n'est pas non plus garanti. Et encore une fois, on ne garantit RIEN.

    Plus explicite, on ne peut pas faire.

    Toutefois, toutefois...

    6 - Silverlight et les applications RIA, c'est pour demain !

    Toutefois, Silverlight 1.1 sortira un jour en version finale, c'est certain ! C'est certain même si ce n'est pas garanti contractuellement à ce jour.

    J'en veux pour preuve que les inscriptions de la conférence Mix08 viennent d'ouvrir, et que le mini site de l'évènement montre déjà l'importance des sessions consacrées à Silverlight dans cet évènement. Le mini-site indique aussi que c'est Steve Ballmer (en personne) qui animera le keynote d'ouverture de Mix08 à Las Vegas. Ceci montre l'importance de Silverlight pour Microsoft en tant que compagnie.

    Toutes les pièces du puzzle sont en train de se mettre en place... Il en manque encore quelques unes, mais ça se dessine rapidement. Microsoft Sync Framework, Astoria, etc...

    Tout se met en place pour que la plate-forme Silverlight 1.1 de vos rêves devienne rapidement réalité.

    Quand ? Comment ?

    Difficile à dire de façon ferme et formelle pour le moment. Mais je vas vous partager mon point de vue personnel sur la question.

    <Disclaimer>

    Ce qui suit est uniquement mon opinion personnelle sur la question, ceci ne constitue en aucun cas une annonce ou une quelconque communication officielle de la part de mon employeur, et tout ceci est à prendre en compte avec tout le conditionnel qui s'impose.

    </Disclaimer>

    Considérant que l'annonce de la disponibilité des pré-versions de Silverlight 1.0 et 1.1 ainsi que du nom même de Silverlight que l'on connaissait au préalable sous le nom de code de WPF/e ont été faites pendant la conférence Mix07 à Las Vegas en Mai dernier, il y a fort à parier que Mix08 marquera à nouveau cette année un Milestone important pour Silverlight.

    Reste à savoir si ce Milestone sera la disponibilité de la version finale de Silverlight 1.1 ou bien plus modestement la disponibilité d'une version assez avancée, type Bêta 2 ou Release Candidate accompagnée d'une licence GoLive!

    En tout état de cause, je persiste à croire que l'horizon sera nette plus plus dégagé et que la roadmap de Silverlight 1.1 sera autrement plus lisible à l'époque de Mix08. Le signal ultime sera l'annonce de la disponibilité de la licence GoLive! pour Silverlight 1.1, car à partir du moment ou nous annoncerons cette licence GoLive!, nous savons que l'implémentation de la version finale RTM ne diffèrera pas de façon importante de celle qui sera en vigueur à ce moment, et que par conséquent, la version en vigueur à ce moment sera complète en termes de features, de classes et de contrôles.

    Ca ne signifie pas qu'il soit trop tôt pour commencer avec Silverlight. Pas du tout, et ceci pour les raisons suivantes :

    - Le modèle de développement de Silverlight 1.1 à base de C# et de compilation ne va pas remplacer le modèle de Javascript interprêté de Silverlight 1.0, il va juste dl'enrichir. Silverlight 1.1 apportera la compatibilité ascendante depuis Silverlight 1.0. Vos applications qui ciblent Silverlight 1.0 fonctionneront à l'identique dans le plug-in Silverlight 1.1. C'est d'ailleurs déjà le cas avec le plug-in de la version 1.1 Alpha.

    - Les grands principes de fonctionnement de Silverlight 1.1 ne seront pas modifiés d'ici à la version finale. Seules certaines parties de son implémentation seront modifiées, et aussi largement étendues par l'ajout par exemple du layout, des contrôles visuels, et du binding. En revanche, le système d'animations, le moteur vectoriel, etc... resteront proches de ce que l'on en connait actuellement, et ceci simplement parce que ces parties sont communes entre Silverlight 1.0 et Silverlight 1.1. Tout ce que vous apprendrez actuellement sur Silverlight 1.1 pourra donc être réutilisé et valorisé à terme.

    Est-ce trop tôt pour démarrer un développement en Silverlight ?

    Oui et Non.

    Clairement non si on parle de Silverlight 1.0 qui est en version finale, et donc utilisable, déployable et complètement supporté par Microsoft.

    Et Oui si on parle du cas de développeurs qui cibleraient Silverlight 1.1 en ayant perdu de vue le fait que la technologie est pour le moment au stade de Alpha test, et qui ne seraient pas complètement conscients que des changements peuvent avoir - et auront certainement - lieu d'ici à la disponibilité de la version finale.

    Donc Oui, vous pouvez d'ores et déjà développer en visant Silverlight 1.1 pour cible, simplement, vous devez être pleinement conscients de ce que ceci peut impliquer.

    C'est d'ailleurs la voie qu'ont choisi les gens de ComponentOne qui construisent actuellement un framework - plutôt impressionnant d'ailleurs - de contrôles visuels pour Silverlight 1.1.

    Le framework Sapphire - c'est son nom - peut être téléchargé en version Alpha et les démonstrations en ligne sont déjà très prometteuses.

    Truc : Pour pouvoir visualiser ces démos de Sapphire, vous devez passer les paramètres de Locale de notre système à "US - English". En effet, en paramètres FR-fr, l'Alpha actuelle de Sapphire ne semble pas fonctionner correctement. C'est une version Alpha, nous pouvons être indulgents...

    Pour en revenir à ComponentOne et à leur contrôles du toolset Sapphire, ils font le pari que d'être à terme les premiers sur le marché des contrôles Silverlight 1.1 leur donnera un avantage conccurentiel certain, ce qui est généralement le cas. Du coup, ils acceptent de pouvoir avoir à faire face à des coûts de développement supérieurs, du fait de changements d'implémentations ou de design dans les versions successives entre la version Alpha actuelle et la version finale. C'est une question de stratégie, et aussi de possibilité d'investissement. A chacun de faire son choix, tant que c'est en pleine connaissance de cause.

    Allez, on reparle de tout ceci après le Mix08 à Las Vegas ?

    [Edit] : Jesse Liberty est un Senior Program Manager de l'équipe Silverlight à Microsoft Corp. Toute ressemblance entre un des billets récents sur son blog et le présent billet ne serait pas tout à fait fortuite.

Page 1 of 56 (555 items) 12345»