Dot.Blog

C#, XAML, Xamarin, UWP/Android/iOS

Un utilitaire sympathique (code snippet designer)

Les codes snippets de Visual Studio sont très pratiques et permettent d'automatiser l'écriture de structures de code répétitives tout en étant paramétriques.

Toutefois la conception de snippets n'est franchement assistée, alors que VS est un monstre de trucs, bidules et wizards en tout genre. Il y avait donc largement matière à combler le manque...

Il existe maintenant une solution simple et gratuite "snippet designer".

Il s'agit d'un projet CodePlex que vous trouver sur la page SnippetDesigner.

En deux coups de cuiller à pot* vous pourrez exporter un bout de code pour créer un snippet et accéder au designer de l'add-in. Pratique et simple comme j'aime...

image

(*) J'aime bien cette expression "deux coups de cuiller à pot", je ne sais pas pourquoi, elle m'amuse. Mais pour éléver le débat sachez que son origine, bien que toujours discutée, remontrait au début du 20eme siècle, dans le milieu militaire ou carcéral, la cuiller à pot étant en fait une louche permettant de servir très rapidement la pitance aux tablées de militaires ou de prisonniers. Vitesse et simplicité, sans chichi, "en deux coups de cuiller à pot" résume tout cela. Je préfère manger des sushi avec des baguettes qu'un rata servi à la louche, mais j'aime bien l'expression. Et vous aurez appris quelque chose de facile à placer dans un repas pour faire érudit ;-)

Stay Tuned !

Déménagement

Déménager est toujours une aventure ! Surtout quand ça ne se goupille pas comme prévu !

Il faut dire qu'il est très difficile d'être au champ et au code... Toujours en vadrouille de ci de là en clientèle, pas évident de sélectionner des annonces et de visiter.

Bref je me retrouve un peu short. En informatique on a l'habitude d'exploser les délais vous me direz, mais c'est quelque chose que j'arrive à éviter personnellement pour le grand bonheur de mes clients. De l'expérience dans les estimations, de la prudence dans les délais promis, et depuis que je gère ma propre société je n'ai plus à me plier au stress des trucs "à livrer pour hier" vendus par des commerciaux sans aucune autre connaissance des réalités que leur prime mensuelle et l'épaisseur de leur carnet de commande, peu importe si ce qui est vendu est réaliste ou pas.

Etant à l'abri de ces zigotos en costard-cravatte-BMW qu'on appelle les commerciaux, il est vrai que j'exerce plutôt dans la sérinité, pour mon bien et celui de mes clients. Pour être juste j'ajouterai que certains commerciaux sont de merveilleux auxiliaires dans une entreprise et qu'ils fournissent un travail essentiel et intelligent. Ceux là sont précieux, comme tout ce qui est rare... Mais sinon, le cliché du commercial "jean claude Convenant" de Caméra Café est assez bien vu...

Tout cela pour dire que sérénité et expérience, certes, mais pour mes clients avant tout. A l'instar des cordonniers qui seraient les plus mal chaussés, les informaticiens seraient-il "les plus mal organisés" ? J'en ai vu ! Dans mon cas il s'agit du temps. Ce temps cruel qui coule et qui limite les journées à 24h. N'ayant pas trouvé le moyen d'être à Paris en même temps qu'à Toulouse, en train de développer dans mon bureau en même temps que faire un audit chez un client, forcément il faut faire des impasses, comme un étudiant un peu charette avant un examen...

Il ressort de tout ça que la semaine prochaine je déménage, ou plus exactement, le déménageur vient vider la maison. Il y a une nuance. Dans le premier cas, on sait où on va, dans le second cas c'est plus flou :-)

Je vais ainsi monter en région en parisienne pour trouver une maison, plutôt secteur campagne, pas trop de près de paris mais pas trop loin non plus.

Durant quelques semaines à venir je serai donc dans le no-man's land entre ici et ailleurs, avec deux portables et clés 3G pour rester dans la boucle et continuer les business en cours. Maintenir le blog ne sera pas forcément facile durant cette période, mais il y aura quand même des news ! Le magasin reste ouvert durant les travaux !

