Let There Be Code RSS 2.0
# Friday, February 04, 2011

imageLabs est un site dédié aux technologies Microsoft dont le but est de partager nos connaissances et notre passion.

Vous y retrouverez tous les articles, projets, KB, études de cas ainsi que les blogs des consultants de Bewise.

N’hésitez pas à nous envoyer vos retours.

Friday, February 04, 2011 9:00:00 AM (Romance Standard Time, UTC+01:00)  #    Voir Commentaires
Bewise
# Tuesday, February 01, 2011

Capture J-7 avant l’édition 2011 des Techdays. Je serai au rendez-vous et j’animerai avec Alain Marty la session TFS Basic sur le parcours ALM.

Vous pourrez également me croiser du côté des exposants et des partenaires Inner Circle et Azure Circle toute la journée du 8 février.

Pour retrouver tous les speakers Bewise c’est pas .

Tuesday, February 01, 2011 2:20:45 PM (Romance Standard Time, UTC+01:00)  #    Voir Commentaires
Techdays 2011
# Thursday, January 27, 2011

Depuis bientôt 3 mois que Kinect est sorti, on peut voir sur le web beaucoup d’initiatives de R&D utilisant ce périphérique. Vertice, la petite soeur de Bewise a elle aussi investit un peu de son temps sur Kinect. Il est maintenant possible de se déplacer dans une scène 3D temps réel Nova grâce à Kinect. Ajoutez à ça l’écran et les lunettes 3D... :)

Un petit aperçu ci-dessous :

 

Vertice présentera cette nouveauté au salon Imagina 2011 qui se déroulera du 1er au 3 février prochain. Retrouvez également toute l’actualité Vertice sur son blog.

Thursday, January 27, 2011 12:10:54 PM (Romance Standard Time, UTC+01:00)  #    Voir Commentaires
Kinect
# Wednesday, January 26, 2011

L’accès au bureau distant d’une instance Azure est une autre nouveauté de la plateforme. L’activation peut se configurer depuis Visual Studio au moment du déploiement ou depuis le portail Azure.

Depuis Visual Studio, lorsque l’on déploie nos services Azure la fenêtre suivante s’ouvre :

image

Depuis ce wizard, il suffit de cliquer sur le lien “Configure Remote Desktop connections…”, puis de renseigner le formulaire :

image

Le premier champ correspond au certificat qui va permettre de crypter le mot de passe. On peut soit en choisir un dans la liste, soit en créer un. Il suffit ensuite de remplir les informations de connexion. Une fois ce formulaire rempli, Visual Studio stocke ces informations dans le fichier ServiceConfiguration.cscg de notre projet Azure :

image

Pour qu’Azure puisse de son côté décrypter le mot de passe, il faut déployer le certificat sur notre “Hosted Service”.

Dans un premier temps, nous allons exporter le certificat. Depuis le wizard de configuration de l’accès distant, il suffit de cliquer sur le bouton View afin d’afficher le certificat :

image

Dans l’onglet Details, cliquer sur “Copy to File…” pour l’exporter.

Au moment de l’export du certificat ne pas oublier de sélectionner l’option d’export de la clé privé :

image

Une fois le certificat exporté, il ne reste plus qu’à se connecter au portail Azure, accéder à notre Hosted Service, puis d’y télécharger le certificat :

image

Après avoir déployé nos rôles sur Azure, il est également possible d’activer/désactiver et configurer le bureau distant depuis le portail pour chacun des rôles :

image

Lorsque nos instances sont démarrées, nous pouvons nous connecter en remote :

image

Wednesday, January 26, 2011 1:03:00 PM (Romance Standard Time, UTC+01:00)  #    Voir Commentaires
Azure
# Sunday, January 23, 2011

Si vous avez suivi l’actualité d’Azure, vous avez pu voir que Microsoft avait annoncé que les fonctionnalités d’IIS seraient disponible au niveau des Web Role. Nous pouvons donc configurer notre Web Role afin d’y définir les sites, répertoires virtuels ou encore les applications comme nous le souhaitons.

A l’ajout d’un projet Azure à notre solution Visual Studio, nous allons choisir de déployer un Web Role.

