<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>Simon on the (dot)Net</title><link>http://blogs.labo-dotnet.com/simon/</link><description>L'homme qui codait en do dièse</description><managingEditor>Simon Ferquel</managingEditor><dc:language>fr-FR</dc:language><generator>.Text Version 0.95.2004.101</generator><item><dc:creator>Simon Ferquel</dc:creator><title>Ce blog déménage</title><link>http://blogs.labo-dotnet.com/simon/archive/2007/07/22/18864.aspx</link><pubDate>Sun, 22 Jul 2007 22:06:00 GMT</pubDate><guid>http://blogs.labo-dotnet.com/simon/archive/2007/07/22/18864.aspx</guid><wfw:comment>http://blogs.labo-dotnet.com/simon/comments/18864.aspx</wfw:comment><comments>http://blogs.labo-dotnet.com/simon/archive/2007/07/22/18864.aspx#Feedback</comments><slash:comments>29</slash:comments><wfw:commentRss>http://blogs.labo-dotnet.com/simon/comments/commentRss/18864.aspx</wfw:commentRss><trackback:ping>http://blogs.labo-dotnet.com/simon/services/trackbacks/18864.aspx</trackback:ping><description>&lt;P&gt;Bonjour &amp;#224; tous,&lt;/P&gt;
&lt;P&gt;N'&amp;#233;tant maintenant plus &amp;#224; Supinfo, je d&amp;#233;m&amp;#233;nage mon blog.&lt;/P&gt;
&lt;P&gt;Vous pourrez trouver mainenant de mes nouvelles sur : &lt;A href="http://www.simonferquel.net/blog/Default.aspx"&gt;http://www.simonferquel.net/blog/Default.aspx&lt;/A&gt;. Mettez &amp;#224; jour vos lecteurs RSS!&lt;/P&gt;&lt;img src ="http://blogs.labo-dotnet.com/simon/aggbug/18864.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>Simon Ferquel</dc:creator><title>Install Visual Studio Script# templates in Orcas</title><link>http://blogs.labo-dotnet.com/simon/archive/2007/06/25/17884.aspx</link><pubDate>Mon, 25 Jun 2007 09:43:00 GMT</pubDate><guid>http://blogs.labo-dotnet.com/simon/archive/2007/06/25/17884.aspx</guid><wfw:comment>http://blogs.labo-dotnet.com/simon/comments/17884.aspx</wfw:comment><comments>http://blogs.labo-dotnet.com/simon/archive/2007/06/25/17884.aspx#Feedback</comments><slash:comments>111</slash:comments><wfw:commentRss>http://blogs.labo-dotnet.com/simon/comments/commentRss/17884.aspx</wfw:commentRss><trackback:ping>http://blogs.labo-dotnet.com/simon/services/trackbacks/17884.aspx</trackback:ping><description>&lt;P&gt;The installation package of Script# contains both Script# librairies and compilers, and Visual Studio project and item templates. The problem is that the installer has been created to install these templates in Visual Studio 2005, so they do not appear in Orcas. But there is a workaround.&lt;/P&gt;
&lt;P&gt;Using a fabulous little tool (&lt;A href="http://legroom.net/software/uniextract"&gt;Universal Extractor&lt;/A&gt;), you can unpack the MSI. Then, you can copy the templates to your Orcas Template repository: (in this example we use the user template repository, which is very usefull when you are not an administrator)&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;[MSI folder]\VSCSharpProjTemplateFolder\Script# -&amp;gt; %USERPROFILE%\Documents\Visual Studio Codename Orcas\Templates\ProjectTemplates\Visual C#\Script#&lt;/LI&gt;
&lt;LI&gt;[MSI folder]\VSCSharpItemTemplateFolder\Script# -&amp;gt; %USERPROFILE%\Documents\Visual Studio Codename Orcas\Templates\ItemTemplates\Visual C#\Script#&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;I do not use the other templates, but you should be able to find where to put them easily if needed.&lt;/P&gt;&lt;img src ="http://blogs.labo-dotnet.com/simon/aggbug/17884.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>Simon Ferquel</dc:creator><title>Script# and ASP.NET Ajax: Support for WEB Services Video</title><link>http://blogs.labo-dotnet.com/simon/archive/2007/06/08/17379.aspx</link><pubDate>Fri, 08 Jun 2007 12:50:00 GMT</pubDate><guid>http://blogs.labo-dotnet.com/simon/archive/2007/06/08/17379.aspx</guid><wfw:comment>http://blogs.labo-dotnet.com/simon/comments/17379.aspx</wfw:comment><comments>http://blogs.labo-dotnet.com/simon/archive/2007/06/08/17379.aspx#Feedback</comments><slash:comments>15</slash:comments><wfw:commentRss>http://blogs.labo-dotnet.com/simon/comments/commentRss/17379.aspx</wfw:commentRss><trackback:ping>http://blogs.labo-dotnet.com/simon/services/trackbacks/17379.aspx</trackback:ping><description>&lt;P&gt;I just made a video presenting Script# with ASP.NET AJAX and my Visual Studio Add-in for Web Service support.&lt;/P&gt;
&lt;P&gt;You can see it here: &lt;A href="http://blogs.labo-dotnet.com/simon/videos/DemoSSWS_fr.wmv"&gt;http://blogs.labo-dotnet.com/simon/videos/DemoSSWS_fr.wmv&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;It is in french, and I don't know I will have time to make an english&amp;nbsp;traduction... So if you are intersted in doing this, please &lt;A href="mailto:simon.ferquel@supinfo.com"&gt;contact me&lt;/A&gt;.&lt;/P&gt;
&lt;P&gt;You can download the &lt;A href="http://blogs.labo-dotnet.com/simon/developments/Demo SSWSBase.zip"&gt;base solution &lt;/A&gt;(without Ajax), and the &lt;A href="http://blogs.labo-dotnet.com/simon/developments/Demo SSWSFinal.zip"&gt;end solution&lt;/A&gt;. In both cases you will need the Northwind DataBase (SQL Server or Access version), and you will have to&amp;nbsp;modify the connection string (and provider name if you use Access version) in the web.config file.&lt;/P&gt;&lt;img src ="http://blogs.labo-dotnet.com/simon/aggbug/17379.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>Simon Ferquel</dc:creator><title>Script# and ASP.NET Ajax: Support for WEB Services [updated]</title><link>http://blogs.labo-dotnet.com/simon/archive/2007/05/31/17227.aspx</link><pubDate>Thu, 31 May 2007 11:27:00 GMT</pubDate><guid>http://blogs.labo-dotnet.com/simon/archive/2007/05/31/17227.aspx</guid><wfw:comment>http://blogs.labo-dotnet.com/simon/comments/17227.aspx</wfw:comment><comments>http://blogs.labo-dotnet.com/simon/archive/2007/05/31/17227.aspx#Feedback</comments><slash:comments>49</slash:comments><wfw:commentRss>http://blogs.labo-dotnet.com/simon/comments/commentRss/17227.aspx</wfw:commentRss><trackback:ping>http://blogs.labo-dotnet.com/simon/services/trackbacks/17227.aspx</trackback:ping><description>&lt;P&gt;&lt;SPAN lang=EN-US style="mso-ansi-language: EN-US"&gt;As you can see with my previous article, I am a Script# enthusiast. But there are some limitations in the actual version. One of the most important examples is the lack of support for ASP.NET Ajax proxies for WEB Services. &lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN lang=EN-US style="mso-ansi-language: EN-US"&gt;Indeed, ASP.NET Ajax generates JavaScript proxy classes allowing browser-side code to call ASP.NET WEB Services methods marked as [ScriptService] and [ScriptMethod].&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN lang=EN-US style="mso-ansi-language: EN-US"&gt;As Script# does not allow to write code calling classes and methods that it does not know, we have to build Script# assemblies that contain stubs of the proxy classes generated by ASP.NET Ajax. In order to do that, we need to look at the JS code generated by ASP.NET Ajax and rewrite the declarations in C#. It is a very time-expensive process, so I decided to create a Visual Studio plug-in that do that automatically.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN lang=EN-US style="mso-ansi-language: EN-US"&gt;It works using reflection on your WEB Application assembly, looking for [ScriptService]-marked WEB Services and [ScriptMethod]-marked methods, generating C# code and compiling it with Script#.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN lang=EN-US style="mso-ansi-language: EN-US"&gt;You can download this add-in &lt;A href="http://blogs.labo-dotnet.com/simon/developments/SSWSSetup.msi"&gt;here&lt;/A&gt;, and its source code &lt;A href="http://blogs.labo-dotnet.com/simon/developments/SSWS.zip"&gt;here&lt;/A&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN lang=EN-US style="mso-ansi-language: EN-US"&gt;To use it, build your WEB Application project, right click on it in Solution Explorer and click &amp;#8220;Generate Script# stubs for Web Services&amp;#8230;&amp;#8221; Chose a path to store the generated assembly, click OK, and that is done.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN lang=EN-US style="mso-ansi-language: EN-US"&gt;PS: this add-in only works with WEB Application project template (not with Web site templates).&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN lang=EN-US style="mso-ansi-language: EN-US"&gt;&lt;o:p&gt;[updated]:&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN lang=EN-US style="mso-ansi-language: EN-US"&gt;&lt;o:p&gt;I have just made a video presenting this: &lt;A href="http://blogs.labo-dotnet.com/simon/archive/2007/06/08/17379.aspx"&gt;http://blogs.labo-dotnet.com/simon/archive/2007/06/08/17379.aspx&lt;/A&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;img src ="http://blogs.labo-dotnet.com/simon/aggbug/17227.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>Simon Ferquel</dc:creator><title>Script# and ASP.NET AJAX article</title><link>http://blogs.labo-dotnet.com/simon/archive/2007/05/29/17156.aspx</link><pubDate>Tue, 29 May 2007 10:31:00 GMT</pubDate><guid>http://blogs.labo-dotnet.com/simon/archive/2007/05/29/17156.aspx</guid><wfw:comment>http://blogs.labo-dotnet.com/simon/comments/17156.aspx</wfw:comment><comments>http://blogs.labo-dotnet.com/simon/archive/2007/05/29/17156.aspx#Feedback</comments><slash:comments>54</slash:comments><wfw:commentRss>http://blogs.labo-dotnet.com/simon/comments/commentRss/17156.aspx</wfw:commentRss><trackback:ping>http://blogs.labo-dotnet.com/simon/services/trackbacks/17156.aspx</trackback:ping><description>&lt;P&gt;Hi there,&lt;/P&gt;
&lt;P&gt;I have not been posting for a long time, and sorry for every MyExpos&amp;#233; users, I am not releasing a new version of it (as I am very busy at this moment, and I will be also the next few months). &lt;/P&gt;
&lt;P&gt;&lt;A href="http://www.nikhilk.net/"&gt;Nikhil Kothari&lt;/A&gt; has recently published a new version of &lt;A href="http://projects.nikhilk.net/Projects/ScriptSharp.aspx"&gt;Script#&lt;/A&gt; (a tool that works like &lt;A href="http://code.google.com/webtoolkit/"&gt;GWT&lt;/A&gt; that generates JavaScript client-scripts from C# code). The greatest new feature is the support of &lt;A href="http://ajax.asp.net/"&gt;ASP.NET AJAX&lt;/A&gt;. So I wrote a tutorial to discover Script# by creating ASP.NET AJAX components. In this article you will create an IP v4 calculator that can compute Network IPs from an host IP and a subnet mask. All the behavior will be executed client-side and will be generated by Script# from C# code (you will enjoy IntelliSense, refactoring, class diagrams etc. in your client code).&lt;/P&gt;
&lt;P&gt;Here is the english version (thanks to &lt;A href="http://www.madd0.com/fr/index.php"&gt;Mauricio&lt;/A&gt; for the help&amp;nbsp;on translation): &lt;A href="http://blogs.labo-dotnet.com/simon/docs/ScriptSharp%20and%20ASP.Net%20Ajax[en].pdf"&gt;ScriptSharp and ASP.Net Ajax[en].pdf&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;And here is the french version: &lt;A href="http://blogs.labo-dotnet.com/simon/docs/ScriptSharp%20et%20ASP.Net%20Ajax[fr].pdf"&gt;ScriptSharp et ASP.Net Ajax[fr].pdf&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Update:&lt;/P&gt;
&lt;P&gt;There was a mistake in the presentation of Script# (I wrote that Script# was inspired from GWT, and that is not true). This has been repaired.&lt;/P&gt;
&lt;P&gt;I released a &lt;A href="http://blogs.labo-dotnet.com/simon/archive/2007/05/31/17227.aspx"&gt;Visual Add-in allowing to use Script# to call Web Services&lt;/A&gt;.&lt;/P&gt;&lt;img src ="http://blogs.labo-dotnet.com/simon/aggbug/17156.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>Simon Ferquel</dc:creator><title>RE : [Misc] I've been tagged</title><link>http://blogs.labo-dotnet.com/simon/archive/2007/02/27/15764.aspx</link><pubDate>Tue, 27 Feb 2007 11:54:00 GMT</pubDate><guid>http://blogs.labo-dotnet.com/simon/archive/2007/02/27/15764.aspx</guid><wfw:comment>http://blogs.labo-dotnet.com/simon/comments/15764.aspx</wfw:comment><comments>http://blogs.labo-dotnet.com/simon/archive/2007/02/27/15764.aspx#Feedback</comments><slash:comments>399</slash:comments><wfw:commentRss>http://blogs.labo-dotnet.com/simon/comments/commentRss/15764.aspx</wfw:commentRss><trackback:ping>http://blogs.labo-dotnet.com/simon/services/trackbacks/15764.aspx</trackback:ping><description>&lt;P&gt;As &lt;A href="http://blogs.developpeur.org/patrice/default.aspx"&gt;Patrice&lt;/A&gt; tagged me, it is at me now to say 5 &amp;#8220;unknown&amp;#8221; things about me. I think that will not be very difficult as I do not say anything about me on this tech&amp;#8217;blog. So&amp;#8230; let&amp;#8217;s go!&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;First of all, I am from Orleans, a little-medium sized town 120 km south to Paris where I lived until I have been 17 (and until I have had my &amp;#8220;baccalaur&amp;#233;at&amp;#8221;). I came in Paris and have been a student at &lt;A href="http://www.supinfo.com/"&gt;Supinfo&lt;/A&gt; since this time (for the curious ones, I am 22 now, less than most of my current students ^^).&lt;/LI&gt;
&lt;LI&gt;I am a musician (a fucking artist as would say my friends of Supinfo .Net Lab&amp;#8230;), I play the guitar and the clarinet (at least, I played the clarinet, since I did not play it for about 6 months).&lt;/LI&gt;
&lt;LI&gt;I am a &amp;#8220;Supinfo certified trainer&amp;#8221; since September 2005. That means that I specialized myself in Microsoft .Net technologies and WEB development, and for my two last years at school, I teach to other students stuff like C#, ASP.NET, Windows Forms, ADO.NET, Remoting and non Microsoft subjects like XHTML/CSS, JavaScript, PHP&amp;#8230; That means too that when I am not teaching, I am training myself on recent or upcoming technologies such as .Net 3.0, C# 3, ADO.NET vNext, ASP.Net Ajax extensions (Soon on this blog, a forum engine based on ASP.NET and Ajax extensions which is my &amp;#8220;project of the moment&amp;#8221;. I promise something pretty cool).&lt;/LI&gt;
&lt;LI&gt;I am in my last year at Supinfo&amp;#8230; so I am looking for a job. I will be free from September 2007. Feel free to download source codes on this blog to have an overview of my technical skills and maybe send an email to &amp;#8220;Simon dot ferquel [nospam] at supinfo dot com&amp;#8221; for more details on my profile.&lt;/LI&gt;
&lt;LI&gt;I have a big default: I am a World of Warcraft player. A few months ago, I was really addicted, I have even been a raid leader, I played every nights&amp;#8230; This game is very cool, but also very life-intrusive&amp;#8230; So I reduced my game-time and replaced it (in part...) with &amp;#8220;at-home development&amp;#8221; time. MyExpos&amp;#233; is born during this &amp;#8220;World of Warcraft cure&amp;#8221;!&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;So I have to tag other blogs to propagate the chain&amp;#8230; The winners are: &lt;A href="http://blog.myspace.com/luclebland"&gt;Yann Lautr&amp;#233;dou&lt;/A&gt;&amp;nbsp;(my team manager), &lt;A href="http://blogs.developpeur.org/tom/default.aspx"&gt;Thomas Lebrun&lt;/A&gt; (another SCT actually in internship at Microsoft France), and &lt;A href="http://blogs.msdn.com/mitsufu/"&gt;Mitsuru Furuta&lt;/A&gt; (Microsoft France evangelist, C# addicted and leader of the MathFX project).&lt;BR&gt;&lt;/P&gt;&lt;img src ="http://blogs.labo-dotnet.com/simon/aggbug/15764.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>Simon Ferquel</dc:creator><title>My way to VISTA RTM</title><link>http://blogs.labo-dotnet.com/simon/archive/2007/02/13/15503.aspx</link><pubDate>Tue, 13 Feb 2007 09:58:00 GMT</pubDate><guid>http://blogs.labo-dotnet.com/simon/archive/2007/02/13/15503.aspx</guid><wfw:comment>http://blogs.labo-dotnet.com/simon/comments/15503.aspx</wfw:comment><comments>http://blogs.labo-dotnet.com/simon/archive/2007/02/13/15503.aspx#Feedback</comments><slash:comments>316</slash:comments><wfw:commentRss>http://blogs.labo-dotnet.com/simon/comments/commentRss/15503.aspx</wfw:commentRss><trackback:ping>http://blogs.labo-dotnet.com/simon/services/trackbacks/15503.aspx</trackback:ping><description>&lt;P&gt;Hi everyone.&lt;/P&gt;
&lt;P&gt;I received many encouragements for my work on MyExpos&amp;#233;, and I thank you very much for all of that. &lt;/P&gt;
&lt;P&gt;As you can see, MyExpos&amp;#233; has not been updated since Windows VISTA RTM is out for enterprises. There are&amp;nbsp;multiple reasons for that, much work at Supinfo, many other projects (you will see some of these in the upcoming weeks / months on this blog), but the main reason is that I had no Windows VISTA license (except a Business N version from my school&amp;nbsp;that I am boycotting)&amp;nbsp;to continue developping MyExpos&amp;#233; on RTM.&lt;/P&gt;
&lt;P&gt;I installed Vista Ultimate&amp;nbsp;two days ago on my laptop. So development will restart very soon. In a couple of weeks, I will release a new version with several improvements :&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Code robustness 
&lt;LI&gt;Improved security (currently, plugins are loaded in the same AppDomain as the core of MyExpos&amp;#233;, with privileges of the current user... Evil developpers can easily write keylogger plugins for MyExpos&amp;#233;, that will not be possible anymore in next version). 
&lt;LI&gt;Improved performances 
&lt;LI&gt;Bug fixes with the taskbar mini-app 
&lt;LI&gt;Improved performances on multi-core platforms 
&lt;LI&gt;Settings to enable / disable background transparency 
&lt;LI&gt;Settings to set transparency of the thumbnails 
&lt;LI&gt;Improved installer&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;Lastly, I am looking for a developper who have a Windows Vista 64 bits capable computer to maintain my code for this platform (or a hardware manufacturer to "lend" me such a computer ^^).&lt;/P&gt;
&lt;P&gt;Contact me at : simon dot ferquel [nospam] at supinfo dot com&lt;/P&gt;&lt;img src ="http://blogs.labo-dotnet.com/simon/aggbug/15503.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>Simon Ferquel</dc:creator><title>Expression Blend: My first impressions</title><link>http://blogs.labo-dotnet.com/simon/archive/2006/12/05/12554.aspx</link><pubDate>Tue, 05 Dec 2006 17:22:00 GMT</pubDate><guid>http://blogs.labo-dotnet.com/simon/archive/2006/12/05/12554.aspx</guid><wfw:comment>http://blogs.labo-dotnet.com/simon/comments/12554.aspx</wfw:comment><comments>http://blogs.labo-dotnet.com/simon/archive/2006/12/05/12554.aspx#Feedback</comments><slash:comments>21</slash:comments><wfw:commentRss>http://blogs.labo-dotnet.com/simon/comments/commentRss/12554.aspx</wfw:commentRss><trackback:ping>http://blogs.labo-dotnet.com/simon/services/trackbacks/12554.aspx</trackback:ping><description>&lt;P&gt;As I have used Expression Interactive Designer a lot in precedent projects, I was curious about new stuff in Expression Blend (the final name of Interactive Designer, aka Sparkle Designer).&lt;/P&gt;
&lt;P&gt;So there are some very good stuff&amp;#8230; and some not so good at all !&lt;/P&gt;
&lt;P&gt;I will summarize my impressions with a good / bad list by theme.&lt;/P&gt;
&lt;H2&gt;Layout&lt;/H2&gt;
&lt;H3&gt;Good&lt;/H3&gt;
&lt;UL&gt;
&lt;LI&gt;The new toolbar (but not its placement, at the left of the screen) 
&lt;LI&gt;Grouping of the toolboxes by themes (Interaction, Project, Properties, Resources, Results)&lt;/LI&gt;&lt;/UL&gt;
&lt;H3&gt;Bad&lt;/H3&gt;
&lt;UL&gt;
&lt;LI&gt;Lack of interface customizations (we cannot dock the toolboxes where we want) 
&lt;LI&gt;Timeline placement: It is in a vertical toolbox, and fit in the half of the toolbox width!!! 
&lt;LI&gt;No "auto-hide" functionality for the toolboxes (like Visual Studio toolboxes)&lt;/LI&gt;&lt;/UL&gt;
&lt;H2&gt;Features&lt;/H2&gt;
&lt;H3&gt;Good&lt;/H3&gt;
&lt;UL&gt;
&lt;LI&gt;Event triggers and property triggers support (the best new feature of this version) 
&lt;LI&gt;Style / template editor (much better) 
&lt;LI&gt;Asset library 
&lt;LI&gt;Syntax highlighting of Xaml code...&lt;/LI&gt;&lt;/UL&gt;
&lt;H3&gt;Bad&lt;/H3&gt;
&lt;UL&gt;
&lt;LI&gt;... but no IntelliSense! 
&lt;LI&gt;Lack of style editing / affectation options using controls contextual menus (whereas templates are present). Workaround:&amp;nbsp; Menu bar -&amp;gt; Object -&amp;gt; Edit Style 
&lt;LI&gt;Integration with Visual Studio: No intellisense because the project is not loaded when you double-click on a .cs file&lt;/LI&gt;&lt;/UL&gt;
&lt;H2&gt;General design&lt;/H2&gt;
&lt;H3&gt;Good&lt;/H3&gt;
&lt;UL&gt;
&lt;LI&gt;Hmm Hmm... 
&lt;LI&gt;Icons of toolbar buttons and controls are not so bad...&lt;/LI&gt;&lt;/UL&gt;
&lt;H3&gt;Bad (here is the dark side of Expression Blend ^^)&lt;/H3&gt;
&lt;UL&gt;
&lt;LI&gt;Layout problems (see the layout part of this post) 
&lt;LI&gt;The Dark theme (default theme of Blend) is awful: it is dark, not user friendly, unreadable, and it does not respect color preferences of the user (and it does not integrate well in the user environment, definitely) 
&lt;LI&gt;It is even worst for short sighted people (low contrast, text written in gray over dark gray, default police size...) 
&lt;LI&gt;Menus design make me think of old dos text editors (squared, gray... ugly) 
&lt;LI&gt;The worst is for disabled elements (disabled menu items, for example, are printed in dark gray over darker gray) 
&lt;LI&gt;Light theme is even worst (uglier, really awful)&lt;/LI&gt;&lt;/UL&gt;&lt;img src ="http://blogs.labo-dotnet.com/simon/aggbug/12554.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>Simon Ferquel</dc:creator><title>My Exposé : new CTP today :p</title><link>http://blogs.labo-dotnet.com/simon/archive/2006/11/08/11485.aspx</link><pubDate>Wed, 08 Nov 2006 16:12:00 GMT</pubDate><guid>http://blogs.labo-dotnet.com/simon/archive/2006/11/08/11485.aspx</guid><wfw:comment>http://blogs.labo-dotnet.com/simon/comments/11485.aspx</wfw:comment><comments>http://blogs.labo-dotnet.com/simon/archive/2006/11/08/11485.aspx#Feedback</comments><slash:comments>209</slash:comments><wfw:commentRss>http://blogs.labo-dotnet.com/simon/comments/commentRss/11485.aspx</wfw:commentRss><trackback:ping>http://blogs.labo-dotnet.com/simon/services/trackbacks/11485.aspx</trackback:ping><description>&lt;P&gt;Today is a release date for My Expos&amp;#233;.&lt;/P&gt;
&lt;P&gt;Many improvements in this version:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;More natural thumbnails placement (no more grid) 
&lt;LI&gt;Tray icon with configuration dialog 
&lt;LI&gt;No more configuration file in ProgramFiles folder 
&lt;LI&gt;New object model for triggers (better resource freeing, new trigger methods, informations about the state of "MyExpose"...) 
&lt;LI&gt;Support for non-96 dpi screen settings 
&lt;LI&gt;Support of Windows Speech Recognition (open the configuration dialog, add a trigger, choose VoiceTrigger and configure it) 
&lt;LI&gt;Beautyful icons from &lt;A href="http://blog.madd0.com/"&gt;Mauricio Diaz&lt;/A&gt; (thanks a lot Mauricio ^^) 
&lt;LI&gt;...&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;You can download &lt;A href="http://blogs.labo-dotnet.com/simon/developments/MyExposeNovember2006CTP.msi"&gt;binaries&lt;/A&gt; or &lt;A href="http://blogs.labo-dotnet.com/simon/developments/MyExposeNovember2006CTP.zip"&gt;source code&lt;/A&gt;.&lt;/P&gt;
&lt;P&gt;[Update]&lt;/P&gt;
&lt;P&gt;If you have problems running MyExpos&amp;#233;, try to install the following package :&lt;BR&gt;&lt;A href="http://www.microsoft.com/downloads/details.aspx?familyid=32BC1BEE-A3F9-4C13-9C99-220B62A191EE&amp;amp;displaylang=en "&gt;http://www.microsoft.com/downloads/details.aspx?familyid=32BC1BEE-A3F9-4C13-9C99-220B62A191EE&amp;amp;displaylang=en &lt;/A&gt; &lt;/P&gt;
&lt;P&gt;If you have have already installed an old version of My Expos&amp;#233;, please uninstall it before trying to install this version.&lt;/P&gt;
&lt;P&gt;For developers who are interested in developping their own triggers, see the code of the VoiceTrigger project.&lt;/P&gt;
&lt;P&gt;&lt;A href="http://www.dotnetkicks.com/kick/?url=http://blogs.labo-dotnet.com/simon/archive/2006/11/08/11485.aspx"&gt;&lt;IMG alt="kick it on DotNetKicks.com" src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http://blogs.labo-dotnet.com/simon/archive/2006/11/08/11485.aspx" border=0&gt;&lt;/A&gt; &lt;A href="http://www.digg.com/software/New_release_of_My_Expose_an_Expose_like_application_for_Windows_Vista"&gt;&lt;IMG height=17 alt=Digg! src="http://digg.com/img/badges/91x17-digg-button.png" width=91&gt; &lt;/A&gt;&lt;/P&gt;&lt;img src ="http://blogs.labo-dotnet.com/simon/aggbug/11485.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>Simon Ferquel</dc:creator><title>My Exposé : A Mac OS X Exposé implementation for Windows VISTA [Update]</title><link>http://blogs.labo-dotnet.com/simon/archive/2006/10/06/11250.aspx</link><pubDate>Fri, 06 Oct 2006 13:58:00 GMT</pubDate><guid>http://blogs.labo-dotnet.com/simon/archive/2006/10/06/11250.aspx</guid><wfw:comment>http://blogs.labo-dotnet.com/simon/comments/11250.aspx</wfw:comment><comments>http://blogs.labo-dotnet.com/simon/archive/2006/10/06/11250.aspx#Feedback</comments><slash:comments>140</slash:comments><wfw:commentRss>http://blogs.labo-dotnet.com/simon/comments/commentRss/11250.aspx</wfw:commentRss><trackback:ping>http://blogs.labo-dotnet.com/simon/services/trackbacks/11250.aspx</trackback:ping><description>&lt;P&gt;A new version is available here:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.labo-dotnet.com/simon/archive/2006/11/08/11485.aspx"&gt;http://blogs.labo-dotnet.com/simon/archive/2006/11/08/11485.aspx&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Here is the original message:&lt;/P&gt;
&lt;P&gt;Even if it was written in French, my &lt;A href="http://blogs.labo-dotnet.com/simon/archive/2006/09/12/11116.aspx"&gt;last post &lt;/A&gt;seems to have been read by many people from&amp;nbsp;&lt;A href="http://blogs.msdn.com/greg_schechter/archive/2006/09/27/775027.aspx"&gt;all&lt;/A&gt;&amp;nbsp;&lt;A href="http://blog.dotnet-paderborn.de/2006/09/26/Die+Desktop+Window+Manager+API+Teil+1++Expose+Fuumlr+Vista.aspx"&gt;around&lt;/A&gt; &lt;A href="http://www.brethorsting.com/uidesign/2006/09/exposing_expose_on_windows_vis.html"&gt;the&lt;/A&gt; &lt;A href="http://blogs.msdn.com/kamvedbrat/archive/2006/09/25/770937.aspx"&gt;world&lt;/A&gt;. Thanks a lot&amp;nbsp;to all my refferrers.&amp;nbsp;So I am pleased to annouce a new version of MyExpos&amp;#233; (sorry it is not yet on Codeplex...), and this time, in english !&lt;/P&gt;
&lt;P&gt;What's new in this version ?&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;More robust code: Detection of resolution changes, desktop composition disabling... 
&lt;LI&gt;"Sensitive screen corners": Expos&amp;#233; can be triggered by the mouse 
&lt;LI&gt;Configuration file: Possibility to change settings like trigger keys/corners without restarting MyExpos&amp;#233; 
&lt;LI&gt;Extensibility: Third party developpers can develop their own triggers 
&lt;LI&gt;Incomplete support of multi-screen configurations: Multi-screen configurations may encounter some visual bugs but should work as expected. 
&lt;LI&gt;Performance: Better performances on multicore configurations (thanks to OpenMP)&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;You can download either &lt;A href="http://blogs.labo-dotnet.com/simon/developments/MyExpose-src.zip"&gt;Source code&lt;/A&gt; (you should have to&amp;nbsp;configure projects to target your windows SDK folder)&amp;nbsp;or &lt;A href="http://blogs.labo-dotnet.com/simon/developments/MyExposeSetup.msi"&gt;binaries&lt;/A&gt;.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;img src ="http://blogs.labo-dotnet.com/simon/aggbug/11250.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>Simon Ferquel</dc:creator><title>[Copycat] Expose sous Windows Vista RC1 [update]</title><link>http://blogs.labo-dotnet.com/simon/archive/2006/09/12/11116.aspx</link><pubDate>Tue, 12 Sep 2006 19:20:00 GMT</pubDate><guid>http://blogs.labo-dotnet.com/simon/archive/2006/09/12/11116.aspx</guid><wfw:comment>http://blogs.labo-dotnet.com/simon/comments/11116.aspx</wfw:comment><comments>http://blogs.labo-dotnet.com/simon/archive/2006/09/12/11116.aspx#Feedback</comments><slash:comments>107</slash:comments><wfw:commentRss>http://blogs.labo-dotnet.com/simon/comments/commentRss/11116.aspx</wfw:commentRss><trackback:ping>http://blogs.labo-dotnet.com/simon/services/trackbacks/11116.aspx</trackback:ping><description>&lt;P&gt;Update: new version &lt;A href="http://blogs.labo-dotnet.com/simon/archive/2006/10/06/11250.aspx"&gt;here&lt;/A&gt;.&lt;/P&gt;
&lt;P&gt;Le week end dernier, j'ai eu une id&amp;#233;e lumineuse... J'ai r&amp;#233;fl&amp;#233;chi &amp;#224; ce qu'apportait Mac OS X en terme d'exp&amp;#233;rience utilisateur et qui n'&amp;#233;xistait pas sur Windows Vista. La premi&amp;#232;re id&amp;#233;e qui m'est venue est "Expos&amp;#233;". &lt;/P&gt;
&lt;P&gt;Bref rappel sur cette feature &amp;#224; la fois toute b&amp;#232;te et super bien pens&amp;#233;e : &lt;/P&gt;
&lt;P&gt;En tant que d&amp;#233;veloppeur (et aussi en tant que Geek d'ailleurs), il m'arrive souvent d'avoir beaucoup (&amp;#233;norm&amp;#233;ment) de fen&amp;#234;tres ouvertes. Pour m'y retrouver, c'est bien souvent la gal&amp;#232;re, et je perds beaucoup (&amp;#233;norm&amp;#233;ment) de temps &amp;#224; essayer de trouver LA fen&amp;#234;tre dont j'ai besoin (cela se termine bien souvent par l'ouverture d'une nouvelle fen&amp;#234;tre au bout de 30 secondes de recherche ^^). Expos&amp;#233; permet par la pression d'une simple touche du clavier (F9 sur Mac) de voir l'int&amp;#233;gralit&amp;#233; des fen&amp;#234;tres sous forme de miniatures dispers&amp;#233;es sur tout l'&amp;#233;cran, ce qui permet de localiser imm&amp;#233;diatement la fen&amp;#234;tre qui nous int&amp;#233;resse et la faire passer en premier plan.&lt;/P&gt;
&lt;P&gt;Bien s&amp;#251;r Windows Vista poss&amp;#232;de quelques fonctionnalit&amp;#233;s similaires, mais dont l'ergonomie n'est pas aussi efficace (Flip3D ne permet pas de visualiser toutes les fenetres en m&amp;#234;me temps, et en plus elles sont de travers :p, et le nouveau alt+tab affiche des miniatures trop petites).&lt;/P&gt;
&lt;P&gt;Et bien ma ch&amp;#232;re Martine, votre serviteur vous apporte l'&amp;#233;bauche d'un rem&amp;#232;de &amp;#224; cet abominable manquement. Ca se trouve &lt;A href="http://blogs.labo-dotnet.com/simon/developments/expose.zip"&gt;ici&lt;/A&gt;, c'est absoluement pas support&amp;#233;, ca tourne sous Windows Vista RC1, il n'y a aucune gestion d'erreurs/exceptions, ca ne fonctionne que si Aero est activ&amp;#233;&amp;nbsp;et c'est cod&amp;#233; en C++ mixte (CLI + code natif pour limiter le nombre de P/Invoke). Ce sera bient&amp;#244;t sur Codeplex, et vous pouvez bien s&amp;#251;r faire n'importe quoi avec les sources...&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.labo-dotnet.com/simon/developments/expose.zip"&gt;&lt;IMG height=343 src="/simon/images/MyExpose.jpg" width=497 border=0&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;(Cliquez sur l'image pour t&amp;#233;l&amp;#233;charger les sources / &amp;#233;x&amp;#233;cutables)&lt;/P&gt;
&lt;P&gt;Au fait, je n'ai pas tout &amp;#224; fait copi&amp;#233; Apple : F9 c'&amp;#233;tait trop chiant comme trigger pour le debugage (ca avait tendance &amp;#224; me rajouter des breakpoints ^^), alors j'ai choisi F12 :).&lt;/P&gt;&lt;img src ="http://blogs.labo-dotnet.com/simon/aggbug/11116.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>Simon Ferquel</dc:creator><title>[WinFX] Flickr Powered by WPF</title><link>http://blogs.labo-dotnet.com/simon/archive/2006/08/23/10957.aspx</link><pubDate>Wed, 23 Aug 2006 16:52:00 GMT</pubDate><guid>http://blogs.labo-dotnet.com/simon/archive/2006/08/23/10957.aspx</guid><wfw:comment>http://blogs.labo-dotnet.com/simon/comments/10957.aspx</wfw:comment><comments>http://blogs.labo-dotnet.com/simon/archive/2006/08/23/10957.aspx#Feedback</comments><slash:comments>250</slash:comments><wfw:commentRss>http://blogs.labo-dotnet.com/simon/comments/commentRss/10957.aspx</wfw:commentRss><trackback:ping>http://blogs.labo-dotnet.com/simon/services/trackbacks/10957.aspx</trackback:ping><description>&lt;P&gt;Bonjour &amp;#224; tous.&lt;/P&gt;
&lt;P&gt;J'ai profit&amp;#233; de la r&amp;#233;installation de ma machine pour installer la CTP de juillet &lt;STRIKE&gt;de WinFX&lt;/STRIKE&gt; du Framework .Net 3.0, les outils de la gamme Expression et tout le tintouin, afin de jouer un peu avec WPF et WCF.&lt;/P&gt;
&lt;P&gt;Voil&amp;#224; donc un petit programme permettant d'int&amp;#233;roger la base de donn&amp;#233;e d'images &lt;A href="http://www.flickr.com/"&gt;Flickr&lt;/A&gt;&amp;nbsp;dans une interface cr&amp;#233;&amp;#233;e gr&amp;#226;ce &amp;#224; Windows Presentation Foundation. &lt;/P&gt;
&lt;P&gt;Bien s&amp;#251;r, pour pouvoir lancer la &lt;A href="http://blogs.labo-dotnet.com/simon/developments/FlickrFXBrowser_bin.zip"&gt;version compil&amp;#233;e&lt;/A&gt;, il vous faudra le &lt;A href="http://www.microsoft.com/downloads/details.aspx?FamilyId=62057A6F-185F-41DB-ABE5-678F6FC388F0&amp;amp;displaylang=en"&gt;Framework .Net 3.0 Runtime July 2006&amp;nbsp;CTP&lt;/A&gt;.&lt;/P&gt;
&lt;P&gt;Pour les aventuriers qui voudraient explorer et compiler le &lt;A href="http://blogs.labo-dotnet.com/simon/developments/FlickrFXBrowser_src.zip"&gt;code source&lt;/A&gt;, il faudra &amp;#233;galement le &lt;A href="http://www.microsoft.com/downloads/details.aspx?familyid=1D7F16B3-D2D5-48F7-9494-6696117EE712&amp;amp;displaylang=en"&gt;Windows SDK July 2006 CTP&lt;/A&gt;.&lt;/P&gt;
&lt;P&gt;A noter que le d&amp;#233;veloppement de cette application a &amp;#233;t&amp;#233; l'occasion de la d&amp;#233;couverte d'un &lt;A href="http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=657637&amp;amp;SiteID=1"&gt;bug&lt;/A&gt;&amp;nbsp;int&amp;#233;ressant (mais qui pour l'instant n'a pas l'air d'int&amp;#233;resser les principaux int&amp;#233;ress&amp;#233;s...).&lt;/P&gt;
&lt;P&gt;Un grand merci &amp;#224; &lt;A href="http://blog.madd0.com/?"&gt;Mauricio Diaz Orlich&lt;/A&gt;&amp;nbsp;qui a fait les visuels (logo du labo, ic&amp;#244;ne du bouton Full Screen et dessin de base de l'&amp;#233;cran de chargement) sous &lt;A href="http://www.microsoft.com/products/expression/en/graphic_designer/gd_free_trial.aspx"&gt;Expression Graphic Designer&lt;/A&gt;.&lt;/P&gt;
&lt;P&gt;A savoir que cette application qui n'a l'air de rien, aborde une bonne partie des nouveaut&amp;#233;s de WPF (Multithreading, animations, templates, styles, triggers, binding, DependencyObjects/DependencyProperties, ressources...).&lt;/P&gt;
&lt;P&gt;Pour finir un petit screenshot :) &lt;/P&gt;
&lt;P&gt;&lt;IMG height=307 src="/simon/images/FlickrFXBrowser.JPG" width=384 border=0&gt;&lt;/P&gt;
&lt;P&gt;PS : apr&amp;#232;s avoir s&amp;#233;lectionn&amp;#233; une photo dans la liste des r&amp;#233;sultats, vous pouvez cliquer sur l'image pour acc&amp;#233;der &amp;#224; la page flickr correspondant &amp;#224; la photo (pour laisser un commentaire ou autre), ou cliquer sur le bouton "Full Screen" pour avoir droit &amp;#224; une jolie animation (qui rame un peu, d'accord, mais jolie quand meme :p)&lt;/P&gt;&lt;img src ="http://blogs.labo-dotnet.com/simon/aggbug/10957.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>Simon Ferquel</dc:creator><title>Article de Thomas Lebrun sur C# 3 et précisions sur les expressions</title><link>http://blogs.labo-dotnet.com/simon/archive/2006/08/08/10892.aspx</link><pubDate>Tue, 08 Aug 2006 12:51:00 GMT</pubDate><guid>http://blogs.labo-dotnet.com/simon/archive/2006/08/08/10892.aspx</guid><wfw:comment>http://blogs.labo-dotnet.com/simon/comments/10892.aspx</wfw:comment><comments>http://blogs.labo-dotnet.com/simon/archive/2006/08/08/10892.aspx#Feedback</comments><slash:comments>28</slash:comments><wfw:commentRss>http://blogs.labo-dotnet.com/simon/comments/commentRss/10892.aspx</wfw:commentRss><trackback:ping>http://blogs.labo-dotnet.com/simon/services/trackbacks/10892.aspx</trackback:ping><description>&lt;P&gt;&lt;A href="http://blogs.developpeur.org/tom/default.aspx"&gt;&lt;SPAN lang=FR&gt;Thomas Lebrun&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN lang=FR&gt; vient de publier un &lt;A href="http://blogs.developpeur.org/tom/archive/2006/08/08/22824.aspx"&gt;article tr&amp;#232;s int&amp;#233;ressant&lt;/A&gt; sur les nouveaut&amp;#233;s de C# 3. Il couvre &amp;#224; peu pr&amp;#234;t tout ce que l&amp;#8217;on sait (et que l&amp;#8217;on peut tester) pour l&amp;#8217;instant sur la nouvelle version du langage ainsi que des technologies qui lui sont associ&amp;#233;es.&lt;/SPAN&gt;&lt;BR&gt;
&lt;P&gt;&lt;SPAN lang=FR&gt;Seulement en parcourant l&amp;#8217;article j&amp;#8217;ai un peu but&amp;#233; sur un paragraphe &amp;#224; propos des expressions Lambda. En effet, d&amp;#8217;apr&amp;#232;s certaines tournures de phrase, on pourrait croire que les expressions Lambda ne sont que des m&amp;#233;thodes anonymes dont on aurait raccourci la syntaxe&amp;#8230; Ce qui est vrai dans certains cas (pour Linq for Objects par exemple), mais qui est loin d&amp;#8217;&amp;#234;tre une g&amp;#233;n&amp;#233;ralit&amp;#233;.&lt;/SPAN&gt;&lt;BR&gt;
&lt;P&gt;&lt;SPAN lang=FR&gt;En effet le principal apport des expressions Lambda est justement la notion d&amp;#8217;"expression". Une expression diff&amp;#232;re d&amp;#8217;une instruction par le fait qu&amp;#8217;elle peut &amp;#234;tre &amp;#233;valu&amp;#233;e et interpr&amp;#233;t&amp;#233;e par le code. On parle alors d&amp;#8217;&amp;#233;valuation d&amp;#8217;arbre d&amp;#8217;expressions.&lt;/SPAN&gt;&lt;BR&gt;
&lt;P&gt;&lt;SPAN lang=FR&gt;Une expression Lambda sera donc suivant les cas compil&amp;#233;e en tant que m&amp;#233;thode anonyme (quand la m&amp;#233;thode dans laquelle elle est utilis&amp;#233;e attend un d&amp;#233;l&amp;#233;gu&amp;#233;), ou comme une "expression" lorsque la m&amp;#233;thode attend une expression.&lt;/SPAN&gt;&lt;BR&gt;
&lt;P&gt;&lt;SPAN lang=FR&gt;Pour illustrer ceci, voici un petit exemple de code&amp;nbsp;:&lt;/SPAN&gt; 
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: teal; FONT-FAMILY: 'Courier New'"&gt;DataContext1&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt; dc = &lt;SPAN style="COLOR: blue"&gt;new&lt;/SPAN&gt; &lt;SPAN style="COLOR: teal"&gt;DataContext1&lt;/SPAN&gt;();&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'"&gt;var&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt; allresults = &lt;SPAN style="COLOR: blue"&gt;from&lt;/SPAN&gt; p &lt;SPAN style="COLOR: blue"&gt;in&lt;/SPAN&gt; dc.MyPersistentTypes&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN style="COLOR: blue"&gt;select&lt;/SPAN&gt; p;&lt;/SPAN&gt;&lt;BR&gt;&lt;BR&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: teal; FONT-FAMILY: 'Courier New'"&gt;Console&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;.WriteLine(&lt;SPAN style="COLOR: maroon"&gt;"Copy all entities from database to a list"&lt;/SPAN&gt;);&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: teal; FONT-FAMILY: 'Courier New'"&gt;List&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&amp;lt;&lt;SPAN style="COLOR: teal"&gt;MyPersistentType&lt;/SPAN&gt;&amp;gt; allEntitiesInAList = &lt;SPAN style="COLOR: blue"&gt;new&lt;/SPAN&gt; &lt;SPAN style="COLOR: teal"&gt;List&lt;/SPAN&gt;&amp;lt;&lt;SPAN style="COLOR: teal"&gt;MyPersistentType&lt;/SPAN&gt;&amp;gt;(allresults);&lt;/SPAN&gt;&lt;BR&gt;&lt;BR&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: teal; FONT-FAMILY: 'Courier New'"&gt;Console&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;.WriteLine(&lt;SPAN style="COLOR: maroon"&gt;"Query from table :"&lt;/SPAN&gt;);&lt;/SPAN&gt;&lt;BR&gt;&lt;BR&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'"&gt;var&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt; queryFromTable = &lt;SPAN style="COLOR: blue"&gt;from&lt;/SPAN&gt; p &lt;SPAN style="COLOR: blue"&gt;in&lt;/SPAN&gt; dc.MyPersistentTypes&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; where&lt;/SPAN&gt; p.Id &amp;gt; 2&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; select&lt;/SPAN&gt; p;&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: teal; FONT-FAMILY: 'Courier New'"&gt;Console&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;.WriteLine(&lt;SPAN style="COLOR: maroon"&gt;"Query from a list :"&lt;/SPAN&gt;);&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'"&gt;var&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt; queryFromList = &lt;SPAN style="COLOR: blue"&gt;from&lt;/SPAN&gt; p &lt;SPAN style="COLOR: blue"&gt;in&lt;/SPAN&gt; allEntitiesInAList&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; where&lt;/SPAN&gt; p.Id &amp;gt; 2&lt;BR&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; select&lt;/SPAN&gt; p;&lt;/SPAN&gt;&lt;BR&gt;
&lt;P&gt;&lt;SPAN lang=FR&gt;A noter ici que j&amp;#8217;utilise la syntaxe Linq plut&amp;#244;t qu&amp;#8217;une expression Lambda, ce qui revient exactement au m&amp;#234;me.&lt;/SPAN&gt;&lt;BR&gt;
&lt;P&gt;&lt;SPAN lang=FR&gt;Voyons maintenant le r&amp;#233;sultat de la d&amp;#233;compilation du code g&amp;#233;n&amp;#233;r&amp;#233; gr&amp;#226;ce &amp;#224; l&amp;#8217;outil &lt;A href="http://www.aisto.com/roeder/dotnet/"&gt;Reflector&amp;nbsp;&lt;/A&gt;:&lt;/SPAN&gt; 
&lt;P&gt;&lt;BR&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: teal; FONT-FAMILY: 'Courier New'"&gt;DataContext1&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt; context1 = &lt;SPAN style="COLOR: blue"&gt;new&lt;/SPAN&gt; &lt;SPAN style="COLOR: teal"&gt;DataContext1&lt;/SPAN&gt;();&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: teal; FONT-FAMILY: 'Courier New'"&gt;Table&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&amp;lt;&lt;SPAN style="COLOR: teal"&gt;MyPersistentType&lt;/SPAN&gt;&amp;gt; table1 = context1.MyPersistentTypes;&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: teal; FONT-FAMILY: 'Courier New'"&gt;Console&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;.WriteLine(&lt;SPAN style="COLOR: maroon"&gt;"Copy all entities from database to a list"&lt;/SPAN&gt;);&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: teal; FONT-FAMILY: 'Courier New'"&gt;List&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&amp;lt;&lt;SPAN style="COLOR: teal"&gt;MyPersistentType&lt;/SPAN&gt;&amp;gt; list1 = &lt;SPAN style="COLOR: blue"&gt;new&lt;/SPAN&gt; &lt;SPAN style="COLOR: teal"&gt;List&lt;/SPAN&gt;&amp;lt;&lt;SPAN style="COLOR: teal"&gt;MyPersistentType&lt;/SPAN&gt;&amp;gt;(table1);&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: teal; FONT-FAMILY: 'Courier New'"&gt;Console&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;.WriteLine(&lt;SPAN style="COLOR: maroon"&gt;"Query from table :"&lt;/SPAN&gt;);&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: teal; FONT-FAMILY: 'Courier New'"&gt;ParameterExpression&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt; expression1 = &lt;SPAN style="COLOR: teal"&gt;Expression&lt;/SPAN&gt;.Parameter(&lt;SPAN style="COLOR: blue"&gt;typeof&lt;/SPAN&gt;(&lt;SPAN style="COLOR: teal"&gt;MyPersistentType&lt;/SPAN&gt;), &lt;SPAN style="COLOR: maroon"&gt;"p"&lt;/SPAN&gt;);&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: teal; FONT-FAMILY: 'Courier New'"&gt;IQueryable&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&amp;lt;&lt;SPAN style="COLOR: teal"&gt;MyPersistentType&lt;/SPAN&gt;&amp;gt; queryable1 =&amp;nbsp;&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN style="COLOR: teal"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Queryable&lt;/SPAN&gt;.Where&amp;lt;&lt;SPAN style="COLOR: teal"&gt;MyPersistentType&lt;/SPAN&gt;&amp;gt;(context1.MyPersistentTypes,&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: teal; FONT-FAMILY: 'Courier New'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Expression&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;.Lambda&amp;lt;&lt;SPAN style="COLOR: teal"&gt;Func&lt;/SPAN&gt;&amp;lt;&lt;SPAN style="COLOR: teal"&gt;MyPersistentType&lt;/SPAN&gt;,&lt;SPAN style="COLOR: blue"&gt;bool&lt;/SPAN&gt;&amp;gt;&amp;gt;(&lt;SPAN style="COLOR: teal"&gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: teal; FONT-FAMILY: 'Courier New'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Expression&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;.GT(&lt;SPAN style="COLOR: teal"&gt;Expression&lt;/SPAN&gt;.Property(expression1,&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(MethodInfo) methodof(&lt;SPAN style="COLOR: teal"&gt;MyPersistentType&lt;/SPAN&gt;.get_Id)),&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: teal; FONT-FAMILY: 'Courier New'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Expression&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;.Constant(2, &lt;SPAN style="COLOR: blue"&gt;typeof&lt;/SPAN&gt;(&lt;SPAN style="COLOR: blue"&gt;int&lt;/SPAN&gt;))),&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; new&lt;/SPAN&gt; &lt;SPAN style="COLOR: teal"&gt;ParameterExpression&lt;/SPAN&gt;[] { expression1 }));&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: teal; FONT-FAMILY: 'Courier New'"&gt;Console&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;.WriteLine(&lt;SPAN style="COLOR: maroon"&gt;"Query from a list :"&lt;/SPAN&gt;);&lt;BR&gt;&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'"&gt;if&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt; (&lt;SPAN style="COLOR: teal"&gt;Program&lt;/SPAN&gt;.&amp;lt;&amp;gt;9__CachedAnonymousMethodDelegate5 == &lt;SPAN style="COLOR: blue"&gt;null&lt;/SPAN&gt;)&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;{&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN style="COLOR: teal"&gt;&amp;nbsp;&amp;nbsp; Program&lt;/SPAN&gt;.&amp;lt;&amp;gt;9__CachedAnonymousMethodDelegate5 = &lt;SPAN style="COLOR: blue"&gt;new&lt;/SPAN&gt; &lt;SPAN style="COLOR: teal"&gt;Func&lt;/SPAN&gt;&amp;lt;&lt;SPAN style="COLOR: teal"&gt;MyPersistentType&lt;/SPAN&gt;, &lt;SPAN style="COLOR: blue"&gt;bool&lt;/SPAN&gt;&amp;gt;(&lt;SPAN style="COLOR: teal"&gt;Program&lt;/SPAN&gt;.&lt;MAIN&gt;b__3);&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;}&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: teal; FONT-FAMILY: 'Courier New'"&gt;&lt;BR&gt;IEnumerable&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&amp;lt;&lt;SPAN style="COLOR: teal"&gt;MyPersistentType&lt;/SPAN&gt;&amp;gt; enumerable1 = &lt;SPAN style="COLOR: teal"&gt;Sequence&lt;/SPAN&gt;.Where&amp;lt;&lt;SPAN style="COLOR: teal"&gt;MyPersistentType&lt;/SPAN&gt;&amp;gt;(list1, &lt;SPAN style="COLOR: teal"&gt;Program&lt;/SPAN&gt;.&amp;lt;&amp;gt;9__CachedAnonymousMethodDelegate5);&lt;/SPAN&gt;&lt;BR&gt;
&lt;P&gt;&lt;SPAN lang=FR&gt;On voit bien ici que la m&amp;#234;me expression lambda est compil&amp;#233;e de fa&amp;#231;on diff&amp;#233;rente selon le cas dans lequel elle est utilis&amp;#233;e. Pour le type Table&lt;MYPERSISTENTTYPE&gt;, on a droit &amp;#224; quelque chose relativement compliqu&amp;#233; en apparence (il s&amp;#8217;agit en fait d&amp;#8217;un arbre d&amp;#8217;expression), alors que pour le type List&lt;MYPERSISTENTTYPE&gt;, on utilise un d&amp;#233;l&amp;#233;gu&amp;#233; g&amp;#233;n&amp;#233;r&amp;#233; (de la m&amp;#234;me facon qu&amp;#8217;une m&amp;#233;thode anonyme).&lt;/SPAN&gt;&lt;BR&gt;
&lt;P&gt;&lt;SPAN lang=FR&gt;En fait, le compilateur a d&amp;#233;tect&amp;#233; que le type Table&lt;MYPERSISTENTTYPE&gt; impl&amp;#233;mente IQueryable (et plus pr&amp;#233;cis&amp;#233;ment IQueryable&amp;lt;MyPersistantType&amp;gt;&lt;MYPERSISTENTTYPE&gt;), et a donc d&amp;#233;cid&amp;#233; de cr&amp;#233;er un arbre d&amp;#8217;expressions qui sera &amp;#233;valu&amp;#233; par le provider utilis&amp;#233; (d&amp;#233;finit au niveau du DataContext dans notre cas), afin d&amp;#8217;obtenir le r&amp;#233;sultat escompt&amp;#233; (dans notre cas, ceci &amp;#233;x&amp;#233;cutera une requete SQL du genre &amp;#171;&amp;nbsp;SELECT * from MyTable where ID &amp;gt; 2&amp;nbsp;&amp;#187; et nous la renverra sous la forme d&amp;#8217;une &amp;#233;num&amp;#233;ration de MyPersistentType). A not&amp;#233; que l&amp;#8217;arbre d&amp;#8217;expression n&amp;#8217;est pas &amp;#233;valu&amp;#233; dans notre cas, car nous n&amp;#8217;avons pas utilis&amp;#233; le r&amp;#233;sultat de la requ&amp;#234;te dans notre code. En effet, l&amp;#8217;&amp;#233;x&amp;#233;cution de la requ&amp;#234;te ne se fait qu&amp;#8217;au moment o&amp;#249; queryFromTable est utilis&amp;#233;.&lt;/SPAN&gt;&lt;BR&gt;
&lt;P&gt;&lt;SPAN lang=FR&gt;Je ne d&amp;#233;taillerai pas l&amp;#8217;arbre d&amp;#8217;expression g&amp;#233;n&amp;#233;r&amp;#233; ici, dans les grande lignes, on peut voir que l&amp;#8217;on passe &amp;#224; la m&amp;#233;thode Where une lambda expression (Expression.Lambda), constitu&amp;#233;e d&amp;#8217;une comparaison "Greater than" (Expression.GT) s&amp;#8217;&amp;#233;xercant sur une propri&amp;#233;t&amp;#233; d&amp;#8217;un parametre de l&amp;#8217;expression (Expression.Property) et une constante (Expression.Constant).&lt;/SPAN&gt;&lt;BR&gt;&lt;/P&gt;&lt;img src ="http://blogs.labo-dotnet.com/simon/aggbug/10892.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>Simon Ferquel</dc:creator><title>Encore un petit peu de Javascript...</title><link>http://blogs.labo-dotnet.com/simon/archive/2006/06/29/10747.aspx</link><pubDate>Thu, 29 Jun 2006 14:13:00 GMT</pubDate><guid>http://blogs.labo-dotnet.com/simon/archive/2006/06/29/10747.aspx</guid><wfw:comment>http://blogs.labo-dotnet.com/simon/comments/10747.aspx</wfw:comment><comments>http://blogs.labo-dotnet.com/simon/archive/2006/06/29/10747.aspx#Feedback</comments><slash:comments>27</slash:comments><wfw:commentRss>http://blogs.labo-dotnet.com/simon/comments/commentRss/10747.aspx</wfw:commentRss><trackback:ping>http://blogs.labo-dotnet.com/simon/services/trackbacks/10747.aspx</trackback:ping><description>&lt;P&gt;Suite &amp;#224; mon dernier post, voici une application de mon "moteur d'animation" : un moteur de Drag and Drop anim&amp;#233; (c'est &amp;#224; dire que les &amp;#233;l&amp;#233;ments d&amp;#233;placables ne se t&amp;#233;l&amp;#233;portent pas, mais glissent &amp;#233;l&amp;#233;gament vers leur nouvelle position). Vous pouvez en voir un aper&amp;#231;u &lt;A href="http://blogs.labo-dotnet.com/simon/testDZ.html"&gt;ici&lt;/A&gt;, et t&amp;#233;l&amp;#233;charger les sources &lt;A href="http://blogs.labo-dotnet.com/simon/developments/JSDragDropManager.zip"&gt;par l&amp;#224;&lt;/A&gt;. Tout commentaire est le bienvenu :).&lt;/P&gt;
&lt;P&gt;Sinon, si quelqu'un sait comment &amp;#233;viter les s&amp;#233;lections de texte intempestives lors du d&amp;#233;placement de mes parts, ca me serait bien utile...&lt;/P&gt;&lt;img src ="http://blogs.labo-dotnet.com/simon/aggbug/10747.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>Simon Ferquel</dc:creator><title>Un petit peu de Javascript</title><link>http://blogs.labo-dotnet.com/simon/archive/2006/06/19/10734.aspx</link><pubDate>Mon, 19 Jun 2006 09:44:00 GMT</pubDate><guid>http://blogs.labo-dotnet.com/simon/archive/2006/06/19/10734.aspx</guid><wfw:comment>http://blogs.labo-dotnet.com/simon/comments/10734.aspx</wfw:comment><comments>http://blogs.labo-dotnet.com/simon/archive/2006/06/19/10734.aspx#Feedback</comments><slash:comments>21</slash:comments><wfw:commentRss>http://blogs.labo-dotnet.com/simon/comments/commentRss/10734.aspx</wfw:commentRss><trackback:ping>http://blogs.labo-dotnet.com/simon/services/trackbacks/10734.aspx</trackback:ping><description>&lt;P&gt;Pendant que mes &amp;#233;l&amp;#232;ves sont en TP not&amp;#233;, j'occupe mon temps en faisant un peu de Javascript. Je suis en train de d&amp;#233;velopper un moteur d'animation (permettant d'animer un peu&amp;nbsp;tout et n'importe quoi et surtout des attributs css). C'est en Javascript, c'est orient&amp;#233; objet, il y'a m&amp;#234;me un peu d'h&amp;#233;ritage... Bref, tout retour est le bienvenu ! &lt;A href="http://blogs.labo-dotnet.com/simon/developments/JSAnimationEngine.zip"&gt;http://blogs.labo-dotnet.com/simon/developments/JSAnimationEngine.zip&lt;/A&gt;&lt;/P&gt;&lt;img src ="http://blogs.labo-dotnet.com/simon/aggbug/10734.aspx" width = "1" height = "1" /&gt;</description></item></channel></rss>