Yoda surveille les cartons, il n'y aura pas de souris voyageuse clandestine :-)

Bon si vous avez vent d'une maison de type 4 pièces avec jardin dans un périmètre de 50/80 km autour de Paris, dans un bled avec ADSL, et à un prix intéressant (donc le plus bas possible ;-) ) n'hésitez pas à me laisser un message par le biais de la rubrique "me contacter" (en haut dans les menus du blog) !
A bientôt pour des news plus techniques !
Et Stay Tuned !

Prism v2 (guidance and patterns for WPF and Silverlight)

Construire des applications modulaires offre de nombreux avantages : maintenabilité et évolutivité sont les premières qui viennent à l'esprit mais il en existe d'autres comme la meilleure séparation des tâches (travail parallèle d'équipes de développement sur des modules différents) par exemple.

Créer une architecture assurant la modularité d'une application n'est pas chose aisée. Bricoler "sa" solution dans "son" coin donne l'impression de gagner du temps (pas besoin d'apprendre un framework existant) mais montre souvent ses limites et ce, au pire moment, c'est à dire trop tard...

Microsoft ne fait pas que du soft pour micro... Depuis l'avènement de .NET il faut saluer les efforts importants qui sont fournis par MS pour fournir aussi de la matière grise. Labos de recherche, groupes de travail très indépendants, cette nouvelle orientation du management des équipes à permis l'éclosion d'un tas de bonnes idées. Tout ce travail est gracieusement délivré aux communautés de développeurs qui se donnent la peine de s'y intéresser...

Qui plus est, il ne s'agit pas d'élucubrations fumeuses. Les guides de bonnes pratiques, les conseils méthodologiques sont malgré tout le fruit d'un énorme travail collaboratif "au sommet" avec aux commandes des gens comme JD Meier, qui ne sont pas petites pointures !

Pour en revenir aux applications modulaires, il est essentiel de prendre connaissance de la V2 de PRISM, un recueil de codes, de documentations et de bonnes pratiques d'une qualité exceptionnelle.

Prism V2 c'est :

  • Une librairie pour la création d'applications composites
  • Une application de référence comme modèle d'implémentation (gestion de porte feuille boursier)
  • 9 "quick start" pour entrer dans le vif du sujet rapidement
  • 26 "how-to's" pour se former efficacement
  • Une documentation à la fois claire et riche

Prism supporte les applications WPF et Silverlight dans une même logique permettant de partager encore plus de code entre les deux types d'application.

Bref, je vous invite à vous pencher très sérieusement sur Prism si vous ne connaissez pas, pour tout projet d'une certaine envergure cela vous fera gagner beaucoup de temps, de productivité et le tout dans un cadre validé ne risquant pas de vous envoyer au mur.

Télécharger les éléments de Prism v2

Le site de Prism sur CodePlex

Bonne lecture !

Les guides de bonnes pratiques

MED-V ou la virtualisation transparente

MED-V, sigle de "Microsoft Enterprise Desktop Virtualization", est une avancée très importante dans la direction du tout virtualisé.

Les mauvaises langues ici et là parlent de "médicament pour Vista", c'est dire s'ils n'ont rien compris à la fantastique avancée que représente MED-V, coincés qu'ils sont toujours dans leur "anti vista primaire". D'abord Vista n'est plus la priorité de Microsoft, on sait même que Seven devrait être dispo avant la fin de l'année 2009. Ensuite le problème qui est résolu n'est en rien lié à Vista, MED-V est une solution intelligente à un problème récurrent : l'incompatibilité de certains logiciels lorsqu'un nouvel OS fait son apparition.

Donc MED-V c'est une couche virtuelle qui fonctionne sur Vista et sur Seven, couche construire sur la base de Virtual PC. Ce que MED-V apporte par rapport à Virtual PC c'est la transparence : un logiciel Windows 2000 ou XP, voire même MS-DOS, géré par MED-V apparait tout simplement comme n'importe quel autre logiciel dans les menus de lancement, la machine virtuelle correspondante est invisible. On clique sur le logiciel et il est lancé dans sa fenêtre sans aucune autre manip ni aucun autre affichage, comme tous les autres logiciels du menu démarrer. On ne voit pas que ce logiciel a en réalité été chargé depuis une machine virtuelle utilisant un autre OS et on ne voit rien de ce dernier. Le tout est paramétrable et déployable par les administrateurs de réseau dans les entreprises, donc transparence aussi de l'installation sur les postes utilisateurs.