AddWebRole

Nous allons ajouter 2 sites web supplémentaires à notre solution.

Solution

Examinons maintenant le fichier ServiceDefinition.csdef de notre projet Azure :

<ServiceDefinition name="AzureProject" xmlns="http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceDefinition">
  <WebRole name="WebRoleSample">
    <Sites>
      <Site name="Web">
        <Bindings>
          <Binding name="Endpoint1" endpointName="Endpoint1" />
        </Bindings>
      </Site>
    </Sites>
    <Endpoints>
      <InputEndpoint name="Endpoint1" protocol="http" port="80" />
    </Endpoints>
    <Imports>
      <Import moduleName="Diagnostics" />
    </Imports>
  </WebRole>
</ServiceDefinition>

 

Dans ce fichier, on peut voir la définition de notre Web Role.

Il contient un site nommé “Web” disponible en http sur le port 80. Nous pouvons observer que l’élément xml Site possède comme élément parent “Sites”. Nous allons définir nos autres sites de cette manière :

<ServiceDefinition name="AzureProject" xmlns="http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceDefinition">
  <WebRole name="WebRoleSample">
    <Sites>
      <Site name="Web">
        <VirtualDirectory name="Images" physicalDirectory="../PremierSiteWeb/Img">
        </VirtualDirectory>
        <Bindings>
          <Binding name="Endpoint1" endpointName="Endpoint1" />
        </Bindings>
      </Site>
      <Site name="PremierSite" physicalDirectory="../PremierSiteWeb">
        <VirtualApplication name="SecondSite" physicalDirectory="../SecondSiteWeb">
        </VirtualApplication>
        <Bindings>
          <Binding name="Endpoint2" endpointName="Endpoint2"/>
        </Bindings>
      </Site>
    </Sites>
    <Endpoints>
      <InputEndpoint name="Endpoint1" protocol="http" port="80" />
      <InputEndpoint name="Endpoint2" protocol="http" port="81" />
    </Endpoints>
    <Imports>
      <Import moduleName="Diagnostics" />
    </Imports>
  </WebRole>
</ServiceDefinition>

 

Dans le premier, nous avons ajouté un répertoire virtuel “Images” qui pointe sur le répertoire “../PremierSiteWeb/Img”. Nous avons ensuite déployé le site PremierSiteWeb en http sur le port 81. Puis dans ce site, nous avons défini une application virtuelle qui pointe sur le projet SecondSiteWeb. Lorsque nous déployons localement notre web role (F5), 2 navigateurs s’ouvrent sur les 2 sites. Si nous ouvrons la console d’administration d’IIS, nous retrouvons les 2 sites, le répertoire virtuel, ainsi que l’application :

IIS

Ici mon IIS local possède déjà un site sur le port 80. Pour le déploiement local, Visual Studio a publié mes sites sur les ports 81 et 82.

Après avoir déployé notre Web Role sur Azure, nous pouvons nous connecter en remote desktop à notre VM Azure, accéder au serveur IIS et vérifier que nos 2 sites ont bien été déployés :

image

Sunday, January 23, 2011 1:36:27 PM (Romance Standard Time, UTC+01:00)  #    Voir Commentaires
Azure
# Thursday, December 09, 2010

Brian Harry a annoncé cette semaine la sortie des Service Packs 1 de Visual Studio et de Team Foundation Server 2010 en version Beta. Ils sont actuellement disponibles uniquement pour les abonnés MSDN, mais devraient être téléchargeable par tout le monde dans les jours qui suivent.

Vous pouvez retrouver plus de détails sur le contenu de ces Service Packs directement sur son blog. Il précise notamment que près de 1000 bugs ont été corrigés!! Ca fait rêver ;)

Parmi les nouvelles fonctionnalités nous pouvons noter qu’il sera maintenant possible d’exécuter les tests unitaires en 3.5. Actuellement les tests unitaires s’exécutent obligatoirement en 4.0 et utilisent la compatibilité 3.5 pour tester des applications 3.5.

On peut également noter une grande nouveauté au niveau de l’Intellitrace, c’est le support tant attendu du 64 bits (et de Sharepoint également). Comme je le soulignais dans cet article sur le développement 64 bits, Microsoft continue ses efforts à ce sujet.

