<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Pascal Lacroix</title>
	<atom:link href="http://www.pascallacroix.net/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.pascallacroix.net/blog</link>
	<description>Consultant entrepreneur en nouvelles technologies</description>
	<lastBuildDate>Tue, 16 Feb 2010 13:24:06 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>JobsDotnet change de Business Model</title>
		<link>http://www.pascallacroix.net/blog/2010/02/16/jobsdotnet-change-de-business-model/</link>
		<comments>http://www.pascallacroix.net/blog/2010/02/16/jobsdotnet-change-de-business-model/#comments</comments>
		<pubDate>Tue, 16 Feb 2010 13:23:06 +0000</pubDate>
		<dc:creator>Pascal Lacroix</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[Sans catégorie]]></category>
		<category><![CDATA[jobsdotnet]]></category>

		<guid isPermaLink="false">http://www.pascallacroix.net/blog/?p=204</guid>
		<description><![CDATA[JobsDotnet est le premier site emploi dédié aux technologies .NET.
Après plus d&#8217;un an d&#8217;existence, le site JobsDotnet a évolué pour changer de Business Model: les annonces sont désormais gratuites.

Chez Jupiteo, nous nous sommes rendus compte que la vente d&#8217;annonce est un modèle ancien et démodé. Nous avons décidé d&#8217;innover en proposant un service gratuit en [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.jobsdotnet.com" target="_blank">JobsDotnet </a>est le premier site emploi dédié aux technologies .NET.</p>
<p>Après plus d&#8217;un an d&#8217;existence, le site JobsDotnet a évolué pour changer de Business Model: les <strong>annonces sont désormais gratuites</strong>.<br />
<span id="more-204"></span></p>
<p>Chez <a href="http://www.jupiteo.com" target="_blank">Jupiteo</a>, nous nous sommes rendus compte que la vente d&#8217;annonce est un modèle ancien et démodé. Nous avons décidé d&#8217;innover en proposant un service gratuit en ce qui concerne la diffusion d&#8217;offres d&#8217;emploi.</p>
<p>De plus, la société Jupiteo propose également ses services et ses compétences pour la <strong>mise en place de sites emploi</strong>. JobsDotnet est également une vitrine de notre savoir-faire.</p>
<p>En complément aux annonces gratuites, nous proposons des services à valeur ajoutée pour <strong>aider au recrutement</strong>:</p>
<ul>
<li>création d&#8217;une page société qui permet de présenter la société, des besoins en recrutements et ses offres d&#8217;emploi;</li>
<li>aide à la sélection de candidats en proposant des entretiens téléphoniques pour valider les compétences techniques des candidats;</li>
<li>annuaire de sociétés.</li>
</ul>
<p>Aujourd&#8217;hui, j&#8217;invite les recruteurs à essayer <a href="http://www.jobsdotnet.com" target="_blank">JobsDotnet</a>. Le site cible les candidats dans cette technologies et il est également très placé par rapport à ses concurrents payants.</p>
<p>Une seule adresse à retenir: <a href="http://www.jobsdotnet.com" target="_blank">www.jobsdotnet.com</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.pascallacroix.net/blog/2010/02/16/jobsdotnet-change-de-business-model/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Le principe d&#8217;ouvert-fermé</title>
		<link>http://www.pascallacroix.net/blog/2010/01/04/le-principe-douvert-ferme/</link>
		<comments>http://www.pascallacroix.net/blog/2010/01/04/le-principe-douvert-ferme/#comments</comments>
		<pubDate>Mon, 04 Jan 2010 06:26:48 +0000</pubDate>
		<dc:creator>Pascal Lacroix</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[développement]]></category>
		<category><![CDATA[philosophie]]></category>

		<guid isPermaLink="false">http://www.pascallacroix.net/blog/?p=195</guid>
		<description><![CDATA[Pour démarrer cette année 2010, je vous présente le principe d&#8217;ouvert-fermé (ou Open-Closed Principle en anglais &#8211; OCP).
Il s&#8217;agit d&#8217;une philosophie de développement qui propose une manière de travailler. Je vous la présente car elle primordiale à mes yeux.

Qu&#8217;est-ce-que l&#8217;ouvert-fermé?
En fait, par ouvert-fermé, il faut comprendre ouvert aux évolutions et fermé aux modifications.
Cela veut dire [...]]]></description>
			<content:encoded><![CDATA[<p>Pour démarrer cette année 2010, je vous présente le <strong>principe d&#8217;ouvert-fermé</strong> (ou <strong>Open-Closed Principle</strong> en anglais &#8211; OCP).</p>
<p>Il s&#8217;agit d&#8217;une philosophie de développement qui propose une manière de travailler. Je vous la présente car elle primordiale à mes yeux.</p>
<p><span id="more-195"></span></p>
<h3>Qu&#8217;est-ce-que l&#8217;ouvert-fermé?</h3>
<p>En fait, par ouvert-fermé, il faut comprendre ouvert aux évolutions et fermé aux modifications.</p>
<p>Cela veut dire qu&#8217;une classe a la capacité d&#8217;être étendue (ajout de nouvelles fonctionnalités), sans pour autant que le code existant qui implémente un comportement soit modifié.</p>
<p>Appliquer le principe OCP permet d&#8217;assurer une architecture évolutive sans allonger la durée des tests et de la maintenance.</p>
<p>Le principe a été énoncé la première fois en 1988 par le Docteur <a title="Bertrand Meyer" href="http://en.wikipedia.org/wiki/Bertrand_Meyer">Bertrand Meyer</a>.</p>
<h3>Pourquoi utiliser OCP?</h3>
<p>OCP impose les règles suivantes:</p>
<ul>
<li>une classe doit être extensibles,</li>
<li>pour ajouter une fonctionnalité ou modifier un comportement, il ne faut pas toucher au code existant.</li>
</ul>
<p>Ceci entraine plusieurs conséquences:</p>
<ul>
<li>L&#8217;extensibilité: il faut donc réfléchir en amont aux extensions possibles. Il faut prévoir dans l&#8217;architecture des points d&#8217;extensions (par héritage, par événements ou autres) ;</li>
<li>Le code testé n&#8217;est pas modifié: ce qui veut dire que les nouveaux <em>bugs</em> apparaitront dans votre nouveau code ;</li>
</ul>
<h3>Un exemple concret</h3>
<p>Dans la pratique, j&#8217;utilise le framework <a href="http://www.asp.net/mvc" target="_blank">ASP.NET MVC</a> pour le développement des applications Web. Ce framework est une sur-couche de ASP.NET de Microsoft.</p>
<p>ASP.NET MVC permet d&#8217;ajouter des attributs sur les méthodes d&#8217;action des controlleurs. Ces attributs permettent de modifier le comportement d&#8217;une action avant ou/et après son exécution.</p>
<p>Prenons un exemple simple:</p>
<ul>
<li>Nous venons d&#8217;écrire une action qui effectue le chargement d&#8217;une liste d&#8217;utilisateurs en fonction du numéro de la page ;</li>
<li>Nous testons notre code (en écrivant par exemple des tests unitaires) ;</li>
<li>Plus tard, nous souhaitons ajouter un nouveau comportement à cette action: imposer l&#8217;authentification de l&#8217;utilisateur avec un rôle précis. Dans ASP.NET MVC, il suffira d&#8217;ajouter l&#8217;attribut <strong>Authorize</strong> sur la méthode pour que le framework demande automatiquement à l&#8217;utilisateur de s&#8217;authentifier lors de l&#8217;appel de cette action.</li>
</ul>
<p>C&#8217;est donc ici un exemple d&#8217;OCP: le code existant de l&#8217;action n&#8217;est pas modifié et pour l&#8217;étendre, il suffit d&#8217;ajouter un attribut avant la méthode.</p>
<p>Voici un exemple en C# pour être plus clair:</p>
<pre class="brush: csharp;">
public ActionResult Index(int page)
{
  List users = _userRepository.GetUsers(page);
  return View(users);
}
</pre>
<p>En appliquant l&#8217;attribut de sécurité, cela donne le code suivant:</p>
<pre class="brush: csharp;">
// On demande d'être authentifié et d'avoir le rôle d'administrateur
[Authorize(Roles=&quot;Admin&quot;)]
public ActionResult Index(int page)
{
  List users = _userRepository.GetUsers(page);
  return View(users);
}
</pre>
<p>Pour en savoir plus sur les attributs et l&#8217;extensibilité, je vous invite à consulter l&#8217;excellent billet de Rob Conery: <a href="http://blog.wekeroad.com/blog/aspnet-mvc-securing-your-controller-actions/" target="_blank">http://blog.wekeroad.com/blog/aspnet-mvc-securing-your-controller-actions/</a>.</p>
<h3>Pour aller plus loin</h3>
<p>J&#8217;espère avoir attiré votre attention sur ce principe. Pourquoi pas essayer de le mettre en place dans vos prochains développements?</p>
<p>Voici quelques liens qui vous permettront d&#8217;en savoir plus sur OCP:</p>
<ul>
<li>Un article de Microsoft: <a href="http://msdn.microsoft.com/fr-fr/magazine/cc546578.aspx" target="_blank">http://msdn.microsoft.com/fr-fr/magazine/cc546578.aspx</a></li>
<li>Un billet de Emmanuel Deloget: <a href="http://blog.emmanueldeloget.com/index.php/2006/09/21/15-le-principe-ouvert-ferme" target="_blank">http://blog.emmanueldeloget.com/index.php/2006/09/21/15-le-principe-ouvert-ferme</a></li>
<li>La présentation de Wikipedia: <a href="http://en.wikipedia.org/wiki/Open/closed_principle" target="_blank">http://en.wikipedia.org/wiki/Open/closed_principle</a></li>
<li>Extensibilité dans ASP.NET MVC: <a href="http://codeclimber.net.nz/archive/2009/04/08/13-asp.net-mvc-extensibility-points-you-have-to-know.aspx" target="_blank">http://codeclimber.net.nz/archive/2009/04/08/13-asp.net-mvc-extensibility-points-you-have-to-know.aspx</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.pascallacroix.net/blog/2010/01/04/le-principe-douvert-ferme/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Google référence plus vite que son ombre</title>
		<link>http://www.pascallacroix.net/blog/2009/10/17/google-reference-plus-vite-que-son-ombre/</link>
		<comments>http://www.pascallacroix.net/blog/2009/10/17/google-reference-plus-vite-que-son-ombre/#comments</comments>
		<pubDate>Sat, 17 Oct 2009 17:03:51 +0000</pubDate>
		<dc:creator>Pascal Lacroix</dc:creator>
				<category><![CDATA[Référencement]]></category>
		<category><![CDATA[google]]></category>

		<guid isPermaLink="false">http://www.pascallacroix.net/blog/?p=177</guid>
		<description><![CDATA[Après la mise à jour de ce blog, j&#8217;ai lancé quelques recherches sur Google. Rien de plus normal me direz-vous (histoire de vérifier si les méta-données sont bien définies).
Malheureusement, j&#8217;ai été surpris par ce moteur car il avait déjà indexé la page que j&#8217;ai écrite il y a quelques minutes!

Vous constaterez dans la capture que [...]]]></description>
			<content:encoded><![CDATA[<p>Après la mise à jour de ce blog, j&#8217;ai lancé quelques recherches sur Google. Rien de plus normal me direz-vous (histoire de vérifier si les méta-données sont bien définies).</p>
<p>Malheureusement, j&#8217;ai été surpris par ce moteur car il avait déjà indexé la page que j&#8217;ai écrite il y a quelques minutes!<br />
<span id="more-177"></span><br />
Vous constaterez dans la capture que ce moteur est vraiment très réactif (moins de 4 minutes pour indexer ma page!)</p>
<p><img src="http://www.pascallacroix.net/blog/wp-content/uploads/2009/10/referencement_rapide_google.jpg" alt="Réferencement rapide de Google" title="Réferencement rapide de Google" width="544" height="84" class="alignnone size-full wp-image-178" /></p>
<p>Récemment, j&#8217;avais déjà lu des articles qui parlaient de référencement temps réel pour arriver à la réactivité de Twitter. Désormais, j&#8217;ai l&#8217;ai vu en action moi-même.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.pascallacroix.net/blog/2009/10/17/google-reference-plus-vite-que-son-ombre/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Encore une mise à jour!</title>
		<link>http://www.pascallacroix.net/blog/2009/10/17/encore-une-mise-a-jour/</link>
		<comments>http://www.pascallacroix.net/blog/2009/10/17/encore-une-mise-a-jour/#comments</comments>
		<pubDate>Sat, 17 Oct 2009 16:47:37 +0000</pubDate>
		<dc:creator>Pascal Lacroix</dc:creator>
				<category><![CDATA[Divers]]></category>
		<category><![CDATA[communication]]></category>
		<category><![CDATA[entreprise]]></category>

		<guid isPermaLink="false">http://www.pascallacroix.net/blog/?p=170</guid>
		<description><![CDATA[Depuis quelques semaines, j&#8217;avais mis en place l&#8217;excellent plugin de coloration syntaxique. Il est vraiment très facile à utiliser et sa valeur ajoutée n&#8217;est pas négligeable (pour des extraits de code).
Aujourd&#8217;hui, je vous propose une mise à jour de ce blog sur deux axes:

Une mise à jour de l&#8217;affichage
Une mise à jour de la ligne [...]]]></description>
			<content:encoded><![CDATA[<p>Depuis quelques semaines, j&#8217;avais mis en place l&#8217;excellent <a href="http://www.pascallacroix.net/blog/2009/06/09/mise-a-jour-rapide-du-blog/">plugin de coloration syntaxique</a>. Il est vraiment très facile à utiliser et sa valeur ajoutée n&#8217;est pas négligeable (pour des extraits de code).</p>
<p>Aujourd&#8217;hui, je vous propose une mise à jour de ce blog sur deux axes:</p>
<ul>
<li>Une mise à jour de l&#8217;affichage</li>
<li>Une mise à jour de la ligne éditoriale</li>
</ul>
<p><span id="more-170"></span></p>
<h4>Mise à jour de l&#8217;apparence de ce blog</h4>
<p>Vous vous demander peut être pourquoi j&#8217;ai décidé de modifier (encore une fois) l&#8217;apparence de ce blog?</p>
<p>En fait, la mise à jour a été réalisée pour deux raisons:</p>
<ul>
<li>Tout d&#8217;abord car l&#8217;ancien thème était un peu vieillot car je trouvais les couleurs un peu trop franches,</li>
<li>Ensuite, car j&#8217;ai débuté une mise à jour des supports de communication de <a href="http://www.jupiteo.com">Jupiteo</a>. Je souhaite proposer une meilleure cohérence graphique entre mon blog perso et mon blog d&#8217;entreprise.</li>
</ul>
<p>J&#8217;ai donc choisi l&#8217;excellent thème Magazeen produit par <a href="http://www.smashingmagazine.com/">SmashingMagazine</a> et par <a href="http://www.wefunction.com/">WeFunction</a>. Je trouve la mise en page particulièrement soignée et claire. C&#8217;était une des raisons du choix de ce thème.</p>
<h4>Mise à jour de la ligne éditoriale</h4>
<p>Après quelques réflexions et surtout après l&#8217;ouverture de mon compte <a href="http://twitter.com/PascalLacroix">Twitter</a>, j&#8217;ai décidé d&#8217;améliorer la cohérence de l&#8217;ensemble de mes supports de communication.</p>
<p>En effet, je dispose aujourd&#8217;hui de plusieurs moyens de communiquer (<a href="http://www.jupiteo.com">mon blog d&#8217;entreprise</a>, mon blog perso, <a href="http://twitter.com/PascalLacroix">mon compte Twitter</a>, ma page Viadeo ou Linkedin) et il fallait absolument donner une image professionnelle et surtout cohérente entre chaque support.<br />
J&#8217;ai donc décidé de faire évoluer la ligne éditoriale de ce blog pour proposer des articles plus professionnels et donc laisser de côté tous les billets qui parlent de vidéos ou d&#8217;autres &laquo;&nbsp;blagues&nbsp;&raquo;.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.pascallacroix.net/blog/2009/10/17/encore-une-mise-a-jour/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Mise à jour rapide du blog</title>
		<link>http://www.pascallacroix.net/blog/2009/06/09/mise-a-jour-rapide-du-blog/</link>
		<comments>http://www.pascallacroix.net/blog/2009/06/09/mise-a-jour-rapide-du-blog/#comments</comments>
		<pubDate>Tue, 09 Jun 2009 19:55:44 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Divers]]></category>
		<category><![CDATA[blog]]></category>

		<guid isPermaLink="false">http://www.pascallacroix.net/blog/?p=165</guid>
		<description><![CDATA[Je viens de mettre à jour ce blog pour utiliser l&#8217;excellent plugin de Alex Gorbatchev pour faire de la mise en couleur syntaxique.
Il s&#8217;agit d&#8217;une extension de Wordpress qui traduit (en javascript) les éléments textuels à la volée.

Voici un exemple simple en C#:

public static int GetValue(string str)
{
return str.Length;
}

Merci à Alex pour son extension!
]]></description>
			<content:encoded><![CDATA[<p>Je viens de mettre à jour ce blog pour utiliser l&#8217;excellent plugin de <a href="http://alexgorbatchev.com/wiki/SyntaxHighlighter">Alex Gorbatchev</a> pour faire de la mise en couleur syntaxique.<br />
Il s&#8217;agit d&#8217;une extension de Wordpress qui traduit (en javascript) les éléments textuels à la volée.</p>
<p><span id="more-165"></span></p>
<p>Voici un exemple simple en C#:</p>
<pre class="brush: csharp;">
public static int GetValue(string str)
{
return str.Length;
}
</pre>
<p>Merci à Alex pour son extension!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.pascallacroix.net/blog/2009/06/09/mise-a-jour-rapide-du-blog/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Iron-man contre Bruce Lee</title>
		<link>http://www.pascallacroix.net/blog/2009/06/06/iron-man-contre-bruce-lee/</link>
		<comments>http://www.pascallacroix.net/blog/2009/06/06/iron-man-contre-bruce-lee/#comments</comments>
		<pubDate>Sat, 06 Jun 2009 15:44:59 +0000</pubDate>
		<dc:creator>Pascal Lacroix</dc:creator>
				<category><![CDATA[Divers]]></category>
		<category><![CDATA[Vidéos]]></category>

		<guid isPermaLink="false">http://www.pascallacroix.net/blog/?p=154</guid>
		<description><![CDATA[Juste un billet pour diffuser une petite vidéo que je trouve bien sympa!

Iron Man vs Bruce Lee de Patrick Boivin.
Comment avez-vous trouvé?
]]></description>
			<content:encoded><![CDATA[<p>Juste un billet pour diffuser une petite vidéo que je trouve bien sympa!</p>
<p><object width="540" height="315" data="http://vimeo.com/moogaloop.swf?clip_id=3784524&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" type="application/x-shockwave-flash"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://vimeo.com/moogaloop.swf?clip_id=3784524&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" /></object></p>
<p><a href="http://vimeo.com/3784524">Iron Man vs Bruce Lee</a> de <a href="http://vimeo.com/user1463264">Patrick Boivin</a>.</p>
<p>Comment avez-vous trouvé?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.pascallacroix.net/blog/2009/06/06/iron-man-contre-bruce-lee/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Linkii première version</title>
		<link>http://www.pascallacroix.net/blog/2008/11/23/linkii-premiere-version/</link>
		<comments>http://www.pascallacroix.net/blog/2008/11/23/linkii-premiere-version/#comments</comments>
		<pubDate>Sun, 23 Nov 2008 20:40:17 +0000</pubDate>
		<dc:creator>Pascal Lacroix</dc:creator>
				<category><![CDATA[Sans catégorie]]></category>
		<category><![CDATA[jupiteo]]></category>
		<category><![CDATA[linkii]]></category>

		<guid isPermaLink="false">http://www.pascallacroix.net/blog/?p=144</guid>
		<description><![CDATA[Nous venons de mettre en ligne la première version du site Linkii.
Linkii est un site permettant de réduire la taille des liens.

Il a été conçu dans l&#8217;idée de créer des liens plus petits en deux clics.
Il va apporter de nouvelles fonctionnalités par rapport aux sites du même type qui existent déjà.
Ce site est gratuit et [...]]]></description>
			<content:encoded><![CDATA[<p><img class="size-full wp-image-145 alignleft" title="Logo Linkii" src="http://www.pascallacroix.net/blog/wp-content/uploads/2008/11/linkii_petit.jpg" alt="Linkii" width="130" height="52" />Nous venons de mettre en ligne la première version du site <a href="http://linkii.net" target="_blank">Linkii</a>.</p>
<p><a href="http://linkii.net" target="_blank">Linkii</a> est un site permettant de réduire la taille des liens.<br />
<span id="more-144"></span></p>
<p>Il a été conçu dans l&#8217;idée de créer des liens plus petits en deux clics.</p>
<p>Il va apporter de nouvelles fonctionnalités par rapport aux sites du même type qui existent déjà.</p>
<p>Ce site est gratuit et a pour objectif de faire connaitre la société <a href="http://www.jupiteo.com" target="_blank">Jupiteo</a>.</p>
<p>Au menu de ce qui est prévu:</p>
<ul>
<li>statistiques avancées des clics (avec Google Analytics par exemple),</li>
<li>protection par mot de passe</li>
<li>paiement pour avoir accès à la page</li>
<li>durée de vie des liens</li>
</ul>
<p>En attendant les nouvelles fonctionnalités, je vous invite à essayer le site et à créer vos liens réduits.</p>
<p style="text-align: center;"><a href="http://linkii.net"><img class="size-full wp-image-147 aligncenter" title="Page d'accueil du site linkii.net" src="http://www.pascallacroix.net/blog/wp-content/uploads/2008/11/linkii_home1.png" alt="" width="400" height="189" /><br />
http://linkii.net</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.pascallacroix.net/blog/2008/11/23/linkii-premiere-version/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Comment appeler une méthode privée en C#?</title>
		<link>http://www.pascallacroix.net/blog/2008/10/27/comment-appeler-une-methode-privee-en-csharp/</link>
		<comments>http://www.pascallacroix.net/blog/2008/10/27/comment-appeler-une-methode-privee-en-csharp/#comments</comments>
		<pubDate>Mon, 27 Oct 2008 11:12:25 +0000</pubDate>
		<dc:creator>Pascal Lacroix</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[astuce]]></category>
		<category><![CDATA[reflector]]></category>
		<category><![CDATA[reflexion]]></category>

		<guid isPermaLink="false">http://www.pascallacroix.net/blog/?p=141</guid>
		<description><![CDATA[Récemment, j&#8217;ai du rechercher une solution afin de pouvoir récupérer une valeur depuis une propriété privée.
Cette valeur était nécessaire pour décoder un flux HTTP et malheureusement, elle était encapsulée (et cachée) par le framework .NET.
Heureusement, en .NET, il est très facile d&#8217;accéder à un membre privé d&#8217;une autre classe.
Bien sûr, ce type de mécanisme casse [...]]]></description>
			<content:encoded><![CDATA[<p>Récemment, j&#8217;ai du rechercher une solution afin de pouvoir récupérer une valeur depuis une <strong>propriété privée</strong>.</p>
<p>Cette valeur était nécessaire pour décoder un flux HTTP et malheureusement, elle était encapsulée (et cachée) par le framework .NET.</p>
<p>Heureusement, en .NET, il est très facile d&#8217;accéder à un membre privé d&#8217;une autre classe.</p>
<p>Bien sûr, ce type de mécanisme casse l&#8217;encapsulation et est contraire aux principes objet. Néanmoins, parfois cela devient nécessaire.</p>
<p><span id="more-141"></span></p>
<p><strong>Mon besoin a été le suivant</strong>: je souhaitais faire un appel à une méthode privée dans une autre classe. Par défaut, le compilateur l&#8217;interdit, c&#8217;est la raison d&#8217;être du mot clé <strong>private</strong>.</p>
<p>Par les mécanismes de <strong>réflexion </strong>proposés par .NET, il est possible d&#8217;accéder à quasiment n&#8217;importe quel membre de n&#8217;importe quelle classe.</p>
<h3>L&#8217;opération est réalisée de la manière suivante:</h3>
<ul>
<li>Il faut tout d&#8217;abord récupérer l&#8217;instance de la classe que l&#8217;on veut &laquo;&nbsp;espionner&nbsp;&raquo;.</li>
<li>Ensuite, on récupère son type avec la méthode GetType().</li>
<li>A partir de là, on récupère soit un membre directement (si l&#8217;on connait le nom), soit par énumération des membres (GetFields, GetMethods). Dans l&#8217;exemple, je connais le nom.</li>
<li>On effectue ensuite une invocation pour récupérer la valeur du membre (propriété ou méthode).</li>
</ul>
<h3>Voici un exemple qui montre simplement comment cela fonctionne:</h3>
<pre class="brush: csharp;">using System;

// Nécessaire pour accéder aux classes de la reflexion.
using System.Reflection;

namespace TestReflection
{
    class MyPrivateClass
    {
        private int GetPrivateValue()
        {
            return 5;
        }

        public int GetPublicValue()
        {
            return 10;
        }
    }

    static class Program
    {
        ///
        /// Point d'entrée de notre exemple
        ///
        [MTAThread]
        static void Main()
        {
            MyPrivateClass myClass = new MyPrivateClass();
            int value1 = myClass.GetPublicValue();

            // Ceci est impossible en temps normal
            // value = myClass.GetPrivateValue();

            // Récupérer le type:
            Type classType = myClass.GetType();

            // Récupérer les informations sur la méthode
            // (flags: important pour les membres privés)
            MethodInfo mi = classType.GetMethod(&amp;quot;GetPrivateValue&amp;quot;,
                BindingFlags.Instance | BindingFlags.NonPublic);

            // Faire une invocation:
            object result = mi.Invoke(myClass, null);
            int value2 = (int)result;

            Console.Write(&amp;quot;value1={0}, value2={1}&amp;quot;, value1, value2);
        }
    }
}</pre>
<p>Voilà donc une méthode simple pour accéder à un membre privé. Attention toutefois de n&#8217;utiliser ceci qu&#8217;avec précaution car tous les membres privés peuvent changer d&#8217;une version du framework à l&#8217;autre (ce qui peut donc vous obliger de revoir &laquo;&nbsp;l&#8217;astuce&nbsp;&raquo; à chanque nouvelle version).</p>
<p>Pour ceux qui ont déjà utilisé la reflexion, avez-vous déjà utilisé ce type d&#8217;astuce pour accéder à des valeurs cachées dans le framework .NET?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.pascallacroix.net/blog/2008/10/27/comment-appeler-une-methode-privee-en-csharp/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Les dernières offres d&#8217;emploi .NET</title>
		<link>http://www.pascallacroix.net/blog/2008/10/03/les-dernieres-offres-d-emploi-dotnet/</link>
		<comments>http://www.pascallacroix.net/blog/2008/10/03/les-dernieres-offres-d-emploi-dotnet/#comments</comments>
		<pubDate>Fri, 03 Oct 2008 11:46:34 +0000</pubDate>
		<dc:creator>Pascal Lacroix</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[jobsdotnet]]></category>
		<category><![CDATA[offres d'emploi]]></category>

		<guid isPermaLink="false">http://www.pascallacroix.net/blog/?p=139</guid>
		<description><![CDATA[Voici les 5 dernières offres d&#8217;emploi publiées sur JobsDotnet.
Pour rappel, Jobsdotnet est un site dont je m&#8217;occupe, et qui propose la mise en relation des recruteurs et des candidats qui recherchent un emploi dans les technologies .NET.

Liste des dernières offres:

Ingénieur développeur .net chez SII à Nantes.
Ingénieurs VB.Net chez ALIVIA Conseil à Paris.
Ingénieur Développement .NET / [...]]]></description>
			<content:encoded><![CDATA[<p>Voici les 5 dernières offres d&#8217;emploi publiées sur <a title="Lien vers Jobsdotnet.com" href="http://www.jobsdotnet.com" target="_blank">JobsDotnet</a>.</p>
<p>Pour rappel, Jobsdotnet est un site dont je m&#8217;occupe, et qui propose la mise en relation des recruteurs et des candidats qui recherchent un emploi dans les technologies .NET.</p>
<p><span id="more-139"></span><br />
Liste des dernières offres:</p>
<ul>
<li><a title="Ingénieur développeur .net" href="http://www.jobsdotnet.com/job/514/ingenieur-developpeur-net-at-sii-nantes/" target="_blank">Ingénieur développeur .net</a> chez SII à Nantes.</li>
<li><a title="Ingénieurs VB.Net" href="http://www.jobsdotnet.com/job/513/ingenieurs-vbnet-at-alivia-conseil/" target="_blank">Ingénieurs VB.Net</a> chez ALIVIA Conseil à Paris.</li>
<li><a title="Ingénieur Développement .NET / Plateforme de Trading" href="http://www.jobsdotnet.com/job/509/ingenieur-developpement-net-plateforme-de-trading-at-vivienne-investissement/" target="_blank">Ingénieur Développement .NET / Plateforme de Trading</a> chez Vivienne Investissement à Lyon.</li>
<li><a title="ingénieur d' études VB.NET" href="http://www.jobsdotnet.com/job/505/ingenieur-d-etudes-vbnet-at-manpower/" target="_blank">Ingénieur d&#8217; études VB.NET</a> chez Manpower à Lille.</li>
<li><a title="développeur chef de projet web" href="http://www.jobsdotnet.com/job/504/developpeur-chef-de-projet-web-at-manpower/" target="_blank">Développeur chef de projet web</a> chez Manpower à Tourcoing.</li>
</ul>
<p>N&#8217;hésitez pas à visiter le site et à me laisser un commentaire.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.pascallacroix.net/blog/2008/10/03/les-dernieres-offres-d-emploi-dotnet/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>40 sites incontournables sur Dotnet en France</title>
		<link>http://www.pascallacroix.net/blog/2008/10/03/40-sites-incontournables-sur-dotnet-en-france/</link>
		<comments>http://www.pascallacroix.net/blog/2008/10/03/40-sites-incontournables-sur-dotnet-en-france/#comments</comments>
		<pubDate>Fri, 03 Oct 2008 11:28:34 +0000</pubDate>
		<dc:creator>Pascal Lacroix</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[annuaire]]></category>
		<category><![CDATA[liste]]></category>

		<guid isPermaLink="false">http://www.pascallacroix.net/blog/?p=122</guid>
		<description><![CDATA[Je publie enfin le billet dont j&#8217;avais parlé récemment. Il présente l&#8217;ensemble des sites généralistes de la communauté .NET française.

J&#8217;ai cherché sur différents moteurs et je constate simplement que des sites anglais, il y en a énormément! Par contre, quand on commence à regarder ce qui se passe en France et bien ça devient plus [...]]]></description>
			<content:encoded><![CDATA[<p>Je publie enfin le billet dont <a href="http://www.pascallacroix.net/blog/2008/08/01/organiser-la-communaute-net-francaise/">j&#8217;avais parlé récemment</a>. Il présente l&#8217;ensemble des sites généralistes de la communauté .NET française.</p>
<p><span id="more-122"></span><br />
J&#8217;ai cherché sur différents moteurs et je constate simplement que des sites anglais, il y en a énormément! Par contre, quand on commence à regarder ce qui se passe en France et bien ça devient plus difficile de trouver des informations précises.</p>
<p>Je remercie les personnes qui m&#8217;ont envoyé leurs informations (principalement par email) et qui m&#8217;ont aidé à créer cette liste. Elle n&#8217;est surement pas complète. Néanmoins, c&#8217;est un bon point de départ si vous souhaitez &laquo;&nbsp;entrer&nbsp;&raquo; dans la communauté .NET française.</p>
<p><em>Si j&#8217;ai oublié votre site, laissez un commentaire pour que je l&#8217;ajoute à la liste.</em></p>
<p>Prochainement, je vous proposerai également une liste de ressources sur Silverlight et les frameworks WCF et WPF.</p>
<p><strong>Liste des sites généralistes .NET</strong></p>
<p><a href="http://www.dotnet-project.com/" target="_blank"><br />
<img class="alignnone size-full wp-image-125" title="Capture Dotnet Project" src="http://www.pascallacroix.net/blog/wp-content/uploads/2008/10/excerpt-dotnetproject.jpg" alt="" width="400" height="150" /></a></p>
<p><a href="http://www.dotnet-project.com/" target="_blank">Dotnet Project</a></p>
<p>Pas mal d&#8217;articles et de projets intéressants.</p>
<p><a href="http://www.codes-sources.com/" target="_blank"><br />
<img class="alignnone size-full wp-image-126" title="excerpt-codes-sources" src="http://www.pascallacroix.net/blog/wp-content/uploads/2008/10/excerpt-codes-sources.jpg" alt="" width="400" height="150" /></a></p>
<p><a href="http://www.codes-sources.com/" target="_blank">Codes Sources</a></p>
<p>Enorme liste de codes source dans tous les langages existants (C, C++, Java, Php, C#, VB&#8230;). Bien sur c&#8217;est aussi une bonne source pour toutes les questions ou problèmes que vous pouvez avoir avec .NET.</p>
<p><a href="http://www.techheadbrothers.com/" target="_blank"><br />
<img class="alignnone size-full wp-image-127" title="excerpt-techheadbrothers" src="http://www.pascallacroix.net/blog/wp-content/uploads/2008/10/excerpt-techheadbrothers.jpg" alt="" width="400" height="150" /></a></p>
<p><a href="http://www.techheadbrothers.com/" target="_blank">TechheadBrothers</a></p>
<p>Un site portail qui propose des articles rédigés par des experts .NET (la majorité des rédacteurs ont des certifications Microsoft). Très bonne source d&#8217;information pour des sujets très pointus.</p>
<p><a href="http://www.c2i.fr" target="_blank"><br />
<img class="alignnone size-full wp-image-128" title="excerpt-c2i" src="http://www.pascallacroix.net/blog/wp-content/uploads/2008/10/excerpt-c2i.jpg" alt="" width="400" height="150" /></a></p>
<p><a href="http://www.c2i.fr" target="_blank">C2I</a></p>
<p>Propose des articles quotidiens sur des sujets précis dans .NET. Il s&#8217;agit d&#8217;un site complémentaire à TechheadBrothers.</p>
<p><a href="http://www.dotnet-news.com/" target="_blank"><br />
<img class="alignnone size-full wp-image-129" title="excerpt-dotnet-news" src="http://www.pascallacroix.net/blog/wp-content/uploads/2008/10/excerpt-dotnet-news.jpg" alt="" width="400" height="150" /></a></p>
<p><a href="http://www.dotnet-news.com/" target="_blank">Dotnet News</a></p>
<p>Site d&#8217;actualités sur .NET. Lié très fortement au site Codes-Sources. Incontournable pour être au courant des dernières nouveautés de la communauté .NET internationale.</p>
<p><a href="http://dotnet.developpez.com/" target="_blank"><br />
<img class="alignnone size-full wp-image-130" title="excerpt-developpez" src="http://www.pascallacroix.net/blog/wp-content/uploads/2008/10/excerpt-developpez.jpg" alt="" width="400" height="150" /></a></p>
<p><a href="http://dotnet.developpez.com/" target="_blank">Rubrique Dotnet de developpez.com</a></p>
<p>Cette partie du site est une référence pour la communauté française .NET. Il propose des articles pour tous les niveaux et diffuse un ensemble de tutorials .NET, C# et VB.NET.</p>
<p><a href="http://www.programmez.com/" target="_blank">Programmez</a></p>
<p>Portail de développeurs (.NET, Java, PHP), site associé au magazine du même nom.</p>
<p><a href="http://www.dotnetguru.org/" target="_blank"><img class="alignnone size-full wp-image-131" title="excerpt-dotnetguru" src="http://www.pascallacroix.net/blog/wp-content/uploads/2008/10/excerpt-dotnetguru.jpg" alt="" width="400" height="150" /></a></p>
<p><a href="http://www.dotnetguru.org/" target="_blank">DotNetGuru</a></p>
<p>Portail d&#8217;articles et de news très pointues sur .NET. Le site parle de sujets comme l&#8217;Architecture Logicielle, la Persistance des données et la programmation par Aspects.</p>
<p><a href="http://www.dotnet-tech.com/" target="_blank"><br />
<img class="alignnone size-full wp-image-132" title="excerpt-dotnettech" src="http://www.pascallacroix.net/blog/wp-content/uploads/2008/10/excerpt-dotnettech.jpg" alt="" width="400" height="150" /></a></p>
<p><a href="http://www.dotnet-tech.com/" target="_blank">Dotnet Tech</a></p>
<p>Propose majoritairement des tutoriels sur .NET, Asp.net, Windows.</p>
<p><a href="http://www.labo-dotnet.com/" target="_blank"><br />
<img class="alignnone size-full wp-image-133" title="excerpt-labodotnet" src="http://www.pascallacroix.net/blog/wp-content/uploads/2008/10/excerpt-labodotnet.jpg" alt="" width="400" height="150" /></a></p>
<p><a href="http://www.labo-dotnet.com/" target="_blank">Labo Dotnet</a></p>
<p>Un site de référence pour les étudiants et géré par des étudiants. C&#8217;est le lieu idéal pour trouver toutes les informations pour débuter avec .NET. Il propose aussi des forums très actifs.</p>
<p><a href="http://www.codyx.org/" target="_blank"><br />
<img class="alignnone size-full wp-image-134" title="excerpt-codyx" src="http://www.pascallacroix.net/blog/wp-content/uploads/2008/10/excerpt-codyx.jpg" alt="" width="400" height="150" /></a></p>
<p><a href="http://www.codyx.org/" target="_blank">Codyx</a></p>
<p>Un site de snippets (morceau de code), très intéressant pour gagner du temps et pour éviter de rédevelopper ce qui existe déjà.</p>
<p><strong>Blogs sur .NET</strong></p>
<p><a href="http://dotnet.over-blog.com/" target="_blank">http://dotnet.over-blog.com/</a></p>
<p>Blog sur Dotnet en général</p>
<p><a href="http://www.technologies-dotnet.be/" target="_blank">Technologies Dotnet</a></p>
<p>Blog belge avec beaucoup de billets, une vraie mine d&#8217;or: chaque billet propose une technique précise dans un domaine lié à Windows, SQL Server ou .NET.</p>
<p><a href="http://www.using-system.net/" target="_blank">using system.net;</a></p>
<p>Blog traitant de sujets comme WCF, MsBuild ou C# 3.0. Les billets sont publiés fréquemment et je découvre toujours des nouveautés intéressantes.</p>
<p><a href="http://www.patricelamarche.net/" target="_blank">Patrice Lamarche</a></p>
<p>Blog de Patrice Lamarche qui traite principalement de C#, Linq et des frameworks WPF et WCF.</p>
<p><a href="http://blog.olivier-duval.info/dotclear/index.php" target="_blank">Zork[Yy]&#8217;s log</a></p>
<p>Blog de Olivier Duval, chef de projet web. Il traite des sujets qui le passionnent: C#, ASP.NET, Services Web, Web 2.0.</p>
<p><strong>Quelques très bons blogs de developpeur.org</strong></p>
<p><a href="http://blogs.developpeur.org/azra/" target="_blank">Blog de Florent Santin</a></p>
<p><a href="http://blogs.developpeur.org/neodante/" target="_blank">Blog de Julien Chable</a></p>
<p><a href="http://blogs.developpeur.org/galo/" target="_blank">Blog de Adrien Siffermann</a></p>
<p><a href="http://blogs.developpeur.org/redo/" target="_blank">Blog de Gregory Renard</a></p>
<p><a href="http://blogs.developpeur.org/tom/" target="_blank">Blog de Thomas Lebrun</a></p>
<p><a href="http://blogs.developpeur.org/matthieu/" target="_blank">Blog de Matthieu Mezil</a></p>
<p><a href="http://blogs.developpeur.org/cyril/" target="_blank">Blog de Cyril Durand</a></p>
<p><a href="http://blogs.developpeur.org/themit/" target="_blank">Blog de Renaud Comte</a></p>
<p><a href="http://blogs.developpeur.org/fredhamel/" target="_blank">Blog de Frédéric Hamel</a></p>
<p><a href="http://blogs.developpeur.org/fabrice69/" target="_blank">Blog de Romelard Fabrice</a></p>
<p><a href="http://blogs.developpeur.org/helloworld/" target="_blank">http://blogs.developpeur.org/helloworld/</a></p>
<p><a href="http://blogs.developpeur.org/jay/" target="_blank">Blog de Jerome Laban</a></p>
<p><a href="http://blogs.developpeur.org/elised/" target="_blank">Blog de Elise Dupont</a></p>
<p><a href="http://blogs.developpeur.org/miiitch/" target="_blank">Blog de Michel Perfetti</a></p>
<p><a href="http://blogs.developpeur.org/coq/" target="_blank">Blog de Gaël Covain</a></p>
<p><a href="http://blogs.developpeur.org/aurelien/" target="_blank">Blog de Aurélien Verla</a></p>
<p><a href="http://blog.pagesd.info/" target="_blank">Blog de Michel Curinier</a></p>
<p><a href="http://www.e-naxos.com/Blog/" target="_blank">Blog de Olivier (e-naxos)</a></p>
<p><a href="http://blogs.developpeur.org/pierrick/default.aspx" target="_blank">Blog de Pierrick</a></p>
<p><strong>ASP.NET / Web</strong></p>
<p><a href="http://www.asp-magazine.com/" target="_blank">Asp Magazine</a></p>
<p>Site spécialisé dans les technologies Web (ASP, ASP.NET).</p>
<p><a href="http://www.asp-php.net/" target="_blank">Asp Php.net</a></p>
<p>Contient beaucoup d&#8217;articles et de tutorials pour apprendre l&#8217;ASP.NET et le PHP.</p>
<p><a href="http://blogs.developpeur.org/nurgle/" target="_blank">http://blogs.developpeur.org/nurgle/</a></p>
<p>Blog d&#8217;Antoine Gourlay qui propose des billets sur ASP.NET et les technologies du Web. Visite indispensable si vous travaillez dans le web!</p>
<p><a href="http://www.sodevlog.fr/asp.net.blog/" target="_blank">http://www.sodevlog.fr/asp.net.blog/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.pascallacroix.net/blog/2008/10/03/40-sites-incontournables-sur-dotnet-en-france/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
