• Une nouvelle police pour les développeurs

    Microsoft vient de publier Consolas, une nouvelle police de caractères destinés aux developpeurs et qui remplace la bonne vielle Courier New dans Visual Studio.

    Mon avis sur cette nouvelle police est assez mitigé : à vouloir absolument faire une police anti-aliasé, MS nous gratifie d’une police complétement inutilisable sans ClearType [qui est une technique d’amélioration de la qualité d’affichage propre aux "dernières" versions de Windows, enfin cela doit dater de Windows 2000]. Par contre une fois celui-ci activé, le resultat est très sympathique : j’adore particulièrement le coté condensé mais pourtant très lisible de cette police.

    Maintenant, il reste à voir si, à l’utilisation, Consolas tient le coup.

    http://www.microsoft.com/downloads/details.aspx?familyid=22e69ae4-7e40-4807-8a86-b3d36fab68d3&displaylang=en

  • Powershell

    Entrer dans le monde merveilleux des équipes de prod, fait de |,<, >,grep et autres joyeusetés, n'a jamais vraiment été un de mes rêves - trouvant qu'une console MMC et/ou un peu de macros Word/Excel faisait le même boulot ou presque. Cela va peut-être changer avec l'arrivée (en RC) de Windows Powershell (déjà sorti en beta sous le nom de code Monad) !
    Cela fait maintenant a peu près deux heures que je joue avec ce futur remplaçant de la Commande "MSDOS" et, franchement,c'est tout simplement génial.

    Allez, commençons par quelques exemples sympa permettant de voir toute la puissance de ce bidule :

    Cette ligne de commande récupère tous les services sur la machine :
    get-service

    Pour envoyer une ou plusieurs lignes dans un fichier il suffit de faire :
    set-content c:\resultat.txt
    (le set-content s’arrete automatiquement en envoyant une ligne vide)

    Pour les puristes, | existe toujours, on peut donc ecrire :
    get-service | set-content c:\services.txt
    (n’essayez pas cette commande, vous n’auriez pas ce que vous souhaitez !)
    ou plutôt : get-service | export-csv c:\services.csv

    bon, évidemment c’est assez différent de ce que l’on ecrirai en unix et vous allez me dire : "mais c’est super verbeux". Je vous l’accorde – et Microsoft aussi – d’où la notion d’alias qui permettent d’ecrire ceci en lieu et place de la commande précédente :
    gsv | epcsv c:\services.csv

    Jusque là, mis à part une syntaxe un peu particulière, rien de bien spécial… sauf que… l’exemple n°3 (vous savez celui qui ne marche pas) montre quelque chose de primordial en PowerShell : les résultats des différentes commandes, plutôt que de n’être que du texte qu’il faudra analyser pour pouvoir manipuler, sont de vrais objets. Sur lesquels ils est possible d’appeler des propriétés ou des méthodes.

    Le mieux étant de présenter un petit exemple : pour obtenir les processus en cours d’execution, on utilise la commande get-process. Celle-ci vous renvoie, en fait, une liste d’objets System.Diagnostics.Process (oui, oui, l’objet .net), d’ailleurs on peut facilement le vérifier avec la commande for-each (sur laquelle je reviendrai dans un autre billet) : gps | foreach {$_.MainWindowTitle} (affiche le titre de la fenêtre principale pour chaque processus)

    Objet .net ai-je dis ? eh oui ! toute la beauté de PowerShell (et certainement le cauchemard  des gens de la prod qui auront à l’utiliser), c’est que TOUT est en .net : les commandes, les résultats de celles-ci, les environnements etc.

    Du coup pour nous, les développeurs, c’est du bonheur à l’état pur : imaginez les scripts suivants (si vous êtes familier avec .net vous allez aimer)

    [DateTime]::Now.AddDays(-5).ToShortDateString()
    permet d’obtenir une date cinq jours dans le passé, idéal pour comparer avec la date d’un fichier à archiver…

    (new-object Random).next(5000)
    permet d’obtenir un chiffre au hasard entre 0 et 5000

     Sympa non ?

  • Deux sites pour WinFX

    Deux exemples de WinFX (je crois qu’il faut maintenant l’appeler .net Framework 3.0) et surtout de WPF, le remplaçant du très viellissant système d’affichage de Windows : GDI.

    http://www.thirteen23.com/

    et

    http://www.thewpfblog.com/

    Ce dernier se proposant de faire une comparaison – que j’ai un peu de mal à comprendre – entre flash et WPF… Il faudra certainement attendre WPF/E qui effectivement peu être considéré comme le concurrent de flash pour se faire une idée, mais en attendant WPF n’est pas du tout destiné aux mêmes personnes que Flash : la cible est bien les développeurs, pas les designers…

    Par contre je suis assez d’accord avec certains points : la gestion des données multimédia est un peu légère dans WPF et le fameux (cela fait maintenant 4 à 5 ans qui nous le disent) «Vous pouvez donner la partie graphique à un designer et vous concentrer sur le code» est une utopie, cela se termine la plupart du temps avec :

    développeur : mais c’est pas vrai ? qu’est-ce que tu as fait des contrôles ?
    designer : ben, tu vois, ils juraient avec le reste de la présentation, alors j’ai du les supprimer
    développeur : ah oui ? le bouton «ajouter au panier» jurait sur un site de e-commerce ?

    etc. etc.etc…