Un petit message rapide pour ceux qui comme moi ne peuvent pas attendre, on déjà installé la RC de Team Foundation Server 2010 et souhaitent faire de la personnalisation de Work Item et Process template!
Après deux semaines d’attente, les Power Tools sont disponibles en version 2010 (rappel), accompagnés du MSSCCI Provider (rappel aussi).
Au passage, attention, si vous utilisiez Visual Studio 2010 Beta 2 avec les PowerTools, pensez bien à les désinstaller AVANT d’installer Visual Studio 2010 RC (cela évite de devoir justifier 2 popup d’erreur a chaque démo… menfin c’est pas moi… euuuu… c’est stableee… euuu c’est pas un bogue quoi).
Pour télécharger, par la que cela se passe:
(a noter dedans le retour de l’intégration de le messagerie instantanée dans Team Explorer)
Encore une preuve que Team Foundation Server se moque complètement du type ou de la version du client qui consomme ses services!
Le MSSCCI Provider, fournit gratuitement par Microsoft, propose depuis 2005 d’utiliser Team Foundation Server comme contrôleur de code source sur des outils d’ancienne génération:
- Visual Studio .NET 2003
- Visual C++ 6 SP6
- Visual Visual Basic 6 SP6
- Visual FoxPro 9 SP1
- Microsoft Access 2003 SP2
- SQL Server Management Studio
- Sparx Systems Enterprise Architect 6.1
- Sybase PowerBuilder 10.5
- Toad for SQL Server 2.0
Il existe pour chaque version de Team Explorer / TFS: 2005, 2008 et maintenant 2010 en Beta 2.
Il se positionne comme une interface entre l’environnement de développement et Team Explorer (l’API de TFS) pour pouvoir les faires communiquer sans Addin additionnel. (Grâce à l’implémentation de Microsoft SourceControl Interface, que SourceSafe utilise aussi).
Grosso modo, cela signifie que si un environnement de développement arrive à intégrer SourceSafe, il doit en théorie intégrer TFS de la même manière via ce provider.
Cependant, si l’on regarde la liste proposée par Microsoft, on ne trouve que Visual Basic 6 SP6, alors que, par exemple, Visual Basic 5 fonctionne très bien avec SourceSafe (ils étaient packagés ensembles).
Un petit test s’impose:
- Installation de Visual Basic 5 (le plus dur étant de retrouver le programme d’installation) – sans SourceSafe
- Ajout de la ligne “vbscc=1” dans le fichier Windows\vbaddin.ini.
- Installation du MSSCCI Provider
- Lancement de VB 5… et…
Welcome TFS!
Merci Luc pour le challenge et le coup de main sur VB 5 :)
… c’est la description du formidable message d’erreur qui m’a fait perdre aujourd’hui quasiment 2 heures lors d’une migration Silverlight 3 Beta 1 à Silverlight 3 RTW…
Le comportement lié à ce message d’erreur est le suivant:
- L’application SL est compilée
- Le XAP généré
- … mais une erreur apparait lors de l’exécution de l’application SL dans le hôte ASP.NET
Bref, ca compile, mais il y’a un truc non détaillé qui empêche l’utilisation du projet dans un site ASP.NET.
Si vous rencontrez ce problème, qui n’était pas présent dans la pré-version de SL, voici la raison / le contexte:
- Je possède un projet avec plusieurs librairies Silverlight
- Parmi ces librairies, une à été développée / ouverte au moins une fois avec VS 2010, le projet est présent dans ma solution VS 2008 car il évolue et la librairie est référencée directement au travers de son projet donc (recompilé à chaque fois) => c’est cette librairie qui pose problème (à noter que je peux travailler dessus dans VS 2008 et la faire évoluer sans aucun soucis / avertissement).
En fait, la vrai cause du soucis est affichée dans le log de compilation précédant mais en temps que “Warning” alors que c’est un problème critique pour le déploiement: Project file contains ToolsVersion=”4.0”, which is not supported by this version of MSBuild. Treating the project as if it had ToolsVersion=”3.5”.
Personnellement, ce message ne m’a pas inquiété: MSBuild à un soucis, mais il gère comme un grand… et bien, non.
En ouvrant le fichier .csproj de la librairie créé par VS 2010 et en remplaçant manuellement 4.0 par 3.5, le message d’erreur disparait lors de la compilation et l’application se met à fonctionner.
Merci les messages d’erreur clairs et donc attention:
- Un projet SL 2008 ouvert avec 2010 est convertit par l’assistant au démarrage de VS, l’attribut ToolsVersion prend la valeur 4.0 à la place de 3.5
- Un projet SL 2010 ouvert avec 2008 ne lève pas d’erreur au démarrage de VS et la valeur reste à 4.0, ce qui pose problème lors de la compilation de SL 3 RTW
Bon, a part ça, c’est quand même cool Silverlight 3 :)
Un truc tout bête qui m’est arrivé aujourd’hui (niveau débutant qui me fait perdre 20min) …
Après un gros re-factoring de solution (réorganisation des projets dans des répertoires différents), un problème étrange m’est apparut: me voila dans l’impossibilité de debug mon projet Silverlight (du moins, d’évaluer mes Breakpoints).
Après quelques tests, je me rend compte que, tout simplement, la recompilation de mon projet SL ne re-génére pas le fichier xap dans le répertoire ClientBin de mon application Web hôte, bizarre.
Quelques vérifications s’imposent:
- Le projet Silverlight est bien lié à l’application hôte ASP.NET
- Le .XAP apparait bien dans le projet de l’application hôte, répertoire ClientBin (et le projet compile sans soucis, et le .XAP reste visible même après des rafraichissements du projet)
- Par contre, le répertoire physique qui doit contenir le Xap est vide!!! (et pas d’erreur lors de la compilation comme cela aurai été le cas pour une référence classique…).
- En éditant le fichier de projet de l’application hôte ASP.NET, je remarque que la section SilverLightApplicationList est vide…
<SilverlightApplicationList>
</SilverlightApplicationList>
- … alors qu’elle devrai référencer mon projet Silverlight
<SilverlightApplicationList>{D633E905-4A0C-4CC1-B22C-9C4E58598D3D}|..\SilverlightApplication4\SilverlightApplication4.csproj|ClientBin|False</SilverlightApplicationList>
Mais oui! voila le problème… en retournant dans les propriétés du projet ASP.NET, onglet Silverlight Applications, mon projet Silverlight n’est plus déclaré!
Il suffit donc de le re-référencer…
(…)
Conclusion: cela serai sympa de mettre un petit warning ou un message d’erreur (comme c’est le cas avec les références) lorsque l’on réorganise des projets ASP.NET / Silverlight et que ceux-ci ne se trouvent pas, plutôt que de les supprimer comme un bourrin sans rien dire :)
C’est noël après/avant l’heure!
… hmm, quelques précisions s’imposent tout de même (mode: “je raconte ma vie”).
Suite à un déménagement, j’ai acheté il y’a 1 an une formidable table basse chez Conf0ram* (cf photo si dessous), dont je suis entièrement satisfait (et au moment de l’achat, Surface n’était pas commercialisée). Et comme je le dis souvent lors je parle d’usines de développement: “lorsqu’il y’a quelque chose qui marche dont vous êtes content, surtout n’y touchez pas”.
Il m’a donc fallut trouver une alternative!
J’ai donc reçut il y’a quelques semaines la version “pour hamster” de la table Surface, soit le kit de développement pour Micro Framework Tahoe II de Device Solution.
Comme vous pouvez le voir, j’ai conservé la même échelle pour la photo.
Celui-ci répond aux mêmes critères que Surface…
- Bel écran couleur
- Tactile (bon, pas multitouch, mais avez vous déjà vu une patte et les doigts d’un hamster, cela n’aurai aucun intérêt?)
- Ecriture de programmes en C#/.NET
- Possibilité de décrire des interfaces en WPF (pas XAML, juste le modèle objet WPF)
- Un port USB en sortie
… avec des choses en plus:
- + léger et - encombrant (hardware et software vu qu’il n’y a pas de système d’exploitation dedans)
- - cher (environ 300 euros)
- Capteur de température intégré
- Accéléromètre intégré (vu que c’est léger en plus, vous vous imaginez jouer au jeu de la bille dans le labyrinthe avec une table surface vous?)
- …
Pour une description complète (et plus sérieuse), je vous propose de voir le post de Julien Corioland (qui au passage, raconte plein de choses intéressantes sur le Micro Framework sur son blog).
Bon week end par avance(pour moi, cela sera avec le Micro Framework) !
PS: au cas ou, ce message est mal compris: je n’ai bien sur pas les moyens de me payer une table Surface :) (mais je veux bien troquer ma table de salon et mon kit de dev contre une)
Une petite passe sur une autre des fonctionnalités de VS 2010 pour enrichir la série de post d’Etienne.
L’option Code Analysis est proposée depuis 2005 dans l’édition Visual Studio Team Developer.
Concrètement, il s’agit d’une évolution de FXCop s’intégrant complètement dans l’environnement de développement et dans les processus de compilation d’un serveur Team Build.
Code Analysis permet de valider que le code (au travers de son IL) respecte certaines conditions (bonnes pratiques) sélectionnées parmi une liste extensible de plus de 200 règles (sécurité, globalisation, performance…) et ceci à différents niveaux:
- Lors de la compilation sur le poste du développeur, sous la forme d’avertissement et d’erreur; imposant ainsi de garantir la qualité du code le plus tôt possible (dans l’IDE) et souvent (à la compilation)
- Lors d’un archivage de code dans le contrôleur de code source, pour garantir que le code présent dans le référentiel est valide d’un point de vue qualité
- Lors de la compilation par le serveur de build pour noter et mettre en avant la qualité du livrable
Dans Visual Studio 2008…
La sélection et l’activation des règles s’effectue dans les propriétés d’un projet C# ou VB.NET, au niveau de l’onglet “Code Analysis”