Il devient ainsi possible d'utiliser des logiciels XP ou plus anciens sur Vista et Seven de façon totalement transparente et sans incompatibilité. MED-V est une réponse durable à un problème qui existe et qui existera de tout temps : l'obsolescence de certains logiciels face l'épreuve du temps et des changements intervenus dans les nouveaux OS.

MED-V ne comble pas un "problème de compatibilité de Vista", il offre au contraire un solution nouvelle pour palier le manque de mise à jour des logiciels qui ne savent pas s'adapter aux nouveaux OS. Si MED-V règle un problème c'est donc bien plus celui la fiabilité approximative de certains éditeurs de logiciel que de Vista ou de Seven... Ne soyons pas trop injuste non plus, la fiabilité des éditeurs de logiciel n'est pas toujours en cause, l'obstination de certains utilisateurs ou de certaines entreprises à vouloir 10 ans après continuer à utiliser certains soft jamais réécrits est aussi l'une des raisons d'exister de MED-V.

Donc, grâce à MED-V, il sera possible d'utiliser dans une machine virtuelle correctement paramétrée des vieux logiciels inadaptés aux OS en cours, et ce de façon transparente.

Vous pouvez télécharger la version 1 pour l'essayer, la finale devrait sortir avant la fin de l'année. Toutefois on ne sait pas encore trop quelle sera la politique de distribution. Il semblerait (au conditionel) que MED-V ne sera accessible qu'aux entreprises ayant un contrat Software Assurance. Il me semble qu'une idée de ce genre ne devrait pas rester longtemps limitée à un tel cadre, je ne vois pas l'intérêt pour Microsoft d'empêcher les particuliers notamment de disposer de cette fonctionnalité. A suivre donc...

Virtuellement vôtre !

PEX : Tests unitaires intelligents pour VS 2008/2010

PEX est un produit des laboratoires de recherche de Microsoft. Vous allez me dire "encore un 'truc' pour faire du testing !" et je vous répondrai que si on avait déjà atteint la perfection ça se saurait et que donc, par force, il y a encore largement matière à recherche et à nouveaux produits en la matière !

Et PEX apporte beaucoup de nouvelles choses qui vont dans le sens de l'histoire, c'est à dire des tests unitaires plus faciles à intégrer au code, plus complets, plus dynamiques et surtout plus "intelligents".

PEX offre ainsi une façon de travailler plus moderne en apportant une aide précieuse à la création de tests. Mieux, PEX utilise un Add-In pour VS 2008 et 2010 qui sur un simple clic droit permet de générer des tables pour tester une méthode. Par exemple, vous avez une méthode qui capitalise une chaîne passée en paramètre et qui retourne le résultat. Un clic droit dans le corps de la méthode et un appel à PEX et ce dernier génère des valeurs pour tester la méthode. Un null passé en paramètre par exemple... Ensuite il va dérouler les appels à la méthode avec les conditions générées et établir un rapport.

Mieux, à partir des conditions de test établies (modifiables) PEX peut générer une "vraie" méthode de test pour retrouver l'esprit plus habituel des projets de tests unitaires (on peut ainsi dérouler ultérieurement les mêmes tests pour contrôler l'éventuelle régression d'un code). Mais cela n'est pas obligatoire, on peut juste utiliser PEX "à la volée".

Plus fort et sans les mains, face à certaines conditions d'erreur, par exemple le passage d'un null en paramètre évoqué plus haut, PEX peut vous proposer de fixer le code. Dans un tel cas il ajoutera le code nécessaire (ici une exception de type ArgementNullException si la chaîne passée en paramètre est null) !

