<?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>Wheeg : Linux à votre service !</title>
	<atom:link href="http://wheeg.fr/feed/" rel="self" type="application/rss+xml" />
	<link>http://wheeg.fr</link>
	<description>Linux par des professionnels pour vous simplifier la vie</description>
	<lastBuildDate>Thu, 06 Aug 2009 10:46:08 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1</generator>
		<item>
		<title>Alias et paramètres en ligne de commande</title>
		<link>http://wheeg.fr/2009/08/06/alias-et-parametres-en-ligne-de-commande/</link>
		<comments>http://wheeg.fr/2009/08/06/alias-et-parametres-en-ligne-de-commande/#comments</comments>
		<pubDate>Thu, 06 Aug 2009 10:40:22 +0000</pubDate>
		<dc:creator>Olivier</dc:creator>
				<category><![CDATA[shell]]></category>

		<guid isPermaLink="false">http://www.wheeg.com/?p=81</guid>
		<description><![CDATA[Voilà la solution pour faire un alias qui prenne en compte un paramètre&#160;: il faut savoir qu&#8217;un alias ne connait pas les paramètres qu&#8217;on lui passe. Un alias c&#8217;est vraiment, physiquement parlant, un &#171;&#160;remplacer&#160;&#187; de l&#8217;ordre que vous tapez. Donc utiliser alias qui prendrait en compte un argument qu&#8217;on lui passe&#160;? C&#8217;est bien simple : [...]]]></description>
			<content:encoded><![CDATA[<p>Voilà la solution pour faire un alias qui prenne en compte un paramètre&nbsp;: il faut savoir qu&#8217;un alias ne connait pas les paramètres qu&#8217;on lui passe. Un alias c&#8217;est vraiment, physiquement parlant, un &laquo;&nbsp;remplacer&nbsp;&raquo; de l&#8217;ordre que vous tapez.</p>
<p>Donc utiliser alias qui prendrait en compte un argument qu&#8217;on lui passe&nbsp;?<br />
C&#8217;est bien simple : c&#8217;est impossible. Mais on peut très facilement contourner cela.</p>
<p>Exemple : je développe en C, je veux tout le temps :</p>
<ol>
<li>reformatter le fichier C avant de l&#8217;éditer avec la ligne&nbsp;:<br />
<code>indent -kr -nut {nom du fichier}</code></li>
<li>afficher ce fichier avec vim&nbsp;:<br />
<code>vim {nom du fichier}</code></li>
</ol>
<p>La ligne de commande est donc toujours :<br />
<code>indent -kr -nut {nom du fichier} &#038;&#038; vim {nom du fichier}</code></p>
<p>J&#8217;ai pensé faire un alias qui ressemblerait à cela&nbsp;:<br />
<code>alias vimi="indent -kr -nut $1 &#038;&#038; vim $1"</code><br />
Bien évidemment ça ne fonctionnera jamais.</p>
<p>Alors j&#8217;ai fait un tout petit script qui fonctionne très bien&nbsp;:<br />
<code>#!/bin/bash<br />
case $# in<br />
1) indent -kr -nut $1 &#038;&#038; vim $1 ;;<br />
*) echo "$0 {nom de fichier source .c / .h} ";;<br />
esac<br />
</code></p>
<p>Et tout fonctionne&nbsp;!<br />
Pour la note&nbsp;: <code>indent -kr -nut {nom de fichier source .c / .h}</code> signifie &laquo;&nbsp;indenter le fichier C selon les concepts de Kernighan &#038; Ritchie, et ne pas mettre de tabulations, mais des espaces&nbsp;&raquo;. Pourquoi cela&nbsp;? J&#8217;ai développé un module <a href="http://httpd.apache.org/">Apache</a>, et pour le faire proprement, j&#8217;ai suivi leurs directives&nbsp;: Kernighan &#038; Ritchie, et ne pas mettre de tabulations, mais des espaces, afin de me forcer à être habitué à lire du code d&#8217;une certaine façon. Ce type d&#8217;indentation n&#8217;est pas mon préféré, mais au moins, si je lis du code source C qui n&#8217;est pas fait par moi, je m&#8217;y retrouve plus facilement.</p>
]]></content:encoded>
			<wfw:commentRss>http://wheeg.fr/2009/08/06/alias-et-parametres-en-ligne-de-commande/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Détecter quelles sont toutes les machines et leurs adresses IP connectées sur le même réseau</title>
		<link>http://wheeg.fr/2009/05/31/detecter-quelles-sont-toutes-les-machines-et-leurs-adresses-ip-connectees-sur-le-meme-reseau/</link>
		<comments>http://wheeg.fr/2009/05/31/detecter-quelles-sont-toutes-les-machines-et-leurs-adresses-ip-connectees-sur-le-meme-reseau/#comments</comments>
		<pubDate>Sun, 31 May 2009 12:34:46 +0000</pubDate>
		<dc:creator>Olivier</dc:creator>
				<category><![CDATA[Administration système]]></category>

		<guid isPermaLink="false">http://www.wheeg.com/?p=77</guid>
		<description><![CDATA[Voilà le cas pratique : vous avez un PC avec Linux. Et vous voulez savoir quelles sont toutes les machines et leurs adresses IP connectées sur le même réseau que ce PC. Comment faire ? Sur le même réseau c&#8217;est très simple : il faut envoyer un paquet ICMP à l&#8217;adresse de broadcast. Par exemple, [...]]]></description>
			<content:encoded><![CDATA[<p>Voilà le cas pratique : vous avez un PC avec Linux. Et vous voulez savoir quelles sont toutes les machines et leurs adresses IP connectées sur le même réseau que ce PC.<br />
Comment faire ?</p>
<p>Sur le même réseau c&#8217;est très simple : il faut envoyer un paquet ICMP à l&#8217;adresse de broadcast.</p>
<p>Par exemple, vous êtes sur le réseau 192.168.10.0/24. Dans ce cas précis, l&#8217;adresse de broadcast par défaut est 192.168.10.255.</p>
<p>Il suffit de taper dans un shell :</p>
<p><code>ping -b 192.168.10.255</code></p>
<p>Cette commande sera suivie sur toutes les machines présentes dans le réseau, et celles-ci vont répondre par un &laquo;&nbsp;echo reply&nbsp;&raquo; (sauf si un firewall, local ou non, bloque les réponses à l&#8217;ICMP ou au broadcast, dans ce cas rien ne se produira, mais essayez cette solution cela vaut la peine&nbsp;!).</p>
]]></content:encoded>
			<wfw:commentRss>http://wheeg.fr/2009/05/31/detecter-quelles-sont-toutes-les-machines-et-leurs-adresses-ip-connectees-sur-le-meme-reseau/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Linux : utilisation de screen (mémo simple)</title>
		<link>http://wheeg.fr/2009/04/13/linux-utilisation-de-screen-memo-simple/</link>
		<comments>http://wheeg.fr/2009/04/13/linux-utilisation-de-screen-memo-simple/#comments</comments>
		<pubDate>Mon, 13 Apr 2009 09:15:09 +0000</pubDate>
		<dc:creator>Olivier</dc:creator>
				<category><![CDATA[Autour de Linux]]></category>
		<category><![CDATA[Mémo]]></category>
		<category><![CDATA[ligne de commande]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[shell]]></category>

		<guid isPermaLink="false">http://www.wheeg.com/?p=50</guid>
		<description><![CDATA[screen sert à ouvrir plusieurs sessions simultanément, et le tout dans une seule &#171;&#160;boîte&#160;&#187; que vous pouvez &#171;&#160;fermer&#160;&#187; et &#171;&#160;réouvrir&#160;&#187; à volonté à partir de n&#8217;importe quel ordinateur. Toutes vos fenêtres de ligne de commandes seront réouvertes ! Très simple à utiliser. Résumé des raccourcis dont je me sers en permanence dans screen (notez screen [...]]]></description>
			<content:encoded><![CDATA[<p><code>screen</code> sert à ouvrir plusieurs sessions simultanément, et le tout dans une seule &laquo;&nbsp;boîte&nbsp;&raquo; que vous pouvez &laquo;&nbsp;fermer&nbsp;&raquo; et &laquo;&nbsp;réouvrir&nbsp;&raquo; à volonté à partir de n&#8217;importe quel ordinateur. Toutes vos fenêtres de ligne de commandes seront réouvertes !<br />
Très simple à utiliser.</p>
<p>Résumé des raccourcis dont je me sers en permanence dans <code>screen</code> (notez <code>screen</code> fait la différence minuscules/majuscules, donc si c&#8217;est en <cite>minuscules</cite>, il faut taper l&#8217;ordre en <cite>minuscules</cite>)&nbsp;:</p>
<ul>
<li><code>&lt;contrôle&gt; "a" &lt;contrôle&gt; "a" </code>&nbsp;: revenir à la fenêtre précédente&nbsp;;</li>
<li><code>&lt;contrôle&gt; "a" &lt;contrôle&gt; "n" </code>,  <code>"n"</code> signifie <code>"next"</code>&nbsp;: aller à la fenêtre suivante.</li>
<li><code>&lt;contrôle&gt; "a" &lt;contrôle&gt; "c" </code>,  <code>"c"</code> signifie <code>"create"</code>&nbsp;: créer une nouvelle session <code>screen</code>&nbsp;;</li>
<li><code>&lt;contrôle&gt; "a" &lt;contrôle&gt; "?" </code>,  <code>"?"</code> signifie <code>"aidez moi !!"</code>&nbsp;: afficher les ordres disponibles sous <code>screen</code>.</li>
<li>L&#8217;aide sous <code>screen</code>&nbsp;: .</li>
</ul>
<h4>Explications simplifiées de <code>screen</code></h4>
<p>Comment le lancer ? Tapez <code>screen</code> dans la ligne de commande. Et là, immédiatement, une nouvelle ligne de commande s&#8217;ouvre. Ce n&#8217;est pas réellement une &laquo;&nbsp;nouvelle ligne de commande&nbsp;&raquo;&nbsp;! C&#8217;est une fenêtre &laquo;&nbsp;dans&nbsp;&raquo; <code>screen</code>.</p>
<p>Vous pouvez ouvrir autant de fenêtres &laquo;&nbsp;dans&nbsp;&raquo; <code>screen</code> que vous voulez en tapant le raccourci clavier <code>&lt;contrôle&gt; "a" &lt;contrôle&gt; "c" </code>, <code>"c"</code> signifie <code>"create"</code> (<code>"a"</code> et <code>"c"</code> en minuscules, c&#8217;est important).</p>
<p>Vous voulez partir et garder toutes vos fenêtres en l&#8217;état pour les ré-ouvrir ailleurs ? Tapez le raccourci clavier <code>&lt;contrôle&gt; "a" &lt;contrôle&gt; "d" </code>,  <code>"d"</code> signifie <code>"detach"</code> (<code>"a"</code> et <code>"d"</code> en minuscules, c&#8217;est important).</p>
<p>Une fois screen &laquo;&nbsp;détaché&nbsp;&raquo;, vous changez d&#8217;ordinateur et vous voulez ré-ouvrir vos fenêtres&nbsp;? Tapez en ligne de commande <code>screen -r</code>,  <code>"r"</code> signifie <code>"recover"</code> (<code>"r"</code> en minuscules, c&#8217;est important).</p>
<h4>Astuces (très) pratiques</h4>
<p><strong>Zut&nbsp;!</strong> Internet s&#8217;est coupé et vous avez perdu toutes vos fenêtres <code>screen</code>. Pas de panique&nbsp;! Tapez <code>screen -r</code> et là vous allez voir quelque chose comme ça&nbsp;:<br />
<code>There is a screen on:<br />
        4653.pts-0.nomdevotreordi        (Detached)</code><br />
Il vous suffit de taper l&#8217;ordre&nbsp;:</p>
<p><code>screen -r olivier/4653.pts-0.nomdevotreordi</code></p>
<p>Et là, miracle, tout est revenu comme avant la coupure Internet&nbsp;! Notez bien que <code>"olivier"</code> dans l&#8217;ordre précédent, c&#8217;est le nom de l&#8217;utilisateur qui a ouvert <code>screen</code>. Si vous avez ouvert <code>screen</code> en tant que <code>root</code> l&#8217;ordre sera</p>
<p><code>screen -r root/4653.pts-0. nomdevotreordi</code>.</p>
<p><strong>Zut II&nbsp;!</strong> Vous êtes parti de votre travail, et vous avez oublié de &laquo;&nbsp;détacher&nbsp;&raquo; <code>screen</code>, donc tout est toujours ouvert à votre travail, pourtant vous voulez vérifier quelque chose de chez vous. Pas de panique (bis)&nbsp;! Tapez <code>screen -D -r</code>.<br />
(<code>"D"</code> signifie &laquo;&nbsp;forcer à détacher la session <code>screen</code>&nbsp;&raquo; où qu&#8217;elle soit, avant d&#8217;essayer de ré-ouvrir la session <code>screen</code>&nbsp;!)</p>
<p><cite>NB : ce mémo est destiné à utiliser <strong>immédiatement</strong> <code>screen</code> pour les débutants, et les explications sont simplifiées à l&#8217;extrême, cela ne correspond pas exactement à la réalité, mais ça aide grandement ceux qui n&#8217;y connaissent rien&nbsp;! Surtout n&#8217;hésitez pas à commenter et me dire ce qu&#8217;il faudrait que je change pour faciliter la compréhension de cet outil.</cite></p>
]]></content:encoded>
			<wfw:commentRss>http://wheeg.fr/2009/04/13/linux-utilisation-de-screen-memo-simple/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Linux : utilisation de gdb (mémo simple)</title>
		<link>http://wheeg.fr/2009/03/24/linux-memo-simple-gdb/</link>
		<comments>http://wheeg.fr/2009/03/24/linux-memo-simple-gdb/#comments</comments>
		<pubDate>Tue, 24 Mar 2009 09:05:28 +0000</pubDate>
		<dc:creator>Olivier</dc:creator>
				<category><![CDATA[Mémo]]></category>
		<category><![CDATA[Programmation C]]></category>

		<guid isPermaLink="false">http://www.wheeg.com/?p=35</guid>
		<description><![CDATA[gdb (= GNU debugger) sert à déboguer les programmes écrits avec le compilateur gcc (= GNU C Compiler). Il se lance en ligne de commande. Très simple à utiliser. Comment le lancer&#160;? Syntaxe&#160;: gdb [nom du fichier exécutable]. Exemple&#160;: gdb monprog&#160;; Lancer un programme qui prend des paramètres gdb --args monprog param1 param2&#160;; Lorsqu&#8217;on est [...]]]></description>
			<content:encoded><![CDATA[<p><code>gdb</code> (= <code>GNU debugger</code>) sert à déboguer les programmes écrits avec le<br />
compilateur gcc (= <code>GNU C Compiler</code>). Il se lance en ligne de commande.<br />
Très simple à utiliser.</p>
<p>Comment le lancer&nbsp;?</p>
<ul>
<li>Syntaxe&nbsp;: <code>gdb [nom du fichier exécutable]</code>. Exemple&nbsp;: <code>gdb monprog</code>&nbsp;;</li>
<li>Lancer un programme qui prend des paramètres <code>gdb --args monprog param1 param2</code>&nbsp;;</li>
</ul>
<p>Lorsqu&#8217;on est sous le débogueur :</p>
<ul>
<li>Exécuter le programme&nbsp;: <code>run</code>&nbsp;;</li>
<li>Point d&#8217;arrêt (en général fichier <code>main.c</code>)&nbsp;: <code>break 20</code> pour arrêt ligne 20&nbsp;;</li>
<li>Inspecter une variable&nbsp;: <code>print nomdelavariable</code>&nbsp;;</li>
<li>Faire du pas à pas&nbsp;: <code>step</code>&nbsp;;</li>
<li>Refaire la dernière commande&nbsp;: touche <code>[entrée]</code>.</li>
</ul>
<p><cite>NB : ce mémo est destiné à utiliser <strong>immédiatement</strong> <code>gdb</code>. Rien d&#8217;autre.</cite></p>
]]></content:encoded>
			<wfw:commentRss>http://wheeg.fr/2009/03/24/linux-memo-simple-gdb/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Qui sommes nous ?</title>
		<link>http://wheeg.fr/2009/03/21/qui-sommes-nous/</link>
		<comments>http://wheeg.fr/2009/03/21/qui-sommes-nous/#comments</comments>
		<pubDate>Sat, 21 Mar 2009 13:22:57 +0000</pubDate>
		<dc:creator>Olivier</dc:creator>
				<category><![CDATA[Autour de Linux]]></category>

		<guid isPermaLink="false">http://www.wheeg.com/?p=5</guid>
		<description><![CDATA[Depuis la loi du premier janvier 2009 sur les auto-entrepreneurs, nous avons décidé de vous proposer nos compétences. Dans quel domaine ? Linux, en tant que technologie de pointe.]]></description>
			<content:encoded><![CDATA[<p>Depuis la <a href="http://www.lautoentrepreneur.fr/">loi du premier janvier 2009 sur les auto-entrepreneurs</a>, nous avons décidé de vous proposer nos compétences.</p>
<p>Dans quel domaine ? Linux, en tant que technologie de pointe.</p>
]]></content:encoded>
			<wfw:commentRss>http://wheeg.fr/2009/03/21/qui-sommes-nous/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