Du côté de Silverlight, les tools de la version 4.0 sont inclus dans ce service pack. Au passage, Scott Guthrie nous annonçait la semaine dernière les nouveautés de Silverlight 5 qui devrait être disponible en version béta au printemps 2011 (surement pour le MIX). Et dans Silverlight 5, côté développeur et testeur on notera le support du debug des expressions de binding et le support des tests d’interfaces automatisés (déjà disponible pour Silverlight 4 dans le Feature Pack 2 de Visual Studio 2010).

Et enfin, toujours du côté de Silverlight, ce Service Pack contient un outil d’analyse des performances spécifique à Silverlight.

Thursday, December 09, 2010 10:08:17 AM (Romance Standard Time, UTC+01:00)  #    Voir Commentaires
TFS | Visual Studio
# Monday, October 11, 2010

Si vous avez testé TFS 2010 Beta 2, alors vous avez peut être remarqué qu’il était possible d’éditer les étapes des work items de type Test Case directement depuis Visual Studio. A l’arrivée de la RTM, cette fonctionnalité a été supprimée. Actuellement la seule façon d’éditer les étapes des Test Cases est de le faire depuis MTM (Microsoft Test Manager). Voici à quoi ressemble l’onglet Steps depuis Visual Studio, remarquez le bouton “Open for edit” qui permet de lancer MTM :

 TestCase

Avec la beta 2, nous avions ceci :

image

Nous allons voir ci-dessous comment modifier l’interface des Test Case pour pouvoir modifier les steps comme dans la beta 2.

En cherchant un peu on peut voir que le contrôle utilisé pour afficher les étapes est le custom control TestStepBaseControl de l’assembly Microsoft.TeamFoundation.TestManagement.Controls. Pour le retrouver il suffit de regarder à cet endroit : C:\ProgramData\Microsoft\Team Foundation\Work Item Tracking\Custom Controls\10.0\TestStepsControl.wicc

Comme tout custom control de work item, TestStepBaseControl implémente l’interface IWorkItemControl. Ce contrôle implémente également l’interface IWorkItemControlFactory. Il doit ainsi implémenter la méthode Create, que l’on peut voir ci-dessous :

Create

Visual Studio et MTM se servent certainement de cette méthode pour obtenir une instance de ce contrôle. Comme nous pouvons le voir dans ce code, si le Host a la possibilité d’afficher un contrôle WPF alors il retourne une instance de type TestStepsCustomControl, sinon il renvoie l’instance courante, à savoir de type TestStepsBaseControl.

Le formulaire des work items de Visual Studio ne supportent que les contrôles WinForm. C’est pour cette raison que TestStepsBaseControl est un UserControl WinForm. Par contrôle, MTM est en WPF, ainsi TestStepsCustomControl est un UserControl WPF.

Pour utiliser le contrôle TestStepsCustomControl depuis Visual Studio, il suffit de créer de l’encapsuler dans un composant ElementHost, lui même encapsuler dans un User Control WinForm (le composant ElementHost permet d’hoster un contrôle WPF dans un contrôle WinForm).

  • On crée un projet de type WinForm Custom Control Library.
  • On ajoute les références Microsoft.TeamFoundation.TestManagement.Controls.dll et Microsoft.TeamFoundation.WorkItemTracking.Controls.dll.
  • On ajoute ensuite un User Control et on lui fait implémenter l’interface IWorkItemControl.
  • Dans le designer du user control, on ajoute un composant ElementHost
  • Dans le code du designer, on crée un champ de type Microsoft.TeamFoundation.TestManagement.Controls.TestStepsCustomControl
  • Puis on modifie le code de la méthode InitializeComponent, afin d’instancier le TestStepsCustomControl et de l’affecter à la propriété Child de l’objet ElementHost :

 

InitializeComponent

  • Il faut ensuite mapper les méthodes de l’interface IWorkItemControl sur le custom control :

Mapping

  • Il ne reste plus qu’à compiler
  • On copie la sortie dans le répertoire C:\ProgramData\Microsoft\Team Foundation\Work Item Tracking\Custom Controls\10.0
  • On crée un fichier TestStepsControl2.wicc comme ceci :

