# Sunday, October 18, 2009

Microsoft Days à Marseille

image A peine arrivé de Paris, me revoilà en déplacement puisque je serais aux Microsoft Days à Marseille demain, Lundi 19 Octobre. Cet évènement technique aura lieu au Palais du Pharo.

Je serais présent à l’ATE sur le framework .net, n’hésitez pas à venir me poser vos questions ou tout simplement dire bonjour !

Si vous n’êtes pas encore inscrits, sachez que les inscriptions sur place sont possibles.

Pour plus d’infos :
Site des Microsoft Days
Informations sur la session de Marseille

News de la semaine #11

imageNous allons commencer les news de cette semaine, comme souvent, avec des nouvelles de Windows Azure et plus précisément de SQL Azure. La CTP d’octobre vient d’être mise à disposition, et l’équipe produit nous annonce quelle est feature complete par rapport à la V1 qui sera proposé lors de la PDC. Oekleaf Systems détaille cette actualité en nous donnant des informations supplémentaires sur cette nouvelle CTP ainsi que la procédure de migration.

Du côté du framework, l’équipe du CLR nous explique comment créer automatiquement un dump lors du crash d’un process.

Keith Brown nous sensibilise sur les subtilités d’utilisation du type Uri et enfonce le clou avec ce second post.

Beaucoup d’informations sur ASP.net MVC ont été publiées cette semaine. Après les scripts clients d’ASP.net Ajax, Phil Haack nous annonce que les scripts javascript utilisés par ASP.net MVC 1.0 sont à présent disponible sur le CDN de Microsoft.

Guillaume Lacasa a publié un article sur TechHeadBrothers sur les bases d’ASP.net MVC. Il a également publié une astuce afin d’indiquer comment changer de ControllerFactory.

Et enfin, David Hayden nous propose des critiques de la plupart des ouvrages sur cette technologie. D’ASP.net MVC In Action à Pro ASP.net MVC 1.0 en passant entre autres par Beginning ASP.net MVC 1.0, vous avez maintenant ce qu’il vous faut afin de choisir l’ouvrage qui vous correspondra le mieux.

Je vous avais parlé la semaine dernière du cloisonnement d’une certaine partie du monde Open Source, nous en avons un nouvel exemple avec Mozilla qui vient de supprimer le support de ClickOnce dans FireFox suite à un problème de sécurité dans le framework .net corrigé par Microsoft et déployé via Windows Update la semaine dernière.

Bien évidemment, il y a de bonnes choses qui arrivent de ce même monde, la prochaine version de SharpDevelop en est un bon exemple avec l’apparition d’une version WPF. Certains des contrôles développés sont d’ailleurs très utiles et vous permettront en quelques minutes de constuire votre propre IDE.

Toujours à propos de WPF, Cyril Sansus (qui a enfin arrêté de faire son Petzold ;), nous propose un exemple illustré de l’utilisation du contrôle Thumb très souvent ignoré mais qui peut être d’une grande utilité.

Du côté de l’actualité Produits, nous commençons à avoir des informations sur la prochaine version du compagnon indispensable à Visual Studio : ReSharper. L’équipe de JetBrains nous propose en effet un premier aperçu des nouveautés qui seront proposés par cette version 5.

Et enfin du côté des débats, je vous propose de lire le post de Ted Neward à propos d’une phrase de Billy Hollis qui pense que le développement agile traite les symptômes et non la maladie. Autre débat plus technique, Gael Covain nous donne son avis sur l’utilisation du mot-clé var présent dans C# 3. Le débat est ouvert, et je suis sûr que de nouveaux posts arriveront d’ici peu afin de contredire son point de vue.

Crossposté vers THB

# Saturday, October 10, 2009

News de la semaine #10

image A propos de Team System, John Robbins nous explique ses astuces afin de commencer à utiliser FxCop sur un projet déjà existant sans s’arracher les cheveux.

Brian Harry quand à lui nous présente l’utilisation de la prochaine version de TFS d’un point de vue utilisateur de SourceSafe. L’éditeur compte en effet aider les développeurs qui n’ont pas encore franchis le pas et ce post est un bon point départ pour comprendre en quoi passer à TFS 2010 sera avantageux.