Seul problème, il faut pour chaque projet reconfigurer les règles (ou aller faire un copier coller en mode texte dans le fichier .csproj pour récupérer et copier coller une liste existante), ce qui n’est pas très industrialisable. De plus, la première sélection des règles est toujours longue, il est rarement nécessaire de tout activer et lire la documentation des règles une à une pour démarrer peut être très très chronophage.
Quoi de neuf dans 2010?
Visual Studio Team Dev 2010 répond justement à ces deux soucis avec deux fonctionnalités:
1°) Des groupes pré-définis pour démarrage rapide

L’onglet d’activation des règles est toujours présent, mais il est maintenant possible d’appliquer un ensemble de règles pré-sélectionnés parmi une liste proposée par Microsoft.
Une fois un groupe sélectionné, il est possible de l’ouvrir pour le personnaliser (ajout / suppression de règles, fusion de groupes) pour le projet actif.
2°) La possibilité de créer des groupes de règles, et de les importer / exporter
Pour aller plus loin, il est également possible de créer votre propre ensemble de règles. Ce coup-ci, pas de stockage des règles directement dans les fichiers de définition de projet comme en 2008, mais plutôt dans un fichier externalisé lié au projet, dédié aux règles et donc plus facilement transportable.
Lors de l’ajout d’un fichier dans un projet, apparait donc maintenant un type “RuleSet”:
Ceci créé un fichier à l’extension “.ruleset”, qui dispose d’un éditeur assez pratique pour:
- Sélectionner les règles
- Filtrer sur les règles sélectionnées, sélectionnées comme erreur, sélectionnées comme avertissement, non sélectionnées (facilité d’évolution du ruleset)
- Créer des sous groupes de règles
- Avoir accès à la documentation de la règle directement depuis Visual Studio!!! (finit le CHM ou MSDN à ouvrir à coté pour le détail!!) => la documentation, description de l’erreur, et même un bout de code pour expliquer comment la corriger.
Honnêtement, je pense que ces améliorations vont grandement augmenter l’adoption de cet outil, qui va du coup pouvoir enfin être utilisé en mode industriel sur plusieurs projet.
Un message bref pour relayer trois articles!
Terminé les installations et configurations galères dans TFS 2010 grâce à beaucoup d’améliorations à ce niveau.
Pour preuve en image, je viens de publier sur TechnoS-SourceS trois tutoriaux de découverte de Team Foundation Server:
Bonne lecture et n’hésitez pas à poser vos questions directement à la suite de ce message!
Après:
Une autre question revient souvent: comment fonctionne le système de gestion des droits de Team Foundation Server?
Une petite parenthèse sur l’architecture de TFS s’impose pour répondre à cette question.
Team Foundation Server est en fait composé de trois produits:
-
Team Foundation Server a proprement parlé (des WebServices, un scheduler et une base de données SQL Server) pour les services de gestion de sources, éléments de travail et build
-
Windows SharePoint Services pour la gestion des sites d’équipes (documentation, partage de calendrier, blog, wiki)
-
SQL Server Reporting Services pour mettre à disposition des rapports
Chacun de ces trois produits doit être accessible par chaque membre de l’équipe, depuis l’ outil qui lui est le plus adapté (exemple: Visual Studio). Il est donc nécessaire qu’un utilisateur ayant des droits en lecture/écriture les ait sur chacun des services. Cette contrainte est logique (chez Microsoft, ils ont préféré garder leurs produits déjà existant et ayant fait leurs preuves plutôt que d’en re-développer), mais peut rapidement se transformer en “arrachage de cheveux” pour l’administrateur en charge d’assigner les droits aux utilisateurs (trois produits, trois interfaces graphiques différentes, trois gestions de groupes et types de droits différents).
Mais il existe tout de même une solution!
A l’ère du SOA, chacun de ces produits expose des WebServices permettant de les manipuler, et donc, de gérer les droits via une interface tierce. Et c’est la qu’apparait un magnifique produit gratuit nommé TFSAdminTool, disponible avec sources sur CodePlex et mis à jour il y’a quelques semaines pour supporter la version 2008 SP1 de TFS.
C’est par ici que cela se passe: http://www.codeplex.com/TFSAdmin
L’objectif de cet outil est de centraliser la gestion des droits des trois produits dans une seule interface, ce qui en fait donc le kit d’administration essentiel pour gérer les droits (a installer de toute urgence si vous ne l’avez pas, cela vous fera vraiment gagner du temps!). Lorsque l’on assigne des droits à un utilisateur sur TFS (ex: contributeur), il reporte directement ceux-ci dans les autres produits en utilisant les groupes adaptés (EX: Contributors dans TFS deviens “Contribute + Design” dans WSS et “Publisher + Report Builder” dans RS).
Concernant le type de compte utilisé par les produits, Team Foundation Server ne dispose pas de base de gestion d’utilisateurs applicatif et s’appui uniquement sur des groupes Windows. Dans le cas ou vous ne disposez pas d’un Active Directory, il est tout à fait possible de créer des comptes locaux sur la machine.
Au niveau de la gestion des groupes, pour simplifier la mise en place de droits sur des équipes en perpétuel mouvement, il est possible d’utiliser soit des groupes Windows, soit des groupes applicatifs Team Foundation Server. Pour une meilleure flexibilité avec les trois produits, il vaut mieux préférer les groupes Windows (reconnus par SharePoint et Reporting Services, ce qui n’est pas le cas des groupes applicatifs).
Bref, l’outil TFS Admin Tool, l’outil à avoir sous la main si vous êtes en charge de gérer les droits d’un serveur Team Foundation!
Depuis Visual Studio 2005 Team Dev, le profiler de code permet de mettre en avant les goulets d’étranglement d’une application testée (quelles sont les fonctions qui prennent le plus de temps, quelles sont celles qui consomment le plus de mémoire…).
En version 2008, celui à juste reçut 2 fonctionnalités additionnelles mais fort pratique:
- Comparaison de rapport: pour savoir si les modifications sur le code ont eut un impact positif / négatif sur les performances
- Mise en avant du chemin critique: dans un rapport avec un arbre d’appel conséquent, le goulet d’étranglement est directement mis en avant
(détaillées ici)
La version 2010 voit encore son petit lot de nouveautés permettant d’améliorer encore l’expérience de l’utilisation de celui-ci, au programme de ce post:
- Modification de l’assistant de création de séance de profiling
- Profiling multi-applications
- Améliorations du rapport général
- Une nouvelle vue dans le rapport: functions détails
- Profiling de JavaScript
- Stockage des données de configuration de performance
Modification de l’assistant de création de séance de profiling
VS 2008:
VS 2010:
Modifications:
L’ordre des fenêtres a changé, on décide d’abord du type de profiling avant de choisir l’application ciblée.
Sur le type de profiling, deux nouvelles options sont apparues:
- .NET Memory Allocation (Sampling): permet de faire une séance de profiling en se concentrant non pas sur les temps d’exécution des méthodes, mais sur la consommation mémoire de chacune. Ce mode était activable avant au travers d’un menu contextuel et du paramétrage une fois l’assistant passé. L’atteindre sera maintenant plus intuitif
- Concurrency: Nouveau mode de profiling qui se concentre sur la détection des problèmes lié aux applications multithread (car le profiler gère ce type d’application de mieux en mieux depuis sa version 2008)
Sur le type des applications pouvant être profiler, aucun changement si ce n’est le remplacement d’une DropDownLost par une ListBox (a noter que cela permet du coup de sélectionner plusieurs projets à Profiler en même temps!).
Sur la derrière fenêtre, une case cochée par default permet de lancer automatiquement (cela surprend la première fois de voir l’application s’exécuter immédiatement).
Profiling multi-application