wicc

Le contrôle est maintenant déployé. La dernière étape consiste à éditer le formulaire du Work Item pour qu’il utilise notre nouveau contrôle. Le plus simple est d’utiliser les power tools. Après avoir installé les power tools de TFS, il suffit d’éditer le type de work item Test Case (Menu Tools>Process Editor>Work Item Type>Open WIT from Server). Dans l’onglet Layout, on retrouve le TabPage Steps, il suffit de modifier la propriété Type du contrôle utilisé pour afficher le champ Microsoft.VSTS.TCM.Steps :

WIDesigner

La manip est terminée. Il ne reste plus qu’à ouvrir un Test Case et vérifier que les étapes sont maintenant éditable depuis Visual Studio :

image

Et comme par magie, on peut maintenant éditer les étapes de nos Test Case depuis Visual Studio!!

Monday, October 11, 2010 2:34:41 PM (Romance Daylight Time, UTC+02:00)  #    Voir Commentaires
TFS | TFS SDK | Visual Studio
# Friday, October 08, 2010

TFS Membership Visualizer

Je vous l’ai présenté cette semaine, TFS Membership Visualizer est un petit outil qui permet de visualiser un graphe de dépendances des groupes TFS et de leurs membres.

Je me suis dit qu’il serait sympa de l’intégrer directement dans Visual Studio. J’ai donc développé une extension VS que vous pouvez télécharger directement depuis l’Extension Manager de Visual Studio 2010.

Vous pouvez également le télécharger sur le site des extensions de Visual Studio ou télécharger le code source sur le projet Codeplex associé.

(Vous remarquerez également l’arrivée de BOWIE dans l’extension manager :) )

Friday, October 08, 2010 10:48:02 AM (Romance Daylight Time, UTC+02:00)  #    Voir Commentaires
TFS | VS Extension
# Tuesday, October 05, 2010

 

Si vous suivez l’actualité de TFS via le blog de Brian Harry, alors vous remarquerez que je rebondis sur l’un de ses derniers posts, à savoir comment visualiser de manière synthétique les memberships des groupes TFS.

Peut être l’avez vous déjà constaté, la visualisation des membres des groupes de sécurité de TFS n’est pas très pratique. Des groupes sont définis au niveau du serveur TFS, au niveau de la collection ou encore ou niveau des projets. Il n’existe actuellement aucun moyen simple de visualiser les membres de ces groupes de manière synthétique. La seule solution est d’afficher chaque boite de dialogue de gestion des groupes à tous les niveaux (serveur, collection, projets).

Comme le suggère Brian Harry, il est tout à fait possible de développer un outil avec les API de TFS. C’est d’ailleurs ce que j’avais fait pendant mes congés d’été mais je n’avais pas encore eu le temps de poster.

Le code que je vous propose est tout simplement une application Windows qui va vous permettre de sélectionner les projets depuis un serveur TFS et de générer un graphe de dépendances entre les différents groupes et membres :

image

Une fois les projets sélectionnés il vous suffit de cliquer sur Generate Dependency Graph et Visual Studio s’ouvrira afin de vous présenter le graphe de dépendances :

image

Le graphe de dépendances est pour moi la meilleure des manières d’avoir une vue synthétique des memberships. Et on bénéficie en plus de tous les avantages de DGML, en terme de visualisation, navigation ou de sélection.

Pour l’instant je génère un DGML en utilisant Linq To XML et donc un XDocument. Cependant il existe également une API qui facilite la génération de DGML. A creuser pour la prochaine fois…

Tuesday, October 05, 2010 5:53:28 PM (Romance Daylight Time, UTC+02:00)  #    Voir Commentaires
TFS SDK
# Saturday, September 25, 2010

Si vous n’avez pas hiberné cet été, alors vous savez que Microsoft va lancer d’ici 1 mois environ Windows Phone 7. Pour les développeurs c’’est une aubaine, puisque les applications WP7 sont développées en Silverlight ou en XNA. Si en plus de ne pas avoir hiberné cet été vous avez “surfer sur la vibe” du groupe “Développeurs” du plus grand réseau social alors vous savez surement que Microsoft a lancé en France un concours de développement d’applications pour WP7 et que toutes les applications du concours vous y sont présentées.