PEX est un travail en cours, comme tout ce qui émane des laboratoires de recherche de Microsoft. Il montre l'une des directions étudiées par Microsoft pour améliorer les tests unitaires dans de futures versions de Visual Studio. l'avantage est bien entendu qu'il ne s'agit pas d'une démo, mais d'un produit très efficace d'ores et déjà utilisable.

Le mieux c'est de de vous rendre sur le site de PEX, lire les PDF, télécharger le produit, voir les vidéos et tout ça...

Bon Debug

Et Stay Tuned !

Cartes de Références XP et Vista (quick reference cards)

Se souvenir de tous les raccourcis claviers, de toutes les commandes n'est pas toujours simple. On connaît par coeur ceux et celles qu'on utilise tous les jours, mais parfois on passe à côté d'autres commandes bien pratiques. Que dire des "non informations", cette espèce curieuse et nombreuse de gens qui n'ont jamais possédé une horloge binaire et qui refuseraient de croire que 1+1=10 ?

Pour tout le monde, des hackers fous, mais qui ne savent pas tout, aux débutants, voici les Quick Reference Cards pour XP et Vista. En deux pages, l'essentiel des commandes principales. Pratique. En anglais, of course...

Windows Vista Quick Reference CardWindows XP quick reference card

cliquez sur une page (XP ou Vista) pour télécharger la carte !

I'm a PC, et j'ai 4 ans et demi (une future actrice se revèle à nous ?)

Kylie est en train de faire craquer la planète...

Vous connaissez peut-être le slogan "I'm a PC" lancé aux US par Microsoft pour contrer une série de pub signée Apple qui dénigrait salement les utilisateurs de PC. Les plus anglophobes d'entre vous ne connaissent certainement pas, et vous loupez quelque chose !

Dans cette guerre sans merci, Microsoft vient de sortir l'artillerie lourde, le truc qui vous fait regarder plusieurs fois de suite le spot tellement l'actrice qui le joue est sublime. Bon, Kylie n'a que 4 ans et demi. Mais ce bout de choux au charme asiatique est hyper craquant. Une petite poupée adorable s'exprimant d'une façon claire avec un accent international compréhensible (qu'on aimerait retrouver chez beaucoup d'américains adultes ! ;-) ).

Bref, faites-vous plaisir, surtout si vous êtes papa (ou maman, pas de sexisme sur Dot.Blog !), ça vous fera fondre, j'en suis certain !

Kylie dans "I'm a PC and I'm 4 1/2"

 

Silverlight enfin sur Linux ! (Moonlight 1.0)

Silverlight avance à pas tranquille pour conquérir le monde... Les bruits que fait courrir Adobe sur la "stagnation" du projet ne sont que la preuve éclatante que la peur a changé de camp ! A défaut de mettre en face de Silverlight un Flash ou un Flex aussi performant, ils en sont réduits, les pauvres, à faire de l'intox.

Comme je suis triste pour eux, avoir été les grand manitou du plugin RIA pendant si longtemps et avoir végété en ne sachant pas voir qu'un vrai environnement de RIA ce n'est pas seulement des animations ou du graphismes mais c'est surtout et peut-être avant tout un framework de développement solide. Grave erreur ! Et là, sûrs de leur "avance", ils ont pour le moins négligé cet aspect essentiel.

Silverlight arrive avec tous les atouts d'un excellent plugin pour faire du RIA, mais il ne vient pas les mains dans les poches juste avec quelques timelines à se mettre sous la dent, non, Silverlight arrive avec derrière lui une bande copains musclés : tout le Framework .NET !
Je comprends que Adobe se fasse du souci. Autant sur le plan graphique ils pouvaient lutter, autant là ils sont débordés sur l'aile la moins protégée : le langage et le Framework. Jamais Adobe ne sera en mesure d'offrir un Framework à la hauteur de .NET. C'est une évidence. Alors qu'on sait que MS sera toujours en mesure d'égaler, voire de dépasser, Adobe sur l'aspect graphique (c'est une question de moyen, d'engager les bonnes personnes et MS sait faire). Silverlight 3 qui viendra cette année ajoutera l'accélération matériel video et la 3D, et ce n'est pas fini. La preuve est donc là. A quand un Framework comme .NET côté Adobe ? Sur ce plan ils ont perdu la bataille avant même qu'elle ne commence vraiment...

