<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Posts on MemoryLeak</title><link>https://blog.memoryleak.ovh/posts/</link><description>Recent content in Posts on MemoryLeak</description><generator>Hugo</generator><language>fr</language><lastBuildDate>Mon, 16 Jul 2018 21:24:55 +0000</lastBuildDate><atom:link href="https://blog.memoryleak.ovh/posts/index.xml" rel="self" type="application/rss+xml"/><item><title>Migrations EF Core depuis Octopus</title><link>https://blog.memoryleak.ovh/posts/migrations-ef-core-depuis-octopus/</link><pubDate>Mon, 16 Jul 2018 21:24:55 +0000</pubDate><guid>https://blog.memoryleak.ovh/posts/migrations-ef-core-depuis-octopus/</guid><description>&lt;p&gt;Ca vous est déjà arrivé de déployer en prod une nouvelle version de votre application et d&amp;rsquo;oublier de passer la migration &lt;a href="https://docs.microsoft.com/en-us/ef/#pivot=efcore" target="_blank"&gt;EF&lt;/a&gt; à la mano ? Eh ben moi aussi. On se retrouve alors à executer le script sql de migration en urgence, en espérant que tout se passera bien. Bref, c&amp;rsquo;est la panique à bord!&lt;/p&gt;
&lt;p&gt;Histoire de ne plus revivre cette situation inconfortable, on est tenté d&amp;rsquo;avoir recours à la migration EF par le code. Ainsi, on est certains qu&amp;rsquo;a chaque exécution de notre app, la migration sera effectuée si le schéma de la BDD n&amp;rsquo;est pas à jour. Le problème, c&amp;rsquo;est que si la migration se passe mal, on se retrouve à nouveau avec une application plantée en production → retour à la case départ.&lt;/p&gt;</description></item><item><title>Blazor : Injectez vos interop Javascript</title><link>https://blog.memoryleak.ovh/posts/blazor-injectez-vos-interop-js/</link><pubDate>Fri, 20 Apr 2018 12:40:03 +0000</pubDate><guid>https://blog.memoryleak.ovh/posts/blazor-injectez-vos-interop-js/</guid><description>&lt;p&gt;Commençons par ce qui fait mal. Je dois avouer que ce blog post fait suite à un fail.&lt;/p&gt;
&lt;p&gt;Dans cette &lt;a href="https://blogs.msdn.microsoft.com/webdev/2018/04/17/blazor-0-2-0-release-now-available/" target="_blank"&gt;version 0.2&lt;/a&gt; de Blazor, il y a pas mal de code glue à produire pour pouvoir appeler une fonction javascript à partir de votre code C#.&lt;/p&gt;
&lt;p&gt;Cela se passe en 2 étapes :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;A partir de votre code javascript, il faut enregistrer une fonction dans le contexte de Blazor.&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Blazor.registerFunction(&amp;#39;DisplayAlert&amp;#39;, (data) =&amp;gt; {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; alert(data);
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; return true;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;});
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;Quand vous souhaitez faire appel à cette fonction on utilisera alors un code de ce type, cette fois ci dans votre code C#.&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;RegisteredFunction.Invoke(&amp;#34;DisplayAlert&amp;#34;, text);
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;On remarque que tout ca fonctionne à base de magic strings (le nom de la methode), que les functions sont obligées de retourner une valeur (void n&amp;rsquo;est pas prit en compte pour l&amp;rsquo;instant), et puis ce RegisteredFunction.Invoke c&amp;rsquo;est vraiment pas super sexy.&lt;/p&gt;</description></item><item><title>Astuce Blazor : Séparer la vue du code</title><link>https://blog.memoryleak.ovh/posts/astuce-blazor/</link><pubDate>Wed, 11 Apr 2018 21:17:03 +0000</pubDate><guid>https://blog.memoryleak.ovh/posts/astuce-blazor/</guid><description>&lt;p&gt;Depuis quelque temps dans la communauté .NET on parle fait pas mal de marketing autour de &lt;a href="https://visualstudiomagazine.com/articles/2018/03/23/blazor-alpha.aspx" target="_blank"&gt;Blazor&lt;/a&gt;. Je ne vais pas vous présenter cette nouvelle techno&amp;hellip; si vous etes ici, c&amp;rsquo;est que vous connaissez déjà :).&lt;/p&gt;
&lt;p&gt;Une des premières choses qui m&amp;rsquo;a embété fut de voir dans les articles de présentation un mélange sans vergogne du code html et du code .NET wrappé dans la section @functions&lt;/p&gt;
&lt;p&gt;je parle de ca :&lt;/p&gt;</description></item><item><title>Combiner des Expressions Trees</title><link>https://blog.memoryleak.ovh/posts/combiner-des-expressions-trees/</link><pubDate>Tue, 03 Apr 2018 21:43:43 +0000</pubDate><guid>https://blog.memoryleak.ovh/posts/combiner-des-expressions-trees/</guid><description>&lt;p&gt;Il y a tout juste quelques jours, on pair programmait avec &lt;a href="https://fr.linkedin.com/in/hocquet" target="_blank"&gt;Anthony&lt;/a&gt; sur un projet. Nous nous sommes retrouvés a vouloir combiner au runtime des &lt;a href="https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/concepts/expression-trees/" target="_blank"&gt;Expressions trees&lt;/a&gt; en fonction de parametres évalués au runtime.&lt;/p&gt;
&lt;p&gt;En gros on avait envie d&amp;rsquo;écrire un truc du genre&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Expression predicate = x =&amp;gt; x.Id &amp;gt; 1;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;puis un peu plus loin&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;predicate += x =&amp;gt; x.Name.Length sexy
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Pour faire plaisir à [maitre Etienne](https://twitter.com/EjDel?lang=fr) on va travailler a base de tests unitaires.
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Commençons par la version naïve; En cherchant un peu sur la msdn on tombera facilement sur [Expression.AndAlso](https://msdn.microsoft.com/fr-fr/library/bb382914(v=vs.110).aspx) permettant de créer une nouvelle expression qui combine deux Expressions left et right
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt; [Fact]
 public void SimpleCombining_Fails()
 {
 // Arrange
 Expression firstPredicate = x =&amp;gt; x.Id &amp;gt; 1;
 Expression secondPredicate = x =&amp;gt; x.Name.Length lambda = Expression.Lambda(binaryexp, parameters);
 
 // Act
 Action filter = () =&amp;gt; {
 var combinedPredicate = lambda.Compile();
 var result = _persons.Where(combinedPredicate);
 };

 // Assert
 Assert.Throws(() =&amp;gt; filter());
 }
&lt;/code&gt;&lt;/pre&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;On commence par définir nos deux prédicats (left &amp;amp; right) que l&amp;#39;on combine dans une expression binaire AndAlso (et logique) en utilisant comme paramètre générique T le paramètre utilisé dans la premiere expression initiale.
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;On essaye par la suite d&amp;#39;utiliser la lambda créée pour l&amp;#39;occasion dans une instruction [Where](https://msdn.microsoft.com/fr-fr/library/bb549418(v=vs.110).aspx) que vous connaissez tous en Linq.
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Bon, j&amp;#39;avais déjà vendu la méche en disant que c&amp;#39;était une version naïve; effectivement a l&amp;#39;execution vous allez avoir une [InvalidOperationException](https://msdn.microsoft.com/fr-fr/library/system.invalidoperationexception(v=vs.110).aspx)
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;System.InvalidOperationException: &amp;lsquo;variable &amp;lsquo;x&amp;rsquo; of type &amp;lsquo;AndOrExpressions.Person&amp;rsquo; referenced from scope &amp;lsquo;&amp;rsquo;, but it is not defined&amp;rsquo;&lt;/p&gt;</description></item><item><title>J'recommence ailleurs, je git mon blog!</title><link>https://blog.memoryleak.ovh/posts/j-recommence-ailleurs-je-git-mon-blog/</link><pubDate>Mon, 02 Apr 2018 22:13:00 +0000</pubDate><guid>https://blog.memoryleak.ovh/posts/j-recommence-ailleurs-je-git-mon-blog/</guid><description>&lt;p&gt;Voila, ça fait maintenant 8 ans que de temps en temps je postais un article ici sur les techno Microsoft.&lt;/p&gt;
&lt;p&gt;Malheureusement, &lt;a href="https://www.blogger.com" target="_blank"&gt;blogger&lt;/a&gt; n&amp;rsquo;a plus beaucoup évolué depuis un sacré bon moment et ne match plus trop avec mes attentes.&lt;/p&gt;
&lt;p&gt;J&amp;rsquo;aurais du prendre cette décision il y a déjà plusieurs années, mais cette fois-ci c&amp;rsquo;est fait, je déménage vers &lt;a href="http://www.mymemoryleaks.fr/" target="_blank"&gt;http://www.mymemoryleaks.fr/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;On se retrouve la-bas?&lt;/p&gt;</description></item><item><title>Déployer un webjob avec VSTS</title><link>https://blog.memoryleak.ovh/posts/deployer-un-webjob-avec-vsts/</link><pubDate>Fri, 09 Feb 2018 22:52:00 +0000</pubDate><guid>https://blog.memoryleak.ovh/posts/deployer-un-webjob-avec-vsts/</guid><description>&lt;p&gt;Si vous avez déjà eu besoin de déployer un &lt;a href="https://docs.microsoft.com/fr-fr/azure/app-service/web-sites-create-web-jobs" target="_blank"&gt;azure webjob&lt;/a&gt; via vsts, vous avez du tomber sur ce &lt;a href="https://medium.com/@thomashellstrom/building-azure-webjobs-in-vsts-4306e141df49" target="_blank"&gt;bon blog post de Thomas Hellstrøm&lt;/a&gt;. Néanmoins, en suivant telles quelles les instructions de notre ami Thomas, vous risquer de casser la webapp qui host votre webjob.&lt;/p&gt;
&lt;p&gt;Ce blog post va prendre la tournure d’une recette de cuisine, d’un pense bête ; cela m’évitera de me reposer la même question dans quelques mois, et j&amp;rsquo;espère secrètement que cela puisse aider certains d&amp;rsquo;entre vous.&lt;/p&gt;</description></item><item><title>VSTS – Quand y’a plus de crédits, y’en a encore.</title><link>https://blog.memoryleak.ovh/posts/vsts-quand-y-a-plus-de-credits-y-en-a-encore/</link><pubDate>Mon, 29 Jan 2018 23:14:00 +0000</pubDate><guid>https://blog.memoryleak.ovh/posts/vsts-quand-y-a-plus-de-credits-y-en-a-encore/</guid><description>&lt;p&gt;Ça, c’est la poisse: &lt;code&gt;Your account has no free minutes remaining&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Le scénario est à se pendre, tu montes ton projet en intégration continue et après quelques (dizaines) de commit tu te retrouves dans l’impossibilité de complétera une PR ou juste vérifier que le dernier commit n’a pas introduit de régressions.&lt;/p&gt;
&lt;p&gt;Du coup je me propose de présenter ici, comment créer à moindre frais un agent de build sur-vitaminé. Et le fait d’avoir une machine un peu costaud, n’est pas un moindre mal ; qui ne s’est pas arraché les cheveux en attendant que l’agent de build hosté veuille bien se lancer et faire son travail… ?&lt;/p&gt;</description></item><item><title>OData &amp; ngTable : un duo de choc</title><link>https://blog.memoryleak.ovh/posts/odata-ngtable-un-duo-de-choc/</link><pubDate>Mon, 12 Dec 2016 11:46:00 +0000</pubDate><guid>https://blog.memoryleak.ovh/posts/odata-ngtable-un-duo-de-choc/</guid><description>&lt;p&gt;Dernièrement, j’ai pas mal fait joujou avec &lt;a href="http://www.odata.org/documentation/" target="_blank"&gt;OData&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;C’est quand même super plaisant de pouvoir requêter une source de données via une URL et avec une richesse proche de ce que l’on connait avec du SQL.&lt;/p&gt;
&lt;p&gt;Une fois n’est pas coutume je ne vais pas parler de .NET mais plutôt partager avec vous un bout de javascript qui met en évidence la facilité avec laquelle vous pourrez brancher des tables &lt;a href="http://ng-table.com/" target="_blank"&gt;ngtable&lt;/a&gt; avec votre backend odata.&lt;/p&gt;</description></item><item><title>Packager un projet SQL pour Octopus</title><link>https://blog.memoryleak.ovh/posts/packager-un-projet-sql-pour-octopus/</link><pubDate>Thu, 01 Sep 2016 20:07:00 +0000</pubDate><guid>https://blog.memoryleak.ovh/posts/packager-un-projet-sql-pour-octopus/</guid><description>&lt;p&gt;Que ce soit manuellement ou de manière automatique, lorsque l&amp;rsquo;on parle de déploiement il va nous falloir définir un package de déploiement.&lt;/p&gt;
&lt;p&gt;Dans l&amp;rsquo;univers Octopus, les packages de déploiement sont des fichiers avec une extension .nupkg. Voyons comment en créer un pour un projet de Base de données.&lt;/p&gt;
&lt;h2 id="ajouter-une-dépendance-vers-octopack"&gt;Ajouter une dépendance vers Octopack&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://github.com/OctopusDeploy/OctoPack" target="_blank"&gt;Octopack&lt;/a&gt; est l’utilitaire que nous allons utiliser pour générer ce package de déploiement. Démystifions le terme, octopack produit un fichier qui n’est autre qu’un zip, contenant les fichiers à déployer ainsi qu’un ensemble de métadonnées et potentiellement des scripts powershell.&lt;/p&gt;</description></item><item><title>Prolific usb to ttl et windows 10</title><link>https://blog.memoryleak.ovh/posts/prolific-usb-to-ttl-et-windows-10/</link><pubDate>Wed, 11 May 2016 21:34:00 +0000</pubDate><guid>https://blog.memoryleak.ovh/posts/prolific-usb-to-ttl-et-windows-10/</guid><description>&lt;p&gt;&lt;img src="https://drive.google.com/uc?export=download&amp;amp;id=0B3FYDprTEqfhdWZ0NHAxcGRMalk" alt=""&gt;&lt;/p&gt;
&lt;p&gt;Dernièrement j&amp;rsquo;ai ressorti ma &lt;a href="https://beagleboard.org/black" target="_blank"&gt;BeableBone Black&lt;/a&gt; histoire de faire une peu de veille techno. J&amp;rsquo;vous raconterai un de ces quatre en quoi monter une boite peut vite cramer tout votre temps libre, mais c&amp;rsquo;est pour la bonne cause.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://drive.google.com/uc?export=download&amp;amp;id=0B3FYDprTEqfhR3hTSnd4Z0FXNGM" alt=""&gt;&lt;/p&gt;
&lt;p&gt;Bref pour en revenir à la Beagle, je ressors mon câble série que j&amp;rsquo;utilise pour me connecter à la console. Je fais les branchements et go sur le site de &lt;a href="http://www.prolific.com.tw/US/ShowProduct.aspx?p_id=225&amp;amp;pcid=41" target="_blank"&gt;Prolific&lt;/a&gt; pour récupérer le dernier driver pour Windows 10.&lt;/p&gt;</description></item><item><title>Comment invoquer une méthode dont on connait le nom à l’exécution sur un dynamic?</title><link>https://blog.memoryleak.ovh/posts/comment-invoquer-une-methode-dont-on-connait-le-nom-a-l-execution-sur-un-dynamic/</link><pubDate>Fri, 24 Jul 2015 12:51:00 +0000</pubDate><guid>https://blog.memoryleak.ovh/posts/comment-invoquer-une-methode-dont-on-connait-le-nom-a-l-execution-sur-un-dynamic/</guid><description>&lt;p&gt;Comment invoquer une méthode dont on connait le nom à l&amp;rsquo;exécution sur un dynamic?&lt;/p&gt;
&lt;p&gt;Le mot clé dynamic en C# n&amp;rsquo;est pas nouveau, il a vu le jour avec C# 4 et pourtant il n’apparaît pas si souvent que ça dans les bouts de code que je fréquente.&lt;/p&gt;
&lt;p&gt;Dernièrement je l&amp;rsquo;ai recroisé en utilisant &lt;a href="http://signalr.net/" target="_blank"&gt;SignalR&lt;/a&gt;; les hubs qui sont générés sont des objets dynamic.&lt;/p&gt;
&lt;p&gt;Quoi qu&amp;rsquo;il en soit, dernièrement j&amp;rsquo;ai eu besoin d&amp;rsquo;invoquer une méthode dont le nom ne m&amp;rsquo;était connu qu&amp;rsquo;à l&amp;rsquo;exécution.&lt;/p&gt;</description></item><item><title>BeagleBone Black du carton à Mono</title><link>https://blog.memoryleak.ovh/posts/beaglebone-black-du-carton-a-mono/</link><pubDate>Mon, 01 Jun 2015 10:31:00 +0000</pubDate><guid>https://blog.memoryleak.ovh/posts/beaglebone-black-du-carton-a-mono/</guid><description>&lt;p&gt;&lt;a href="http://beagleboard.org/BLACK" target="_blank"&gt;L’IOT&lt;/a&gt;, on en parle partout, de plus en plus ; évidemment l’univers Microsoft n’est pas en retrait sur ce domaine avec la mise à disposition de Windows 10 sur le &lt;a href="https://msdn.microsoft.com/fr-fr/Library/Windows/Hardware/dn914597.aspx?f=255&amp;amp;MSPPError=-2147217396#raspberry_pi_2" target="_blank"&gt;Raspberry&lt;/a&gt; ou encore le &lt;a href="https://msdn.microsoft.com/fr-fr/Library/Windows/Hardware/dn914597.aspx?f=255&amp;amp;MSPPError=-2147217396#minnowboard_max" target="_blank"&gt;MinnowBoard MAX&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Vous trouverez pas mal de blog post autour du raspberry… je vais donc plutôt vous présenter comment vous lancer dans le développement .NET embarqu&amp;amp; sur cette magnifique plateforme qu’est le &lt;a href="http://beagleboard.org/BLACK" target="_blank"&gt;BeagleBone Black (BBB)&lt;/a&gt;. Au travers de cet article je vous propose d’étudier les différentes étapes à réaliser pour pouvoir lancer votre premier « Hello World » embarqué.&lt;/p&gt;</description></item><item><title>Kibana : Explorez vos données.</title><link>https://blog.memoryleak.ovh/posts/kibana-explorez-vos-donnees/</link><pubDate>Tue, 23 Dec 2014 09:39:00 +0000</pubDate><guid>https://blog.memoryleak.ovh/posts/kibana-explorez-vos-donnees/</guid><description>&lt;p&gt;Cet article fait partie d’une sérié dédiée à &lt;a href="http://www.elasticsearch.org/" target="_blank"&gt;Elasticsearch&lt;/a&gt;, reportez vous à &lt;a href="http://mymemoryleaks.blogspot.com/2014/12/serie-elasticsearch.html" target="_blank"&gt;l’article sommaire&lt;/a&gt; pour accéder facilement aux autres posts.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.elasticsearch.org/overview/kibana/" target="_blank"&gt;Kibana&lt;/a&gt; est la brique de visualisation qui gravite autour d’Elasticsearch. Voici, quelques exemple de représentations faites avec Kibana :&lt;/p&gt;
&lt;p&gt;L’exploration de données et la réalisation de dashboard ne nécessitent aucun code, ce qui permet de donner la main aux fonctionnels ; De plus Kibana et Elastocsearch permettent d’avoir des rapports real time, se mettant à jour à mesure que les données sont stockées.&lt;/p&gt;</description></item><item><title>Série Elasticsearch</title><link>https://blog.memoryleak.ovh/posts/serie-elasticsearch/</link><pubDate>Tue, 23 Dec 2014 09:37:00 +0000</pubDate><guid>https://blog.memoryleak.ovh/posts/serie-elasticsearch/</guid><description>&lt;p&gt;Ce post fait office de sommaire à toute une série d’articles que j’ai bon espoir d’écrire sur cette toute fin d’année 2014 et le début 2015.&lt;/p&gt;
&lt;p&gt;Mais pourquoi parler d’Elasticsearch, moi qui ne traite que de technos Microsoft sur ce blog?&lt;/p&gt;
&lt;p&gt;Cela part du constat qu’a mon humble avis, la stack BI Microsoft pèche sur deux points :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Premièrement, il n’existe pas d’outils permettant une exploration décente des données non encore nettoyées, rangées, retraitées etc.… d’ailleurs, plus la volumétrie est importante et plus ce point est difficilement adressable.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;(i.e : sur de petites volumétries, j’en entends déjà me dire qu’Excel peut avoir ce rôle, avec un enchevêtrement de tableaux croisés dynamiques etc… )&lt;/p&gt;</description></item><item><title>Utiliser Couchbase comme serveur de cache</title><link>https://blog.memoryleak.ovh/posts/utiliser-couchbase-comme-serveur-de-cache/</link><pubDate>Fri, 11 Apr 2014 13:13:00 +0000</pubDate><guid>https://blog.memoryleak.ovh/posts/utiliser-couchbase-comme-serveur-de-cache/</guid><description>&lt;p&gt;Dernièrement, je vous présentais une façon simple d&amp;rsquo;utiliser le &lt;a href="http://mymemoryleaks.blogspot.fr/2014/04/poor-mans-cache.html" target="_blank"&gt;cache dans vos applications .NET&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Cependant cette solution possède plusieurs inconvénients. En voici quelque uns :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Le cache est lié au processus système de votre application (executable / IIS etc&amp;hellip;). Si votre programme plante ou est fermé, vous perdez votre cache&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Si vos besoins en mémoire augmentent, cette solution n&amp;rsquo;est pas scalable&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Rien n&amp;rsquo;est mis a disposition pour monitorer votre cache&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Vous n&amp;rsquo;avez pas d&amp;rsquo;interface de gestion du cache (augmentation de la mémoire allouée etc&amp;hellip;)&lt;/p&gt;</description></item><item><title>Poor man's cache</title><link>https://blog.memoryleak.ovh/posts/poor-man-s-cache/</link><pubDate>Fri, 04 Apr 2014 15:10:00 +0000</pubDate><guid>https://blog.memoryleak.ovh/posts/poor-man-s-cache/</guid><description>&lt;p&gt;Depuis la version 4 du framework .NET, la gestion d&amp;rsquo;un cache est profondement encrée dans l&amp;rsquo;adn de notre framework.&lt;/p&gt;
&lt;p&gt;Il devient alors extrêmement facile de stocker en mémoire à peu près n&amp;rsquo;importe quoi.&lt;/p&gt;
&lt;p&gt;Je vous livre dans ce court billet, une implémentation extrêmement simple que j&amp;rsquo;utilise souvent dans mes projets.&lt;/p&gt;
&lt;p&gt;Commençons par définir une interface, qui nous permettra [d&amp;rsquo;injecter](&lt;a href="http://blog.ploeh.dk/tags.html#Dependency" target="_blank"&gt;http://blog.ploeh.dk/tags.html#Dependency&lt;/a&gt; Injection-ref) notre cache manager un peu partout :&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;public interface ICacheManager
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;{
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; T GetOrInsert(string key, Func callback) where T : class;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;et finalement voici une implémentation extra simple de notre cache manager&lt;/p&gt;</description></item><item><title>IISExpress : Servir des pages vers l’extérieur.</title><link>https://blog.memoryleak.ovh/posts/iisexpress-servir-des-pages-vers-l-exterieur/</link><pubDate>Fri, 28 Mar 2014 22:23:00 +0000</pubDate><guid>https://blog.memoryleak.ovh/posts/iisexpress-servir-des-pages-vers-l-exterieur/</guid><description>&lt;p&gt;Nul doute, IISExpress nous a simplifié la vie au quotidien de par sa facilité d&amp;rsquo;utilisation et son intégration à Visual Studio.&lt;/p&gt;
&lt;p&gt;Aujourd&amp;rsquo;hui, je devais travailler à rendre un site compatible avec l&amp;rsquo;ipad. Ni une ni deux, je lance safari et pointe vers l&amp;rsquo;ip de ma machine de dev.&lt;/p&gt;
&lt;p&gt;Et boom une belle erreur, me prévient que IISExpress ne servira de pages qu&amp;rsquo;en local.&lt;/p&gt;
&lt;p&gt;Voici comment je l&amp;rsquo;ai configuré afin de pouvoir tester sur mon Ipad.&lt;/p&gt;</description></item><item><title>EntityFramework.Patterns 0.8 est compatible EF 6</title><link>https://blog.memoryleak.ovh/posts/entityframework-patterns-0-8-est-compatible-ef-6/</link><pubDate>Sun, 17 Nov 2013 21:01:00 +0000</pubDate><guid>https://blog.memoryleak.ovh/posts/entityframework-patterns-0-8-est-compatible-ef-6/</guid><description>&lt;p&gt;Ça faisait longtemps que je n&amp;rsquo;avais pas remis les mains dans ce projet, plus d&amp;rsquo;un an pour être exact. Le passage à Entity Framework 5 n&amp;rsquo;avait pas posé de soucis car aucun breaking changes dans l&amp;rsquo;API n&amp;rsquo;avait bloqué l&amp;rsquo;utilisation de la librairie. C&amp;rsquo;est surement ce qui explique le nombre &amp;ldquo;plutôt important&amp;rdquo; (7500) download sur &lt;a href="https://www.nuget.org/packages/EntityFramework.Patterns/" target="_blank"&gt;nuget gallery&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Mais avec EF 6 c&amp;rsquo;est une autre histoire, tout un tas de nouvelles fonctionnalités très sympa, mais aussi une api qui a pas mal bougé&amp;hellip; ainsi plusieurs utilisateurs sur &lt;a href="https://efpatterns.codeplex.com/" target="_blank"&gt;codeplex&lt;/a&gt;, m&amp;rsquo;ont tout naturellement contacté pour me demander de mettre à jour EntityFramework.Patterns.&lt;/p&gt;</description></item><item><title>SSIS vs TPL.Dataflow</title><link>https://blog.memoryleak.ovh/posts/ssis-vs-tpl-dataflow/</link><pubDate>Thu, 31 Oct 2013 17:18:00 +0000</pubDate><guid>https://blog.memoryleak.ovh/posts/ssis-vs-tpl-dataflow/</guid><description>&lt;p&gt;Il y a quelques jours je tweetais de joie, après être tombé sur la msdn concernant &lt;a href="http://msdn.microsoft.com/en-us/library/hh228603%28v=vs.110%29.aspx" target="_blank"&gt;TPL.Dataflow&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;L&amp;rsquo;API propose un système de pipeline que l&amp;rsquo;on peut aisément imaginer utiliser dans un process d&amp;rsquo;ETL.&lt;/p&gt;
&lt;p&gt;Ni une ni deux, je m&amp;rsquo;imagine délaisser SSII lors de mes prochaines alims de base de données et enfin pouvoir unit tester mon ETL.&lt;/p&gt;
&lt;p&gt;L&amp;rsquo;accueil fait par mes collègues purement BI fut plutôt frileux&amp;hellip; n&amp;rsquo;est ce pas David :)&lt;/p&gt;</description></item><item><title>Entity Framework Cache</title><link>https://blog.memoryleak.ovh/posts/entity-framework-cache/</link><pubDate>Wed, 05 Sep 2012 14:58:00 +0000</pubDate><guid>https://blog.memoryleak.ovh/posts/entity-framework-cache/</guid><description>&lt;p&gt;Malgré la version 5 d&amp;rsquo;Entity Framework sortie il y a peu de temps, beaucoup déplorent l’absence d’un mécanisme de cache implémenté dans le Framework.&lt;/p&gt;
&lt;p&gt;Pour ceux qui ont un peu creusé le sujet, il y a bien les &lt;a href="http://code.msdn.microsoft.com/EFProviderWrappers-c0b88f32" target="_blank"&gt;&amp;ldquo;Tracing and Caching Provider Wrappers for Entity Framework&amp;rdquo;&lt;/a&gt; parus début 2011. Cependant, ce n’est pas la solution ultime ; à l’époque Code First n’existait pas ce qui rend cette librairie incompatible avec Code First.Pour être tout à fait franc, le code des wrappers est disponible, je pense donc qu’en bidouillant un peu, ça doit être possible d’adapter le code pour Code First.&lt;/p&gt;</description></item><item><title>Implémenter une sécurité à base de rôles avec Windows Authentication &amp; SQL Server</title><link>https://blog.memoryleak.ovh/posts/implementer-une-securite-a-base-de-roles-avec-windows-authentication-sql-server/</link><pubDate>Fri, 14 Oct 2011 11:58:00 +0000</pubDate><guid>https://blog.memoryleak.ovh/posts/implementer-une-securite-a-base-de-roles-avec-windows-authentication-sql-server/</guid><description>&lt;p&gt;Ces derniers jours j&amp;rsquo;ai été confronté à une problématique très intéressante; j&amp;rsquo;aimerais la partager avec vous aujourd&amp;rsquo;hui et vous soumettre la solution que j&amp;rsquo;ai imaginé pour y répondre.&lt;/p&gt;
&lt;p&gt;Mon client souhaitait restreindre l&amp;rsquo;accès à son site/application intranet aux seuls membres d&amp;rsquo;un groupe Windows prédéfini.&lt;/p&gt;
&lt;p&gt;Le hic est que le site fonctionne avec des rôles définis en base de données, laissant ainsi libre champs aux admins de l&amp;rsquo;appli d&amp;rsquo;attribuer et révoquer des droits aux autres utilisateurs. Évidement, il était hors de question de devoir passer par l&amp;rsquo;IT pour changer les droits des utilisateurs à l&amp;rsquo;avenir.&lt;/p&gt;</description></item><item><title>Entity Framework et AOP</title><link>https://blog.memoryleak.ovh/posts/entity-framework-et-aop/</link><pubDate>Fri, 07 Oct 2011 14:55:00 +0000</pubDate><guid>https://blog.memoryleak.ovh/posts/entity-framework-et-aop/</guid><description>&lt;p&gt;Cela fait des mois que je repousse la publication d&amp;rsquo;un post sur l&amp;rsquo;&lt;a href="http://en.wikipedia.org/wiki/Aspect-oriented_programming" target="_blank"&gt;AOP&lt;/a&gt;, car je ne voulais pas vous resservir le sempiternel exemple de mise en place d&amp;rsquo;une gestion de log applicatif simplifiée.&lt;/p&gt;
&lt;p&gt;Si vous voulez vous rafraichir les idées sur le sujet je vous conseille de jeter un œil sur l&amp;rsquo;article d&amp;rsquo;&lt;a href="http://ayende.com/blog/3474/logging-the-aop-way" target="_blank"&gt;Ayende Rahien sur le sujet&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Avec le framework .NET, il existe au moins 6 façons différentes d&amp;rsquo;ajouter un brin d&amp;rsquo;AOP dans vos programmes;&lt;/p&gt;</description></item><item><title>Live charting avec SignalR</title><link>https://blog.memoryleak.ovh/posts/live-charting-avec-signalr/</link><pubDate>Mon, 26 Sep 2011 21:21:00 +0000</pubDate><guid>https://blog.memoryleak.ovh/posts/live-charting-avec-signalr/</guid><description>&lt;p&gt;&lt;a href="https://github.com/SignalR" target="_blank"&gt;SignalR&lt;/a&gt; is awesome ! Oui il va falloir vous habituer à entendre dire que cette librairie est un petit bijou.&lt;/p&gt;
&lt;p&gt;&lt;img src="http://fabrice.michellonet.free.fr/MyMemoryLeaks/Posts/43/SignalR_awesome.png" alt=""&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Mais qu&amp;rsquo;est-ce qu&amp;rsquo;elle a de si bien cette librairie SignalR ?&lt;/strong&gt;
SignalR fournit une couche d&amp;rsquo;abstraction au-dessus des &lt;a href="http://en.wikipedia.org/wiki/WebSocket" target="_blank"&gt;WebSocket&lt;/a&gt; et des &lt;a href="http://en.wikipedia.org/wiki/Long_polling#Long_polling" target="_blank"&gt;long polling connections&lt;/a&gt; pour les développeurs .NET et fonctionne sous IIS sans avoir à installer un autre service à côté.&lt;/p&gt;
&lt;p&gt;Jusqu&amp;rsquo;alors il existait bien des solutions commerciales de ces technos dans l&amp;rsquo;écosystème .NET mais aucune n&amp;rsquo;avait vraiment convaincu, souvent par manque d&amp;rsquo;intégration forte entre le client et le serveur; rendant la communication entre les deux fastidieuse.&lt;/p&gt;</description></item><item><title>EntityFramework.Patterns : Repository &amp; Unit Of Work</title><link>https://blog.memoryleak.ovh/posts/entityframework-patterns-repository-unit-of-work/</link><pubDate>Wed, 13 Jul 2011 15:07:00 +0000</pubDate><guid>https://blog.memoryleak.ovh/posts/entityframework-patterns-repository-unit-of-work/</guid><description>&lt;p&gt;Je vous propose un très rapide post pour faciliter la prise en main des Patterns Repository et Unit Of Work disponibles dans &lt;a href=""&gt;EntityFramework.Patterns&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Pour simplifier le sujet, le but du pattern Repository est de donner au développeur une passerelle de requêtage unifiée, via des opérations (le plus souvent) atomiques.
Unit Of Work, est la quant à lui pour valider transactionnellement un ensemble de modifications faites sur les données.&lt;/p&gt;
&lt;p&gt;Pour la version longue vous pourrez trouver votre bonheur sur le site de &lt;a href="http://martinfowler.com/" target="_blank"&gt;Martin Fowler&lt;/a&gt; &lt;a href="http://martinfowler.com/eaaCatalog/repository.html" target="_blank"&gt;ici pour le Repository&lt;/a&gt; et &lt;a href="http://martinfowler.com/eaaCatalog/unitOfWork.html" target="_blank"&gt;ici pour Unit Of Work&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Release d'EntityFramework.Patterns</title><link>https://blog.memoryleak.ovh/posts/release-d-entityframework-patterns/</link><pubDate>Thu, 07 Jul 2011 16:32:00 +0000</pubDate><guid>https://blog.memoryleak.ovh/posts/release-d-entityframework-patterns/</guid><description>&lt;p&gt;Bon ça y est je me suis décidé à trouver un toit pour &lt;a href="http://efpatterns.codeplex.com/" target="_blank"&gt;EntityFramework.Patterns&lt;/a&gt;, une librairie qui s&amp;rsquo;adossant à &lt;a href="http://msdn.microsoft.com/en-us/data/aa937723" target="_blank"&gt;Entity Framework 4.1&lt;/a&gt;, propose l&amp;rsquo;implémentation de patterns couramment nécessaire lorsqu&amp;rsquo;on utilise un &lt;a href="http://en.wikipedia.org/wiki/Object-relational_mapping" target="_blank"&gt;ORM&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Je n&amp;rsquo;ai toujours pas cédé aux appels des sirènes de &lt;a href="https://github.com/" target="_blank"&gt;Github&lt;/a&gt;; EntityFramework.Patterns est donc hébergé sur &lt;a href="http://www.codeplex.com/" target="_blank"&gt;Codeplex&lt;/a&gt;.
Vous trouverez également la librairie sur &lt;a href="http://nuget.org/List/Search?packageType=Packages&amp;amp;searchCategory=All&amp;#43;Categories&amp;amp;searchTerm=EntityFramework.Patterns&amp;amp;sortOrder=package-download-count&amp;amp;pageSize=10" target="_blank"&gt;nuget&lt;/a&gt;&amp;hellip; d&amp;rsquo;ailleurs elle y était présente bien avant la création du repository sur codeplex.&lt;/p&gt;
&lt;p&gt;Pour l&amp;rsquo;installer via nuget, rien de plus simple :&lt;/p&gt;</description></item><item><title>FEZ Domino</title><link>https://blog.memoryleak.ovh/posts/fez-domino/</link><pubDate>Thu, 07 Jul 2011 14:51:00 +0000</pubDate><guid>https://blog.memoryleak.ovh/posts/fez-domino/</guid><description>&lt;p&gt;Un rapide post pour vous faire partager ma joie de ce jour.&lt;/p&gt;
&lt;p&gt;J&amp;rsquo;ai enfin reçu la commande que j&amp;rsquo;avais passé sur &lt;a href="http://www.robotshop.com/eu/" target="_blank"&gt;Roboshop&lt;/a&gt; il y a bientôt un mois (ils déconnent un peu chez Roboshop sur les délai&amp;hellip;)
Bref, entre autre dans le colis :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Micro-contrôleur &lt;a href="http://www.ghielectronics.com/catalog/product/133" target="_blank"&gt;Fez Domino&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Processeur 72Mhz 32-bit ARM7 LPC2388&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;~148KB free Flash&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;~62KB free RAM&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img src="http://fabrice.michellonet.free.fr/MyMemoryLeaks/Posts/42/FEZ_Domino.JPG" alt=""&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Un servo controlleur &lt;a href="http://www.lynxmotion.com/p-395-ssc-32-servo-controller.aspx" target="_blank"&gt;SSC-32&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Peut gérer jusqu&amp;rsquo;à 32 servo moteurs.&lt;/p&gt;
&lt;p&gt;&lt;img src="http://fabrice.michellonet.free.fr/MyMemoryLeaks/Posts/42/SSC32.JPG" alt=""&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;C&amp;rsquo;est vraiment petit ces trucs la, pour vous donner une idée, les voici à côté d&amp;rsquo;une pile 9V.&lt;/p&gt;</description></item><item><title>Custom ASP.NET MVC Project Template</title><link>https://blog.memoryleak.ovh/posts/custom-asp-net-mvc-project-template/</link><pubDate>Tue, 21 Jun 2011 21:32:00 +0000</pubDate><guid>https://blog.memoryleak.ovh/posts/custom-asp-net-mvc-project-template/</guid><description>&lt;p&gt;Récemment, Phil Haack nous présentait dans un très bon post &lt;a href="http://haacked.com/archive/2011/06/06/creating-a-custom-asp-net-mvc-project-template.aspx" target="_blank"&gt;comment ajouter un template MVC3 personnalisé&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Dans ce post il lève le voile sur l&amp;rsquo;intégration de &lt;a href="http://nuget.org/" target="_blank"&gt;nuget&lt;/a&gt; dans Visual Studio. On y apprend que malheureusement par manque de temps l&amp;rsquo;intégration n&amp;rsquo;est que minimaliste et que seul les packages présent sur la machine (%ProgramFiles%\Microsoft ASP.NET\ASP.NET MVC 3\Packages) ne peuvent être installés.&lt;/p&gt;
&lt;p&gt;Après avoir fait un peu joujou avec, voici quelques points complémentaires :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Pour télécharger un package nuget (extension nupkg), vous pouvez utiliser &lt;a href="http://nuget.codeplex.com/releases/view/59864" target="_blank"&gt;nuget package explorer&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Quickstart &amp; Nuget</title><link>https://blog.memoryleak.ovh/posts/quickstart-nuget/</link><pubDate>Tue, 17 May 2011 19:00:00 +0000</pubDate><guid>https://blog.memoryleak.ovh/posts/quickstart-nuget/</guid><description>&lt;p&gt;Dans mon &lt;a href="http://mymemoryleaks.blogspot.com/2011/05/project-template-quickstart-et-vsix.html" target="_blank"&gt;précédent post&lt;/a&gt; j’effleurais le sujet des gains de productivité que pouvais procurer les templates et autres Quickstart dans vos développement de tous les jours.&lt;/p&gt;
&lt;p&gt;Prenons le cas d’un Quickstart, qui je le rappelle n’est autre qu’une solution templatisée. Imaginons que l’on souhaite utiliser 3 ou 4 librairies externes .NET bien sentie et pourquoi pas une ou deux librairies javascript s’il s’agit d’une solution Web.&lt;/p&gt;
&lt;p&gt;En m’appuyant sur &lt;a href="http://nuget.codeplex.com/" target="_blank"&gt;Nuget&lt;/a&gt; lors de la création des templates de projet composant le Quickstart, les dépendances pourrons être facilement être mise à jour par les développeurs à posteriori toujours grâce à Nuget. Rien de magique dans tout ça, en fait chaque projet est doté de son propre fichier &amp;lsquo;packages.config&amp;rsquo; (repository nuget pour le projet) relatant la version des librairies référencées.&lt;/p&gt;</description></item><item><title>Project Template, Quickstart et VSIX</title><link>https://blog.memoryleak.ovh/posts/project-template-quickstart-et-vsix/</link><pubDate>Fri, 13 May 2011 21:29:00 +0000</pubDate><guid>https://blog.memoryleak.ovh/posts/project-template-quickstart-et-vsix/</guid><description>&lt;p&gt;Dernièrement j’ai fait mumuse avec les template de fichiers et projets que l’on peut créer dans Visual Studio.&lt;/p&gt;
&lt;p&gt;&lt;img src="http://fabrice.michellonet.free.fr/MyMemoryLeaks/Posts/41/coccinelle.png" alt="coccinelle"&gt;&lt;/p&gt;
&lt;p&gt;Pour ceux qui ne connaissent pas, les template de fichier vous permettent de définir l’ossature d’un type de fichier que vous utilisez souvent. Une fois créé vous retrouverez votre template dans le menu de Visual Studio « Add new Item ».&lt;/p&gt;
&lt;p&gt;Par extension les projects template vous permettent de définir la structure d’un type projet, afin de prendre en compte les conventions de votre équipe par exemple. Vous y définissez l’ensemble des fichiers présent dès la création du projet.&lt;/p&gt;</description></item><item><title>Quickstart Telerik Extensions for ASP.NET MVC via Nuget</title><link>https://blog.memoryleak.ovh/posts/quickstart-telerik-extensions-for-asp-net-mvc-via-nuget/</link><pubDate>Thu, 31 Mar 2011 21:04:00 +0000</pubDate><guid>https://blog.memoryleak.ovh/posts/quickstart-telerik-extensions-for-asp-net-mvc-via-nuget/</guid><description>&lt;p&gt;Sans nul doute &lt;a href="http://scribefire-next/" target="_blank"&gt;Nuget&lt;/a&gt; a grandement amélioré le process de déploiement/configuration/utilisation de bibliothèques tierces dans l&amp;rsquo;écosystème .NET.&lt;/p&gt;
&lt;p&gt;Malheureusement, certain package ne sont pas parfait, et nécessite que l&amp;rsquo;on trifouille encore un peu dans la config pour que tout soit fonctionnel.
J&amp;rsquo;en ai personnellement fait l&amp;rsquo;expérience lorsque j&amp;rsquo;ai tenté d&amp;rsquo;utiliser les &lt;a href="http://www.telerik.com/products/aspnet-mvc.aspx" target="_blank"&gt;MVC Extensions de Telerik&lt;/a&gt; via Nuget, une excellente librairie de composants graphiques soit dit en passant.&lt;/p&gt;
&lt;p&gt;Vous l&amp;rsquo;aurez compris, l&amp;rsquo;idée de ce post est de présenter les manipulations à faire pour pouvoir finaliser l&amp;rsquo;installation de la librairie de Telerik.&lt;/p&gt;</description></item><item><title>Mercurial : Régler les problèmes de certificats SSL.</title><link>https://blog.memoryleak.ovh/posts/mercurial-regler-les-problemes-de-certificats-ssl/</link><pubDate>Tue, 22 Mar 2011 18:38:00 +0000</pubDate><guid>https://blog.memoryleak.ovh/posts/mercurial-regler-les-problemes-de-certificats-ssl/</guid><description>&lt;p&gt;Ce n&amp;rsquo;est pas dans mon habitude de poster des conseils sur des outils et leur configuration, mais cette fois je vais faire une petite entorse au règlement; tout simplement car j&amp;rsquo;ai pas mal galéré pour résoudre ce soucis, et si ce post permet d&amp;rsquo;aider une seule personne alors cela en aura valu le coup.&lt;/p&gt;
&lt;p&gt;Bref, depuis la version 1.7 le niveau de sécurité de Mercurial à été revu à la hausse, et donc évidement des petits tracas pour nous utilisateurs de &lt;a href="http://tortoisehg.bitbucket.org/" target="_blank"&gt;Tortoise HG&lt;/a&gt; &amp;amp; &lt;a href="http://visualhg.codeplex.com/" target="_blank"&gt;Visual HG&lt;/a&gt; sous Windows. En résumé, les connexions HTTPS utilisant des certificats auto signés (Self-signed certificates) ne sont plus acceptés par le controleur de code source.&lt;/p&gt;</description></item><item><title>Razor plugin pour SyntaxHighlighter</title><link>https://blog.memoryleak.ovh/posts/razor-plugin-pour-syntaxhighlighter/</link><pubDate>Mon, 28 Feb 2011 22:47:00 +0000</pubDate><guid>https://blog.memoryleak.ovh/posts/razor-plugin-pour-syntaxhighlighter/</guid><description>&lt;p&gt;Comme beaucoup d&amp;rsquo;entre vous j&amp;rsquo;utilise l&amp;rsquo;excellent &lt;a href="http://alexgorbatchev.com/SyntaxHighlighter/" target="_blank"&gt;SyntaxHighlighter&lt;/a&gt; d&amp;rsquo;Alex Gorbatchev, pour mettre en forme les snippets de code sur mon blog.&lt;/p&gt;
&lt;p&gt;Bien qu&amp;rsquo;il dispose de nombreux plugin de prise en charge de language, parfois très ésotérique, je n&amp;rsquo;ai encore rien vu pour le language préféré de tous ceux qui font du MVC 3 ou du WebMatrix, j&amp;rsquo;ai nommé &lt;a href="http://www.asp.net/webmatrix/tutorials/2-introduction-to-asp-net-web-programming-using-the-razor-syntax" target="_blank"&gt;razor&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;img src="http://fabrice.michellonet.free.fr/MyMemoryLeaks/Posts/38/razor.jpg" alt="razor"&gt;&lt;/p&gt;
&lt;p&gt;Du coup, je me suis lancé et voici une toute première version téléchargeable &lt;a href="http://fabrice.michellonet.free.fr/MyMemoryLeaks/SH3/scripts/shBrushRazor.js" target="_blank"&gt;ici&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Transformations web.config d&amp;#39;une Web application.</title><link>https://blog.memoryleak.ovh/posts/transformations-web-config-d-39-une-web-application/</link><pubDate>Tue, 22 Feb 2011 22:52:00 +0000</pubDate><guid>https://blog.memoryleak.ovh/posts/transformations-web-config-d-39-une-web-application/</guid><description>&lt;p&gt;On a tous connu ce cas de figure, ou l&amp;rsquo;on doit déployer une application web sur une plateforme autre que celle sur laquelle on développe (serveur de dev, recette, prod etc&amp;hellip;);
A minima on se retrouve à modifier les chaines de connexions vers la/les bases de données, au mieux on a prévu une copie tweakée du web.config par plateforme (avec le gros inconvénient d&amp;rsquo;avoir maintenant plusieurs fichiers à maintenir en parallèle), on fait ça dans l&amp;rsquo;urgence et hop ça plante :p.
Surement un petit bout de configuration non que l&amp;rsquo;on a oublié de reporté dans ce fichier de conf spécifique à l&amp;rsquo;environnement visé. Ça sent le vécu, tout ça !&lt;/p&gt;</description></item><item><title>MVC3 - Utiliser facilement le Datepicker de JQuery.</title><link>https://blog.memoryleak.ovh/posts/mvc3-utiliser-facilement-le-datepicker-de-jquery/</link><pubDate>Fri, 18 Feb 2011 21:13:00 +0000</pubDate><guid>https://blog.memoryleak.ovh/posts/mvc3-utiliser-facilement-le-datepicker-de-jquery/</guid><description>&lt;p&gt;Un des points apportant le plus de productivité dans le framework ASP.NET MVC est surement l&amp;rsquo;avènement des Display &amp;amp; Editor Templates.&lt;/p&gt;
&lt;p&gt;Je m&amp;rsquo;explique si vous suivez les best practices et que vos vues ressemblent plus ou moins à cela :&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;@model CustomMVCScaffolder.Models.Employee
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;@* This partial view defines form fields that will appear when creating and editing entities *@
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; @Html.LabelFor(model =&amp;gt; model.NationalIdNumber)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; @Html.EditorFor(model =&amp;gt; model.NationalIdNumber)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; @Html.ValidationMessageFor(model =&amp;gt; model.NationalIdNumber)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; @Html.LabelFor(model =&amp;gt; model.Login)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; @Html.EditorFor(model =&amp;gt; model.Login)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; @Html.ValidationMessageFor(model =&amp;gt; model.Login)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; @Html.LabelFor(model =&amp;gt; model.JobTitle)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; @Html.EditorFor(model =&amp;gt; model.JobTitle)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; @Html.ValidationMessageFor(model =&amp;gt; model.JobTitle)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; @Html.LabelFor(model =&amp;gt; model.BirthDate)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; @Html.EditorFor(model =&amp;gt; model.BirthDate)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; @Html.ValidationMessageFor(model =&amp;gt; model.BirthDate)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; @Html.LabelFor(model =&amp;gt; model.Maried)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; @Html.EditorFor(model =&amp;gt; model.Maried)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; @Html.ValidationMessageFor(model =&amp;gt; model.Maried)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; @Html.LabelFor(model =&amp;gt; model.Gender)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; @Html.EditorFor(model =&amp;gt; model.Gender)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; @Html.ValidationMessageFor(model =&amp;gt; model.Gender)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; @Html.LabelFor(model =&amp;gt; model.HireDate)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; @Html.EditorFor(model =&amp;gt; model.HireDate)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; @Html.ValidationMessageFor(model =&amp;gt; model.HireDate)
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;alors au runtime, le framework choisira le composant graphique HTML (Input, select etc&amp;hellip;) le plus adapté à afficher les propriétés du model et ca sur toutes vos vues.&lt;/p&gt;</description></item><item><title>Analysis Services Report Pack</title><link>https://blog.memoryleak.ovh/posts/analysis-services-report-pack/</link><pubDate>Wed, 19 Jan 2011 23:18:00 +0000</pubDate><guid>https://blog.memoryleak.ovh/posts/analysis-services-report-pack/</guid><description>&lt;p&gt;Avant-hier, mon client m&amp;rsquo;a demandé s&amp;rsquo;il était possible d&amp;rsquo;avoir une &amp;ldquo;cartographie&amp;rdquo; de sa base OLAP que nous sommes en train de construire.&lt;/p&gt;
&lt;p&gt;Par cartographie, il entendait a minima avoir un listing de toutes les mesures, dimensions et niveaux existants. Ma première réaction fut de vérifier si &lt;a href="http://bidshelper.codeplex.com/" target="_blank"&gt;BIDS Helper&lt;/a&gt; n&amp;rsquo;avait pas ce genre de feature cachée dans un coin. Circulez rien à voir de très intéressant de ce côté-là!&lt;/p&gt;
&lt;p&gt;Je me suis ensuite rué sur Google pour voir s&amp;rsquo;il n&amp;rsquo;y avait pas un SQL Server Report Pack comme celui qui était apparu pour SQL Server 2005, mais axé Analysis Services. Rien non plus en direct de chez Redmond.
Par contre en creusant un peu je suis tombé sur l&amp;rsquo;excellent blog de la société &lt;a href="http://capstonebi.blogspot.com/" target="_blank"&gt;Capstone&lt;/a&gt; et leur superbe &lt;a href="http://capstonebi.blogspot.com/2009/11/analysis-services-2008-metadata-report.html" target="_blank"&gt;Analysis Services 2008 Metadata Report Pack&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Injection HTML à base d&amp;#39;HTTPModule</title><link>https://blog.memoryleak.ovh/posts/injection-html-a-base-d-39-httpmodule/</link><pubDate>Tue, 18 Jan 2011 22:22:00 +0000</pubDate><guid>https://blog.memoryleak.ovh/posts/injection-html-a-base-d-39-httpmodule/</guid><description>&lt;p&gt;Dernièrement j&amp;rsquo;ai échangé avec mon Boss, Jérôme, sur les possibilités d&amp;rsquo;enrichir un site web non dévellopé en .NET mais qui serait hosté dans IIS.
On pourrait se mettre à apprendre le Python&amp;hellip; mais voila on est un peu fainéant :)&lt;/p&gt;
&lt;p&gt;Une des solutions que je lui ai proposé étais de tirer parti du mécanisme d&amp;rsquo;extensibilité du pipeline de IIS7 afin d&amp;rsquo;intervenir directement sur le code HTML renvoyé au navigateur.&lt;/p&gt;
&lt;p&gt;&lt;img src="http://fc09.deviantart.net/fs49/f/2009/179/6/7/67d8d599f0b79628e410f38b21028f90.jpg" alt="Green Injection"&gt;&lt;/p&gt;</description></item><item><title>Identity ou UniqueIdentifier (Guid) ?</title><link>https://blog.memoryleak.ovh/posts/identity-ou-uniqueidentifier-guid/</link><pubDate>Mon, 25 Oct 2010 22:12:00 +0000</pubDate><guid>https://blog.memoryleak.ovh/posts/identity-ou-uniqueidentifier-guid/</guid><description>&lt;p&gt;Je dois être maudit ! Cela fait prés de 3 ans que sur tous les projets sur lesquels j’interviens, le sempiternel troll du Identity vs Guid revient me hanter.&lt;/p&gt;
&lt;p&gt;Non, non, non… je ne suis pas un ayatollah de la base de donnée… je n’ai rien contre les GUID ! Mais pourtant j’ai quand même du mal à comprendre pourquoi on a tendance à en coller partout, même quand ca n’a aucun sens… et ca j’ai vraiment du mal…&lt;/p&gt;</description></item><item><title>JetBrains supporte l&amp;#39;Open Source</title><link>https://blog.memoryleak.ovh/posts/jetbrains-supporte-l-39-open-source/</link><pubDate>Tue, 27 Apr 2010 17:55:00 +0000</pubDate><guid>https://blog.memoryleak.ovh/posts/jetbrains-supporte-l-39-open-source/</guid><description>&lt;p&gt;Comme vous le savez sûrement, la version 5 de Resharper est disponible depuis quelques temps, évidement pour supporter la version 2010 de Visual Studio; même si le produit est installable sur un Visual Studio 2008. Le but de ce post, n&amp;rsquo;est pas juste de vous annoncer la mise à dispo d&amp;rsquo;un soft et d&amp;rsquo;en faire la pub, c&amp;rsquo;est vraiment pas mon genre, et encore moins le but de ce blog.&lt;/p&gt;</description></item><item><title>Overriding et Shadowing de méthodes en IL.</title><link>https://blog.memoryleak.ovh/posts/overriding-et-shadowing-de-methodes-en-il/</link><pubDate>Thu, 22 Apr 2010 22:22:00 +0000</pubDate><guid>https://blog.memoryleak.ovh/posts/overriding-et-shadowing-de-methodes-en-il/</guid><description>&lt;p&gt;En ce moment je fais joujou avec les opcodes CIL qui se cachent sous notre bon vieux C#.&lt;/p&gt;
&lt;p&gt;En voulant surcharger et cacher (shadow) successivement deux propriétés hérités, j&amp;rsquo;ai remarqué que le compilo générait une suite de metadata assez déroutante. Prenons l&amp;rsquo;exemple suivant :&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;public class BaseClass
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; public int Prop1 { get; set; }
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; public virtual int Prop2 { get; set; }
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; public virtual int Prop3 { get; set; }
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; public class DerivClass : BaseClass
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; public int Prop1 { get; set; }
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; public new int Prop2 { get; set; }
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; public new virtual int Prop3 { get; set; }
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Du coté de la classe de base on obtient les metadata suivantes sur le getter :&lt;/p&gt;</description></item><item><title>Interagir avec les pages ASP.NET avant l&amp;#39;Init.</title><link>https://blog.memoryleak.ovh/posts/interagir-avec-les-pages-asp-net-avant-l-39-init/</link><pubDate>Wed, 21 Apr 2010 21:37:00 +0000</pubDate><guid>https://blog.memoryleak.ovh/posts/interagir-avec-les-pages-asp-net-avant-l-39-init/</guid><description>&lt;p&gt;Au cours du développement de Claymore, pour la partie ASP.NET plus précisément, j&amp;rsquo;ai eu besoin de trouver un hook me donnant la possibilité d&amp;rsquo;interagir avec les pages avant les events que l&amp;rsquo;on trouve sur l&amp;rsquo;objet Page.&lt;/p&gt;
&lt;p&gt;J&amp;rsquo;ai tout d&amp;rsquo;abord pensé tripatouiller dans le fichier Global.asax&amp;hellip; sans finalement avoir trouvé ce que je souhaitais. Par contre, en fouillant un peu du côté des HttpModule je suis arrivé à la solution suivante :&lt;/p&gt;</description></item><item><title>Benchmark WCF vs ASMX, Remoting, WSE, Enterprise Services.</title><link>https://blog.memoryleak.ovh/posts/benchmark-wcf-vs-asmx-remoting-wse-enterprise-services/</link><pubDate>Mon, 05 Apr 2010 21:15:00 +0000</pubDate><guid>https://blog.memoryleak.ovh/posts/benchmark-wcf-vs-asmx-remoting-wse-enterprise-services/</guid><description>&lt;p&gt;Je relais assez peu souvent les infos glanées sur tel ou tel site, préférant vous montrer un peu de code :)&lt;/p&gt;
&lt;p&gt;Ceci dit ce soir je fais une exception, en vous encourageant vivement a jeter un coup d&amp;rsquo;œil au benchmark des technos de mise en réseau que nous, développeurs .NET, avons à notre dispositions.&lt;/p&gt;
&lt;p&gt;Le bench, étudie de manière approfondie chaque techno, et la compare dans un scenario viable et réaliste de leurs utilisations.&lt;/p&gt;</description></item><item><title>Version 1.1.0.0 de Claymore</title><link>https://blog.memoryleak.ovh/posts/version-1-1-0-0-de-claymore/</link><pubDate>Wed, 31 Mar 2010 20:37:00 +0000</pubDate><guid>https://blog.memoryleak.ovh/posts/version-1-1-0-0-de-claymore/</guid><description>&lt;p&gt;Suite à la demande d&amp;rsquo;un utilisateur sur Codeplex de pouvoir utiliser Claymore avec le Compact Framework, j&amp;rsquo;ai ajouté cette feature dans la librairie; Plus précisément, il existe désormais une assembly qui vise spécifiquement cette version du Framework.&lt;/p&gt;
&lt;p&gt;Les classes du Namespace Configuration n&amp;rsquo;existant pas dans le Compact Framework, j&amp;rsquo;ai donc du ajouter une API permettant de configurer par code, le fonctionnement de la librairie, tout comme il est possible de le faire en passant par une configuration dans le fichier app.config ou web.config.&lt;/p&gt;</description></item><item><title>Claymore - Framework MVP</title><link>https://blog.memoryleak.ovh/posts/claymore-framework-mvp/</link><pubDate>Thu, 18 Feb 2010 23:43:00 +0000</pubDate><guid>https://blog.memoryleak.ovh/posts/claymore-framework-mvp/</guid><description>&lt;p&gt;Non non non, vous ne rêvez pas&amp;hellip; non non je ne suis pas mort!
Ça faisait bien longtemps que je n&amp;rsquo;avais pas eu et pas pris le temps de mettre à jour ce blog&amp;hellip; Qui as dit que les enfants n&amp;rsquo;était pas chronophages? :)&lt;/p&gt;
&lt;p&gt;Depuis près de deux ans, les missions sur lesquelles j&amp;rsquo;interviens sont très souvent liées au développement Winform et malheureusement à chaque fois c&amp;rsquo;est le même constat; les forms et/ou usercontrol sont un joli mélange de code métier et de gestion d&amp;rsquo;interface graphique, sans parler des cas ou l&amp;rsquo;on retrouve même le code d&amp;rsquo;accès aux données fourré au beau milieu de ce jolie petit monde.&lt;/p&gt;</description></item><item><title>Code source du framework .NET</title><link>https://blog.memoryleak.ovh/posts/code-source-du-framework-net/</link><pubDate>Mon, 03 Aug 2009 07:43:00 +0000</pubDate><guid>https://blog.memoryleak.ovh/posts/code-source-du-framework-net/</guid><description>&lt;p&gt;Cela fait plus d&amp;rsquo;un an et demi que le site Microsoft Reference Source Code Center à vu le jour. Rappelons que ce dernier à pour but de mettre à disposition le code source des assembly suivantes :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Mscorlib.DLL&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;System.DLL&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;System.Data.DLL&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;System.Drawing.DLL&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;System.Web.DLL&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;System.Web.Extensions.DLL&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;System.Windows.Forms.DLL&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;System.XML.DLL&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;WPF (UIAutomation*.dll, System.Windows.DLL, System.Printing.DLL, System.Speech.DLL, WindowsBase.DLL, WindowsFormsIntegration.DLL, Presentation*.dll, et quelques autres&amp;hellip;)&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Microsoft.VisualBasic.DLL&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Depuis lors Visual Studio 2008 à été mis à jour afin d&amp;rsquo;offrir la possibilité de debugger en direct les sources du framework .NET.
Pour ceux qui aurait loupé l&amp;rsquo;info au moment de la sortie (peut-être que l&amp;rsquo;info n&amp;rsquo;a pas été assez bien relayée), voici un tutoriel de Shawn Burke qui vous permettra de configurer votre IDE préféré.&lt;/p&gt;</description></item><item><title>Nouveau skin.</title><link>https://blog.memoryleak.ovh/posts/nouveau-skin/</link><pubDate>Wed, 22 Jul 2009 20:56:00 +0000</pubDate><guid>https://blog.memoryleak.ovh/posts/nouveau-skin/</guid><description>&lt;p&gt;Voila! après quelques nuits plutôt courtes je suis heureux de mettre en ligne ce nouveau thème pour mon blog.&lt;/p&gt;
&lt;p&gt;Certains lecteurs m&amp;rsquo;ayant dit que sur l&amp;rsquo;ancienne version la fonte était trop petite et sombre, j&amp;rsquo;ai essayé de trouver un compromis entre la mode du flashy qui sévit de plus en plus sur la toile et mon penchant pour le gothisme&amp;hellip; Finalement, je suis reparti sur un autre concept&amp;hellip; Bref, vos yeux devraient moins saigner si vous lisez ces lignes sur le blog directement. Quand à ceux qui trouvent que le blog a basculé dans le mode Hacker (comprenez fonte blanche sur fond noir) et bien il vous reste toujours Google Reader :)&lt;/p&gt;</description></item><item><title>SMDBehavior 0.22</title><link>https://blog.memoryleak.ovh/posts/smdbehavior-0-22/</link><pubDate>Sun, 12 Jul 2009 21:30:00 +0000</pubDate><guid>https://blog.memoryleak.ovh/posts/smdbehavior-0-22/</guid><description>&lt;p&gt;Un billet rapide pour annoncer la release 0.2.2 de &lt;a href="http://smdbehavior.codeplex.com" target="_blank"&gt;SMDBehavior&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Cette version fixe un bug qui causait un disfonctionnement lors de l&amp;rsquo;appel de Web Services en utilisant le verbe GET. Merci à Andrew Cave qui m&amp;rsquo;a gentillement remonté ce bug.&lt;/p&gt;
&lt;p&gt;J&amp;rsquo;ajouterais également cette semaine quelques exemples supplémentaires.&lt;/p&gt;
&lt;p&gt;Bon téléchargement :)&lt;/p&gt;</description></item><item><title>Subsonic 3.0</title><link>https://blog.memoryleak.ovh/posts/subsonic-3-0/</link><pubDate>Tue, 07 Jul 2009 08:42:00 +0000</pubDate><guid>https://blog.memoryleak.ovh/posts/subsonic-3-0/</guid><description>&lt;p&gt;Mon petit &lt;a href="http://fr.wikipedia.org/wiki/Mapping_objet-relationnel" target="_blank"&gt;ORM&lt;/a&gt; chouchou monte de version, et on le retrouve désormais en version 3.0 avec tout un tas de nouveautés.&lt;/p&gt;
&lt;p&gt;Depuis la sortie de la version 2.2 en avril dernier, certain pensaient que le projet &lt;a href="http://subsonicproject.com/" target="_blank"&gt;Subsonic&lt;/a&gt; était mort; Rob Connerry ayant été embauché par Microsoft, et le manque de communication sur le site concernant l&amp;rsquo;avancement m&amp;rsquo;arrangeant rien.&lt;/p&gt;
&lt;p&gt;Mais c&amp;rsquo;était sans compter sur Rob qui nous préparait dans sa cave une mouture qui n&amp;rsquo;a sans doute plus grand chose à voir avec la version 2.2.&lt;/p&gt;</description></item><item><title>[François Jehl] : Montée en charge, quelques conseils.</title><link>https://blog.memoryleak.ovh/posts/francois-jehl-montee-en-charge-quelques-conseils/</link><pubDate>Wed, 27 May 2009 13:41:00 +0000</pubDate><guid>https://blog.memoryleak.ovh/posts/francois-jehl-montee-en-charge-quelques-conseils/</guid><description>&lt;p&gt;Dans son billet &lt;a href="http://fjehl.blogspot.com/2009/05/ssis-montee-en-charge-quelques-conseils.html#links" target="_blank"&gt;[SSIS] Montée en charge, quelques conseils.&lt;/a&gt; François, nous propose quelques très bon conseils d&amp;rsquo;optimisation des packages SSIS.&lt;/p&gt;
&lt;p&gt;Pour une fois qu&amp;rsquo;il ne parle pas de Data Mining (quelqu&amp;rsquo;un comprend ce qu&amp;rsquo;il raconte au moins sur le DMX), je vais me permettre d&amp;rsquo;intervenir/compléter sur un point. J&amp;rsquo;espère que ca ne te dérange pas François. &amp;gt; &lt;em&gt;&lt;a href="http://fjehl.blogspot.com/" target="_blank"&gt;François&lt;/a&gt; à dit :&lt;/em&gt; &amp;hellip; SSIS est optimisé en mémoire donc à vous de l&amp;rsquo;économiser! Déjà, sélectionnez uniquement les colonnes utiles&amp;hellip;&lt;/p&gt;</description></item><item><title>Mono.Cecil : la reflexion sous stéroïdes.</title><link>https://blog.memoryleak.ovh/posts/mono-cecil-la-reflexion-sous-steroides/</link><pubDate>Wed, 27 May 2009 10:04:00 +0000</pubDate><guid>https://blog.memoryleak.ovh/posts/mono-cecil-la-reflexion-sous-steroides/</guid><description>&lt;p&gt;Dernièrement en étudiant les possibilités offertes par T4 (un prochain billet y sera consacré), j&amp;rsquo;ai été confronté une fois de plus a un problème bien connu de la Refection : L&amp;rsquo;impossibilité de décharger un assembly de l&amp;rsquo;AppDomain l&amp;rsquo;ayant chargé; La seule solution étant de décharger tout l&amp;rsquo;AppDomain.&lt;/p&gt;
&lt;p&gt;Dans mon cas, l&amp;rsquo;AppDomain chargeant l&amp;rsquo;assembly était hosté par Visual Studio, ma seule solution était donc de fermer Visual Studio 2008&amp;hellip; sniff sniff un peu violent!&lt;/p&gt;</description></item><item><title>SMDBehavior</title><link>https://blog.memoryleak.ovh/posts/smdbehavior/</link><pubDate>Fri, 08 May 2009 21:02:00 +0000</pubDate><guid>https://blog.memoryleak.ovh/posts/smdbehavior/</guid><description>&lt;p&gt;Lors des deux derniers billets, je vous ai présenté les possibilités offertes par le format SMD (simple method description) qui n&amp;rsquo;est autre qu&amp;rsquo;un JSON permettant de décrire un service web tout comme wsdl le fait en xml.&lt;/p&gt;
&lt;p&gt;Pour rappel, certain Framework Ajax comme Dojo et Yahoo UI, savent interpréter ce JSON et généré automatiquement la classe proxy qui permettra de travailler facilement en Javascript avec les WebService.&lt;/p&gt;
&lt;p&gt;Bref, tout ca pour vous annoncer que j&amp;rsquo;ai dernièrement travaillé sur une extension WCF qui génére automatiquement le SMD de vos services; et que le fruit de ce travail est disponible sur Codeplex à l&amp;rsquo;adresse suivante : SMDBehavior.&lt;/p&gt;</description></item><item><title>Dojo + WCF [2eme Partie]</title><link>https://blog.memoryleak.ovh/posts/dojo-wcf-2eme-partie/</link><pubDate>Mon, 20 Apr 2009 12:30:00 +0000</pubDate><guid>https://blog.memoryleak.ovh/posts/dojo-wcf-2eme-partie/</guid><description>&lt;p&gt;Dans le précèdent billet, je vous avais proposé d’invoquer un service WCF en utilisant les XmlHttpRequest à la sauce dojo (xhrGet et xhrPost).&lt;/p&gt;
&lt;p&gt;Bien que cette façon de faire soit bien plus rapide et « élégante » que lorsqu’on doit écrire soit même ce type de code js (avec support des navigateurs browser etc…), il existe une méthode encore plus simple.&lt;/p&gt;
&lt;p&gt;Bien, revenons quelques instants sur les services web publiés aussi bien sous forme d’ASMX qu&amp;rsquo;en WCF, ils ont la bonne idée d’être accompagnés d’une nomenclature les décrivants ; Vous l’aurez compris je parle bien ici du wsdl.&lt;/p&gt;</description></item><item><title>Dojo + WCF [1ere Partie]</title><link>https://blog.memoryleak.ovh/posts/dojo-wcf-1ere-partie/</link><pubDate>Wed, 08 Apr 2009 20:01:00 +0000</pubDate><guid>https://blog.memoryleak.ovh/posts/dojo-wcf-1ere-partie/</guid><description>&lt;p&gt;Voila déjà plusieurs mois, j’avais une discussion sur les architectures SOA avec Christophe et surtout comment les mettre en œuvre avec les Framework (Ajax) Javascript. A l’époque il démarrait une refonte de sa galerie de photos perso LCCFamilly et souhaitait qu’elle soit Full Ajax.&lt;/p&gt;
&lt;p&gt;Sur ce même principe, je me propose aujourd’hui de vous montrer comment interroger un WebService WCF à partir du Framework Dojo ; Faisons un service qui nous donne l’heure et la date courante formatée selon la locale du serveur. On commence par déclarer l’interface de notre service.&lt;/p&gt;</description></item><item><title>Microsoft Web Platform Installer</title><link>https://blog.memoryleak.ovh/posts/microsoft-web-platform-installer/</link><pubDate>Mon, 06 Apr 2009 20:30:00 +0000</pubDate><guid>https://blog.memoryleak.ovh/posts/microsoft-web-platform-installer/</guid><description>&lt;p&gt;Il y a quelques jours, je suis tombé un peu par hazard sur la page Microsoft Web Platform Installer.&lt;/p&gt;
&lt;p&gt;De quoi s&amp;rsquo;agit-t-il? Sans avoir testé mais d&amp;rsquo;après les infos qui sont distillées sur ce mini site, cela prend la forme d&amp;rsquo;un installeur qui vous aidera à mettre en place :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Le framework .NET evidemment&lt;/li&gt;
&lt;li&gt;Le serveur web IIS 7&lt;/li&gt;
&lt;li&gt;La base relationnelle SQL Serveur&lt;/li&gt;
&lt;li&gt;Les outils de dev : Visual Studio et Expression Web&lt;/li&gt;
&lt;li&gt;Et tout un tas d&amp;rsquo;applications web opensource comme DNN, BlogEngine.NET etc&amp;hellip;&lt;/li&gt;
&lt;li&gt;Et tenez vous bien vous trouverez même des applications qui fonctionnent sous PHP (Acquia Drupal, WordPress etc&amp;hellip;)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Personnellement tout cela me fait penser aux initiatives qui furent lancées il y a une petite dizaine d&amp;rsquo;années en arrière avec des installateurs comme EasyPhp et compagnie&amp;hellip; encore une fois, l&amp;rsquo;histoire se répète!! mais pour le coup, il me semble que c&amp;rsquo;est plutôt une bonne chose.&lt;/p&gt;</description></item><item><title>Quel Framework Ajax choisir ?</title><link>https://blog.memoryleak.ovh/posts/quel-framework-ajax-choisir/</link><pubDate>Thu, 02 Apr 2009 21:44:00 +0000</pubDate><guid>https://blog.memoryleak.ovh/posts/quel-framework-ajax-choisir/</guid><description>&lt;p&gt;Dojo est désormais passé en version 1.3 avec son lot de nouveautés que je vous laisse découvrir ici.&lt;/p&gt;
&lt;p&gt;Mais ce qui est plus excitant encore (et qui est presque passé inaperçu) c’est la mise à disposition de TaskSpeed, un outil de benchmark des principaux Framework Ajax actuellement disponible [JQuery, Dojo, Prototype, MooTools].&lt;/p&gt;
&lt;p&gt;Mais comment benchmarker des Framework qui n’offrent pas tous les mêmes fonctionnalités ? (JQuery n’offre pas de composants graphique par exemple). TaskSpeed propose de les noter sur leur plus petit dénominateur commun, c&amp;rsquo;est-à-dire la manipulation du DOM HTML.&lt;/p&gt;</description></item><item><title>Webkit... ou comment reproduire les erreurs du passé.</title><link>https://blog.memoryleak.ovh/posts/webkit-ou-comment-reproduire-les-erreurs-du-passe/</link><pubDate>Tue, 31 Mar 2009 09:41:00 +0000</pubDate><guid>https://blog.memoryleak.ovh/posts/webkit-ou-comment-reproduire-les-erreurs-du-passe/</guid><description>&lt;p&gt;A croire que l&amp;rsquo;histoire se répète indéfiniment, et qu’on ne tire pas de leçons du passé.&lt;/p&gt;
&lt;p&gt;Pourquoi ce coup de gueule ? Tout simplement parce que je viens de tomber sur une news qui présente les &lt;strong&gt;EXTRAORDINAIRES&lt;/strong&gt; nouvelles propriétés CSS du moteur Webkit (utilisé principalement par Safari et Google Chrome)…&lt;/p&gt;
&lt;p&gt;Attention mesdames et messieurs, jusqu’à maintenant on utilisait les CSS pour styler un élément, maintenant avec Webkit vous pouvez lui donner un comportement.&lt;/p&gt;</description></item><item><title>Quand Google et Microsoft fonctionnent main dans la main.</title><link>https://blog.memoryleak.ovh/posts/quand-google-et-microsoft-fonctionnent-main-dans-la-main/</link><pubDate>Fri, 27 Mar 2009 22:41:00 +0000</pubDate><guid>https://blog.memoryleak.ovh/posts/quand-google-et-microsoft-fonctionnent-main-dans-la-main/</guid><description>&lt;p&gt;Dernièrement, j&amp;rsquo;ai l&amp;rsquo;impression que dans le giron de Microsoft on s&amp;rsquo;émeut de plus en plus, parfois outre mesures, de ce qui se fait chez Google. Pourtant, je me suis laissé dire qu&amp;rsquo;il existe surement des terrains ou les deux offres se complètent.&lt;/p&gt;
&lt;p&gt;En ce moment par exemple, je travaille chez mon client avec le composant Javascript de Virtual Earth qui permet, comme tout le monde doit déjà le savoir, d’afficher de belles cartes géographique avec zoom, navigation interactive et toutes les petites choses sexy que les aficionados de Google Maps apprécient.&lt;/p&gt;</description></item><item><title>AllyStats v0.4</title><link>https://blog.memoryleak.ovh/posts/allystats-v0-4/</link><pubDate>Tue, 14 Oct 2008 13:40:00 +0000</pubDate><guid>https://blog.memoryleak.ovh/posts/allystats-v0-4/</guid><description>&lt;p&gt;Un post très très rapide afin d&amp;rsquo;annoncer la sortie de la version 0.4 d&amp;rsquo;AllyStats. Cette version permet de :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;utiliser le script dans tout les pays.&lt;/li&gt;
&lt;li&gt;utiliser le script si vous possedez plusieurs compte sur des univers différents.&lt;/li&gt;
&lt;li&gt;modifier la couleur de fond des graphiques.&lt;/li&gt;
&lt;li&gt;meilleure proportion des graphs.&lt;/li&gt;
&lt;li&gt;correction du calcul de la progression lors de l&amp;rsquo;export HTML&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Toutes vos remarques ont étés prises en compte et je les intégrerais à mesure dans le script&amp;hellip; il me faut juste un peu de temps&amp;hellip; libre&lt;/p&gt;</description></item><item><title>OGame Skript [FR] v0.3</title><link>https://blog.memoryleak.ovh/posts/ogame-skript-fr-v0-3/</link><pubDate>Fri, 26 Sep 2008 09:29:00 +0000</pubDate><guid>https://blog.memoryleak.ovh/posts/ogame-skript-fr-v0-3/</guid><description>&lt;p&gt;Depuis l&amp;rsquo;annonce de la première version Française d&amp;rsquo;OGame Skript sur le forum officiel OGame, les choses ont pris une bonne tournure. En effet l&amp;rsquo;accueil qui lui à été réservé à été plutôt bon, plusieurs personnes m&amp;rsquo;ont gentillement aider à corriger les coquilles qui se sont faufilées par ci par là, certains allant même jusqu&amp;rsquo;à poster les corrections nécessaires dans telle ou telle regexp.&lt;/p&gt;
&lt;p&gt;Je ne pouvais rêver mieux&amp;hellip; encore merci à tout ceux qui participent à améliorer le script.&lt;/p&gt;</description></item><item><title>ASCMD : Parametrez vos scripts SSAS.</title><link>https://blog.memoryleak.ovh/posts/ascmd-parametrez-vos-scripts-ssas/</link><pubDate>Mon, 22 Sep 2008 21:36:00 +0000</pubDate><guid>https://blog.memoryleak.ovh/posts/ascmd-parametrez-vos-scripts-ssas/</guid><description>&lt;p&gt;Beaucoup d&amp;rsquo;entre vous doivent dors et déjà connaitre cette astuce qui facilite les problématiques de déploiement de vos cubes Olap (Sql Server Analysis Services); Pour ma part je n&amp;rsquo;ai découvert qu&amp;rsquo;aujourd&amp;rsquo;hui qu&amp;rsquo;il est possible de parametrer les scripts XMLA, MDX et DMX lors de leur execution via ASCMD.&lt;/p&gt;
&lt;p&gt;Petit retour en arrière, ASCMD est un utilitaire en ligne de commande qui permet d&amp;rsquo;exécuter des scripts sur une instance d&amp;rsquo;Analysis Services locale ou distante. Le code source est fournit dans les samples de SQL Server sous forme d&amp;rsquo;un projet C# à compiler.&lt;/p&gt;</description></item><item><title>OGame AllyStats</title><link>https://blog.memoryleak.ovh/posts/ogame-allystats/</link><pubDate>Sun, 21 Sep 2008 21:20:00 +0000</pubDate><guid>https://blog.memoryleak.ovh/posts/ogame-allystats/</guid><description>&lt;p&gt;Je vous l&amp;rsquo;avais annoncé à demi mots le 12 septembre dernier (OGame Skript [Fr] releasé), j&amp;rsquo;allais écrire au moins un script greasemonkey pour OGame. Voila c&amp;rsquo;est chose faite, enfin pour une béta :)&amp;hellip; je vous présente AllyStats; L&amp;rsquo;idée est d&amp;rsquo;améliorer la page statistique d&amp;rsquo;alliance (merci ptitony &amp;amp; les Freeglad pour l&amp;rsquo;idée) de la manièere suivante :&lt;/p&gt;
&lt;p&gt;Si ce que vous avez vu vous plais, n&amp;rsquo;hésitez pas à l&amp;rsquo;installer.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Pré-requis&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Firefox 3.0&lt;/li&gt;
&lt;li&gt;greasemonkey&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Il est possible qu&amp;rsquo;il vous soit demandé de redémarrer Firefox; Dans ce cas, &lt;strong&gt;surtout&lt;/strong&gt; faites le.&lt;/p&gt;</description></item><item><title>Dojo Lightbox</title><link>https://blog.memoryleak.ovh/posts/dojo-lightbox/</link><pubDate>Wed, 17 Sep 2008 21:51:00 +0000</pubDate><guid>https://blog.memoryleak.ovh/posts/dojo-lightbox/</guid><description>&lt;p&gt;Aujourd&amp;rsquo;hui je me propose d&amp;rsquo;illustrer la mise en place de lightbox à la sauce Dojo comme toujours. Pour ceux qui n&amp;rsquo;en ont jamais entendu parler, dépêchez-vous cliquez sur les images ci-dessous.&lt;/p&gt;
&lt;p&gt;L&amp;rsquo;implémentation est fortement inspirée de la librairie de Lokesh Dhakar; d&amp;rsquo;ailleurs l&amp;rsquo;équipe Dojo n&amp;rsquo;hésite pas à le dire ouvertement ici. Mais alors quel intérêt à utiliser l&amp;rsquo;implémentation faite par Dojo plutôt que la version originale? Pour être franc, la seule raison qui puisse vous faire choisir celle de Dojo est le fait d&amp;rsquo;utiliser déjà ce framework, car honnêtement la version originale est esthétiquement un tout petit peu mieux.&lt;/p&gt;</description></item><item><title>OGame Skript [Fr] releasé</title><link>https://blog.memoryleak.ovh/posts/ogame-skript-fr-release/</link><pubDate>Fri, 12 Sep 2008 20:30:00 +0000</pubDate><guid>https://blog.memoryleak.ovh/posts/ogame-skript-fr-release/</guid><description>&lt;p&gt;Ça y est c&amp;rsquo;est officiel OGame Skript est releasé en Français; j&amp;rsquo;ai d&amp;rsquo;ailleurs été intégré dans l&amp;rsquo;équipe.L&amp;rsquo;accueil qui lui est fait sur le forum officiel d&amp;rsquo;OGame y est plutôt bon.&lt;/p&gt;
&lt;p&gt;Il s&amp;rsquo;agit la de ma première participation à un projet Open Source que je n&amp;rsquo;ai pas initié&amp;hellip; et cela semble être une bonne expérience.&lt;/p&gt;
&lt;p&gt;J&amp;rsquo;ai dans l&amp;rsquo;idée de proposer des Addons non officiels, alors repassez ici pour avoir des nouvelles.&lt;/p&gt;</description></item><item><title>Internationalisation OGame Skript</title><link>https://blog.memoryleak.ovh/posts/internationalisation-ogame-skript/</link><pubDate>Mon, 08 Sep 2008 14:20:00 +0000</pubDate><guid>https://blog.memoryleak.ovh/posts/internationalisation-ogame-skript/</guid><description>&lt;p&gt;Ceux qui me connaissent savent que j&amp;rsquo;ai été piqué par le virus &lt;a href="http://www.ogame.fr/" target="_blank"&gt;OGame&lt;/a&gt; depuis bientôt 2 ans. Depuis lors de nombreux groupes de scripteurs (&lt;a href="https://addons.mozilla.org/fr/firefox/addon/748" target="_blank"&gt;Greasemonkey&lt;/a&gt; principalement) se sont formés pour essayer d&amp;rsquo;enrichir le jeu.&lt;/p&gt;
&lt;p&gt;Certain de ces scripts ont étés abandonnées aussi vite qu&amp;rsquo;ils sont nés&amp;hellip; d&amp;rsquo;autres sont toujours là; C&amp;rsquo;est le cas d&amp;rsquo;&lt;a href="http://www.ogame-skript.com/" target="_blank"&gt;Ogame Skript&lt;/a&gt; qui vous l&amp;rsquo;aurez compris à ma préférence. Seul problème, à l&amp;rsquo;heure actuelle il n&amp;rsquo;existe qu&amp;rsquo;une version Allemande et une autre en Anglais. Pour ma part j&amp;rsquo;avais hacké le script dans mon coin histoire de pouvoir l&amp;rsquo;utiliser sur nos univers Français.&lt;/p&gt;</description></item><item><title>[François Jehl] : Ouvrir SSAS 2005 sur l&amp;#39;extérieur en utilisant HTTP</title><link>https://blog.memoryleak.ovh/posts/francois-jehl-ouvrir-ssas-2005-sur-l-39-exterieur-en-utilisant-http/</link><pubDate>Thu, 26 Jun 2008 12:52:00 +0000</pubDate><guid>https://blog.memoryleak.ovh/posts/francois-jehl-ouvrir-ssas-2005-sur-l-39-exterieur-en-utilisant-http/</guid><description>&lt;p&gt;François à publié un très bon billet (&lt;a href="http://fjehl.blogspot.com/2008/06/ouvrir-ssas-2005-sur-lextrieur-en.html#links" target="_blank"&gt;Ouvrir SSAS 2005 sur l&amp;rsquo;extérieur en utilisant HTTP&lt;/a&gt;) sur la façon d&amp;rsquo;implémenter une connectivité HTTP pour Analysis Services 2005.&lt;/p&gt;
&lt;p&gt;Comme je lui faisais remarquer dans les commentaires, il est possible d&amp;rsquo;utiliser l&amp;rsquo;authentification intégrée de IIS afin que les crédentials du user soient automatiquement passés au serveur AS, ce qui permet de pouvoir facilement utiliser les rôles Olap. Cependant, il faut noter que sous Windows 2003 pour une raison qui m&amp;rsquo;est inconnue la délégation de compte pour les Administrateurs locaux de la machine ne fonctionne pas avec msmdpump.dll.&lt;/p&gt;</description></item><item><title>Masquer la barre Blogger</title><link>https://blog.memoryleak.ovh/posts/masquer-la-barre-blogger/</link><pubDate>Tue, 24 Jun 2008 09:18:00 +0000</pubDate><guid>https://blog.memoryleak.ovh/posts/masquer-la-barre-blogger/</guid><description>&lt;p&gt;J&amp;rsquo;ai vu pas mal de billets proposant des solutions permettant de retirer la barre Blogger qui est ajoutée automatiquement en en-tête des blogs. Certaines solutions sont basée sur des CSS, mais malheureusement celles que j&amp;rsquo;ai essayées ne fonctionnent pas, car la barre est en fait chargée dans un &lt;code&gt;iframe&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Reste alors la solution du javascript.&lt;/p&gt;
&lt;p&gt;Voici donc une façon implémenter ça : Tout d&amp;rsquo;abord recherchez la balise &lt;code&gt;body&lt;/code&gt; dans votre template html et ajoutez l&amp;rsquo;attribut &lt;code&gt;onload&lt;/code&gt; comme suit.&lt;/p&gt;</description></item><item><title>Overflow : l&amp;#39;attribut oublié.</title><link>https://blog.memoryleak.ovh/posts/overflow-l-39-attribut-oublie/</link><pubDate>Fri, 20 Jun 2008 08:23:00 +0000</pubDate><guid>https://blog.memoryleak.ovh/posts/overflow-l-39-attribut-oublie/</guid><description>&lt;p&gt;Hier, Jérome Berthaud, me parlait d&amp;rsquo;une découverte qu&amp;rsquo;il avait faite lors de son escapade nocturne de la veille sur la toile. Il cherchait une solution au sempiternel problème soulevé par les éléments &lt;code&gt;floatés&lt;/code&gt; à l&amp;rsquo;intérieur d&amp;rsquo;un autre élément de type &lt;code&gt;bloc&lt;/code&gt; et surtout comment revenir dans le flux normal du positionnement. Voici un exemple de ce cas de figure :&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;## A Column
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;# Main Content
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; Lorem ipsum
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;L&amp;rsquo;idée ici, est d&amp;rsquo;avoir une colonne (d&amp;rsquo;identifiant inner) ne prenant qu&amp;rsquo;une petite partie de l&amp;rsquo;espace d&amp;rsquo;affichage, par exemple une barre de navigation. Et bien sur le reste de l&amp;rsquo;écran réservé au contenu principal du site. Il nous est bien évidemment possible de définir la taille de cette colonne, mais de par sa nature d&amp;rsquo;élément de &lt;code&gt;block&lt;/code&gt;, le contenu principal va de facto se retrouver repoussé en dessous d&amp;rsquo;elle, à moins de choisir de la floater.&lt;/p&gt;</description></item><item><title>Retour sur le Border Container</title><link>https://blog.memoryleak.ovh/posts/retour-sur-le-border-container/</link><pubDate>Wed, 11 Jun 2008 11:54:00 +0000</pubDate><guid>https://blog.memoryleak.ovh/posts/retour-sur-le-border-container/</guid><description>&lt;p&gt;Je me suis peut-être un peu emballé sur le &lt;a href="http://dojotoolkit.org/book/dojo-book-0-9/part-2-dijit/layout/border-container" target="_blank"&gt;Border Container&lt;/a&gt;; je le pensais un peu plus flexible, mais finalement c&amp;rsquo;est moi qui ai sur-évaluer ses possibilités. Ce composant propose de séparer la zone d&amp;rsquo;affichage au maximum 4 parties distinctes :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;une entête&lt;/li&gt;
&lt;li&gt;une partie de gauche&lt;/li&gt;
&lt;li&gt;une partie de centrale (obligatoire)&lt;/li&gt;
&lt;li&gt;une partie de droite&lt;/li&gt;
&lt;li&gt;un pied de page&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img src="http://fabrice.michellonet.googlepages.com/border_container_0.png" alt="border container"&gt;&lt;/p&gt;
&lt;p&gt;Partant de ce principe je divise donc ma zone d&amp;rsquo;affichage en 4, commence à styler le tout puis à mesure que je rajoute des billets la zone centrale grandit et je suis bientôt obligé d&amp;rsquo;ajouter un overflow dessus afin de pouvoir lire l&amp;rsquo;intégralité des posts. Arrgg, ce n&amp;rsquo;est pas ce que je souhaitais; j&amp;rsquo;aurais préféré que le scroll se fasse sur l&amp;rsquo;ensemble de la page et non pas uniquement sur la zone centrale ou une barre de scroll est du plus mauvais effet.&lt;/p&gt;</description></item><item><title>Dojo et Blogger, ça roule.</title><link>https://blog.memoryleak.ovh/posts/dojo-et-blogger-ca-roule/</link><pubDate>Fri, 06 Jun 2008 13:24:00 +0000</pubDate><guid>https://blog.memoryleak.ovh/posts/dojo-et-blogger-ca-roule/</guid><description>&lt;p&gt;Comme vous pouvez le voir le templating du blog avance; Je me suis basé sur le template foliage, enfin surtout sur les artworks. Pour l&amp;rsquo;instant vous pouvez découvrir le layout global ainsi qu&amp;rsquo;une première version de la présentation des billets. A ce propos, je posterais bientôt un tutoriel &amp;ldquo;step by step&amp;rdquo; sur la mise en forme d&amp;rsquo;un widget, surement le widget Blog qui m&amp;rsquo;a valu de me faire quelques cheveux blancs.&lt;/p&gt;</description></item><item><title>Démarrage</title><link>https://blog.memoryleak.ovh/posts/demarrage/</link><pubDate>Sun, 01 Jun 2008 17:03:00 +0000</pubDate><guid>https://blog.memoryleak.ovh/posts/demarrage/</guid><description>&lt;p&gt;Alors voila l&amp;rsquo;aventure recommence pour moi, je me suis laissé tenté une fois de plus par l&amp;rsquo;envie d&amp;rsquo;ouvrir un blog technique. Il faut dire que cette fois-ci c&amp;rsquo;est &lt;a href="http://aurelien-koppel-pps.blogspot.com/" target="_blank"&gt;Aurélien&lt;/a&gt; qui m&amp;rsquo;a fait découvrir son blog ainsi que le système de template de Blogger. En réalité, c&amp;rsquo;est bien ce système customisable de template qui m&amp;rsquo;a donné envie de recommencer un blog.&lt;/p&gt;
&lt;p&gt;Pour le contenu du blog vous y retrouverez mes découvertes aussi bien celles qui m&amp;rsquo;ont plus que celles qui m&amp;rsquo;ont déçues.&lt;/p&gt;</description></item></channel></rss>