Il est possible de profiler d’un coup plusieurs tiers d’une application (en 2008, il fallait ouvrir une instance de Visual Studio pour chacun) et de faire apparaitre du coup un rapport de dépendances (combien de fois une des pages de mon application Web fait appel à un service de ma couche WCF).
Je ne peux pas détailler plus pour l’instant car cette fonctionnalité semble dysfonctionner dans la béta 1 (j’éditerai le post plus tard).
Améliorations du rapport général
VS 2008:
VS 2010:
Modifications:
Bon, la capture d’écran parle d’elle même, Visual Studio 2010 est en WPF, l’équipe qui fait le profiler en a profité pour faire quelque chose de beau.
A noter donc:
- en haut a gauche, une gestion de l’historique dans les scénarios d’analyse des rapports, qui permet donc de revenir en arrière lorsque l’on navigue de rapport en rapport en détail de rapport...
- en haut au milieu, toujours la possibilité de changer de vue d’analyse (Summary, Call Tree, Modules, Caller/Callee, Functions, Function details, Mark, Process) et quelques icones d’option (notamment une nouvelle option de split de fenêtre, grisée dans la beta)
- Au milieu gauche, la mise en avant du chemin critique, directement ici
- En bas, le détail des fonctions qui ont pris le plus de temps mais avec une vue en % et en graphe, plus simple à la lecture
- Au milieu droit, les options accessible habituellement de la barre d’outil et du menu contextuel en mode “détaillé” pour aller directement vers l’option désirée
Une nouvelle vue dans le rapport: Function Détails
Permet d’avoir une cartographie en WPF de l’utilisation d’une méthode, avec vue en même temps sur son code
Ici on remarque, que la méthode “MethodeB” (dont le code s’affiche en bas) est appelée pendant 222,0 millisecondes dans la méthode A (zone bleu de gauche) et que durant son appel, 0,8 millisecondes sont exploitées dans son code, 217,7 dans le sous appel à System.String.Concat(), 3,5 a Int32.ToString() et moins de 0,1 a Object.ToString().
Cette méthode représente également (au milieu de l’écran), 53,0% du temps d’exécution de l’application.
En mode “informations mémoire”, des instructions apparaissent directement dans le designer de code (par exemple ci-dessous, en rouge ce qui consomme le plus de mémoire avec sur la gauche la taille que cela représente).
Profiling de JavaScript
En mode instrumentation, il est maintenant possible d’activer le profiling du JavaScript trouvé dans une analyse de navigation Web.
Il suffit pour ceci d’activer l’option (désactivée par default), d’une séance de profiling Web.
Soit le code suivant:
Le profiler remonte dans son rapport le chemin d’exécution suivant:
et toujours la fenêtre de détail liée:

Stockage des données de configuration de performance
Toute petite fonctionnalité mais bien pratique, la configuration d’une session de performance est maintenant stockée au coté de la Solution, dans un répertoire Solution Items (avant c’était un fichier non lié, dépendant du Visual Studio de la personne ayant fait l’analyse de performance).
Ceci est pratique pour pour re-trouver les anciennes configuration et surtout les versionner pour diffuser aux autres membres de l’équipe via un contrôleur de code source (et leur permettre ainsi d’analyser les performance de l’application avec le même paramétrage).

