<?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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Aldian's Blog &#187; Avancés</title>
	<atom:link href="http://aldiansblog.wordpress.com/category/avances/feed/" rel="self" type="application/rss+xml" />
	<link>http://aldiansblog.wordpress.com</link>
	<description>Tutoriels pour débutant en informatique accés sur le monde du libre.</description>
	<lastBuildDate>Sun, 27 Dec 2009 01:07:51 +0000</lastBuildDate>
	<generator>http://wordpress.com/</generator>
	<language>fr</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<cloud domain='aldiansblog.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://www.gravatar.com/blavatar/5a3d496471f7e85f1942b4bfdc8d8d13?s=96&#038;d=http://s.wordpress.com/i/buttonw-com.png</url>
		<title>Aldian's Blog &#187; Avancés</title>
		<link>http://aldiansblog.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://aldiansblog.wordpress.com/osd.xml" title="Aldian&#8217;s Blog" />
		<item>
		<title>[Avancé]Si sur votre live_cd de linux, les caractères sont énormes&#8230;</title>
		<link>http://aldiansblog.wordpress.com/2009/08/08/avancesi-sur-votre-live_cd-de-linux-les-caracteres-sont-enormes/</link>
		<comments>http://aldiansblog.wordpress.com/2009/08/08/avancesi-sur-votre-live_cd-de-linux-les-caracteres-sont-enormes/#comments</comments>
		<pubDate>Sat, 08 Aug 2009 11:59:38 +0000</pubDate>
		<dc:creator>aldiansblog</dc:creator>
				<category><![CDATA[Astuces]]></category>
		<category><![CDATA[Avancés]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[caractères énormes]]></category>
		<category><![CDATA[live CD]]></category>
		<category><![CDATA[xorg]]></category>

		<guid isPermaLink="false">http://aldiansblog.wordpress.com/?p=602</guid>
		<description><![CDATA[enorme

Ca nous arrive tous un jour où l'autre: On teste une nouvelle distribution linux, la carte graphique et l'écran sont mal reconnus, et on se retrouve avec une taille de police démentielle qui rend toute manipulation impossible à cause de la taille des menus. En plus si on est sur un live cd, toute manipulation conduisant au redémarrage est à proscrire, puisqu'on perdrait ce qu'on a fait.<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=aldiansblog.wordpress.com&blog=5289621&post=602&subd=aldiansblog&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p><img class="aligncenter size-full wp-image-603" title="enorme" src="http://aldiansblog.files.wordpress.com/2009/08/enorme.png?w=453&#038;h=283" alt="enorme" width="453" height="283" /></p>
<p style="text-align:justify;">Ça nous arrive tous un jour où l&#8217;autre: On teste une nouvelle distribution linux, la carte graphique et l&#8217;écran sont mal reconnus, et on se retrouve avec une taille de police démentielle qui rend toute manipulation impossible à cause de la taille des menus. En plus si on est sur un live cd, toute manipulation conduisant au redémarrage est à proscrire, puisqu&#8217;on perdrait ce qu&#8217;on a fait.</p>
<p style="text-align:justify;">Alors voici comment faire:</p>
<ol style="text-align:justify;">
<li>Passer en terminal virtuel (combinaison de touche ctrl + alt + F1)</li>
<li>éditer le fichier <strong>/etc/X11/xorg.conf</strong> avec les droits d&#8217;administration<br />
pour ce faire personnellement j&#8217;utilise nano, ce qui nous donne &#8216;<strong>nano /etc/X11/xorg.conf</strong>&#8216;, éventuellement à faire précéder d&#8217;un <strong>sudo</strong> si vous êtes sur Ubuntu, ou bien à faire un <strong>su</strong> avant, je vous laisse agir selon votre distribution.</li>
<li>Repérer la section dédiée à la carte graphique. Dedans il y a une ligne dans le style <strong>Driver  &#8220;quelque chose&#8221;</strong>. Et manifestement le quelque chose n&#8217;est pas bon, donc il faut le remplacer par quelque chose qui va avec votre config, les plus courants étant {ati, nv, vesa, nvidia}. Mais attention, certains correspondent à des pilotes propriétaires, s&#8217;ils ne sont pas inclus par défaut sur le live_cd (ce qui est rarement le cas), ça ne marchera pas. Par exemple moi j&#8217;ai une Geforce, et hier j&#8217;ai voulu tester Sidux. Le driver paramétré dans le xorg.conf était <strong>nv</strong>, je l&#8217;ai remplacé par <strong>vesa</strong>, qui est un driver générique, sachant que sur ma distribution habituelle j&#8217;utilise le driver nvidia qui est propriétaire</li>
<li>Utilisez la combinaison de touches crtl + alt + backspace pour redémarrer le serveur X. Si le serveur redémarre, mais que vous avez toujours le problème, ou que c&#8217;est pire refaits la manip pour essayer un autre pilote. Si il ne se passe rien après avoir fait crtl + alt + backspace, revenez en section graphique (ctrl + alt +F7) et réessayez. S&#8217;il ne se passe toujours, rien, pas de chance, cette combinaison a été désactivée pour votre distribution.</li>
</ol>
<p style="text-align:justify;">Deux possibilités maintenant:</p>
<ul style="text-align:justify;">
<li>Vous vous apprêtez à plusieurs essais, ou bien vous souhaitez réactiver la combinaison dans l&#8217;un des cas contraire, passez à l&#8217;étape suivante.<br />
- Retournez dans le terminal virtuel, rééditez le fichier xorg.conf, et rajoutez à la fin la section que vous trouverez sur <a href="http://www.tux-planet.fr/restaurer-le-ctrl-alt-backspace-sous-linux/" target="_blank">tuxplanet</a>, mais ne redémarrez pas l&#8217;ordinateur après .<br />
- enregistrez le fichier<br />
Passez à l&#8217;étape suivante</li>
<li>Nous allons maintenant redémarrer X manuellement.<br />
- <strong>ps -A | grep X</strong><br />
- notez le numéro de PID de Xorg<br />
- faites un<strong> kill PID </strong>(éventuellement en root si ça ne marche pas). Notez que j&#8217;ai dit <strong>kill</strong> et pas<strong> kill -09</strong>, nous souhaitons ici une terminaison correcte du processus, pas un arrêt brutal. Ne rajoutez le -09 que si ça ne marche pas autrement.</li>
</ul>
<p style="text-align:justify;">Après ça le serveur X redémarre, et normalement ça marche mieux. Sinon vous avez tous les outils pour refaire des essais. Pensez aussi à jeter un coup d&#8217;oeuil à la documentation francophone d&#8217;Ubuntu (même si vous n&#8217;êtes pas sur cette distribution, ce qui concerne le Xorg et les cartes graphiques reste valable)</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/aldiansblog.wordpress.com/602/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/aldiansblog.wordpress.com/602/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/aldiansblog.wordpress.com/602/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/aldiansblog.wordpress.com/602/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/aldiansblog.wordpress.com/602/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/aldiansblog.wordpress.com/602/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/aldiansblog.wordpress.com/602/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/aldiansblog.wordpress.com/602/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/aldiansblog.wordpress.com/602/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/aldiansblog.wordpress.com/602/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=aldiansblog.wordpress.com&blog=5289621&post=602&subd=aldiansblog&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://aldiansblog.wordpress.com/2009/08/08/avancesi-sur-votre-live_cd-de-linux-les-caracteres-sont-enormes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/b8154fa49a228472e647f361b1580fb6?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96" medium="image">
			<media:title type="html">aldiansblog</media:title>
		</media:content>

		<media:content url="http://aldiansblog.files.wordpress.com/2009/08/enorme.png" medium="image">
			<media:title type="html">enorme</media:title>
		</media:content>
	</item>
		<item>
		<title>Comment se procurer une clé gpg par des voies détournées..</title>
		<link>http://aldiansblog.wordpress.com/2009/08/03/comment-se-procurer-une-cle-gpg-par-des-voies-detournees/</link>
		<comments>http://aldiansblog.wordpress.com/2009/08/03/comment-se-procurer-une-cle-gpg-par-des-voies-detournees/#comments</comments>
		<pubDate>Mon, 03 Aug 2009 21:04:26 +0000</pubDate>
		<dc:creator>aldiansblog</dc:creator>
				<category><![CDATA[Astuces]]></category>
		<category><![CDATA[Avancés]]></category>
		<category><![CDATA[Internet et réseaux]]></category>
		<category><![CDATA[Sécurité]]></category>
		<category><![CDATA[clé gpg]]></category>

		<guid isPermaLink="false">http://aldiansblog.wordpress.com/?p=600</guid>
		<description><![CDATA[Le gros problème avec les clés gpg, c'est que le serveur de clés gpg intégrés aux machines unix utilise un port particulier pour se connecter à internet. Si celui-ci s'avère bloqué, c'est le début de la galère. Heureusement, il est possible d'ajouter les clés manuellement, a condition de réussir à mettre la main dessus en recherchant sur Internet. Alors voici une manière de faire qui marche parfois.<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=aldiansblog.wordpress.com&blog=5289621&post=600&subd=aldiansblog&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p><img class="aligncenter size-full wp-image-599" title="gpg" src="http://aldiansblog.files.wordpress.com/2009/08/gpg1.png?w=580&#038;h=297" alt="gpg" width="580" height="297" /></p>
<p style="text-align:justify;">Le gros problème avec les clés gpg, c&#8217;est que le serveur de clés gpg intégrés aux machines unix utilise un port particulier pour se connecter à internet. Si celui-ci s&#8217;avère bloqué, c&#8217;est le début de la galère. Heureusement, il est possible d&#8217;ajouter les clés manuellement, a condition de réussir à mettre la main dessus en recherchant sur Internet. Alors voici une manière de faire qui marche parfois.</p>
<p style="text-align:justify;">Admettons que lors d&#8217;un update des listes de paquets, la console vous sorte un truc du genre:µ<br />
W: GPG error: http://mirror.noreply.org jaunty Release: Les signatures suivantes n&#8217;ont pas pu être vérifiées car la clé publique n&#8217;est pas disponible : NO_PUBKEY CFF71CB3AFA44BDD</p>
<ul style="text-align:justify;">
<li>Repérez les 8 derniers caractères, ici AFA44BDD.</li>
<li>Allez sur google et recherchez ["AFA44BDD" site:http://subkeys.pgp.net/] (sans les crochets)</li>
<li>Parmis les résultats, il y en a qui tombent sur des pages bloquées par le proxy (donc a priori valides) et d&#8217;autres qui passent mais qui retournent des erreurs http. Oubliez ces derniers et concentrez vous sur les résultats bloqués par le proxy.</li>
<li>Recherchez sur google un de ces sites de surf anonymes qui servent justement à contourner les proxy, et surfez sur les url bloquées.</li>
<li>Bon l&#8217;ennui, c&#8217;est qu&#8217;il faut aussi trouver le petit non de la clé, mais si vous faites en parallèle une recherche sur google portant sur le nom que vous avez, vous devriez trouver tout un tas de petits gars qui ont eu le même problème que vous et qui ont posté sur des forums, faut chercher un peu mais ça se trouve, ici c&#8217;était : &#8220;94C09C7F&#8221;</li>
<li>Faites une recherche dans la page sur un lien qui pointe sur ce nom, et vous devriez arriver sur une page internet qui contient la clé vous pouvez pas la louper, elle ressemble à l&#8217;illustration de ce billet. Ne vous souciez pas de la longueur. Celle qui sert d&#8217;exemple à ce post fait trois kilomètres, mais parfois elles sont toutes petites.</li>
<li>Enregistrez la clé dans un fichier, ouvrez vos sources de mise à jour, aller dans sécurité, ajoutez une clé, sélectionnez le fichier où vous l&#8217;avez enregistré, refaites un apt-get update, avec un peu de chance, c&#8217;est bon.</li>
</ul>
<p style="text-align:justify;"><strong>IMPORTANT: LE TRUC DONNE DANS CET ARTICLE EST DE TYPE RECETTE DE GRAND MERE. CA MARCHE DANS CERTAINS CAS, RIEN NE DIT QUE ÇA MARCHERA DANS TOUS LES CAS. PAR AILLEURS CE TUTO CONTOURNE LA MANIÈRE DE FAIRE OFFICIELLE. UTILISEZ LA A VOS RISQUES ET PERILS. JE DECLINE TOUTE RESPONSABILITÉ EN CAS DE DISFONCTIONNEMENT DE N&#8217;IMPORTE QUEL ORDRE SURVENU A VOTRE ORDINATEUR PAR SUITE DE L&#8217;APPLICATION DE CE TUTORIEL.</strong></p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/aldiansblog.wordpress.com/600/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/aldiansblog.wordpress.com/600/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/aldiansblog.wordpress.com/600/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/aldiansblog.wordpress.com/600/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/aldiansblog.wordpress.com/600/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/aldiansblog.wordpress.com/600/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/aldiansblog.wordpress.com/600/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/aldiansblog.wordpress.com/600/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/aldiansblog.wordpress.com/600/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/aldiansblog.wordpress.com/600/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=aldiansblog.wordpress.com&blog=5289621&post=600&subd=aldiansblog&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://aldiansblog.wordpress.com/2009/08/03/comment-se-procurer-une-cle-gpg-par-des-voies-detournees/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/b8154fa49a228472e647f361b1580fb6?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96" medium="image">
			<media:title type="html">aldiansblog</media:title>
		</media:content>

		<media:content url="http://aldiansblog.files.wordpress.com/2009/08/gpg1.png" medium="image">
			<media:title type="html">gpg</media:title>
		</media:content>
	</item>
		<item>
		<title>[Avancé] clés GPG et cyptage asymétrique</title>
		<link>http://aldiansblog.wordpress.com/2009/08/03/avance-cles-gpg-et-cyptage-asymetrique/</link>
		<comments>http://aldiansblog.wordpress.com/2009/08/03/avance-cles-gpg-et-cyptage-asymetrique/#comments</comments>
		<pubDate>Mon, 03 Aug 2009 20:47:02 +0000</pubDate>
		<dc:creator>aldiansblog</dc:creator>
				<category><![CDATA[Avancés]]></category>
		<category><![CDATA[Découverte]]></category>
		<category><![CDATA[Internet et réseaux]]></category>
		<category><![CDATA[Sécurité]]></category>
		<category><![CDATA[clé gpg]]></category>

		<guid isPermaLink="false">http://aldiansblog.wordpress.com/?p=596</guid>
		<description><![CDATA[Une clé gpg est la clé publique d'un éditeur de logiciel. Celui-ci utilise sa clé privée pour signer ses logiciels, et nous pouvons utiliser la clé publique pour vérifier que les logiciels que nous trouvons sur internet viennent bien de lui et pas d'un quelconque pirate qui aurait bidouillé le logiciel pour y introduire un malware.<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=aldiansblog.wordpress.com&blog=5289621&post=596&subd=aldiansblog&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p><img class="aligncenter size-full wp-image-597" title="gpg" src="http://aldiansblog.files.wordpress.com/2009/08/gpg.png?w=580&#038;h=297" alt="gpg" width="580" height="297" /></p>
<p style="text-align:justify;">Je vais essayer d&#8217;être aussi concis que possible, mais je vais devoir faire une brêve introduction à la cryptographie. <a href="http://fr.wikipedia.org/wiki/Histoire_de_la_cryptographie" target="_blank">Pendant des siècles</a>, la cryptographie a été à clé unique. Par exemple si je prend cet article et que je décide de décaler chaque lettre de l&#8217;article de 6 lettres dans l&#8217;alphabet, j&#8217;aurais alors a=f, b=g, c=h et ainsi de suite. Bien sûr le moyen de décodage est totalement symétrique, il suffit de faire l&#8217;inverse. Ca vaut pour cet exemple ultra simple, et vaut également pour tout un tas de codes compliqués, comme le <a href="http://fr.wikipedia.org/wiki/Syst%C3%A8me_%C3%A0_r%C3%A9pertoires" target="_blank">code symbolique</a> de <a href="http://fr.wikipedia.org/wiki/Grand_Chiffre" target="_blank">Louis XIV</a> ou la <a href="http://fr.wikipedia.org/wiki/Enigma_(machine)" target="_blank">machine enigma.</a> A chaque fois on prend un message original, on le triture de manière plus ou moins complexe pour le coder, et celui qui le reçoit doit connaitre le procéder de codage (la clé) et l&#8217;inverser.</p>
<p style="text-align:justify;">Mais le défaut énorme de ce type de codage, c&#8217;est qu&#8217;il faut que l&#8217;émetteur et le récepteur se rencontrent au moins une fois pour convenir de la clé. Dans le monde d&#8217;aujourd&#8217;hui où des gens se parlent d&#8217;un bout du monde à l&#8217;autre, ce n&#8217;est pas trop faisable. Heureusement le cryptage asymétrique a été inventé: au lieu d&#8217;une seule clé, il y en a deux, une publique, et une privée. Et là ou c&#8217;est très fort, c&#8217;est que ce qui est crypté avec la clé publique ne peut être décrypté que par celui qui possède la clé privée et vice versa.</p>
<p style="text-align:justify;">L&#8217;intéret est énorme: Il suffit que chacun donne sa clé publique dans un catalogue ouvert à tous, et tout le monde pourra lui envoyer des messages cryptés sans l&#8217;avoir rencontré au préalable. Et lui, il peut utiliser sa clé privée pour crypter ses messages et les signer. Ca permet de garantir l&#8217;authenticité du message. Si marc reçoit un message de paul et qu&#8217;il veut être sûr que c&#8217;est bien paul qui a envoyé le message, il utilise la clé publique sur le message signé par paul avec sa clé privée, et si quelqu&#8217;un a essayé de se faire passer pour paul il sera tout de suite repéré puisqu&#8217;il ne connait pas la clé privée de paul et n&#8217;a donc pas pu signer le message.</p>
<p style="text-align:justify;">Bien sûr tout ça est extrêmement simplifié, et vous trouverez sans doute bien plus de détails sur les sites dédiés au <a href="http://fr.wikipedia.org/wiki/Cryptographie_asym%C3%A9trique" target="_blank">cryptage Asymétrique</a>, au <a href="http://fr.wikipedia.org/wiki/Rivest_Shamir_Adleman" target="_blank">chiffre RSA</a> et à <a href="http://fr.wikipedia.org/wiki/Gnugpg" target="_blank">GnuGPG</a>. En tout état de cause, voici une application directe: Une clé gpg est la clé publique d&#8217;un éditeur de logiciel. Celui-ci utilise sa clé privée pour signer ses logiciels, et nous pouvons utiliser la clé publique pour vérifier que les logiciels que nous trouvons sur internet viennent bien de lui et pas d&#8217;un quelconque pirate qui aurait bidouillé le logiciel pour y introduire un malware.</p>
<p style="text-align:justify;">Ce procédé est très connu dans le monde de Linux, et en particulier dans les distributions issues de Debian, il est utilisé pour garantir l&#8217;authenticité des paquets non issus des dépots officiels.</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/aldiansblog.wordpress.com/596/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/aldiansblog.wordpress.com/596/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/aldiansblog.wordpress.com/596/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/aldiansblog.wordpress.com/596/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/aldiansblog.wordpress.com/596/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/aldiansblog.wordpress.com/596/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/aldiansblog.wordpress.com/596/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/aldiansblog.wordpress.com/596/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/aldiansblog.wordpress.com/596/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/aldiansblog.wordpress.com/596/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=aldiansblog.wordpress.com&blog=5289621&post=596&subd=aldiansblog&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://aldiansblog.wordpress.com/2009/08/03/avance-cles-gpg-et-cyptage-asymetrique/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/b8154fa49a228472e647f361b1580fb6?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96" medium="image">
			<media:title type="html">aldiansblog</media:title>
		</media:content>

		<media:content url="http://aldiansblog.files.wordpress.com/2009/08/gpg.png" medium="image">
			<media:title type="html">gpg</media:title>
		</media:content>
	</item>
		<item>
		<title>Capturer le localhost dans WireShark/Ethereal sous Windows</title>
		<link>http://aldiansblog.wordpress.com/2009/07/02/capturer-le-localhost-dans-wiresharkethereal-sous-windows/</link>
		<comments>http://aldiansblog.wordpress.com/2009/07/02/capturer-le-localhost-dans-wiresharkethereal-sous-windows/#comments</comments>
		<pubDate>Thu, 02 Jul 2009 19:30:59 +0000</pubDate>
		<dc:creator>aldiansblog</dc:creator>
				<category><![CDATA[Astuces]]></category>
		<category><![CDATA[Avancés]]></category>
		<category><![CDATA[Internet et réseaux]]></category>
		<category><![CDATA[capture]]></category>
		<category><![CDATA[ethereal]]></category>
		<category><![CDATA[localhost]]></category>
		<category><![CDATA[wireshark]]></category>

		<guid isPermaLink="false">http://aldiansblog.wordpress.com/?p=571</guid>
		<description><![CDATA[Je ne sais pas si certains d'entre vous bossent sur des projets telecom, mais il est une situation dans laquelle on se retrouve tôt ou tard: avoir besoin de tester deux logiciels censés communiquer entre eux par le réseau sur son propre ordinateur, et vouloir sniffer le réseau pour savoir ce qu'ils se disent exactement. Problème, wireshark (nouveau nom d'Ethereal) capture tout ce qui passe par la carte réseau, mais dans le cas de communication réseau internes à l'ordinateur, les paquets empruntent des raccourcis qui les font échapper à cette capture. Comment tricher pour les avoir quand même? Une façon de faire consiste à les forcer à passer par la carte réseau, en indiquant à windows que tous les paquets en provenance de notre ordinateur et à destination de notre adresse ip doivent emprunter la passerelle par défaut.<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=aldiansblog.wordpress.com&blog=5289621&post=571&subd=aldiansblog&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p style="text-align:left;"><a href="http://www.wireshark.org/"><img class="aligncenter" title="wireshark" src="http://i87.servimg.com/u/f87/10/07/27/39/wiresh10.png" alt="" width="475" height="391" /></a></p>
<p style="text-align:justify;">Je ne sais pas si certains d&#8217;entre vous bossent sur des projets telecom, mais il est une situation dans laquelle on se retrouve tôt ou tard: avoir besoin de tester deux logiciels censés communiquer entre eux par le réseau sur son propre ordinateur, et vouloir sniffer le réseau pour savoir ce qu&#8217;ils se disent exactement. Problème, wireshark (nouveau nom d&#8217;Ethereal) capture tout ce qui passe par la carte réseau, mais dans le cas de communication réseau internes à l&#8217;ordinateur, les paquets empruntent des raccourcis qui les font échapper à cette capture. Comment tricher pour les avoir quand même? Une façon de faire consiste à les forcer à passer par la carte réseau, en indiquant à windows que tous les paquets en provenance de notre ordinateur et à destination de notre adresse ip doivent emprunter la passerelle par défaut.</p>
<p style="text-align:left;">
<p style="text-align:left;">
<h2>I visualisation des paramètres initiaux :</h2>
<p style="text-align:left;">D’abord on fait un ipconfig pour repérer son adresse ip, et la passerelle par défaut. Par exemple on obtient ça:</p>
<p style="text-align:left;"><em>C:\&gt;ipconfig<br />
Windows IP Configuration<br />
Ethernet adapter Local Area Connection:<br />
Connection-specific DNS Suffix  . : toto.titi.tata.com<br />
IP Address. . . . . . . . . . . . : 192.168.16.53<br />
Subnet Mask . . . . . . . . . . . : 255.255.255.0<br />
Default Gateway . . . . . . . . . : 192.168.16.2</em></p>
<p>Tant qu’on y est, on peut aussi regarder les paramètres par défaut de routage interne :<br />
<em><br />
H:\&gt;route print 192.168.16.53 | find &#8220;192.168.16.53&#8243;<br />
192.168.16.53  255.255.255.255        127.0.0.1       127.0.0.1       20</em></p>
<p>Le résultat dit que les paquets à destination de mon adresse IP doivent être redirigés sur mon localhost. C’est ce que nous allons changer.</p>
<h2>II Forçage du passage des paquets par le routeur :</h2>
<p style="text-align:left;">Nous allons donc ajouter une route à Windows en lui disant que pour router des paquets vers notre adresse IP, il faut passer par le routeur:</p>
<p><em> H:\&gt;route add 192.168.16.53 mask 255.255.255.255 </em><em>192.168.16.2 metric 1</em></p>
<p>Regardons maintenant les nouveaux parametres de routage de windows :</p>
<p style="text-align:justify;"><em>H:\&gt;route print 192.168.16.53 | find &#8220;192.168.16.53&#8243;<br />
192.168.16.53  255.255.255.255        127.0.0.1       127.0.0.1       20<br />
</em><em>192.168.16.53  255.255.255.255 </em><em>192.168.16.2 </em><em>192.168.16.53       1</em></p>
<p>La nouvelle route a bien été ajoutée. L’étape suivante concerne notre application qui tourne en interne : Au lieu de lui donner l’adresse hote interne 127.0.0.1, il faut lui donner l’adresse hôte externe, dans cet exemple <em>192.168.16.53</em>. Une fois que c’est fait, nous pouvons lancer ethereal/wireshark  et notre application, et les paquets seront capturés.</p>
<h2>III Résoudre le problème du dédoublement des paquets :</h2>
<p style="text-align:justify;">
Seul petit problème, le trajet des paquets va être le suivant :<br />
1)      Le paquet part de l’application cliente sur notre ordinateur<br />
2)      Il est routé vers le routeur<br />
3)      Le routeur nous le renvoie<br />
4)      Le paquet est reçu par l’application serveur sur notre ordinateur</p>
<p>Et dans le cas du trajet serveur -&gt; client, c’est la même chose.</p>
<p>Ca implique que chaque paquet passe deux fois par notre carte réseau, et que du coup tous les paquets seront capturés en double par wireshark/ethereal. Pour pallier à ce petit problème, il suffit d’ajouter un filtre dans wireshark, pour lui indiquer par exemple de bloquer les paquets sortant de la carte réseau du routeur. Par exemple, si en plus vous ne voulez que les paquets snmp, et que votre carte réseau a pour adresse 00:ab:cd:ef:12:34, indiquez le filtre suivant dans wireshark/ethereal:</p>
<p><em>snmp &amp;&amp; !(eth.src == 00:ab:cd:ef:12:34)</em></p>
<p style="text-align:left;">Et le tour est joué!</p>
<h2>IV Rétablir les choses dans leur configuration d’origine :</h2>
<p style="text-align:left;">
Lorsqu’on n’a plus besoin de capturer les paquets, il n’est pas nécessaire de polluer le routeur plus longtemps. Il suffit d’enlever la route ajoutée au II :<br />
<em><br />
H:\&gt;route delete </em><em>192.168.16.53<br />
</em><em>H:\&gt;route print 192.168.16.53 | find &#8220;192.168.16.53&#8243;<br />
192.168.16.53  255.255.255.255        127.0.0.1       127.0.0.1       20</em></p>
<p>Et tout est de retour à l’état initial.</p>
<div id="_mcePaste" style="overflow:hidden;position:absolute;left:-10000px;top:0;width:1px;height:1px;">
<p><span style="text-decoration:underline;"><span style="color:#1f497d;">I visualisation des paramètres initiaux :</span></span></p>
<p><span style="color:#1f497d;">D’abord on fait un ipconfig pour repérer son adresse ip, et la passerelle par défaut. Dans mon cas ça donne ça :</span></p>
<p><span style="color:#1f497d;"> </span></p>
<p><em><span style="color:#1f497d;" lang="EN-US">H:\&gt;ipconfig</span></em></p>
<p><em><span style="color:#1f497d;" lang="EN-US">Windows IP Configuration</span></em></p>
<p><em><span style="color:#1f497d;" lang="EN-US">Ethernet adapter Local Area Connection:</span></em></p>
<p><em><span style="color:#1f497d;" lang="EN-US"> </span></em></p>
<p><em><span style="color:#1f497d;" lang="EN-US"> </span><span style="color:#1f497d;">Connection-specific DNS Suffix  . : <a href="http://rennes.eu.thmulti.com/" target="_blank">rennes.eu.thmulti.com</a></p>
<div style="display:inline;cursor:pointer;padding-right:16px;width:16px;height:16px;"></div>
<p></span></em></p>
<p><em><span style="color:#1f497d;"> IP Address. . . . . . . . . . . . : 141.11.149.18</span></em></p>
<p><em><span style="color:#1f497d;"> Subnet Mask . . . . . . . . . . . : 255.255.240.0</span></em></p>
<p><em><span style="color:#1f497d;"> Default Gateway . . . . . . . . . : 141.11.159.1</span></em></p>
<p><span style="color:#1f497d;"> </span></p>
<p><span style="color:#1f497d;">Tant qu’on y est, on peut aussi regarder les paramètres par défaut de routage interne :</span></p>
<p><span style="color:#1f497d;"> </span></p>
<p><em><span style="color:#1f497d;">H:\&gt;route print 141.11.149.18 | find &#8220;141.11.149.18&#8243;</span></em></p>
<p><em><span style="color:#1f497d;"> 141.11.149.18  255.255.255.255        127.0.0.1       127.0.0.1       20</span></em></p>
<p><span style="color:#1f497d;"> </span></p>
<p><span style="color:#1f497d;">Le résultat dit que les paquets à destination de mon adresse IP doivent être redirigés sur mon localhost. C’est ce que nous allons changer.</span></p>
<p><span style="color:#1f497d;"> </span></p>
<p><span style="color:#1f497d;"> </span></p>
<p><span style="text-decoration:underline;"><span style="color:#1f497d;">II Forçage du passage des paquets par le routeur :</span></span></p>
<p><span style="color:#1f497d;">Nous allons donc ajouter une route à Windows en lui disant que pour router des paquets vers notre adresse IP, il faut passer par le routeur :</span></p>
<p><span style="color:#1f497d;"> </span></p>
<p><em><span style="color:#1f497d;" lang="EN-US">H:\&gt;route add 141.11.149.18 mask 255.255.255.255 141.11.159.1 metric 1</span></em></p>
<p><span style="color:#1f497d;" lang="EN-US"> </span></p>
<p><span style="color:#1f497d;">Regardons maintenant les nouveaux parametres de routage de windows :</span></p>
<p><span style="color:#1f497d;"> </span></p>
<p><em><span style="color:#1f497d;">H:\&gt;route print 141.11.149.18 | find &#8220;141.11.149.18&#8243;</span></em></p>
<p><em><span style="color:#1f497d;"> 141.11.149.18  255.255.255.255        127.0.0.1       127.0.0.1       20</span></em></p>
<p><em><span style="color:#1f497d;"> 141.11.149.18  255.255.255.255     141.11.159.1   141.11.149.18       1</span></em></p>
<p><span style="color:#1f497d;"> </span></p>
<p><span style="color:#1f497d;">La nouvelle route a bien été ajoutée. L’étape suivante concerne notre application qui tourne en interne : Au lieu de lui donner l’adresse hote interne 127.0.0.1, il faut lui donner l’adresse hôte externe, dans mon cas 141.11.149.18. Une fois que c’est fait, nous pouvons lancer ethereal/wireshark  et notre application, et les paquets seront capturés. </span></p>
<p><span style="color:#1f497d;"> </span></p>
<p><span style="color:#1f497d;"> </span></p>
<p><span style="text-decoration:underline;"><span style="color:#1f497d;">III Résoudre le problème du dédoublement des paquets : </span></span></p>
<p><span style="color:#1f497d;">Seul petit problème, le trajet des paquets va être le suivant :</span></p>
<p style="text-indent:-18pt;"><span style="color:#1f497d;"><span>1)<span style="font-family:&quot;font-style:normal;font-variant:normal;font-weight:normal;font-size:7pt;line-height:normal;"> </span></span></span><span style="color:#1f497d;">Le paquet part de l’application cliente sur notre ordinateur</span></p>
<p style="text-indent:-18pt;"><span style="color:#1f497d;"><span>2)<span style="font-family:&quot;font-style:normal;font-variant:normal;font-weight:normal;font-size:7pt;line-height:normal;"> </span></span></span><span style="color:#1f497d;">Il est routé vers le routeur</span></p>
<p style="text-indent:-18pt;"><span style="color:#1f497d;"><span>3)<span style="font-family:&quot;font-style:normal;font-variant:normal;font-weight:normal;font-size:7pt;line-height:normal;"> </span></span></span><span style="color:#1f497d;">Le routeur nous le renvoie</span></p>
<p style="text-indent:-18pt;"><span style="color:#1f497d;"><span>4)<span style="font-family:&quot;font-style:normal;font-variant:normal;font-weight:normal;font-size:7pt;line-height:normal;"> </span></span></span><span style="color:#1f497d;">Le paquet est reçu par l’application serveur sur notre ordinateur</span></p>
<p><span style="color:#1f497d;">Et dans le cas du trajet serveur -&gt; client, c’est la même chose. </span></p>
<p><span style="color:#1f497d;"> </span></p>
<p><span style="color:#1f497d;">Ca implique que chaque paquet passe deux fois par notre carte réseau, et que du coup tous les paquets seront capturés en double par wireshark/ethereal. Pour pallier à ce petit problème, il suffit d’ajouter un filtre dans wireshark, pour lui indiquer par exemple de bloquer les paquets sortant de la carte réseau du routeur. Par exemple, dans mon cas, je ne veux que les paquets snmp, donc j’indique le filtre suivant à wireshark/ethereal :</span></p>
<p><span style="color:#1f497d;"> </span></p>
<p><em><span style="color:#1f497d;" lang="EN-US">snmp &amp;&amp; eth.src != 00:19:b9:2e:45:cf</span></em></p>
<p><span style="color:#1f497d;" lang="EN-US"> </span></p>
<p><span style="color:#1f497d;">Et le tour est joué!</span></p>
<p><span style="color:#1f497d;"> </span></p>
<p><span style="color:#1f497d;"> </span></p>
<p><span style="text-decoration:underline;"><span style="color:#1f497d;">IV Rétablir les choses dans leur configuration d’origine :</span></span></p>
<p><span style="color:#1f497d;">Lorsqu’on n’a plus besoin de capturer les paquets, il n’est pas nécessaire de polluer le routeur plus longtemps. Il suffit d’enlever la route ajoutée au II :</span></p>
<p><span style="color:#1f497d;"> </span></p>
<p><em><span style="color:#1f497d;" lang="EN-US">H:\&gt;route delete 141.11.149.18</span></em></p>
<p><em><span style="color:#1f497d;" lang="EN-US"> </span></em></p>
<p><em><span style="color:#1f497d;" lang="EN-US">H:\&gt;route print 141.11.149.18 | find &#8220;141.11.149.18&#8243;</span></em></p>
<p><em><span style="color:#1f497d;" lang="EN-US"> </span><span style="color:#1f497d;">141.11.149.18  255.255.255.255        127.0.0.1       127.0.0.1       20</span></em></p>
<p><span style="color:#1f497d;"> </span></p>
<p><span style="color:#1f497d;">Et tout est de retour à l’état initial.</span></div>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/aldiansblog.wordpress.com/571/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/aldiansblog.wordpress.com/571/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/aldiansblog.wordpress.com/571/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/aldiansblog.wordpress.com/571/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/aldiansblog.wordpress.com/571/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/aldiansblog.wordpress.com/571/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/aldiansblog.wordpress.com/571/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/aldiansblog.wordpress.com/571/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/aldiansblog.wordpress.com/571/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/aldiansblog.wordpress.com/571/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=aldiansblog.wordpress.com&blog=5289621&post=571&subd=aldiansblog&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://aldiansblog.wordpress.com/2009/07/02/capturer-le-localhost-dans-wiresharkethereal-sous-windows/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/b8154fa49a228472e647f361b1580fb6?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96" medium="image">
			<media:title type="html">aldiansblog</media:title>
		</media:content>

		<media:content url="http://i87.servimg.com/u/f87/10/07/27/39/wiresh10.png" medium="image">
			<media:title type="html">wireshark</media:title>
		</media:content>
	</item>
		<item>
		<title>Si vous souhaitez réaliser votre propre feuille de style CSS</title>
		<link>http://aldiansblog.wordpress.com/2009/02/27/si-vous-souhaitez-realiser-votre-propre-feuille-de-style-css/</link>
		<comments>http://aldiansblog.wordpress.com/2009/02/27/si-vous-souhaitez-realiser-votre-propre-feuille-de-style-css/#comments</comments>
		<pubDate>Thu, 26 Feb 2009 23:58:38 +0000</pubDate>
		<dc:creator>aldiansblog</dc:creator>
				<category><![CDATA[Avancés]]></category>
		<category><![CDATA[Firefox]]></category>
		<category><![CDATA[Internet et réseaux]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[extension Firefox]]></category>
		<category><![CDATA[feuille de style]]></category>
		<category><![CDATA[HTML]]></category>

		<guid isPermaLink="false">http://aldiansblog.wordpress.com/?p=532</guid>
		<description><![CDATA[Nous avons présenté dans deux précédents articles les feuilles de style CSS, et leur utilisation conjointe avec l'extension Firefox Stylish. Voici maintenant quelques conseils si vous souhaitez vous lancer dans la création de votre propre feuille de style CSS pour un site donné.<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=aldiansblog.wordpress.com&blog=5289621&post=532&subd=aldiansblog&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p><img class="aligncenter size-full wp-image-526" title="css" src="http://aldiansblog.files.wordpress.com/2009/02/css.png?w=601&#038;h=659" alt="css" width="601" height="659" /></p>
<p style="text-align:justify;">Nous avons présenté dans deux précédents articles <a href="http://aldiansblog.wordpress.com/2009/02/21/introduction-aux-feuilles-de-style-en-cascade-css/" target="_blank">les feuilles de style CSS</a>, et leur <a href="http://aldiansblog.wordpress.com/2009/02/22/changez-la-presentation-des-sites-web-que-vous-visitez/" target="_blank">utilisation conjointe avec l&#8217;extension Firefox Stylish</a>. Voici maintenant quelques conseils si vous souhaitez vous lancer dans la création de votre propre feuille de style CSS pour un site donné.</p>
<h3 style="text-align:justify;"><span style="text-decoration:underline;">a) Récupérez la feuille de style CSS du style Web en question.</span></h3>
<ol style="text-align:justify;">
<li>Affichez le code source de la page (combinaison de touches <strong>ctrl+U</strong>), et recherchez l&#8217;emplacement de la feuille de style CSS. Pour ce faire, faites la combinaison de touches <strong>ctrl+F</strong> et recherchez la chaine de caractères &#8220;<strong>.css</strong>&#8220;.</li>
<li>Vous obtenez alors soit une adresse internet entière, par exemple dans le cadre de mon blog, vous allez tomber sur <a href="http://s3.wordpress.com/wp-content/themes/pub/garland/style.css?m=1233010721b" target="_blank">http://s3.wordpress.com/wp-content/themes/pub/garland/style.css?m=1233010721b</a>.</li>
<li>Sinon vous pouvez tomber sur une adresse relative (qui ne commence pas par <strong>http://</strong> mais par <strong>/quelquechose</strong>). Auquel cas vous pourrez généralement reconstituer l&#8217;url entière de la feuille de css en accolant l&#8217;adresse realtive à l&#8217;adresse globale du site pour obtenir une adresse du style <em>http://www.monsite.com/quelquechose</em>.</li>
<li>Enregistrez le contenu texte de la feuille de style que vous obtenez sous un nom quelconque par exemple <em>CssPersonaliséMonSitePointCom.css</em> (en n&#8217;oubliant pas le plus important, l&#8217;extension <strong>.css</strong>).</li>
</ol>
<h3 style="text-align:justify;"><span style="text-decoration:underline;">b) Modifiez là à votre convenance en vous inspirant de l&#8217;existant.</span></h3>
<ol style="text-align:justify;">
<li>D&#8217;abord il y a des choses complètement évidentes. Par exemple l&#8217;attribut background-color de la balise body désigne évidemment la couleur d&#8217;arrière plan du site. Allez sur<a href="http://www.code-couleur.com/" target="_blank"> code-couleur.com</a>, choisissez une nouvelle couleur qui vous convient mieux, et remplacez le code hexadécimal de la feuille de style par celui que vous donne le site pour la nouvelle couleur choisie.</li>
<li>Ensuite comparez à grand renfort de  <strong>ctrl+F </strong>quelles sont les correspondances des balises moins évidentes. Dans ce cadre l&#8217;utilisation de <a href="http://aldiansblog.wordpress.com/2009/02/23/explorez-debuggez-et-ameliorez-votre-comprehension-des-pages-web-avec-firebug/" target="_blank">Firebug</a> vous sera sans doute d&#8217;un grand secours tant pour établir les correspondances que pour avoir un petit aperçu de ce que vos changements vont donner.</li>
</ol>
<h3 style="text-align:justify;"><span style="text-decoration:underline;">c) Testez votre feuille de style sur le site concerné:</span></h3>
<ol style="text-align:justify;">
<li>Repérez l&#8217;icone de Stylish en bas à droite du navigateur (elle ressemble à une feuille blanche avec un pinceau) et son nom apparait lorsque vous passez la souris dessus. Sinon vérifiez que vous avez bien <a href="http://aldiansblog.wordpress.com/2008/11/06/installer-une-personnalisation-de-firefox/" target="_blank">installé Stylish</a>.</li>
<li>Cliquez dessus, passez la souris sur &#8220;<em>Ecrire un style</em>&#8220;, faites votre choix dans le menu déroulant. Puis copiez collez votre feuille de style dans le cadre qui s&#8217;affiche en laissant en tête le code par défaut.</li>
<li>Validez, raffraichissez la page, et profitez <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> .</li>
</ol>
<p style="text-align:justify;">Je précise que je n&#8217;ai pas encore testé d&#8217;écrire ma propre feuille CSS dans ce cadre là. Si jamais le besoin s&#8217;en fait sentir, ou si l&#8217;un d&#8217;entre vous trouve quelque chose de pas clair et me le demande, j&#8217;éditerai pour expliquer commen pallier aux difficultés rencontrées éventuelles. Ceci dit tout me parait assez clair, et pour les anglophones, l<a href="http://forum.userstyles.org/comments.php?DiscussionID=773&amp;page=1#Item_0" target="_blank">&#8216;aide de Stylish</a> est très bien faite.</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/aldiansblog.wordpress.com/532/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/aldiansblog.wordpress.com/532/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/aldiansblog.wordpress.com/532/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/aldiansblog.wordpress.com/532/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/aldiansblog.wordpress.com/532/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/aldiansblog.wordpress.com/532/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/aldiansblog.wordpress.com/532/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/aldiansblog.wordpress.com/532/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/aldiansblog.wordpress.com/532/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/aldiansblog.wordpress.com/532/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=aldiansblog.wordpress.com&blog=5289621&post=532&subd=aldiansblog&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://aldiansblog.wordpress.com/2009/02/27/si-vous-souhaitez-realiser-votre-propre-feuille-de-style-css/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/b8154fa49a228472e647f361b1580fb6?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96" medium="image">
			<media:title type="html">aldiansblog</media:title>
		</media:content>

		<media:content url="http://aldiansblog.files.wordpress.com/2009/02/css.png" medium="image">
			<media:title type="html">css</media:title>
		</media:content>
	</item>
		<item>
		<title>[Avancé] Comment appliquer récursivement une instruction à des fichiers sous Linux</title>
		<link>http://aldiansblog.wordpress.com/2009/01/18/avance-comment-appliquer-recursivement-une-instruction-a-des-fichiers-sous-linux/</link>
		<comments>http://aldiansblog.wordpress.com/2009/01/18/avance-comment-appliquer-recursivement-une-instruction-a-des-fichiers-sous-linux/#comments</comments>
		<pubDate>Sat, 17 Jan 2009 23:18:51 +0000</pubDate>
		<dc:creator>aldiansblog</dc:creator>
				<category><![CDATA[Astuces]]></category>
		<category><![CDATA[Avancés]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[test]]></category>

		<guid isPermaLink="false">http://aldiansblog.wordpress.com/?p=401</guid>
		<description><![CDATA[Figurez vous qu'aujourd'hui même, on m'a transmis une archive contenant un meli-melo de fichiers .java et de fichiers .class avec pas mal de ramifications des dossiers. Or il se trouve que seuls les fichiers en .java m'intéressaient. Ne souhaitant pas passer des heures à pacourir les dossiers pour virer tous les .class manuellement, je me suis mis en quête d'une commande susceptible d'explorer récursivement les dossiers et sous dossiers, et d'en effacer tous les fichiers en .class.<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=aldiansblog.wordpress.com&blog=5289621&post=401&subd=aldiansblog&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><div id="attachment_402" class="wp-caption aligncenter" style="width: 610px"><a href="http://www.flickr.com/photos/sebr/2448908979/" target="_blank"><img class="size-full wp-image-402" title="recursion" src="http://aldiansblog.files.wordpress.com/2009/01/recursion.png?w=600&#038;h=411" alt="recursion par sebr (cliquez pour afficher l'original)" width="600" height="411" /></a><p class="wp-caption-text">recursion par sebr (cliquez pour afficher l&#39;original)</p></div>
<p style="text-align:justify;">Figurez vous qu&#8217;aujourd&#8217;hui même, on m&#8217;a transmis une archive contenant un meli-melo de fichiers .java et de fichiers .class avec pas mal de ramifications des dossiers. Or il se trouve que seuls les fichiers en .java m&#8217;intéressaient. Ne souhaitant pas passer des heures à pacourir les dossiers pour virer tous les .class manuellement, je me suis mis en quête d&#8217;une commande susceptible d&#8217;explorer récursivement les dossiers et sous dossiers, et d&#8217;en effacer tous les fichiers en .class.</p>
<p style="text-align:justify;">Après quelques recherches dans les manpages, et quelques essais infructueux, j&#8217;ai posé la question sur irc (un salon de discussion en ligne), et j&#8217;ai immédiatement obtenu deux réponses toutes aussi fonctionnelles l&#8217;une que l&#8217;autre. Il suffisait de faire:</p>
<ul style="text-align:justify;">
<li>soit <strong><span>find . -name &#8216;*.class&#8217; | xargs rm -f</span></strong></li>
<li><span>soit </span><strong><span>find . -name &#8216;*.class&#8217; -exec rm -v {} \;</span></strong></li>
</ul>
<p style="text-align:justify;">Comme vous le voyez, les instructions sont composées de deux parties: la première, <em><span>find . -name &#8216;*.class&#8217;</span></em><span>, permet de rechercher récursivement tous les fichiers se terminant par &#8216;<em>.class</em>&#8216;. La deuxième partie précise le traitement à appliquer aux fichiers. Les deux reviennent au même, mais la manière dont le résultat va être obtenu diffère.<br />
</span></p>
<p style="text-align:justify;">Après discussion il est apparu que la première était la plus fonctionnelle au niveau de la rapidité d&#8217;exécution, car la commande <em>rm</em> est appelée une seule fois pour être appliquée d&#8217;un coup à toute la liste de fichiers<span>,  tandis que la deuxième s&#8217;arrête à chaque fichier trouvé pour le supprimer avant de poursuivre la recherche, ce qui implique l&#8217;appel à la fonction <em>rm</em> autant de fois qu&#8217;il y a de fichiers, donc la création d&#8217;autant de processus, ce qui est couteux pour le système. Cependant la deuxième peut aussi avoir son intéret si un jour j&#8217;ai des dizaines de milliers de fichiers à supprimer, car il semblerait que le nombre d&#8217;éléments pouvant être passés dans un pipe (la barre verticale) soit limitée. Cela dit le débat reste ouvert car tous n&#8217;étaient pas d&#8217;accord sur la manière de procéder du Xargs. Voir la <a href="http://en.wikipedia.org/wiki/Xargs" target="_blank">page de Wikipedia dédiée à Xargs (en)</a> pour plus d&#8217;informations.<br />
</span></p>
<p style="text-align:justify;"><span>Pour conclure, ici on s&#8217;est intéressé à l&#8217;effaçage récursif d&#8217;un type donné de fichier, mais on remarquera aisément qu&#8217;en remplaçant rm par une autre commande, on peut généraliser ainsi l&#8217;application récursive d&#8217;une instruction à tous les dossiers et sous dossiers d&#8217;un répertoire.</span></p>
<p style="text-align:justify;"><span><span style="text-decoration:underline;">note</span>: ne pas faire attention aux options du rm. Je les ai reportées telles qu&#8217;on me les a données, mais il faut bien voir ce qu&#8217;elles veulent dire: le &#8216;-v&#8217; de la deuxième commande, demande au rm de dire ce qu&#8217;il fait au fur et à mesure, et le &#8216;-f&#8217; de la première commande demande d&#8217;ignorer les éventuels avertissements du système. Il convient de les modifier avec discernement en fonction de la situation.</span></p>
<p style="text-align:justify;"><span>PS: Faites des sauvegardes avant de faire des tests <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> .<br />
</span></p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/aldiansblog.wordpress.com/401/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/aldiansblog.wordpress.com/401/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/aldiansblog.wordpress.com/401/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/aldiansblog.wordpress.com/401/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/aldiansblog.wordpress.com/401/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/aldiansblog.wordpress.com/401/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/aldiansblog.wordpress.com/401/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/aldiansblog.wordpress.com/401/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/aldiansblog.wordpress.com/401/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/aldiansblog.wordpress.com/401/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=aldiansblog.wordpress.com&blog=5289621&post=401&subd=aldiansblog&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://aldiansblog.wordpress.com/2009/01/18/avance-comment-appliquer-recursivement-une-instruction-a-des-fichiers-sous-linux/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/b8154fa49a228472e647f361b1580fb6?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96" medium="image">
			<media:title type="html">aldiansblog</media:title>
		</media:content>

		<media:content url="http://aldiansblog.files.wordpress.com/2009/01/recursion.png" medium="image">
			<media:title type="html">recursion</media:title>
		</media:content>
	</item>
		<item>
		<title>Optimisez l&#8217;espace dans Firefox (2)</title>
		<link>http://aldiansblog.wordpress.com/2009/01/09/optimisez-lespace-dans-firefox-2/</link>
		<comments>http://aldiansblog.wordpress.com/2009/01/09/optimisez-lespace-dans-firefox-2/#comments</comments>
		<pubDate>Fri, 09 Jan 2009 01:18:21 +0000</pubDate>
		<dc:creator>aldiansblog</dc:creator>
				<category><![CDATA[Astuces]]></category>
		<category><![CDATA[Avancés]]></category>
		<category><![CDATA[Firefox]]></category>
		<category><![CDATA[navigateur Internet]]></category>
		<category><![CDATA[optimisation]]></category>

		<guid isPermaLink="false">http://aldiansblog.wordpress.com/?p=346</guid>
		<description><![CDATA[Ce tutoriel fait suite à mon billet d'hier : Enlevez de votre navigateur toutes ces choses inutiles qui l’encombrent. Nous avons vu comment faire pour enlever une bonne part des barres diverses qui prennent de la place inutilement. Nous allons maintenant voir la suite. 
1) On désactive l'affichage des menus superflus,
2) On installe un thème compact,
3) On gagne de la place,
4)Si comme moi vous faites un usage intensif des marque pages,
5) Et on réorganise tout ça.<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=aldiansblog.wordpress.com&blog=5289621&post=346&subd=aldiansblog&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><div id="attachment_343" class="wp-caption aligncenter" style="width: 610px"><img class="size-full wp-image-343" title="navigateur_optimise" src="http://aldiansblog.files.wordpress.com/2009/01/navigateur_optimise.png?w=600&#038;h=450" alt="Capture d'écran prise en 1024x768 (cliquez pour agrandir)" width="600" height="450" /><p class="wp-caption-text">Capture d&#39;écran prise en 1024x768 (cliquez pour agrandir)</p></div>
<p style="text-align:justify;">Ce tutoriel fait suite à mon billet d&#8217;hier : <a href="http://aldiansblog.wordpress.com/2009/01/07/enlevez-de-votre-navigateur-toutes-ces-choses-inutiles-qui-lencombrent/" target="_blank">Enlevez de votre navigateur toutes ces choses inutiles qui l’encombrent</a>. Nous avons vu comment faire pour enlever une bonne part des barres diverses qui prennent de la place inutilement. Nous allons maintenant voir la suite.</p>
<p style="text-align:justify;"><span style="text-decoration:underline;"><strong>1) On désactive l&#8217;affichage des menus superflus:</strong></span><br />
Tout d&#8217;abord ajoutez l&#8217;extension <a href="https://addons.mozilla.org/fr/firefox/addon/710" target="_blank">Menu Editor</a>. Je rappelle que vous pouvez utiliser <a href="http://aldiansblog.wordpress.com/2008/11/06/installer-une-personnalisation-de-firefox/" target="_blank">ce tuto</a> si vous ne savez pas trop comment faire pour ajouter une extension. Après avoir redémarré Firefox, il faut aller dans<em> outils -&gt; Modules complémentaires -&gt; Extensions</em>, sélectionner l&#8217;extension <em>Menu Editor</em> dans la liste et cliquer sur <em>Préférences</em>. A partir de la boite qui s&#8217;ouvre, vous avez la possibilité de désactiver toutes les options dont vous ne vous servez pas dans les menus de Firefox (&#8220;<em>menu contextuel principal</em>&#8221; désigne le menu qui s&#8217;affiche lorsque vous faites un clic droit quelque part dans Firfox. Bien sûr tout ce que vous pouvez régler ne s&#8217;affiche pas d&#8217;un coup. Ca dépend de sur quoi vous avez cliqué droit).</p>
<p style="text-align:justify;"><span style="text-decoration:underline;"><strong>2) On installe un thème compact:</strong></span><br />
Pour installer un thème, vous pouvez suivre <a href="http://aldiansblog.wordpress.com/2008/12/09/changer-le-theme-de-firefox/" target="_blank">ce tuto</a>. Faites bien attention de choisir un thème portant le tag <em>compact</em>. Par exemple le thème que j&#8217;ai utilisé est le thème <a href="https://addons.mozilla.org/fr/firefox/addon/9427" target="_blank">Chromifox 2</a>. Si jamais vous voulez aussi l&#8217;avoir, notez bien qu&#8217;il est expérimental, et prévu pour la <a href="http://aldiansblog.wordpress.com/2008/12/11/a-propos-de-firefox-31-beta-2/" target="_blank">version 3.1 beta 1</a> ou supérieure de Firefox. Ca signifie que de même que dans mon tuto <a href="http://aldiansblog.wordpress.com/2008/11/25/deux-extensions-sympathiques-pour-booster-la-vitesse-de-firefox/" target="_blank">Deux extensions sympathiques pour booster la vitesse de Firefox</a>, il va vous falloir vous créer un compte utilisateur sur le site, si ce n&#8217;est déjà fait (ce n&#8217;est pas bien compliqué, il faut donner une adresse email et un mot de passe). Par ailleurs, comme firefox 3.1 n&#8217;est pas encore sorti de manière stable, vous utilisez probablement encore Firefox 3.0. Ce qui implique qu&#8217;à moins d&#8217;installer la <a href="http://aldiansblog.wordpress.com/2008/11/24/explications-version-alpha-beta-etc/" target="_blank">version beta</a> de Firfox 3.1, au risque de perdre la compatibilité avec un grand nombre de modules, vous allez devoir ruser et désactiver les vérifications de sécurité suivant le deuxième exemple de mon tuto <a href="http://aldiansblog.wordpress.com/2008/12/14/configuration-avancee-de-firefox/" target="_blank">Configuration</a><a href="http://aldiansblog.wordpress.com/2008/12/14/configuration-avancee-de-firefox/" target="_blank"> avancée de Firefox</a> (Et même comme ça, ça ne fonctionne pas toujours, mais ça ne coûte rien d&#8217;essayer).</p>
<p style="text-align:justify;"><span style="text-decoration:underline;"><strong>3) On gagne de la place:</strong></span><br />
Ceci fait installez l&#8217;extension <a href="https://addons.mozilla.org/fr/firefox/addon/1455" target="_blank">Tiny Menu</a>. Cette extension remplace l&#8217;ensemble des menus <em>Fichier, Édition, Affichage, etc</em>, par un un seul dans lequel les menus <em>Fichier, Édition, Affichage, etc</em>, sont des sous menus. Ça signifie que désormais il faudra une ramification supplémentaire pour atteindre quelque chose dans ces menus. L&#8217;intérêt de cette manipulation est qu&#8217;en général on n&#8217;utilise pascs menus de manière intensive (vu qu&#8217;il y a les raccourcis clavier), et qu&#8217;on peut donc récupérer la place que ces menus occupaient sans trop perdre en ergonomie.</p>
<p style="text-align:justify;"><strong><span style="text-decoration:underline;">4)Si comme moi vous faites un usage intensif des marque pages</span>: </strong><br />
<strong>x</strong> Déjà en suivant le tuto de mon article précédent, ne masquez pas la barre personnelle qui contient probablement tous vos marque pages préférés.<br />
<strong>x</strong> Ensuite, vous devez être un peu embêté à la suite de la dernière manipulation, parce que le menu <em>Marque Pages</em>, vous l&#8217;utilisez tout de même suffisamment souvent pour que le fait de ne plus y avoir directement vous gène. Eh bien on va s&#8217;occuper de régler ça. Installez l&#8217;extension <a href="https://addons.mozilla.org/fr/firefox/addon/3895" target="_blank">Personal Menu</a>. Au redémarrage, une boite de dialogue s&#8217;affiche pour savoir si vous souhaitez  ajouter les icônes dans la barre de navigation. Répondez <em>oui</em>. Trois nouvelles icônes apparaissent dans la barre de navigation, ainsi qu&#8217;une fenêtre qui contient toutes les icônes qu&#8217;il est  possible d&#8217;afficher.  Vous remarquerez parmi ces trois icônes deux boutons sans grand intérêt d&#8217;accès rapide aux menus et aux préférences de l&#8217;extension (les deux plus à droite), et un bouton d&#8217;accès aux marque-pages qui fait exactement la même chose que le menu <em>Marque Pages </em>qui se trouvait dans la barre de menu. Passez à l&#8217;étape suivante.</p>
<p style="text-align:justify;"><span style="text-decoration:underline;"><strong>5) Et on réorganise tout ça:</strong></span><br />
<strong>x</strong> Si vous n&#8217;avez pas fait l&#8217;étape 4), il vous faut ouvrir l&#8217;éditeur de modification des barres d&#8217;outils. Pour cela cliquez droit quelque part sur la barre de navigation, par exemple sur le bouton actualiser, et cliquez sur <em>Personnaliser &#8230;</em><br />
<strong>x</strong> Dans tous les cas, vous pouvez désormais réorganiser totalement la présentation de vos menus. Sélectionnez tous les boutons que vous jugez inutiles (en cliquant dessus et en maintenant le bouton appuyé), et faites-en un glisser-déposer vers la fenêtre ouverte qui contient les éléments en réserve. de même, vous pouvez si cela vous chante rajouter des éléments depuis cette fenêtre. Ensuite, il faut s&#8217;occuper d&#8217;optimiser l&#8217;espace restant. Personnellement, je n&#8217;ai pas trouvé comment déplacer le bouton <em>menu</em> dans la barre du dessous, donc je fais l&#8217;inverse: je prend tous les boutons de la barre de navigation l&#8217;un après l&#8217;autre, et je les glisse quelque part dans la barre de menu, y compris la barre d&#8217;adresse et la barre de recherche, jusqu&#8217;à ce que la barre de navigation soit totalement vide.<br />
<strong>x</strong> Enfin, il ne reste plus qu&#8217;à masquer la barre de navigation devenue inutile via <em>Menu -&gt; Affichage -&gt; Barres d&#8217;outils -&gt; Barre de navigation</em>.</p>
<p style="text-align:justify;">Et voila, vous disposez maintenant d&#8217;une version de Firefox dont les barres d&#8217;outils prennent nettement moins de place, ce qui est autant d&#8217;espace de gagné pou la navigation <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> .</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/aldiansblog.wordpress.com/346/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/aldiansblog.wordpress.com/346/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/aldiansblog.wordpress.com/346/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/aldiansblog.wordpress.com/346/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/aldiansblog.wordpress.com/346/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/aldiansblog.wordpress.com/346/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/aldiansblog.wordpress.com/346/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/aldiansblog.wordpress.com/346/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/aldiansblog.wordpress.com/346/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/aldiansblog.wordpress.com/346/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=aldiansblog.wordpress.com&blog=5289621&post=346&subd=aldiansblog&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://aldiansblog.wordpress.com/2009/01/09/optimisez-lespace-dans-firefox-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/b8154fa49a228472e647f361b1580fb6?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96" medium="image">
			<media:title type="html">aldiansblog</media:title>
		</media:content>

		<media:content url="http://aldiansblog.files.wordpress.com/2009/01/navigateur_optimise.png" medium="image">
			<media:title type="html">navigateur_optimise</media:title>
		</media:content>
	</item>
		<item>
		<title>[Avancé] Si vous avez un problème avec libtool lors de la compilation de gtk2.</title>
		<link>http://aldiansblog.wordpress.com/2008/12/26/avance-si-vous-avez-un-probleme-avec-libtool-lors-de-la-compilation-de-gtk2/</link>
		<comments>http://aldiansblog.wordpress.com/2008/12/26/avance-si-vous-avez-un-probleme-avec-libtool-lors-de-la-compilation-de-gtk2/#comments</comments>
		<pubDate>Fri, 26 Dec 2008 18:18:45 +0000</pubDate>
		<dc:creator>aldiansblog</dc:creator>
				<category><![CDATA[Astuces]]></category>
		<category><![CDATA[Avancés]]></category>
		<category><![CDATA[gtk2]]></category>
		<category><![CDATA[libtool]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[makefile]]></category>
		<category><![CDATA[Programmation C]]></category>
		<category><![CDATA[utilisateurs avancés]]></category>

		<guid isPermaLink="false">http://aldiansblog.wordpress.com/?p=328</guid>
		<description><![CDATA[Dans de rares occasions, il se peut que même après avoir corrigé tous les warnings du ./configure, vous ayez tout de même un problème lors de la compilation à un endroit où le script libtool est utilisé. Voici la solution que j'ai utilisée pour contourner le problème après avoir un peu fouillé sur le net pour la trouver. Je vous préviens d'avance que ça tient plus de la recette de cuisine qu'autre chose, donc utilisez là à vos riques et périls.<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=aldiansblog.wordpress.com&blog=5289621&post=328&subd=aldiansblog&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p style="text-align:justify;"><img class="aligncenter size-full wp-image-329" title="hello_world" src="http://aldiansblog.files.wordpress.com/2008/12/hello_world.png?w=386&#038;h=199" alt="hello_world" width="386" height="199" /></p>
<p style="text-align:justify;">Bon une fois n&#8217;est pas coutume, cet article ne contient pas de tuto. En revanche,  voici une astuce pour les utilisateurs avancés de Linux qui auraient envie de recompiler gtk2. Dans de rares occasions, il se peut que même après avoir corrigé tous les warnings du ./configure, vous ayez tout de même un problème lors de la compilation à un endroit où le script libtool est utilisé.</p>
<p style="text-align:justify;">Ce script est généré automatiquement par le ./configure. Mais il contient un léger bug qui fait que dans certains cas, l&#8217;utilisation du fichier de versions va retourner une erreur dans le make. Voici la solution que j&#8217;ai utilisée pour contourner le problème après avoir un peu fouillé sur le net pour la trouver. Je vous préviens d&#8217;avance que ça tient plus de la recette de cuisine qu&#8217;autre chose, donc utilisez là à vos riques et périls.</p>
<h3><span style="text-decoration:underline;">1) Le log de l&#8217;erreur:</span></h3>
<p style="padding-left:30px;"><em>make[4]: Entering directory `/home/aldian/packages/gtk+-2.14.6/gdk-pixbuf&#8217;<br />
/bin/bash ../libtool &#8211;mode=link gcc  -DGDK_PIXBUF_DISABLE_DEPRECATED -DG_DISABLE_DEPRECATED -g -O2 -Wall   -o libgdk_pixbuf-2.0.la -rpath /usr/local/lib  -version-info 1400:6:1400 -export-symbols-regex &#8220;^[^_].*&#8221;   gdk-pixbuf.lo gdk-pixbuf-animation.lo gdk-pixbuf-data.lo gdk-pixbuf-io.lo gdk-pixbuf-loader.lo gdk-pixbuf-scale.lo gdk-pixbuf-simple-anim.lo gdk-pixbuf-scaled-anim.lo gdk-pixbuf-util.lo gdk-pixdata.lo gdk-pixbuf-enum-types.lo pixops/libpixops.la  -L/usr/local/lib -lgio-2.0 -lgobject-2.0 -lgmodule-2.0 -lglib-2.0 -lm<br />
libtool: link: rm -fr  .libs/libgdk_pixbuf-2.0.exp .libs/libgdk_pixbuf-2.0.ver<br />
libtool: link: /usr/bin/nm -B  .libs/gdk-pixbuf.o .libs/gdk-pixbuf-animation.o .libs/gdk-pixbuf-data.o .libs/gdk-pixbuf-io.o .libs/gdk-pixbuf-loader.o .libs/gdk-pixbuf-scale.o .libs/gdk-pixbuf-simple-anim.o .libs/gdk-pixbuf-scaled-anim.o .libs/gdk-pixbuf-util.o .libs/gdk-pixdata.o .libs/gdk-pixbuf-enum-types.o   pixops/.libs/libpixops.a | sed -n -e &#8217;s/^.*[     ]\([ABCDGIRSTW][ABCDGIRSTW]*\)[     ][     ]*\([_A-Za-z][_A-Za-z0-9]*\)$/  /p&#8217; | /bin/sed &#8217;s/.* //&#8217; | sort | uniq &gt; .libs/libgdk_pixbuf-2.0.exp<br />
libtool: link: /bin/grep -E -e &#8220;^[^_].*&#8221; &#8220;.libs/libgdk_pixbuf-2.0.exp&#8221; &gt; &#8220;.libs/libgdk_pixbuf-2.0.expT&#8221;<br />
libtool: link: mv -f &#8220;.libs/libgdk_pixbuf-2.0.expT&#8221; &#8220;.libs/libgdk_pixbuf-2.0.exp&#8221;<br />
libtool: link: echo &#8220;{ global:&#8221; &gt; .libs/libgdk_pixbuf-2.0.ver<br />
libtool: link:  cat .libs/libgdk_pixbuf-2.0.exp | sed -e &#8220;s/\(.*\)/;/&#8221; &gt;&gt; .libs/libgdk_pixbuf-2.0.ver<br />
libtool: link:  echo &#8220;local: *; };&#8221; &gt;&gt; .libs/libgdk_pixbuf-2.0.ver<br />
libtool: link:  gcc -shared  .libs/gdk-pixbuf.o .libs/gdk-pixbuf-animation.o .libs/gdk-pixbuf-data.o .libs/gdk-pixbuf-io.o .libs/gdk-pixbuf-loader.o .libs/gdk-pixbuf-scale.o .libs/gdk-pixbuf-simple-anim.o .libs/gdk-pixbuf-scaled-anim.o .libs/gdk-pixbuf-util.o .libs/gdk-pixdata.o .libs/gdk-pixbuf-enum-types.o  -Wl,&#8211;whole-archive pixops/.libs/libpixops.a -Wl,&#8211;no-whole-archive  -L/usr/local/lib /usr/local/lib/libgio-2.0.so /usr/local/lib/libgobject-2.0.so /usr/local/lib/libgmodule-2.0.so -ldl /usr/local/lib/libglib-2.0.so -lm    -Wl,-soname -Wl,libgdk_pixbuf-2.0.so.0 -Wl,-version-script -Wl,.libs/libgdk_pixbuf-2.0.ver -o .libs/libgdk_pixbuf-2.0.so.0.1400.6<br />
/usr/bin/ld:.libs/libgdk_pixbuf-2.0.ver:2: ignoring invalid character `01&#8242; in script<br />
/usr/bin/ld:.libs/libgdk_pixbuf-2.0.ver:2: syntax error in VERSION script<br />
collect2: ld returned 1 exit status<br />
make[4]: *** [libgdk_pixbuf-2.0.la] Error 1<br />
make[4]: Leaving directory `/home/aldian/packages/gtk+-2.14.6/gdk-pixbuf&#8217;</em></p>
<h3><span style="text-decoration:underline;">2) La solution:</span></h3>
<p style="text-align:justify;">Puisque c&#8217;est le fichier de version qui pose problème, il suffit de dire à libtool de ne pas aller le consulter.</p>
<ol style="text-align:justify;">
<li>Se placer dans le répertoire principal qui doit s&#8217;appeler qqch comme gtk+-2.14.6/ aux variations de version près.</li>
<li>faire une sauvegarde du fichier libtool.</li>
<li>l&#8217;éditer</li>
<li>faire une recherche sur les lignes contenant &#8221;-version-script&#8221;.</li>
<li>Dans ces lignes, supprimer l&#8217;argument contenant cette clé et l&#8217;argument suivant.</li>
</ol>
<p style="text-align:justify;">Par exemple, moi j&#8217;avais en ligne 315:</p>
<p><em>315: \$CC -shared \$libobjs \$deplibs \$compiler_flags \${wl}-soname \$wl\$soname \${wl}-version-script \${wl}\$output_objdir/\$libname.ver -o \$lib&#8221;</em></p>
<p style="text-align:justify;">Que j&#8217;ai remplacé par:</p>
<p><em>315: \$CC -shared \$libobjs \$deplibs \$compiler_flags \${wl}-soname \$wl\$soname -o \$lib&#8221;</em></p>
<p style="text-align:justify;">Puis relancer le make, mais ne pas relancer le ./configure, vu que celui-ci régénèrerait le fichier libtool comme la première fois.</p>
<p style="text-align:justify;">Notons pour conclure que le bug ne vient pas forcément du fichier libtool, mais peut être aussi du fichier de version en .ver qui est ignoré grâce à notre petite manipulation <img src="http://forum.ubuntu-fr.org/img/smilies/smile.png" alt="smile" width="15" height="15" /></p>
<p style="text-align:justify;"><a href="http://www.mail-archive.com/gtk-list@gnome.org/msg15014.html" target="_blank">Source</a></p>
<hr />
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/aldiansblog.wordpress.com/328/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/aldiansblog.wordpress.com/328/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/aldiansblog.wordpress.com/328/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/aldiansblog.wordpress.com/328/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/aldiansblog.wordpress.com/328/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/aldiansblog.wordpress.com/328/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/aldiansblog.wordpress.com/328/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/aldiansblog.wordpress.com/328/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/aldiansblog.wordpress.com/328/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/aldiansblog.wordpress.com/328/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=aldiansblog.wordpress.com&blog=5289621&post=328&subd=aldiansblog&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://aldiansblog.wordpress.com/2008/12/26/avance-si-vous-avez-un-probleme-avec-libtool-lors-de-la-compilation-de-gtk2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/b8154fa49a228472e647f361b1580fb6?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96" medium="image">
			<media:title type="html">aldiansblog</media:title>
		</media:content>

		<media:content url="http://aldiansblog.files.wordpress.com/2008/12/hello_world.png" medium="image">
			<media:title type="html">hello_world</media:title>
		</media:content>

		<media:content url="http://forum.ubuntu-fr.org/img/smilies/smile.png" medium="image">
			<media:title type="html">smile</media:title>
		</media:content>
	</item>
	</channel>
</rss>