<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">
    <title>Denis Dollfus' Blog</title>
    <link rel="alternate" type="text/html" href="http://www.ergotinfo.fr/architecture/" />
    <link rel="service.post" type="application/x.atom+xml" href="http://www.typepad.com/t/atom/weblog/blog_id=295713" title="Denis Dollfus' Blog" />
    <id>tag:typepad.com,2003:weblog-295713</id>
    <updated>2010-04-16T05:27:00Z</updated>
    <subtitle>Commentaires sur le software. On y glose, on y ergote...</subtitle>

    <generator uri="http://www.typepad.com/">TypePad</generator>
    <atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/typepad/DenisDollfus/EcosystemInfo" /><feedburner:info uri="typepad/denisdollfus/ecosysteminfo" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><entry>
        <title>Silverlight 4 : toutes les nouveautés</title>
        <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/typepad/DenisDollfus/EcosystemInfo/~3/j8A5XYFpVtE/silverlight-4-toutes-les-nouveaut%C3%A9s.html" />
        <link rel="service.edit" type="application/x.atom+xml" href="http://www.typepad.com/t/atom/weblog/blog_id=295713/entry_id=6a00d8341c871f53ef0133ecb6d497970b" title="Silverlight 4 : toutes les nouveautés" />
        <id>tag:typepad.com,2003:post-6a00d8341c871f53ef0133ecb6d497970b</id>
        <published>2010-04-16T07:27:00+02:00</published>
        <updated>2010-04-15T22:11:11Z</updated>
        <summary>Après la partie desktop de .Net, et au moment où l'adoption grand public de Silverlight devient bien visible dans les stats, c'est au tour de Silverlight 4 d'être livré par Microsoft. Les nouveautés de Silverlight 4 sont nombreuses, et certaines...</summary>
        <author>
            <name>DenisDollfus</name>
        </author>
        <category term="Actualité" />
        <category term="Microsoft" />
        <category term="Silverlight" />

    <content type="xhtml" xml:lang="fr-FR" xml:base="http://www.ergotinfo.fr/architecture/"><div xmlns="http://www.w3.org/1999/xhtml"><p><a href="http://www.ergotinfo.fr/.a/6a00d8341c871f53ef0133ecb6cc64970b-pi" style="float: right;"><img alt="Silverlight-4" border="0" class="asset asset-image at-xid-6a00d8341c871f53ef0133ecb6cc64970b " src="http://www.ergotinfo.fr/.a/6a00d8341c871f53ef0133ecb6cc64970b-800wi" style="margin: 0px 0px 5px 5px;" title="Silverlight-4" /></a>  Après la partie desktop de .Net, et au moment où l'adoption grand public de Silverlight devient <a href="http://www.ergotinfo.fr/architecture/2010/02/silverlight-franchit-la-barre-des-50.html">bien visible dans les stats,</a> c'est au tour de Silverlight 4 d'être livré par Microsoft.</p><p>Les nouveautés de Silverlight 4 sont nombreuses, et certaines probablement décisives pour l'adoption en entreprise : </p><p /><ul>