Côté langages et framework, et comme chaque semaine, Eric Lippert nous explique le fonctionnement du langage C# ainsi que les différents choix de design effectués par l’équipe. Cette semaine, Eric répond à une question qui revient de temps en temps à savoir pourquoi il n’existe pas de propriétés d’extensions.

Une des plus importantes nouveautés de la version 4 du framework .net concerne le développement parrallèle et le nouveau modèle associé basés sur les Tasks. La question naturelle que l’on va se poser va donc être de savoir quels sont les critères qui nous permettront de choisir entre l’utilisation du ThreadPool ou de ce nouveau modèle basé sur les Tasks.

Richard Clark nous explique un des fondamentaux concernant le test d’égalite : la surcharge de la méthode Equals et de son accolyte la méthode GetHashCode.

Coté développement web, Gil Fink explique dans son article comment remplacer la gestion de session d’ASP.net par une gestion de session distribuée grâce à Velocity.

Miguel de Icaza a publié un post intéressant à propos des feedbacks négatifs voire des attaques personnelles auxquels les membres du projet Mono font face. Un bon moyen de voir que certains leaders du monde Open Source n’ont pas l’esprit aussi “Open” que cela…

Du côté de l’actualité Produits, après NH Prof qui permet de profiler les applications utilisant NHibernate, Ayende semble s’intéresser à une version dédiée à Linq To SQL. Il partage avec nous les résultats de ses premières expérimentations.

Jérôme nous propose une introduction à nDepend, l’outil de Patrick Smacchia qui vous permet de naviguer au sein de votre code et ainsi mieux comprendre l’architecture de votre applicatif et les dépendances entre vos couches et entre vos types.

Crossposté vers THB

# Wednesday, October 07, 2009

Envie d’en savoir plus sur le développement d’applications iPhone en .net ?

image La communauté ALT.net Paris organise sa 18ème rencontre avec pour cette occasion une présentation de MonoTouch, la version dédiée de Mono et de MonoDevelop qui vous permet de développer des applications iPhone en managé. Oui, développer des applications iPhone en C# est à présent possible grâce à ce produit de Novell.

Jb Evain, développeur à Novell, présentera cette session à Paris lundi 12 octobre chez Zenika. J’y serais, et vous ?

Pour vous inscrire cela se passe par ici : Inscriptions Session Alt.net #18 sur MonoTouch

Pour plus d’infos :
Inscriptions
Post de Jb d’introduction à la session

# Tuesday, October 06, 2009

Pour poser vos questions à Steve Ballmer c’est maintenant !

Microsoft démarre une session exceptionnelle à 10h30 (dans 5min) avec Steve Ballmer en personne. MS France a pour l’occasion mis en place un dispositif original : un livemeeting avec affichage vidéo :

image

Et pour l’interactivité, afin de vous permettre de poser vos questions, vous pouvez directement passer par Twitter en ajoutant le hashtag #askSteveB :

 image

Une initiative originale et intéressante, il ne reste plus qu’à espérer que les questions posées le soient également ! ;)

Pour participer, ça se passe par ici : http://msdn.microsoft.com/fr-fr/ee516734.aspx

# Monday, October 05, 2009

Nouveau : Les Expressos de Bewise

image

Bewise propose des petits déjeuners qui ont lieu à l’agence toulousaine de Microsoft.

Cette série de petits-déj’ commence par une présentation de l’utilisation de Bing Maps afin d’implémenter des fonctionnalités de géolocalisation au sein de vos applications. Cette session aura lieu ce Jeudi 8 Octobre à 8h30 et sera présenté par Philippe Lonvaud notre expert Bing Maps, qui a été un des premiers en France à être certifié sur le sujet.

Si vous souhaitez découvrir cette technologie et ses usages : Inscrivez-vous, c’est gratuit !

# Sunday, October 04, 2009

WPF et Option Strict

Débutant une formation WPF la semaine dernière chez un client, je me suis retrouvé sur un problème intéressant : lors de la création de projets WPF, le code généré par Visual Studio ne compilait pas. Inutile de vous dire qu’il s’agit du genre d’incidents qui jette un rapide discrédit sur la technologie ce qui n’est évident à gérer en début de formation…

