<?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>Free Mind</title>
	<atom:link href="http://www.allili.net/feed" rel="self" type="application/rss+xml" />
	<link>http://www.allili.net</link>
	<description>Share Knowledge</description>
	<lastBuildDate>Tue, 08 May 2012 13:53:27 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>Personnalisation de Gnome 3.4</title>
		<link>http://www.allili.net/gnu-linux/personnalisation-de-gnome-3-4?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=personnalisation-de-gnome-3-4</link>
		<comments>http://www.allili.net/gnu-linux/personnalisation-de-gnome-3-4#comments</comments>
		<pubDate>Wed, 02 May 2012 22:24:13 +0000</pubDate>
		<dc:creator>root@khalid</dc:creator>
				<category><![CDATA[GNU Linux]]></category>
		<category><![CDATA[Logiciel libre]]></category>
		<category><![CDATA[extensions]]></category>
		<category><![CDATA[gnome]]></category>
		<category><![CDATA[Tweak Tool]]></category>
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://www.allili.net/?p=1096</guid>
		<description><![CDATA[Comme promis lors de l’installation de Gnome 3.4, Cet article présente une manière de paramétré Gnome avec l’utilitaire Gnome Tweak Tool. Si vous avez utilisé Gnome 3, sûrement vous avez remarqué qu’il ne fournie aucune application pour la gestion des paramètres de base tel que la modification des thèmes (Gnome Shell ou même GTK) ou [...]]]></description>
			<content:encoded><![CDATA[<div class="rw-left"><div class="rw-ui-container rw-class-blog-post rw-urid-10970"></div></div><p><a href="http://www.allili.net/wp-content/uploads/Gnome-3-4.png"><img class="alignright size-medium wp-image-1112" title="Capture Gnome 3.4" src="http://www.allili.net/wp-content/uploads/Gnome-3-4-300x168.png" alt="" width="300" height="168" /></a>Comme promis lors de <a title="Installer Gnome 3.4 sur Ubuntu 12.04" href="http://www.allili.net/gnu-linux/installer-gnome-3-4-sur-ubuntu-12-04">l’installation de Gnome 3.4</a>, Cet article présente une manière de paramétré Gnome avec l’utilitaire Gnome Tweak Tool. Si vous avez utilisé Gnome 3, sûrement vous avez remarqué qu’il ne fournie aucune application pour la gestion des paramètres de base tel que la modification des thèmes (Gnome Shell ou même GTK) ou des icônes et des extensions.</p>
<p>Heureusement Gnome Tweak Tool est là pour bannir les problèmes de paramétrage de Gnome. Ainsi, Gnome Tweak Tool permet de :</p>
<ul>
<li>Activer/désactiver le menu et les icônes des boutons des fenêtres (minimiser, agrandir)</li>
<li>Changer les thèmes GTK et Gnome Shell</li>
<li>Modifier les polices</li>
<li>Gérer les extensions Gnome</li>
</ul>
<p>L’application est disponible dans le dépôt officiel d’Ubuntu pour Gnome et donc pour l’installer il suffit d’utiliser la commande :</p>
<div class="codesnip-container" >sudo apt-get install gnome-tweak-tool</div>
<p style="text-align: center;"><a href="http://www.allili.net/wp-content/uploads/gnome-tweak-tool.png"><img class="aligncenter  wp-image-1115" title="gnome-tweak-tool" src="http://www.allili.net/wp-content/uploads/gnome-tweak-tool.png" alt="" width="348" height="273" /></a></p>
<h3><span style="color: #3366ff;"><em>Installer les extensions</em></span></h3>
<p>Gnome 3 a introduit la notion d’extension (ne compliquer pas trop les choses c’est la même notion que pour Firefox) permettant de mieux personnaliser l’environnement de travail selon préférence de chaque utilisateur.</p>
<p>Il est possible d’installer une extension depuis du site officiel des extensions de Gnome : <a href="https://extensions.gnome.org/" target="_blank">https://extensions.gnome.org/</a></p>
<p>Également, plusieurs dépôts contiennent des extensions Gnome tel que ppa:ricotz/testing qui contient les extensions :</p>
<ul>
<li><a href="https://extensions.gnome.org/extension/5/alternative-status-menu/" target="_blank">Statut alternatif de menu</a></li>
<li><a href="https://extensions.gnome.org/extension/21/workspace-indicator/" target="_blank">Indicateur d’espace de travail</a></li>
<li><a href="https://extensions.gnome.org/extension/120/system-monitor/" target="_blank">Moniteur de système</a></li>
<li><a href="https://extensions.gnome.org/extension/8/places-status-indicator/" target="_blank">Indicateur de l&#8217;état des lieux</a></li>
</ul>
<p>Par exemple, Pour installer ces extensions essayer les commandes suivantes :</p>
<div class="codesnip-container" >sudo add-apt-repository ppa:upubuntu-com/gnome3<br />
sudo apt-get update<br />
sudo apt-get install gnome-shell-extensions</div>
<p>Pour que l’environnement Gnome prenne en considération ces extensions, il faut le redémarrer en faisant la combinaison « Alt + F2 » puis saisir « r » et validé.</p>
<p>A partir de menu « Shell extensions » de l’application Gnome Tweak Tool, il est possible de lister les différentes extensions installer et également les activer/désactiver.</p>
<p style="text-align: center;"><a href="http://www.allili.net/wp-content/uploads/gnome-tweak-tool-Shell-Extensions.png"><img class="aligncenter  wp-image-1122" title="gnome-tweak-tool-Shell-Extensions" src="http://www.allili.net/wp-content/uploads/gnome-tweak-tool-Shell-Extensions.png" alt="" width="386" height="304" /></a></p>
<p><br/></p>
<img src="http://www.allili.net/?ak_action=api_record_view&id=1096&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://www.allili.net/gnu-linux/personnalisation-de-gnome-3-4/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Installer Gnome 3.4 sur Ubuntu 12.04</title>
		<link>http://www.allili.net/gnu-linux/installer-gnome-3-4-sur-ubuntu-12-04?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=installer-gnome-3-4-sur-ubuntu-12-04</link>
		<comments>http://www.allili.net/gnu-linux/installer-gnome-3-4-sur-ubuntu-12-04#comments</comments>
		<pubDate>Sat, 28 Apr 2012 23:40:14 +0000</pubDate>
		<dc:creator>root@khalid</dc:creator>
				<category><![CDATA[GNU Linux]]></category>
		<category><![CDATA[gnome]]></category>
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://www.allili.net/?p=1080</guid>
		<description><![CDATA[En passant à Ubuntu 12.04, nommé Precise Pangolin, j&#8217;ai testé Unity l&#8217;environnement par défaut d&#8217;Ubuntu depuis quelques versions. Je reconnais que Ubuntu a fait un grand travail pour améliorer Unity, mais bon tant que je ne suis pas habitué à l&#8217;environnement Unity il fallait passer à Gnome, l&#8217;environnement que j&#8217;utilise depuis mes premiers pas avec [...]]]></description>
			<content:encoded><![CDATA[<div class="rw-left"><div class="rw-ui-container rw-class-blog-post rw-urid-10810"></div></div><p><a href="http://www.allili.net/wp-content/uploads/precise-pangolin.jpg"><img class="alignright size-medium wp-image-1082" src="http://www.allili.net/wp-content/uploads/precise-pangolin-300x157.jpg" alt="" width="300" height="157" title="Precise Pangolin" /></a>En passant à Ubuntu 12.04, nommé Precise Pangolin, j&#8217;ai testé Unity l&#8217;environnement par défaut d&#8217;Ubuntu depuis quelques versions. Je reconnais que Ubuntu a fait un grand travail pour améliorer Unity, mais bon tant que je ne suis pas habitué à l&#8217;environnement Unity il fallait passer à Gnome, l&#8217;environnement que j&#8217;utilise depuis mes premiers pas avec Linux. Pour l&#8217;instant oublions les souvenirs et passons aux choses plus sérieuses en essayant de mettre en place Gnome 3.4 sur la nouvelle version d&#8217;Ubuntu.</p>
<p>Il faut noter que Gnome 3 est disponible dans le dépôt par défaut d&#8217;Ubuntu pour Gnome, par contre il n&#8217;est pas mis à jour.</p>
<p>Pour installer la version Gnome du dépôt d&#8217;Ubuntu essayer la commande :</p>
<p>
<div class="codesnip-container" >sudo apt-get install gnome-shell</div>
</p>
<p>Comme dans <a title="Installer Gnome 3 sur Ubutnu 11.04" href="http://www.allili.net/gnu-linux/installer-gnome-3-sur-ubutnu-11-04">l’installation de Gnome 3.2 sur Ubuntu 11.04</a>, Il est possible d&#8217;installer une version à jour à partir du dépôt de l&#8217;équipe Gnome, pour cela il faut essayer les commandes :</p>
<p>
<div class="codesnip-container" >sudo add-apt-repository ppa:gnome3-team/gnome3<br />
sudo apt-get update<br />
sudo apt-get install gnome-shell</div>
</p>
<p>Après installation il faut redémarrer le poste. Pour se connecter avec Gnome, il faut choisir la <span style="color: #ff9900;"><strong>session Gnome</strong></span> depuis l&#8217;écran de connexion.</p>
<p style="text-align: center;"><a href="http://www.allili.net/wp-content/uploads/gnome-select-menu.png"><img class="aligncenter size-full wp-image-1081" title="gnome-select-menu" src="http://www.allili.net/wp-content/uploads/gnome-select-menu.png" alt="" width="310" height="294" /></a></p>
<p><span style="color: #0000ff;"><strong>NB:</strong></span><br />
Il faut noter que le menu <span style="color: #ff9900;"><strong>Gnome Classic</strong></span> permet d&#8217;obtenir une session Gnome tel que l&#8217;été pour Gnome 2.</p>
<p>La session Gnome est là, il faut donc la paramétrer et ajouter les extensions nécessaire pour faciliter son utilisation via l’utilitaire Gnome Tweak Tool. Ce dernier fera l&#8217;objet d&#8217;un nouveau billet prochainement incheallah.</p>
<img src="http://www.allili.net/?ak_action=api_record_view&id=1080&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://www.allili.net/gnu-linux/installer-gnome-3-4-sur-ubuntu-12-04/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>g&#124;maghreb est de retour</title>
		<link>http://www.allili.net/le-monde-it/gmaghreb-est-de-retour?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=gmaghreb-est-de-retour</link>
		<comments>http://www.allili.net/le-monde-it/gmaghreb-est-de-retour#comments</comments>
		<pubDate>Sat, 21 Apr 2012 22:26:41 +0000</pubDate>
		<dc:creator>root@khalid</dc:creator>
				<category><![CDATA[Le Monde IT]]></category>
		<category><![CDATA[G-days]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[g|maghreb]]></category>
		<category><![CDATA[Maroc]]></category>

		<guid isPermaLink="false">http://www.allili.net/?p=1067</guid>
		<description><![CDATA[Après le succès de la première édition de g&#124;maghreb, le géant Google est de retour au Maroc pour une seconde édition de g&#124;maghreb. L’événement de cette année sera en deux jours le 7 et le 8 Juin 2012 à Mohamadia, le programme n’a pas été encore publié à l’écriture de ces lignes. Selon le site [...]]]></description>
			<content:encoded><![CDATA[<div class="rw-left"><div class="rw-ui-container rw-class-blog-post rw-urid-10680"></div></div><p><img class="alignright size-medium wp-image-751" title="gmaghreb" src="http://www.allili.net/wp-content/uploads/gmaghreb-300x77.png" alt="" width="300" height="77" />Après le succès de <a title="g|maghreb Google au Maroc" href="http://www.allili.net/le-monde-it/gmaghreb-google-au-maroc">la première édition de g|maghreb</a>, le géant Google est de retour au Maroc pour une seconde édition de g|maghreb.</p>
<p>L’événement de cette année sera en deux jours le 7 et le 8 Juin 2012 à Mohamadia, le programme n’a pas été encore publié à l’écriture de ces lignes.</p>
<p>Selon le <a href="https://sites.google.com/site/gmaroc2012/" target="_blank">site officiel</a>, g|maghreb 2012 traitera deux sujets essentiels : Business et Technologie.</p>
<ul>
<li><strong>Première journée</strong> : Le contenue de cette journée sera générale et technique à la fois puisqu’elle sera consacrée aux entrepreneurs, webmaster et les spécialistes du marketing, ses conférences seront essentiellement de la présentation des produits et plate forme google dédiés aux entreprises.</li>
<li><strong>Deuxième journée</strong> : Quant à cette journée elle sera purement technique puisqu’elle traitera les outils de google telles que App Engine, Android, Google Maps, et les outils de webmaster sous forme de session de formations animées par des ingénieurs google.</li>
</ul>
<p>L’événement sera donc l’occasion pour les dirigeants d’entreprises, des professionnels des systèmes d’information, des ingénieurs, des développeurs ainsi que les étudiants pour mieux s’approcher des technologies de google et d’échanger les expériences avec des ingénieurs spécialisés dans les produits google.</p>
<p>Comme <a title="g|maghreb Google au Maroc" href="http://www.allili.net/le-monde-it/gmaghreb-google-au-maroc">la première édition</a>, la participation à g|maghreb nécessite <a href="https://docs.google.com/spreadsheet/viewform?formkey=dFBUcDBaTnJOVjNzd1NhcktSOEYwZnc6MA&amp;ndplr=1" target="_blank">une inscription</a> préalable.<br />
<br/></p>
<img src="http://www.allili.net/?ak_action=api_record_view&id=1067&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://www.allili.net/le-monde-it/gmaghreb-est-de-retour/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Journée de sécurité informatique FSTT</title>
		<link>http://www.allili.net/le-monde-it/journee-de-securite-informatique-fsst?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=journee-de-securite-informatique-fsst</link>
		<comments>http://www.allili.net/le-monde-it/journee-de-securite-informatique-fsst#comments</comments>
		<pubDate>Wed, 11 Apr 2012 21:50:14 +0000</pubDate>
		<dc:creator>root@khalid</dc:creator>
				<category><![CDATA[Le Monde IT]]></category>
		<category><![CDATA[sécurité]]></category>

		<guid isPermaLink="false">http://www.allili.net/?p=1050</guid>
		<description><![CDATA[La sécurité informatique séduit les marocains, Il ne s’agit pas d’un poisson d’avril mais réellement un avril dédié à la sécurité informatique, suite à l’organisation de plusieurs événements qui traitent la cybercriminalité et la sécurité informatique. Et suite à la réussite des deux premières éditions, Le club INFOSoft, de la Faculté des Sciences et Techniques [...]]]></description>
			<content:encoded><![CDATA[<div class="rw-left"><div class="rw-ui-container rw-class-blog-post rw-urid-10510"></div></div><p><img class="size-full wp-image-1052 alignleft" title="infosoft" src="http://www.allili.net/wp-content/uploads/infosoft.jpg" alt="" width="200" height="163" />La sécurité informatique séduit les marocains, Il ne s’agit pas d’un poisson d’avril mais réellement un avril dédié à la sécurité informatique, suite à l’organisation de plusieurs événements qui traitent la cybercriminalité et la sécurité informatique.</p>
<p>Et suite à la réussite des deux premières éditions, Le club <a href="http://sse.clubinfosoft.com" target="_blank">INFOSoft</a>, de la Faculté des Sciences et Techniques de Tanger, organise sa journée annuelle SPECIAL SECURITY EVENT dédiée à la sécurité informatique sous le thème « La cybercriminalité et la confiance numérique au Maroc » le 21 Avril 2012, une semaine après le premier séminaire de <a title="Premier séminaire d’OWASP Morocco" href="http://www.allili.net/le-monde-it/premier-seminaire-owasp-morocco">OWASP Morocco</a>.</p>
<p>Cette manifestation regroupe des professionnels de la sécurité informatique est marquée par la diversité d’activités et la richesse d’informations sous forme des conférences qui traitent:</p>
<ul>
<li>L’investigation informatique</li>
<li>L’évolution de la cybercriminalité au Maroc</li>
<li>La sécurité des terminaux mobiles</li>
<li>Les Pentests entre légalité et criminalité</li>
</ul>
<p>La participation à cette journée nécessite une inscription sur <a href="http://specialsecurityevent.eventbrite.com/" target="_blank">la page dédiée à cet événement</a>.</p>
<p>Pour programme de l’événement et plus d’information, rendez vous la page du <a href="http://sse.clubinfosoft.com" target="_blank">club INFOSoft</a>.</p>
<img src="http://www.allili.net/?ak_action=api_record_view&id=1050&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://www.allili.net/le-monde-it/journee-de-securite-informatique-fsst/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Optimisation des images PNG</title>
		<link>http://www.allili.net/trucs-astuces/optimisation-des-images-png?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=optimisation-des-images-png</link>
		<comments>http://www.allili.net/trucs-astuces/optimisation-des-images-png#comments</comments>
		<pubDate>Tue, 10 Apr 2012 12:03:28 +0000</pubDate>
		<dc:creator>root@khalid</dc:creator>
				<category><![CDATA[Logiciel libre]]></category>
		<category><![CDATA[Trucs & Astuces]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[optimisation]]></category>
		<category><![CDATA[png]]></category>
		<category><![CDATA[pngcrush]]></category>

		<guid isPermaLink="false">http://www.allili.net/?p=1043</guid>
		<description><![CDATA[Comme promis dans l&#8217;optimisation les images JPG, voila une astuce qui permet d’optimiser une image PNG via un utilitaire Libre et gratuit. pngcrush est un utilitaire libre et gratuit sous licence GPL, qui fonctionne en ligne de commande, permettant de réduire la taille d’une image PNG sans dégrader sa qualité. pngcrush peut être utilisé également [...]]]></description>
			<content:encoded><![CDATA[<div class="rw-left"><div class="rw-ui-container rw-class-blog-post rw-urid-10440"></div></div><p><img src="http://www.allili.net/wp-content/uploads/compressionImage.png" alt="" title="compressionImage" width="200" height="181" class="alignright size-full wp-image-978" />Comme promis dans <a href="http://www.allili.net/trucs-astuces/optimisation-des-images-png" title="Optimisation des images PNG">l&#8217;optimisation les images JPG</a>, voila une astuce qui permet d’optimiser une image PNG via un utilitaire Libre et gratuit.</p>
<p>pngcrush est un utilitaire libre et gratuit sous licence GPL, qui fonctionne en ligne de commande, permettant de réduire la taille d’une image PNG sans dégrader sa qualité. </p>
<p>pngcrush peut être utilisé également pour diverses manipulations d’image comme la suppression des informations textes de l’image et le changement de la profondeur des bits.</p>
<p>Pour tester pngcruch, il faut tout d’abord l’installer. Sous Ubuntu, ça c’est possible via la commande :</p>
<div class="codesnip-container" >sudo apt-get install pngcrush</div>
<p>L’utilisation de pngcruch est très simple, par exemple pour optimiser une image png on peut essayer :</p>
<div class="codesnip-container" >pngcrush -brute -rem text source.png target.png</div>
<p>Il faut noter que pngcrush nécessite l’image source et l’image résultante du faite qu’il ne charge pas l’image source en mémoire.</p>
<p>Le résultat de l’optimisation diffère selon les options utilisées, pour l’exemple précédent, on a utilisé deux options  (les plus utilisées) :</p>
<ul>
<li>brute : pour utiliser la meilleure méthode de compression</li>
<li>rem text : pour supprimer toutes les informations textes de l&#8217;image.</li>
</ul>
<p>Pour plus de détail sur les différentes options de pngcrush qu’on peut utiliser pour optimiser une image png, essayer de consulter son manuel :</p>
<div class="codesnip-container" >man pngcrush</div>
<p>&nbsp;</p>
<img src="http://www.allili.net/?ak_action=api_record_view&id=1043&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://www.allili.net/trucs-astuces/optimisation-des-images-png/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Premier séminaire d&#8217;OWASP Morocco</title>
		<link>http://www.allili.net/le-monde-it/premier-seminaire-owasp-morocco?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=premier-seminaire-owasp-morocco</link>
		<comments>http://www.allili.net/le-monde-it/premier-seminaire-owasp-morocco#comments</comments>
		<pubDate>Sun, 08 Apr 2012 14:09:02 +0000</pubDate>
		<dc:creator>root@khalid</dc:creator>
				<category><![CDATA[Le Monde IT]]></category>
		<category><![CDATA[OWASP]]></category>

		<guid isPermaLink="false">http://www.allili.net/?p=1020</guid>
		<description><![CDATA[L’Open Web Application Security Project (OWASP) est une communauté mondiale dont le but est d’améliorer la sécurité des applications. L’OWASP est composé des experts en sécurité informatique des cinq continents regroupés dans le but de devenir une norme internationale dans le domaine de la sécurité des applications Web. Les principales tâches d’OWASP est de : [...]]]></description>
			<content:encoded><![CDATA[<div class="rw-left"><div class="rw-ui-container rw-class-blog-post rw-urid-10210"></div></div><p><a href="http://www.allili.net/wp-content/uploads/OWASP-Morocco-logo.jpg"><img class="alignright size-thumbnail wp-image-1022" title="OWASP Morocco logo" src="http://www.allili.net/wp-content/uploads/OWASP-Morocco-logo-150x150.jpg" alt="" width="150" height="150" /></a>L’Open Web Application Security Project (OWASP) est une communauté mondiale dont le but est d’améliorer la sécurité des applications. L’OWASP est composé des experts en sécurité informatique des cinq continents regroupés dans le but de devenir une norme internationale dans le domaine de la sécurité des applications Web.</p>
<p>Les principales tâches d’OWASP est de :</p>
<ul>
<li>Développer des manuels de test des applications Web et ce, quelque soit la technologie utilisée pour bâtir l’application.</li>
<li>Développer des outils de test des applications</li>
<li>Créer des communautés dans le monde entier et d’y animer des séminaires de sensibilisation et de formation.</li>
</ul>
<p>Au Maroc, OWASP Morocco a vue le jour pour représenter la communauté mondiale OWASP au Maroc et surtout promouvoir la sécurité informatique au Maroc et sensibiliser les acteurs du marché informatique marocain aux risques liés aux vulnérabilités et failles de sécurité par l’organisation et l’animation de formations, de conférences ou la rédaction et la diffusion de publications à destination de tout public (les entreprises, les prestataires, les particuliers ou les institutionnels, etc.).</p>
<p>Dans ce sens OWASP Morocco organise, le 18 Mai 2012, un séminaire autour de la sécurité des applications web. Ce séminaire est ouvert gratuitement au public (ingénieurs, étudiants, universitaires, dirigeants d&#8217;entreprises, RSSI, chefs de projets, passionnés par la sécurité des systèmes d&#8217;information …).</p>
<p>Le séminaire sera animé par des experts en sécurité des systèmes d&#8217;information membres de l&#8217;OWSAP et discutera des sujets suivants:</p>
<ul>
<li>Sécurité Applicative : démarche pour la sécurisation des applications web.</li>
<li>PenTest Web : comment réaliser des tests de pénétration sur les applications Web.</li>
<li>Audit des applications Web.</li>
<li>L&#8217;art d&#8217;écrire du code sécurisé.</li>
</ul>
<p>Pour plus d’information rendez vous sur la page <a href="https://www.owasp.org/index.php/Morocco#tab=OWASP_Morocco_Meetings" target="_blank">OWSAP Morocco</a>.</p>
<img src="http://www.allili.net/?ak_action=api_record_view&id=1020&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://www.allili.net/le-monde-it/premier-seminaire-owasp-morocco/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Injecter le résultat d&#8217;une méthode statique dans un bean Spring</title>
		<link>http://www.allili.net/tutoriaux/injecter-le-resultat-dune-methode-statique-dans-un-bean-spring?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=injecter-le-resultat-dune-methode-statique-dans-un-bean-spring</link>
		<comments>http://www.allili.net/tutoriaux/injecter-le-resultat-dune-methode-statique-dans-un-bean-spring#comments</comments>
		<pubDate>Wed, 21 Mar 2012 17:33:40 +0000</pubDate>
		<dc:creator>root@khalid</dc:creator>
				<category><![CDATA[JAVA]]></category>
		<category><![CDATA[Tutoriaux]]></category>
		<category><![CDATA[MethodInvokingFactoryBean]]></category>
		<category><![CDATA[Spring]]></category>
		<category><![CDATA[static]]></category>
		<category><![CDATA[staticMethod]]></category>

		<guid isPermaLink="false">http://www.allili.net/?p=1004</guid>
		<description><![CDATA[Il est possible d’injecter le résultat d’une méthode statique dans un bean Spring, comme indiqué dans l’article « Injecter un attribut statique en Spring », Cet article présentera donc la manière par la quelle on peut utiliser les méthodes statiques dans Spring via un exemple qui utilisera trois classes java et un fichier XML Spring. [...]]]></description>
			<content:encoded><![CDATA[<div class="rw-left"><div class="rw-ui-container rw-class-blog-post rw-urid-10050"></div></div><p><img class="alignright size-medium wp-image-914" title="spring" src="http://www.allili.net/wp-content/uploads/spring-300x193.jpg" alt="" width="300" height="193" />Il est possible d’injecter le résultat d’une méthode statique dans un bean Spring, comme indiqué dans l’article « <a href="http://www.allili.net/tutoriaux/injecter-un-attribut-statique-en-spring" title="Injecter un attribut statique en Spring">Injecter un attribut statique en Spring</a> », Cet article présentera donc la manière par la quelle on peut utiliser les méthodes statiques dans Spring via un exemple qui utilisera trois classes java et un fichier XML Spring.</p>
<p>On utilisera la même logique que « <a href="http://www.allili.net/tutoriaux/injecter-un-attribut-statique-en-spring" title="Injecter un attribut statique en Spring">Injecter un attribut statique en Spring</a> », donc cet exemple sera composé de 3 classes (Setting.java, Host.java et Main.java) et un contexte Spring (Application-context.xml).</p>
<p>La classe Host est définie comme suit :</p>
<div class="codesnip-container" >
<div class="java codesnip" style="font-family:monospace;"><span class="kw1">package</span> <span class="co2">com.spring.exemple</span><span class="sy0">;</span></p>
<p><span class="kw1">public</span> <span class="kw1">class</span> Host <span class="br0">&#123;</span></p>
<p><span class="kw1">private</span> <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Astring+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span class="kw3">String</span></a> hostName<span class="sy0">;</span></p>
<p><span class="kw1">private</span> <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Astring+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span class="kw3">String</span></a> ip<span class="sy0">;</span></p>
<p><span class="kw1">private</span> <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Astring+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span class="kw3">String</span></a> userName<span class="sy0">;</span></p>
<p><span class="kw1">private</span> <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Astring+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span class="kw3">String</span></a> userMail<span class="sy0">;</span></p>
<p><span class="kw1">private</span> <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Astring+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span class="kw3">String</span></a> adminMail<span class="sy0">;</span></p>
<p><span class="kw1">public</span> <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Astring+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span class="kw3">String</span></a> getIp<span class="br0">&#40;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span><br />
<span class="kw1">return</span> ip<span class="sy0">;</span><br />
<span class="br0">&#125;</span></p>
<p><span class="kw1">public</span> <span class="kw4">void</span> setIp<span class="br0">&#40;</span><a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Astring+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span class="kw3">String</span></a> ip<span class="br0">&#41;</span> <span class="br0">&#123;</span><br />
<span class="kw1">this</span>.<span class="me1">ip</span> <span class="sy0">=</span> ip<span class="sy0">;</span><br />
<span class="br0">&#125;</span></p>
<p><span class="kw1">public</span> <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Astring+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span class="kw3">String</span></a> getHostName<span class="br0">&#40;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span><br />
<span class="kw1">return</span> hostName<span class="sy0">;</span><br />
<span class="br0">&#125;</span></p>
<p><span class="kw1">public</span> <span class="kw4">void</span> setHostName<span class="br0">&#40;</span><a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Astring+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span class="kw3">String</span></a> hostName<span class="br0">&#41;</span> <span class="br0">&#123;</span><br />
<span class="kw1">this</span>.<span class="me1">hostName</span> <span class="sy0">=</span> hostName<span class="sy0">;</span><br />
<span class="br0">&#125;</span></p>
<p><span class="kw1">public</span> <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Astring+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span class="kw3">String</span></a> getAdminMail<span class="br0">&#40;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span><br />
<span class="kw1">return</span> adminMail<span class="sy0">;</span><br />
<span class="br0">&#125;</span></p>
<p><span class="kw1">public</span> <span class="kw4">void</span> setAdminMail<span class="br0">&#40;</span><a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Astring+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span class="kw3">String</span></a> adminMail<span class="br0">&#41;</span> <span class="br0">&#123;</span><br />
<span class="kw1">this</span>.<span class="me1">adminMail</span> <span class="sy0">=</span> adminMail<span class="sy0">;</span><br />
<span class="br0">&#125;</span></p>
<p><span class="kw1">public</span> <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Astring+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span class="kw3">String</span></a> getUserMail<span class="br0">&#40;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span><br />
<span class="kw1">return</span> userMail<span class="sy0">;</span><br />
<span class="br0">&#125;</span></p>
<p><span class="kw1">public</span> <span class="kw4">void</span> setUserMail<span class="br0">&#40;</span><a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Astring+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span class="kw3">String</span></a> userMail<span class="br0">&#41;</span> <span class="br0">&#123;</span><br />
<span class="kw1">this</span>.<span class="me1">userMail</span> <span class="sy0">=</span> userMail<span class="sy0">;</span><br />
<span class="br0">&#125;</span></p>
<p><span class="kw1">public</span> <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Astring+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span class="kw3">String</span></a> getUserName<span class="br0">&#40;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span><br />
<span class="kw1">return</span> userName<span class="sy0">;</span><br />
<span class="br0">&#125;</span></p>
<p><span class="kw1">public</span> <span class="kw4">void</span> setUserName<span class="br0">&#40;</span><a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Astring+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span class="kw3">String</span></a> userName<span class="br0">&#41;</span> <span class="br0">&#123;</span><br />
<span class="kw1">this</span>.<span class="me1">userName</span> <span class="sy0">=</span> userName<span class="sy0">;</span><br />
<span class="br0">&#125;</span></p>
<p><span class="kw1">public</span> <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Astring+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span class="kw3">String</span></a> toString<span class="br0">&#40;</span><span class="br0">&#41;</span><br />
<span class="br0">&#123;</span><br />
<a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Astringbuffer+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span class="kw3">StringBuffer</span></a> toString <span class="sy0">=</span> <span class="kw1">new</span> <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Astringbuffer+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span class="kw3">StringBuffer</span></a><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
toString.<span class="me1">append</span><span class="br0">&#40;</span><span class="st0">&quot;hostName : &quot;</span><span class="br0">&#41;</span>.<span class="me1">append</span><span class="br0">&#40;</span>hostName<span class="br0">&#41;</span>.<span class="me1">append</span><span class="br0">&#40;</span><span class="st0">&quot;<span class="es0">\n</span>&quot;</span><span class="br0">&#41;</span><br />
.<span class="me1">append</span><span class="br0">&#40;</span><span class="st0">&quot;ip :&quot;</span><span class="br0">&#41;</span>.<span class="me1">append</span><span class="br0">&#40;</span>ip<span class="br0">&#41;</span>.<span class="me1">append</span><span class="br0">&#40;</span><span class="st0">&quot;<span class="es0">\n</span>&quot;</span><span class="br0">&#41;</span><br />
.<span class="me1">append</span><span class="br0">&#40;</span><span class="st0">&quot;adminMail :&quot;</span><span class="br0">&#41;</span>.<span class="me1">append</span><span class="br0">&#40;</span>adminMail<span class="br0">&#41;</span>.<span class="me1">append</span><span class="br0">&#40;</span><span class="st0">&quot;<span class="es0">\n</span>&quot;</span><span class="br0">&#41;</span><br />
.<span class="me1">append</span><span class="br0">&#40;</span><span class="st0">&quot;userName :&quot;</span><span class="br0">&#41;</span>.<span class="me1">append</span><span class="br0">&#40;</span>userName<span class="br0">&#41;</span>.<span class="me1">append</span><span class="br0">&#40;</span><span class="st0">&quot;<span class="es0">\n</span>&quot;</span><span class="br0">&#41;</span><br />
.<span class="me1">append</span><span class="br0">&#40;</span><span class="st0">&quot;userMail :&quot;</span><span class="br0">&#41;</span>.<span class="me1">append</span><span class="br0">&#40;</span>userMail<span class="br0">&#41;</span>.<span class="me1">append</span><span class="br0">&#40;</span><span class="st0">&quot;<span class="es0">\n</span>&quot;</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
<span class="kw1">return</span> toString.<span class="me1">toString</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
<span class="br0">&#125;</span><br />
<span class="br0">&#125;</span></div>
</div>
<p>La classe Setting est la classe qui contient les méthodes statiques dont le résultat sera injecté dans les beans Spring:</p>
<div class="codesnip-container" >
<div class="java codesnip" style="font-family:monospace;"><span class="kw1">package</span> <span class="co2">com.spring.exemple</span><span class="sy0">;</span></p>
<p><span class="kw1">public</span> <span class="kw1">class</span> Setting <span class="br0">&#123;</span></p>
<p><span class="kw1">public</span> <span class="kw1">static</span> <span class="kw1">final</span> <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Astring+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span class="kw3">String</span></a> DEFAULT_DOMAIN<span class="sy0">=</span><span class="st0">&quot;myorg&quot;</span><span class="sy0">;</span><br />
<span class="kw1">private</span> <span class="kw1">static</span> <span class="kw1">final</span> <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Astring+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span class="kw3">String</span></a> DEFAULT_ADMIN<span class="sy0">=</span><span class="st0">&quot;root&quot;</span><span class="sy0">;</span></p>
<p><span class="kw1">public</span> <span class="kw1">static</span> <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Astring+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span class="kw3">String</span></a> buildAdminMail<span class="br0">&#40;</span><span class="br0">&#41;</span><br />
<span class="br0">&#123;</span><br />
<span class="kw1">return</span> DEFAULT_ADMIN <span class="sy0">+</span> <span class="st0">&quot;@&quot;</span> <span class="sy0">+</span> DEFAULT_DOMAIN<span class="sy0">;</span><br />
<span class="br0">&#125;</span></p>
<p><span class="kw1">public</span> <span class="kw1">static</span> <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Astring+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span class="kw3">String</span></a> buildUserMail<span class="br0">&#40;</span><a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Astring+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span class="kw3">String</span></a> user<span class="br0">&#41;</span><br />
<span class="br0">&#123;</span><br />
<span class="kw1">return</span> user <span class="sy0">+</span> <span class="st0">&quot;@&quot;</span> <span class="sy0">+</span> DEFAULT_DOMAIN<span class="sy0">;</span><br />
<span class="br0">&#125;</span><br />
<span class="br0">&#125;</span></div>
</div>
<p>Cette Classe contient deux méthodes statistiques (avec et sans paramètres): buildAdminMail pour générer le mail de l’administrateur du domaine et buildUserMail qui permet de générer le mail d’un utilisateur passé en paramètres. L’intérêt d’avoir deux méthodes et de voir la différence de la syntaxe Spring lors de la déclaration des beans.</p>
<p>L’idée de cet exemple et d’injecter le résultat des méthodes buildAdminMail et buildUserMail dans les attributs adminMail et userMail d’un objet Host.</p>
<p>Pour injecter le résultat d‘une méthode statique dans un bean, il faut créer un bean de la classe « org.springframework.beans.factory.config.MethodInvokingFactoryBean » qui dispose de deux attributs essentiels :</p>
<ul>
<li>staticMethod : définie la méthode statique à invoquer.</li>
<li>Arguments : définie la liste des paramètres à passer à la méthode. Cet attribut est réservé aux méthodes qui nécessitent des paramètres.</li>
</ul>
<p>Le bean qui encapsulera le résultat de la méthode buildAdminMail sera définie comme suit :</p>
<div class="codesnip-container" >
<div class="xml codesnip" style="font-family:monospace;"><span class="sc3"><span class="re1">&lt;bean</span> <span class="re0">class</span>=<span class="st0">&quot;org.springframework.beans.factory.config.MethodInvokingFactoryBean&quot;</span><span class="re2">&gt;</span></span><br />
<span class="sc3"><span class="re1">&lt;property</span> <span class="re0">name</span>=<span class="st0">&quot;staticMethod&quot;</span><span class="re2">&gt;</span></span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;value<span class="re2">&gt;</span></span></span>com.spring.exemple.Setting.buildAdminMail<span class="sc3"><span class="re1">&lt;/value<span class="re2">&gt;</span></span></span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;/property<span class="re2">&gt;</span></span></span><br />
<span class="sc3"><span class="re1">&lt;/bean<span class="re2">&gt;</span></span></span></div>
</div>
<p>Quant au bean qui représentera le résultat de la méthode buildUserMail sera défini comme suit :</p>
<div class="codesnip-container" >
<div class="xml codesnip" style="font-family:monospace;"><span class="sc3"><span class="re1">&lt;bean</span> <span class="re0">class</span>=<span class="st0">&quot;org.springframework.beans.factory.config.MethodInvokingFactoryBean&quot;</span><span class="re2">&gt;</span></span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;property</span> <span class="re0">name</span>=<span class="st0">&quot;staticMethod&quot;</span><span class="re2">&gt;</span></span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;value<span class="re2">&gt;</span></span></span>com.spring.exemple.Setting.buildUserMail<span class="sc3"><span class="re1">&lt;/value<span class="re2">&gt;</span></span></span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;/property<span class="re2">&gt;</span></span></span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;property</span> <span class="re0">name</span>=<span class="st0">&quot;arguments&quot;</span><span class="re2">&gt;</span></span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;list<span class="re2">&gt;</span></span></span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;value<span class="re2">&gt;</span></span></span>khalid<span class="sc3"><span class="re1">&lt;/value<span class="re2">&gt;</span></span></span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;/list<span class="re2">&gt;</span></span></span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;/property<span class="re2">&gt;</span></span></span><br />
<span class="sc3"><span class="re1">&lt;/bean<span class="re2">&gt;</span></span></span></div>
</div>
<p>Le contenu l’application context est le suivant :</p>
<div class="codesnip-container" >
<div class="xml codesnip" style="font-family:monospace;"><span class="sc3"><span class="re1">&lt;?xml</span> <span class="re0">version</span>=<span class="st0">&quot;1.0&quot;</span> <span class="re0">encoding</span>=<span class="st0">&quot;UTF-8&quot;</span><span class="re2">?&gt;</span></span><br />
<span class="sc3"><span class="re1">&lt;beans</span> <span class="re0">xmlns</span>=<span class="st0">&quot;http://www.springframework.org/schema/beans&quot;</span></span><br />
<span class="sc3">&nbsp; &nbsp; &nbsp; &nbsp; <span class="re0">xmlns:xsi</span>=<span class="st0">&quot;http://www.w3.org/2001/XMLSchema-instance&quot;</span></span><br />
<span class="sc3">&nbsp; &nbsp; &nbsp; &nbsp; <span class="re0">xmlns:util</span>=<span class="st0">&quot;http://www.springframework.org/schema/util&quot;</span></span><br />
<span class="sc3">&nbsp; &nbsp; &nbsp; &nbsp; <span class="re0">xmlns:context</span>=<span class="st0">&quot;http://www.springframework.org/schema/context&quot;</span></span><br />
<span class="sc3">&nbsp; &nbsp; &nbsp; &nbsp; <span class="re0">xmlns:aop</span>=<span class="st0">&quot;http://www.springframework.org/schema/aop&quot;</span></span><br />
<span class="sc3">&nbsp; &nbsp; &nbsp; &nbsp; <span class="re0">xsi:schemaLocation</span>=<span class="st0">&quot;http://www.springframework.org/schema/beans </span><br />
<span class="sc3">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; http://www.springframework.org/schema/beans/spring-beans-2.0.xsd </span><br />
<span class="sc3"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;http://www.springframework.org/schema/context </span><br />
<span class="sc3"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;http://www.springframework.org/schema/context/spring-context-2.5.xsd&quot;</span><span class="re2">&gt;</span></span></p>
<p>&nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;bean</span> <span class="re0">id</span>=<span class="st0">&quot;myHost&quot;</span> <span class="re0">class</span>=<span class="st0">&quot;com.spring.exemple.Host&quot;</span><span class="re2">&gt;</span></span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;property</span> <span class="re0">name</span>=<span class="st0">&quot;hostName&quot;</span> <span class="re0">value</span>=<span class="st0">&quot;myHost&quot;</span> <span class="re2">/&gt;</span></span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;property</span> <span class="re0">name</span>=<span class="st0">&quot;ip&quot;</span> <span class="re0">value</span>=<span class="st0">&quot;192.186.1.1&quot;</span> <span class="re2">/&gt;</span></span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;property</span> <span class="re0">name</span>=<span class="st0">&quot;userName&quot;</span> <span class="re0">value</span>=<span class="st0">&quot;khalid&quot;</span> <span class="re2">/&gt;</span></span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;property</span> <span class="re0">name</span>=<span class="st0">&quot;adminMail&quot;</span><span class="re2">&gt;</span></span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;bean</span></span><br />
<span class="sc3">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="re0">class</span>=<span class="st0">&quot;org.springframework.beans.factory.config.MethodInvokingFactoryBean&quot;</span><span class="re2">&gt;</span></span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;property</span> <span class="re0">name</span>=<span class="st0">&quot;staticMethod&quot;</span><span class="re2">&gt;</span></span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;value<span class="re2">&gt;</span></span></span>com.spring.exemple.Setting.buildAdminMail<span class="sc3"><span class="re1">&lt;/value<span class="re2">&gt;</span></span></span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;/property<span class="re2">&gt;</span></span></span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;/bean<span class="re2">&gt;</span></span></span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;/property<span class="re2">&gt;</span></span></span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;property</span> <span class="re0">name</span>=<span class="st0">&quot;userMail&quot;</span><span class="re2">&gt;</span></span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;bean</span></span><br />
<span class="sc3">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="re0">class</span>=<span class="st0">&quot;org.springframework.beans.factory.config.MethodInvokingFactoryBean&quot;</span><span class="re2">&gt;</span></span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;property</span> <span class="re0">name</span>=<span class="st0">&quot;staticMethod&quot;</span><span class="re2">&gt;</span></span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;value<span class="re2">&gt;</span></span></span>com.spring.exemple.Setting.buildUserMail<span class="sc3"><span class="re1">&lt;/value<span class="re2">&gt;</span></span></span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;/property<span class="re2">&gt;</span></span></span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;property</span> <span class="re0">name</span>=<span class="st0">&quot;arguments&quot;</span><span class="re2">&gt;</span></span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;list<span class="re2">&gt;</span></span></span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;value<span class="re2">&gt;</span></span></span>khalid<span class="sc3"><span class="re1">&lt;/value<span class="re2">&gt;</span></span></span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;/list<span class="re2">&gt;</span></span></span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;/property<span class="re2">&gt;</span></span></span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;/bean<span class="re2">&gt;</span></span></span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;/property<span class="re2">&gt;</span></span></span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;/bean<span class="re2">&gt;</span></span></span><br />
<span class="sc3"><span class="re1">&lt;/beans<span class="re2">&gt;</span></span></span></div>
</div>
<p>Pour le test, il suffit de récupérer le bean « myHost » et faire appel à son toString, le code de main est :</p>
<div class="codesnip-container" >
<div class="java codesnip" style="font-family:monospace;"><span class="kw1">import</span> <span class="co2">org.springframework.context.ApplicationContext</span><span class="sy0">;</span><br />
<span class="kw1">import</span> <span class="co2">org.springframework.context.support.ClassPathXmlApplicationContext</span><span class="sy0">;</span></p>
<p><span class="kw1">public</span> <span class="kw1">class</span> Main <span class="br0">&#123;</span></p>
<p><span class="kw1">public</span> <span class="kw1">static</span> <span class="kw4">void</span> main<span class="br0">&#40;</span><a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Astring+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span class="kw3">String</span></a><span class="br0">&#91;</span><span class="br0">&#93;</span> args<span class="br0">&#41;</span> <span class="br0">&#123;</span><br />
ApplicationContext context <span class="sy0">=</span> <span class="kw1">new</span> ClassPathXmlApplicationContext<span class="br0">&#40;</span><br />
<span class="st0">&quot;com/spring/resources/Application-context.xml&quot;</span><span class="br0">&#41;</span><span class="sy0">;</span></p>
<p>Host defaultHost <span class="sy0">=</span> <span class="br0">&#40;</span>Host<span class="br0">&#41;</span> context.<span class="me1">getBean</span><span class="br0">&#40;</span><span class="st0">&quot;myHost&quot;</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
<a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Asystem+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span class="kw3">System</span></a>.<span class="me1">out</span>.<span class="me1">println</span><span class="br0">&#40;</span>defaultHost.<span class="me1">toString</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
<span class="br0">&#125;</span></p>
<p><span class="br0">&#125;</span></div>
</div>
<p>Le résultat de test doit être comme suit :</p>
<div class="codesnip-container" >hostName : myHost<br />
ip :192.186.1.1<br />
adminMail :root@myorg<br />
userName :khalid<br />
userMail :khalid@myorg</div>
<p>&nbsp;</p>
<img src="http://www.allili.net/?ak_action=api_record_view&id=1004&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://www.allili.net/tutoriaux/injecter-le-resultat-dune-methode-statique-dans-un-bean-spring/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Sortie de Linux 3.2</title>
		<link>http://www.allili.net/gnu-linux/sortie-de-linux-3-2?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=sortie-de-linux-3-2</link>
		<comments>http://www.allili.net/gnu-linux/sortie-de-linux-3-2#comments</comments>
		<pubDate>Thu, 05 Jan 2012 22:52:51 +0000</pubDate>
		<dc:creator>root@khalid</dc:creator>
				<category><![CDATA[GNU Linux]]></category>
		<category><![CDATA[kernel]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[noyau]]></category>

		<guid isPermaLink="false">http://www.allili.net/?p=994</guid>
		<description><![CDATA[Linus Torvald vient d’annoncer son cadeau aux utilisateur Linux pour fêter la nouvelle année 2012, il s&#8217;agit de la publication du noyau Linux 3.2 en version stable. Cette version englobe nombreuses nouveautés et amélioration en terme de performance, système de fichiers gestion des processus et du réseau. Le nouveau kernel apporte une amélioration de l’ordonnanceur [...]]]></description>
			<content:encoded><![CDATA[<div class="rw-left"><div class="rw-ui-container rw-class-blog-post rw-urid-9950"></div></div><p><img src="http://www.allili.net/wp-content/uploads/linux-300x145.png" alt="" title="linux" width="300" height="145" class="alignright size-medium wp-image-586" />Linus Torvald vient d’annoncer son cadeau aux utilisateur Linux pour fêter la nouvelle année 2012, il s&#8217;agit de la publication du noyau Linux 3.2 en version stable.</p>
<p>Cette version englobe nombreuses nouveautés et amélioration en terme de performance, système de fichiers gestion des processus et du réseau.</p>
<p>Le nouveau kernel apporte une amélioration de l’ordonnanceur CFS (Completely Fair Scheduler)  en intégrant une fonctionnalité de contrôle de bande passante « bandwidth controller »qui permet de mieux contrôler la puissance processeur attribuée à chaque tâche.</p>
<p>En terme de système de fichier EXT4, la performance du système lors de la manipulation des fichiers volumineux a été améliorée grâce à l’allocation aisé des blocks de taille qui peut aller  jusqu&#8217;à 1Mo. De même le système de fichiers Btrfs se montre plus mature dans cette version du Kernel.</p>
<p>Cette version de Linux, la pile TCP est plus optimisé grâce à l&#8217;intégration de l&#8217;algorithme « Proportional rate reduction » ainsi que l’adaptation du débit de transmission automatiquement aux capacité s des équipements.</p>
<p>Linux 3.2 intègre également d&#8217;autre améliorations telles que l&#8217;intégration du sous-système de vérification cryptographique EVM (Extended Verification Module) et l&#8217;optimisation des fonctions de hachage.</p>
<img src="http://www.allili.net/?ak_action=api_record_view&id=994&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://www.allili.net/gnu-linux/sortie-de-linux-3-2/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