<li>Gestion de l'impression;</li>
<li>Nouveaux contrôles dont textboxes avec masque de saisie, datagrid avec colonnes redimensionnables et repositionnables;</li>
<li>La CLR autorise une même dll à tourner en mode desktop et en mode Silverlight sans recompilation</li>
<li>Databinding amélioré;</li>
<li>Inclusion de <a href="http://mef.codeplex.com/Wikipage" target="_blank">MEF</a>;</li>
<li>Amélioration de l'internationalisation -- écriture bidirectionelle, nouveaux langages tels qu'arabe et hébreux (plus 31 autres) -- entre nous, déjà géré par WPF 3.5 SP1;</li>
<li>Enrichissement des outils "point &amp; click" avec Visual Studio 2010;</li>
<li>WCF RIA service inclus dans le package Silverlight;</li>
<li>Prise en charge des webcams et microphones;</li>
<li>Interopérabilité COM;</li>
<li>Support de la vidéo au format H 264 </li>
</ul>
<p>... et pas mal d'autres nouveautés intéressantes dont la plupart sont listées <a href="http://www.silverlight.net/getstarted/silverlight-4/#whatsnew" target="_blank">sur cette page</a> que je vais arrêter de traduire -- évidement ça donne un net avantage à ceux qui lisent l'anglais, et une opportunité de commencer à apprendre pour les autres, of course, it goes of itself. </p><p>Une autre page de référence concernant les nouveautés se trouve <a href="http://timheuer.com/blog/archive/2009/11/18/whats-new-in-silverlight-4-complete-guide-new-features.aspx" target="_blank">sur le blog de Tim Heuer</a>, ainsi du reste que <a href="http://timheuer.com/blog/archive/2010/04/15/download-silverlight-4-released.aspx" target="_blank">l'annonce</a> de la disponibilité de Silverlight 4.</p><p>Le site de référence pour Silverlight c'est toujours <a href="http://www.silverlight.net/" target="_blank">http://www.silverlight.net/</a>.</p><p /><p /><xhtml:img xmlns:xhtml="http://www.w3.org/1999/xhtml" src="http://feeds.feedburner.com/~r/typepad/DenisDollfus/EcosystemInfo/~4/j8A5XYFpVtE" height="1" width="1" /></div></content>



    <feedburner:origLink>http://www.ergotinfo.fr/architecture/2010/04/silverlight-4-toutes-les-nouveaut%C3%A9s.html</feedburner:origLink></entry>
    <entry>
        <title>WPF 4 : toutes les nouveautés</title>
        <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/typepad/DenisDollfus/EcosystemInfo/~3/oJdIu4TeHC8/wpf-4-toutes-les-nouveaut%C3%A9s.html" />
        <link rel="service.edit" type="application/x.atom+xml" href="http://www.typepad.com/t/atom/weblog/blog_id=295713/entry_id=6a00d8341c871f53ef01347fd3dfc3970c" title="WPF 4 : toutes les nouveautés" />
        <id>tag:typepad.com,2003:post-6a00d8341c871f53ef01347fd3dfc3970c</id>
        <published>2010-04-13T07:31:00+02:00</published>
        <updated>2010-04-13T13:15:53Z</updated>
        <summary>A l'heure de la mise à disposition par Microsoft de Visual Studio 2010 et .Net 4, Peter Brown vient de publier sur son blog une synthèse des nouveautés de WPF 4 : WPF 4 Release: A guide to the new...</summary>
        <author>
            <name>DenisDollfus</name>
        </author>
        <category term=".Net 4.0" />
        <category term="Actualité" />
        <category term="Microsoft" />
        <category term="WPF" />

    <content type="xhtml" xml:lang="fr-FR" xml:base="http://www.ergotinfo.fr/architecture/"><div xmlns="http://www.w3.org/1999/xhtml"><p><a href="http://www.ergotinfo.fr/.a/6a00d8341c871f53ef01347fd3deba970c-pi" style="float: right;"><img alt="Dotnet" border="0" class="asset asset-image at-xid-6a00d8341c871f53ef01347fd3deba970c " src="http://www.ergotinfo.fr/.a/6a00d8341c871f53ef01347fd3deba970c-800wi" style="margin: 0px 0px 5px 5px;" title="Dotnet" /></a>A l'heure de la mise à disposition par Microsoft de Visual Studio 2010 et .Net 4, Peter Brown vient de publier sur son blog une synthèse des nouveautés de WPF 4 : <a href="http://http://10rem.net/blog/2010/04/12/wpf-4-release-a-guide-to-the-new-features" target="_blank"><a href="http://10rem.net/blog/2010/04/12/wpf-4-release-a-guide-to-the-new-features" target="_blank">WPF 4 Release: A guide to the new features</a></a></p><p>Et puisqu'on est dans la synthèse, <a href="http://msmvps.com/blogs/paulomorgado/archive/2010/04/12/the-evolution-of-c.aspx" target="_blank">ce petit récapitulatif de l'évolution de C#</a> signé Paulo Morgado souligne en passant le chemin parcouru depuis C# 1.0.</p><p>Enfin au cas où vous chercheriez l'exhaustivité à propos des nouveauté de .Net 4, mieux vaut aller lire à la source : <a href="http://msdn.microsoft.com/en-us/library/ms171868(v=VS.100).aspx" target="_blank">What's New in the .NET Framework 4</a> sur MSDN.</p><p /><p /><p /><xhtml:img xmlns:xhtml="http://www.w3.org/1999/xhtml" src="http://feeds.feedburner.com/~r/typepad/DenisDollfus/EcosystemInfo/~4/oJdIu4TeHC8" height="1" width="1" /></div></content>



    <feedburner:origLink>http://www.ergotinfo.fr/architecture/2010/04/wpf-4-toutes-les-nouveaut%C3%A9s.html</feedburner:origLink></entry>
    <entry>
        <title>Silverlight franchit la barre des 50%</title>
        <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/typepad/DenisDollfus/EcosystemInfo/~3/QKYINMF8W7s/silverlight-franchit-la-barre-des-50.html" />
        <link rel="service.edit" type="application/x.atom+xml" href="http://www.typepad.com/t/atom/weblog/blog_id=295713/entry_id=6a00d8341c871f53ef0120a8a27a45970b" title="Silverlight franchit la barre des 50%" />
        <id>tag:typepad.com,2003:post-6a00d8341c871f53ef0120a8a27a45970b</id>
        <published>2010-02-16T16:52:00+01:00</published>
        <updated>2010-02-16T15:52:00Z</updated>
        <summary>D'après RIAStats, la part de navigateurs qui disposent de Silverlight dépasse très légèrement les 50%. Pour mémoire à cette époque l'année dernière le taux de pénétration de Silverlight approchait les 20%. Une grosse progression donc, mais rien qui soit en...</summary>
        <author>
            <name>DenisDollfus</name>
        </author>
        <category term="Silverlight" />

    <content type="xhtml" xml:lang="fr-FR" xml:base="http://www.ergotinfo.fr/architecture/"><div xmlns="http://www.w3.org/1999/xhtml"><p />D'après <a href="http://riastats.com/#" target="_blank">RIAStats</a>, la part de navigateurs qui disposent de Silverlight dépasse très légèrement les 50%. Pour mémoire à cette époque l'année dernière le taux de pénétration de Silverlight <a href="http://www.ergotinfo.fr/architecture/2009/02/silverlight-taux-de-p%C3%A9n%C3%A9tration.html">approchait les 20%</a>. <p />

<p /><center><img alt="Silverlight_2010_02" border="0" class="asset asset-image at-xid-6a00d8341c871f53ef0120a8a26ac0970b " src="http://www.ergotinfo.fr/.a/6a00d8341c871f53ef0120a8a26ac0970b-800wi" style="margin: 0px 0px 5px 5px;" title="Silverlight_2010_02" /></center><p />

<p>Une grosse progression donc, mais rien qui soit en mesure de faire de l'ombre aux 97% de plugins Flash...</p>

<br />

<br />

<br />