Le problème est lié à l’utilisation du langage VB et de la directive Option Strict. Si vous êtes un développeur VB sérieux et rigoureux vous avez très probablement activé l’option strict afin d’éviter d’autoriser le compilateur à ne pas signaler les opérations de cast plutôt hazardeuses. Seul problème, le code généré par les templates de projet de WPF n’est pas compatible avec cette vérification du compilateur si vous utilisez Visual Studio 2008 RTM :

image 

En effet si vous éditez le fichier MyWpfExtensions.vb présent au sein de votre projet vous trouverez la ligne de code fautive :

Friend ReadOnly Property Application() As Application
    Get
        Return Global.System.Windows.Application.Current
    End Get
End Property

Il est nécessaire de modifier le code du getter afin d’ajouter un cast explicite afin que le code compile correctement :

Friend ReadOnly Property Application() As Application
      Get
          Return CType(Global.System.Windows.Application.Current, Application)
      End Get
End Property

La solution pour résoudre ce problème est simple : il vous faut installer le Service Pack 1 de Visual Studio 2008.

Autre solution si avez un besoin très urgent du correctif, vous pouvez directement télécharger les templates mis à jour sur cet article de la KB de Microsoft.

# Saturday, October 03, 2009

News de la semaine #9

imageCommençons comme chaque semaine par quelques mots à propos de Windows Azure. Sébastien Pertus décidemment très actif sur le sujet nous propose la seconde partie de son dossier consacré à la migration d’applications vers Azure. Sébastien nous propose également une version modifiée du script permettant d’utiliser le Sql Membership Provider directement avec SQL Azure.

Cette semaine a été très riche en informations concernant le CLR et les langages, nous allons débuter par l’excellent Eric Lippert qui explique pourquoi il est possible de convertir via un cast implicit un char en ushort alors que l’inverse est impossible. Eric étudie également l’impact des différents types de gestion de String.Empty sur les tests d’égalité entre différentes instances.

Immo Landwerth, membre de l’équipe responsable du CLR, discute de 5 mythes fréquemment rencontrés lorsque l’on parle de code managé. Un autre de membre de l’équipe décrit la fonctionnalité de Type Forwarding en prenant exemple sur le type TimeZoneInfo qui fut déplacé de l’assembly System.Core.Dll vers la mscorlib.

Jeremy Miller a publié un article intéressant sur le MSDN Magazine à propos de l’impact des principes de la programmation fonctionnelle sur les  langages C# et VB.

Toujours dans le MSDN Mag de ce mois-ci, vous pouvez retrouver un article décrivant l’utilisation de l’outil CLR Profiler afin d’analyser la consommation mémoire de vos applications managés.

Un nouveau débat a eu lieu entre Ayende et Daniel Cazzulino, le premier débuta en indiquant qu’il pensait qu’il n’était pas toujours utile de créer des tests afin de valider le bon fonctionnement de codes très simples. L’idée défendue est que les tests c’est comme les antibiotiques, c’est pas automatique. Kzu a ensuite répondu sur son blog à cette idée, réponse aussitôt commentée par Ayende.

Channel 9 met à disposition deux vidéos de types “documentaire” [1 et 2] sur l’historique de Visual Studio.

Toujours sur Channel 9, Erik Meijer nous propose une nouvelle série de vidéos originales puisqu’il débute une formation sur la programmation fonctionnelle et plus particulièrement le langage Haskell. Cette formation se base sur l’ouvrage Programming in Haskell de Graham Hutton, elle réalisée de manière simple et efficace à l’aide d’un écran plat et d’un traditionnel tableau blanc.

Du côté de l’actualité française, Thomas Lebrun et Cyril Sansus nous livrent quelques astuces sur WPF. Thomas nous présente la propriété TargetNullValue qui permet d’afficher une valeur par défaut lorsque la valeur bindée est nulle. Cyril quand à lui nous présente deux techniques permettant de déplacer des fenêtres sans bordure.

Michel Perfetti nous présente quand à lui différents astuces liées à l’utilisation des méthodes d’extension grâce à deux posts [1 et 2] traitant de l’impact des namespaces sur la visibilité de ces méthodes.

Crossposté vers THB

# Tuesday, September 29, 2009

Résoudre le problème : Login failed for user IIS APPPOOL\DefaultAppPool