Tout ça pour vous dire que Silverlight continue sa progression. Et si la version 3.0 que j'évoque plus haut apportera encore plus de richesse, tant sur PC que sur Mac, il ne faudrait pas oublier l'équipe MONO qui fait un travail ahurissant !

Franchement moi ils me bluffent les gars de MONO. Ils ont du retard sur ce que livre MS, normal, mais leur retard n'est pas si grand que ça ! Il est certes plus facile d'imiter que de créer, mais malgré tout le travail qu'ils fournissent est fantastique !

Ainsi la version 1 de MOOLIGHT est disponible pour toutes les grandes distribs : OpenSuse 11, Fedora Core 9, Suse...

Cette release est au niveau de Silverlight 1.0. Quant à Moolight 2.0, elle est prévue en alpha pour 18 mars, en bêta pour la mi mai et en finale pour septembre (voir la roadmap Moonlight).

Lien : télécharger le plugin Moonlight (Linux)

Bien entendu, Moonlight est et sera compatible avec les applications Silverlight !

Du vrai développement cross-plateforme, PC, Mac et Linux, programmable avec un vrai langage et un vrai Framework, cela fait bien 20 ou 30 ans qu'on l'espère en informatique. Aujourd'hui ce rêve se réalise. Moi qui suis malgré tout un ancien dans cette profession où tout ce qui a plus de 6 mois est "vieux" (snif!) et qui ai connu la lente évolution de notre métier depuis les premiers ordinateurs 8 bits à aujourd'hui, franchement j'en verserais une larme ! :-) Les plus jeunes ne mesureront peut-être pas l'importance de cette release 1.0 de Moonlight, pourtant, sa porté est immense, le symbole qu'elle porte c'est celui de l'unification des moyens de développement sans distinction de plateforme technique. Une révolution.

(Frrrrrrrrtttt ! merci pour le kleenex.)

Et Stay Tuned !

 

Techdays 2009, Le grand rush !

Les Techdays 2009, ce temple des annonces, cette grand'messe de la technologie, que dis-je, ce rendez-vous INCONTOURNABLE à la gloire de notre passion commune et de nous outils préférés, et bien les Techdays 2009 ont commencé depuis hier !

Plein de nouveautés et d'annonces croustillantes et plein de choses à voir et de conférences à entendre !

... bon... seulement voilà, j'aurai bien voulu vous en dire plus mais, hélas, mes obligations professionnelles m'ont interdites d'être sur Paris cette semaine :-( Du coup, et pour la première fois, ce n'est pas moi qui vais vous donner des informations toutes fraiches et exaltantes (même si je suis ce qui se trame de loin !), mais c'est à vous, qui êtes aux Techdays ou qui en revenez, de bien vouloir me tenir au courant, moi et les autres lecteurs de Dot.Blog bien entendu ! :-)

N'hésitez pas à laisser en commentaire ici ce qui vous a le plus marqué, ce que vous avez le plus aimé !

We need you ! Engagez-vous, rengagez-vous et commentez !

... et bonne balade aux Techdays !

Astuce du jour : chercher des ebook avec google

Légal / pas légal, that is the question... Sur le Web on trouve de tout, à vous de savoir ce que vous téléchargez.

Je ne suis pas là pour vous faire la morale mais plutôt pour vous donner une astuce sur la syntaxe de google qui permet de retrouver facilement des ebook.

Pour chercher des ebook ajouter tout simplement la ligne qui suit à votre recherche :

-inurl:htm -inurl:html intitle:"index of" +("/ebooks""/book") +(chm pdf zip)

La syntaxe peut être facilement adaptée. On voit que l'astuce consiste à cherche dans les URL la présence de certains mots comme ebook ou book et plus spécifiquement des répertoires de sites Web s'appelant comme ça. On remarquera aussi la fin de la recherche permettant de chercher chm pdf et zip. On peut supprimer zip ou chm si on ne veut que des pdf ou ajouter d'autres extensions qu'on recherche.

Bonne lecture !