<br /><xhtml:img xmlns:xhtml="http://www.w3.org/1999/xhtml" src="http://feeds.feedburner.com/~r/typepad/DenisDollfus/EcosystemInfo/~4/QKYINMF8W7s" height="1" width="1" /></div></content>



    <feedburner:origLink>http://www.ergotinfo.fr/architecture/2010/02/silverlight-franchit-la-barre-des-50.html</feedburner:origLink></entry>
    <entry>
        <title>Visual Studio 2010 et .Net 4 disponibles en version "candidate"</title>
        <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/typepad/DenisDollfus/EcosystemInfo/~3/ERSRa9_r3xs/visual-studio-2010-et-net-4-disponibles-en-version-candidate.html" />
        <link rel="service.edit" type="application/x.atom+xml" href="http://www.typepad.com/t/atom/weblog/blog_id=295713/entry_id=6a00d8341c871f53ef0128777d4330970c" title="Visual Studio 2010 et .Net 4 disponibles en version &quot;candidate&quot;" />
        <id>tag:typepad.com,2003:post-6a00d8341c871f53ef0128777d4330970c</id>
        <published>2010-02-09T14:12:31+01:00</published>
        <updated>2010-02-09T13:13:25Z</updated>
        <summary>C'est demain, le 10 février, que les versions pressenties pour être définitives de Visual Studio 2010 et de .Net 4 seront téléchargeables par tous. Dès aujourd'hui les bénéficiaires de souscriptions MSDN peuvent en bénéficier. Entre autres nouveautés, Visual Studio 2010...</summary>
        <author>
            <name>DenisDollfus</name>
        </author>
        <category term=".Net 4.0" />
        <category term="Actualité" />
        <category term="Azure" />
        <category term="F#" />
        <category term="Programmation fonctionnelle" />
        <category term="Visual Studio 2010" />

    <content type="xhtml" xml:lang="fr-FR" xml:base="http://www.ergotinfo.fr/architecture/"><div xmlns="http://www.w3.org/1999/xhtml"><p><a href="http://www.ergotinfo.fr/.a/6a00d8341c871f53ef0120a87ac389970b-pi" style="float: right;"><img alt="VS2010" border="0" class="asset asset-image at-xid-6a00d8341c871f53ef0120a87ac389970b " src="http://www.ergotinfo.fr/.a/6a00d8341c871f53ef0120a87ac389970b-800wi" style="margin: 0px 0px 5px 5px;" title="VS2010" /></a>  C'est demain, le 10 février, que les versions pressenties pour être définitives de Visual Studio 2010 et de .Net 4 seront téléchargeables par tous. Dès aujourd'hui les bénéficiaires de souscriptions MSDN peuvent <a href="https://msdn.microsoft.com/en-us/subscriptions/securedownloads/default.aspx" target="_blank">en bénéficier</a>.</p>

<p>Entre autres nouveautés, Visual Studio 2010 va apporter :</p><p /><ul>
<li>un peu de RAD en WPF via du databinding en mode drag &amp; drop;</li>
<li>F#, langage fonctionnel finalement baptisé Visual F#;</li>
<li>des aides intégrées au TDD;</li>
<li>des outils, notamment de débuggage, dédiés à la programmation parallèle</li>
<li>tout le nécessaire pour développer sur le nuage de Microsoft. </li>
</ul>
<p />

<p>Quant à .Net 4, les nouveautés sont légions, autant aller voir directement <a href="http://weblogs.asp.net/scottgu/archive/2009/08/25/vs-2010-and-net-4-series.aspx" target="_blank">sur le blog de Scott</a> <a href="http://www.microsoft.com/presspass/exec/guthrie/" /><a href="http://www.microsoft.com/presspass/exec/guthrie/" target="_blank">Guthrie</a>, ou ce <a href="http://www.ergotinfo.fr/architecture/net_40/" target="_blank">petit résumé en français</a>.</p><p /><p /><ul>
<li>L'annonce de Scott : <a href="http://weblogs.asp.net/scottgu/archive/2010/02/08/vs-2010-net-4-release-candidate.aspx">http://weblogs.asp.net/scottgu/archive/2010/02/08/vs-2010-net-4-release-candidate.aspx</a></li>
<li>Point de départ pour les téléchargements : <a href="http://msdn.microsoft.com/en-us/vstudio/dd582936.aspx">http://msdn.microsoft.com/en-us/vstudio/dd582936.aspx</a></li>
</ul>
<p />

<p />

<p />

<p />