Voila, bonne découverte!
(je compléterai ce post au fur et à mesure des modifications)
J’ai la semaine dernière fait un petit tour dans la caverne d’ali baba des kits de développement pour Micro Framework (comprendre “le bureau de Pierre Cauchois, Microsoft Evangelist sur l’embarqué”) ou le gardien à eut la gentillesse de me prêter un peu de “matos” afin que je fasse mumuse.
Bref, pour changer de ma carte de développement “Embedded Master 2”, voici donc un test de la carte “Tahoe” du constructeur “Device Solutions”.
Comme le décrit le schéma suivant, la carte est composée:
-
De trois zones d’extensions pour connecter et piloter des périphériques externes (tel que le
module Ethernet non présent en standard sur la carte) et d’un port d’accès JTAG. Sur la photo suivante est par exemple branché (en haut)
un accéléromètre 3D, pour récupérer des informations sur le mouvement de la carte (pratique pour jouer à “la bille dans le labyrinthe” :) ).
Le SDK proposé par Device Solutions est bien fait, la documentation très très claire (avec surtout un how-to start en 3 pages du genre “pas besoin de lire trois tonnes de pages pour faire un hello world”). Seul petit regret, pas d’exemples de code qui utilisent les spécificités de leur DLL.
Cette carte dispose nativement d’un Firmware compatible Micro Framework 2.5 mais toute la documentation pour la migrer en 3.0 est disponible (et cela semble être beaucoup plus simple qu’avec l’Embedded Master).
Un gros point fort du SDK est qu’il propose un émulateur représentant la carte, et que celui-ci fonctionne très bien (et permet donc de gagner du temps en phase de développement en limitant les déploiements sur la carte).
Concernant mes impressions:
Les +:
-
Facilitée de déploiement depuis Visual Studio (avec l’Embedded Master, cela marche pas toujours et il faut reformater la carte régulièrement…)
-
L’écran couleur, c’est fun
-
Beaucoup de possibilités d’extension
-
L’accéléromètre qui s’ajoute
-
Un bon émulateur
Les –:
-
Pas de connectivité réseau en standard sur la carte (ni Ethernet, ni wifi), même si cela peut être ajouté après.
-
Peu de périphériques et de connectivités directement greffées sur la carte (pas d’USB additionnel, pas de led, pas de buzzer
En bref, en rapport avec l’Embedded Master 2, cette carte possède moins de choses en standard mais est plus pratique pour développer (émulateur, écran couleur, Firmware bien fait, connaissances en électronique moins requises qu’avec les autres cartes).
Un petit plus également, cette carte étant en “fin de carrière” (une V2 existe maintenant), elle est en train d’être bradée par les différents revendeurs (165 euros au lieu de 300 ici par exemple).

Et de deux, encore une :)
Voici un troisième post d’une série qui décrit, semaine après semaine (ou du moins week end après week end), mon exploration du Micro Framework.
Après la configuration de ma carte et mon premier Hello World d’affiché sur son LCD, me voici lancé dans une quête effroyablement fun pour interagir avec les différentes interfaces et interactions homme / machine disponibles sur la carte. A savoir dans un premier temps des boutons, un buzzer et une led.
Avant de commencer, un petit retour sur le Hello World, il existe une manière beaucoup plus simple de le faire: plutôt que de créer un projet Micro Framework de type “Micro FX console application”, il suffit d’en créer un de type “ Micro FX Windows Application”.
L’intérêt est qu’un squelette de code conséquent est généré et que celui-ci contient déjà tout ce qu’il faut pour afficher du texte (et même le message “Hello World” en fichier de ressources… :))
Ce qui donne sur la carte, sans aucun autre effort qu’une petite compilation:
L’avantage de ce squelette de code est qu’il contient également tout le code requis pour interagir avec les événements de sélection des boutons (via un système de mapping, à modifier en fonction du type de carte utilisé).
Me voici donc capable d’ajouter des événements lorsque quelqu’un appui sur un des boutons de la carte…
…et de faire un switch / case pour interagir en fonction du type de bouton pressé, par exemple ci-dessous, après la pression du bouton “select”, l’exécution de l’application prend fin:

