<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
  <channel>
    <title>Blogs Bewise</title>
    <link>www.bewise.fr/BewiseApps/blogs.ashx</link>
    <description>Blogs Bewise</description>
    <item>
      <title>Retours sur le MCT Summit</title>
      <link>http://blog.christophermaneu.fr/2010/09/retours-sur-le-mct-summit/</link>
      <comments>http://blog.christophermaneu.fr/2010/09/retours-sur-le-mct-summit/#comments</comments>
      <pubDate>Fri, 03 Sep 2010 15:59:09 +0000</pubDate>
      <creator xmlns="http://purl.org/dc/elements/1.1/">Chris</creator>
      <category><![CDATA[Development]]></category>
      <category><![CDATA[IT]]></category>
      <category><![CDATA[Education]]></category>
      <category><![CDATA[MCITP]]></category>
      <category><![CDATA[MCP]]></category>
      <category><![CDATA[MCPD]]></category>
      <category><![CDATA[MCT]]></category>
      <category><![CDATA[Microsoft]]></category>
      <category><![CDATA[MSP]]></category>
      <category><![CDATA[Windows Phone 7]]></category>
      <guid isPermaLink="false">http://blog.christophermaneu.fr/2010/09/retours-sur-le-mct-summit/</guid>
      <description><![CDATA[La semaine dernière avait lieu, dans la belle ville de York (angleterre), le MCT Live Summit 2010, la réunion annuelle des Microsoft Certified Trainers. Plus de 30 pays – d’Europe, mais également d’Asie, d’Orient et d’Amérique du Sud – étaient représentés.&#160; &#160; Durant 3 jours, les participants ont l’occasion d’assister à des sessions sur les [...]]]></description>
      <encoded xmlns="http://purl.org/rss/1.0/modules/content/"><![CDATA[<p>La semaine dernière avait lieu, dans la belle ville de York (angleterre), le <a href="http://www.mctsummit.eu">MCT Live Summit 2010</a>, la réunion annuelle des <strong>Microsoft Certified Trainers</strong>. Plus de 30 pays – d’Europe, mais également d’Asie, d’Orient et d’Amérique du Sud – étaient représentés.&#160; </p>
<p><a href="http://blog.christophermaneu.fr/wp-content/uploads/2010/09/image.png"><img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://blog.christophermaneu.fr/wp-content/uploads/2010/09/image_thumb.png" width="579" height="145" /></a></p>
<p>&#160;</p>
<p>Durant 3 jours, les participants ont l’occasion d’assister à des sessions sur les technologies émergentes, sur les nouveautés des formations Microsoft et d’échanger avec des pairs du monde entier, des microsoftees et même des auteurs de certains cours officiels Microsoft.</p>
<p>Le MCT Live Summit est réellement un évènement communautaire, et cet aspect a été l’une des très bonnes surprises de ces trois jours. Saviez-vous qu’il existe même une association de MCT européens ? Non ? Et bien <a href="http://mcteurope.com">MCT Europe</a> est l’une des nombreuses que vous auriez pu découvrir en venant (ne vous inquiétez pas, le prochain MCT Live Summit est déjà sur les rails :) ).</p>
<p>&#160;</p>
<h2>Windows Phone 7 et l’enseignement de l’informatique </h2>
<p>J’ai eu le plaisir d’être convié en tant que Speaker La session <strong>Windows Phone 7, First Look</strong>, qui était une introduction à cette nouvelle plateforme mobile de Microsoft, a été l’occasion d’une première démonstration publique de <a href="http://www.youtube.com/watch?v=OYpB5I8muCk">Nova4Phone</a>, un moteur 3D temps réel pour Windows Phone 7 (développé par <a href="http://www.vertice.fr">Vertice</a> et <a href="http://www.bewise.fr">Bewise</a>). </p>
<p><a href="http://blog.christophermaneu.fr/wp-content/uploads/2010/09/untitled.png"><img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px auto; padding-left: 0px; padding-right: 0px; display: block; float: none; border-top: 0px; border-right: 0px; padding-top: 0px" title="untitled" border="0" alt="untitled" src="http://blog.christophermaneu.fr/wp-content/uploads/2010/09/untitled_thumb.png" width="441" height="302" /></a></p>
<p>La seconde présentation concernait l’enseignement des technologies Microsoft dans l’enseignement supérieur. Ce fut l’occasion de discuter des modes d’enseignement (e-learning, face-to-face, 1-to-1, …) et des ressources de Microsoft, telles que les <a href="http://blog.christophermaneu.fr/2010/07/etudiants-de-nouvelles-certifications-rien-que-pour-vous/">certifications MTA</a>, le programme <a href="http://www.dreamspark.com">Dreamspark</a>, ou bien encore des livres de formation officiels pour les étudiants, les <a href="http://www.wiley.com/college/microsoft">MOAC</a>s.</p>
<p>&#160;</p>
<h2>Pourquoi venir au Summit ?</h2>
<p>Si vous êtes MCT ou professeur dans l’enseignement supérieur, il y a plein de raisons de venir au summit, mais voici ma sélection personnelle : </p>
<ul>
<li><strong>Rencontrer </strong>et discuter directement avec les équipes Microsoft : c’est l’occasion de partager sur votre expérience de formateur directement avec ceux qui concoivent les cours, outils, etc…,</li>
<li><strong>Echanger </strong>les astuces, conseils autour de MOCs, etc…avec d’autres MCTs qui délivrent les mêmes cours que vous autour du monde entier, </li>
<li><strong>Découvrir </strong>les dernières technologies Microsoft et voire même, comment les enseigner !</li>
</ul>
<p>J’espère vous y revoir l’année prochaine ;).</p>]]></encoded>
      <commentRss xmlns="http://wellformedweb.org/CommentAPI/">http://blog.christophermaneu.fr/2010/09/retours-sur-le-mct-summit/feed/</commentRss>
      <comments xmlns="http://purl.org/rss/1.0/modules/slash/">0</comments>
    </item>
    <item>
      <title>How to store a state in a Nova scene</title>
      <description>&lt;p&gt;There are many possibilities to store user data inside a Nova Scene. That's why I've just added a new sample on Nova Wiki.&lt;/p&gt;
&lt;p&gt;If you are interested, just have a look &lt;a href="http://wiki.vertice.fr/NOVA%202010%20Range.SDK-Store-user-data-in-a-Nova-scene.ashx" target="_blank"&gt;here&lt;/a&gt;.&lt;/p&gt;</description>
      <link>http://blog.vertice.fr/post/2010/09/01/How-to-store-a-state-in-a-Nova-scene.aspx</link>
      <author>Frédéric Colin</author>
      <comments>http://blog.vertice.fr/post/2010/09/01/How-to-store-a-state-in-a-Nova-scene.aspx#comment</comments>
      <guid>http://blog.vertice.fr/post.aspx?id=5e7babcb-a42a-49ff-bfb1-b89783a16f07</guid>
      <pubDate>Wed, 01 Sep 2010 09:03:00 +0200</pubDate>
      <category>Nova SDK</category>
      <category>Programming</category>
      <category>Script</category>
      <category>Tips</category>
      <publisher xmlns="http://purl.org/dc/elements/1.1/">Frédéric Colin</publisher>
      <server xmlns="http://madskills.com/public/xml/rss/module/pingback/">http://blog.vertice.fr/pingback.axd</server>
      <target xmlns="http://madskills.com/public/xml/rss/module/pingback/">http://blog.vertice.fr/post.aspx?id=5e7babcb-a42a-49ff-bfb1-b89783a16f07</target>
      <comments xmlns="http://purl.org/rss/1.0/modules/slash/">0</comments>
      <ping xmlns="http://madskills.com/public/xml/rss/module/trackback/">http://blog.vertice.fr/trackback.axd?id=5e7babcb-a42a-49ff-bfb1-b89783a16f07</ping>
      <comment xmlns="http://wellformedweb.org/CommentAPI/">http://blog.vertice.fr/post/2010/09/01/How-to-store-a-state-in-a-Nova-scene.aspx#comment</comment>
      <commentRss xmlns="http://wellformedweb.org/CommentAPI/">http://blog.vertice.fr/syndication.axd?post=5e7babcb-a42a-49ff-bfb1-b89783a16f07</commentRss>
    </item>
    <item>
      <title>Nova4Phone, 2nd video</title>
      <description>&lt;p&gt;&lt;span&gt;
&lt;p&gt;We've just published a new video demonstrating Nova4Phone on &lt;a href="http://www.facebook.com/video/video.php?v=461276955395" target="_blank"&gt;Facebook&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;If you like it, don't hesitate to click on "I like it" &lt;img title="Wink" src="http://blog.vertice.fr/editors/tiny_mce3/plugins/emotions/img/smiley-wink.gif" border="0" alt="Wink" /&gt;.&lt;/p&gt;
&lt;p&gt;Enjoy!&lt;/p&gt;
&lt;/span&gt;&lt;/p&gt;</description>
      <link>http://blog.vertice.fr/post/2010/08/31/Nova4Phone-2nd-video.aspx</link>
      <author>Frédéric Colin</author>
      <comments>http://blog.vertice.fr/post/2010/08/31/Nova4Phone-2nd-video.aspx#comment</comments>
      <guid>http://blog.vertice.fr/post.aspx?id=6b368115-c2fc-4604-8eb4-9271e77727b3</guid>
      <pubDate>Tue, 31 Aug 2010 16:46:00 +0200</pubDate>
      <category>Windows4Phone</category>
      <publisher xmlns="http://purl.org/dc/elements/1.1/">Frédéric Colin</publisher>
      <server xmlns="http://madskills.com/public/xml/rss/module/pingback/">http://blog.vertice.fr/pingback.axd</server>
      <target xmlns="http://madskills.com/public/xml/rss/module/pingback/">http://blog.vertice.fr/post.aspx?id=6b368115-c2fc-4604-8eb4-9271e77727b3</target>
      <comments xmlns="http://purl.org/rss/1.0/modules/slash/">0</comments>
      <ping xmlns="http://madskills.com/public/xml/rss/module/trackback/">http://blog.vertice.fr/trackback.axd?id=6b368115-c2fc-4604-8eb4-9271e77727b3</ping>
      <comment xmlns="http://wellformedweb.org/CommentAPI/">http://blog.vertice.fr/post/2010/08/31/Nova4Phone-2nd-video.aspx#comment</comment>
      <commentRss xmlns="http://wellformedweb.org/CommentAPI/">http://blog.vertice.fr/syndication.axd?post=6b368115-c2fc-4604-8eb4-9271e77727b3</commentRss>
    </item>
    <item>
      <guid isPermaLink="false">tag:blogger.com,1999:blog-5619051591853320584.post-8168985867569550574</guid>
      <pubDate>Mon, 30 Aug 2010 10:10:00 +0000</pubDate>
      <updated xmlns="http://www.w3.org/2005/Atom">2010-08-30T12:10:09.034+02:00</updated>
      <title>10 vérités sur moi</title>
      <description>&lt;p&gt;&lt;a href="http://www.catuhe.com/post/10-trucs-sur-ma-vie.aspx"&gt;Kosh&lt;/a&gt; a lancé il y a quelques temps un petit jeu pour les blogueurs : il faut dire 10 vérités sur soi, et demander à quelqu’un d’enchainer. Je pensais pouvoir éviter la corvée, jusqu’à ce que &lt;a href="http://blogs.developpeur.org/vko/archive/2010/08/26/10-trucs-sur-moi.aspx"&gt;Vko&lt;/a&gt; se souvienne de moi… Voilà donc 10 vérités totalement futiles et inintéressantes sur moi, profitez-en bien !&lt;/p&gt;  &lt;p&gt;- Je déteste parler de moi. L'écriture de ce billet va être pour moi une effroyable torture.&lt;/p&gt;  &lt;p&gt;- Mon nom de famille est &amp;quot;Lacasa&amp;quot;. C'est un nom d'origine espagnole qui se prononce donc &amp;quot;lacassa&amp;quot;, et non &amp;quot;lacaza&amp;quot;. Il s'agit d'un nom très répandu en Aragon, région d'où étaient originaires mes grands parents, un chocolat très réputé porte d'ailleurs ce nom en Espagne.&lt;/p&gt;  &lt;p&gt;- Je n'aime pas WoW. J'évite en général de m'en vanter au bureau, mais c'est hélas vrai.&lt;/p&gt;  &lt;p&gt;- J'ai écris mes premières lignes de code en Turbo Pascal, alors que je venais de rentrer au collège. Lorsque j'ai eu des cours de programmation au lycée (en Turbo Pascal toujours), il m'est arrivé de donner la correction d'un exercice à la prof, sa version étant incorrecte. Elle ne m'a d'ailleurs jamais rendu ma disquette.&lt;/p&gt;  &lt;p&gt;- Même si j'aime à me faire passer pour un ariégeois, je n'ai réellement vécu à Pamiers que 10 mois. Mon accent vient en fait de Carcassonne, où j'ai passé toute mon enfance.   &lt;br /&gt;Il n'empêche que toute ma famille vit en Ariège, et que j'y passe régulièrement mes week-ends. &lt;/p&gt;  &lt;p&gt;- Je n'aime pas la bière. C'est quand même pas ma faute si c'est pas bon ! Et j'aimerais bien qu'on arrête de me prendre pour un extra-terrestre à chaque fois que je le dis...&lt;/p&gt;  &lt;p&gt;- Lorsque j'étais jeune, je voulais devenir PDG de Microsoft pour être aussi riche que Bill Gates. Ce projet n'est plus d'actualité, mais je ne désespère pas de devenir riche par d'autres moyens.&lt;/p&gt;  &lt;p&gt;- Je n'ai qu'un rein. Mais il est plus gros que la moyenne, donc je ne complexe pas. 23 ans plus tard, la cicatrice de l'opération de l'ablation du rein gauche est toujours visible sur mon ventre.&lt;/p&gt;  &lt;p&gt;- Je ne suis pas un grand amateur de musique... ça surprend souvent les gens, mais je n'achète pas de CD, et je n'ai pas de lecteur mp3. Je n'ai rien contre la musique, j'en écoute lorsque je suis avec d'autres personnes, mais globalement en bruit de fond je préfère entendre des gens qui parlent (des radios d'info en général).&lt;/p&gt;  &lt;p&gt;- Je suis bien content d'avoir fini de dire mes 10 trucs sur moi (si, si, c'est ça la 10ème vérité sur ma vie)&lt;/p&gt;  &lt;p&gt;Et maintenant, au tour de &lt;a href="http://blog.christophermaneu.fr/"&gt;Chris&lt;/a&gt; !&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5619051591853320584-8168985867569550574?l=blog.adhess.net' alt='' /&gt;&lt;/div&gt;</description>
      <link>http://blog.adhess.net/2010/08/10-verites-sur-moi.html</link>
      <author>noreply@blogger.com (Guillaume Lacasa)</author>
      <total xmlns="http://purl.org/syndication/thread/1.0">0</total>
    </item>
    <item>
      <ping xmlns="http://madskills.com/public/xml/rss/module/trackback/">http://patricelamarche.net/Trackback.aspx?guid=01ab4e28-c9ce-46ab-97ca-93080cb5cae7</ping>
      <server xmlns="http://madskills.com/public/xml/rss/module/pingback/">http://patricelamarche.net/pingback.aspx</server>
      <target xmlns="http://madskills.com/public/xml/rss/module/pingback/">http://patricelamarche.net/PermaLink,guid,01ab4e28-c9ce-46ab-97ca-93080cb5cae7.aspx</target>
      <creator xmlns="http://purl.org/dc/elements/1.1/">Patrice Lamarche</creator>
      <comment xmlns="http://wellformedweb.org/CommentAPI/">http://patricelamarche.net/CommentView,guid,01ab4e28-c9ce-46ab-97ca-93080cb5cae7.aspx</comment>
      <commentRss xmlns="http://wellformedweb.org/CommentAPI/">http://patricelamarche.net/SyndicationService.asmx/GetEntryCommentsRss?guid=01ab4e28-c9ce-46ab-97ca-93080cb5cae7</commentRss>
      <title>News de la semaine #34</title>
      <guid isPermaLink="false">http://patricelamarche.net/PermaLink,guid,01ab4e28-c9ce-46ab-97ca-93080cb5cae7.aspx</guid>
      <link>http://feedproxy.google.com/~r/Patrice/~3/NGUaKS4nkLo/NewsDeLaSemaine34.aspx</link>
      <pubDate>Mon, 30 Aug 2010 08:08:13 GMT</pubDate>
      <description>&lt;body xmlns="http://www.w3.org/1999/xhtml"&gt;
        &lt;h4&gt;
          &lt;img style="display: inline" alt="image" align="right" src="http://patricelamarche.net/content/binary/WindowsLiveWriter/Newsdelasemaine18_9F77/image_thumb.png"&gt;&lt;/img&gt;
          &lt;font style="font-weight: normal"&gt;Après &lt;/font&gt;
          &lt;strike&gt;
            &lt;font style="font-weight: normal"&gt;2
ou 3&lt;/font&gt;
          &lt;/strike&gt;
          &lt;font style="font-weight: normal"&gt;  beaucoup de semaines
d’absence, les news de la semaine sont de retour !&lt;/font&gt;
        &lt;/h4&gt;
        &lt;p&gt;
          &lt;a href="http://blogs.microsoft.co.il/blogs/sasha" target="_blank"&gt;Sasha Goldshtein&lt;/a&gt; nous
montre &lt;a href="http://blogs.microsoft.co.il/blogs/sasha/archive/2010/08/27/demonstrating-clr-side-by-side-execution.aspx" target="_blank"&gt;comment
tester l’hébergement en side by side de la CLR&lt;/a&gt; rendu possible grâce à la CLR 4.
&lt;/p&gt;
        &lt;p&gt;
          &lt;a href="http://haacked.com/archive/2010/08/26/not-paid-to-write-code.aspx?utm_source=feedburner&amp;amp;utm_medium=feed&amp;amp;utm_campaign=Feed:+haacked+(you've+been+HAACKED)" target="_blank"&gt;Phil
Haack nous propose un post sur le fait que le développeurs ne sont pas payer pour
écrire du code&lt;/a&gt;.
&lt;/p&gt;
        &lt;p&gt;
Si vous souhaitez découvrir les Reactive Extensions, &lt;a href="http://weblogs.asp.net/sweinstein/archive/2010/08/26/intro-to-rx.aspx" target="_blank"&gt;Lee
Campbell vous propose une série de 7 posts&lt;/a&gt;.
&lt;/p&gt;
        &lt;p&gt;
          &lt;a href="http://www.bing.com/community/blogs/maps/archive/2010/08/26/introducing-php-and-vb-net-sdks-for-bing-maps-platform.aspx" target="_blank"&gt;L’équipe
Bing Maps annonce de nouveaux SDK pour les développeurs PHP.&lt;/a&gt;
        &lt;/p&gt;
        &lt;p&gt;
          &lt;a href="http://blogs.jetbrains.com/dotnet/2010/08/templates-galore-file-templates/" target="_blank"&gt;L’équipe
de JetBrains présente la fonctionnalité des File Templates présente au sein de ReSharper.&lt;/a&gt;
        &lt;/p&gt;
        &lt;p&gt;
Un nouveau template est proposé par l’équipe d’AppFabric qui permet de créer des DataService
WCF s’incorporant pleinsement à l’AppFabric.
&lt;/p&gt;
        &lt;div class="wlWriterHeaderFooter" style="margin:0px; padding:4px 0px 4px 1px;"&gt;
          &lt;iframe src="http://www.facebook.com/widgets/like.php?href=http://patricelamarche.net/2010/08/30/NewsDeLaSemaine34.aspx" scrolling="no" frameborder="0" style="border:none; width:450px; height:40px"&gt;
          &lt;/iframe&gt;
        &lt;/div&gt;
        &lt;img width="0" height="0" src="http://patricelamarche.net/aggbug.ashx?id=01ab4e28-c9ce-46ab-97ca-93080cb5cae7"&gt;&lt;/img&gt;
      &lt;/body&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Patrice?a=NGUaKS4nkLo:P2fMxa1MpTQ:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Patrice?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Patrice?a=NGUaKS4nkLo:P2fMxa1MpTQ:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Patrice?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Patrice?a=NGUaKS4nkLo:P2fMxa1MpTQ:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Patrice?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Patrice?a=NGUaKS4nkLo:P2fMxa1MpTQ:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Patrice?i=NGUaKS4nkLo:P2fMxa1MpTQ:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Patrice?a=NGUaKS4nkLo:P2fMxa1MpTQ:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Patrice?i=NGUaKS4nkLo:P2fMxa1MpTQ:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Patrice/~4/NGUaKS4nkLo" height="1" width="1"/&gt;</description>
      <comments>http://patricelamarche.net/CommentView,guid,01ab4e28-c9ce-46ab-97ca-93080cb5cae7.aspx</comments>
      <category>News</category>
      <origLink xmlns="http://rssnamespace.org/feedburner/ext/1.0">http://patricelamarche.net/2010/08/30/NewsDeLaSemaine34.aspx</origLink>
    </item>
    <item>
      <ping xmlns="http://madskills.com/public/xml/rss/module/trackback/">http://benoitlaut.net/Trackback.aspx?guid=dc87cdbf-1199-46ca-9fe6-fd2c52e35af2</ping>
      <server xmlns="http://madskills.com/public/xml/rss/module/pingback/">http://benoitlaut.net/pingback.aspx</server>
      <target xmlns="http://madskills.com/public/xml/rss/module/pingback/">http://benoitlaut.net/PermaLink,guid,dc87cdbf-1199-46ca-9fe6-fd2c52e35af2.aspx</target>
      <creator xmlns="http://purl.org/dc/elements/1.1/">Benoît Laut</creator>
      <comment xmlns="http://wellformedweb.org/CommentAPI/">http://benoitlaut.net/CommentView,guid,dc87cdbf-1199-46ca-9fe6-fd2c52e35af2.aspx</comment>
      <commentRss xmlns="http://wellformedweb.org/CommentAPI/">http://benoitlaut.net/SyndicationService.asmx/GetEntryCommentsRss?guid=dc87cdbf-1199-46ca-9fe6-fd2c52e35af2</commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Les congés arrivent à leur fin pour pas mal de monde, il est donc temps de faire le
bilan de l’été et de se remettre au travail!
</p>
        <p>
Pour moi l’été a très bien commencé, puisque j’ai été récompensé du titre MVP Visual
Studio ALM par Microsoft. Ensuite, à part faire les fêtes de la Madeleine je me suis
motivé à passer la certification 70-512 Administration de TFS 2010. Pas de grande
surprise, tous les points sont abordés : installation et configuration de TFS, Lab
Management, TFS Proxy, Build… Bref, <a href="http://www.microsoft.com/learning/en/us/exam.aspx?ID=70-512#tab2" target="_blank">tous
les sujets annoncés sur Microsoft Learning</a> sont abordés dans l’exam. Actuellement
Microsoft ne fournit aucun cours ni bouquin pour le préparer. Toutefois une bonne
connaissance de TFS, du guide d’installation et du guide d’administration suffisent. 
</p>
        <p>
L’été continue à être agité pour moi puisque je découvre actuellement XNA et Windows
Phone 7. D’ailleurs à ce sujet, je vous conseille d’aller voir <a href="http://www.facebook.com/video/video.php?v=1413141241316&amp;oid=129459787073480" target="_blank">cette
magnifique vidéo de Nova4Phone</a> qui participe au concours WP7 (si vous aimez, “likez”
et faites tourner la vidéo). Nova4Phone est le moteur 3D pour Windows Phone développé
par David Catuhe, qui tourne sur un vrai device. La fluidité est époustouflante! Like,
like, like!
</p>
        <img width="0" height="0" src="http://benoitlaut.net/aggbug.ashx?id=dc87cdbf-1199-46ca-9fe6-fd2c52e35af2" />
      </body>
      <title>Bilan de l’été : MVP Visual Studio ALM et Certif TFS 2010</title>
      <guid isPermaLink="false">http://benoitlaut.net/PermaLink,guid,dc87cdbf-1199-46ca-9fe6-fd2c52e35af2.aspx</guid>
      <link>http://benoitlaut.net/2010/08/30/BilanDeL%c3%a9t%c3%a9MVPVisualStudioALMEtCertifTFS2010.aspx</link>
      <pubDate>Mon, 30 Aug 2010 07:36:20 GMT</pubDate>
      <description>&lt;p&gt;
Les congés arrivent à leur fin pour pas mal de monde, il est donc temps de faire le
bilan de l’été et de se remettre au travail!
&lt;/p&gt;
&lt;p&gt;
Pour moi l’été a très bien commencé, puisque j’ai été récompensé du titre MVP Visual
Studio ALM par Microsoft. Ensuite, à part faire les fêtes de la Madeleine je me suis
motivé à passer la certification 70-512 Administration de TFS 2010. Pas de grande
surprise, tous les points sont abordés : installation et configuration de TFS, Lab
Management, TFS Proxy, Build… Bref, &lt;a href="http://www.microsoft.com/learning/en/us/exam.aspx?ID=70-512#tab2" target="_blank"&gt;tous
les sujets annoncés sur Microsoft Learning&lt;/a&gt; sont abordés dans l’exam. Actuellement
Microsoft ne fournit aucun cours ni bouquin pour le préparer. Toutefois une bonne
connaissance de TFS, du guide d’installation et du guide d’administration suffisent. 
&lt;/p&gt;
&lt;p&gt;
L’été continue à être agité pour moi puisque je découvre actuellement XNA et Windows
Phone 7. D’ailleurs à ce sujet, je vous conseille d’aller voir &lt;a href="http://www.facebook.com/video/video.php?v=1413141241316&amp;amp;oid=129459787073480" target="_blank"&gt;cette
magnifique vidéo de Nova4Phone&lt;/a&gt; qui participe au concours WP7 (si vous aimez, “likez”
et faites tourner la vidéo). Nova4Phone est le moteur 3D pour Windows Phone développé
par David Catuhe, qui tourne sur un vrai device. La fluidité est époustouflante! Like,
like, like!
&lt;/p&gt;
&lt;img width="0" height="0" src="http://benoitlaut.net/aggbug.ashx?id=dc87cdbf-1199-46ca-9fe6-fd2c52e35af2" /&gt;</description>
      <comments>http://benoitlaut.net/CommentView,guid,dc87cdbf-1199-46ca-9fe6-fd2c52e35af2.aspx</comments>
      <category>TFS</category>
    </item>
    <item>
      <title>SDK Tip: create a perpendicular plane to the camera</title>
      <description>&lt;p&gt;Sometimes, it may be useful to create a kind of panel perpendicular to the active camera. That's why, I've added a new page to demonstrate it on &lt;a href="http://wiki.vertice.fr/NOVA%202010%20Range.SDK-Tip-create-a-perpendicular-plane-to-the-camera.ashx" target="_blank"&gt;our wiki&lt;/a&gt;.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;img src="http://blog.vertice.fr/image.axd?picture=2010%2f8%2fCheckpoint01.png" alt="" /&gt;&lt;/p&gt;
&lt;p&gt;Enjoy!&lt;/p&gt;</description>
      <link>http://blog.vertice.fr/post/2010/08/30/SDK-Tip-create-a-perpendicular-plane-to-the-camera.aspx</link>
      <author>Frédéric Colin</author>
      <comments>http://blog.vertice.fr/post/2010/08/30/SDK-Tip-create-a-perpendicular-plane-to-the-camera.aspx#comment</comments>
      <guid>http://blog.vertice.fr/post.aspx?id=31de6327-6f82-4486-b1b3-7c5a1771bc67</guid>
      <pubDate>Mon, 30 Aug 2010 06:28:00 +0200</pubDate>
      <category>Nova SDK</category>
      <category>Tips</category>
      <category>wiki</category>
      <publisher xmlns="http://purl.org/dc/elements/1.1/">Frédéric Colin</publisher>
      <server xmlns="http://madskills.com/public/xml/rss/module/pingback/">http://blog.vertice.fr/pingback.axd</server>
      <target xmlns="http://madskills.com/public/xml/rss/module/pingback/">http://blog.vertice.fr/post.aspx?id=31de6327-6f82-4486-b1b3-7c5a1771bc67</target>
      <comments xmlns="http://purl.org/rss/1.0/modules/slash/">0</comments>
      <ping xmlns="http://madskills.com/public/xml/rss/module/trackback/">http://blog.vertice.fr/trackback.axd?id=31de6327-6f82-4486-b1b3-7c5a1771bc67</ping>
      <comment xmlns="http://wellformedweb.org/CommentAPI/">http://blog.vertice.fr/post/2010/08/30/SDK-Tip-create-a-perpendicular-plane-to-the-camera.aspx#comment</comment>
      <commentRss xmlns="http://wellformedweb.org/CommentAPI/">http://blog.vertice.fr/syndication.axd?post=31de6327-6f82-4486-b1b3-7c5a1771bc67</commentRss>
    </item>
    <item>
      <title>10 trucs sur moi</title>
      <link>http://blogs.developpeur.org/vko/archive/2010/08/26/10-trucs-sur-moi.aspx</link>
      <pubDate>Thu, 26 Aug 2010 08:49:00 GMT</pubDate>
      <guid isPermaLink="false">7d6e5d3c-61cc-4264-bc3a-a336023fcec4:49477</guid>
      <creator xmlns="http://purl.org/dc/elements/1.1/">Vko</creator>
      <comments xmlns="http://purl.org/rss/1.0/modules/slash/">0</comments>
      <comments>http://blogs.developpeur.org/vko/comments/49477.aspx</comments>
      <commentRss xmlns="http://wellformedweb.org/CommentAPI/">http://blogs.developpeur.org/vko/commentrss.aspx?PostID=49477</commentRss>
      <description>
  Je continue dans la foulée de Djeepy, Kosh, Ben, Mim qui dévoilent 10 trucs vraiment pas intéressant sur eux :p  1. A l’âge de 4 ans je m’étais déjà : troué la langue, ouvert l’arcade sourcilière, arracher 4 ongles dans une porte, ouvert le menton. Ma...&lt;img src="http://blogs.developpeur.org/aggbug.aspx?PostID=49477" width="1" height="1"&gt;</description>
    </item>
    <item>
      <title>Run Nova Studio on Common Language Runtime 4.0</title>
      <description>&lt;p&gt;Maybe you wonder why it may be useful to run on CLR 4.0?&lt;/p&gt;
&lt;p&gt;&lt;img src="http://wiki.vertice.fr/GetFile.aspx?File=/IMG/Nova Studio/Tips/Nova Studio Tip - CLR4.jpg" alt="" /&gt;&lt;/p&gt;
&lt;p&gt;Well, I will say mainly for many Microsoft .NET Framework 4.0 news. As an example (it&amp;rsquo;s not the only one), if you want to use Windows Communication Foundation 4.0 in Nova Studio Plugins.&lt;/p&gt;
&lt;p&gt;If you want to know more about this tip, just go to &lt;a href="http://wiki.vertice.fr/NOVA%202010%20Range.Nova-Studio-Tip-execution-on-CLR-4-0.ashx" target="_blank"&gt;our wiki&lt;/a&gt;.&lt;/p&gt;</description>
      <link>http://blog.vertice.fr/post/2010/08/24/Run-Nova-Studio-on-Common-Language-Runtime-40.aspx</link>
      <author>Frédéric Colin</author>
      <comments>http://blog.vertice.fr/post/2010/08/24/Run-Nova-Studio-on-Common-Language-Runtime-40.aspx#comment</comments>
      <guid>http://blog.vertice.fr/post.aspx?id=6f551ec9-e417-45cc-9dad-89412a44a15f</guid>
      <pubDate>Tue, 24 Aug 2010 16:58:00 +0200</pubDate>
      <category>Nova Studio</category>
      <category>Programming</category>
      <publisher xmlns="http://purl.org/dc/elements/1.1/">Frédéric Colin</publisher>
      <server xmlns="http://madskills.com/public/xml/rss/module/pingback/">http://blog.vertice.fr/pingback.axd</server>
      <target xmlns="http://madskills.com/public/xml/rss/module/pingback/">http://blog.vertice.fr/post.aspx?id=6f551ec9-e417-45cc-9dad-89412a44a15f</target>
      <comments xmlns="http://purl.org/rss/1.0/modules/slash/">0</comments>
      <ping xmlns="http://madskills.com/public/xml/rss/module/trackback/">http://blog.vertice.fr/trackback.axd?id=6f551ec9-e417-45cc-9dad-89412a44a15f</ping>
      <comment xmlns="http://wellformedweb.org/CommentAPI/">http://blog.vertice.fr/post/2010/08/24/Run-Nova-Studio-on-Common-Language-Runtime-40.aspx#comment</comment>
      <commentRss xmlns="http://wellformedweb.org/CommentAPI/">http://blog.vertice.fr/syndication.axd?post=6f551ec9-e417-45cc-9dad-89412a44a15f</commentRss>
    </item>
    <item>
      <title>Contribute on vertice.fr</title>
      <description>&lt;p&gt;Did you notice on our new web site the &lt;a href="http://www.vertice.fr/Contributions.aspx?lang=en" target="_blank"&gt;community contribution part&lt;/a&gt;? You will find some technical content from our community.&lt;/p&gt;
&lt;p&gt;It's still embryonic at the moment, but you are very welcome on this page if you want to be referenced (nova scenes, scripts, plugins, applications, ...).&lt;/p&gt;
&lt;p&gt;If you are interested, just drop me an email (&lt;a href="mailto:fred@AT@vertice.fr"&gt;fred@AT@vertice.fr&lt;/a&gt;).&lt;/p&gt;</description>
      <link>http://blog.vertice.fr/post/2010/08/23/Contribute-on-verticefr.aspx</link>
      <author>Frédéric Colin</author>
      <comments>http://blog.vertice.fr/post/2010/08/23/Contribute-on-verticefr.aspx#comment</comments>
      <guid>http://blog.vertice.fr/post.aspx?id=ac628f8c-b386-45af-95dc-12a2fddc0633</guid>
      <pubDate>Mon, 23 Aug 2010 11:01:00 +0200</pubDate>
      <category>Vertice</category>
      <category>Community</category>
      <publisher xmlns="http://purl.org/dc/elements/1.1/">Frédéric Colin</publisher>
      <server xmlns="http://madskills.com/public/xml/rss/module/pingback/">http://blog.vertice.fr/pingback.axd</server>
      <target xmlns="http://madskills.com/public/xml/rss/module/pingback/">http://blog.vertice.fr/post.aspx?id=ac628f8c-b386-45af-95dc-12a2fddc0633</target>
      <comments xmlns="http://purl.org/rss/1.0/modules/slash/">0</comments>
      <ping xmlns="http://madskills.com/public/xml/rss/module/trackback/">http://blog.vertice.fr/trackback.axd?id=ac628f8c-b386-45af-95dc-12a2fddc0633</ping>
      <comment xmlns="http://wellformedweb.org/CommentAPI/">http://blog.vertice.fr/post/2010/08/23/Contribute-on-verticefr.aspx#comment</comment>
      <commentRss xmlns="http://wellformedweb.org/CommentAPI/">http://blog.vertice.fr/syndication.axd?post=ac628f8c-b386-45af-95dc-12a2fddc0633</commentRss>
    </item>
    <item>
      <title>Nova4Phone</title>
      <description>&lt;p&gt;Our R&amp;amp;D team has been very busy this summer with the upcoming release of Microsoft Windows Phone 7. I &lt;span&gt;offer you a preview of some Nova4Phone videos. Nova4Phone is our new&amp;nbsp;3D engine for Microsoft Windows Phone 7 (animation, collision, multi-cameras, lightmaps, users' interactions, diffuse, specular, emissive, ambiant, ...).&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Some links:&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span&gt;&lt;strong&gt;English links&lt;/strong&gt;:&lt;/span&gt; 
&lt;ul&gt;
&lt;li&gt;&lt;span&gt;&lt;a href="http://www.mobiletechworld.com/2010/08/17/nova4phone-3d-engine-for-windows-phone-7/" target="_blank"&gt;http://www.mobiletechworld.com/2010/08/17/nova4phone-3d-engine-for-windows-phone-7/&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&lt;a href="http://wmpoweruser.com/nova4phone-3d-engine-for-windows-phone-7-shows-what-the-wp7-gpu-is-capable-of/" target="_blank"&gt;http://wmpoweruser.com/nova4phone-3d-engine-for-windows-phone-7-shows-what-the-wp7-gpu-is-capable-of/&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&lt;a href="http://mobile.downloadatoz.com/article,nova4phone-windows-phone-7-s-3d-rendering-engine.html" target="_blank"&gt;http://mobile.downloadatoz.com/article,nova4phone-windows-phone-7-s-3d-rendering-engine.html&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&lt;strong&gt;German link&lt;/strong&gt;:&lt;/span&gt; 
&lt;ul&gt;
&lt;li&gt;&lt;span&gt;&lt;a href="http://www.areamobile.de/news/16228-nova4phone-3d-interaktive-3d-modelle-vom-pc-auf-windows-phones" target="_blank"&gt;http://www.areamobile.de/news/16228-nova4phone-3d-interaktive-3d-modelle-vom-pc-auf-windows-phones&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&lt;strong&gt;Japanese link&lt;/strong&gt;:&lt;/span&gt; 
&lt;ul&gt;
&lt;li&gt;&lt;span&gt;&lt;a href="http://www.cnbeta.com/articles/119777.htm" target="_blank"&gt;http://www.cnbeta.com/articles/119777.htm&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&lt;strong&gt;Polish link&lt;/strong&gt;:&lt;/span&gt; 
&lt;ul&gt;
&lt;li&gt;&lt;span&gt;&lt;a href="http://pda.pl/news/nova4phone_jako_silnik_3d_od_francuzow__vertice/" target="_blank"&gt;http://pda.pl/news/nova4phone_jako_silnik_3d_od_francuzow__vertice/&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&lt;strong&gt;French link&lt;/strong&gt;:&lt;/span&gt; 
&lt;ul&gt;
&lt;li&gt;&lt;span&gt;&lt;a href="http://www.windowsphoneinfo.com/actualites/12-logiciel/1409-nova3d-un-moteur-3d-interactif-sous-wp7" target="_blank"&gt;http://www.windowsphoneinfo.com/actualites/12-logiciel/1409-nova3d-un-moteur-3d-interactif-sous-wp7&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;David (our lead coder), it's a very good job and &lt;span&gt;even after 11 years to work together, you always impress me!&lt;/span&gt;&lt;/p&gt;</description>
      <link>http://blog.vertice.fr/post/2010/08/23/Nova4Phone.aspx</link>
      <author>Frédéric Colin</author>
      <comments>http://blog.vertice.fr/post/2010/08/23/Nova4Phone.aspx#comment</comments>
      <guid>http://blog.vertice.fr/post.aspx?id=a462e044-02e5-4cbe-b48c-fa7c3567695a</guid>
      <pubDate>Mon, 23 Aug 2010 10:15:00 +0200</pubDate>
      <category>Windows4Phone</category>
      <publisher xmlns="http://purl.org/dc/elements/1.1/">Frédéric Colin</publisher>
      <server xmlns="http://madskills.com/public/xml/rss/module/pingback/">http://blog.vertice.fr/pingback.axd</server>
      <target xmlns="http://madskills.com/public/xml/rss/module/pingback/">http://blog.vertice.fr/post.aspx?id=a462e044-02e5-4cbe-b48c-fa7c3567695a</target>
      <comments xmlns="http://purl.org/rss/1.0/modules/slash/">2</comments>
      <ping xmlns="http://madskills.com/public/xml/rss/module/trackback/">http://blog.vertice.fr/trackback.axd?id=a462e044-02e5-4cbe-b48c-fa7c3567695a</ping>
      <comment xmlns="http://wellformedweb.org/CommentAPI/">http://blog.vertice.fr/post/2010/08/23/Nova4Phone.aspx#comment</comment>
      <commentRss xmlns="http://wellformedweb.org/CommentAPI/">http://blog.vertice.fr/syndication.axd?post=a462e044-02e5-4cbe-b48c-fa7c3567695a</commentRss>
    </item>
    <item>
      <ping xmlns="http://madskills.com/public/xml/rss/module/trackback/">http://patricelamarche.net/Trackback.aspx?guid=42eb74d1-ce60-4a44-aec0-9c8a07d8a625</ping>
      <server xmlns="http://madskills.com/public/xml/rss/module/pingback/">http://patricelamarche.net/pingback.aspx</server>
      <target xmlns="http://madskills.com/public/xml/rss/module/pingback/">http://patricelamarche.net/PermaLink,guid,42eb74d1-ce60-4a44-aec0-9c8a07d8a625.aspx</target>
      <creator xmlns="http://purl.org/dc/elements/1.1/">Patrice Lamarche</creator>
      <comment xmlns="http://wellformedweb.org/CommentAPI/">http://patricelamarche.net/CommentView,guid,42eb74d1-ce60-4a44-aec0-9c8a07d8a625.aspx</comment>
      <commentRss xmlns="http://wellformedweb.org/CommentAPI/">http://patricelamarche.net/SyndicationService.asmx/GetEntryCommentsRss?guid=42eb74d1-ce60-4a44-aec0-9c8a07d8a625</commentRss>
      <title>Nova participe au concours Windows Phone 7</title>
      <guid isPermaLink="false">http://patricelamarche.net/PermaLink,guid,42eb74d1-ce60-4a44-aec0-9c8a07d8a625.aspx</guid>
      <link>http://feedproxy.google.com/~r/Patrice/~3/C9zn3y52o2A/NovaParticipeAuConcoursWindowsPhone7.aspx</link>
      <pubDate>Fri, 20 Aug 2010 19:32:08 GMT</pubDate>
      <description>&lt;body xmlns="http://www.w3.org/1999/xhtml"&gt;
        &lt;p&gt;
C’est avec grand plaisir que je vous indique que &lt;a href="http://www.vertice.fr/" target="_blank"&gt;Nova
le logiciel 3D temps réél édité par la société Vertice&lt;/a&gt; (société soeur de Bewise)
participe depuis quelques jours &lt;a href="http://msdn.microsoft.com/fr-fr/isv/ff817766.aspx" target="_blank"&gt;au
concours Windows Phone 7 organisé par Microsoft France&lt;/a&gt;.
&lt;/p&gt;
        &lt;p align="center"&gt;
Vous pouvez visionner la vidéo de démonstration de Nova4Phone via la vidéo ci-dessous
hébergée sur Facebook. Et si vous l’appréciez n’hésitez pas à l’indiquer en faisant
un “Like” ce qui permetttra à l’application de grimper de quelques places au sein
du concours !
&lt;/p&gt;
        &lt;p&gt;
          &lt;a title="Vidéo Nova Phone" href="http://www.facebook.com/video/video.php?v=1413141241316&amp;amp;oid=129459787073480" target="_blank"&gt;
            &lt;img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" class="wlDisabledImage" title="image" border="0" alt="image" src="http://patricelamarche.net/content/binary/WindowsLiveWriter/NovaparticipeauconcoursWindowsPhone7_12C85/image_3.png" width="758" height="427"&gt;&lt;/img&gt;
          &lt;/a&gt;
        &lt;/p&gt;
        &lt;br&gt;
        &lt;div class="wlWriterHeaderFooter" style="margin:0px; padding:4px 0px 4px 1px;"&gt;
          &lt;iframe src="http://www.facebook.com/widgets/like.php?href=http://patricelamarche.net/2010/08/20/NovaParticipeAuConcoursWindowsPhone7.aspx" scrolling="no" frameborder="0" style="border:none; width:450px; height:40px"&gt;
          &lt;/iframe&gt;
        &lt;/div&gt;
        &lt;img width="0" height="0" src="http://patricelamarche.net/aggbug.ashx?id=42eb74d1-ce60-4a44-aec0-9c8a07d8a625"&gt;&lt;/img&gt;
      &lt;/body&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Patrice?a=C9zn3y52o2A:kUQAFd6pBNU:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Patrice?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Patrice?a=C9zn3y52o2A:kUQAFd6pBNU:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Patrice?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Patrice?a=C9zn3y52o2A:kUQAFd6pBNU:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Patrice?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Patrice?a=C9zn3y52o2A:kUQAFd6pBNU:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Patrice?i=C9zn3y52o2A:kUQAFd6pBNU:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Patrice?a=C9zn3y52o2A:kUQAFd6pBNU:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Patrice?i=C9zn3y52o2A:kUQAFd6pBNU:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Patrice/~4/C9zn3y52o2A" height="1" width="1"/&gt;</description>
      <comments>http://patricelamarche.net/CommentView,guid,42eb74d1-ce60-4a44-aec0-9c8a07d8a625.aspx</comments>
      <category>Bewise</category>
      <origLink xmlns="http://rssnamespace.org/feedburner/ext/1.0">http://patricelamarche.net/2010/08/20/NovaParticipeAuConcoursWindowsPhone7.aspx</origLink>
    </item>
    <item>
      <title>La recherche Sharepoint ne renvoie plus rien</title>
      <link>http://blog.djeepy1.net/2010/08/18/la-recherche-sharepoint-ne-renvoie-plus-rien/</link>
      <comments>http://blog.djeepy1.net/2010/08/18/la-recherche-sharepoint-ne-renvoie-plus-rien/#comments</comments>
      <pubDate>Wed, 18 Aug 2010 13:55:01 +0000</pubDate>
      <creator xmlns="http://purl.org/dc/elements/1.1/">Djeepy1</creator>
      <category><![CDATA[Sharepoint]]></category>
      <category><![CDATA[Recherche]]></category>
      <guid isPermaLink="false">https://djeepy1.wordpress.com/2010/08/18/la-recherche-sharepoint-ne-renvoie-plus-rien/</guid>
      <description><![CDATA[Non, je ne change pas de branche, je reste expert SQL Server mais je voulais faire une petite KB sur un problème rencontré sous Sharepoint. Le problème est le suivant : la recherche dans un site Sharepoint ne fonctionne plus Checklist : vérifiez le bon fonctionnement des Services suivants Office SharePoint Server Search Windows SharePoint [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.djeepy1.net&blog=7511412&post=277&subd=djeepy1&ref=&feed=1" />]]></description>
      <encoded xmlns="http://purl.org/rss/1.0/modules/content/"><![CDATA[<p>Non, je ne change pas de branche, je reste expert SQL Server mais je voulais faire une petite KB sur un problème rencontré sous Sharepoint.</p>
<p>Le problème est le suivant : <strong>la recherche dans un site Sharepoint ne fonctionne plus</strong></p>
<p><strong><u>Checklist</u></strong> :</p>
<ul>
<li>vérifiez le bon fonctionnement des Services suivants</li>
</ul>
<ul>
<li>Office SharePoint Server Search</li>
<li>Windows SharePoint Services Search</li>
</ul>
<li>regardez l’Event Viewer (un bon réflexe en troubleshooting)</li>
<li>vérifiez la configuration de la recherche</li>
<ul>
<li>Allez dans la “Central Administration”, dans la configuration de votre site</li>
<li>Allez dans la section Search       <br /><a href="http://djeepy1.files.wordpress.com/2010/08/image.png"><img style="border-bottom:0;border-left:0;display:inline;border-top:0;border-right:0;" title="image" border="0" alt="image" src="http://djeepy1.files.wordpress.com/2010/08/image_thumb.png?w=191&#038;h=78" width="191" height="78" /></a> </li>
<li>Vérifiez l’état de l’indexation       <br /><a href="http://djeepy1.files.wordpress.com/2010/08/image1.png"><img style="border-bottom:0;border-left:0;display:inline;border-top:0;border-right:0;" title="image" border="0" alt="image" src="http://djeepy1.files.wordpress.com/2010/08/image_thumb1.png?w=379&#038;h=86" width="379" height="86" /></a></li>
<li>Vérifiez les erreurs dans “Content sources and crawl schedules” et éventuellement relancez un Crawl       <br /><a href="http://djeepy1.files.wordpress.com/2010/08/image2.png"><img style="border-bottom:0;border-left:0;display:inline;border-top:0;border-right:0;" title="image" border="0" alt="image" src="http://djeepy1.files.wordpress.com/2010/08/image_thumb2.png?w=354&#038;h=269" width="354" height="269" /></a> </li>
<li>Vérifiez le compte utilisé pour l’indexation. En l’occurrence, c’était mon cas. Quelqu’un a changé le mot de passe de ce compte qui par conséquent se prenait un Logon Failure</li>
</ul>
<p>&#160;</p>
<p><strong><u>Moralité</u> : utilisez des comptes de services dédiés (et ne les changeaient pas) !</strong></p>
<p><strong></strong></p>
<p>Merci à <a href="http://kazoumoulox.wordpress.com/" target="_blank">Kazoumoulox</a> pour son aide.</p>
<br />Filed under: <a href='http://blog.djeepy1.net/category/sharepoint/'>Sharepoint</a> Tagged: <a href='http://blog.djeepy1.net/tag/recherche/'>Recherche</a>, <a href='http://blog.djeepy1.net/tag/sharepoint/'>Sharepoint</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/djeepy1.wordpress.com/277/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/djeepy1.wordpress.com/277/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/djeepy1.wordpress.com/277/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/djeepy1.wordpress.com/277/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/djeepy1.wordpress.com/277/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/djeepy1.wordpress.com/277/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/djeepy1.wordpress.com/277/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/djeepy1.wordpress.com/277/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/djeepy1.wordpress.com/277/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/djeepy1.wordpress.com/277/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/djeepy1.wordpress.com/277/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/djeepy1.wordpress.com/277/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/djeepy1.wordpress.com/277/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/djeepy1.wordpress.com/277/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.djeepy1.net&blog=7511412&post=277&subd=djeepy1&ref=&feed=1" />]]></encoded>
      <commentRss xmlns="http://wellformedweb.org/CommentAPI/">http://blog.djeepy1.net/2010/08/18/la-recherche-sharepoint-ne-renvoie-plus-rien/feed/</commentRss>
      <comments xmlns="http://purl.org/rss/1.0/modules/slash/">0</comments>
      <content url="http://1.gravatar.com/avatar/d5bd484f181f5352c2e531cb5cc78aef?s=96&amp;d=http%3A%2F%2Fs0.wp.com%2Fi%2Fmu.gif&amp;r=G" medium="image" xmlns="http://search.yahoo.com/mrss/">
        <title type="html">djeepy1</title>
      </content>
      <content url="http://djeepy1.files.wordpress.com/2010/08/image_thumb.png" medium="image" xmlns="http://search.yahoo.com/mrss/">
        <title type="html">image</title>
      </content>
      <content url="http://djeepy1.files.wordpress.com/2010/08/image_thumb1.png" medium="image" xmlns="http://search.yahoo.com/mrss/">
        <title type="html">image</title>
      </content>
      <content url="http://djeepy1.files.wordpress.com/2010/08/image_thumb2.png" medium="image" xmlns="http://search.yahoo.com/mrss/">
        <title type="html">image</title>
      </content>
    </item>
    <item>
      <guid isPermaLink="false">tag:blogger.com,1999:blog-5619051591853320584.post-8222916803725630769</guid>
      <pubDate>Tue, 17 Aug 2010 09:55:00 +0000</pubDate>
      <updated xmlns="http://www.w3.org/2005/Atom">2010-08-17T11:55:22.150+02:00</updated>
      <category domain="http://www.blogger.com/atom/ns#">3D</category>
      <category domain="http://www.blogger.com/atom/ns#">Windows Phone</category>
      <category domain="http://www.blogger.com/atom/ns#">XNA</category>
      <title>De la 3D sur Windows Phone 7</title>
      <description>&lt;p&gt;Pour changer un peu du développement web, on peut aller voir ce qui se fait sur Windows Phone. &lt;/p&gt;  &lt;p&gt;Aujourd’hui, je vous propose de découvrir le moteur 3D fait par David Catuhe pour Windows Phone : c’est juste impressionnant. Pour voir la démo, ça se passe sur facebook : &lt;a title="http://www.facebook.com/video/video.php?v=1413141241316&amp;amp;oid=129459787073480" href="http://www.facebook.com/video/video.php?v=1413141241316&amp;amp;oid=129459787073480"&gt;http://www.facebook.com/video/video.php?v=1413141241316&amp;amp;oid=129459787073480&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;N’hésitez pas à “liker” la vidéo si vous aimez !&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5619051591853320584-8222916803725630769?l=blog.adhess.net' alt='' /&gt;&lt;/div&gt;</description>
      <link>http://blog.adhess.net/2010/08/de-la-3d-sur-windows-phone-7.html</link>
      <author>noreply@blogger.com (Guillaume Lacasa)</author>
      <total xmlns="http://purl.org/syndication/thread/1.0">0</total>
    </item>
    <item>
      <guid isPermaLink="false">tag:blogger.com,1999:blog-5619051591853320584.post-405407762936343727</guid>
      <pubDate>Tue, 17 Aug 2010 09:45:00 +0000</pubDate>
      <updated xmlns="http://www.w3.org/2005/Atom">2010-08-17T11:45:36.711+02:00</updated>
      <category domain="http://www.blogger.com/atom/ns#">MVC 2</category>
      <category domain="http://www.blogger.com/atom/ns#">MVC</category>
      <category domain="http://www.blogger.com/atom/ns#">ASP.NET</category>
      <title>ASP.NET MVC : gestion dynamique des droits d’accès aux pages</title>
      <description>&lt;p&gt;Si vous lisez mon blog régulièrement, vous avez du vous rendre compte qu’ASP.NET MVC n’est pas vraiment terrible, puisque je passe mon temps à refaire tout ce qu’il fait déjà. Je continue aujourd’hui avec la gestion des droits d’accès aux pages.&lt;/p&gt;  &lt;p&gt;ASP.NET MVC, tout comme les WebForms, se base sur les Membership providers pour la gestion des utilisateurs. Mais contrairement aux WebForms, on ne pourra pas utiliser le web.config pour définir quelles pages sont accessibles ; pour ça, MVC utilise les DataAnnotations sur les contrôleurs et les actions.    &lt;br /&gt;On va décorer nos contrôleurs (ou nos actions) avec un petit [Authorize] pour définir que l’utilisateur doit être logué pour accéder au contrôleur (ou à l’action).&lt;/p&gt;  &lt;p&gt;Pour donner les autorisations par utilisateur ou par rôle (groupes basés sur le Role Provider), on va pouvoir définir les utilisateurs et rôles autorisés.    &lt;br /&gt;En pratique, ça donnera quelque chose comme ça :&lt;/p&gt;  &lt;div style="border-bottom: silver 1px solid; text-align: left; border-left: silver 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; max-height: 200px; font-size: 8pt; overflow: auto; border-top: silver 1px solid; cursor: text; border-right: silver 1px solid; padding-top: 4px" id="codeSnippetWrapper"&gt;   &lt;div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;     &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum1"&gt;   1:&lt;/span&gt; [Authorize]&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum2"&gt;   2:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; ActionResult UserDetail()&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum3"&gt;   3:&lt;/span&gt; {&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum4"&gt;   4:&lt;/span&gt;     var userData = GetCurrentUserData();&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum5"&gt;   5:&lt;/span&gt;&amp;#160; &lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum6"&gt;   6:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;return&lt;/span&gt; View(userData);&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum7"&gt;   7:&lt;/span&gt; }&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum8"&gt;   8:&lt;/span&gt;&amp;#160; &lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum9"&gt;   9:&lt;/span&gt; [Authorize(Roles=&lt;span style="color: #006080"&gt;&amp;quot;Administrateurs&amp;quot;&lt;/span&gt;, Users=&lt;span style="color: #006080"&gt;&amp;quot;Guigui&amp;quot;&lt;/span&gt;)]&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum10"&gt;  10:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; ActionResult Admin()&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum11"&gt;  11:&lt;/span&gt; {&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum12"&gt;  12:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;return&lt;/span&gt; View();&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum13"&gt;  13:&lt;/span&gt; }&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Voilà, c’est bien beau tout ça, mais comme j’ai dis en introduction, ça me suffit pas. Oui, je suis exigeant (qui a dit “chieur” ?), et moi ce que je veux, c’est pouvoir définir les droits dynamiquement. Par exemple, j’aurai dans ma base de données ma liste de contrôleurs, d’actions, et de rôles associés qui seraient autorisés à y accéder… et ça, ben je peux pas le faire avec le AuthorizeAttribute.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Qu’à celà ne tienne, je vais faire mon attribut à moi ! Et comme j’ai pas envie de tout refaire, je vais directement hériter du AuthorizeAttribute, et faire mes vérifications à la mimine. Pour les vérifications, j’aurai juste à redéfinir la méthode “AuthorizeCore” qui renverra true si l’utilisateur a accès, ou false s’il n’y a pas accès… Voilà le résultat :&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="border-bottom: silver 1px solid; text-align: left; border-left: silver 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; max-height: 200px; font-size: 8pt; overflow: auto; border-top: silver 1px solid; cursor: text; border-right: silver 1px solid; padding-top: 4px" id="codeSnippetWrapper"&gt;&lt;br /&gt;  &lt;div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum1"&gt;   1:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;class&lt;/span&gt; MyDbAuthorizeAttribute : AuthorizeAttribute&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum2"&gt;   2:&lt;/span&gt; {&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum3"&gt;   3:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;protected&lt;/span&gt; &lt;span style="color: #0000ff"&gt;override&lt;/span&gt; &lt;span style="color: #0000ff"&gt;bool&lt;/span&gt; AuthorizeCore(HttpContextBase httpContext)&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum4"&gt;   4:&lt;/span&gt;     {&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum5"&gt;   5:&lt;/span&gt;         MvcHandler handler = httpContext.CurrentHandler &lt;span style="color: #0000ff"&gt;as&lt;/span&gt; MvcHandler;&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum6"&gt;   6:&lt;/span&gt;         RouteValueDictionary routeValues = handler.RequestContext.RouteData.Values;&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum7"&gt;   7:&lt;/span&gt;&amp;#160; &lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum8"&gt;   8:&lt;/span&gt;         String controller = routeValues[&lt;span style="color: #006080"&gt;&amp;quot;controller&amp;quot;&lt;/span&gt;].ToString();&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum9"&gt;   9:&lt;/span&gt;         String action = routeValues[&lt;span style="color: #006080"&gt;&amp;quot;action&amp;quot;&lt;/span&gt;].ToString();&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum10"&gt;  10:&lt;/span&gt;         IPrincipal user = httpContext.User;&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum11"&gt;  11:&lt;/span&gt;&amp;#160; &lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum12"&gt;  12:&lt;/span&gt;         &lt;span style="color: #0000ff"&gt;return&lt;/span&gt; CheckAuthorization(user, controller, action);&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum13"&gt;  13:&lt;/span&gt;     }&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum14"&gt;  14:&lt;/span&gt;&amp;#160; &lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum15"&gt;  15:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;private&lt;/span&gt; &lt;span style="color: #0000ff"&gt;bool&lt;/span&gt; CheckAuthorization(System.Security.Principal.IPrincipal iPrincipal, &lt;span style="color: #0000ff"&gt;string&lt;/span&gt; controller, &lt;span style="color: #0000ff"&gt;string&lt;/span&gt; action)&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum16"&gt;  16:&lt;/span&gt;     {&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum17"&gt;  17:&lt;/span&gt;         &lt;span style="color: #008000"&gt;// Ici je vais pouvoir interroger ma base de données&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum18"&gt;  18:&lt;/span&gt;         &lt;span style="color: #0000ff"&gt;return&lt;/span&gt; &lt;span style="color: #0000ff"&gt;true&lt;/span&gt;;&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum19"&gt;  19:&lt;/span&gt;     }&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum20"&gt;  20:&lt;/span&gt; }&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Une fois qu’on a définit notre attribut, on n’a plus qu’à taguer tous nos contrôleurs avec un [MyDbAuthorize] pour que la vérification des droits se fasse dans notre méthode de vérification.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5619051591853320584-405407762936343727?l=blog.adhess.net' alt='' /&gt;&lt;/div&gt;</description>
      <link>http://blog.adhess.net/2010/08/aspnet-mvc-gestion-dynamique-des-droits.html</link>
      <author>noreply@blogger.com (Guillaume Lacasa)</author>
      <total xmlns="http://purl.org/syndication/thread/1.0">0</total>
    </item>
    <item>
      <title>Rajouter un événement sur le changement d’une DependencyProperty avec Silverlight pour Windows Phone 7</title>
      <description>&lt;p&gt;La problématique est la suivante : J’ai une DependencyProperty dans une application Silverlight et cette dernière n’a pas d’événement lorsque sa valeur change.&lt;/p&gt;  &lt;p&gt;Or, il faut que dans mon application je sois notifié sinon ca ne marchera pas.&lt;/p&gt;  &lt;p&gt;Quel cruel dilemne! D’autant plus qu’en WPF je n’aurai aucun mal à faire cela puisque je pourrai directement me brancher dessus en tant qu’owner ou bien encore récupérer ses métadatas et rajouter un événement.&lt;/p&gt;  &lt;p&gt;Mais sous Windows Phone 7, point de tout cela. Heureusement il existe (au moins) une solution (je dis au moins, car au bureau on veut me faire croire qu’il existerait d’autres solutions mais plus élégantes. Comme pour le moment ils n’ont rien trouvé, je publie la mienne:))&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Nous allons tout simplement faire un binding entre la propriété que je veux surveiller et une DependencyProperty que je vais créer et ou je pourrais sans problème indiquer un événement. Ainsi quand ma propriété d’origine va changer, le binding va automatiquement changer ma propriété de surveillance qui me lèvera gentiment un événement.&lt;/p&gt;  &lt;p&gt;En code cela donne donc ceci:&lt;/p&gt;  &lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;using&lt;/span&gt; System;
&lt;span class="kwrd"&gt;using&lt;/span&gt; System.Windows;
&lt;span class="kwrd"&gt;using&lt;/span&gt; System.Windows.Data;
&lt;span class="kwrd"&gt;using&lt;/span&gt; Microsoft.Phone.Controls;

&lt;span class="kwrd"&gt;namespace&lt;/span&gt; WindowsPhoneApplication1
{
    &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;class&lt;/span&gt; DependencyProperyWatcher&amp;lt;T&amp;gt; : DependencyObject
    {
        &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;event&lt;/span&gt; EventHandler ValueChanged;
        &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;static&lt;/span&gt; &lt;span class="kwrd"&gt;readonly&lt;/span&gt; DependencyProperty property = &lt;br /&gt;DependencyProperty.Register(&lt;span class="str"&gt;&amp;quot;Value&amp;quot;&lt;/span&gt;, &lt;span class="kwrd"&gt;typeof&lt;/span&gt;(T), &lt;br /&gt;&lt;span class="kwrd"&gt;typeof&lt;/span&gt;(DependencyProperyWatcher&amp;lt;T&amp;gt;), &lt;span class="kwrd"&gt;new&lt;/span&gt; PropertyMetadata(OnvalueChanged));

        &lt;span class="kwrd"&gt;static&lt;/span&gt; &lt;span class="kwrd"&gt;void&lt;/span&gt; OnvalueChanged(DependencyObject d, &lt;br /&gt;DependencyPropertyChangedEventArgs e)
        {
            ((DependencyProperyWatcher&amp;lt;T&amp;gt;) d).RaiseValueChanged();
        }

        &lt;span class="kwrd"&gt;public&lt;/span&gt; DependencyProperyWatcher(DependencyObject d, &lt;span class="kwrd"&gt;string&lt;/span&gt; propName)
        {
            var bnd = &lt;span class="kwrd"&gt;new&lt;/span&gt; Binding(propName)
                          {
                              Source = d,
                              Mode = BindingMode.OneWay
                          };

            BindingOperations.SetBinding(&lt;span class="kwrd"&gt;this&lt;/span&gt;, property, bnd);
        }

        &lt;span class="kwrd"&gt;void&lt;/span&gt; RaiseValueChanged()
        {
            &lt;span class="kwrd"&gt;if&lt;/span&gt; (ValueChanged != &lt;span class="kwrd"&gt;null&lt;/span&gt;)
                ValueChanged(&lt;span class="kwrd"&gt;this&lt;/span&gt;, EventArgs.Empty);
        }
    }

    &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;partial&lt;/span&gt; &lt;span class="kwrd"&gt;class&lt;/span&gt; MainPage : PhoneApplicationPage
    {
        &lt;span class="rem"&gt;// Constructor&lt;/span&gt;
        &lt;span class="kwrd"&gt;public&lt;/span&gt; MainPage()
        {
            InitializeComponent();
        }

        &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;void&lt;/span&gt; test()
        {
            DependencyProperyWatcher&amp;lt;&lt;span class="kwrd"&gt;double&lt;/span&gt;&amp;gt; toto = &lt;br /&gt;&lt;span class="kwrd"&gt;new&lt;/span&gt; DependencyProperyWatcher&amp;lt;&lt;span class="kwrd"&gt;double&lt;/span&gt;&amp;gt;(&lt;span class="kwrd"&gt;this&lt;/span&gt;, &lt;span class="str"&gt;&amp;quot;Width&amp;quot;&lt;/span&gt;);
        }
    }
}&lt;/pre&gt;

&lt;p&gt;&amp;#160;&lt;/p&gt;

&lt;p&gt;Via ma variable toto, je peux avoir accès à un événement qui sera levé à chaque fois que la propriété Width de ma page changera !&lt;style type="text/css"&gt;
.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }&lt;/style&gt;&lt;/p&gt;
&lt;div class="addthis_toolbox addthis_default_style"  style="padding-top:10px" &gt;
&lt;a style="padding-right:10px" href="http://www.addthis.com/bookmark.php?v=250&amp;username=4a00fc5d6a261f84&amp;url=http%3a%2f%2fwww.catuhe.com%2fpost%2fRajouter-un-evenement-sur-le-changement-de28099une-DependencyProperty-avec-Silverlight-pour-Windows-Phone-7.aspx&amp;title=Rajouter+un+%c3%a9v%c3%a9nement+sur+le+changement+d%e2%80%99une+DependencyProperty+avec+Silverlight+pour+Windows+Phone+7&amp;description="&gt;&lt;img src="http://s7.addthis.com/static/btn/v2/sm-bookmark-en.gif"  alt="Bookmark and Share" style="border:0"/&gt;&lt;/a&gt;
&lt;/div&gt;</description>
      <link>http://www.catuhe.com/post/Rajouter-un-evenement-sur-le-changement-de28099une-DependencyProperty-avec-Silverlight-pour-Windows-Phone-7.aspx</link>
      <author>kosh</author>
      <comments>http://www.catuhe.com/post/Rajouter-un-evenement-sur-le-changement-de28099une-DependencyProperty-avec-Silverlight-pour-Windows-Phone-7.aspx#comment</comments>
      <guid>http://www.catuhe.com/post.aspx?id=e7936815-d9b0-40fb-9eb0-189bcbc63fe0</guid>
      <pubDate>Mon, 16 Aug 2010 18:32:59 +0300</pubDate>
      <category>Windows Phone</category>
      <category>Silverlight</category>
      <category>.Net</category>
      <publisher xmlns="http://purl.org/dc/elements/1.1/">kosh</publisher>
      <server xmlns="http://madskills.com/public/xml/rss/module/pingback/">http://www.catuhe.com/pingback.axd</server>
      <target xmlns="http://madskills.com/public/xml/rss/module/pingback/">http://www.catuhe.com/post.aspx?id=e7936815-d9b0-40fb-9eb0-189bcbc63fe0</target>
      <comments xmlns="http://purl.org/rss/1.0/modules/slash/">0</comments>
      <ping xmlns="http://madskills.com/public/xml/rss/module/trackback/">http://www.catuhe.com/trackback.axd?id=e7936815-d9b0-40fb-9eb0-189bcbc63fe0</ping>
      <comment xmlns="http://wellformedweb.org/CommentAPI/">http://www.catuhe.com/post/Rajouter-un-evenement-sur-le-changement-de28099une-DependencyProperty-avec-Silverlight-pour-Windows-Phone-7.aspx#comment</comment>
      <commentRss xmlns="http://wellformedweb.org/CommentAPI/">http://www.catuhe.com/syndication.axd?post=e7936815-d9b0-40fb-9eb0-189bcbc63fe0</commentRss>
    </item>
    <item>
      <title>ROW or PAGE Compression ?</title>
      <link>http://www.dotmim.com/blogs/mim/archive/2010/08/14/row-or-page-compression.aspx</link>
      <pubDate>Sat, 14 Aug 2010 09:49:24 GMT</pubDate>
      <guid isPermaLink="false">f24f4a04-d5df-4071-90fb-39191e3ba06c:588</guid>
      <creator xmlns="http://purl.org/dc/elements/1.1/">Mimetis</creator>
      <comments xmlns="http://purl.org/rss/1.0/modules/slash/">0</comments>
      <wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://www.dotmim.com/blogs/mim/rsscomments.aspx?PostID=588</wfw:commentRss>
      <comments>http://www.dotmim.com/blogs/mim/archive/2010/08/14/row-or-page-compression.aspx#comments</comments>
      <description>&lt;p&gt;SQL SERVER 2008 apporte une nouveauté dans la compression : La faculté de compresser une table.&lt;/p&gt;  &lt;p&gt;Pour réaliser cette compression, vous pouvez opter pour la compression par &lt;strong&gt;page de données&lt;/strong&gt; ou par &lt;strong&gt;ligne&lt;/strong&gt;. (PAGE COMPRESSION, ROW COMPRESSION)&lt;/p&gt;  &lt;p&gt;Hormis le taux de compression que l’on gagne, donc un I/O réduit, et par déduction un gain de performance notable (modulo votre overhead CPU), quel choix faire entre Row ou Page Compression ?&lt;/p&gt;  &lt;h3&gt;Rappel de ces deux modes de stockage différents :&lt;/h3&gt;  &lt;p&gt;&lt;strong&gt;Row Compression&lt;/strong&gt; : Les données dont le type est fixé (genre Char(100) sont stockées sous forme variable, avec optimisation du stockage de l’information de longueur. Et qui dit gain de bits non utilisés, dit plus moins de place pris par la row dans la page, donc plus de données stockées dans la page etc …&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Page Compression&lt;/strong&gt; : Les données redondantes sont stockées unitairement dans la page (genre une valeur par défaut) pour sauvegarder de la place. Qui dit gain de place, dit plus de données dans une page etc …&lt;/p&gt;  &lt;h3&gt;Généralement, on va dire que :&lt;/h3&gt;  &lt;p&gt;Si vous avez une activité intense, typique d’une base de données OLTP, utilisez la &lt;strong&gt;ROW COMPRESSION&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Si vous avez une activité aléatoire, une table d’archive accédée plus rarement, utilisez la &lt;strong&gt;PAGE COMPRESSION&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Ce genre de scénario est très utilisé dans les partitions de table par exemple:&lt;/p&gt;  &lt;p&gt;On peut imaginer une table partitionnée par date, dont les données de l’année en cours sont compressées en mode ROW compression, et dont les données antérieures à 10 ans (par ex) stockées sur une autre partition sont compressées avec le mode PAGE Compression&lt;/p&gt;  &lt;p&gt;Bonne compression&lt;/p&gt;&lt;img src="http://www.dotmim.com/aggbug.aspx?PostID=588" width="1" height="1"&gt;</description>
    </item>
    <item>
      <title>RAID 0, RAID 1, RAID 5 etc …</title>
      <link>http://www.dotmim.com/blogs/mim/archive/2010/08/04/raid-0-raid-1-raid-5-etc.aspx</link>
      <pubDate>Wed, 04 Aug 2010 15:04:17 GMT</pubDate>
      <guid isPermaLink="false">f24f4a04-d5df-4071-90fb-39191e3ba06c:586</guid>
      <creator xmlns="http://purl.org/dc/elements/1.1/">Mimetis</creator>
      <comments xmlns="http://purl.org/rss/1.0/modules/slash/">2</comments>
      <wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://www.dotmim.com/blogs/mim/rsscomments.aspx?PostID=586</wfw:commentRss>
      <comments>http://www.dotmim.com/blogs/mim/archive/2010/08/04/raid-0-raid-1-raid-5-etc.aspx#comments</comments>
      <description>&lt;p&gt;Il existe plusieurs modes dans la haute disponibilité avec SQL SERVER.&lt;/p&gt;  &lt;p&gt;Ces modes Softwares, comme le Mirroring, Log Shipping, Replication Peer to Peer ou tout simplement une bonne stratégie de backups, s’appuient derrière sur du matériel physique : Nos chers disques durs, nos LUN dans nos SAN etc…&lt;/p&gt;  &lt;p&gt;Il est donc peut être utile de rappeller (enfin moi ça m’est utile là tout de suite :)) les modes RAIDS à notre disposition :&lt;/p&gt;  &lt;table cellspacing="0" cellpadding="2"&gt;     &lt;tr&gt;       &lt;td&gt;         &lt;h2&gt;MODE&lt;/h2&gt;       &lt;/td&gt;        &lt;td&gt;&amp;#160;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;         &lt;h3&gt;RAID 0 (Répartition)&lt;/h3&gt;       &lt;/td&gt;        &lt;td&gt;&amp;#160;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;         &lt;p&gt;Le Raid 0 est une solution de performance. Ici pas de redondance. &lt;/p&gt;          &lt;p&gt;C&amp;#39;est un système de répartition qui améliore les performances. &lt;/p&gt;          &lt;p&gt;&lt;strong&gt;Capacité :&lt;/strong&gt;&lt;/p&gt;          &lt;p&gt;La totalité des disques&lt;/p&gt;          &lt;p&gt;&lt;strong&gt;Fiabilité :&lt;/strong&gt;&lt;/p&gt;          &lt;p&gt;Le défaut de cette solution est que la perte d&amp;#39;un seul disque entraîne la perte de toutes les données &lt;/p&gt;          &lt;p&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="clip_image001" border="0" alt="clip_image001" src="http://www.dotmim.com/blogs/mim/clip_image001_1CAFAA3D.png" width="230" height="459" /&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;         &lt;h3&gt;RAID 1 (Redondance)&lt;/h3&gt;       &lt;/td&gt;        &lt;td&gt;&amp;#160;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;         &lt;p&gt;Le Raid 1 consiste en un mirroring de Disque dur &lt;/p&gt;          &lt;p&gt;Redondance des disques &lt;/p&gt;          &lt;p&gt;&lt;strong&gt;Capacité :&lt;/strong&gt;&lt;/p&gt;          &lt;p&gt;La taille d’un seul disque (le plus petit)&lt;/p&gt;          &lt;p&gt;La capacité supplémentaire est inutilisée si les disques durs n’ont pas la même capacité. Pensez à utiliser des disques de même capacités &lt;/p&gt;          &lt;p&gt;&lt;strong&gt;Fiabilité&amp;#160; :&lt;/strong&gt;&lt;/p&gt;          &lt;p&gt;Cette solution offre un excellent niveau de protection des données. &lt;/p&gt;          &lt;p&gt;Elle accepte une défaillance de n − 1 éléments. &lt;/p&gt;       &lt;/td&gt;        &lt;td&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="clip_image002" border="0" alt="clip_image002" src="http://www.dotmim.com/blogs/mim/clip_image002_64CD404C.png" width="230" height="449" /&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;         &lt;h3&gt;RAID 5&lt;/h3&gt;       &lt;/td&gt;        &lt;td&gt;&amp;#160;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;         &lt;p&gt;La répartition par bit de parité est circulaire. Si un disque tombe, les autres disques sont capables de recalculer les données perdues. &lt;/p&gt;          &lt;p&gt;Attention, un seul disque peut tomber en défaillance. &lt;/p&gt;          &lt;p&gt;&lt;strong&gt;Capacité :&lt;/strong&gt; &lt;/p&gt;          &lt;p&gt;Sur 3 disques en RAID 5 : 2/3 de places disponible&lt;/p&gt;          &lt;p&gt;&lt;strong&gt;Fiabilité :&lt;/strong&gt;&lt;/p&gt;          &lt;p&gt;Bonne si un seul disque tombe …&lt;/p&gt;          &lt;p&gt;La durée de remontage d&amp;#39;un disque est proportionnelle à la taille du disque (prohibitif sur les disques actuelles &amp;gt; 1 TO qui représente une dizaine d&amp;#39;heures de traitement) &lt;/p&gt;          &lt;p&gt;&lt;strong&gt;Implémentation&lt;/strong&gt;&lt;/p&gt;          &lt;p&gt;Attention il faut un minimum de 3 disques pour mettre en place du RAID 5&lt;/p&gt;       &lt;/td&gt;        &lt;td&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="image" border="0" alt="image" src="http://www.dotmim.com/blogs/mim/image_31615723.png" width="230" height="315" /&gt; &lt;/td&gt;     &lt;/tr&gt;   &lt;/table&gt;  &lt;p&gt;&lt;u&gt;&lt;em&gt;De là on peut imaginer plusieurs modes “complémentaires”&lt;/em&gt;&lt;/u&gt;&lt;/p&gt;  &lt;h3&gt;RAID 0+1 &lt;/h3&gt;  &lt;p&gt;Comprenez : RAID 0 puis implémentation du RAID 1 par dessus&lt;/p&gt;  &lt;p&gt;&lt;img style="border-right-width:0px;display:block;float:none;border-top-width:0px;border-bottom-width:0px;margin-left:auto;border-left-width:0px;margin-right:auto;" title="image" border="0" alt="image" src="http://www.dotmim.com/blogs/mim/image_01768F95.png" width="400" height="392" /&gt; &lt;/p&gt;  &lt;h3&gt;RAID 1+0&lt;/h3&gt;  &lt;p&gt;Comprenez : RAID 1 puis implémentation de RAID 0&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://upload.wikimedia.org/wikipedia/commons/0/06/RAID_51.png"&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;img style="border-right-width:0px;display:block;float:none;border-top-width:0px;border-bottom-width:0px;margin-left:auto;border-left-width:0px;margin-right:auto;" title="image" border="0" alt="image" src="http://www.dotmim.com/blogs/mim/image_03BFEBC6.png" width="400" height="438" /&gt; &lt;/p&gt;  &lt;h3&gt;RAID 5+1 &lt;/h3&gt;  &lt;p&gt;&lt;img style="border-right-width:0px;display:block;float:none;border-top-width:0px;border-bottom-width:0px;margin-left:auto;border-left-width:0px;margin-right:auto;" title="image" border="0" alt="image" src="http://www.dotmim.com/blogs/mim/image_5358CB75.png" width="450" height="334" /&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;BON RAIDS (private joke ;))&lt;/p&gt;&lt;img src="http://www.dotmim.com/aggbug.aspx?PostID=586" width="1" height="1"&gt;</description>
    </item>
    <item>
      <title>Sql Server TRUSTWORTHY</title>
      <link>http://www.dotmim.com/blogs/mim/archive/2010/08/04/sql-server-trustworthy.aspx</link>
      <pubDate>Wed, 04 Aug 2010 09:19:53 GMT</pubDate>
      <guid isPermaLink="false">f24f4a04-d5df-4071-90fb-39191e3ba06c:585</guid>
      <creator xmlns="http://purl.org/dc/elements/1.1/">Mimetis</creator>
      <comments xmlns="http://purl.org/rss/1.0/modules/slash/">0</comments>
      <wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://www.dotmim.com/blogs/mim/rsscomments.aspx?PostID=585</wfw:commentRss>
      <comments>http://www.dotmim.com/blogs/mim/archive/2010/08/04/sql-server-trustworthy.aspx#comments</comments>
      <description>&lt;p&gt;l’option &lt;strong&gt;TRUSTWORTHY&lt;/strong&gt; permet de spécifier un niveau de “confiance” d’une instance vis à vis d’une base de données.&lt;/p&gt;  &lt;p&gt;Ce nouveau concept a été introduit avec SQL SERVER 2005.&lt;/p&gt;  &lt;p&gt;Il est implicitement induit par de nouvelles fonctionnalités apportées par SQL SERVER 2005, notamment l’intégration de la SQL CLR.&lt;/p&gt;  &lt;p&gt;Supposons que vous attachiez une base de données contenant une proc. stock. CLR :&lt;/p&gt;  &lt;p&gt;Lors d’un attachement de la base de données contenant l’assembly SQL CLR en mode &lt;strong&gt;EXTERNAL_ACCESS&lt;/strong&gt; ou &lt;strong&gt;UNSAFE&lt;/strong&gt;, SQL SERVER permet l’attachement, mais n’autorisera pas l’exécution de la procédure stockée SQL CLR.&lt;/p&gt;  &lt;p&gt;Pour activer cette procédure stockée CLR, en admettant que vous lui fassiez “confiance”, il vous faudra exécuter le script suivant :&lt;/p&gt;  &lt;pre style="border-bottom:#cecece 1px solid;border-left:#cecece 1px solid;padding-bottom:5px;background-color:#fbfbfb;min-height:40px;padding-left:5px;width:500px;padding-right:5px;overflow:auto;border-top:#cecece 1px solid;border-right:#cecece 1px solid;padding-top:5px;"&gt;&lt;pre style="background-color:#fbfbfb;margin:0em;width:100%;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;font-size:10px;"&gt;&lt;span style="color:#0000ff;"&gt;ALTER&lt;/span&gt; DATABASE &amp;lt;database&amp;gt; &lt;span style="color:#0000ff;"&gt;SET&lt;/span&gt; TRUSTWORTHY &lt;span style="color:#0000ff;"&gt;ON&lt;/span&gt;
&lt;/pre&gt;&lt;pre style="background-color:#fbfbfb;margin:0em;width:100%;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;font-size:10px;"&gt;go
&lt;/pre&gt;&lt;pre style="background-color:#fbfbfb;margin:0em;width:100%;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;font-size:10px;"&gt;sp_configure &amp;#39;clr enabled&amp;#39;, 1
&lt;/pre&gt;&lt;pre style="background-color:#fbfbfb;margin:0em;width:100%;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;font-size:10px;"&gt;go
&lt;/pre&gt;&lt;pre style="background-color:#fbfbfb;margin:0em;width:100%;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;font-size:10px;"&gt;reconfigure
&lt;/pre&gt;&lt;pre style="background-color:#fbfbfb;margin:0em;width:100%;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;font-size:10px;"&gt;&lt;/pre&gt;&lt;/pre&gt;

&lt;p&gt;Vous faites “Confiance” et vous “activez” la CLR.&lt;/p&gt;

&lt;p&gt;Cette option est aussi utilisé lors de l’emprunt d’identité (délégation) et l’utilisation via ce token de ressources externes (&lt;strong&gt;Execute AS&lt;/strong&gt;)&lt;/p&gt;

&lt;p&gt;Ainsi, si vous utilisez des ressources externes via un contexte de sécurité de votre utilisateur connecté, vous devez donc faire confiance à votre bdd et activez l’option &lt;strong&gt;TRUSTWORTHY.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Un exemple via un schéma MSDN (&lt;a href="http://msdn.microsoft.com/fr-fr/library/ms188304.aspx" target="_blank"&gt;Prolongement de l&amp;#39;emprunt d&amp;#39;identité&lt;/a&gt;) :&lt;/p&gt;

&lt;p&gt;&lt;img alt="Contrôle d&amp;#39;accès de base de données à des ressources externes" src="http://i.msdn.microsoft.com/ms188304.feb2615f-575d-4787-84dc-3063e04f44d3(fr-fr,SQL.105).gif" /&gt;&lt;/p&gt;&lt;img src="http://www.dotmim.com/aggbug.aspx?PostID=585" width="1" height="1"&gt;</description>
    </item>
    <item>
      <title>Liste des rapports SSRS</title>
      <link>http://blog.djeepy1.net/2010/08/03/liste-des-rapports-ssrs/</link>
      <comments>http://blog.djeepy1.net/2010/08/03/liste-des-rapports-ssrs/#comments</comments>
      <pubDate>Tue, 03 Aug 2010 12:53:37 +0000</pubDate>
      <creator xmlns="http://purl.org/dc/elements/1.1/">Djeepy1</creator>
      <category><![CDATA[Reporting Services]]></category>
      <category><![CDATA[SSRS]]></category>
      <guid isPermaLink="false">https://djeepy1.wordpress.com/2010/08/03/liste-des-rapports-ssrs/</guid>
      <description><![CDATA[J’ai souvent besoin lors d’une mission de conseil de faire un petit état des lieux des rapports qui se trouvent sur une instance SSRS. Pour dresser cette liste rapidement, il suffit de jouer la requête suivante sur votre base de données ReportServer : SELECT [Path] ,[Description]FROM [ReportServer].[dbo].[Catalog]WHERE Type = 2 Et pourquoi ne pas en [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.djeepy1.net&blog=7511412&post=270&subd=djeepy1&ref=&feed=1" />]]></description>
      <encoded xmlns="http://purl.org/rss/1.0/modules/content/"><![CDATA[<p>J’ai souvent besoin lors d’une mission de conseil de faire un petit état des lieux des rapports qui se trouvent sur une instance SSRS.</p>
<p>Pour dresser cette liste rapidement, il suffit de jouer la requête suivante sur votre base de données ReportServer :</p>
<div style="border-bottom:silver 1px solid;text-align:left;border-left:silver 1px solid;line-height:12pt;background-color:#f4f4f4;width:97.5%;font-family:&#039;direction:ltr;max-height:200px;font-size:8pt;overflow:auto;border-top:silver 1px solid;cursor:text;border-right:silver 1px solid;margin:20px 0 10px;padding:4px;" id="codeSnippetWrapper">
<pre style="text-align:left;line-height:12pt;background-color:#f4f4f4;width:100%;font-family:&#039;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;margin:0;padding:0;"><span style="color:#0000ff;">SELECT</span> [<span style="color:#0000ff;">Path</span>]

      ,[Description]<span style="color:#0000ff;">FROM</span> [ReportServer].[dbo].[<span style="color:#0000ff;">Catalog</span>]<span style="color:#0000ff;">WHERE</span> Type = 2</pre>
<p></div>
<p>Et pourquoi ne pas en faire un rapport <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<br />Filed under: <a href='http://blog.djeepy1.net/category/reporting-services/'>Reporting Services</a> Tagged: <a href='http://blog.djeepy1.net/tag/reporting-services/'>Reporting Services</a>, <a href='http://blog.djeepy1.net/tag/ssrs/'>SSRS</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/djeepy1.wordpress.com/270/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/djeepy1.wordpress.com/270/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/djeepy1.wordpress.com/270/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/djeepy1.wordpress.com/270/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/djeepy1.wordpress.com/270/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/djeepy1.wordpress.com/270/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/djeepy1.wordpress.com/270/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/djeepy1.wordpress.com/270/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/djeepy1.wordpress.com/270/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/djeepy1.wordpress.com/270/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/djeepy1.wordpress.com/270/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/djeepy1.wordpress.com/270/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/djeepy1.wordpress.com/270/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/djeepy1.wordpress.com/270/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.djeepy1.net&blog=7511412&post=270&subd=djeepy1&ref=&feed=1" />]]></encoded>
      <commentRss xmlns="http://wellformedweb.org/CommentAPI/">http://blog.djeepy1.net/2010/08/03/liste-des-rapports-ssrs/feed/</commentRss>
      <comments xmlns="http://purl.org/rss/1.0/modules/slash/">0</comments>
      <content url="http://1.gravatar.com/avatar/d5bd484f181f5352c2e531cb5cc78aef?s=96&amp;d=http%3A%2F%2Fs0.wp.com%2Fi%2Fmu.gif&amp;r=G" medium="image" xmlns="http://search.yahoo.com/mrss/">
        <title type="html">djeepy1</title>
      </content>
    </item>
    <item>
      <title>Time for holidays</title>
      <description>&lt;p&gt;&lt;span&gt;During the three next weeks, this blog won't be much&amp;nbsp;active. Indeed, it's time for holidays and much of the Vertice team is on vacation &lt;img title="Smile" src="http://blog.vertice.fr/editors/tiny_mce3/plugins/emotions/img/smiley-smile.gif" border="0" alt="Smile" /&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Years after years, holidays have always been suitable to ideas' birth in the Vertice team! So, we will be very pleased to welcome you again on this blog from the last week of August with plenty of new inovative content.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Meanwhile, "portez-vous bien" as we say in my country!&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Fr&amp;eacute;d&amp;eacute;ric Colin&lt;/span&gt;&lt;/p&gt;</description>
      <link>http://blog.vertice.fr/post/2010/07/31/Time-for-holidays.aspx</link>
      <author>Frédéric Colin</author>
      <comments>http://blog.vertice.fr/post/2010/07/31/Time-for-holidays.aspx#comment</comments>
      <guid>http://blog.vertice.fr/post.aspx?id=2dd01b6d-b803-4981-9a8d-2ea8818305c8</guid>
      <pubDate>Sat, 31 Jul 2010 00:19:00 +0200</pubDate>
      <category>General</category>
      <category>Vertice</category>
      <publisher xmlns="http://purl.org/dc/elements/1.1/">Frédéric Colin</publisher>
      <server xmlns="http://madskills.com/public/xml/rss/module/pingback/">http://blog.vertice.fr/pingback.axd</server>
      <target xmlns="http://madskills.com/public/xml/rss/module/pingback/">http://blog.vertice.fr/post.aspx?id=2dd01b6d-b803-4981-9a8d-2ea8818305c8</target>
      <comments xmlns="http://purl.org/rss/1.0/modules/slash/">0</comments>
      <ping xmlns="http://madskills.com/public/xml/rss/module/trackback/">http://blog.vertice.fr/trackback.axd?id=2dd01b6d-b803-4981-9a8d-2ea8818305c8</ping>
      <comment xmlns="http://wellformedweb.org/CommentAPI/">http://blog.vertice.fr/post/2010/07/31/Time-for-holidays.aspx#comment</comment>
      <commentRss xmlns="http://wellformedweb.org/CommentAPI/">http://blog.vertice.fr/syndication.axd?post=2dd01b6d-b803-4981-9a8d-2ea8818305c8</commentRss>
    </item>
    <item>
      <title>Scripting tip: change Nova Standard Material textures on the fly</title>
      <description>&lt;p&gt;I continue my series of publication on Nova scripting by demonstrating&amp;nbsp;the ability to load your materials' textures on the fly from external files.&lt;/p&gt;
&lt;p&gt;&lt;img src="http://blog.vertice.fr/image.axd?picture=2010%2f7%2fUntitled00010001.png" alt="" /&gt;&lt;/p&gt;
&lt;p&gt;That happens &lt;a href="http://wiki.vertice.fr/Default.aspx?NS=NOVA+2010+Range&amp;amp;Page=NOVA+2010+Range.Scripting-tip-change-Nova-Standard-Material-textures-on-the-fly&amp;amp;NavPath=NOVA+2010+Range.Scripting+tips" target="_blank"&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Enjoy!&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description>
      <link>http://blog.vertice.fr/post/2010/07/27/Scripting-tip-change-Nova-Standard-Material-textures-on-the-fly.aspx</link>
      <author>Frédéric Colin</author>
      <comments>http://blog.vertice.fr/post/2010/07/27/Scripting-tip-change-Nova-Standard-Material-textures-on-the-fly.aspx#comment</comments>
      <guid>http://blog.vertice.fr/post.aspx?id=2a1e1046-4916-4cf3-afa8-49d8c99c2b7c</guid>
      <pubDate>Tue, 27 Jul 2010 17:51:00 +0200</pubDate>
      <category>Programming</category>
      <category>Script</category>
      <category>Tips</category>
      <publisher xmlns="http://purl.org/dc/elements/1.1/">Frédéric Colin</publisher>
      <server xmlns="http://madskills.com/public/xml/rss/module/pingback/">http://blog.vertice.fr/pingback.axd</server>
      <target xmlns="http://madskills.com/public/xml/rss/module/pingback/">http://blog.vertice.fr/post.aspx?id=2a1e1046-4916-4cf3-afa8-49d8c99c2b7c</target>
      <comments xmlns="http://purl.org/rss/1.0/modules/slash/">0</comments>
      <ping xmlns="http://madskills.com/public/xml/rss/module/trackback/">http://blog.vertice.fr/trackback.axd?id=2a1e1046-4916-4cf3-afa8-49d8c99c2b7c</ping>
      <comment xmlns="http://wellformedweb.org/CommentAPI/">http://blog.vertice.fr/post/2010/07/27/Scripting-tip-change-Nova-Standard-Material-textures-on-the-fly.aspx#comment</comment>
      <commentRss xmlns="http://wellformedweb.org/CommentAPI/">http://blog.vertice.fr/syndication.axd?post=2a1e1046-4916-4cf3-afa8-49d8c99c2b7c</commentRss>
    </item>
    <item>
      <title>Vertice Design Ad!</title>
      <description>&lt;p&gt;You may know that Vertice is also a graphics studio branded: Vertice Design. Indeed, developping Windows, Mobile, Rich Web&amp;nbsp;or Web Application is no longer sufficient for end users. Ergonomics and graphics design are mandatory to speed up the accession and the use of an application. That why, 2 years ago&amp;nbsp;we created &lt;a href="http://www.verticedesign.fr" target="_blank"&gt;Vertice Design&lt;/a&gt; (french link).&lt;/p&gt;
&lt;p&gt;Today, Ana&amp;iuml;s, our 2D artist just opened a &lt;a href="http://blog.verticedesign.fr" target="_blank"&gt;blog&lt;/a&gt; (in french, sorry for English readers!) to demonstrate her job.&lt;/p&gt;
&lt;p&gt;Microsoft Expression range, Silverlight, Flash and Photoshop have no secrets for her! So, don't hesitate to participate with your questions through comments on her blog!&lt;/p&gt;</description>
      <link>http://blog.vertice.fr/post/2010/07/21/Vertice-Design-Ad!.aspx</link>
      <author>Frédéric Colin</author>
      <comments>http://blog.vertice.fr/post/2010/07/21/Vertice-Design-Ad!.aspx#comment</comments>
      <guid>http://blog.vertice.fr/post.aspx?id=efad93aa-9b2c-4a65-901e-c2b0bede4501</guid>
      <pubDate>Wed, 21 Jul 2010 09:36:00 +0200</pubDate>
      <category>Vertice</category>
      <category>2D</category>
      <publisher xmlns="http://purl.org/dc/elements/1.1/">Frédéric Colin</publisher>
      <server xmlns="http://madskills.com/public/xml/rss/module/pingback/">http://blog.vertice.fr/pingback.axd</server>
      <target xmlns="http://madskills.com/public/xml/rss/module/pingback/">http://blog.vertice.fr/post.aspx?id=efad93aa-9b2c-4a65-901e-c2b0bede4501</target>
      <comments xmlns="http://purl.org/rss/1.0/modules/slash/">0</comments>
      <ping xmlns="http://madskills.com/public/xml/rss/module/trackback/">http://blog.vertice.fr/trackback.axd?id=efad93aa-9b2c-4a65-901e-c2b0bede4501</ping>
      <comment xmlns="http://wellformedweb.org/CommentAPI/">http://blog.vertice.fr/post/2010/07/21/Vertice-Design-Ad!.aspx#comment</comment>
      <commentRss xmlns="http://wellformedweb.org/CommentAPI/">http://blog.vertice.fr/syndication.axd?post=efad93aa-9b2c-4a65-901e-c2b0bede4501</commentRss>
    </item>
    <item>
      <title>Nova Script Editor</title>
      <description>&lt;p&gt;Do you know that some Visual Studio Shortcuts are available in the Nova Script Editor. Here is a partial list:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;ctrl-S =&amp;gt; save the script&lt;/li&gt;
&lt;li&gt;ctrl-K + ctrl-C =&amp;gt; comment all selected line&lt;/li&gt;
&lt;li&gt;ctrl-K + ctrl-U =&amp;gt; un-comment all selected line&lt;/li&gt;
&lt;li&gt;ctrl-space =&amp;gt; launch intellisense list&lt;/li&gt;
&lt;li&gt;ctrl-M + ctrl-O =&amp;gt; collapse all code to definitions&lt;/li&gt;
&lt;li&gt;...&lt;/li&gt;
&lt;/ul&gt;</description>
      <link>http://blog.vertice.fr/post/2010/07/20/Nova-Script-Editor.aspx</link>
      <author>Frédéric Colin</author>
      <comments>http://blog.vertice.fr/post/2010/07/20/Nova-Script-Editor.aspx#comment</comments>
      <guid>http://blog.vertice.fr/post.aspx?id=c5ca8ff1-1a0d-4f68-a98c-a505c00144e6</guid>
      <pubDate>Tue, 20 Jul 2010 18:08:00 +0200</pubDate>
      <category>Programming</category>
      <category>Script</category>
      <category>Tips</category>
      <publisher xmlns="http://purl.org/dc/elements/1.1/">Frédéric Colin</publisher>
      <server xmlns="http://madskills.com/public/xml/rss/module/pingback/">http://blog.vertice.fr/pingback.axd</server>
      <target xmlns="http://madskills.com/public/xml/rss/module/pingback/">http://blog.vertice.fr/post.aspx?id=c5ca8ff1-1a0d-4f68-a98c-a505c00144e6</target>
      <comments xmlns="http://purl.org/rss/1.0/modules/slash/">1</comments>
      <ping xmlns="http://madskills.com/public/xml/rss/module/trackback/">http://blog.vertice.fr/trackback.axd?id=c5ca8ff1-1a0d-4f68-a98c-a505c00144e6</ping>
      <comment xmlns="http://wellformedweb.org/CommentAPI/">http://blog.vertice.fr/post/2010/07/20/Nova-Script-Editor.aspx#comment</comment>
      <commentRss xmlns="http://wellformedweb.org/CommentAPI/">http://blog.vertice.fr/syndication.axd?post=c5ca8ff1-1a0d-4f68-a98c-a505c00144e6</commentRss>
    </item>
    <item>
      <title>Hyper-V : petit tour rapide de Dynamic memory</title>
      <link>http://blog.christophermaneu.fr/2010/07/hyper-v-petit-tour-rapide-de-dynamic-memory/</link>
      <comments>http://blog.christophermaneu.fr/2010/07/hyper-v-petit-tour-rapide-de-dynamic-memory/#comments</comments>
      <pubDate>Sat, 17 Jul 2010 09:34:21 +0000</pubDate>
      <creator xmlns="http://purl.org/dc/elements/1.1/">Chris</creator>
      <category><![CDATA[IT]]></category>
      <category><![CDATA[Hyper-V]]></category>
      <category><![CDATA[virtualisation]]></category>
      <category><![CDATA[Windows Server 2008 R2]]></category>
      <guid isPermaLink="false">http://blog.christophermaneu.fr/2010/07/hyper-v-petit-tour-rapide-de-dynamic-memory/</guid>
      <description><![CDATA[Avec la Bêta du Service Pack 1 de Windows Server 2008 R2, une nouvelle fonctionnalité fait son apparition : Dynamic Memory. Qu’est ce donc que cela ? C’est une nouvelle fonctionnalité qui permet d’ajuster dynamiquement la mémoire vive attribuée à une machine virtuelle, et ainsi optimiser encore plus l’utilisation des ressources matérielles. Cet article est [...]]]></description>
      <encoded xmlns="http://purl.org/rss/1.0/modules/content/"><![CDATA[<p>Avec la Bêta du Service Pack 1 de Windows Server 2008 R2, une nouvelle fonctionnalité fait son apparition : Dynamic Memory. Qu’est ce donc que cela ? C’est une nouvelle fonctionnalité qui permet d’ajuster dynamiquement la mémoire vive attribuée à une machine virtuelle, et ainsi optimiser encore plus l’utilisation des ressources matérielles.</p>
<p>Cet article est basé sur la version beta, il se peut donc que cet article ne soit pas complètement précis avec la version finale.   <br />Qu’est ce que Dynamic Memory ?    <br />Jusqu’à présent, dans des machines virtuelles Hyper-V sous Windows Server 2008 et 2008 R2, l’administrateur pouvait assigner une quantité de mémoire vive fixe à une machine virtuelle. Lorsque la machine virtuelle est démarrée, cette quantité de mémoire est assignée dans la mémoire de l’hôte et n’est plus modifiée par l’hôte jusqu’à l’extinction de la machine. De cette manière, un hôte équipé de 8Go de mémoire vive pouvait avoir 10 machines virtuelles de 2 Go chacune, mais ne pouvait en démarrer que trois (le système hôte n’a pas besoin de 2 Go mais, dans notre exemple, la limite est à 3 machines).    <br />Pour comprendre en quoi ceci est une limitation, il faut revenir au scénario le plus courant qui mêne à la virtualisation : la consolidation de serveurs. L’un des objectifs de la consolidation est de mieux partager les ressources matérielles. En virtualisant un certain nombre de serveurs, on économise le nombre et la puissance de processeurs nécessaire pour faire tourner les mêmes services, mais également le disque, que l’on utilise des disques internes, DAS ou SAN. Mais qu’en est-il de la mémoire vive ? Jusqu’à présent,c’était le dernier point qui n’était pas plus efficace que l’on soit dans un scénario de virtualisation ou pas : 2 Go de RAM sur un serveur physique nécessitera toujours 2 Go en virtualisé. Tout cela était vrai….jusqu’à présent.    <br />La fonctionnalité Dynamic memory permet de donner deux valeurs&#160; à la mémoire :</p>
<ul>
<li>La mémoire de démarrage : c’est celle qui est attribuée au démarrage de la machine, celle qui est vue par le BIOS, et la quantité minimale qui sera attribuée à la machine, quelque soit les circonstances, </li>
<li>La mémoire maximum : c’est la taille maximum que pourra occuper la machine virtuelle si les conditions sont réunies (c’est à dire si elle en a besoin et que la mémoire est disponible). </li>
</ul>
<p>Comment ca fonctionne ?</p>
<p>&quot;Changer la mémoire vive a chaud, c&#8217;est pas possible ! Quel système d&#8217;exploitation va prendre en charge ca ?&quot;. C&#8217;est une très bonne question ! Baguette magique ? Potion du druide ? Cela ne fonctionne que sur un os particulier entièrement managé ? Un peu des trois….</p>
<p>La difficulté technique vient du fait que nos systèmes d&#8217;exploitation n&#8217;ont pas été conçus pour un changement de la mémoire vive à chaud. Offrir cette possibilité nécessite donc en premier lieu de pouvoir gérer ce cas. Côté hôte, c&#8217;est l&#8217;architecture d&#8217;Hyper-V qui le permet (c&#8217;est la baguette magique). Ensuite, les choses se compliquent côté OS virtualisé, et ce pour plusieurs raisons : </p>
<ul>
<li>L&#8217;OS virtualisé doit pouvoir accepter qu&#8217;une partie de sa mémoire lui soit enlevée, c’est-à-dire que certaines pages mémoires ne soient plus accessibles,</li>
<li>Cette fonctionnalité de mémoire dynamique est automatique, c’est-à-dire que vous n&#8217;avez pas à intervenir pour augmenter la mémoire si cela est nécessaire (dans les limites que vous avez définies). Le système virtualisé doit donc pouvoir communiquer avec Hyper-V pour lui indiquer si il est en manque de mémoire ou non.</li>
</ul>
<p>La potion magique pour réussir cela, en plus de l&#8217;architecture d&#8217;Hyper-V (VSP/VCP/VMBus) ce sont les VM Additions Tools. La version incluse avec cette bêta apporte des fonctionnalités supplémentaires au kernel, permettant ces changements. </p>
<p>Hmm, &quot;fonctionnalités supplémentaires au kernel&quot; et ca fonctionne avec mon Suse Enterprise ?&quot; Et bien non ! (du moins, pas dans cette version). Cette fonctionnalité n&#8217;est disponible que sur certains OS. Voici la liste pour cette beta (d&#8217;autres OS sont prévus pour la version finale, les versions x86 et x64 de ces OS sont supportées) : </p>
<ul>
<li>Windows Server 2008 R2 Enterprise SP1</li>
<li>Windows Server 2008 R2 Datacenter SP1</li>
<li>Windows Server 2008 Enterprise SP2</li>
<li>Windows Server 2008 Datacenter SP2 </li>
<li>Windows Server 2003 R2 Enterprise SP2 ou supérieur</li>
<li>Windows Server 2003 R2 Datacenter SP2 ou supérieur</li>
<li>Windows Server 2003 Enterprise SP2 ou supérieur</li>
<li>Windows Server 2003 Datacenter SP2 ou supérieur</li>
<li>Windows 7 Enteprise</li>
<li>Windows 7 Ultimate</li>
<li>Windows Vista Enterprise SP2</li>
<li>Windows Vista Ultimate SP2</li>
</ul>
<p><a href="http://blog.christophermaneu.fr/wp-content/uploads/2010/07/clip_image001.png"><img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="clip_image001" border="0" alt="clip_image001" src="http://blog.christophermaneu.fr/wp-content/uploads/2010/07/clip_image001_thumb.png" width="349" height="327" /></a></p>
<p>Une fois la fonctionnalité activée, les composants d&#8217;intégration mis à jour, l&#8217;OS virtualisé et le système hôte vont communiquer, évaluer les besoins en mémoire et, en cas de besoin, allouer plus de mémoire à une machine virtuelle. Pour gérer les cas de pénurie, un système de priorité est prévu, vous pouvez ainsi prioriser les machines virtuelles qui se verront attribuer de la mémoire si plusieurs en ont besoin et que la quantité disponible n&#8217;est pas suffisante pour répondre à tous les besoins.</p>
<p>Vous pouvez a tout moment visualiser la mémoire qui a été allouée à une machine virtuelle directement dans Hyper-V Manager (comme le montre la capture ci-dessous), mais également à l&#8217;aide du compteur de performances (avec 16 nouvelles sondes réparties dans deux groupes).</p>
<p><a href="http://blog.christophermaneu.fr/wp-content/uploads/2010/07/clip_image002.png"><img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="clip_image002" border="0" alt="clip_image002" src="http://blog.christophermaneu.fr/wp-content/uploads/2010/07/clip_image002_thumb.png" width="369" height="152" /></a></p>
<p>Il y a bien d&#8217;autres notions à comprendre pour avoir une vision détaillée de Dynamic Memory (balloning, memory pressure, …) qui feront peut-être l&#8217;objet d&#8217;un prochain article ;)</p>
<p>Un dernier conseil avant que je me lance ?   <br />Même plusieurs ! Voici une liste de points auxquels il faut porter attention si vous voulez tester cette nouvelle fonctionnalité : </p>
<ul>
<li>L&#8217;installation des nouveaux composants d&#8217;intégration rend incompatible vos machines virtuelles avec des hôtes qui, eux aussi, ne seraient pas passés en beta du SP1 !</li>
<li>La mise en place de Dynammic memory sur une machine virtuelle nécessite son arrêt,</li>
<li>Je n&#8217;ai pas encore testé cette solution dans un environnement de haute disponibilité. Bien que el failover clustering soit supporté (avec des considérations de mémoire vives totales/disponbiles par cluster), je n&#8217;ai rien trouvé concernant dynamic memory et Live Migration. A tester, </li>
<li>Enfin n&#8217;oubliez pas, c&#8217;est une beta :)</li>
</ul>
<p>Une autre nouveauté du SP1 est Remote FX, un ensemble de technologies permettant de supporter des une expérience multimédia de haut niveau via le protocole RDP (y compris des applications 3D). Peut-être le sujet d’un prochain article ;)</p>]]></encoded>
      <commentRss xmlns="http://wellformedweb.org/CommentAPI/">http://blog.christophermaneu.fr/2010/07/hyper-v-petit-tour-rapide-de-dynamic-memory/feed/</commentRss>
      <comments xmlns="http://purl.org/rss/1.0/modules/slash/">0</comments>
    </item>
    <item>
      <guid isPermaLink="false">36</guid>
      <link>http://feedproxy.google.com/~r/PaslatekBlog/~3/yzDU9j5SwTo/certification-mcts-sharepoint-2010-application-development-20100713-36.aspx</link>
      <author>lionel.limozin@bewise.fr</author>
      <title>Certification MCTS SharePoint 2010 Application Development</title>
      <description>&lt;p&gt;Petit billet un peu “perso” ce matin. Le 1er Juin j’ai eu l’opportunité de passer la certification en béta pour le dev sur SharePoint 2010. Ce matin j’ai donc eu l’heureuse nouvelle par mail : I Got It !    &lt;br /&gt;&lt;img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="MCTS(rgb)_1347" border="0" alt="MCTS(rgb)_1347" src="http://www.paslatek.net/Attachments.ashx?id=55" width="401" height="92" /&gt;&lt;/p&gt;</description>
      <pubDate>Tue, 13 Jul 2010 09:26:49 +0200</pubDate>
      <updated xmlns="http://www.w3.org/2005/Atom">2010-07-13T09:26:49+02:00</updated>
      <origLink xmlns="http://rssnamespace.org/feedburner/ext/1.0">http://www.paslatek.net/certification-mcts-sharepoint-2010-application-development-20100713-36.aspx</origLink>
    </item>
    <item>
      <title>Windows Phone 7 Beta SDK : Ce qu’il faut savoir</title>
      <link>http://blog.christophermaneu.fr/2010/07/windows-phone-7-beta-sdk-ce-quil-faut-savoir/</link>
      <comments>http://blog.christophermaneu.fr/2010/07/windows-phone-7-beta-sdk-ce-quil-faut-savoir/#comments</comments>
      <pubDate>Mon, 12 Jul 2010 10:23:04 +0000</pubDate>
      <creator xmlns="http://purl.org/dc/elements/1.1/">Chris</creator>
      <category><![CDATA[.Net]]></category>
      <category><![CDATA[Development]]></category>
      <category><![CDATA[Silverlight]]></category>
      <category><![CDATA[Windows Phone 7]]></category>
      <category><![CDATA[WP7]]></category>
      <guid isPermaLink="false">http://blog.christophermaneu.fr/2010/07/windows-phone-7-beta-sdk-ce-quil-faut-savoir/</guid>
      <description><![CDATA[Microsoft vient tout juste de publier la version Bêta du SDK de Windows Phone 7. Il y a bon nombre de changement et votre code risque fort de ne plus fonctionner ! Voici la liste des changements à effectuer dans votre code pour convertir votre projet de la version CTP D’avril à cette version Beta. [...]]]></description>
      <encoded xmlns="http://purl.org/rss/1.0/modules/content/"><![CDATA[<p>Microsoft vient <a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=c8496c2a-54d9-4b11-9491-a1bfaf32f2e3&amp;displaylang=en">tout juste de publier</a> la version Bêta du SDK de Windows Phone 7. Il y a bon nombre de changement et <strong>votre code risque fort de ne plus fonctionner !</strong> Voici la liste des changements à effectuer dans votre code pour convertir votre projet de la version CTP D’avril à cette version Beta.</p>
<blockquote><p><strong>Pourquoi autant de changements ?</strong> Rappelez-vous, jsuqu’à présent nous n’étions qu’à une version CTP – Community Technology <u>Preview – </u>et le mot “preview” a toute son importance ! Passer à la version bêta publique est un gage de plus de stabilité, mais attendez-vous à encore quelques changements dans votre code avec les futures versions ;)</p>
</blockquote>
<h2>&#160;</h2>
<h3>1. Résoudre les références</h3>
<p>Il y avait un paquet d’assemblies à référencer : Microsoft.Phone.Controls, Microsoft.Phone.Controls.Navigation, etc.. Tout est désormais regroupé dans une seule assemblie : <strong>Microsoft.Phone.</strong> Il vous faudra donc supprimer toutes les anciennes références&#160; en Microsoft.Phone.* et les remplacer par la nouvelle. System.Device.Location a été&#160; migrée vers System.Device et Microsoft.Devices vers Microsoft.Phone.</p>
<p>Le code XAML est également affecté, et les déclarations xmlns doivent être modifiées en conséquence. Pour cela, vous pouvez effectuer une recherche globale sur les chaînes suivantes (la liste n’est pas exhaustive):</p>
<table border="0" cellspacing="0" cellpadding="2" width="539">
<tbody>
<tr>
<td valign="top" width="59"><strong>Rechercher…</strong></td>
<td valign="top" width="478"><strong>et le remplacer par …</strong></td>
</tr>
<tr>
<td valign="top" width="59">clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone.Controls.Navigation</td>
<td valign="top" width="478">clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone</td>
</tr>
<tr>
<td valign="top" width="59">clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone.Controls.WebBrowser</td>
<td valign="top" width="478">clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone</td>
</tr>
<tr>
<td valign="top" width="59">clr-namespace:Microsoft.Phone.Shell;assembly=Microsoft.Phone.Shell</td>
<td valign="top" width="478">clr-namespace:Microsoft.Phone.Shell;assembly=Microsoft.Phone</td>
</tr>
<tr>
<td valign="top" width="59">clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone.Controls</td>
<td valign="top" width="478">clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone</td>
</tr>
</tbody>
</table>
<h3></h3>
<h3>&#160;</h3>
<h3>2. Résoudre les thèmes et les ressources</h3>
<p>Application.Resources a été supprimé du fichier App.xaml et les templates ont été modifiés. Il vous faut donc : </p>
<ul>
<li>ouvrir le fichier App.xaml et supprimer le noeud <em>Application.Resources</em>,</li>
<li>Effectuer une recherche globale pour remplacer les styles suivants :</li>
</ul>
<p><a href="http://blog.christophermaneu.fr/wp-content/uploads/2010/07/image1.png"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://blog.christophermaneu.fr/wp-content/uploads/2010/07/image_thumb1.png" width="606" height="140" /></a> </p>
<p>Les effets XAML (DropShadow, Blur) ne sont plus disponibles. Cela ne casse pas votre code, mais ils n’apparaîtrons plus. A l’heure actuelle, on ne sait pas si ces effets seront à nouveau disponibles d’ici la sortie de la version finale.</p>
<h3>3. Corriger le fichier WMAppManifest.xml</h3>
<p>La meilleure manière de faire…est de copier le contenu d’un fichier WMAppManifest.xml provenant d’un nouveau&#160; projet, mais, si vous souhaitez effectuer les modifications à la main, voici ce qu’il faut faire : </p>
<ul>
<li>Dans les projets XNA, supprimer l’attribut <em>PlaceHolderString=”DefaultTask”,</em></li>
<li>La valeur de l’attribut <em>Genre </em>de l’élément <em>App </em>doit désormais être <em>Apps.Normal,</em></li>
<li>La valeur de l’attribut <em>RuntimeType </em>de l’élément <em>App </em>doit désormais être <em>Silverlight </em>(le L de Silverlight était en Majuscule dans la version précédente :),</li>
</ul>
<h3></h3>
<h3>&#160;</h3>
<h3>4. Supprimer les anciennes bidouilles</h3>
<p>Pour la version d’Avril, certaines bidouilles étaient nécessaires, mais ce n’est plus le cas !</p>
<ul>
<li>Supprimer la vérification 0 == ManipulationDeltaEventArgs.*.Scale,</li>
<li>Vous pouvez à nouveau référencer des assemblies signées,</li>
<li>Le changement d’orientation a été corrigé et c’est désormais l’application frame qui est orientée.</li>
</ul>
<p>&#160;</p>
<h3>5. Changer certains contrôles </h3>
<p>Exit la ListView, ListViewItem (“remplacé” par listbox), ainsi que les ToggleControlSwitch/ToggleControlButton. Vous devez utiliser un ToggleButton à la place.</p>
<p>&#160;</p>
<p>Il ne vous reste plus qu’à profiter de ce nouveau SDK ;)</p>
<p>&#160;</p>
<p><em>Ce post est une traduction partielle de “<a href="http://blogs.msdn.com/b/jaimer/archive/2010/06/28/migrating-apps-from-windows-phone-ctps-to-the-beta-build.aspx">Migrating apps from Windows Phone April CTP Refresh to the beta build</a>”</em></p>]]></encoded>
      <commentRss xmlns="http://wellformedweb.org/CommentAPI/">http://blog.christophermaneu.fr/2010/07/windows-phone-7-beta-sdk-ce-quil-faut-savoir/feed/</commentRss>
      <comments xmlns="http://purl.org/rss/1.0/modules/slash/">0</comments>
    </item>
    <item>
      <title>Etudiants : De nouvelles certifications rien que pour vous !</title>
      <link>http://blog.christophermaneu.fr/2010/07/etudiants-de-nouvelles-certifications-rien-que-pour-vous/</link>
      <comments>http://blog.christophermaneu.fr/2010/07/etudiants-de-nouvelles-certifications-rien-que-pour-vous/#comments</comments>
      <pubDate>Thu, 08 Jul 2010 21:47:42 +0000</pubDate>
      <creator xmlns="http://purl.org/dc/elements/1.1/">Chris</creator>
      <category><![CDATA[Business Worker]]></category>
      <category><![CDATA[Development]]></category>
      <category><![CDATA[For students]]></category>
      <category><![CDATA[IT]]></category>
      <category><![CDATA[Certifications]]></category>
      <category><![CDATA[Etudiants]]></category>
      <category><![CDATA[MSP]]></category>
      <guid isPermaLink="false">http://blog.christophermaneu.fr/2010/07/etudiants-de-nouvelles-certifications-rien-que-pour-vous/</guid>
      <description><![CDATA[Microsoft vient d&#8217;annoncer une série de 7 nouvelles certifications. Baptisées Microsoft Technology Associate, ces certifications sont réservées aux étudiants ! Voici un tour d&#8217;horizon du cursus MTA. Pourquoi des certifications réservées aux étudiants ? Microsoft propose déjà, via notamment DreamSpark, des offres très intéressantes, avec notamment –55% de réduction sur le prix d’un examen (soit [...]]]></description>
      <encoded xmlns="http://purl.org/rss/1.0/modules/content/"><![CDATA[<p>Microsoft vient d&#8217;annoncer une série de 7 nouvelles certifications. Baptisées Microsoft Technology Associate, ces certifications sont réservées aux étudiants ! Voici un tour d&#8217;horizon du cursus MTA.</p>
<h2>Pourquoi des certifications réservées aux étudiants ?</h2>
<p>Microsoft propose déjà, via notamment <a href="http://www.dreamspark.com">DreamSpark</a>, des offres très intéressantes, avec notamment –55% de réduction sur le prix d’un examen (soit le passage à moins de 70€) ET le SecondShot (le second passage est gratuit si on rate le premier passage). Cependant, il y a encore beaucoup de raisons qui peuvent freiner les étudiants à passer des examens Microsoft : </p>
<ul>
<li><strong>Il faut se déplacer dans un centre d’examen </strong>: et il n’y en a pas tant que cela ! Toutes les villes ayant des étudiants en informatique ne “possèdent” pas de centre d’examen agréé (géré par Prometric), et il faut pouvoir s’y déplacer,</li>
<li><strong>Se préparer aux certifications n’est pas forcément évident</strong> : même si <a href="http://blog.christophermaneu.fr/2009/09/how-ive-used-microsoft-learning-resources-to-push-my-knowledge-to-a-new-level/">il existe des ressources</a>,&#160; peu de cours dispensés dans les établissements sont réellement en adéquation avec les besoins et le niveau des certifications. Il faut donc se préparer, et souvent seul.</li>
<li><strong>Se certifier, c’est souvent plusieurs examens</strong> : Un certain nombre de certifications nécessitent 2 passage d’examens, voire beaucoup plus pour les séries <em>pro</em>. Il faut donc multiplier toutes les difficultés par le nombre d’examen à passer !</li>
<li><strong>Même a –55%, il faut payer </strong>: Une certification peut vous rapporter beaucoup plus que le coût d’un simple examen. Cependant, quand on est étudiant, trouver 70€, 140€ ou plus n’est pas évident pour tous.</li>
</ul>
<h2>&#160;</h2>
<h2>Quelles sont les différences par rapport aux certifications “classiques” ?</h2>
<p>Il y en a un certain nombre ! Tout d’abord, toutes ces certification sont uniques et nécessitent un seul examen. On la refait : <strong>Un examen MTA = une certification</strong>, et en obtenant une certification MTA, vous devenez MCP (Microsoft Certified Professional). </p>
<p>L’objectif de ces certifications est de fournir un nouveau point d’entrée dans les certifications Microsoft pour les étudiants n’ayant pas encore l’expérience requise pour passer les autres certifications (MCTS, MCPD, MCITP). Il est ainsi plus facile de se préparer aux certifications en se basant sur les cursus déjà existant dans les établissements universitaires et supérieurs (du moins, pour ceux qui proposent des cours avec les technologies Microsoft…mais c’est un autre sujet ;).</p>
<p>Enfin, ce sont les établissements eux-même qui sont centre d’examen, et ils disposent d’une licente annuelle pour faire passer un certain nombre d’examens. Ce qui veut dire que, selon votre établissement, <strong>le passage du MTA se fait peut-être dans votre salle de TP, et gratuitement !</strong></p>
<h2>&#160;</h2>
<h2>Quelles sont les certifications disponibles ?</h2>
<p>Il y en a 7 réparties en trois catégories : </p>
<ul>
<li><strong>Les développeurs, </strong>avec trois certifications : <a href="http://www.microsoft.com/learning/en/us/exam.aspx?ID=98-361&amp;locale=en-us">Software Development Fundamentals</a>, <a href="http://www.microsoft.com/learning/en/us/exam.aspx?ID=98-362&amp;locale=en-us">Windows Development Fundamentals</a>, <a href="http://www.microsoft.com/learning/en/us/exam.aspx?ID=98-363&amp;locale=en-us">Web Development Fundamentals</a>,</li>
<li><strong>Les IT Pro</strong>, avec eux aussi trois certifications : <a href="http://www.microsoft.com/learning/en/us/exam.aspx?ID=98-366&amp;locale=en-us">Networking Fundamentals</a>, <a href="http://www.microsoft.com/learning/en/us/exam.aspx?ID=98-367&amp;locale=en-us">Security Fundamentals</a>, <a href="http://www.microsoft.com/learning/en/us/exam.aspx?ID=98-365&amp;locale=en-us">Windows Server Administration Fundamentals</a>, </li>
<li><strong>Les pros de la base de données</strong> avec un seul examen : <a href="http://www.microsoft.com/learning/en/us/exam.aspx?ID=98-364&amp;locale=en-us">Database Administration Fundamentals</a></li>
</ul>
<p><a href="http://blog.christophermaneu.fr/wp-content/uploads/2010/07/image.png"><img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="image" border="0" alt="image" src="http://blog.christophermaneu.fr/wp-content/uploads/2010/07/image_thumb.png" width="550" height="360" /></a></p>
<p> Ces certifications seront disponibles très prochainements, il ne reste plus qu’à s’assurer que votre établissement soit l’un des centres d’examens :)</p>]]></encoded>
      <commentRss xmlns="http://wellformedweb.org/CommentAPI/">http://blog.christophermaneu.fr/2010/07/etudiants-de-nouvelles-certifications-rien-que-pour-vous/feed/</commentRss>
      <comments xmlns="http://purl.org/rss/1.0/modules/slash/">2</comments>
    </item>
    <item>
      <title>10 trucs sur moi</title>
      <link>http://blog.djeepy1.net/2010/07/07/10-trucs-sur-moi/</link>
      <comments>http://blog.djeepy1.net/2010/07/07/10-trucs-sur-moi/#comments</comments>
      <pubDate>Wed, 07 Jul 2010 06:39:27 +0000</pubDate>
      <creator xmlns="http://purl.org/dc/elements/1.1/">Djeepy1</creator>
      <category><![CDATA[Perso]]></category>
      <guid isPermaLink="false">https://djeepy1.wordpress.com/2010/07/07/10-trucs-sur-moi/</guid>
      <description><![CDATA[Je ne suis pas du genre à suivre ces jeux débiles qui trainent sur le net. Là, on me branche sur une sorte de portrait chinois dans lequel je dois révéler 10 trucs sur moi. Au départ, c’est David qui a lancé l’idée (on se demande d’où elle lui ait venue d’ailleurs). Après quelques rebonds, [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.djeepy1.net&blog=7511412&post=267&subd=djeepy1&ref=&feed=1" />]]></description>
      <encoded xmlns="http://purl.org/rss/1.0/modules/content/"><![CDATA[<p>Je ne suis pas du genre à suivre ces jeux débiles qui trainent sur le net. Là, on me branche sur une sorte de portrait chinois dans lequel je dois révéler 10 trucs sur moi.</p>
<p><img style="display:inline;border:0;margin:0 0 0 5px;" title="Djeepy1" src="http://djeepy1.files.wordpress.com/2010/07/numrisation0089.jpg?w=104&#038;h=150" border="0" alt="Djeepy1" width="104" height="150" align="right" /> Au départ, c’est <a href="http://www.catuhe.com/post/10-trucs-sur-ma-vie.aspx" target="_blank">David</a> qui a lancé l’idée (on se demande d’où elle lui ait venue d’ailleurs). Après quelques rebonds, <a href="http://benoitlaut.net/2010/07/05/10TrucsSurMoi.aspx" target="_blank">Benoît</a> (nouveau MVP Team) me file le bébé.</p>
<p>Ca ressemble à un Hoax mais ce sont bien des choses sur moi <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> . Et pas besoin de le transférer à 10 amis pour trouver l’être aimé et gagner un abonnement d’un an à Movida.</p>
<p>Let’s go…</p>
<ol>
<li>Mon père a été syndicaliste dans la métallurgie pendant près de 20 ans; et pas du genre j’achète mes timbres tous les ans, plutôt dans le genre activiste avec des responsabilités régionales. J’ai grandi dans les grandes doctrines de la lutte des classes. J’ai même failli virer communiste <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> .</li>
<li>Mon premier jour de travail rémunéré a été un 1er mai chez Mc Donald’s. A mon premier bulletin de salaire, j’ai épluché toute une nuit le <a href="http://boutique.dalloz.fr/Produit.aspx?ProduitID=708770" target="_blank">Dalloz</a> de papa et j’ai réussi à me faire payer double mon premier jour. Une révolution chez McDo. Merci papa.</li>
<li>Ma mère est née à Brazzavile au Congo et y a vécu 9 ans (Bangui, Libreville et Port-Gentil). Mes grands-parents sont partis à 20 ans faire leur vie là-bas, à l’aventure (on était en 54).</li>
<li>A 10 ans, j’ai perdu mes clés un après-midi en jouant avec des copains. Je me suis pris une soufflante tellement énorme qu’encore aujourd’hui j’ai une poussée d’angoisse quand je ne sais pas où sont mes clés pendant plus de 10 minutes (mon père ne voulait pas que je rentre tant que je ne les avais pas retrouvées) .</li>
<li>Je suis fan de catch depuis plus d’1 an. Je regarde 2 fois par semaine Catch Attack sur NT1 et une fois par mois le Pay-Per-View sur Canal. Pour moi, c’est comme regarder un SOAP, il faut que je sache la suite. Et puis quand vous aurez vu <a href="http://fr.sevenload.com/wwe/superstars/Maryse" target="_blank">Maryse</a> et <a href="http://fr.sevenload.com/wwe/superstars/Kelly-Kelly" target="_blank">Kelly Kelly</a>, vous comprendrez mieux.</li>
<li>Petit, je voulais devenir vétérinaire-zoologiste. Et tout le monde me demandait pourquoi je rajoutais “-zoologiste”. C’est en fait parce que je voulais signaler que je voulais devenir vétérinaire et étudier les animaux en Afrique. Et puis j’ai découvert que j’avais une phobie des serpents (en fait, j’ai surtout découvert les filles et l’alcool).</li>
<li>J’ai arrêté de fumer du jour au lendemain le 7 mars 2003. 6 mois après, j’ai (re)découvert le goût du cigare dont je suis maintenant un consommateur habituel (2/3 par semaine).</li>
<li>Vers 1984-85, mon père a acheté un <a href="http://fr.wikipedia.org/wiki/MSX" target="_blank">MSX</a> (quand MS a essayé de faire du hardware). On avait tout un tas de revues et de livres de programmation à la maison. Pour jouer, je recopiais les sources des jeux en BASIC (LOCATE, GOTO, POKE, etc.) et le soir venu, quand j’éteignais, je perdais tout car il n’y avait pas de disque dur. Après, on a eu le lecteur de cassettes (ouahhh).<br />
Finalement, le choix de mes parents de prendre un ordinateur plutôt que la collection des “tout l’univers” a été payant <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> .</li>
<li>J’ai eu les cheveux longs. J’ai eu les cheveux bleus. Pas à la même période. Il n’existe pas de photo de cette époque.</li>
<li>J’aime faire du shopping en centre-ville ou dans les galeries marchandes, j’adore les fringues, et NON, je ne suis pas gay.</li>
</ol>
<p>Voila, c’était rigolo finalement et vous me regarderez différemment maintenant, surtout en essayant d’imaginer ma tête avec des cheveux longs en écoutant les Gun’s.</p>
<p>Je passe maintenant la main à <a href="http://blogs.developpeur.org/vko/" target="_blank">Cyril</a>.</p>
<br />Filed under: <a href='http://blog.djeepy1.net/category/perso/'>Perso</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/djeepy1.wordpress.com/267/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/djeepy1.wordpress.com/267/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/djeepy1.wordpress.com/267/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/djeepy1.wordpress.com/267/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/djeepy1.wordpress.com/267/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/djeepy1.wordpress.com/267/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/djeepy1.wordpress.com/267/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/djeepy1.wordpress.com/267/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/djeepy1.wordpress.com/267/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/djeepy1.wordpress.com/267/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/djeepy1.wordpress.com/267/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/djeepy1.wordpress.com/267/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/djeepy1.wordpress.com/267/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/djeepy1.wordpress.com/267/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.djeepy1.net&blog=7511412&post=267&subd=djeepy1&ref=&feed=1" />]]></encoded>
      <commentRss xmlns="http://wellformedweb.org/CommentAPI/">http://blog.djeepy1.net/2010/07/07/10-trucs-sur-moi/feed/</commentRss>
      <comments xmlns="http://purl.org/rss/1.0/modules/slash/">1</comments>
      <content url="http://1.gravatar.com/avatar/d5bd484f181f5352c2e531cb5cc78aef?s=96&amp;d=http%3A%2F%2Fs0.wp.com%2Fi%2Fmu.gif&amp;r=G" medium="image" xmlns="http://search.yahoo.com/mrss/">
        <title type="html">djeepy1</title>
      </content>
      <content url="http://djeepy1.files.wordpress.com/2010/07/numrisation0089.jpg" medium="image" xmlns="http://search.yahoo.com/mrss/">
        <title type="html">Djeepy1</title>
      </content>
    </item>
    <item>
      <ping xmlns="http://madskills.com/public/xml/rss/module/trackback/">http://benoitlaut.net/Trackback.aspx?guid=4cfd7e13-ba75-49ce-8881-744ada2f51a5</ping>
      <server xmlns="http://madskills.com/public/xml/rss/module/pingback/">http://benoitlaut.net/pingback.aspx</server>
      <target xmlns="http://madskills.com/public/xml/rss/module/pingback/">http://benoitlaut.net/PermaLink,guid,4cfd7e13-ba75-49ce-8881-744ada2f51a5.aspx</target>
      <creator xmlns="http://purl.org/dc/elements/1.1/">Benoît Laut</creator>
      <comment xmlns="http://wellformedweb.org/CommentAPI/">http://benoitlaut.net/CommentView,guid,4cfd7e13-ba75-49ce-8881-744ada2f51a5.aspx</comment>
      <commentRss xmlns="http://wellformedweb.org/CommentAPI/">http://benoitlaut.net/SyndicationService.asmx/GetEntryCommentsRss?guid=4cfd7e13-ba75-49ce-8881-744ada2f51a5</commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Je viens de publier <a href="http://www.techheadbrothers.com/Articles.aspx/developpement-86-64-framework-dotnet" target="_blank">un
nouvel article sur le développement 32bits et 64bits</a>.
</p>
        <p>
“<em>Avec l’arrivée du Framework 4.0 et de Visual Studio 2010, Microsoft a fait de
gros effort sur le développement d’applications 64bits avec Visual Studio 2010. </em><a href="http://patricelamarche.net/2010/05/11/L%c3%a9gersChangementsAutourDu64BitsEtDeVisualStudio2010.aspx"><em>Patrice
Lamarche nous livre dans ce billet</em></a><em> l’un des changements majeur concernant
la politique de compilation de vos projets UI avec Visual Studio 2010.</em></p>
        <p>
          <em>Au-delà de l’IDE, le Framework 4.0, et plus précisément la classe System.Environment,
nous fournit des propriétés permettant de savoir si l’OS est en 32 ou 64bits, ou de
récupérer le répertoire Program File (x86) ou encore le répertoire Windows\SYSWOW64…</em>
        </p>
        <p>
          <em>Quelles sont les différences entre ces OS ? Comment des applications 32 bits et
64 bits cohabitent ? Comment les prendre en compte dans nos développements ?</em>”
</p>
        <img width="0" height="0" src="http://benoitlaut.net/aggbug.ashx?id=4cfd7e13-ba75-49ce-8881-744ada2f51a5" />
      </body>
      <title>Développement x86 et x64 avec le framework .Net</title>
      <guid isPermaLink="false">http://benoitlaut.net/PermaLink,guid,4cfd7e13-ba75-49ce-8881-744ada2f51a5.aspx</guid>
      <link>http://benoitlaut.net/2010/07/05/D%c3%a9veloppementX86EtX64AvecLeFrameworkNet.aspx</link>
      <pubDate>Mon, 05 Jul 2010 06:23:06 GMT</pubDate>
      <description>&lt;p&gt;
Je viens de publier &lt;a href="http://www.techheadbrothers.com/Articles.aspx/developpement-86-64-framework-dotnet" target="_blank"&gt;un
nouvel article sur le développement 32bits et 64bits&lt;/a&gt;.
&lt;/p&gt;
&lt;p&gt;
“&lt;em&gt;Avec l’arrivée du Framework 4.0 et de Visual Studio 2010, Microsoft a fait de
gros effort sur le développement d’applications 64bits avec Visual Studio 2010. &lt;/em&gt;&lt;a href="http://patricelamarche.net/2010/05/11/L%c3%a9gersChangementsAutourDu64BitsEtDeVisualStudio2010.aspx"&gt;&lt;em&gt;Patrice
Lamarche nous livre dans ce billet&lt;/em&gt;&lt;/a&gt;&lt;em&gt; l’un des changements majeur concernant
la politique de compilation de vos projets UI avec Visual Studio 2010.&lt;/em&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;em&gt;Au-delà de l’IDE, le Framework 4.0, et plus précisément la classe System.Environment,
nous fournit des propriétés permettant de savoir si l’OS est en 32 ou 64bits, ou de
récupérer le répertoire Program File (x86) ou encore le répertoire Windows\SYSWOW64…&lt;/em&gt; 
&lt;p&gt;
&lt;em&gt;Quelles sont les différences entre ces OS ? Comment des applications 32 bits et
64 bits cohabitent ? Comment les prendre en compte dans nos développements ?&lt;/em&gt;”
&lt;/p&gt;
&lt;img width="0" height="0" src="http://benoitlaut.net/aggbug.ashx?id=4cfd7e13-ba75-49ce-8881-744ada2f51a5" /&gt;</description>
      <comments>http://benoitlaut.net/CommentView,guid,4cfd7e13-ba75-49ce-8881-744ada2f51a5.aspx</comments>
      <category>C#</category>
      <category>Visual Studio</category>
    </item>
    <item>
      <ping xmlns="http://madskills.com/public/xml/rss/module/trackback/">http://benoitlaut.net/Trackback.aspx?guid=eb1002ed-a1c9-484b-b851-b1ab469e9dd3</ping>
      <server xmlns="http://madskills.com/public/xml/rss/module/pingback/">http://benoitlaut.net/pingback.aspx</server>
      <target xmlns="http://madskills.com/public/xml/rss/module/pingback/">http://benoitlaut.net/PermaLink,guid,eb1002ed-a1c9-484b-b851-b1ab469e9dd3.aspx</target>
      <creator xmlns="http://purl.org/dc/elements/1.1/">Benoît Laut</creator>
      <comment xmlns="http://wellformedweb.org/CommentAPI/">http://benoitlaut.net/CommentView,guid,eb1002ed-a1c9-484b-b851-b1ab469e9dd3.aspx</comment>
      <commentRss xmlns="http://wellformedweb.org/CommentAPI/">http://benoitlaut.net/SyndicationService.asmx/GetEntryCommentsRss?guid=eb1002ed-a1c9-484b-b851-b1ab469e9dd3</commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Je ne suis pas trop pour ce genre de post, mais mon ami et collègue <a href="http://www.dotmim.com/blogs/mim/default.aspx" target="_blank">Sebastien
Pertus</a> m’a passé la patate chaude, et je me dois donc de la renvoyer…
</p>
        <ol>
          <li>
Mon nom, Laut s'écrit avec un T et se prononce lo, pas Lote! Je suis du nord et dans
le nord on ne dit pas moinsse... 
</li>
          <li>
95% des gens l'oublis, mais mon prénom, Benoît, s'écrit avec un accent circonflexe
sur le i. 
</li>
          <li>
Ben, BenBen, CorBen (Dallas), PtiBen, $uddenBen, Biniouze, Strogoff, Eole, Tic (de
Tic et Tac) et dernièrement Dr House, sont quelques uns des surnoms que l’on pu me
donner ces 15 dernières années. 
</li>
          <li>
Je suis né à Monaco. Entendez par là la clinique Monaco à Valenciennes. Ville célèbre
notamment pour son (ancien) maire, JL Borloo qui a fait venir Toyota pour fabriquer
la Yaris (seul endroit dans le monde où elle est fabriquée) et qui est notamment à
l'origine de la remontée du VAFC en ligue 1 (ancien club USVA). 
</li>
          <li>
A 1 an je tombe 2 fois de suite de ma chaise haute (je voulais me balancer comme sur
une balançoire), à 5ans ma sœur me casse le pouce en me lançant une boule de pétanque
sur la main, à 11 ans je me fais renverser sur un passage piéton par une auto école.
A 30 ans, à Bewise, accident de travail, je me fais une entorse en descendant les
escaliers… 
</li>
          <li>
Mon premier vrai concert en tant que spectateur : 1996, j'avais 16ans, ACDC pour la
tournée Ballbreaker. Mon groupe mythique depuis l'age de 12 ans. Je peux dire que
j'ai connu Bon Scott, chanteur mythique d'ACDC, mort le 19 février 1980, puisque je
suis né 26 jours avant ce drame. J'aime beaucoup de style de musique : Hard Rock,
Blues Rock, Heavy Metal, Death Metal, Power Metal, Trash Metal, Dark Metal Melodyc,
Black Metal Symphonic Alcolic... Mais ça ne m'a pas empêché d'aller à des concerts
de JJ Goldman, Mano Solo, les ogres de Barback ou encore Marcel et son orchestre. 
</li>
          <li>
Guitariste aux cheveux longs, j'ai joué 8 ans dans un groupe de Metal. Une dizaine
de concerts dans des bars et discothèques, une quinzaine de compos et une corde cassée
à chaque début de concert. Je joue sur une guitare Ibanez et un gros Marshal 100W
2 corps!! 
</li>
          <li>
Un jour, un grand sportif j'ai été. Gymnastique : je faisais tous les grand écarts
possible (costal, facial, nasal...). Handball : j'ai participé aux sélections du nord.
Cyclisme : à 17ans je faisais ma première traversée de la France, 1100km en 8jours
de Valenciennes (Nord) à Pamiers (Ariège). A la même période je gravissais pour la
première fois le Mont Ventoux et le Tourmalet.  
</li>
          <li>
Si je devais me comparer à une boisson, ça serait la bière : frais, pétillant, du
caractère, doux et amer à la fois... Mes préférées : Triple de Bruges et Triple Karmeliet. 
</li>
          <li>
J’habite Toulouse depuis 5 ans bientôt, mais je reste bien sur très attaché au Nord.
Je suis notamment un grand supporter du VAFC que j’ai du voir pour la première fois
au stade Nungesser à 10 ans. 8ème de ligue 1 en 2009-2010, pour les personnes qui
ne le savent pas, Valenciennes est de retour en ligue 1 depuis 2005.</li>
        </ol>
        <p>
Je passe maintenant la main à <a href="http://blog.djeepy1.net/" target="_blank">JP</a>. 
</p>
        <img width="0" height="0" src="http://benoitlaut.net/aggbug.ashx?id=eb1002ed-a1c9-484b-b851-b1ab469e9dd3" />
      </body>
      <title>10 trucs sur moi</title>
      <guid isPermaLink="false">http://benoitlaut.net/PermaLink,guid,eb1002ed-a1c9-484b-b851-b1ab469e9dd3.aspx</guid>
      <link>http://benoitlaut.net/2010/07/05/10TrucsSurMoi.aspx</link>
      <pubDate>Mon, 05 Jul 2010 04:02:00 GMT</pubDate>
      <description>&lt;p&gt;
Je ne suis pas trop pour ce genre de post, mais mon ami et collègue &lt;a href="http://www.dotmim.com/blogs/mim/default.aspx" target="_blank"&gt;Sebastien
Pertus&lt;/a&gt; m’a passé la patate chaude, et je me dois donc de la renvoyer…
&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
Mon nom, Laut s'écrit avec un T et se prononce lo, pas Lote! Je suis du nord et dans
le nord on ne dit pas moinsse... 
&lt;li&gt;
95% des gens l'oublis, mais mon prénom, Benoît, s'écrit avec un accent circonflexe
sur le i. 
&lt;li&gt;
Ben, BenBen, CorBen (Dallas), PtiBen, $uddenBen, Biniouze, Strogoff, Eole, Tic (de
Tic et Tac) et dernièrement Dr House, sont quelques uns des surnoms que l’on pu me
donner ces 15 dernières années. 
&lt;li&gt;
Je suis né à Monaco. Entendez par là la clinique Monaco à Valenciennes. Ville célèbre
notamment pour son (ancien) maire, JL Borloo qui a fait venir Toyota pour fabriquer
la Yaris (seul endroit dans le monde où elle est fabriquée) et qui est notamment à
l'origine de la remontée du VAFC en ligue 1 (ancien club USVA). 
&lt;li&gt;
A 1 an je tombe 2 fois de suite de ma chaise haute (je voulais me balancer comme sur
une balançoire), à 5ans ma sœur me casse le pouce en me lançant une boule de pétanque
sur la main, à 11 ans je me fais renverser sur un passage piéton par une auto école.
A 30 ans, à Bewise, accident de travail, je me fais une entorse en descendant les
escaliers… 
&lt;li&gt;
Mon premier vrai concert en tant que spectateur : 1996, j'avais 16ans, ACDC pour la
tournée Ballbreaker. Mon groupe mythique depuis l'age de 12 ans. Je peux dire que
j'ai connu Bon Scott, chanteur mythique d'ACDC, mort le 19 février 1980, puisque je
suis né 26 jours avant ce drame. J'aime beaucoup de style de musique : Hard Rock,
Blues Rock, Heavy Metal, Death Metal, Power Metal, Trash Metal, Dark Metal Melodyc,
Black Metal Symphonic Alcolic... Mais ça ne m'a pas empêché d'aller à des concerts
de JJ Goldman, Mano Solo, les ogres de Barback ou encore Marcel et son orchestre. 
&lt;li&gt;
Guitariste aux cheveux longs, j'ai joué 8 ans dans un groupe de Metal. Une dizaine
de concerts dans des bars et discothèques, une quinzaine de compos et une corde cassée
à chaque début de concert. Je joue sur une guitare Ibanez et un gros Marshal 100W
2 corps!! 
&lt;li&gt;
Un jour, un grand sportif j'ai été. Gymnastique : je faisais tous les grand écarts
possible (costal, facial, nasal...). Handball : j'ai participé aux sélections du nord.
Cyclisme : à 17ans je faisais ma première traversée de la France, 1100km en 8jours
de Valenciennes (Nord) à Pamiers (Ariège). A la même période je gravissais pour la
première fois le Mont Ventoux et le Tourmalet.&amp;nbsp; 
&lt;li&gt;
Si je devais me comparer à une boisson, ça serait la bière : frais, pétillant, du
caractère, doux et amer à la fois... Mes préférées : Triple de Bruges et Triple Karmeliet. 
&lt;li&gt;
J’habite Toulouse depuis 5 ans bientôt, mais je reste bien sur très attaché au Nord.
Je suis notamment un grand supporter du VAFC que j’ai du voir pour la première fois
au stade Nungesser à 10 ans. 8ème de ligue 1 en 2009-2010, pour les personnes qui
ne le savent pas, Valenciennes est de retour en ligue 1 depuis 2005.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;
Je passe maintenant la main à &lt;a href="http://blog.djeepy1.net/" target="_blank"&gt;JP&lt;/a&gt;. 
&lt;/p&gt;
&lt;img width="0" height="0" src="http://benoitlaut.net/aggbug.ashx?id=eb1002ed-a1c9-484b-b851-b1ab469e9dd3" /&gt;</description>
      <comments>http://benoitlaut.net/CommentView,guid,eb1002ed-a1c9-484b-b851-b1ab469e9dd3.aspx</comments>
      <category>Fun</category>
    </item>
    <item>
      <title>SSIS – Erreur –1071607685 – No Status Available</title>
      <link>http://blog.djeepy1.net/2010/06/29/ssis-erreur-1071607685-no-status-available/</link>
      <comments>http://blog.djeepy1.net/2010/06/29/ssis-erreur-1071607685-no-status-available/#comments</comments>
      <pubDate>Tue, 29 Jun 2010 21:52:05 +0000</pubDate>
      <creator xmlns="http://purl.org/dc/elements/1.1/">Djeepy1</creator>
      <category><![CDATA[Integration Services]]></category>
      <category><![CDATA[Bulk]]></category>
      <category><![CDATA[SSIS]]></category>
      <guid isPermaLink="false">https://djeepy1.wordpress.com/2010/06/29/ssis-erreur-1071607685-no-status-available/</guid>
      <description><![CDATA[&#160; Dans vos packages Integration Services, si vous êtes confrontés à cette erreur… : Error Code : –1071607685 Error Column : 0 Error Desc : No Status Available …ne cherchez pas pendant des heures. Regardez en premier lieu dans les composants destination et désactivez les options Fast Load. Cette option fait une insertion en mode [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.djeepy1.net&blog=7511412&post=263&subd=djeepy1&ref=&feed=1" />]]></description>
      <encoded xmlns="http://purl.org/rss/1.0/modules/content/"><![CDATA[<p>&#160;</p>
<p>Dans vos packages Integration Services, si vous êtes confrontés à cette erreur… : </p>
<p><strong>Error Code : –1071607685     <br />Error Column : 0      <br />Error Desc : No Status Available</strong></p>
<p>…ne cherchez pas pendant des heures. Regardez en premier lieu dans les composants destination et désactivez les options <strong>Fast Load</strong>.</p>
<p><a href="http://djeepy1.files.wordpress.com/2010/06/image1.png" target="_blank"><img style="border-bottom:0;border-left:0;display:inline;border-top:0;border-right:0;" title="FastLoad" border="0" alt="FastLoad" src="http://djeepy1.files.wordpress.com/2010/06/image_thumb1.png?w=504&#038;h=435" width="504" height="435" /></a> </p>
<p>Cette option fait une insertion en mode <strong>BULK</strong> et par défaut en batch de 10 000 enregistrements. Si au moins l’un de ceux là est en erreur (doublon, clé étrangère manquante, valeur invalide, etc.), c’est le batch qui part dans le flux d’erreur et aucune description d’erreur n’est disponible.</p>
<p>La première chose à faire pour déboguer est de désactiver l’option pour avoir des INSERT ligne à ligne. Vous verrez donc l’erreur qui fait planter le batch.</p>
<p>Mais alors comment faire dans la vraie vie. Plusieurs idées : </p>
<ol>
<li>Dans le cadre d’un ETL de DataWarehouse, il faut faire toute les vérifications <strong>AVANT </strong>l’insertion (c’est aussi une des raisons pourquoi on ne met pas de Foreign Key). Votre <strong>DataFlow</strong> doit garantir la validité des données (et prendre les actions correctrices nécessaires)</li>
<li>Utiliser un paramètre <em>DEBUG</em> pour désactiver l’option à la volée en production (il faudra passer par une variable et un <strong>conditional split</strong>)</li>
<li>Utiliser la <em>technique du double-essai</em>. On fait d’abord une première insertion en mode <strong>FastLoad</strong>, on redirige la sortie d’erreur sur un INSERT normal. Ainsi, dans (normalement) la majorité des cas, vous ferez du Bulk et le deuxième essai permet de limiter les dégats d’un batch qui part à la poubelle (et surtout vous donnera les détails de l’erreur).</li>
</ol>
<br />Filed under: <a href='http://blog.djeepy1.net/category/integration-services/'>Integration Services</a> Tagged: <a href='http://blog.djeepy1.net/tag/bulk/'>Bulk</a>, <a href='http://blog.djeepy1.net/tag/integration-services/'>Integration Services</a>, <a href='http://blog.djeepy1.net/tag/ssis/'>SSIS</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/djeepy1.wordpress.com/263/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/djeepy1.wordpress.com/263/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/djeepy1.wordpress.com/263/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/djeepy1.wordpress.com/263/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/djeepy1.wordpress.com/263/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/djeepy1.wordpress.com/263/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/djeepy1.wordpress.com/263/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/djeepy1.wordpress.com/263/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/djeepy1.wordpress.com/263/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/djeepy1.wordpress.com/263/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/djeepy1.wordpress.com/263/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/djeepy1.wordpress.com/263/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/djeepy1.wordpress.com/263/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/djeepy1.wordpress.com/263/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.djeepy1.net&blog=7511412&post=263&subd=djeepy1&ref=&feed=1" />]]></encoded>
      <commentRss xmlns="http://wellformedweb.org/CommentAPI/">http://blog.djeepy1.net/2010/06/29/ssis-erreur-1071607685-no-status-available/feed/</commentRss>
      <comments xmlns="http://purl.org/rss/1.0/modules/slash/">0</comments>
      <content url="http://1.gravatar.com/avatar/d5bd484f181f5352c2e531cb5cc78aef?s=96&amp;d=http%3A%2F%2Fs0.wp.com%2Fi%2Fmu.gif&amp;r=G" medium="image" xmlns="http://search.yahoo.com/mrss/">
        <title type="html">djeepy1</title>
      </content>
      <content url="http://djeepy1.files.wordpress.com/2010/06/image_thumb1.png" medium="image" xmlns="http://search.yahoo.com/mrss/">
        <title type="html">FastLoad</title>
      </content>
    </item>
    <item>
      <title>SqlNativeClient, ADO.NET, ODBC, OLE DB</title>
      <link>http://www.dotmim.com/blogs/mim/archive/2010/06/25/sqlnativeclient-ado-net-odbc-ole-db.aspx</link>
      <pubDate>Fri, 25 Jun 2010 08:22:15 GMT</pubDate>
      <guid isPermaLink="false">f24f4a04-d5df-4071-90fb-39191e3ba06c:582</guid>
      <creator xmlns="http://purl.org/dc/elements/1.1/">Mimetis</creator>
      <comments xmlns="http://purl.org/rss/1.0/modules/slash/">0</comments>
      <wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://www.dotmim.com/blogs/mim/rsscomments.aspx?PostID=582</wfw:commentRss>
      <comments>http://www.dotmim.com/blogs/mim/archive/2010/06/25/sqlnativeclient-ado-net-odbc-ole-db.aspx#comments</comments>
      <description>&lt;p&gt;Petit rappel sur la différence entre SqlNativeClient et ADO.NET&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;SqlNativeClient&lt;/strong&gt; est une API utilisé en lieu et place d’&lt;strong&gt;ODBC&lt;/strong&gt; ou &lt;strong&gt;OLE DB&lt;/strong&gt; :&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Pour faire simple &lt;strong&gt;SqlNativeClient&lt;/strong&gt; est une combinaison des deux (ODBC ET OLE DB) PLUS les fonctionnalités spécifiques à SQL SERVER comme MARS, XML , UDT etc….)&lt;/li&gt;    &lt;li&gt;     &lt;br /&gt;L’utilisation de &lt;strong&gt;SqlNativeClient&lt;/strong&gt; s’adresse aux « migrations » d’ODBC ou OleDb qui veulent profiter des fonctionnalités de SQL SERVER 2005 et +&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Dans tous les cas, en Code managed, la préconisation reste la Stack ADO.NET, si vous partez sur un nouveau projet.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;u&gt;Conclusion :&lt;/u&gt;&lt;/strong&gt; &lt;/p&gt;  &lt;p&gt;Vous voulez « migrer » votre Stack d’accès aux données actuellement en ODBC (ou OLE DB) ? Utilisez SqlNativeClient. &lt;/p&gt;  &lt;p&gt;Vous partez sur un nouveau développement en code managed ? Utilisez ADO.NET&lt;/p&gt;  &lt;p&gt;Au niveau des performances, rien de notable entre ADO.NET et SqlNativeClient (pas à ma connaissance du moins :))&lt;/p&gt;  &lt;p&gt;Bon … choix !&lt;/p&gt;&lt;img src="http://www.dotmim.com/aggbug.aspx?PostID=582" width="1" height="1"&gt;</description>
    </item>
    <item>
      <title>[Outlook] Préparez-vous à partir en vacances</title>
      <link>http://blog.christophermaneu.fr/2010/06/outlook-prparez-vous-partir-en-vacances/</link>
      <comments>http://blog.christophermaneu.fr/2010/06/outlook-prparez-vous-partir-en-vacances/#comments</comments>
      <pubDate>Thu, 24 Jun 2010 17:16:10 +0000</pubDate>
      <creator xmlns="http://purl.org/dc/elements/1.1/">Chris</creator>
      <category><![CDATA[Business Worker]]></category>
      <category><![CDATA[For students]]></category>
      <category><![CDATA[Outlook]]></category>
      <category><![CDATA[Outlook 2007]]></category>
      <category><![CDATA[Outlook 2010]]></category>
      <guid isPermaLink="false">http://blog.christophermaneu.fr/2010/06/outlook-prparez-vous-partir-en-vacances/</guid>
      <description><![CDATA[La période estivale n’est pas loin, et avec elle les vacances pour la plupart d’entre nous. Voici deux petites astuces pour préparer votre boîte de messagerie à votre absence prolongée. &#160; Archivez les anciens messages Toutes les entreprises imposent des quotas sur les comptes de messagerie. Ces quotas peuvent être dépassés en votre absence, et [...]]]></description>
      <encoded xmlns="http://purl.org/rss/1.0/modules/content/"><![CDATA[<p>La période estivale n’est pas loin, et avec elle les vacances pour la plupart d’entre nous. Voici deux petites astuces pour préparer votre boîte de messagerie à votre absence prolongée.</p>
<h2>&#160;</h2>
<h2>Archivez les anciens messages</h2>
<p>Toutes les entreprises imposent des quotas sur les comptes de messagerie. Ces quotas peuvent être dépassés en votre absence, et ainsi entraîner le rejet d’un nombre important de mails. Vous pouvez donc effectuer un archivage avant votre départ afin de pouvoir partir avec du quota à revendre !</p>
<p>&#160;</p>
<p>Dans Office 2010, vous pouvez simplement faire cela en vous rendant dans les <em>cleanup tools</em> ou <em>outils de nettoyage </em>depuis le Backstage (l’écran qui est affiché dans les applications Office lors du clic sur le menu Fichier).</p>
<p><a href="http://blog.christophermaneu.fr/wp-content/uploads/2010/06/image.png"><img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="image" border="0" alt="image" src="http://blog.christophermaneu.fr/wp-content/uploads/2010/06/image_thumb.png" width="384" height="215" /></a></p>
<p> Les messages archivés vont être placés dans un fichier <em>pst</em> à l’emplacement de votre choix.</p>
<p><a href="http://blog.christophermaneu.fr/wp-content/uploads/2010/06/image1.png"><img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="image" border="0" alt="image" src="http://blog.christophermaneu.fr/wp-content/uploads/2010/06/image_thumb1.png" width="333" height="358" /></a> </p>
<h2>Mettez en place un message de réponse automatique</h2>
<p>Egalement OOF (Out of Office), ce message est envoyé par votre serveur de messagerie (si vous utilisez Outlook et Exchange Server) dès que quelqu’un vous envoie un message. Cela permet d’avertir vos correspondants pourquoi et jusqu’à quand vous êtes injoignable. Pas besoin d’écrire un roman, restez précis, clair et concis. Les trois éléments que je vous conseille de mettre dans ce message : </p>
<ul>
<li><strong>Les dates de votre absence</strong> : Mettez des dates de début et de fin précises (évitez les phrases du type <em>je suis absent pour 10 jours</em>),</li>
<li><strong>La raison</strong> : sans être précis (j’ai réservé au club med miami), précisez si vous êtes en déplacement professionnel ou en vacances. Pourquoi ? En déplacement profesionnel, vous êtes toujours connecté au travail, pas en vacances (enfin, normalement :),</li>
<li><strong>Qui contacter en votre absence</strong> : pas besoin de lister toutes les personnes de votre entreprise, mais laissez d’autres points de contacts en cas de questions urgentes (votre responsable/chef de projet, un collègue de votre équipe) et <u>prévenez cette personne</u>.</li>
</ul>
<p>&#160;</p>
<p>Depuis Outlook 2010 (toujours via Backstage) la fonctionnalité <em>réponses automatiques/automatic replies</em> vous permet simplement de programmer une réponse automatique <strong>entre deux dates</strong>. Vous pouvez ainsi la préparer quelques jours avant votre départ, outlook se chargera de l’activer à votre départ et de la réactiver à votre retour.</p>
<p>&#160;</p>
<p><img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="image" border="0" alt="image" src="http://blog.christophermaneu.fr/wp-content/uploads/2010/06/image_thumb2.png" width="429" height="399" /></p>
<p>Comme vous pouvez le remarquer sur la capture d’écran, vous avez la possibilité d’avoir un message différent pour vos collègues et pour les messages reçus depuis l’extérieur de votre organisation. Mais vous pouvez allez encore plus loin en appliquant des règles aux messages reçus, en plus des règles d’organisation de votre messagerie.</p>
<p><a href="http://blog.christophermaneu.fr/wp-content/uploads/2010/06/image2.png"><img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="image" border="0" alt="image" src="http://blog.christophermaneu.fr/wp-content/uploads/2010/06/image_thumb3.png" width="352" height="376" /></a> Bonnes vacances à tous !</p>]]></encoded>
      <commentRss xmlns="http://wellformedweb.org/CommentAPI/">http://blog.christophermaneu.fr/2010/06/outlook-prparez-vous-partir-en-vacances/feed/</commentRss>
      <comments xmlns="http://purl.org/rss/1.0/modules/slash/">0</comments>
    </item>
    <item>
      <title>Compatibilités et versions de Report Builder</title>
      <link>http://blog.djeepy1.net/2010/06/19/compatibilits-et-versions-de-report-builder/</link>
      <comments>http://blog.djeepy1.net/2010/06/19/compatibilits-et-versions-de-report-builder/#comments</comments>
      <pubDate>Sat, 19 Jun 2010 16:07:56 +0000</pubDate>
      <creator xmlns="http://purl.org/dc/elements/1.1/">Djeepy1</creator>
      <category><![CDATA[Reporting Services]]></category>
      <category><![CDATA[SSRS]]></category>
      <category><![CDATA[Report Builder]]></category>
      <category><![CDATA[BIDS]]></category>
      <guid isPermaLink="false">https://djeepy1.wordpress.com/2010/06/19/compatibilits-et-versions-de-report-builder/</guid>
      <description><![CDATA[En ces temps de nouvelles versions (je vous rappelle que SQL Server 2008 R2 est sorti il y a quelques semaines), un petit point sur Report Builder. Ci-dessous, la matrice de compatibilité. Pour un rapport réalisé avec tel version d’outil, sur quelle version le déployer… SSRS 2008 SSRS 2008 R2 Report Builder 2.0 OK OK [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.djeepy1.net&blog=7511412&post=260&subd=djeepy1&ref=&feed=1" />]]></description>
      <encoded xmlns="http://purl.org/rss/1.0/modules/content/"><![CDATA[<p>En ces temps de nouvelles versions (je vous rappelle que SQL Server 2008 R2 est sorti il y a quelques semaines), un petit point sur Report Builder.</p>
<p>Ci-dessous, la matrice de compatibilité. Pour un rapport réalisé avec tel version d’outil, sur quelle version le déployer… </p>
<table border="0" cellspacing="0" cellpadding="2" width="400">
<tbody>
<tr style="background-color:darkorange;color:white;">
<td valign="top" width="133">
<p align="center"></p>
</td>
<td valign="top" width="133">
<p align="center"><strong>SSRS 2008</strong></p>
</td>
<td valign="top" width="133">
<p align="center"><strong>SSRS 2008 R2</strong></p>
</td>
</tr>
<tr>
<td valign="top" width="133"><strong>Report Builder 2.0</strong></td>
<td valign="top" width="133">
<p align="center">OK</p>
</td>
<td valign="top" width="133">
<p align="center">OK</p>
</td>
</tr>
<tr>
<td valign="top" width="133">
<p align="left"><strong>Report Builder 3.0</strong></p>
</td>
<td valign="top" width="133">
<p align="center">KO</p>
</td>
<td valign="top" width="133">
<p align="center">OK</p>
</td>
</tr>
<tr>
<td valign="top" width="133">
<p align="left"><strong>BIDS* 2008</strong></p>
</td>
<td valign="top" width="133">
<p align="center">OK</p>
</td>
<td valign="top" width="133">
<p align="center">OK</p>
</td>
</tr>
<tr>
<td valign="top" width="133">
<p align="left"><strong>BIDS<em>*</em> 2008 R2</strong></p>
</td>
<td valign="top" width="133">
<p align="center">OK            <br /><em>(avec la bonne configuration)</em></p>
</td>
<td valign="top" width="133">
<p align="center">OK</p>
</td>
</tr>
</tbody>
</table>
<p><em>BIDS : Business Intelligence Development Studio (en fait, juste les template de projet BI pour Visual Studio <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> )</em></p>
<p>Pour configurer BIDS, il suffit d’aller dans les propriétés du projet :</p>
<p><a href="http://djeepy1.files.wordpress.com/2010/06/image.png"><img style="display:inline;border-width:0;" title="propriete report project" border="0" alt="propriete report project" src="http://djeepy1.files.wordpress.com/2010/06/image_thumb.png?w=504&#038;h=306" width="504" height="306" /></a>&#160; </p>
<p>Et dans la série des liens utiles, les versions Stand Alone de Report Builder sont disponibles à ces adresses : </p>
<ul>
<li><a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=d3173a87-7c0d-40cc-a408-3d1a43ae4e33&amp;displaylang=fr" target="_blank">Report Builder 3.0</a> </li>
<li><a href="http://www.microsoft.com/downloads/details.aspx?displaylang=fr&amp;FamilyID=dbddc9b6-6e19-4d4b-9309-13f62901b0d5" target="_blank">Report Builder 2.0</a> </li>
</ul>
<br />Filed under: <a href='http://blog.djeepy1.net/category/reporting-services/'>Reporting Services</a> Tagged: <a href='http://blog.djeepy1.net/tag/bids/'>BIDS</a>, <a href='http://blog.djeepy1.net/tag/report-builder/'>Report Builder</a>, <a href='http://blog.djeepy1.net/tag/reporting-services/'>Reporting Services</a>, <a href='http://blog.djeepy1.net/tag/ssrs/'>SSRS</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/djeepy1.wordpress.com/260/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/djeepy1.wordpress.com/260/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/djeepy1.wordpress.com/260/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/djeepy1.wordpress.com/260/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/djeepy1.wordpress.com/260/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/djeepy1.wordpress.com/260/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/djeepy1.wordpress.com/260/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/djeepy1.wordpress.com/260/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/djeepy1.wordpress.com/260/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/djeepy1.wordpress.com/260/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/djeepy1.wordpress.com/260/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/djeepy1.wordpress.com/260/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/djeepy1.wordpress.com/260/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/djeepy1.wordpress.com/260/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.djeepy1.net&blog=7511412&post=260&subd=djeepy1&ref=&feed=1" />]]></encoded>
      <commentRss xmlns="http://wellformedweb.org/CommentAPI/">http://blog.djeepy1.net/2010/06/19/compatibilits-et-versions-de-report-builder/feed/</commentRss>
      <comments xmlns="http://purl.org/rss/1.0/modules/slash/">1</comments>
      <content url="http://1.gravatar.com/avatar/d5bd484f181f5352c2e531cb5cc78aef?s=96&amp;d=http%3A%2F%2Fs0.wp.com%2Fi%2Fmu.gif&amp;r=G" medium="image" xmlns="http://search.yahoo.com/mrss/">
        <title type="html">djeepy1</title>
      </content>
      <content url="http://djeepy1.files.wordpress.com/2010/06/image_thumb.png" medium="image" xmlns="http://search.yahoo.com/mrss/">
        <title type="html">propriete report project</title>
      </content>
    </item>
    <item>
      <title>AfterBDC : Session Haute Dispo.. dispo !</title>
      <link>http://www.dotmim.com/blogs/mim/archive/2010/06/17/afterbdc-session-haute-dispo-dispo.aspx</link>
      <pubDate>Thu, 17 Jun 2010 15:05:27 GMT</pubDate>
      <guid isPermaLink="false">f24f4a04-d5df-4071-90fb-39191e3ba06c:581</guid>
      <creator xmlns="http://purl.org/dc/elements/1.1/">Mimetis</creator>
      <comments xmlns="http://purl.org/rss/1.0/modules/slash/">0</comments>
      <wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://www.dotmim.com/blogs/mim/rsscomments.aspx?PostID=581</wfw:commentRss>
      <comments>http://www.dotmim.com/blogs/mim/archive/2010/06/17/afterbdc-session-haute-dispo-dispo.aspx#comments</comments>
      <description>&lt;p&gt;&lt;a href="http://www.dotmim.com/blogs/mim/image1_11E8D384.jpg"&gt;&lt;img style="border-bottom:0px;border-left:0px;margin:0px 25px 0px 0px;display:inline;border-top:0px;border-right:0px;" title="image[1]" border="0" alt="image[1]" align="left" src="http://www.dotmim.com/blogs/mim/image1_thumb_6F449508.jpg" width="304" height="152" /&gt;&lt;/a&gt; Ok elle était facile celle là :)&lt;/p&gt;  &lt;p&gt;Enfin il n’en reste pas moins que la session sur SQL SERVER Haute Dispo que j’ai co animée avec &lt;a href="http://blogs.msdn.com/b/pascal/"&gt;PASCAL BELAUD&lt;/a&gt; est maintenant disponible en téléchargement.&lt;/p&gt;  &lt;p&gt;Rendez vous sur le site de &lt;a href="http://afterbdc.bewise.fr/"&gt;l’AfterBDC&lt;/a&gt; , section &lt;a href="http://afterbdc.bewise.fr/page/Les-sessions.aspx"&gt;Les SessionS&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Notez au passage que nous avons mis en ligne &lt;a href="http://afterbdc.bewise.fr/post/Des-photos-de-la-BDC-Toulousaine-en-pagaille-!.aspx"&gt;quelques photos de l’évènements&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://afterbdc.bewise.fr/Contenu/sessions/SQL_Server_2008.zip"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:block;float:none;margin-left:auto;border-top:0px;margin-right:auto;border-right:0px;" title="image[5]" border="0" alt="image[5]" src="http://www.dotmim.com/blogs/mim/image5_2063CFA9.png" width="244" height="187" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Bon visionnage :)&lt;/p&gt;&lt;img src="http://www.dotmim.com/aggbug.aspx?PostID=581" width="1" height="1"&gt;</description>
    </item>
    <item>
      <guid isPermaLink="false">tag:blogger.com,1999:blog-2661757067011288732.post-6027628175982447178</guid>
      <pubDate>Thu, 17 Jun 2010 11:49:00 +0000</pubDate>
      <updated xmlns="http://www.w3.org/2005/Atom">2010-06-17T05:12:06.579-07:00</updated>
      <title>SSRS – Paramètres dynamiques issus de code custom</title>
      <description>&lt;p&gt;Pour définir les valeurs disponibles d’un paramètre dans un rapport, Reporting Services 2008 ne vous propose que de définir des valeurs fixes ou de récupérer le résultat d’une requête sur une source de données.&lt;/p&gt;  &lt;p&gt;Néanmoins, si vous avez du code métier un peu “touchy” qui lui seul serait capable de remonter la liste des paramètres disponibles, grâce aux expressions, vous pouvez le faire.&lt;/p&gt;  &lt;p&gt;Pour ce faire:&lt;/p&gt;  &lt;p&gt;Votre méthode .Net de votre code custom doit renvoyer une chaine de caractère correctement formatée pour pouvoir être “splittée” par la suite.&lt;/p&gt;  &lt;p&gt;public string GetListeAgence()   &lt;br /&gt;{    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; return &amp;quot;test,test1,test2&amp;quot;;    &lt;br /&gt;}&lt;/p&gt;  &lt;p&gt;Ensuite via les propriétés du paramètre ciblé, il vous suffit de créé une expression qui appelle votre méthode et split la chaine obtenue.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_oumjLG2Z2ck/TBoLv1QEZAI/AAAAAAAALOc/cVknT-EQpsA/s1600-h/image%5B2%5D.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="image" border="0" alt="image" src="http://lh6.ggpht.com/_oumjLG2Z2ck/TBoLwj95dhI/AAAAAAAALOg/0Q3l0FSzpn4/image_thumb.png?imgmax=800" width="244" height="202" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;=Split(Code.MyCustomCodeNonSigne.GetListeAgence(),&amp;quot;,&amp;quot;) &lt;/p&gt;  &lt;p&gt;Et voila le résultat:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/_oumjLG2Z2ck/TBoLxJbOjhI/AAAAAAAALOk/2cQQ44GuSG8/s1600-h/image%5B5%5D.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://lh4.ggpht.com/_oumjLG2Z2ck/TBoLxiCP2qI/AAAAAAAALOo/eDzenjgsVhU/image_thumb%5B1%5D.png?imgmax=800" width="244" height="134" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2661757067011288732-6027628175982447178?l=becauseofintellisense.blogspot.com' alt='' /&gt;&lt;/div&gt;</description>
      <link>http://becauseofintellisense.blogspot.com/2010/06/ssrs-parametres-dynamiques-issus-de.html</link>
      <author>nicolas.bruschini@bewise.fr (Rouge)</author>
      <total xmlns="http://purl.org/syndication/thread/1.0">0</total>
    </item>
    <item>
      <ping xmlns="http://madskills.com/public/xml/rss/module/trackback/">http://patricelamarche.net/Trackback.aspx?guid=fe2e7494-e088-45b7-8645-641b1da84ac1</ping>
      <server xmlns="http://madskills.com/public/xml/rss/module/pingback/">http://patricelamarche.net/pingback.aspx</server>
      <target xmlns="http://madskills.com/public/xml/rss/module/pingback/">http://patricelamarche.net/PermaLink,guid,fe2e7494-e088-45b7-8645-641b1da84ac1.aspx</target>
      <creator xmlns="http://purl.org/dc/elements/1.1/">Patrice Lamarche</creator>
      <comment xmlns="http://wellformedweb.org/CommentAPI/">http://patricelamarche.net/CommentView,guid,fe2e7494-e088-45b7-8645-641b1da84ac1.aspx</comment>
      <commentRss xmlns="http://wellformedweb.org/CommentAPI/">http://patricelamarche.net/SyndicationService.asmx/GetEntryCommentsRss?guid=fe2e7494-e088-45b7-8645-641b1da84ac1</commentRss>
      <title>Exemple de migration d’application web ASP.net vers Azure</title>
      <guid isPermaLink="false">http://patricelamarche.net/PermaLink,guid,fe2e7494-e088-45b7-8645-641b1da84ac1.aspx</guid>
      <link>http://feedproxy.google.com/~r/Patrice/~3/AmNHU9zXWMk/ExempleDeMigrationDapplicationWebASPnetVersAzure.aspx</link>
      <pubDate>Tue, 15 Jun 2010 05:55:32 GMT</pubDate>
      <description>&lt;body xmlns="http://www.w3.org/1999/xhtml"&gt;
        &lt;p&gt;
 &lt;a href="http://patricelamarche.net/content/binary/WindowsLiveWriter/ExempledemigrationASP.netversAzure_6F6B/image_4.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; margin-left: 0px; border-left-width: 0px; margin-right: 0px" title="image" border="0" alt="image" align="left" src="http://patricelamarche.net/content/binary/WindowsLiveWriter/ExempledemigrationASP.netversAzure_6F6B/image_thumb_1.png" width="197" height="240"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;
        &lt;p&gt;
        &lt;/p&gt;
        &lt;p align="justify"&gt;
Le numéro de Juin du magazine &lt;a href="http://www.programmez.com/"&gt;Programmez !&lt;/a&gt; est
disponible et j’ai le plaisir de vous indiquer qu’un de mes articles est présent au
sein de ce numéro. Avec cet article, je vous présente succinctement la migration d’une
application ASP.net vers Windows Azure que nous avons effectué dans le cadre d’un
de nos projets tournant sur Azure. Vous y verrez comment nous avons migré l’application
Open Source nopCommerce pour la rendre “Azurée”.
&lt;/p&gt;
        &lt;p align="justify"&gt;
Plus d’infos dans le numéro de Juin du &lt;a href="http://www.programmez.com/"&gt;magazine
Programmez !&lt;/a&gt;&lt;/p&gt;
        &lt;div class="wlWriterHeaderFooter" style="margin:0px; padding:4px 0px 4px 1px;"&gt;
          &lt;iframe src="http://www.facebook.com/widgets/like.php?href=http://patricelamarche.net/2010/06/15/ExempleDeMigrationDapplicationWebASPnetVersAzure.aspx" scrolling="no" frameborder="0" style="border:none; width:450px; height:40px"&gt;
          &lt;/iframe&gt;
        &lt;/div&gt;
        &lt;img width="0" height="0" src="http://patricelamarche.net/aggbug.ashx?id=fe2e7494-e088-45b7-8645-641b1da84ac1"&gt;&lt;/img&gt;
      &lt;/body&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Patrice?a=AmNHU9zXWMk:_CkvAu-ieFg:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Patrice?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Patrice?a=AmNHU9zXWMk:_CkvAu-ieFg:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Patrice?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Patrice?a=AmNHU9zXWMk:_CkvAu-ieFg:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Patrice?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Patrice?a=AmNHU9zXWMk:_CkvAu-ieFg:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Patrice?i=AmNHU9zXWMk:_CkvAu-ieFg:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Patrice?a=AmNHU9zXWMk:_CkvAu-ieFg:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Patrice?i=AmNHU9zXWMk:_CkvAu-ieFg:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Patrice/~4/AmNHU9zXWMk" height="1" width="1"/&gt;</description>
      <comments>http://patricelamarche.net/CommentView,guid,fe2e7494-e088-45b7-8645-641b1da84ac1.aspx</comments>
      <category>Windows Azure</category>
      <origLink xmlns="http://rssnamespace.org/feedburner/ext/1.0">http://patricelamarche.net/2010/06/15/ExempleDeMigrationDapplicationWebASPnetVersAzure.aspx</origLink>
    </item>
    <item>
      <title>[Fun] 10 trucs sur moi</title>
      <link>http://www.dotmim.com/blogs/mim/archive/2010/06/11/fun-10-trucs-sur-moi.aspx</link>
      <pubDate>Fri, 11 Jun 2010 17:34:57 GMT</pubDate>
      <guid isPermaLink="false">f24f4a04-d5df-4071-90fb-39191e3ba06c:580</guid>
      <creator xmlns="http://purl.org/dc/elements/1.1/">Mimetis</creator>
      <comments xmlns="http://purl.org/rss/1.0/modules/slash/">0</comments>
      <wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://www.dotmim.com/blogs/mim/rsscomments.aspx?PostID=580</wfw:commentRss>
      <comments>http://www.dotmim.com/blogs/mim/archive/2010/06/11/fun-10-trucs-sur-moi.aspx#comments</comments>
      <description>&lt;p&gt;Ah ben c’est allé trés trés vite, &lt;a href="http://www.michelrousseau.com/"&gt;la balle de Mitch&lt;/a&gt; vient de passer par là :)&lt;/p&gt;  &lt;p&gt;Bon j’écris jamais de trucs perso sur ce blog, mais l’exception confirme la règle. C’est parti:&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;u&gt;10 trucs sur moi que vous connaissez peut être pas :&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;Mon nom s’écrit sans &lt;strong&gt;H&lt;/strong&gt; : On écrit &lt;strong&gt;PERTUS&lt;/strong&gt;, pas &lt;strong&gt;PERTHUS&lt;/strong&gt;. &lt;a href="http://fr.wikipedia.org/wiki/Le_Perthus"&gt;Le Col du Perthus&lt;/a&gt; est un village entre la Fance et l’Espagne.       &lt;br /&gt;Ce qui est marrant, c’est que beaucoup de gens se gourent sur mon nom en rajoutant un H, alors qu’ils ne connaissent pas le fameux Col du Perthus. Appelez ça l’inconscient collectif, va savoir … &lt;/li&gt;    &lt;li&gt;Je suis un vrai &lt;strong&gt;Geek&lt;/strong&gt;. un &lt;strong&gt;VRAI&lt;/strong&gt;. C’est à dire que j’aime les jeux vidéos, de chez Blizzard de préférence. Je fais même des LAN entre pote trentenaire, à l’occaze.       &lt;br /&gt;En plus je travaille dans l’informatique. Voilà le bon gros Geek !       &lt;br /&gt;Par contre, j’ai aussi une vie sociale, je me rase presque tous les matins, je ne me nourris pas exclusivement de pizza et de coca périmé…       &lt;br /&gt;J’ai pas la gueule pleine de boutons et j’ai quelques fois réussi à draguer de jolies filles. La dernière en date est encore avec moi (comme quoi …)       &lt;br /&gt;J’arrive à tenir une conversation aussi, même si c’est pas forcément relié à mon métier et ma passion.       &lt;br /&gt;Stop les stéréotypes à la con . Geek powaa &lt;/li&gt;    &lt;li&gt;Je suis né prématuré de 2mois. J’étais pressé faut dire. J’ai failli naitre en 1977. Mais 76 c’est mieux, c’est une meilleure année pour le pinard. Merci maman.&lt;/li&gt;    &lt;li&gt;J’ai été Cariste et Menuisier dans une ancienne vie. Je manipule (enfin manipulais) le FenWick thermique comme personne ! Et je montais une cuisine, des volets roulants ou des ouvrants double battant en un temps record. Aujourd’hui … euh passons :) &lt;/li&gt;    &lt;li&gt;Je fais de la baterrie et je suis nul comme une quiche mais je me soigne. &lt;/li&gt;    &lt;li&gt;J’écoute du &lt;strong&gt;JJ Goldman&lt;/strong&gt; et &lt;strong&gt;Rammstein&lt;/strong&gt;, en boucle. Je suis d’ailleurs allé au concert de chacun d’entre eux. Au final c’est assez proche (en tout cas, dans mon lecteur mp3 si :)) &lt;/li&gt;    &lt;li&gt;Ma grand mère maternelle a eu 18 enfants. Ce qui me fait environ 17 oncles et 17 tantes. Je vous parle pas des cousins cousines… Au final, la vie fait que j’en connais … deux. &lt;/li&gt;    &lt;li&gt;Mon grand père (le père des 18 là ) s’appelait &lt;strong&gt;Celestrano&lt;/strong&gt;. Je suis Italien d’origine. Le papy a été retrouvé devant la porte des bonne sœurs au début du 20eme siècle à Rome.       &lt;br /&gt;Celestrano veut dire “trouvé sous les étoiles”. La légende voudrait qu’il fut le fils illégitime d’une grande comtesse Italienne. Ca pète la classe, je sais. &lt;/li&gt;    &lt;li&gt;J’ai eu une Peugeot y’a longtemps… Et y’a encore plus longtemps, une Renault… Ok chambrage en règle Lundi au taf. &lt;/li&gt;    &lt;li&gt;J’ai été dans un lycée où j’étais le seul mec de ma classe. &lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;C’est bien la première année. Clairement… &lt;/li&gt;      &lt;li&gt;La deuxième année, ça passe, mais tu te traines déjà une réputation de l’année passée. &lt;/li&gt;      &lt;li&gt;La troisième année c’est mort, clairement… Par contre les filles font plus trop gaffe à toi, tu fais parti du truc quoi… Et là tu participes au discussion de filles, les vraies discussions, celles qu’elles n’ont pas en général avec un gars dans les parages….        &lt;br /&gt;Dure la 3ème année… très dure.. Instructive, clairement. &lt;/li&gt;   &lt;/ul&gt; &lt;/ol&gt;  &lt;p&gt;Allez c’est bon pour moi, je passe le &lt;a href="http://benoitlaut.net/"&gt;relais à mon pote Ben&lt;/a&gt;, notre Cht’i à nous :) &lt;/p&gt;&lt;img src="http://www.dotmim.com/aggbug.aspx?PostID=580" width="1" height="1"&gt;</description>
    </item>
    <item>
      <title>Entity Framework 4.0 et SQL Server CE</title>
      <description>&lt;p&gt;Je viens de faire le portage de UrzaGatherer depuis SQL Server 2008 R2 Express vers SQL Server CE 3.5 SP2.&lt;/p&gt;  &lt;p&gt;Plusieurs choses sont bonnes à savoir pour que ce genre de portage se passe bien:&lt;/p&gt;  &lt;p&gt;&lt;u&gt;Le provider SQL Server CE pour Entity Framework 4.0 ne supporte pas la génération automatique des clefs&lt;/u&gt; il faut donc se faire une petite requête pour les générer:&lt;/p&gt;  &lt;pre class="csharpcode"&gt;Card card = &lt;span class="kwrd"&gt;new&lt;/span&gt; Card();
card.ID = (from c &lt;span class="kwrd"&gt;in&lt;/span&gt; Tools.Entities.Cards select c.ID).Max() + 1;&lt;/pre&gt;
&lt;style type="text/css"&gt;



.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }&lt;/style&gt;

&lt;p&gt;&amp;#160;&lt;/p&gt;

&lt;p&gt;&lt;u&gt;Les requêtes LINQ avec des jointures sont très mal supportées&lt;/u&gt;. Par exemple, ce genre de requêtes est extrêmement lent:&lt;/p&gt;

&lt;pre class="csharpcode"&gt; var query = from card &lt;span class="kwrd"&gt;in&lt;/span&gt; Tools.Entities.Cards
     join blk &lt;span class="kwrd"&gt;in&lt;/span&gt; Tools.Entities.Blocks on card.Expansion.BlockID equals blk.ID
     &lt;span class="kwrd"&gt;where&lt;/span&gt; (expansionID == 0 || card.ExpansionID == expansionID) &amp;amp;&amp;amp; &lt;br /&gt;           (blockID == 0 || blk.ID == blockID)
     select card.Expansion.Name;
  expansionsCount = query.Distinct().Count();&lt;/pre&gt;
&lt;style type="text/css"&gt;



.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }&lt;/style&gt;

&lt;p&gt;La version suivante donne le même résultat mais avec un gain de performances de l’ordre de 20:&lt;/p&gt;

&lt;pre class="csharpcode"&gt;var query = from card &lt;span class="kwrd"&gt;in&lt;/span&gt; Tools.Entities.Cards                            
            &lt;span class="kwrd"&gt;where&lt;/span&gt; (expansionID == 0 || card.ExpansionID == expansionID) &lt;br /&gt;            &amp;amp;&amp;amp; (blockID == 0 || card.Expansion.BlockID == blockID)
            select card.ExpansionID;
expansionsCount = query.Distinct().Count();&lt;/pre&gt;

&lt;p&gt;Les comparaisons de chaines sont un peu hasardeuses. Par exemple le code suivant provoque un bug:&lt;/p&gt;

&lt;pre class="csharpcode"&gt; from card &lt;span class="kwrd"&gt;in&lt;/span&gt; expansion.Cards
 &lt;span class="kwrd"&gt;where&lt;/span&gt;
    (card.Color.Name == filterColor || filterColor == &lt;span class="str"&gt;&amp;quot; &amp;quot;&lt;/span&gt;)                     
 select card;&lt;/pre&gt;

&lt;p&gt;Le provider dans ce cas la se prend un peu les pieds dans le tapis et considère que la chaine filterColor doit faire une longueur de 1 (à cause du “ “). Il faut donc évaluer au préalable la valeur de test:&lt;/p&gt;

&lt;pre class="csharpcode"&gt; &lt;span class="kwrd"&gt;bool&lt;/span&gt; enableColorFilter = filterColor != &lt;span class="str"&gt;&amp;quot; &amp;quot;&lt;/span&gt;;

 &lt;span class="kwrd"&gt;return&lt;/span&gt; from card &lt;span class="kwrd"&gt;in&lt;/span&gt; expansion.Cards
            &lt;span class="kwrd"&gt;where&lt;/span&gt;
                   (card.Color.Name == filterColor || !enableColorFilter)
            select card;&lt;/pre&gt;

&lt;p&gt;Il faut aussi tenir compte du fait que le Skip() et le Take() ne sont pas gérés.&lt;/p&gt;

&lt;p&gt;Pour le reste, le provider s’en sort très bien et le résultat est excellent.&lt;style type="text/css"&gt;



.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }&lt;/style&gt;&lt;/p&gt;
&lt;div class="addthis_toolbox addthis_default_style"  style="padding-top:10px" &gt;
&lt;a style="padding-right:10px" href="http://www.addthis.com/bookmark.php?v=250&amp;username=4a00fc5d6a261f84&amp;url=http%3a%2f%2fwww.catuhe.com%2fpost%2fEntity-Framework-40-et-SQL-Server-CE.aspx&amp;title=Entity+Framework+4.0+et+SQL+Server+CE&amp;description="&gt;&lt;img src="http://s7.addthis.com/static/btn/v2/sm-bookmark-en.gif"  alt="Bookmark and Share" style="border:0"/&gt;&lt;/a&gt;
&lt;/div&gt;</description>
      <link>http://www.catuhe.com/post/Entity-Framework-40-et-SQL-Server-CE.aspx</link>
      <author>kosh</author>
      <comments>http://www.catuhe.com/post/Entity-Framework-40-et-SQL-Server-CE.aspx#comment</comments>
      <guid>http://www.catuhe.com/post.aspx?id=7ed31760-4363-47e4-beb4-0a48fef1eaeb</guid>
      <pubDate>Fri, 11 Jun 2010 10:29:35 +0300</pubDate>
      <category>.Net</category>
      <publisher xmlns="http://purl.org/dc/elements/1.1/">kosh</publisher>
      <server xmlns="http://madskills.com/public/xml/rss/module/pingback/">http://www.catuhe.com/pingback.axd</server>
      <target xmlns="http://madskills.com/public/xml/rss/module/pingback/">http://www.catuhe.com/post.aspx?id=7ed31760-4363-47e4-beb4-0a48fef1eaeb</target>
      <comments xmlns="http://purl.org/rss/1.0/modules/slash/">0</comments>
      <ping xmlns="http://madskills.com/public/xml/rss/module/trackback/">http://www.catuhe.com/trackback.axd?id=7ed31760-4363-47e4-beb4-0a48fef1eaeb</ping>
      <comment xmlns="http://wellformedweb.org/CommentAPI/">http://www.catuhe.com/post/Entity-Framework-40-et-SQL-Server-CE.aspx#comment</comment>
      <commentRss xmlns="http://wellformedweb.org/CommentAPI/">http://www.catuhe.com/syndication.axd?post=7ed31760-4363-47e4-beb4-0a48fef1eaeb</commentRss>
    </item>
    <item>
      <guid isPermaLink="false">35</guid>
      <link>http://feedproxy.google.com/~r/PaslatekBlog/~3/KbiMNWX6oxU/conference-sharepoint-2010-20100609-35.aspx</link>
      <author>lionel.limozin@bewise.fr</author>
      <title>Conference SharePoint 2010</title>
      <description>&lt;p&gt;La conférence “mondiale” SharePoint 2010 est déjà annoncée pour le 3 octobre 2011 ! Les inscriptions devraient êtres ouvertes à partir du printemps 2011… Pour plus d’infos : &lt;a title="http://www.mssharepointconference.com" href="http://www.mssharepointconference.com" target="_blank"&gt;http://www.mssharepointconference.com&lt;/a&gt;. Vous pouvez vous inscrire à la liste de diffusion mail “keep me notified” pour être avertis de l’ouverture de l’inscription, sinon vous pouvez aussi bien vous inscrire au &lt;a href="http://www.mssharepointconference.com/_layouts/listfeed.aspx?List=e6bc11a0%2Db4a9%2D4d6d%2D879c%2D96e1707bb11b&amp;amp;View=a052667f%2Df88b%2D49f8%2Db2f2%2D03debdf0aec1" target="_blank"&gt;flux RSS&lt;/a&gt;. Cette conférence semble le lieu ultime pour avoir un retour d’experiences des differents partenaires de Microsoft sur ce qu’ils auront fait avec la plateforme SharePoint 2010. Est-ce que Bewise y sera, je l’espère…&lt;/p&gt;</description>
      <pubDate>Wed, 09 Jun 2010 08:42:20 +0200</pubDate>
      <updated xmlns="http://www.w3.org/2005/Atom">2010-06-09T08:42:20+02:00</updated>
      <origLink xmlns="http://rssnamespace.org/feedburner/ext/1.0">http://www.paslatek.net/conference-sharepoint-2010-20100609-35.aspx</origLink>
    </item>
    <item>
      <guid isPermaLink="false">tag:blogger.com,1999:blog-5619051591853320584.post-5532596519218780723</guid>
      <pubDate>Mon, 07 Jun 2010 10:34:00 +0000</pubDate>
      <updated xmlns="http://www.w3.org/2005/Atom">2010-06-07T12:39:11.033+02:00</updated>
      <category domain="http://www.blogger.com/atom/ns#">MVC</category>
      <title>ASP.NET MVC : Actions avec des listes en paramètres</title>
      <description>&lt;p&gt;Y’a rien à faire, j’arrive pas à m’y habituer… Je suis à chaque fois épaté de voir avec quelle facilité MVC gère les paramètres dans les contrôleurs. Après &lt;a href="http://blog.adhess.net/2010/01/upload-de-fichiers-avec-aspnet-mvc.html"&gt;l’envoi de fichiers&lt;/a&gt;, je me suis demandé comment cette fois récupérer une liste dans mon modèle.&lt;/p&gt;  &lt;p&gt;La première pensée que j’ai eue était “non, ça doit pas être possible”. La seconde “non, voyons, ou alors les mecs qui ont fait MVC c’est des Dieux”. Puis à la 3ème, qui était “il me semble qu’en PHP on peut, si en MVC on peut pas c’est la honte quand même”, je me suis décidé à effectuer quelques tests. Et je n’ai pas été déçu, puisqu’effectivement, c’est tout à fait possible de binder directement les paramètres à une liste.&lt;/p&gt;  &lt;p&gt;Pour cela, c’est très simple : on définit notre action avec un paramètre de type liste (ou un tableau, ça marche aussi)&lt;/p&gt;  &lt;div style="border-bottom: #000000 1px solid; border-left: #000000 1px solid; margin-left: 10pt; border-top: #000000 1px solid; margin-right: 2pt; border-right: #000000 1px solid"&gt;   &lt;div style="background-color: #dcdcdc; white-space: nowrap; overflow: scroll"&gt;&lt;font face=" Consolas"&gt;&lt;font size="1"&gt;&lt;/font&gt;&lt;font color="#0000ff"&gt;public&lt;/font&gt;&lt;font color="#000000"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#2b91af"&gt;ActionResult&lt;/font&gt;&lt;font color="#000000"&gt; ActionQuiVeutUneListe(&lt;/font&gt;&lt;font color="#2b91af"&gt;List&lt;/font&gt;&lt;font color="#000000"&gt;&amp;lt;&lt;/font&gt;&lt;font color="#2b91af"&gt;String&lt;/font&gt;&lt;font color="#000000"&gt;&amp;gt; laListe)         &lt;br /&gt;&lt;/font&gt;&lt;/font&gt;&lt;/div&gt; &lt;/div&gt;  &lt;p&gt;et on peut appeler la page en lui passant plusieurs paramètres du même nom ; chacun des paramètres sera un des élément de la liste.    &lt;br /&gt;L’URL sera du type: &lt;font color="#400000"&gt;/Home/ActionQuiVeutUneListe?laListe=elmt1&amp;amp;laListe=elmt2&amp;amp;laListe=elmt3&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;En plus de ça, on a aussi la possibilité d’ordonner les éléments de la liste en mettant leur position entre crochets. La numérotation doit se faire de 0 au nombre d’éléments, s’il y a un trou dans le compte les éléments suivants ne seront pas pris.&lt;/p&gt;  &lt;p&gt;&lt;font color="#400000"&gt;/Home/ActionQuiVeutUneListe?laListe[2]=elmtC&amp;amp;laListe[0]=elmtA&amp;amp;laListe[1]=elmtB&lt;/font&gt;     &lt;br /&gt;En tapant cette URL, on aura les éléments dans l’ordre : “elmtA”, “elmtB”, “elmtC”.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_1fIQLbpqRAw/TAzMSji8xBI/AAAAAAAAByo/fS7p9jYiBtA/s1600-h/image%5B4%5D.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://lh3.ggpht.com/_1fIQLbpqRAw/TAzMTWqRKdI/AAAAAAAABys/VIpduzDV2gc/image_thumb%5B2%5D.png?imgmax=800" width="685" height="198" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Maintenant, il ne vous reste plus qu’à faire vos liens vers cette page. Pour cela, comme d’habitude, deux façons de faire :&lt;/p&gt;  &lt;p&gt;Si vous êtes dans un formulaire, pas de soucis, il suffit de faire plusieurs input avec le même nom (ou en mettant l’index entre crochets dans les noms).    &lt;br /&gt;Par contre, si vous voulez faire un simple lien, vous ne pourrez pas utiliser les Html Helper, il vous faudra construire le lien à la main ou bien faire votre propre Helper (à moins que j’aie mal regardé leur fonctionnement, si quelqu’un a des infos je suis à votre écoute)&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5619051591853320584-5532596519218780723?l=blog.adhess.net' alt='' /&gt;&lt;/div&gt;</description>
      <link>http://blog.adhess.net/2010/06/aspnet-mvc-actions-avec-des-listes-en.html</link>
      <author>noreply@blogger.com (Guillaume Lacasa)</author>
      <total xmlns="http://purl.org/syndication/thread/1.0">0</total>
    </item>
    <item>
      <title>Le truc à la con du jour : Lancement de plusieurs fenêtres en série dans WPF</title>
      <description>&lt;p&gt;Un truc bien débile qui m’est arrivé aujourd’hui. Au sein d’une application WPF qui poutre (&lt;a href="http://urzagatherer.codeplex.com"&gt;http://urzagatherer.codeplex.com&lt;/a&gt;), je voulais, lors du lancement ouvrir une première fenêtre avant la fenêtre principale.&lt;/p&gt;  &lt;p&gt;Le code ressemble donc à ça dans le constructeur de mon App:&lt;/p&gt;  &lt;pre class="csharpcode"&gt;            InstallDatabaseWindow databaseWindow = &lt;span class="kwrd"&gt;new&lt;/span&gt; InstallDatabaseWindow();
            databaseWindow.ShowDialog();

            MainWindow mainWindow = &lt;span class="kwrd"&gt;new&lt;/span&gt; MainWindow();
            mainWindow.Show();&lt;/pre&gt;

&lt;p&gt;Rien de bien formidable me direz-vous? Et bien si vous faites un test, vous verrez que le Show sur votre mainWindow.Show() plantera généreusement avec le message suivant:&lt;/p&gt;

&lt;p&gt;“Cannot set Visibility or call Show, ShowDialog, or WindowInteropHelper.EnsureHandle after a Window has closed.”&lt;/p&gt;

&lt;p&gt;Bon, au premier abord, je me suis dit que j’ai du merdé dans mon constructeur. &lt;/p&gt;

&lt;p&gt;En fait, pas du tout (je me disais aussi que ce n’était pas possible) l’explication est plus sioux : Par défaut, une application WPF possède une propriété ShutdownMode qui est par défaut réglée sur OnLastWindowClose. En gros dès qu’il n’y a plus de fenêtres en vie, l’application va se fermer gentillement.&lt;/p&gt;

&lt;p&gt;De ce fait, dans le cas du lancement de plusieurs fenêtre en série, dès que la première se ferme, l’application vérifie sa propriété ShutdownMode et se retrouve à se fermer puisque la fenêtre suivante n’a pas encore été instanciée! Ce qui fait que lorsque l’on va faire le Show() suivant, comme l’application est en cours de fermeture, la fenêtre va recevoir un Close et donc ne pourra pas s’ouvrir puisqu’elle a déjà été fermée :)&lt;/p&gt;

&lt;p&gt;Deux solutions:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Instancier ses fenêtres toutes en simultanée avant de faire apparaitre la première&lt;/li&gt;

  &lt;li&gt;Mettre l’application sur le mode ShutdownMode.OnExplicitShutdown et s’abonner à l’événement Closed de la dernière fenêtre pour appeler la méthode Shutdown() sur l’application&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&amp;#160;&lt;/p&gt;

&lt;p&gt;Et le tour est joué…&lt;style type="text/css"&gt;
.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }&lt;/style&gt;&lt;/p&gt;
&lt;div class="addthis_toolbox addthis_default_style"  style="padding-top:10px" &gt;
&lt;a style="padding-right:10px" href="http://www.addthis.com/bookmark.php?v=250&amp;username=4a00fc5d6a261f84&amp;url=http%3a%2f%2fwww.catuhe.com%2fpost%2fLe-truc-a-la-con-du-jour-Lancement-de-plusieurs-fenetres-en-serie-dans-WPF.aspx&amp;title=Le+truc+%c3%a0+la+con+du+jour+%3a+Lancement+de+plusieurs+fen%c3%aatres+en+s%c3%a9rie+dans+WPF&amp;description="&gt;&lt;img src="http://s7.addthis.com/static/btn/v2/sm-bookmark-en.gif"  alt="Bookmark and Share" style="border:0"/&gt;&lt;/a&gt;
&lt;/div&gt;</description>
      <link>http://www.catuhe.com/post/Le-truc-a-la-con-du-jour-Lancement-de-plusieurs-fenetres-en-serie-dans-WPF.aspx</link>
      <author>kosh</author>
      <comments>http://www.catuhe.com/post/Le-truc-a-la-con-du-jour-Lancement-de-plusieurs-fenetres-en-serie-dans-WPF.aspx#comment</comments>
      <guid>http://www.catuhe.com/post.aspx?id=8a5b8293-41c5-490f-bfa7-15eccc7f6a50</guid>
      <pubDate>Fri, 04 Jun 2010 19:54:27 +0300</pubDate>
      <category>.Net</category>
      <category>WPF</category>
      <publisher xmlns="http://purl.org/dc/elements/1.1/">kosh</publisher>
      <server xmlns="http://madskills.com/public/xml/rss/module/pingback/">http://www.catuhe.com/pingback.axd</server>
      <target xmlns="http://madskills.com/public/xml/rss/module/pingback/">http://www.catuhe.com/post.aspx?id=8a5b8293-41c5-490f-bfa7-15eccc7f6a50</target>
      <comments xmlns="http://purl.org/rss/1.0/modules/slash/">0</comments>
      <ping xmlns="http://madskills.com/public/xml/rss/module/trackback/">http://www.catuhe.com/trackback.axd?id=8a5b8293-41c5-490f-bfa7-15eccc7f6a50</ping>
      <comment xmlns="http://wellformedweb.org/CommentAPI/">http://www.catuhe.com/post/Le-truc-a-la-con-du-jour-Lancement-de-plusieurs-fenetres-en-serie-dans-WPF.aspx#comment</comment>
      <commentRss xmlns="http://wellformedweb.org/CommentAPI/">http://www.catuhe.com/syndication.axd?post=8a5b8293-41c5-490f-bfa7-15eccc7f6a50</commentRss>
    </item>
    <item>
      <title>SQL XML : Index, Schema, Performances</title>
      <link>http://www.dotmim.com/blogs/mim/archive/2010/06/03/sql-xml-index-schema-performances.aspx</link>
      <pubDate>Thu, 03 Jun 2010 13:27:00 GMT</pubDate>
      <guid isPermaLink="false">f24f4a04-d5df-4071-90fb-39191e3ba06c:579</guid>
      <creator xmlns="http://purl.org/dc/elements/1.1/">Mimetis</creator>
      <comments xmlns="http://purl.org/rss/1.0/modules/slash/">0</comments>
      <wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://www.dotmim.com/blogs/mim/rsscomments.aspx?PostID=579</wfw:commentRss>
      <comments>http://www.dotmim.com/blogs/mim/archive/2010/06/03/sql-xml-index-schema-performances.aspx#comments</comments>
      <description>&lt;p&gt;Je viens de faire un petit test sur les colonnes XML&lt;/p&gt;
&lt;p&gt;On se doute tous que l’ajout d’index sur une colonne XML peut améliorer les performances, pour peu que bien sur vous ayez besoin de requêter la colonne XML elle même que ce soit via un PATH ou une VALUE (Xquery power)&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Si ce n’est pas le cas, un bon vieux VarChar(max) est bien plus performant. N’oubliez pas qu’une colonne xml est en fait une bonne vielle table stockée dans une table système de votre base :)&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Deuxième chose, la performance d’une colonne XML soumise à un schéma de validation XSD. &lt;br /&gt;ON sait qu’un schéma va permettre de valider les données contenu dans notre champ XML. Déjà rien que ça justifie pleinement le fait de mettre une colonne XML Validée par un schéma XSD&lt;/p&gt;
&lt;p&gt;Pour notre test, j’ai créé un schéma XSD, qui me permettra de valider ma colonne XML :&lt;/p&gt;&lt;pre style="BORDER-BOTTOM:#cecece 1px solid;BORDER-LEFT:#cecece 1px solid;PADDING-BOTTOM:5px;BACKGROUND-COLOR:#fbfbfb;MIN-HEIGHT:40px;PADDING-LEFT:5px;WIDTH:501px;PADDING-RIGHT:5px;HEIGHT:223px;OVERFLOW:auto;BORDER-TOP:#cecece 1px solid;BORDER-RIGHT:#cecece 1px solid;PADDING-TOP:5px;"&gt;&lt;pre style="BACKGROUND-COLOR:#fbfbfb;MARGIN:0em;WIDTH:100%;FONT-FAMILY:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;FONT-SIZE:12px;"&gt;-- Création du schéma
&lt;/pre&gt;&lt;pre style="BACKGROUND-COLOR:#ffffff;MARGIN:0em;WIDTH:100%;FONT-FAMILY:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;FONT-SIZE:12px;"&gt;CREATE XML SCHEMA COLLECTION AdditionalInfos AS &amp;#39;&lt;span style="COLOR:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR:#c71585;"&gt;xs&lt;/span&gt;:&lt;span style="COLOR:#800000;"&gt;schema&lt;/span&gt; &lt;span style="COLOR:#ff0000;"&gt;xmlns&lt;/span&gt;:&lt;span style="COLOR:#ff0000;"&gt;xs&lt;/span&gt;=&lt;span style="COLOR:#0000ff;"&gt;&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&lt;/span&gt;&lt;span style="COLOR:#0000ff;"&gt;&amp;gt;&lt;/span&gt;
&lt;/pre&gt;&lt;pre style="BACKGROUND-COLOR:#ffffff;MARGIN:0em;WIDTH:100%;FONT-FAMILY:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;FONT-SIZE:12px;"&gt;  &lt;span style="COLOR:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR:#c71585;"&gt;xs&lt;/span&gt;:&lt;span style="COLOR:#800000;"&gt;simpleType&lt;/span&gt; &lt;span style="COLOR:#ff0000;"&gt;name&lt;/span&gt;=&lt;span style="COLOR:#0000ff;"&gt;&amp;quot;addressType&amp;quot;&lt;/span&gt;&lt;span style="COLOR:#0000ff;"&gt;&amp;gt;&lt;/span&gt;
&lt;/pre&gt;&lt;pre style="BACKGROUND-COLOR:#fbfbfb;MARGIN:0em;WIDTH:100%;FONT-FAMILY:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;FONT-SIZE:12px;"&gt;    &lt;span style="COLOR:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR:#c71585;"&gt;xs&lt;/span&gt;:&lt;span style="COLOR:#800000;"&gt;restriction&lt;/span&gt; &lt;span style="COLOR:#ff0000;"&gt;base&lt;/span&gt;=&lt;span style="COLOR:#0000ff;"&gt;&amp;quot;xs:string&amp;quot;&lt;/span&gt;&lt;span style="COLOR:#0000ff;"&gt;&amp;gt;&lt;/span&gt;
&lt;/pre&gt;&lt;pre style="BACKGROUND-COLOR:#ffffff;MARGIN:0em;WIDTH:100%;FONT-FAMILY:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;FONT-SIZE:12px;"&gt;      &lt;span style="COLOR:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR:#c71585;"&gt;xs&lt;/span&gt;:&lt;span style="COLOR:#800000;"&gt;enumeration&lt;/span&gt; &lt;span style="COLOR:#ff0000;"&gt;value&lt;/span&gt;=&lt;span style="COLOR:#0000ff;"&gt;&amp;quot;Home&amp;quot;&lt;/span&gt; &lt;span style="COLOR:#0000ff;"&gt;/&amp;gt;&lt;/span&gt;
&lt;/pre&gt;&lt;pre style="BACKGROUND-COLOR:#fbfbfb;MARGIN:0em;WIDTH:100%;FONT-FAMILY:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;FONT-SIZE:12px;"&gt;      &lt;span style="COLOR:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR:#c71585;"&gt;xs&lt;/span&gt;:&lt;span style="COLOR:#800000;"&gt;enumeration&lt;/span&gt; &lt;span style="COLOR:#ff0000;"&gt;value&lt;/span&gt;=&lt;span style="COLOR:#0000ff;"&gt;&amp;quot;Office&amp;quot;&lt;/span&gt; &lt;span style="COLOR:#0000ff;"&gt;/&amp;gt;&lt;/span&gt;
&lt;/pre&gt;&lt;pre style="BACKGROUND-COLOR:#ffffff;MARGIN:0em;WIDTH:100%;FONT-FAMILY:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;FONT-SIZE:12px;"&gt;      &lt;span style="COLOR:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR:#c71585;"&gt;xs&lt;/span&gt;:&lt;span style="COLOR:#800000;"&gt;enumeration&lt;/span&gt; &lt;span style="COLOR:#ff0000;"&gt;value&lt;/span&gt;=&lt;span style="COLOR:#0000ff;"&gt;&amp;quot;Travel&amp;quot;&lt;/span&gt; &lt;span style="COLOR:#0000ff;"&gt;/&amp;gt;&lt;/span&gt;
&lt;/pre&gt;&lt;pre style="BACKGROUND-COLOR:#fbfbfb;MARGIN:0em;WIDTH:100%;FONT-FAMILY:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;FONT-SIZE:12px;"&gt;      &lt;span style="COLOR:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR:#c71585;"&gt;xs&lt;/span&gt;:&lt;span style="COLOR:#800000;"&gt;enumeration&lt;/span&gt; &lt;span style="COLOR:#ff0000;"&gt;value&lt;/span&gt;=&lt;span style="COLOR:#0000ff;"&gt;&amp;quot;Undefined&amp;quot;&lt;/span&gt; &lt;span style="COLOR:#0000ff;"&gt;/&amp;gt;&lt;/span&gt;
&lt;/pre&gt;&lt;pre style="BACKGROUND-COLOR:#ffffff;MARGIN:0em;WIDTH:100%;FONT-FAMILY:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;FONT-SIZE:12px;"&gt;    &lt;span style="COLOR:#0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="COLOR:#c71585;"&gt;xs&lt;/span&gt;:&lt;span style="COLOR:#800000;"&gt;restriction&lt;/span&gt;&lt;span style="COLOR:#0000ff;"&gt;&amp;gt;&lt;/span&gt;
&lt;/pre&gt;&lt;pre style="BACKGROUND-COLOR:#fbfbfb;MARGIN:0em;WIDTH:100%;FONT-FAMILY:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;FONT-SIZE:12px;"&gt;  &lt;span style="COLOR:#0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="COLOR:#c71585;"&gt;xs&lt;/span&gt;:&lt;span style="COLOR:#800000;"&gt;simpleType&lt;/span&gt;&lt;span style="COLOR:#0000ff;"&gt;&amp;gt;&lt;/span&gt;
&lt;/pre&gt;&lt;pre style="BACKGROUND-COLOR:#ffffff;MARGIN:0em;WIDTH:100%;FONT-FAMILY:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;FONT-SIZE:12px;"&gt;&lt;/pre&gt;&lt;pre style="BACKGROUND-COLOR:#fbfbfb;MARGIN:0em;WIDTH:100%;FONT-FAMILY:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;FONT-SIZE:12px;"&gt;&lt;/pre&gt;&lt;pre style="BACKGROUND-COLOR:#ffffff;MARGIN:0em;WIDTH:100%;FONT-FAMILY:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;FONT-SIZE:12px;"&gt;  &lt;span style="COLOR:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR:#c71585;"&gt;xs&lt;/span&gt;:&lt;span style="COLOR:#800000;"&gt;element&lt;/span&gt; &lt;span style="COLOR:#ff0000;"&gt;name&lt;/span&gt;=&lt;span style="COLOR:#0000ff;"&gt;&amp;quot;additionalOrder&amp;quot;&lt;/span&gt;&lt;span style="COLOR:#0000ff;"&gt;&amp;gt;&lt;/span&gt;
&lt;/pre&gt;&lt;pre style="BACKGROUND-COLOR:#fbfbfb;MARGIN:0em;WIDTH:100%;FONT-FAMILY:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;FONT-SIZE:12px;"&gt;    &lt;span style="COLOR:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR:#c71585;"&gt;xs&lt;/span&gt;:&lt;span style="COLOR:#800000;"&gt;complexType&lt;/span&gt;&lt;span style="COLOR:#0000ff;"&gt;&amp;gt;&lt;/span&gt;
&lt;/pre&gt;&lt;pre style="BACKGROUND-COLOR:#ffffff;MARGIN:0em;WIDTH:100%;FONT-FAMILY:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;FONT-SIZE:12px;"&gt;      &lt;span style="COLOR:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR:#c71585;"&gt;xs&lt;/span&gt;:&lt;span style="COLOR:#800000;"&gt;sequence&lt;/span&gt;&lt;span style="COLOR:#0000ff;"&gt;&amp;gt;&lt;/span&gt;
&lt;/pre&gt;&lt;pre style="BACKGROUND-COLOR:#fbfbfb;MARGIN:0em;WIDTH:100%;FONT-FAMILY:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;FONT-SIZE:12px;"&gt;        &lt;span style="COLOR:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR:#c71585;"&gt;xs&lt;/span&gt;:&lt;span style="COLOR:#800000;"&gt;element&lt;/span&gt; &lt;span style="COLOR:#ff0000;"&gt;name&lt;/span&gt;=&lt;span style="COLOR:#0000ff;"&gt;&amp;quot;orderDate&amp;quot;&lt;/span&gt; &lt;span style="COLOR:#ff0000;"&gt;type&lt;/span&gt;=&lt;span style="COLOR:#0000ff;"&gt;&amp;quot;xs:dateTime&amp;quot;&lt;/span&gt;&lt;span style="COLOR:#0000ff;"&gt;/&amp;gt;&lt;/span&gt;
&lt;/pre&gt;&lt;pre style="BACKGROUND-COLOR:#ffffff;MARGIN:0em;WIDTH:100%;FONT-FAMILY:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;FONT-SIZE:12px;"&gt;        
&lt;/pre&gt;&lt;pre style="BACKGROUND-COLOR:#fbfbfb;MARGIN:0em;WIDTH:100%;FONT-FAMILY:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;FONT-SIZE:12px;"&gt;        &lt;span style="COLOR:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR:#c71585;"&gt;xs&lt;/span&gt;:&lt;span style="COLOR:#800000;"&gt;element&lt;/span&gt; &lt;span style="COLOR:#ff0000;"&gt;name&lt;/span&gt;=&lt;span style="COLOR:#0000ff;"&gt;&amp;quot;additionalAddress&amp;quot;&lt;/span&gt;  &lt;span style="COLOR:#ff0000;"&gt;maxOccurs&lt;/span&gt;=&lt;span style="COLOR:#0000ff;"&gt;&amp;quot;unbounded&amp;quot;&lt;/span&gt;&lt;span style="COLOR:#0000ff;"&gt;&amp;gt;&lt;/span&gt;
&lt;/pre&gt;&lt;pre style="BACKGROUND-COLOR:#ffffff;MARGIN:0em;WIDTH:100%;FONT-FAMILY:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;FONT-SIZE:12px;"&gt;          &lt;span style="COLOR:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR:#c71585;"&gt;xs&lt;/span&gt;:&lt;span style="COLOR:#800000;"&gt;complexType&lt;/span&gt;&lt;span style="COLOR:#0000ff;"&gt;&amp;gt;&lt;/span&gt;
&lt;/pre&gt;&lt;pre style="BACKGROUND-COLOR:#fbfbfb;MARGIN:0em;WIDTH:100%;FONT-FAMILY:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;FONT-SIZE:12px;"&gt;            &lt;span style="COLOR:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR:#c71585;"&gt;xs&lt;/span&gt;:&lt;span style="COLOR:#800000;"&gt;sequence&lt;/span&gt;&lt;span style="COLOR:#0000ff;"&gt;&amp;gt;&lt;/span&gt;
&lt;/pre&gt;&lt;pre style="BACKGROUND-COLOR:#ffffff;MARGIN:0em;WIDTH:100%;FONT-FAMILY:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;FONT-SIZE:12px;"&gt;              &lt;span style="COLOR:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR:#c71585;"&gt;xs&lt;/span&gt;:&lt;span style="COLOR:#800000;"&gt;element&lt;/span&gt; &lt;span style="COLOR:#ff0000;"&gt;name&lt;/span&gt;=&lt;span style="COLOR:#0000ff;"&gt;&amp;quot;name&amp;quot;&lt;/span&gt; &lt;span style="COLOR:#ff0000;"&gt;type&lt;/span&gt;=&lt;span style="COLOR:#0000ff;"&gt;&amp;quot;xs:string&amp;quot;&lt;/span&gt;&lt;span style="COLOR:#0000ff;"&gt;/&amp;gt;&lt;/span&gt;
&lt;/pre&gt;&lt;pre style="BACKGROUND-COLOR:#fbfbfb;MARGIN:0em;WIDTH:100%;FONT-FAMILY:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;FONT-SIZE:12px;"&gt;              &lt;span style="COLOR:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR:#c71585;"&gt;xs&lt;/span&gt;:&lt;span style="COLOR:#800000;"&gt;element&lt;/span&gt; &lt;span style="COLOR:#ff0000;"&gt;name&lt;/span&gt;=&lt;span style="COLOR:#0000ff;"&gt;&amp;quot;address&amp;quot;&lt;/span&gt; &lt;span style="COLOR:#ff0000;"&gt;type&lt;/span&gt;=&lt;span style="COLOR:#0000ff;"&gt;&amp;quot;xs:string&amp;quot;&lt;/span&gt;&lt;span style="COLOR:#0000ff;"&gt;/&amp;gt;&lt;/span&gt;
&lt;/pre&gt;&lt;pre style="BACKGROUND-COLOR:#ffffff;MARGIN:0em;WIDTH:100%;FONT-FAMILY:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;FONT-SIZE:12px;"&gt;              &lt;span style="COLOR:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR:#c71585;"&gt;xs&lt;/span&gt;:&lt;span style="COLOR:#800000;"&gt;element&lt;/span&gt; &lt;span style="COLOR:#ff0000;"&gt;name&lt;/span&gt;=&lt;span style="COLOR:#0000ff;"&gt;&amp;quot;city&amp;quot;&lt;/span&gt; &lt;span style="COLOR:#ff0000;"&gt;type&lt;/span&gt;=&lt;span style="COLOR:#0000ff;"&gt;&amp;quot;xs:string&amp;quot;&lt;/span&gt;&lt;span style="COLOR:#0000ff;"&gt;/&amp;gt;&lt;/span&gt;
&lt;/pre&gt;&lt;pre style="BACKGROUND-COLOR:#fbfbfb;MARGIN:0em;WIDTH:100%;FONT-FAMILY:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;FONT-SIZE:12px;"&gt;              &lt;span style="COLOR:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR:#c71585;"&gt;xs&lt;/span&gt;:&lt;span style="COLOR:#800000;"&gt;element&lt;/span&gt; &lt;span style="COLOR:#ff0000;"&gt;name&lt;/span&gt;=&lt;span style="COLOR:#0000ff;"&gt;&amp;quot;country&amp;quot;&lt;/span&gt; &lt;span style="COLOR:#ff0000;"&gt;type&lt;/span&gt;=&lt;span style="COLOR:#0000ff;"&gt;&amp;quot;xs:string&amp;quot;&lt;/span&gt;&lt;span style="COLOR:#0000ff;"&gt;/&amp;gt;&lt;/span&gt;
&lt;/pre&gt;&lt;pre style="BACKGROUND-COLOR:#ffffff;MARGIN:0em;WIDTH:100%;FONT-FAMILY:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;FONT-SIZE:12px;"&gt;            &lt;span style="COLOR:#0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="COLOR:#c71585;"&gt;xs&lt;/span&gt;:&lt;span style="COLOR:#800000;"&gt;sequence&lt;/span&gt;&lt;span style="COLOR:#0000ff;"&gt;&amp;gt;&lt;/span&gt;
&lt;/pre&gt;&lt;pre style="BACKGROUND-COLOR:#fbfbfb;MARGIN:0em;WIDTH:100%;FONT-FAMILY:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;FONT-SIZE:12px;"&gt;            &lt;span style="COLOR:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR:#c71585;"&gt;xs&lt;/span&gt;:&lt;span style="COLOR:#800000;"&gt;attribute&lt;/span&gt; &lt;span style="COLOR:#ff0000;"&gt;name&lt;/span&gt;=&lt;span style="COLOR:#0000ff;"&gt;&amp;quot;name&amp;quot;&lt;/span&gt; &lt;span style="COLOR:#ff0000;"&gt;type&lt;/span&gt;=&lt;span style="COLOR:#0000ff;"&gt;&amp;quot;xs:string&amp;quot;&lt;/span&gt; &lt;span style="COLOR:#ff0000;"&gt;use&lt;/span&gt;=&lt;span style="COLOR:#0000ff;"&gt;&amp;quot;required&amp;quot;&lt;/span&gt;&lt;span style="COLOR:#0000ff;"&gt;/&amp;gt;&lt;/span&gt;
&lt;/pre&gt;&lt;pre style="BACKGROUND-COLOR:#ffffff;MARGIN:0em;WIDTH:100%;FONT-FAMILY:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;FONT-SIZE:12px;"&gt;            &lt;span style="COLOR:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR:#c71585;"&gt;xs&lt;/span&gt;:&lt;span style="COLOR:#800000;"&gt;attribute&lt;/span&gt; &lt;span style="COLOR:#ff0000;"&gt;name&lt;/span&gt;=&lt;span style="COLOR:#0000ff;"&gt;&amp;quot;type&amp;quot;&lt;/span&gt; &lt;span style="COLOR:#ff0000;"&gt;type&lt;/span&gt;=&lt;span style="COLOR:#0000ff;"&gt;&amp;quot;addressType&amp;quot;&lt;/span&gt; &lt;span style="COLOR:#ff0000;"&gt;use&lt;/span&gt;=&lt;span style="COLOR:#0000ff;"&gt;&amp;quot;required&amp;quot;&lt;/span&gt;&lt;span style="COLOR:#0000ff;"&gt;/&amp;gt;&lt;/span&gt;
&lt;/pre&gt;&lt;pre style="BACKGROUND-COLOR:#fbfbfb;MARGIN:0em;WIDTH:100%;FONT-FAMILY:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;FONT-SIZE:12px;"&gt;          &lt;span style="COLOR:#0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="COLOR:#c71585;"&gt;xs&lt;/span&gt;:&lt;span style="COLOR:#800000;"&gt;complexType&lt;/span&gt;&lt;span style="COLOR:#0000ff;"&gt;&amp;gt;&lt;/span&gt;
&lt;/pre&gt;&lt;pre style="BACKGROUND-COLOR:#ffffff;MARGIN:0em;WIDTH:100%;FONT-FAMILY:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;FONT-SIZE:12px;"&gt;        &lt;span style="COLOR:#0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="COLOR:#c71585;"&gt;xs&lt;/span&gt;:&lt;span style="COLOR:#800000;"&gt;element&lt;/span&gt;&lt;span style="COLOR:#0000ff;"&gt;&amp;gt;&lt;/span&gt;
&lt;/pre&gt;&lt;pre style="BACKGROUND-COLOR:#fbfbfb;MARGIN:0em;WIDTH:100%;FONT-FAMILY:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;FONT-SIZE:12px;"&gt;&lt;/pre&gt;&lt;pre style="BACKGROUND-COLOR:#ffffff;MARGIN:0em;WIDTH:100%;FONT-FAMILY:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;FONT-SIZE:12px;"&gt;        &lt;span style="COLOR:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR:#c71585;"&gt;xs&lt;/span&gt;:&lt;span style="COLOR:#800000;"&gt;element&lt;/span&gt; &lt;span style="COLOR:#ff0000;"&gt;name&lt;/span&gt;=&lt;span style="COLOR:#0000ff;"&gt;&amp;quot;complementOrder&amp;quot;&lt;/span&gt; &lt;span style="COLOR:#ff0000;"&gt;maxOccurs&lt;/span&gt;=&lt;span style="COLOR:#0000ff;"&gt;&amp;quot;unbounded&amp;quot;&lt;/span&gt;&lt;span style="COLOR:#0000ff;"&gt;&amp;gt;&lt;/span&gt;
&lt;/pre&gt;&lt;pre style="BACKGROUND-COLOR:#fbfbfb;MARGIN:0em;WIDTH:100%;FONT-FAMILY:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;FONT-SIZE:12px;"&gt;          &lt;span style="COLOR:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR:#c71585;"&gt;xs&lt;/span&gt;:&lt;span style="COLOR:#800000;"&gt;complexType&lt;/span&gt;&lt;span style="COLOR:#0000ff;"&gt;&amp;gt;&lt;/span&gt;
&lt;/pre&gt;&lt;pre style="BACKGROUND-COLOR:#ffffff;MARGIN:0em;WIDTH:100%;FONT-FAMILY:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;FONT-SIZE:12px;"&gt;            &lt;span style="COLOR:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR:#c71585;"&gt;xs&lt;/span&gt;:&lt;span style="COLOR:#800000;"&gt;sequence&lt;/span&gt;&lt;span style="COLOR:#0000ff;"&gt;&amp;gt;&lt;/span&gt;
&lt;/pre&gt;&lt;pre style="BACKGROUND-COLOR:#fbfbfb;MARGIN:0em;WIDTH:100%;FONT-FAMILY:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;FONT-SIZE:12px;"&gt;              &lt;span style="COLOR:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR:#c71585;"&gt;xs&lt;/span&gt;:&lt;span style="COLOR:#800000;"&gt;element&lt;/span&gt; &lt;span style="COLOR:#ff0000;"&gt;name&lt;/span&gt;=&lt;span style="COLOR:#0000ff;"&gt;&amp;quot;name&amp;quot;&lt;/span&gt; &lt;span style="COLOR:#ff0000;"&gt;type&lt;/span&gt;=&lt;span style="COLOR:#0000ff;"&gt;&amp;quot;xs:string&amp;quot;&lt;/span&gt; &lt;span style="COLOR:#0000ff;"&gt;/&amp;gt;&lt;/span&gt;
&lt;/pre&gt;&lt;pre style="BACKGROUND-COLOR:#ffffff;MARGIN:0em;WIDTH:100%;FONT-FAMILY:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;FONT-SIZE:12px;"&gt;              &lt;span style="COLOR:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR:#c71585;"&gt;xs&lt;/span&gt;:&lt;span style="COLOR:#800000;"&gt;element&lt;/span&gt; &lt;span style="COLOR:#ff0000;"&gt;name&lt;/span&gt;=&lt;span style="COLOR:#0000ff;"&gt;&amp;quot;quantity&amp;quot;&lt;/span&gt; &lt;span style="COLOR:#ff0000;"&gt;type&lt;/span&gt;=&lt;span style="COLOR:#0000ff;"&gt;&amp;quot;xs:positiveInteger&amp;quot;&lt;/span&gt; &lt;span style="COLOR:#0000ff;"&gt;/&amp;gt;&lt;/span&gt;
&lt;/pre&gt;&lt;pre style="BACKGROUND-COLOR:#fbfbfb;MARGIN:0em;WIDTH:100%;FONT-FAMILY:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;FONT-SIZE:12px;"&gt;              &lt;span style="COLOR:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR:#c71585;"&gt;xs&lt;/span&gt;:&lt;span style="COLOR:#800000;"&gt;element&lt;/span&gt; &lt;span style="COLOR:#ff0000;"&gt;name&lt;/span&gt;=&lt;span style="COLOR:#0000ff;"&gt;&amp;quot;price&amp;quot;&lt;/span&gt; &lt;span style="COLOR:#ff0000;"&gt;type&lt;/span&gt;=&lt;span style="COLOR:#0000ff;"&gt;&amp;quot;xs:decimal&amp;quot;&lt;/span&gt;&lt;span style="COLOR:#0000ff;"&gt;/&amp;gt;&lt;/span&gt;
&lt;/pre&gt;&lt;pre style="BACKGROUND-COLOR:#ffffff;MARGIN:0em;WIDTH:100%;FONT-FAMILY:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;FONT-SIZE:12px;"&gt;            &lt;span style="COLOR:#0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="COLOR:#c71585;"&gt;xs&lt;/span&gt;:&lt;span style="COLOR:#800000;"&gt;sequence&lt;/span&gt;&lt;span style="COLOR:#0000ff;"&gt;&amp;gt;&lt;/span&gt;
&lt;/pre&gt;&lt;pre style="BACKGROUND-COLOR:#fbfbfb;MARGIN:0em;WIDTH:100%;FONT-FAMILY:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;FONT-SIZE:12px;"&gt;            &lt;span style="COLOR:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR:#c71585;"&gt;xs&lt;/span&gt;:&lt;span style="COLOR:#800000;"&gt;attribute&lt;/span&gt; &lt;span style="COLOR:#ff0000;"&gt;name&lt;/span&gt;=&lt;span style="COLOR:#0000ff;"&gt;&amp;quot;orderId&amp;quot;&lt;/span&gt; &lt;span style="COLOR:#ff0000;"&gt;type&lt;/span&gt;=&lt;span style="COLOR:#0000ff;"&gt;&amp;quot;xs:positiveInteger&amp;quot;&lt;/span&gt; &lt;span style="COLOR:#ff0000;"&gt;use&lt;/span&gt;=&lt;span style="COLOR:#0000ff;"&gt;&amp;quot;required&amp;quot;&lt;/span&gt;&lt;span style="COLOR:#0000ff;"&gt;/&amp;gt;&lt;/span&gt;
&lt;/pre&gt;&lt;pre style="BACKGROUND-COLOR:#ffffff;MARGIN:0em;WIDTH:100%;FONT-FAMILY:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;FONT-SIZE:12px;"&gt;          &lt;span style="COLOR:#0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="COLOR:#c71585;"&gt;xs&lt;/span&gt;:&lt;span style="COLOR:#800000;"&gt;complexType&lt;/span&gt;&lt;span style="COLOR:#0000ff;"&gt;&amp;gt;&lt;/span&gt;
&lt;/pre&gt;&lt;pre style="BACKGROUND-COLOR:#fbfbfb;MARGIN:0em;WIDTH:100%;FONT-FAMILY:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;FONT-SIZE:12px;"&gt;        &lt;span style="COLOR:#0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="COLOR:#c71585;"&gt;xs&lt;/span&gt;:&lt;span style="COLOR:#800000;"&gt;element&lt;/span&gt;&lt;span style="COLOR:#0000ff;"&gt;&amp;gt;&lt;/span&gt;
&lt;/pre&gt;&lt;pre style="BACKGROUND-COLOR:#ffffff;MARGIN:0em;WIDTH:100%;FONT-FAMILY:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;FONT-SIZE:12px;"&gt;      &lt;span style="COLOR:#0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="COLOR:#c71585;"&gt;xs&lt;/span&gt;:&lt;span style="COLOR:#800000;"&gt;sequence&lt;/span&gt;&lt;span style="COLOR:#0000ff;"&gt;&amp;gt;&lt;/span&gt;
&lt;/pre&gt;&lt;pre style="BACKGROUND-COLOR:#fbfbfb;MARGIN:0em;WIDTH:100%;FONT-FAMILY:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;FONT-SIZE:12px;"&gt;      &lt;span style="COLOR:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR:#c71585;"&gt;xs&lt;/span&gt;:&lt;span style="COLOR:#800000;"&gt;attribute&lt;/span&gt; &lt;span style="COLOR:#ff0000;"&gt;name&lt;/span&gt;=&lt;span style="COLOR:#0000ff;"&gt;&amp;quot;additionalOrderId&amp;quot;&lt;/span&gt; &lt;span style="COLOR:#ff0000;"&gt;type&lt;/span&gt;=&lt;span style="COLOR:#0000ff;"&gt;&amp;quot;xs:positiveInteger&amp;quot;&lt;/span&gt; &lt;span style="COLOR:#ff0000;"&gt;use&lt;/span&gt;=&lt;span style="COLOR:#0000ff;"&gt;&amp;quot;required&amp;quot;&lt;/span&gt;&lt;span style="COLOR:#0000ff;"&gt;/&amp;gt;&lt;/span&gt;
&lt;/pre&gt;&lt;pre style="BACKGROUND-COLOR:#ffffff;MARGIN:0em;WIDTH:100%;FONT-FAMILY:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;FONT-SIZE:12px;"&gt;    &lt;span style="COLOR:#0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="COLOR:#c71585;"&gt;xs&lt;/span&gt;:&lt;span style="COLOR:#800000;"&gt;complexType&lt;/span&gt;&lt;span style="COLOR:#0000ff;"&gt;&amp;gt;&lt;/span&gt;
&lt;/pre&gt;&lt;pre style="BACKGROUND-COLOR:#fbfbfb;MARGIN:0em;WIDTH:100%;FONT-FAMILY:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;FONT-SIZE:12px;"&gt;  &lt;span style="COLOR:#0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="COLOR:#c71585;"&gt;xs&lt;/span&gt;:&lt;span style="COLOR:#800000;"&gt;element&lt;/span&gt;&lt;span style="COLOR:#0000ff;"&gt;&amp;gt;&lt;/span&gt;
&lt;/pre&gt;&lt;pre style="BACKGROUND-COLOR:#ffffff;MARGIN:0em;WIDTH:100%;FONT-FAMILY:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;FONT-SIZE:12px;"&gt;&lt;span style="COLOR:#0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="COLOR:#c71585;"&gt;xs&lt;/span&gt;:&lt;span style="COLOR:#800000;"&gt;schema&lt;/span&gt;&lt;span style="COLOR:#0000ff;"&gt;&amp;gt;&lt;/span&gt;
&lt;/pre&gt;&lt;pre style="BACKGROUND-COLOR:#fbfbfb;MARGIN:0em;WIDTH:100%;FONT-FAMILY:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;FONT-SIZE:12px;"&gt;&amp;#39;
&lt;/pre&gt;&lt;pre style="BACKGROUND-COLOR:#ffffff;MARGIN:0em;WIDTH:100%;FONT-FAMILY:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;FONT-SIZE:12px;"&gt;&lt;/pre&gt;&lt;/pre&gt;
&lt;p&gt;Puis j’ai créé mes colonnes XML&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Première colonne&lt;/strong&gt; : Colonne XML validée par mon schéma avec un index dessus et 2 index supplémentaires (VALUE et PATH) &lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Deuxième colonne&lt;/strong&gt; : Colonne XML sans schéma avec un index dessus et 2 index supplémentaires (VALUE et PATH) &lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Troisième colonne&lt;/strong&gt; : Colonne XML sans schéma sans index &lt;/li&gt;&lt;/ol&gt;
&lt;p&gt;Voilà la définition de ces colonnes:&lt;/p&gt;&lt;pre style="BORDER-BOTTOM:#cecece 1px solid;BORDER-LEFT:#cecece 1px solid;PADDING-BOTTOM:5px;BACKGROUND-COLOR:#fbfbfb;MIN-HEIGHT:40px;PADDING-LEFT:5px;WIDTH:488px;PADDING-RIGHT:5px;HEIGHT:225px;OVERFLOW:auto;BORDER-TOP:#cecece 1px solid;BORDER-RIGHT:#cecece 1px solid;PADDING-TOP:5px;"&gt;&lt;pre style="BACKGROUND-COLOR:#fbfbfb;MARGIN:0em;WIDTH:100%;FONT-FAMILY:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;FONT-SIZE:10px;"&gt;&lt;span style="COLOR:#008000;"&gt;-- Modification de la table&lt;/span&gt;
&lt;/pre&gt;&lt;pre style="BACKGROUND-COLOR:#fbfbfb;MARGIN:0em;WIDTH:100%;FONT-FAMILY:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;FONT-SIZE:10px;"&gt;&lt;a style="COLOR:#0000ff;" href="http://search.microsoft.com/default.asp?so=RECCNT&amp;amp;siteid=us%2Fdev&amp;amp;p=1&amp;amp;nq=NEW&amp;amp;qu=ALTER&amp;amp;IntlSearch=&amp;amp;boolean=PHRASE&amp;amp;ig=01&amp;amp;i=09&amp;amp;i=99"&gt;ALTER&lt;/a&gt; &lt;a style="COLOR:#0000ff;" href="http://search.microsoft.com/default.asp?so=RECCNT&amp;amp;siteid=us%2Fdev&amp;amp;p=1&amp;amp;nq=NEW&amp;amp;qu=TABLE&amp;amp;IntlSearch=&amp;amp;boolean=PHRASE&amp;amp;ig=01&amp;amp;i=09&amp;amp;i=99"&gt;TABLE&lt;/a&gt; Sales.Customer &lt;a style="COLOR:#0000ff;" href="http://search.microsoft.com/default.asp?so=RECCNT&amp;amp;siteid=us%2Fdev&amp;amp;p=1&amp;amp;nq=NEW&amp;amp;qu=ADD&amp;amp;IntlSearch=&amp;amp;boolean=PHRASE&amp;amp;ig=01&amp;amp;i=09&amp;amp;i=99"&gt;ADD&lt;/a&gt;
&lt;/pre&gt;&lt;pre style="BACKGROUND-COLOR:#fbfbfb;MARGIN:0em;WIDTH:100%;FONT-FAMILY:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;FONT-SIZE:10px;"&gt;	AdditionnalInformations xml(DOCUMENT dbo.AdditionalInfos) &lt;a style="COLOR:#0000ff;" href="http://search.microsoft.com/default.asp?so=RECCNT&amp;amp;siteid=us%2Fdev&amp;amp;p=1&amp;amp;nq=NEW&amp;amp;qu=NULL&amp;amp;IntlSearch=&amp;amp;boolean=PHRASE&amp;amp;ig=01&amp;amp;i=09&amp;amp;i=99"&gt;NULL&lt;/a&gt;
&lt;/pre&gt;&lt;pre style="BACKGROUND-COLOR:#fbfbfb;MARGIN:0em;WIDTH:100%;FONT-FAMILY:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;FONT-SIZE:10px;"&gt;&lt;a style="COLOR:#0000ff;" href="http://search.microsoft.com/default.asp?so=RECCNT&amp;amp;siteid=us%2Fdev&amp;amp;p=1&amp;amp;nq=NEW&amp;amp;qu=GO&amp;amp;IntlSearch=&amp;amp;boolean=PHRASE&amp;amp;ig=01&amp;amp;i=09&amp;amp;i=99"&gt;GO&lt;/a&gt;
&lt;/pre&gt;&lt;pre style="BACKGROUND-COLOR:#fbfbfb;MARGIN:0em;WIDTH:100%;FONT-FAMILY:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;FONT-SIZE:10px;"&gt;&lt;span style="COLOR:#008000;"&gt;-- Création de l&amp;#39;index primaire XML&lt;/span&gt;
&lt;/pre&gt;&lt;pre style="BACKGROUND-COLOR:#fbfbfb;MARGIN:0em;WIDTH:100%;FONT-FAMILY:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;FONT-SIZE:10px;"&gt;&lt;a style="COLOR:#0000ff;" href="http://search.microsoft.com/default.asp?so=RECCNT&amp;amp;siteid=us%2Fdev&amp;amp;p=1&amp;amp;nq=NEW&amp;amp;qu=CREATE&amp;amp;IntlSearch=&amp;amp;boolean=PHRASE&amp;amp;ig=01&amp;amp;i=09&amp;amp;i=99"&gt;CREATE&lt;/a&gt; &lt;a style="COLOR:#0000ff;" href="http://search.microsoft.com/default.asp?so=RECCNT&amp;amp;siteid=us%2Fdev&amp;amp;p=1&amp;amp;nq=NEW&amp;amp;qu=PRIMARY&amp;amp;IntlSearch=&amp;amp;boolean=PHRASE&amp;amp;ig=01&amp;amp;i=09&amp;amp;i=99"&gt;PRIMARY&lt;/a&gt; XML &lt;a style="COLOR:#0000ff;" href="http://search.microsoft.com/default.asp?so=RECCNT&amp;amp;siteid=us%2Fdev&amp;amp;p=1&amp;amp;nq=NEW&amp;amp;qu=INDEX&amp;amp;IntlSearch=&amp;amp;boolean=PHRASE&amp;amp;ig=01&amp;amp;i=09&amp;amp;i=99"&gt;INDEX&lt;/a&gt; PXML_AdditionnalInformations &lt;a style="COLOR:#0000ff;" href="http://search.microsoft.com/default.asp?so=RECCNT&amp;amp;siteid=us%2Fdev&amp;amp;p=1&amp;amp;nq=NEW&amp;amp;qu=on&amp;amp;IntlSearch=&amp;amp;boolean=PHRASE&amp;amp;ig=01&amp;amp;i=09&amp;amp;i=99"&gt;on&lt;/a&gt; Sales.Customer (AdditionnalInformations)
&lt;/pre&gt;&lt;pre style="BACKGROUND-COLOR:#fbfbfb;MARGIN:0em;WIDTH:100%;FONT-FAMILY:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;FONT-SIZE:10px;"&gt;&lt;span style="COLOR:#008000;"&gt;-- Création d&amp;#39;un index secondaire de type Path&lt;/span&gt;
&lt;/pre&gt;&lt;pre style="BACKGROUND-COLOR:#fbfbfb;MARGIN:0em;WIDTH:100%;FONT-FAMILY:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;FONT-SIZE:10px;"&gt;&lt;a style="COLOR:#0000ff;" href="http://search.microsoft.com/default.asp?so=RECCNT&amp;amp;siteid=us%2Fdev&amp;amp;p=1&amp;amp;nq=NEW&amp;amp;qu=CREATE&amp;amp;IntlSearch=&amp;amp;boolean=PHRASE&amp;amp;ig=01&amp;amp;i=09&amp;amp;i=99"&gt;CREATE&lt;/a&gt; XML &lt;a style="COLOR:#0000ff;" href="http://search.microsoft.com/default.asp?so=RECCNT&amp;amp;siteid=us%2Fdev&amp;amp;p=1&amp;amp;nq=NEW&amp;amp;qu=INDEX&amp;amp;IntlSearch=&amp;amp;boolean=PHRASE&amp;amp;ig=01&amp;amp;i=09&amp;amp;i=99"&gt;INDEX&lt;/a&gt; PXML_AdditionnalInformations_Path &lt;a style="COLOR:#0000ff;" href="http://search.microsoft.com/default.asp?so=RECCNT&amp;amp;siteid=us%2Fdev&amp;amp;p=1&amp;amp;nq=NEW&amp;amp;qu=ON&amp;amp;IntlSearch=&amp;amp;boolean=PHRASE&amp;amp;ig=01&amp;amp;i=09&amp;amp;i=99"&gt;ON&lt;/a&gt; Sales.Customer (AdditionnalInformations)
&lt;/pre&gt;&lt;pre style="BACKGROUND-COLOR:#fbfbfb;MARGIN:0em;WIDTH:100%;FONT-FAMILY:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;FONT-SIZE:10px;"&gt;&lt;a style="COLOR:#0000ff;" href="http://search.microsoft.com/default.asp?so=RECCNT&amp;amp;siteid=us%2Fdev&amp;amp;p=1&amp;amp;nq=NEW&amp;amp;qu=USING&amp;amp;IntlSearch=&amp;amp;boolean=PHRASE&amp;amp;ig=01&amp;amp;i=09&amp;amp;i=99"&gt;USING&lt;/a&gt; XML &lt;a style="COLOR:#0000ff;" href="http://search.microsoft.com/default.asp?so=RECCNT&amp;amp;siteid=us%2Fdev&amp;amp;p=1&amp;amp;nq=NEW&amp;amp;qu=INDEX&amp;amp;IntlSearch=&amp;amp;boolean=PHRASE&amp;amp;ig=01&amp;amp;i=09&amp;amp;i=99"&gt;INDEX&lt;/a&gt; PXML_AdditionnalInformations
&lt;/pre&gt;&lt;pre style="BACKGROUND-COLOR:#fbfbfb;MARGIN:0em;WIDTH:100%;FONT-FAMILY:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;FONT-SIZE:10px;"&gt;&lt;a style="COLOR:#0000ff;" href="http://search.microsoft.com/default.asp?so=RECCNT&amp;amp;siteid=us%2Fdev&amp;amp;p=1&amp;amp;nq=NEW&amp;amp;qu=FOR&amp;amp;IntlSearch=&amp;amp;boolean=PHRASE&amp;amp;ig=01&amp;amp;i=09&amp;amp;i=99"&gt;FOR&lt;/a&gt; PATH
&lt;/pre&gt;&lt;pre style="BACKGROUND-COLOR:#fbfbfb;MARGIN:0em;WIDTH:100%;FONT-FAMILY:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;FONT-SIZE:10px;"&gt;&lt;span style="COLOR:#008000;"&gt;-- Création d&amp;#39;un index secondaire de type Value&lt;/span&gt;
&lt;/pre&gt;&lt;pre style="BACKGROUND-COLOR:#fbfbfb;MARGIN:0em;WIDTH:100%;FONT-FAMILY:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;FONT-SIZE:10px;"&gt;&lt;a style="COLOR:#0000ff;" href="http://search.microsoft.com/default.asp?so=RECCNT&amp;amp;siteid=us%2Fdev&amp;amp;p=1&amp;amp;nq=NEW&amp;amp;qu=CREATE&amp;amp;IntlSearch=&amp;amp;boolean=PHRASE&amp;amp;ig=01&amp;amp;i=09&amp;amp;i=99"&gt;CREATE&lt;/a&gt; XML &lt;a style="COLOR:#0000ff;" href="http://search.microsoft.com/default.asp?so=RECCNT&amp;amp;siteid=us%2Fdev&amp;amp;p=1&amp;amp;nq=NEW&amp;amp;qu=INDEX&amp;amp;IntlSearch=&amp;amp;boolean=PHRASE&amp;amp;ig=01&amp;amp;i=09&amp;amp;i=99"&gt;INDEX&lt;/a&gt; PXML_AdditionnalInformations_Value &lt;a style="COLOR:#0000ff;" href="http://search.microsoft.com/default.asp?so=RECCNT&amp;amp;siteid=us%2Fdev&amp;amp;p=1&amp;amp;nq=NEW&amp;amp;qu=ON&amp;amp;IntlSearch=&amp;amp;boolean=PHRASE&amp;amp;ig=01&amp;amp;i=09&amp;amp;i=99"&gt;ON&lt;/a&gt; Sales.Customer (AdditionnalInformations)
&lt;/pre&gt;&lt;pre style="BACKGROUND-COLOR:#fbfbfb;MARGIN:0em;WIDTH:100%;FONT-FAMILY:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;FONT-SIZE:10px;"&gt;&lt;a style="COLOR:#0000ff;" href="http://search.microsoft.com/default.asp?so=RECCNT&amp;amp;siteid=us%2Fdev&amp;amp;p=1&amp;amp;nq=NEW&amp;amp;qu=USING&amp;amp;IntlSearch=&amp;amp;boolean=PHRASE&amp;amp;ig=01&amp;amp;i=09&amp;amp;i=99"&gt;USING&lt;/a&gt; XML &lt;a style="COLOR:#0000ff;" href="http://search.microsoft.com/default.asp?so=RECCNT&amp;amp;siteid=us%2Fdev&amp;amp;p=1&amp;amp;nq=NEW&amp;amp;qu=INDEX&amp;amp;IntlSearch=&amp;amp;boolean=PHRASE&amp;amp;ig=01&amp;amp;i=09&amp;amp;i=99"&gt;INDEX&lt;/a&gt; PXML_AdditionnalInformations
&lt;/pre&gt;&lt;pre style="BACKGROUND-COLOR:#fbfbfb;MARGIN:0em;WIDTH:100%;FONT-FAMILY:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;FONT-SIZE:10px;"&gt;&lt;a style="COLOR:#0000ff;" href="http://search.microsoft.com/default.asp?so=RECCNT&amp;amp;siteid=us%2Fdev&amp;amp;p=1&amp;amp;nq=NEW&amp;amp;qu=FOR&amp;amp;IntlSearch=&amp;amp;boolean=PHRASE&amp;amp;ig=01&amp;amp;i=09&amp;amp;i=99"&gt;FOR&lt;/a&gt; &lt;a style="COLOR:#0000ff;" href="http://search.microsoft.com/default.asp?so=RECCNT&amp;amp;siteid=us%2Fdev&amp;amp;p=1&amp;amp;nq=NEW&amp;amp;qu=VALUE&amp;amp;IntlSearch=&amp;amp;boolean=PHRASE&amp;amp;ig=01&amp;amp;i=09&amp;amp;i=99"&gt;VALUE&lt;/a&gt;
&lt;/pre&gt;&lt;pre style="BACKGROUND-COLOR:#fbfbfb;MARGIN:0em;WIDTH:100%;FONT-FAMILY:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;FONT-SIZE:10px;"&gt;&lt;/pre&gt;&lt;pre style="BACKGROUND-COLOR:#fbfbfb;MARGIN:0em;WIDTH:100%;FONT-FAMILY:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;FONT-SIZE:10px;"&gt;&lt;span style="COLOR:#008000;"&gt;-- Modification de la table&lt;/span&gt;
&lt;/pre&gt;&lt;pre style="BACKGROUND-COLOR:#fbfbfb;MARGIN:0em;WIDTH:100%;FONT-FAMILY:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;FONT-SIZE:10px;"&gt;&lt;a style="COLOR:#0000ff;" href="http://search.microsoft.com/default.asp?so=RECCNT&amp;amp;siteid=us%2Fdev&amp;amp;p=1&amp;amp;nq=NEW&amp;amp;qu=ALTER&amp;amp;IntlSearch=&amp;amp;boolean=PHRASE&amp;amp;ig=01&amp;amp;i=09&amp;amp;i=99"&gt;ALTER&lt;/a&gt; &lt;a style="COLOR:#0000ff;" href="http://search.microsoft.com/default.asp?so=RECCNT&amp;amp;siteid=us%2Fdev&amp;amp;p=1&amp;amp;nq=NEW&amp;amp;qu=TABLE&amp;amp;IntlSearch=&amp;amp;boolean=PHRASE&amp;amp;ig=01&amp;amp;i=09&amp;amp;i=99"&gt;TABLE&lt;/a&gt; Sales.Customer &lt;a style="COLOR:#0000ff;" href="http://search.microsoft.com/default.asp?so=RECCNT&amp;amp;siteid=us%2Fdev&amp;amp;p=1&amp;amp;nq=NEW&amp;amp;qu=ADD&amp;amp;IntlSearch=&amp;amp;boolean=PHRASE&amp;amp;ig=01&amp;amp;i=09&amp;amp;i=99"&gt;ADD&lt;/a&gt;	AdditionnalInformationsWithoutSchema xml &lt;a style="COLOR:#0000ff;" href="http://search.microsoft.com/default.asp?so=RECCNT&amp;amp;siteid=us%2Fdev&amp;amp;p=1&amp;amp;nq=NEW&amp;amp;qu=NULL&amp;amp;IntlSearch=&amp;amp;boolean=PHRASE&amp;amp;ig=01&amp;amp;i=09&amp;amp;i=99"&gt;NULL&lt;/a&gt;
&lt;/pre&gt;&lt;pre style="BACKGROUND-COLOR:#fbfbfb;MARGIN:0em;WIDTH:100%;FONT-FAMILY:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;FONT-SIZE:10px;"&gt;&lt;a style="COLOR:#0000ff;" href="http://search.microsoft.com/default.asp?so=RECCNT&amp;amp;siteid=us%2Fdev&amp;amp;p=1&amp;amp;nq=NEW&amp;amp;qu=GO&amp;amp;IntlSearch=&amp;amp;boolean=PHRASE&amp;amp;ig=01&amp;amp;i=09&amp;amp;i=99"&gt;GO&lt;/a&gt;
&lt;/pre&gt;&lt;pre style="BACKGROUND-COLOR:#fbfbfb;MARGIN:0em;WIDTH:100%;FONT-FAMILY:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;FONT-SIZE:10px;"&gt;&lt;span style="COLOR:#008000;"&gt;-- Création de l&amp;#39;index primaire XML&lt;/span&gt;
&lt;/pre&gt;&lt;pre style="BACKGROUND-COLOR:#fbfbfb;MARGIN:0em;WIDTH:100%;FONT-FAMILY:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;FONT-SIZE:10px;"&gt;&lt;a style="COLOR:#0000ff;" href="http://search.microsoft.com/default.asp?so=RECCNT&amp;amp;siteid=us%2Fdev&amp;amp;p=1&amp;amp;nq=NEW&amp;amp;qu=CREATE&amp;amp;IntlSearch=&amp;amp;boolean=PHRASE&amp;amp;ig=01&amp;amp;i=09&amp;amp;i=99"&gt;CREATE&lt;/a&gt; &lt;a style="COLOR:#0000ff;" href="http://search.microsoft.com/default.asp?so=RECCNT&amp;amp;siteid=us%2Fdev&amp;amp;p=1&amp;amp;nq=NEW&amp;amp;qu=PRIMARY&amp;amp;IntlSearch=&amp;amp;boolean=PHRASE&amp;amp;ig=01&amp;amp;i=09&amp;amp;i=99"&gt;PRIMARY&lt;/a&gt; XML &lt;a style="COLOR:#0000ff;" href="http://search.microsoft.com/default.asp?so=RECCNT&amp;amp;siteid=us%2Fdev&amp;amp;p=1&amp;amp;nq=NEW&amp;amp;qu=INDEX&amp;amp;IntlSearch=&amp;amp;boolean=PHRASE&amp;amp;ig=01&amp;amp;i=09&amp;amp;i=99"&gt;INDEX&lt;/a&gt; PXML_AdditionnalInformations_WithoutSchema &lt;a style="COLOR:#0000ff;" href="http://search.microsoft.com/default.asp?so=RECCNT&amp;amp;siteid=us%2Fdev&amp;amp;p=1&amp;amp;nq=NEW&amp;amp;qu=on&amp;amp;IntlSearch=&amp;amp;boolean=PHRASE&amp;amp;ig=01&amp;amp;i=09&amp;amp;i=99"&gt;on&lt;/a&gt; Sales.Customer (AdditionnalInformationsWithoutSchema)
&lt;/pre&gt;&lt;pre style="BACKGROUND-COLOR:#fbfbfb;MARGIN:0em;WIDTH:100%;FONT-FAMILY:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;FONT-SIZE:10px;"&gt;&lt;span style="COLOR:#008000;"&gt;-- Création d&amp;#39;un index secondaire de type Path&lt;/span&gt;
&lt;/pre&gt;&lt;pre style="BACKGROUND-COLOR:#fbfbfb;MARGIN:0em;WIDTH:100%;FONT-FAMILY:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;FONT-SIZE:10px;"&gt;&lt;a style="COLOR:#0000ff;" href="http://search.microsoft.com/default.asp?so=RECCNT&amp;amp;siteid=us%2Fdev&amp;amp;p=1&amp;amp;nq=NEW&amp;amp;qu=CREATE&amp;amp;IntlSearch=&amp;amp;boolean=PHRASE&amp;amp;ig=01&amp;amp;i=09&amp;amp;i=99"&gt;CREATE&lt;/a&gt; XML &lt;a style="COLOR:#0000ff;" href="http://search.microsoft.com/default.asp?so=RECCNT&amp;amp;siteid=us%2Fdev&amp;amp;p=1&amp;amp;nq=NEW&amp;amp;qu=INDEX&amp;amp;IntlSearch=&amp;amp;boolean=PHRASE&amp;amp;ig=01&amp;amp;i=09&amp;amp;i=99"&gt;INDEX&lt;/a&gt; PXML_AdditionnalInformations_WithoutSchema_Path &lt;a style="COLOR:#0000ff;" href="http://search.microsoft.com/default.asp?so=RECCNT&amp;amp;siteid=us%2Fdev&amp;amp;p=1&amp;amp;nq=NEW&amp;amp;qu=ON&amp;amp;IntlSearch=&amp;amp;boolean=PHRASE&amp;amp;ig=01&amp;amp;i=09&amp;amp;i=99"&gt;ON&lt;/a&gt; Sales.Customer (AdditionnalInformationsWithoutSchema)
&lt;/pre&gt;&lt;pre style="BACKGROUND-COLOR:#fbfbfb;MARGIN:0em;WIDTH:100%;FONT-FAMILY:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;FONT-SIZE:10px;"&gt;&lt;a style="COLOR:#0000ff;" href="http://search.microsoft.com/default.asp?so=RECCNT&amp;amp;siteid=us%2Fdev&amp;amp;p=1&amp;amp;nq=NEW&amp;amp;qu=USING&amp;amp;IntlSearch=&amp;amp;boolean=PHRASE&amp;amp;ig=01&amp;amp;i=09&amp;amp;i=99"&gt;USING&lt;/a&gt; XML &lt;a style="COLOR:#0000ff;" href="http://search.microsoft.com/default.asp?so=RECCNT&amp;amp;siteid=us%2Fdev&amp;amp;p=1&amp;amp;nq=NEW&amp;amp;qu=INDEX&amp;amp;IntlSearch=&amp;amp;boolean=PHRASE&amp;amp;ig=01&amp;amp;i=09&amp;amp;i=99"&gt;INDEX&lt;/a&gt; PXML_AdditionnalInformations_WithoutSchema
&lt;/pre&gt;&lt;pre style="BACKGROUND-COLOR:#fbfbfb;MARGIN:0em;WIDTH:100%;FONT-FAMILY:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;FONT-SIZE:10px;"&gt;&lt;a style="COLOR:#0000ff;" href="http://search.microsoft.com/default.asp?so=RECCNT&amp;amp;siteid=us%2Fdev&amp;amp;p=1&amp;amp;nq=NEW&amp;amp;qu=FOR&amp;amp;IntlSearch=&amp;amp;boolean=PHRASE&amp;amp;ig=01&amp;amp;i=09&amp;amp;i=99"&gt;FOR&lt;/a&gt; PATH
&lt;/pre&gt;&lt;pre style="BACKGROUND-COLOR:#fbfbfb;MARGIN:0em;WIDTH:100%;FONT-FAMILY:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;FONT-SIZE:10px;"&gt;&lt;span style="COLOR:#008000;"&gt;-- Création d&amp;#39;un index secondaire de type Value&lt;/span&gt;
&lt;/pre&gt;&lt;pre style="BACKGROUND-COLOR:#fbfbfb;MARGIN:0em;WIDTH:100%;FONT-FAMILY:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;FONT-SIZE:10px;"&gt;&lt;a style="COLOR:#0000ff;" href="http://search.microsoft.com/default.asp?so=RECCNT&amp;amp;siteid=us%2Fdev&amp;amp;p=1&amp;amp;nq=NEW&amp;amp;qu=CREATE&amp;amp;IntlSearch=&amp;amp;boolean=PHRASE&amp;amp;ig=01&amp;amp;i=09&amp;amp;i=99"&gt;CREATE&lt;/a&gt; XML &lt;a style="COLOR:#0000ff;" href="http://search.microsoft.com/default.asp?so=RECCNT&amp;amp;siteid=us%2Fdev&amp;amp;p=1&amp;amp;nq=NEW&amp;amp;qu=INDEX&amp;amp;IntlSearch=&amp;amp;boolean=PHRASE&amp;amp;ig=01&amp;amp;i=09&amp;amp;i=99"&gt;INDEX&lt;/a&gt; PXML_AdditionnalInformations_WithoutSchema_Value &lt;a style="COLOR:#0000ff;" href="http://search.microsoft.com/default.asp?so=RECCNT&amp;amp;siteid=us%2Fdev&amp;amp;p=1&amp;amp;nq=NEW&amp;amp;qu=ON&amp;amp;IntlSearch=&amp;amp;boolean=PHRASE&amp;amp;ig=01&amp;amp;i=09&amp;amp;i=99"&gt;ON&lt;/a&gt; Sales.Customer (AdditionnalInformationsWithoutSchema)
&lt;/pre&gt;&lt;pre style="BACKGROUND-COLOR:#fbfbfb;MARGIN:0em;WIDTH:100%;FONT-FAMILY:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;FONT-SIZE:10px;"&gt;&lt;a style="COLOR:#0000ff;" href="http://search.microsoft.com/default.asp?so=RECCNT&amp;amp;siteid=us%2Fdev&amp;amp;p=1&amp;amp;nq=NEW&amp;amp;qu=USING&amp;amp;IntlSearch=&amp;amp;boolean=PHRASE&amp;amp;ig=01&amp;amp;i=09&amp;amp;i=99"&gt;USING&lt;/a&gt; XML &lt;a style="COLOR:#0000ff;" href="http://search.microsoft.com/default.asp?so=RECCNT&amp;amp;siteid=us%2Fdev&amp;amp;p=1&amp;amp;nq=NEW&amp;amp;qu=INDEX&amp;amp;IntlSearch=&amp;amp;boolean=PHRASE&amp;amp;ig=01&amp;amp;i=09&amp;amp;i=99"&gt;INDEX&lt;/a&gt; PXML_AdditionnalInformations_WithoutSchema
&lt;/pre&gt;&lt;pre style="BACKGROUND-COLOR:#fbfbfb;MARGIN:0em;WIDTH:100%;FONT-FAMILY:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;FONT-SIZE:10px;"&gt;&lt;a style="COLOR:#0000ff;" href="http://search.microsoft.com/default.asp?so=RECCNT&amp;amp;siteid=us%2Fdev&amp;amp;p=1&amp;amp;nq=NEW&amp;amp;qu=FOR&amp;amp;IntlSearch=&amp;amp;boolean=PHRASE&amp;amp;ig=01&amp;amp;i=09&amp;amp;i=99"&gt;FOR&lt;/a&gt; &lt;a style="COLOR:#0000ff;" href="http://search.microsoft.com/default.asp?so=RECCNT&amp;amp;siteid=us%2Fdev&amp;amp;p=1&amp;amp;nq=NEW&amp;amp;qu=VALUE&amp;amp;IntlSearch=&amp;amp;boolean=PHRASE&amp;amp;ig=01&amp;amp;i=09&amp;amp;i=99"&gt;VALUE&lt;/a&gt;
&lt;/pre&gt;&lt;pre style="BACKGROUND-COLOR:#fbfbfb;MARGIN:0em;WIDTH:100%;FONT-FAMILY:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;FONT-SIZE:10px;"&gt;&lt;/pre&gt;&lt;pre style="BACKGROUND-COLOR:#fbfbfb;MARGIN:0em;WIDTH:100%;FONT-FAMILY:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;FONT-SIZE:10px;"&gt;&lt;a style="COLOR:#0000ff;" href="http://search.microsoft.com/default.asp?so=RECCNT&amp;amp;siteid=us%2Fdev&amp;amp;p=1&amp;amp;nq=NEW&amp;amp;qu=ALTER&amp;amp;IntlSearch=&amp;amp;boolean=PHRASE&amp;amp;ig=01&amp;amp;i=09&amp;amp;i=99"&gt;ALTER&lt;/a&gt; &lt;a style="COLOR:#0000ff;" href="http://search.microsoft.com/default.asp?so=RECCNT&amp;amp;siteid=us%2Fdev&amp;amp;p=1&amp;amp;nq=NEW&amp;amp;qu=TABLE&amp;amp;IntlSearch=&amp;amp;boolean=PHRASE&amp;amp;ig=01&amp;amp;i=09&amp;amp;i=99"&gt;TABLE&lt;/a&gt; Sales.Customer &lt;a style="COLOR:#0000ff;" href="http://search.microsoft.com/default.asp?so=RECCNT&amp;amp;siteid=us%2Fdev&amp;amp;p=1&amp;amp;nq=NEW&amp;amp;qu=ADD&amp;amp;IntlSearch=&amp;amp;boolean=PHRASE&amp;amp;ig=01&amp;amp;i=09&amp;amp;i=99"&gt;ADD&lt;/a&gt;
&lt;/pre&gt;&lt;pre style="BACKGROUND-COLOR:#fbfbfb;MARGIN:0em;WIDTH:100%;FONT-FAMILY:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;FONT-SIZE:10px;"&gt;	AdditionnalInformationsWithoutSchemaWithoutIndexes xml &lt;a style="COLOR:#0000ff;" href="http://search.microsoft.com/default.asp?so=RECCNT&amp;amp;siteid=us%2Fdev&amp;amp;p=1&amp;amp;nq=NEW&amp;amp;qu=NULL&amp;amp;IntlSearch=&amp;amp;boolean=PHRASE&amp;amp;ig=01&amp;amp;i=09&amp;amp;i=99"&gt;NULL&lt;/a&gt;&lt;/pre&gt;&lt;/pre&gt;
&lt;p&gt;Y’a plus qu’à remplir les données, via un bon vieil INSERT ou UPDATE&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Vous trouverez le script en PJ pour vous faire une idée&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;u&gt;Voici les résultats de l’insertion&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;table cellspacing="0" cellpadding="2"&gt;

&lt;tr&gt;
&lt;td&gt;Colonne XML Index + Schéma&lt;/td&gt;
&lt;td&gt;02:51&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Colonne XML Index&lt;/td&gt;
&lt;td&gt;03:56&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Colonne XML&lt;/td&gt;
&lt;td&gt;00:08&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;p&gt;Alors oui, on est d’accord, l’insertion est bien plus performante sur une colonne XML sans index, un Blob quoi. &lt;/p&gt;
&lt;p&gt;On Imagine bien que le parsing de chaque valeur XML et la création d’une table système avec une insertion à la volée peut être consommateur de ressources !&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;u&gt;Passons aux requêtes de Sélection sur une requête Xquery PATH&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;&lt;pre style="BORDER-BOTTOM:#cecece 1px solid;BORDER-LEFT:#cecece 1px solid;PADDING-BOTTOM:5px;BACKGROUND-COLOR:#fbfbfb;MIN-HEIGHT:40px;PADDING-LEFT:5px;WIDTH:500px;PADDING-RIGHT:5px;OVERFLOW:auto;BORDER-TOP:#cecece 1px solid;BORDER-RIGHT:#cecece 1px solid;PADDING-TOP:5px;"&gt;&lt;pre style="BACKGROUND-COLOR:#fbfbfb;MARGIN:0em;WIDTH:100%;FONT-FAMILY:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;FONT-SIZE:10px;"&gt;&lt;span style="COLOR:#008000;"&gt;-- Using PATH index&lt;/span&gt;
&lt;/pre&gt;&lt;pre style="BACKGROUND-COLOR:#fbfbfb;MARGIN:0em;WIDTH:100%;FONT-FAMILY:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;FONT-SIZE:10px;"&gt;&lt;a style="COLOR:#0000ff;" href="http://search.microsoft.com/default.asp?so=RECCNT&amp;amp;siteid=us%2Fdev&amp;amp;p=1&amp;amp;nq=NEW&amp;amp;qu=select&amp;amp;IntlSearch=&amp;amp;boolean=PHRASE&amp;amp;ig=01&amp;amp;i=09&amp;amp;i=99"&gt;select&lt;/a&gt; &lt;a style="COLOR:#0000ff;" href="http://search.microsoft.com/default.asp?so=RECCNT&amp;amp;siteid=us%2Fdev&amp;amp;p=1&amp;amp;nq=NEW&amp;amp;qu=Top&amp;amp;IntlSearch=&amp;amp;boolean=PHRASE&amp;amp;ig=01&amp;amp;i=09&amp;amp;i=99"&gt;Top&lt;/a&gt; 10  C.CustomerID, C.AdditionnalInformations.query(&amp;#39;&lt;span style="COLOR:#8b0000;"&gt;/additionalOrder/additionalAddress[@type = &amp;quot;Home&amp;quot;]&lt;/span&gt;&amp;#39;)
&lt;/pre&gt;&lt;pre style="BACKGROUND-COLOR:#fbfbfb;MARGIN:0em;WIDTH:100%;FONT-FAMILY:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;FONT-SIZE:10px;"&gt;&lt;a style="COLOR:#0000ff;" href="http://search.microsoft.com/default.asp?so=RECCNT&amp;amp;siteid=us%2Fdev&amp;amp;p=1&amp;amp;nq=NEW&amp;amp;qu=from&amp;amp;IntlSearch=&amp;amp;boolean=PHRASE&amp;amp;ig=01&amp;amp;i=09&amp;amp;i=99"&gt;from&lt;/a&gt; Sales.Customer C
&lt;/pre&gt;&lt;pre style="BACKGROUND-COLOR:#fbfbfb;MARGIN:0em;WIDTH:100%;FONT-FAMILY:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;FONT-SIZE:10px;"&gt;&lt;a style="COLOR:#0000ff;" href="http://search.microsoft.com/default.asp?so=RECCNT&amp;amp;siteid=us%2Fdev&amp;amp;p=1&amp;amp;nq=NEW&amp;amp;qu=select&amp;amp;IntlSearch=&amp;amp;boolean=PHRASE&amp;amp;ig=01&amp;amp;i=09&amp;amp;i=99"&gt;select&lt;/a&gt; &lt;a style="COLOR:#0000ff;" href="http://search.microsoft.com/default.asp?so=RECCNT&amp;amp;siteid=us%2Fdev&amp;amp;p=1&amp;amp;nq=NEW&amp;amp;qu=Top&amp;amp;IntlSearch=&amp;amp;boolean=PHRASE&amp;amp;ig=01&amp;amp;i=09&amp;amp;i=99"&gt;Top&lt;/a&gt; 10  C.CustomerID, C.AdditionnalInformationsWithoutSchema.query(&amp;#39;&lt;span style="COLOR:#8b0000;"&gt;/additionalOrder/additionalAddress[@type = &amp;quot;Home&amp;quot;]&lt;/span&gt;&amp;#39;)
&lt;/pre&gt;&lt;pre style="BACKGROUND-COLOR:#fbfbfb;MARGIN:0em;WIDTH:100%;FONT-FAMILY:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;FONT-SIZE:10px;"&gt;&lt;a style="COLOR:#0000ff;" href="http://search.microsoft.com/default.asp?so=RECCNT&amp;amp;siteid=us%2Fdev&amp;amp;p=1&amp;amp;nq=NEW&amp;amp;qu=from&amp;amp;IntlSearch=&amp;amp;boolean=PHRASE&amp;amp;ig=01&amp;amp;i=09&amp;amp;i=99"&gt;from&lt;/a&gt; Sales.Customer C
&lt;/pre&gt;&lt;pre style="BACKGROUND-COLOR:#fbfbfb;MARGIN:0em;WIDTH:100%;FONT-FAMILY:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;FONT-SIZE:10px;"&gt;&lt;a style="COLOR:#0000ff;" href="http://search.microsoft.com/default.asp?so=RECCNT&amp;amp;siteid=us%2Fdev&amp;amp;p=1&amp;amp;nq=NEW&amp;amp;qu=select&amp;amp;IntlSearch=&amp;amp;boolean=PHRASE&amp;amp;ig=01&amp;amp;i=09&amp;amp;i=99"&gt;select&lt;/a&gt; &lt;a style="COLOR:#0000ff;" href="http://search.microsoft.com/default.asp?so=RECCNT&amp;amp;siteid=us%2Fdev&amp;amp;p=1&amp;amp;nq=NEW&amp;amp;qu=Top&amp;amp;IntlSearch=&amp;amp;boolean=PHRASE&amp;amp;ig=01&amp;amp;i=09&amp;amp;i=99"&gt;Top&lt;/a&gt; 10  C.CustomerID, C.AdditionnalInformationsWithoutSchemaWithoutIndexes.query(&amp;#39;&lt;span style="COLOR:#8b0000;"&gt;/additionalOrder/additionalAddress[@type = &amp;quot;Home&amp;quot;]&lt;/span&gt;&amp;#39;)
&lt;/pre&gt;&lt;pre style="BACKGROUND-COLOR:#fbfbfb;MARGIN:0em;WIDTH:100%;FONT-FAMILY:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;FONT-SIZE:10px;"&gt;&lt;a style="COLOR:#0000ff;" href="http://search.microsoft.com/default.asp?so=RECCNT&amp;amp;siteid=us%2Fdev&amp;amp;p=1&amp;amp;nq=NEW&amp;amp;qu=from&amp;amp;IntlSearch=&amp;amp;boolean=PHRASE&amp;amp;ig=01&amp;amp;i=09&amp;amp;i=99"&gt;from&lt;/a&gt; Sales.Customer C&lt;/pre&gt;&lt;/pre&gt;
&lt;p&gt;Je ne mesure pas le temps ici, il faudrait avoir un champ XML totalement énorme pour avoir une différence notable. J’ai donc noté le % d’exécution donné par le plan d’exécution&lt;/p&gt;
&lt;table cellspacing="0" cellpadding="2"&gt;

&lt;tr&gt;
&lt;td&gt;Colonne XML Index + Schéma&lt;/td&gt;
&lt;td&gt;0%&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Colonne XML Index&lt;/td&gt;
&lt;td&gt;0%&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Colonne XML &lt;/td&gt;
&lt;td&gt;100%&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;p&gt;Bon Ok, la requête sur le BLOB sans index écroule tout. Je refais le test uniquement sur les colonnes indexés :&lt;/p&gt;
&lt;table cellspacing="0" cellpadding="2"&gt;

&lt;tr&gt;
&lt;td&gt;Colonne XML Index + Schéma&lt;/td&gt;
&lt;td&gt;49%&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Colonne XML Index&lt;/td&gt;
&lt;td&gt;51%&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;p&gt;Bon le gain sur une requête PATH n’est pas notable qu’on soit ou non validé par un schéma&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;u&gt;Passons aux requêtes de Sélection sur une requête XQuery VALUE&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;&lt;pre style="BORDER-BOTTOM:#cecece 1px solid;BORDER-LEFT:#cecece 1px solid;PADDING-BOTTOM:5px;BACKGROUND-COLOR:#fbfbfb;MIN-HEIGHT:40px;PADDING-LEFT:5px;WIDTH:498px;PADDING-RIGHT:5px;HEIGHT:180px;OVERFLOW:auto;BORDER-TOP:#cecece 1px solid;BORDER-RIGHT:#cecece 1px solid;PADDING-TOP:5px;"&gt;&lt;pre style="BACKGROUND-COLOR:#fbfbfb;MARGIN:0em;WIDTH:100%;FONT-FAMILY:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;FONT-SIZE:10px;"&gt;&lt;span style="COLOR:#008000;"&gt;-- Using VALUE index&lt;/span&gt;
&lt;/pre&gt;&lt;pre style="BACKGROUND-COLOR:#fbfbfb;MARGIN:0em;WIDTH:100%;FONT-FAMILY:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;FONT-SIZE:10px;"&gt;&lt;a style="COLOR:#0000ff;" href="http://search.microsoft.com/default.asp?so=RECCNT&amp;amp;siteid=us%2Fdev&amp;amp;p=1&amp;amp;nq=NEW&amp;amp;qu=Select&amp;amp;IntlSearch=&amp;amp;boolean=PHRASE&amp;amp;ig=01&amp;amp;i=09&amp;amp;i=99"&gt;Select&lt;/a&gt; C.CustomerID, C.AdditionnalInformations
&lt;/pre&gt;&lt;pre style="BACKGROUND-COLOR:#fbfbfb;MARGIN:0em;WIDTH:100%;FONT-FAMILY:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;FONT-SIZE:10px;"&gt;&lt;a style="COLOR:#0000ff;" href="http://search.microsoft.com/default.asp?so=RECCNT&amp;amp;siteid=us%2Fdev&amp;amp;p=1&amp;amp;nq=NEW&amp;amp;qu=from&amp;amp;IntlSearch=&amp;amp;boolean=PHRASE&amp;amp;ig=01&amp;amp;i=09&amp;amp;i=99"&gt;from&lt;/a&gt; Sales.Customer C
&lt;/pre&gt;&lt;pre style="BACKGROUND-COLOR:#fbfbfb;MARGIN:0em;WIDTH:100%;FONT-FAMILY:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;FONT-SIZE:10px;"&gt;&lt;a style="COLOR:#0000ff;" href="http://search.microsoft.com/default.asp?so=RECCNT&amp;amp;siteid=us%2Fdev&amp;amp;p=1&amp;amp;nq=NEW&amp;amp;qu=where&amp;amp;IntlSearch=&amp;amp;boolean=PHRASE&amp;amp;ig=01&amp;amp;i=09&amp;amp;i=99"&gt;where&lt;/a&gt; C.AdditionnalInformations.exist(&amp;#39;&lt;span style="COLOR:#8b0000;"&gt;/additionalOrder/@additionalOrderId[.=100]&lt;/span&gt;&amp;#39;) = 1
&lt;/pre&gt;&lt;pre style="BACKGROUND-COLOR:#fbfbfb;MARGIN:0em;WIDTH:100%;FONT-FAMILY:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;FONT-SIZE:10px;"&gt;&lt;a style="COLOR:#0000ff;" href="http://search.microsoft.com/default.asp?so=RECCNT&amp;amp;siteid=us%2Fdev&amp;amp;p=1&amp;amp;nq=NEW&amp;amp;qu=Select&amp;amp;IntlSearch=&amp;amp;boolean=PHRASE&amp;amp;ig=01&amp;amp;i=09&amp;amp;i=99"&gt;Select&lt;/a&gt; C.CustomerID, C.AdditionnalInformations
&lt;/pre&gt;&lt;pre style="BACKGROUND-COLOR:#fbfbfb;MARGIN:0em;WIDTH:100%;FONT-FAMILY:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;FONT-SIZE:10px;"&gt;&lt;a style="COLOR:#0000ff;" href="http://search.microsoft.com/default.asp?so=RECCNT&amp;amp;siteid=us%2Fdev&amp;amp;p=1&amp;amp;nq=NEW&amp;amp;qu=from&amp;amp;IntlSearch=&amp;amp;boolean=PHRASE&amp;amp;ig=01&amp;amp;i=09&amp;amp;i=99"&gt;from&lt;/a&gt; Sales.Customer C
&lt;/pre&gt;&lt;pre style="BACKGROUND-COLOR:#fbfbfb;MARGIN:0em;WIDTH:100%;FONT-FAMILY:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;FONT-SIZE:10px;"&gt;&lt;a style="COLOR:#0000ff;" href="http://search.microsoft.com/default.asp?so=RECCNT&amp;amp;siteid=us%2Fdev&amp;amp;p=1&amp;amp;nq=NEW&amp;amp;qu=where&amp;amp;IntlSearch=&amp;amp;boolean=PHRASE&amp;amp;ig=01&amp;amp;i=09&amp;amp;i=99"&gt;where&lt;/a&gt; C.AdditionnalInformationsWithoutSchema.exist(&amp;#39;&lt;span style="COLOR:#8b0000;"&gt;/additionalOrder/@additionalOrderId[.=100]&lt;/span&gt;&amp;#39;) = 1
&lt;/pre&gt;&lt;pre style="BACKGROUND-COLOR:#fbfbfb;MARGIN:0em;WIDTH:100%;FONT-FAMILY:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;FONT-SIZE:10px;"&gt;&lt;a style="COLOR:#0000ff;" href="http://search.microsoft.com/default.asp?so=RECCNT&amp;amp;siteid=us%2Fdev&amp;amp;p=1&amp;amp;nq=NEW&amp;amp;qu=Select&amp;amp;IntlSearch=&amp;amp;boolean=PHRASE&amp;amp;ig=01&amp;amp;i=09&amp;amp;i=99"&gt;Select&lt;/a&gt; C.CustomerID, C.AdditionnalInformations
&lt;/pre&gt;&lt;pre style="BACKGROUND-COLOR:#fbfbfb;MARGIN:0em;WIDTH:100%;FONT-FAMILY:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;FONT-SIZE:10px;"&gt;&lt;a style="COLOR:#0000ff;" href="http://search.microsoft.com/default.asp?so=RECCNT&amp;amp;siteid=us%2Fdev&amp;amp;p=1&amp;amp;nq=NEW&amp;amp;qu=from&amp;amp;IntlSearch=&amp;amp;boolean=PHRASE&amp;amp;ig=01&amp;amp;i=09&amp;amp;i=99"&gt;from&lt;/a&gt; Sales.Customer C
&lt;/pre&gt;&lt;pre style="BACKGROUND-COLOR:#fbfbfb;MARGIN:0em;WIDTH:100%;FONT-FAMILY:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;FONT-SIZE:10px;"&gt;&lt;a style="COLOR:#0000ff;" href="http://search.microsoft.com/default.asp?so=RECCNT&amp;amp;siteid=us%2Fdev&amp;amp;p=1&amp;amp;nq=NEW&amp;amp;qu=where&amp;amp;IntlSearch=&amp;amp;boolean=PHRASE&amp;amp;ig=01&amp;amp;i=09&amp;amp;i=99"&gt;where&lt;/a&gt; C.AdditionnalInformationsWithoutSchemaWithoutIndexes.exist(&amp;#39;&lt;span style="COLOR:#8b0000;"&gt;/additionalOrder/@additionalOrderId[.=100]&lt;/span&gt;&amp;#39;) = 1
&lt;/pre&gt;&lt;pre style="BACKGROUND-COLOR:#fbfbfb;MARGIN:0em;WIDTH:100%;FONT-FAMILY:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;FONT-SIZE:10px;"&gt;&lt;/pre&gt;&lt;/pre&gt;
&lt;p&gt;Les premiers résultats en comparant avec une colonne non indexée sont identiques à l’exemple précédent. Je passe donc directement à la comparaison des deux colonnes indexées :&lt;/p&gt;
&lt;table cellspacing="0" cellpadding="2"&gt;

&lt;tr&gt;
&lt;td&gt;Colonne XML Index + Schéma&lt;/td&gt;
&lt;td&gt;0%&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Colonne XML Index&lt;/td&gt;
&lt;td&gt;100%&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;p&gt;Wow … là oui y’a différence !&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Examinons le plan d’éxécution :&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.dotmim.com/blogs/mim/image_720EA8EC.png"&gt;&lt;img style="BORDER-RIGHT-WIDTH:0px;DISPLAY:inline;BORDER-TOP-WIDTH:0px;BORDER-BOTTOM-WIDTH:0px;BORDER-LEFT-WIDTH:0px;" title="image" border="0" alt="image" src="http://www.dotmim.com/blogs/mim/image_thumb_561D73F4.png" width="454" height="235" /&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;Que se passe t’il : dans le premier cas, on a un schéma, donc une table fortement typée, où SQL SERVER sait que quelque soit la ligne, les données (enfin le type) sera identique : &lt;br /&gt;Il peut donc faire une requête directement sur l’index&lt;/p&gt;
&lt;p&gt;Sur la deuxième requête, la colonne est “permissive”. On peut stocker n’importe quel champ xml. &lt;br /&gt;Pour pouvoir récupérer toutes les valeurs &lt;a href="mailto:‘@type’"&gt;‘@type’&lt;/a&gt; il est donc obligé de faire un bon vieux gros SCAN de l’index XML PRIMARY&lt;/p&gt;
&lt;p&gt;D’où l’intérêt du schéma !&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;u&gt;Conclusion :&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Les schémas c’est bien, une colonne XML indexé avec un schéma c’est performant et secure.&lt;/p&gt;
&lt;p&gt;Par contre, vous perdez en Insertion. Attention à l’intéret d’une colonne XML si vous ne requêtez jamais l’arbre XML !&lt;/p&gt;
&lt;p&gt;Quelques liens utiles : &lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a title="http://msdn.microsoft.com/en-us/library/ms345121(SQL.90).aspx" href="http://msdn.microsoft.com/en-us/library/ms345121(SQL.90).aspx"&gt;http://msdn.microsoft.com/en-us/library/ms345121(SQL.90).aspx&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;&lt;a title="http://msdn.microsoft.com/en-us/library/ms184277.aspx" href="http://msdn.microsoft.com/en-us/library/ms184277.aspx"&gt;http://msdn.microsoft.com/en-us/library/ms184277.aspx&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;&lt;a title="http://technet.microsoft.com/fr-fr/library/ms345118(SQL.90).aspx" href="http://technet.microsoft.com/fr-fr/library/ms345118(SQL.90).aspx"&gt;http://technet.microsoft.com/fr-fr/library/ms345118(SQL.90).aspx&lt;/a&gt; &lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;Voilà voilà, bon indexation, bon XML tout ça tout ça !&lt;/p&gt;&lt;img src="http://www.dotmim.com/aggbug.aspx?PostID=579" width="1" height="1"&gt;</description>
      <enclosure url="http://www.dotmim.com/blogs/mim/attachment/579.ashx" length="3144" type="application/x-zip-compressed" />
      <category domain="http://www.dotmim.com/blogs/mim/archive/tags/SQL/default.aspx">SQL</category>
      <category domain="http://www.dotmim.com/blogs/mim/archive/tags/XML/default.aspx">XML</category>
    </item>
    <item>
      <title>SQL SERVER : Ajouter une colonne peut générer une erreur de dépassement</title>
      <link>http://www.dotmim.com/blogs/mim/archive/2010/06/03/sql-server-ajouter-une-colonne-peut-g-233-n-233-rer-une-erreur-de-d-233-passement.aspx</link>
      <pubDate>Thu, 03 Jun 2010 12:43:52 GMT</pubDate>
      <guid isPermaLink="false">f24f4a04-d5df-4071-90fb-39191e3ba06c:578</guid>
      <creator xmlns="http://purl.org/dc/elements/1.1/">Mimetis</creator>
      <comments xmlns="http://purl.org/rss/1.0/modules/slash/">0</comments>
      <wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://www.dotmim.com/blogs/mim/rsscomments.aspx?PostID=578</wfw:commentRss>
      <comments>http://www.dotmim.com/blogs/mim/archive/2010/06/03/sql-server-ajouter-une-colonne-peut-g-233-n-233-rer-une-erreur-de-d-233-passement.aspx#comments</comments>
      <description>&lt;p&gt;Je fais pas mal de test sur les colonnes XML dans SQL SERVER (Post à venir d’ailleurs) et je viens de rencontrer une erreur assez improbable.&lt;/p&gt;  &lt;p&gt;A force de supprimer puis rajouter des colonnes de type XML, j’ai eu au bout du compte une erreur m’indiquant en substance : &lt;/p&gt;  &lt;p&gt;&lt;i&gt;Cannot create a row of size 8063 which is greater than the allowable maximum of 8060.&lt;/i&gt;&lt;/p&gt;  &lt;p&gt;Ok alors en fait non hein, j’ai que 2 colonnes dans ma table là oh !&lt;/p&gt;  &lt;p&gt;Et bien la réponse est assez simple : &lt;/p&gt;  &lt;p&gt;Voici une réponse de l’équipe MS là dessus:&lt;/p&gt;  &lt;p&gt;“&lt;em&gt;This behaviour is expected. Dropping a column is a metadata-only change and can leave gaps in column-offsets on the row.      &lt;br /&gt;When new columns are added to such a table the space left by the dropped columns may or may not be reused for the new column; it depends on the size and type of the old/new columns.       &lt;br /&gt;Bottom-line is that if you drop/add columns enough times there will be a point at which the max-fixed-size of the row will be exceeded due to the &amp;quot;holes&amp;quot; left behind by the dropped columns&lt;/em&gt;.”&lt;/p&gt;  &lt;p&gt;Ok en gros on supprimer les métadatas de la colonne mais on ne récrit pas forcément toutes les pages (c’est pas bête)&lt;/p&gt;  &lt;p&gt;A mieux les nouvelles données des futures nouvelles colonnes viendront écraser le contenu de l’ancienne colonne dans ma page de données.&lt;/p&gt;  &lt;p&gt;Ou pas .. ce qui est mon cas, et particulièrement vrai dans une colonne XML.&lt;/p&gt;  &lt;p&gt;La solution ?&lt;/p&gt;  &lt;p&gt;Un bon vieux &lt;strong&gt;Rebuild Index&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Voilà, j’arrête de m’arracher les cheveux et j’y retourne :)    &lt;/p&gt;&lt;img src="http://www.dotmim.com/aggbug.aspx?PostID=578" width="1" height="1"&gt;</description>
    </item>
    <item>
      <guid isPermaLink="false">tag:blogger.com,1999:blog-5619051591853320584.post-3028937324176227198</guid>
      <pubDate>Wed, 02 Jun 2010 08:28:00 +0000</pubDate>
      <updated xmlns="http://www.w3.org/2005/Atom">2010-06-02T14:49:05.641+02:00</updated>
      <category domain="http://www.blogger.com/atom/ns#">JavaScript</category>
      <category domain="http://www.blogger.com/atom/ns#">HTML</category>
      <title>Non, ASP.NET n’ajoute pas de fonctionnalités aux navigateurs</title>
      <description>&lt;p&gt;On m’a récemment posé la question suivante : “est-ce qu’il est possible en asp.net de faire une liste de choix éditable ?” (si vous avez lu le titre du post, vous vous doutez déjà de la réponse, mais je vais quand même expliquer un peu)&lt;/p&gt;  &lt;p&gt;Quand je me pose une question comme ça, j’ai plusieurs réflexes :&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Regarder si il existe une propriété dans ma DropDownList dont le nom ressemble à ce que je veux faire. Si les noms ne sont pas suffisamment explicites, on peut toujours faire un petit tour sur &lt;a href="http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.dropdownlist_members.aspx"&gt;msdn&lt;/a&gt;… &lt;/li&gt;    &lt;li&gt;Faire une recherche Google (j’y reviendrai) &lt;/li&gt;    &lt;li&gt;Réfléchir au html qu’on veut voir générer. Si ça ne se fait pas tout seul, il va bien falloir trouver comment le faire nous même. Certains oublient parfois que ce qu’asp.net génère sera affiché dans des navigateurs webs (et pas seulement Internet Explorer, quoi qu’en disent certaines mauvaises langues) &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Et c’est là tout le problème : le contrôle DropDownList en asp.net va générer une balise &amp;lt;select&amp;gt; en html… Et cette balise en html n’est pas éditable, quelles que soient les options qu’on y mette dedans ; pas besoin d’être un spécialiste asp.net pour en arriver à cette conclusion. Cette option n’est pas possible en html, asp.net ne peut pas l’inventer.&lt;/p&gt;  &lt;p&gt;Et donc, n’y a-t-il pas de solution ? Bien sûr que si, comme avec n’importe quel autre langage serveur qui ne propose pas cette option : faire du JavaScript.    &lt;br /&gt;Il existe énormément de possibilité pour avoir un comportement similaire, et de toute façon d’autres personnes l’ont déjà fait avant : &lt;a href="http://www.google.fr/search?hl=fr&amp;amp;source=hp&amp;amp;q=html+editable+select&amp;amp;aq=0&amp;amp;aqi=g1&amp;amp;aql=&amp;amp;oq=html+editable+sel&amp;amp;gs_rfai="&gt;une recherche Google&lt;/a&gt; vous donnera plusieurs codes touts faits.     &lt;br /&gt;Peut-être même qu’en cherchant un peu plus quelqu’un a écrit un contrôle serveur asp.net qui fera tout le javascript pour vous (après c’est selon vos préférences, à vous de voir si la perte de temps dans la recherche de la solution miracle est nécessaire, ou bien si vos yeux pourront supporter de voir quelques lignes de JavaScript).&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5619051591853320584-3028937324176227198?l=blog.adhess.net' alt='' /&gt;&lt;/div&gt;</description>
      <link>http://blog.adhess.net/2010/06/non-aspnet-najoute-pas-de.html</link>
      <author>noreply@blogger.com (Guillaume Lacasa)</author>
      <total xmlns="http://purl.org/syndication/thread/1.0">0</total>
    </item>
    <item>
      <guid isPermaLink="false">34</guid>
      <link>http://feedproxy.google.com/~r/PaslatekBlog/~3/rwumxLghD3k/bdc-quand-y-en-a-plus-y-en-a-encore-20100601-34.aspx</link>
      <author>lionel.limozin@bewise.fr</author>
      <title>BDC : Quand y en a plus, y en a encore</title>
      <description>&lt;p&gt;Les 2 BDC 2010 (Toulouse et Aix) ont eu lieu en avril et mai.    &lt;br /&gt;Faut-il rappeler que BDC est l’acronyme de Bewise Day Conference, le haut-lieu des conférences sur les technologies Microsoft du sud de la France ?    &lt;br /&gt;Quoiqu’il en soit, continuez à vibrez avec nous autour des dernières technologies sur le site de l’After BDC qui est maintenant ouvert.     &lt;br /&gt;Rendez vous sur &lt;a href="http://afterbdc.bewise.fr/"&gt;http://afterbdc.bewise.fr/&lt;/a&gt; pour partager vos commentaires, retrouver les photos des événements, télécharger les sources des démos.    &lt;br /&gt;&lt;img style="display: block; float: none; margin-left: auto; margin-right: auto" alt="P1020362 par Patrice Lamarche" src="http://farm3.static.flickr.com/2696/4483966805_0cbd4f0373.jpg" width="307" height="173" /&gt;&lt;/p&gt;</description>
      <pubDate>Tue, 01 Jun 2010 18:05:25 +0200</pubDate>
      <updated xmlns="http://www.w3.org/2005/Atom">2010-06-01T18:05:25+02:00</updated>
      <origLink xmlns="http://rssnamespace.org/feedburner/ext/1.0">http://www.paslatek.net/bdc-quand-y-en-a-plus-y-en-a-encore-20100601-34.aspx</origLink>
    </item>
    <item>
      <guid isPermaLink="false">tag:blogger.com,1999:blog-5619051591853320584.post-5090637451742135602</guid>
      <pubDate>Tue, 01 Jun 2010 10:49:00 +0000</pubDate>
      <updated xmlns="http://www.w3.org/2005/Atom">2010-06-01T12:49:53.672+02:00</updated>
      <category domain="http://www.blogger.com/atom/ns#">BDC</category>
      <category domain="http://www.blogger.com/atom/ns#">Bewise</category>
      <title>La Bewise Day Conference : quand y’en a plus, y’en a encore !</title>
      <description>&lt;p&gt;Avis à la population : Bewise vient d’ouvrir son site “After BDC”, où vous pourrez trouver les photos de l’évènement, ainsi que des slides et démos des différentes sessions et ATE.&lt;/p&gt;  &lt;p&gt;Le contenu se remplira petit à petit au fil des semaines, soyez à l’écoute ! &lt;/p&gt;  &lt;p&gt;L’adresse ? c’est par là : &lt;a title="http://afterbdc.bewise.fr/" href="http://afterbdc.bewise.fr/"&gt;http://afterbdc.bewise.fr/&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Notez aussi que si vous utilisez Twitter, vous pouvez suivre le flux de l’after BDC par ici : &lt;a title="http://twitter.com/afterbdc" href="http://twitter.com/afterbdc"&gt;http://twitter.com/afterbdc&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5619051591853320584-5090637451742135602?l=blog.adhess.net' alt='' /&gt;&lt;/div&gt;</description>
      <link>http://blog.adhess.net/2010/06/la-bewise-day-conference-quand-yen-plus.html</link>
      <author>noreply@blogger.com (Guillaume Lacasa)</author>
      <total xmlns="http://purl.org/syndication/thread/1.0">0</total>
    </item>
    <item>
      <title>After BDC</title>
      <link>http://blog.djeepy1.net/2010/06/01/after-bdc/</link>
      <comments>http://blog.djeepy1.net/2010/06/01/after-bdc/#comments</comments>
      <pubDate>Tue, 01 Jun 2010 10:18:22 +0000</pubDate>
      <creator xmlns="http://purl.org/dc/elements/1.1/">Djeepy1</creator>
      <category><![CDATA[Bewise]]></category>
      <category><![CDATA[BDC]]></category>
      <category><![CDATA[Bewise Day Conference]]></category>
      <guid isPermaLink="false">https://djeepy1.wordpress.com/2010/06/01/after-bdc/</guid>
      <description><![CDATA[Les 2 BDC 2010 (Toulouse et Aix) ont eu lieu en avril et mai. Faut-il rappeler que BDC est l’acronyme de Bewise Day Conference, le haut-lieu des conférences sur les technologies Microsoft du sud de la France ? Quoiqu’il en soit, continuez à vibrez avec nous autour des dernières technologies sur le site de l’After [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.djeepy1.net&blog=7511412&post=256&subd=djeepy1&ref=&feed=1" />]]></description>
      <encoded xmlns="http://purl.org/rss/1.0/modules/content/"><![CDATA[<p>Les 2 BDC 2010 (Toulouse et Aix) ont eu lieu en avril et mai.</p>
<p>Faut-il rappeler que BDC est l’acronyme de <strong>Bewise Day Conference</strong>, le haut-lieu des conférences sur les technologies Microsoft du sud de la France ?</p>
<p>Quoiqu’il en soit, continuez à vibrez avec nous autour des dernières technologies sur le site de l’After BDC qui est maintenant ouvert.</p>
<p>Rendez vous sur <a title="http://afterbdc.bewise.fr/" href="http://afterbdc.bewise.fr/">http://afterbdc.bewise.fr/</a> pour partager vos commentaires, retrouver les photos des événements, télécharger les sources des démos.</p>
<p><a href="http://afterbdc.bewise.fr/"><img style="display:block;float:none;margin-left:auto;margin-right:auto;" title="Plenière BDC" border="0" alt="Plenière BDC" src="http://afterbdc.bewise.fr/image.axd?picture=clip_image002_2.jpg" width="240" height="136" /></a></p>
<p>A tout de suite.</p>
<br />Filed under: <a href='http://blog.djeepy1.net/category/bewise/'>Bewise</a> Tagged: <a href='http://blog.djeepy1.net/tag/bdc/'>BDC</a>, <a href='http://blog.djeepy1.net/tag/bewise-day-conference/'>Bewise Day Conference</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/djeepy1.wordpress.com/256/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/djeepy1.wordpress.com/256/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/djeepy1.wordpress.com/256/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/djeepy1.wordpress.com/256/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/djeepy1.wordpress.com/256/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/djeepy1.wordpress.com/256/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/djeepy1.wordpress.com/256/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/djeepy1.wordpress.com/256/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/djeepy1.wordpress.com/256/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/djeepy1.wordpress.com/256/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/djeepy1.wordpress.com/256/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/djeepy1.wordpress.com/256/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/djeepy1.wordpress.com/256/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/djeepy1.wordpress.com/256/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.djeepy1.net&blog=7511412&post=256&subd=djeepy1&ref=&feed=1" />]]></encoded>
      <commentRss xmlns="http://wellformedweb.org/CommentAPI/">http://blog.djeepy1.net/2010/06/01/after-bdc/feed/</commentRss>
      <comments xmlns="http://purl.org/rss/1.0/modules/slash/">0</comments>
      <content url="http://1.gravatar.com/avatar/d5bd484f181f5352c2e531cb5cc78aef?s=96&amp;d=http%3A%2F%2Fs0.wp.com%2Fi%2Fmu.gif&amp;r=G" medium="image" xmlns="http://search.yahoo.com/mrss/">
        <title type="html">djeepy1</title>
      </content>
      <content url="http://afterbdc.bewise.fr/image.axd?picture=clip_image002_2.jpg" medium="image" xmlns="http://search.yahoo.com/mrss/">
        <title type="html">Plenière BDC</title>
      </content>
    </item>
    <item>
      <title>After BDC</title>
      <link>http://www.dotmim.com/blogs/mim/archive/2010/06/01/after-bdc.aspx</link>
      <pubDate>Tue, 01 Jun 2010 09:22:39 GMT</pubDate>
      <guid isPermaLink="false">f24f4a04-d5df-4071-90fb-39191e3ba06c:577</guid>
      <creator xmlns="http://purl.org/dc/elements/1.1/">Mimetis</creator>
      <comments xmlns="http://purl.org/rss/1.0/modules/slash/">0</comments>
      <wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://www.dotmim.com/blogs/mim/rsscomments.aspx?PostID=577</wfw:commentRss>
      <comments>http://www.dotmim.com/blogs/mim/archive/2010/06/01/after-bdc.aspx#comments</comments>
      <description>&lt;p&gt;Bewise vient de mettre en ligne le site &lt;a href="http://AfterBDC.bewise.fr"&gt;http://AfterBDC.bewise.fr&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Vous y trouverez tout ce qui concerne les sessions et les photos de la Bewise Day Conference 2010.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Nous mettrons chaque semaine des nouveaux éléments. &lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Vous pouvez le suivre également sur Tweeter: &lt;a href="http://twitter.com/AfterBDC"&gt;http://twitter.com/AfterBDC&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.catuhe.com/image.axd?picture=image_16.png"&gt;&lt;img title="image" border="0" alt="image" src="http://www.catuhe.com/image.axd?picture=image_thumb_16.png" width="524" height="286" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://www.dotmim.com/aggbug.aspx?PostID=577" width="1" height="1"&gt;</description>
    </item>
    <item>
      <title>Mise en ligne des ressources / démo de la BDC</title>
      <link>http://blogs.developpeur.org/vko/archive/2010/06/01/mise-en-ligne-des-ressources-d-mo-de-la-bdc.aspx</link>
      <pubDate>Tue, 01 Jun 2010 08:44:12 GMT</pubDate>
      <guid isPermaLink="false">7d6e5d3c-61cc-4264-bc3a-a336023fcec4:48845</guid>
      <creator xmlns="http://purl.org/dc/elements/1.1/">Vko</creator>
      <comments xmlns="http://purl.org/rss/1.0/modules/slash/">1</comments>
      <comments>http://blogs.developpeur.org/vko/comments/48845.aspx</comments>
      <commentRss xmlns="http://wellformedweb.org/CommentAPI/">http://blogs.developpeur.org/vko/commentrss.aspx?PostID=48845</commentRss>
      <description>
  Retrouvez dés maintenant toutes les ressources autour de l’évènement majeur pour les développeurs .NET du sud qui a eut lieu en avril : la Bewise Developper Conference.  C’est ici que ca se passe : http://afterbdc.bewise.fr/.  PS : à noter la magnifiq...&lt;img src="http://blogs.developpeur.org/aggbug.aspx?PostID=48845" width="1" height="1"&gt;</description>
    </item>
    <item>
      <title>De l’utilisation intelligente d’Entity Framework 4.0</title>
      <description>&lt;p&gt;Un framework a beau être super puissant, il ne peut pas empêcher l'a mauvaise utilisation. Il peut tenter par de nombreux moyens de la réduire mais il ne peut l’empêcher.&lt;/p&gt;  &lt;p&gt;Du moins pas sans se brider par la suite. &lt;/p&gt;  &lt;p&gt;J’en veux pour preuve l’utilisation d’Entity Framework 4.0. Ce framework permet de manière extrêmement élégante de requêter une source de données. Et, bien utilisé, il permet aussi d’être très performant.&lt;/p&gt;  &lt;p&gt;Voici un exemple issu d’UrzaGatherer: Mon modèle possède une collection de &lt;strong&gt;Card &lt;/strong&gt;qui, entre autres, contient une propriété &lt;strong&gt;Check&lt;/strong&gt; qui permet de définir si l’utilisateur détient complètement la carte en question. Dans le cadre de la treeview qui affiche les collections de cartes, je voulais modifier le texte de chaque collection en y ajoutant le nombre de cartes manquantes le cas échéant.&lt;/p&gt;  &lt;p&gt;Pour se faire et comme tout est issu du binding dans UrzaGatherer, j’ai développé un ValueConverter utilisé ainsi:&lt;/p&gt;  &lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;TextBlock&lt;/span&gt; &lt;span class="attr"&gt;Text&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;{Binding Converter={StaticResource CountConverter}, Mode=OneWay&lt;br /&gt;, IsAsync=True}&amp;quot;&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;style type="text/css"&gt;
.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }&lt;/style&gt;

&lt;p&gt;Le code du converter était le suivant:&lt;/p&gt;

&lt;pre class="csharpcode"&gt;    &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;class&lt;/span&gt; CountConverter : IValueConverter
    {
    &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;object&lt;/span&gt; Convert(&lt;span class="kwrd"&gt;object&lt;/span&gt; &lt;span class="kwrd"&gt;value&lt;/span&gt;, Type targetType, &lt;span class="kwrd"&gt;object&lt;/span&gt; parameter, &lt;br /&gt;CultureInfo culture)
    {
        Expansion expansion = (Expansion) &lt;span class="kwrd"&gt;value&lt;/span&gt;;

        var query = from card &lt;span class="kwrd"&gt;in&lt;/span&gt; MainWindow.Entities.Cards
                    &lt;span class="kwrd"&gt;where&lt;/span&gt; card.ExpansionID == expansion.ID
                    select card;

        &lt;span class="kwrd"&gt;int&lt;/span&gt; check = 0;
        List&amp;lt;Card&amp;gt; cards = query.ToList();
        &lt;span class="kwrd"&gt;int&lt;/span&gt; count = cards.Count;

        &lt;span class="kwrd"&gt;foreach&lt;/span&gt; (Card card &lt;span class="kwrd"&gt;in&lt;/span&gt; cards)
        {
            &lt;span class="kwrd"&gt;if&lt;/span&gt; (card.Check)
                check++;
        }
        &lt;span class="kwrd"&gt;int&lt;/span&gt; missing = count - check;

        &lt;span class="kwrd"&gt;if&lt;/span&gt; (missing == 0)
            &lt;span class="kwrd"&gt;return&lt;/span&gt; &lt;span class="kwrd"&gt;string&lt;/span&gt;.Format(&lt;span class="str"&gt;&amp;quot;- {0} cards&amp;quot;&lt;/span&gt;, count);
        &lt;span class="kwrd"&gt;return&lt;/span&gt; &lt;span class="kwrd"&gt;string&lt;/span&gt;.Format(&lt;span class="str"&gt;&amp;quot;({0}/{1} - Missing : {2})&amp;quot;&lt;/span&gt;, check, count, missing);
    }

    &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;object&lt;/span&gt; ConvertBack(&lt;span class="kwrd"&gt;object&lt;/span&gt; &lt;span class="kwrd"&gt;value&lt;/span&gt;, Type targetType, &lt;span class="kwrd"&gt;object&lt;/span&gt; parameter, &lt;br /&gt;CultureInfo culture)
    {
        &lt;span class="kwrd"&gt;return&lt;/span&gt; &lt;span class="kwrd"&gt;value&lt;/span&gt;;
    }
    }&lt;/pre&gt;

&lt;p&gt;Dans ce converter, on voit donc une requête LINQ sur les cartes en question, puis une transformation en liste pour faire notre comptage.&lt;/p&gt;

&lt;p&gt;Et c’est là qu’apparait la mauvaise utilisation. En effet, la conversion en liste va effectivement faire la requête sur la base de données et créer les entités en mémoire. Ces entités qui peuvent être lourdes (c’est le cas ici ou chaque carte porte plusieurs images).&lt;/p&gt;

&lt;p&gt;Tout ça pour juste obtenir un comptage.&lt;/p&gt;

&lt;p&gt;Il faut garder à l’esprit que EF4 est efficace tant qu’on reste dans le monde des expressions LINQ, c’est à dire tant qu’on reste au final dans le monde SQL. &lt;/p&gt;

&lt;p&gt;Ici par exemple, la solution pour être bien plus efficace est simple : Il ne faut pas utiliser de listes locales mais tout traiter en LINQ:&lt;/p&gt;

&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;object&lt;/span&gt; Convert(&lt;span class="kwrd"&gt;object&lt;/span&gt; &lt;span class="kwrd"&gt;value&lt;/span&gt;, Type targetType, &lt;span class="kwrd"&gt;object&lt;/span&gt; parameter, &lt;br /&gt;CultureInfo culture)
{
   Expansion expansion = (Expansion) &lt;span class="kwrd"&gt;value&lt;/span&gt;;

   var query = from card &lt;span class="kwrd"&gt;in&lt;/span&gt; MainWindow.Entities.Cards
               &lt;span class="kwrd"&gt;where&lt;/span&gt; card.ExpansionID == expansion.ID
               select card;

   &lt;span class="kwrd"&gt;int&lt;/span&gt; check = query.Count(c =&amp;gt; c.Check);
   &lt;span class="kwrd"&gt;int&lt;/span&gt; count = query.Count();
   &lt;span class="kwrd"&gt;int&lt;/span&gt; missing = count - check;

   &lt;span class="kwrd"&gt;if&lt;/span&gt; (missing == 0)
     &lt;span class="kwrd"&gt;return&lt;/span&gt; &lt;span class="kwrd"&gt;string&lt;/span&gt;.Format(&lt;span class="str"&gt;&amp;quot;- {0} cards&amp;quot;&lt;/span&gt;, count);
   &lt;span class="kwrd"&gt;return&lt;/span&gt; &lt;span class="kwrd"&gt;string&lt;/span&gt;.Format(&lt;span class="str"&gt;&amp;quot;({0}/{1} - Missing : {2})&amp;quot;&lt;/span&gt;, check, count, missing);
}&lt;/pre&gt;

&lt;p&gt;La différence est subtile mais ici tout se passera sur SQL Server. Aucune entité ne sera créée ni ramenée côté client. Les méthodes Count() issues de LINQ vont générer des requêtes efficaces côté serveur contrairement à la méthode ToList() qui va faire un bon gros SELECT des familles pour tout reconstruire en mémoire.&lt;/p&gt;

&lt;p&gt;Donc en conclusion et en ce qui concerne Entity Framework 4.0 : &lt;strong&gt;Retardez toujours au plus tard la récupération des entités!!&lt;/strong&gt;&lt;/p&gt;
&lt;div class="addthis_toolbox addthis_default_style"  style="padding-top:10px" &gt;
&lt;a style="padding-right:10px" href="http://www.addthis.com/bookmark.php?v=250&amp;username=4a00fc5d6a261f84&amp;url=http%3a%2f%2fwww.catuhe.com%2fpost%2fDe-le28099utilisation-intelligente-de28099Entity-Framework-40.aspx&amp;title=De+l%e2%80%99utilisation+intelligente+d%e2%80%99Entity+Framework+4.0&amp;description="&gt;&lt;img src="http://s7.addthis.com/static/btn/v2/sm-bookmark-en.gif"  alt="Bookmark and Share" style="border:0"/&gt;&lt;/a&gt;
&lt;/div&gt;</description>
      <link>http://www.catuhe.com/post/De-le28099utilisation-intelligente-de28099Entity-Framework-40.aspx</link>
      <author>kosh</author>
      <comments>http://www.catuhe.com/post/De-le28099utilisation-intelligente-de28099Entity-Framework-40.aspx#comment</comments>
      <guid>http://www.catuhe.com/post.aspx?id=8daa2c51-6449-4562-a928-222120df9ec6</guid>
      <pubDate>Mon, 31 May 2010 18:42:13 +0300</pubDate>
      <category>.Net</category>
      <category>WPF</category>
      <publisher xmlns="http://purl.org/dc/elements/1.1/">kosh</publisher>
      <server xmlns="http://madskills.com/public/xml/rss/module/pingback/">http://www.catuhe.com/pingback.axd</server>
      <target xmlns="http://madskills.com/public/xml/rss/module/pingback/">http://www.catuhe.com/post.aspx?id=8daa2c51-6449-4562-a928-222120df9ec6</target>
      <comments xmlns="http://purl.org/rss/1.0/modules/slash/">0</comments>
      <ping xmlns="http://madskills.com/public/xml/rss/module/trackback/">http://www.catuhe.com/trackback.axd?id=8daa2c51-6449-4562-a928-222120df9ec6</ping>
      <comment xmlns="http://wellformedweb.org/CommentAPI/">http://www.catuhe.com/post/De-le28099utilisation-intelligente-de28099Entity-Framework-40.aspx#comment</comment>
      <commentRss xmlns="http://wellformedweb.org/CommentAPI/">http://www.catuhe.com/syndication.axd?post=8daa2c51-6449-4562-a928-222120df9ec6</commentRss>
    </item>
    <item>
      <title>UrzaGatherer</title>
      <description>&lt;p&gt;Parmi mes nombreux vices, j’ai notamment le plaisir d’être collectionneur de cartes Magic.&lt;/p&gt;  &lt;p&gt;Or cette collection est extrêmement riche et complexe à gérer. J’ai donc développé en WPF4.0, une application de gestion associée.&lt;/p&gt;  &lt;p&gt;Elle utilise SQL Server 2008 R2 express pour stocker les dizaines de milliers d’images. Le système s’appuie sur Entity Framework 4.0 (qui d’ailleurs est une tuerie).&lt;/p&gt;  &lt;p&gt;Je mettrai dans quelques temps le code source de l’application sur Codeplex.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.catuhe.com/image.axd?picture=image_12.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://www.catuhe.com/image.axd?picture=image_thumb_12.png" width="244" height="147" /&gt;&lt;/a&gt; &lt;a href="http://www.catuhe.com/image.axd?picture=image_13.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://www.catuhe.com/image.axd?picture=image_thumb_13.png" width="244" height="147" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.catuhe.com/image.axd?picture=image_14.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://www.catuhe.com/image.axd?picture=image_thumb_14.png" width="244" height="147" /&gt;&lt;/a&gt; &lt;a href="http://www.catuhe.com/image.axd?picture=image_15.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://www.catuhe.com/image.axd?picture=image_thumb_15.png" width="244" height="147" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;div class="addthis_toolbox addthis_default_style"  style="padding-top:10px" &gt;
&lt;a style="padding-right:10px" href="http://www.addthis.com/bookmark.php?v=250&amp;username=4a00fc5d6a261f84&amp;url=http%3a%2f%2fwww.catuhe.com%2fpost%2fUrzaGatherer.aspx&amp;title=UrzaGatherer&amp;description="&gt;&lt;img src="http://s7.addthis.com/static/btn/v2/sm-bookmark-en.gif"  alt="Bookmark and Share" style="border:0"/&gt;&lt;/a&gt;
&lt;/div&gt;</description>
      <link>http://www.catuhe.com/post/UrzaGatherer.aspx</link>
      <author>kosh</author>
      <comments>http://www.catuhe.com/post/UrzaGatherer.aspx#comment</comments>
      <guid>http://www.catuhe.com/post.aspx?id=8a74712a-59dc-4502-95a5-936d9c407e66</guid>
      <pubDate>Mon, 31 May 2010 14:18:02 +0300</pubDate>
      <category>WPF</category>
      <category>.Net</category>
      <category>UrzaGatherer</category>
      <publisher xmlns="http://purl.org/dc/elements/1.1/">kosh</publisher>
      <server xmlns="http://madskills.com/public/xml/rss/module/pingback/">http://www.catuhe.com/pingback.axd</server>
      <target xmlns="http://madskills.com/public/xml/rss/module/pingback/">http://www.catuhe.com/post.aspx?id=8a74712a-59dc-4502-95a5-936d9c407e66</target>
      <comments xmlns="http://purl.org/rss/1.0/modules/slash/">0</comments>
      <ping xmlns="http://madskills.com/public/xml/rss/module/trackback/">http://www.catuhe.com/trackback.axd?id=8a74712a-59dc-4502-95a5-936d9c407e66</ping>
      <comment xmlns="http://wellformedweb.org/CommentAPI/">http://www.catuhe.com/post/UrzaGatherer.aspx#comment</comment>
      <commentRss xmlns="http://wellformedweb.org/CommentAPI/">http://www.catuhe.com/syndication.axd?post=8a74712a-59dc-4502-95a5-936d9c407e66</commentRss>
    </item>
    <item>
      <title>Tuning des attributs de dimension dans Analysis Services</title>
      <link>http://blog.djeepy1.net/2010/05/21/tuning-des-attributs-de-dimension-dans-analysis-services/</link>
      <comments>http://blog.djeepy1.net/2010/05/21/tuning-des-attributs-de-dimension-dans-analysis-services/#comments</comments>
      <pubDate>Fri, 21 May 2010 09:39:19 +0000</pubDate>
      <creator xmlns="http://purl.org/dc/elements/1.1/">Djeepy1</creator>
      <category><![CDATA[Analysis Services]]></category>
      <category><![CDATA[Dimension]]></category>
      <category><![CDATA[SSAS]]></category>
      <guid isPermaLink="false">https://djeepy1.wordpress.com/2010/05/21/tuning-des-attributs-de-dimension-dans-analysis-services/</guid>
      <description><![CDATA[&#160; Les attributs d’une dimension dans un cube servent à la base à analyser les données selon les valeurs qu’ils contiennent. Par exemple, dans une dimension produit, on peut avoir des attributs comme la couleur, le poids, la gamme, le nom du designer qui l’a créé, etc. Dans la vraie vie, une dimension peut contenir [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.djeepy1.net&blog=7511412&post=254&subd=djeepy1&ref=&feed=1" />]]></description>
      <encoded xmlns="http://purl.org/rss/1.0/modules/content/"><![CDATA[<p>&#160;</p>
<p>Les attributs d’une dimension dans un cube servent à la base à analyser les données selon les valeurs qu’ils contiennent. Par exemple, dans une dimension <em>produit</em>, on peut avoir des attributs comme la couleur, le poids, la gamme, le nom du designer qui l’a créé, etc.</p>
<p>Dans la vraie vie, une dimension peut contenir un grand nombre d’attributs. Le problème est que souvent, certains attributs n’ont rien à voir avec de l’analyse. Par exemple, un attribut Adresse dans une dimension client n’est pas un bon candidat pour l’analyse (et je parle bien de l’adresse du genre “<em>3 rue des macarons cuits”</em>, pas de la ville ou du code postal). </p>
<p><a href="http://djeepy1.files.wordpress.com/2010/05/image4.png"><img style="display:inline;border-width:0;" title="image" border="0" alt="image" src="http://djeepy1.files.wordpress.com/2010/05/image_thumb4.png?w=504&#038;h=285" width="504" height="285" /></a> </p>
<p>Néanmoins, on trouve souvent ce genre d’attributs à des fins de présentation dans un rapport (pour du publipostage ou de l’export par exemple). </p>
<p>Mon premier avis serait d’orienter ce genre de restitution de données vers une base de production (ou tout du moins dans une base relationnelle) comme source de données et non un cube mais ce n’est pas toujours possible.</p>
<p>L’approche que j’utilise est la suivante. Je catégorise avec mon client les attributs : </p>
<ul>
<li><strong>Attribut d’analyse</strong> : utilisé pour ventiler les mesures </li>
<li><strong>Attribut intermédiaire</strong> : attribut technique utilisé dans une Referenced Dimension Usage par exemple </li>
<li><strong>Propriété simple</strong> : utilisé pour afficher des méta-données sur le client </li>
</ul>
<p>En fonction de ma classification, je configure les attributs différemment pour optimiser mon cube :</p>
<p align="center"><a href="http://djeepy1.files.wordpress.com/2010/05/image5.png"><img style="display:block;float:none;margin-left:auto;margin-right:auto;border-width:0;" title="image" border="0" alt="image" src="http://djeepy1.files.wordpress.com/2010/05/image_thumb5.png?w=291&#038;h=152" width="291" height="152" /></a> </p>
<div align="center">
<table border="1" cellspacing="0" cellpadding="2" width="400" align="center">
<tbody>
<tr style="background-color:darkorange;color:white;">
<td valign="top" width="100">
<p align="center"></p>
</td>
<td valign="top" width="100">
<p align="center"><strong>Enabled</strong></p>
</td>
<td valign="top" width="100">
<p align="center"><strong>Visible</strong></p>
</td>
<td valign="top" width="100">
<p align="center"><strong>OptimizedState</strong></p>
</td>
</tr>
<tr>
<td valign="top" width="100"><strong>Attribut d’analyse</strong></td>
<td valign="top" width="100">
<p align="center">True</p>
</td>
<td valign="top" width="100">
<p align="center">True</p>
</td>
<td valign="top" width="100">
<p align="center">FullyOptimized</p>
</td>
</tr>
<tr style="background-color:lemonchiffon;">
<td valign="top" width="100"><strong>Attribut intermédiaire</strong></td>
<td valign="top" width="100">
<p align="center">True</p>
</td>
<td valign="top" width="100">
<p align="center">False</p>
</td>
<td valign="top" width="100">
<p align="center">NotOptimized</p>
</td>
</tr>
<tr>
<td valign="top" width="100"><strong>Propriété</strong></td>
<td valign="top" width="100">
<p align="center">False</p>
</td>
<td valign="top" width="100">
<p align="center">N/A</p>
</td>
<td valign="top" width="100">
<p align="center">NotOptimized</p>
</td>
</tr>
</tbody>
</table></div>
<p>Il y a toutefois encore un problème à résoudre. En effet, le fait de mettre <strong>AttributeHierarchyEnabled</strong> à false, empêche de voir la propriété dans les assistants d’un outil comme Report Builder.</p>
<p>En effet, en requêtage MDX, on récupère un CellSet qui peut contenir, si on les demande dans la requête, les méta-données mais il faut que le client OLAP sache les exploiter correctement.</p>
<p>Par exemple, Excel (2007+) sait les demander et les afficher nativement.</p>
<p><a href="http://djeepy1.files.wordpress.com/2010/05/image6.png"><img style="display:inline;border-width:0;" title="image" border="0" alt="image" src="http://djeepy1.files.wordpress.com/2010/05/image_thumb6.png?w=468&#038;h=184" width="468" height="184" /></a> </p>
<p>Dans Report Builder, on devra passer par un membre calculé pour remonter la propriété comme une mesure avec une expression comme celle-ci.</p>
<p style="background-color:#eee;">[Tiers].CurrentMember.Properties(“Adresse”)</p>
<p>La méthode est décrite dans ce post :    <br />&#160;<a title="http://blog.djeepy1.net/2009/01/27/report-builder-2-0-creer-un-membre-calcule-sans-passer-par-ssas/" href="http://blog.djeepy1.net/2009/01/27/report-builder-2-0-creer-un-membre-calcule-sans-passer-par-ssas/">http://blog.djeepy1.net/2009/01/27/report-builder-2-0-creer-un-membre-calcule-sans-passer-par-ssas/</a></p>
<br />Filed under: <a href='http://blog.djeepy1.net/category/analysis-services/'>Analysis Services</a> Tagged: <a href='http://blog.djeepy1.net/tag/analysis-services/'>Analysis Services</a>, <a href='http://blog.djeepy1.net/tag/dimension/'>Dimension</a>, <a href='http://blog.djeepy1.net/tag/ssas/'>SSAS</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/djeepy1.wordpress.com/254/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/djeepy1.wordpress.com/254/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/djeepy1.wordpress.com/254/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/djeepy1.wordpress.com/254/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/djeepy1.wordpress.com/254/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/djeepy1.wordpress.com/254/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/djeepy1.wordpress.com/254/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/djeepy1.wordpress.com/254/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/djeepy1.wordpress.com/254/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/djeepy1.wordpress.com/254/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/djeepy1.wordpress.com/254/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/djeepy1.wordpress.com/254/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/djeepy1.wordpress.com/254/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/djeepy1.wordpress.com/254/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.djeepy1.net&blog=7511412&post=254&subd=djeepy1&ref=&feed=1" />]]></encoded>
      <commentRss xmlns="http://wellformedweb.org/CommentAPI/">http://blog.djeepy1.net/2010/05/21/tuning-des-attributs-de-dimension-dans-analysis-services/feed/</commentRss>
      <comments xmlns="http://purl.org/rss/1.0/modules/slash/">0</comments>
      <content url="http://1.gravatar.com/avatar/d5bd484f181f5352c2e531cb5cc78aef?s=96&amp;d=http%3A%2F%2Fs0.wp.com%2Fi%2Fmu.gif&amp;r=G" medium="image" xmlns="http://search.yahoo.com/mrss/">
        <title type="html">djeepy1</title>
      </content>
      <content url="http://djeepy1.files.wordpress.com/2010/05/image_thumb4.png" medium="image" xmlns="http://search.yahoo.com/mrss/">
        <title type="html">image</title>
      </content>
      <content url="http://djeepy1.files.wordpress.com/2010/05/image_thumb5.png" medium="image" xmlns="http://search.yahoo.com/mrss/">
        <title type="html">image</title>
      </content>
      <content url="http://djeepy1.files.wordpress.com/2010/05/image_thumb6.png" medium="image" xmlns="http://search.yahoo.com/mrss/">
        <title type="html">image</title>
      </content>
    </item>
    <item>
      <guid isPermaLink="false">tag:blogger.com,1999:blog-2661757067011288732.post-6093749425778556336</guid>
      <pubDate>Wed, 19 May 2010 08:59:00 +0000</pubDate>
      <updated xmlns="http://www.w3.org/2005/Atom">2010-05-19T02:17:50.166-07:00</updated>
      <title>SSRS – Référencer et utiliser des DLL Custom Code</title>
      <description>&lt;p&gt;A partir des propriétés d’un rapport, Reporting Services vous permet d’écrire des fonctions, en VB.NET uniquement pour le moment.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/_oumjLG2Z2ck/S_OrwaD0UvI/AAAAAAAALOE/co2TLS8jHns/s1600-h/image%5B21%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh4.ggpht.com/_oumjLG2Z2ck/S_OrxKXIcZI/AAAAAAAALOI/Bm46dQND5sk/image_thumb%5B9%5D.png?imgmax=800" width="434" height="342" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;Mais Reporting Services, permet aussi, fort heureusement, de référencer des assemblys métier afin d’en exploiter les fonctionnalités. &lt;/p&gt;  &lt;p&gt;Pour ce faire, il suffit, comme la copie d’écran ci-dessous le montre, de référencer une dll puis d’instancier un objet si c’est une classe instanciable (pas besoin d’objet dans le cas de méthodes statiques).&lt;/p&gt;  &lt;p&gt;&lt;u&gt;Attention&lt;/u&gt; : “Class Name” = Namespace.NomDeLaClasse&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/_oumjLG2Z2ck/S_Oog7U6SeI/AAAAAAAALN8/G6jEhm4q3NE/s1600-h/image%5B17%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh5.ggpht.com/_oumjLG2Z2ck/S_OohqfP4aI/AAAAAAAALOA/APvT_Xtyj44/image_thumb%5B7%5D.png?imgmax=800" width="417" height="323" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Pensez à ajouter votre DLL dans le GAC ou dans les répertoires suivants:&lt;/p&gt;  &lt;p&gt;&lt;em&gt;C:\Program Files (x86)\Microsoft Visual Studio 9.0\Common7\IDE\PrivateAssemblies&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;em&gt;C:\Program Files\Microsoft SQL Server\MSRS10.SQLSERVER2008\Reporting Services\ReportServer\bin&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;Il suffit ensuite d’appeler vos méthodes en utilisant les expressions (&lt;em&gt;Code.MonObjet.MaMethode()&lt;/em&gt;):&lt;/p&gt;  &lt;p&gt;&lt;em&gt;=Code.MyCustomCodeNonSigne.CalculerCA(“2010”)&lt;/em&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2661757067011288732-6093749425778556336?l=becauseofintellisense.blogspot.com' alt='' /&gt;&lt;/div&gt;</description>
      <link>http://becauseofintellisense.blogspot.com/2010/05/ssrs-referencer-et-utiliser-des-dll.html</link>
      <author>nicolas.bruschini@bewise.fr (Rouge)</author>
      <total xmlns="http://purl.org/syndication/thread/1.0">0</total>
    </item>
    <item>
      <ping xmlns="http://madskills.com/public/xml/rss/module/trackback/">http://patricelamarche.net/Trackback.aspx?guid=2fbc5ea8-db37-4af4-bdbb-a82c9973c9c4</ping>
      <server xmlns="http://madskills.com/public/xml/rss/module/pingback/">http://patricelamarche.net/pingback.aspx</server>
      <target xmlns="http://madskills.com/public/xml/rss/module/pingback/">http://patricelamarche.net/PermaLink,guid,2fbc5ea8-db37-4af4-bdbb-a82c9973c9c4.aspx</target>
      <creator xmlns="http://purl.org/dc/elements/1.1/">Patrice Lamarche</creator>
      <comment xmlns="http://wellformedweb.org/CommentAPI/">http://patricelamarche.net/CommentView,guid,2fbc5ea8-db37-4af4-bdbb-a82c9973c9c4.aspx</comment>
      <commentRss xmlns="http://wellformedweb.org/CommentAPI/">http://patricelamarche.net/SyndicationService.asmx/GetEntryCommentsRss?guid=2fbc5ea8-db37-4af4-bdbb-a82c9973c9c4</commentRss>
      <title>News de la semaine #20</title>
      <guid isPermaLink="false">http://patricelamarche.net/PermaLink,guid,2fbc5ea8-db37-4af4-bdbb-a82c9973c9c4.aspx</guid>
      <link>http://feedproxy.google.com/~r/Patrice/~3/JiwhgxICm3c/NewsDeLaSemaine20.aspx</link>
      <pubDate>Mon, 17 May 2010 21:04:44 GMT</pubDate>
      <description>&lt;body xmlns="http://www.w3.org/1999/xhtml"&gt;
        &lt;p&gt;
          &lt;img style="display: inline; margin-left: 0px; margin-right: 0px" alt="image" align="right" src="http://patricelamarche.net/content/binary/WindowsLiveWriter/Newsdelasemaine18_9F77/image_thumb.png"&gt;&lt;/img&gt;Commençons
comme chaque semaine l’actualité de Windows Azure. &lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=86f12b41-1eba-4567-9ac8-02eaa7d12034"&gt;Cette
semaine Microsoft nous propose un document comparant les fonctionnalité de SQL Azure
et de SQL Server&lt;/a&gt;.
&lt;/p&gt;
        &lt;p&gt;
          &lt;a href="http://blogs.msdn.com/adonet/archive/2010/05/10/improvements-to-generated-sql-in-net-4-0.aspx"&gt;L’équipe
d’ADO.net présente les améliorations apportées au moteur de génération de code SQL
avec la version 4 d’Entity Framework&lt;/a&gt;.
&lt;/p&gt;
        &lt;p&gt;
          &lt;a href="http://blogs.msdn.com/jennifer/archive/2010/05/11/visual-studio-2010-how-to-understand-your-code-using-dependency-graphs-sequence-diagrams-and-the-architecture-explorer.aspx"&gt;Jennifer
Marsman publie un long post décrivant les nouveautés de Visual Studio 2010 en terme
de visualisation d’architecture et d’analyse des dépendances.&lt;/a&gt;
        &lt;/p&gt;
        &lt;p&gt;
          &lt;a href="http://blogs.msdn.com/vbertocci/archive/2010/05/10/the-new-release-of-the-identity-training-kit-works-on-vs2010.aspx"&gt;L’Identity
Developer Training kit pour Visual Studio 2010 est à présent disponible&lt;/a&gt;.
&lt;/p&gt;
        &lt;p&gt;
Du côté de l’actualité française, &lt;a href="http://blog.adhess.net/2010/05/la-librairie-microsoft-ajax-abandonnee.html"&gt;Guillaume
Lacasa nous informe que jQuery prend définitivement le pas sur la librairie Microsoft
Ajax&lt;/a&gt;.
&lt;/p&gt;
        &lt;p&gt;
Nicolas Esprit nous propose un article sur &lt;a href="http://nicolasesprit.developpez.com/tutoriels/dotnet/deploiement-application-web-avec-visual-studio-2010/"&gt;le
déploiement d’applications web avec Visual Studio 2010.&lt;/a&gt;&lt;/p&gt;
        &lt;p&gt;
Et enfin, &lt;a href="http://www.techheadbrothers.com/Articles.aspx/instrumenter-analyser-application-dotfuscator-4-0"&gt;Benoit
Laut publie un article complet sur TechHeadBrothers sur l’implémentation d’instrumentation
à l’aide de dotfuscator 4.0&lt;/a&gt;.
&lt;/p&gt;
        &lt;div class="wlWriterHeaderFooter" style="margin:0px; padding:4px 0px 4px 1px;"&gt;
          &lt;iframe src="http://www.facebook.com/widgets/like.php?href=http://patricelamarche.net/2010/05/17/NewsDeLaSemaine20.aspx" scrolling="no" frameborder="0" style="border:none; width:450px; height:80px"&gt;
          &lt;/iframe&gt;
        &lt;/div&gt;
        &lt;img width="0" height="0" src="http://patricelamarche.net/aggbug.ashx?id=2fbc5ea8-db37-4af4-bdbb-a82c9973c9c4"&gt;&lt;/img&gt;
      &lt;/body&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Patrice?a=JiwhgxICm3c:oYDDiYTLNCE:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Patrice?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Patrice?a=JiwhgxICm3c:oYDDiYTLNCE:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Patrice?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Patrice?a=JiwhgxICm3c:oYDDiYTLNCE:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Patrice?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Patrice?a=JiwhgxICm3c:oYDDiYTLNCE:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Patrice?i=JiwhgxICm3c:oYDDiYTLNCE:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Patrice?a=JiwhgxICm3c:oYDDiYTLNCE:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Patrice?i=JiwhgxICm3c:oYDDiYTLNCE:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Patrice/~4/JiwhgxICm3c" height="1" width="1"/&gt;</description>
      <comments>http://patricelamarche.net/CommentView,guid,2fbc5ea8-db37-4af4-bdbb-a82c9973c9c4.aspx</comments>
      <category>News</category>
      <origLink xmlns="http://rssnamespace.org/feedburner/ext/1.0">http://patricelamarche.net/2010/05/17/NewsDeLaSemaine20.aspx</origLink>
    </item>
    <item>
      <ping xmlns="http://madskills.com/public/xml/rss/module/trackback/">http://benoitlaut.net/Trackback.aspx?guid=03f0d3a4-03df-4f36-948c-29359b431e64</ping>
      <server xmlns="http://madskills.com/public/xml/rss/module/pingback/">http://benoitlaut.net/pingback.aspx</server>
      <target xmlns="http://madskills.com/public/xml/rss/module/pingback/">http://benoitlaut.net/PermaLink,guid,03f0d3a4-03df-4f36-948c-29359b431e64.aspx</target>
      <creator xmlns="http://purl.org/dc/elements/1.1/">Benoît Laut</creator>
      <comment xmlns="http://wellformedweb.org/CommentAPI/">http://benoitlaut.net/CommentView,guid,03f0d3a4-03df-4f36-948c-29359b431e64.aspx</comment>
      <commentRss xmlns="http://wellformedweb.org/CommentAPI/">http://benoitlaut.net/SyndicationService.asmx/GetEntryCommentsRss?guid=03f0d3a4-03df-4f36-948c-29359b431e64</commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
          <a href="http://benoitlaut.net/content/binary/WindowsLiveWriter/DveloppementOfficeetredirectionsdesPIA_F365/image_2.png">
            <img style="border-right-width: 0px; margin: 0px 10px 0px 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" align="left" src="http://benoitlaut.net/content/binary/WindowsLiveWriter/DveloppementOfficeetredirectionsdesPIA_F365/image_thumb.png" width="460" height="207" />
          </a> Avec
un collègue nous nous sommes posés quelques questions sur le développement autour
d’Office et surtout sur le déploiement des PIA (Primary Interop Assembly). 
</p>
        <p>
La problématique est la suivante : sur nos postes nous avons Office 2010 d’installé.
Nous avons donc référencé, dans notre projet de manipulation de documents Office,
les PIA d’Office 2010. Ces assemblies permettent aux applications .Net d’utiliser
les fonctionnalités Office. Ceci signifie que lors du déploiement de l’application,
il faut qu’Office et les PIA soient installés sur le poste client (ou sur le serveur
si c’est une application web par exemple). Pour information, avec Office 2010, les
PIA sont forcément installées, ce qui n’était pas le cas avec les anciennes versions.
Elles ne sont d’ailleurs pas encore “redistribuable” en version 2010.
</p>
        <p>
Nous venons de découvrir que sur le serveur c’est Office 2007 qui est installé, or
le projet doit à terme fonctionner avec Office 2010… 
</p>
        <p>
Doit-on changer nos références? [Edit] Non. Lorsque l’on instancie une classe Application
(pour Word par exemple), celle-ci est instanciée (en interne) en utilisant le ProgID
“Word.Application” et non “Word.Application.14”. Ce ProgID est indépendant de la version
d’Office installée et donc si les PIA 2007 sont installées, notre application fonctionnera.
</p>
        <p>
La version installée sur le serveur est Office 2007 (version 12.0). Si nous avions
référencé les PIA 12.0, après installation d’Office 2010 la redirection se ferait
automatiquement. Office installe des assemblies de redirection de version dans le
GAC (Policy.12.0.Microsoft.Office.Interop.XXX). Chaque assembly est accompagnée d’un
fichier de configuration qui indique à la CLR que lorsque notre application lui demandera
de charger une PIA 12.0, elle devra lui fournir la version 14.0.
</p>
        <p>
 
</p>
        <p>
Pour s’en assurer, il suffit d’ouvrir un Command Prompt et de se rendre dans le répertoire
du GAC de l’assembly Policy comme indiqué ci-dessous :
</p>
        <p>
          <a href="http://benoitlaut.net/content/binary/WindowsLiveWriter/DveloppementOfficeetredirectionsdesPIA_F365/image_4.png">
            <img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://benoitlaut.net/content/binary/WindowsLiveWriter/DveloppementOfficeetredirectionsdesPIA_F365/image_thumb_1.png" width="733" height="317" />
          </a>
        </p>
        <p>
Dans le répertoire Policy.12.0.Microsoft.Office.Interop.Word se trouvent une assembly
et un fichier de config. Pour éditer le fichier de configuration il suffit depuis
le command prompt de taper le nom de fichier. Ceci aura pour effet de l’ouvrir dans
Visual Studio. Nous pouvons ainsi visualiser le fameux BindingRedirect de la version
12.0 vers la version 14.0 :
</p>
        <p>
          <a href="http://benoitlaut.net/content/binary/WindowsLiveWriter/DveloppementOfficeetredirectionsdesPIA_F365/image_6.png">
            <img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://benoitlaut.net/content/binary/WindowsLiveWriter/DveloppementOfficeetredirectionsdesPIA_F365/image_thumb_2.png" width="990" height="193" />
          </a>
        </p>
        <p>
Les redirections d’Office 2003 vers 2010 sont également présentes dans le GAC.
</p>
        <div class="wlWriterHeaderFooter" style="margin:0px; padding:4px 0px 4px 1px;">
          <iframe src="http://www.facebook.com/widgets/like.php?href=http://benoitlaut.net/2010/05/17/D%c3%a9veloppementOfficeEtRedirectionsDesPIA.aspx" scrolling="no" frameborder="0" style="border:none; width:450px; height:80px"></iframe>
        </div>
        <img width="0" height="0" src="http://benoitlaut.net/aggbug.ashx?id=03f0d3a4-03df-4f36-948c-29359b431e64" />
      </body>
      <title>Développement Office et redirections des PIA</title>
      <guid isPermaLink="false">http://benoitlaut.net/PermaLink,guid,03f0d3a4-03df-4f36-948c-29359b431e64.aspx</guid>
      <link>http://benoitlaut.net/2010/05/17/D%c3%a9veloppementOfficeEtRedirectionsDesPIA.aspx</link>
      <pubDate>Mon, 17 May 2010 15:18:41 GMT</pubDate>
      <description>&lt;p&gt;
&lt;a href="http://benoitlaut.net/content/binary/WindowsLiveWriter/DveloppementOfficeetredirectionsdesPIA_F365/image_2.png"&gt;&lt;img style="border-right-width: 0px; margin: 0px 10px 0px 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" align="left" src="http://benoitlaut.net/content/binary/WindowsLiveWriter/DveloppementOfficeetredirectionsdesPIA_F365/image_thumb.png" width="460" height="207"&gt;&lt;/a&gt; Avec
un collègue nous nous sommes posés quelques questions sur le développement autour
d’Office et surtout sur le déploiement des PIA (Primary Interop Assembly). 
&lt;/p&gt;
&lt;p&gt;
La problématique est la suivante : sur nos postes nous avons Office 2010 d’installé.
Nous avons donc référencé, dans notre projet de manipulation de documents Office,
les PIA d’Office 2010. Ces assemblies permettent aux applications .Net d’utiliser
les fonctionnalités Office. Ceci signifie que lors du déploiement de l’application,
il faut qu’Office et les PIA soient installés sur le poste client (ou sur le serveur
si c’est une application web par exemple). Pour information, avec Office 2010, les
PIA sont forcément installées, ce qui n’était pas le cas avec les anciennes versions.
Elles ne sont d’ailleurs pas encore “redistribuable” en version 2010.
&lt;/p&gt;
&lt;p&gt;
Nous venons de découvrir que sur le serveur c’est Office 2007 qui est installé, or
le projet doit à terme fonctionner avec Office 2010… 
&lt;/p&gt;
&lt;p&gt;
Doit-on changer nos références? [Edit] Non. Lorsque l’on instancie une classe Application
(pour Word par exemple), celle-ci est instanciée (en interne) en utilisant le ProgID
“Word.Application” et non “Word.Application.14”. Ce ProgID est indépendant de la version
d’Office installée et donc si les PIA 2007 sont installées, notre application fonctionnera.
&lt;/p&gt;
&lt;p&gt;
La version installée sur le serveur est Office 2007 (version 12.0). Si nous avions
référencé les PIA 12.0, après installation d’Office 2010 la redirection se ferait
automatiquement. Office installe des assemblies de redirection de version dans le
GAC (Policy.12.0.Microsoft.Office.Interop.XXX). Chaque assembly est accompagnée d’un
fichier de configuration qui indique à la CLR que lorsque notre application lui demandera
de charger une PIA 12.0, elle devra lui fournir la version 14.0.
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
Pour s’en assurer, il suffit d’ouvrir un Command Prompt et de se rendre dans le répertoire
du GAC de l’assembly Policy comme indiqué ci-dessous :
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://benoitlaut.net/content/binary/WindowsLiveWriter/DveloppementOfficeetredirectionsdesPIA_F365/image_4.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://benoitlaut.net/content/binary/WindowsLiveWriter/DveloppementOfficeetredirectionsdesPIA_F365/image_thumb_1.png" width="733" height="317"&gt;&lt;/a&gt; 
&lt;/p&gt;
&lt;p&gt;
Dans le répertoire Policy.12.0.Microsoft.Office.Interop.Word se trouvent une assembly
et un fichier de config. Pour éditer le fichier de configuration il suffit depuis
le command prompt de taper le nom de fichier. Ceci aura pour effet de l’ouvrir dans
Visual Studio. Nous pouvons ainsi visualiser le fameux BindingRedirect de la version
12.0 vers la version 14.0 :
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://benoitlaut.net/content/binary/WindowsLiveWriter/DveloppementOfficeetredirectionsdesPIA_F365/image_6.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://benoitlaut.net/content/binary/WindowsLiveWriter/DveloppementOfficeetredirectionsdesPIA_F365/image_thumb_2.png" width="990" height="193"&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
Les redirections d’Office 2003 vers 2010 sont également présentes dans le GAC.
&lt;/p&gt;
&lt;div class="wlWriterHeaderFooter" style="margin:0px; padding:4px 0px 4px 1px;"&gt;
&lt;iframe src="http://www.facebook.com/widgets/like.php?href=http://benoitlaut.net/2010/05/17/D%c3%a9veloppementOfficeEtRedirectionsDesPIA.aspx" scrolling="no" frameborder="0" style="border:none; width:450px; height:80px"&gt;
&lt;/iframe&gt;
&lt;/div&gt;
&lt;img width="0" height="0" src="http://benoitlaut.net/aggbug.ashx?id=03f0d3a4-03df-4f36-948c-29359b431e64" /&gt;</description>
      <comments>http://benoitlaut.net/CommentView,guid,03f0d3a4-03df-4f36-948c-29359b431e64.aspx</comments>
      <category>Framework .Net</category>
      <category>VSTO</category>
    </item>
    <item>
      <ping xmlns="http://madskills.com/public/xml/rss/module/trackback/">http://benoitlaut.net/Trackback.aspx?guid=efff825d-7cd5-465b-995e-fe3b7d02b673</ping>
      <server xmlns="http://madskills.com/public/xml/rss/module/pingback/">http://benoitlaut.net/pingback.aspx</server>
      <target xmlns="http://madskills.com/public/xml/rss/module/pingback/">http://benoitlaut.net/PermaLink,guid,efff825d-7cd5-465b-995e-fe3b7d02b673.aspx</target>
      <creator xmlns="http://purl.org/dc/elements/1.1/">Benoît Laut</creator>
      <comment xmlns="http://wellformedweb.org/CommentAPI/">http://benoitlaut.net/CommentView,guid,efff825d-7cd5-465b-995e-fe3b7d02b673.aspx</comment>
      <commentRss xmlns="http://wellformedweb.org/CommentAPI/">http://benoitlaut.net/SyndicationService.asmx/GetEntryCommentsRss?guid=efff825d-7cd5-465b-995e-fe3b7d02b673</commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
          <a href="http://benoitlaut.net/content/binary/WindowsLiveWriter/a9ebcdb49973_EDF1/image_4.png">
            <img style="border-right-width: 0px; margin: 0px 10px 0px 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" align="left" src="http://benoitlaut.net/content/binary/WindowsLiveWriter/a9ebcdb49973_EDF1/image_thumb_1.png" width="200" height="169" />
          </a>
        </p>
        <p>
Parmi les nombreuses nouveautés du développement d’addin VSTO, nous retrouvons bien
évidemment le Ribbon, qui est maintenant disponible depuis l’Explorer d’Outlook 2010.
A l’ombre de cette grande nouveauté, d’autres font leur apparition mais passent un
peu inaperçu.   
</p>
        <p>
Dans le développement d’addin VSTO pour Outlook 2010, il est aujourd’hui possible
de définir des icones personnalisées pour certains répertoires.  Comme vous pouvez
le voir sur l’image ci-contre, j’ai défini une icône custom pour 2 de mes répertoires.
La classe MAPIFolder possède maintenant une méthode SetCustomIcon qui prend en paramètre
une instance de la classe StdPicture : 
</p>
        <div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:9ce6104f-a9aa-4a17-a79f-3a39532ebf7c:2c41b03f-ccf3-42f8-b140-ac5034d1e051" class="wlWriterSmartContent">
          <div class="le-pavsc-container">
            <div style="background: #fff; max-height: 300px; overflow: auto">
              <ol style="background: #ffffff; margin: 0; padding: 0 0 0 5px;">
                <li>
                  <span style="color:#808080">///</span>
                  <span style="color:#008000"></span>
                  <span style="color:#808080">&lt;summary&gt;</span>
                  <span style="color:#008000"></span>
                </li>
                <li class="even">
                  <span style="color:#808080">///</span>
                  <span style="color:#008000"> Sets a custom icon
that is specified by Picture for the folder </span>
                </li>
                <li>
                  <span style="color:#808080">///</span>
                  <span style="color:#008000"></span>
                  <span style="color:#808080">&lt;/summary&gt;</span>
                  <span style="color:#008000"></span>
                </li>
                <li class="even">
                  <span style="color:#808080">///</span>
                  <span style="color:#008000"></span>
                  <span style="color:#808080">&lt;param
name="Picture"&gt;</span>
                  <span style="color:#008000">Specifies the custom
icon for the folder</span>
                  <span style="color:#808080">&lt;/param&gt;</span>
                  <span style="color:#008000"></span>
                </li>
                <li>
                  <span style="color:#0000ff">void</span> SetCustomIcon(stdole.<span style="color:#2b91af">StdPicture</span> Picture);</li>
              </ol>
            </div>
          </div>
        </div>
        <p>
  
</p>
        <p>
  
</p>
        <p>
Afin d’obtenir une instance de type StdPicture à partir d’un objet de type Bitmap
(ou Image), il faut créer une classe qui hérite de AxHost. Cette classe est un wrapper
de contrôle ActiveX et possède une méthode statique (et protected) qui se nomme GetIPictureDispFromPicture
: 
</p>
        <div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:9ce6104f-a9aa-4a17-a79f-3a39532ebf7c:c9a89bfd-a228-4002-ba86-624415777bb3" class="wlWriterSmartContent">
          <div style="border: #000080 1px solid; color: #000; font-family: 'Courier New', Courier, Monospace; font-size: 10pt">
            <div style="background: #fff; max-height: 300px; overflow: auto">
              <ol style="background: #ffffff; margin: 0; padding: 0 0 0 5px;">
                <li>
                  <span style="color:#0000ff">sealed</span>
                  <span style="color:#0000ff">public</span>
                  <span style="color:#0000ff">class</span>
                  <span style="color:#2b91af">ConvertImage</span> :
System.Windows.Forms.<span style="color:#2b91af">AxHost</span></li>
                <li style="background: #f3f3f3">
{</li>
                <li>
                  <span style="color:#0000ff">private</span> ConvertImage()</li>
                <li style="background: #f3f3f3">
: <span style="color:#0000ff">base</span>(<span style="color:#0000ff">null</span>)</li>
                <li>
{</li>
                <li style="background: #f3f3f3">
}</li>
                <li>
                  <span style="color:#0000ff">public</span>
                  <span style="color:#0000ff">static</span> stdole.<span style="color:#2b91af">StdPicture</span> ConvertToStdPicture(System.Drawing.<span style="color:#2b91af">Image</span> image)</li>
                <li style="background: #f3f3f3">
{</li>
                <li>
                  <span style="color:#0000ff">return</span> (stdole.<span style="color:#2b91af">StdPicture</span>)GetIPictureDispFromPicture(image);</li>
                <li style="background: #f3f3f3">
}</li>
                <li>
}</li>
              </ol>
            </div>
          </div>
        </div>
        <p></p>
        <p>
Le tour est joué, il n’y a plus qu’à faire appel à la méthode SetCustomIcon : 
</p>
        <div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:9ce6104f-a9aa-4a17-a79f-3a39532ebf7c:59c08d6e-0fa0-49fc-a5e5-160def353655" class="wlWriterSmartContent">
          <div style="border: #000080 1px solid; color: #000; font-family: 'Courier New', Courier, Monospace; font-size: 10pt">
            <div style="background: #fff; max-height: 300px; overflow: auto">
              <ol style="background: #ffffff; margin: 0; padding: 0 0 0 5px;">
                <li>
                  <span style="color:#0000ff">private</span>
                  <span style="color:#0000ff">void</span> SetCustomIcon(<span style="color:#2b91af">MAPIFolder</span> folder,
System.Drawing.<span style="color:#2b91af">Bitmap</span> image)</li>
                <li style="background: #f3f3f3">
{</li>
                <li>
folder.SetCustomIcon(<span style="color:#2b91af">ConvertImage</span>.ConvertToStdPicture(image));</li>
                <li style="background: #f3f3f3">
}</li>
              </ol>
            </div>
          </div>
        </div>
        <div class="wlWriterHeaderFooter" style="margin:0px; padding:4px 0px 4px 1px;">
          <iframe src="http://www.facebook.com/widgets/like.php?href=http://benoitlaut.net/2010/05/15/Nouveaut%c3%a9sPourLesAddinsOutlook2010MAPIFolderSetCustomIcon.aspx" scrolling="no" frameborder="0" style="border:none; width:450px; height:80px"></iframe>
        </div>
        <img width="0" height="0" src="http://benoitlaut.net/aggbug.ashx?id=efff825d-7cd5-465b-995e-fe3b7d02b673" />
      </body>
      <title>Nouveautés pour les addins Outlook 2010 : MAPIFolder.SetCustomIcon</title>
      <guid isPermaLink="false">http://benoitlaut.net/PermaLink,guid,efff825d-7cd5-465b-995e-fe3b7d02b673.aspx</guid>
      <link>http://benoitlaut.net/2010/05/15/Nouveaut%c3%a9sPourLesAddinsOutlook2010MAPIFolderSetCustomIcon.aspx</link>
      <pubDate>Sat, 15 May 2010 15:03:02 GMT</pubDate>
      <description>&lt;p&gt;
&lt;a href="http://benoitlaut.net/content/binary/WindowsLiveWriter/a9ebcdb49973_EDF1/image_4.png"&gt;&lt;img style="border-right-width: 0px; margin: 0px 10px 0px 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" align="left" src="http://benoitlaut.net/content/binary/WindowsLiveWriter/a9ebcdb49973_EDF1/image_thumb_1.png" width="200" height="169"&gt;&lt;/a&gt; 
&lt;/p&gt;
&lt;p&gt;
Parmi les nombreuses nouveautés du développement d’addin VSTO, nous retrouvons bien
évidemment le Ribbon, qui est maintenant disponible depuis l’Explorer d’Outlook 2010.
A l’ombre de cette grande nouveauté, d’autres font leur apparition mais passent un
peu inaperçu.&amp;nbsp;&amp;nbsp; 
&lt;/p&gt;
&lt;p&gt;
Dans le développement d’addin VSTO pour Outlook 2010, il est aujourd’hui possible
de définir des icones personnalisées pour certains répertoires.&amp;nbsp; Comme vous pouvez
le voir sur l’image ci-contre, j’ai défini une icône custom pour 2 de mes répertoires.
La classe MAPIFolder possède maintenant une méthode SetCustomIcon qui prend en paramètre
une instance de la classe StdPicture : 
&lt;/p&gt;
&lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:9ce6104f-a9aa-4a17-a79f-3a39532ebf7c:2c41b03f-ccf3-42f8-b140-ac5034d1e051" class="wlWriterSmartContent"&gt;
&lt;div class="le-pavsc-container"&gt;
&lt;div style="background: #fff; max-height: 300px; overflow: auto"&gt;
&lt;ol style="background: #ffffff; margin: 0; padding: 0 0 0 5px;"&gt;
&lt;li&gt;
&lt;span style="color:#808080"&gt;///&lt;/span&gt;&lt;span style="color:#008000"&gt; &lt;/span&gt;&lt;span style="color:#808080"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;span style="color:#008000"&gt; &lt;/span&gt;
&lt;/li&gt;
&lt;li class="even"&gt;
&lt;span style="color:#808080"&gt;///&lt;/span&gt;&lt;span style="color:#008000"&gt; Sets a custom icon
that is specified by Picture for the folder &lt;/span&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;span style="color:#808080"&gt;///&lt;/span&gt;&lt;span style="color:#008000"&gt; &lt;/span&gt;&lt;span style="color:#808080"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;span style="color:#008000"&gt; &lt;/span&gt;
&lt;/li&gt;
&lt;li class="even"&gt;
&lt;span style="color:#808080"&gt;///&lt;/span&gt;&lt;span style="color:#008000"&gt; &lt;/span&gt;&lt;span style="color:#808080"&gt;&amp;lt;param
name=&amp;quot;Picture&amp;quot;&amp;gt;&lt;/span&gt;&lt;span style="color:#008000"&gt;Specifies the custom
icon for the folder&lt;/span&gt;&lt;span style="color:#808080"&gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;span style="color:#008000"&gt; &lt;/span&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;span style="color:#0000ff"&gt;void&lt;/span&gt; SetCustomIcon(stdole.&lt;span style="color:#2b91af"&gt;StdPicture&lt;/span&gt; Picture);&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;
&amp;nbsp; 
&lt;p&gt;
&amp;nbsp; 
&lt;p&gt;
Afin d’obtenir une instance de type StdPicture à partir d’un objet de type Bitmap
(ou Image), il faut créer une classe qui hérite de AxHost. Cette classe est un wrapper
de contrôle ActiveX et possède une méthode statique (et protected) qui se nomme GetIPictureDispFromPicture
: 
&lt;/p&gt;
&lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:9ce6104f-a9aa-4a17-a79f-3a39532ebf7c:c9a89bfd-a228-4002-ba86-624415777bb3" class="wlWriterSmartContent"&gt;
&lt;div style="border: #000080 1px solid; color: #000; font-family: 'Courier New', Courier, Monospace; font-size: 10pt"&gt;
&lt;div style="background: #fff; max-height: 300px; overflow: auto"&gt;
&lt;ol style="background: #ffffff; margin: 0; padding: 0 0 0 5px;"&gt;
&lt;li&gt;
&lt;span style="color:#0000ff"&gt;sealed&lt;/span&gt; &lt;span style="color:#0000ff"&gt;public&lt;/span&gt; &lt;span style="color:#0000ff"&gt;class&lt;/span&gt; &lt;span style="color:#2b91af"&gt;ConvertImage&lt;/span&gt; :
System.Windows.Forms.&lt;span style="color:#2b91af"&gt;AxHost&lt;/span&gt;
&lt;/li&gt;
&lt;li style="background: #f3f3f3"&gt;
{&lt;/li&gt;
&lt;li&gt;
&lt;span style="color:#0000ff"&gt;private&lt;/span&gt; ConvertImage()&lt;/li&gt;
&lt;li style="background: #f3f3f3"&gt;
: &lt;span style="color:#0000ff"&gt;base&lt;/span&gt;(&lt;span style="color:#0000ff"&gt;null&lt;/span&gt;)&lt;/li&gt;
&lt;li&gt;
{&lt;/li&gt;
&lt;li style="background: #f3f3f3"&gt;
}&lt;/li&gt;
&lt;li&gt;
&lt;span style="color:#0000ff"&gt;public&lt;/span&gt; &lt;span style="color:#0000ff"&gt;static&lt;/span&gt; stdole.&lt;span style="color:#2b91af"&gt;StdPicture&lt;/span&gt; ConvertToStdPicture(System.Drawing.&lt;span style="color:#2b91af"&gt;Image&lt;/span&gt; image)&lt;/li&gt;
&lt;li style="background: #f3f3f3"&gt;
{&lt;/li&gt;
&lt;li&gt;
&lt;span style="color:#0000ff"&gt;return&lt;/span&gt; (stdole.&lt;span style="color:#2b91af"&gt;StdPicture&lt;/span&gt;)GetIPictureDispFromPicture(image);&lt;/li&gt;
&lt;li style="background: #f3f3f3"&gt;
}&lt;/li&gt;
&lt;li&gt;
}&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;p&gt;
Le tour est joué, il n’y a plus qu’à faire appel à la méthode SetCustomIcon : 
&lt;/p&gt;
&lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:9ce6104f-a9aa-4a17-a79f-3a39532ebf7c:59c08d6e-0fa0-49fc-a5e5-160def353655" class="wlWriterSmartContent"&gt;
&lt;div style="border: #000080 1px solid; color: #000; font-family: 'Courier New', Courier, Monospace; font-size: 10pt"&gt;
&lt;div style="background: #fff; max-height: 300px; overflow: auto"&gt;
&lt;ol style="background: #ffffff; margin: 0; padding: 0 0 0 5px;"&gt;
&lt;li&gt;
&lt;span style="color:#0000ff"&gt;private&lt;/span&gt; &lt;span style="color:#0000ff"&gt;void&lt;/span&gt; SetCustomIcon(&lt;span style="color:#2b91af"&gt;MAPIFolder&lt;/span&gt; folder,
System.Drawing.&lt;span style="color:#2b91af"&gt;Bitmap&lt;/span&gt; image)&lt;/li&gt;
&lt;li style="background: #f3f3f3"&gt;
{&lt;/li&gt;
&lt;li&gt;
folder.SetCustomIcon(&lt;span style="color:#2b91af"&gt;ConvertImage&lt;/span&gt;.ConvertToStdPicture(image));&lt;/li&gt;
&lt;li style="background: #f3f3f3"&gt;
}&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="wlWriterHeaderFooter" style="margin:0px; padding:4px 0px 4px 1px;"&gt;
&lt;iframe src="http://www.facebook.com/widgets/like.php?href=http://benoitlaut.net/2010/05/15/Nouveaut%c3%a9sPourLesAddinsOutlook2010MAPIFolderSetCustomIcon.aspx" scrolling="no" frameborder="0" style="border:none; width:450px; height:80px"&gt;
&lt;/iframe&gt;
&lt;/div&gt;
&lt;img width="0" height="0" src="http://benoitlaut.net/aggbug.ashx?id=efff825d-7cd5-465b-995e-fe3b7d02b673" /&gt;</description>
      <comments>http://benoitlaut.net/CommentView,guid,efff825d-7cd5-465b-995e-fe3b7d02b673.aspx</comments>
      <category>C#</category>
      <category>VSTO</category>
    </item>
    <item>
      <title>Obtenir les métadonnées d’un cube via PowerShell</title>
      <link>http://blog.djeepy1.net/2010/05/13/obtenir-les-metadonnes-cube-via-powershell/</link>
      <comments>http://blog.djeepy1.net/2010/05/13/obtenir-les-metadonnes-cube-via-powershell/#comments</comments>
      <pubDate>Thu, 13 May 2010 09:11:02 +0000</pubDate>
      <creator xmlns="http://purl.org/dc/elements/1.1/">Djeepy1</creator>
      <category><![CDATA[Analysis Services]]></category>
      <category><![CDATA[Powershell]]></category>
      <category><![CDATA[SSAS]]></category>
      <guid isPermaLink="false">https://djeepy1.wordpress.com/2010/05/13/obtenir-les-mtadonnes-dun-cube-via-powershell/</guid>
      <description><![CDATA[Cas pratique : obtenir la liste des attributs des dimensions leurs caractéristiques et leurs croisements avec les groupes de mesures (sous format exploitable type Excel évidemment). Une solution pragmatique eut été d’affecter un stagiaire à cette tâche et de lui demander de prendre le projet et de tout transcrire dans un fichier Excel. Mais, évidemment, [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.djeepy1.net&blog=7511412&post=238&subd=djeepy1&ref=&feed=1" />]]></description>
      <encoded xmlns="http://purl.org/rss/1.0/modules/content/"><![CDATA[<p><img style="display:inline;margin-left:0;margin-right:0;" align="left" src="http://blogs.technet.com/blogfiles/mattmcspirit/WindowsLiveWriter/PowerShellandHyperV_D1C0/PowerShellLogo_3.jpg" /><strong><u>Cas pratique</u></strong> : obtenir la liste des attributs des dimensions leurs caractéristiques et leurs croisements avec les groupes de mesures (sous format exploitable type Excel évidemment).</p>
<p>Une solution pragmatique eut été d’affecter un stagiaire à cette tâche et de lui demander de prendre le projet et de tout transcrire dans un fichier Excel.    <br />Mais, évidemment, je n’ai pas pour habitude de procéder de la sorte et j’avais besoin de la liste très rapidement.</p>
<p>Je me suis donc tourné vers PowerShell car je sais qu’il y a une extension pour SQL Server et plus précisément pour Analysis Services.</p>
<p>Ce billet n’a pas pour but de vous apprendre PowerShell mais de vous montrer les commandes utiles pour fouiller dans SSAS.</p>
<p>Pour commencer, il faut charger les commandes SSAS :</p>
<p style="font-family:courier new;background:#eee;color:black;font-size:8pt;">[Reflection.Assembly]::LoadWithPartialName    <br />(<span style="color:#006080;">&quot;Microsoft.AnalysisServices&quot;</span>)</p>
<p>Ensuite, on se connecte au serveur (vous noterez que j’utilise des variables &#8211; $server, $cubeid, etc.)</p>
<p style="font-family:courier new;background:#eee;color:black;font-size:8pt;">$server = New-Object Microsoft.AnalysisServices.Server    <br />$server.connect($servername)</p>
<p>Ensuite, on récupère le cube dans la bonne base de données</p>
<p style="font-family:courier new;background:#eee;color:black;font-size:8pt;">$cube = $server.Databases.Item($database).Cubes.Item($cubeid)</p>
<p>Enfin, je n’ai plus qu’à itérer sur les groupes de mesures pour récupérer les données</p>
<p style="font-family:courier new;background:#eee;color:black;font-size:8pt;">foreach ($mg in $cube.MeasureGroups)    <br />{     <br />&#160;&#160;&#160; foreach ($dim in $mg.Dimensions) {     <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; foreach ($attr in $dim.CubeDimension.Attributes) {     <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; $row = $mg.Name + &#8216;,&#8217;+     <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; $mg.ID + &#8216;,&#8217;+     <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; $dim.Dimension.Name + &#8216;,&#8217; +     <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; $dim.Dimension.ID + &#8216;,&#8217; +     <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; $dim.GetType().ToString()     <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; $row | out-file -append $filename     <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; }     <br />&#160;&#160;&#160; }     <br />}</p>
<p>Le modèle objet d’Analysis Services n’est pas compliqué même si ce n’est pas trivial non plus.    <br />Vous pouvez trouver des informations sur ce modèle dans la MSDN ici : <a title="http://msdn.microsoft.com/fr-fr/library/microsoft.analysisservices.cube(v=SQL.105).aspx" href="http://msdn.microsoft.com/fr-fr/library/microsoft.analysisservices.cube(v=SQL.105).aspx">http://msdn.microsoft.com/fr-fr/library/microsoft.analysisservices.cube(v=SQL.105).aspx</a></p>
<br />Filed under: <a href='http://blog.djeepy1.net/category/analysis-services/'>Analysis Services</a> Tagged: <a href='http://blog.djeepy1.net/tag/analysis-services/'>Analysis Services</a>, <a href='http://blog.djeepy1.net/tag/powershell/'>Powershell</a>, <a href='http://blog.djeepy1.net/tag/ssas/'>SSAS</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/djeepy1.wordpress.com/238/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/djeepy1.wordpress.com/238/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/djeepy1.wordpress.com/238/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/djeepy1.wordpress.com/238/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/djeepy1.wordpress.com/238/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/djeepy1.wordpress.com/238/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/djeepy1.wordpress.com/238/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/djeepy1.wordpress.com/238/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/djeepy1.wordpress.com/238/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/djeepy1.wordpress.com/238/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/djeepy1.wordpress.com/238/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/djeepy1.wordpress.com/238/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/djeepy1.wordpress.com/238/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/djeepy1.wordpress.com/238/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.djeepy1.net&blog=7511412&post=238&subd=djeepy1&ref=&feed=1" />]]></encoded>
      <commentRss xmlns="http://wellformedweb.org/CommentAPI/">http://blog.djeepy1.net/2010/05/13/obtenir-les-metadonnes-cube-via-powershell/feed/</commentRss>
      <comments xmlns="http://purl.org/rss/1.0/modules/slash/">0</comments>
      <content url="http://1.gravatar.com/avatar/d5bd484f181f5352c2e531cb5cc78aef?s=96&amp;d=http%3A%2F%2Fs0.wp.com%2Fi%2Fmu.gif&amp;r=G" medium="image" xmlns="http://search.yahoo.com/mrss/">
        <title type="html">djeepy1</title>
      </content>
      <content url="http://blogs.technet.com/blogfiles/mattmcspirit/WindowsLiveWriter/PowerShellandHyperV_D1C0/PowerShellLogo_3.jpg" medium="image" xmlns="http://search.yahoo.com/mrss/" />
    </item>
    <item>
      <title>Editions SQL Server Analysis Services</title>
      <link>http://blog.djeepy1.net/2010/05/12/editions-sql-server-analysis-services/</link>
      <comments>http://blog.djeepy1.net/2010/05/12/editions-sql-server-analysis-services/#comments</comments>
      <pubDate>Wed, 12 May 2010 22:00:08 +0000</pubDate>
      <creator xmlns="http://purl.org/dc/elements/1.1/">Djeepy1</creator>
      <category><![CDATA[Analysis Services]]></category>
      <category><![CDATA[DistinctCount]]></category>
      <category><![CDATA[Enterprise Edition]]></category>
      <guid isPermaLink="false">https://djeepy1.wordpress.com/2010/05/12/editions-sql-server-analysis-services/</guid>
      <description><![CDATA[J’ai récemment suivi un débat sur le moyen de freiner les développeurs afin qu’ils s’en tiennent aux fonctionnalités de l’édition en production (ie. l’édition Standard). Avec SQL Server, il est difficile de bloquer les développeurs pendant la phase de réalisation. Avec Analysis Services, il existe un moyen. Dans le propriétés du projet, on peut en [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.djeepy1.net&blog=7511412&post=232&subd=djeepy1&ref=&feed=1" />]]></description>
      <encoded xmlns="http://purl.org/rss/1.0/modules/content/"><![CDATA[<p>J’ai récemment suivi un débat sur le moyen de freiner les développeurs afin qu’ils s’en tiennent aux fonctionnalités de l’édition en production (ie. l’édition Standard).</p>
<p>Avec SQL Server, il est difficile de bloquer les développeurs pendant la phase de réalisation. Avec Analysis Services, il existe un moyen.</p>
<p>Dans le propriétés du projet, on peut en effet viser l’édition cible.</p>
<p><a href="http://djeepy1.files.wordpress.com/2010/05/image2.png"><img style="border-bottom:0;border-left:0;display:inline;border-top:0;border-right:0;" title="image" border="0" alt="image" src="http://djeepy1.files.wordpress.com/2010/05/image_thumb2.png?w=504&#038;h=306" width="504" height="306" /></a></p>
<p>On obtient dans certains onglets un avertissement nous mettant en garde de l’indisponibilité de la fonctionnalité en édition standard.</p>
<p>&#160;<a href="http://djeepy1.files.wordpress.com/2010/05/image3.png"><img style="border-bottom:0;border-left:0;display:inline;border-top:0;border-right:0;" title="image" border="0" alt="image" src="http://djeepy1.files.wordpress.com/2010/05/image_thumb3.png?w=504&#038;h=56" width="504" height="56" /></a> </p>
<p>Cependant, cet avertissement n’est pas levé sur toutes les fonctionnalités… En effet, on peut mettre des mesures semi-additives ou non-additives sans avoir un seul warning <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_sad.gif' alt=':-(' class='wp-smiley' /> .</p>
<p>Vous comprendrez ma déception en fin de journée après avoir constaté qu’un agrégat de type DistinctCount ne fonctionnait pas en production alors qu’il marchait très bien sur ma plate-forme de développement.</p>
<p>Je savais pour LastNonEmpty mais maintenant, j’ai appris par cœur les types d’agrégats et les éditions qui les supportent.</p>
<p>&#160;</p>
<p>Pour soutenir cette feature sur Connect :    <br /><a title="https://connect.microsoft.com/SQLServer/feedback/details/558728/add-warning-in-bids-when-using-semiadditive-or-nonadditive-aggregate-in-standard-edition-target" href="https://connect.microsoft.com/SQLServer/feedback/details/558728/add-warning-in-bids-when-using-semiadditive-or-nonadditive-aggregate-in-standard-edition-target">https://connect.microsoft.com/SQLServer/feedback/details/558728/add-warning-in-bids-when-using-semiadditive-or-nonadditive-aggregate-in-standard-edition-target</a></p>
<br />Filed under: <a href='http://blog.djeepy1.net/category/analysis-services/'>Analysis Services</a> Tagged: <a href='http://blog.djeepy1.net/tag/analysis-services/'>Analysis Services</a>, <a href='http://blog.djeepy1.net/tag/distinctcount/'>DistinctCount</a>, <a href='http://blog.djeepy1.net/tag/enterprise-edition/'>Enterprise Edition</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/djeepy1.wordpress.com/232/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/djeepy1.wordpress.com/232/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/djeepy1.wordpress.com/232/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/djeepy1.wordpress.com/232/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/djeepy1.wordpress.com/232/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/djeepy1.wordpress.com/232/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/djeepy1.wordpress.com/232/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/djeepy1.wordpress.com/232/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/djeepy1.wordpress.com/232/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/djeepy1.wordpress.com/232/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/djeepy1.wordpress.com/232/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/djeepy1.wordpress.com/232/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/djeepy1.wordpress.com/232/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/djeepy1.wordpress.com/232/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.djeepy1.net&blog=7511412&post=232&subd=djeepy1&ref=&feed=1" />]]></encoded>
      <commentRss xmlns="http://wellformedweb.org/CommentAPI/">http://blog.djeepy1.net/2010/05/12/editions-sql-server-analysis-services/feed/</commentRss>
      <comments xmlns="http://purl.org/rss/1.0/modules/slash/">3</comments>
      <content url="http://1.gravatar.com/avatar/d5bd484f181f5352c2e531cb5cc78aef?s=96&amp;d=http%3A%2F%2Fs0.wp.com%2Fi%2Fmu.gif&amp;r=G" medium="image" xmlns="http://search.yahoo.com/mrss/">
        <title type="html">djeepy1</title>
      </content>
      <content url="http://djeepy1.files.wordpress.com/2010/05/image_thumb2.png" medium="image" xmlns="http://search.yahoo.com/mrss/">
        <title type="html">image</title>
      </content>
      <content url="http://djeepy1.files.wordpress.com/2010/05/image_thumb3.png" medium="image" xmlns="http://search.yahoo.com/mrss/">
        <title type="html">image</title>
      </content>
    </item>
    <item>
      <ping xmlns="http://madskills.com/public/xml/rss/module/trackback/">http://patricelamarche.net/Trackback.aspx?guid=9e8da250-ef62-4928-87e4-027ca07ea67d</ping>
      <server xmlns="http://madskills.com/public/xml/rss/module/pingback/">http://patricelamarche.net/pingback.aspx</server>
      <target xmlns="http://madskills.com/public/xml/rss/module/pingback/">http://patricelamarche.net/PermaLink,guid,9e8da250-ef62-4928-87e4-027ca07ea67d.aspx</target>
      <creator xmlns="http://purl.org/dc/elements/1.1/">Patrice Lamarche</creator>
      <comment xmlns="http://wellformedweb.org/CommentAPI/">http://patricelamarche.net/CommentView,guid,9e8da250-ef62-4928-87e4-027ca07ea67d.aspx</comment>
      <commentRss xmlns="http://wellformedweb.org/CommentAPI/">http://patricelamarche.net/SyndicationService.asmx/GetEntryCommentsRss?guid=9e8da250-ef62-4928-87e4-027ca07ea67d</commentRss>
      <title>3 livres pour avoir les bases en .net</title>
      <guid isPermaLink="false">http://patricelamarche.net/PermaLink,guid,9e8da250-ef62-4928-87e4-027ca07ea67d.aspx</guid>
      <link>http://feedproxy.google.com/~r/Patrice/~3/OC8v5QeC0y0/3LivresPourAvoirLesBasesEnNet.aspx</link>
      <pubDate>Wed, 12 May 2010 15:14:21 GMT</pubDate>
      <description>&lt;body xmlns="http://www.w3.org/1999/xhtml"&gt;
        &lt;blockquote&gt;
          &lt;h2 align="center"&gt;“&lt;img style="border-bottom-style: none !important; border-right-style: none !important; margin: 0px; border-top-style: none !important; border-left-style: none !important" border="0" alt="" src="http://www.assoc-amazon.fr/e/ir?t=blogdepatrlam-21&amp;amp;l=as2&amp;amp;o=8&amp;amp;a=1933988363" width="1" height="1"&gt;&lt;/img&gt;Quels
sont les livres que je peux lire pour avoir de bonnes bases en .net ?”
&lt;/h2&gt;
        &lt;/blockquote&gt;
        &lt;p align="justify"&gt;
est en substance la question que se peuvent se poser ceux qui débutent en .net (et
que devraient se poser beaucoup de développeurs qui pensent avoir les bases :)). Il
se trouve qu’on vient de me la poser pour 686 ème fois, voici donc ma sélection de
3 ouvrages que je trouve important d’avoir lu pour être efficace.
&lt;/p&gt;
        &lt;table&gt;
          &lt;tr&gt;
            &lt;td&gt;
              &lt;p align="justify"&gt;
                &lt;a href="http://www.amazon.fr/gp/product/0735627045?ie=UTF8&amp;amp;tag=blogdepatrlam-21&amp;amp;linkCode=as2&amp;amp;camp=1642&amp;amp;creative=19458&amp;amp;creativeASIN=0735627045"&gt;
                  &lt;img style="margin: 0px 10px 0px 0px;" border="0" align="left" src="http://ecx.images-amazon.com/images/I/412wa7iEt3L._SL160_.jpg"&gt;&lt;/img&gt;
                &lt;/a&gt;Le
premier est la 3ème édition de CLR via C# écrit par Jeffrey Richter de Wintellect.
J’ai déjà lu les deux premières éditions et je suis en train de lire cette 3ème édition
(qui est sorti très récemment), et c’est de mon point de vue un des meilleurs ouvrages
sur les fondamentaux de la CLR et donc de la BCL. 
&lt;/p&gt;
            &lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
            &lt;td&gt;
              &lt;p align="justify"&gt;
                &lt;a href="http://www.amazon.fr/gp/product/1933988363?ie=UTF8&amp;amp;tag=blogdepatrlam-21&amp;amp;linkCode=as2&amp;amp;camp=1642&amp;amp;creative=19458&amp;amp;creativeASIN=1933988363"&gt;
                  &lt;img style="margin: 0px 10px 0px 0px;" border="0" align="left" src="http://ecx.images-amazon.com/images/I/418jmvhICiL._SL160_.jpg"&gt;&lt;/img&gt;
                &lt;/a&gt;Le
second ouvrage est orienté maitrise du langage C#. C# in depth de Jon Skeet est très
clairement l’ouvrage le plus pédagogique est le plus avancé que j’ai pu lire sur le
langage C#. Ce qui est plaisant avec cet ouvrage, c’est que l’ensemble des concepts
et notions sont abordés de manière intelligente sans passer sur les détails qui peuvent
paraitre compliqué au premier abord. Une vrai référence pour ceux qui s’intéresse
au langage C#. 
&lt;/p&gt;
            &lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
            &lt;td&gt;
              &lt;p align="justify"&gt;
                &lt;a href="http://www.amazon.fr/gp/product/0321545613?ie=UTF8&amp;amp;tag=blogdepatrlam-21&amp;amp;linkCode=as2&amp;amp;camp=1642&amp;amp;creative=19458&amp;amp;creativeASIN=0321545613"&gt;
                  &lt;img style="margin: 0px 10px 0px 0px;" border="0" align="left" src="http://ecx.images-amazon.com/images/I/5138dM4PHnL._SL160_.jpg"&gt;&lt;/img&gt;
                &lt;/a&gt;Et
enfin, le petit dernier est le bien connu Framework Design Guidelines. Cet ouvrage
annoté par plusieurs acteurs importants dans le monde .net permet de comprendre comment
le framework .net a été conçu, et indique comment créer des frameworks qui respectent
les recommandations de Microsoft. Sa lecture peut très globalement être appliquée
à la création de tous type d’applications.
&lt;/p&gt;
            &lt;/td&gt;
          &lt;/tr&gt;
        &lt;/table&gt;
        &lt;p&gt;
 
&lt;/p&gt;
        &lt;p align="center"&gt;
          &lt;em&gt;Et vous ? Quelles sont vos recommandations de lecture sur .net en général et sur
C# ?&lt;/em&gt;
        &lt;/p&gt;
        &lt;p&gt;
          &lt;br&gt;
          &lt;img style="border-bottom-style: none !important; border-right-style: none !important; margin: 0px; border-top-style: none !important; border-left-style: none !important" border="0" alt="" src="http://www.assoc-amazon.fr/e/ir?t=blogdepatrlam-21&amp;amp;l=as2&amp;amp;o=8&amp;amp;a=0321545613" width="1" height="1"&gt;&lt;/img&gt;
        &lt;/p&gt;
        &lt;div class="wlWriterHeaderFooter" style="margin:0px; padding:4px 0px 4px 1px;"&gt;
          &lt;iframe src="http://www.facebook.com/widgets/like.php?href=http://patricelamarche.net/2010/05/12/3LivresPourAvoirLesBasesEnNet.aspx" scrolling="no" frameborder="0" style="border:none; width:450px; height:80px"&gt;
          &lt;/iframe&gt;
        &lt;/div&gt;
        &lt;img width="0" height="0" src="http://patricelamarche.net/aggbug.ashx?id=9e8da250-ef62-4928-87e4-027ca07ea67d"&gt;&lt;/img&gt;
      &lt;/body&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Patrice?a=OC8v5QeC0y0:TQLpBf3MEwM:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Patrice?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Patrice?a=OC8v5QeC0y0:TQLpBf3MEwM:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Patrice?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Patrice?a=OC8v5QeC0y0:TQLpBf3MEwM:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Patrice?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Patrice?a=OC8v5QeC0y0:TQLpBf3MEwM:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Patrice?i=OC8v5QeC0y0:TQLpBf3MEwM:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Patrice?a=OC8v5QeC0y0:TQLpBf3MEwM:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Patrice?i=OC8v5QeC0y0:TQLpBf3MEwM:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Patrice/~4/OC8v5QeC0y0" height="1" width="1"/&gt;</description>
      <comments>http://patricelamarche.net/CommentView,guid,9e8da250-ef62-4928-87e4-027ca07ea67d.aspx</comments>
      <category>Critiques de livres</category>
      <origLink xmlns="http://rssnamespace.org/feedburner/ext/1.0">http://patricelamarche.net/2010/05/12/3LivresPourAvoirLesBasesEnNet.aspx</origLink>
    </item>
    <item>
      <title>Feature Pack SQL SERVER 2008R2</title>
      <link>http://www.dotmim.com/blogs/mim/archive/2010/05/12/feature-pack-sql-server-2008r2.aspx</link>
      <pubDate>Wed, 12 May 2010 06:34:33 GMT</pubDate>
      <guid isPermaLink="false">f24f4a04-d5df-4071-90fb-39191e3ba06c:576</guid>
      <creator xmlns="http://purl.org/dc/elements/1.1/">Mimetis</creator>
      <comments xmlns="http://purl.org/rss/1.0/modules/slash/">0</comments>
      <wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://www.dotmim.com/blogs/mim/rsscomments.aspx?PostID=576</wfw:commentRss>
      <comments>http://www.dotmim.com/blogs/mim/archive/2010/05/12/feature-pack-sql-server-2008r2.aspx#comments</comments>
      <description>&lt;p&gt;Le feature pack de SQL SERVER 2008 R2 est sorti&lt;/p&gt;  &lt;p&gt;&lt;a title="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=ceb4346f-657f-4d28-83f5-aae0c5c83d52" href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=ceb4346f-657f-4d28-83f5-aae0c5c83d52"&gt;http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=ceb4346f-657f-4d28-83f5-aae0c5c83d52&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Comme toujours vous retrouvez un ensemble d’outil permettant d’étendre les possibilités de déploiement de SQL SERVER, ou encore des outils annexe en version Stand Alone&lt;/p&gt;  &lt;p&gt;Pour vous donner une idée de ce que ça contient, voici une liste des principales features (tout du moins celle qui m’intéresse ces temps ci :)) :&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;b&gt;Microsoft® SQL Server Report Builder 3.0 for Microsoft® SQL Server 2008 R2 &lt;/b&gt;&lt;/li&gt;    &lt;li&gt;&lt;b&gt;Microsoft® SQL Server® PowerPivot for Microsoft® Excel &lt;/b&gt;&lt;/li&gt;    &lt;li&gt;&lt;b&gt;Microsoft® SQL Server® 2008 R2 Reporting Services Add-in for Microsoft® SharePoint® Technologies 2010&lt;/b&gt;&lt;/li&gt;    &lt;li&gt;&lt;b&gt;Microsoft® SQL Server® 2008 R2 Policies&lt;/b&gt;&lt;/li&gt;    &lt;li&gt;&lt;b&gt;Microsoft® Sync Framework 2.0 Software Development Kit (SDK)&lt;/b&gt;&lt;/li&gt;    &lt;li&gt;&lt;b&gt;Microsoft® SQL Server® Compact 3.5 SP2&lt;/b&gt;&lt;/li&gt;    &lt;li&gt;&lt;b&gt;Microsoft® SQL Server® Compact 3.5 SP2 For Windows Mobile&lt;/b&gt;&lt;/li&gt;    &lt;li&gt;&lt;b&gt;Microsoft® SQL Server ®Compact 3.5 SP2 Server Tools&lt;/b&gt;&lt;/li&gt;    &lt;li&gt;&lt;b&gt;Microsoft® System CLR Types for SQL Server® 2008 R2 &lt;/b&gt;&lt;/li&gt;    &lt;li&gt;&lt;b&gt;Microsoft® SQL Server® 2008 R2 Remote Blob Store&lt;/b&gt;&lt;/li&gt;    &lt;li&gt;&lt;b&gt;Microsoft® SQL Server® 2008 R2 Command Line Utilities &lt;/b&gt;&lt;/li&gt;    &lt;li&gt;&lt;b&gt;Microsoft® Windows PowerShell Extensions for SQL Server® 2008 R2&lt;/b&gt;&lt;/li&gt;    &lt;li&gt;&lt;b&gt;Microsoft® SQL Server® 2008 R2 Shared Management Objects&lt;/b&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Et encore d’autres …&lt;/p&gt;&lt;img src="http://www.dotmim.com/aggbug.aspx?PostID=576" width="1" height="1"&gt;</description>
    </item>
    <item>
      <ping xmlns="http://madskills.com/public/xml/rss/module/trackback/">http://benoitlaut.net/Trackback.aspx?guid=83e9f0f7-fedf-4e89-a2d6-ed75d0672193</ping>
      <server xmlns="http://madskills.com/public/xml/rss/module/pingback/">http://benoitlaut.net/pingback.aspx</server>
      <target xmlns="http://madskills.com/public/xml/rss/module/pingback/">http://benoitlaut.net/PermaLink,guid,83e9f0f7-fedf-4e89-a2d6-ed75d0672193.aspx</target>
      <creator xmlns="http://purl.org/dc/elements/1.1/">Benoît Laut</creator>
      <comment xmlns="http://wellformedweb.org/CommentAPI/">http://benoitlaut.net/CommentView,guid,83e9f0f7-fedf-4e89-a2d6-ed75d0672193.aspx</comment>
      <commentRss xmlns="http://wellformedweb.org/CommentAPI/">http://benoitlaut.net/SyndicationService.asmx/GetEntryCommentsRss?guid=83e9f0f7-fedf-4e89-a2d6-ed75d0672193</commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <div class="wlWriterHeaderFooter" style="float:none; margin:0px; padding:0px 0px 0px 0px;">
          <script type="text/javascript"> tweetmeme_url = 'http://benoitlaut.net/2010/05/11/NouvelArticleInstrumenterEtAnalyserSonApplicationAvecDotFuscator40.aspx'; tweetmeme_source = 'suddenben'; </script>
          <script type="text/javascript" src="http://tweetmeme.com/i/scripts/button.js"></script>
          <br />
          <br />
        </div>
        <p>
          <a href="http://benoitlaut.net/content/binary/WindowsLiveWriter/NouvelarticleInstrumenteretanalyserson.0_EAA6/image_2.png">
            <img style="border-right-width: 0px; margin: 0px 10px 0px 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" align="left" src="http://benoitlaut.net/content/binary/WindowsLiveWriter/NouvelarticleInstrumenteretanalyserson.0_EAA6/image_thumb.png" width="568" height="208" />
          </a>
        </p>
        <p>
Comme je vous le disais dans <a href="http://benoitlaut.net/2010/05/07/CodeplexEtLanalyseDapplicationsAvecDotFuscator40.aspx" target="_blank">mon
dernier post</a>, CodePlex propose d’utiliser les nouveaux outils de DotFuscator 4.0
pour analyser son application. Qui utilise l’application, quelles sont les fonctionnalités
utilisées… DotFuscator nous propose d’injecter du code dans nos assemblies afin d’obtenir
ses éléments de mesure. 
</p>
        <p>
Ce weekend j’ai donc creusé l’utilisation de ces outils et je vous propose de les
découvrir à travers <a href="http://www.techheadbrothers.com/Articles.aspx/instrumenter-analyser-application-dotfuscator-4-0" target="_blank">cet
article</a>.
</p>
        <p>
Bonne lecture !
</p>
        <img width="0" height="0" src="http://benoitlaut.net/aggbug.ashx?id=83e9f0f7-fedf-4e89-a2d6-ed75d0672193" />
      </body>
      <title>Nouvel article : Instrumenter et analyser son application avec DotFuscator 4.0</title>
      <guid isPermaLink="false">http://benoitlaut.net/PermaLink,guid,83e9f0f7-fedf-4e89-a2d6-ed75d0672193.aspx</guid>
      <link>http://benoitlaut.net/2010/05/11/NouvelArticleInstrumenterEtAnalyserSonApplicationAvecDotFuscator40.aspx</link>
      <pubDate>Tue, 11 May 2010 14:41:21 GMT</pubDate>
      <description>&lt;div class="wlWriterHeaderFooter" style="float:none; margin:0px; padding:0px 0px 0px 0px;"&gt;&lt;script type="text/javascript"&gt; tweetmeme_url = 'http://benoitlaut.net/2010/05/11/NouvelArticleInstrumenterEtAnalyserSonApplicationAvecDotFuscator40.aspx'; tweetmeme_source = 'suddenben'; &lt;/script&gt;
&lt;script type="text/javascript" src="http://tweetmeme.com/i/scripts/button.js"&gt;&lt;/script&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;p&gt;
&lt;a href="http://benoitlaut.net/content/binary/WindowsLiveWriter/NouvelarticleInstrumenteretanalyserson.0_EAA6/image_2.png"&gt;&lt;img style="border-right-width: 0px; margin: 0px 10px 0px 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" align="left" src="http://benoitlaut.net/content/binary/WindowsLiveWriter/NouvelarticleInstrumenteretanalyserson.0_EAA6/image_thumb.png" width="568" height="208"&gt;&lt;/a&gt; 
&lt;/p&gt;
&lt;p&gt;
Comme je vous le disais dans &lt;a href="http://benoitlaut.net/2010/05/07/CodeplexEtLanalyseDapplicationsAvecDotFuscator40.aspx" target="_blank"&gt;mon
dernier post&lt;/a&gt;, CodePlex propose d’utiliser les nouveaux outils de DotFuscator 4.0
pour analyser son application. Qui utilise l’application, quelles sont les fonctionnalités
utilisées… DotFuscator nous propose d’injecter du code dans nos assemblies afin d’obtenir
ses éléments de mesure. 
&lt;/p&gt;
&lt;p&gt;
Ce weekend j’ai donc creusé l’utilisation de ces outils et je vous propose de les
découvrir à travers &lt;a href="http://www.techheadbrothers.com/Articles.aspx/instrumenter-analyser-application-dotfuscator-4-0" target="_blank"&gt;cet
article&lt;/a&gt;.
&lt;/p&gt;
&lt;p&gt;
Bonne lecture !
&lt;/p&gt;
&lt;img width="0" height="0" src="http://benoitlaut.net/aggbug.ashx?id=83e9f0f7-fedf-4e89-a2d6-ed75d0672193" /&gt;</description>
      <comments>http://benoitlaut.net/CommentView,guid,83e9f0f7-fedf-4e89-a2d6-ed75d0672193.aspx</comments>
    </item>
    <item>
      <ping xmlns="http://madskills.com/public/xml/rss/module/trackback/">http://patricelamarche.net/Trackback.aspx?guid=b13aeb47-bd48-4c1b-aab2-6845b788adca</ping>
      <server xmlns="http://madskills.com/public/xml/rss/module/pingback/">http://patricelamarche.net/pingback.aspx</server>
      <target xmlns="http://madskills.com/public/xml/rss/module/pingback/">http://patricelamarche.net/PermaLink,guid,b13aeb47-bd48-4c1b-aab2-6845b788adca.aspx</target>
      <creator xmlns="http://purl.org/dc/elements/1.1/">Patrice Lamarche</creator>
      <comment xmlns="http://wellformedweb.org/CommentAPI/">http://patricelamarche.net/CommentView,guid,b13aeb47-bd48-4c1b-aab2-6845b788adca.aspx</comment>
      <commentRss xmlns="http://wellformedweb.org/CommentAPI/">http://patricelamarche.net/SyndicationService.asmx/GetEntryCommentsRss?guid=b13aeb47-bd48-4c1b-aab2-6845b788adca</commentRss>
      <title>Légers changements autour du 64 bits et de Visual Studio 2010</title>
      <guid isPermaLink="false">http://patricelamarche.net/PermaLink,guid,b13aeb47-bd48-4c1b-aab2-6845b788adca.aspx</guid>
      <link>http://feedproxy.google.com/~r/Patrice/~3/BJ3cxyTKCI4/L%c3%a9gersChangementsAutourDu64BitsEtDeVisualStudio2010.aspx</link>
      <pubDate>Tue, 11 May 2010 11:53:04 GMT</pubDate>
      <description>&lt;body xmlns="http://www.w3.org/1999/xhtml"&gt;
        &lt;p align="justify"&gt;
          &lt;a href="http://patricelamarche.net/content/binary/WindowsLiveWriter/Lgerschangementsautourdu64bitsetdeVisual_C331/image_2.png"&gt;
            &lt;img style="border-right-width: 0px; margin: 0px 5px 0px 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" align="left" src="http://patricelamarche.net/content/binary/WindowsLiveWriter/Lgerschangementsautourdu64bitsetdeVisual_C331/image_thumb.png" width="184" height="244"&gt;&lt;/img&gt;
          &lt;/a&gt; C’est
en lisant le premier chapitre &lt;a href="http://www.amazon.fr/gp/product/0735627045?ie=UTF8&amp;amp;tag=blogdepatrlam-21&amp;amp;linkCode=as2&amp;amp;camp=1642&amp;amp;creative=19458&amp;amp;creativeASIN=0735627045"&gt;de
la 3ème édition de CLR via C#&lt;/a&gt;&lt;img style="border-bottom-style: none !important; border-right-style: none !important; margin: 0px; border-top-style: none !important; border-left-style: none !important" border="0" alt="" src="http://www.assoc-amazon.fr/e/ir?t=blogdepatrlam-21&amp;amp;l=as2&amp;amp;o=8&amp;amp;a=0735627045" width="1" height="1"&gt;&lt;/img&gt; de
Jeffrey Richter que m’est revenu cette information qui a son importance lorsque l’on
souhaite le pourquoi du comment à propos du support du 64 bits.
&lt;/p&gt;
        &lt;p align="justify"&gt;
Jeffrey Richter indique à juste titre que le compilateur C# compile par défaut les
assemblies en AnyCPU afin que celles-ci soient portables et compilées en 32 ou 64
bits par le compilateur JIT en fonction de la plate-forme sur laquelle on souhaite
exécuter l’application. Ceci est vrai, mais on pourrait penser que donc Visual Studio
compile également par défaut vos assemblies en AnyCPU. 
&lt;/p&gt;
        &lt;p align="justify"&gt;
Et cela était effectivement le cas avec les précédentes versions de Visual Studio,
mais il y a eu un changement de politique avec Visual Studio 2010 qui a eu lieu assez
récemment il me semble (probablement à partir de la RC).
&lt;/p&gt;
        &lt;p align="justify"&gt;
          &lt;strong&gt;Avec la dernière version de l’ide, les projets qui sont généralement des points
d’entrées applicatifs (les types de projets relatifs au GUI clients) sont par défaut
compilés en x86.&lt;/strong&gt; Ainsi si vous créez un projet Windows Forms, un projet WPF
ou une application Console vous pouvez constater que l’AnyCPU qui faisait loi jusqu’à
présent à laisser place à une configuration en x86. Les projets ASP.net et les bibliothèques
de classes ne sont pas concernés et restent par défaut en AnyCPU.
&lt;/p&gt;
        &lt;h2 align="justify"&gt;Pourquoi ce changement alors que l’AnyCPU permet d’avoir des assemblys
multi-plateforme et donc portables ?
&lt;/h2&gt;
        &lt;p align="justify"&gt;
Tout simplement, parce que les développeurs ne font pas assez souvent de tests de
leurs applicatifs sur des environnements 32 bits &lt;em&gt;&lt;strong&gt;ET&lt;/strong&gt;&lt;/em&gt; 64 bits.
Si vous développez dans un environnement 32 bits, et que vous ne testez pas votre
application 64 bits vous &lt;a href="http://patricelamarche.net/2009/02/26/AttentionAuxD%c3%a9pendancesDynamiquesPourLeSupportDu64Bits.aspx"&gt;risquez
d’avoir des problèmes si vous référencez des composants 32 bits&lt;/a&gt;. En effet, votre
point d’entrée étant en AnyCPU votre application sera compilée en 64 bits et sera
donc incapables de charger des composants 32 bits.
&lt;/p&gt;
        &lt;p align="justify"&gt;
Modifier le paramétrage par défaut afin de compiler en x86 les projets de types GUI
clients permet d’avoir des applications qui fonctionneront dans tous les cas puisque
elles seront (par défaut) exécutées en 32 bits même sur un OS 64 bits. Vous êtes toujours
libre de changer cette configuration vers un compilation en AnyCPU mais prenez bien
garde à vos dépendances.
&lt;/p&gt;
        &lt;p align="justify"&gt;
Quand aux projets ASP.net, ceux-ci concernent des applications serveurs qui ont potentiellement
bien moins de chance d’avoir des dépendances vers des composants 32 bits, et les bibliothèque
de classes restent en AnyCPU afin de garder leur portabilité, le point d’entrée de
votre application étant l’élément clé indiquant si le process doit être en 32 ou 64
bits.
&lt;/p&gt;
        &lt;img width="0" height="0" src="http://patricelamarche.net/aggbug.ashx?id=b13aeb47-bd48-4c1b-aab2-6845b788adca"&gt;&lt;/img&gt;
      &lt;/body&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Patrice?a=BJ3cxyTKCI4:kEC1LO-z5GM:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Patrice?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Patrice?a=BJ3cxyTKCI4:kEC1LO-z5GM:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Patrice?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Patrice?a=BJ3cxyTKCI4:kEC1LO-z5GM:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Patrice?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Patrice?a=BJ3cxyTKCI4:kEC1LO-z5GM:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Patrice?i=BJ3cxyTKCI4:kEC1LO-z5GM:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Patrice?a=BJ3cxyTKCI4:kEC1LO-z5GM:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Patrice?i=BJ3cxyTKCI4:kEC1LO-z5GM:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Patrice/~4/BJ3cxyTKCI4" height="1" width="1"/&gt;</description>
      <comments>http://patricelamarche.net/CommentView,guid,b13aeb47-bd48-4c1b-aab2-6845b788adca.aspx</comments>
      <category>64 bits</category>
      <category>Visual Studio/2010</category>
      <origLink xmlns="http://rssnamespace.org/feedburner/ext/1.0">http://patricelamarche.net/2010/05/11/L%c3%a9gersChangementsAutourDu64BitsEtDeVisualStudio2010.aspx</origLink>
    </item>
    <item>
      <guid isPermaLink="false">tag:blogger.com,1999:blog-5619051591853320584.post-7341620196544335462</guid>
      <pubDate>Mon, 10 May 2010 15:54:00 +0000</pubDate>
      <updated xmlns="http://www.w3.org/2005/Atom">2010-05-10T18:00:37.406+02:00</updated>
      <title>La librairie Microsoft Ajax abandonnée, au profit de jQuery</title>
      <description>&lt;p&gt;Vous vous souvenez de la librairie Microsoft Ajax ? J’en avais parlé l’an dernier lors de la Bewise Day Conference (et aussi dans &lt;a href="http://blog.adhess.net/2009/04/bdc-2009-aspnet-40-javascript.html"&gt;un post&lt;/a&gt; quelques temps après). Pour mémoire, il s’agissait d’une librairie pur JavaScript qui proposait notamment un repeater et du databinding en JavaScript, qui n’est jamais sorti du stade de la beta (voire même preview, je me souviens plus très bien)&lt;/p&gt;&lt;p&gt;Eh bien j’ai été surpris en voyant Scott Guthrie nous parler &lt;a href="http://weblogs.asp.net/scottgu/archive/2010/05/07/jquery-templates-and-data-linking-and-microsoft-contributing-to-jquery.aspx"&gt;des contributions de Microsoft à jQuery&lt;/a&gt;. Au programme : templates clients et data binding (renommés data linking pour l’occasion, jQuery ayant déjà une fonction nommée “bind”), des fonctionnalités déjà présentes dans la librairie de Microsoft. J’ai donc eu un petit doute : cette librairie ne devait-elle pas être fournie avec le framework 4 ? Pourquoi n’est-elle pas dans Visual Studio 2010 alors qu’elle était dans les beta ? Une vérification sur la page &lt;a href="http://aspnet.codeplex.com"&gt;codeplex d’asp.net&lt;/a&gt; m’a confirmé ce que je pensais : plus la moindre trace de cette librairie.&lt;/p&gt;&lt;p&gt;C’est donc jQuery qui va hériter de ces fonctionnalités plus qu’intéressantes, et finalement, c’est loin d’être une mauvaise nouvelle : même si les 2 librairies cohabitaient très bien, on n’aura finalement besoin de connaitre qu’une seule librairie, plus de risque de se perdre avec les syntaxes différentes utilisées par jQuery et MS Ajax. &lt;/p&gt;&lt;p&gt;&lt;strong&gt;jQuery Templates&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;Au programme donc, nous avons les templates : une version JavaScript des repeaters.   &lt;br /&gt;Comment ça fonctionne ? Eh bien de la manière suivante :   &lt;br /&gt;Il nous faut définir un template (ici dans la balise script, afin de ne pas l’afficher tel quel dans la page), et un container dans lequel jQuery injectera le html généré depuis le template :&lt;/p&gt;&lt;div style="border-bottom: silver 1px solid; text-align: left; border-left: silver 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; max-height: 200px; font-size: 8pt; overflow: auto; border-top: silver 1px solid; cursor: text; border-right: silver 1px solid; padding-top: 4px" id="codeSnippetWrapper"&gt;  &lt;div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum1"&gt;   1:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;div&lt;/span&gt; &lt;span style="color: #ff0000"&gt;id&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;contactContainer&amp;quot;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;!--CRLF--&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum2"&gt;   2:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;div&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;!--CRLF--&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum3"&gt;   3:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;script&lt;/span&gt; &lt;span style="color: #ff0000"&gt;id&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;contactTemplate&amp;quot;&lt;/span&gt; &lt;span style="color: #ff0000"&gt;type&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;text/html&amp;quot;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;!--CRLF--&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum4"&gt;   4:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;div&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;!--CRLF--&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum5"&gt;   5:&lt;/span&gt;     Name: {{= name }}&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;br&lt;/span&gt; &lt;span style="color: #0000ff"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;!--CRLF--&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum6"&gt;   6:&lt;/span&gt;     Phone: {{= phone }}&lt;/pre&gt;&lt;!--CRLF--&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum7"&gt;   7:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;div&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;!--CRLF--&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum8"&gt;   8:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;script&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;Une fois le template défini, on va lui associer nos données, par exemple un tableau JavaScript dans notre exemple, mais il pourrait être intéressant de l’associer au résultat d’un appel Ajax, par exemple.&lt;/p&gt;&lt;div style="border-bottom: silver 1px solid; text-align: left; border-left: silver 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; max-height: 200px; font-size: 8pt; overflow: auto; border-top: silver 1px solid; cursor: text; border-right: silver 1px solid; padding-top: 4px" id="codeSnippetWrapper"&gt;  &lt;div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum1"&gt;   1:&lt;/span&gt; &amp;lt;script type=&lt;span style="color: #006080"&gt;&amp;quot;text/javascript&amp;quot;&lt;/span&gt;&amp;gt;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum2"&gt;   2:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;var&lt;/span&gt; contacts = [&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum3"&gt;   3:&lt;/span&gt;         { name: &lt;span style="color: #006080"&gt;&amp;quot;Scott Guthrie&amp;quot;&lt;/span&gt;, phone: &lt;span style="color: #006080"&gt;&amp;quot;415-555-2222&amp;quot;&lt;/span&gt; },&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum4"&gt;   4:&lt;/span&gt;         { name: &lt;span style="color: #006080"&gt;&amp;quot;Guillaume Lacasa&amp;quot;&lt;/span&gt;, phone: &lt;span style="color: #006080"&gt;&amp;quot;05 11 22 33 44&amp;quot;&lt;/span&gt; }&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum5"&gt;   5:&lt;/span&gt;     ];&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum6"&gt;   6:&lt;/span&gt;&amp;#160; &lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum7"&gt;   7:&lt;/span&gt;     $(&lt;span style="color: #006080"&gt;&amp;quot;#contactTemplate&amp;quot;&lt;/span&gt;).render(contacts).appendTo(&lt;span style="color: #006080"&gt;&amp;quot;#contactContainer&amp;quot;&lt;/span&gt;);&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum8"&gt;   8:&lt;/span&gt; &amp;lt;/script&amp;gt;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;Data-linking&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;Seconde nouveauté, le data-linking. L’idée est de lier une propriété d’un objet avec une propriété d’un autre objet : quand on en modifie un, l’autre est modifié automatiquement. Pas de code pour cette fonctionnalité, mais vous pouvez retrouver un exemple d’utilisation sur &lt;a href="http://weblogs.asp.net/scottgu/archive/2010/05/07/jquery-templates-and-data-linking-and-microsoft-contributing-to-jquery.aspx"&gt;le blog de maître Gu&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;Je reviendrai plus en détail sur chacune de ces fonctionnalités, qui offrent des possibilités plus poussées que le peu que j’ai exploré à ce jour : boucles, conditions, linking mono et bi-directionnel, et combinaisons du linking avec les templates. &lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5619051591853320584-7341620196544335462?l=blog.adhess.net' alt='' /&gt;&lt;/div&gt;</description>
      <link>http://blog.adhess.net/2010/05/la-librairie-microsoft-ajax-abandonnee.html</link>
      <author>noreply@blogger.com (Guillaume Lacasa)</author>
      <total xmlns="http://purl.org/syndication/thread/1.0">3</total>
    </item>
    <item>
      <ping xmlns="http://madskills.com/public/xml/rss/module/trackback/">http://patricelamarche.net/Trackback.aspx?guid=6eeb15e3-3721-4201-a086-788f3346bbb9</ping>
      <server xmlns="http://madskills.com/public/xml/rss/module/pingback/">http://patricelamarche.net/pingback.aspx</server>
      <target xmlns="http://madskills.com/public/xml/rss/module/pingback/">http://patricelamarche.net/PermaLink,guid,6eeb15e3-3721-4201-a086-788f3346bbb9.aspx</target>
      <creator xmlns="http://purl.org/dc/elements/1.1/">Patrice Lamarche</creator>
      <comment xmlns="http://wellformedweb.org/CommentAPI/">http://patricelamarche.net/CommentView,guid,6eeb15e3-3721-4201-a086-788f3346bbb9.aspx</comment>
      <commentRss xmlns="http://wellformedweb.org/CommentAPI/">http://patricelamarche.net/SyndicationService.asmx/GetEntryCommentsRss?guid=6eeb15e3-3721-4201-a086-788f3346bbb9</commentRss>
      <title>News de la semaine #19</title>
      <guid isPermaLink="false">http://patricelamarche.net/PermaLink,guid,6eeb15e3-3721-4201-a086-788f3346bbb9.aspx</guid>
      <link>http://feedproxy.google.com/~r/Patrice/~3/zQTGJhh77fc/NewsDeLaSemaine19.aspx</link>
      <pubDate>Mon, 10 May 2010 08:57:17 GMT</pubDate>
      <description>&lt;body xmlns="http://www.w3.org/1999/xhtml"&gt;
        &lt;p align="justify"&gt;
          &lt;a title="Cloud Cover Episode 10 - Table Storage API" href="http://channel9.msdn.com/shows/Cloud+Cover/Cloud-Cover-Episode-10-Table-Storage-API/"&gt;
            &lt;img style="border-bottom: 0px; border-left: 0px; display: inline; margin-left: 0px; border-top: 0px; margin-right: 0px; border-right: 0px" border="0" alt="image" align="right" src="http://patricelamarche.net/content/binary/WindowsLiveWriter/Newsdelasemaine18_9F77/image_thumb.png"&gt;&lt;/img&gt;
          &lt;/a&gt;Comme
chaque semaine, débutons avec l’actualité sur Windows Azure et plus particulièrement &lt;a href="http://channel9.msdn.com/shows/Cloud+Cover/Cloud-Cover-Episode-10-Table-Storage-API/"&gt;l’épisode
10 de Cloud Cover qui traite cette semaine des API permettant de manipuler les Tables&lt;/a&gt;.
&lt;/p&gt;
        &lt;p align="justify"&gt;
          &lt;a title="New CRM SDK, New Developer Experience" href="http://blogs.msdn.com/crm/archive/2010/05/07/new-crm-sdk-new-developer-experience.aspx"&gt;Le
SDK 4.0.12 de pour Dynamics CRM 4.0 est disponible. &lt;/a&gt;Celui est orienté vers l’application
de type xRM puisque il propose propose un dossier Microsoft.xRM avec des extensions
avancées pour les développeurs. Toujours à propos de Dynamics CRM, &lt;a href="http://www.zdnet.com/blog/microsoft/microsoft-to-deliver-its-cloud-hosted-crm-5-first-software-later/6125"&gt;Mary
Jo Foley nous informe que CRM 5.0 sera d’abord disponible en version Online puis plus
tard en version On Premise&lt;/a&gt;. 
&lt;/p&gt;
        &lt;p align="justify"&gt;
Quant au développement web, &lt;a href="http://weblogs.asp.net/scottgu/archive/2010/05/07/jquery-templates-and-data-linking-and-microsoft-contributing-to-jquery.aspx"&gt;Scott
Guthrie présente deux nouveautés soumises au framework jQuery. L’occasion de montrer
que Microsoft participe activement à ce projet Open Source.&lt;/a&gt;&lt;/p&gt;
        &lt;p align="justify"&gt;
L’équipe d’Internet Explorer nous informe qu’&lt;a href="http://blogs.msdn.com/ie/archive/2010/05/05/html5-and-same-markup-second-ie9-platform-preview-available-for-developers.aspx"&gt;une
seconde preview d’IE 9 est à présent disponible.&lt;/a&gt;&lt;/p&gt;
        &lt;p align="justify"&gt;
A propos de la CLR, &lt;a href="http://blogs.msdn.com/clrteam/archive/2010/05/07/clr-inside-out-production-diagnostics-improvements-in-clr-4.aspx"&gt;un
article sur MSDN Magazine présente les nouveautés apportées par la CLR4 en matière
de diagnostiques d’applications en production.&lt;/a&gt;&lt;/p&gt;
        &lt;p align="justify"&gt;
          &lt;a href="http://blogs.msdn.com/clrcodegeneration/archive/2010/04/27/ngen-walk-through-series.aspx"&gt;L’équipe
responsable de la génération de code propose une série de posts consacrés à l’utilisation
de ngen.exe&lt;/a&gt;.
&lt;/p&gt;
        &lt;p align="justify"&gt;
Du côté de l’actualité française, Benoit Laut nous informe &lt;a href="http://benoitlaut.net/2010/05/07/CodeplexEtLanalyseDapplicationsAvecDotFuscator40.aspx"&gt;d’une
nouvelle fonctionnalité proposée par DotFuscator 4.0 et disponible sur CodePlex, l’instrumentation
d’applications afin d’analyser leur utilisation (nombres d’utilisateurs, quel modules
sont utilisés ,etc.).&lt;/a&gt; 
&lt;/p&gt;
        &lt;p align="justify"&gt;
Jb Evain &lt;a href="http://feedproxy.google.com/~r/jbevain/~3/mQwh_65xt2I/parameterof-propertyof-methodof"&gt;nous
propose une manière simple d’implémenter l’équivalent de mots-clés parameterof, propertyof,
methodof, et eventof en C#.&lt;/a&gt;&lt;/p&gt;
        &lt;img width="0" height="0" src="http://patricelamarche.net/aggbug.ashx?id=6eeb15e3-3721-4201-a086-788f3346bbb9"&gt;&lt;/img&gt;
      &lt;/body&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Patrice?a=zQTGJhh77fc:opqz0e0SoHs:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Patrice?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Patrice?a=zQTGJhh77fc:opqz0e0SoHs:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Patrice?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Patrice?a=zQTGJhh77fc:opqz0e0SoHs:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Patrice?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Patrice?a=zQTGJhh77fc:opqz0e0SoHs:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Patrice?i=zQTGJhh77fc:opqz0e0SoHs:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Patrice?a=zQTGJhh77fc:opqz0e0SoHs:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Patrice?i=zQTGJhh77fc:opqz0e0SoHs:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Patrice/~4/zQTGJhh77fc" height="1" width="1"/&gt;</description>
      <comments>http://patricelamarche.net/CommentView,guid,6eeb15e3-3721-4201-a086-788f3346bbb9.aspx</comments>
      <category>News</category>
      <origLink xmlns="http://rssnamespace.org/feedburner/ext/1.0">http://patricelamarche.net/2010/05/10/NewsDeLaSemaine19.aspx</origLink>
    </item>
    <item>
      <title>Nova4Phone Preview 2</title>
      <description>&lt;p&gt;&lt;a href="http://www.catuhe.com/image.axd?picture=image_11.png"&gt;&lt;img style="display: inline; margin-left: 0px; margin-right: 0px; border: 0px;" title="image" src="http://www.catuhe.com/image.axd?picture=image_thumb_11.png" border="0" alt="image" width="106" height="200" align="right" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Nova4Phone avance bien puisque les animations (positions, rotations, chemins, scaling) sont d&amp;eacute;sormais g&amp;eacute;r&amp;eacute;es.&lt;/p&gt;
&lt;p&gt;De plus le syst&amp;egrave;me d&amp;rsquo;actions de Nova est pris en compte: on peut donc toucher des objets pour d&amp;eacute;clencher des interactions.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.catuhe.com/files/Nova4PhonePreview2.mp4" target="_blank"&gt;Une petite vid&amp;eacute;o pour illustrer tout &amp;ccedil;a.&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;&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;div class="addthis_toolbox addthis_default_style"  style="padding-top:10px" &gt;
&lt;a style="padding-right:10px" href="http://www.addthis.com/bookmark.php?v=250&amp;username=4a00fc5d6a261f84&amp;url=http%3a%2f%2fwww.catuhe.com%2fpost%2fNova4Phone-Preview-2.aspx&amp;title=Nova4Phone+Preview+2&amp;description="&gt;&lt;img src="http://s7.addthis.com/static/btn/v2/sm-bookmark-en.gif"  alt="Bookmark and Share" style="border:0"/&gt;&lt;/a&gt;
&lt;/div&gt;</description>
      <link>http://www.catuhe.com/post/Nova4Phone-Preview-2.aspx</link>
      <author>Kosh</author>
      <comments>http://www.catuhe.com/post/Nova4Phone-Preview-2.aspx#comment</comments>
      <guid>http://www.catuhe.com/post.aspx?id=fa5dd2c8-e12a-4d67-a411-7d89f85c8299</guid>
      <pubDate>Sat, 08 May 2010 01:19:00 +0300</pubDate>
      <category>.Net</category>
      <category>Nova</category>
      <category>Windows Phone</category>
      <publisher xmlns="http://purl.org/dc/elements/1.1/">Kosh</publisher>
      <server xmlns="http://madskills.com/public/xml/rss/module/pingback/">http://www.catuhe.com/pingback.axd</server>
      <target xmlns="http://madskills.com/public/xml/rss/module/pingback/">http://www.catuhe.com/post.aspx?id=fa5dd2c8-e12a-4d67-a411-7d89f85c8299</target>
      <comments xmlns="http://purl.org/rss/1.0/modules/slash/">3</comments>
      <ping xmlns="http://madskills.com/public/xml/rss/module/trackback/">http://www.catuhe.com/trackback.axd?id=fa5dd2c8-e12a-4d67-a411-7d89f85c8299</ping>
      <comment xmlns="http://wellformedweb.org/CommentAPI/">http://www.catuhe.com/post/Nova4Phone-Preview-2.aspx#comment</comment>
      <commentRss xmlns="http://wellformedweb.org/CommentAPI/">http://www.catuhe.com/syndication.axd?post=fa5dd2c8-e12a-4d67-a411-7d89f85c8299</commentRss>
    </item>
    <item>
      <ping xmlns="http://madskills.com/public/xml/rss/module/trackback/">http://benoitlaut.net/Trackback.aspx?guid=4c812c88-633f-41d1-8bd8-c777da2b1814</ping>
      <server xmlns="http://madskills.com/public/xml/rss/module/pingback/">http://benoitlaut.net/pingback.aspx</server>
      <target xmlns="http://madskills.com/public/xml/rss/module/pingback/">http://benoitlaut.net/PermaLink,guid,4c812c88-633f-41d1-8bd8-c777da2b1814.aspx</target>
      <creator xmlns="http://purl.org/dc/elements/1.1/">Benoît Laut</creator>
      <comment xmlns="http://wellformedweb.org/CommentAPI/">http://benoitlaut.net/CommentView,guid,4c812c88-633f-41d1-8bd8-c777da2b1814.aspx</comment>
      <commentRss xmlns="http://wellformedweb.org/CommentAPI/">http://benoitlaut.net/SyndicationService.asmx/GetEntryCommentsRss?guid=4c812c88-633f-41d1-8bd8-c777da2b1814</commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
          <a href="http://codeplex.codeplex.com/wikipage?title=Project%20Stats#Instrumentation" target="_blank">
            <img style="border-right-width: 0px; margin: 0px 10px 0px 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" align="left" src="http://benoitlaut.net/content/binary/WindowsLiveWriter/CodeplexetlanalysedapplicationsavecDot.0_10FD2/image_3.png" width="439" height="235" />
          </a>
        </p>
        <p>
Jusqu’ici pour un projet Codeplex nous avions du reporting sur le nombre de téléchargements
ou encore le nombre de visites par période. Cependant ces indicateurs ne permettent
pas de savoir l’utilisation que font les utilisateurs de l’application ou des différentes
fonctionnalités.
</p>
        <p>
Depuis aujourd’hui Codeplex offre la possibilité de suivre l’utilisation de son application. 
</p>
        <p>
En instrumentant son application avec les nouveaux outils de DotFuscator fournis avec
Visual Studio 2010, il est possible de connaitre combien de fois l’application a été
démarrée ou encore de connaitre la fréquence d’utilisation d’une fonctionnalité, en
décorant simplement les méthodes par des attributs. 
</p>
        <p>
Nous connaissons déjà DotFuscator pour les outils d’obfuscation de code qui sont inclus
dans les versions précédentes de Visual Studio. Dans Visual Studio 2010, PreEmptive
nous propose avec la version Community Edition 4.0 de DotFuscator d’autres fonctionnalités
intéressantes, simples à mettre en place et gratuites pour certaines ;)
</p>
        <p>
Pour plus d’information sur DotFuscator voici <a href="http://msdn.microsoft.com/fr-fr/library/ms227240(VS.90).aspx" target="_blank">la
liste détaillées des fonctionnalités de DotFuscator 4.0 par édition</a>.
</p>
        <p>
La société PreEmptive é écrit <a href="http://runtimeintelligence.codeplex.com/" target="_blank">un
tutoriel expliquant comment instrumenter son application et la brancher sur son projet
codeplex</a>.
</p>
        <img width="0" height="0" src="http://benoitlaut.net/aggbug.ashx?id=4c812c88-633f-41d1-8bd8-c777da2b1814" />
      </body>
      <title>Codeplex et l’analyse d’applications avec DotFuscator 4.0</title>
      <guid isPermaLink="false">http://benoitlaut.net/PermaLink,guid,4c812c88-633f-41d1-8bd8-c777da2b1814.aspx</guid>
      <link>http://benoitlaut.net/2010/05/07/CodeplexEtLanalyseDapplicationsAvecDotFuscator40.aspx</link>
      <pubDate>Fri, 07 May 2010 17:19:50 GMT</pubDate>
      <description>&lt;p&gt;
&lt;a href="http://codeplex.codeplex.com/wikipage?title=Project%20Stats#Instrumentation" target="_blank"&gt;&lt;img style="border-right-width: 0px; margin: 0px 10px 0px 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" align="left" src="http://benoitlaut.net/content/binary/WindowsLiveWriter/CodeplexetlanalysedapplicationsavecDot.0_10FD2/image_3.png" width="439" height="235"&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
Jusqu’ici pour un projet Codeplex nous avions du reporting sur le nombre de téléchargements
ou encore le nombre de visites par période. Cependant ces indicateurs ne permettent
pas de savoir l’utilisation que font les utilisateurs de l’application ou des différentes
fonctionnalités.
&lt;/p&gt;
&lt;p&gt;
Depuis aujourd’hui Codeplex offre la possibilité de suivre l’utilisation de son application. 
&lt;/p&gt;
&lt;p&gt;
En instrumentant son application avec les nouveaux outils de DotFuscator fournis avec
Visual Studio 2010, il est possible de connaitre combien de fois l’application a été
démarrée ou encore de connaitre la fréquence d’utilisation d’une fonctionnalité, en
décorant simplement les méthodes par des attributs. 
&lt;/p&gt;
&lt;p&gt;
Nous connaissons déjà DotFuscator pour les outils d’obfuscation de code qui sont inclus
dans les versions précédentes de Visual Studio. Dans Visual Studio 2010, PreEmptive
nous propose avec la version Community Edition 4.0 de DotFuscator d’autres fonctionnalités
intéressantes, simples à mettre en place et gratuites pour certaines ;)
&lt;/p&gt;
&lt;p&gt;
Pour plus d’information sur DotFuscator voici &lt;a href="http://msdn.microsoft.com/fr-fr/library/ms227240(VS.90).aspx" target="_blank"&gt;la
liste détaillées des fonctionnalités de DotFuscator 4.0 par édition&lt;/a&gt;.
&lt;/p&gt;
&lt;p&gt;
La société PreEmptive é écrit &lt;a href="http://runtimeintelligence.codeplex.com/" target="_blank"&gt;un
tutoriel expliquant comment instrumenter son application et la brancher sur son projet
codeplex&lt;/a&gt;.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://benoitlaut.net/aggbug.ashx?id=4c812c88-633f-41d1-8bd8-c777da2b1814" /&gt;</description>
      <comments>http://benoitlaut.net/CommentView,guid,4c812c88-633f-41d1-8bd8-c777da2b1814.aspx</comments>
      <category>Visual Studio</category>
    </item>
    <item>
      <guid isPermaLink="false">33</guid>
      <link>http://feedproxy.google.com/~r/PaslatekBlog/~3/vvogjCc1zrQ/upload-facile-et-rapide-sur-sharepoint-2010-via-le-model-objet-client-20100507-33.aspx</link>
      <author>lionel.limozin@bewise.fr</author>
      <title>Upload facile et rapide sur Sharepoint 2010 via le model objet client</title>
      <description>&lt;p&gt;En ce moment je fait du Silverlight pour Sharepoint 2010. Ce qui est très vite ennuyeux et rébarbatif c’est de systématiquement uploader le xap généré dans une bibliothèque de document de mon SharePoint. Alors tant qu’à y être (dans le modele objet de SharePoint 2010) je me suis fait une petite application console qui va prendre en charge l’upload. Au final j’utilise cette application en tant que commande POSTBuild dans mon VisualStudio. &lt;a href="http://www.paslatek.net/code/SP2010Uploader.zip" target="_blank"&gt;L’outil est téléchargeable ici&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;Voilà le code que j'ai utilisé pour faire l’upload à proprement dit. Le reste n’est que décoration, récupération des paramètres, gestion des erreurs…:    &lt;br /&gt;&lt;span style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: medium &amp;#39;Times New Roman&amp;#39;; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(0,0,0); word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" class="Apple-style-span"&gt;&lt;span style="text-align: left; font-family: &amp;#39;Segoe UI&amp;#39;, verdana, arial; font-size: 13px" class="Apple-style-span"&gt;&lt;/span&gt;      &lt;pre style="padding-bottom: 5px; font-style: normal; margin: 0px; padding-left: 5px; padding-right: 5px; font-family: consolas, courier, monospace; word-wrap: break-word; word-break: break-all; font-weight: normal; padding-top: 5px"&gt;ClientContext clientContext =
            &lt;span style="color: blue"&gt;new&lt;/span&gt; ClientContext(&lt;span style="color: rgb(163,21,21)"&gt;&amp;quot;http://intranet.contoso.com&amp;quot;&lt;/span&gt;);
        &lt;span style="color: blue"&gt;using&lt;/span&gt; (FileStream fileStream =
            &lt;span style="color: blue"&gt;new&lt;/span&gt; FileStream(&lt;span style="color: rgb(163,21,21)"&gt;&amp;quot;NewDocument.docx&amp;quot;&lt;/span&gt;, FileMode.Open))
            ClientOM.File.SaveBinaryDirect(clientContext,
                &lt;span style="color: rgb(163,21,21)"&gt;&amp;quot;/Shared Documents/NewDocument.docx&amp;quot;&lt;/span&gt;, fileStream, &lt;span style="color: blue"&gt;true&lt;/span&gt;);&lt;/pre&gt;
  &lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;/p&gt;

&lt;p&gt;Une fois mon application prête à recevoir les paramètres je l’utilise avec la ligne de commande suivante pour ma POSTBuild Action : &amp;quot;C:\lionel\SP2010Uploader\SP2010Uploader\bin\Release\SP2010Uploader.exe&amp;quot; &lt;a href="http://SP2010-1"&gt;http://SP2010-1&lt;/a&gt; &amp;quot;$(TargetDir)$(TargetName).xap&amp;quot; SilverlightControls.&lt;/p&gt;

&lt;p&gt;Cette commande upload donc le xap généré dans la librairie &amp;quot;SilverlightControls&amp;quot; de mon site sharepoint http://SP2010-1 ! &lt;/p&gt;</description>
      <pubDate>Fri, 07 May 2010 16:32:15 +0200</pubDate>
      <updated xmlns="http://www.w3.org/2005/Atom">2010-05-07T16:32:15+02:00</updated>
      <origLink xmlns="http://rssnamespace.org/feedburner/ext/1.0">http://www.paslatek.net/upload-facile-et-rapide-sur-sharepoint-2010-via-le-model-objet-client-20100507-33.aspx</origLink>
    </item>
    <item>
      <ping xmlns="http://madskills.com/public/xml/rss/module/trackback/">http://patricelamarche.net/Trackback.aspx?guid=39dbd845-786f-4d22-ba1e-48849f889538</ping>
      <server xmlns="http://madskills.com/public/xml/rss/module/pingback/">http://patricelamarche.net/pingback.aspx</server>
      <target xmlns="http://madskills.com/public/xml/rss/module/pingback/">http://patricelamarche.net/PermaLink,guid,39dbd845-786f-4d22-ba1e-48849f889538.aspx</target>
      <creator xmlns="http://purl.org/dc/elements/1.1/">Patrice Lamarche</creator>
      <comment xmlns="http://wellformedweb.org/CommentAPI/">http://patricelamarche.net/CommentView,guid,39dbd845-786f-4d22-ba1e-48849f889538.aspx</comment>
      <commentRss xmlns="http://wellformedweb.org/CommentAPI/">http://patricelamarche.net/SyndicationService.asmx/GetEntryCommentsRss?guid=39dbd845-786f-4d22-ba1e-48849f889538</commentRss>
      <title>Quand la CLR V2, la CLR V4 et du code mixte se rencontrent</title>
      <guid isPermaLink="false">http://patricelamarche.net/PermaLink,guid,39dbd845-786f-4d22-ba1e-48849f889538.aspx</guid>
      <link>http://feedproxy.google.com/~r/Patrice/~3/KyZ4SsDTpF0/QuandLaCLRV2LaCLRV4EtDuCodeMixteSeRencontrent.aspx</link>
      <pubDate>Thu, 06 May 2010 12:31:31 GMT</pubDate>
      <description>&lt;body xmlns="http://www.w3.org/1999/xhtml"&gt;
        &lt;p&gt;
          &lt;em&gt;
            &lt;strong&gt;
            &lt;/strong&gt;
          &lt;/em&gt;
        &lt;/p&gt;
        &lt;blockquote&gt;
          &lt;h1&gt;
            &lt;h1&gt;“Mixed mode assembly is built against version 'v2.0.50727' of the runtime and
cannot be loaded in the 4.0 runtime without additional configuration information”
&lt;/h1&gt;
          &lt;/h1&gt;
        &lt;/blockquote&gt;
        &lt;p&gt;
Voici le petit message d’amour que peut vous renvoyez votre ami la CLR lorsque vous
essayez d’exécuter une application qui :
&lt;/p&gt;
        &lt;ul&gt;
          &lt;li&gt;
référence une assembly mixte (mêlant code natif et code managé) qui a été compilée
pour être basée sur une version différente de la CLR utilisée par votre point d’entrée. 
&lt;/li&gt;
        &lt;/ul&gt;
        &lt;p&gt;
La solution à ce problème est assez simple, il suffit de rajouter une section dans
votre fichier de config :
&lt;/p&gt;
        &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;
        &lt;span style="color: #800000"&gt;configuration&lt;/span&gt;
        &lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;
        &lt;br&gt;
        &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;
        &lt;span style="color: #800000"&gt;startup&lt;/span&gt;
        &lt;span style="color: #ff0000"&gt;useLegacyV2RuntimeActivationPolicy&lt;/span&gt;=&lt;span style="color: #0000ff"&gt;"true"&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;br&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;supportedRuntime&lt;/span&gt;&lt;span style="color: #ff0000"&gt;version&lt;/span&gt;=&lt;span style="color: #0000ff"&gt;"v4.0"&lt;/span&gt;&lt;span style="color: #0000ff"&gt;/&amp;gt;&lt;/span&gt;&lt;br&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;startup&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;br&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;configuration&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;br&gt;&lt;h2&gt;L’attribut useLegacyV2RuntimeActivationPolicy
&lt;/h2&gt;&lt;p align="justify"&gt;
La clé du problème se situe donc dans l’utilisation de l’attribut useLegacyV2RuntimeActivationPolicy
qui est à false par défaut. Cet attribut permet de changer la politique de chargement
de CLR au sein de votre application. Il y a eu en effet un gros changement à ce sujet
:
&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;div align="justify"&gt;Dans l’ère pré-CLR V4, en V2 quoi, il n’était possible de charger
qu’une seule version de CLR au sein d’un process. La politique par défaut était de
charger toutes vos assemblies en utilisant la version la plus récente de la CLR que
vous aviez à disposition. Cette stratégie a comme avantage que votre ancien code bénéficie
automatiquement des améliorations apportées par des versions plus récentes de CLR.
Mais cela pouvait posait des problèmes de compatibilité dans certains rares cas.
&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="justify"&gt;Avec la CLR V4, il est à présent de charger différentes versions
de CLR au sein d’un même process et afin de ne plus être confronté aux problèmes de
compatibilité la politique de chargement a changé. A présent les assemblies basées
sur la CLR 4, utilisent la CLR 4, et les autres utilisent la version la plus récente
inférieure à la V4.
&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p align="justify"&gt;
Le problème avec les assemblies mixtes c’est que la CLR doit être capable de savoir
quelle est la CLR a utiliser lorsque un thread natif appel du code managé. Il faut
donc désactiver le side by side afin d’avoir une seule version identifiable.
&lt;/p&gt;&lt;h2&gt;Mais pourquoi ça marche très bien depuis mes tests unitaires ? 
&lt;br&gt;&lt;/h2&gt;&lt;p align="justify"&gt;
Confronté au problème une de mes premières questions a été de comprendre pourquoi
mon code fonctionne très bien depuis mes tests unitaires alors qu’il plante lorsque
je l’appelle depuis mon application. Le moteur d’exécution des tests unitaires MSTest
est QTAgent.exe (QTAgent32.exe en version 32 bits, et oui VS 2010 supporte enfin l’exécution
de tests unitaires en 32 &lt;em&gt;&lt;strong&gt;et &lt;/strong&gt;&lt;/em&gt;64 bits). Si l’on va farfouiller
un petit peu dans le dossier C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE
à la recherche des fichiers de configs des tests runners on se rend compte que Microsoft
a configuré le chargement de runtime via le fameux attribut useLegacyV2RuntimeActivationPolicy. 
&lt;/p&gt;&lt;p align="center"&gt;&lt;em&gt;Ce qui veut donc dire que par défaut tous vos tests unitaires utiliseront uniquement
la V4 de la CLR et que le hosting de CLR Side by Side est désactivé pour tous vos
tests unitaires.&lt;/em&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;em&gt;&lt;font color="#222222"&gt; &lt;/font&gt;&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;&lt;img width="0" height="0" src="http://patricelamarche.net/aggbug.ashx?id=39dbd845-786f-4d22-ba1e-48849f889538"&gt;&lt;/img&gt;&lt;/body&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Patrice?a=KyZ4SsDTpF0:PnMxFhnGwhs:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Patrice?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Patrice?a=KyZ4SsDTpF0:PnMxFhnGwhs:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Patrice?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Patrice?a=KyZ4SsDTpF0:PnMxFhnGwhs:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Patrice?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Patrice?a=KyZ4SsDTpF0:PnMxFhnGwhs:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Patrice?i=KyZ4SsDTpF0:PnMxFhnGwhs:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Patrice?a=KyZ4SsDTpF0:PnMxFhnGwhs:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Patrice?i=KyZ4SsDTpF0:PnMxFhnGwhs:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Patrice/~4/KyZ4SsDTpF0" height="1" width="1"/&gt;</description>
      <comments>http://patricelamarche.net/CommentView,guid,39dbd845-786f-4d22-ba1e-48849f889538.aspx</comments>
      <category>.net 4.0</category>
      <origLink xmlns="http://rssnamespace.org/feedburner/ext/1.0">http://patricelamarche.net/2010/05/06/QuandLaCLRV2LaCLRV4EtDuCodeMixteSeRencontrent.aspx</origLink>
    </item>
    <item>
      <ping xmlns="http://madskills.com/public/xml/rss/module/trackback/">http://patricelamarche.net/Trackback.aspx?guid=e7dbfe56-6981-4935-a665-cec18a94ce14</ping>
      <server xmlns="http://madskills.com/public/xml/rss/module/pingback/">http://patricelamarche.net/pingback.aspx</server>
      <target xmlns="http://madskills.com/public/xml/rss/module/pingback/">http://patricelamarche.net/PermaLink,guid,e7dbfe56-6981-4935-a665-cec18a94ce14.aspx</target>
      <creator xmlns="http://purl.org/dc/elements/1.1/">Patrice Lamarche</creator>
      <comment xmlns="http://wellformedweb.org/CommentAPI/">http://patricelamarche.net/CommentView,guid,e7dbfe56-6981-4935-a665-cec18a94ce14.aspx</comment>
      <commentRss xmlns="http://wellformedweb.org/CommentAPI/">http://patricelamarche.net/SyndicationService.asmx/GetEntryCommentsRss?guid=e7dbfe56-6981-4935-a665-cec18a94ce14</commentRss>
      <title>Mettre en place une veille technologique via RSS</title>
      <guid isPermaLink="false">http://patricelamarche.net/PermaLink,guid,e7dbfe56-6981-4935-a665-cec18a94ce14.aspx</guid>
      <link>http://feedproxy.google.com/~r/Patrice/~3/jkZXiOfm0pA/MettreEnPlaceUneVeilleTechnologiqueViaRSS.aspx</link>
      <pubDate>Wed, 05 May 2010 17:16:15 GMT</pubDate>
      <description>&lt;body xmlns="http://www.w3.org/1999/xhtml"&gt;
        &lt;p align="justify"&gt;
          &lt;em&gt;
            &lt;strong&gt;
            &lt;/strong&gt;
          &lt;/em&gt;
        &lt;/p&gt;
        &lt;blockquote&gt;
          &lt;p align="center"&gt;
            &lt;em&gt;“Mais tu passes combien d’heures par jour sur le net pour connaitre autant de
sites/blogs ?”&lt;/em&gt; 
&lt;/p&gt;
        &lt;/blockquote&gt;
        &lt;p align="justify"&gt;
Voilà une question que l’on me pose de temps en temps suite à une de mes réponses
du style : “Il  y a Eric Lippert qui a bloggué sur ce sujet il y a 1 mois et
demi, vas sur son blog sur msdn tu trouveras ton bonheur”. Malheureusement à chaque
fois que l’on m’interroge à ce sujet je me rends compte que la personne en face de
moi ne fait pas du tout de veille technologique et ne maitrise pas l’utilisation des
flux RSS. Car au lieu de passer plusieurs heures par jour à me balader sur Internet,
je passe maximum 1/2h par jour à consulter l’ensemble du contenu que je récupère via
mes 200 flux auxquels je suis abonné. Consulter 200 sites/blogs par jour ? oui c’est
possible via RSS. Et voici ma méthode pour réaliser ma veille technologique efficacement
sans y consacrer 307 ans.
&lt;/p&gt;
        &lt;p align="justify"&gt;
          &lt;em&gt;
            &lt;strong&gt;1ère étape : Trouvez votre lecteur RSS 
&lt;br&gt;&lt;br&gt;&lt;/strong&gt;
          &lt;/em&gt;Première étape qui évoluera en fonction de vos habitudes de consommation,
il faut choisir votre client RSS. Deux principales options s’offrent à vous : un client
web ou un client riche. Pour savoir quels sont les points forts et points faibles
des principaux clients sur le marché, je vous recommande &lt;a href="http://www.oezratty.net/wordpress/2008/banc-dessai-jour-de-lecteurs-rss/"&gt;ce
post de l’excellent blog d’Olivier Ezratty&lt;/a&gt;.
&lt;/p&gt;
        &lt;p align="justify"&gt;
          &lt;a title="The Information SuperHighway (cc) Vermin Inc." href="http://www.flickr.com/photos/vermininc/3506799125/"&gt;
            &lt;img style="border-right-width: 0px; margin: 0px 10px 5px 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="The Information SuperHighway (cc) Vermin Inc." border="0" alt="image" align="left" src="http://patricelamarche.net/content/binary/WindowsLiveWriter/78784a010c48_11919/image_3.png" width="241" height="244"&gt;&lt;/img&gt;
          &lt;/a&gt; Les
critères de choix qui me semble les plus importants en tant que gros consommateur
de flux sont : la performance (en terme de consommation CPU et de mémoire et d’affichage
des posts), et la possibilité de flagguer les posts les plus intéressants.
&lt;/p&gt;
        &lt;p align="justify"&gt;
          &lt;br&gt;
          &lt;strong&gt;
            &lt;em&gt;2ème étape : Créez votre catalogue de flux RSS&lt;/em&gt;
          &lt;/strong&gt;  
&lt;br&gt;
Il s’agit généralement de l’étape la plus simple. Vous avez très probablement en tête
certains blogs ou têtes pensantes qui publient régulièrement des informations dans
le domaine qui vous intéresse. Rendez-vous (pour la dernière fois) sur ces sites web
que vous connaissez déjà et abonnez vous aux flux RSS qu’ils exposent.
&lt;/p&gt;
        &lt;p align="justify"&gt;
Classez correctement vos flux en différentes catégories/sous-catégories afin de pouvoir
retrouver facilement les informations lorsque vous en aurez besoin.
&lt;/p&gt;
        &lt;p align="justify"&gt;
Je vous déconseille fortement de vous abonner aux flux qui ne proposent qu’un résumé
du contenu et non l’intégralité du contenu (le RSS sert à syndiquer du contenu et
non des résumés). Ces flux sont une perte de temps puisqu’ils vous obligent à consulter
le site pour avoir accès à l’information souhaitée. Sur mes 200 flux, je n’en possède
que deux qui proposent uniquement le résumé (celui de &lt;a href="http://www.zdnet.com/blog/microsoft"&gt;Mary
Jo Foley&lt;/a&gt;, et celui d’&lt;a href="http://mespetitsboulots.over-blog.com/"&gt;une toulousaine
pleine d’humour&lt;/a&gt; –rien à avoir avec la techno :p)
&lt;/p&gt;
        &lt;p&gt;
          &lt;em&gt;
            &lt;strong&gt;3ème étape : Maintenez régulièrement sa liste d’abonnements 
&lt;br&gt;&lt;br&gt;&lt;/strong&gt;
          &lt;/em&gt;Il est très important d’enrichir votre liste de flux, votre client RSS
n’est pas une boite qui s’alimente toute seule en effectuant sans cesse des requêtes
HTTP, il faut l’entretenir en lui donnant de quoi se mettre sous la dent. En plus
du simple ajout ponctuel effectué suite à des recherches précises, j’enrichis mon
catalogue de deux manières :
&lt;/p&gt;
        &lt;ul&gt;
          &lt;li&gt;
En suivant les blogrolls des blogs qui me plaisent le plus. Les personnes qui vous
intéressent le plus ont une probabilité assez importante de recommander à leur tour
des personnes intéressantes. Cette technique fonctionnait bien jusqu’à il y a quelques
mois mais je l’utilise de moins en moins car : les bloggeurs utilisent de moins en
moins les blogroll et quand ils le font c’est généralement pour des blogroll “corporate”
destinés à promouvoir leurs collègues. 
&lt;/li&gt;
          &lt;li&gt;
La deuxième technique, celle que je privilégie, est d’utiliser Twitter. 
&lt;/li&gt;
        &lt;/ul&gt;
        &lt;p&gt;
La maintenance passe également par la suppression des flux inactifs ou qui ne vous
intéressent plus. Cette étape est importante afin de ne pas pénaliser les performances
de votre client et surtout afin de toujours avoir des informations pertinentes et
non un simple tas d’informations accumulées avec le temps. La plupart des clients
RSS vous permettent d’avoir facilement accès à vos flux morts pour que vous puissiez
faire facilement le ménage.
&lt;/p&gt;
        &lt;p align="justify"&gt;
          &lt;em&gt;
            &lt;strong&gt;4ème étape : Abonnez vous à des blogs/sites/rubriques de news 
&lt;br&gt;&lt;br&gt;&lt;/strong&gt;
          &lt;/em&gt;Vous n’êtes pas les seuls à faire de la veille technologique, n’hésitez
donc pas à profiter du travail des autres quand ceux-ci ont la gentillesse de le partager
via des blogs, des sites ou alors des rubriques dédiées.
&lt;/p&gt;
        &lt;p align="justify"&gt;
En règle générale, vous ne trouverez pas de listes qui ciblent exactement vos centres
d’intérêts, c’est pour cette raison que ces sites doivent être des compléments à votre
propre veille, et non en être la base.
&lt;/p&gt;
        &lt;p align="justify"&gt;
Dans le monde .net vous pouvez vous abonner aux sites suivants : 
&lt;br&gt;&lt;br&gt;
En anglais : &lt;a href="http://themorningbrew.net/"&gt;The Morning Brew&lt;/a&gt;&lt;br&gt;&lt;br&gt;
En français : &lt;a href="http://www.c2i.fr/"&gt;C2i.fr&lt;/a&gt; ou encore &lt;a href="http://patricelamarche.net/CategoryView,category,News.aspx"&gt;ma
propre rubrique de news&lt;/a&gt; ;) 
&lt;br&gt;&lt;br&gt;&lt;/p&gt;
        &lt;p align="center"&gt;
Voilou ! vous êtes à présent parés pour affronter la masse d’informations disponibles
sur le net !
&lt;/p&gt;
        &lt;img width="0" height="0" src="http://patricelamarche.net/aggbug.ashx?id=e7dbfe56-6981-4935-a665-cec18a94ce14"&gt;&lt;/img&gt;
      &lt;/body&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Patrice?a=jkZXiOfm0pA:zctEI2h3qI8:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Patrice?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Patrice?a=jkZXiOfm0pA:zctEI2h3qI8:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Patrice?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Patrice?a=jkZXiOfm0pA:zctEI2h3qI8:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Patrice?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Patrice?a=jkZXiOfm0pA:zctEI2h3qI8:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Patrice?i=jkZXiOfm0pA:zctEI2h3qI8:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Patrice?a=jkZXiOfm0pA:zctEI2h3qI8:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Patrice?i=jkZXiOfm0pA:zctEI2h3qI8:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Patrice/~4/jkZXiOfm0pA" height="1" width="1"/&gt;</description>
      <comments>http://patricelamarche.net/CommentView,guid,e7dbfe56-6981-4935-a665-cec18a94ce14.aspx</comments>
      <category>Autres</category>
      <origLink xmlns="http://rssnamespace.org/feedburner/ext/1.0">http://patricelamarche.net/2010/05/05/MettreEnPlaceUneVeilleTechnologiqueViaRSS.aspx</origLink>
    </item>
    <item>
      <ping xmlns="http://madskills.com/public/xml/rss/module/trackback/">http://patricelamarche.net/Trackback.aspx?guid=de2b2300-f2ca-46e4-aead-661e007ea169</ping>
      <server xmlns="http://madskills.com/public/xml/rss/module/pingback/">http://patricelamarche.net/pingback.aspx</server>
      <target xmlns="http://madskills.com/public/xml/rss/module/pingback/">http://patricelamarche.net/PermaLink,guid,de2b2300-f2ca-46e4-aead-661e007ea169.aspx</target>
      <creator xmlns="http://purl.org/dc/elements/1.1/">Patrice Lamarche</creator>
      <comment xmlns="http://wellformedweb.org/CommentAPI/">http://patricelamarche.net/CommentView,guid,de2b2300-f2ca-46e4-aead-661e007ea169.aspx</comment>
      <commentRss xmlns="http://wellformedweb.org/CommentAPI/">http://patricelamarche.net/SyndicationService.asmx/GetEntryCommentsRss?guid=de2b2300-f2ca-46e4-aead-661e007ea169</commentRss>
      <title>News de la semaine #18</title>
      <guid isPermaLink="false">http://patricelamarche.net/PermaLink,guid,de2b2300-f2ca-46e4-aead-661e007ea169.aspx</guid>
      <link>http://feedproxy.google.com/~r/Patrice/~3/QChUUhlqeao/NewsDeLaSemaine18.aspx</link>
      <pubDate>Tue, 04 May 2010 13:55:47 GMT</pubDate>
      <description>&lt;body xmlns="http://www.w3.org/1999/xhtml"&gt;
        &lt;p&gt;
          &lt;img style="display: inline; margin-left: 0px; margin-right: 0px" alt="image" align="right" src="http://patricelamarche.net/content/binary/WindowsLiveWriter/Newsdelasemaine18_9F77/image_thumb.png"&gt;&lt;/img&gt;Comme
souvent débutons l’actualité de cette semaine par des nouvelles de Windows Azure. &lt;a href="http://channel9.msdn.com/shows/Cloud+Cover/Cloud-Cover-Episode-9-Blob-API/"&gt;L’épisode
9 de Cloud Cover est à présent en ligne sur Channel 9&lt;/a&gt;. 
&lt;/p&gt;
        &lt;p&gt;
L’équipe de Patterns &amp;amp; Practices a mis en ligne &lt;a href="http://wag.codeplex.com/"&gt;des
Windows Azure Guidance sur CodePlex.&lt;/a&gt;&lt;/p&gt;
        &lt;p&gt;
L’actualité de la semaine est également axée autour de la mise à disposition &lt;a href="http://timheuer.com/blog/archive/2010/04/29/windows-phone-tools-update-april-2010-silverlight-xna.aspx"&gt;des
outils de développement pour Windows Phone 7 compatibles avec la RTM de Visual Studio
2010&lt;/a&gt;. 
&lt;/p&gt;
        &lt;p&gt;
Adam Kinney nous propose à cette occasion &lt;a href="http://adamkinney.wordpress.com/2010/04/30/expression-blend-4-for-windows-phone-in-90-seconds/"&gt;une
vidéo de 90 secondes montrant l’intégration de ces outils avec Expression Blend 4.&lt;/a&gt;&lt;/p&gt;
        &lt;p&gt;
A peine sortie, le maitre Jedi de la 3D, &lt;a href="http://www.catuhe.com"&gt;David Catuhe&lt;/a&gt;, &lt;a href="http://www.catuhe.com/post/Et-ca-continuee280a6.aspx"&gt;nous
présente une implémentation de son moteur Nova pour Windows Phone 7. Avec comme démonstration
la navigation en 3D dans le Windows Café&lt;/a&gt;.
&lt;/p&gt;
        &lt;p&gt;
Tess Fernandez nous présente &lt;a href="http://blogs.msdn.com/tess/archive/2010/04/28/new-visual-studio-2010-and-net-4-debugging-content.aspx"&gt;quelques
nouveautés proposées par Visual Studio 2010 en matière de débogage.&lt;/a&gt;&lt;/p&gt;
        &lt;p&gt;
Microsoft Belgique &lt;a href="http://www.mic-belgique.be/archive/2010/4/27/appel-a-projet--multi-touch-.aspx"&gt;lance
un appel à projet Multi Touch pour les sociétés belges et luxembourgeoise&lt;/a&gt;.
&lt;/p&gt;
        &lt;p&gt;
Du côté de l’actualité française, Benoit Laut (&lt;a href="http://twitter.com/SuddenBen"&gt;qui
vient d’arriver sur Twitter&lt;/a&gt;) propose &lt;a href="http://bowie.codeplex.com/"&gt;une
version de Bowie (plugin TFS pour Outlook) compatible avec la RTM de Visual Studio
2010&lt;/a&gt;.
&lt;/p&gt;
        &lt;img width="0" height="0" src="http://patricelamarche.net/aggbug.ashx?id=de2b2300-f2ca-46e4-aead-661e007ea169"&gt;&lt;/img&gt;
      &lt;/body&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Patrice?a=QChUUhlqeao:FLtdWVDYgFI:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Patrice?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Patrice?a=QChUUhlqeao:FLtdWVDYgFI:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Patrice?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Patrice?a=QChUUhlqeao:FLtdWVDYgFI:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Patrice?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Patrice?a=QChUUhlqeao:FLtdWVDYgFI:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Patrice?i=QChUUhlqeao:FLtdWVDYgFI:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Patrice?a=QChUUhlqeao:FLtdWVDYgFI:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Patrice?i=QChUUhlqeao:FLtdWVDYgFI:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Patrice/~4/QChUUhlqeao" height="1" width="1"/&gt;</description>
      <comments>http://patricelamarche.net/CommentView,guid,de2b2300-f2ca-46e4-aead-661e007ea169.aspx</comments>
      <category>News</category>
      <origLink xmlns="http://rssnamespace.org/feedburner/ext/1.0">http://patricelamarche.net/2010/05/04/NewsDeLaSemaine18.aspx</origLink>
    </item>
    <item>
      <guid isPermaLink="false">tag:blogger.com,1999:blog-5619051591853320584.post-676717905403716923</guid>
      <pubDate>Tue, 04 May 2010 12:34:00 +0000</pubDate>
      <updated xmlns="http://www.w3.org/2005/Atom">2010-05-04T14:34:49.066+02:00</updated>
      <title>Bewise recrute un admin système et réseaux</title>
      <description>&lt;p&gt;Et oui, Bewise recrute encore. Tu aimes Exchange ? Tu maitrises Active Directory ? La nuit, tu rêves de trames IP ? Et tu as envie de travailler à Toulouse, la ville où il fait toujours beau (ou presque…) ? Alors lis les détails de l’annonce :&lt;/p&gt;  &lt;hr /&gt;  &lt;p&gt;&lt;b&gt;&lt;i&gt;Bewise,&lt;/i&gt;&lt;/b&gt;&lt;i&gt; basée à Toulouse&lt;b&gt;,&lt;/b&gt; est spécialisée sur les technologies Microsoft. Nous sommes donc aujourd'hui fortement engagés sur l'ensemble des technologies Microsoft (plate-forme .NET, plate-forme applicative, serveurs, etc.). &lt;/i&gt;&lt;/p&gt;  &lt;p&gt;&lt;i&gt;Nous recherchons actuellement un &lt;b&gt;&lt;u&gt;Administrateur Système et Réseaux h/f&lt;/u&gt;&lt;/b&gt;.&lt;/i&gt;&lt;/p&gt;  &lt;p&gt;&lt;i&gt;Rattaché au Directeur Technique, vous aurez la gestion complète et autonome de l'infrastructure technique de Bewise.&lt;/i&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;i&gt;&lt;u&gt;Vos missions : &lt;/u&gt;&lt;/i&gt;&lt;/b&gt;&lt;i&gt;&lt;/i&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;i&gt;Garantir le bon fonctionnement du système d'information et le niveau de service attendu&lt;/i&gt;&lt;i&gt;&lt;/i&gt; &lt;/li&gt;    &lt;li&gt;&lt;i&gt;Assister les utilisateurs et les consultants&lt;/i&gt;&lt;i&gt;&lt;/i&gt; &lt;/li&gt;    &lt;li&gt;&lt;i&gt;Gérer le parc de téléphonie mobile et fixe&lt;/i&gt;&lt;i&gt;&lt;/i&gt; &lt;/li&gt;    &lt;li&gt;&lt;i&gt;Gérer la salle de formation&lt;/i&gt;&lt;i&gt;&lt;/i&gt; &lt;/li&gt;    &lt;li&gt;&lt;i&gt;Mettre en œuvre les produits serveurs du catalogue de Microsoft&lt;/i&gt;&lt;i&gt;&lt;/i&gt; &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;i&gt;Vous êtes autonome, rigoureux, organisé et passionné par la technologie.&lt;/i&gt;&lt;/p&gt;  &lt;p&gt;&lt;i&gt;Vous avez 1 an d'expérience sur les systèmes Microsoft.&lt;/i&gt;&lt;/p&gt;  &lt;p&gt;&lt;i&gt;Vous avez une bonne connaissance des technologies suivantes:&lt;/i&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;b&gt;&lt;i&gt;Windows 2008 &lt;/i&gt;&lt;/b&gt;&lt;i&gt;&lt;/i&gt;&lt;/li&gt;    &lt;li&gt;&lt;b&gt;&lt;i&gt;Active Directory&lt;/i&gt;&lt;/b&gt;&lt;i&gt;&lt;/i&gt; &lt;/li&gt;    &lt;li&gt;&lt;b&gt;&lt;i&gt;Exchange&lt;/i&gt;&lt;/b&gt;&lt;i&gt;&lt;/i&gt; &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;i&gt;La connaissance d'autres produits du catalogue Microsoft serait un plus.&lt;/i&gt;&lt;/p&gt;  &lt;p&gt;&lt;i&gt;Rémunération selon profil.&lt;/i&gt;&lt;/p&gt;  &lt;p&gt;&lt;a title="http://www.bewise.fr/fr-FR/presentation/Pages/Administrateur-Système-Réseaux.aspx" href="http://www.bewise.fr/fr-FR/presentation/Pages/Administrateur-Syst&amp;egrave;me-R&amp;eacute;seaux.aspx"&gt;http://www.bewise.fr/fr-FR/presentation/Pages/Administrateur-Système-Réseaux.aspx&lt;/a&gt;&lt;/p&gt;  &lt;hr /&gt;  &lt;p&gt;Bewise recrute aussi des consultants .NET, Sharepoint et BI, sur Toulouse et Aix-en-Provence : &lt;a title="http://www.bewise.fr/fr-FR/presentation/Pages/jobs.aspx" href="http://www.bewise.fr/fr-FR/presentation/Pages/jobs.aspx"&gt;http://www.bewise.fr/fr-FR/presentation/Pages/jobs.aspx&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5619051591853320584-676717905403716923?l=blog.adhess.net' alt='' /&gt;&lt;/div&gt;</description>
      <link>http://blog.adhess.net/2010/05/bewise-recrute-un-admin-systeme-et.html</link>
      <author>noreply@blogger.com (Guillaume Lacasa)</author>
      <total xmlns="http://purl.org/syndication/thread/1.0">0</total>
    </item>
    <item>
      <title>SQL SERVER 2008 R2 Disponible pour les abonnés MSDN</title>
      <link>http://www.dotmim.com/blogs/mim/archive/2010/05/03/sql-server-2008-r2-disponible-pour-les-abonn-233-s-msdn.aspx</link>
      <pubDate>Mon, 03 May 2010 19:05:11 GMT</pubDate>
      <guid isPermaLink="false">f24f4a04-d5df-4071-90fb-39191e3ba06c:575</guid>
      <creator xmlns="http://purl.org/dc/elements/1.1/">Mimetis</creator>
      <comments xmlns="http://purl.org/rss/1.0/modules/slash/">0</comments>
      <wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://www.dotmim.com/blogs/mim/rsscomments.aspx?PostID=575</wfw:commentRss>
      <comments>http://www.dotmim.com/blogs/mim/archive/2010/05/03/sql-server-2008-r2-disponible-pour-les-abonn-233-s-msdn.aspx#comments</comments>
      <description>&lt;p&gt;Et hop, en avant le téléchargement :)&lt;/p&gt;  &lt;p&gt;Allez plus que 4 GO et on installe !&lt;/p&gt;  &lt;p&gt;&lt;img style="border-bottom:0px;border-left:0px;display:block;float:none;margin-left:auto;border-top:0px;margin-right:auto;border-right:0px;" title="image" border="0" alt="image" src="http://www.dotmim.com/blogs/mim/image_29D56E6C.png" width="454" height="118" /&gt; &lt;/p&gt;  &lt;p&gt;Bon téléchargement :)&lt;/p&gt;&lt;img src="http://www.dotmim.com/aggbug.aspx?PostID=575" width="1" height="1"&gt;</description>
    </item>
    <item>
      <title>Et ca continue…</title>
      <description>&lt;p&gt;&lt;a href="http://www.catuhe.com/image.axd?picture=image_10.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; margin-left: 0px; border-left-width: 0px; margin-right: 0px" title="image" border="0" alt="image" align="left" src="http://www.catuhe.com/image.axd?picture=image_thumb_10.png" width="204" height="379" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Allez hop nouvelle version avec:&lt;/p&gt;  &lt;p&gt;- Double texturation    &lt;br /&gt;- Culling (Back face et frustrum)     &lt;br /&gt;- Gestion des lightmaps     &lt;br /&gt;- Export direct depuis Nova&lt;/p&gt;  &lt;p&gt;Prochaine étape:&lt;/p&gt;  &lt;p&gt;- Collisions    &lt;br /&gt;- Actions&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Ce qui est dommage c’est que je reprends le taf demain, ca va fortement réduire ma productivité :(&lt;/p&gt;  &lt;p&gt;Par contre, au passage, XNA 4.0 ne gérera pas les shaders sur Windows Phone dans cette release. C’est fort dommage, ouh la oui!&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.Catuhe.com/files/capture-1.wmv"&gt;Allez hop, petite vidéo pour voir le truc tourner en live.&lt;/a&gt;&lt;/p&gt;
&lt;div class="addthis_toolbox addthis_default_style"  style="padding-top:10px" &gt;
&lt;a style="padding-right:10px" href="http://www.addthis.com/bookmark.php?v=250&amp;username=4a00fc5d6a261f84&amp;url=http%3a%2f%2fwww.catuhe.com%2fpost%2fEt-ca-continuee280a6.aspx&amp;title=Et+ca+continue%e2%80%a6&amp;description="&gt;&lt;img src="http://s7.addthis.com/static/btn/v2/sm-bookmark-en.gif"  alt="Bookmark and Share" style="border:0"/&gt;&lt;/a&gt;
&lt;/div&gt;</description>
      <link>http://www.catuhe.com/post/Et-ca-continuee280a6.aspx</link>
      <author>kosh</author>
      <comments>http://www.catuhe.com/post/Et-ca-continuee280a6.aspx#comment</comments>
      <guid>http://www.catuhe.com/post.aspx?id=2f2f650b-d94b-4408-af86-081b4aaf1621</guid>
      <pubDate>Mon, 03 May 2010 20:03:21 +0300</pubDate>
      <category>.Net</category>
      <category>Nova</category>
      <category>Windows Phone</category>
      <publisher xmlns="http://purl.org/dc/elements/1.1/">kosh</publisher>
      <server xmlns="http://madskills.com/public/xml/rss/module/pingback/">http://www.catuhe.com/pingback.axd</server>
      <target xmlns="http://madskills.com/public/xml/rss/module/pingback/">http://www.catuhe.com/post.aspx?id=2f2f650b-d94b-4408-af86-081b4aaf1621</target>
      <comments xmlns="http://purl.org/rss/1.0/modules/slash/">2</comments>
      <ping xmlns="http://madskills.com/public/xml/rss/module/trackback/">http://www.catuhe.com/trackback.axd?id=2f2f650b-d94b-4408-af86-081b4aaf1621</ping>
      <comment xmlns="http://wellformedweb.org/CommentAPI/">http://www.catuhe.com/post/Et-ca-continuee280a6.aspx#comment</comment>
      <commentRss xmlns="http://wellformedweb.org/CommentAPI/">http://www.catuhe.com/syndication.axd?post=2f2f650b-d94b-4408-af86-081b4aaf1621</commentRss>
    </item>
    <item>
      <ping xmlns="http://madskills.com/public/xml/rss/module/trackback/">http://benoitlaut.net/Trackback.aspx?guid=1dc8bd2f-b6fa-4cc5-842a-719d817f5845</ping>
      <server xmlns="http://madskills.com/public/xml/rss/module/pingback/">http://benoitlaut.net/pingback.aspx</server>
      <target xmlns="http://madskills.com/public/xml/rss/module/pingback/">http://benoitlaut.net/PermaLink,guid,1dc8bd2f-b6fa-4cc5-842a-719d817f5845.aspx</target>
      <creator xmlns="http://purl.org/dc/elements/1.1/">Benoît Laut</creator>
      <comment xmlns="http://wellformedweb.org/CommentAPI/">http://benoitlaut.net/CommentView,guid,1dc8bd2f-b6fa-4cc5-842a-719d817f5845.aspx</comment>
      <commentRss xmlns="http://wellformedweb.org/CommentAPI/">http://benoitlaut.net/SyndicationService.asmx/GetEntryCommentsRss?guid=1dc8bd2f-b6fa-4cc5-842a-719d817f5845</commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
          <a href="http://bowie.codeplex.com">
            <img style="border-bottom: 0px; border-left: 0px; margin: 0px 10px 0px 0px; display: inline; border-top: 0px; border-right: 0px" title="logo_bowie[1]" border="0" alt="logo_bowie[1]" align="left" src="http://benoitlaut.net/content/binary/WindowsLiveWriter/LaBewiseDayConferencenestpastermine_12D5C/logo_bowie%5B1%5D_3.png" width="177" height="53" />
          </a> Cette
semaine j’ai publié une nouvelle version de <a href="http://bowie.codeplex.com">BOWIE</a>. 
</p>
        <p>
La précédente version était une beta qui fonctionnait pour TFS 2010 RC, celle-ci supporte
TFS 2010 RTM. 
</p>
        <p>
En plus de supporter TFS 2010 RTM, cette nouvelle version corrige les bugs qui avaient
été remontés sur la Beta. Au niveau des nouveautés, vous pouvez maintenant gérer vos
alertes comme dans Visual Studio :
</p>
        <p>
 <a href="http://benoitlaut.net/content/binary/WindowsLiveWriter/LaBewiseDayConferencenestpastermine_12D5C/ProjectSettings_2.png"><img style="border-bottom: 0px; border-left: 0px; margin: 0px 10px 0px 0px; display: inline; border-top: 0px; border-right: 0px" title="ProjectSettings" border="0" alt="ProjectSettings" src="http://benoitlaut.net/content/binary/WindowsLiveWriter/LaBewiseDayConferencenestpastermine_12D5C/ProjectSettings_thumb.png" width="382" height="376" /></a><a href="http://benoitlaut.net/content/binary/WindowsLiveWriter/LaBewiseDayConferencenestpastermine_12D5C/manageProjectAlerts.png"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="manageProjectAlerts" border="0" alt="manageProjectAlerts" src="http://benoitlaut.net/content/binary/WindowsLiveWriter/LaBewiseDayConferencenestpastermine_12D5C/manageProjectAlerts_thumb.png" width="443" height="315" /></a></p>
        <p>
BOWIE 2010 fonctionne pour TFS 2008/2010 et Outlook 2007. Il est compatible Outlook
2010. Cependant je travaille actuellement sur une nouvelle version qui fonctionnera
exclusivement sur Outlook 2010 afin de bien s’intégrer au nouveau Ribbon. 
</p>
        <img width="0" height="0" src="http://benoitlaut.net/aggbug.ashx?id=1dc8bd2f-b6fa-4cc5-842a-719d817f5845" />
      </body>
      <title>BOWIE 2010 pour TFS 2010 RTM est disponible</title>
      <guid isPermaLink="false">http://benoitlaut.net/PermaLink,guid,1dc8bd2f-b6fa-4cc5-842a-719d817f5845.aspx</guid>
      <link>http://benoitlaut.net/2010/05/02/BOWIE2010PourTFS2010RTMEstDisponible.aspx</link>
      <pubDate>Sun, 02 May 2010 19:25:44 GMT</pubDate>
      <description>&lt;p&gt;
&lt;a href="http://bowie.codeplex.com"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; margin: 0px 10px 0px 0px; display: inline; border-top: 0px; border-right: 0px" title="logo_bowie[1]" border="0" alt="logo_bowie[1]" align="left" src="http://benoitlaut.net/content/binary/WindowsLiveWriter/LaBewiseDayConferencenestpastermine_12D5C/logo_bowie%5B1%5D_3.png" width="177" height="53"&gt;&lt;/a&gt; Cette
semaine j’ai publié une nouvelle version de &lt;a href="http://bowie.codeplex.com"&gt;BOWIE&lt;/a&gt;. 
&lt;/p&gt;
&lt;p&gt;
La précédente version était une beta qui fonctionnait pour TFS 2010 RC, celle-ci supporte
TFS 2010 RTM. 
&lt;/p&gt;
&lt;p&gt;
En plus de supporter TFS 2010 RTM, cette nouvelle version corrige les bugs qui avaient
été remontés sur la Beta. Au niveau des nouveautés, vous pouvez maintenant gérer vos
alertes comme dans Visual Studio :
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;&lt;a href="http://benoitlaut.net/content/binary/WindowsLiveWriter/LaBewiseDayConferencenestpastermine_12D5C/ProjectSettings_2.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; margin: 0px 10px 0px 0px; display: inline; border-top: 0px; border-right: 0px" title="ProjectSettings" border="0" alt="ProjectSettings" src="http://benoitlaut.net/content/binary/WindowsLiveWriter/LaBewiseDayConferencenestpastermine_12D5C/ProjectSettings_thumb.png" width="382" height="376"&gt;&lt;/a&gt; &lt;a href="http://benoitlaut.net/content/binary/WindowsLiveWriter/LaBewiseDayConferencenestpastermine_12D5C/manageProjectAlerts.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="manageProjectAlerts" border="0" alt="manageProjectAlerts" src="http://benoitlaut.net/content/binary/WindowsLiveWriter/LaBewiseDayConferencenestpastermine_12D5C/manageProjectAlerts_thumb.png" width="443" height="315"&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
BOWIE 2010 fonctionne pour TFS 2008/2010 et Outlook 2007. Il est compatible Outlook
2010. Cependant je travaille actuellement sur une nouvelle version qui fonctionnera
exclusivement sur Outlook 2010 afin de bien s’intégrer au nouveau Ribbon. 
&lt;/p&gt;
&lt;img width="0" height="0" src="http://benoitlaut.net/aggbug.ashx?id=1dc8bd2f-b6fa-4cc5-842a-719d817f5845" /&gt;</description>
      <comments>http://benoitlaut.net/CommentView,guid,1dc8bd2f-b6fa-4cc5-842a-719d817f5845.aspx</comments>
      <category>Outlook Work Items Extension</category>
      <category>TFS</category>
      <category>TFS SDK</category>
      <category>VSTO</category>
    </item>
    <item>
      <guid isPermaLink="false">tag:blogger.com,1999:blog-2661757067011288732.post-2414855360450344525</guid>
      <pubDate>Sat, 01 May 2010 16:24:00 +0000</pubDate>
      <updated xmlns="http://www.w3.org/2005/Atom">2010-05-01T09:24:07.870-07:00</updated>
      <title>Project could not be opened because Microsoft Visual C# 2008 compiler could not be created</title>
      <description>&lt;p&gt;Si vous avez ce message d’erreur sous Visual Studio 2008 lorsque vous ouvrez une solution, il faut modifier des clés de registre pour pouvoir à nouveau ouvrir votre solution sans embuche:&lt;/p&gt;  &lt;p&gt;Il suffit de modifier toutes les clés “&lt;strong&gt;&lt;em&gt;SkipLoading&lt;/em&gt;&lt;/strong&gt;” situé dans le répertoire suivant : &lt;em&gt;&lt;strong&gt;HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\9.0\Packages&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;Passez leur valeur de 1 à 0.&lt;/p&gt;  &lt;p&gt;&lt;u&gt;Source&lt;/u&gt; : &lt;a title="http://social.msdn.microsoft.com/forums/en-US/Vsexpressinstall/thread/04be49aa-de6b-4f45-9a27-86e3f214a0fe/" href="http://social.msdn.microsoft.com/forums/en-US/Vsexpressinstall/thread/04be49aa-de6b-4f45-9a27-86e3f214a0fe/"&gt;http://social.msdn.microsoft.com/forums/en-US/Vsexpressinstall/thread/04be49aa-de6b-4f45-9a27-86e3f214a0fe/&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2661757067011288732-2414855360450344525?l=becauseofintellisense.blogspot.com' alt='' /&gt;&lt;/div&gt;</description>
      <link>http://becauseofintellisense.blogspot.com/2010/05/project-could-not-be-opened-because.html</link>
      <author>nicolas.bruschini@bewise.fr (Rouge)</author>
      <total xmlns="http://purl.org/syndication/thread/1.0">0</total>
    </item>
    <item>
      <title>SQL SERVER access and SQL SERVER Browser</title>
      <link>http://www.dotmim.com/blogs/mim/archive/2010/04/30/sql-server-access-and-sql-server-browser.aspx</link>
      <pubDate>Fri, 30 Apr 2010 07:58:51 GMT</pubDate>
      <guid isPermaLink="false">f24f4a04-d5df-4071-90fb-39191e3ba06c:573</guid>
      <creator xmlns="http://purl.org/dc/elements/1.1/">Mimetis</creator>
      <comments xmlns="http://purl.org/rss/1.0/modules/slash/">0</comments>
      <wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://www.dotmim.com/blogs/mim/rsscomments.aspx?PostID=573</wfw:commentRss>
      <comments>http://www.dotmim.com/blogs/mim/archive/2010/04/30/sql-server-access-and-sql-server-browser.aspx#comments</comments>
      <description>&lt;p&gt;Il y a longtemps, j’ai écris un post (à l’époque de Windows Vista, un siècle en somme :)) qui expliquait comment configurer une machine simple pour ouvrir l’accès à son serveur SQL.&lt;/p&gt;  &lt;p&gt;Je vous laisse consulter ce petit tips ici : &lt;a href="http://www.dotmim.com/blogs/mim/archive/2007/08/20/sql-serveur-amp-vista-remote-connections.aspx"&gt;SQL SERVER &amp;amp; Remote Connections&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;J’ai souvent eu la réflexion&amp;#160; : &lt;em&gt;“Le Point 2) sur le Sql Server Browser n’est pas nécessaire, moi je l’ai désactivé et ça marche quand même …”&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;img style="border-bottom:0px;border-left:0px;display:block;float:none;margin-left:auto;border-top:0px;margin-right:auto;border-right:0px;" title="image" border="0" alt="image" src="http://www.dotmim.com/blogs/mim/image_3407460B.png" width="454" height="276" /&gt; &lt;/p&gt;  &lt;p&gt;Oui, bon, petite explication :&lt;/p&gt;  &lt;p&gt;Le Service Browser est là pour BroadCaster votre (ou vos) instance(s) sur le réseau. Ce qui permet notamment à d’autres serveurs d’apparaître dans votre liste lorsque vous faites “Parcourir …”&lt;/p&gt;  &lt;p&gt;&lt;img style="border-bottom:0px;border-left:0px;display:block;float:none;margin-left:auto;border-top:0px;margin-right:auto;border-right:0px;" title="image" border="0" alt="image" src="http://www.dotmim.com/blogs/mim/image_58B85D82.png" width="304" height="314" /&gt;Voilà c’est simple, ça broadcast sur le port UDP 1433 en gros.&lt;/p&gt;  &lt;p&gt;Le truc, c’est que le Browser n’est pas là que pour ça.. Il fournit notamment les informations de protocoles que votre instance peut utiliser (&lt;em&gt;&lt;strong&gt;Shared Memory, Named Pipres, TCP&lt;/strong&gt;&lt;/em&gt; …)&lt;/p&gt;  &lt;p&gt;SQL Browser fait ce qu’on appelle du SSRP “SQL Server Resolution Protocol” : Il résoud les protocoles autorisés pour une instance donnée.&lt;/p&gt;  &lt;p&gt;Là où ça devient donc obligatoire (d’avoir le Browser activé, on suit au fond là !!) c’est justement quand vous avez des instances nommées. &lt;/p&gt;  &lt;p&gt;Le problème ne se pose pas sur une instance par défaut, il n’y en a qu’une sur la machine. Lors de l’appel d’une instance nommée, votre demande de connexion passe par le browser pour connaitre les protocoles autorisés.&lt;/p&gt;  &lt;p&gt;En somme, pour faire simple : Vous avez une instance nommée ? Activez le Browser :) &lt;/p&gt;  &lt;p&gt;Bonne connexion !&lt;/p&gt;&lt;img src="http://www.dotmim.com/aggbug.aspx?PostID=573" width="1" height="1"&gt;</description>
    </item>
    <item>
      <title>Windows Phone 7 – Les changements à apporter à votre code</title>
      <link>http://blog.christophermaneu.fr/2010/04/windows-phone-7-les-changements-apporter-votre-code/</link>
      <comments>http://blog.christophermaneu.fr/2010/04/windows-phone-7-les-changements-apporter-votre-code/#comments</comments>
      <pubDate>Thu, 29 Apr 2010 20:27:25 +0000</pubDate>
      <creator xmlns="http://purl.org/dc/elements/1.1/">Chris</creator>
      <category><![CDATA[.Net]]></category>
      <category><![CDATA[Development]]></category>
      <category><![CDATA[Windows Phone]]></category>
      <category><![CDATA[Windows Phone 7]]></category>
      <guid isPermaLink="false">http://blog.christophermaneu.fr/2010/04/windows-phone-7-les-changements-apporter-votre-code/</guid>
      <description><![CDATA[Microsoft a publié aujourd’hui une nouvelle version du SQK Windows Phone 7. Cette version apporte quelques nouveautés intéressantes, mais peut également poser quelques problèmes avec votre code existant. Les releases notes détaillent la liste complète de ces changements, et voici ma sélection des plus importants. Note : N’oubliez pas, cette nouvelle version est toujours une [...]]]></description>
      <encoded xmlns="http://purl.org/rss/1.0/modules/content/"><![CDATA[<p>Microsoft <a href="http://blog.christophermaneu.fr/2010/04/windows-phone-7-nouvelle-version-des-outils-de-dveloppement/">a publié aujourd’hui une</a> nouvelle version du SQK Windows Phone 7. Cette version apporte quelques nouveautés intéressantes, mais peut également poser quelques problèmes avec votre code existant. Les <em><a href="http://download.microsoft.com/download/D/9/A/D9A6B6ED-D1CF-4FB3-86BD-62A55959175F/ReleaseNotes.htm">releases notes</a></em> détaillent la liste complète de ces changements, et voici ma sélection des plus importants.</p>
<blockquote><p><strong><em>Note : N’oubliez pas, cette nouvelle version est toujours une CTP, ce qui veut dire que nous sommes bien loin de la qualité et de la stabilité d’une version finale.</em></strong></p>
</blockquote>
<p>&#160;</p>
<h2>Installation et outils</h2>
<p>Cette version est compatible avec les versions RTM de Visual Studio 2010 en version anglaises (et uniquement les versions RTM), et Expression Blend 4 preview, si vous téléchargez les outils suivants : </p>
<ul>
<li><a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=47f5c718-9dec-4557-9687-619c0fdd3d4f&amp;displaylang=en">Expression Blend Add-in Preview for Windows Phone (April Refresh)</a></li>
<li><a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=86370108-4c14-42ee-8855-226e5dd9b85b&amp;displaylang=en">Expression Blend SDK Preview for Windows Phone (April Refresh)</a></li>
</ul>
<p>&#160;</p>
<h2>Votre code</h2>
<p>Il y a plusieurs impacts importants sur votre code avec l’arrivée de cette nouvelle version. J’en ai relevées quelques unes que je considère comme importantes, cependant, n’hésitez pas à lire intégralement les <a href="http://download.microsoft.com/download/D/9/A/D9A6B6ED-D1CF-4FB3-86BD-62A55959175F/ReleaseNotes.htm">releases notes</a> (en anglais)</p>
<ul>
<li><strong>Les assemblies signées </strong>ne se chargent plus, y compris des librairies Microsoft telles que WCF Data Services ou le Silverlight Toolkit. Tim heuer <a href="http://timheuer.com/blog/archive/2010/04/29/windows-phone-tools-update-april-2010-silverlight-xna.aspx">détaille la procédure, certes un peu barbare, sur son blog</a>. Tout ceci sera corrigé dans une prochaine version,</li>
<li><strong>Pour les projets XNA? on tourne a 90°</strong>. Par défaut, a partir de maintenant, les Jeux XNA sont exécutés en paysage et plus en portrait. Cependant, l’émulateur n’est pas parfait sur ce point là, et vous devez donc forcer le backbuffer aux bonnes tailles.      </li>
<pre>graphics.PreferredBackBufferWidth = 480;
graphics.PreferredBackBufferHeight = 800;</pre>
</ul>
<ul>
<li><strong>Le clavier ne fonctionne pas en XML</strong> : c’est quelque chose que je ne comprends pas (car cela fonctionnait correctement dans l’ancienne version), mais pas de clavier pour cette version…</li>
<li><strong>Si vous utilisez le Push</strong>, <a href="http://msdn.microsoft.com/en-us/library/ff402545(v=VS.92).aspx">http://msdn.microsoft.com/en-us/library/ff402545(v=VS.92).aspx</a>le format de notification change et vous devez ajoutermodifier le fichier wpappmanifest.xml pour préciser un <em>Publisher</em></li>
</ul>
<p>Vous pouvez rétourner à vos développements :)</p>]]></encoded>
      <commentRss xmlns="http://wellformedweb.org/CommentAPI/">http://blog.christophermaneu.fr/2010/04/windows-phone-7-les-changements-apporter-votre-code/feed/</commentRss>
      <comments xmlns="http://purl.org/rss/1.0/modules/slash/">1</comments>
    </item>
    <item>
      <title>Windows Phone 7 – Nouvelle version des outils de développement</title>
      <link>http://blog.christophermaneu.fr/2010/04/windows-phone-7-nouvelle-version-des-outils-de-dveloppement/</link>
      <comments>http://blog.christophermaneu.fr/2010/04/windows-phone-7-nouvelle-version-des-outils-de-dveloppement/#comments</comments>
      <pubDate>Thu, 29 Apr 2010 19:19:33 +0000</pubDate>
      <creator xmlns="http://purl.org/dc/elements/1.1/">Chris</creator>
      <category><![CDATA[.Net]]></category>
      <category><![CDATA[Development]]></category>
      <category><![CDATA[Windows Phone]]></category>
      <category><![CDATA[Windows Phone 7]]></category>
      <guid isPermaLink="false">http://blog.christophermaneu.fr/2010/04/windows-phone-7-nouvelle-version-des-outils-de-dveloppement/</guid>
      <description><![CDATA[Microsoft vient de publier une nouvelle version des outils de développements pour Windows Phone 7, baptisé “April 2010 Refresh”. Vous pouvez d’ores et déjà la télécharger sur le site de Microsoft. Parmis les nouveautés, on peut citer : La compatibilité avec les versions finales (RTM) de Visual Studio 2010, L’émulation des APIs Location et Accelerometer, [...]]]></description>
      <encoded xmlns="http://purl.org/rss/1.0/modules/content/"><![CDATA[<p>Microsoft vient de publier une nouvelle version des outils de développements pour Windows Phone 7, baptisé “<strong>April 2010 Refresh</strong>”. Vous pouvez d’ores et déjà la <a href="http://download.microsoft.com/download/D/9/A/D9A6B6ED-D1CF-4FB3-86BD-62A55959175F/VMX/vm_web.exe">télécharger sur le site de Microsoft</a>.</p>
<p>Parmis <a href="http://msdn.microsoft.com/en-us/library/ff637516(VS.92).aspx">les nouveautés</a>, on peut citer : </p>
<ul>
<li>La compatibilité avec les versions finales (RTM) de Visual Studio 2010, </li>
<li>L’émulation des APIs Location et Accelerometer, </li>
<li>Les applications XNA sont désormais exécutées par défaut en paysage et non plus en portrait, </li>
<li>Les launchers sont désormais utilisables </li>
</ul>
<p>&#160;</p>
<h2>Quelques changements…</h2>
<p>Vous allez peut être devoir modifier un peu votre code pour fonctionner avec cette nouvelle version. Je vais publier prochainement un article présentant les changements à effectuer dans votre code pour le rendre compatible avec cette version.</p>
<p><em><u>Update</u> : J’ai publié un nouvel article sur les <a href="http://blog.christophermaneu.fr/2010/04/windows-phone-7-les-changements-apporter-votre-code/">changements à apporter à votre code</a>.</em></p>]]></encoded>
      <commentRss xmlns="http://wellformedweb.org/CommentAPI/">http://blog.christophermaneu.fr/2010/04/windows-phone-7-nouvelle-version-des-outils-de-dveloppement/feed/</commentRss>
      <comments xmlns="http://purl.org/rss/1.0/modules/slash/">1</comments>
    </item>
    <item>
      <guid isPermaLink="false">tag:blogger.com,1999:blog-5619051591853320584.post-4896616133489704286</guid>
      <pubDate>Thu, 29 Apr 2010 08:53:00 +0000</pubDate>
      <updated xmlns="http://www.w3.org/2005/Atom">2010-04-29T14:05:38.040+02:00</updated>
      <title>La BDC était trop courte ? Elle revient à Aix le 18 mai !</title>
      <description>&lt;p&gt;Vous êtes nombreux à avoir apprécié la Bewise Day Conference le 1er avril dernier… Mais certains d’entre vous n’ont peut-être pas pu venir, ou ont peut-être envie d’y retourner.&lt;/p&gt;  &lt;p&gt;Eh bien pas de problème, la BDC est de retour, l’équipe de Bewise Sud-Est vous accueillera au &lt;a href="http://www.casinoaix.com/"&gt;Pasino d’Aix en Provence&lt;/a&gt; pour une BDC au son des cigales.&lt;/p&gt;  &lt;p&gt;Plus d’informations et inscriptions sur le site de &lt;a href="http://bse.bewise.fr/BDC2010/?f=af7fc6f4-f8f6-4a54-b489-d414ae555d2e"&gt;la Bewise Day Conference d’Aix en Provence&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5619051591853320584-4896616133489704286?l=blog.adhess.net' alt='' /&gt;&lt;/div&gt;</description>
      <link>http://blog.adhess.net/2010/04/la-bdc-etait-trop-courte-elle-revient.html</link>
      <author>noreply@blogger.com (Guillaume Lacasa)</author>
      <total xmlns="http://purl.org/syndication/thread/1.0">2</total>
    </item>
    <item>
      <title>Un backup est il utile pour une restauration ?</title>
      <link>http://www.dotmim.com/blogs/mim/archive/2010/04/29/un-backup-est-il-utile-pour-une-restauration.aspx</link>
      <pubDate>Thu, 29 Apr 2010 08:52:43 GMT</pubDate>
      <guid isPermaLink="false">f24f4a04-d5df-4071-90fb-39191e3ba06c:572</guid>
      <creator xmlns="http://purl.org/dc/elements/1.1/">Mimetis</creator>
      <comments xmlns="http://purl.org/rss/1.0/modules/slash/">3</comments>
      <wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://www.dotmim.com/blogs/mim/rsscomments.aspx?PostID=572</wfw:commentRss>
      <comments>http://www.dotmim.com/blogs/mim/archive/2010/04/29/un-backup-est-il-utile-pour-une-restauration.aspx#comments</comments>
      <description>&lt;p&gt;A fortiori, on peut dire Oui :)    &lt;br /&gt;Aprés on peut dire aussi “Surtout le dernier, en fait !”&lt;/p&gt;  &lt;p&gt;&lt;em&gt;Vraiment le dernier dernier ? :) Et si je l’ai plus ce dernier là ??&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;Nous savons tous que le dernier rempart protégeant votre base de données reste la stratégie de sauvegarde que vous avez mis en place.&lt;/p&gt;  &lt;p&gt;On peut imaginer une stratégie (pour un mode de récupération complet) basée sur une sauvegarde complète, plus un ou deux différentiel, et enfin les sauvegardes du transaction log.&lt;/p&gt;  &lt;p&gt;Je reprends un schéma de MSDN pour illustrer ce cas simple :&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.dotmim.com/blogs/mim/image_6039B36B.png"&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="image" border="0" alt="image" src="http://www.dotmim.com/blogs/mim/image_thumb_3BE4A91C.png" width="454" height="165" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Un client m’a posé la question suivante :&lt;/p&gt;  &lt;p&gt;“&lt;em&gt;Que se passe t’il si je perds le dernier backup full ? Puis-je tout de même remonter la base jusqu’au dernier log ? &amp;#39;(à supposer qu’au final je n’ai perdu que le dernier backup full mais pas les logs qui ont suivi)&lt;/em&gt;”&lt;/p&gt;  &lt;p&gt;Bon ok c’est tordu, mais ce qui est aussi intéressant c’est savoir si le backup contiendrait des informations indispensables entre le log qui le précède et le log qui lui succède.&lt;/p&gt;  &lt;p&gt;J’ai donc monté un petit script de test, simplissime pour évaluer la situation :&lt;/p&gt;  &lt;div id="codeSnippetWrapper"&gt;   &lt;div style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;" id="codeSnippet"&gt;     &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum1"&gt;   1:&lt;/span&gt; INSERT [dbo].[Employe] ([EmployeId], [Nom], &lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum2"&gt;   2:&lt;/span&gt;     [Prenom], [NumeroCarteCredit]) &lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum3"&gt;   3:&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;VALUES&lt;/span&gt; (N&lt;span style="color:#006080;"&gt;&amp;#39;37cb101c-f2f9-4f28-b9f6-10e4193849ff&amp;#39;&lt;/span&gt;, &lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum4"&gt;   4:&lt;/span&gt;     N&lt;span style="color:#006080;"&gt;&amp;#39;Pertus&amp;#39;&lt;/span&gt;, N&lt;span style="color:#006080;"&gt;&amp;#39;Sébastien&amp;#39;&lt;/span&gt;, N&lt;span style="color:#006080;"&gt;&amp;#39;1234-2344-2333-45555&amp;#39;&lt;/span&gt;)&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum5"&gt;   5:&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;Go&lt;/span&gt;&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum6"&gt;   6:&lt;/span&gt;&amp;#160; &lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum7"&gt;   7:&lt;/span&gt; &lt;span style="color:#008000;"&gt;/*** Premier backup Complet ***/&lt;/span&gt;&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum8"&gt;   8:&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;BACKUP&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;DATABASE&lt;/span&gt; [bBackupStrategie] &lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum9"&gt;   9:&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;TO&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;DISK&lt;/span&gt; = N&lt;span style="color:#006080;"&gt;&amp;#39;C:\Projects\Backup\bBackupFull1.bak&amp;#39;&lt;/span&gt; &lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum10"&gt;  10:&lt;/span&gt;&amp;#160; &lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum11"&gt;  11:&lt;/span&gt;&amp;#160; &lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum12"&gt;  12:&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;Update&lt;/span&gt; [dbo].[Employe] &lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum13"&gt;  13:&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;Set&lt;/span&gt; [NumeroCarteCredit] = &lt;span style="color:#006080;"&gt;&amp;#39;1234-2344-2333-888888&amp;#39;&lt;/span&gt; &lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum14"&gt;  14:&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;Where&lt;/span&gt; EmployeId= &lt;span style="color:#006080;"&gt;&amp;#39;37cb101c-f2f9-4f28-b9f6-10e4193849ff&amp;#39;&lt;/span&gt;&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum15"&gt;  15:&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;Go&lt;/span&gt;&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum16"&gt;  16:&lt;/span&gt; &lt;span style="color:#008000;"&gt;/*** Premier backup Transactionnel ***/&lt;/span&gt;&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum17"&gt;  17:&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;BACKUP&lt;/span&gt; LOG [bBackupStrategie] &lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum18"&gt;  18:&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;TO&lt;/span&gt;  &lt;span style="color:#0000ff;"&gt;DISK&lt;/span&gt; = N&lt;span style="color:#006080;"&gt;&amp;#39;C:\Projects\Backup\bBackupTrans1.trn&amp;#39;&lt;/span&gt; &lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum19"&gt;  19:&lt;/span&gt;     &lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum20"&gt;  20:&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;GO&lt;/span&gt;&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum21"&gt;  21:&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;Update&lt;/span&gt; [dbo].[Employe] &lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum22"&gt;  22:&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;Set&lt;/span&gt; [NumeroCarteCredit] = &lt;span style="color:#006080;"&gt;&amp;#39;1234-2344-2333-777777&amp;#39;&lt;/span&gt; &lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum23"&gt;  23:&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;Where&lt;/span&gt; EmployeId= &lt;span style="color:#006080;"&gt;&amp;#39;37cb101c-f2f9-4f28-b9f6-10e4193849ff&amp;#39;&lt;/span&gt;&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum24"&gt;  24:&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;Go&lt;/span&gt;&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum25"&gt;  25:&lt;/span&gt; &lt;span style="color:#008000;"&gt;/*** Deuxième backup Transactionnel ***/&lt;/span&gt;&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum26"&gt;  26:&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;BACKUP&lt;/span&gt; LOG [bBackupStrategie] &lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum27"&gt;  27:&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;TO&lt;/span&gt;  &lt;span style="color:#0000ff;"&gt;DISK&lt;/span&gt; = N&lt;span style="color:#006080;"&gt;&amp;#39;C:\Projects\Backup\bBackupTrans2.trn&amp;#39;&lt;/span&gt; &lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum28"&gt;  28:&lt;/span&gt;&amp;#160; &lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum29"&gt;  29:&lt;/span&gt; &lt;span style="color:#008000;"&gt;/*** Deuxième backup Complet ***/&lt;/span&gt;&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum30"&gt;  30:&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;BACKUP&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;DATABASE&lt;/span&gt; [bBackupStrategie] &lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum31"&gt;  31:&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;TO&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;DISK&lt;/span&gt; = N&lt;span style="color:#006080;"&gt;&amp;#39;C:\Projects\Backup\bBackupFull2.bak&amp;#39;&lt;/span&gt; &lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum32"&gt;  32:&lt;/span&gt;     &lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum33"&gt;  33:&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;Update&lt;/span&gt; [dbo].[Employe] &lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum34"&gt;  34:&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;Set&lt;/span&gt; [NumeroCarteCredit] = &lt;span style="color:#006080;"&gt;&amp;#39;1234-2344-2333-666666&amp;#39;&lt;/span&gt; &lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum35"&gt;  35:&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;Where&lt;/span&gt; EmployeId= &lt;span style="color:#006080;"&gt;&amp;#39;37cb101c-f2f9-4f28-b9f6-10e4193849ff&amp;#39;&lt;/span&gt;&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum36"&gt;  36:&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;Go&lt;/span&gt;&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum37"&gt;  37:&lt;/span&gt; &lt;span style="color:#008000;"&gt;/*** Troisième backup Transactionnel ***/&lt;/span&gt;&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum38"&gt;  38:&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;BACKUP&lt;/span&gt; LOG [bBackupStrategie] &lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;Ok à partir de là, on voit que j’ai 2 backups full et plusieurs transaction Logs&lt;/p&gt;

&lt;p&gt;Je vais donc tenter de restaurer ma base de données sans le dernier backup full.&lt;/p&gt;

&lt;p&gt;Il me faut donc le premier backup Full ainsi que l’ensemble des transactions logs jusqu’au dernier (sans oublier le tail log que j’inclus dans ma procédure de restauration)&lt;/p&gt;

&lt;p&gt;Et voilà ce que ça donne :&lt;/p&gt;

&lt;div id="codeSnippetWrapper"&gt;
  &lt;div style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;" id="codeSnippet"&gt;
    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum1"&gt;   1:&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;USE&lt;/span&gt; master;&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum2"&gt;   2:&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;GO&lt;/span&gt;&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum3"&gt;   3:&lt;/span&gt;&amp;#160; &lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum4"&gt;   4:&lt;/span&gt; &lt;span style="color:#008000;"&gt;/*** Sauvegarde du tail log ***/&lt;/span&gt;&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum5"&gt;   5:&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;BACKUP&lt;/span&gt; LOG [bBackupStrategie] &lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum6"&gt;   6:&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;TO&lt;/span&gt;  &lt;span style="color:#0000ff;"&gt;DISK&lt;/span&gt; = N&lt;span style="color:#006080;"&gt;&amp;#39;C:\Projects\Backup\bBackupTailLog.trn&amp;#39;&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;WITH&lt;/span&gt;  NO_TRUNCATE,  NORECOVERY&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum7"&gt;   7:&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;GO&lt;/span&gt;&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum8"&gt;   8:&lt;/span&gt;&amp;#160; &lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum9"&gt;   9:&lt;/span&gt; &lt;span style="color:#008000;"&gt;/**** Restauration à partir du 1er Backup complet (et non pas le dernier) ***/&lt;/span&gt;&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum10"&gt;  10:&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;RESTORE&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;DATABASE&lt;/span&gt; [bBackupStrategie] &lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum11"&gt;  11:&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;FROM&lt;/span&gt;  &lt;span style="color:#0000ff;"&gt;DISK&lt;/span&gt; = N&lt;span style="color:#006080;"&gt;&amp;#39;C:\Projects\Backup\bBackupFull1.bak&amp;#39;&lt;/span&gt;&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum12"&gt;  12:&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;WITH&lt;/span&gt;  &lt;span style="color:#0000ff;"&gt;FILE&lt;/span&gt; = 1,  NORECOVERY&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum13"&gt;  13:&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;GO&lt;/span&gt;&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum14"&gt;  14:&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;RESTORE&lt;/span&gt; LOG [bBackupStrategie] &lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum15"&gt;  15:&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;FROM&lt;/span&gt;  &lt;span style="color:#0000ff;"&gt;DISK&lt;/span&gt; = N&lt;span style="color:#006080;"&gt;&amp;#39;C:\Projects\Backup\bBackupTrans1.trn&amp;#39;&lt;/span&gt; &lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum16"&gt;  16:&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;WITH&lt;/span&gt;  &lt;span style="color:#0000ff;"&gt;FILE&lt;/span&gt; = 1,  NORECOVERY&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum17"&gt;  17:&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;GO&lt;/span&gt;&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum18"&gt;  18:&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;RESTORE&lt;/span&gt; LOG [bBackupStrategie] &lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum19"&gt;  19:&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;FROM&lt;/span&gt;  &lt;span style="color:#0000ff;"&gt;DISK&lt;/span&gt; = N&lt;span style="color:#006080;"&gt;&amp;#39;C:\Projects\Backup\bBackupTrans2.trn&amp;#39;&lt;/span&gt; &lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum20"&gt;  20:&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;WITH&lt;/span&gt;  &lt;span style="color:#0000ff;"&gt;FILE&lt;/span&gt; = 1,  NORECOVERY&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum21"&gt;  21:&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;GO&lt;/span&gt;&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum22"&gt;  22:&lt;/span&gt; &lt;span style="color:#008000;"&gt;/*** Depart hypothétique si le dernier backup était accessible ***/&lt;/span&gt;&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum23"&gt;  23:&lt;/span&gt; --&lt;span style="color:#0000ff;"&gt;RESTORE&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;DATABASE&lt;/span&gt; [bBackupStrategie] &lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum24"&gt;  24:&lt;/span&gt; &lt;span style="color:#008000;"&gt;-- FROM  DISK = N&amp;#39;C:\Projects\Backup\bBackupFull2.bak&amp;#39; &lt;/span&gt;&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum25"&gt;  25:&lt;/span&gt; &lt;span style="color:#008000;"&gt;-- WITH  FILE = 1,  NORECOVERY&lt;/span&gt;&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum26"&gt;  26:&lt;/span&gt; --&lt;span style="color:#0000ff;"&gt;GO&lt;/span&gt;&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum27"&gt;  27:&lt;/span&gt;&amp;#160; &lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum28"&gt;  28:&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;RESTORE&lt;/span&gt; LOG [bBackupStrategie] &lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum29"&gt;  29:&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;FROM&lt;/span&gt;  &lt;span style="color:#0000ff;"&gt;DISK&lt;/span&gt; = N&lt;span style="color:#006080;"&gt;&amp;#39;C:\Projects\Backup\bBackupTrans3.trn&amp;#39;&lt;/span&gt; &lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum30"&gt;  30:&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;WITH&lt;/span&gt;  &lt;span style="color:#0000ff;"&gt;FILE&lt;/span&gt; = 1,  NORECOVERY&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum31"&gt;  31:&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;GO&lt;/span&gt;&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum32"&gt;  32:&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;RESTORE&lt;/span&gt; LOG [bBackupStrategie] &lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum33"&gt;  33:&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;FROM&lt;/span&gt;  &lt;span style="color:#0000ff;"&gt;DISK&lt;/span&gt; = N&lt;span style="color:#006080;"&gt;&amp;#39;C:\Projects\Backup\bBackupTailLog.trn&amp;#39;&lt;/span&gt;&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum34"&gt;  34:&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;WITH&lt;/span&gt;  &lt;span style="color:#0000ff;"&gt;FILE&lt;/span&gt; = 1, RECOVERY&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum35"&gt;  35:&lt;/span&gt;&amp;#160; &lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum36"&gt;  36:&lt;/span&gt; GO&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;Et là miracle (ou pas) tout se déroule correctement.&lt;/p&gt;

&lt;p&gt;Résultat, le backup complet ne compromets pas la cohérence des données dans le Transaction log.&lt;/p&gt;

&lt;p&gt;Bon ce cas de figure est un peu tordu, je vous le concède, mais il a le mérite d’éclaircir un point sous-jacent non négligeable, lui.&lt;/p&gt;

&lt;p&gt;Voici le lien vers le source complet de ce script : &lt;a title="http://www.dotmim.com/SiteFiles/TipsBackupWithoutLastBackup.sql.txt" href="http://www.dotmim.com/SiteFiles/TipsBackupWithoutLastBackup.sql.txt"&gt;http://www.dotmim.com/SiteFiles/TipsBackupWithoutLastBackup.sql.txt&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Bon backup !&lt;/p&gt;&lt;img src="http://www.dotmim.com/aggbug.aspx?PostID=572" width="1" height="1"&gt;</description>
    </item>
    <item>
      <title>Premiers pas avec le futur Windows Home Server</title>
      <link>http://blog.christophermaneu.fr/2010/04/premiers-pas-avec-le-futur-windows-home-server/</link>
      <comments>http://blog.christophermaneu.fr/2010/04/premiers-pas-avec-le-futur-windows-home-server/#comments</comments>
      <pubDate>Tue, 27 Apr 2010 21:46:48 +0000</pubDate>
      <creator xmlns="http://purl.org/dc/elements/1.1/">Chris</creator>
      <category><![CDATA[Business Worker]]></category>
      <category><![CDATA[For students]]></category>
      <category><![CDATA[MSP Voice]]></category>
      <category><![CDATA[News]]></category>
      <category><![CDATA[Windows Home Server]]></category>
      <guid isPermaLink="false">http://blog.christophermaneu.fr/2010/04/premiers-pas-avec-le-futur-windows-home-server/</guid>
      <description><![CDATA[Microsoft a publié une version beta publique du prochain Windows Home Server, appelé vail. Voici un premier tour d’horizon du futur de WHS. Windows Home Server est un système d’exploitation serveurs pour les particuliers et les familles. Il permet très simplement de créer un point de partage de photos, vidéos, documents et logiciels pour toute [...]]]></description>
      <encoded xmlns="http://purl.org/rss/1.0/modules/content/"><![CDATA[<p>Microsoft a publié une version beta publique du prochain Windows Home Server, appelé <em>vail</em>. Voici un premier tour d’horizon du futur de WHS.</p>
<blockquote><p align="justify">Windows Home Server est un système d’exploitation serveurs pour les particuliers et les familles. Il permet très simplement de créer un point de partage de photos, vidéos, documents et logiciels pour toute la famille, d’accéder à ce contenu à distance et de sauvegarder les ordinateurs afin de les restaurer simplement en cas de problèmes. La première version, disponible depuis quelques années est vendue avec du matériel réalisé par des partenaires tels que HP.</p>
<p align="justify">A l’aide d’outils complémentaires et de matériel, votre Windows Home server peut aller encore plus loin en vous permettant, par exemple, de voir ce qui se passe chez vous, de régler la couleur des lumières du salon ou bien de changer l’arrosage automatique !</p>
</blockquote>
<p>&#160;</p>
<p align="justify">Avant de commencer, la version actuellement disponible nécessite 1 Go de RAM minimum et surtout <strong>un processeur 64 bits</strong>. C’est un changement relativement important, surtout que je ne pense pas que les anciens Home Servers supportent le 64 bits.</p>
<p>&#160;</p>
<h2>L’installation</h2>
<p>Dès le premier écran de l’installation, on devine que Windows Server 2008 R2 est sous le capot ! Le système d’installation est beaucoup mieux intégré que celui de la version actuelle de WHS, mais nécessitera quand même deux redémarages et environ 20 minutes. </p>
<p>Tout comme c’était le cas avec la version précédente, les disques durs seront entièrement formatés lors de l’installation.</p>
<p>&#160;</p>
<p><a href="http://blog.christophermaneu.fr/wp-content/uploads/2010/04/clip_image002.jpg"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="clip_image002" border="0" alt="clip_image002" src="http://blog.christophermaneu.fr/wp-content/uploads/2010/04/clip_image002_thumb.jpg" width="244" height="184" /></a><a href="http://blog.christophermaneu.fr/wp-content/uploads/2010/04/clip_image0024.jpg"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="clip_image002[4]" border="0" alt="clip_image002[4]" src="http://blog.christophermaneu.fr/wp-content/uploads/2010/04/clip_image0024_thumb.jpg" width="244" height="184" /></a><a href="http://blog.christophermaneu.fr/wp-content/uploads/2010/04/clip_image0026.jpg"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="clip_image002[6]" border="0" alt="clip_image002[6]" src="http://blog.christophermaneu.fr/wp-content/uploads/2010/04/clip_image0026_thumb.jpg" width="244" height="184" /></a><a href="http://blog.christophermaneu.fr/wp-content/uploads/2010/04/clip_image0028.jpg"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="clip_image002[8]" border="0" alt="clip_image002[8]" src="http://blog.christophermaneu.fr/wp-content/uploads/2010/04/clip_image0028_thumb.jpg" width="244" height="184" /></a><a href="http://blog.christophermaneu.fr/wp-content/uploads/2010/04/clip_image00210.jpg"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="clip_image002[10]" border="0" alt="clip_image002[10]" src="http://blog.christophermaneu.fr/wp-content/uploads/2010/04/clip_image00210_thumb.jpg" width="244" height="184" /></a><a href="http://blog.christophermaneu.fr/wp-content/uploads/2010/04/clip_image00212.jpg"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="clip_image002[12]" border="0" alt="clip_image002[12]" src="http://blog.christophermaneu.fr/wp-content/uploads/2010/04/clip_image00212_thumb.jpg" width="244" height="184" /></a></p>
<p>&#160;</p>
<p>Le premier lancement laisse place à un assistant de configuration du serveur. Simple et efficace, il permet en quelques étapes d’avoir votre serveur opérationnel. Ce premier lancement nous permet également d’observer quelque chose : le nom du produit est <strong>Windows Home Server <em>Premium</em></strong>, ce qui laisserait sous-entendre que plusieurs éditions seront disponibles.</p>
<p><a href="http://blog.christophermaneu.fr/wp-content/uploads/2010/04/clip_image00214.jpg"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="clip_image002[14]" border="0" alt="clip_image002[14]" src="http://blog.christophermaneu.fr/wp-content/uploads/2010/04/clip_image00214_thumb.jpg" width="244" height="184" /></a><a href="http://blog.christophermaneu.fr/wp-content/uploads/2010/04/clip_image00216.jpg"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="clip_image002[16]" border="0" alt="clip_image002[16]" src="http://blog.christophermaneu.fr/wp-content/uploads/2010/04/clip_image00216_thumb.jpg" width="244" height="184" /></a><a href="http://blog.christophermaneu.fr/wp-content/uploads/2010/04/clip_image00218.jpg"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="clip_image002[18]" border="0" alt="clip_image002[18]" src="http://blog.christophermaneu.fr/wp-content/uploads/2010/04/clip_image00218_thumb.jpg" width="244" height="184" /></a><a href="http://blog.christophermaneu.fr/wp-content/uploads/2010/04/clip_image00220.jpg"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="clip_image002[20]" border="0" alt="clip_image002[20]" src="http://blog.christophermaneu.fr/wp-content/uploads/2010/04/clip_image00220_thumb.jpg" width="244" height="184" /></a></p>
<p><a href="http://blog.christophermaneu.fr/wp-content/uploads/2010/04/clip_image00222.jpg"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="clip_image002[22]" border="0" alt="clip_image002[22]" src="http://blog.christophermaneu.fr/wp-content/uploads/2010/04/clip_image00222_thumb.jpg" width="244" height="184" /></a><a href="http://blog.christophermaneu.fr/wp-content/uploads/2010/04/clip_image00224.jpg"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="clip_image002[24]" border="0" alt="clip_image002[24]" src="http://blog.christophermaneu.fr/wp-content/uploads/2010/04/clip_image00224_thumb.jpg" width="244" height="184" /></a></p>
<p><a href="http://blog.christophermaneu.fr/wp-content/uploads/2010/04/clip_image00226.jpg"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="clip_image002[26]" border="0" alt="clip_image002[26]" src="http://blog.christophermaneu.fr/wp-content/uploads/2010/04/clip_image00226_thumb.jpg" width="244" height="184" /></a><a href="http://blog.christophermaneu.fr/wp-content/uploads/2010/04/clip_image00228.jpg"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="clip_image002[28]" border="0" alt="clip_image002[28]" src="http://blog.christophermaneu.fr/wp-content/uploads/2010/04/clip_image00228_thumb.jpg" width="244" height="184" /></a></p>
<p>&#160;</p>
<h2>Connecter mon ordinateur au serveur</h2>
<p>Fini le CD de connexion, tout s’effectue depuis le navigateur à l’adresse <a href="http://votreserveur/connect">http://votreserveur/connect</a>. Malheureusement, l’assistant termine par une erreur et je n’ai donc pas pu tester cette fonctionnalité. </p>
<p>A noter que j’ai configuré le serveur en français. Ce qui est appréciable, c’est que quasi l’intégralité de l’interface est déjà traduite. C’est également une cause possible des bugs que je rencontre.</p>
<p><a href="http://blog.christophermaneu.fr/wp-content/uploads/2010/04/image.png"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://blog.christophermaneu.fr/wp-content/uploads/2010/04/image_thumb.png" width="244" height="205" /></a> <a href="http://blog.christophermaneu.fr/wp-content/uploads/2010/04/image1.png"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://blog.christophermaneu.fr/wp-content/uploads/2010/04/image_thumb1.png" width="244" height="203" /></a></p>
<h2>&#160;</h2>
<h2>La console d’administration</h2>
<p>La console d’administration a subi un léger lifting, rien d’exceptionnel par rapport à l’ancienne version. </p>
<p><a href="http://blog.christophermaneu.fr/wp-content/uploads/2010/04/clip_image00230.jpg"><img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="clip_image002[30]" border="0" alt="clip_image002[30]" src="http://blog.christophermaneu.fr/wp-content/uploads/2010/04/clip_image00230_thumb.jpg" width="244" height="184" /></a></p>
<p>Je n’ai fait qu’explorer rapidement cette nouvelle console, mais j’ai noté deux nouvelles fonctionnalités qui peuvent être très intéressantes : la possibilité de sauvegarder le contenu du serveur, et l’apparition d’une fonctionnalité d’abonnement pour les plugins.</p>
<p><a href="http://blog.christophermaneu.fr/wp-content/uploads/2010/04/image2.png"><img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="image" border="0" alt="image" src="http://blog.christophermaneu.fr/wp-content/uploads/2010/04/image_thumb2.png" width="244" height="174" /></a>&#160;</p>
<h2>L’interface web</h2>
<p>L’interface web a été entièrement revue : elle est plus claire et présente une continuité avec les produits Live.</p>
<p><a href="http://blog.christophermaneu.fr/wp-content/uploads/2010/04/image3.png"><img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="image" border="0" alt="image" src="http://blog.christophermaneu.fr/wp-content/uploads/2010/04/image_thumb3.png" width="645" height="455" /></a> </p>
<p>L’accès aux médias, que ce soit les photos, les vidéos ou les images, est plus agréable et plus fluide, grâce à des players Silverlight.</p>
<p><a href="http://blog.christophermaneu.fr/wp-content/uploads/2010/04/image4.png"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://blog.christophermaneu.fr/wp-content/uploads/2010/04/image_thumb4.png" width="318" height="226" /></a> <a href="http://blog.christophermaneu.fr/wp-content/uploads/2010/04/image5.png"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://blog.christophermaneu.fr/wp-content/uploads/2010/04/image_thumb5.png" width="326" height="218" /></a> </p>
<p>&#160;</p>
<h2>Windows Home Server “2”, un produit à suivre ?</h2>
<p>Certainement ! WHS est un très bon produit. Bien que exclusivement 64 bits, cette nouvelle version semble intéressante et il faudra voir si elle corrige quelques défauts de la version précédente et si l’écosystème de plugins est prêt au changement. Affaire à suivre :)</p>]]></encoded>
      <commentRss xmlns="http://wellformedweb.org/CommentAPI/">http://blog.christophermaneu.fr/2010/04/premiers-pas-avec-le-futur-windows-home-server/feed/</commentRss>
      <comments xmlns="http://purl.org/rss/1.0/modules/slash/">2</comments>
    </item>
    <item>
      <title>Le truc à la con du jour : “Method Implementation is empty”</title>
      <description>&lt;p&gt;Après avoir passé plus de deux heures avec deux collègues sur ce bug, je me devais d’en parler ici.&lt;/p&gt;  &lt;p&gt;Donc pour la petite histoire, lors du lancement d’une application, nous recevions ce message de la part du framework qui indiquait clairement qu’une méthode n’avait pas d’implémentation. Cette méthode est portée par une assembly C# tout à fait standard.&lt;/p&gt;  &lt;p&gt;Hop, un coup de Reflector nous permet de valider que la méthode existe bien et que du code y est bien présent.&lt;/p&gt;  &lt;p&gt;Je vous la fait courte : Cette méthode référençait une assembly C++/CLI qui était compilée en x86 alors que le code appelant était en C# compilé en “Any CPU”. Or, ce code s’exécutait sur une machine 64 bits, donc le code C# était exécuté dans un process 64 bits. Toutefois le class loader au moment de jitter la méthode incriminée se retrouvait en train de charger une assembly qui n’etait donc pas dans le bon format (x64 vs x86) et de ce fait n’arrivait pas à fournir une implémentation.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Donc voila, pour tous ceux qui tomberont sur cette erreur…&lt;/p&gt;
&lt;div class="addthis_toolbox addthis_default_style"  style="padding-top:10px" &gt;
&lt;a style="padding-right:10px" href="http://www.addthis.com/bookmark.php?v=250&amp;username=4a00fc5d6a261f84&amp;url=http%3a%2f%2fwww.catuhe.com%2fpost%2fLe-truc-a-la-con-du-jour-e2809cMethod-Implementation-is-emptye2809d.aspx&amp;title=Le+truc+%c3%a0+la+con+du+jour+%3a+%e2%80%9cMethod+Implementation+is+empty%e2%80%9d&amp;description="&gt;&lt;img src="http://s7.addthis.com/static/btn/v2/sm-bookmark-en.gif"  alt="Bookmark and Share" style="border:0"/&gt;&lt;/a&gt;
&lt;/div&gt;</description>
      <link>http://www.catuhe.com/post/Le-truc-a-la-con-du-jour-e2809cMethod-Implementation-is-emptye2809d.aspx</link>
      <author>kosh</author>
      <comments>http://www.catuhe.com/post/Le-truc-a-la-con-du-jour-e2809cMethod-Implementation-is-emptye2809d.aspx#comment</comments>
      <guid>http://www.catuhe.com/post.aspx?id=29283561-3e56-4a86-960c-7f70da91bdab</guid>
      <pubDate>Thu, 22 Apr 2010 22:13:57 +0300</pubDate>
      <category>.Net</category>
      <publisher xmlns="http://purl.org/dc/elements/1.1/">kosh</publisher>
      <server xmlns="http://madskills.com/public/xml/rss/module/pingback/">http://www.catuhe.com/pingback.axd</server>
      <target xmlns="http://madskills.com/public/xml/rss/module/pingback/">http://www.catuhe.com/post.aspx?id=29283561-3e56-4a86-960c-7f70da91bdab</target>
      <comments xmlns="http://purl.org/rss/1.0/modules/slash/">2</comments>
      <ping xmlns="http://madskills.com/public/xml/rss/module/trackback/">http://www.catuhe.com/trackback.axd?id=29283561-3e56-4a86-960c-7f70da91bdab</ping>
      <comment xmlns="http://wellformedweb.org/CommentAPI/">http://www.catuhe.com/post/Le-truc-a-la-con-du-jour-e2809cMethod-Implementation-is-emptye2809d.aspx#comment</comment>
      <commentRss xmlns="http://wellformedweb.org/CommentAPI/">http://www.catuhe.com/syndication.axd?post=29283561-3e56-4a86-960c-7f70da91bdab</commentRss>
    </item>
    <item>
      <guid isPermaLink="false">tag:blogger.com,1999:blog-2661757067011288732.post-6125154355991467242</guid>
      <pubDate>Thu, 22 Apr 2010 07:20:00 +0000</pubDate>
      <updated xmlns="http://www.w3.org/2005/Atom">2010-04-22T23:59:19.275-07:00</updated>
      <title>SQL Server 2008 R2 RTM</title>
      <description>&lt;p&gt;Microsoft a annoncé le 21 Avril le &lt;a href="http://www.microsoft.com/presspass/presskits/sqlserver/"&gt;lancement en version RTM&lt;/a&gt; de SQL Server 2008 R2. Néanmoins, cette nouvelle mouture ne devrait être réellement disponible via les canaux habituels de distribution Microsoft que dans quelques jours.&lt;/p&gt;  &lt;p&gt;Pour patienter : &lt;a title="http://www.sqlserverlaunch.com/" href="http://www.sqlserverlaunch.com/"&gt;http://www.sqlserverlaunch.com/&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Pour télécharger la version Trial de SQL Server 2008 R2 RTM : &lt;a href="http://technet.microsoft.com/fr-fr/sqlserver/ee315247(en-us).aspx"&gt;Ici&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_oumjLG2Z2ck/S8_86jy2IiI/AAAAAAAALNQ/cSG04rawj7U/s1600-h/SQLSERVER2008R2%5B5%5D.jpg"&gt;&lt;img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="SQL Server 2008 R2" border="0" alt="SQL Server 2008 R2" src="http://lh4.ggpht.com/_oumjLG2Z2ck/S8_87WKXYzI/AAAAAAAALNU/SmwOBZRdJbc/SQLSERVER2008R2_thumb%5B3%5D.jpg?imgmax=800" width="240" height="49" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2661757067011288732-6125154355991467242?l=becauseofintellisense.blogspot.com' alt='' /&gt;&lt;/div&gt;</description>
      <link>http://becauseofintellisense.blogspot.com/2010/04/sql-server-2008-r2-rtm.html</link>
      <author>nicolas.bruschini@bewise.fr (Rouge)</author>
      <total xmlns="http://purl.org/syndication/thread/1.0">0</total>
    </item>
    <item>
      <title>SQL SERVER 2008 R2 … RTM</title>
      <link>http://www.dotmim.com/blogs/mim/archive/2010/04/21/sql-server-2008-r2-rtm.aspx</link>
      <pubDate>Wed, 21 Apr 2010 20:06:58 GMT</pubDate>
      <guid isPermaLink="false">f24f4a04-d5df-4071-90fb-39191e3ba06c:571</guid>
      <creator xmlns="http://purl.org/dc/elements/1.1/">Mimetis</creator>
      <comments xmlns="http://purl.org/rss/1.0/modules/slash/">0</comments>
      <wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://www.dotmim.com/blogs/mim/rsscomments.aspx?PostID=571</wfw:commentRss>
      <comments>http://www.dotmim.com/blogs/mim/archive/2010/04/21/sql-server-2008-r2-rtm.aspx#comments</comments>
      <description>&lt;p&gt;Voilà une chouette annonce. SQL SERVER 2008 R2 passe en RTM&lt;/p&gt;  &lt;p&gt;Encore quelques jours et vous devriez pouvoir profiter des nouveautés de cette mouture via vos abonnements MSDN par exemple&lt;/p&gt;  &lt;p&gt;L’annonce : &lt;a title="http://www.microsoft.com/presspass/presskits/sqlserver/" href="http://www.microsoft.com/presspass/presskits/sqlserver/"&gt;http://www.microsoft.com/presspass/presskits/sqlserver/&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;voilà voilà…. va falloir patienter un chouilla !&lt;/p&gt;&lt;img src="http://www.dotmim.com/aggbug.aspx?PostID=571" width="1" height="1"&gt;</description>
    </item>
    <item>
      <title>Un EBook SQL SERVER 2008 R2 gratuit</title>
      <link>http://www.dotmim.com/blogs/mim/archive/2010/04/19/un-ebook-sql-server-2008-r2-gratuit.aspx</link>
      <pubDate>Mon, 19 Apr 2010 06:51:55 GMT</pubDate>
      <guid isPermaLink="false">f24f4a04-d5df-4071-90fb-39191e3ba06c:570</guid>
      <creator xmlns="http://purl.org/dc/elements/1.1/">Mimetis</creator>
      <comments xmlns="http://purl.org/rss/1.0/modules/slash/">0</comments>
      <wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://www.dotmim.com/blogs/mim/rsscomments.aspx?PostID=570</wfw:commentRss>
      <comments>http://www.dotmim.com/blogs/mim/archive/2010/04/19/un-ebook-sql-server-2008-r2-gratuit.aspx#comments</comments>
      <description>&lt;p&gt;Microsoft vient de sortir un E-Book gratuit sur SQL SERVER 2008 R2.&lt;/p&gt;  &lt;p&gt;Un bon aperçu des fonctionnalités de SQL SERVER, avec les nouveautés de la R2.&lt;/p&gt;  &lt;p&gt;Un must read donc :)&lt;/p&gt;  &lt;p&gt;Le lien du blog MSDN Press : &lt;a title="http://blogs.msdn.com/microsoft_press/archive/2010/04/14/free-ebook-introducing-microsoft-sql-server-2008-r2.aspx" href="http://blogs.msdn.com/microsoft_press/archive/2010/04/14/free-ebook-introducing-microsoft-sql-server-2008-r2.aspx"&gt;http://blogs.msdn.com/microsoft_press/archive/2010/04/14/free-ebook-introducing-microsoft-sql-server-2008-r2.aspx&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Les liens directs :&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;&lt;a href="http://go.microsoft.com/fwlink/?LinkId=189148"&gt;XPS&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://go.microsoft.com/fwlink/?LinkId=189147"&gt;PDF&lt;/a&gt;&lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;Bonne lecture :)&lt;/p&gt;&lt;img src="http://www.dotmim.com/aggbug.aspx?PostID=570" width="1" height="1"&gt;</description>
      <category domain="http://www.dotmim.com/blogs/mim/archive/tags/Sql+Server+2008+R2/default.aspx">Sql Server 2008 R2</category>
    </item>
    <item>
      <title>Le truc à la con du jour : Problème de signature et de manifeste d’une application C++/CLI sous Visual Studio 2010</title>
      <description>&lt;p&gt;Je viens de basculer plusieurs projets Visual Studio C++ vers la version 2010. Hors alors que tout se passait bien j’ai pris un vilain warning du compilateur :    &lt;br /&gt;&lt;em&gt;“mt.exe : general warning 810100b3: is a strong-name signed assembly and embedding a manifest invalidates the signature. You will need to re-sign this file to make it a valid assembly”&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;Oui je sais c’est bien moche comme on aime.&lt;/p&gt;  &lt;p&gt;Alors, bon selon moi c’est un bug mais soyons sympas, le message est quand même clair. En effet, j’ai demandé à VS2010 de signer mon assembly mais il semblerait que le Manifest Tool vienne faire sauter cette signature en injectant le manifeste. Soit, je suis pas contrariant alors que si je voulais faire chier je pourrais dire que si les compilateurs de VS 2010 ne sont pas foutus de bosser ensemble c’est un peu la honte. Mais je ne suis pas comme ça. Ouh la non…&lt;/p&gt;  &lt;p&gt;Au final, il faut donc se faire une petite post build event à l’ancienne comme on aime avec des petits bouts de “je te la bidouille” dedans.&lt;/p&gt;  &lt;p&gt;Comme je suis sympa voila la commande en question: &lt;em&gt;sn -Ra &amp;quot;$(TargetPath)&amp;quot; $(ProjectName).snk&lt;/em&gt;&lt;/p&gt;
&lt;div class="addthis_toolbox addthis_default_style"  style="padding-top:10px" &gt;
&lt;a style="padding-right:10px" href="http://www.addthis.com/bookmark.php?v=250&amp;username=4a00fc5d6a261f84&amp;url=http%3a%2f%2fwww.catuhe.com%2fpost%2fLe-truc-a-la-con-du-jour-Probleme-de-signature-et-de-manifeste-de28099une-application-C2b2bCLI-sous-Visual-Studio-2010.aspx&amp;title=Le+truc+%c3%a0+la+con+du+jour+%3a+Probl%c3%a8me+de+signature+et+de+manifeste+d%e2%80%99une+application+C%2b%2b%2fCLI+sous+Visual+Studio+2010&amp;description="&gt;&lt;img src="http://s7.addthis.com/static/btn/v2/sm-bookmark-en.gif"  alt="Bookmark and Share" style="border:0"/&gt;&lt;/a&gt;
&lt;/div&gt;</description>
      <link>http://www.catuhe.com/post/Le-truc-a-la-con-du-jour-Probleme-de-signature-et-de-manifeste-de28099une-application-C2b2bCLI-sous-Visual-Studio-2010.aspx</link>
      <author>kosh</author>
      <comments>http://www.catuhe.com/post/Le-truc-a-la-con-du-jour-Probleme-de-signature-et-de-manifeste-de28099une-application-C2b2bCLI-sous-Visual-Studio-2010.aspx#comment</comments>
      <guid>http://www.catuhe.com/post.aspx?id=fe2af212-ca7b-4fbc-b295-1db748cde9cf</guid>
      <pubDate>Sun, 18 Apr 2010 22:27:32 +0300</pubDate>
      <category>Visual Studio</category>
      <category>.Net</category>
      <publisher xmlns="http://purl.org/dc/elements/1.1/">kosh</publisher>
      <server xmlns="http://madskills.com/public/xml/rss/module/pingback/">http://www.catuhe.com/pingback.axd</server>
      <target xmlns="http://madskills.com/public/xml/rss/module/pingback/">http://www.catuhe.com/post.aspx?id=fe2af212-ca7b-4fbc-b295-1db748cde9cf</target>
      <comments xmlns="http://purl.org/rss/1.0/modules/slash/">0</comments>
      <ping xmlns="http://madskills.com/public/xml/rss/module/trackback/">http://www.catuhe.com/trackback.axd?id=fe2af212-ca7b-4fbc-b295-1db748cde9cf</ping>
      <comment xmlns="http://wellformedweb.org/CommentAPI/">http://www.catuhe.com/post/Le-truc-a-la-con-du-jour-Probleme-de-signature-et-de-manifeste-de28099une-application-C2b2bCLI-sous-Visual-Studio-2010.aspx#comment</comment>
      <commentRss xmlns="http://wellformedweb.org/CommentAPI/">http://www.catuhe.com/syndication.axd?post=fe2af212-ca7b-4fbc-b295-1db748cde9cf</commentRss>
    </item>
    <item>
      <guid isPermaLink="false">30</guid>
      <link>http://feedproxy.google.com/~r/PaslatekBlog/~3/YCLMuK2AOL4/bewise-day-conference-2010-ce-nrsquoest-pas-fini-20100416-30.aspx</link>
      <author>lionel.limozin@bewise.fr</author>
      <title>Bewise Day Conference 2010 ! Ce n’est pas fini !</title>
      <description>&lt;p&gt;L’évènement viens à peine de se terminer à Toulouse que Bewise remet ça à Aix en Provence ! Après bientôt trois ans d'existence, Bewise Sud Est organise sa première BDC Aixoise.    &lt;br /&gt;    &lt;br /&gt;&lt;a href="http://bse.bewise.fr/BDC2010/?f=af7fc6f4-f8f6-4a54-b489-d414ae555d2e"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" border="0" alt="bdc_aix" src="http://www.paslatek.net/Attachments.ashx?id=53" width="507" height="178" /&gt;&lt;/a&gt;&amp;#160;&lt;a href="http://bse.bewise.fr/BDC2010/?f=af7fc6f4-f8f6-4a54-b489-d414ae555d2e"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="MSdays_480x325" border="0" alt="MSdays_480x325" src="http://www.paslatek.net/Attachments.ashx?id=54" width="389" height="264" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;   &lt;br /&gt;Dans le cadre des Microsoft Days 2010, Venez découvrir les innovations technologiques Microsoft pour les développeurs et les IT pro présentées par les meilleurs experts de Bewise et Microsoft ! Evénement gratuit destiné aux professionnels du développement et de l'IT, aux enseignants et étudiants :     &lt;br /&gt;- 1 Session Plénière     &lt;br /&gt;- 8 Sessions dédiées par technologie     &lt;br /&gt;- 10 Espaces de démonstration et de discussion avec des Experts     &lt;br /&gt;- 20 Experts Bewise &amp;amp; Microsoft à votre service     &lt;br /&gt;- Présentation de la table Surface de Microsoft     &lt;br /&gt;    &lt;br /&gt;&lt;a href="http://bse.bewise.fr/BDC2010/?f=af7fc6f4-f8f6-4a54-b489-d414ae555d2e" align="center"&gt;&lt;strong&gt;Inscrivez-vous vite !&lt;/strong&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Rdv donc le 18 Mai au pays du soleil ! &lt;/p&gt;</description>
      <pubDate>Fri, 16 Apr 2010 09:07:27 +0200</pubDate>
      <updated xmlns="http://www.w3.org/2005/Atom">2010-04-16T09:07:27+02:00</updated>
      <origLink xmlns="http://rssnamespace.org/feedburner/ext/1.0">http://www.paslatek.net/bewise-day-conference-2010-ce-nrsquoest-pas-fini-20100416-30.aspx</origLink>
    </item>
    <item>
      <guid isPermaLink="false">32</guid>
      <link>http://feedproxy.google.com/~r/PaslatekBlog/~3/qj8WxSSC3zo/sharepoint-2010-amegravene-531-commandes-powershell-20100416-32.aspx</link>
      <author>lionel.limozin@bewise.fr</author>
      <title>SharePoint 2010 amène 531 commandes PowerShell !</title>
      <description>&lt;p&gt;Parmis les nombreuses nouveautés de SharePoint 2010, les admins systèmes ne seront pas en reste (les développeurs pour des outils rapide non plus d’ailleurs). Cette version amène 531 commandlets pour powershell qui vous permettront de faire pas mal de choses (à peut près tout ?) : accès au contenu, manipulation, gestion des droits, etc… Un guide de démarrage rapide et concret ici : &lt;a title="http://powergui.org/servlet/KbServlet/download/2812-102-4534/SharePoint%202010%20PowerShell%20cheatsheet.pdf" href="http://powergui.org/servlet/KbServlet/download/2812-102-4534/SharePoint%202010%20PowerShell%20cheatsheet.pdf"&gt;http://powergui.org/servlet/KbServlet/download/2812-102-4534/SharePoint%202010%20PowerShell%20cheatsheet.pdf&lt;/a&gt;&lt;/p&gt;</description>
      <pubDate>Fri, 16 Apr 2010 08:24:50 +0200</pubDate>
      <updated xmlns="http://www.w3.org/2005/Atom">2010-04-16T08:24:50+02:00</updated>
      <origLink xmlns="http://rssnamespace.org/feedburner/ext/1.0">http://www.paslatek.net/sharepoint-2010-amegravene-531-commandes-powershell-20100416-32.aspx</origLink>
    </item>
    <item>
      <guid isPermaLink="false">31</guid>
      <link>http://feedproxy.google.com/~r/PaslatekBlog/~3/dCsWNK9Fsxg/visual-studio-2010-rtm-20100415-31.aspx</link>
      <author>lionel.limozin@bewise.fr</author>
      <title>Visual Studio 2010 RTM !</title>
      <description>&lt;p&gt;&lt;a href="http://www.microsoft.com/france/visualstudio/visual-studio-events" target="_blank"&gt;&lt;img style="display: block; float: none; margin-left: auto; margin-right: auto" title="image" border="0" alt="image" src="http://www.blog-microsoft.fr/image.axd?picture=image_54.png" width="360" height="45" /&gt;&lt;/a&gt;&amp;#160; &lt;br /&gt;Bon je suis loin d’être le premier à relayer l’info, mais tout de même c’est important ! La nouvelle mouture de l’environnement de développement Microsoft viens de sortir en version RTM (version qui sera très bientôt vendue). Pour l’instant seul les abonnés MSDN y ont accès (et autres abonnés). Dans les 15 prochains jours la version RTM de SharePoint 2010 doit sortir et début mai Microsoft lancera en grand pompe j’imagine la version 2010 d’Office ! Décidément cette année va être une année chargée !&lt;/p&gt;</description>
      <pubDate>Thu, 15 Apr 2010 08:44:00 +0200</pubDate>
      <updated xmlns="http://www.w3.org/2005/Atom">2010-04-15T08:44:00+02:00</updated>
      <origLink xmlns="http://rssnamespace.org/feedburner/ext/1.0">http://www.paslatek.net/visual-studio-2010-rtm-20100415-31.aspx</origLink>
    </item>
    <item>
      <title><![CDATA[Bewise Day Conference 2010]]></title>
      <link>http://dotnet.over-blog.fr/article-bewise-day-conference-2010-48482270.html</link>
      <description><![CDATA[<p> Evenement Bewise Sud Est !<br> <br> Après bientôt trois ans d'existence, Bewise Sud Est organise la première BDC sur Aix-en-Provence. </p> <p> Les innovations technologiques Microsoft pour les développeurs et les IT pro présentées par les meilleurs experts de Bewise et Microsoft ! Evénement gratuit destiné[...]</br></br></p>]]></description>
      <pubDate>Mon, 12 Apr 2010 16:20:00 +0200</pubDate>
      <guid>http://dotnet.over-blog.fr/article-bewise-day-conference-2010-48482270.html</guid>
      <comments>http://dotnet.over-blog.fr/article-bewise-day-conference-2010-48482270-comments.html#anchorComment</comments>
    </item>
    <item>
      <title><![CDATA[Bewise Day Conference 2010]]></title>
      <link>http://vsto-sps.over-blog.com/article-bewise-day-conference-2010-48482043.html</link>
      <description><![CDATA[<div class="post-body entry-content"> Evenement Bewise Sud Est !<br> <br> Après bientôt trois ans d'existence, Bewise Sud Est organise la première BDC sur Aix-en-Provence.<br> <p> Les innovations technologiques Microsoft pour les développeurs et les IT pro présentées par les meilleurs experts de Bewise et Microsoft ! Evénement gratuit destiné[...]</p></br></br></br></div>]]></description>
      <pubDate>Mon, 12 Apr 2010 16:19:00 +0200</pubDate>
      <guid>http://vsto-sps.over-blog.com/article-bewise-day-conference-2010-48482043.html</guid>
      <category>Evènements</category>
      <comments>http://vsto-sps.over-blog.com/article-bewise-day-conference-2010-48482043-comments.html#anchorComment</comments>
    </item>
    <item>
      <title>Le truc à la con du jour : Sélectionner un item dans une treeview WPF</title>
      <description>&lt;p&gt;C’est ballot mais contrairement à Windows Forms, il n’y a pas un support direct de la sélection d’un item dans une treeview WPF.&lt;/p&gt;  &lt;p&gt;Toutefois, la solution est relativement simple, puisqu’elle passe par la fonctionnalité des treeviews qui permet de récupérer les TreeViewItems depuis les objets liés : ItemContainerGenerator.&lt;/p&gt;  &lt;p&gt;Ainsi, en respectant la hierarchie de la treeview on peut parcourir l’arbre à la recherche du container de l’item.&lt;/p&gt;  &lt;p&gt;Cela donne donc le code suivant:&lt;/p&gt;  &lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;static&lt;/span&gt; &lt;span class="kwrd"&gt;bool&lt;/span&gt; SetSelected(ItemsControl parent, &lt;span class="kwrd"&gt;object&lt;/span&gt; child)
{
    &lt;span class="kwrd"&gt;if&lt;/span&gt; (parent == &lt;span class="kwrd"&gt;null&lt;/span&gt; || child == &lt;span class="kwrd"&gt;null&lt;/span&gt;)
    {
        &lt;span class="kwrd"&gt;return&lt;/span&gt; &lt;span class="kwrd"&gt;false&lt;/span&gt;;
    }

    TreeViewItem childNode = parent.ItemContainerGenerator.ContainerFromItem(child) &lt;span class="kwrd"&gt;as&lt;/span&gt; TreeViewItem;

    &lt;span class="kwrd"&gt;if&lt;/span&gt; (childNode != &lt;span class="kwrd"&gt;null&lt;/span&gt;)
    {
        childNode.Focus();
        &lt;span class="kwrd"&gt;return&lt;/span&gt; childNode.IsSelected = &lt;span class="kwrd"&gt;true&lt;/span&gt;;
    }

    &lt;span class="kwrd"&gt;if&lt;/span&gt; (parent.Items.Count &amp;gt; 0)
    {
        &lt;span class="kwrd"&gt;foreach&lt;/span&gt; (&lt;span class="kwrd"&gt;object&lt;/span&gt; childItem &lt;span class="kwrd"&gt;in&lt;/span&gt; parent.Items)
        {
            ItemsControl childControl = parent.ItemContainerGenerator.ContainerFromItem(childItem) &lt;br /&gt;                 &lt;span class="kwrd"&gt;as&lt;/span&gt; ItemsControl;
            &lt;span class="kwrd"&gt;if&lt;/span&gt; (SetSelected(childControl, child))
            {
                &lt;span class="kwrd"&gt;return&lt;/span&gt; &lt;span class="kwrd"&gt;true&lt;/span&gt;;
            }
        }
    }
    &lt;span class="kwrd"&gt;return&lt;/span&gt; &lt;span class="kwrd"&gt;false&lt;/span&gt;;
}&lt;/pre&gt;

&lt;p&gt;Et le tour est joué.&lt;/p&gt;
&lt;style type="text/css"&gt;
.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }&lt;/style&gt;
&lt;div class="addthis_toolbox addthis_default_style"  style="padding-top:10px" &gt;
&lt;a style="padding-right:10px" href="http://www.addthis.com/bookmark.php?v=250&amp;username=4a00fc5d6a261f84&amp;url=http%3a%2f%2fwww.catuhe.com%2fpost%2fLe-truc-a-la-con-du-jour-Selectionner-un-item-dans-une-treeview-WPF.aspx&amp;title=Le+truc+%c3%a0+la+con+du+jour+%3a+S%c3%a9lectionner+un+item+dans+une+treeview+WPF&amp;description="&gt;&lt;img src="http://s7.addthis.com/static/btn/v2/sm-bookmark-en.gif"  alt="Bookmark and Share" style="border:0"/&gt;&lt;/a&gt;
&lt;/div&gt;</description>
      <link>http://www.catuhe.com/post/Le-truc-a-la-con-du-jour-Selectionner-un-item-dans-une-treeview-WPF.aspx</link>
      <author>kosh</author>
      <comments>http://www.catuhe.com/post/Le-truc-a-la-con-du-jour-Selectionner-un-item-dans-une-treeview-WPF.aspx#comment</comments>
      <guid>http://www.catuhe.com/post.aspx?id=3bc285a1-eb3c-4481-91fc-c1aa4f2c8150</guid>
      <pubDate>Sun, 11 Apr 2010 19:58:47 +0300</pubDate>
      <category>.Net</category>
      <category>WPF</category>
      <publisher xmlns="http://purl.org/dc/elements/1.1/">kosh</publisher>
      <server xmlns="http://madskills.com/public/xml/rss/module/pingback/">http://www.catuhe.com/pingback.axd</server>
      <target xmlns="http://madskills.com/public/xml/rss/module/pingback/">http://www.catuhe.com/post.aspx?id=3bc285a1-eb3c-4481-91fc-c1aa4f2c8150</target>
      <comments xmlns="http://purl.org/rss/1.0/modules/slash/">0</comments>
      <ping xmlns="http://madskills.com/public/xml/rss/module/trackback/">http://www.catuhe.com/trackback.axd?id=3bc285a1-eb3c-4481-91fc-c1aa4f2c8150</ping>
      <comment xmlns="http://wellformedweb.org/CommentAPI/">http://www.catuhe.com/post/Le-truc-a-la-con-du-jour-Selectionner-un-item-dans-une-treeview-WPF.aspx#comment</comment>
      <commentRss xmlns="http://wellformedweb.org/CommentAPI/">http://www.catuhe.com/syndication.axd?post=3bc285a1-eb3c-4481-91fc-c1aa4f2c8150</commentRss>
    </item>
    <item>
      <ping xmlns="http://madskills.com/public/xml/rss/module/trackback/">http://benoitlaut.net/Trackback.aspx?guid=fdc10c9f-c75f-4fef-8ce9-20d973287bb5</ping>
      <server xmlns="http://madskills.com/public/xml/rss/module/pingback/">http://benoitlaut.net/pingback.aspx</server>
      <target xmlns="http://madskills.com/public/xml/rss/module/pingback/">http://benoitlaut.net/PermaLink,guid,fdc10c9f-c75f-4fef-8ce9-20d973287bb5.aspx</target>
      <creator xmlns="http://purl.org/dc/elements/1.1/">Benoît Laut</creator>
      <comment xmlns="http://wellformedweb.org/CommentAPI/">http://benoitlaut.net/CommentView,guid,fdc10c9f-c75f-4fef-8ce9-20d973287bb5.aspx</comment>
      <commentRss xmlns="http://wellformedweb.org/CommentAPI/">http://benoitlaut.net/SyndicationService.asmx/GetEntryCommentsRss?guid=fdc10c9f-c75f-4fef-8ce9-20d973287bb5</commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
La semaine dernière j’ai testé la migration d’un serveur TFS 2010 d’une machine A
vers une machine B et je vous propose de découvrir ici les différentes étapes pour
y arriver.
</p>
        <p>
Cet article aborde la migration des composants suivants :
</p>
        <ul>
          <li>
le serveur TFS 2010 et ses collections, 
</li>
          <li>
le serveur Reporting Services,</li>
          <li>
le site SharePoint</li>
        </ul>
        <h5>1/ Détacher la collection de projets du serveur A
</h5>
        <p>
Lancer Team Foundation Server Administration Console, aller dans Application Tier,
puis dans Team Project Collections.
</p>
        <p>
Sélectionner la collection à détacher, puis dans l’onglet général cliquer sur Detach
collection :
</p>
        <p>
          <a href="http://benoitlaut.net/content/binary/WindowsLiveWriter/MigrationduneCollectiondunserveurTFS2010_10302/image5.png">
            <img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://benoitlaut.net/content/binary/WindowsLiveWriter/MigrationduneCollectiondunserveurTFS2010_10302/image5_thumb.png" width="680" height="478" />
          </a>
        </p>
        <p>
Le wizard suivant s’ouvre et nous invite à cliquer sur Next et Verify :
</p>
        <p>
          <a href="http://benoitlaut.net/content/binary/WindowsLiveWriter/MigrationduneCollectiondunserveurTFS2010_10302/image10.png">
            <img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://benoitlaut.net/content/binary/WindowsLiveWriter/MigrationduneCollectiondunserveurTFS2010_10302/image10_thumb.png" width="660" height="423" />
          </a>
        </p>
        <p>
Après avoir cliqué sur Verify, si tout ce passe bien, on est invité à cliquer sur
Detach :
</p>
        <p>
          <a href="http://benoitlaut.net/content/binary/WindowsLiveWriter/MigrationduneCollectiondunserveurTFS2010_10302/image_10.png">
            <img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://benoitlaut.net/content/binary/WindowsLiveWriter/MigrationduneCollectiondunserveurTFS2010_10302/image_thumb_4.png" width="630" height="406" />
          </a>
        </p>
        <p>
Le warning m’indique 2 choses : 
</p>
        <ul>
          <li>
tout d’abord un message d’avertissement indiquant que la collection était attachée
à une base de données SQL 2008 Enterprise et de prendre cette information en considération
lors de la restauration sur un autre serveur SQL.</li>
          <li>
ensuite un message d’avertissement concernant les services de Builds. Ce message m’indique
que si des builds sont en train de s’exécuter alors elles seront stoppées.</li>
        </ul>
        <p>
Cliquer ensuite sur Detach afin de détacher la collection. Voici le résultat :
</p>
        <p>
          <a href="http://benoitlaut.net/content/binary/WindowsLiveWriter/MigrationduneCollectiondunserveurTFS2010_10302/image23.png">
            <img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://benoitlaut.net/content/binary/WindowsLiveWriter/MigrationduneCollectiondunserveurTFS2010_10302/image23_thumb.png" width="640" height="412" />
          </a>
        </p>
        <p>
Le message d’avertissement concernant les services de Build m’indique que le contrôleur
et l’agent ont été désactivés.
</p>
        <h5>2/ Récupérer les bases de données du serveur A
</h5>
        <p>
Pour restaurer le serveur TFS sur une autre machine, nous avons besoin de plusieurs
bases de données. Bien évidemment cela dépend de l’installation qui a été faite. Dans
mon cas j’ai installé le serveur TFS avec le portail Sharepoint et le serveur de rapports.
</p>
        <p>
Depuis SQL Server Management Studio effectuer un backup des bases de données suivantes
:
</p>
        <ul>
          <li>
TFS_DefaultCollection</li>
          <li>
ReportServer</li>
          <li>
ReportServerTmpDB</li>
          <li>
WSS_Content</li>
        </ul>
        <p>
          <a href="http://benoitlaut.net/content/binary/WindowsLiveWriter/MigrationduneCollectiondunserveurTFS2010_10302/image_2.png">
            <img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://benoitlaut.net/content/binary/WindowsLiveWriter/MigrationduneCollectiondunserveurTFS2010_10302/image_thumb.png" width="566" height="507" />
          </a> 
</p>
        <h5>3/ Backup de la clé de cryptage de Reporting Services
</h5>
        <p>
Certaines informations de reporting services, comme les mots de passe ou les chaines
de connexion, sont cryptées en base de données. Lorsque l’on veut migrer un serveur
Reporting Services il faut penser à effectuer un backup de la clé de cryptage afin
de restaurer cette clé sur l’autre serveur.
</p>
        <p>
Ouvrir Reporting Services Configuration Manager, puis aller dans Encryptions Keys
:
</p>
        <p>
          <a href="http://benoitlaut.net/content/binary/WindowsLiveWriter/MigrationduneCollectiondunserveurTFS2010_10302/image_24.png">
            <img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://benoitlaut.net/content/binary/WindowsLiveWriter/MigrationduneCollectiondunserveurTFS2010_10302/image_thumb_11.png" width="688" height="523" />
          </a>
        </p>
        <p>
Cliquer ensuite sur Backup, sélectionner une destination ainsi qu’un mot de passe
:
</p>
        <p>
          <a href="http://benoitlaut.net/content/binary/WindowsLiveWriter/MigrationduneCollectiondunserveurTFS2010_10302/image_28.png">
            <img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://benoitlaut.net/content/binary/WindowsLiveWriter/MigrationduneCollectiondunserveurTFS2010_10302/image_thumb_13.png" width="690" height="421" />
          </a>
        </p>
        <h5>4/ Restauration de la collection de projet sur le serveur B
</h5>
        <p>
Je ne décrirai pas l’installation du serveur TFS sur la machine B, car il suffit de
faire une installation (en mode advanced) de TFS 2010. 
</p>
        <p>
Une fois TFS 2010 installé sur la machine B, restaurer la base de données Tfs_DefaultCollection
sur le serveur SQL sur lequel pointe le nouveau serveur TFS :
</p>
        <p>
          <a href="http://benoitlaut.net/content/binary/WindowsLiveWriter/MigrationduneCollectiondunserveurTFS2010_10302/image_14.png">
            <img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://benoitlaut.net/content/binary/WindowsLiveWriter/MigrationduneCollectiondunserveurTFS2010_10302/image_thumb_6.png" width="627" height="565" />
          </a>
        </p>
        <h5>5/ Attacher la collection au serveur TFS
</h5>
        <p>
Ouvrir la console d’administration de TFS, aller dans Application Tier, puis dans
Team Project Collection et cliquer sur Attach Collection :
</p>
        <p></p>
        <p>
          <a href="http://benoitlaut.net/content/binary/WindowsLiveWriter/MigrationduneCollectiondunserveurTFS2010_10302/image_16.png">
            <img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://benoitlaut.net/content/binary/WindowsLiveWriter/MigrationduneCollectiondunserveurTFS2010_10302/image_thumb_7.png" width="718" height="481" />
          </a>
        </p>
        <p>
Sélectionner la base de données précédemment restaurer :
</p>
        <p>
          <a href="http://benoitlaut.net/content/binary/WindowsLiveWriter/MigrationduneCollectiondunserveurTFS2010_10302/image_18.png">
            <img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://benoitlaut.net/content/binary/WindowsLiveWriter/MigrationduneCollectiondunserveurTFS2010_10302/image_thumb_8.png" width="697" height="518" />
          </a>
        </p>
        <p>
Cliquer ensuite sur Next et Verify :
</p>
        <p>
          <a href="http://benoitlaut.net/content/binary/WindowsLiveWriter/MigrationduneCollectiondunserveurTFS2010_10302/image_20.png">
            <img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://benoitlaut.net/content/binary/WindowsLiveWriter/MigrationduneCollectiondunserveurTFS2010_10302/image_thumb_9.png" width="672" height="502" />
          </a>
        </p>
        <p>
Cliquer ensuite sur Attach :
</p>
        <p>
          <a href="http://benoitlaut.net/content/binary/WindowsLiveWriter/MigrationduneCollectiondunserveurTFS2010_10302/image_22.png">
            <img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://benoitlaut.net/content/binary/WindowsLiveWriter/MigrationduneCollectiondunserveurTFS2010_10302/image_thumb_10.png" width="672" height="502" />
          </a>
        </p>
        <p>
Comme on peut le voir sur l’image ci-dessus, la collection a bien été rattachée au
nouveau serveur TFS. Il reste à migrer/configurer Reporting Services et Sharepoint.
</p>
        <h5>6/ Restauration de Reporting Services
</h5>
        <p>
Depuis SQL Server Management Studio, restaurer les bases de données Reporting Services
(ReportServer et ReportServerTempDB).
</p>
        <p>
Attention : lors de restauration de la base de données ReportServerTempDB, il faut
lui donner le même nom que celui qu’elle avait sur l’autre serveur SQL. En effet le
nom de cette base de données est écrit en dur dans les procédures stockées de la base
ReportServer.
</p>
        <p>
Ouvrir ensuite Reporting Services Configuration Manager, puis aller dans Encryption
Keys et cliquer sur Restore :
</p>
        <p>
          <a href="http://benoitlaut.net/content/binary/WindowsLiveWriter/MigrationduneCollectiondunserveurTFS2010_10302/image_30.png">
            <img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://benoitlaut.net/content/binary/WindowsLiveWriter/MigrationduneCollectiondunserveurTFS2010_10302/image_thumb_14.png" width="716" height="455" />
          </a>
        </p>
        <p>
Dans location, rechercher le fichier .snk précédemment récupérer sur l’autre serveur
de rapport, rentrer le mot de passe puis cliquer sur OK.
</p>
        <h5>7/ Suppression de la base de contenu Sharepoint existante sur le serveur B
</h5>
        <p>
Dans les outils d’administration, lancer l’outil SharePoint 3.0 Central Administration
:
</p>
        <p>
          <a href="http://benoitlaut.net/content/binary/WindowsLiveWriter/MigrationduneCollectiondunserveurTFS2010_10302/image_32.png">
            <img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://benoitlaut.net/content/binary/WindowsLiveWriter/MigrationduneCollectiondunserveurTFS2010_10302/image_thumb_15.png" width="813" height="378" />
          </a>
        </p>
        <p>
Cliquer ensuite sur Application Management, puis dans le menu Sharepoint Web Application
Management cliquer sur Content databases :
</p>
        <p>
          <a href="http://benoitlaut.net/content/binary/WindowsLiveWriter/MigrationduneCollectiondunserveurTFS2010_10302/image_34.png">
            <img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://benoitlaut.net/content/binary/WindowsLiveWriter/MigrationduneCollectiondunserveurTFS2010_10302/image_thumb_16.png" width="816" height="207" />
          </a>
        </p>
        <p>
Cliquer sur la base WSS_Content, dans les paramétrages de la base, cocher la case
Remove content database puis cliquer sur OK :
</p>
        <p>
          <a href="http://benoitlaut.net/content/binary/WindowsLiveWriter/MigrationduneCollectiondunserveurTFS2010_10302/image_36.png">
            <img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://benoitlaut.net/content/binary/WindowsLiveWriter/MigrationduneCollectiondunserveurTFS2010_10302/image_thumb_17.png" width="813" height="469" />
          </a>
        </p>
        <h5>8/ Restauration de la base de contenu
</h5>
        <p>
Sur le serveur B ouvrir SQL Server Management Studio, puis restaurer la base de données
WSS_Content précédemment “backupée” depuis le serveur A.
</p>
        <p>
Une fois la base de données restaurée, ouvrir SharePoint 3.0 Central Administration.
Aller dans Application Management, puis dans le menu Sharepoint Web Application Management
cliquer sur Content databases. 
</p>
        <p>
Cliquer ensuite sur Add Content Database :
</p>
        <p>
          <a href="http://benoitlaut.net/content/binary/WindowsLiveWriter/MigrationduneCollectiondunserveurTFS2010_10302/image_38.png">
            <img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://benoitlaut.net/content/binary/WindowsLiveWriter/MigrationduneCollectiondunserveurTFS2010_10302/image_thumb_18.png" width="811" height="643" />
          </a>
        </p>
        <p>
Remplir les champs de connexion à la base de données précédemment restaurée puis cliquer
sur OK.
</p>
        <h5>9/ Configuration des Team Projects
</h5>
        <p>
Il reste à reconfigurer les portails des Team Project. 
</p>
        <p>
Ouvrir Visual Studio, ouvrir Team Explorer et se connecter au serveur TFS. Clic droit
sur le Team Project, puis dans Team Project Settings, cliquer sur Portal Settings…
</p>
        <p>
          <a href="http://benoitlaut.net/content/binary/WindowsLiveWriter/MigrationduneCollectiondunserveurTFS2010_10302/image_46.png">
            <img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://benoitlaut.net/content/binary/WindowsLiveWriter/MigrationduneCollectiondunserveurTFS2010_10302/image_thumb_22.png" width="636" height="420" />
          </a>
        </p>
        <p>
Dans le wizard qui s’affiche, cocher la case Enable Team Project Portal, puis cliquer
sur Configure URL… 
</p>
        <p>
Sélectionner l’application Sharepoint puis indiquer le chemin d’accès au portail du
projet :
</p>
        <p>
          <a href="http://benoitlaut.net/content/binary/WindowsLiveWriter/MigrationduneCollectiondunserveurTFS2010_10302/image_48.png">
            <img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://benoitlaut.net/content/binary/WindowsLiveWriter/MigrationduneCollectiondunserveurTFS2010_10302/image_thumb_23.png" width="604" height="472" />
          </a>
        </p>
        <p>
Cocher la case Reports and dashboards refer to data for this team project, puis cliquer
sur OK :
</p>
        <p>
          <a href="http://benoitlaut.net/content/binary/WindowsLiveWriter/MigrationduneCollectiondunserveurTFS2010_10302/image_50.png">
            <img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://benoitlaut.net/content/binary/WindowsLiveWriter/MigrationduneCollectiondunserveurTFS2010_10302/image_thumb_24.png" width="599" height="456" />
          </a> 
</p>
        <p></p>
        <p></p>
        <p></p>
        <p></p>
        <p></p>
        <h5>10/ Réparation de la connexion à Sharepoint
</h5>
        <p></p>
        <p></p>
        <p></p>
        <p></p>
        <p></p>
        <p></p>
        <p></p>
        <p></p>
        <p></p>
        <p></p>
        <p></p>
        <p></p>
        <p></p>
        <p></p>
        <p></p>
        <p></p>
        <p></p>
Ouvrir la console d’administration de TFS, puis aller dans Sharepoint Web Applications
:
<p><a href="http://benoitlaut.net/content/binary/WindowsLiveWriter/MigrationduneCollectiondunserveurTFS2010_10302/image_40.png"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://benoitlaut.net/content/binary/WindowsLiveWriter/MigrationduneCollectiondunserveurTFS2010_10302/image_thumb_19.png" width="738" height="487" /></a></p><p>
Cliquer sur Repair Connection, puis dans le wizard cliquer sur Repair :
</p><p><a href="http://benoitlaut.net/content/binary/WindowsLiveWriter/MigrationduneCollectiondunserveurTFS2010_10302/image_42.png"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://benoitlaut.net/content/binary/WindowsLiveWriter/MigrationduneCollectiondunserveurTFS2010_10302/image_thumb_20.png" width="586" height="447" /></a></p><h5>11/Reconstruction du cube
</h5><p>
Dans la console d’administration de TFS, aller dans Reporting puis cliquer sur Start
Rebuild :
</p><p><a href="http://benoitlaut.net/content/binary/WindowsLiveWriter/MigrationduneCollectiondunserveurTFS2010_10302/image_44.png"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://benoitlaut.net/content/binary/WindowsLiveWriter/MigrationduneCollectiondunserveurTFS2010_10302/image_thumb_21.png" width="575" height="375" /></a></p><h5>12/ Vérification de la migration
</h5><p>
Depuis Team Explorer, vérifier que vous pouvez vous connecter à votre nouveau serveur
TFS, que vous récupérer la collection ainsi que les Team Project. 
</p><p>
Vérifier que le portail est accessible : clic droit sur un Team Project puis cliquer
sur Show Team Portal… 
</p><p><a href="http://benoitlaut.net/content/binary/WindowsLiveWriter/MigrationduneCollectiondunserveurTFS2010_10302/image_52.png"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://benoitlaut.net/content/binary/WindowsLiveWriter/MigrationduneCollectiondunserveurTFS2010_10302/image_thumb_25.png" width="646" height="459" /></a></p><p>
Si comme moi vous avez encore une erreur lors de l’exécution des rapports, aller sur
le web service du datawarehouse (<a href="http://localhost:8080/tfs/TeamFoundation/Administration/v3.0/WarehouseControlService.asmx">http://localhost:8080/tfs/TeamFoundation/Administration/v3.0/WarehouseControlService.asmx</a>)
:
</p><p><a href="http://benoitlaut.net/content/binary/WindowsLiveWriter/MigrationduneCollectiondunserveurTFS2010_10302/image_54.png"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://benoitlaut.net/content/binary/WindowsLiveWriter/MigrationduneCollectiondunserveurTFS2010_10302/image_thumb_26.png" width="633" height="518" /></a></p><p>
Exécuter la méthode ProcessWarehouse sans paramètre, puis ProcessAnalysisDatabase
avec en paramètre Full.
</p><p>
Vérifier que les rapports s’exécutent correctement. Si aucun work item n’existe pour
le Team Project, vous risquez d’avoir une erreur lors de l’exécution des rapports.
Vous aurez une exception du style : Default value or value provided for the report
parameter 'WorkItemTypeParam' is not a valid value. (rsInvalidReportParameter). Ceci
est un bug connu (bug remonté sur connect : <a title="http://connect.microsoft.com/VisualStudio/feedback/details/499387/reporting-services-error-on-dashboard-of-sharepoint" href="http://connect.microsoft.com/VisualStudio/feedback/details/499387/reporting-services-error-on-dashboard-of-sharepoint">http://connect.microsoft.com/VisualStudio/feedback/details/499387/reporting-services-error-on-dashboard-of-sharepoint</a>) 
</p><p>
Pour ne pas avoir cette exception, il faut que le Team Project contienne au moins
1 work item. Créer un work item (de type tache par exemple) sur le Team Project puis
attendez environ 10min, ou pour aller plus vite faire un iisreset. 
</p><p>
La migration est maintenant terminée!!
</p><h5>13/ Conclusion
</h5><p>
La migration d’un serveur TFS 2010 sur une autre machine n’est pas bien compliquée.
De plus la nouvelle console d’administration de TFS est très pratique et permet de
gagner pas mal de temps comparer à TFS 2008 et à ces outils en ligne de commande…
La console d’administration de TFS 2010 permet de restaurer une collection simplement
et rapidement. Après, quelques connaissances de Sharepoint et de Reporting sont nécessaires
pour ne pas perdre trop de temps.
</p><p>
TFS Power !
</p><img width="0" height="0" src="http://benoitlaut.net/aggbug.ashx?id=fdc10c9f-c75f-4fef-8ce9-20d973287bb5" /></body>
      <title>Guide de migration d’un serveur TFS 2010 sur une autre machine</title>
      <guid isPermaLink="false">http://benoitlaut.net/PermaLink,guid,fdc10c9f-c75f-4fef-8ce9-20d973287bb5.aspx</guid>
      <link>http://benoitlaut.net/2010/04/11/GuideDeMigrationDunServeurTFS2010SurUneAutreMachine.aspx</link>
      <pubDate>Sun, 11 Apr 2010 15:29:40 GMT</pubDate>
      <description>&lt;p&gt;
La semaine dernière j’ai testé la migration d’un serveur TFS 2010 d’une machine A
vers une machine B et je vous propose de découvrir ici les différentes étapes pour
y arriver.
&lt;/p&gt;
&lt;p&gt;
Cet article aborde la migration des composants suivants :
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
le serveur TFS 2010 et ses collections, 
&lt;/li&gt;
&lt;li&gt;
le serveur Reporting Services,&lt;/li&gt;
&lt;li&gt;
le site SharePoint&lt;/li&gt;
&lt;/ul&gt;
&lt;h5&gt;1/ Détacher la collection de projets du serveur A
&lt;/h5&gt;
&lt;p&gt;
Lancer Team Foundation Server Administration Console, aller dans Application Tier,
puis dans Team Project Collections.
&lt;/p&gt;
&lt;p&gt;
Sélectionner la collection à détacher, puis dans l’onglet général cliquer sur Detach
collection :
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://benoitlaut.net/content/binary/WindowsLiveWriter/MigrationduneCollectiondunserveurTFS2010_10302/image5.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://benoitlaut.net/content/binary/WindowsLiveWriter/MigrationduneCollectiondunserveurTFS2010_10302/image5_thumb.png" width="680" height="478"&gt;&lt;/a&gt; 
&lt;/p&gt;
&lt;p&gt;
Le wizard suivant s’ouvre et nous invite à cliquer sur Next et Verify :
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://benoitlaut.net/content/binary/WindowsLiveWriter/MigrationduneCollectiondunserveurTFS2010_10302/image10.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://benoitlaut.net/content/binary/WindowsLiveWriter/MigrationduneCollectiondunserveurTFS2010_10302/image10_thumb.png" width="660" height="423"&gt;&lt;/a&gt; 
&lt;/p&gt;
&lt;p&gt;
Après avoir cliqué sur Verify, si tout ce passe bien, on est invité à cliquer sur
Detach :
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://benoitlaut.net/content/binary/WindowsLiveWriter/MigrationduneCollectiondunserveurTFS2010_10302/image_10.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://benoitlaut.net/content/binary/WindowsLiveWriter/MigrationduneCollectiondunserveurTFS2010_10302/image_thumb_4.png" width="630" height="406"&gt;&lt;/a&gt; 
&lt;/p&gt;
&lt;p&gt;
Le warning m’indique 2 choses : 
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
tout d’abord un message d’avertissement indiquant que la collection était attachée
à une base de données SQL 2008 Enterprise et de prendre cette information en considération
lors de la restauration sur un autre serveur SQL.&lt;/li&gt;
&lt;li&gt;
ensuite un message d’avertissement concernant les services de Builds. Ce message m’indique
que si des builds sont en train de s’exécuter alors elles seront stoppées.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
Cliquer ensuite sur Detach afin de détacher la collection. Voici le résultat :
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://benoitlaut.net/content/binary/WindowsLiveWriter/MigrationduneCollectiondunserveurTFS2010_10302/image23.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://benoitlaut.net/content/binary/WindowsLiveWriter/MigrationduneCollectiondunserveurTFS2010_10302/image23_thumb.png" width="640" height="412"&gt;&lt;/a&gt; 
&lt;/p&gt;
&lt;p&gt;
Le message d’avertissement concernant les services de Build m’indique que le contrôleur
et l’agent ont été désactivés.
&lt;/p&gt;
&lt;h5&gt;2/ Récupérer les bases de données du serveur A
&lt;/h5&gt;
&lt;p&gt;
Pour restaurer le serveur TFS sur une autre machine, nous avons besoin de plusieurs
bases de données. Bien évidemment cela dépend de l’installation qui a été faite. Dans
mon cas j’ai installé le serveur TFS avec le portail Sharepoint et le serveur de rapports.
&lt;/p&gt;
&lt;p&gt;
Depuis SQL Server Management Studio effectuer un backup des bases de données suivantes
:
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
TFS_DefaultCollection&lt;/li&gt;
&lt;li&gt;
ReportServer&lt;/li&gt;
&lt;li&gt;
ReportServerTmpDB&lt;/li&gt;
&lt;li&gt;
WSS_Content&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
&lt;a href="http://benoitlaut.net/content/binary/WindowsLiveWriter/MigrationduneCollectiondunserveurTFS2010_10302/image_2.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://benoitlaut.net/content/binary/WindowsLiveWriter/MigrationduneCollectiondunserveurTFS2010_10302/image_thumb.png" width="566" height="507"&gt;&lt;/a&gt;&amp;nbsp;
&lt;/p&gt;
&lt;h5&gt;3/ Backup de la clé de cryptage de Reporting Services
&lt;/h5&gt;
&lt;p&gt;
Certaines informations de reporting services, comme les mots de passe ou les chaines
de connexion, sont cryptées en base de données. Lorsque l’on veut migrer un serveur
Reporting Services il faut penser à effectuer un backup de la clé de cryptage afin
de restaurer cette clé sur l’autre serveur.
&lt;/p&gt;
&lt;p&gt;
Ouvrir Reporting Services Configuration Manager, puis aller dans Encryptions Keys
:
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://benoitlaut.net/content/binary/WindowsLiveWriter/MigrationduneCollectiondunserveurTFS2010_10302/image_24.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://benoitlaut.net/content/binary/WindowsLiveWriter/MigrationduneCollectiondunserveurTFS2010_10302/image_thumb_11.png" width="688" height="523"&gt;&lt;/a&gt; 
&lt;/p&gt;
&lt;p&gt;
Cliquer ensuite sur Backup, sélectionner une destination ainsi qu’un mot de passe
:
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://benoitlaut.net/content/binary/WindowsLiveWriter/MigrationduneCollectiondunserveurTFS2010_10302/image_28.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://benoitlaut.net/content/binary/WindowsLiveWriter/MigrationduneCollectiondunserveurTFS2010_10302/image_thumb_13.png" width="690" height="421"&gt;&lt;/a&gt; 
&lt;/p&gt;
&lt;h5&gt;4/ Restauration de la collection de projet sur le serveur B
&lt;/h5&gt;
&lt;p&gt;
Je ne décrirai pas l’installation du serveur TFS sur la machine B, car il suffit de
faire une installation (en mode advanced) de TFS 2010. 
&lt;/p&gt;
&lt;p&gt;
Une fois TFS 2010 installé sur la machine B, restaurer la base de données Tfs_DefaultCollection
sur le serveur SQL sur lequel pointe le nouveau serveur TFS :
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://benoitlaut.net/content/binary/WindowsLiveWriter/MigrationduneCollectiondunserveurTFS2010_10302/image_14.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://benoitlaut.net/content/binary/WindowsLiveWriter/MigrationduneCollectiondunserveurTFS2010_10302/image_thumb_6.png" width="627" height="565"&gt;&lt;/a&gt; 
&lt;/p&gt;
&lt;h5&gt;5/ Attacher la collection au serveur TFS
&lt;/h5&gt;
&lt;p&gt;
Ouvrir la console d’administration de TFS, aller dans Application Tier, puis dans
Team Project Collection et cliquer sur Attach Collection :
&lt;/p&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://benoitlaut.net/content/binary/WindowsLiveWriter/MigrationduneCollectiondunserveurTFS2010_10302/image_16.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://benoitlaut.net/content/binary/WindowsLiveWriter/MigrationduneCollectiondunserveurTFS2010_10302/image_thumb_7.png" width="718" height="481"&gt;&lt;/a&gt; 
&lt;/p&gt;
&lt;p&gt;
Sélectionner la base de données précédemment restaurer :
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://benoitlaut.net/content/binary/WindowsLiveWriter/MigrationduneCollectiondunserveurTFS2010_10302/image_18.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://benoitlaut.net/content/binary/WindowsLiveWriter/MigrationduneCollectiondunserveurTFS2010_10302/image_thumb_8.png" width="697" height="518"&gt;&lt;/a&gt; 
&lt;/p&gt;
&lt;p&gt;
Cliquer ensuite sur Next et Verify :
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://benoitlaut.net/content/binary/WindowsLiveWriter/MigrationduneCollectiondunserveurTFS2010_10302/image_20.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://benoitlaut.net/content/binary/WindowsLiveWriter/MigrationduneCollectiondunserveurTFS2010_10302/image_thumb_9.png" width="672" height="502"&gt;&lt;/a&gt; 
&lt;/p&gt;
&lt;p&gt;
Cliquer ensuite sur Attach :
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://benoitlaut.net/content/binary/WindowsLiveWriter/MigrationduneCollectiondunserveurTFS2010_10302/image_22.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://benoitlaut.net/content/binary/WindowsLiveWriter/MigrationduneCollectiondunserveurTFS2010_10302/image_thumb_10.png" width="672" height="502"&gt;&lt;/a&gt; 
&lt;/p&gt;
&lt;p&gt;
Comme on peut le voir sur l’image ci-dessus, la collection a bien été rattachée au
nouveau serveur TFS. Il reste à migrer/configurer Reporting Services et Sharepoint.
&lt;/p&gt;
&lt;h5&gt;6/ Restauration de Reporting Services
&lt;/h5&gt;
&lt;p&gt;
Depuis SQL Server Management Studio, restaurer les bases de données Reporting Services
(ReportServer et ReportServerTempDB).
&lt;/p&gt;
&lt;p&gt;
Attention : lors de restauration de la base de données ReportServerTempDB, il faut
lui donner le même nom que celui qu’elle avait sur l’autre serveur SQL. En effet le
nom de cette base de données est écrit en dur dans les procédures stockées de la base
ReportServer.
&lt;/p&gt;
&lt;p&gt;
Ouvrir ensuite Reporting Services Configuration Manager, puis aller dans Encryption
Keys et cliquer sur Restore :
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://benoitlaut.net/content/binary/WindowsLiveWriter/MigrationduneCollectiondunserveurTFS2010_10302/image_30.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://benoitlaut.net/content/binary/WindowsLiveWriter/MigrationduneCollectiondunserveurTFS2010_10302/image_thumb_14.png" width="716" height="455"&gt;&lt;/a&gt; 
&lt;/p&gt;
&lt;p&gt;
Dans location, rechercher le fichier .snk précédemment récupérer sur l’autre serveur
de rapport, rentrer le mot de passe puis cliquer sur OK.
&lt;/p&gt;
&lt;h5&gt;7/ Suppression de la base de contenu Sharepoint existante sur le serveur B
&lt;/h5&gt;
&lt;p&gt;
Dans les outils d’administration, lancer l’outil SharePoint 3.0 Central Administration
:
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://benoitlaut.net/content/binary/WindowsLiveWriter/MigrationduneCollectiondunserveurTFS2010_10302/image_32.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://benoitlaut.net/content/binary/WindowsLiveWriter/MigrationduneCollectiondunserveurTFS2010_10302/image_thumb_15.png" width="813" height="378"&gt;&lt;/a&gt; 
&lt;/p&gt;
&lt;p&gt;
Cliquer ensuite sur Application Management, puis dans le menu Sharepoint Web Application
Management cliquer sur Content databases :
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://benoitlaut.net/content/binary/WindowsLiveWriter/MigrationduneCollectiondunserveurTFS2010_10302/image_34.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://benoitlaut.net/content/binary/WindowsLiveWriter/MigrationduneCollectiondunserveurTFS2010_10302/image_thumb_16.png" width="816" height="207"&gt;&lt;/a&gt; 
&lt;/p&gt;
&lt;p&gt;
Cliquer sur la base WSS_Content, dans les paramétrages de la base, cocher la case
Remove content database puis cliquer sur OK :
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://benoitlaut.net/content/binary/WindowsLiveWriter/MigrationduneCollectiondunserveurTFS2010_10302/image_36.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://benoitlaut.net/content/binary/WindowsLiveWriter/MigrationduneCollectiondunserveurTFS2010_10302/image_thumb_17.png" width="813" height="469"&gt;&lt;/a&gt; 
&lt;/p&gt;
&lt;h5&gt;8/ Restauration de la base de contenu
&lt;/h5&gt;
&lt;p&gt;
Sur le serveur B ouvrir SQL Server Management Studio, puis restaurer la base de données
WSS_Content précédemment “backupée” depuis le serveur A.
&lt;/p&gt;
&lt;p&gt;
Une fois la base de données restaurée, ouvrir SharePoint 3.0 Central Administration.
Aller dans Application Management, puis dans le menu Sharepoint Web Application Management
cliquer sur Content databases. 
&lt;/p&gt;
&lt;p&gt;
Cliquer ensuite sur Add Content Database :
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://benoitlaut.net/content/binary/WindowsLiveWriter/MigrationduneCollectiondunserveurTFS2010_10302/image_38.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://benoitlaut.net/content/binary/WindowsLiveWriter/MigrationduneCollectiondunserveurTFS2010_10302/image_thumb_18.png" width="811" height="643"&gt;&lt;/a&gt; 
&lt;/p&gt;
&lt;p&gt;
Remplir les champs de connexion à la base de données précédemment restaurée puis cliquer
sur OK.
&lt;/p&gt;
&lt;h5&gt;9/ Configuration des Team Projects
&lt;/h5&gt;
&lt;p&gt;
Il reste à reconfigurer les portails des Team Project. 
&lt;/p&gt;
&lt;p&gt;
Ouvrir Visual Studio, ouvrir Team Explorer et se connecter au serveur TFS. Clic droit
sur le Team Project, puis dans Team Project Settings, cliquer sur Portal Settings…
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://benoitlaut.net/content/binary/WindowsLiveWriter/MigrationduneCollectiondunserveurTFS2010_10302/image_46.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://benoitlaut.net/content/binary/WindowsLiveWriter/MigrationduneCollectiondunserveurTFS2010_10302/image_thumb_22.png" width="636" height="420"&gt;&lt;/a&gt; 
&lt;/p&gt;
&lt;p&gt;
Dans le wizard qui s’affiche, cocher la case Enable Team Project Portal, puis cliquer
sur Configure URL… 
&lt;/p&gt;
&lt;p&gt;
Sélectionner l’application Sharepoint puis indiquer le chemin d’accès au portail du
projet :
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://benoitlaut.net/content/binary/WindowsLiveWriter/MigrationduneCollectiondunserveurTFS2010_10302/image_48.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://benoitlaut.net/content/binary/WindowsLiveWriter/MigrationduneCollectiondunserveurTFS2010_10302/image_thumb_23.png" width="604" height="472"&gt;&lt;/a&gt; 
&lt;/p&gt;
&lt;p&gt;
Cocher la case Reports and dashboards refer to data for this team project, puis cliquer
sur OK :
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://benoitlaut.net/content/binary/WindowsLiveWriter/MigrationduneCollectiondunserveurTFS2010_10302/image_50.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://benoitlaut.net/content/binary/WindowsLiveWriter/MigrationduneCollectiondunserveurTFS2010_10302/image_thumb_24.png" width="599" height="456"&gt;&lt;/a&gt;&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;h5&gt;10/ Réparation de la connexion à Sharepoint
&lt;/h5&gt;
&lt;p&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;/p&gt;
Ouvrir la console d’administration de TFS, puis aller dans Sharepoint Web Applications
:&gt;
&lt;p&gt;
&lt;a href="http://benoitlaut.net/content/binary/WindowsLiveWriter/MigrationduneCollectiondunserveurTFS2010_10302/image_40.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://benoitlaut.net/content/binary/WindowsLiveWriter/MigrationduneCollectiondunserveurTFS2010_10302/image_thumb_19.png" width="738" height="487"&gt;&lt;/a&gt; 
&lt;/p&gt;
&lt;p&gt;
Cliquer sur Repair Connection, puis dans le wizard cliquer sur Repair :
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://benoitlaut.net/content/binary/WindowsLiveWriter/MigrationduneCollectiondunserveurTFS2010_10302/image_42.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://benoitlaut.net/content/binary/WindowsLiveWriter/MigrationduneCollectiondunserveurTFS2010_10302/image_thumb_20.png" width="586" height="447"&gt;&lt;/a&gt; 
&lt;/p&gt;
&lt;h5&gt;11/Reconstruction du cube
&lt;/h5&gt;
&lt;p&gt;
Dans la console d’administration de TFS, aller dans Reporting puis cliquer sur Start
Rebuild :
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://benoitlaut.net/content/binary/WindowsLiveWriter/MigrationduneCollectiondunserveurTFS2010_10302/image_44.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://benoitlaut.net/content/binary/WindowsLiveWriter/MigrationduneCollectiondunserveurTFS2010_10302/image_thumb_21.png" width="575" height="375"&gt;&lt;/a&gt; 
&lt;/p&gt;
&lt;h5&gt;12/ Vérification de la migration
&lt;/h5&gt;
&lt;p&gt;
Depuis Team Explorer, vérifier que vous pouvez vous connecter à votre nouveau serveur
TFS, que vous récupérer la collection ainsi que les Team Project. 
&lt;/p&gt;
&lt;p&gt;
Vérifier que le portail est accessible : clic droit sur un Team Project puis cliquer
sur Show Team Portal… 
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://benoitlaut.net/content/binary/WindowsLiveWriter/MigrationduneCollectiondunserveurTFS2010_10302/image_52.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://benoitlaut.net/content/binary/WindowsLiveWriter/MigrationduneCollectiondunserveurTFS2010_10302/image_thumb_25.png" width="646" height="459"&gt;&lt;/a&gt; 
&lt;/p&gt;
&lt;p&gt;
Si comme moi vous avez encore une erreur lors de l’exécution des rapports, aller sur
le web service du datawarehouse (&lt;a href="http://localhost:8080/tfs/TeamFoundation/Administration/v3.0/WarehouseControlService.asmx"&gt;http://localhost:8080/tfs/TeamFoundation/Administration/v3.0/WarehouseControlService.asmx&lt;/a&gt;)
:
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://benoitlaut.net/content/binary/WindowsLiveWriter/MigrationduneCollectiondunserveurTFS2010_10302/image_54.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://benoitlaut.net/content/binary/WindowsLiveWriter/MigrationduneCollectiondunserveurTFS2010_10302/image_thumb_26.png" width="633" height="518"&gt;&lt;/a&gt; 
&lt;/p&gt;
&lt;p&gt;
Exécuter la méthode ProcessWarehouse sans paramètre, puis ProcessAnalysisDatabase
avec en paramètre Full.
&lt;/p&gt;
&lt;p&gt;
Vérifier que les rapports s’exécutent correctement. Si aucun work item n’existe pour
le Team Project, vous risquez d’avoir une erreur lors de l’exécution des rapports.
Vous aurez une exception du style : Default value or value provided for the report
parameter 'WorkItemTypeParam' is not a valid value. (rsInvalidReportParameter). Ceci
est un bug connu (bug remonté sur connect : &lt;a title="http://connect.microsoft.com/VisualStudio/feedback/details/499387/reporting-services-error-on-dashboard-of-sharepoint" href="http://connect.microsoft.com/VisualStudio/feedback/details/499387/reporting-services-error-on-dashboard-of-sharepoint"&gt;http://connect.microsoft.com/VisualStudio/feedback/details/499387/reporting-services-error-on-dashboard-of-sharepoint&lt;/a&gt;) 
&lt;/p&gt;
&lt;p&gt;
Pour ne pas avoir cette exception, il faut que le Team Project contienne au moins
1 work item. Créer un work item (de type tache par exemple) sur le Team Project puis
attendez environ 10min, ou pour aller plus vite faire un iisreset. 
&lt;/p&gt;
&lt;p&gt;
La migration est maintenant terminée!!
&lt;/p&gt;
&lt;h5&gt;13/ Conclusion
&lt;/h5&gt;
&lt;p&gt;
La migration d’un serveur TFS 2010 sur une autre machine n’est pas bien compliquée.
De plus la nouvelle console d’administration de TFS est très pratique et permet de
gagner pas mal de temps comparer à TFS 2008 et à ces outils en ligne de commande…
La console d’administration de TFS 2010 permet de restaurer une collection simplement
et rapidement. Après, quelques connaissances de Sharepoint et de Reporting sont nécessaires
pour ne pas perdre trop de temps.
&lt;/p&gt;
&lt;p&gt;
TFS Power !
&lt;/p&gt;
&lt;img width="0" height="0" src="http://benoitlaut.net/aggbug.ashx?id=fdc10c9f-c75f-4fef-8ce9-20d973287bb5" /&gt;</description>
      <comments>http://benoitlaut.net/CommentView,guid,fdc10c9f-c75f-4fef-8ce9-20d973287bb5.aspx</comments>
      <category>TFS</category>
    </item>
    <item>
      <guid isPermaLink="false">tag:blogger.com,1999:blog-2661757067011288732.post-1896118086466751535</guid>
      <pubDate>Thu, 08 Apr 2010 06:39:00 +0000</pubDate>
      <updated xmlns="http://www.w3.org/2005/Atom">2010-04-16T04:15:36.891-07:00</updated>
      <title>Bewise Day Conference 2010</title>
      <description>&lt;a href="http://bse.bewise.fr/BDC2010/?f=af7fc6f4-f8f6-4a54-b489-d414ae555d2e"&gt;&lt;img style="text-align: center; margin: 0px auto 10px; width: 320px; display: block; height: 110px; cursor: hand" id="BLOGGER_PHOTO_ID_5457656900277669506" border="0" alt="" src="http://2.bp.blogspot.com/_oumjLG2Z2ck/S71-CO8CjoI/AAAAAAAALLs/8s_eqtloEXI/s320/anim_bdc_aix_small.jpg" /&gt;&lt;/a&gt;Evénement Bewise Sud Est !  &lt;br /&gt;  &lt;br /&gt;Après bientôt trois ans d'existence, Bewise Sud Est organise la première BDC sur Aix-en-Provence.  &lt;br /&gt;  &lt;p&gt;Les innovations technologiques Microsoft pour les développeurs et les IT pro présentées par les meilleurs experts de Bewise et Microsoft ! Evénement gratuit destiné aux professionnels du développement et de l'IT, aux enseignants et étudiants, venez découvrir:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;1 Session Plénière &lt;/li&gt;    &lt;li&gt;8 Sessions dédiées par technologie&lt;/li&gt;    &lt;li&gt;10 Espaces de démonstration et de discussion avec des Experts&lt;/li&gt;    &lt;li&gt;20 Experts Bewise &amp;amp; Microsoft à votre service&lt;/li&gt;    &lt;li&gt;Présentation de la table Surface de Microsoft     &lt;br /&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;p align="center"&gt;Inscrivez-vous vite !   &lt;br /&gt;&lt;/p&gt;  &lt;br /&gt;  &lt;p align="center"&gt;&amp;gt;&amp;gt; &lt;a href="http://bse.bewise.fr/BDC2010/?f=af7fc6f4-f8f6-4a54-b489-d414ae555d2e"&gt;S'inscrire&lt;/a&gt; &amp;lt;&amp;lt; &lt;/p&gt;  &lt;p&gt;&lt;a href="http://bse.bewise.fr/BDC2010/?f=af7fc6f4-f8f6-4a54-b489-d414ae555d2e"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="MSdays_480x323" border="0" alt="MSdays_480x323" src="http://lh6.ggpht.com/_oumjLG2Z2ck/S8hGqHT1TFI/AAAAAAAALMs/uDbdNzqyQm8/MSdays_480x323%5B3%5D.jpg?imgmax=800" width="244" height="166" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://msdn.microsoft.com/fr-fr/dd637688.aspx"&gt;&lt;img style="text-align: center; margin: 0px auto 10px; width: 320px; display: block; height: 310px; cursor: hand" id="BLOGGER_PHOTO_ID_5457686510569168130" border="0" alt="" src="http://1.bp.blogspot.com/_oumjLG2Z2ck/S72Y9x3qnQI/AAAAAAAALMA/mNx9MCdzBE8/s320/CarteMSDays.png" /&gt;&lt;/a&gt;    &lt;br /&gt;&lt;u&gt;Mots clés&lt;/u&gt; : Microsoft Days 2010, MS Days 2010, BDC 2010 Aix-en-Provence&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2661757067011288732-1896118086466751535?l=becauseofintellisense.blogspot.com' alt='' /&gt;&lt;/div&gt;</description>
      <link>http://becauseofintellisense.blogspot.com/2010/04/bewise-day-conference-2010.html</link>
      <author>nicolas.bruschini@bewise.fr (Rouge)</author>
      <media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/_oumjLG2Z2ck/S71-CO8CjoI/AAAAAAAALLs/8s_eqtloEXI/s72-c/anim_bdc_aix_small.jpg" height="72" width="72" />
      <total xmlns="http://purl.org/syndication/thread/1.0">0</total>
    </item>
    <item>
      <title>Démos Reporting Services 2008 R2</title>
      <link>http://blog.djeepy1.net/2010/04/02/dmos-reporting-services-2008-r2/</link>
      <comments>http://blog.djeepy1.net/2010/04/02/dmos-reporting-services-2008-r2/#comments</comments>
      <pubDate>Fri, 02 Apr 2010 10:56:34 +0000</pubDate>
      <creator xmlns="http://purl.org/dc/elements/1.1/">Djeepy1</creator>
      <category><![CDATA[Reporting Services]]></category>
      <category><![CDATA[SSRS]]></category>
      <category><![CDATA[TechDays]]></category>
      <guid isPermaLink="false">http://djeepy1.wordpress.com/2010/04/02/dmos-reporting-services-2008-r2/</guid>
      <description><![CDATA[Aux TechDays 2010, j’ai aussi eu la chance d’accompagner the famous Pascal Belaud sur une session ludique des nouveautés de SQL Server 2008 R2. J&#8217;assurai la partie Reporting Services avec quelques démos sur les nouveautés : Nouveau Report Manager Report Parts et Report Gallery Shared Datasets KPI, Sparkline, Databar Cartographie La vidéo se trouve ici [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.djeepy1.net&blog=7511412&post=223&subd=djeepy1&ref=&feed=1" />]]></description>
      <encoded xmlns="http://purl.org/rss/1.0/modules/content/"><![CDATA[<p>Aux <strong>TechDays 2010</strong>, j’ai aussi eu la chance d’accompagner the famous <strong>Pascal Belaud</strong> sur une session ludique des nouveautés de SQL Server 2008 R2.</p>
<p>J&#8217;assurai la partie <strong>Reporting Services</strong> avec quelques démos sur les nouveautés :</p>
<ul>
<li>Nouveau Report Manager </li>
<li>Report Parts et Report Gallery </li>
<li>Shared Datasets </li>
<li>KPI, Sparkline, Databar </li>
<li>Cartographie </li>
</ul>
<p>La vidéo se trouve ici :</p>
<p><a title="http://www.microsoft.com/france/vision/mstechdays10/Webcast.aspx?EID=32499E98-3D41-42DA-A396-B6F030697957" href="http://www.microsoft.com/france/vision/mstechdays10/Webcast.aspx?EID=32499E98-3D41-42DA-A396-B6F030697957">http://www.microsoft.com/france/vision/mstechdays10/Webcast.aspx?EID=32499E98-3D41-42DA-A396-B6F030697957</a></p>
<p><img src="http://public.bay.livefilestore.com/y1pso5fQpjVPg0v8SKaemusOBNGtoHj59KFtsFb0z3Lkip77BiMu0FTu2IJElyyz67tneKRzz9ssyOlIwoCnm4scQ/180x150_Techdays%202010%20Webcasts_100305_FR.GIF" /></p>
<br />Filed under: <a href='http://blog.djeepy1.net/category/reporting-services/'>Reporting Services</a> Tagged: <a href='http://blog.djeepy1.net/tag/reporting-services/'>Reporting Services</a>, <a href='http://blog.djeepy1.net/tag/ssrs/'>SSRS</a>, <a href='http://blog.djeepy1.net/tag/techdays/'>TechDays</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/djeepy1.wordpress.com/223/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/djeepy1.wordpress.com/223/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/djeepy1.wordpress.com/223/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/djeepy1.wordpress.com/223/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/djeepy1.wordpress.com/223/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/djeepy1.wordpress.com/223/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/djeepy1.wordpress.com/223/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/djeepy1.wordpress.com/223/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/djeepy1.wordpress.com/223/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/djeepy1.wordpress.com/223/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/djeepy1.wordpress.com/223/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/djeepy1.wordpress.com/223/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/djeepy1.wordpress.com/223/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/djeepy1.wordpress.com/223/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.djeepy1.net&blog=7511412&post=223&subd=djeepy1&ref=&feed=1" />]]></encoded>
      <commentRss xmlns="http://wellformedweb.org/CommentAPI/">http://blog.djeepy1.net/2010/04/02/dmos-reporting-services-2008-r2/feed/</commentRss>
      <comments xmlns="http://purl.org/rss/1.0/modules/slash/">0</comments>
      <content url="http://1.gravatar.com/avatar/d5bd484f181f5352c2e531cb5cc78aef?s=96&amp;d=http%3A%2F%2Fs0.wp.com%2Fi%2Fmu.gif&amp;r=G" medium="image" xmlns="http://search.yahoo.com/mrss/">
        <title type="html">djeepy1</title>
      </content>
      <content url="http://public.bay.livefilestore.com/y1pso5fQpjVPg0v8SKaemusOBNGtoHj59KFtsFb0z3Lkip77BiMu0FTu2IJElyyz67tneKRzz9ssyOlIwoCnm4scQ/180x150_Techdays%202010%20Webcasts_100305_FR.GIF" medium="image" xmlns="http://search.yahoo.com/mrss/" />
    </item>
    <item>
      <guid isPermaLink="false">tag:blogger.com,1999:blog-5619051591853320584.post-8592735363568315667</guid>
      <pubDate>Wed, 31 Mar 2010 11:47:00 +0000</pubDate>
      <updated xmlns="http://www.w3.org/2005/Atom">2010-03-31T13:47:37.383+02:00</updated>
      <title>Au fait, j’avais pas quelque chose de prévu pour demain moi ?</title>
      <description>&lt;p&gt;Et oui, demain c’est le premier avril. Comme chaque année vous allez pouvoir vous amuser à accrocher des poissons aux dos de vos amis, et éplucher les informations pour trouver les plus improbables… Mais cette année, Bewise vous propose encore mieux !&lt;/p&gt;  &lt;p align="center"&gt;&lt;a href="http://lh3.ggpht.com/_1fIQLbpqRAw/S7M2VvuBkbI/AAAAAAAAByg/AJ-fIUPBnkQ/s1600-h/IMAGE_303%5B2%5D.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="IMAGE_303" border="0" alt="IMAGE_303" src="http://lh5.ggpht.com/_1fIQLbpqRAw/S7M2WBepHsI/AAAAAAAAByk/zZ5BSRnr69U/IMAGE_303_thumb.jpg?imgmax=800" width="184" height="244" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Et oui, &lt;a href="http://bdc2010.bewise.fr/?f=A56BC4FC-9B40-4e60-A8D5-B188D54819BC"&gt;la Bewise Day Conference&lt;/a&gt; est de retour dès demain, avec tout plein de technos, du développement, de l’IT, et des tables Surface !&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5619051591853320584-8592735363568315667?l=blog.adhess.net' alt='' /&gt;&lt;/div&gt;</description>
      <link>http://blog.adhess.net/2010/03/au-fait-javais-pas-quelque-chose-de.html</link>
      <author>noreply@blogger.com (Guillaume Lacasa)</author>
      <total xmlns="http://purl.org/syndication/thread/1.0">0</total>
    </item>
    <item>
      <title>1 projet, 24 technologies, 360 exemples de codes !</title>
      <link>http://blog.christophermaneu.fr/2010/03/1-projet-24-technologies-360-exemples-de-codes/</link>
      <comments>http://blog.christophermaneu.fr/2010/03/1-projet-24-technologies-360-exemples-de-codes/#comments</comments>
      <pubDate>Mon, 29 Mar 2010 18:07:20 +0000</pubDate>
      <creator xmlns="http://purl.org/dc/elements/1.1/">Chris</creator>
      <category><![CDATA[.Net]]></category>
      <category><![CDATA[Development]]></category>
      <category><![CDATA[CodePlex]]></category>
      <guid isPermaLink="false">http://blog.christophermaneu.fr/2010/03/1-projet-24-technologies-360-exemples-de-codes/</guid>
      <description><![CDATA[La communauté Microsoft est très active, et quelques fois, on tombe sur de très bonnes surprises. C’est ainsi que je suis tombé (grâce à Julien de Bewise ;) sur All-In-One Code Framework, un projet codeplex regroupant plus de 360 exemples de codes, toutes technologies confondues : COM, Interopérabilité, IPC, Accès aux données (Linq, ADO, Ado.net, [...]]]></description>
      <encoded xmlns="http://purl.org/rss/1.0/modules/content/"><![CDATA[<p>La communauté Microsoft est très active, et quelques fois, on tombe sur de très bonnes surprises. C’est ainsi que je suis tombé (grâce à Julien de Bewise ;) sur <strong><a href="http://1code.codeplex.com/">All-In-One Code Framework</a></strong>, un projet codeplex regroupant plus de 360 exemples de codes, toutes technologies confondues : COM, Interopérabilité, IPC, Accès aux données (Linq, ADO, Ado.net, Datasets, Entity framework), Office, WinForms, Hooks, Diagnostics, WPF, Sécurité, Windows, XML, Système de fichiers, Network, shell, Sliverlight, ASP.net, VSX, IIS, Windows 7, MFC, WF, Services, Azure et Powershell ! </p>
<p><a href="http://blog.christophermaneu.fr/wp-content/uploads/2010/03/image5.png"><img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="image" border="0" alt="image" src="http://blog.christophermaneu.fr/wp-content/uploads/2010/03/image_thumb5.png" width="458" height="184" /></a> </p>
<p>C’est l’une des meilleures bases de samples que j’ai pu trouver en C#/VB.net, et vous pouvez la retrouver gratuitement sur : <a title="http://1code.codeplex.com/" href="http://1code.codeplex.com/">http://1code.codeplex.com/</a></p>]]></encoded>
      <commentRss xmlns="http://wellformedweb.org/CommentAPI/">http://blog.christophermaneu.fr/2010/03/1-projet-24-technologies-360-exemples-de-codes/feed/</commentRss>
      <comments xmlns="http://purl.org/rss/1.0/modules/slash/">0</comments>
    </item>
    <item>
      <ping xmlns="http://madskills.com/public/xml/rss/module/trackback/">http://benoitlaut.net/Trackback.aspx?guid=31dc906e-278f-4b17-9620-97deb967a71c</ping>
      <server xmlns="http://madskills.com/public/xml/rss/module/pingback/">http://benoitlaut.net/pingback.aspx</server>
      <target xmlns="http://madskills.com/public/xml/rss/module/pingback/">http://benoitlaut.net/PermaLink,guid,31dc906e-278f-4b17-9620-97deb967a71c.aspx</target>
      <creator xmlns="http://purl.org/dc/elements/1.1/">Benoît Laut</creator>
      <comment xmlns="http://wellformedweb.org/CommentAPI/">http://benoitlaut.net/CommentView,guid,31dc906e-278f-4b17-9620-97deb967a71c.aspx</comment>
      <commentRss xmlns="http://wellformedweb.org/CommentAPI/">http://benoitlaut.net/SyndicationService.asmx/GetEntryCommentsRss?guid=31dc906e-278f-4b17-9620-97deb967a71c</commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Ce weekend je me suis attelé à l’un de mes projets perso que j’avais, il y a quelques
temps, migré vers un TFS 2010 Beta 2. Depuis mon passage sur la RC je n’avais pas
encore remis le nez dedans et ce weekend je me suis aperçu qu’une erreur survenait
lors de l’exécution des builds.
</p>
        <p>
Voici le détail de l’erreur : <em>File not found: C:\Windows\Microsoft.NET\Framework\v4.0.21006\MSBuild.exe</em></p>
        <p>
L’erreur est assez parlante et facile à vérifier. J’ouvre un windows explorer et effectivement
le répertoire v4.0.21006 n’existe plus, puisqu’il correspond au numéro de version
du framework .Net 4.0 Beta 2. La version RC quant à elle a le numéro v4.0.30128.
</p>
        <p>
Il suffit donc de modifier ce numéro de version quelque part dans la définition des
Builds… Après quelques recherches sur le web, je tombe sur le blog de <a href="http://tomasscott.wordpress.com/2010/02/11/solving-build-problems-after-upgrading-from-beta2-to-rc/" target="_blank">Tomas
Scott</a> qui indique qu’il suffit de recréer une nouvelle collection et un nouveau
projet. Cette nouvelle collection se basera sur les templates de Build de la version
RC, qui eux pointerons vers le bon chemin du framework. Vous pouvez ensuite récupérer
ces templates et les remplacer par vos anciens.
</p>
        <p>
C’est en effet une solution simple et pratique… Sauf que moi je suis encore plus fainéant
que ça, il me fallait donc une autre solution. Si ce sont les templates qui merde,
alors autant chercher dans ces templates le chemin de MSBuild.exe et le remplacer
par le nouveau. Ou se trouve ce fameux template ? Dans le source control du Team Project,
à la racine, il y a un répertoire <em>BuildProcess Template</em> dans lequel on trouve
le template DefaultTemplate.xaml.
</p>
        <p>
          <a href="http://benoitlaut.net/content/binary/WindowsLiveWriter/ProblmeaveclesBuildsdeTFS2010RCaprsmisjo_7FCE/image_2.png">
            <img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://benoitlaut.net/content/binary/WindowsLiveWriter/ProblmeaveclesBuildsdeTFS2010RCaprsmisjo_7FCE/image_thumb.png" width="645" height="287" />
          </a>
        </p>
        <p>
2 possibilités pour le modifier : en mode notepad ou en mode designer de workflow.
Si vous le faites en mode je suis un killer je le fais avec notepad, rien de plus
simple : faites une recherche de la chaine v4.0.21006 puis remplacer la par v4.0.30128.
Vous devriez normalement trouver 2 occurrences.
</p>
        <p>
Nous allons ici ouvrir le fichier dans le designer de workflow. Après double clic
sur le fichier, un joli designer s’ouvre et vous permet d’éditer le template du workflow
des builds. Si vous l’étudiez un peu, vous retrouverez les étapes que vous voyez passer
lorsque vous lancer une build. Il vous faut rechercher l’activité de type MSBuild, <em>Run
MSBuild for Project,</em> comme indiqué ci-dessous :
</p>
        <p>
          <a href="http://benoitlaut.net/content/binary/WindowsLiveWriter/ProblmeaveclesBuildsdeTFS2010RCaprsmisjo_7FCE/image_4.png">
            <img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://benoitlaut.net/content/binary/WindowsLiveWriter/ProblmeaveclesBuildsdeTFS2010RCaprsmisjo_7FCE/image_thumb_1.png" width="516" height="245" />
          </a>
        </p>
        <p>
Une fois trouvé, il suffit de la sélectionner et d’afficher les propriétés. Dans les
propriétés rechercher la propriété ToolPath :
</p>
        <p>
          <a href="http://benoitlaut.net/content/binary/WindowsLiveWriter/ProblmeaveclesBuildsdeTFS2010RCaprsmisjo_7FCE/image_6.png">
            <img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://benoitlaut.net/content/binary/WindowsLiveWriter/ProblmeaveclesBuildsdeTFS2010RCaprsmisjo_7FCE/image_thumb_2.png" width="650" height="419" />
          </a>
        </p>
        <p>
Editer la propriété afin de pointer sur la bonne version du framework, à savoir la
v4.0.30128 :
</p>
        <p>
          <a href="http://benoitlaut.net/content/binary/WindowsLiveWriter/ProblmeaveclesBuildsdeTFS2010RCaprsmisjo_7FCE/image_8.png">
            <img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://benoitlaut.net/content/binary/WindowsLiveWriter/ProblmeaveclesBuildsdeTFS2010RCaprsmisjo_7FCE/image_thumb_3.png" width="413" height="195" />
          </a>
        </p>
        <p>
Recommencer cette opération en recherchant la 2ème activité de type MSBuild et mettre
à jour la propriété ToolPath.
</p>
        <p>
          <a href="http://benoitlaut.net/content/binary/WindowsLiveWriter/ProblmeaveclesBuildsdeTFS2010RCaprsmisjo_7FCE/image_10.png">
            <img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://benoitlaut.net/content/binary/WindowsLiveWriter/ProblmeaveclesBuildsdeTFS2010RCaprsmisjo_7FCE/image_thumb_4.png" width="536" height="649" />
          </a> 
</p>
        <p>
 
</p>
        <p>
Et voilà le tour est joué! Un petit checkin sur le fichier DefaultTemplate.xaml et
c’est fini. Pour le vérifier, il suffit de relancer la Build et de constater que l’erreur
a disparu.
</p>
        <p>
Si seulement tout pouvait être aussi simple dans la vie…
</p>
        <img width="0" height="0" src="http://benoitlaut.net/aggbug.ashx?id=31dc906e-278f-4b17-9620-97deb967a71c" />
      </body>
      <title>Problème avec les Builds de TFS 2010 RC après mise à jour depuis la Beta 2</title>
      <guid isPermaLink="false">http://benoitlaut.net/PermaLink,guid,31dc906e-278f-4b17-9620-97deb967a71c.aspx</guid>
      <link>http://benoitlaut.net/2010/03/29/Probl%c3%a8meAvecLesBuildsDeTFS2010RCApr%c3%a8sMise%c3%80JourDepuisLaBeta2.aspx</link>
      <pubDate>Mon, 29 Mar 2010 07:05:30 GMT</pubDate>
      <description>&lt;p&gt;
Ce weekend je me suis attelé à l’un de mes projets perso que j’avais, il y a quelques
temps, migré vers un TFS 2010 Beta 2. Depuis mon passage sur la RC je n’avais pas
encore remis le nez dedans et ce weekend je me suis aperçu qu’une erreur survenait
lors de l’exécution des builds.
&lt;/p&gt;
&lt;p&gt;
Voici le détail de l’erreur : &lt;em&gt;File not found: C:\Windows\Microsoft.NET\Framework\v4.0.21006\MSBuild.exe&lt;/em&gt;
&lt;/p&gt;
&lt;p&gt;
L’erreur est assez parlante et facile à vérifier. J’ouvre un windows explorer et effectivement
le répertoire v4.0.21006 n’existe plus, puisqu’il correspond au numéro de version
du framework .Net 4.0 Beta 2. La version RC quant à elle a le numéro v4.0.30128.
&lt;/p&gt;
&lt;p&gt;
Il suffit donc de modifier ce numéro de version quelque part dans la définition des
Builds… Après quelques recherches sur le web, je tombe sur le blog de &lt;a href="http://tomasscott.wordpress.com/2010/02/11/solving-build-problems-after-upgrading-from-beta2-to-rc/" target="_blank"&gt;Tomas
Scott&lt;/a&gt; qui indique qu’il suffit de recréer une nouvelle collection et un nouveau
projet. Cette nouvelle collection se basera sur les templates de Build de la version
RC, qui eux pointerons vers le bon chemin du framework. Vous pouvez ensuite récupérer
ces templates et les remplacer par vos anciens.
&lt;/p&gt;
&lt;p&gt;
C’est en effet une solution simple et pratique… Sauf que moi je suis encore plus fainéant
que ça, il me fallait donc une autre solution. Si ce sont les templates qui merde,
alors autant chercher dans ces templates le chemin de MSBuild.exe et le remplacer
par le nouveau. Ou se trouve ce fameux template ? Dans le source control du Team Project,
à la racine, il y a un répertoire &lt;em&gt;BuildProcess Template&lt;/em&gt; dans lequel on trouve
le template DefaultTemplate.xaml.
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://benoitlaut.net/content/binary/WindowsLiveWriter/ProblmeaveclesBuildsdeTFS2010RCaprsmisjo_7FCE/image_2.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://benoitlaut.net/content/binary/WindowsLiveWriter/ProblmeaveclesBuildsdeTFS2010RCaprsmisjo_7FCE/image_thumb.png" width="645" height="287"&gt;&lt;/a&gt; 
&lt;/p&gt;
&lt;p&gt;
2 possibilités pour le modifier : en mode notepad ou en mode designer de workflow.
Si vous le faites en mode je suis un killer je le fais avec notepad, rien de plus
simple : faites une recherche de la chaine v4.0.21006 puis remplacer la par v4.0.30128.
Vous devriez normalement trouver 2 occurrences.
&lt;/p&gt;
&lt;p&gt;
Nous allons ici ouvrir le fichier dans le designer de workflow. Après double clic
sur le fichier, un joli designer s’ouvre et vous permet d’éditer le template du workflow
des builds. Si vous l’étudiez un peu, vous retrouverez les étapes que vous voyez passer
lorsque vous lancer une build. Il vous faut rechercher l’activité de type MSBuild, &lt;em&gt;Run
MSBuild for Project,&lt;/em&gt; comme indiqué ci-dessous :
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://benoitlaut.net/content/binary/WindowsLiveWriter/ProblmeaveclesBuildsdeTFS2010RCaprsmisjo_7FCE/image_4.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://benoitlaut.net/content/binary/WindowsLiveWriter/ProblmeaveclesBuildsdeTFS2010RCaprsmisjo_7FCE/image_thumb_1.png" width="516" height="245"&gt;&lt;/a&gt; 
&lt;/p&gt;
&lt;p&gt;
Une fois trouvé, il suffit de la sélectionner et d’afficher les propriétés. Dans les
propriétés rechercher la propriété ToolPath :
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://benoitlaut.net/content/binary/WindowsLiveWriter/ProblmeaveclesBuildsdeTFS2010RCaprsmisjo_7FCE/image_6.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://benoitlaut.net/content/binary/WindowsLiveWriter/ProblmeaveclesBuildsdeTFS2010RCaprsmisjo_7FCE/image_thumb_2.png" width="650" height="419"&gt;&lt;/a&gt; 
&lt;/p&gt;
&lt;p&gt;
Editer la propriété afin de pointer sur la bonne version du framework, à savoir la
v4.0.30128 :
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://benoitlaut.net/content/binary/WindowsLiveWriter/ProblmeaveclesBuildsdeTFS2010RCaprsmisjo_7FCE/image_8.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://benoitlaut.net/content/binary/WindowsLiveWriter/ProblmeaveclesBuildsdeTFS2010RCaprsmisjo_7FCE/image_thumb_3.png" width="413" height="195"&gt;&lt;/a&gt; 
&lt;/p&gt;
&lt;p&gt;
Recommencer cette opération en recherchant la 2ème activité de type MSBuild et mettre
à jour la propriété ToolPath.
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://benoitlaut.net/content/binary/WindowsLiveWriter/ProblmeaveclesBuildsdeTFS2010RCaprsmisjo_7FCE/image_10.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://benoitlaut.net/content/binary/WindowsLiveWriter/ProblmeaveclesBuildsdeTFS2010RCaprsmisjo_7FCE/image_thumb_4.png" width="536" height="649"&gt;&lt;/a&gt;&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
Et voilà le tour est joué! Un petit checkin sur le fichier DefaultTemplate.xaml et
c’est fini. Pour le vérifier, il suffit de relancer la Build et de constater que l’erreur
a disparu.
&lt;/p&gt;
&lt;p&gt;
Si seulement tout pouvait être aussi simple dans la vie…
&lt;/p&gt;
&lt;img width="0" height="0" src="http://benoitlaut.net/aggbug.ashx?id=31dc906e-278f-4b17-9620-97deb967a71c" /&gt;</description>
      <comments>http://benoitlaut.net/CommentView,guid,31dc906e-278f-4b17-9620-97deb967a71c.aspx</comments>
      <category>MSBuild</category>
      <category>TFS</category>
    </item>
    <item>
      <guid isPermaLink="false">tag:blogger.com,1999:blog-5619051591853320584.post-4618716879920034760</guid>
      <pubDate>Fri, 26 Mar 2010 12:38:00 +0000</pubDate>
      <updated xmlns="http://www.w3.org/2005/Atom">2010-03-27T14:54:00.006+01:00</updated>
      <title>[BDC2010] Venez rencontrer Hyper D, notre super héros admin réseau</title>
      <description>&lt;p&gt;Cher ami, lecteur assidu de mon blog, tu sais déjà que la &lt;a href="http://bdc2010.bewise.fr/?f=A56BC4FC-9B40-4e60-A8D5-B188D54819BC"&gt;Bewise Day Conference&lt;/a&gt; aura lieu le 1er avril prochain à Toulouse… Mais malheureusement, pour une raison qui m’échappe, tu ne t’es peut-être pas encore inscrit.&lt;/p&gt;  &lt;p&gt;C’est vraiment dommage, puisque la BDC sera pour toi une occasion unique de rencontrer Hyper D, notre super héros admin réseau ! Voici un petit aperçu de ses pouvoirs :&lt;/p&gt; &lt;object width="480" height="385"&gt;&lt;param name="movie" value="http://www.youtube.com/v/KPecQKsvpF8&amp;amp;hl=fr_FR&amp;amp;fs=1&amp;amp;rel=0"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;embed src="http://www.youtube.com/v/KPecQKsvpF8&amp;amp;hl=fr_FR&amp;amp;fs=1&amp;amp;rel=0" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="385"&gt;&lt;/embed&gt;&lt;/object&gt;  &lt;p&gt;Si tu veux savoir comment notre admin réseau arrive faire plusieurs choses à la fois, viens découvrir la virtualisation avec Hyper-V à &lt;a href="http://bdc2010.bewise.fr/?f=A56BC4FC-9B40-4e60-A8D5-B188D54819BC"&gt;la BDC 2010&lt;/a&gt; !&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5619051591853320584-4618716879920034760?l=blog.adhess.net' alt='' /&gt;&lt;/div&gt;</description>
      <link>http://blog.adhess.net/2010/03/bdc2010-venez-rencontrer-hyper-d-notre.html</link>
      <author>noreply@blogger.com (Guillaume Lacasa)</author>
      <total xmlns="http://purl.org/syndication/thread/1.0">0</total>
    </item>
    <item>
      <ping xmlns="http://madskills.com/public/xml/rss/module/trackback/">http://benoitlaut.net/Trackback.aspx?guid=bc21834d-31bd-473a-806d-dc927c3ded19</ping>
      <server xmlns="http://madskills.com/public/xml/rss/module/pingback/">http://benoitlaut.net/pingback.aspx</server>
      <target xmlns="http://madskills.com/public/xml/rss/module/pingback/">http://benoitlaut.net/PermaLink,guid,bc21834d-31bd-473a-806d-dc927c3ded19.aspx</target>
      <creator xmlns="http://purl.org/dc/elements/1.1/">Benoît Laut</creator>
      <comment xmlns="http://wellformedweb.org/CommentAPI/">http://benoitlaut.net/CommentView,guid,bc21834d-31bd-473a-806d-dc927c3ded19.aspx</comment>
      <commentRss xmlns="http://wellformedweb.org/CommentAPI/">http://benoitlaut.net/SyndicationService.asmx/GetEntryCommentsRss?guid=bc21834d-31bd-473a-806d-dc927c3ded19</commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <table border="0" cellspacing="0" cellpadding="2" width="100%">
          <tbody>
            <tr>
              <td valign="top">
                <object width="480" height="385">
                  <param name="movie" value="http://www.youtube.com/v/KPecQKsvpF8&amp;hl=fr_FR&amp;fs=1&amp;rel=0" />
                  <param name="allowFullScreen" value="true" />
                  <param name="allowscriptaccess" value="always" />
                  <embed src="http://www.youtube.com/v/KPecQKsvpF8&amp;hl=fr_FR&amp;fs=1&amp;rel=0" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="385"></embed>
                </object>
              </td>
              <td valign="top">
                <a href="http://bdc2010.bewise.fr/?f=A56BC4FC-9B40-4e60-A8D5-B188D54819BC" target="_blank">La
Bewise Day Conference</a> approche à grand pas et promet d’être un grand cru. Si vous
n’êtes pas encore inscrit n’hésitez plus et venez découvrir ce que Bewise et Microsoft
vous réservent pour l’année 2010. 
<br /><br />
En ces jours de préparation à cet événement, nous n’hésitons pas à utiliser nos supers
pouvoirs. Découvrez l’ambiance qui règne actuellement dans nos locaux grâce à <a href="http://blog.christophermaneu.fr/" target="_blank">Christopher</a> qui
a réussi à capturer Hyper-D en pleine action.<br />
 </td>
            </tr>
          </tbody>
        </table>
        <img width="0" height="0" src="http://benoitlaut.net/aggbug.ashx?id=bc21834d-31bd-473a-806d-dc927c3ded19" />
      </body>
      <title>BDC 2010 : Les pouvoirs d’Hyper-D</title>
      <guid isPermaLink="false">http://benoitlaut.net/PermaLink,guid,bc21834d-31bd-473a-806d-dc927c3ded19.aspx</guid>
      <link>http://benoitlaut.net/2010/03/26/BDC2010LesPouvoirsDHyperD.aspx</link>
      <pubDate>Fri, 26 Mar 2010 07:55:54 GMT</pubDate>
      <description>&lt;table border="0" cellspacing="0" cellpadding="2" width="100%"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td valign="top"&gt;
&lt;object width="480" height="385"&gt;
&lt;param name="movie" value="http://www.youtube.com/v/KPecQKsvpF8&amp;amp;hl=fr_FR&amp;amp;fs=1&amp;amp;rel=0"&gt;&gt;
&lt;param name="allowFullScreen" value="true"&gt;&gt;
&lt;param name="allowscriptaccess" value="always"&gt;&gt;&lt;embed src="http://www.youtube.com/v/KPecQKsvpF8&amp;amp;hl=fr_FR&amp;amp;fs=1&amp;amp;rel=0" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="385"&gt;&lt;/embed&gt;
&lt;/object&gt;&lt;/td&gt;
&lt;td valign="top"&gt;
&lt;a href="http://bdc2010.bewise.fr/?f=A56BC4FC-9B40-4e60-A8D5-B188D54819BC" target="_blank"&gt;La
Bewise Day Conference&lt;/a&gt; approche à grand pas et promet d’être un grand cru. Si vous
n’êtes pas encore inscrit n’hésitez plus et venez découvrir ce que Bewise et Microsoft
vous réservent pour l’année 2010. 
&lt;br&gt;
&lt;br&gt;
En ces jours de préparation à cet événement, nous n’hésitons pas à utiliser nos supers
pouvoirs. Découvrez l’ambiance qui règne actuellement dans nos locaux grâce à &lt;a href="http://blog.christophermaneu.fr/" target="_blank"&gt;Christopher&lt;/a&gt; qui
a réussi à capturer Hyper-D en pleine action.&lt;br&gt;
&amp;nbsp;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;img width="0" height="0" src="http://benoitlaut.net/aggbug.ashx?id=bc21834d-31bd-473a-806d-dc927c3ded19" /&gt;</description>
      <comments>http://benoitlaut.net/CommentView,guid,bc21834d-31bd-473a-806d-dc927c3ded19.aspx</comments>
      <category>BDC 2010</category>
    </item>
    <item>
      <guid isPermaLink="false">28</guid>
      <link>http://feedproxy.google.com/~r/PaslatekBlog/~3/ZQxTi0D1Rac/transformer-une-application-console-en-projet-de-test-unitaires-20100325-28.aspx</link>
      <author>lionel.limozin@bewise.fr</author>
      <title>Transformer une application console en projet de test unitaires</title>
      <description>&lt;p&gt;Le scénario est le suivant: Vous développez un outil sous forme d’une librairie de classe (ou plusieurs) et vous avez, pour des raison de rapidité au démarrage, crée un projet console pour réaliser quelques appels sur vos classes pour les tester / commencer le debug. Et finalement vous vous dites, plutôt qu’une appli console, un projet de test unitaire serait bien mieux pour faire ça ! Que faire alors, créer un nouveau projet de test unitaire et copier / coller le code, en l’adaptant bien sûr pour que ça tourne dans un test unitaire, ou bien transformer le projet console ?&lt;/p&gt;  &lt;p&gt;La transformation du type de projet est assez simple et c’est la solution que je vous propose. Bien sûr le code de test que vous avez sans doute fait dans la classe Program de cette appli de test devra tout de même être réécrit sous forme d’une classe de test unitaire. Mais déjà ma solution vous evitera de créer un projet supplémentaire, c’est du recyclage ! :)&lt;/p&gt;  &lt;p&gt;Pour cette transformation, il faut 3 actions :&lt;/p&gt;  &lt;p&gt;1 - modifiez les propriétés du projet console pour sélectionner comme type de sortie “Class Library” au lieu de “Console Application”&lt;/p&gt;  &lt;p&gt;2- Ajoutez la référence sur “Microsoft.VisualStudio.QualityTools.UnitTestFramework”&lt;/p&gt;  &lt;p&gt;3- Dans l’explorateur de solution, faites un click droite sur le projet / décharger, puis click droit encore et “edit csproj”. Dans le xml qu’il vous affiche, il faut ajouter un nœud ”ProjectTypeGuids” pour que visual studio nous autorise à ajouter des éléments relatifs au type de projet de test. ce nœud est à ajouter dans le premier élément “PropertyGroup” de votre csproj&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&amp;lt;ProjectTypeGuids&amp;gt;{3AC096D0-A1C2-E12C-1390-A8335801FDAB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}&amp;lt;/ProjectTypeGuids&amp;gt; &lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Et voilà vous pouvez maintenant recharger le projet (click droit / reload) et vous pouvez ajouter un nouvel élément de type test unitaire pour y recoller votre code de test (avec quelques ASSERT en supplément très certainement ;) )&lt;/p&gt;</description>
      <pubDate>Thu, 25 Mar 2010 09:23:42 +0100</pubDate>
      <updated xmlns="http://www.w3.org/2005/Atom">2010-03-25T09:23:42+01:00</updated>
      <origLink xmlns="http://rssnamespace.org/feedburner/ext/1.0">http://www.paslatek.net/transformer-une-application-console-en-projet-de-test-unitaires-20100325-28.aspx</origLink>
    </item>
    <item>
      <guid isPermaLink="false">tag:blogger.com,1999:blog-5619051591853320584.post-633486956248139696</guid>
      <pubDate>Wed, 17 Mar 2010 11:14:00 +0000</pubDate>
      <updated xmlns="http://www.w3.org/2005/Atom">2010-03-17T12:26:08.340+01:00</updated>
      <category domain="http://www.blogger.com/atom/ns#">CSS</category>
      <category domain="http://www.blogger.com/atom/ns#">HTML</category>
      <title>La manière propre de faire des roll-over en html/css</title>
      <description>&lt;p&gt;Aujourd’hui, on va faire du html, et du css. Pas d’asp, pas de JavaScript, on fait du web pur et dur. Je vous propose de faire un effet de roll-over sur une image.&lt;/p&gt;  &lt;p&gt;Alors je vous entend tous râler, comme quoi c’est trop simple, qu’on a 10000 codes sources qui fonctionnent sur Google, et que je vous avais habitué à mieux. Certes, on a des codes sources qui fonctionnent, mais ils ne sont pas toujours très propres… Comme j’ai dis en introduction, on va faire ici un roll-over uniquement avec du css, pas de javascript. Et petit bonus, ma technique va éviter un problème qu’on rencontre souvent sur des images en roll-over : pas besoin d’attendre que la souris passe sur l’image pour charger la seconde image.&lt;/p&gt;  &lt;p&gt;Mais fini de papoter, voyons comment faire :&lt;/p&gt;  &lt;p&gt;Pour commencer, il me faut mes deux images : celle affichée normalement, et celle affichée lorsque la souris passera dessus. Et attention, c’est là qu’est toute l’astuce, on va mettre le 2 dans un seul fichier image, comme ça :&lt;/p&gt;  &lt;p&gt;&lt;img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="rollover" border="0" alt="rollover" src="http://lh5.ggpht.com/_1fIQLbpqRAw/S6C5oKzkR6I/AAAAAAAAByc/yVvuI4eIU90/rollover%5B9%5D.png?imgmax=800" width="80" height="100" /&gt; &lt;/p&gt;  &lt;p&gt;(je n’accepterai aucune remarque sur le bon goût de mes images, et je rappelle que je n’ai jamais prétendu être designer ;)&lt;/p&gt;  &lt;p&gt;Maintenant, on va afficher ça dans notre page. D’un point de vue HTML, on va tout simplement faire un lien (pas de balise &amp;lt;img&amp;gt; ici) :&lt;/p&gt;  &lt;div style="border-bottom: #000000 1px solid; border-left: #000000 1px solid; margin-left: 10pt; border-top: #000000 1px solid; margin-right: 2pt; border-right: #000000 1px solid"&gt;   &lt;div style="background-color: #dcdcdc; white-space: nowrap; overflow: scroll"&gt;&lt;font face=" Courier New"&gt;&lt;font size="2"&gt;&lt;/font&gt;&lt;font color="#0000ff"&gt;&amp;lt;&lt;/font&gt;&lt;font color="#a31515"&gt;a&lt;/font&gt;&lt;font color="#000000"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#ff0000"&gt;class&lt;/font&gt;&lt;font color="#0000ff"&gt;=&amp;quot;rolloverLink&amp;quot;&lt;/font&gt;&lt;font color="#000000"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#ff0000"&gt;href&lt;/font&gt;&lt;font color="#0000ff"&gt;=&amp;quot;journuit.html&amp;quot;&amp;gt;          &lt;br /&gt;&lt;/font&gt;&lt;font color="#000000"&gt;&amp;#160;&amp;#160;&amp;#160; aller vers la page jour / nuit&lt;/font&gt;&lt;font color="#0000ff"&gt;&amp;lt;/&lt;/font&gt;&lt;font color="#a31515"&gt;a&lt;/font&gt;&lt;font color="#0000ff"&gt;&amp;gt;&lt;/font&gt;&lt;/font&gt; &lt;/div&gt; &lt;/div&gt;  &lt;p&gt;Et on va afficher notre image à l’aide de CSS. Pour ça, on a plusieurs étapes :&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Faire passer le lien en affichage de type block, et définir sa taille de manière à n’afficher que la moitié de notre fichier image. &lt;/li&gt;    &lt;li&gt;Mettre l’image en fond, et l’aligner en haut. &lt;/li&gt;    &lt;li&gt;Sur le hover, changer l’alignement pour qu’on voie l’autre moitié de l’image. &lt;/li&gt;    &lt;li&gt;Et pour ne pas qu’on voie le texte, on va le décaler loin en dehors de la page. Notez qu’il est tout de même important de laisser un texte pour des raisons d’accessibilité (pensez aux mal-voyants qui utilisent des navigateurs spécifiques) &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;On a donc notre CSS :&lt;/p&gt;  &lt;div style="border-bottom: #000000 1px solid; border-left: #000000 1px solid; margin-left: 10pt; border-top: #000000 1px solid; margin-right: 2pt; border-right: #000000 1px solid"&gt;   &lt;div style="background-color: #dcdcdc; white-space: nowrap; overflow: scroll"&gt;&lt;font face=" Courier New"&gt;&lt;font size="2"&gt;&lt;/font&gt;&lt;font color="#a31515"&gt;a.rolloverLink&lt;/font&gt;&lt;font color="#000000"&gt;&amp;#160; &lt;br /&gt;{           &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#ff0000"&gt;text-indent&lt;/font&gt;&lt;font color="#000000"&gt;:&lt;/font&gt;&lt;font color="#0000ff"&gt;-10000px&lt;/font&gt;&lt;font color="#000000"&gt;;          &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#ff0000"&gt;display&lt;/font&gt;&lt;font color="#000000"&gt;:&lt;/font&gt;&lt;font color="#0000ff"&gt;block&lt;/font&gt;&lt;font color="#000000"&gt;;          &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#ff0000"&gt;width&lt;/font&gt;&lt;font color="#000000"&gt;:&lt;/font&gt;&lt;font color="#0000ff"&gt;80px&lt;/font&gt;&lt;font color="#000000"&gt;;          &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#ff0000"&gt;height&lt;/font&gt;&lt;font color="#000000"&gt;:&lt;/font&gt;&lt;font color="#0000ff"&gt;50px&lt;/font&gt;&lt;font color="#000000"&gt;;          &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#ff0000"&gt;background-image&lt;/font&gt;&lt;font color="#000000"&gt;:&lt;/font&gt;&lt;font color="#0000ff"&gt;url('rollover.png')&lt;/font&gt;&lt;font color="#000000"&gt;;          &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#ff0000"&gt;background-position&lt;/font&gt;&lt;font color="#000000"&gt;:&lt;/font&gt;&lt;font color="#0000ff"&gt;top&lt;/font&gt;&lt;font color="#000000"&gt;;          &lt;br /&gt;}           &lt;br /&gt;          &lt;br /&gt;&lt;/font&gt;&lt;font color="#a31515"&gt;a.rolloverLink:hover          &lt;br /&gt;&lt;/font&gt;&lt;font color="#000000"&gt;{          &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#ff0000"&gt;background-position&lt;/font&gt;&lt;font color="#000000"&gt;: &lt;/font&gt;&lt;font color="#0000ff"&gt;bottom&lt;/font&gt;&lt;font color="#000000"&gt;;          &lt;br /&gt;}&lt;/font&gt;&lt;/font&gt; &lt;/div&gt; &lt;/div&gt;  &lt;p&gt;Ce qui nous donne le résultat suivant :&lt;/p&gt;  &lt;p align="center"&gt;&lt;a class="rolloverLink" href="javascript:void(0)"&gt;aller vers la page jour / nuit&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Un grand merci à Jocelyn, responsable du domaine métier SWA (Solutions Web Avancées) chez Bewise, pour l’astuce ! &lt;/p&gt;  &lt;p&gt;Au passage, je vous rappelle que vous pourrez nous retrouver tous les deux, ainsi que toute l’équipe de Bewise et de Vertice, le 1er avril prochain lors de &lt;a href="http://bdc2010.bewise.fr/?f=A56BC4FC-9B40-4e60-A8D5-B188D54819BC"&gt;la Bewise Day Conference&lt;/a&gt;. N’hésitez pas à vous inscrire.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5619051591853320584-633486956248139696?l=blog.adhess.net' alt='' /&gt;&lt;/div&gt;</description>
      <link>http://blog.adhess.net/2010/03/la-maniere-propre-de-faire-des-roll.html</link>
      <author>noreply@blogger.com (Guillaume Lacasa)</author>
      <total xmlns="http://purl.org/syndication/thread/1.0">1</total>
    </item>
    <item>
      <title>MIX10 – Le bilan de la seconde journée</title>
      <link>http://blog.christophermaneu.fr/2010/03/mix10-le-bilan-de-la-seconde-journe/</link>
      <comments>http://blog.christophermaneu.fr/2010/03/mix10-le-bilan-de-la-seconde-journe/#comments</comments>
      <pubDate>Wed, 17 Mar 2010 08:18:47 +0000</pubDate>
      <creator xmlns="http://purl.org/dc/elements/1.1/">Chris</creator>
      <category><![CDATA[.Net]]></category>
      <category><![CDATA[Development]]></category>
      <category><![CDATA[Internet]]></category>
      <category><![CDATA[MSP Voice]]></category>
      <category><![CDATA[MIX]]></category>
      <category><![CDATA[MIX10]]></category>
      <category><![CDATA[MSP]]></category>
      <category><![CDATA[MSPVoice]]></category>
      <guid isPermaLink="false">http://blog.christophermaneu.fr/2010/03/mix10-le-bilan-de-la-seconde-journe/</guid>
      <description><![CDATA[La seconde journée du MIX10 est presque achevée (mais la soirée des attendees ne fera pas l’objet d’un post :) ). Après le résumé de la seconde keynote, voici un résumé de cette seconde journée. MIX &#8211; Day 2 from Christopher Maneu on Vimeo. Développer des applications Sliverlight pour Windows Phone L’objectif des équipes de [...]]]></description>
      <encoded xmlns="http://purl.org/rss/1.0/modules/content/"><![CDATA[<p>La seconde journée du MIX10 est presque achevée (mais la soirée des <em>attendees</em> ne fera pas l’objet d’un post :) ). Après le <a href="http://blog.christophermaneu.fr/2010/03/mix10-le-rsum-de-la-keynote-jour-2/">résumé de la seconde keynote</a>, voici un résumé de cette seconde journée.</p>
<p align="center"><object width="500" height="281"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=10227076&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=00ADEF&amp;fullscreen=1" /><embed src="http://vimeo.com/moogaloop.swf?clip_id=10227076&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=00ADEF&amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="500" height="281"></embed></object></p>
<p align="center"><a href="http://vimeo.com/10227076">MIX &#8211; Day 2</a> from <a href="http://vimeo.com/cmaneu">Christopher Maneu</a> on <a href="http://vimeo.com">Vimeo</a>.</p>
</p>
<h2>Développer des applications Sliverlight pour Windows Phone</h2>
<p>L’objectif des équipes de développement est clair : faire en sorte que ce que les développeurs ont appris lors des développements silverlight puisse être réinvesti au maximum.</p>
<p>Ces deux sessions ont permis de rentrer plus en détails dans de nombreux sujets tels que l’Input/output, le web browser, l’intégration des applications avec l’OS ou encore les services connectés. Il y a plein de choses à dire sur ces sujets, mais j’y reviendrai plus en détail dans des posts à venir.</p>
<p>&#160;</p>
<h2>Les performances de Silverlight</h2>
<p>Les choses sont claires, notamment grâce à l’iPhone, les gens sont habitués à avoir des applications réactives et fluides. C’est devenu de facto un critère essentiel du développement mobile (même si rien ne vous empêche de l’appliquer au développement “classique” ;)</p>
<p>Seema Ramchandani, qui a quitté l’équipe WPF pour rejoindre l’équipe Silverlight, travaille sur l’optimisation des performances de Silverlight pour Windows Phone. Cette session est un recueil de conseils et de démonstrations intéressantes, mais nécessitant de bonnes connaissances de Silverlight, voire des technologies sous-jacentes (Boucles de rendu, thread UI, thread Rendering, YUV ne sont pas des notions comprises de tous).</p>
<p>&#160;</p>
<h2>Et demain ?</h2>
<p> Pas de keynote pour demain, par contre, le plein de sessions technique mais cette fois abordant le développement XNA sur Windows Phone. Le résumé de cette dernière journée et le bilan du MIX10 se fera certainement ce week-end, en raison du vol retour qui nous attend. Stay tunned !   </p>]]></encoded>
      <commentRss xmlns="http://wellformedweb.org/CommentAPI/">http://blog.christophermaneu.fr/2010/03/mix10-le-bilan-de-la-seconde-journe/feed/</commentRss>
      <comments xmlns="http://purl.org/rss/1.0/modules/slash/">0</comments>
    </item>
    <item>
      <title>[WindowsPhone7] Lecteur de flux RSS</title>
      <link>http://blogs.developpeur.org/vko/archive/2010/03/15/windowsmobile7-lecteur-de-flux-rss.aspx</link>
      <pubDate>Mon, 15 Mar 2010 22:37:41 GMT</pubDate>
      <guid isPermaLink="false">7d6e5d3c-61cc-4264-bc3a-a336023fcec4:48129</guid>
      <creator xmlns="http://purl.org/dc/elements/1.1/">Vko</creator>
      <comments xmlns="http://purl.org/rss/1.0/modules/slash/">0</comments>
      <comments>http://blogs.developpeur.org/vko/comments/48129.aspx</comments>
      <commentRss xmlns="http://wellformedweb.org/CommentAPI/">http://blogs.developpeur.org/vko/commentrss.aspx?PostID=48129</commentRss>
      <description>
  Parce que j’aime pas tester à moitié, je me suis amusé à développer un petit lecteur de flux RSS avec un look qui vous rappellera surement quelque chose :)     La RC de Visual Studio est plutôt molle mais fonctionne correctement.   L’émulateur est pas...&lt;img src="http://blogs.developpeur.org/aggbug.aspx?PostID=48129" width="1" height="1"&gt;</description>
    </item>
    <item>
      <title>[WindowPhone7] Premiers pas</title>
      <link>http://blogs.developpeur.org/vko/archive/2010/03/15/windowphone7-premiers-pas.aspx</link>
      <pubDate>Mon, 15 Mar 2010 19:59:22 GMT</pubDate>
      <guid isPermaLink="false">7d6e5d3c-61cc-4264-bc3a-a336023fcec4:48124</guid>
      <creator xmlns="http://purl.org/dc/elements/1.1/">Vko</creator>
      <comments xmlns="http://purl.org/rss/1.0/modules/slash/">0</comments>
      <comments>http://blogs.developpeur.org/vko/comments/48124.aspx</comments>
      <commentRss xmlns="http://wellformedweb.org/CommentAPI/">http://blogs.developpeur.org/vko/commentrss.aspx?PostID=48124</commentRss>
      <description>
  Hop voici les premiers pas avec les outils de développement pour Windows Phone 7.  Premier changement suite à l’installation des outils : les type de projets pour la plateforme Windows Phone 7. Les projets se découpent en deux groupes :     Les projet...&lt;img src="http://blogs.developpeur.org/aggbug.aspx?PostID=48124" width="1" height="1"&gt;</description>
    </item>
    <item>
      <title>Windows Mobile 7 – Silverlight + XNA !</title>
      <link>http://blogs.developpeur.org/vko/archive/2010/03/05/windows-mobile-7-silverlight-xna.aspx</link>
      <pubDate>Fri, 05 Mar 2010 19:21:35 GMT</pubDate>
      <guid isPermaLink="false">7d6e5d3c-61cc-4264-bc3a-a336023fcec4:48068</guid>
      <creator xmlns="http://purl.org/dc/elements/1.1/">Vko</creator>
      <comments xmlns="http://purl.org/rss/1.0/modules/slash/">0</comments>
      <comments>http://blogs.developpeur.org/vko/comments/48068.aspx</comments>
      <commentRss xmlns="http://wellformedweb.org/CommentAPI/">http://blogs.developpeur.org/vko/commentrss.aspx?PostID=48068</commentRss>
      <description>
  L’actualité Windows Mobile est très active depuis la Mobile World Confress 2010 à Barcelone. (Contrairement à mes posts depuis le début de l’année)  Tout commence le 15 février avec l’annonce de Steeve Ballmer de Windows Phone 7 Series :     “Today, I...&lt;img src="http://blogs.developpeur.org/aggbug.aspx?PostID=48068" width="1" height="1"&gt;</description>
    </item>
    <item>
      <guid isPermaLink="false">27</guid>
      <link>http://feedproxy.google.com/~r/PaslatekBlog/~3/Um7VNlRFkcU/en-avant-pour-la-bewise-day-conference-2010-20100304-27.aspx</link>
      <author>lionel.limozin@bewise.fr</author>
      <title>En avant pour la Bewise Day Conference 2010 !</title>
      <description>&lt;p&gt;A la demande générale, la Bewise Day Conference est de retour pour une 4ème édition ! Encore une fois, venez découvrir ce qui se fait de mieux dans les technologies Microsoft.   &lt;br /&gt;Cette année, beaucoup de nouveautés, puisque Microsoft lance la gamme 2010 de ses produits, notamment Visual Studio, SharePoint, mais lance aussi la version 4 de son Framework .net, MVC 2, Azure, et bien d’autres choses.    &lt;br /&gt;&lt;a href="http://bdc2010.bewise.fr?f=A56BC4FC-9B40-4e60-A8D5-B188D54819BC"&gt;&lt;img style="display: block; float: none; margin-left: auto; margin-right: auto" border="0" alt="BDC 2009" src="http://www.bewise.fr/fr-FR/PublishingImages/anim_bdc%202010.jpg" /&gt;&lt;/a&gt;    &lt;br /&gt;Je vous donne donc rendez-vous au stade Ernest Wallon, pour vous présenter nos expériences SharePoint, dans sa version &lt;strong&gt;2007&lt;/strong&gt; et &lt;strong&gt;2010&lt;/strong&gt;.     &lt;br /&gt;Pour les inscriptions, rendez-vous sur &lt;a href="http://bdc2010.bewise.fr?f=A56BC4FC-9B40-4e60-A8D5-B188D54819BC"&gt;le site officiel de la BDC 2010&lt;/a&gt;.&lt;/p&gt;</description>
      <pubDate>Thu, 04 Mar 2010 08:40:28 +0100</pubDate>
      <updated xmlns="http://www.w3.org/2005/Atom">2010-03-04T08:40:28+01:00</updated>
      <origLink xmlns="http://rssnamespace.org/feedburner/ext/1.0">http://www.paslatek.net/en-avant-pour-la-bewise-day-conference-2010-20100304-27.aspx</origLink>
    </item>
    <item>
      <title>BDC 2010 – C’est reparti!</title>
      <description>&lt;p&gt;A la demande générale, la Bewise Day Conference est de retour pour une 4ème édition ! Encore une fois, venez découvrir ce qui se fait de mieux dans les technologies Microsoft.&lt;/p&gt;  &lt;p&gt;Cette année, beaucoup de nouveautés, puisque Microsoft lance la gamme 2010 de ses produits, notamment Visual Studio, Sharepoint, mais aussi la version 4.0 de son framework .Net, MVC 2, Azure, Silverlight 4 et bien d’autres choses bien croustillantes.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://bdc2010.bewise.fr/?f=A56BC4FC-9B40-4e60-A8D5-B188D54819BC"&gt;&lt;img src="http://external.ak.fbcdn.net/safe_image.php?d=c6b78e733195358d64c1297cdaa261b8&amp;amp;url=http%3A%2F%2Fwww.bewise.fr%2Ffr-FR%2FPublishingImages%2Fanim_bdc%25202010.jpg" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;J’animerai les plénières cette année et je vous conseille d’y participer car vous y découvrirez le grand secret de Bewise :).&lt;/p&gt;  &lt;p&gt;Pour les inscriptions, rendez-vous sur &lt;a href="http://bdc2010.bewise.fr/?f=A56BC4FC-9B40-4e60-A8D5-B188D54819BC"&gt;le site officiel de la BDC 2010&lt;/a&gt;.&lt;/p&gt;
&lt;div class="addthis_toolbox addthis_default_style"  style="padding-top:10px" &gt;
&lt;a style="padding-right:10px" href="http://www.addthis.com/bookmark.php?v=250&amp;username=4a00fc5d6a261f84&amp;url=http%3a%2f%2fwww.catuhe.com%2fpost%2fBDC-2010-e28093-Ce28099est-reparti!.aspx&amp;title=BDC+2010+%e2%80%93+C%e2%80%99est+reparti!&amp;description="&gt;&lt;img src="http://s7.addthis.com/static/btn/v2/sm-bookmark-en.gif"  alt="Bookmark and Share" style="border:0"/&gt;&lt;/a&gt;
&lt;/div&gt;</description>
      <link>http://www.catuhe.com/post/BDC-2010-e28093-Ce28099est-reparti!.aspx</link>
      <author>kosh</author>
      <comments>http://www.catuhe.com/post/BDC-2010-e28093-Ce28099est-reparti!.aspx#comment</comments>
      <guid>http://www.catuhe.com/post.aspx?id=8a3551f4-195c-4a8a-8e06-981dac26fbdd</guid>
      <pubDate>Thu, 04 Mar 2010 07:57:54 +0300</pubDate>
      <category>Bewise</category>
      <category>.Net</category>
      <category>3D</category>
      <category>Silverlight</category>
      <category>Visual Studio</category>
      <category>Windows Forms</category>
      <category>Windows Mobile</category>
      <category>WPF</category>
      <publisher xmlns="http://purl.org/dc/elements/1.1/">kosh</publisher>
      <server xmlns="http://madskills.com/public/xml/rss/module/pingback/">http://www.catuhe.com/pingback.axd</server>
      <target xmlns="http://madskills.com/public/xml/rss/module/pingback/">http://www.catuhe.com/post.aspx?id=8a3551f4-195c-4a8a-8e06-981dac26fbdd</target>
      <comments xmlns="http://purl.org/rss/1.0/modules/slash/">0</comments>
      <ping xmlns="http://madskills.com/public/xml/rss/module/trackback/">http://www.catuhe.com/trackback.axd?id=8a3551f4-195c-4a8a-8e06-981dac26fbdd</ping>
      <comment xmlns="http://wellformedweb.org/CommentAPI/">http://www.catuhe.com/post/BDC-2010-e28093-Ce28099est-reparti!.aspx#comment</comment>
      <commentRss xmlns="http://wellformedweb.org/CommentAPI/">http://www.catuhe.com/syndication.axd?post=8a3551f4-195c-4a8a-8e06-981dac26fbdd</commentRss>
    </item>
    <item>
      <guid isPermaLink="false">tag:blogger.com,1999:blog-5619051591853320584.post-7802525142989137278</guid>
      <pubDate>Wed, 03 Mar 2010 11:22:00 +0000</pubDate>
      <updated xmlns="http://www.w3.org/2005/Atom">2010-03-03T12:22:15.250+01:00</updated>
      <title>En avant pour la Bewise Day Conference 2010 !</title>
      <description>&lt;p&gt;A la demande générale, la Bewise Day Conference est de retour pour une 4ème édition ! Encore une fois, venez découvrir ce qui se fait de mieux dans les technologies Microsoft.&lt;/p&gt;  &lt;p&gt;Cette année, beaucoup de nouveautés, puisque Microsoft lance la gamme 2010 de ses produits, notamment Visual Studio, Sharepoint, mais lance aussi la version 4 de son framework .net, MVC 2, Azure, et bien d’autres choses.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://bdc2010.bewise.fr?f=A56BC4FC-9B40-4e60-A8D5-B188D54819BC"&gt;&lt;img style="display: block; float: none; margin-left: auto; margin-right: auto" border="0" alt="BDC 2009" src="http://www.bewise.fr/fr-FR/PublishingImages/anim_bdc%202010.jpg" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Je vous donne donc rendez-vous au stade Ernest Wallon, pour vous présenter ASP.NET, dans sa version 4, ainsi que ASP.NET MVC, et jQuery. &lt;/p&gt;  &lt;p&gt;Pour les inscriptions, rendez-vous sur &lt;a href="http://bdc2010.bewise.fr?f=A56BC4FC-9B40-4e60-A8D5-B188D54819BC"&gt;le site officiel de la BDC 2010&lt;/a&gt;.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5619051591853320584-7802525142989137278?l=blog.adhess.net' alt='' /&gt;&lt;/div&gt;</description>
      <link>http://blog.adhess.net/2010/03/en-avant-pour-la-bewise-day-conference.html</link>
      <author>noreply@blogger.com (Guillaume Lacasa)</author>
      <total xmlns="http://purl.org/syndication/thread/1.0">0</total>
    </item>
    <item>
      <guid isPermaLink="false">tag:blogger.com,1999:blog-2661757067011288732.post-134851877760815219</guid>
      <pubDate>Mon, 15 Feb 2010 14:54:00 +0000</pubDate>
      <updated xmlns="http://www.w3.org/2005/Atom">2010-02-15T07:23:01.806-08:00</updated>
      <title>Windows Phone 7 Series</title>
      <description>Au Mobile World Congress de Barcelone, Microsoft vient de lever le voile sur son prochain OS pour téléphone mobile : Windows Phone 7. L'innovation principale de cette nouvelle version de l'OS pour téléphone mobile est le fait de proposer l'agrégation d'information depuis plusieurs source (applications, web, services...) pour les présenter sous forme de "Hub":People, Images, Jeux, Musique, Video...&lt;br /&gt;&lt;br /&gt;Pour plus d'information: &lt;a href="http://www.windowsphone7series.com/"&gt;http://www.windowsphone7series.com/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2661757067011288732-134851877760815219?l=becauseofintellisense.blogspot.com' alt='' /&gt;&lt;/div&gt;</description>
      <link>http://becauseofintellisense.blogspot.com/2010/02/windows-phone-7-series.html</link>
      <author>nicolas.bruschini@bewise.fr (Rouge)</author>
      <total xmlns="http://purl.org/syndication/thread/1.0">0</total>
    </item>
    <item>
      <guid isPermaLink="false">26</guid>
      <link>http://feedproxy.google.com/~r/PaslatekBlog/~3/HihSlZFYUoI/deacuteploiement-drsquoun-addin-vsto-avec-clickonce-dans-la-vrai-vie-20100206-26.aspx</link>
      <author>lionel.limozin@bewise.fr</author>
      <title>Déploiement d’un addin VSTO avec clickonce, dans la vrai vie</title>
      <description>&lt;p&gt;Récemment j’ai eu à déployer un addin vsto sur un intranet via clickonce, en l’occurrence un serveur web IIS 6. J’ai rencontré 3 problématiques :    &lt;br /&gt; - Signer mon package clickonce avec un certificat valide plus longtemps qu’une année     &lt;br /&gt; - Comprendre pourquoi mon package généré sous Windows 7 ne s’installe pas correctement     &lt;br /&gt; - Comprendre pourquoi la mise à jour automatique ne fonctionnait pas &lt;/p&gt;  &lt;h3&gt;1 - Création du certificat &lt;/h3&gt;  &lt;p&gt;Par défaut un projet d’addin vsto sous visual studio peut être signé par un certificat de test valide 1 an. Le soucis c’est que si vous oubliez de mettre à jour ce certificat au cours de cette année, vos utilisateurs ne pourront plus installer vos mise à jour une fois le certificat expiré. Et de ce fait vous n’aurez plus d’autre solution que de leur faire désinstaller l’application et réinstaller la nouvelle version signée avec un nouveau certificat. Pas idéal …&lt;/p&gt;  &lt;p&gt;Voici donc la procédure à suivre pour générer un certificat valide jusqu’en 2040 (ou une date de votre choix) et l’utiliser pour signer votre package :&lt;/p&gt;  &lt;p&gt;1- les outils sont tous fournis pat visual studio sauf un qu'il faut télécharger et installer : &lt;a href="http://download.microsoft.com/download/vba50/Utility/1.0/NT5/EN-US/pvkimprt.exe"&gt;http://download.microsoft.com/download/vba50/Utility/1.0/NT5/EN-US/pvkimprt.exe&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;-&amp;gt; exécutez ce zip self extract puis &lt;strong&gt;exécutez l'exe&lt;/strong&gt; qui va installer l'outil dans C:\Windows\&lt;/p&gt;  &lt;p&gt;2- lancez un command prompt visual studio et placez vous dans un répertoire dédié à votre certificat&lt;/p&gt;  &lt;p&gt;3- enchainez les commandes suivantes (remplacez Bewise par le nom de votre choix) :&lt;/p&gt;  &lt;p&gt;&lt;b&gt;makecert Bewise.cer -r -n &amp;quot;CN=Bewise&amp;quot; -$ individual -sv Bewise.pvk -pe -eku 1.3.6.1.5.5.7.3.3&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;Pour info si vous devez choisir des dates précises pour votre certificat utilisez l'option -! pour la liste des options étendues et voire la syntaxe pour spécifier les dates...&lt;/p&gt;  &lt;p&gt;Dans la fenêtre qui s’affiche choisissez et confirmez le mot de passe de votre clée privée&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;cert2spc Bewise.cer Bewise.spc&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;pvkimprt -pfx Bewise.spc Bewise.pvk&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;la dernière ligne de commande lance un assistant, choisissez &amp;quot;yes&amp;quot; pour exporter la clé privée, puis next, puis saisie encore du password, et enfin choisissez l'emplacement et le nom d'un fichier pfx de sortie, par exemple BewiseCertificate.pfx&lt;/p&gt;  &lt;p&gt;4- Utilisez le fichier BewiseCertificate.pfx avec Visual Studio en allant dans les propriétés du projet, onglet signing Cochez la case pour signer le manifest clickonce. Pour le certificat utilisez l'option &amp;quot;from file&amp;quot; et choisissez le pfx. Après une ultime saisie de mot de passe vous devriez avoir un truc dans le genre :&lt;/p&gt;  &lt;p&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://www.paslatek.net/Attachments.ashx?id=49" width="559" height="184" /&gt; &lt;/p&gt;  &lt;h3&gt;2- Bug d’installation ?&lt;/h3&gt;  &lt;p&gt;Pour générer le package on va ensuite sur l’onglet “publishing” des propriétés du projet pour choisir pour commencer un emplacement local, le sous dossier “publish” par exemple , on sélectionne les pré requis, la politique de mise à jour automatique et on publie !&lt;/p&gt;  &lt;p&gt;Pour ma part j’ai donc spécifié les pré requis Framework 3.5 SP1, Office 2007 Primary Interop et VSTO&amp;#160; runtime. Enfin Visual Studio l’a fait pour moi…&lt;/p&gt;  &lt;p&gt;Pour les updates je lui ai dit de vérifier à chaque fois.&lt;/p&gt;  &lt;p&gt;Vous noterez au passage que les options ne sont pas les même que sur un projet de type Winform… la technologie de déploiement VSTO c’est bien du clickonce, mais pas tout à fait…&lt;/p&gt;  &lt;p&gt;L’action de publication crée donc dans le dossier publish un fichier setup.exe et un fichier vsto. Bien que le fichier vsto soit exécutable, vous devez &lt;strong&gt;faire exécuter le setup.exe à vos utilisateurs &lt;/strong&gt;car c’est celui ci qui va vérifier les pré requis.&lt;/p&gt;  &lt;p&gt;Et là c’est le drame, en tout cas sur mon PC sous Windows 7 j’obtiens le message d’erreur suivant : &lt;/p&gt;  &lt;p&gt;Exception : &amp;quot;La version requise du .NET Framework n'est pas installée sur cet ordinateur.&amp;quot;&lt;/p&gt;  &lt;p&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="clip_image001" border="0" alt="clip_image001" src="http://www.paslatek.net/Attachments.ashx?id=50" width="378" height="389" /&gt;&lt;/p&gt;  &lt;p&gt;Vous vous doutez bien qu’avec un Visual Studio 2008 SP1 installé j’ai le bon Framework d’installé…&lt;/p&gt;  &lt;p&gt;Le problème viens du fait que sur certaine éditions de windows 7 il manque ce fichier : %ProgramFiles%\Reference Assemblies\Microsoft\Framework\v3.5\RedistList\FrameworkList.xml&lt;/p&gt;  &lt;p&gt;le dossier existe, mais il est vide.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;u&gt;La solution consiste à déposer ce fichier en question (provenant d'un vista, xp ou server 2008), redémarrer Visual Studio et re générer le package !!!&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;h3&gt;3 – Bug de mise à jour automatique ?&lt;/h3&gt;  &lt;p&gt;Une fois mon package généré je le déploie sur mon serveur web en fournissant un chemin réseau UNC qui correspond à un dossier de mon serveur qui est un répertoire virtuel de mon site intranet. J’indique aussi l’url correspondante pour accéder au fichier setup.exe, c’est à cette url que l’addin va vérifier si il ya des mise à jour à chaque démarrage. Ces options sont à indiquer dans les propriétés du projet, onglet “Publishing” :&lt;/p&gt;  &lt;p&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://www.paslatek.net/Attachments.ashx?id=51" width="483" height="383" /&gt; &lt;/p&gt;  &lt;p&gt;Bien sûr mon premier test consiste à installer l’addin une première fois en exécutant le setup depuis l’url. Attention pour que ça marche vous avez quelques “mime types” à vérifier sur votre serveur web. Il vous faut : &lt;/p&gt;  &lt;p&gt;&lt;tt&gt;.application : &lt;/tt&gt;&lt;tt&gt;application/x-ms-application&lt;/tt&gt;&lt;/p&gt;  &lt;p&gt;&lt;tt&gt;.manifest : &lt;/tt&gt;&lt;tt&gt;application/x-ms-&lt;strong&gt;manifest&lt;/strong&gt;&lt;/tt&gt;&lt;/p&gt;  &lt;p&gt;&lt;tt&gt;.deploy : &lt;/tt&gt;&lt;tt&gt;application/octet-stream&lt;/tt&gt;&lt;/p&gt;  &lt;p&gt;Et bien sûr le test suivant consiste à publier une nouvelle version de l’addin et de relancer l’application office sur laquelle il est installé pour vérifier qu’il se met bien à jour …&lt;/p&gt;  &lt;p&gt;Et là c’est le drame (bis) , j’ai un message d’erreur qui met dit que : “&lt;strong&gt;le programme de personnalisation office ne peut s’installer correctement car une version précédente est déjà installée&lt;/strong&gt;. Il faut désinstaller la version précédente. Puis relancer l’installation”. &lt;/p&gt;  &lt;p&gt;&lt;em&gt;&lt;font size="1"&gt;Arglllll !! Mais c’est exactement pour ne pas à avoir à faire ça que je voulais une mise à jour automatique !!!! &lt;/font&gt;&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;Et bien non, ne désespérez pas ! Vous n’êtes pas passez à côté d’un concept fondamental de la notion de mise à jour automatique! … &lt;strong&gt;Il s’agit juste d’une embrouille entre le package vsto installé et celui déployé automatiquement par Visual Studio lorsque vous avez débuggué votre addin&lt;/strong&gt; ! Si vous testez la procédure de mise à jour sur un autre PC, vous constaterez que tout marche comme un charme, la mise à jour automatique est bel et bien automatique ! Vous pouvez aussi nettoyer le package déployé par Visual Studio en utilisant le vsto cleaner fourni dans le &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=46b6bf86-e35d-4870-b214-4d7b72b02bf9&amp;amp;displaylang=en" target="_blank"&gt;vsto powertools&lt;/a&gt; si vous souhaitez faire fonctionner cette mise à jour sur votre PC de développement.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Et voilà, avec tout ça je suis tranquille je pourrais faire vivre mon addin jusqu’en 2040 en assurant des mise à jour régulières et automatiques !&lt;/p&gt;</description>
      <pubDate>Sat, 06 Feb 2010 18:17:48 +0100</pubDate>
      <updated xmlns="http://www.w3.org/2005/Atom">2010-02-06T18:17:48+01:00</updated>
      <origLink xmlns="http://rssnamespace.org/feedburner/ext/1.0">http://www.paslatek.net/deacuteploiement-drsquoun-addin-vsto-avec-clickonce-dans-la-vrai-vie-20100206-26.aspx</origLink>
    </item>
    <item>
      <guid isPermaLink="false">tag:blogger.com,1999:blog-5619051591853320584.post-7814178453934938348</guid>
      <pubDate>Thu, 28 Jan 2010 13:31:00 +0000</pubDate>
      <updated xmlns="http://www.w3.org/2005/Atom">2010-02-03T17:59:26.107+01:00</updated>
      <category domain="http://www.blogger.com/atom/ns#">MVC</category>
      <title>Upload de fichiers avec ASP.NET MVC</title>
      <description>&lt;p&gt;Pour envoyer des fichiers avec ASP.NET MVC, c’est pas compliqué, mais encore faut-il savoir comment faire. Si en ASP.NET WebForm on a un contrôle qui le fait, avec MVC, on commence à en avoir l’habitude, il va falloir le faire à la pougne.&lt;/p&gt;  &lt;p&gt;On arrête de râler, les assistés, c’est pas plus compliqué qu’avant !&lt;/p&gt;  &lt;p&gt;Pour envoyer un fichier, on va utiliser l’élément HTML Input, de type “file”. On le mets dans notre formulaire, et on envoie. Attention, pour que ça fonctionne, il va falloir ajouter un attribut à notre formulaire : enctype=&amp;quot;multipart/form-data&amp;quot;. Scott Hanselman nous explique pourquoi sur &lt;a href="http://www.hanselman.com/blog/CommentView.aspx?guid=bc137b6b-d8d0-47d1-9795-f8814f7d1903"&gt;son blog&lt;/a&gt;.&lt;/p&gt;  &lt;div style="border-bottom: #000000 1px solid; border-left: #000000 1px solid; margin-left: 10pt; border-top: #000000 1px solid; margin-right: 2pt; border-right: #000000 1px solid"&gt;   &lt;div style="background-color: #dcdcdc; white-space: nowrap; overflow: scroll"&gt;&lt;font face=" Courier New"&gt;&lt;font size="2"&gt;&amp;#160;&amp;#160;&amp;#160; &amp;lt;% &lt;/font&gt;&lt;font color="#0000ff"&gt;using&lt;/font&gt;&lt;font color="#000000"&gt; (Html.BeginForm(&lt;/font&gt;&lt;font color="#a31515"&gt;&amp;quot;SendFile&amp;quot;&lt;/font&gt;&lt;font color="#000000"&gt;, &lt;/font&gt;&lt;font color="#a31515"&gt;&amp;quot;Home&amp;quot;&lt;/font&gt;&lt;font color="#000000"&gt;, &lt;/font&gt;&lt;font color="#2b91af"&gt;FormMethod&lt;/font&gt;&lt;font color="#000000"&gt;.Post, &lt;/font&gt;&lt;font color="#0000ff"&gt;new&lt;/font&gt;&lt;font color="#000000"&gt; { enctype = &lt;/font&gt;&lt;font color="#a31515"&gt;&amp;quot;multipart/form-data&amp;quot;&lt;/font&gt;&lt;font color="#000000"&gt; }))          &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; { %&amp;gt;           &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#0000ff"&gt;&amp;lt;&lt;/font&gt;&lt;font color="#a31515"&gt;input&lt;/font&gt;&lt;font color="#000000"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#ff0000"&gt;type&lt;/font&gt;&lt;font color="#0000ff"&gt;=&amp;quot;file&amp;quot;&lt;/font&gt;&lt;font color="#000000"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#ff0000"&gt;name&lt;/font&gt;&lt;font color="#0000ff"&gt;=&amp;quot;fileSent&amp;quot;&lt;/font&gt;&lt;font color="#000000"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#0000ff"&gt;/&amp;gt;          &lt;br /&gt;&lt;/font&gt;&lt;font color="#000000"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#0000ff"&gt;&amp;lt;&lt;/font&gt;&lt;font color="#a31515"&gt;input&lt;/font&gt;&lt;font color="#000000"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#ff0000"&gt;type&lt;/font&gt;&lt;font color="#0000ff"&gt;=&amp;quot;submit&amp;quot;&lt;/font&gt;&lt;font color="#000000"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#ff0000"&gt;value&lt;/font&gt;&lt;font color="#0000ff"&gt;=&amp;quot;Send&amp;quot;&lt;/font&gt;&lt;font color="#000000"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#0000ff"&gt;/&amp;gt;          &lt;br /&gt;&lt;/font&gt;&lt;font color="#000000"&gt;&amp;#160;&amp;#160;&amp;#160; &amp;lt;% } %&amp;gt; &lt;/font&gt;&lt;/font&gt;&lt;/div&gt; &lt;/div&gt;  &lt;p&gt;Ensuite, lorsqu’on va poster notre formulaire, le fichier sera directement accessible dans notre Request :&lt;/p&gt;  &lt;div style="border-bottom: #000000 1px solid; border-left: #000000 1px solid; margin-left: 10pt; border-top: #000000 1px solid; margin-right: 2pt; border-right: #000000 1px solid"&gt;   &lt;div style="background-color: #dcdcdc; white-space: nowrap; overflow: scroll"&gt;&lt;font face=" Courier New"&gt;&lt;font size="2"&gt;&amp;#160;&amp;#160;&amp;#160; [&lt;/font&gt;&lt;font color="#2b91af"&gt;AcceptVerbs&lt;/font&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;font color="#2b91af"&gt;HttpVerbs&lt;/font&gt;&lt;font color="#000000"&gt;.Post)]          &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#0000ff"&gt;public&lt;/font&gt;&lt;font color="#000000"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#2b91af"&gt;ActionResult&lt;/font&gt;&lt;font color="#000000"&gt; SendFile()          &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; {           &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#2b91af"&gt;HttpPostedFileBase&lt;/font&gt;&lt;font color="#000000"&gt; file = Request.Files[&lt;/font&gt;&lt;font color="#a31515"&gt;&amp;quot;fileSent&amp;quot;&lt;/font&gt;&lt;font color="#000000"&gt;];          &lt;br /&gt;          &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#008000"&gt;//TODO : Gerer le fichier&amp;#160; &lt;br /&gt;&lt;/font&gt;&lt;font color="#000000"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; file.SaveAs(filePath);          &lt;br /&gt;          &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#0000ff"&gt;return&lt;/font&gt;&lt;font color="#000000"&gt; View();          &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; }&lt;/font&gt;&lt;/font&gt; &lt;/div&gt; &lt;/div&gt;  &lt;p&gt;Et parce que c’est de l’ASP.NET MVC, et qu’ASP.NET MVC ça poutre, on a même une solution encore plus simple ! Il suffit de le mettre en paramètre de notre action (n’oubliez pas que le nom du paramètre doit correspondre au “name” du input)&lt;/p&gt;  &lt;div style="border-bottom: #000000 1px solid; border-left: #000000 1px solid; margin-left: 10pt; border-top: #000000 1px solid; margin-right: 2pt; border-right: #000000 1px solid"&gt;   &lt;div style="background-color: #dcdcdc; white-space: nowrap; overflow: scroll"&gt;&lt;font face=" Courier New"&gt;&lt;font size="2"&gt;&amp;#160;&amp;#160;&amp;#160; [&lt;/font&gt;&lt;font color="#2b91af"&gt;AcceptVerbs&lt;/font&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;font color="#2b91af"&gt;HttpVerbs&lt;/font&gt;&lt;font color="#000000"&gt;.Post)]          &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#0000ff"&gt;public&lt;/font&gt;&lt;font color="#000000"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#2b91af"&gt;ActionResult&lt;/font&gt;&lt;font color="#000000"&gt; SendFile(&lt;/font&gt;&lt;font color="#2b91af"&gt;HttpPostedFileBase&lt;/font&gt;&lt;font color="#000000"&gt; fileSent)          &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; {           &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#008000"&gt;//TODO : Gerer le fichier&amp;#160; &lt;br /&gt;&lt;/font&gt;&lt;font color="#000000"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; fileSent.SaveAs(filePath);          &lt;br /&gt;          &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#0000ff"&gt;return&lt;/font&gt;&lt;font color="#000000"&gt; View();          &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; }&lt;/font&gt;&lt;/font&gt; &lt;/div&gt; &lt;/div&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5619051591853320584-7814178453934938348?l=blog.adhess.net' alt='' /&gt;&lt;/div&gt;</description>
      <link>http://blog.adhess.net/2010/01/upload-de-fichiers-avec-aspnet-mvc.html</link>
      <author>noreply@blogger.com (Guillaume Lacasa)</author>
      <total xmlns="http://purl.org/syndication/thread/1.0">0</total>
    </item>
    <item>
      <guid isPermaLink="false">tag:blogger.com,1999:blog-5619051591853320584.post-3135430140435538927</guid>
      <pubDate>Tue, 15 Dec 2009 16:13:00 +0000</pubDate>
      <updated xmlns="http://www.w3.org/2005/Atom">2009-12-15T19:55:26.034+01:00</updated>
      <title>Optimisation du référencement avec le SEO Toolkit</title>
      <description>&lt;p&gt;Je viens de découvrir grâce à &lt;a href="http://weblogs.asp.net/scottgu/archive/2009/12/15/search-engine-optimization-seo-toolkit.aspx"&gt;Scott Guthrie&lt;/a&gt; un outil qui va vite devenir indispensable à tout développeur de sites web : le SEO toolkit. SEO, pour ceux qui ne le savent pas, signifie “Search Engine Optimisation”. Il s’agit d’optimiser son site web pour que les moteurs de recherche en indexent mieux le contenu, afin d’apparaitre plus haut dans les résultats de recherche.&lt;/p&gt;  &lt;p&gt;Le SEO toolkit peut être téléchargé sur &lt;a href="http://www.microsoft.com/web/page.aspx?templang=en-us&amp;amp;chunkfile=seo.html"&gt;le site de Microsoft&lt;/a&gt;, ou bien directement à partir de l’outil “Web Platform Installer” (qu’il vous faudra de toute façon utiliser pour l’installer). &lt;/p&gt;  &lt;p&gt;Une fois installé, le principe est simple : vous mettez l’URL de la page d’accueil de votre site, et l’outil va parcourir tout votre site et vous signaler tout ce que vous pourriez améliorer. Vous pouvez l’utiliser avec n’importe quel site, pas besoin d’avoir d’utiliser IIS : le programme agit comme un bot qui va télécharger les pages de votre site web, comme le ferait n’importe quel moteur de recherche.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_1fIQLbpqRAw/Sye1tuJ85_I/AAAAAAAAByM/XWb-qidkAT4/s1600-h/image%5B4%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh4.ggpht.com/_1fIQLbpqRAw/Sye1uSPzipI/AAAAAAAAByQ/wDwALa5915o/image_thumb%5B2%5D.png?imgmax=800" width="762" height="451" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Une fois l’analyse du site terminée, vous aurez de nombreuses informations sur le site analysé, de différents types. Ainsi, cet outil est très utile pour, entre autres, retrouver les liens cassés à l’intérieur de vos pages.&lt;/p&gt;  &lt;p&gt;Je ne saurai trop vous conseiller de le tester de suite afin de vous faire votre propre idée.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5619051591853320584-3135430140435538927?l=blog.adhess.net' alt='' /&gt;&lt;/div&gt;</description>
      <link>http://blog.adhess.net/2009/12/optimisation-du-referencement-avec-le.html</link>
      <author>noreply@blogger.com (Guillaume Lacasa)</author>
      <total xmlns="http://purl.org/syndication/thread/1.0">1</total>
    </item>
    <item>
      <title>Interfaces professionnelles avec Windows Mobile (Part 2)</title>
      <link>http://blogs.developpeur.org/vko/archive/2009/12/09/interfaces-professionnelles-avec-windows-mobile-part-2.aspx</link>
      <pubDate>Wed, 09 Dec 2009 20:12:04 GMT</pubDate>
      <guid isPermaLink="false">7d6e5d3c-61cc-4264-bc3a-a336023fcec4:47386</guid>
      <creator xmlns="http://purl.org/dc/elements/1.1/">Vko</creator>
      <comments xmlns="http://purl.org/rss/1.0/modules/slash/">4</comments>
      <comments>http://blogs.developpeur.org/vko/comments/47386.aspx</comments>
      <commentRss xmlns="http://wellformedweb.org/CommentAPI/">http://blogs.developpeur.org/vko/commentrss.aspx?PostID=47386</commentRss>
      <description>
  
Dans la première partie, nous avons vu un aperçu des problématiques et des limitations de Windows Mobile lors la création de formulaires.
Dans cette seconde partie, nous allons examiner les outils mis à notre disposition afin de créer des formulair...&lt;img src="http://blogs.developpeur.org/aggbug.aspx?PostID=47386" width="1" height="1"&gt;</description>
      <category domain="http://blogs.developpeur.org/vko/archive/tags/Windows+Mobile/default.aspx">Windows Mobile</category>
    </item>
    <item>
      <guid isPermaLink="false">tag:blogger.com,1999:blog-5619051591853320584.post-978722883363182789</guid>
      <pubDate>Mon, 07 Dec 2009 16:17:00 +0000</pubDate>
      <updated xmlns="http://www.w3.org/2005/Atom">2009-12-07T17:46:08.418+01:00</updated>
      <category domain="http://www.blogger.com/atom/ns#">SigmaT</category>
      <category domain="http://www.blogger.com/atom/ns#">TFS</category>
      <category domain="http://www.blogger.com/atom/ns#">Job</category>
      <category domain="http://www.blogger.com/atom/ns#">Bewise</category>
      <title>Des nouvelles de Bewise</title>
      <description>&lt;p&gt;Je ne vais pas parler d’asp.net aujourd’hui (et c’est pourtant pas l’envie qui m’en manque), mais vous donner quelques nouvelles de Bewise.&lt;/p&gt;  &lt;p&gt;Pour commencer, je vous informe que Bewise sera présent au prochain SigmaT, qui se déroulera ce vendredi 11 décembre à l’IRIT, à l’université Paul Sabatier de Toulouse. Ionut Milhalcea vous y présentera une session “Pratiques agiles avec Team Foundation Server 2010”. Pour plus d’informations, le programme se trouve à cette adresse : &lt;a title="http://www.sigmat.fr/dotclear/index.php?post/2009/11/24/Programme-du-SigmaT12" href="http://www.sigmat.fr/dotclear/index.php?post/2009/11/24/Programme-du-SigmaT12"&gt;http://www.sigmat.fr/dotclear/index.php?post/2009/11/24/Programme-du-SigmaT12&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Allez-y nombreux, et pensez à &lt;a href="http://www.sigmat.fr/dotclear/index.php?form/inscription"&gt;vous inscrire&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;En toute logique, après ce séminaire vous devriez être pris d’une envie irrésistible de venir travailler avec nous ! ;) Eh bien, sachez que c’est maintenant chose possible, puisque Bewise recrute ! Regardez les offres ci-dessous, et si vous pensez correspondre aux profils demandés n’hésitez pas à postuler.&lt;/p&gt;  &lt;h3&gt;Consultant Sharepoint&lt;/h3&gt;  &lt;p&gt;Bewise est une structure en forte expansion. Pour l’accompagner, nous recherchons un&amp;#160; &lt;b&gt;&lt;u&gt;consultant(e) Sharepoint&lt;/u&gt;&lt;/b&gt; ayant une bonne connaissance sur les technologies Microsoft maîtrisant les points suivants :&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/_1fIQLbpqRAw/Sx0p9W_GhAI/AAAAAAAABsE/GHQ80dtaOHs/s1600-h/clip_image002%5B51%5D.gif"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="clip_image002" border="0" alt="clip_image002" src="http://lh3.ggpht.com/_1fIQLbpqRAw/Sx0p9p8_VQI/AAAAAAAABsI/1sfH0K2GTZY/clip_image002_thumb.gif?imgmax=800" width="24" height="23" /&gt;&lt;/a&gt; WSS / MOSS&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_1fIQLbpqRAw/Sx0p-PXGOBI/AAAAAAAABsM/fGVhNGy-7H8/s1600-h/clip_image002%5B1%5D%5B2%5D.gif"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="clip_image002[1]" border="0" alt="clip_image002[1]" src="http://lh6.ggpht.com/_1fIQLbpqRAw/Sx0p-U2fueI/AAAAAAAABsQ/PsTXFV0Jukk/clip_image002%5B1%5D_thumb.gif?imgmax=800" width="24" height="23" /&gt;&lt;/a&gt; ASP.NET&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_1fIQLbpqRAw/Sx0p-2XtEyI/AAAAAAAABsU/UuopOmu4yXM/s1600-h/clip_image002%5B2%5D%5B2%5D.gif"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="clip_image002[2]" border="0" alt="clip_image002[2]" src="http://lh5.ggpht.com/_1fIQLbpqRAw/Sx0p_OnvYII/AAAAAAAABsY/yJyyYl8yhSI/clip_image002%5B2%5D_thumb.gif?imgmax=800" width="24" height="23" /&gt;&lt;/a&gt; SQL Server 2008&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_1fIQLbpqRAw/Sx0p_hOWlAI/AAAAAAAABsc/bXNyJuElKpI/s1600-h/clip_image002%5B3%5D%5B2%5D.gif"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="clip_image002[3]" border="0" alt="clip_image002[3]" src="http://lh4.ggpht.com/_1fIQLbpqRAw/Sx0qAPAif-I/AAAAAAAABsg/8fc-UdpPmPk/clip_image002%5B3%5D_thumb.gif?imgmax=800" width="24" height="23" /&gt;&lt;/a&gt; Architecture logicielle&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_1fIQLbpqRAw/Sx0qAbrVRWI/AAAAAAAABsk/loTbeBEwgJo/s1600-h/clip_image002%5B4%5D%5B2%5D.gif"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="clip_image002[4]" border="0" alt="clip_image002[4]" src="http://lh6.ggpht.com/_1fIQLbpqRAw/Sx0qAxnBGgI/AAAAAAAABso/rx1fZtMnbVI/clip_image002%5B4%5D_thumb.gif?imgmax=800" width="24" height="23" /&gt;&lt;/a&gt; Microsoft .NET 2.0, 3.0, 3.5&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_1fIQLbpqRAw/Sx0qBD2mFOI/AAAAAAAABss/Gga_1YgVeF0/s1600-h/clip_image002%5B5%5D%5B2%5D.gif"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="clip_image002[5]" border="0" alt="clip_image002[5]" src="http://lh4.ggpht.com/_1fIQLbpqRAw/Sx0qBgWsSZI/AAAAAAAABsw/kFV2bmhH05c/clip_image002%5B5%5D_thumb.gif?imgmax=800" width="24" height="23" /&gt;&lt;/a&gt; Visual C#.NET&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_1fIQLbpqRAw/Sx0qBwLlJSI/AAAAAAAABs0/FnU05fBPvDI/s1600-h/clip_image002%5B6%5D%5B2%5D.gif"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="clip_image002[6]" border="0" alt="clip_image002[6]" src="http://lh6.ggpht.com/_1fIQLbpqRAw/Sx0qCap36uI/AAAAAAAABs4/eAAPgbLTSO4/clip_image002%5B6%5D_thumb.gif?imgmax=800" width="24" height="23" /&gt;&lt;/a&gt; Visual Studio 2008&lt;/p&gt;  &lt;p&gt;La connaissance de Sharepoint 2010 ou de MS CRM 4.0 serait un plus.&lt;/p&gt;  &lt;p&gt;Principales missions : &lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_1fIQLbpqRAw/Sx0qCqXIHNI/AAAAAAAABs8/Vd7xk5AKzJk/s1600-h/clip_image002%5B7%5D%5B2%5D.gif"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="clip_image002[7]" border="0" alt="clip_image002[7]" src="http://lh5.ggpht.com/_1fIQLbpqRAw/Sx0qDH_rNBI/AAAAAAAABtA/HSNxOa4BGok/clip_image002%5B7%5D_thumb.gif?imgmax=800" width="24" height="23" /&gt;&lt;/a&gt; Architecture et Conception d’applications Web et portail collaboratifs&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/_1fIQLbpqRAw/Sx0qDRxmPaI/AAAAAAAABtE/pkWSQKIBub8/s1600-h/clip_image002%5B8%5D%5B2%5D.gif"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="clip_image002[8]" border="0" alt="clip_image002[8]" src="http://lh4.ggpht.com/_1fIQLbpqRAw/Sx0qD4hbH5I/AAAAAAAABtI/1oJ5z_U56_A/clip_image002%5B8%5D_thumb.gif?imgmax=800" width="24" height="23" /&gt;&lt;/a&gt; Développement, tests et livraison de solutions&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_1fIQLbpqRAw/Sx0qEOK5g_I/AAAAAAAABtM/ezQr-uhnzKc/s1600-h/clip_image002%5B9%5D%5B2%5D.gif"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="clip_image002[9]" border="0" alt="clip_image002[9]" src="http://lh6.ggpht.com/_1fIQLbpqRAw/Sx0qErPCKYI/AAAAAAAABtQ/mQNOkNrEQW0/clip_image002%5B9%5D_thumb.gif?imgmax=800" width="24" height="23" /&gt;&lt;/a&gt; Animation de formation et de séminaires&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_1fIQLbpqRAw/Sx0qE6RHcbI/AAAAAAAABtU/ejdvi1iMLIg/s1600-h/clip_image002%5B10%5D%5B2%5D.gif"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="clip_image002[10]" border="0" alt="clip_image002[10]" src="http://lh3.ggpht.com/_1fIQLbpqRAw/Sx0qFKG5FhI/AAAAAAAABtY/PHVuDZULRtw/clip_image002%5B10%5D_thumb.gif?imgmax=800" width="24" height="23" /&gt;&lt;/a&gt; Consulting sur les technologies Microsoft auprès de nos clients&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_1fIQLbpqRAw/Sx0qFW2nsoI/AAAAAAAABtc/sgFqlULUNmU/s1600-h/clip_image002%5B11%5D%5B2%5D.gif"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="clip_image002[11]" border="0" alt="clip_image002[11]" src="http://lh4.ggpht.com/_1fIQLbpqRAw/Sx0qF8abjDI/AAAAAAAABtg/ZPOpGYylOJw/clip_image002%5B11%5D_thumb.gif?imgmax=800" width="24" height="23" /&gt;&lt;/a&gt; Gestion de projets&lt;/p&gt;  &lt;p&gt;Vous êtes autonome, rigoureux, pédagogue avec un bon sens du relationnel et passionné par les technologies Microsoft. &lt;/p&gt;  &lt;p&gt;Rémunération : selon profil&lt;/p&gt;  &lt;p&gt;Votre profil correspond à notre poste ? Vous avez envie de rejoindre une équipe dynamique à taille humaine dans le Sud Ouest ? Bewise a besoin de vous. &lt;/p&gt;  &lt;p&gt;Envoyez votre CV à &lt;a href="mailto:job@bewise.fr"&gt;job@bewise.fr&lt;/a&gt; en indiquant « [ConsultantMOSS2010] » dans le sujet du mail.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;Consultant Business Intelligence Microsoft&lt;/h3&gt;  &lt;p&gt;Bewise est une structure en forte expansion. Pour l’accompagner, nous recherchons un &lt;b&gt;&lt;u&gt;consultant(e) décisionnel&lt;/u&gt;&lt;/b&gt; ayant une bonne connaissance sur les technologies Microsoft maîtrisant les points suivants :&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/_1fIQLbpqRAw/Sx0qGVF6txI/AAAAAAAABtk/pubJAlK7RSU/s1600-h/clip_image002%5B12%5D%5B2%5D.gif"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="clip_image002[12]" border="0" alt="clip_image002[12]" src="http://lh4.ggpht.com/_1fIQLbpqRAw/Sx0qGgY4BeI/AAAAAAAABto/Mq-nvB0ToKc/clip_image002%5B12%5D_thumb.gif?imgmax=800" width="24" height="23" /&gt;&lt;/a&gt; L’ensemble des technologies décisionnelles de Microsoft&lt;/p&gt;  &lt;p&gt;o SQL Server 2008 R2&lt;/p&gt;  &lt;p&gt;o Analysis Services&lt;/p&gt;  &lt;p&gt;o Integration Services&lt;/p&gt;  &lt;p&gt;o Reporting Services&lt;/p&gt;  &lt;p&gt;o Monitoring Server&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_1fIQLbpqRAw/Sx0qHMx8_eI/AAAAAAAABts/tyubXssDvlI/s1600-h/clip_image002%5B13%5D%5B2%5D.gif"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="clip_image002[13]" border="0" alt="clip_image002[13]" src="http://lh3.ggpht.com/_1fIQLbpqRAw/Sx0qHbE4OMI/AAAAAAAABtw/gY82pbI_Ya4/clip_image002%5B13%5D_thumb.gif?imgmax=800" width="24" height="23" /&gt;&lt;/a&gt; MOSS&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_1fIQLbpqRAw/Sx0qHw2t6CI/AAAAAAAABt0/3x6uoC6PMkE/s1600-h/clip_image002%5B14%5D%5B2%5D.gif"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="clip_image002[14]" border="0" alt="clip_image002[14]" src="http://lh5.ggpht.com/_1fIQLbpqRAw/Sx0qIElf_PI/AAAAAAAABt4/najlfiZ6GDM/clip_image002%5B14%5D_thumb.gif?imgmax=800" width="24" height="23" /&gt;&lt;/a&gt; Architecture logicielle&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/_1fIQLbpqRAw/Sx0qIi9JHGI/AAAAAAAABt8/T8s7MNpC1Io/s1600-h/clip_image002%5B15%5D%5B2%5D.gif"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="clip_image002[15]" border="0" alt="clip_image002[15]" src="http://lh4.ggpht.com/_1fIQLbpqRAw/Sx0qI4NzarI/AAAAAAAABuA/eR9pnTdte6s/clip_image002%5B15%5D_thumb.gif?imgmax=800" width="24" height="23" /&gt;&lt;/a&gt; Microsoft .NET&lt;/p&gt;  &lt;p&gt;Principales missions : &lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_1fIQLbpqRAw/Sx0qJZJ7agI/AAAAAAAABuE/v1Q0gtatBEw/s1600-h/clip_image002%5B16%5D%5B2%5D.gif"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="clip_image002[16]" border="0" alt="clip_image002[16]" src="http://lh3.ggpht.com/_1fIQLbpqRAw/Sx0qJofbI9I/AAAAAAAABuI/AZWnLin_V-w/clip_image002%5B16%5D_thumb.gif?imgmax=800" width="24" height="23" /&gt;&lt;/a&gt; Architecture et Conception de solutions décisionnelles&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_1fIQLbpqRAw/Sx0qKFfU7rI/AAAAAAAABuM/S8P_chktE2c/s1600-h/clip_image002%5B17%5D%5B2%5D.gif"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="clip_image002[17]" border="0" alt="clip_image002[17]" src="http://lh3.ggpht.com/_1fIQLbpqRAw/Sx0qKVvQa4I/AAAAAAAABuQ/r3YSS6hl7xY/clip_image002%5B17%5D_thumb.gif?imgmax=800" width="24" height="23" /&gt;&lt;/a&gt; Développement, tests et livraison de solutions&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_1fIQLbpqRAw/Sx0qK-fN-wI/AAAAAAAABuU/qp65mV4g3u0/s1600-h/clip_image002%5B18%5D%5B2%5D.gif"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="clip_image002[18]" border="0" alt="clip_image002[18]" src="http://lh6.ggpht.com/_1fIQLbpqRAw/Sx0qLKYAroI/AAAAAAAABuY/RM9j6xzpsD8/clip_image002%5B18%5D_thumb.gif?imgmax=800" width="24" height="23" /&gt;&lt;/a&gt; Animation de formation et de séminaires&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_1fIQLbpqRAw/Sx0qLdy0j3I/AAAAAAAABuc/nuI5xYLPciQ/s1600-h/clip_image002%5B19%5D%5B2%5D.gif"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="clip_image002[19]" border="0" alt="clip_image002[19]" src="http://lh4.ggpht.com/_1fIQLbpqRAw/Sx0qL6crejI/AAAAAAAABug/KFc4qL3f2R0/clip_image002%5B19%5D_thumb.gif?imgmax=800" width="24" height="23" /&gt;&lt;/a&gt; Consulting sur les technologies Microsoft auprès de nos clients&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_1fIQLbpqRAw/Sx0qMFdZpzI/AAAAAAAABuk/EDVpmCsXvtw/s1600-h/clip_image002%5B20%5D%5B2%5D.gif"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="clip_image002[20]" border="0" alt="clip_image002[20]" src="http://lh3.ggpht.com/_1fIQLbpqRAw/Sx0qMrgXgjI/AAAAAAAABuo/Rgh7y_uYL3A/clip_image002%5B20%5D_thumb.gif?imgmax=800" width="24" height="23" /&gt;&lt;/a&gt; Gestion de projets&lt;/p&gt;  &lt;p&gt;Vous êtes autonome, rigoureux, pédagogue avec un bon sens du relationnel et passionné par les technologies Microsoft. &lt;/p&gt;  &lt;p&gt;Rémunération : selon profil&lt;/p&gt;  &lt;p&gt;Votre profil correspond à notre poste ? Vous avez envie de rejoindre une équipe dynamique à taille humaine dans le Sud Ouest ? Bewise a besoin de vous. &lt;/p&gt;  &lt;p&gt;Envoyez votre CV à &lt;a href="mailto:job@bewise.fr"&gt;job@bewise.fr&lt;/a&gt; en indiquant « [ConsultantBI2010] » dans le sujet du mail.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;Consultant sur les technologies Microsoft&lt;/h3&gt;  &lt;p&gt;Bewise est une structure en forte expansion. Pour l’accompagner, nous recherchons un&amp;#160; consultant(e) ayant une bonne connaissance sur les technologies de développement Microsoft maîtrisant les points suivants :&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/_1fIQLbpqRAw/Sx0qM0WA7mI/AAAAAAAABus/HPO6mjh2QzQ/s1600-h/clip_image002%5B21%5D%5B2%5D.gif"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="clip_image002[21]" border="0" alt="clip_image002[21]" src="http://lh6.ggpht.com/_1fIQLbpqRAw/Sx0qN3jlqNI/AAAAAAAABuw/VuR6oX1lgkc/clip_image002%5B21%5D_thumb.gif?imgmax=800" width="24" height="23" /&gt;&lt;/a&gt; SQL Server 2008&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/_1fIQLbpqRAw/Sx0qOHefTqI/AAAAAAAABu0/Rqha44a9A_c/s1600-h/clip_image002%5B22%5D%5B2%5D.gif"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="clip_image002[22]" border="0" alt="clip_image002[22]" src="http://lh6.ggpht.com/_1fIQLbpqRAw/Sx0qOl5G-1I/AAAAAAAABu4/K9PbuEV37-I/clip_image002%5B22%5D_thumb.gif?imgmax=800" width="24" height="23" /&gt;&lt;/a&gt; Architecture logicielle&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_1fIQLbpqRAw/Sx0qO69iHVI/AAAAAAAABu8/bsKPH50muHA/s1600-h/clip_image002%5B23%5D%5B2%5D.gif"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="clip_image002[23]" border="0" alt="clip_image002[23]" src="http://lh5.ggpht.com/_1fIQLbpqRAw/Sx0qPJXLuhI/AAAAAAAABvA/YfBE0i34ohU/clip_image002%5B23%5D_thumb.gif?imgmax=800" width="24" height="23" /&gt;&lt;/a&gt; Microsoft .NET 2.0, 3.0, 3.5, 4.0&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_1fIQLbpqRAw/Sx0qPtaM1jI/AAAAAAAABvE/B30d2TwwmCI/s1600-h/clip_image002%5B24%5D%5B2%5D.gif"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="clip_image002[24]" border="0" alt="clip_image002[24]" src="http://lh5.ggpht.com/_1fIQLbpqRAw/Sx0qP_TkmkI/AAAAAAAABvI/eL3s129hmiM/clip_image002%5B24%5D_thumb.gif?imgmax=800" width="24" height="23" /&gt;&lt;/a&gt; ASP.NET, Ajax&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/_1fIQLbpqRAw/Sx0qQCvfBHI/AAAAAAAABvM/eBimP3PPFMU/s1600-h/clip_image002%5B25%5D%5B2%5D.gif"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="clip_image002[25]" border="0" alt="clip_image002[25]" src="http://lh5.ggpht.com/_1fIQLbpqRAw/Sx0qQoEdSBI/AAAAAAAABvQ/7KNEgvHrWyg/clip_image002%5B25%5D_thumb.gif?imgmax=800" width="24" height="23" /&gt;&lt;/a&gt; WPF&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/_1fIQLbpqRAw/Sx0qQyuouvI/AAAAAAAABvU/hZ3aZ-Qe0Oo/s1600-h/clip_image002%5B26%5D%5B2%5D.gif"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="clip_image002[26]" border="0" alt="clip_image002[26]" src="http://lh6.ggpht.com/_1fIQLbpqRAw/Sx0qRTuHjYI/AAAAAAAABvY/-LL2jxpD0RI/clip_image002%5B26%5D_thumb.gif?imgmax=800" width="24" height="23" /&gt;&lt;/a&gt; WCF&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_1fIQLbpqRAw/Sx0qR9BFonI/AAAAAAAABvc/yJJfxLDCkcc/s1600-h/clip_image002%5B27%5D%5B2%5D.gif"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="clip_image002[27]" border="0" alt="clip_image002[27]" src="http://lh6.ggpht.com/_1fIQLbpqRAw/Sx0qSBBwBvI/AAAAAAAABvg/A4--MWkr7fw/clip_image002%5B27%5D_thumb.gif?imgmax=800" width="24" height="23" /&gt;&lt;/a&gt; C#/VB&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_1fIQLbpqRAw/Sx0qSqBDCOI/AAAAAAAABvk/k06uRi8Y7uE/s1600-h/clip_image002%5B28%5D%5B2%5D.gif"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="clip_image002[28]" border="0" alt="clip_image002[28]" src="http://lh5.ggpht.com/_1fIQLbpqRAw/Sx0qS8GsFmI/AAAAAAAABvo/kD4vYBqLv6U/clip_image002%5B28%5D_thumb.gif?imgmax=800" width="24" height="23" /&gt;&lt;/a&gt; Visual Studio 2008, 2010&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_1fIQLbpqRAw/Sx0qTedVtwI/AAAAAAAABvs/33Me-Cx-BdQ/s1600-h/clip_image002%5B29%5D%5B2%5D.gif"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="clip_image002[29]" border="0" alt="clip_image002[29]" src="http://lh4.ggpht.com/_1fIQLbpqRAw/Sx0qTrPUYII/AAAAAAAABvw/NenFEAXwgHk/clip_image002%5B29%5D_thumb.gif?imgmax=800" width="24" height="23" /&gt;&lt;/a&gt; TFS 2008, 2010&lt;/p&gt;  &lt;p&gt;La connaissance de C++, DirectX ou GDI serait un plus.&lt;/p&gt;  &lt;p&gt;Principales missions : &lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_1fIQLbpqRAw/Sx0qUKKq6jI/AAAAAAAABv0/hUodqVoM3e8/s1600-h/clip_image002%5B30%5D%5B2%5D.gif"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="clip_image002[30]" border="0" alt="clip_image002[30]" src="http://lh5.ggpht.com/_1fIQLbpqRAw/Sx0qUSDCW2I/AAAAAAAABv4/sWLbMXQ7wyk/clip_image002%5B30%5D_thumb.gif?imgmax=800" width="24" height="23" /&gt;&lt;/a&gt; Architecture et Conception de solutions décisionnelles&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/_1fIQLbpqRAw/Sx0qU4scahI/AAAAAAAABv8/KgrXwdn4xxc/s1600-h/clip_image002%5B31%5D%5B2%5D.gif"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="clip_image002[31]" border="0" alt="clip_image002[31]" src="http://lh6.ggpht.com/_1fIQLbpqRAw/Sx0qVBC8XaI/AAAAAAAABwA/eevlnfjPgfs/clip_image002%5B31%5D_thumb.gif?imgmax=800" width="24" height="23" /&gt;&lt;/a&gt; Développement, tests et livraison de solutions&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_1fIQLbpqRAw/Sx0qVX0RfWI/AAAAAAAABwE/4iyDpcYm03o/s1600-h/clip_image002%5B32%5D%5B2%5D.gif"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="clip_image002[32]" border="0" alt="clip_image002[32]" src="http://lh4.ggpht.com/_1fIQLbpqRAw/Sx0qVwzXQ9I/AAAAAAAABwI/KBmIjfIPLj0/clip_image002%5B32%5D_thumb.gif?imgmax=800" width="24" height="23" /&gt;&lt;/a&gt; Animation de formation et de séminaires&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/_1fIQLbpqRAw/Sx0qWMXLslI/AAAAAAAABwM/BVRYFrYMNd4/s1600-h/clip_image002%5B33%5D%5B2%5D.gif"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="clip_image002[33]" border="0" alt="clip_image002[33]" src="http://lh3.ggpht.com/_1fIQLbpqRAw/Sx0qWqUjo1I/AAAAAAAABwQ/Yn7WN9BeVFA/clip_image002%5B33%5D_thumb.gif?imgmax=800" width="24" height="23" /&gt;&lt;/a&gt; Consulting sur les technologies Microsoft auprès de nos clients&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_1fIQLbpqRAw/Sx0qW2aKpiI/AAAAAAAABwU/pVlYTtQ9E8M/s1600-h/clip_image002%5B34%5D%5B2%5D.gif"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="clip_image002[34]" border="0" alt="clip_image002[34]" src="http://lh3.ggpht.com/_1fIQLbpqRAw/Sx0qXGGB9JI/AAAAAAAABwY/04CHdt2s6iI/clip_image002%5B34%5D_thumb.gif?imgmax=800" width="24" height="23" /&gt;&lt;/a&gt; Gestion de projets&lt;/p&gt;  &lt;p&gt;Vous êtes autonome, rigoureux, pédagogue avec un bon sens du relationnel et passionné par les technologies Microsoft. &lt;/p&gt;  &lt;p&gt;Rémunération : selon profil&lt;/p&gt;  &lt;p&gt;Votre profil correspond à notre poste ? Vous avez envie de rejoindre une équipe dynamique à taille humaine dans le Sud Ouest ? Bewise a besoin de vous. &lt;/p&gt;  &lt;p&gt;Envoyez votre CV à &lt;a href="mailto:job@bewise.fr"&gt;job@bewise.fr&lt;/a&gt; en indiquant « [ConsultantNET2010] » dans le sujet du mail.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;Consultant fonctionnel sur les technologies Microsoft&lt;/h3&gt;  &lt;p&gt;Bewise est une structure en forte expansion. Pour l’accompagner, nous recherchons un&amp;#160; &lt;b&gt;&lt;u&gt;consultant(e) fonctionnel&lt;/u&gt;&lt;/b&gt; ayant une bonne connaissance des technologies Microsoft. &lt;/p&gt;  &lt;p&gt;Vous connaissez les produits Microsoft suivants :&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/_1fIQLbpqRAw/Sx0qXunl0pI/AAAAAAAABwc/vDIqHJZQGbQ/s1600-h/clip_image002%5B35%5D%5B2%5D.gif"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="clip_image002[35]" border="0" alt="clip_image002[35]" src="http://lh6.ggpht.com/_1fIQLbpqRAw/Sx0qX6CZDDI/AAAAAAAABwg/GnK9xvWhX2s/clip_image002%5B35%5D_thumb.gif?imgmax=800" width="24" height="23" /&gt;&lt;/a&gt; MOSS&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_1fIQLbpqRAw/Sx0qYes1-pI/AAAAAAAABwk/hkJKX5b13p8/s1600-h/clip_image002%5B36%5D%5B2%5D.gif"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="clip_image002[36]" border="0" alt="clip_image002[36]" src="http://lh4.ggpht.com/_1fIQLbpqRAw/Sx0qYuPEj5I/AAAAAAAABwo/03xTLxDOwiA/clip_image002%5B36%5D_thumb.gif?imgmax=800" width="24" height="23" /&gt;&lt;/a&gt; MS CRM 4.0&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_1fIQLbpqRAw/Sx0qZCAS3TI/AAAAAAAABws/vOMn1_swpZw/s1600-h/clip_image002%5B37%5D%5B2%5D.gif"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="clip_image002[37]" border="0" alt="clip_image002[37]" src="http://lh3.ggpht.com/_1fIQLbpqRAw/Sx0qZgI7WiI/AAAAAAAABww/Kin4iCMYuIw/clip_image002%5B37%5D_thumb.gif?imgmax=800" width="24" height="23" /&gt;&lt;/a&gt; SQL Server Business Intelligence&lt;/p&gt;  &lt;p&gt;La connaissance des autres produits serveur de Microsoft (BizTalk Server, Team Foundation Server, etc.) serait un plus.&lt;/p&gt;  &lt;p&gt;Principales missions : &lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/_1fIQLbpqRAw/Sx0qZx7AJhI/AAAAAAAABw0/eEEYPXT8WLI/s1600-h/clip_image002%5B38%5D%5B2%5D.gif"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="clip_image002[38]" border="0" alt="clip_image002[38]" src="http://lh4.ggpht.com/_1fIQLbpqRAw/Sx0qadFZuWI/AAAAAAAABw4/i6nT1e0IRhk/clip_image002%5B38%5D_thumb.gif?imgmax=800" width="24" height="23" /&gt;&lt;/a&gt; traduction des besoins utilisateurs en cahiers des charges, écriture de spécifications&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_1fIQLbpqRAw/Sx0qapIo5JI/AAAAAAAABw8/8UpgKrRVnE4/s1600-h/clip_image002%5B39%5D%5B2%5D.gif"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="clip_image002[39]" border="0" alt="clip_image002[39]" src="http://lh6.ggpht.com/_1fIQLbpqRAw/Sx0qa8zd_2I/AAAAAAAABxA/hyJuIVRdiH0/clip_image002%5B39%5D_thumb.gif?imgmax=800" width="24" height="23" /&gt;&lt;/a&gt; assistance à la définition des besoins et des solutions &lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_1fIQLbpqRAw/Sx0qbDhGa0I/AAAAAAAABxE/q4e8WqMm7wk/s1600-h/clip_image002%5B40%5D%5B2%5D.gif"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="clip_image002[40]" border="0" alt="clip_image002[40]" src="http://lh3.ggpht.com/_1fIQLbpqRAw/Sx0qbgOzAZI/AAAAAAAABxI/AtAjj_TFx_U/clip_image002%5B40%5D_thumb.gif?imgmax=800" width="24" height="23" /&gt;&lt;/a&gt; accompagnement des utilisateurs sur la prise en main et la maîtrise des outils&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_1fIQLbpqRAw/Sx0qb7IWDJI/AAAAAAAABxM/m0rlEak4jpA/s1600-h/clip_image002%5B41%5D%5B2%5D.gif"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="clip_image002[41]" border="0" alt="clip_image002[41]" src="http://lh3.ggpht.com/_1fIQLbpqRAw/Sx0qcX5QD0I/AAAAAAAABxQ/rbyFqgw02q0/clip_image002%5B41%5D_thumb.gif?imgmax=800" width="24" height="23" /&gt;&lt;/a&gt; conseil en processus, en conduite de changement&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_1fIQLbpqRAw/Sx0qcvwPnVI/AAAAAAAABxU/n4MXyVcNwh4/s1600-h/clip_image002%5B42%5D%5B2%5D.gif"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="clip_image002[42]" border="0" alt="clip_image002[42]" src="http://lh3.ggpht.com/_1fIQLbpqRAw/Sx0qdGr1cbI/AAAAAAAABxY/gVhLVxTBarQ/clip_image002%5B42%5D_thumb.gif?imgmax=800" width="24" height="23" /&gt;&lt;/a&gt; animation de séminaires autour des technologies &lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/_1fIQLbpqRAw/Sx0qdWeCfaI/AAAAAAAABxc/sis-TNMLrgk/s1600-h/clip_image002%5B43%5D%5B2%5D.gif"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="clip_image002[43]" border="0" alt="clip_image002[43]" src="http://lh4.ggpht.com/_1fIQLbpqRAw/Sx0qdqtIIoI/AAAAAAAABxg/NE6cvexDLsc/clip_image002%5B43%5D_thumb.gif?imgmax=800" width="24" height="23" /&gt;&lt;/a&gt; participation aux avant-ventes. &lt;/p&gt;  &lt;p&gt;Vous avez un bon sens du relationnel, vous êtes pédagogue, vous avez de bonnes qualités rédactionnelles ?    &lt;br /&gt;Vous avez le sens du service, vous êtes méthodique et organisé ?     &lt;br /&gt;Vous êtes attiré par les technologies Microsoft ?&lt;/p&gt;  &lt;p&gt;Votre profil correspond à notre poste ? Vous avez envie de rejoindre une équipe dynamique à taille humaine dans le Sud Ouest ? Bewise a besoin de vous. &lt;/p&gt;  &lt;p&gt;Rémunération : selon profil&lt;/p&gt;  &lt;p&gt;Envoyez votre CV à &lt;a href="mailto:job@bewise.fr"&gt;job@bewise.fr&lt;/a&gt; en indiquant « [ConsultantFONC2010] » dans le sujet du mail.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;Stagiaire&lt;/h3&gt;  &lt;p&gt;Bewise est une structure en forte expansion. Pour l’accompagner, nous recherchons un stagiaire qui travaillera sur les technologies de développement Microsoft, à savoir :&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_1fIQLbpqRAw/Sx0qeNCeqRI/AAAAAAAABxk/KQfDHwPnLM0/s1600-h/clip_image002%5B44%5D%5B2%5D.gif"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="clip_image002[44]" border="0" alt="clip_image002[44]" src="http://lh4.ggpht.com/_1fIQLbpqRAw/Sx0qecC90oI/AAAAAAAABxo/-8R2hRyp6U4/clip_image002%5B44%5D_thumb.gif?imgmax=800" width="24" height="23" /&gt;&lt;/a&gt; Microsoft .NET 4.0&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/_1fIQLbpqRAw/Sx0qegflgKI/AAAAAAAABxs/8011NSx8bhU/s1600-h/clip_image002%5B45%5D%5B2%5D.gif"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="clip_image002[45]" border="0" alt="clip_image002[45]" src="http://lh6.ggpht.com/_1fIQLbpqRAw/Sx0qfA8Ac7I/AAAAAAAABxw/u3Ub5pSdUPw/clip_image002%5B45%5D_thumb.gif?imgmax=800" width="24" height="23" /&gt;&lt;/a&gt; ASP.NET, WPF, WCF&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_1fIQLbpqRAw/Sx0qfR0difI/AAAAAAAABx0/gjdllBSA_u0/s1600-h/clip_image002%5B46%5D%5B2%5D.gif"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="clip_image002[46]" border="0" alt="clip_image002[46]" src="http://lh3.ggpht.com/_1fIQLbpqRAw/Sx0qf1iKtmI/AAAAAAAABx4/F6wcy1Xv31U/clip_image002%5B46%5D_thumb.gif?imgmax=800" width="24" height="23" /&gt;&lt;/a&gt; Visual Studio .NET 2010&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_1fIQLbpqRAw/Sx0qgJphgfI/AAAAAAAABx8/iomO_GdWYKk/s1600-h/clip_image002%5B47%5D%5B2%5D.gif"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="clip_image002[47]" border="0" alt="clip_image002[47]" src="http://lh6.ggpht.com/_1fIQLbpqRAw/Sx0qgjI6hmI/AAAAAAAAByA/IOaQu_5drLQ/clip_image002%5B47%5D_thumb.gif?imgmax=800" width="24" height="23" /&gt;&lt;/a&gt; SQL Server 2008R2&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_1fIQLbpqRAw/Sx0qg4A-qiI/AAAAAAAAByE/KrnKk6r8YLA/s1600-h/clip_image002%5B48%5D%5B2%5D.gif"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="clip_image002[48]" border="0" alt="clip_image002[48]" src="http://lh6.ggpht.com/_1fIQLbpqRAw/Sx0qhZBPzzI/AAAAAAAAByI/wefoS9m6MCQ/clip_image002%5B48%5D_thumb.gif?imgmax=800" width="24" height="23" /&gt;&lt;/a&gt; Sharepoint 2010&lt;/p&gt;  &lt;p&gt;Qualités attendues : autonomie, rigueur, passionné par les technologies et forte motivation.&lt;/p&gt;  &lt;p&gt;A l’heure actuelle le sujet de stage n’est pas complètement défini, mais fera intervenir plusieurs des technologies précédentes.&lt;/p&gt;  &lt;p&gt;La durée minimale du stage est de 3 mois ETP (stage de fin d’étude, contrat de professionnalisation en alternance). Le poste est à pourvoir en 2010.&lt;/p&gt;  &lt;p&gt;Vous avez envie de rejoindre une équipe sympa, jeune et dynamique ? Envoyez votre CV et votre lettre de motivation à &lt;a href="mailto:job@bewise.fr"&gt;job@bewise.fr&lt;/a&gt; en indiquant [StagiaireQ12010] dans le sujet du mail.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5619051591853320584-978722883363182789?l=blog.adhess.net' alt='' /&gt;&lt;/div&gt;</description>
      <link>http://blog.adhess.net/2009/12/des-nouvelles-de-bewise.html</link>
      <author>noreply@blogger.com (Guillaume Lacasa)</author>
      <total xmlns="http://purl.org/syndication/thread/1.0">0</total>
    </item>
    <item>
      <title>[Windows Mobile] Afficher une fen&amp;#234;tre lors d’une exception non g&amp;#233;r&amp;#233;e</title>
      <link>http://blogs.developpeur.org/vko/archive/2009/12/03/windows-mobile-afficher-une-fen-tre-lors-d-une-exception-non-g-r-e.aspx</link>
      <pubDate>Thu, 03 Dec 2009 18:14:42 GMT</pubDate>
      <guid isPermaLink="false">7d6e5d3c-61cc-4264-bc3a-a336023fcec4:47326</guid>
      <creator xmlns="http://purl.org/dc/elements/1.1/">Vko</creator>
      <comments xmlns="http://purl.org/rss/1.0/modules/slash/">2</comments>
      <comments>http://blogs.developpeur.org/vko/comments/47326.aspx</comments>
      <commentRss xmlns="http://wellformedweb.org/CommentAPI/">http://blogs.developpeur.org/vko/commentrss.aspx?PostID=47326</commentRss>
      <description>
  
Personne n’est à l’abri d’une exception non gérée, c’est à dire une exception que vous n’avez pas “catché” et qui fait planter méchamment votre application. Heureusement il est possible de détecter ce type de plantage et d’afficher une fenêtre.
Pou...&lt;img src="http://blogs.developpeur.org/aggbug.aspx?PostID=47326" width="1" height="1"&gt;</description>
      <category domain="http://blogs.developpeur.org/vko/archive/tags/Windows+Mobile/default.aspx">Windows Mobile</category>
    </item>
    <item>
      <title>Layout pour Windows Mobile (Part 1)</title>
      <link>http://blogs.developpeur.org/vko/archive/2009/11/30/layout-pour-windows-mobile-part-1.aspx</link>
      <pubDate>Mon, 30 Nov 2009 21:00:00 GMT</pubDate>
      <guid isPermaLink="false">7d6e5d3c-61cc-4264-bc3a-a336023fcec4:47272</guid>
      <creator xmlns="http://purl.org/dc/elements/1.1/">Vko</creator>
      <comments xmlns="http://purl.org/rss/1.0/modules/slash/">2</comments>
      <comments>http://blogs.developpeur.org/vko/comments/47272.aspx</comments>
      <commentRss xmlns="http://wellformedweb.org/CommentAPI/">http://blogs.developpeur.org/vko/commentrss.aspx?PostID=47272</commentRss>
      <description>
  
Windows Mobile est, contrairement à ce que l’on pourrait croire, une plateforme ultra complète pour le développement mobile : Compact Framework, office, téléphonie, connectivité, Bluetooth, GPS, notifications, gesture, Web Service, Threading …
Malg...&lt;img src="http://blogs.developpeur.org/aggbug.aspx?PostID=47272" width="1" height="1"&gt;</description>
      <category domain="http://blogs.developpeur.org/vko/archive/tags/Windows+Mobile/default.aspx">Windows Mobile</category>
    </item>
    <item>
      <title>La boite de dialogue PrintDialog ne veut pas s’afficher !?</title>
      <link>http://blogs.developpeur.org/vko/archive/2009/11/17/la-boite-de-dialogue-printdialog-ne-veut-pas-s-afficher.aspx</link>
      <pubDate>Tue, 17 Nov 2009 11:17:34 GMT</pubDate>
      <guid isPermaLink="false">7d6e5d3c-61cc-4264-bc3a-a336023fcec4:47106</guid>
      <creator xmlns="http://purl.org/dc/elements/1.1/">Vko</creator>
      <comments xmlns="http://purl.org/rss/1.0/modules/slash/">1</comments>
      <comments>http://blogs.developpeur.org/vko/comments/47106.aspx</comments>
      <commentRss xmlns="http://wellformedweb.org/CommentAPI/">http://blogs.developpeur.org/vko/commentrss.aspx?PostID=47106</commentRss>
      <description>
  Si un jour vous utilisez la boite de dialogue PrintDialog, positionnez la propriété UseExDialog à True histoire d’éviter de perdre du temps.  En fait, dans la plupart des cas cela n’aura pas d’incidence. Par contre si vous êtes sur Windows 7 en 64 bit...&lt;img src="http://blogs.developpeur.org/aggbug.aspx?PostID=47106" width="1" height="1"&gt;</description>
    </item>
    <item>
      <guid isPermaLink="false">tag:blogger.com,1999:blog-5619051591853320584.post-2242180640574693740</guid>
      <pubDate>Fri, 13 Nov 2009 14:28:00 +0000</pubDate>
      <updated xmlns="http://www.w3.org/2005/Atom">2009-11-13T15:44:26.790+01:00</updated>
      <category domain="http://www.blogger.com/atom/ns#">MVC</category>
      <title>ASP.NET MVC : Changer de ViewEngine (2/2)</title>
      <description>&lt;p&gt;Nous avons vu dans mon précédent post comment apporter des modifications au ViewEngine utilisé par défaut par MVC. Aujourd’hui, ça va se compliquer puisque nous allons voir ce qu’il est nécessaire de savoir pour créer un ViewEngine complet.&lt;/p&gt;  &lt;p&gt;Contrairement à ce que nous avons vu précédemment, où nous ne faisions qu’apporter des modification au WebFormViewEngine, cette fois nous aurons un contrôle total du code HTML qui sera généré, libre à vous d’utiliser des pages PHP ou de créer votre propre langage serveur ! Par contre, je ne vous cache pas que mettre ça en place vous demandera un peu plus de boulot que d’utiliser les webforms.&lt;/p&gt;  &lt;p&gt;Pour créer un nouveau View Engine from scratch, il va nous falloir implémenter 2 interfaces: IView, qui représentera nos vues (ce qui nous permettre de renvoyer le code html au client), et IViewEngine, qui nous servira à charger la vue correcte en fonction du contexte et du nom de la vue.&lt;/p&gt;  &lt;p&gt;Commençons par la vue : l’interface IView nous demande de faire une méthode Render, qui reçoit des informations dans le viewContext, et devra écrire le code HTML à renvoyer au client dans un TextWriter.&lt;/p&gt;  &lt;div style="border-bottom: #000000 1px solid; border-left: #000000 1px solid; margin-left: 10pt; border-top: #000000 1px solid; margin-right: 2pt; border-right: #000000 1px solid"&gt;   &lt;div style="background-color: #dcdcdc; white-space: nowrap; overflow: scroll"&gt;&lt;font face=" Consolas"&gt;&lt;font size="1"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#0000ff"&gt;public&lt;/font&gt;&lt;font color="#000000"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#0000ff"&gt;class&lt;/font&gt;&lt;font color="#000000"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#2b91af"&gt;MyCompletelySpecificView&lt;/font&gt;&lt;font color="#000000"&gt; : &lt;/font&gt;&lt;font color="#2b91af"&gt;IView&lt;/font&gt;&lt;font color="#000000"&gt;          &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; {           &lt;br /&gt;&lt;/font&gt;&lt;font color="#0000ff"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; #region&lt;/font&gt;&lt;font color="#000000"&gt; IView Members          &lt;br /&gt;          &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#0000ff"&gt;public&lt;/font&gt;&lt;font color="#000000"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#0000ff"&gt;void&lt;/font&gt;&lt;font color="#000000"&gt; Render(&lt;/font&gt;&lt;font color="#2b91af"&gt;ViewContext&lt;/font&gt;&lt;font color="#000000"&gt; viewContext, System.IO.&lt;/font&gt;&lt;font color="#2b91af"&gt;TextWriter&lt;/font&gt;&lt;font color="#000000"&gt; writer)          &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; {           &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#008000"&gt;// on va faire notre rendu ici&lt;/font&gt;&lt;font color="#000000"&gt;          &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }           &lt;br /&gt;          &lt;br /&gt;&lt;/font&gt;&lt;font color="#0000ff"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; #endregion&lt;/font&gt;&lt;font color="#000000"&gt;          &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; }           &lt;br /&gt;&lt;/font&gt;&lt;/font&gt;&lt;/div&gt; &lt;/div&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;Nous avons ici toute liberté pour faire ce que nous voulons ! Nous allons par exemple aller chercher notre vue en base de données : pour cela, nous avons une table toute simple avec 2 colonnes : le nom de la vue, et le code HTML correspondant.&lt;/p&gt;  &lt;p&gt;Nous pouvons créer notre DatabaseView qui ira chercher en base de données le code html, au lieu de chercher un fichier.&lt;/p&gt;  &lt;div style="border-bottom: #000000 1px solid; border-left: #000000 1px solid; margin-left: 10pt; border-top: #000000 1px solid; margin-right: 2pt; border-right: #000000 1px solid"&gt;   &lt;div style="background-color: #dcdcdc; white-space: nowrap; overflow: scroll"&gt;&lt;font face=" Consolas"&gt;&lt;font size="1"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#0000ff"&gt;public&lt;/font&gt;&lt;font color="#000000"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#0000ff"&gt;class&lt;/font&gt;&lt;font color="#000000"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#2b91af"&gt;DatabaseView&lt;/font&gt;&lt;font color="#000000"&gt; : &lt;/font&gt;&lt;font color="#2b91af"&gt;IView&lt;/font&gt;&lt;font color="#000000"&gt;          &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; {           &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#0000ff"&gt;private&lt;/font&gt;&lt;font color="#000000"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#2b91af"&gt;String&lt;/font&gt;&lt;font color="#000000"&gt; viewName;          &lt;br /&gt;          &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#0000ff"&gt;public&lt;/font&gt;&lt;font color="#000000"&gt; DatabaseView(&lt;/font&gt;&lt;font color="#2b91af"&gt;String&lt;/font&gt;&lt;font color="#000000"&gt; viewName)          &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; {           &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#0000ff"&gt;this&lt;/font&gt;&lt;font color="#000000"&gt;.viewName = viewName;          &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }           &lt;br /&gt;          &lt;br /&gt;&lt;/font&gt;&lt;font color="#0000ff"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; #region&lt;/font&gt;&lt;font color="#000000"&gt; IView Members          &lt;br /&gt;          &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#0000ff"&gt;public&lt;/font&gt;&lt;font color="#000000"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#0000ff"&gt;void&lt;/font&gt;&lt;font color="#000000"&gt; Render(&lt;/font&gt;&lt;font color="#2b91af"&gt;ViewContext&lt;/font&gt;&lt;font color="#000000"&gt; viewContext, System.IO.&lt;/font&gt;&lt;font color="#2b91af"&gt;TextWriter&lt;/font&gt;&lt;font color="#000000"&gt; writer)          &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; {           &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#0000ff"&gt;using&lt;/font&gt;&lt;font color="#000000"&gt; (&lt;/font&gt;&lt;font color="#2b91af"&gt;DatabaseViewsDataContext&lt;/font&gt;&lt;font color="#000000"&gt; context = &lt;/font&gt;&lt;font color="#0000ff"&gt;new&lt;/font&gt;&lt;font color="#000000"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#2b91af"&gt;DatabaseViewsDataContext&lt;/font&gt;&lt;font color="#000000"&gt;())          &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; {           &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#2b91af"&gt;ViewContent&lt;/font&gt;&lt;font color="#000000"&gt; content = context.ViewContents.SingleOrDefault(v =&amp;gt; v.ViewName == viewName);          &lt;br /&gt;          &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#0000ff"&gt;if&lt;/font&gt;&lt;font color="#000000"&gt; (content != &lt;/font&gt;&lt;font color="#0000ff"&gt;null&lt;/font&gt;&lt;font color="#000000"&gt;)          &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; writer.Write(content.Text);           &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }           &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }           &lt;br /&gt;          &lt;br /&gt;&lt;/font&gt;&lt;font color="#0000ff"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; #endregion&lt;/font&gt;&lt;font color="#000000"&gt;          &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; }           &lt;br /&gt;&lt;/font&gt;&lt;/font&gt;&lt;/div&gt; &lt;/div&gt;  &lt;p&gt;Il ne nous reste plus qu’à créer le View Engine qui va bien, pour pouvoir appeler correctement nos vues. Nous avons 3 méthodes à implémenter : pour récupérer une vue, pour récupérer une vue partielle, et pour libérer la mémoire de notre vue.&lt;/p&gt;  &lt;div style="border-bottom: #000000 1px solid; border-left: #000000 1px solid; margin-left: 10pt; border-top: #000000 1px solid; margin-right: 2pt; border-right: #000000 1px solid"&gt;   &lt;div style="background-color: #dcdcdc; white-space: nowrap; overflow: scroll"&gt;&lt;font face=" Consolas"&gt;&lt;font size="1"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#0000ff"&gt;public&lt;/font&gt;&lt;font color="#000000"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#0000ff"&gt;class&lt;/font&gt;&lt;font color="#000000"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#2b91af"&gt;DatabaseViewEngine&lt;/font&gt;&lt;font color="#000000"&gt; : &lt;/font&gt;&lt;font color="#2b91af"&gt;IViewEngine&lt;/font&gt;&lt;font color="#000000"&gt;          &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; {           &lt;br /&gt;&lt;/font&gt;&lt;font color="#0000ff"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; #region&lt;/font&gt;&lt;font color="#000000"&gt; IViewEngine Members          &lt;br /&gt;          &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#0000ff"&gt;public&lt;/font&gt;&lt;font color="#000000"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#2b91af"&gt;ViewEngineResult&lt;/font&gt;&lt;font color="#000000"&gt; FindPartialView(&lt;/font&gt;&lt;font color="#2b91af"&gt;ControllerContext&lt;/font&gt;&lt;font color="#000000"&gt; controllerContext, &lt;/font&gt;&lt;font color="#0000ff"&gt;string&lt;/font&gt;&lt;font color="#000000"&gt; partialViewName, &lt;/font&gt;&lt;font color="#0000ff"&gt;bool&lt;/font&gt;&lt;font color="#000000"&gt; useCache)          &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; {           &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#0000ff"&gt;return&lt;/font&gt;&lt;font color="#000000"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#0000ff"&gt;new&lt;/font&gt;&lt;font color="#000000"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#2b91af"&gt;ViewEngineResult&lt;/font&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;font color="#0000ff"&gt;new&lt;/font&gt;&lt;font color="#000000"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#2b91af"&gt;DatabaseView&lt;/font&gt;&lt;font color="#000000"&gt;(partialViewName), &lt;/font&gt;&lt;font color="#0000ff"&gt;this&lt;/font&gt;&lt;font color="#000000"&gt;);          &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }           &lt;br /&gt;          &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#0000ff"&gt;public&lt;/font&gt;&lt;font color="#000000"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#2b91af"&gt;ViewEngineResult&lt;/font&gt;&lt;font color="#000000"&gt; FindView(&lt;/font&gt;&lt;font color="#2b91af"&gt;ControllerContext&lt;/font&gt;&lt;font color="#000000"&gt; controllerContext, &lt;/font&gt;&lt;font color="#0000ff"&gt;string&lt;/font&gt;&lt;font color="#000000"&gt; viewName, &lt;/font&gt;&lt;font color="#0000ff"&gt;string&lt;/font&gt;&lt;font color="#000000"&gt; masterName, &lt;/font&gt;&lt;font color="#0000ff"&gt;bool&lt;/font&gt;&lt;font color="#000000"&gt; useCache)          &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; {           &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#0000ff"&gt;return&lt;/font&gt;&lt;font color="#000000"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#0000ff"&gt;new&lt;/font&gt;&lt;font color="#000000"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#2b91af"&gt;ViewEngineResult&lt;/font&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;font color="#0000ff"&gt;new&lt;/font&gt;&lt;font color="#000000"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#2b91af"&gt;DatabaseView&lt;/font&gt;&lt;font color="#000000"&gt;(viewName), &lt;/font&gt;&lt;font color="#0000ff"&gt;this&lt;/font&gt;&lt;font color="#000000"&gt;);          &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }           &lt;br /&gt;          &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#0000ff"&gt;public&lt;/font&gt;&lt;font color="#000000"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#0000ff"&gt;void&lt;/font&gt;&lt;font color="#000000"&gt; ReleaseView(&lt;/font&gt;&lt;font color="#2b91af"&gt;ControllerContext&lt;/font&gt;&lt;font color="#000000"&gt; controllerContext, &lt;/font&gt;&lt;font color="#2b91af"&gt;IView&lt;/font&gt;&lt;font color="#000000"&gt; view)          &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; {           &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#2b91af"&gt;IDisposable&lt;/font&gt;&lt;font color="#000000"&gt; disposableView = view &lt;/font&gt;&lt;font color="#0000ff"&gt;as&lt;/font&gt;&lt;font color="#000000"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#2b91af"&gt;IDisposable&lt;/font&gt;&lt;font color="#000000"&gt;;          &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#0000ff"&gt;if&lt;/font&gt;&lt;font color="#000000"&gt; (disposableView != &lt;/font&gt;&lt;font color="#0000ff"&gt;null&lt;/font&gt;&lt;font color="#000000"&gt;)          &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; disposableView.Dispose();           &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }           &lt;br /&gt;          &lt;br /&gt;&lt;/font&gt;&lt;font color="#0000ff"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; #endregion&lt;/font&gt;&lt;font color="#000000"&gt;          &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; }           &lt;br /&gt;&lt;/font&gt;&lt;/font&gt;&lt;/div&gt; &lt;/div&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;J’ai ici fait au plus simple, mais vous avez tout loisir pour faire plus compliqué si vous le désirez, pour gérer les vues mobiles, ou bien différentes langues. N’oubliez pas non plus de gérer le cache lorsqu’on vous le demande (et oui, refaire un ViewEngine, ça veut dire qu’il faut TOUT refaire).&lt;/p&gt;  &lt;p&gt;Voilà, vous avez toutes les clés en main pour créer votre propre View Engine, maintenant à vous de jouer !&lt;/p&gt;  &lt;p&gt;&lt;em&gt;Cross-posté vers &lt;a href="http://www.techheadbrothers.com/"&gt;Tech Head Brothers&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5619051591853320584-2242180640574693740?l=blog.adhess.net' alt='' /&gt;&lt;/div&gt;</description>
      <link>http://blog.adhess.net/2009/11/aspnet-mvc-changer-de-viewengine-22.html</link>
      <author>noreply@blogger.com (Guillaume Lacasa)</author>
      <total xmlns="http://purl.org/syndication/thread/1.0">0</total>
    </item>
    <item>
      <guid isPermaLink="false">tag:blogger.com,1999:blog-5619051591853320584.post-5065211897464753434</guid>
      <pubDate>Tue, 10 Nov 2009 11:03:00 +0000</pubDate>
      <updated xmlns="http://www.w3.org/2005/Atom">2009-11-13T15:40:36.490+01:00</updated>
      <category domain="http://www.blogger.com/atom/ns#">MVC</category>
      <title>ASP.NET MVC : Changer de ViewEngine (1/2)</title>
      <description>&lt;p&gt;Nous avons vu dans un précédent post comment changer de ControllerFactory, maintenant nous allons voir comment changer de ViewEngine.&lt;/p&gt;  &lt;p&gt;Mon problème, comme la dernière fois, est que je n’aime pas la convention par défaut de MVC : si je ne mets pas mes vues dans le dossier “Views”, il ne les trouve pas. Je vais donc créer mon propre ViewEngine ; ou plutot je vais étendre celui utilisé par défaut pour redéfinir les dossiers où chercher.&lt;/p&gt;  &lt;p&gt;Avant de faire ça, nous allons d’abord regarder comment fonctionne le WebFormViewEngine : &lt;a href="http://aspnet.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=24471"&gt;le code source est disponible&lt;/a&gt;, ne nous privons pas d’aller y jeter un oeil !     &lt;br /&gt;La classe hérite de VirtualPathProviderViewEngine, classe abstraite qui permet d’aller chercher les fichiers dans le site à partir de chemins virtuels asp.net (vous savez, ceux qui commencent par ~). Regardons son constructeur :&lt;/p&gt;  &lt;div style="border-bottom: #000000 1px solid; border-left: #000000 1px solid; margin-left: 10pt; border-top: #000000 1px solid; margin-right: 2pt; border-right: #000000 1px solid"&gt;   &lt;div style="background-color: #dcdcdc; white-space: nowrap; overflow: scroll"&gt;&lt;font face=" Courier New"&gt;&lt;font size="2"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#0000ff"&gt;public&lt;/font&gt;&lt;font color="#000000"&gt; WebFormViewEngine() {          &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; MasterLocationFormats = &lt;/font&gt;&lt;font color="#0000ff"&gt;new&lt;/font&gt;&lt;font color="#000000"&gt;[] {          &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#a31515"&gt;&amp;quot;~/Views/{1}/{0}.master&amp;quot;&lt;/font&gt;&lt;font color="#000000"&gt;,          &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#a31515"&gt;&amp;quot;~/Views/Shared/{0}.master&amp;quot;          &lt;br /&gt;&lt;/font&gt;&lt;font color="#000000"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; };          &lt;br /&gt;          &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ViewLocationFormats = &lt;/font&gt;&lt;font color="#0000ff"&gt;new&lt;/font&gt;&lt;font color="#000000"&gt;[] {          &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#a31515"&gt;&amp;quot;~/Views/{1}/{0}.aspx&amp;quot;&lt;/font&gt;&lt;font color="#000000"&gt;,          &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#a31515"&gt;&amp;quot;~/Views/{1}/{0}.ascx&amp;quot;&lt;/font&gt;&lt;font color="#000000"&gt;,          &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#a31515"&gt;&amp;quot;~/Views/Shared/{0}.aspx&amp;quot;&lt;/font&gt;&lt;font color="#000000"&gt;,          &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#a31515"&gt;&amp;quot;~/Views/Shared/{0}.ascx&amp;quot;          &lt;br /&gt;&lt;/font&gt;&lt;font color="#000000"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; };          &lt;br /&gt;          &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; PartialViewLocationFormats = ViewLocationFormats;           &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; }&lt;/font&gt;&lt;/font&gt; &lt;/div&gt; &lt;/div&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;Ici on initialise 3 tableaux de String, qui contiennent les emplacements où chercher nos vues, pour les master pages, les vues et les vues partielles. Ainsi, si je veux redéfinir l’emplacement de mes vues, je pourrai me contenter d’hériter de WebFormViewEngine et de remplacer ces valeurs par les miennes :&lt;/p&gt;  &lt;div style="border-bottom: #000000 1px solid; border-left: #000000 1px solid; margin-left: 10pt; border-top: #000000 1px solid; margin-right: 2pt; border-right: #000000 1px solid"&gt;   &lt;div style="background-color: #dcdcdc; white-space: nowrap; overflow: scroll"&gt;&lt;font face=" Consolas"&gt;&lt;font size="1"&gt;&lt;/font&gt;&lt;font color="#0000ff"&gt;public&lt;/font&gt;&lt;font color="#000000"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#0000ff"&gt;class&lt;/font&gt;&lt;font color="#000000"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#2b91af"&gt;MyCustomViewEngine&lt;/font&gt;&lt;font color="#000000"&gt; : &lt;/font&gt;&lt;font color="#2b91af"&gt;WebFormViewEngine&lt;/font&gt;&lt;font color="#000000"&gt;          &lt;br /&gt;{           &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#0000ff"&gt;public&lt;/font&gt;&lt;font color="#000000"&gt; MyCustomViewEngine()          &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; {           &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; MasterLocationFormats = &lt;/font&gt;&lt;font color="#0000ff"&gt;new&lt;/font&gt;&lt;font color="#000000"&gt;[] {          &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#a31515"&gt;&amp;quot;~/MesMasterPages/{1}/{0}.master&amp;quot;&lt;/font&gt;&lt;font color="#000000"&gt;,          &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#a31515"&gt;&amp;quot;~/MesMasterPages/{0}.master&amp;quot;&lt;/font&gt;&lt;font color="#000000"&gt;          &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; };           &lt;br /&gt;          &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ViewLocationFormats = &lt;/font&gt;&lt;font color="#0000ff"&gt;new&lt;/font&gt;&lt;font color="#000000"&gt;[] {          &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#a31515"&gt;&amp;quot;~/MesVues/{1}/{0}.aspx&amp;quot;&lt;/font&gt;&lt;font color="#000000"&gt;,          &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#a31515"&gt;&amp;quot;~/MesVues/{0}.aspx&amp;quot;&lt;/font&gt;&lt;font color="#000000"&gt;          &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; };           &lt;br /&gt;          &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; PartialViewLocationFormats = &lt;/font&gt;&lt;font color="#0000ff"&gt;new&lt;/font&gt;&lt;font color="#000000"&gt;[] {          &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#a31515"&gt;&amp;quot;~/MesVues/{1}/{0}.ascx&amp;quot;&lt;/font&gt;&lt;font color="#000000"&gt;,          &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#a31515"&gt;&amp;quot;~/MesVues/{0}.ascx&amp;quot;&lt;/font&gt;&lt;font color="#000000"&gt;          &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; };           &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; }           &lt;br /&gt;}           &lt;br /&gt;&lt;/font&gt;&lt;/font&gt;&lt;/div&gt; &lt;/div&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;On va maintenant aller un peu plus loin, en créant un ViewEngine qui va renvoyer des vues différentes en fonction du contexte. Un exemple pratique : on veut créer des vues spécifiques pour les appareils mobiles. &lt;/p&gt;  &lt;p&gt;Par exemple, si je veux définir un site “normal” à l’adresse &lt;a href="http://www.monsite.com"&gt;http://www.monsite.com&lt;/a&gt;, et un site mobile à l’adresse &lt;a href="http://m.monsite.com"&gt;http://m.monsite.com&lt;/a&gt;, je vais router les dns de mes deux sous-domaines vers le même site, et mon ViewEngine fera le tri :&lt;/p&gt;  &lt;div style="border-bottom: #000000 1px solid; border-left: #000000 1px solid; margin-left: 10pt; border-top: #000000 1px solid; margin-right: 2pt; border-right: #000000 1px solid"&gt;   &lt;div style="background-color: #dcdcdc; white-space: nowrap; overflow: scroll"&gt;&lt;font face=" Consolas"&gt;&lt;font size="1"&gt;&lt;/font&gt;&lt;font color="#0000ff"&gt;public&lt;/font&gt;&lt;font color="#000000"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#0000ff"&gt;class&lt;/font&gt;&lt;font color="#000000"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#2b91af"&gt;MobileViewSelector&lt;/font&gt;&lt;font color="#000000"&gt; : &lt;/font&gt;&lt;font color="#2b91af"&gt;WebFormViewEngine&lt;/font&gt;&lt;font color="#000000"&gt;          &lt;br /&gt;{           &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#0000ff"&gt;public&lt;/font&gt;&lt;font color="#000000"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#0000ff"&gt;override&lt;/font&gt;&lt;font color="#000000"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#2b91af"&gt;ViewEngineResult&lt;/font&gt;&lt;font color="#000000"&gt; FindView(&lt;/font&gt;&lt;font color="#2b91af"&gt;ControllerContext&lt;/font&gt;&lt;font color="#000000"&gt; controllerContext, &lt;/font&gt;&lt;font color="#0000ff"&gt;string&lt;/font&gt;&lt;font color="#000000"&gt; viewName, &lt;/font&gt;&lt;font color="#0000ff"&gt;string&lt;/font&gt;&lt;font color="#000000"&gt; masterName, &lt;/font&gt;&lt;font color="#0000ff"&gt;bool&lt;/font&gt;&lt;font color="#000000"&gt; useCache)          &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; {           &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#008000"&gt;// on récupère le domaine utilisé pour venir sur le site&lt;/font&gt;&lt;font color="#000000"&gt;          &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#2b91af"&gt;String&lt;/font&gt;&lt;font color="#000000"&gt; domain = controllerContext.RequestContext.HttpContext.Request.Url.Authority.ToLower();          &lt;br /&gt;          &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#008000"&gt;// si on est sur un domaine pour mobile, on va chercher la vue dans un sous-dossiers &amp;quot;mobile&amp;quot;&lt;/font&gt;&lt;font color="#000000"&gt;          &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#0000ff"&gt;if&lt;/font&gt;&lt;font color="#000000"&gt; (domain.StartsWith(&lt;/font&gt;&lt;font color="#a31515"&gt;&amp;quot;m&amp;quot;&lt;/font&gt;&lt;font color="#000000"&gt;) || domain.StartsWith(&lt;/font&gt;&lt;font color="#a31515"&gt;&amp;quot;iphone&amp;quot;&lt;/font&gt;&lt;font color="#000000"&gt;))          &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; viewName = &lt;/font&gt;&lt;font color="#a31515"&gt;&amp;quot;Mobile/&amp;quot;&lt;/font&gt;&lt;font color="#000000"&gt; + viewName;          &lt;br /&gt;          &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#008000"&gt;// on appelle la requête de base&lt;/font&gt;&lt;font color="#000000"&gt;          &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#0000ff"&gt;return&lt;/font&gt;&lt;font color="#000000"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#0000ff"&gt;base&lt;/font&gt;&lt;font color="#000000"&gt;.FindView(controllerContext, viewName, masterName, useCache);          &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; }           &lt;br /&gt;}           &lt;br /&gt;&lt;/font&gt;&lt;/font&gt;&lt;/div&gt; &lt;/div&gt;  &lt;p&gt;Dans cet exemple, si on se connecte au site en utilisant le sous domaine “m” (ou même “iphone”, parce que c’est à la mode, même si le résultat est exactement le même), la vue sera recherchée dans un sous-dossier “Mobile” du dossier des vues, sinon on récupère la vue normale. Bien sûr, l’utilisation du sous domaine n’est qu’un exemple, vous pouvez router vos vues en fonction de variables de sessions, de paramètres passés dans la requête ou tout ce que vous désirez.&lt;/p&gt;  &lt;p&gt;Il suffit ensuite de créer toutes nos vues en double : une vue normale, et une vue mobile, et ça fonctionnera. C’est là un des points forts de MVC, le contrôleur n’a pas besoin d’être modifié : il fait uniquement son boulot de contrôleur et envoie des informations à la vue. Ensuite que la vue soit faite pour un PC ou un mobile ne le concerne plus.&lt;/p&gt;  &lt;p&gt;Dernière petite chose pour que ça fonctionne, il ne faut pas oublier d’enregistrer notre ViewEngine dans le global.asax :&lt;/p&gt;  &lt;div style="border-bottom: #000000 1px solid; border-left: #000000 1px solid; margin-left: 10pt; border-top: #000000 1px solid; margin-right: 2pt; border-right: #000000 1px solid"&gt;   &lt;div style="background-color: #dcdcdc; white-space: nowrap; overflow: scroll"&gt;&lt;font face=" Consolas"&gt;&lt;font size="1"&gt;&lt;/font&gt;&lt;font color="#0000ff"&gt;protected&lt;/font&gt;&lt;font color="#000000"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#0000ff"&gt;void&lt;/font&gt;&lt;font color="#000000"&gt; Application_Start()          &lt;br /&gt;{           &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; RegisterRoutes(&lt;/font&gt;&lt;font color="#2b91af"&gt;RouteTable&lt;/font&gt;&lt;font color="#000000"&gt;.Routes);          &lt;br /&gt;          &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#008000"&gt;// On supprime le ViewEngine par défaut, on n'en a plus besoin&lt;/font&gt;&lt;font color="#000000"&gt;          &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#2b91af"&gt;ViewEngines&lt;/font&gt;&lt;font color="#000000"&gt;.Engines.Clear();          &lt;br /&gt;          &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#008000"&gt;// On enregistre notre ViewEngine &lt;/font&gt;&lt;font color="#000000"&gt;         &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#2b91af"&gt;ViewEngines&lt;/font&gt;&lt;font color="#000000"&gt;.Engines.Add(&lt;/font&gt;&lt;font color="#0000ff"&gt;new&lt;/font&gt;&lt;font color="#000000"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#2b91af"&gt;MobileViewSelector&lt;/font&gt;&lt;font color="#000000"&gt;());          &lt;br /&gt;}           &lt;br /&gt;&lt;/font&gt;&lt;/font&gt;&lt;/div&gt; &lt;/div&gt;  &lt;p&gt;Nous verrons dans un prochain post comment modifier le ViewEngine plus en profondeur. Nous n’avons ici modifié que l’appel des fichiers aspx, mais il est possible de modifier totalement le système de rendu, si par exemple vous ne souhaitez pas utiliser de webforms.&lt;/p&gt;  &lt;p&gt;&lt;em&gt;Cross-posté vers &lt;a href="http://www.techheadbrothers.com/"&gt;Tech Head Brothers&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5619051591853320584-5065211897464753434?l=blog.adhess.net' alt='' /&gt;&lt;/div&gt;</description>
      <link>http://blog.adhess.net/2009/11/aspnet-mvc-changer-de-viewengine-12.html</link>
      <author>noreply@blogger.com (Guillaume Lacasa)</author>
      <total xmlns="http://purl.org/syndication/thread/1.0">0</total>
    </item>
    <item>
      <title>[Tips] RIA Services Class Library : le RiaContext n’est pas g&amp;#233;n&amp;#233;r&amp;#233;</title>
      <link>http://blogs.developpeur.org/vko/archive/2009/11/06/tips-ria-services-class-library-le-riacontext-n-est-pas-g-n-r.aspx</link>
      <pubDate>Fri, 06 Nov 2009 08:57:49 GMT</pubDate>
      <guid isPermaLink="false">7d6e5d3c-61cc-4264-bc3a-a336023fcec4:47010</guid>
      <creator xmlns="http://purl.org/dc/elements/1.1/">Vko</creator>
      <comments xmlns="http://purl.org/rss/1.0/modules/slash/">1</comments>
      <comments>http://blogs.developpeur.org/vko/comments/47010.aspx</comments>
      <commentRss xmlns="http://wellformedweb.org/CommentAPI/">http://blogs.developpeur.org/vko/commentrss.aspx?PostID=47010</commentRss>
      <description>
  
La Microsoft .NET RIA Services July 2009 Preview apporte un nouveau template de projet : .NET RIA Services Class Library. Ce template génère 2 projets :
   Une librairie de classe .NET dans lequel vous allez pouvoir mettre tous vos domaines    Une ...&lt;img src="http://blogs.developpeur.org/aggbug.aspx?PostID=47010" width="1" height="1"&gt;</description>
      <category domain="http://blogs.developpeur.org/vko/archive/tags/Silverlight/default.aspx">Silverlight</category>
    </item>
    <item>
      <guid isPermaLink="false">tag:blogger.com,1999:blog-5619051591853320584.post-1758164442448112676</guid>
      <pubDate>Sat, 31 Oct 2009 21:51:00 +0000</pubDate>
      <updated xmlns="http://www.w3.org/2005/Atom">2009-10-31T22:51:26.534+01:00</updated>
      <category domain="http://www.blogger.com/atom/ns#">MVC</category>
      <title>ASP.NET MVC : Pas de cache dans le Controller Factory</title>
      <description>&lt;p&gt;J’ai récemment expliqué &lt;a href="http://blog.adhess.net/2009/10/aspnet-mvc-changer-de-controllerfactory.html"&gt;comment changer de Controller Factory&lt;/a&gt; dans MVC, mais depuis ce jour il y a un truc qui me tracasse : l’exemple que j’ai donné n’était pas du tout optimisé. En effet, on instancie un nouveau contrôleur à chaque requête, alors qu’on pourrait très bien en instancier un seul et le mettre en cache. Vu que ça prenait que quelques lignes de code, j’ai décidé d’étendre le DefaultControllerFactory pour y ajouter un cache des contrôleurs. Et là, déception, j’ai une exception lorsque lance mon application :&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;A single instance of controller 'MyMvcApplication.Controllers.HomeController' cannot be used to handle multiple requests. If a custom controller factory is in use, make sure that it creates a new instance of the controller for each request.&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;A la première requête, la charge se charge correctement, mais lors du chargement de la seconde page (et donc quand le cache est utilisé), le controller refuse de faire son boulot.&lt;/p&gt;  &lt;p&gt;Je suis allé faire un petit tour dans &lt;a href="http://aspnet.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=33836"&gt;le code source&lt;/a&gt; pour voir comment était créé le contrôleur, et effectivement à chaque requête une nouvelle instance est créée, comme dans mon ControllerFactory perso. D’après Scott Hanselman, mettre en cache une instance d’un contrôleur pourrait avoir des effets de bord non désirés (&lt;a href="http://twitter.com/shanselman/status/5265360733"&gt;source&lt;/a&gt;). Ne vous embêtez donc pas à vouloir optimiser plus que ça, le fonctionnement de base fonctionne très bien… ou alors il vous faudra recoder complètement le contrôleur de base de MVC pour le rendre capable de gérer le cache (bon courage).&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5619051591853320584-1758164442448112676?l=blog.adhess.net' alt='' /&gt;&lt;/div&gt;</description>
      <link>http://blog.adhess.net/2009/10/aspnet-mvc-pas-de-cache-dans-le.html</link>
      <author>noreply@blogger.com (Guillaume Lacasa)</author>
      <total xmlns="http://purl.org/syndication/thread/1.0">0</total>
    </item>
    <item>
      <title>[Silverlight] Impossible d’installer RIA Services !?</title>
      <link>http://blogs.developpeur.org/vko/archive/2009/10/29/silverlight-impossible-d-installer-ria-services.aspx</link>
      <pubDate>Thu, 29 Oct 2009 17:50:59 GMT</pubDate>
      <guid isPermaLink="false">7d6e5d3c-61cc-4264-bc3a-a336023fcec4:46943</guid>
      <creator xmlns="http://purl.org/dc/elements/1.1/">Vko</creator>
      <comments xmlns="http://purl.org/rss/1.0/modules/slash/">0</comments>
      <comments>http://blogs.developpeur.org/vko/comments/46943.aspx</comments>
      <commentRss xmlns="http://wellformedweb.org/CommentAPI/">http://blogs.developpeur.org/vko/commentrss.aspx?PostID=46943</commentRss>
      <description>
  
Petite surprise durant l’installation de RIA Services. Je télécharge l’install de RIA Services July 2009 Preview (au préalable j’avais installé les pré-requis). Et blam ! L’installeur me dit que je n’avais pas installer le SDK Beta 3 ? 
En fait j’a...&lt;img src="http://blogs.developpeur.org/aggbug.aspx?PostID=46943" width="1" height="1"&gt;</description>
      <category domain="http://blogs.developpeur.org/vko/archive/tags/Silverlight/default.aspx">Silverlight</category>
    </item>
    <item>
      <guid isPermaLink="false">tag:blogger.com,1999:blog-5619051591853320584.post-8757894288625676720</guid>
      <pubDate>Tue, 27 Oct 2009 10:20:00 +0000</pubDate>
      <updated xmlns="http://www.w3.org/2005/Atom">2009-10-27T11:20:58.141+01:00</updated>
      <category domain="http://www.blogger.com/atom/ns#">JavaScript</category>
      <category domain="http://www.blogger.com/atom/ns#">Ajax</category>
      <category domain="http://www.blogger.com/atom/ns#">ASP.NET</category>
      <category domain="http://www.blogger.com/atom/ns#">Article</category>
      <title>Article : les nouveautés d’ASP.NET 4</title>
      <description>&lt;p&gt;Pour une fois, on va oublier un peu MVC pour en revenir aux bonnes vieilles WebForm. Au programme de ce nouvel article : les nouveautés d’ASP.NET 4 !&lt;/p&gt;  &lt;p&gt;Au programme, de nombreuses optimisations, et quelques nouveautés intéressantes, notamment avec ASP.NET Ajax et le JavaScript.&lt;/p&gt;  &lt;p&gt;Découvrez-le sur le site de Bewise :&lt;/p&gt;  &lt;p&gt;&lt;a title="http://www.bewise.fr/article/138/Les-nouveautes-d-ASP-NET4.aspx" href="http://www.bewise.fr/article/138/Les-nouveautes-d-ASP-NET4.aspx"&gt;http://www.bewise.fr/article/138/Les-nouveautes-d-ASP-NET4.aspx&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5619051591853320584-8757894288625676720?l=blog.adhess.net' alt='' /&gt;&lt;/div&gt;</description>
      <link>http://blog.adhess.net/2009/10/article-les-nouveautes-daspnet-4.html</link>
      <author>noreply@blogger.com (Guillaume Lacasa)</author>
      <total xmlns="http://purl.org/syndication/thread/1.0">0</total>
    </item>
    <item>
      <guid isPermaLink="false">tag:blogger.com,1999:blog-5619051591853320584.post-2106169782239137148</guid>
      <pubDate>Thu, 22 Oct 2009 07:32:00 +0000</pubDate>
      <updated xmlns="http://www.w3.org/2005/Atom">2009-10-22T09:32:44.521+02:00</updated>
      <category domain="http://www.blogger.com/atom/ns#">MVC</category>
      <category domain="http://www.blogger.com/atom/ns#">Ajax</category>
      <category domain="http://www.blogger.com/atom/ns#">ASP.NET</category>
      <category domain="http://www.blogger.com/atom/ns#">Article</category>
      <title>Article : Utiliser Ajax avec ASP.NET MVC</title>
      <description>&lt;p&gt;Après mon précédent article, qui présentait les bases de ASP.NET MVC, je me suis dit qu’il pourrait être sympa de faire un peu d’Ajax. &lt;/p&gt;  &lt;p&gt;Dans cet article, pas de JavaScript ni de WebServices (bien qu’il soit tout à fait possible, et certainement très intéressant, d’en faire avec MVC), je me concentre uniquement sur les moyens de faire de l’Ajax spécifiques à MVC, en utilisant l’AjaxHelper du framework.&lt;/p&gt;  &lt;p&gt;Vous allez voir qu’encore une fois, c’est très simple à mettre en place, et la séparation des couches est toujours de la partie puisqu’on utilise toujours les contrôleurs et les vues, de la même manière qu’avec des requêtes http classiques. &lt;/p&gt;  &lt;p&gt;Je vous laisse découvrir l’article sur Tech Head Brothers :&lt;/p&gt;  &lt;p&gt;&lt;a title="http://www.techheadbrothers.com/Articles.aspx/ajaxhelper-aspnet-mvc" href="http://www.techheadbrothers.com/Articles.aspx/ajaxhelper-aspnet-mvc"&gt;http://www.techheadbrothers.com/Articles.aspx/ajaxhelper-aspnet-mvc&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5619051591853320584-2106169782239137148?l=blog.adhess.net' alt='' /&gt;&lt;/div&gt;</description>
      <link>http://blog.adhess.net/2009/10/article-utiliser-ajax-avec-aspnet-mvc.html</link>
      <author>noreply@blogger.com (Guillaume Lacasa)</author>
      <total xmlns="http://purl.org/syndication/thread/1.0">0</total>
    </item>
    <item>
      <guid isPermaLink="false">tag:blogger.com,1999:blog-5619051591853320584.post-3668949398729122594</guid>
      <pubDate>Mon, 19 Oct 2009 10:25:00 +0000</pubDate>
      <updated xmlns="http://www.w3.org/2005/Atom">2009-10-19T12:27:44.338+02:00</updated>
      <category domain="http://www.blogger.com/atom/ns#">MVC</category>
      <category domain="http://www.blogger.com/atom/ns#">ASP.NET</category>
      <title>Tip : des ActionLink plus propres avec ASP.NET MVC</title>
      <description>&lt;p&gt;Malgré tout le bien que je pense d’ASP.NET MVC (qui est, je le rappelle, le meilleur framework de développement web du monde, que dis-je, de l’univers !), je me vois parfois obligé de reconnaître qu’il a des défauts. L’un des plus ennuyeux est l’utilisation de chaînes de caractères et d’objets anonymes dans les helpers Html, source potentielle d’erreurs, qui ne seront pas détectées à la compilation.&lt;/p&gt;  &lt;p&gt;Pour remédier à ce soucis, nous avons la possibilité d’étendre le Html Helper, afin d’ajouter nos propres méthodes de création de liens. &lt;/p&gt;  &lt;p&gt;Pour commencer, nous allons créer une classe par contrôleur, dans laquelle nous définirons les méthodes qui renverront les liens vers chaque action. Cette classe va se baser sur le HtmlHelper pour créer les liens, donc n’oublions pas de le passer dans le constructeur :&lt;/p&gt;  &lt;div style="border-bottom: #000000 1px solid; border-left: #000000 1px solid; margin-left: 10pt; border-top: #000000 1px solid; margin-right: 2pt; border-right: #000000 1px solid"&gt;   &lt;div style="background-color: #dcdcdc; white-space: nowrap; overflow: scroll"&gt;&lt;font face=" Courier New"&gt;&lt;font size="2"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#0000ff"&gt;public&lt;/font&gt;&lt;font color="#000000"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#0000ff"&gt;class&lt;/font&gt;&lt;font color="#000000"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#2b91af"&gt;HomeLinks          &lt;br /&gt;&lt;/font&gt;&lt;font color="#000000"&gt;&amp;#160;&amp;#160;&amp;#160; {          &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#0000ff"&gt;private&lt;/font&gt;&lt;font color="#000000"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#2b91af"&gt;HtmlHelper&lt;/font&gt;&lt;font color="#000000"&gt; html;          &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#0000ff"&gt;public&lt;/font&gt;&lt;font color="#000000"&gt; HomeLinks(&lt;/font&gt;&lt;font color="#2b91af"&gt;HtmlHelper&lt;/font&gt;&lt;font color="#000000"&gt; html)          &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; {           &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#0000ff"&gt;this&lt;/font&gt;&lt;font color="#000000"&gt;.html = html;          &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }           &lt;br /&gt;          &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#0000ff"&gt;public&lt;/font&gt;&lt;font color="#000000"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#2b91af"&gt;String&lt;/font&gt;&lt;font color="#000000"&gt; Index(&lt;/font&gt;&lt;font color="#2b91af"&gt;String&lt;/font&gt;&lt;font color="#000000"&gt; linkText)          &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; {           &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#0000ff"&gt;return&lt;/font&gt;&lt;font color="#000000"&gt; html.ActionLink(linkText, &lt;/font&gt;&lt;font color="#a31515"&gt;&amp;quot;Index&amp;quot;&lt;/font&gt;&lt;font color="#000000"&gt;, &lt;/font&gt;&lt;font color="#a31515"&gt;&amp;quot;Home&amp;quot;&lt;/font&gt;&lt;font color="#000000"&gt;);          &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }           &lt;br /&gt;          &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#0000ff"&gt;public&lt;/font&gt;&lt;font color="#000000"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#2b91af"&gt;String&lt;/font&gt;&lt;font color="#000000"&gt; Details(&lt;/font&gt;&lt;font color="#2b91af"&gt;String&lt;/font&gt;&lt;font color="#000000"&gt; linkText, &lt;/font&gt;&lt;font color="#0000ff"&gt;int&lt;/font&gt;&lt;font color="#000000"&gt; id)          &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; {           &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#0000ff"&gt;return&lt;/font&gt;&lt;font color="#000000"&gt; html.ActionLink(linkText, &lt;/font&gt;&lt;font color="#a31515"&gt;&amp;quot;Details&amp;quot;&lt;/font&gt;&lt;font color="#000000"&gt;, &lt;/font&gt;&lt;font color="#a31515"&gt;&amp;quot;Home&amp;quot;&lt;/font&gt;&lt;font color="#000000"&gt;, &lt;/font&gt;&lt;font color="#0000ff"&gt;new&lt;/font&gt;&lt;font color="#000000"&gt; { id = id });          &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }           &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; }&lt;/font&gt;&lt;/font&gt; &lt;/div&gt; &lt;/div&gt;  &lt;p&gt;Une fois cette classe créée, on va ajouter une méthode au HtmlHelper pour pouvoir y accéder depuis notre vue :&lt;/p&gt;  &lt;div style="border-bottom: #000000 1px solid; border-left: #000000 1px solid; margin-left: 10pt; border-top: #000000 1px solid; margin-right: 2pt; border-right: #000000 1px solid"&gt;   &lt;div style="background-color: #dcdcdc; white-space: nowrap; overflow: scroll"&gt;&lt;font face=" Courier New"&gt;&lt;font size="2"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#0000ff"&gt;public&lt;/font&gt;&lt;font color="#000000"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#0000ff"&gt;static&lt;/font&gt;&lt;font color="#000000"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#0000ff"&gt;class&lt;/font&gt;&lt;font color="#000000"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#2b91af"&gt;LinkHelper          &lt;br /&gt;&lt;/font&gt;&lt;font color="#000000"&gt;&amp;#160;&amp;#160;&amp;#160; {          &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#0000ff"&gt;public&lt;/font&gt;&lt;font color="#000000"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#0000ff"&gt;static&lt;/font&gt;&lt;font color="#000000"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#2b91af"&gt;HomeLinks&lt;/font&gt;&lt;font color="#000000"&gt; HomeLinks(&lt;/font&gt;&lt;font color="#0000ff"&gt;this&lt;/font&gt;&lt;font color="#000000"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#2b91af"&gt;HtmlHelper&lt;/font&gt;&lt;font color="#000000"&gt; Html)          &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; {           &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#0000ff"&gt;return&lt;/font&gt;&lt;font color="#000000"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#0000ff"&gt;new&lt;/font&gt;&lt;font color="#000000"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#2b91af"&gt;HomeLinks&lt;/font&gt;&lt;font color="#000000"&gt;(Html);          &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }           &lt;br /&gt;          &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#0000ff"&gt;public&lt;/font&gt;&lt;font color="#000000"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#0000ff"&gt;static&lt;/font&gt;&lt;font color="#000000"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#2b91af"&gt;AccountLinks&lt;/font&gt;&lt;font color="#000000"&gt; AccountLinks(&lt;/font&gt;&lt;font color="#0000ff"&gt;this&lt;/font&gt;&lt;font color="#000000"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#2b91af"&gt;HtmlHelper&lt;/font&gt;&lt;font color="#000000"&gt; Html)          &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; {           &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#0000ff"&gt;return&lt;/font&gt;&lt;font color="#000000"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#0000ff"&gt;new&lt;/font&gt;&lt;font color="#000000"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#2b91af"&gt;AccountLinks&lt;/font&gt;&lt;font color="#000000"&gt;(Html);          &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }           &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; }&lt;/font&gt;&lt;/font&gt; &lt;/div&gt; &lt;/div&gt;  &lt;p&gt;Notez que j’ai séparé les liens de chaque contrôleur dans des classes distinctes par soucis de clarté, mais ce n’est absolument pas obligatoire : vous pouvez si vous le souhaitez étendre directement le HtmlHelper par vos liens :&lt;/p&gt;  &lt;div style="border-bottom: #000000 1px solid; border-left: #000000 1px solid; margin-left: 10pt; border-top: #000000 1px solid; margin-right: 2pt; border-right: #000000 1px solid"&gt;   &lt;div style="background-color: #dcdcdc; white-space: nowrap; overflow: scroll"&gt;&lt;font face=" Courier New"&gt;&lt;font size="2"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#0000ff"&gt;public&lt;/font&gt;&lt;font color="#000000"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#0000ff"&gt;static&lt;/font&gt;&lt;font color="#000000"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#2b91af"&gt;String&lt;/font&gt;&lt;font color="#000000"&gt; Index(&lt;/font&gt;&lt;font color="#0000ff"&gt;this&lt;/font&gt;&lt;font color="#000000"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#2b91af"&gt;HtmlHelper&lt;/font&gt;&lt;font color="#000000"&gt; Html, &lt;/font&gt;&lt;font color="#2b91af"&gt;String&lt;/font&gt;&lt;font color="#000000"&gt; linkText)          &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; {           &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#0000ff"&gt;return&lt;/font&gt;&lt;font color="#000000"&gt; Html.ActionLink(linkText, &lt;/font&gt;&lt;font color="#a31515"&gt;&amp;quot;Index&amp;quot;&lt;/font&gt;&lt;font color="#000000"&gt;, &lt;/font&gt;&lt;font color="#a31515"&gt;&amp;quot;Home&amp;quot;&lt;/font&gt;&lt;font color="#000000"&gt;);          &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; }&lt;/font&gt;&lt;/font&gt; &lt;/div&gt; &lt;/div&gt;  &lt;p&gt;Pour pouvoir appeler vos méthodes depuis vos pages aspx, n’oubliez pas d’ajouter leur namespace dans le web.config :&lt;/p&gt;  &lt;div style="border-bottom: #000000 1px solid; border-left: #000000 1px solid; margin-left: 10pt; border-top: #000000 1px solid; margin-right: 2pt; border-right: #000000 1px solid"&gt;   &lt;div style="background-color: #dcdcdc; white-space: nowrap; overflow: scroll"&gt;&lt;font face=" Courier New"&gt;&lt;font size="2"&gt;&lt;/font&gt;&lt;font color="#0000ff"&gt;&amp;#160;&amp;#160;&amp;#160; &amp;lt;&lt;/font&gt;&lt;font color="#a31515"&gt;pages&lt;/font&gt;&lt;font color="#0000ff"&gt;&amp;gt;          &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;&lt;/font&gt;&lt;font color="#a31515"&gt;namespaces&lt;/font&gt;&lt;font color="#0000ff"&gt;&amp;gt;          &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;&lt;/font&gt;&lt;font color="#a31515"&gt;add&lt;/font&gt;&lt;font color="#0000ff"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#ff0000"&gt;namespace&lt;/font&gt;&lt;font color="#0000ff"&gt;=&lt;/font&gt;&lt;font color="#000000"&gt;&amp;quot;&lt;/font&gt;&lt;font color="#0000ff"&gt;MyMvcApp.LinkHelpers&lt;/font&gt;&lt;font color="#000000"&gt;&amp;quot;&lt;/font&gt;&lt;font color="#0000ff"&gt;/&amp;gt;          &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;/&lt;/font&gt;&lt;font color="#a31515"&gt;namespaces&lt;/font&gt;&lt;font color="#0000ff"&gt;&amp;gt;          &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &amp;lt;/&lt;/font&gt;&lt;font color="#a31515"&gt;pages&lt;/font&gt;&lt;font color="#0000ff"&gt;&amp;gt;&lt;/font&gt;&lt;/font&gt; &lt;/div&gt; &lt;/div&gt;  &lt;p&gt;Et voilà, plus besoin de faire passer de chaines de caractères en dur dans vos liens, vous pouvez utiliser ces méthodes avec des vrais noms et des paramètres typés !&lt;/p&gt;  &lt;p&gt;Ainsi, les 2 lignes suivantes créeront le même lien :&lt;/p&gt;  &lt;div style="border-bottom: #000000 1px solid; border-left: #000000 1px solid; margin-left: 10pt; border-top: #000000 1px solid; margin-right: 2pt; border-right: #000000 1px solid"&gt;   &lt;div style="background-color: #dcdcdc; white-space: nowrap; overflow: scroll"&gt;&lt;font face=" Courier New"&gt;&lt;font size="2"&gt;&amp;lt;%&lt;/font&gt;&lt;font color="#0000ff"&gt;=&lt;/font&gt;&lt;font color="#000000"&gt; Html.ActionLink(&lt;/font&gt;&lt;font color="#a31515"&gt;&amp;quot;Details pour l'id numero 5&amp;quot;&lt;/font&gt;&lt;font color="#000000"&gt;, &lt;/font&gt;&lt;font color="#a31515"&gt;&amp;quot;Details&amp;quot;&lt;/font&gt;&lt;font color="#000000"&gt;, &lt;/font&gt;&lt;font color="#a31515"&gt;&amp;quot;Home&amp;quot;&lt;/font&gt;&lt;font color="#000000"&gt;, &lt;/font&gt;&lt;font color="#0000ff"&gt;new&lt;/font&gt;&lt;font color="#000000"&gt; { id = 5 }&amp;#160; %&amp;gt;          &lt;br /&gt;&amp;lt;%&lt;/font&gt;&lt;font color="#0000ff"&gt;=&lt;/font&gt;&lt;font color="#000000"&gt; Html.HomeLinks().Details(&lt;/font&gt;&lt;font color="#a31515"&gt;&amp;quot;Details pour l'id numero 5&amp;quot;&lt;/font&gt;&lt;font color="#000000"&gt;, 5) %&amp;gt; &lt;/font&gt;&lt;/font&gt;&lt;/div&gt; &lt;/div&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5619051591853320584-3668949398729122594?l=blog.adhess.net' alt='' /&gt;&lt;/div&gt;</description>
      <link>http://blog.adhess.net/2009/10/tip-des-actionlink-plus-propres-avec.html</link>
      <author>noreply@blogger.com (Guillaume Lacasa)</author>
      <total xmlns="http://purl.org/syndication/thread/1.0">0</total>
    </item>
    <item>
      <guid isPermaLink="false">tag:blogger.com,1999:blog-5619051591853320584.post-5636552041755477511</guid>
      <pubDate>Fri, 16 Oct 2009 12:06:00 +0000</pubDate>
      <updated xmlns="http://www.w3.org/2005/Atom">2009-10-16T15:22:44.275+02:00</updated>
      <category domain="http://www.blogger.com/atom/ns#">MVC</category>
      <category domain="http://www.blogger.com/atom/ns#">.NET</category>
      <category domain="http://www.blogger.com/atom/ns#">ASP.NET</category>
      <title>ASP.NET MVC : changer de ControllerFactory</title>
      <description>&lt;p&gt;Le framework ASP.NET MVC utilise ce qu’on appelle “convention over configuration”, ce qui signifie qu’on n’a pas besoin de configurer manuellement notre application pour avoir une application qui fonctionne, tant que l’on respecte certaines conventions. Si l’on ne souhaite pas utiliser ces conventions, on a toujours la possibilité de configurer l’application pour travailler autrement.&lt;/p&gt;  &lt;p&gt;En pratique, qu’est-ce que ça signifie ?&lt;/p&gt;  &lt;p&gt;Lorsque l’on crée un nouveau projet MVC, les contrôleurs sont disposés dans le dossier « Controllers » de l’application, et leur nom doit forcément se terminer par « Controller ». Si on crée un contrôleur dans un autre namespace, ou si son nom est incorrect, le contrôleur ne sera pas reconnu par MVC. Pour pouvoir changer cette convention, on a la possibilité de créer notre propre ControllerFactory, dans lequel on pourra définir nos règles d’appel de nos contrôleurs.&lt;/p&gt;  &lt;p&gt;Pour créer un ControllerFactory, il va falloir créer une nouvelle classe qui implémentera l’interface IControllerFactory, contenant 2 méthodes :&lt;/p&gt;  &lt;p&gt;IController CreateController(System.Web.Routing.RequestContext requestContext, string controllerName)    &lt;br /&gt;et     &lt;br /&gt;void ReleaseController(IController controller)&lt;/p&gt;  &lt;p&gt;La première va nous permettre de renvoyer une instance d’un contrôleur en fonction de son nom, et éventuellement de paramètres venant de la requête ; la seconde va nous permettre de libérer un contrôleur qui n’est plus utilisé. Le résultat ressemblera à quelque chose comme ça :&lt;/p&gt;  &lt;div style="border-bottom: #000000 1px solid; border-left: #000000 1px solid; margin-left: 10pt; border-top: #000000 1px solid; margin-right: 2pt; border-right: #000000 1px solid"&gt;   &lt;div style="background-color: #dcdcdc; white-space: nowrap; overflow: scroll"&gt;&lt;font face=" Courier New"&gt;&lt;font size="2"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#0000ff"&gt;public&lt;/font&gt;&lt;font color="#000000"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#0000ff"&gt;class&lt;/font&gt;&lt;font color="#000000"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#2b91af"&gt;CustomControllerFactory&lt;/font&gt;&lt;font color="#000000"&gt; : &lt;/font&gt;&lt;font color="#2b91af"&gt;IControllerFactory          &lt;br /&gt;&lt;/font&gt;&lt;font color="#000000"&gt;&amp;#160;&amp;#160;&amp;#160; {          &lt;br /&gt;          &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#0000ff"&gt;public&lt;/font&gt;&lt;font color="#000000"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#2b91af"&gt;IController&lt;/font&gt;&lt;font color="#000000"&gt; CreateController(System.Web.Routing.&lt;/font&gt;&lt;font color="#2b91af"&gt;RequestContext&lt;/font&gt;&lt;font color="#000000"&gt; requestContext, &lt;/font&gt;&lt;font color="#0000ff"&gt;string&lt;/font&gt;&lt;font color="#000000"&gt; controllerName)          &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; {           &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#0000ff"&gt;if&lt;/font&gt;&lt;font color="#000000"&gt; (&lt;/font&gt;&lt;font color="#0000ff"&gt;string&lt;/font&gt;&lt;font color="#000000"&gt;.IsNullOrEmpty(controllerName))          &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#0000ff"&gt;throw&lt;/font&gt;&lt;font color="#000000"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#0000ff"&gt;new&lt;/font&gt;&lt;font color="#000000"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#2b91af"&gt;ArgumentNullException&lt;/font&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;font color="#a31515"&gt;&amp;quot;Controller name can't be empty&amp;quot;&lt;/font&gt;&lt;font color="#000000"&gt;);          &lt;br /&gt;          &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#2b91af"&gt;String&lt;/font&gt;&lt;font color="#000000"&gt; controllerType = &lt;/font&gt;&lt;font color="#2b91af"&gt;String&lt;/font&gt;&lt;font color="#000000"&gt;.Concat(&lt;/font&gt;&lt;font color="#a31515"&gt;&amp;quot;MyMvcApplication.CustomController.&amp;quot;&lt;/font&gt;&lt;font color="#000000"&gt;, controllerName);          &lt;br /&gt;          &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#2b91af"&gt;IController&lt;/font&gt;&lt;font color="#000000"&gt; controller = &lt;/font&gt;&lt;font color="#2b91af"&gt;Activator&lt;/font&gt;&lt;font color="#000000"&gt;.CreateInstance(&lt;/font&gt;&lt;font color="#2b91af"&gt;Type&lt;/font&gt;&lt;font color="#000000"&gt;.GetType(controllerType)) &lt;/font&gt;&lt;font color="#0000ff"&gt;as&lt;/font&gt;&lt;font color="#000000"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#2b91af"&gt;IController&lt;/font&gt;&lt;font color="#000000"&gt;;          &lt;br /&gt;          &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#0000ff"&gt;return&lt;/font&gt;&lt;font color="#000000"&gt; controller;          &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }           &lt;br /&gt;          &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#0000ff"&gt;public&lt;/font&gt;&lt;font color="#000000"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#0000ff"&gt;void&lt;/font&gt;&lt;font color="#000000"&gt; ReleaseController(&lt;/font&gt;&lt;font color="#2b91af"&gt;IController&lt;/font&gt;&lt;font color="#000000"&gt; controller)          &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; {           &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#2b91af"&gt;IDisposable&lt;/font&gt;&lt;font color="#000000"&gt; disposableController = controller &lt;/font&gt;&lt;font color="#0000ff"&gt;as&lt;/font&gt;&lt;font color="#000000"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#2b91af"&gt;IDisposable&lt;/font&gt;&lt;font color="#000000"&gt;;          &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#0000ff"&gt;if&lt;/font&gt;&lt;font color="#000000"&gt; (disposableController != &lt;/font&gt;&lt;font color="#0000ff"&gt;null&lt;/font&gt;&lt;font color="#000000"&gt;)          &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; disposableController.Dispose();           &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }           &lt;br /&gt;          &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; }&lt;/font&gt;&lt;/font&gt; &lt;/div&gt; &lt;/div&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;Une fois notre classe créée, il faut l’enregistrer pour qu’elle soit utilisée à la place de la Factory par défaut. Pour ça, on a une méthode SetControllerFactory qu’il nous faut appeler au démarrage de l’application, dans le global.asax :&lt;/p&gt;  &lt;div style="border-bottom: #000000 1px solid; border-left: #000000 1px solid; margin-left: 10pt; border-top: #000000 1px solid; margin-right: 2pt; border-right: #000000 1px solid"&gt;   &lt;div style="background-color: #dcdcdc; white-space: nowrap; overflow: scroll"&gt;&lt;font face=" Courier New"&gt;&lt;font size="2"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#0000ff"&gt;protected&lt;/font&gt;&lt;font color="#000000"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#0000ff"&gt;void&lt;/font&gt;&lt;font color="#000000"&gt; Application_Start()          &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; {           &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; RegisterRoutes(&lt;/font&gt;&lt;font color="#2b91af"&gt;RouteTable&lt;/font&gt;&lt;font color="#000000"&gt;.Routes);          &lt;br /&gt;          &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#2b91af"&gt;ControllerBuilder&lt;/font&gt;&lt;font color="#000000"&gt;.Current.SetControllerFactory(&lt;/font&gt;&lt;font color="#0000ff"&gt;typeof&lt;/font&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;font color="#2b91af"&gt;CustomControllerFactory&lt;/font&gt;&lt;font color="#000000"&gt;));          &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; }&lt;/font&gt;&lt;/font&gt; &lt;/div&gt; &lt;/div&gt;  &lt;p&gt;Une fois ceci fait, nos anciens contrôleurs ne sont plus appelés, la recherche se fera dans le namespace MyMvcApplication.CustomController comme cela a été défini dans notre CustomControllerFactory.&lt;/p&gt;  &lt;p&gt;Crossposté vers &lt;a href="http://www.techheadbrothers.com/Astuces.aspx/aspnet-mvc-changer-controllerfactory"&gt;Tech Head Brothers&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5619051591853320584-5636552041755477511?l=blog.adhess.net' alt='' /&gt;&lt;/div&gt;</description>
      <link>http://blog.adhess.net/2009/10/aspnet-mvc-changer-de-controllerfactory.html</link>
      <author>noreply@blogger.com (Guillaume Lacasa)</author>
      <total xmlns="http://purl.org/syndication/thread/1.0">0</total>
    </item>
    <item>
      <title>[WPF] Thumb … la suite !</title>
      <link>http://blogs.developpeur.org/vko/archive/2009/10/16/wpf-thumb-la-suite.aspx</link>
      <pubDate>Fri, 16 Oct 2009 06:39:00 GMT</pubDate>
      <guid isPermaLink="false">7d6e5d3c-61cc-4264-bc3a-a336023fcec4:46754</guid>
      <creator xmlns="http://purl.org/dc/elements/1.1/">Vko</creator>
      <comments xmlns="http://purl.org/rss/1.0/modules/slash/">1</comments>
      <comments>http://blogs.developpeur.org/vko/comments/46754.aspx</comments>
      <commentRss xmlns="http://wellformedweb.org/CommentAPI/">http://blogs.developpeur.org/vko/commentrss.aspx?PostID=46754</commentRss>
      <description>
  
Comme promis, voici un exemple plus concret de l’utilité du contrôle Thumb.
Voici comment en 20 minutes et à l’aide de 2 Thumbs, on peut déplacer et redimensionner des contrôles très simplement. 

  Edit : suite à une remarque judicieuse, je vous...&lt;img src="http://blogs.developpeur.org/aggbug.aspx?PostID=46754" width="1" height="1"&gt;</description>
      <category domain="http://blogs.developpeur.org/vko/archive/tags/WPF/default.aspx">WPF</category>
    </item>
    <item>
      <guid isPermaLink="false">tag:blogger.com,1999:blog-5619051591853320584.post-3478235960250109361</guid>
      <pubDate>Sat, 03 Oct 2009 10:40:00 +0000</pubDate>
      <updated xmlns="http://www.w3.org/2005/Atom">2009-10-03T14:54:13.662+02:00</updated>
      <category domain="http://www.blogger.com/atom/ns#">.NET</category>
      <title>Convertir le temps Unix en DateTime .NET</title>
      <description>&lt;p&gt;Si vous faites du .NET, il y a peu de chances que vous ayez besoin d’utiliser le temps Unix. Cependant, si jamais vous en avez besoin, il n’y a pas à ma connaissance de méthode effectuant la conversion dans le framework .NET, il va donc falloir effectuer la conversion à la main. Heureusement, ce n’est pas compliqué.&lt;/p&gt;  &lt;p&gt;Le temps Unix est défini par un nombre entier, représentant le nombre de secondes écoulées depuis le début de l’univers, le 1er janvier 1970. Lorsqu’on sait ça, la conversion est toute simple :&lt;/p&gt;  &lt;div style="border-bottom: #000000 1px solid; border-left: #000000 1px solid; margin-left: 10pt; border-top: #000000 1px solid; margin-right: 2pt; border-right: #000000 1px solid"&gt;   &lt;div style="background-color: #dcdcdc; white-space: nowrap; overflow: scroll"&gt;&lt;font face=" Courier New"&gt;&lt;font size="2"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#0000ff"&gt;private&lt;/font&gt;&lt;font color="#000000"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#0000ff"&gt;static&lt;/font&gt;&lt;font color="#000000"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#2b91af"&gt;DateTime&lt;/font&gt;&lt;font color="#000000"&gt; origin = &lt;/font&gt;&lt;font color="#0000ff"&gt;new&lt;/font&gt;&lt;font color="#000000"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#2b91af"&gt;DateTime&lt;/font&gt;&lt;font color="#000000"&gt;(1970, 1, 1);          &lt;br /&gt;          &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#0000ff"&gt;public&lt;/font&gt;&lt;font color="#000000"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#0000ff"&gt;static&lt;/font&gt;&lt;font color="#000000"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#2b91af"&gt;DateTime&lt;/font&gt;&lt;font color="#000000"&gt; UnixTimeToDateTime(&lt;/font&gt;&lt;font color="#0000ff"&gt;long&lt;/font&gt;&lt;font color="#000000"&gt; timespan)          &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; {           &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#0000ff"&gt;return&lt;/font&gt;&lt;font color="#000000"&gt; origin.AddSeconds(timespan);          &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; }           &lt;br /&gt;          &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#0000ff"&gt;public&lt;/font&gt;&lt;font color="#000000"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#0000ff"&gt;static&lt;/font&gt;&lt;font color="#000000"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#0000ff"&gt;long&lt;/font&gt;&lt;font color="#000000"&gt; DateTimeToUnixTime(&lt;/font&gt;&lt;font color="#2b91af"&gt;DateTime&lt;/font&gt;&lt;font color="#000000"&gt; date)          &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; {           &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#2b91af"&gt;TimeSpan&lt;/font&gt;&lt;font color="#000000"&gt; ts = date - origin;          &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#0000ff"&gt;return&lt;/font&gt;&lt;font color="#000000"&gt; (&lt;/font&gt;&lt;font color="#0000ff"&gt;long&lt;/font&gt;&lt;font color="#000000"&gt;)ts.TotalSeconds;          &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; }&lt;/font&gt;&lt;/font&gt; &lt;/div&gt; &lt;/div&gt;  &lt;p&gt;Pour la petite histoire, lorsque le temps Unix est codé sur un entier 32 bits, on ne peux coder les dates que jusqu’au 19 janvier 2038, si ce système est encore utilisé ce jour là, on risque d’avoir le fameux &lt;a href="http://fr.wikipedia.org/wiki/Bogue_de_l'an_2038"&gt;bug de l’an 2038&lt;/a&gt;, un bug &lt;a href="http://xkcd.com/607/"&gt;encore pire que le bug de l’an 2000&lt;/a&gt;. Heureusement, les systèmes 64 bits devraient se généraliser dans les années à venir pour nous éviter ces problèmes.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5619051591853320584-3478235960250109361?l=blog.adhess.net' alt='' /&gt;&lt;/div&gt;</description>
      <link>http://blog.adhess.net/2009/10/convertir-le-temps-unix-en-datetime-net.html</link>
      <author>noreply@blogger.com (Guillaume Lacasa)</author>
      <total xmlns="http://purl.org/syndication/thread/1.0">0</total>
    </item>
    <item>
      <title>[WPF] D&amp;#233;placer des Windows sans bordure</title>
      <link>http://blogs.developpeur.org/vko/archive/2009/09/30/wpf-d-placer-des-windows-sans-bordure.aspx</link>
      <pubDate>Wed, 30 Sep 2009 06:29:00 GMT</pubDate>
      <guid isPermaLink="false">7d6e5d3c-61cc-4264-bc3a-a336023fcec4:46592</guid>
      <creator xmlns="http://purl.org/dc/elements/1.1/">Vko</creator>
      <comments xmlns="http://purl.org/rss/1.0/modules/slash/">3</comments>
      <comments>http://blogs.developpeur.org/vko/comments/46592.aspx</comments>
      <commentRss xmlns="http://wellformedweb.org/CommentAPI/">http://blogs.developpeur.org/vko/commentrss.aspx?PostID=46592</commentRss>
      <description>
  
WPF offre la possibilité de masquer la bordure et la barre de titre. Parfait pour créer des fenêtres arrondies, rondes, etc. Mais attention sans barre de titre, il n’est plus possible de déplacer une fenêtre !! “Don’t panic”, il existe un contrôle t...&lt;img src="http://blogs.developpeur.org/aggbug.aspx?PostID=46592" width="1" height="1"&gt;</description>
      <category domain="http://blogs.developpeur.org/vko/archive/tags/WPF/default.aspx">WPF</category>
    </item>
    <item>
      <title>Thread ou ThreadPool ?</title>
      <link>http://blogs.developpeur.org/vko/archive/2009/09/16/thread-ou-threadpool.aspx</link>
      <pubDate>Wed, 16 Sep 2009 16:50:00 GMT</pubDate>
      <guid isPermaLink="false">7d6e5d3c-61cc-4264-bc3a-a336023fcec4:46429</guid>
      <creator xmlns="http://purl.org/dc/elements/1.1/">Vko</creator>
      <comments xmlns="http://purl.org/rss/1.0/modules/slash/">0</comments>
      <comments>http://blogs.developpeur.org/vko/comments/46429.aspx</comments>
      <commentRss xmlns="http://wellformedweb.org/CommentAPI/">http://blogs.developpeur.org/vko/commentrss.aspx?PostID=46429</commentRss>
      <description>
  L'asynchronisme est quelque chose de complexe : la bonne technique (Thread, ThreadPool, ...), la synchronisation, la concurrence, etc. Il existe de nombreux ouvrages à ce sujet mais certaines règles très simples peuvent vous faciliter le travail.  La ...&lt;img src="http://blogs.developpeur.org/aggbug.aspx?PostID=46429" width="1" height="1"&gt;</description>
    </item>
    <item>
      <guid isPermaLink="false">tag:blogger.com,1999:blog-5619051591853320584.post-8685904696766794153</guid>
      <pubDate>Wed, 16 Sep 2009 11:02:00 +0000</pubDate>
      <updated xmlns="http://www.w3.org/2005/Atom">2009-09-17T17:25:40.497+02:00</updated>
      <category domain="http://www.blogger.com/atom/ns#">JavaScript</category>
      <category domain="http://www.blogger.com/atom/ns#">Ajax</category>
      <title>Microsoft annonce son Ajax Content Delivery Network.</title>
      <description>&lt;p&gt;Il faut croire que Scott Guthrie lis régulièrement mon blog, puisque suite à &lt;a href="http://blog.adhess.net/2009/09/referencer-des-scripts-javascript-dans.html"&gt;mon dernier post&lt;/a&gt;, il vient de bloguer pour annoncer &lt;a href="http://weblogs.asp.net/scottgu/archive/2009/09/15/announcing-the-microsoft-ajax-cdn.aspx"&gt;le lancement du Microsoft Ajax CDN&lt;/a&gt;. (et j’ai découvert par la même occasion ce qu’était un &lt;a href="http://fr.wikipedia.org/wiki/Content_Delivery_Network"&gt;CDN&lt;/a&gt;, un peu de culture ne fais jamais de mal :)&lt;/p&gt;  &lt;p&gt;Ce CDN est un ensemble de serveurs qui vont proposer plusieurs librairies Ajax (pour le moment sont disponibles les librairies ASP.NET Ajax et jQuery [update: le pluin de validation jQuery est aussi disponible : &lt;a href="http://stephenwalther.com/blog/archive/2009/09/16/microsoft-ajax-cdn-and-the-jquery-validation-library.aspx"&gt;blog de Stephen Walther&lt;/a&gt;]) que vous pourrez référencer directement depuis votre site web. C’est totalement gratuit et sans inscription préalable, il suffit de faire un lien directement vers le fichier javascript :&lt;/p&gt;  &lt;p&gt;&lt;font face=" Courier New"&gt;&lt;font size="2"&gt;&lt;/font&gt;&lt;font color="#0000ff"&gt;&amp;lt;&lt;/font&gt;&lt;font color="#a31515"&gt;script&lt;/font&gt;&lt;font color="#000000"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#ff0000"&gt;src&lt;/font&gt;&lt;font color="#0000ff"&gt;=&amp;quot;http://ajax.Microsoft.com/ajax/jQuery/jquery-1.3.2.min.js&amp;quot;&lt;/font&gt;&lt;font color="#000000"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#ff0000"&gt;type&lt;/font&gt;&lt;font color="#0000ff"&gt;=&amp;quot;text/javascript&amp;quot;&amp;gt;&amp;lt;/&lt;/font&gt;&lt;font color="#a31515"&gt;script&lt;/font&gt;&lt;font color="#0000ff"&gt;&amp;gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;Ceci a plusieurs avantages :&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;La requête sera plus rapide (à moins que vous n’ayez une infrastructure comparable à celle de Microsoft ;) &lt;/li&gt;    &lt;li&gt;Si l’utilisateur est allé sur un autre site référençant le même fichier, il sera déjà en cache &lt;/li&gt;    &lt;li&gt;La bande passante est offerte (même si les fichiers JS c’est pas ce qui en consomme le plus, c’est déjà ça de pris) &lt;/li&gt;    &lt;li&gt;On s’embête plus avec les liens relatifs (ça c’est moi qui l’ajoute, mais j’avoue que c’est quand même léger comme avantage :) &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Le CDN sera aussi intégré à ASP.NET 4, puisqu’on pourra préciser dans le ScriptManager si on désire l’utiliser :&lt;/p&gt;  &lt;p&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh5.ggpht.com/_1fIQLbpqRAw/SrDFrMg8OrI/AAAAAAAABq4/ImGZUhxvfdw/image%5B4%5D.png?imgmax=800" width="240" height="118" /&gt;&lt;/p&gt;  &lt;p&gt;La liste des fichiers disponibles sur le CDN peut être consultée sur le site d’ASP.NET : &lt;a title="http://www.asp.net/ajax/cdn/" href="http://www.asp.net/ajax/cdn/"&gt;http://www.asp.net/ajax/cdn/&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5619051591853320584-8685904696766794153?l=blog.adhess.net' alt='' /&gt;&lt;/div&gt;</description>
      <link>http://blog.adhess.net/2009/09/microsoft-annonce-son-ajax-content.html</link>
      <author>noreply@blogger.com (Guillaume Lacasa)</author>
      <total xmlns="http://purl.org/syndication/thread/1.0">0</total>
    </item>
    <item>
      <title>Enum.TryParse ?</title>
      <link>http://blogs.developpeur.org/vko/archive/2009/09/02/enum-tryparse.aspx</link>
      <pubDate>Wed, 02 Sep 2009 07:00:00 GMT</pubDate>
      <guid isPermaLink="false">7d6e5d3c-61cc-4264-bc3a-a336023fcec4:46325</guid>
      <creator xmlns="http://purl.org/dc/elements/1.1/">Vko</creator>
      <comments xmlns="http://purl.org/rss/1.0/modules/slash/">7</comments>
      <comments>http://blogs.developpeur.org/vko/comments/46325.aspx</comments>
      <commentRss xmlns="http://wellformedweb.org/CommentAPI/">http://blogs.developpeur.org/vko/commentrss.aspx?PostID=46325</commentRss>
      <description>
  Alors qu’on peut trouver int.TryParse, DateTime.TryParse dans le Framework .NET, la méthode Enum.TryParse n’existe pas.   La méthode intuitivement utilisée pour essayer de convertir une chaîne de caractères en une Enum est la suivante  :             1...&lt;img src="http://blogs.developpeur.org/aggbug.aspx?PostID=46325" width="1" height="1"&gt;</description>
    </item>
    <item>
      <guid isPermaLink="false">tag:blogger.com,1999:blog-2661757067011288732.post-406479737031733715</guid>
      <pubDate>Wed, 22 Jul 2009 14:27:00 +0000</pubDate>
      <updated xmlns="http://www.w3.org/2005/Atom">2009-07-22T07:50:16.143-07:00</updated>
      <title>Multiple Host Header (mutiple binding) IIS 7 &amp; WCF</title>
      <description>WCF "by design" ne supporte pas plusieurs binding sur un même site. Ce qui est génant, car on trouve très souvent plusieurs binding.... Si vous utilisez le Framework 3.5, il est assez simple de "by passer" ce problème. Coller ces lignes dans le fichier de config du service:&lt;br /&gt;&lt;br /&gt;&amp;lt;system.servicemodel&amp;gt;&lt;br /&gt;&amp;lt;servicehostingenvironment&amp;gt;&lt;br /&gt;&amp;lt;baseaddressprefixfilters&amp;gt;&lt;br /&gt;&amp;lt;add prefix=&amp;quot;http://MonSite.com:9000&amp;quot;/&amp;gt;&lt;br /&gt;&amp;lt;/baseaddressprefixfilters&amp;gt;&lt;br /&gt;&amp;lt;/servicehostingenvironment&amp;gt;&lt;br /&gt;&amp;lt;/system.serviceModel&amp;gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2661757067011288732-406479737031733715?l=becauseofintellisense.blogspot.com' alt='' /&gt;&lt;/div&gt;</description>
      <link>http://becauseofintellisense.blogspot.com/2009/07/multiple-host-header-mutiple-binding.html</link>
      <author>nicolas.bruschini@bewise.fr (Rouge)</author>
      <total xmlns="http://purl.org/syndication/thread/1.0">0</total>
    </item>
    <item>
      <title><![CDATA[Perte de boutons sur Custom Ribbon Word /Excel]]></title>
      <link>http://vsto-sps.over-blog.com/article-33723216.html</link>
      <description><![CDATA[Bonjour,<br> Il peut vous arriver de customiser le Ribbon d'une application Word ou Excel lors d'un developpement VSTO.<br> Avec SharePoint, il se peut que les boutons situés dans votre "Onglet" disparaissent lors d'un save, lorsque celui-ci n'a jamais été selectionné et ce avant le save par[...]</br></br>]]></description>
      <pubDate>Sun, 12 Jul 2009 02:45:00 +0200</pubDate>
      <guid>http://vsto-sps.over-blog.com/article-33723216.html</guid>
      <category>Visual Studio Tool For Office</category>
      <comments>http://vsto-sps.over-blog.com/article-33723216-6.html#anchorComment</comments>
    </item>
    <item>
      <title>Evolutions du moteur 3D soft</title>
      <description>&lt;p&gt;Je viens de rajouter la gestion d’une source lumineuse à mon moteur 3D soft.&lt;/p&gt;  &lt;p&gt;Notre modèle objet est donc composé des entités suivantes:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Scene&lt;/li&gt;    &lt;li&gt;Objet&lt;/li&gt;    &lt;li&gt;Camera&lt;/li&gt;    &lt;li&gt;Light&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;La scène est composée d’une liste d’objets, d’une lumière et d’une caméra active.&lt;/p&gt;  &lt;p&gt;Un objet est composé d’une liste de vertices (des points 3D) et de faces. Chaque face est responsable de son rendu.&lt;/p&gt;  &lt;p&gt;Pour optimiser un peu tout ça, j’ai rajouté une classe qui simule les buffers de travail dans une image (la classe UnsafeBitmap).&lt;/p&gt;  &lt;p&gt;La prochaine étape va être d’accèlerer le rendu en refaisant l’algorithme de remplissage de faces (rastérisation).&lt;/p&gt;  &lt;p&gt;Tout ceci se trouve &lt;a href="http://www.catuhe.com/softengine/softengine.zip" target="_blank"&gt;ici&lt;/a&gt;.&lt;/p&gt;
&lt;div class="addthis_toolbox addthis_default_style"  style="padding-top:10px" &gt;
&lt;a style="padding-right:10px" href="http://www.addthis.com/bookmark.php?v=250&amp;username=4a00fc5d6a261f84&amp;url=http%3a%2f%2fwww.catuhe.com%2fpost%2fEvolutions-du-moteur-3D-soft.aspx&amp;title=Evolutions+du+moteur+3D+soft&amp;description="&gt;&lt;img src="http://s7.addthis.com/static/btn/v2/sm-bookmark-en.gif"  alt="Bookmark and Share" style="border:0"/&gt;&lt;/a&gt;
&lt;/div&gt;</description>
      <link>http://www.catuhe.com/post/Evolutions-du-moteur-3D-soft.aspx</link>
      <author>kosh</author>
      <comments>http://www.catuhe.com/post/Evolutions-du-moteur-3D-soft.aspx#comment</comments>
      <guid>http://www.catuhe.com/post.aspx?id=f636c55c-b075-4257-b39f-0af8cb032abe</guid>
      <pubDate>Sat, 20 Jun 2009 15:17:38 +0300</pubDate>
      <category>3D</category>
      <category>.Net</category>
      <category>Win32</category>
      <category>Windows</category>
      <publisher xmlns="http://purl.org/dc/elements/1.1/">kosh</publisher>
      <server xmlns="http://madskills.com/public/xml/rss/module/pingback/">http://www.catuhe.com/pingback.axd</server>
      <target xmlns="http://madskills.com/public/xml/rss/module/pingback/">http://www.catuhe.com/post.aspx?id=f636c55c-b075-4257-b39f-0af8cb032abe</target>
      <comments xmlns="http://purl.org/rss/1.0/modules/slash/">0</comments>
      <ping xmlns="http://madskills.com/public/xml/rss/module/trackback/">http://www.catuhe.com/trackback.axd?id=f636c55c-b075-4257-b39f-0af8cb032abe</ping>
      <comment xmlns="http://wellformedweb.org/CommentAPI/">http://www.catuhe.com/post/Evolutions-du-moteur-3D-soft.aspx#comment</comment>
      <commentRss xmlns="http://wellformedweb.org/CommentAPI/">http://www.catuhe.com/syndication.axd?post=f636c55c-b075-4257-b39f-0af8cb032abe</commentRss>
    </item>
    <item>
      <title>WPF and Silverlight Designer for Visual Studio 2010 </title>
      <link>http://blogs.developpeur.org/vko/archive/2009/05/28/wpf-and-silverlight-designer-for-visual-studio-2010.aspx</link>
      <pubDate>Thu, 28 May 2009 08:40:00 GMT</pubDate>
      <guid isPermaLink="false">7d6e5d3c-61cc-4264-bc3a-a336023fcec4:45413</guid>
      <creator xmlns="http://purl.org/dc/elements/1.1/">Vko</creator>
      <comments xmlns="http://purl.org/rss/1.0/modules/slash/">0</comments>
      <comments>http://blogs.developpeur.org/vko/comments/45413.aspx</comments>
      <commentRss xmlns="http://wellformedweb.org/CommentAPI/">http://blogs.developpeur.org/vko/commentrss.aspx?PostID=45413</commentRss>
      <description>
  Un nouvel espace dédié au designer de Visual Studio 2010 pour WPF et Silverlight vient d'ouvrir ses portes. 
On pourra y trouver des resources (blog, articles, webcast) sur tout ce qui concerne WPF et Silverlight dans Visual Studio 2010.
Hop ! Ca se...&lt;img src="http://blogs.developpeur.org/aggbug.aspx?PostID=45413" width="1" height="1"&gt;</description>
      <category domain="http://blogs.developpeur.org/vko/archive/tags/WPF/default.aspx">WPF</category>
      <category domain="http://blogs.developpeur.org/vko/archive/tags/VS2010/default.aspx">VS2010</category>
    </item>
    <item>
      <title><![CDATA[Look4Tag Release]]></title>
      <link>http://dotnet.over-blog.fr/article-31559997.html</link>
      <description><![CDATA[<p> Look4Tag est un plugin Outlook qui permet de taguer les messages et de les trier au travers d’une interface ergonomique en WPF. Ce plugin s’adresse aux utilisateurs possédant un grand nombre de messages dans leur boite mail et désireux d’obtenir rapidement différentes vues de ce même ensemble.<br>[...]</br></p>]]></description>
      <pubDate>Mon, 18 May 2009 11:30:00 +0200</pubDate>
      <guid>http://dotnet.over-blog.fr/article-31559997.html</guid>
      <category>Vsto</category>
      <comments>http://dotnet.over-blog.fr/article-31559997-6.html#anchorComment</comments>
    </item>
    <item>
      <title>[Techdays 2009] retour sur mes sessions au techdays 2009</title>
      <link>http://blogs.developpeur.org/musashi/archive/2009/04/26/techdays-2009-retour-sur-mes-sessions-au-techdays-2009.aspx</link>
      <pubDate>Sun, 26 Apr 2009 17:44:41 GMT</pubDate>
      <guid isPermaLink="false">7d6e5d3c-61cc-4264-bc3a-a336023fcec4:45011</guid>
      <creator xmlns="http://purl.org/dc/elements/1.1/">musashi</creator>
      <comments xmlns="http://purl.org/rss/1.0/modules/slash/">0</comments>
      <comments>http://blogs.developpeur.org/musashi/comments/45011.aspx</comments>
      <commentRss xmlns="http://wellformedweb.org/CommentAPI/">http://blogs.developpeur.org/musashi/commentrss.aspx?PostID=45011</commentRss>
      <description>
  Bonjour lecteur,  J’ai eu le plaisir d’animer deux sessions au techdays que vous pouvez retrouver ici :  RDA106 : WPF pour les développeurs Windows Forms  IND115 : Le cycle de vie des applications Web en détail  Au plaisir de lire vos remarques.  Musa...&lt;img src="http://blogs.developpeur.org/aggbug.aspx?PostID=45011" width="1" height="1"&gt;</description>
      <category domain="http://blogs.developpeur.org/musashi/archive/tags/Techdays/default.aspx">Techdays</category>
    </item>
    <item>
      <title><![CDATA[Customiser Visual Studio]]></title>
      <link>http://dotnet.over-blog.fr/article-30612096.html</link>
      <description><![CDATA[<p style="margin: 0cm 0cm 10pt;"> Il est possible de customiser Visual Studio en partant d’un fichier .vssettings qui contient la configuration des font/couleurs. Histoire de vous mettre l’eau à la bouche, voici le résultat final.<br> <a onclick="function onclick() { function onclick() { function onclick() { function onclick() { window.open(this.href); return false; } } } }" href= "http://idata.over-blog.com/2/36/82/82//screenshot-vs_thumb.png"><br> <img height="170" width="300" src="http://idata.over-blog.com/2/36/82/82//screenshot-vs_thumb.png" class="CtreTexte"><br></a> </p> <p style="margin: 0cm 0cm 10pt;"> Ce package a été mis à disposition par rob conery, il contient les fichiers de configuration[...]</br></br></br></p>]]></description>
      <pubDate>Fri, 24 Apr 2009 09:03:00 +0200</pubDate>
      <guid>http://dotnet.over-blog.fr/article-30612096.html</guid>
      <category>Visual Studio</category>
      <comments>http://dotnet.over-blog.fr/article-30612096-6.html#anchorComment</comments>
    </item>
    <item>
      <guid isPermaLink="false">tag:blogger.com,1999:blog-2661757067011288732.post-5439610032705110605</guid>
      <pubDate>Thu, 09 Apr 2009 13:41:00 +0000</pubDate>
      <updated xmlns="http://www.w3.org/2005/Atom">2009-04-09T06:55:22.035-07:00</updated>
      <title>Bewise Day Conference 2009</title>
      <description>Evenement Bewise Sud Ouest !&lt;br /&gt;&lt;p&gt;Les innovations technologiques Microsoft pour les développeurs et les IT pro présentées par les meilleurs experts de Bewise et Microsoft ! Evénement gratuit destiné aux professionnels du développement et de l'IT, aux enseignants et étudiants, venez découvrir:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;2 Sessions Plénières &lt;/li&gt;&lt;li&gt;8 Sessions Dédiées IT Pro et Développeurs &lt;/li&gt;&lt;li&gt;25 Espaces de démonstration &lt;/li&gt;&lt;li&gt;40 Experts Bewise &amp;amp; Microsoft &lt;/li&gt;&lt;/ul&gt;&lt;p align="center"&gt;Inscrivez-vous vite ! &lt;/p&gt;&lt;p align="center"&gt;&gt;&gt; &lt;a href="http://bdc2009.bewise.fr/inscription.aspx"&gt;S'inscrire&lt;/a&gt; &lt;&lt;&lt;/p&gt;&lt;a href="http://bdc2009.bewise.fr/"&gt;&lt;img id="BLOGGER_PHOTO_ID_5322687382350423090" style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 320px; CURSOR: hand; HEIGHT: 109px; TEXT-ALIGN: center" alt="" src="http://4.bp.blogspot.com/_oumjLG2Z2ck/Sd37-TNzZDI/AAAAAAAAJFc/zJ4PgPPA_qU/s320/BDC2009.png" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2661757067011288732-5439610032705110605?l=becauseofintellisense.blogspot.com' alt='' /&gt;&lt;/div&gt;</description>
      <link>http://becauseofintellisense.blogspot.com/2009/04/bewise-day-conference-2009.html</link>
      <author>nicolas.bruschini@bewise.fr (Rouge)</author>
      <media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/_oumjLG2Z2ck/Sd37-TNzZDI/AAAAAAAAJFc/zJ4PgPPA_qU/s72-c/BDC2009.png" height="72" width="72" />
      <total xmlns="http://purl.org/syndication/thread/1.0">0</total>
    </item>
    <item>
      <guid isPermaLink="false">tag:blogger.com,1999:blog-2661757067011288732.post-2142137782418255383</guid>
      <pubDate>Fri, 03 Apr 2009 16:04:00 +0000</pubDate>
      <updated xmlns="http://www.w3.org/2005/Atom">2009-04-03T09:36:14.314-07:00</updated>
      <title>Ajax History - Server Side</title>
      <description>&lt;p class="MsoNormal"&gt;Vous utilisez des update panels pour améliorer les temps de réponses de votre site, mais vous vous rendez compte que les fonctions « page suivante » et « page précédente » de votre navigateur ne prennent pas en compte l’historique de votre navigation ? &lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;br /&gt;Ajax permet pourtant de gérer cet historique de navigation. Néanmoins il vous faut gérer cet historique « à la main ». C'est-à-dire qu’à chaque évenement modifiant l’état de votre page, vous devez sauvegarder les valeurs des variables vous permettant de restituer le même état de navigation, ultérieurement. &lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;br /&gt;Pour cela plusieurs étapes :&lt;/p&gt;&lt;ol&gt;&lt;li class="MsoNormal"&gt;Activer l’historique de navigation dans votre contrôle ScriptManager et s’abonner à l’évènement « OnNavigate »:&lt;?xml:namespace prefix = asp /&gt;&lt;asp:scriptmanager color="#ff0000"&gt;ID&lt;/span&gt;&lt;span style="color:#3366ff;"&gt;="ScriptManager1"&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;EnableHistory&lt;/span&gt;&lt;span style="color:#3366ff;"&gt;="true"&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;OnNavigate&lt;/span&gt;&lt;span style="color:#3366ff;"&gt;="ScriptManager1_Navigate"&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;runat&lt;/span&gt;&lt;span style="color:#3366ff;"&gt;="server"&lt;/span&gt; /&gt;&lt;br /&gt;Sauvegarder vos valeurs grâce à la méthode « AddHistoryPoint » du contrôle « ScriptManager ».&lt;br /&gt;Ex : if (!&lt;span style="color:#3366ff;"&gt;ScriptManager1&lt;/span&gt;.IsNavigating &amp;amp;&amp;amp; IsPostBack)&lt;br /&gt;{&lt;br /&gt;ScriptManager1.AddHistoryPoint(“Var1”, &lt;span style="color:#3366ff;"&gt;MaVariable&lt;/span&gt;.ToString());&lt;br /&gt;}&lt;/li&gt;&lt;li class="MsoNormal"&gt;Cette méthode prend des couples Key/Value. Ces ensembles Key/Value sont stockés dans l’URL. Ces valeurs peuvent être sécurisées grâce à l’attribut « &lt;span style="color:#ff0000;"&gt;EnableSecureHistoryState&lt;/span&gt; » du contrôle « ScriptManager ». Si ca valeur est à « True », les paires Key/Value seront chiffrées, sinon elles seront affichées en clair dans l’URL.&lt;/li&gt;&lt;li class="MsoNormal"&gt;Déclarer et implémenter la méthode « void ScriptManager1_Navigate(object sender, HistoryEventArgs e) » :&lt;br /&gt;void ScriptManager1_Navigate(object sender, HistoryEventArgs e)&lt;br /&gt;{&lt;br /&gt;&lt;span style="color:#3366ff;"&gt;MaVariable&lt;/span&gt; = e.State[“Var1”] ;&lt;br /&gt;}&lt;br /&gt;Cette méthode permet de recharger l’état de votre page. Cette méthode est déclenchée automatiquement lorsque le ScriptManager détecte des éléments dans l’url.&lt;/li&gt;&lt;/ol&gt;&lt;p class="MsoNormal"&gt;Ce mécanisme de gestion de la navigation côté serveur est également possible côté client.&lt;/p&gt;&lt;br /&gt;&lt;/asp:scriptmanager&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2661757067011288732-2142137782418255383?l=becauseofintellisense.blogspot.com' alt='' /&gt;&lt;/div&gt;</description>
      <link>http://becauseofintellisense.blogspot.com/2009/04/ajax-history-server-side.html</link>
      <author>nicolas.bruschini@bewise.fr (Rouge)</author>
      <total xmlns="http://purl.org/syndication/thread/1.0">0</total>
    </item>
    <item>
      <title><![CDATA[Mise en cache de Page / User control]]></title>
      <link>http://dotnet.over-blog.fr/article-29824573.html</link>
      <description><![CDATA[<p style="margin: 0cm 0cm 10pt;"> <span style="font-family: arial,helvetica,sans-serif;"><span style="font-size: 10pt;"><span style="color: #000000;">OutputCache permet de mettre en cache une page ou juste un user control. Cette instruction est typiquement utilisée pour le menu de votre site web. Il suffit de rajouter la ligne suivante dans l’entête.</span></span></span> </p> <p style= "line-height: normal; margin: 0cm 0cm 0pt; background: white; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;"> <span style="font-family: "Courier New"; color: blue; font-size: 10pt; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: FR; mso-ansi-language: EN;" lang= "EN">&lt;</span><span style="font-family: "Courier New"; color: maroon; font-size: 10pt; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: FR; mso-ansi-language: EN;" lang="EN">%@ OutputCache</span> <span style= "font-family: "Courier New"; color: red; font-size: 10pt; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: FR; mso-ansi-language: EN;" lang= "EN">Duration</span><span style="font-family: "Courier New"; color: blue; font-size: 10pt; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: FR; mso-ansi-language: EN;" lang="EN">="120"</span> <span style= "font-family: "Courier New"; color: red; font-size: 10pt; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: FR; mso-ansi-language: EN;" lang= "EN">VaryByParam</span><span style= "font-family: "Courier New"; color: blue; font-size: 10pt; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: FR; mso-ansi-language: EN;" lang="EN">="none"</span> <span style="font-family: "Courier New"; color: red; font-size: 10pt; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: FR; mso-ansi-language: EN;" lang= "EN">%</span><span style="font-family: "Courier New"; color: blue; font-size: 10pt; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: FR; mso-ansi-language: EN;" lang= "EN">&gt;</span> </p> <p style= "line-height: normal; margin: 0cm 0cm 0pt; background: white; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;"> <span style="font-family: "Courier New"; color: black; font-size: 10pt; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: FR; mso-ansi-language: EN;" lang= "EN"> </span> </p> <p style="margin: 0cm 0cm 10pt;"> <span style="font-family: arial,helvetica,sans-serif;"><span style="font-size: 10pt;"><span style="color: #000000;">Mais que se passe t’il[...]</span></span></span></p>]]></description>
      <pubDate>Fri, 03 Apr 2009 15:30:00 +0200</pubDate>
      <guid>http://dotnet.over-blog.fr/article-29824573.html</guid>
      <category>ASP.NET</category>
      <comments>http://dotnet.over-blog.fr/article-29824573-6.html#anchorComment</comments>
    </item>
    <item>
      <title><![CDATA[Bewise Day Conference 2009]]></title>
      <link>http://dotnet.over-blog.fr/article-29782511.html</link>
      <description><![CDATA[<p> <span style="font-family: arial,helvetica,sans-serif;"><span style="font-size: 10pt;"><span style="color: #000000;">Les innovations technologiques Microsoft pour les développeurs et les IT pro présentées par les meilleurs experts de Bewise et Microsoft !<br> Evénement gratuit destiné aux professionnels du développement et de l'IT, aux enseignants et étudiants, venez découvrir:<br></span><br></span></span> </p> <ul> <li> <span style="font-family: arial,helvetica,sans-serif;"><span style="font-size: 10pt;"><span style="color: #000000;">2 Sessions Plénières</span></span></span> </li> <li> <span style="font-family: arial,helvetica,sans-serif;"><span style="font-size: 10pt;"><span style="color: #000000;">8[...]</li></ul></br></br></br></span></span></span>]]></description>
      <pubDate>Thu, 02 Apr 2009 14:17:00 +0200</pubDate>
      <guid>http://dotnet.over-blog.fr/article-29782511.html</guid>
      <category>NEWS</category>
      <comments>http://dotnet.over-blog.fr/article-29782511-6.html#anchorComment</comments>
    </item>
    <item>
      <guid isPermaLink="false">tag:blogger.com,1999:blog-2661757067011288732.post-3017273873864909548</guid>
      <pubDate>Wed, 01 Apr 2009 18:02:00 +0000</pubDate>
      <updated xmlns="http://www.w3.org/2005/Atom">2009-04-02T02:15:10.780-07:00</updated>
      <title>OBA - Office Business Application</title>
      <description>Evènement Bewise Sud Est !&lt;br /&gt;&lt;br /&gt;Le Mercredi 08 Avril, Bewise Sud Est organise un évènement autour d'Office Business Application et VSTO:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Quelles utilisations ?&lt;/li&gt;&lt;li&gt;Quelle utilité ?&lt;/li&gt;&lt;li&gt;Avec quels outils ?&lt;/li&gt;&lt;li&gt;A partir de quel existant ?&lt;/li&gt;&lt;li&gt;Quels sont les gains envisageables pour moi ou mon entité ?&lt;/li&gt;&lt;li&gt;Avantages&lt;/li&gt;&lt;li&gt;Inconvénients&lt;/li&gt;&lt;/ul&gt;Inscriptions : &lt;a href="http://bse.bewise.fr/EvenementOBA"&gt;http://bse.bewise.fr/EvenementOBA&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Profitez en, si ce sujet vous interesse... Bewise Sud Est présentera également un projet récent autour de ces technologies.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://bse.bewise.fr/EvenementOBA"&gt;&lt;img id="BLOGGER_PHOTO_ID_5319787158449477938" style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 320px; CURSOR: hand; HEIGHT: 109px; TEXT-ALIGN: center" alt="" src="http://2.bp.blogspot.com/_oumjLG2Z2ck/SdOuPDQQ2TI/AAAAAAAAI-k/f7EAezXDNL4/s320/image003.jpg" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2661757067011288732-3017273873864909548?l=becauseofintellisense.blogspot.com' alt='' /&gt;&lt;/div&gt;</description>
      <link>http://becauseofintellisense.blogspot.com/2009/04/oba-office-business-application.html</link>
      <author>nicolas.bruschini@bewise.fr (Rouge)</author>
      <media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/_oumjLG2Z2ck/SdOuPDQQ2TI/AAAAAAAAI-k/f7EAezXDNL4/s72-c/image003.jpg" height="72" width="72" />
      <total xmlns="http://purl.org/syndication/thread/1.0">0</total>
    </item>
    <item>
      <guid isPermaLink="false">tag:blogger.com,1999:blog-2661757067011288732.post-4201399843710991927</guid>
      <pubDate>Wed, 01 Apr 2009 13:00:00 +0000</pubDate>
      <updated xmlns="http://www.w3.org/2005/Atom">2009-04-01T06:03:37.076-07:00</updated>
      <title>C'est l'ouverture !</title>
      <description>Voici un nouveau blog, dans lequel, je l'espère, vous trouverez parfois quelques informations utiles pour vos développements autour des technologies Microsoft.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2661757067011288732-4201399843710991927?l=becauseofintellisense.blogspot.com' alt='' /&gt;&lt;/div&gt;</description>
      <link>http://becauseofintellisense.blogspot.com/2009/04/cest-louverture.html</link>
      <author>nicolas.bruschini@bewise.fr (Rouge)</author>
      <total xmlns="http://purl.org/syndication/thread/1.0">0</total>
    </item>
    <item>
      <title><![CDATA[LINQ : Compiled Queries]]></title>
      <link>http://dotnet.over-blog.fr/article-29822074.html</link>
      <description><![CDATA[<p> <span style="color: #000000;"><span style="font-family: Times New Roman; font-size: 12pt;">Le processus d’exécution d’une requête LinqToSql est le suivant :</span></span> </p> <ul> <li> <span style="color: #000000;"><span style="font-family: Times New Roman; font-size: 12pt;">Linq syntaxe <span style="mso-spacerun: yes;"> </span>=&gt; Expression Tree =&gt; SQL</span></span> </li> </ul> <p> <span style="font-family: Times New Roman; font-size: 12pt;"><span style="color: #000000;">L’utilisation d’une compiled query permet de reprendre l’exécution d’une requête au niveau de l’expression Tree en cas d’exécution multiple afin d’accélérer le temps de[...]</span></span></p>]]></description>
      <pubDate>Sun, 22 Mar 2009 14:25:00 +0100</pubDate>
      <guid>http://dotnet.over-blog.fr/article-29822074.html</guid>
      <category>LINQ</category>
      <comments>http://dotnet.over-blog.fr/article-29822074-6.html#anchorComment</comments>
    </item>
    <item>
      <title>[WPF] Afficher l'utilisation CPU à l'aide d'une jauge</title>
      <link>http://blogs.developpeur.org/vko/archive/2009/03/18/wpf-afficher-l-utilisation-cpu-l-aide-d-une-jauge.aspx</link>
      <pubDate>Wed, 18 Mar 2009 21:34:00 GMT</pubDate>
      <guid isPermaLink="false">7d6e5d3c-61cc-4264-bc3a-a336023fcec4:44390</guid>
      <creator xmlns="http://purl.org/dc/elements/1.1/">Vko</creator>
      <comments xmlns="http://purl.org/rss/1.0/modules/slash/">0</comments>
      <comments>http://blogs.developpeur.org/vko/comments/44390.aspx</comments>
      <commentRss xmlns="http://wellformedweb.org/CommentAPI/">http://blogs.developpeur.org/vko/commentrss.aspx?PostID=44390</commentRss>
      <description>
  
     
       Voici une des démonstrations que j'avais présenté à la BDC 2008 afin de démystifier Blend. L'objectif était de transformer une barre de progression en jauge, tout ça en 10 minutes.  Pour réaliser cette démonstration, j'ai "simplement" ...&lt;img src="http://blogs.developpeur.org/aggbug.aspx?PostID=44390" width="1" height="1"&gt;</description>
    </item>
    <item>
      <title>[WPF] HyperLink + Document + Copier/Coller = NotSupportedException</title>
      <link>http://blogs.developpeur.org/vko/archive/2009/03/10/wpf-hyperlink-document-copier-coller-notsupportedexception.aspx</link>
      <pubDate>Tue, 10 Mar 2009 20:11:00 GMT</pubDate>
      <guid isPermaLink="false">7d6e5d3c-61cc-4264-bc3a-a336023fcec4:44269</guid>
      <creator xmlns="http://purl.org/dc/elements/1.1/">Vko</creator>
      <comments xmlns="http://purl.org/rss/1.0/modules/slash/">0</comments>
      <comments>http://blogs.developpeur.org/vko/comments/44269.aspx</comments>
      <commentRss xmlns="http://wellformedweb.org/CommentAPI/">http://blogs.developpeur.org/vko/commentrss.aspx?PostID=44269</commentRss>
      <description>
  La classe FlowDocument vous permet d'afficher n'importe quel type de contenu : texte, image, lien hypertexte, etc., extrêmement pratique ! Toutefois, elle présente un léger problème lorsqu'on utilise un HyperLink.
Exemple : le code ci-dessous permet ...&lt;img src="http://blogs.developpeur.org/aggbug.aspx?PostID=44269" width="1" height="1"&gt;</description>
      <category domain="http://blogs.developpeur.org/vko/archive/tags/WPF/default.aspx">WPF</category>
    </item>
    <item>
      <title>Performances avec WCF</title>
      <link>http://blogs.developpeur.org/vko/archive/2009/03/06/performances-avec-wcf.aspx</link>
      <pubDate>Fri, 06 Mar 2009 09:36:00 GMT</pubDate>
      <guid isPermaLink="false">7d6e5d3c-61cc-4264-bc3a-a336023fcec4:44205</guid>
      <creator xmlns="http://purl.org/dc/elements/1.1/">Vko</creator>
      <comments xmlns="http://purl.org/rss/1.0/modules/slash/">2</comments>
      <comments>http://blogs.developpeur.org/vko/comments/44205.aspx</comments>
      <commentRss xmlns="http://wellformedweb.org/CommentAPI/">http://blogs.developpeur.org/vko/commentrss.aspx?PostID=44205</commentRss>
      <description>
  Si comme beaucoup de gens vous vous posez encore la question "WCF est-il plus performant que Remoting (ou WSE) ?" - oui il y a des gens qui se posent encore la question - je vous conseille d'aller voir ce petit comparatif de l'MSDN :
http://msdn.micr...&lt;img src="http://blogs.developpeur.org/aggbug.aspx?PostID=44205" width="1" height="1"&gt;</description>
      <category domain="http://blogs.developpeur.org/vko/archive/tags/WCF/default.aspx">WCF</category>
    </item>
    <item>
      <title><![CDATA[Transformations massives avec List(T).ConvertAll(TOutput)]]></title>
      <link>http://dotnet.over-blog.fr/article-29820646.html</link>
      <description><![CDATA[<p style="margin: 0cm 0cm 10pt;"> <span style="color: #000000;"><span style="font-family: Calibri; font-size: 12pt;">Une des nouveautés du Framework 3.5 est la méthode d'extention ContertAll.</span> <span style= "font-size: 12pt;"><span style="font-family: Calibri;">Cette méthode permet <span style="mso-spacerun: yes;"> </span>de convertir chaque élément de la liste d’origine dans un nouveau type de sortie. Le binding est précisé dans une méthode anonyme qui retourne l’instance du nouveau type. Voici un exemple utilisant[...]</span></span></span></p>]]></description>
      <pubDate>Tue, 03 Mar 2009 13:43:00 +0100</pubDate>
      <guid>http://dotnet.over-blog.fr/article-29820646.html</guid>
      <category>C#</category>
      <comments>http://dotnet.over-blog.fr/article-29820646-6.html#anchorComment</comments>
    </item>
    <item>
      <title>Comment faire un screenshoot d'un contrôle WPF ?</title>
      <link>http://blogs.developpeur.org/vko/archive/2009/02/25/comment-faire-un-screenshoot-d-un-contr-le-wpf.aspx</link>
      <pubDate>Wed, 25 Feb 2009 18:20:00 GMT</pubDate>
      <guid isPermaLink="false">7d6e5d3c-61cc-4264-bc3a-a336023fcec4:44131</guid>
      <creator xmlns="http://purl.org/dc/elements/1.1/">Vko</creator>
      <comments xmlns="http://purl.org/rss/1.0/modules/slash/">2</comments>
      <comments>http://blogs.developpeur.org/vko/comments/44131.aspx</comments>
      <commentRss xmlns="http://wellformedweb.org/CommentAPI/">http://blogs.developpeur.org/vko/commentrss.aspx?PostID=44131</commentRss>
      <description>
  Rien de plus simple en WPF, je pense que le code ci-dessous se passe de commentaire :

   1: private void Screenshoot(FrameworkElement element, String filename)   2: {   3:     RenderTargetBitmap targetBitmap = new RenderTargetBitmap((int)element.Ac...&lt;img src="http://blogs.developpeur.org/aggbug.aspx?PostID=44131" width="1" height="1"&gt;</description>
      <category domain="http://blogs.developpeur.org/vko/archive/tags/WPF/default.aspx">WPF</category>
    </item>
    <item>
      <title><![CDATA[Masquer le "InformationPanel" sous Word / Excel avec VSTO]]></title>
      <link>http://vsto-sps.over-blog.com/article-27687753.html</link>
      <description><![CDATA[<p> Bonjour à tous,<br> Un petit tips rapide afin de masquer le " InformationPanel " sur Excel ou Word (c'est la même chose).<br> Ce panel est visible lorsque vous deployez votre addin sur un site SharePoint. Celui-ci affiche l'ensemble des ContentProperties (SharePoint) associés au document... <br> <br> Le[...]</br></br></br></br></p>]]></description>
      <pubDate>Sun, 08 Feb 2009 14:02:00 +0100</pubDate>
      <guid>http://vsto-sps.over-blog.com/article-27687753.html</guid>
      <category>Visual Studio Tool For Office</category>
      <comments>http://vsto-sps.over-blog.com/article-27687753-6.html#anchorComment</comments>
    </item>
    <item>
      <title><![CDATA[Connaitre l’état d’un service d’une machine distante]]></title>
      <link>http://dotnet.over-blog.fr/article-29815842.html</link>
      <description><![CDATA[<p style="MARGIN: 0cm 0cm 10pt"> <span style="font-size: 12pt;"><span style="font-family: Calibri;"><span style="font-family: arial,helvetica,sans-serif;"><span style="font-size: 10pt;"><span style="color: #000000;"><span style= "mso-fareast-language: FR;">Vous avez besoin de savoir si un service spécifique est démarré sur une machine distante ?, le</span> namespace « Win32_Service » de WMI est là pour ca.</span></span></span><br> <br></span></span> </p> <address class="contenuArticle"></address> <div style= "padding-bottom: 1pt; padding-left: 4pt; padding-right: 4pt; background: #e5dfec; padding-top: 1pt; mso-element: para-border-div; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: accent4; mso-background-themetint: 51; border: windowtext 1pt solid;"> <p style="LINE-HEIGHT: normal; MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"> <span style="FONT-FAMILY: arial black, avant garde"><span style="FONT-FAMILY: 'Courier New'; COLOR: #2b91af; FONT-SIZE: 10pt; mso-no-proof: yes">ConnectionOptions</span> <span style= "font-family: 'Courier New'; font-size: 10pt; mso-no-proof: yes;"><span style="color: #000000;">aConnectionOptions =</span> <span style="COLOR: blue">new</span> <span style= "color: #2b91af;">ConnectionOptions</span><span style="color: #000000;">();</span></span></span> </p> <p style="LINE-HEIGHT: normal; MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"> <span style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-no-proof: yes"><span style="color: #000000;">aConnectionOptions.Username = domain +</span> <span style="COLOR: #a31515">"\\"</span> <span style="color: #000000;">+ login;</span></span> </p> <p style="LINE-HEIGHT: normal; MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none">[...]</div></br></br></p>]]></description>
      <pubDate>Tue, 03 Feb 2009 11:12:00 +0100</pubDate>
      <guid>http://dotnet.over-blog.fr/article-29815842.html</guid>
      <category>WMI</category>
      <comments>http://dotnet.over-blog.fr/article-29815842-6.html#anchorComment</comments>
    </item>
    <item>
      <title><![CDATA[Le club Microsoft en PACA !]]></title>
      <link>http://dotnet.over-blog.fr/article-29815415.html</link>
      <description><![CDATA[<p style="line-height: normal; margin: 0cm 0cm 0pt;"> <span style= "font-family: "Verdana","sans-serif"; font-size: 10pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-fareast-language: FR;">Rejoignez nous au club MS Provence :</span> </p> <p style="line-height: normal; margin: 0cm 0cm 0pt;"> <span style= "font-family: "Verdana","sans-serif"; font-size: 10pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-fareast-language: FR;"> </span> </p> <p style="line-height: normal; margin: 0cm 0cm 0pt;"> <span style= "font-family: "Verdana","sans-serif"; font-size: 10pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-fareast-language: FR;">« Face à l'intérêt toujours grandissant pour les technologies Microsoft dans notre région PACA et suite au constat du manque de lieu d'échange et de partage d'information à destination des passionnés et des utilisateurs de ces technologies, nous avons[...]</span></p>]]></description>
      <pubDate>Tue, 03 Feb 2009 11:04:00 +0100</pubDate>
      <guid>http://dotnet.over-blog.fr/article-29815415.html</guid>
      <category>NEWS</category>
      <comments>http://dotnet.over-blog.fr/article-29815415-6.html#anchorComment</comments>
    </item>
    <item>
      <title><![CDATA[Linq To SharePoint]]></title>
      <link>http://vsto-sps.over-blog.com/article-27402198.html</link>
      <description><![CDATA[<span style="font-size: 10pt;">Marre du CAML ?<br> Vous pouvez utiliser le Linq afin de requêter les listes SharePoint.<br> .</span><span style="font-size: 10pt;"> </span> <p> <span style="font-size: 10pt; color: #008000;"><span style="font-size: 10pt; color: #008000;"><span style="color: #000000;"><span style="text-decoration: underline;">Exemple Requête Linq sur une liste SharePoint:<br></span>La requete ci-dessous remontera les items selon le ContentType et 2 autres conditions.<br></span></span></span> </p> <p> <span style="font-size: 10pt;"> </span> </p> <p> <span style="font-size: 8pt;"><span style="color: #2b91af;"><span style="color: #2b91af;">SPList</span></span> selectedList =[...]</br></br></p></br></br></span>]]></description>
      <pubDate>Sat, 31 Jan 2009 23:49:00 +0100</pubDate>
      <guid>http://vsto-sps.over-blog.com/article-27402198.html</guid>
      <category>SharePoint 2007</category>
      <comments>http://vsto-sps.over-blog.com/article-27402198-6.html#anchorComment</comments>
    </item>
    <item>
      <title><![CDATA[Un nouveau blog vient de naître...]]></title>
      <link>http://vsto-sps.over-blog.com/article-27401120.html</link>
      <description><![CDATA[<div class="contenuArticle"> <p> Bonjour à tous,<br> Un nouveau blog vient de naître... L'objectif de ce blog est de partager les différentes expériences que j'ai eu concernant les technologies SharePoint et VSTO.... J'espère que celui-ci pourra vous donner des axes de recherches concrets lors des différents travaux que vous[...]</br></p></div>]]></description>
      <pubDate>Sat, 31 Jan 2009 23:04:00 +0100</pubDate>
      <guid>http://vsto-sps.over-blog.com/article-27401120.html</guid>
      <category>Divers</category>
      <comments>http://vsto-sps.over-blog.com/article-27401120-6.html#anchorComment</comments>
    </item>
    <item>
      <title>[WPF] – Accéder à la boucle de rendu en WPF !</title>
      <link>http://blogs.developpeur.org/musashi/archive/2009/01/27/wpf-acc-der-la-boucle-de-rendu-en-wpf.aspx</link>
      <pubDate>Tue, 27 Jan 2009 21:03:10 GMT</pubDate>
      <guid isPermaLink="false">7d6e5d3c-61cc-4264-bc3a-a336023fcec4:43647</guid>
      <creator xmlns="http://purl.org/dc/elements/1.1/">musashi</creator>
      <comments xmlns="http://purl.org/rss/1.0/modules/slash/">0</comments>
      <comments>http://blogs.developpeur.org/musashi/comments/43647.aspx</comments>
      <commentRss xmlns="http://wellformedweb.org/CommentAPI/">http://blogs.developpeur.org/musashi/commentrss.aspx?PostID=43647</commentRss>
      <description>
  
    
      
       Un petit post rapide pour répondre à une question que l’on me pose souvent concernant WPF. Peut-on, comme en DirectX, accéder à la boucle de rendu qui par défaut est masquée ?  Pour être claire on accède pas directement à la bou...&lt;img src="http://blogs.developpeur.org/aggbug.aspx?PostID=43647" width="1" height="1"&gt;</description>
      <category domain="http://blogs.developpeur.org/musashi/archive/tags/WPF/default.aspx">WPF</category>
    </item>
    <item>
      <title><![CDATA[AccountManagement (Framework 3.5) - The directory service can perform the requested operation only on a leaf object]]></title>
      <link>http://dotnet.over-blog.fr/article-27232610.html</link>
      <description><![CDATA[<div class="divTitreArticle"> <address> <span style="font-family: arial,helvetica,sans-serif;"><span class="hitperso1" style="font-size: 10pt;">Le code suivant peut parfois renvoyer une exception.<br></span></span><br> </address> </div> <address class="contenuArticle"></address> <div style= "padding-right: 4pt; padding-left: 4pt; background: #e5dfec; padding-bottom: 1pt; padding-top: 1pt; mso-element: para-border-div; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: accent4; mso-background-themetint: 51; border: windowtext 1pt solid;"> <span style="font-family: arial black,avant garde;"><span style="font-size: 10pt;"><span style="font-family: tahoma,arial,helvetica,sans-serif;"><span style="color: #2b91af;"><span style= "color: #2b91af;">ComputerPrincipal</span></span> <span style="color: #000000;">computer =</span> <span style="color: #2b91af;"><span style= "color: #2b91af;">ComputerPrincipal</span></span><span style="color: #000000;">.FindByIdentity(domainContext,</span> <span style="color: #2b91af;"><span style= "color: #2b91af;">IdentityType</span></span></span></span></span><span style="font-size: 10pt;"><span style="color: #000000;"><span style="font-family: tahoma,arial,helvetica,sans-serif;">.Name, computerName);<br> <br></span></span></span> <address> <span style="font-family: arial black,avant garde;"><span style="font-size: 10pt;"><span style="font-family: tahoma,arial,helvetica,sans-serif;"><span style= "color: #000000;">computer.Delete();</span></span></span></span> </address> </div> <p class="MsoNormal" style="margin: 0cm 0cm 10pt;"> <span style="font-size: 12pt; font-family: Calibri;"><br></span> </p> <address class="MsoNormal" style="margin: 0cm 0cm 10pt;"> <span style="mso-ansi-language: FR;">Après quelques recher<em style="mso-bidi-font-style: normal;">ches, il semble qu’une machine intégrée dans un domaine et tournant sous[...]</em></br></br></br></br></br></span></address>]]></description>
      <pubDate>Tue, 27 Jan 2009 14:28:00 +0100</pubDate>
      <guid>http://dotnet.over-blog.fr/article-27232610.html</guid>
      <category>C#</category>
      <comments>http://dotnet.over-blog.fr/article-27232610-6.html#anchorComment</comments>
    </item>
    <item>
      <title>Analyse des performances des Applications Windows MOBILE</title>
      <link>http://blogs.developpeur.org/musashi/archive/2009/01/25/analyse-des-performances-des-applications-windows-mobile.aspx</link>
      <pubDate>Sun, 25 Jan 2009 17:18:18 GMT</pubDate>
      <guid isPermaLink="false">7d6e5d3c-61cc-4264-bc3a-a336023fcec4:43618</guid>
      <creator xmlns="http://purl.org/dc/elements/1.1/">musashi</creator>
      <comments xmlns="http://purl.org/rss/1.0/modules/slash/">1</comments>
      <comments>http://blogs.developpeur.org/musashi/comments/43618.aspx</comments>
      <commentRss xmlns="http://wellformedweb.org/CommentAPI/">http://blogs.developpeur.org/musashi/commentrss.aspx?PostID=43618</commentRss>
      <description>
  Un petit post pour vous faire part d’un mini-tutoriel sur comment analyser les performances d’une application mobile Windows Mobile (basé sur Windows CE).  Vous trouverez, donc,  ci-dessous les outils disponibles pour l’analyse des performances sur un...&lt;img src="http://blogs.developpeur.org/aggbug.aspx?PostID=43618" width="1" height="1"&gt;</description>
    </item>
    <item>
      <title>Support de plus de 3Go de RAM sous Vista 32 bits</title>
      <description>&lt;p&gt;Je viens tout juste d’installer Windows 7 (build 7000) sur ma machine. C’est vraiment un OS très prometteur qui risque bien de nous faire oublier les désagréments de Vista.&lt;/p&gt;  &lt;p&gt;Un truc qui m’a intrigué (parmi tant d’autres) est le support direct des 4Go de RAM de ma machine. &lt;/p&gt;  &lt;p&gt;Hélas, Visual Studio 2008 marche pour l’instant très mal sous Windows 7. &lt;/p&gt;  &lt;p&gt;Retour donc sous Vista.&lt;/p&gt;  &lt;p&gt;Cette histoire de 4Go m’a toutefois chiffonné. Sous Vista de base, mon système me donnait 3Go de dispo alors que sous Vista SP1 j’avais bien 4Go.&lt;/p&gt;  &lt;p&gt;Après une petite enquête il s’avère que Vista ne donne accès aux processus qu’à 3,12 Go (c’est précis) car il faut savoir que le matériel utilise un peu de la mémoire physique pour travailler (mapping de certains ressources comme la carte son, carte graphique, etc…).&lt;/p&gt;  &lt;p&gt;Heureusement, il existe une technique toute bête pour demander à Vista de ne plus se limiter à 3,x Go (avec un maximum a 4Go de toute manière).&lt;/p&gt;  &lt;p&gt;Il suffit pour cela de lancer une console en mode administrator et de taper la commande suivante:&lt;/p&gt;  &lt;p&gt;&lt;em&gt;BCDEdit /set PAE forceenable&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;Le mode PAE est un mode étendu des processeurs x86 qui permet d’avoir un adressage sur 36 bits (contre 32 normalement). Ceci permet donc théoriquement d’avoir 64Go de RAM. &lt;/p&gt;  &lt;p&gt;Toutefois sous Vista 32 bits cela permettra uniquement d’avoir droit à 4Go (dans l’absolu bien sûr) par processus.&lt;/p&gt;  &lt;p&gt;On pourrait alors se demander pourquoi Microsoft n’active pas par défaut ce mode? Tout simplement parce que finalement ca ne sert à rien. Le matériel va continuer à prendre sa place, donc on ne disposera finalement que de 3,x Go et la gestion de l’adressage en 36bits plutôt qu’en 32bits ralentit le système.&lt;/p&gt;
&lt;div class="addthis_toolbox addthis_default_style"  style="padding-top:10px" &gt;
&lt;a style="padding-right:10px" href="http://www.addthis.com/bookmark.php?v=250&amp;username=4a00fc5d6a261f84&amp;url=http%3a%2f%2fwww.catuhe.com%2fpost%2fSupport-de-plus-de-3Go-de-RAM-sous-Vista-32-bits.aspx&amp;title=Support+de+plus+de+3Go+de+RAM+sous+Vista+32+bits&amp;description="&gt;&lt;img src="http://s7.addthis.com/static/btn/v2/sm-bookmark-en.gif"  alt="Bookmark and Share" style="border:0"/&gt;&lt;/a&gt;
&lt;/div&gt;</description>
      <link>http://www.catuhe.com/post/Support-de-plus-de-3Go-de-RAM-sous-Vista-32-bits.aspx</link>
      <author>kosh</author>
      <comments>http://www.catuhe.com/post/Support-de-plus-de-3Go-de-RAM-sous-Vista-32-bits.aspx#comment</comments>
      <guid>http://www.catuhe.com/post.aspx?id=36a67fec-d4b2-431f-b0f3-bf5961ef4add</guid>
      <pubDate>Sat, 10 Jan 2009 15:17:18 +0300</pubDate>
      <category>Win32</category>
      <category>Windows</category>
      <publisher xmlns="http://purl.org/dc/elements/1.1/">kosh</publisher>
      <server xmlns="http://madskills.com/public/xml/rss/module/pingback/">http://www.catuhe.com/pingback.axd</server>
      <target xmlns="http://madskills.com/public/xml/rss/module/pingback/">http://www.catuhe.com/post.aspx?id=36a67fec-d4b2-431f-b0f3-bf5961ef4add</target>
      <comments xmlns="http://purl.org/rss/1.0/modules/slash/">1</comments>
      <ping xmlns="http://madskills.com/public/xml/rss/module/trackback/">http://www.catuhe.com/trackback.axd?id=36a67fec-d4b2-431f-b0f3-bf5961ef4add</ping>
      <comment xmlns="http://wellformedweb.org/CommentAPI/">http://www.catuhe.com/post/Support-de-plus-de-3Go-de-RAM-sous-Vista-32-bits.aspx#comment</comment>
      <commentRss xmlns="http://wellformedweb.org/CommentAPI/">http://www.catuhe.com/syndication.axd?post=36a67fec-d4b2-431f-b0f3-bf5961ef4add</commentRss>
    </item>
    <item>
      <title>Interop Win32 avec le Cross Fade Control</title>
      <description>&lt;p&gt;Lors d'une super session &amp;#224; la PDC 2008, j'ai d&amp;#233;couvert une API Win32 utilis&amp;#233;e dans la gestion des styles visuels nomm&amp;#233;e &lt;strong&gt;BufferedPaintRenderAnimation&lt;/strong&gt;. Cette derni&amp;#232;re est notamment utilis&amp;#233;e dans les boutons sur Vista pour faire l'effet de fondu.&lt;/p&gt;  &lt;p&gt;Je vous propose donc ici un petit contr&amp;#244;le .Net qui encapsule ce service:&lt;/p&gt;  &lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;using&lt;/span&gt; System;
&lt;span class="kwrd"&gt;using&lt;/span&gt; System.Collections.Generic;
&lt;span class="kwrd"&gt;using&lt;/span&gt; System.ComponentModel;
&lt;span class="kwrd"&gt;using&lt;/span&gt; System.Data;
&lt;span class="kwrd"&gt;using&lt;/span&gt; System.Drawing;
&lt;span class="kwrd"&gt;using&lt;/span&gt; System.Linq;
&lt;span class="kwrd"&gt;using&lt;/span&gt; System.Text;
&lt;span class="kwrd"&gt;using&lt;/span&gt; System.Windows.Forms;
&lt;span class="kwrd"&gt;using&lt;/span&gt; System.Runtime.InteropServices;

&lt;span class="kwrd"&gt;namespace&lt;/span&gt; WindowsFormsApplication1
{
    &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;partial&lt;/span&gt; &lt;span class="kwrd"&gt;class&lt;/span&gt; CrossFadeControl : Control
    {
        &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;enum&lt;/span&gt; FadeDirection
        {
            SourceDestination,
            DestinationSource
        }

        &lt;span class="kwrd"&gt;enum&lt;/span&gt; BP_ANIMATIONSTYLE
        {
            BPAS_NONE,
            BPAS_LINEAR,
            BPAS_CUBIC,
            BPAS_SINE
        }

        &lt;span class="kwrd"&gt;enum&lt;/span&gt; BP_BUFFERFORMAT
        {
            BPBF_COMPATIBLEBITMAP,
            BPBF_DIB,
            BPBF_TOPDOWNDIB,
            BPBF_TOPDOWNMONODIB
        }

        [StructLayout(LayoutKind.Sequential)]
        &lt;span class="kwrd"&gt;struct&lt;/span&gt; BP_ANIMATIONPARAMS
        {
            &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;int&lt;/span&gt; cbSize;
            &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;int&lt;/span&gt; dwFlags;
            &lt;span class="kwrd"&gt;public&lt;/span&gt; BP_ANIMATIONSTYLE style;
            &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;int&lt;/span&gt; dwDuration;
        }

        [StructLayout(LayoutKind.Sequential)]
        &lt;span class="kwrd"&gt;struct&lt;/span&gt; BP_PAINTPARAMS
        {
            &lt;span class="kwrd"&gt;int&lt;/span&gt; cbSize;
            &lt;span class="kwrd"&gt;int&lt;/span&gt; dwFlags;
            IntPtr prcExclude;
            IntPtr pBlendFunction;
        }

        [DllImport(&lt;span class="str"&gt;&amp;quot;uxtheme.dll&amp;quot;&lt;/span&gt;)]
        &lt;span class="kwrd"&gt;extern&lt;/span&gt; &lt;span class="kwrd"&gt;static&lt;/span&gt; &lt;span class="kwrd"&gt;int&lt;/span&gt; BufferedPaintInit();

        [DllImport(&lt;span class="str"&gt;&amp;quot;uxtheme.dll&amp;quot;&lt;/span&gt;)]
        &lt;span class="kwrd"&gt;extern&lt;/span&gt; &lt;span class="kwrd"&gt;static&lt;/span&gt; &lt;span class="kwrd"&gt;int&lt;/span&gt; BufferedPaintUnInit();

        [DllImport(&lt;span class="str"&gt;&amp;quot;uxtheme.dll&amp;quot;&lt;/span&gt;)]
        &lt;span class="kwrd"&gt;extern&lt;/span&gt; &lt;span class="kwrd"&gt;static&lt;/span&gt; &lt;span class="kwrd"&gt;int&lt;/span&gt; BufferedPaintRenderAnimation(IntPtr hWnd, IntPtr hDc);

        [DllImport(&lt;span class="str"&gt;&amp;quot;uxtheme.dll&amp;quot;&lt;/span&gt;)]
        &lt;span class="kwrd"&gt;extern&lt;/span&gt; &lt;span class="kwrd"&gt;static&lt;/span&gt; IntPtr BeginBufferedAnimation(IntPtr hwnd, IntPtr hdcTarget, 
            &lt;span class="kwrd"&gt;ref&lt;/span&gt; Rectangle rcTarget,
            BP_BUFFERFORMAT dwFormat, IntPtr pPaintParams, &lt;span class="kwrd"&gt;ref&lt;/span&gt; BP_ANIMATIONPARAMS pAnimationParams,
            &lt;span class="kwrd"&gt;out&lt;/span&gt; IntPtr phdcFrom,
            &lt;span class="kwrd"&gt;out&lt;/span&gt; IntPtr phdcTo);

        [DllImport(&lt;span class="str"&gt;&amp;quot;uxtheme.dll&amp;quot;&lt;/span&gt;)]
        &lt;span class="kwrd"&gt;extern&lt;/span&gt; &lt;span class="kwrd"&gt;static&lt;/span&gt; &lt;span class="kwrd"&gt;int&lt;/span&gt; EndBufferedAnimation(IntPtr hbpAnimation, &lt;span class="kwrd"&gt;bool&lt;/span&gt; fUpdateTarget);

        [DllImport(&lt;span class="str"&gt;&amp;quot;uxtheme.dll&amp;quot;&lt;/span&gt;)]
        &lt;span class="kwrd"&gt;extern&lt;/span&gt; &lt;span class="kwrd"&gt;static&lt;/span&gt; &lt;span class="kwrd"&gt;int&lt;/span&gt; BufferedPaintStopAllAnimations(IntPtr handle);

        &lt;span class="kwrd"&gt;int&lt;/span&gt; animDuration = 0;
        &lt;span class="kwrd"&gt;int&lt;/span&gt; targetAnimationDuration = 500;
        Image source;
        Image destination;
        FadeDirection direction;

        &lt;span class="kwrd"&gt;public&lt;/span&gt; FadeDirection Direction
        {
            get { &lt;span class="kwrd"&gt;return&lt;/span&gt; direction; }
            set { direction = &lt;span class="kwrd"&gt;value&lt;/span&gt;; }
        }

        &lt;span class="kwrd"&gt;public&lt;/span&gt; Image Source
        {
            get { &lt;span class="kwrd"&gt;return&lt;/span&gt; source; }
            set { source = &lt;span class="kwrd"&gt;value&lt;/span&gt;; }
        }

        &lt;span class="kwrd"&gt;public&lt;/span&gt; Image Destination
        {
            get { &lt;span class="kwrd"&gt;return&lt;/span&gt; destination; }
            set { destination = &lt;span class="kwrd"&gt;value&lt;/span&gt;; }
        }

        &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;int&lt;/span&gt; TargetAnimationDuration
        {
            get { &lt;span class="kwrd"&gt;return&lt;/span&gt; targetAnimationDuration; }
            set { targetAnimationDuration = &lt;span class="kwrd"&gt;value&lt;/span&gt;; }
        }

        &lt;span class="kwrd"&gt;public&lt;/span&gt; CrossFadeControl()
        {
            InitializeComponent();
            BufferedPaintInit();
        }

        ~CrossFadeControl()
        {
            BufferedPaintUnInit();
        }

        &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;void&lt;/span&gt; StartAnimation()
        {
            animDuration = targetAnimationDuration;
            Invalidate();
        }

        Image GetSource()
        {
            &lt;span class="kwrd"&gt;switch&lt;/span&gt; (direction)
            {
                &lt;span class="kwrd"&gt;case&lt;/span&gt; FadeDirection.SourceDestination:
                    &lt;span class="kwrd"&gt;return&lt;/span&gt; source;
                &lt;span class="kwrd"&gt;case&lt;/span&gt; FadeDirection.DestinationSource:
                    &lt;span class="kwrd"&gt;return&lt;/span&gt; destination;
            }
            &lt;span class="kwrd"&gt;return&lt;/span&gt; source;
        }

        Image GetDestination()
        {
            &lt;span class="kwrd"&gt;switch&lt;/span&gt; (direction)
            {
                &lt;span class="kwrd"&gt;case&lt;/span&gt; FadeDirection.SourceDestination:
                    &lt;span class="kwrd"&gt;return&lt;/span&gt; destination;
                &lt;span class="kwrd"&gt;case&lt;/span&gt; FadeDirection.DestinationSource:
                    &lt;span class="kwrd"&gt;return&lt;/span&gt; source;
            }
            &lt;span class="kwrd"&gt;return&lt;/span&gt; destination;
        }

        &lt;span class="kwrd"&gt;protected&lt;/span&gt; &lt;span class="kwrd"&gt;override&lt;/span&gt; &lt;span class="kwrd"&gt;void&lt;/span&gt; OnPaint(PaintEventArgs pe)
        {
            &lt;span class="kwrd"&gt;if&lt;/span&gt; (source == &lt;span class="kwrd"&gt;null&lt;/span&gt; || destination == &lt;span class="kwrd"&gt;null&lt;/span&gt;)
            {
                &lt;span class="kwrd"&gt;base&lt;/span&gt;.OnPaint(pe);
                &lt;span class="kwrd"&gt;return&lt;/span&gt;;
            }

            IntPtr hdc = pe.Graphics.GetHdc();

            &lt;span class="kwrd"&gt;if&lt;/span&gt; (BufferedPaintRenderAnimation(Handle, hdc) == 0)
            {
                &lt;span class="kwrd"&gt;if&lt;/span&gt; (animDuration == 0)
                {
                    pe.Graphics.ReleaseHdc(hdc);
                    pe.Graphics.DrawImage(GetSource(), ClientRectangle);

                    &lt;span class="kwrd"&gt;return&lt;/span&gt;;
                }

                BP_ANIMATIONPARAMS animParams = &lt;span class="kwrd"&gt;new&lt;/span&gt; BP_ANIMATIONPARAMS();
                animParams.cbSize = Marshal.SizeOf(animParams);
                animParams.style = BP_ANIMATIONSTYLE.BPAS_LINEAR;
                animParams.dwDuration = animDuration;

                IntPtr hdcFrom, hdcTo;
                Rectangle rect = ClientRectangle;
                IntPtr hbpAnimation = BeginBufferedAnimation(Handle, hdc, &lt;span class="kwrd"&gt;ref&lt;/span&gt; rect, 
                    BP_BUFFERFORMAT.BPBF_COMPATIBLEBITMAP,
                     IntPtr.Zero, &lt;span class="kwrd"&gt;ref&lt;/span&gt; animParams, &lt;span class="kwrd"&gt;out&lt;/span&gt; hdcFrom, &lt;span class="kwrd"&gt;out&lt;/span&gt; hdcTo);

                &lt;span class="kwrd"&gt;if&lt;/span&gt; (hbpAnimation != IntPtr.Zero)
                {
                    &lt;span class="kwrd"&gt;if&lt;/span&gt; (hdcFrom != IntPtr.Zero)
                    {
                        Graphics gfx = Graphics.FromHdc(hdcFrom);
                        gfx.DrawImage(GetSource(), ClientRectangle);
                        gfx.Dispose();
                    }
                    &lt;span class="kwrd"&gt;if&lt;/span&gt; (hdcTo != IntPtr.Zero)
                    {
                        Graphics gfx = Graphics.FromHdc(hdcTo);
                        gfx.DrawImage(GetDestination(), ClientRectangle);
                        gfx.Dispose();
                    }
                    animDuration = 0;
                    EndBufferedAnimation(hbpAnimation, &lt;span class="kwrd"&gt;true&lt;/span&gt;);
                }
            }
            pe.Graphics.ReleaseHdc(hdc);
        }

        &lt;span class="kwrd"&gt;protected&lt;/span&gt; &lt;span class="kwrd"&gt;override&lt;/span&gt; &lt;span class="kwrd"&gt;void&lt;/span&gt; OnSizeChanged(EventArgs e)
        {
            &lt;span class="kwrd"&gt;base&lt;/span&gt;.OnSizeChanged(e);
            BufferedPaintStopAllAnimations(Handle);
            Invalidate();
        }
    }
}&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;
&lt;style type="text/css"&gt;
.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }&lt;/style&gt;

&lt;p&gt;&amp;#160;&lt;/p&gt;

&lt;p&gt;Gr&amp;#226;ce aux propri&amp;#233;t&amp;#233;s Source et Destination, il est possible de fournir les images qui vont servir de source et de cible pour le fading. La propri&amp;#233;t&amp;#233; Direction permet de dire si l'on passe de la source &amp;#224; la destination ou inversement.&lt;/p&gt;

&lt;p&gt;Finalement, la propri&amp;#233;t&amp;#233; TargetAnimationDuration donne, comme son nom l'indique, la dur&amp;#233;e de l'animation.&lt;/p&gt;

&lt;p&gt;Amusez vous avec ce contr&amp;#244;le, cela fera plaisir aux d&amp;#233;veloppeurs Win32 chez Microsoft^^.&lt;/p&gt;

&lt;p&gt;&lt;/p&gt;
&lt;style type="text/css"&gt;
.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }&lt;/style&gt;
&lt;div class="addthis_toolbox addthis_default_style"  style="padding-top:10px" &gt;
&lt;a style="padding-right:10px" href="http://www.addthis.com/bookmark.php?v=250&amp;username=4a00fc5d6a261f84&amp;url=http%3a%2f%2fwww.catuhe.com%2fpost%2fInterop-avec-le-Cross-fade-control.aspx&amp;title=Interop+Win32+avec+le+Cross+Fade+Control&amp;description="&gt;&lt;img src="http://s7.addthis.com/static/btn/v2/sm-bookmark-en.gif"  alt="Bookmark and Share" style="border:0"/&gt;&lt;/a&gt;
&lt;/div&gt;</description>
      <link>http://www.catuhe.com/post/Interop-avec-le-Cross-fade-control.aspx</link>
      <author>kosh</author>
      <comments>http://www.catuhe.com/post/Interop-avec-le-Cross-fade-control.aspx#comment</comments>
      <guid>http://www.catuhe.com/post.aspx?id=cf9aeea9-e020-4b33-8702-83d36c7bbb8b</guid>
      <pubDate>Tue, 09 Dec 2008 17:03:55 +0300</pubDate>
      <category>.Net</category>
      <category>Win32</category>
      <publisher xmlns="http://purl.org/dc/elements/1.1/">kosh</publisher>
      <server xmlns="http://madskills.com/public/xml/rss/module/pingback/">http://www.catuhe.com/pingback.axd</server>
      <target xmlns="http://madskills.com/public/xml/rss/module/pingback/">http://www.catuhe.com/post.aspx?id=cf9aeea9-e020-4b33-8702-83d36c7bbb8b</target>
      <comments xmlns="http://purl.org/rss/1.0/modules/slash/">0</comments>
      <ping xmlns="http://madskills.com/public/xml/rss/module/trackback/">http://www.catuhe.com/trackback.axd?id=cf9aeea9-e020-4b33-8702-83d36c7bbb8b</ping>
      <comment xmlns="http://wellformedweb.org/CommentAPI/">http://www.catuhe.com/post/Interop-avec-le-Cross-fade-control.aspx#comment</comment>
      <commentRss xmlns="http://wellformedweb.org/CommentAPI/">http://www.catuhe.com/syndication.axd?post=cf9aeea9-e020-4b33-8702-83d36c7bbb8b</commentRss>
    </item>
    <item>
      <title>Le truc &amp;agrave; la con du jour : Minimiser un formulaire avec Windows Mobile</title>
      <description>&lt;p&gt;Forcément, pour faire une minimisation, je me suis tout de suite tourné vers Form.WindowState. Et forcément, le compact framework ne supporte que les états Maximized et Normal :).&lt;/p&gt; &lt;p&gt;Donc on va une fois de plus faire un petit peu d'interop:&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;pre class="csharpcode"&gt;        [DllImport(&lt;span class="str"&gt;"coredll.dll"&lt;/span&gt;)]
        &lt;span class="kwrd"&gt;static&lt;/span&gt; &lt;span class="kwrd"&gt;extern&lt;/span&gt; &lt;span class="kwrd"&gt;int&lt;/span&gt; ShowWindow(IntPtr hWnd, &lt;span class="kwrd"&gt;int&lt;/span&gt; nCmdShow);

        &lt;span class="kwrd"&gt;const&lt;/span&gt; &lt;span class="kwrd"&gt;int&lt;/span&gt; SW_MINIMIZED = 6;
        &lt;span class="kwrd"&gt;private&lt;/span&gt; &lt;span class="kwrd"&gt;void&lt;/span&gt; HideForTrue()
        {
            ShowWindow(&lt;span class="kwrd"&gt;this&lt;/span&gt;.Handle, SW_MINIMIZED);
        }&lt;/pre&gt;
&lt;p&gt;
&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
&lt;/style&gt;
&lt;/p&gt;
&lt;p&gt;C'est pas bien compliqué, ca fait juste appel à une fonction Win32 très classique.&lt;/p&gt;
&lt;div class="addthis_toolbox addthis_default_style"  style="padding-top:10px" &gt;
&lt;a style="padding-right:10px" href="http://www.addthis.com/bookmark.php?v=250&amp;username=4a00fc5d6a261f84&amp;url=http%3a%2f%2fwww.catuhe.com%2fpost%2fLe-truc-agrave3b-la-con-du-jour-Minimiser-un-formulaire-avec-Windows-Mobile.aspx&amp;title=Le+truc+%26agrave%3b+la+con+du+jour+%3a+Minimiser+un+formulaire+avec+Windows+Mobile&amp;description="&gt;&lt;img src="http://s7.addthis.com/static/btn/v2/sm-bookmark-en.gif"  alt="Bookmark and Share" style="border:0"/&gt;&lt;/a&gt;
&lt;/div&gt;</description>
      <link>http://www.catuhe.com/post/Le-truc-agrave3b-la-con-du-jour-Minimiser-un-formulaire-avec-Windows-Mobile.aspx</link>
      <author>Kosh</author>
      <comments>http://www.catuhe.com/post/Le-truc-agrave3b-la-con-du-jour-Minimiser-un-formulaire-avec-Windows-Mobile.aspx#comment</comments>
      <guid>http://www.catuhe.com/post.aspx?id=c12dc90b-b894-45f9-96cf-f0adddbc320f</guid>
      <pubDate>Wed, 27 Aug 2008 12:41:46 +0300</pubDate>
      <category>.Net</category>
      <category>Windows Mobile</category>
      <publisher xmlns="http://purl.org/dc/elements/1.1/">Kosh</publisher>
      <server xmlns="http://madskills.com/public/xml/rss/module/pingback/">http://www.catuhe.com/pingback.axd</server>
      <target xmlns="http://madskills.com/public/xml/rss/module/pingback/">http://www.catuhe.com/post.aspx?id=c12dc90b-b894-45f9-96cf-f0adddbc320f</target>
      <comments xmlns="http://purl.org/rss/1.0/modules/slash/">1</comments>
      <ping xmlns="http://madskills.com/public/xml/rss/module/trackback/">http://www.catuhe.com/trackback.axd?id=c12dc90b-b894-45f9-96cf-f0adddbc320f</ping>
      <comment xmlns="http://wellformedweb.org/CommentAPI/">http://www.catuhe.com/post/Le-truc-agrave3b-la-con-du-jour-Minimiser-un-formulaire-avec-Windows-Mobile.aspx#comment</comment>
      <commentRss xmlns="http://wellformedweb.org/CommentAPI/">http://www.catuhe.com/syndication.axd?post=c12dc90b-b894-45f9-96cf-f0adddbc320f</commentRss>
    </item>
    <item>
      <title>[WPF] - DataBinding - Part 2 - Les collections, les items, les listes et le changement de valeur dans le DataBinding</title>
      <link>http://blogs.developpeur.org/musashi/archive/2008/07/03/wpf-databinding-part-2-les-collections-les-items-les-listes-et-le-changement-de-valeur-dans-le-databinding.aspx</link>
      <pubDate>Thu, 03 Jul 2008 07:36:56 GMT</pubDate>
      <guid isPermaLink="false">7d6e5d3c-61cc-4264-bc3a-a336023fcec4:40359</guid>
      <creator xmlns="http://purl.org/dc/elements/1.1/">musashi</creator>
      <comments xmlns="http://purl.org/rss/1.0/modules/slash/">0</comments>
      <comments>http://blogs.developpeur.org/musashi/comments/40359.aspx</comments>
      <commentRss xmlns="http://wellformedweb.org/CommentAPI/">http://blogs.developpeur.org/musashi/commentrss.aspx?PostID=40359</commentRss>
      <description>
  Lorsque l'on souhaite développer une application de gestion, l'une des premières tâches effectuées est la liaison de données entre une collection(d'objet métier) et des contrôles visuelles: une liste déroulante, une liste de données. Il est alors poss...&lt;img src="http://blogs.developpeur.org/aggbug.aspx?PostID=40359" width="1" height="1"&gt;</description>
      <category domain="http://blogs.developpeur.org/musashi/archive/tags/WPF/default.aspx">WPF</category>
    </item>
    <item>
      <title>G&amp;eacute;rer sa propre fonction de messages avec le Compact Framework 2.0 (Pour Smartphone)</title>
      <description>&lt;p&gt;Contrairement aux Windows Forms, il n'est pas directement possible avec le .NET CF 2.0(SmartPhone) de surcharger la WndProc de ses formulaires.&lt;/p&gt; &lt;p&gt;Hors c'est parfois super utile! &lt;/p&gt; &lt;p&gt;Dans mon cas je voulais déclencher du code dès que l'utilisateur touche l'écran ou le clavier sans avoir à pourrir mon code avec des verrues de partout.&lt;/p&gt; &lt;p&gt;Le résultat c'est cadeau pour vous :) :&lt;/p&gt; &lt;div style="border-right: gray 1px solid; padding-right: 4px; border-top: gray 1px solid; padding-left: 4px; font-size: 8pt; padding-bottom: 4px; margin: 20px 0px 10px; overflow: auto; border-left: gray 1px solid; width: 97.5%; cursor: text; max-height: 200px; line-height: 12pt; padding-top: 4px; border-bottom: gray 1px solid; font-family: consolas, 'Courier New', courier, monospace; height: 272px; background-color: #f4f4f4"&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; height: 640px; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;partial&lt;/span&gt; &lt;span style="color: #0000ff"&gt;class&lt;/span&gt; RootForm : Form
{
    &lt;span style="color: #0000ff"&gt;private&lt;/span&gt; &lt;span style="color: #0000ff"&gt;const&lt;/span&gt; &lt;span style="color: #0000ff"&gt;int&lt;/span&gt; GWL_WNDPROC = -4;

    &lt;span style="color: #0000ff"&gt;delegate&lt;/span&gt; IntPtr WndProcHandler(IntPtr hwnd, &lt;span style="color: #0000ff"&gt;uint&lt;/span&gt; msg, IntPtr wParam, IntPtr lParam);

    [DllImport(&lt;span style="color: #006080"&gt;"coredll.dll"&lt;/span&gt;, EntryPoint = &lt;span style="color: #006080"&gt;"GetWindowLong"&lt;/span&gt;)]
    &lt;span style="color: #0000ff"&gt;private&lt;/span&gt; &lt;span style="color: #0000ff"&gt;static&lt;/span&gt; &lt;span style="color: #0000ff"&gt;extern&lt;/span&gt; IntPtr GetWindowLong(IntPtr hwnd, &lt;span style="color: #0000ff"&gt;int&lt;/span&gt; index);

    [DllImport(&lt;span style="color: #006080"&gt;"coredll.dll"&lt;/span&gt;)]
    &lt;span style="color: #0000ff"&gt;static&lt;/span&gt; &lt;span style="color: #0000ff"&gt;extern&lt;/span&gt; &lt;span style="color: #0000ff"&gt;int&lt;/span&gt; SetWindowLong(IntPtr hwnd, &lt;span style="color: #0000ff"&gt;int&lt;/span&gt; index, IntPtr wndProc);

    [DllImport(&lt;span style="color: #006080"&gt;"coredll.dll"&lt;/span&gt;)]
    &lt;span style="color: #0000ff"&gt;static&lt;/span&gt; &lt;span style="color: #0000ff"&gt;extern&lt;/span&gt; IntPtr CallWindowProc(IntPtr prevWndFunc, IntPtr hwnd, &lt;span style="color: #0000ff"&gt;uint&lt;/span&gt; msg, IntPtr wParam, IntPtr lParam);

    &lt;span style="color: #0000ff"&gt;private&lt;/span&gt; IntPtr prevWndProc = IntPtr.Zero;
    &lt;span style="color: #0000ff"&gt;private&lt;/span&gt; WndProcHandler wndProc;

    &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; RootForm()
    {
        InitializeComponent();

        wndProc = &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; WndProcHandler(WndProc);

        prevWndProc = GetWindowLong(&lt;span style="color: #0000ff"&gt;this&lt;/span&gt;.Handle, GWL_WNDPROC);

        &lt;span style="color: #0000ff"&gt;int&lt;/span&gt; success = SetWindowLong(&lt;span style="color: #0000ff"&gt;this&lt;/span&gt;.Handle, GWL_WNDPROC, Marshal.GetFunctionPointerForDelegate(wndProc));
    }

    &lt;span style="color: #0000ff"&gt;private&lt;/span&gt; IntPtr WndProc(IntPtr hwnd, &lt;span style="color: #0000ff"&gt;uint&lt;/span&gt; msg, IntPtr wParam, IntPtr lParam)
    {
        &lt;span style="color: #008000"&gt;// Mon code juste ici!&lt;/span&gt;
        &lt;span style="color: #0000ff"&gt;return&lt;/span&gt; CallWindowProc(prevWndProc, hwnd, msg, wParam, lParam);
    } 
}&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Hope this help!&lt;/p&gt;
&lt;div class="addthis_toolbox addthis_default_style"  style="padding-top:10px" &gt;
&lt;a style="padding-right:10px" href="http://www.addthis.com/bookmark.php?v=250&amp;username=4a00fc5d6a261f84&amp;url=http%3a%2f%2fwww.catuhe.com%2fpost%2fGeacute3brer-sa-propre-fonction-de-messages-avec-le-Compact-Framework-20-(Pour-Smartphone).aspx&amp;title=G%26eacute%3brer+sa+propre+fonction+de+messages+avec+le+Compact+Framework+2.0+(Pour+Smartphone)&amp;description="&gt;&lt;img src="http://s7.addthis.com/static/btn/v2/sm-bookmark-en.gif"  alt="Bookmark and Share" style="border:0"/&gt;&lt;/a&gt;
&lt;/div&gt;</description>
      <link>http://www.catuhe.com/post/Geacute3brer-sa-propre-fonction-de-messages-avec-le-Compact-Framework-20-(Pour-Smartphone).aspx</link>
      <author>Kosh</author>
      <comments>http://www.catuhe.com/post/Geacute3brer-sa-propre-fonction-de-messages-avec-le-Compact-Framework-20-(Pour-Smartphone).aspx#comment</comments>
      <guid>http://www.catuhe.com/post.aspx?id=13ecd6fe-e754-43b6-a4f4-212dbbe56bff</guid>
      <pubDate>Fri, 30 May 2008 14:28:09 +0300</pubDate>
      <category>.Net</category>
      <category>Win32</category>
      <category>Windows Mobile</category>
      <publisher xmlns="http://purl.org/dc/elements/1.1/">Kosh</publisher>
      <server xmlns="http://madskills.com/public/xml/rss/module/pingback/">http://www.catuhe.com/pingback.axd</server>
      <target xmlns="http://madskills.com/public/xml/rss/module/pingback/">http://www.catuhe.com/post.aspx?id=13ecd6fe-e754-43b6-a4f4-212dbbe56bff</target>
      <comments xmlns="http://purl.org/rss/1.0/modules/slash/">1</comments>
      <ping xmlns="http://madskills.com/public/xml/rss/module/trackback/">http://www.catuhe.com/trackback.axd?id=13ecd6fe-e754-43b6-a4f4-212dbbe56bff</ping>
      <comment xmlns="http://wellformedweb.org/CommentAPI/">http://www.catuhe.com/post/Geacute3brer-sa-propre-fonction-de-messages-avec-le-Compact-Framework-20-(Pour-Smartphone).aspx#comment</comment>
      <commentRss xmlns="http://wellformedweb.org/CommentAPI/">http://www.catuhe.com/syndication.axd?post=13ecd6fe-e754-43b6-a4f4-212dbbe56bff</commentRss>
    </item>
    <item>
      <title>G&amp;eacute;rer sa propre fonction de messages avec le Compact Framework 2.0 (Pour Smartphone)</title>
      <description>&lt;p&gt;Contrairement aux Windows Forms, il n'est pas directement possible avec le .NET CF 2.0(SmartPhone) de surcharger la WndProc de ses formulaires.&lt;/p&gt; &lt;p&gt;Hors c'est parfois super utile! &lt;/p&gt; &lt;p&gt;Dans mon cas je voulais déclencher du code dès que l'utilisateur touche l'écran ou le clavier sans avoir à pourrir mon code avec des verrues de partout.&lt;/p&gt; &lt;p&gt;Le résultat c'est cadeau pour vous :) :&lt;/p&gt; &lt;div style="border-right: gray 1px solid; padding-right: 4px; border-top: gray 1px solid; padding-left: 4px; font-size: 8pt; padding-bottom: 4px; margin: 20px 0px 10px; overflow: auto; border-left: gray 1px solid; width: 97.5%; cursor: text; max-height: 200px; line-height: 12pt; padding-top: 4px; border-bottom: gray 1px solid; font-family: consolas, 'Courier New', courier, monospace; height: 272px; background-color: #f4f4f4"&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; height: 640px; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;partial&lt;/span&gt; &lt;span style="color: #0000ff"&gt;class&lt;/span&gt; RootForm : Form
{
    &lt;span style="color: #0000ff"&gt;private&lt;/span&gt; &lt;span style="color: #0000ff"&gt;const&lt;/span&gt; &lt;span style="color: #0000ff"&gt;int&lt;/span&gt; GWL_WNDPROC = -4;

    &lt;span style="color: #0000ff"&gt;delegate&lt;/span&gt; IntPtr WndProcHandler(IntPtr hwnd, &lt;span style="color: #0000ff"&gt;uint&lt;/span&gt; msg, IntPtr wParam, IntPtr lParam);

    [DllImport(&lt;span style="color: #006080"&gt;"coredll.dll"&lt;/span&gt;, EntryPoint = &lt;span style="color: #006080"&gt;"GetWindowLong"&lt;/span&gt;)]
    &lt;span style="color: #0000ff"&gt;private&lt;/span&gt; &lt;span style="color: #0000ff"&gt;static&lt;/span&gt; &lt;span style="color: #0000ff"&gt;extern&lt;/span&gt; IntPtr GetWindowLong(IntPtr hwnd, &lt;span style="color: #0000ff"&gt;int&lt;/span&gt; index);

    [DllImport(&lt;span style="color: #006080"&gt;"coredll.dll"&lt;/span&gt;)]
    &lt;span style="color: #0000ff"&gt;static&lt;/span&gt; &lt;span style="color: #0000ff"&gt;extern&lt;/span&gt; &lt;span style="color: #0000ff"&gt;int&lt;/span&gt; SetWindowLong(IntPtr hwnd, &lt;span style="color: #0000ff"&gt;int&lt;/span&gt; index, IntPtr wndProc);

    [DllImport(&lt;span style="color: #006080"&gt;"coredll.dll"&lt;/span&gt;)]
    &lt;span style="color: #0000ff"&gt;static&lt;/span&gt; &lt;span style="color: #0000ff"&gt;extern&lt;/span&gt; IntPtr CallWindowProc(IntPtr prevWndFunc, IntPtr hwnd, &lt;span style="color: #0000ff"&gt;uint&lt;/span&gt; msg, IntPtr wParam, IntPtr lParam);

    &lt;span style="color: #0000ff"&gt;private&lt;/span&gt; IntPtr prevWndProc = IntPtr.Zero;
    &lt;span style="color: #0000ff"&gt;private&lt;/span&gt; WndProcHandler wndProc;

    &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; RootForm()
    {
        InitializeComponent();

        wndProc = &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; WndProcHandler(WndProc);

        prevWndProc = GetWindowLong(&lt;span style="color: #0000ff"&gt;this&lt;/span&gt;.Handle, GWL_WNDPROC);

        &lt;span style="color: #0000ff"&gt;int&lt;/span&gt; success = SetWindowLong(&lt;span style="color: #0000ff"&gt;this&lt;/span&gt;.Handle, GWL_WNDPROC, Marshal.GetFunctionPointerForDelegate(wndProc));
    }

    &lt;span style="color: #0000ff"&gt;private&lt;/span&gt; IntPtr WndProc(IntPtr hwnd, &lt;span style="color: #0000ff"&gt;uint&lt;/span&gt; msg, IntPtr wParam, IntPtr lParam)
    {
        &lt;span style="color: #008000"&gt;// Mon code juste ici!&lt;/span&gt;
        &lt;span style="color: #0000ff"&gt;return&lt;/span&gt; CallWindowProc(prevWndProc, hwnd, msg, wParam, lParam);
    } 
}&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Hope this help!&lt;/p&gt;
&lt;div class="addthis_toolbox addthis_default_style"  style="padding-top:10px" &gt;
&lt;a style="padding-right:10px" href="http://www.addthis.com/bookmark.php?v=250&amp;username=4a00fc5d6a261f84&amp;url=http%3a%2f%2fwww.catuhe.com%2fpost%2fGeacute3brer-sa-propre-fonction-de-messages-avec-le-Compact-Framework-20-(Pour-Smartphone).aspx&amp;title=G%26eacute%3brer+sa+propre+fonction+de+messages+avec+le+Compact+Framework+2.0+(Pour+Smartphone)&amp;description="&gt;&lt;img src="http://s7.addthis.com/static/btn/v2/sm-bookmark-en.gif"  alt="Bookmark and Share" style="border:0"/&gt;&lt;/a&gt;
&lt;/div&gt;</description>
      <link>http://www.catuhe.com/post/Geacute3brer-sa-propre-fonction-de-messages-avec-le-Compact-Framework-20-(Pour-Smartphone).aspx</link>
      <author>Kosh</author>
      <comments>http://www.catuhe.com/post/Geacute3brer-sa-propre-fonction-de-messages-avec-le-Compact-Framework-20-(Pour-Smartphone).aspx#comment</comments>
      <guid>http://www.catuhe.com/post.aspx?id=13ecd6fe-e754-43b6-a4f4-212dbbe56bff</guid>
      <pubDate>Fri, 30 May 2008 14:28:09 +0300</pubDate>
      <category>.Net</category>
      <category>Win32</category>
      <category>Windows Mobile</category>
      <publisher xmlns="http://purl.org/dc/elements/1.1/">Kosh</publisher>
      <server xmlns="http://madskills.com/public/xml/rss/module/pingback/">http://www.catuhe.com/pingback.axd</server>
      <target xmlns="http://madskills.com/public/xml/rss/module/pingback/">http://www.catuhe.com/post.aspx?id=13ecd6fe-e754-43b6-a4f4-212dbbe56bff</target>
      <comments xmlns="http://purl.org/rss/1.0/modules/slash/">1</comments>
      <ping xmlns="http://madskills.com/public/xml/rss/module/trackback/">http://www.catuhe.com/trackback.axd?id=13ecd6fe-e754-43b6-a4f4-212dbbe56bff</ping>
      <comment xmlns="http://wellformedweb.org/CommentAPI/">http://www.catuhe.com/post/Geacute3brer-sa-propre-fonction-de-messages-avec-le-Compact-Framework-20-(Pour-Smartphone).aspx#comment</comment>
      <commentRss xmlns="http://wellformedweb.org/CommentAPI/">http://www.catuhe.com/syndication.axd?post=13ecd6fe-e754-43b6-a4f4-212dbbe56bff</commentRss>
    </item>
    <item>
      <title>[BDC2008] -La Bewise Developer Conference 2008 c'est fini , Merci à tous les participants et retrouvez les WebCasts....</title>
      <link>http://blogs.developpeur.org/musashi/archive/2008/04/22/bdc2008-la-bewise-developer-conference-2008-c-est-fini-merci-tous-les-participants-et-retrouvez-les-webcasts.aspx</link>
      <pubDate>Tue, 22 Apr 2008 19:02:59 GMT</pubDate>
      <guid isPermaLink="false">7d6e5d3c-61cc-4264-bc3a-a336023fcec4:38928</guid>
      <creator xmlns="http://purl.org/dc/elements/1.1/">musashi</creator>
      <comments xmlns="http://purl.org/rss/1.0/modules/slash/">0</comments>
      <comments>http://blogs.developpeur.org/musashi/comments/38928.aspx</comments>
      <commentRss xmlns="http://wellformedweb.org/CommentAPI/">http://blogs.developpeur.org/musashi/commentrss.aspx?PostID=38928</commentRss>
      <description>
  La BDC 2008 terminé, vous pouvez désormais retrouver tous les WebCasts des sessions en ligne à cette adresse : Les WebCasts   La session plénière avec 1h15 de Silverlight 2, DeepZoom, WCF, ASP.NET Dynamic Data et autres LINQ, un bonheur pour le speake...&lt;img src="http://blogs.developpeur.org/aggbug.aspx?PostID=38928" width="1" height="1"&gt;</description>
      <category domain="http://blogs.developpeur.org/musashi/archive/tags/BDC/default.aspx">BDC</category>
      <category domain="http://blogs.developpeur.org/musashi/archive/tags/BDC+2008/default.aspx">BDC 2008</category>
    </item>
    <item>
      <title>Faire appara&amp;icirc;tre le curseur d'attente sur une application Windows Mobile</title>
      <description>&lt;p&gt;C'est le genre de truc idiot qu'on passe des heures &amp;#224; chercher. Et comme la documentation du Compact Framework est mix&amp;#233;e avec la documentation du framework normal, il n'est pas facile de s&amp;quot;y retrouver.&lt;/p&gt;  &lt;p&gt;Donc pour faire&amp;#160; apparaitre le curseur d'attente sur Windows Mobile, il suffit d'ex&amp;#233;cuter la ligne suivante:&lt;/p&gt;  &lt;div&gt;   &lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;Cursor.Current = Cursors.WaitCursor;&lt;/pre&gt;
&lt;/div&gt;

&lt;p&gt;&amp;#160;&lt;/p&gt;

&lt;p&gt;Hope this help....&lt;/p&gt;
&lt;div class="addthis_toolbox addthis_default_style"  style="padding-top:10px" &gt;
&lt;a style="padding-right:10px" href="http://www.addthis.com/bookmark.php?v=250&amp;username=4a00fc5d6a261f84&amp;url=http%3a%2f%2fwww.catuhe.com%2fpost%2fFaire-apparaicirc3btre-le-curseur-dattente-sur-une-application-Windows-Mobile.aspx&amp;title=Faire+appara%26icirc%3btre+le+curseur+d'attente+sur+une+application+Windows+Mobile&amp;description="&gt;&lt;img src="http://s7.addthis.com/static/btn/v2/sm-bookmark-en.gif"  alt="Bookmark and Share" style="border:0"/&gt;&lt;/a&gt;
&lt;/div&gt;</description>
      <link>http://www.catuhe.com/post/Faire-apparaicirc3btre-le-curseur-dattente-sur-une-application-Windows-Mobile.aspx</link>
      <author>Kosh</author>
      <comments>http://www.catuhe.com/post/Faire-apparaicirc3btre-le-curseur-dattente-sur-une-application-Windows-Mobile.aspx#comment</comments>
      <guid>http://www.catuhe.com/post.aspx?id=1e25c9a7-1c36-44e9-b9d1-147ff893d3db</guid>
      <pubDate>Fri, 18 Apr 2008 13:44:43 +0300</pubDate>
      <category>.Net</category>
      <category>Windows Mobile</category>
      <publisher xmlns="http://purl.org/dc/elements/1.1/">Kosh</publisher>
      <server xmlns="http://madskills.com/public/xml/rss/module/pingback/">http://www.catuhe.com/pingback.axd</server>
      <target xmlns="http://madskills.com/public/xml/rss/module/pingback/">http://www.catuhe.com/post.aspx?id=1e25c9a7-1c36-44e9-b9d1-147ff893d3db</target>
      <comments xmlns="http://purl.org/rss/1.0/modules/slash/">0</comments>
      <ping xmlns="http://madskills.com/public/xml/rss/module/trackback/">http://www.catuhe.com/trackback.axd?id=1e25c9a7-1c36-44e9-b9d1-147ff893d3db</ping>
      <comment xmlns="http://wellformedweb.org/CommentAPI/">http://www.catuhe.com/post/Faire-apparaicirc3btre-le-curseur-dattente-sur-une-application-Windows-Mobile.aspx#comment</comment>
      <commentRss xmlns="http://wellformedweb.org/CommentAPI/">http://www.catuhe.com/syndication.axd?post=1e25c9a7-1c36-44e9-b9d1-147ff893d3db</commentRss>
    </item>
    <item>
      <title>[Silverlight 2] - Ajouter un effet de RollOver sur un bouton</title>
      <link>http://blogs.developpeur.org/musashi/archive/2008/04/14/silverlight-2-ajouter-un-effet-de-rollover-sur-un-bouton.aspx</link>
      <pubDate>Mon, 14 Apr 2008 19:31:56 GMT</pubDate>
      <guid isPermaLink="false">7d6e5d3c-61cc-4264-bc3a-a336023fcec4:38702</guid>
      <creator xmlns="http://purl.org/dc/elements/1.1/">musashi</creator>
      <comments xmlns="http://purl.org/rss/1.0/modules/slash/">0</comments>
      <comments>http://blogs.developpeur.org/musashi/comments/38702.aspx</comments>
      <commentRss xmlns="http://wellformedweb.org/CommentAPI/">http://blogs.developpeur.org/musashi/commentrss.aspx?PostID=38702</commentRss>
      <description>
  Un des effets sympa que l'on utilise très courament c'est le rollover sur un bouton. En quoi cela consiste pour le néophyte ? C'est simplement le fait d'appliquer une modification visuelle sur un objet dés que la souris passe dessus. Alors comme ça c'...&lt;img src="http://blogs.developpeur.org/aggbug.aspx?PostID=38702" width="1" height="1"&gt;</description>
      <category domain="http://blogs.developpeur.org/musashi/archive/tags/Silverlight/default.aspx">Silverlight</category>
    </item>
    <item>
      <title>[Silverlight 2] - De la 3D en Silverlight - Découvrez un moteur 3D Soft entièrement en Silverlight 2</title>
      <link>http://blogs.developpeur.org/musashi/archive/2008/03/11/silverlight-2-de-la-3d-en-silverlight-d-couvrez-un-moteur-3d-soft-enti-rement-en-silverlight-2.aspx</link>
      <pubDate>Tue, 11 Mar 2008 13:46:39 GMT</pubDate>
      <guid isPermaLink="false">7d6e5d3c-61cc-4264-bc3a-a336023fcec4:37834</guid>
      <creator xmlns="http://purl.org/dc/elements/1.1/">musashi</creator>
      <comments xmlns="http://purl.org/rss/1.0/modules/slash/">5</comments>
      <comments>http://blogs.developpeur.org/musashi/comments/37834.aspx</comments>
      <commentRss xmlns="http://wellformedweb.org/CommentAPI/">http://blogs.developpeur.org/musashi/commentrss.aspx?PostID=37834</commentRss>
      <description>
  Je ne le ferais pas souvent mais fort est de constater que là, j'ai été très impressionné par le travail réalisé par mon Jedi Master donc je vous transmet l'info.  Un moteur 3D entièrement en Silverlight. la démonstration est impressionante !!  Son bl...&lt;img src="http://blogs.developpeur.org/aggbug.aspx?PostID=37834" width="1" height="1"&gt;</description>
      <category domain="http://blogs.developpeur.org/musashi/archive/tags/Silverlight/default.aspx">Silverlight</category>
    </item>
    <item>
      <title>[BDC 2008] - Toute la France se donne rendez-vous à la Bewise Developer Conference qui aura lieu a Toulouse le 10 Avril 2008</title>
      <link>http://blogs.developpeur.org/musashi/archive/2008/03/11/bdc-2008-toute-la-france-se-donne-rendez-vous-la-bewise-developer-conference-qui-aura-lieu-a-toulouse-le-10-avril-2008.aspx</link>
      <pubDate>Tue, 11 Mar 2008 10:14:00 GMT</pubDate>
      <guid isPermaLink="false">7d6e5d3c-61cc-4264-bc3a-a336023fcec4:37735</guid>
      <creator xmlns="http://purl.org/dc/elements/1.1/">musashi</creator>
      <comments xmlns="http://purl.org/rss/1.0/modules/slash/">3</comments>
      <comments>http://blogs.developpeur.org/musashi/comments/37735.aspx</comments>
      <commentRss xmlns="http://wellformedweb.org/CommentAPI/">http://blogs.developpeur.org/musashi/commentrss.aspx?PostID=37735</commentRss>
      <description>
  La BDC c'est des sessions, des nouveautés, un jeux concours avec une TV LCD de 94 cm à gagner  .... mais surtout plein de SQL Server 2008, SharePoint, ASP.NET, Team System et beaucoup, beaucoup de Silverlight 2

Le détail du contenu de l'évènement l...&lt;img src="http://blogs.developpeur.org/aggbug.aspx?PostID=37735" width="1" height="1"&gt;</description>
      <category domain="http://blogs.developpeur.org/musashi/archive/tags/BDC+2008/default.aspx">BDC 2008</category>
    </item>
    <item>
      <title>Windows Vista et les ListView Win32</title>
      <description>&lt;p&gt;Comme je viens de perdre une demi-journ&amp;#233;e sur le sujet, je vais en faire profiter la communaut&amp;#233;.&lt;/p&gt;  &lt;p&gt;J'avais une listview win32 somme toute classique qui depuis deux jours avait la d&amp;#233;licatesse d'&amp;#233;mettre un &amp;quot;DING!!!&amp;quot; &amp;#224; chaque fois que je changais sa s&amp;#233;lection.&lt;/p&gt;  &lt;p&gt;Comme c'est juste tr&amp;#232;s lourd et que je ne suis pas m&amp;#233;lomane, j'ai cherch&amp;#233; pourquoi. Il s'agit en fait d'un bug du control panel qui, lorsque l'on &amp;#224; l'outre-cuidance de changer les sons par d&amp;#233;faut de Vista, se permet de mettre le &amp;quot;Windows Default Sound&amp;quot; sur l'&amp;#233;v&amp;#233;nement de s&amp;#233;lection des listviews. Oui je sais ca vient de loin.&lt;/p&gt;  &lt;p&gt;Pour r&amp;#233;gler ca il &amp;quot;suffit&amp;quot; de supprimer cette cl&amp;#233; dans la base de registre : HKEY_CURRENT_USER\AppEvents\Schemes\Apps\.Default\CCSelect&lt;/p&gt;  &lt;p&gt;Sinon, il pleut &amp;#224; Toulouse.&lt;/p&gt;
&lt;div class="addthis_toolbox addthis_default_style"  style="padding-top:10px" &gt;
&lt;a style="padding-right:10px" href="http://www.addthis.com/bookmark.php?v=250&amp;username=4a00fc5d6a261f84&amp;url=http%3a%2f%2fwww.catuhe.com%2fpost%2fWindows-Vista-et-les-ListView-Win32.aspx&amp;title=Windows+Vista+et+les+ListView+Win32&amp;description="&gt;&lt;img src="http://s7.addthis.com/static/btn/v2/sm-bookmark-en.gif"  alt="Bookmark and Share" style="border:0"/&gt;&lt;/a&gt;
&lt;/div&gt;</description>
      <link>http://www.catuhe.com/post/Windows-Vista-et-les-ListView-Win32.aspx</link>
      <author>Kosh</author>
      <comments>http://www.catuhe.com/post/Windows-Vista-et-les-ListView-Win32.aspx#comment</comments>
      <guid>http://www.catuhe.com/post.aspx?id=b3fecef3-b9d4-459a-9f4d-5722cac80914</guid>
      <pubDate>Mon, 10 Mar 2008 17:31:46 +0300</pubDate>
      <category>Win32</category>
      <publisher xmlns="http://purl.org/dc/elements/1.1/">Kosh</publisher>
      <server xmlns="http://madskills.com/public/xml/rss/module/pingback/">http://www.catuhe.com/pingback.axd</server>
      <target xmlns="http://madskills.com/public/xml/rss/module/pingback/">http://www.catuhe.com/post.aspx?id=b3fecef3-b9d4-459a-9f4d-5722cac80914</target>
      <comments xmlns="http://purl.org/rss/1.0/modules/slash/">0</comments>
      <ping xmlns="http://madskills.com/public/xml/rss/module/trackback/">http://www.catuhe.com/trackback.axd?id=b3fecef3-b9d4-459a-9f4d-5722cac80914</ping>
      <comment xmlns="http://wellformedweb.org/CommentAPI/">http://www.catuhe.com/post/Windows-Vista-et-les-ListView-Win32.aspx#comment</comment>
      <commentRss xmlns="http://wellformedweb.org/CommentAPI/">http://www.catuhe.com/syndication.axd?post=b3fecef3-b9d4-459a-9f4d-5722cac80914</commentRss>
    </item>
    <item>
      <title>[Silverlight 2.0] - Premier pas et première application avec Silverlight 2.0</title>
      <link>http://blogs.developpeur.org/musashi/archive/2008/03/06/silverlight-2-0-premier-pas-et-premi-re-application-avec-silverlight-2-0.aspx</link>
      <pubDate>Thu, 06 Mar 2008 09:42:54 GMT</pubDate>
      <guid isPermaLink="false">7d6e5d3c-61cc-4264-bc3a-a336023fcec4:37734</guid>
      <creator xmlns="http://purl.org/dc/elements/1.1/">musashi</creator>
      <comments xmlns="http://purl.org/rss/1.0/modules/slash/">0</comments>
      <comments>http://blogs.developpeur.org/musashi/comments/37734.aspx</comments>
      <commentRss xmlns="http://wellformedweb.org/CommentAPI/">http://blogs.developpeur.org/musashi/commentrss.aspx?PostID=37734</commentRss>
      <description>
  Vous l'avez surement appris, Silverlight 2.0 vient de sortir suite à l'annonce du MIX 2008. Vous pouvez télécharger tout ce qui vous est nécessaire au développement d'une application Silverlight 2.0 à ces différents liens:     Silverlight 2.0 SDK     ...&lt;img src="http://blogs.developpeur.org/aggbug.aspx?PostID=37734" width="1" height="1"&gt;</description>
      <category domain="http://blogs.developpeur.org/musashi/archive/tags/Silverlight/default.aspx">Silverlight</category>
    </item>
    <item>
      <title>[WPF] – Facilitez-vous le Databinding entre WPF et LINQ </title>
      <link>http://blogs.developpeur.org/musashi/archive/2008/03/02/wpf-facilitez-vous-le-databinding-entre-wpf-et-linq.aspx</link>
      <pubDate>Sun, 02 Mar 2008 19:00:52 GMT</pubDate>
      <guid isPermaLink="false">7d6e5d3c-61cc-4264-bc3a-a336023fcec4:37646</guid>
      <creator xmlns="http://purl.org/dc/elements/1.1/">musashi</creator>
      <comments xmlns="http://purl.org/rss/1.0/modules/slash/">3</comments>
      <comments>http://blogs.developpeur.org/musashi/comments/37646.aspx</comments>
      <commentRss xmlns="http://wellformedweb.org/CommentAPI/">http://blogs.developpeur.org/musashi/commentrss.aspx?PostID=37646</commentRss>
      <description>
  Je souhaitais vous faire profiter d'une petite méthode utilitaire que j'ai réalisé cette semaine pour me faciliter la vie dans mes projets.

  Si comme moi vous utilisez LINQ régulièrement et que vous l'utilisez dans le cadre de projet WPF, vous aim...&lt;img src="http://blogs.developpeur.org/aggbug.aspx?PostID=37646" width="1" height="1"&gt;</description>
      <category domain="http://blogs.developpeur.org/musashi/archive/tags/WPF/default.aspx">WPF</category>
      <category domain="http://blogs.developpeur.org/musashi/archive/tags/LINQ/default.aspx">LINQ</category>
    </item>
    <item>
      <title>[WPF] - DATABINDING - PART 1 - Instancier et utiliser ses objets (du domaine) en vue du DataBinding</title>
      <link>http://blogs.developpeur.org/musashi/archive/2008/02/06/wpf-databinding-part-1-instancier-et-utiliser-ses-objets-du-domaine-en-vue-du-databinding.aspx</link>
      <pubDate>Wed, 06 Feb 2008 13:54:22 GMT</pubDate>
      <guid isPermaLink="false">7d6e5d3c-61cc-4264-bc3a-a336023fcec4:37115</guid>
      <creator xmlns="http://purl.org/dc/elements/1.1/">musashi</creator>
      <comments xmlns="http://purl.org/rss/1.0/modules/slash/">3</comments>
      <comments>http://blogs.developpeur.org/musashi/comments/37115.aspx</comments>
      <commentRss xmlns="http://wellformedweb.org/CommentAPI/">http://blogs.developpeur.org/musashi/commentrss.aspx?PostID=37115</commentRss>
      <description>
  Pour ce premier opus, d' une série ou nous étudierons le Databinding en WPF, j'ai choisi de présenter les différents moyens d' instancier et d' utiliser ses classes (du domaine par exemple) en XAML.  Nous verrons dans ce post les éléments suivants :  ...&lt;img src="http://blogs.developpeur.org/aggbug.aspx?PostID=37115" width="1" height="1"&gt;</description>
      <category domain="http://blogs.developpeur.org/musashi/archive/tags/WPF/default.aspx">WPF</category>
    </item>
    <item>
      <title>Mon premier post sur mon Blog Technico-chef de projet</title>
      <link>http://blogs.developpeur.org/musashi/archive/2007/11/16/mon-premier-post-sur-mon-blog-technico-chef-de-projet.aspx</link>
      <pubDate>Fri, 16 Nov 2007 11:33:11 GMT</pubDate>
      <guid isPermaLink="false">7d6e5d3c-61cc-4264-bc3a-a336023fcec4:35656</guid>
      <creator xmlns="http://purl.org/dc/elements/1.1/">musashi</creator>
      <comments xmlns="http://purl.org/rss/1.0/modules/slash/">5</comments>
      <comments>http://blogs.developpeur.org/musashi/comments/35656.aspx</comments>
      <commentRss xmlns="http://wellformedweb.org/CommentAPI/">http://blogs.developpeur.org/musashi/commentrss.aspx?PostID=35656</commentRss>
      <description>
  Bonjour à tous  après plusieurs mois d' hésitation je n' ai pu résister à l' appel de l' ouverture d' un blog technique.  Alors technique oui mais pas que, en effet, je suis consultant sur les technos Microsoft et la majeure partie de mon travail cons...&lt;img src="http://blogs.developpeur.org/aggbug.aspx?PostID=35656" width="1" height="1"&gt;</description>
    </item>
  </channel>
</rss>