<p /><xhtml:img xmlns:xhtml="http://www.w3.org/1999/xhtml" src="http://feeds.feedburner.com/~r/typepad/DenisDollfus/EcosystemInfo/~4/ERSRa9_r3xs" height="1" width="1" /></div></content>



    <feedburner:origLink>http://www.ergotinfo.fr/architecture/2010/02/visual-studio-2010-et-net-4-disponibles-en-version-candidate.html</feedburner:origLink></entry>
    <entry>
        <title>Emit Mapper copie plus vite qu'Automapper</title>
        <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/typepad/DenisDollfus/EcosystemInfo/~3/5d2Ec1qfdDk/emit-mapper-copie-plus-vite-qu-automapper.html" />
        <link rel="service.edit" type="application/x.atom+xml" href="http://www.typepad.com/t/atom/weblog/blog_id=295713/entry_id=6a00d8341c871f53ef012876b12dfd970c" title="Emit Mapper copie plus vite qu'Automapper" />
        <id>tag:typepad.com,2003:post-6a00d8341c871f53ef012876b12dfd970c</id>
        <published>2010-01-07T13:27:00+01:00</published>
        <updated>2010-01-07T22:11:53Z</updated>
        <summary>On a souvent besoin de copier les propriétés d'un objet en mémoire vers un autre, y compris entre des objets de types différents. (Si cette première phrase vous semble être en Na'vi, la suite confortera cette impression). En mode "quick...</summary>
        <author>
            <name>DenisDollfus</name>
        </author>
        <category term=".Net" />
        <category term="Actualité" />
        <category term="Open Source" />

    <content type="xhtml" xml:lang="fr-FR" xml:base="http://www.ergotinfo.fr/architecture/"><div xmlns="http://www.w3.org/1999/xhtml"><p><a href="http://www.ergotinfo.fr/.a/6a00d8341c871f53ef012876b2da8b970c-pi" style="float: right;"><img alt="Codeplex-logo_3" border="0" class="asset asset-image at-xid-6a00d8341c871f53ef012876b2da8b970c " src="http://www.ergotinfo.fr/.a/6a00d8341c871f53ef012876b2da8b970c-800wi" style="margin: 0px 0px 5px 5px;" title="Codeplex-logo_3" /></a>  On a souvent besoin de copier les propriétés d'un objet en mémoire vers un autre, y compris entre des objets de types différents. (Si cette première phrase vous semble être en Na'vi, la suite confortera cette impression). En mode "quick win", un petit bout de code qui recopie une par une les propriétés fonctionne très bien. </p><p>Oui, ça marche, mais, las, le résultat est fragile : vous le savez très bien, un jour quelqu'un, peut-être vous un vendredi soir à 21h (ah non pas vous), va ajouter une propriété sur ces objets et oublier d'ajouter aussi une ligne dans cette méthode de recopie. S'en suivra peu à peu la faillite du système : une corruption de la base de données, des transactions financières aberrantes, votre nom dans les journaux et un milliard d'Euros à rembourser de votre poche. La loi de Murphy n'aide pas, mais si vous aidez la loi de Murphy... Et encore je ne parle même pas d'une mise en production le <a href="http://fr.wikipedia.org/wiki/Fin_du_monde_en_2012" target="_blank">21 décembre 2012</a>... </p><p>Bref dans le cas présent le quick win est un big loss pour qui intègre le futur dans sa vision du monde.</p><p>Vous allez me dire que vous travaillez en mode Agile (pas Agile à la <a href="http://fr.wikipedia.org/wiki/M%C3%A9thode_Cou%C3%A9" target="_blank">sauce Coué</a>, mais le vrai mode Agile, celui qui se donne <a href="http://www.ergotinfo.fr/architecture/2009/01/d%C3%A9veloppeurs-d%C3%A9terminez-votre-niveau-dagilit%C3%A9.html" target="_blank">des moyens</a>) et que vos tests unitaires vous protègent. C'est tant mieux, mais si la vérification de la copie des objets est elle aussi manuelle, la nouvelle propriété ne sera probablement pas testée -- on a oublié de modifier la méthode, pourquoi penserait-on au test unitaire associé ? Et si jamais votre test est solide parce que vous avez eu la bonne idée d'utiliser les APIs de reflection pour l'implémenter, il est probable que vous allez employer la même ruse pour implémenter la méthode de recopie...</p><p>Bref, simplifiez-vous la vie, réinventez d'abord la roue parce que c'est amusant et formateur, puis choisissez un outil spécialisé qui marche mieux que le vôtre (désolé). </p><p>Emit Mapper est un de ces outils, et les premiers tests le présentent <strong><a href="http://emitmapper.codeplex.com/wikipage?title=Benchmark:%20EmitMapper%20vs%20Handwritten%20code%20vs%20AutoMapper&amp;referringTitle=Home" target="_blank">comme 400 fois plus rapide</a> (mais voir § ci-dessous) </strong>que son concurrent Automapper parce qu'il s'appuie sur la librairie Emit (code de recopie généré une seule fois) plutôt que sur les API de Reflection (chaque copie va déclencher les mêmes appels aux méthodes de reflection, quoiqu'il y a <a href="http://msdn.microsoft.com/en-us/magazine/cc163759.aspx" target="_blank">des astuces à connaitre</a>).</p><p><strong>Attention </strong>: comme l'a fait remarquer Romain dans les commentaires, Automapper utilise aussi Emit (depuis aout 2009). Peut-être que le benchmark date un peu, peut-être que l'auteur est optimiste <strong>(mais cf. ci-dessous)</strong>. Le chiffre 400 est donc à prendre avec le doute et le recul d'un scientifique qui lit une boîte de Chocapic. Si l'un de vous a le courage de comparer...</p><p><strong>Deuxième mise à jour</strong> : Vladimir Romanko, l'auteur d'Emit Mapper, vient d'expliquer dans les commentaires les raisons de cette différence impressionnante de performance. Il précise aussi que les benchmarks ont été écrits de façon impartiale, et que les mesures sont faciles à reproduire puisque les benchmarks font partie des sources.</p><p>Emit mapper fonctionne sous .Net, Mono et Silverlight. Il <a href="http://emitmapper.codeplex.com/" target="_blank">vient de sortir en version 1.0 sur Codeplex</a></p><xhtml:img xmlns:xhtml="http://www.w3.org/1999/xhtml" src="http://feeds.feedburner.com/~r/typepad/DenisDollfus/EcosystemInfo/~4/5d2Ec1qfdDk" height="1" width="1" /></div></content>



    <feedburner:origLink>http://www.ergotinfo.fr/architecture/2010/01/emit-mapper-copie-plus-vite-qu-automapper.html</feedburner:origLink></entry>
    <entry>
        <title>Silverlight pour Linux - Moonlight - en version 2</title>
        <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/typepad/DenisDollfus/EcosystemInfo/~3/Gvg9G0o_OGo/silverlight-pour-linux-moonlight-en-version-2.html" />
        <link rel="service.edit" type="application/x.atom+xml" href="http://www.typepad.com/t/atom/weblog/blog_id=295713/entry_id=6a00d8341c871f53ef0128766356b6970c" title="Silverlight pour Linux - Moonlight - en version 2" />
        <id>tag:typepad.com,2003:post-6a00d8341c871f53ef0128766356b6970c</id>
        <published>2009-12-18T07:07:00+01:00</published>
        <updated>2009-12-18T06:07:00Z</updated>
        <summary>Moonlight 2 vient de sortir, annoncé par l'équipe Silverlight : "Moonlight 2 est compatible avec Microsoft Silverlight 2 et inclut quelques fonctionnalités de Silverlight 3, notamment le support des APIs Bitmap, les boites de dialogue de gestion de fichiers, les...</summary>
        <author>
            <name>DenisDollfus</name>
        </author>
        <category term=".Net" />
        <category term="Mono" />
        <category term="Moonlight" />
        <category term="Open Source" />
        <category term="Silverlight" />

    <content type="xhtml" xml:lang="fr-FR" xml:base="http://www.ergotinfo.fr/architecture/"><div xmlns="http://www.w3.org/1999/xhtml"><p><a href="http://www.ergotinfo.fr/.a/6a00d8341c871f53ef012876631575970c-pi" style="float: right;"><img alt="Moonlight" border="0" class="asset asset-image at-xid-6a00d8341c871f53ef012876631575970c " src="http://www.ergotinfo.fr/.a/6a00d8341c871f53ef012876631575970c-800wi" style="margin: 0px 0px 5px 5px;" title="Moonlight" /></a>  Moonlight 2 vient de sortir, annoncé par l'équipe Silverlight :</p><p />