La led avec laquelle je souhaite interagir étant spécifique à ma carte, sa manipulation s’effectue via un objet .NET la représentant dans la librairie (DLL) fournie par le constructeur de mon kit de développement (EmbeddedMasterLibrary_MFW3.0 de GHI Electronics dans le cas présent), un ajout de référence s’impose donc avant de pouvoir la manipuler via un objet de type PWM.
Ce qui donne pour un clignotement (passe progressivement et 10 fois de suite d’un état éteint à un état allumé):
Pour ce qui est de l’utilisation du buzzer, c’est directement le .NET Micro Framework, via le namespace Microsoft.SPOT.Hardware.Utility qui fournit le nécessaire grâce à la méthode statique Utility.Piezo(…)
Avec “note” ayant par exemple comme valeur pour jouer l’hymne à la joie de Beethoven (exemple du SDK, je n’ai ni l’œil, ni l’oreille musicaux… j’avais promis la carioca dans un précédent message, mais la je le sent moyen):
Et voila, le résultat en vidéo (désolé pour la qualité, juste un vieux téléphone portable sous la main la):
Prochaine étape: jouer avec la carte réseau :)
Voici un petit relais avec explication du dernier post de Brian Harry, qui énumère la liste des nouveautés qui arrivent dans Visual Studio Team System 2010.
De mon point de vue, j’ai toujours considéré que VSTS 2008 était un SP2 de l’offre Team System 2005: optimisation des performances et ajouts des quelques fonctionnalités pour augmenter la productivité (sur la partie build et test). Une version plus complète de Team System (Rosario) devait sortir 1 an après mais elle à – pour des raisons logiques de cohérence avec l’offre Pro – été finalement décalée à la sortie de Visual Studio 2010.
En tout cas, nous y sommes maintenant et du coup, nous voila avec plein de nouveautés et une grosse release de Team Foundation Server et de Visual Studio Team * dans cette version qui arrive très très bientôt en Beta 1.
Pour reprendre la liste de Brian Harry, avec à chaque fois un lien vers le blog du chef de produit:
Architecture (http://blogs.msdn.com/camerons/)
-
Architecture Explorer: une nouvelle fenêtre dans Visual Studio permettant de naviguer dans l’architecture technique d’une solution, projet ou projet d’équipe (dépendances de DLL, d’objets, lignes de codes…).
-
Layer diagram: La possibilité de définir un diagramme représentant les différents couches techniques de votre application, le tout de manière synchronisée avec la structure de la solution et les différentes DLL. Cela permet par exemple d’avoir des règles de validation d’architecture qui lèvent des erreurs si un bout de code ne respecte pas la définition (un objet métier attaque directement la BDD sans passer par la DAL par ex).
-
Use case designer: La possibilité de faire de l’UML dans Visual Studio, de manière bi-directionnelle diagramme / code
-
Activity designer : Idem – Welcome to UML
-
Component diagram : Idem
-
Logical class designer : Idem
-
Sequence diagram : Idem: une démo intéressante consiste à copier coller un bout de code .NET dans ce schéma, le diagramme de séquence se génère automatiquement (pratique pour les fainéants comme moi qui veulent faire un peu de doc pour faire plaisir au chef de projet)
-
Modeling project system : Je ne vois pas ce que c’est, a creuser :)
-
UML Model explorer: Nouvelle fenêtre pour naviguer dans les différents schémas UML
-
Architecture validation during build : Daes tâches MSBuild pour valider que le code écrit respecte la conception modélisée dans les différents diagrammes.
Development & Database (http://blogs.msdn.com/habibh/)
-
Historical debugging : Un nouveau mode de débogage qui permet notamment de remonter à tout moment dans la pile des événements levés
-
Test impact analysis : Un nouveau système qui met en avant la liste des tests unitaires impactés par la modification du code (et devant donc être rejoués très rapidement)
-
Improved code analysis : La possibilité de créer des groupes de règles, plus pratique pour la réutilisation sur plusieurs projets
-
Improved profiling (especially multi-tier) : Le profiling à distance (aujourd’hui, c’est assez délicat de profiler une application Windows qui consomme des WebServices sur un autre serveur) – je n’ ai pas encore testé ceci
-
Database extensibility : Une refonte de la partie DBPro, avec notamment l’arrivée de providers autre que SQL Server
Lab Management (http://blogs.msdn.com/amit_chatterjee, http://blogs.msdn.com/lab_management)
=> Un tout nouvel outil qui va permettre de générer et gérer des environnements virtuels de test! Je click sur un bouton, un environnement est créé, mon application est déployée et mon testeur n’a plus qu’a se connecter en bureau distant dessus.
Test (http://blogs.msdn.com/amit_chatterjee, http://blogs.msdn.com/james_whittaker)
=> Un nouvel outil en WPF (nom de code Camano) dédié aux testeurs fonctionnels (n’ayant pas de Background technique et donc pas Visual Studio d’installé) pour organiser des campagnes de tests, créer des jeux de tests et les exécuter tout en gardant un flux de communication simple (via des Work Items diffusés dans TFS) avec les développeurs.
-
Project quality reports
-
Manual test execution => Camano
-
Diagnostic recording (environment, video, etc) => Possible d’enregistrer automatiquement en vidéo le travail du testeur afin de permettre au développeur de reproduire plus facilement les bugs identifiés
-
UI Automation recording => Tests automatique sur les interfaces graphiques!!! Avec tout ce qu’il faut pour les enregistrer.
-
Coded UI tests => Un Framework pour tester les interfaces graphiques (utilisé par le UI automation recording)
TFS (my blog http://blogs.msdn.com/bharry)
-
Work item hierarchy & linking : La notion de hiérarchie entre les Work Items liés (père – fils / frère – frère / suivant – précédant…)
-
Improved Agile template : Mise à jour des modèles de processus (avec plein de nouveaux champs qui peuvent être utiles et des rapports pertinents)
-
MOSS & WSS Dashboards : L’enrichissement du portail d’équipe avec des tableaux de bords dédiés aux personnes non techniques, basés en grande partie sur Reporting Services
-
Simplified reporting
-
Improved support for parallel development
-
Rollback : Une commande dans l’interface graphique qui permet d’annuler (compenser) un archivage (existait en ligne de commandes avant)
-
Build queuing and pooling : grosse refonte du système de build, avec notamment la possibilité de faire du build distribué (et de modéliser les builds avec Workflow Foundation)
-
Gated checkin : Un nouveau mode d’archivage. Le principe est simple: le développeur archive son code, celui-ci est pris en charge par le service de build qui vérifie qu’il compile, qu’il respecte les différents règles de qualité et que tous les tests passent. Si tout est ok, l’archivage est intégré dans la branche de développement du contrôleur de code source, sinon, le développeur est notifié.
-
Simplified setup: L’installation du produit devient plus simple
-
Scale out of web and data tiers : Load balancing sur le Tier Applicatif (webservices) et support 64 bits!
-
Admin console : Une belle interface d’administration pour gérer le serveur (migration des bases notamment)
-
Project move/archive/restore : La notion de collection de Team Project, qui rend possible et peu contraignant, le changement de serveur d’un sous ensemble de projet d’équipe.
Voila, bientôt, avec la Beta 1 des belles images et détails sur tout ça :)
Bonjour,
J’ai décidé de prendre quelques instants pour traiter de ce sujet assez grave, auquel je viens d’être personnellement confronté. Je vous propose de narrer ici cette anecdote.
Les Microsoft TechDays se sont déroulés en Février dernier au palais des congrès. Etant plutôt occupé à courir de partout dans l’espace exposants et à me concentrer sur mon contenu jusqu’au dernier moment, je n’ai pu assister, à mon grand regret, à aucune session.
Dernièrement, l’annonce de la disponibilité des Webcast m’a réjouit, voyant ici l’opportunité de rattraper mon retard. Me voici donc ce matin en train de sélectionner une conférence parmi les nombreuses intéressantes disponibles (Oslo, Dublin, WF, VSTS 2010, Azure, .NET 4.0, voir même Sharepoint…)
Bref, finalement, ma souris a cliqué sur une session intitulée Coding4Fun… étrange. Celle-ci étant animée par deux personnages un poil connu, un certain Dick L. (*) et un Sacha L. (*)
(*) Les noms des intervenants ont volontairement été modifiés par respect pour leurs familles respectives. En effet, l’indexation google peut faire des graves ravages.
Et me voila parti dans 3/4 d’heures de démonstrations, toutes plus aberrantes les unes que les autres.
Je ne préfère pas en parler ici, au risque de passer pour un quelconque fabulateur ou gâcher le suspens: si vous n’avez pas pu participer à la session, allez voir par vous même :)
En résumé, et sur le contenu, plusieurs choses à dire:
- Merci messieurs, vous avez réussit à rendre joyeux un aller-retour Paris / banlieue
- C’est exactement comme ça que je veux que mon travail soit: entre deux phases sérieuses, du code et du fun, sans limites (et le pire, c’est que, en plus de me marrer, j’ai appris des choses vraiment intéressantes dans cette session)
- Vivement l’année prochaine pour la suite!!!
Concernant le titre de ce post – désolé - c’est juste que, pour animer une session comme ceci et trouver des démonstrations aussi tordues, il faut forcement avoir quelque chose qui ne tourne pas rond ou être sous l’influence d’un ensemble conséquent de stupéfiants (prenons le choix 1 dans ce cas-ci).
Liens:
Have fun (and code) !
Meuuuhhh, Nix? :)
Au moins que cela soit lié au mot-clé “SharePoint” juste au dessous?
*hop*
Une installation de Team Foundation Server peut s’effectuer très rapidement, en quelques heures (en comptant la configuration).
Cependant, ceci n’est possible que si certains pré-requis sont respectés.
Il arrive parfois que le système d’exploitation du serveur ou bien sa base de données soient installés par une personne tierce tel qu’un administrateur système ou un administrateur de base de données.
Si vous ne souhaitez pas perdre de temps à réinstaller ces éléments, quelques règles doivent impérativement être respectées:
- Dans le domaine:
-
Si vous n’avez pas la main sur l’active directory, pensez à faire créer les différents comptes de services requis par TFS par votre administrateur système (30min à plusieurs jours en fonction de l’entreprise). La liste des comptes requis et leurs paramétrages détaillé est consultable dans le guide d’installation (vous pouvez copier / coller la doc pour emailer aux admins).
- Sur le Media d’installation
-
Si vous installez la version 2008 de TFS, pensez, avant de commencer, à ajouter le Service Pack 1 dans le média d’installation, cela vous fera gagner
30min et vous évitera d’oublier d’installer le SP1 (ou de ne pas l’installer au bon moment et donc de devoir le réinstaller). La procédure détaillée est disponible
ici.
- Sur la partie OS:
-
Le Windows utilisé par le tiers applicatif(*) de TFS doit obligatoirement être en 32bits, or, avec Windows 2008, les administrateurs systèmes ont de plus en plus le reflexe 64 bits (qui sera supporté avec TFS 2010). Si ceci n’est pas respecté, tout doit être réinstallé (OS + base): durée 1h30.
-
Le tiers applicatif ne doit pas être contrôleur de domaine, ce qui est souvent le cas dans les petites entreprises qui possèdent un seul serveur et qui sont tentées de tout mettre dessus: AD, TFS et intranet. Sinon, il faut tout réinstaller sur une autre machine (durée 1h30) ou désactiver le contrôleur de domaine (durée au moins 15min mais critique).
(*) TFS peut être installé sur deux serveurs, applicatif (webservices) et données (SQL Server). La majorité des installation se font sur un seul serveur qui doit donc obligatoirement être en 32 bits, mais si l’installation s’effectue sur deux serveurs, le serveur applicatif doit être en 32 bits et le serveur de donnée peut être soit en 32 soit en 64 bits.
- Sur la partie SQL Server:
-
La collation utilisée doit être standard (latin), insensible à la case (CI) et sensible aux accents (AS). Si ces éléments ne sont pas respectés lors de l’installation, la base devra être réinstallée: durée 30min
-
Reporting Services ne doit pas être configuré lors de l’installation de TFS, SQL Server le fait
Bref, si tout ceci est accumulé, on a vite fait de passer de quelques heures à une journée pour installer un simple serveur TFS. Tous ces pré-requis sont détaillés dans la documentation. Ayant fait de nombreuses installations de TFS et connaissant le processus sur le bout des doigts, je continue tout de même encore aujourd’hui à suivre la procédure installation pas à pas pour ne jamais oublier un pré-requis ou une étape de l’installation (et encore, ca m’arrive de gaffer)! Je ne peux que conseiller d’en faire autant. La procédure d’installation détaillée se trouve dans le “TFSInstallationGuide.chm” disponible sur le DVD d’installation du serveur.
Si vous voyez d’autres pré-requis critiques que j’ai oublié, n’hésitez pas à compléter en postant un commentaire.
Le serveur Proxy de Team Foundation sert à optimiser les temps d’accès aux sources gérées par le contrôleur de code source de Team Foundation Server.
Grosso modo, le proxy se comporte comme un système de cache qui va stocker les fichiers extraits du contrôleur de code source sur le système de fichiers du proxy afin de pouvoir les servir plus rapidement lors de la prochaine demande.
Le proxy n’agit qu’à l’extraction des sources (get last version) et jamais à l’archivage (checkin). Ce dernier s’effectue toujours en direct avec le serveur TFS.
- Le développeur 1 demande (get) des sources au serveur Proxy
- Le proxy n’a pas la version des sources souhaitées dans son cache de fichiers, il sert donc d’intermédiaire et interroge le serveur TFS pour les extraire
- Le développeurs 1 reçoit les sources demandées du serveur Proxy
- Le développeur 2 demande les même sources, le serveur Proxy les a déjà dans son cache et les renvoies donc directement
- Les archivages (checkin) se font directement vers le serveur TFS sans passer par le Proxy, le cache proxy des fichiers modifiés sera donc rafraichit lors de la prochaine demande des fichiers modifiés par un autre développeur.
Dans quels cas est ce que l’utilisation du proxy n’est pas vraiment pertinente:
- Si le serveur est sur un site central et que un ou plusieurs développeurs travaillent à distance, mais chacun sur un projet d’équipe ou ensemble de sources différentes. En effet, le proxy est utile pour optimiser les temps d’extraction. Un développeur travaillant seul sur un projet à distance aura forcement toujours les dernières sources sur son poste de travail, vu qu’il travaille dessus. Le proxy n’a donc pas d’intérêt et n’optimise rien si les développeurs ne sont pas sur le même site et/ou ne travaillent jamais sur les même sources.
Dans quels cas est ce que l’utilisation du proxy est pertinente:
- Si plusieurs développeurs distants travaillent sur un même projet ou ensembles de sources. Car dans ce cas, le premier développeur à demander les sources du serveur central disposera celle-ci sur le serveur proxy intermédiaire. Les autres développeurs, lors de la demande des même sources, viendront directement se servir dans le cache du proxy (voir premier schéma), ce qui sera toujours plus rapide que si ils avaient à se servir sur le serveur central.
- Si un développeur ou un service doit effectuer des extractions similaires de manière fréquentes. C’est le cas par exemple du service de build qui à chaque compilation télécharge la dernière version des sources dans un nouveau répertoire pour les compiler. Il y’a souvent beaucoup de code commun entre deux builds (surtout lorsque l’on est en intégration continue), le temps d’accès aux sources peut donc être considérablement réduit et le temps du process de build complet optimisé en installation le service de proxy sur le même serveur que le service de build.
Physiquement, le proxy se présente sous la forme d’un ensemble de services Web (IIS) ayant la même signature que ceux de communication avec le contrôleur de code source proposés par Team Foundation Server ainsi que d’un espace de stockage de fichiers. Le service de Proxy s’installe directement depuis le DVD de Team Foundation Server.
Pour le configurer une fois installé, il faut modifier le contenu du fichier proxy.config situé dans son répertoire d’installation, sous répertoire: Web Services\VersionControlProxy. Il y est possible de spécifier la liste et les URL des serveurs Team Foundation Server ciblés ainsi que les comptes utilisateurs et droits nécessaires pour s’y authentifier, mais également les paramètres de gestion de cache tels que le chemin local de stockage des données ou la durée de conservation de celles-ci.
A noter qu’un serveur TFS peut posséder autant de services proxy que requis, aucune configuration n’est à faire sur le serveur ciblé, tout se passe sur les proxy.
Pour activer l’utilisation d’un proxy dans Visual Studio, cela se passe directement dans la fenêtre de configuration ci-dessous, accessible depuis les menus Outils / Options, onglet Source Control / Visual Studio Team Foundation Server :
A noter que si le serveur proxy ne répond pas aux demandes de Visual Studio, celui-ci est automatiquement désactivé afin que les appels se fassent directement vers le serveur Team Foundation Server.
Pour la doc détaillée MSDN de présentation et configuration du serveur Proxy, cela se passe par ici: http://msdn.microsoft.com/fr-fr/library/ms252490(VS.80).aspx
Et voila!
PS: Si vous voulez que je traite et détaille des sujets particuliers autour de Visual Studio Team System, n’hésitez pas à laisser un commentaire!
PS2: Non Nix, je n’expliquerai pas comment installer TFS 2008 SP1 sur une machine x64 :)
Je viens à l’instant de découvrir Microsoft Tag. Je n’ai bien sur pas pu m’empêcher de jouer un peu avec ce truc et le tester pour le présenter ici.
Avec MS Tag, Microsoft propose à n’importe quel utilisateur enregistré de générer sur une interface web d’administration des Tag graphiques, uniques, lisibles par un téléphone mobile et liés à des actions, elles aussi utiles dans le monde de la mobilité.
Phase I: Administration et création de tag
Au niveau du test, voici ce que cela donne:
- Première étape, une navigation vers l’URL http://tag.microsoft.com permet de créer un compte Microsoft Tag à partir d’un compte live. L’inscription se fait vraiment en un click et n’est utile que pour les personnes désirant proposer des tags (nul besoin de compte pour la lecture)
- Une fois identifié, la page suivante permet de créer des nouveaux tags ou d’en gérer des existants.
- La création de tag est assez simple, avec plus au moins d’informations à saisir en fonction du type d’action souhaitée lors de sa lecture. Quatre catégories sont disponibles:
- URL pour que le scan du tag redirige sur une adresse “HTTP” (compatible navigateur web de téléphone mobile de préférence, vu que c’est la cible)
- Un texte libre à afficher sur l’écran du téléphone lors de la lecture
- Une VCard (pour stocker les informations de messagerie, pratique par exemple pour un tag imprimé sur une carte de visite)
- ou un simple numéro de téléphone qui pourra être appelé directement après avoir scanné le tag.
- Il est également possible de spécifier une “durée de vie” à un tag, par exemple pour son utilisation lors d’une campagne marketing.
- Une fois le tag créé et sauvegardé, celui-ci apparait dans la liste générale. Il est maintenant temps de le sélectionner et de cliquer sur son bouton “render” pour récupérer son rendu graphique:
- Plusieurs options de génération sont disponibles, libre à vous de sélectionner la plus adaptée en fonction de son usage (par exemple, à titre personnel, j’utilise la version “With Helper & Download Instructions” en signature de mes emails Pro, celle-ci redirige sur ma VCard pro).
Phase II: Diffusion et exploitation
Il ne reste plus qu’a diffuser le tag aux endroits ou il sera capturé:
- Cartes de visites
- Affiches
- Pages de presse
- …
- mais également sur des sites Internet. Le logiciel de capture est capable sans aucun soucis de lire un tag sur un écran d’ordinateur depuis un téléphone, vous pouvez donc scanner le tag affiché en fin de ce blog sans imprimer ce post (il est pas “Green IT” mon post :) ??!!)
La lecture du tag se fait via l’appareil photo d’un téléphone mobile, au travers d’un logiciel spécifique.
Pour l’installer:
- Connectez vous depuis votre téléphone sur le site http://gettag.mobi
- Sélectionnez la version du logiciel à télécharger en fonction de votre type de mobile parmi ceux supportés (Windows Mobile dans mon cas):
- Démarrez le logiciel, visez, capturez… le logiciel fait le reste et redirige en fin de chaine vers les bonnes données (exemple ici, une VCard)!:
Phase III: Le concours de l’année
Pour vous donner une bonne raison de tester Microsoft Tag, voici ci-dessous un tag qui redirige sur une VCard qui contient une adresse Email que je viens de créer.
J’offre une photo dédicacée de Thomas Lebrun (oui, oui, l’expert WCF!) à la première personne qui scan le tag et qui m’envoie à l’adresse email stockée derrière ses coordonnées postales.
Bon SCAN!
Après avoir configuré ma carte de développement, me voila parti dans Visual Studio pour effectuer ma première application de test (et déployer celle-ci bien sur!).
Alors sont installés pour ceci sur ma machine:
- Visual Studio Team Suite2008 (bon, la c’est un peu une Ferrari pour rouler sur le periph en heure de pointe, un Visual Studio C# Express aurait été suffisant…)
- Le .NET Microframework 3.0
- Le SDK 3.0 RC de GHI (pour ma carte)
Première étape: créer un projet
- Un petit coup de Visual Studio, nouveau projet, et la sélection du modèle de projet .NET Framework fait le travail, disons en application console pour cet exemple.
- Le projet est créé, comme tout projet .NET, avec juste une référence particulière sur “Microsoft.SPOT.Native” qui référence les objets particuliers au MicroFramework.
- Me voila prêt à écrire mon Hello World, et vu que l’on est dans le monde .NET, cela sera directement en C#, donc rien de non familier sur le coup vu que je peux utiliser les classes habituelles du Framework (pas toutes, mais j’y reviendrai dans un autre post). Le fichier “Program.cs” sert de point d’entrée comme dans toute application console.
- La méthode statique “Debug.Print” permet d’écrire sur la sortie de debug qui sera suffisante dans un premier temps pour tester que tout fonctionne.
- Une petite compilation + exécution (ctrl + F5), l’émulateur standard à Visual Studio (que je n’utiliserai plus, préférant l’émulateur fourni par le fabriquant de ma carte) se lance et mon Hello World apparait dans l’Output de Visual Studio: tout fonctionne!
- C’est bien, mais c’est pas top (et pas très visuel), il est maintenant temps d’exécuter ce code directement sur ma carte de développement. Pour ceci, un petit tour dans les propriétés du projet, dans l’onglet .NET MicroFramework, pour demander à celui-ci d’utiliser mon port COM émulé (qui passe sur USB) pour déployer et tester sur ma carte plutôt que sur l’émulateur.
- Un petit peu de modification dans le code pour afficher le texte sur l’écran de ma carte (l’output du debug restant dans Visual Studio) en référençant la librairie graphique du MF.
- Il ne reste plus qu’a exécuter le tout, en mode debug ou non pour que Visual Studio se charge de déployer le programme sur la carte et de l’exécuter.
Et voila!
Prochain post: je fais briller une led quand je presse le bouton “haut” et je joue la carioca avec le buzzer de la carte quand je presse le bouton “bas” :P
Heeuu, ouai, bon, un post qui change de mes habitudes la mais bon, on est le week end :)
Il y’a 1/1 000 000 chances que ce post intéresse quelqu’un, mais vu que j’explore des contrées jusqu’à alors inconnues pour moi, je préfère partager (au pire, cela me resservira :) ).
Bref, j’ai récupéré lors de mon récent passage à Seattle, un livre et un kit de développement pour le Micro Framework (merci Benjamin et Jonathan Kagle de l’équipe Micro Framework).
Il s’agit de l’Embedded Master V2 produit par GHI Electronics.
Le problème est que celui-ci est livré et n’est compatible qu’avec le Micro Framework 2.5, hors, vu que le 3.0 est sorti en Octobre dernier et qu’il fonctionne avec VS 2008, j’ai plutôt envie de tester celui-ci :)
Me voila donc lancé dans une quête dans le monde des devices électroniques pour mettre à jour le Firmware de ma carte et la rendre compatible avec les dernières innovations.
Pré-requis
Après avoir installé le Micro Framework 3.0, je télécharge sur le site du constructeur de ma carte la version RC de son derniers SDK qui contient sa documentation, un émulateur, des assemblies, des exemples de code, le firmware (qui m’intéresse dans un premier temps) et des drivers. Je télécharge également sur le site l’outil Tera Term qui me permettra d’envoyer des instructions à ma carte depuis Windows Vista.
Dans le répertoire d’installation du SDK GHI, j’installe le driver de communication Windows / carte ("C:\Program Files\GHI Electronics\Embedded Master SDK 3\VCOM\CDM 2.04.06.exe"). Celui-ci est la pour émuler un port COM que j’attaquerai via USB.
Me voila maintenant prêt à relier celle-ci à mon PC via le cable USB fourni afin de l’alimenter et de communiquer.
Un dernier petit point de configuration au niveau de Term Term, dans le menu Setup / Serial Port, je configure le “Baud rate” du port utilisé sur 115200
Il me faut ensuite redémarrer la carte en mode communication sur COM, ceci s’effectue en maintenant les boutons bas et milieu appuyés tout en pressant le bouton Reset.
Mise à jour
La mise à jour s’effectue en deux étapes, d’abord le Firmware, initialement en ver 01.06.002 pour moi.
Un reset de la carte en tenant appuyer les boutons bas, milieu et haut permet d’accéder au boot loader.
Sur Tera Term, la signe “BL” apparait. Il suffit de presser “E” pour effacer le contenu de la mémoire de la carte et “Y” pour confirmer, “BL” apparait de nouveau.
En envoyant l’instruction “X”, la carte se met en attente de réception de données et répond en envoyant en continu des caractères “C”. C’est le moment de charger le TinyBooter à l’aide de l’utilitaire de transfert de fichier XMODEM.
Le fichier TinyBooter.GHI se trouve dans le répertoire “C:\Program Files\GHI Electronics\Embedded Master SDK 3\Embedded Master\Firmware\TinyBooter”. Attention au moment de sa sélection de bien cocher l’option “1K” sous peine d’erreur de transfert.
Maintenant que la carte démarre avec la bonne version du Firmware (09.09.000), il est temps de mettre à jour la TinyCLR.
Pour préparer la carte à la recevoir, il faut maintenir les boutons “haut” et “bas” en même temps et appuyer sur le bouton “Reset”. Il faut ensuite démarrer l’outil MFDeploy disponible dans le répertoire d’installation du Micro Framework ("C:\Program Files\Microsoft .NET Micro Framework\v3.0\Tools\MFDeploy.exe").
Sur la carte: Bas + Haut + Reset puis Bas + Milieu + Haut + Reset pour que la communication fonctionne depuis MFDeploy. Surtout, pensez bien à fermer Tera Term avant pour pas que celui-ci monopolise le port et bloque MFDeploy.
L’utilisation du bouton “Browse” permet ensuite de sélectionner les quatre fichiers HEX nécessaires dans le répertoire “C:\Program Files\GHI Electronics\Embedded Master SDK 3\Embedded Master\Firmware” et le bouton “Deploy” de les déployer sur la carte.