Pas mal de collègues de Bewise se sont donc lancés dans ce concours en proposant des applications toutes aussi différentes les unes que les autres. Je vous propose ici de vous les présenter si vous ne les avez pas déjà vu dans un ordre totalement désordonné!

Petite info supplémentaire : pour visualiser les vidéos présentent sur Facebook, il vous faudra tout d’abord “liker” le groupe Developpeurs. Vous pouvez ensuite “liker” les vidéos, afin d’apporter vos votes à ces applications.

La première application, Nova4Phone, c’est mon coup de coeur en terme de technicité et de performance. Nova4Phone, développé par David Catuhe, est un portage sur WP7 du moteur 3D Temps réel Nova de la société Vertice. Cette application met en évidence les possibilités de développement en XNA et les performances de ces nouveaux devices. Je vous laisse apprécier les 2 vidéos de présentation de Nova4Phone :

http://www.facebook.com/video/video.php?v=461276955395

http://www.facebook.com/video/video.php?v=1413141241316&oid=129459787073480

Nova4Phone

 

Voila pour les applications XNA proposées par Bewise et Vertice, les applications qui vont suivre sont toutes développées en Silverlight, mais ne sont pas moins intéressantes.

Si vous habitez Toulouse, l’application VeloToulouse proposée par Patrice Lamarche vous permettra de trouver en temps réel les stations de vélo de la ville de Toulouse, la disponibilité de vélos dans une station ou encore les emplacements disponible pour garer son vélo dans une station, détection de votre position via le GPS... Le tout s’interface bien évidemment avec Bing Maps. Pour voir la vidéo, rendez vous sur Facebook :

http://www.facebook.com/#!/video/video.php?v=435268853926

VeloToulouse 

 

Fan de Starcraft, vous désirez suivre les classements et les stats des joueurs à travers le monde, alors Sébastien Pertus l’a fait pour vous, l’application Starcraft 2 pour WP7 :

http://www.facebook.com/video/video.php?v=435240728926

Starcraft2 

 

Fan de rugby et du Stade Toulousain, Loïs Gaudebert a développer une application permettant de suivre l’actualité du Stade Toulousain. Le calendrier, les matchs, les joueurs, les résultats…

http://www.facebook.com/video/video.php?v=436392813926

StadeToulousain 

S’il vous arrive souvent de prêter CD, DVD ou autres produits auquel vous tenez mais que vous avez du mal à répertorier et surtout à récupérer, alors l’application Collecto proposée par David Catuhe devrait vous être d’une aide très importante :

http://www.facebook.com/video/video.php?v=431591263926

Collecto 

Envie de voyager et de découvrir Barcelone, Loïs Gaudebert a développer un guide de la ville de Barcelone. Cette application vous guidera dans Barcelone, vous fera découvrir les monuments ou endroits intéressants en fonction de vos préférences…

http://www.facebook.com/video/video.php?v=436692483926&ref=mf

GuideBarcelone

 

Et enfin pour terminer, Speak-O-Matic, application proposée par Guillaume Lacasa. Cette application vous génère des phrases diverses et variées. Personnellement je ne pense pas réussir un jour à placer une de ses phrases, bien que, après quelques bières, elles prennent un sens, donc sait-on jamais… J’ai cependant un coup de coeur pour la musique et la vidéo, qui nous montre le talent d’acteur de quelques Bewisiens :

http://www.facebook.com/video/video.php?v=430590738926

Speakomatic

Saturday, September 25, 2010 12:53:00 PM (Romance Daylight Time, UTC+02:00)  #    Voir Commentaires
WP7
Archive
<February 2011>
SunMonTueWedThuFriSat
303112345
6789101112
13141516171819
20212223242526
272812345
6789101112
About the author/Disclaimer

Disclaimer
The opinions expressed herein are my own personal opinions and do not represent my employer's view in any way.

© Copyright 2012
Benoît Laut
Sign In
All Content © 2012, Benoît Laut
DasBlog theme 'Business' created by Christoph De Baene (delarou)