<blockquote>"Moonlight 2 est compatible avec Microsoft Silverlight 2 et inclut quelques fonctionnalités de Silverlight 3, notamment le support des APIs Bitmap, les boites de dialogue de gestion de fichiers, les fonctions de transition (easing functions), la chaîne de traitement multimedia et les codecs personnalisés. Moonlight offre de meilleurs débits multimedia grâce à la prise en compte de la qualité de la connexion de l'utilisateur. De surcroit, cette version comprend des fonctionnalités du runtime Mono, ce qui permet aux applications RIA d'être développées pour Linux avec C#, Ruby, Python et Javascript."</blockquote><blockquote><br /></blockquote>
<p>Pour mémoire, Moonlight fait partie du projet Mono porté par Novell en collaboration avec Microsoft, et Mono, vous le savez, c'est .Net pour Linux, Mac OS X, iPhone OS, Sun Solaris, BSD, Windows, Nintendo WII et Sony Playstation 3.</p><p /><p>Moonlight : <a href="http://go-mono.com/moonlight/" target="_blank">http://go-mono.com/moonlight/</a></p><p>Mono : <a href="http://mono-project.com/Main_Page" target="_blank">http://mono-project.com/Main_Page</a></p><p>L'annonce de Moonlight 2.0 : <a href="http://team.silverlight.net/announcement/moonlight-2-is-now-available/" target="_blank">http://team.silverlight.net/announcement/moonlight-2-is-now-available/</a></p><xhtml:img xmlns:xhtml="http://www.w3.org/1999/xhtml" src="http://feeds.feedburner.com/~r/typepad/DenisDollfus/EcosystemInfo/~4/Gvg9G0o_OGo" height="1" width="1" /></div></content>



    <feedburner:origLink>http://www.ergotinfo.fr/architecture/2009/12/silverlight-pour-linux-moonlight-en-version-2.html</feedburner:origLink></entry>
    <entry>
        <title>Vedea, nouveau langage des arts numériques</title>
        <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/typepad/DenisDollfus/EcosystemInfo/~3/uTaHbtcXyMM/vedea-nouveau-langage-des-arts-num%C3%A9riques.html" />
        <link rel="service.edit" type="application/x.atom+xml" href="http://www.typepad.com/t/atom/weblog/blog_id=295713/entry_id=6a00d8341c871f53ef01287632bb84970c" title="Vedea, nouveau langage des arts numériques" />
        <id>tag:typepad.com,2003:post-6a00d8341c871f53ef01287632bb84970c</id>
        <published>2009-12-09T10:12:00+01:00</published>
        <updated>2009-12-08T23:01:40Z</updated>
        <summary>Tous ceux qui touchent de près ou de loin aux arts numériques, et pas seulement les algoristes, connaissent bien Processing, langage open-source dédié à la manipulation d'éléments graphiques. Processing jouit en effet d'un quasi monopole pour toute sortes de travaux...</summary>
        <author>
            <name>DenisDollfus</name>
        </author>
        <category term=".Net" />
        <category term="art" />
        <category term="Math" />
        <category term="Microsoft" />
        <category term="Visualisation de données" />

    <content type="xhtml" xml:lang="fr-FR" xml:base="http://www.ergotinfo.fr/architecture/"><div xmlns="http://www.w3.org/1999/xhtml"><p>Tous ceux qui touchent de près ou de loin aux arts numériques, et pas seulement les <a href="http://www.ergotinfo.fr/architecture/2008/07/roman-verostko.html" target="_blank">algoristes</a>,  connaissent bien <a href="http://processing.org/" target="_blank">Processing</a>, langage open-source dédié à la manipulation d'éléments graphiques. </p>

<p style="text-align: left;">Processing jouit en effet d'un quasi monopole pour toute sortes de travaux autour de la visualisation, qu'il s'agisse de prototypes de visualisation de données scientifiques, d'ébauches artistiques abstraites, d'animations interactives (quoique dans le domaine de l'interactif Flash semble bien plus populaire) ou de tout ça en même temps. </p>