Tout est prêt!
Le Firmware et les fichiers nécessaires au fonctionnement du .NET Micro Framework sont maintenant en place, la carte peut booter et exécuter du code écrit en .NET.
Maintenant, il ne reste plus qu’a développer… à suivre :)
Suite:
http://blogs.codes-sources.com/azra/archive/2009/03/10/hello-net-microframework-world.aspx
Anciennement appelés Power Toys (en version 2005) avant d’être rebaptisés Power Tools, il s’agit d’un ensemble d’outils additionnels qui apparaissent pour combler des manques de Team Foundation Server / Team Explorer.
Les manques sont de deux catégories:
- Une fonctionnalité importante est régulièrement remontée par les utilisateurs (ex: une règle d’archivage qui force la saisie d’un commentaire ou encore la manipulation des sources en mode explorateur windows)
- Une fonctionnalité intéressante est apparue dans un produit conçurent (ex: la messagerie instantanée qui a fait son apparition dans Jazz)
Les Power Tools sont disponibles sur des cycles plus court que les versions ou services packs de Team Foundation Server, avec une release tous les 3 à 6 mois. Leur objectif est de venir combler le plus rapidement possible le manque de la fonctionnalité et d’être intégrés dans la version ou service pack suivante du produit (par exemple, la fonction Annotate disponible dans nativement dans TFS 2008 a initialement été disponible dans les Power Tools).
Résultat de la commande annotate
Ils sont disponibles en téléchargement gratuit et versionnés en fonction de leur date de release (la version actuelle est la release d’Octobre 2008).
Ils ne sont téléchargeables qu’en version Anglaise, ne sont jamais localisés (sauf quand ils viennent intégrer le produit final bien sur) mais s’intègrent en principe sans problèmes sur les versions Françaises des produits.
Il s’agit vraiment de plusieurs outils différents, mais tous packagés dans un seul programme d’installation.
La liste actuelle des Power Tools disponibles, non intégrés nativement dans le produit, est aujourd’hui la suivante:
- TFTP.exe: un ensemble de 17 fonctionnalités en ligne de commandes qui comblent quelques manques de TF.exe (l’outil natif à TFS), tels que le CreateTeamProject (depuis le SP1 de 2008), Rollback sur les sources, Annotate, Review, History (avancé, avec parcours des branches), DestroyWI et DestroyWITD (pour détruire physiquement un WI ou une définition).
- Build notification: Un outil qui se positionne en tray icone et notifie sous forme de popup la réussite ou l’echec des builds souhaitées
- Process Template Editor: Un outil intégré dans Visual Studio qui permet de modifier graphiquement les modèles de processus et les définitions des éléments de travail
- Check-in Policy Pack: un ensembles de règles d’archivages complémentaires
- Team Foundation Server Best Pracatices Analyse: Un outil utile pour les administrateurs qui sonde le serveur TFS et diagnostique son état de santé. Très pratique également avant une migration de serveur de 2005 vers 2008.
- Work Item Templates: La possibilité de faire des masques de saisies pour éviter de toujours ressaisir les mêmes valeurs dans les éléments de travail (Fissum propose également cette fonctionnalité)
- TFS Server Manager: Un outil pour analyser le serveur TFS en temps réél (nombre de requêtes simultanées, uptime, volume utilisé, alertes de fonctionnement…)
- TFS Users: Une commande qui permet de renommer un utilisateur sans impact négatif dans le fonctionnement de TFS (ex, si l’utilisateur à des tâches assignées, il les retrouvera)
- Alert Editor: Une fenêtre très complète pour créer ses propres alertes personnalisées (la fenêtre de base de TFS ne propose que 4 alertes, ici les possibilités sont illimitées grâces à des filtres)
- Team Members: Permet d’ajouter la messagerie instantanée entre les membres de l’équipe directement dans l’explorateur d’équipes, en se basant sur un provider IM déjà en place (Messenger, Communicator…)
- Windows Shell Extension: Permet de manipuler le contrôleur de code source directement depuis le shell windows (check in / checkout… dans le menu contextuel)
- PowerShell Support: Ensembles de commandes PowerShell pour manipuler les sources
Je conseille fortement de se tenir au courant des nouvelles versions et de toujours déployer la dernière sur vos postes de développement, car l’ajout de fonctionnalités apporté est très intéressant. Personnellement, j’utilise régulièrement chacun de ces outils et j’ai un petit faible pour l’intégration du contrôleur de code source en mode shell windows.
La page des PowerTools pour télécharger la dernière version / consulter la liste: http://msdn.microsoft.com/en-us/teamsystem/bb980963.aspx
Bonne utilisation :)
Les 10 derniers blogs postés
-
Comment mapper une vue SQL sur une collection de complex type? par
Matthieu MEZIL le il y a 14 heures et 39 minutes
-
SQL Server : Query Notification ou comment être notifié de modifications de données côté application (SqlDependency) par
SQL Server vu par Christian Robert le il y a 20 heures et 39 minutes
-
[WF4] Un Binding Activity/ActivityDesigner qui passe mal? par
Blog de Jérémy Jeanson le il y a 22 heures et 2 minutes
-
MyTIC – SharePoint 2010 : déjà un mythe Microsoft ? par
Le Blog (Vert) d'Arnaud JUND le 03-19-2010, 08:54
-
TechDays 2010 Genève : Retrouvez-moi pour une session sur la Haute disponibilité et le ScaleOut avec SQL Server par
SQL Server vu par Christian Robert le 03-18-2010, 15:45
-
[MIX10] Keynote deuxième journée – Internet Explorer 9, Html5, Visual Studio 2010, OData par
Atteint de JavaScriptite Aiguë [Cyril Durand] le 03-17-2010, 19:40
-
Certifications beta .NET 4 par
Kévin Gosse le 03-17-2010, 19:33
-
[Mix 2010] – Microsoft Translator Technology Preview V2 par
RedoBlog - The .NET Gentleman !!! le 03-17-2010, 18:53
-
Lancement en Preview de Cyclone lors des TechDays 2010! par
Blog de Frédéric Queudret le 03-17-2010, 16:30
-
[WP7] Je ne veux pas d’un nouvel iPhone par
Le blog de FremyCompany le 03-17-2010, 13:11