En voulant exécuter une application web sur mon poste je me suis retrouvé avec cette erreur qui a première vue est habituelle :

image

Erreur classique sauf que dans ce cas l’utilisateur en question n’est pas IIS_WPG comme on le rencontre généralement mais il s’agit curieusement d’un inconnu nommé “IIS APPPOOL\DefaultAppPool”. Et après un petit tour rapide dans la liste des comptes utilisateurs Windows, on se rend vite compte que cet inconnu est très discret puisque introuvable.

Cet utilisateur est lié à une nouveauté importante apparue dans Windows 7 et Windows 2008 R2, et pour le moment principalement utilisée par IIS 7.5. En effet la gestion de l’identité des application pool a été changée :

image

Comme vous pouvez le voir l’identité des application est à présent définie comme étant “ApplicationPoolIdentity”. IIS 7.5 créé  en effet un nouveau compte utilisateur pour chaque application pool sous la forme “IIS APPPOOL\ApplicationPoolName” afin d’avoir une meilleure isolation. Ces comptes utilisateurs ne sont pas des comptes utilisateurs classiques puisqu’il s’agit d’un nouveau type de compte utilisateur proposé par Windows Server 2008 et Windows 7 : les comptes utilisateurs virtuels. Ces comptes utilisateurs sont des comptes utilisateurs spécifiques qui ont le même comportement que les comptes traditionnels (ces comptes peuvent être utilisé par des ACL sans aucun problème) mais ne sont pas visibles dans les interfaces de Browsing de comptes.

Ainsi si vous souhaitez ajouter les droits à l’utilisateur “IIS APPPOOL\DefaultAppPool” pour accéder à votre base, ne changez pas l’identité de votre ApplicationPool (même si c’est contraire à toutes les pages du web traitant du sujet [ici, ou encore ]) car vous perdrez le bénéfice de ce nouveau mécanisme de sécurité.

Pour rajouter cet utilisateur au niveau SQL Server il suffit de saisir son nom de compte complet sans passer par l’interface de sélection de compte.

image

En savoir plus :
What's New in Service Accounts in Windows Server 2008 and Windows 7
GoodBye Network Service

# Sunday, September 27, 2009

Quelques prédictions sur la PDC 09

Bon pour une fois, je vais essayer de me mouiller en essayant de deviner quels sont les éléments que l’on verra lors de l’édition de la PDC de cette année. La PDC est en effet l’évènement où de grosses annonces sont faites : première démo des API Win32, première présentation du framework .net et de Visual Studio .net, démonstration de Windows 7 et de Windows Azure, etc…

Bon OK, ce n’est pas vraiment une prédiction puisque c’est officiellement annoncé. Le focus de la PDC sera en grosse partie mis sur Windows Azure. L’offre de Cloud Computing de Microsoft devrait être disponible en version finale et devrait apporter son lot de nouveautés par rapport aux versions que l’on a a disposition actuellement.

Microsoft devrait proposer la Beta 2 de Visual Studio 2010 et du framework .net 4.0. Ces versions majeures devraient être très proche des produits finaux. Je m’attends à un focus sur l’amélioration des performances de l’IDE, à quelques nouveautés à propos de Workflow Foundation, et à une meilleure intégration du SDK d’Azure. Avec cette beta 2, l’éditeur devrait annoncer une période un peu plus précise de la disponibilité des versions finales.

Silverlight Mobile pourrait refaire surface. Le projet est lancé depuis bien longtemps et nous n’en entendons quasiment plus parler depuis bien longtemps. Que cela soit sur Windows Mobile ou sur les téléphones Nokia, l’investissement a été important et il ne serait pas surprenant d’avoir une annonce à ce sujet en novembre.

Après les Tablet PC et SecondLight la seconde version de la table Surface, un nouveau matériel pourrait être également présenté.  On pourrait donc voir le nouveau mur interactif ou peut-être la rumeur de tablette au nom de code Courier ou tout autre chose.

Ce que l’on ne verra pas à la PDC :

Windows mobile 7. Il y a quelques rumeurs qui circulent sur le fait que 7 arriverait plus rapidement que prévu. Je pense que ce n’est pas du tout le cas, et qu’il y a confusion avec Windows 7 embedded.

Et vous qu’en pensez-vous ? Quels produits et annonces attendez-vous ?