<p>La preuve en image pendant un petit entracte Processing (cliquez pour trouver l'auteur) :</p>

<p style="text-align: center;"><a href="http://www.flickr.com/photos/solaas/3263400247/" title="Propagaciones 10 by Leonardo Solaas, on Flickr"><img alt="Propagaciones 10" height="256" src="http://farm1.static.flickr.com/191/3263400247_d2f2f342c3.jpg" width="500" /></a></p>

<p style="text-align: center;"><a href="http://www.flickr.com/photos/toxi/2828083718/" title="TA08/MXL_tiles06 by toxi, on Flickr"><img alt="TA08/MXL_tiles06" height="500" src="http://farm4.static.flickr.com/3238/2828083718_a3657fd841.jpg" width="326" /></a></p>

<p />

<p>La domination de Processing pourrait bien être prochainement challengée. Microsoft va en effet offrir une technologie concurrente à travers un nouveau langage, Vedea, tout juste sortie des labos (ce qui ira, comme prévu, incrémenter notre <a href="http://www.ergotinfo.fr/architecture/2009/11/nouveaux-langages-de-programmation-vers-une-accalmie-.html" target="_blank">compteur de langages</a>).</p>

<p />

<p>Processing et Vedea sont des langages dédiés à la définition, à l’animation et au contrôle d'éléments graphiques. En quelque sorte un DSL (Domain Specific Language) dont le domaine de pertinence est la visualisation. Le plus de Vedea c’est de permettre à l’artiste-développeur (mais tous les développeurs ne sont-ils pas des artistes ? <a href="http://argouml-stats.tigris.org/documentation/printablehtml/manual/images/reference/menu_design_goals.png" target="_blank">Ah non</a>) de composer, de tester et d’expérimenter avec le moins d’efforts possible.</p>

<p />

<p>Deuxième entracte...</p>

<p />
<p style="text-align: center;"><a href="http://www.flickr.com/photos/lennyjpg/394842798/" title="Untitled by lennyjpg, on Flickr"><img alt="" height="375" src="http://farm1.static.flickr.com/137/394842798_e068c74295.jpg" width="500" /></a></p>

<p style="text-align: center;"><a href="http://www.flickr.com/photos/eskimoblood/4077306005/" title="sunflow is back by eskimoblood, on Flickr"><img alt="sunflow is back" height="500" src="http://farm3.static.flickr.com/2734/4077306005_553462c637.jpg" width="500" /></a></p>

<p />

<p>Comparé à Processing, Vedea possède quelques points forts.</p>

<p><strong>Rendu en mode "retenu" (</strong><em><strong>retained mode</strong></em><strong>)</strong>. </p>

<p>Alors que le mode dit immédiat (<em>immediate mode</em>) de Processing impose de dessiner explicitement les éléments graphiques à chaque appel d'une méthode de type draw() -- comme avec le Canvas d'HTML 5, Vedea permet en plus de construire une scène et de confier le rendu au moteur -- comme avec WPF et Silverlight.</p>

<p>Ok, un entracte, mais tout petit alors :</p>

<p />

<p style="text-align: center;"><object height="302" width="400"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=615344&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" /><embed allowfullscreen="true" allowscriptaccess="always" height="302" src="http://vimeo.com/moogaloop.swf?clip_id=615344&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" type="application/x-shockwave-flash" width="400" /></object></p>

<p style="text-align: center;"><a href="http://vimeo.com/615344">Magnetic Ink, Process video</a> from <a href="http://vimeo.com/flight404">flight404</a> on <a href="http://vimeo.com">Vimeo</a>.</p>

<p />

<p><strong>Hiérarchie d'objets</strong></p>

<p>Un objet peut être parenté à autre objet. Dans ce cas la modification de certains propriétés du parent affectera ses descendants (transformations, coordonnées, etc.). Un peu comme une hiérarchie de Canvas sous Silverlight en somme.</p>

<p>Bon c'est le dernier hein :</p>

<p style="text-align: center;"><a href="http://www.flickr.com/photos/junearch/3220667080/" title="kunstForm1 by mi ha, on Flickr"><img alt="kunstForm1" height="500" src="http://farm4.static.flickr.com/3460/3220667080_cd2bbf7acc.jpg" width="500" /></a></p>

<p><strong>Binding bi-dimensionnel trop fastoche</strong></p>

<p>Vraiment bien. Voilà un binding mono-directionel, du slider vers la textbox :</p>

<p><span style="font-family: 'Courier New'; line-height: normal; ">textbox.Text := slider.Value;</span></p>

<p>Et en voilà un bi-directionnel qui fera donc bouger le slider quand la textbox sera éditée :</p>

<p><span style="font-family: 'Courier New'; line-height: normal; ">textbox.Text :=: slider.Value;</span></p>

<p>Joli non ?</p>

<p />

<p>Dernier de chez dernier :</p>

<p />
<p style="text-align: center;"><a href="http://www.flickr.com/photos/lennyjpg/2594638884/" title="Untitled by lennyjpg, on Flickr"><img alt="" height="318" src="http://farm4.static.flickr.com/3091/2594638884_11d4b79ddc.jpg" width="500" /></a></p>
<p><strong>Des données à portée de clavier</strong></p>

<p>Beaucoup de formats d'import devraient être disponibles (csf, netCDF, HDF, SQL, Excel). La manipulation des données est annoncée comme facilitée par un mode "à la Linq" :</p>

<p><span style="font-family: 'Courier New'; line-height: 14px; ">myData = <span style="color: #4f81bd; ">DataSet</span>(“mydata.csv”); <br />currentYear := slider.Value + 1900; <br />bubbles := <span style="color: #4f81bd; ">from</span> row <span style="color: #4f81bd; ">in</span> myData  <br /><span style="color: #4f81bd; "><font color="#000000">  </font>where</span> row.Year :== currentYear  <br /><span>  </span><span style="color: #4f81bd; ">select</span> new Circle()  <br />    {  <br />      X = row.Latitude,  <br />      Y = row.Longitude,  <br />      Radius = row.Population * scalingFactor,  <br />      Fill = BlackBodyPalette(1., 1., row.DeltaCarbon)  <br />    }; <br />Scene[“USMap”].Add(bubbles);</span></p>

<p><span style="font-family: 'Courier New';"><span style="line-height: 14px;"><br /></span></span></p>

<p><strong>Pour résumer</strong></p><p>Vedea est prometteur, il y a de bonnes trouvailles. J'attends de voir les performances, c'est pour bientôt, Vedea devrait être disponible durant le début de l'année 2010.</p><p>Question runtime, Vedea  est dépendant de .Net 4 et du runtime dynamique (DLR), ce qui limitera sérieusement son utilisation en tant que plug-in de navigateur.</p><p>Vedea  n'étant pas annoncé comme open-source, je ne suis pas certains que ces trouvailles puissent à elles seules déclencher une révolution. Processing a de beaux jours devant lui.</p><p>Beaucoup plus d'infos sur Vedea : <a href="http://blogs.msdn.com/martinca/archive/2009/12/03/introducing-the-microsoft-visualization-language.aspx">http://blogs.msdn.com/martinca/archive/2009/12/03/introducing-the-microsoft-visualization-language.aspx</a></p><p>Plein d'images réalisées en Processing sur Flickr : <a href="http://www.flickr.com/search/groups/?q=processing&amp;m=pool&amp;w=13813978@N00&amp;s=int">http://www.flickr.com/search/groups/?q=processing&amp;m=pool&amp;w=13813978@N00&amp;s=int</a></p>

<p />

<p />

<p /><xhtml:img xmlns:xhtml="http://www.w3.org/1999/xhtml" src="http://feeds.feedburner.com/~r/typepad/DenisDollfus/EcosystemInfo/~4/uTaHbtcXyMM" height="1" width="1" /></div></content>



    <feedburner:origLink>http://www.ergotinfo.fr/architecture/2009/12/vedea-nouveau-langage-des-arts-num%C3%A9riques.html</feedburner:origLink></entry>
    <entry>
        <title>Nouveaux langages de programmation : vers une accalmie ?</title>
        <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/typepad/DenisDollfus/EcosystemInfo/~3/EB7aMTmwXeM/nouveaux-langages-de-programmation-vers-une-accalmie-.html" />
        <link rel="service.edit" type="application/x.atom+xml" href="http://www.typepad.com/t/atom/weblog/blog_id=295713/entry_id=6a00d8341c871f53ef012875c64161970c" title="Nouveaux langages de programmation : vers une accalmie ?" />
        <id>tag:typepad.com,2003:post-6a00d8341c871f53ef012875c64161970c</id>
        <published>2009-11-23T07:13:00+01:00</published>
        <updated>2009-11-22T19:14:40Z</updated>
        <summary>Ruby, Python, C#, F#, Scala, Groovy, Squirrel, Goo, Boo, Scratch, Inform, V, Cobra,... Sept nouveaux langages de programmation par an, c'est la moyenne de ces cinq dernières années. Le graphe ci-dessous illustre l'évolution de la création de langage d'après la...</summary>
        <author>
            <name>DenisDollfus</name>
        </author>
        <category term="Langages" />

    <content type="xhtml" xml:lang="fr-FR" xml:base="http://www.ergotinfo.fr/architecture/"><div xmlns="http://www.w3.org/1999/xhtml"><p style="text-align: left;">Ruby, Python, C#, F#, Scala, Groovy, Squirrel, Goo, Boo, Scratch, Inform, V, Cobra,... Sept nouveaux langages de programmation par an, c'est la moyenne de ces cinq dernières années. Le graphe ci-dessous illustre l'évolution de la création de langage d'après la base de faits <a href="http://www.ergotinfo.fr/architecture/2008/09/freebase-tout-s.html">Freebase</a>, et plus précisément d'après <a href="http://www.freebase.com/view/computer/programming_language" target="_blank">les 1182 langages répertoriés sur cette page</a>.</p>

<p style="text-align: center;"><a href="http://www.ergotinfo.fr/.a/6a00d8341c871f53ef0120a6c48623970b-pi" style="display: inline;"><img alt="Programming_languages" border="0" class="asset asset-image at-xid-6a00d8341c871f53ef0120a6c48623970b image-full " src="http://www.ergotinfo.fr/.a/6a00d8341c871f53ef0120a6c48623970b-800wi" title="Programming_languages" /></a> </p>

<p>Evidemment, n'apparaissent dans ce graphe que les langages qui ont dépassé le stade du laboratoire pour atteindre une adoption qui justifie au minimum un article dans Wikipedia. Il faut s'attendre à compléter au moins les années 2008 et 2009 par des langages qui ne sont pas encore célèbres. F# et Scala par exemple, deux langages en pleine gloire (médiatique, à défaut d'usage), ont été créés respectivement en 2002 et 2003.</p>

<p>Sous la partie émergée de l'iceberg, la grande masse des obscures langages de labo suit probablement une évolution similaire. Difficile d'en connaître l'évolution précise sans éplucher patiemment toutes les publications du domaine. En revanche, facile d'en avoir une idée générale à partir de Google Scholar, moteur de recherche de publications universitaires. En faisant le compte, année après année, des articles qui contiennent "new programming language", on obtient ça :</p>

<p style="text-align: center;"><a href="http://www.ergotinfo.fr/.a/6a00d8341c871f53ef012875c658a9970c-pi" style="display: inline;"><img alt="New_programming_language" border="0" class="asset asset-image at-xid-6a00d8341c871f53ef012875c658a9970c image-full " src="http://www.ergotinfo.fr/.a/6a00d8341c871f53ef012875c658a9970c-800wi" title="New_programming_language" /></a> </p>

<p>Même si l'année 2009 n'est pas encore complète, il semble que l'on ait dépassé un pic. Mais l'accalmie est sans doute passagère : il est probable que la maturation des outils de création de DSL (<a href="http://en.wikipedia.org/wiki/Domain-specific_language" target="_blank">Domain Specific Language</a>) combiné à la reconnaissance des bienfaits de la "<a href="http://www.infoq.com/articles/paradigm-based-polyglot-prog" target="_blank">programmation polyglotte</a>" nous préparent une nouvelle envolée. </p>

<p> </p>

<p><br /> </p><xhtml:img xmlns:xhtml="http://www.w3.org/1999/xhtml" src="http://feeds.feedburner.com/~r/typepad/DenisDollfus/EcosystemInfo/~4/EB7aMTmwXeM" height="1" width="1" /></div></content>



    <feedburner:origLink>http://www.ergotinfo.fr/architecture/2009/11/nouveaux-langages-de-programmation-vers-une-accalmie-.html</feedburner:origLink></entry>
    <entry>
        <title>Microsoft rend .Net open-source</title>
        <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/typepad/DenisDollfus/EcosystemInfo/~3/PVS9vpZbkUU/microsoft-rend-net-opensource.html" />
        <link rel="service.edit" type="application/x.atom+xml" href="http://www.typepad.com/t/atom/weblog/blog_id=295713/entry_id=6a00d8341c871f53ef012875ac805e970c" title="Microsoft rend .Net open-source" />
        <id>tag:typepad.com,2003:post-6a00d8341c871f53ef012875ac805e970c</id>
        <published>2009-11-17T14:16:05+01:00</published>
        <updated>2009-11-17T13:16:05Z</updated>
        <summary>Bon ok juste une petite partie puisqu'il s'agit de .Net Micro Framework, le sous ensemble dédié aux systèmes embarqués. Mais c'est loin d'être anodin puisque la licence choisie n'est pas une variante à la sauce Microsoft, mais une licence Apache...</summary>
        <author>
            <name>DenisDollfus</name>
        </author>
        <category term="Actualité" />
        <category term="Apache" />
        <category term="Microsoft" />
        <category term="Open Source" />

    <content type="xhtml" xml:lang="fr-FR" xml:base="http://www.ergotinfo.fr/architecture/"><div xmlns="http://www.w3.org/1999/xhtml"><p><a href="http://www.ergotinfo.fr/.a/6a00d8341c871f53ef012875ac7f44970c-pi" style="float: right;"><img alt="Apache" border="0" class="asset asset-image at-xid-6a00d8341c871f53ef012875ac7f44970c " src="http://www.ergotinfo.fr/.a/6a00d8341c871f53ef012875ac7f44970c-800wi" style="margin: 0px 0px 5px 5px;" title="Apache" /></a> Bon ok juste une petite partie puisqu'il s'agit de .Net Micro Framework, le sous ensemble dédié aux systèmes embarqués. Mais c'est loin d'être anodin puisque la licence choisie n'est pas une variante à la sauce Microsoft, mais une licence Apache 2.0.</p><p>Un pas de plus vers l'open-source authentique, à l'image du mea culpa de Peter Galli, le monsieur open-source de Microsoft, <a href="http://www.framablog.org/index.php/post/2009/11/16/gpl-windows-7-microsoft-excuses" target="_blank">pour une affaire de licence GPL bafouée</a> ?</p><p>L'annonce sur port25 : <span style="line-height: normal; white-space: pre; "><a href="http://port25.technet.com/archive/2009/11/16/microsoft-to-open-source-the-net-micro-framework.aspx" target="_blank">http://port25.technet.com/archive/2009/11/16/microsoft-to-open-source-the-net-micro-framework.aspx</a></span></p><xhtml:img xmlns:xhtml="http://www.w3.org/1999/xhtml" src="http://feeds.feedburner.com/~r/typepad/DenisDollfus/EcosystemInfo/~4/PVS9vpZbkUU" height="1" width="1" /></div></content>



    <feedburner:origLink>http://www.ergotinfo.fr/architecture/2009/11/microsoft-rend-net-opensource.html</feedburner:origLink></entry>
    <entry>
        <title>Un nuage d'oiseaux en Silverlight</title>
        <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/typepad/DenisDollfus/EcosystemInfo/~3/FlaM6znEX-M/un-nuage-doiseaux-en-silverlight.html" />
        <link rel="service.edit" type="application/x.atom+xml" href="http://www.typepad.com/t/atom/weblog/blog_id=295713/entry_id=6a00d8341c871f53ef01287563440b970c" title="Un nuage d'oiseaux en Silverlight" />
        <id>tag:typepad.com,2003:post-6a00d8341c871f53ef01287563440b970c</id>
        <published>2009-11-11T06:37:00+01:00</published>
        <updated>2009-11-11T05:37:00Z</updated>
        <summary>Je suis fasciné par le comportement des oiseaux qui volent en nuage. Je suis capable de contempler béatement ce genre de méta-créature pendant de longues minutes : Du coup je me suis amusé à développer en Silverlight une simulation (stricto...</summary>
        <author>
            <name>DenisDollfus</name>
        </author>
        <category term="Silverlight" />

    <content type="xhtml" xml:lang="fr-FR" xml:base="http://www.ergotinfo.fr/architecture/"><div xmlns="http://www.w3.org/1999/xhtml"><p>Je suis fasciné par le comportement des oiseaux qui volent en nuage. Je suis capable de contempler béatement ce genre de méta-créature pendant de longues minutes :</p>

<p /><center><object height="344" width="425"><param name="movie" value="http://www.youtube.com/v/MIzlcH2q6Vo&amp;hl=fr&amp;fs=1&amp;" /><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><embed allowfullscreen="true" allowscriptaccess="always" height="344" src="http://www.youtube.com/v/MIzlcH2q6Vo&amp;hl=fr&amp;fs=1&amp;" type="application/x-shockwave-flash" width="425" /></object></center><p />

<p>Du coup je me suis amusé à développer en Silverlight une simulation (<em>stricto sensu</em>, c'est plus une animation qu'une simulation -- il faut bien ergoter de temps en temps pour justifier 'ergotinfo') d'un nuage de 300 oiseaux et à l'ajouter à la bannière de ce blog. Si vous n'avez pas <a href="http://www.microsoft.com/silverlight/get-started/install/default.aspx" target="_blank">Silverlight,</a> cette vidéo peut vous donner une idée de l'animation :</p>

<p /><center><object height="344" width="425"><param name="movie" value="http://www.youtube.com/v/LsyotCzlrZo&amp;hl=fr&amp;fs=1&amp;" /><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><embed allowfullscreen="true" allowscriptaccess="always" height="344" src="http://www.youtube.com/v/LsyotCzlrZo&amp;hl=fr&amp;fs=1&amp;" type="application/x-shockwave-flash" width="425" /></object></center><p />

<p>L'animation consomme goulument du processeur, j'ai donc ajouté un bouton marche/arrêt en bas à gauche de la bannière : </p><center>
<a href="http://www.ergotinfo.fr/.a/6a00d8341c871f53ef0120a662767b970b-pi" style="display: inline;"><img alt="StartStop" border="0" class="asset asset-image at-xid-6a00d8341c871f53ef0120a662767b970b " src="http://www.ergotinfo.fr/.a/6a00d8341c871f53ef0120a662767b970b-800wi" title="StartStop" /></a></center>
<p>Ca marche bien sous Firefox, Internet Explorer et Opera. Chrome a <a href="http://code.google.com/p/chromium/issues/detail?id=12670">un bug connu</a> de gestion de la transparence qui pose quelques problèmes d'affichage (fond noir au démarrage, titre partiellement caché) mais bon ça passe.</p><p>La prochaine fois, je tente de simuler une autre merveille de la nature, un réseau de vers annelés qui se comporte comme un organisme doté de muscles, de nerfs, de capteurs de niveau d'eau, etc. La nature peut <a href="http://www.gizmodo.fr/2009/07/01/les-horribles-creatures-des-egouts-sont-bien-reelles.html" target="_blank">nous surprendre jusque dans les égouts</a>. C'est juste un peu moins photogénique.</p><p /><p /><xhtml:img xmlns:xhtml="http://www.w3.org/1999/xhtml" src="http://feeds.feedburner.com/~r/typepad/DenisDollfus/EcosystemInfo/~4/FlaM6znEX-M" height="1" width="1" /></div></content>



    <feedburner:origLink>http://www.ergotinfo.fr/architecture/2009/11/un-nuage-doiseaux-en-silverlight.html</feedburner:origLink></entry>

</feed><!-- ph=1 --><!-- nhm:from_kauri -->
