<?xml version="1.0" encoding="utf-8"?><?xml-stylesheet title="XSL formatting" type="text/xsl" href="http://weblog.gnali.org/index.php/feed/rss2/xslt" ?><rss version="2.0"
  xmlns:dc="http://purl.org/dc/elements/1.1/"
  xmlns:wfw="http://wellformedweb.org/CommentAPI/"
  xmlns:content="http://purl.org/rss/1.0/modules/content/">
<channel>
  <title>Tin's Journey - Astuces</title>
  <link>http://weblog.gnali.org/index.php/</link>
  <description>Taking the Red Pill: Science, Philosophy and Religion in Tin's Mind</description>
  <language>fr</language>
  <pubDate>Wed, 12 Sep 2007 11:50:12 +0200</pubDate>
  <copyright>@Gnali.org</copyright>
  <docs>http://blogs.law.harvard.edu/tech/rss</docs>
  <generator>Dotclear</generator>
  
    
  <item>
    <title>Screen : Précis et concis</title>
    <link>http://weblog.gnali.org/index.php/post/2006/08/08/Screen-%3A-Precis-et-concis</link>
    <guid isPermaLink="false">urn:md5:9756bd206c28954b340f9f3c4c4c0501</guid>
    <pubDate>Tue, 08 Aug 2006 10:49:00 +0200</pubDate>
    <dc:creator>Tin</dc:creator>
        <category>Astuces</category>
            
    <description>&lt;p&gt;Il est souvent fort utile de pouvoir se déconnecter d'un serveur sans avoir à killer toutes les commandes lancées. Imaginons que nous lançons la compilation d'un &lt;a href=&quot;http://www.kernel.org&quot; hreflang=&quot;en&quot;&gt;noyau linux&lt;/a&gt; sur un serveur distant, et que malheureusement le laptop qui nous sert de console arrive en fin de batterie. Nous avons alors comme choix que d'annuler notre compilation.&lt;/p&gt;


&lt;p&gt;C'est là qu'intervient &lt;a href=&quot;http://www.gnu.org/software/screen/&quot; hreflang=&quot;en&quot;&gt;GNU Screen&lt;/a&gt;.&lt;/p&gt;    &lt;p&gt;Mais kesako screen ? D'après le &lt;a href=&quot;http://www.gnu.org/software/screen/&quot; hreflang=&quot;en&quot;&gt;site officiel&lt;/a&gt;, la définition de screen est la suivante :&lt;/p&gt;


&lt;blockquote&gt;&lt;p&gt;Screen is a full-screen window manager that multiplexes a physical terminal between several processes, typically interactive shells. Each virtual terminal provides the functions of the DEC VT100 terminal and, in addition, several control functions from the ANSI X3.64 (ISO 6429) and ISO 2022 standards (e.g., insert/delete line and support for multiple character sets). There is a scrollback history buffer for each virtual terminal and a copy-and-paste mechanism that allows the user to move text regions between windows. When screen is called, it creates a single window with a shell in it (or the specified command) and then gets out of your way so that you can use the program as you normally would. Then, at any time, you can create new (full-screen) windows with other programs in them (including more shells), kill the current window, view a list of the active windows, turn output logging on and off, copy text between windows, view the scrollback history, switch between windows, etc. All windows run their programs completely independent of each other. Programs continue to run when their window is currently not visible and even when the whole screen session is detached from the users terminal.&lt;/p&gt;&lt;/blockquote&gt;


&lt;p&gt;En résumé, &lt;strong&gt;Screen permet d’ouvrir plusieurs terminaux dans une même console, de les récupérer plus tard en les &amp;quot;détachant&amp;quot; et en les &amp;quot;attachant&amp;quot;&lt;/strong&gt;.&lt;/p&gt;


&lt;p&gt;Voici donc une liste des commandes les plus utiles&lt;sup&gt;[&lt;a href=&quot;http://weblog.gnali.org/index.php/post/2006/08/08/#pnote-255-1&quot; id=&quot;rev-pnote-255-1&quot;&gt;1&lt;/a&gt;]&lt;/sup&gt; :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Créer un nouveau terminal : &lt;strong&gt;C-a c&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Terminal suivant : &lt;strong&gt;C-a n&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Terminal précédent : &lt;strong&gt;C-a p&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Repérage du terminal courant, avec le titre du terminal entre parenthèse : &lt;strong&gt;C-a N&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Aller au terminal n&lt;sup&gt;[&lt;a href=&quot;http://weblog.gnali.org/index.php/post/2006/08/08/#pnote-255-2&quot; id=&quot;rev-pnote-255-2&quot;&gt;2&lt;/a&gt;]&lt;/sup&gt; : &lt;strong&gt;C-a n&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Affichage de la liste des terminaux&lt;sup&gt;[&lt;a href=&quot;http://weblog.gnali.org/index.php/post/2006/08/08/#pnote-255-3&quot; id=&quot;rev-pnote-255-3&quot;&gt;3&lt;/a&gt;]&lt;/sup&gt; : &lt;strong&gt;C-a &amp;quot;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Visualiser la liste des terminaux de manière non interactive : &lt;strong&gt;C-a w&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Renommer le terminal courant&lt;sup&gt;[&lt;a href=&quot;http://weblog.gnali.org/index.php/post/2006/08/08/#pnote-255-4&quot; id=&quot;rev-pnote-255-4&quot;&gt;4&lt;/a&gt;]&lt;/sup&gt; : &lt;strong&gt;C-a A&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Fermer un terminal : &lt;strong&gt;C-a k&lt;/strong&gt; ou &lt;strong&gt;C-a K&lt;/strong&gt;&lt;sup&gt;[&lt;a href=&quot;http://weblog.gnali.org/index.php/post/2006/08/08/#pnote-255-5&quot; id=&quot;rev-pnote-255-5&quot;&gt;5&lt;/a&gt;]&lt;/sup&gt;&lt;/li&gt;
&lt;li&gt;Se détacher de screen : &lt;strong&gt;C-a d&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Se rattacher à screen : $&lt;strong&gt;screen -rd&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Activation/désactivation du monitoring : &lt;strong&gt;C-a M&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Activation/désactivation du monitoring silence : &lt;strong&gt;C-a _ &lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Voir l’état du monitoring (activé ou pas activé) : &lt;strong&gt;C-a m&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Fermer toutes les fenêtres et quitter screen&lt;sup&gt;[&lt;a href=&quot;http://weblog.gnali.org/index.php/post/2006/08/08/#pnote-255-6&quot; id=&quot;rev-pnote-255-6&quot;&gt;6&lt;/a&gt;]&lt;/sup&gt; : __C-a __&lt;/li&gt;
&lt;li&gt;Suspendre screen&lt;sup&gt;[&lt;a href=&quot;http://weblog.gnali.org/index.php/post/2006/08/08/#pnote-255-7&quot; id=&quot;rev-pnote-255-7&quot;&gt;7&lt;/a&gt;]&lt;/sup&gt; : &lt;strong&gt;C-a z&lt;/strong&gt; ou &lt;strong&gt;C-a Z&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Verrouiller screen : &lt;strong&gt;C-a x&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Partager la fenêtre en deux&lt;sup&gt;[&lt;a href=&quot;http://weblog.gnali.org/index.php/post/2006/08/08/#pnote-255-8&quot; id=&quot;rev-pnote-255-8&quot;&gt;8&lt;/a&gt;]&lt;/sup&gt; : &lt;strong&gt;C-a S&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Aide en ligne : &lt;strong&gt;C-a ?&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Utiliser le whiteboard : screen -x&lt;sup&gt;[&lt;a href=&quot;http://weblog.gnali.org/index.php/post/2006/08/08/#pnote-255-9&quot; id=&quot;rev-pnote-255-9&quot;&gt;9&lt;/a&gt;]&lt;/sup&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Exemple d'utilisation du monitoring :&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Imaginons que nous ayons trois terminaux, dans le premier la compilation du noyau linux, il suffit alors d'un C-a _ pour activer le monitoring silence. C'est à dire qu'il nous enverra un signal lorsqu'il n'y aura plus d'activité, donc quand la compilation sera terminée.&lt;/li&gt;
&lt;li&gt;Dans un autre terminal, on lance un script qui annalyse les logs en temps réels et affiche un message lorsque qu'un certain pattern est détecté. On déclenche le monitoring avec C-a M et cela enverra un message lors de la détection d'une activité sur le terminal.&lt;/li&gt;
&lt;li&gt;Tous les messages seront renvoyés sur le terminal qui se trouvera en premier plan, c'est à dire celui sur lequel nous travaillons.&lt;/li&gt;
&lt;/ol&gt;
&lt;div class=&quot;footnotes&quot;&gt;&lt;h4&gt;Notes&lt;/h4&gt;
&lt;p&gt;[&lt;a href=&quot;http://weblog.gnali.org/index.php/post/2006/08/08/#rev-pnote-255-1&quot; id=&quot;pnote-255-1&quot;&gt;1&lt;/a&gt;] &amp;quot;C-&amp;quot; signifie la touche CTRL du clavier, donc C-a veut dire appuyer sur CTRL et A simultanément&lt;/p&gt;
&lt;p&gt;[&lt;a href=&quot;http://weblog.gnali.org/index.php/post/2006/08/08/#rev-pnote-255-2&quot; id=&quot;pnote-255-2&quot;&gt;2&lt;/a&gt;] n est ici un chiffre&lt;/p&gt;
&lt;p&gt;[&lt;a href=&quot;http://weblog.gnali.org/index.php/post/2006/08/08/#rev-pnote-255-3&quot; id=&quot;pnote-255-3&quot;&gt;3&lt;/a&gt;] On navigue dans la liste à l’aide des touches haut et bas, on sélectionne un terminal avec la touche Entrée&lt;/p&gt;
&lt;p&gt;[&lt;a href=&quot;http://weblog.gnali.org/index.php/post/2006/08/08/#rev-pnote-255-4&quot; id=&quot;pnote-255-4&quot;&gt;4&lt;/a&gt;] Un appui sur Entrée sert à valider&lt;/p&gt;
&lt;p&gt;[&lt;a href=&quot;http://weblog.gnali.org/index.php/post/2006/08/08/#rev-pnote-255-5&quot; id=&quot;pnote-255-5&quot;&gt;5&lt;/a&gt;] Une confirmation est demandée. Tout programme en cours dans ce terminal sera arrêté&lt;/p&gt;
&lt;p&gt;[&lt;a href=&quot;http://weblog.gnali.org/index.php/post/2006/08/08/#rev-pnote-255-6&quot; id=&quot;pnote-255-6&quot;&gt;6&lt;/a&gt;] Une confirmation est demandée&lt;/p&gt;
&lt;p&gt;[&lt;a href=&quot;http://weblog.gnali.org/index.php/post/2006/08/08/#rev-pnote-255-7&quot; id=&quot;pnote-255-7&quot;&gt;7&lt;/a&gt;] on ne perd pas les terminaux ; les programmes sont arrêtés&lt;/p&gt;
&lt;p&gt;[&lt;a href=&quot;http://weblog.gnali.org/index.php/post/2006/08/08/#rev-pnote-255-8&quot; id=&quot;pnote-255-8&quot;&gt;8&lt;/a&gt;] Pour circuler entre les fenêtres C-a tab et pour fermer le split C-a X&lt;/p&gt;
&lt;p&gt;[&lt;a href=&quot;http://weblog.gnali.org/index.php/post/2006/08/08/#rev-pnote-255-9&quot; id=&quot;pnote-255-9&quot;&gt;9&lt;/a&gt;] Le deuxième utilisateur doit se connecter sous le même compte que le premier qui a lancé le screen principal&lt;/p&gt;&lt;/div&gt;</description>
    
    
    
          <comments>http://weblog.gnali.org/index.php/post/2006/08/08/Screen-%3A-Precis-et-concis#comment-form</comments>
      <wfw:comment>http://weblog.gnali.org/index.php/post/2006/08/08/Screen-%3A-Precis-et-concis#comment-form</wfw:comment>
      <wfw:commentRss>http://weblog.gnali.org/index.php/feed/rss2/comments/255</wfw:commentRss>
      </item>
    
  <item>
    <title>Raccourcis Bash</title>
    <link>http://weblog.gnali.org/index.php/post/2006/03/20/225-raccourcis-bash</link>
    <guid isPermaLink="false">urn:md5:8fe0c05f7244fca62b3912cbdbd69627</guid>
    <pubDate>Mon, 20 Mar 2006 09:16:45 +0000</pubDate>
    <dc:creator>Tin</dc:creator>
        <category>Astuces</category>
            
    <description>&lt;p&gt;Un petit mémo pour me souvenir des différents raccourcis sous Bash.....&lt;/p&gt;    &lt;p&gt;&lt;strong&gt;Ctrl-a&lt;/strong&gt;&amp;nbsp;: début de ligne&lt;br /&gt;
&lt;strong&gt;Ctrl-e&lt;/strong&gt;&amp;nbsp;: fin de ligne&lt;br /&gt;
&lt;strong&gt;Ctrl-w&lt;/strong&gt;&amp;nbsp;: efface le mot devant le curseur (et memorise, on peut coller avec Ctrl-y)&lt;br /&gt;
&lt;strong&gt;Alt-f&lt;/strong&gt;&amp;nbsp;: avance mot a mot&lt;br /&gt;
&lt;strong&gt;Alt-b&lt;/strong&gt;&amp;nbsp;: recule mot a mot&lt;br /&gt;
&lt;strong&gt;Ctrl-k&lt;/strong&gt;&amp;nbsp;: efface jusqu'à la fin de ligne&lt;br /&gt;
&lt;strong&gt;Ctrl-u&lt;/strong&gt;&amp;nbsp;: efface entre le début de ligne et le curseur&lt;br /&gt;
&lt;strong&gt;Ctrl-d&lt;/strong&gt;&amp;nbsp;: efface le caractere sous le curseur&lt;br /&gt;
&lt;strong&gt;Alt-d&lt;/strong&gt;&amp;nbsp;: efface le mot commencé sous le curseur&lt;br /&gt;
&lt;strong&gt;Alt-backspace&lt;/strong&gt;&amp;nbsp;: efface le mot qui précède le curseur&lt;br /&gt;
&lt;strong&gt;Alt-u&lt;/strong&gt;&amp;nbsp;: Transforme en majuscule le mot sous le curseur&lt;br /&gt;
&lt;strong&gt;Alt-l&lt;/strong&gt;&amp;nbsp;: Transforme en minuscule le mot sous le cursuer&lt;br /&gt;
&lt;strong&gt;Alt-c&lt;/strong&gt;&amp;nbsp;: Capitalise ce mot&lt;br /&gt;&lt;/p&gt;


&lt;p&gt;&lt;strong&gt;TAB&lt;/strong&gt;&amp;nbsp;: autocompletion
&lt;strong&gt;Alt-?&lt;/strong&gt;&amp;nbsp;: Montre les possibilités de complétion&lt;/p&gt;


&lt;p&gt;&lt;strong&gt;history&lt;/strong&gt;&amp;nbsp;: donne l'historique des commandes passées avec un numéro, pour relancer la commande numéro 125, il suffit de taper !125&lt;/p&gt;

&lt;pre&gt;&lt;/pre&gt;

&lt;p&gt;&lt;ins&gt;Récupérer les parties de la commande précédente:&lt;/ins&gt;&lt;br /&gt;
a)  pour lancer la dernière commande: !!&lt;br /&gt;
b)  pour lancer une commande avec le dernier argument de la commande précédente:&lt;br /&gt;
nouv-cmde !$&lt;/p&gt;


&lt;p&gt;ex: la dernière commande était:  ls /cadnat/tuxedo
cd !$       fera    cd /cadnat/tuxedo&lt;/p&gt;</description>
    
    
    
          <comments>http://weblog.gnali.org/index.php/post/2006/03/20/225-raccourcis-bash#comment-form</comments>
      <wfw:comment>http://weblog.gnali.org/index.php/post/2006/03/20/225-raccourcis-bash#comment-form</wfw:comment>
      <wfw:commentRss>http://weblog.gnali.org/index.php/feed/rss2/comments/223</wfw:commentRss>
      </item>
    
  <item>
    <title>Auto-apt</title>
    <link>http://weblog.gnali.org/index.php/post/2006/02/10/212-auto-apt</link>
    <guid isPermaLink="false">urn:md5:432066d6ae69474ad9fdcac69ff6527d</guid>
    <pubDate>Fri, 10 Feb 2006 15:03:51 +0000</pubDate>
    <dc:creator>Tin</dc:creator>
        <category>Astuces</category>
            
    <description>    &lt;p&gt;Trouvé via le &lt;a href=&quot;http://beta.gcu.info&quot; hreflang=&quot;fr&quot;&gt;GCU-Squad&lt;/a&gt;&lt;/p&gt;



&lt;blockquote&gt;&lt;p&gt;Imaginez que vous voulez installer la dernière version de xyz depuis les sources sur votre Debian. Vous lancez le ./configure et là… BLAM !!! Vous vous mangez tout plein d’erreurs à cause de librairies à la {#^@[{#@^ qui ne sont pas là. Et bien ceci n’arrivera plus, grâce à ce petit utilitaire très convivial qui s’appelle auto-apt.
Pour l’installer, un apt-get install auto-apt suffit. Ensuite, à vous les joies des ./configure sans erreur. Pour cela, juste saisir auto-apt run ./configure
à la place. C’est tout. Si apt détecte une erreur due à un fichier manquant, il vous proposera gentiment de l’installer pour vous.&lt;/p&gt;
&lt;p&gt;
Veillez juste à nourrir ses bases de données régulièrement avec des auto-apt update, auto-apt updatedb et auto-apt update-local.&lt;/p&gt;
&lt;p&gt;
Note&amp;nbsp;: en fait, auto-apt marche avec toute commande qui pourrait avoir besoin de fichiers manquants&amp;nbsp;: auto-apt run command.&lt;/p&gt;&lt;/blockquote&gt;</description>
    
    
    
          <comments>http://weblog.gnali.org/index.php/post/2006/02/10/212-auto-apt#comment-form</comments>
      <wfw:comment>http://weblog.gnali.org/index.php/post/2006/02/10/212-auto-apt#comment-form</wfw:comment>
      <wfw:commentRss>http://weblog.gnali.org/index.php/feed/rss2/comments/210</wfw:commentRss>
      </item>
    
  <item>
    <title>Devenir transpasrent au ping</title>
    <link>http://weblog.gnali.org/index.php/post/2006/02/08/209-devenir-transpasrent-au-ping</link>
    <guid isPermaLink="false">urn:md5:af25f69ba21fae7169aed327a49f9613</guid>
    <pubDate>Wed, 08 Feb 2006 14:23:39 +0000</pubDate>
    <dc:creator>Tin</dc:creator>
        <category>Astuces</category>
            
    <description>    &lt;p&gt;Ne pas répondre au ping peut être une bonne chose pour par exemple ne pas montrer au vilain n’haxor que notre machine est up.&lt;/p&gt;


&lt;p&gt;Pour se faire sous linux rien de plus simple il suffit d’editer le fichier sysctl.conf se trouvant dans /etc&lt;/p&gt;


&lt;p&gt;&lt;code&gt;$ vi /etc/systcl.conf&lt;/code&gt;&lt;/p&gt;


&lt;p&gt;et d’ajouter les choses suivantes&lt;/p&gt;



&lt;p&gt;&lt;code&gt;net.ipv4.icmp_echo_ignore_broadcasts = 1&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;net.ipv4.icmp_echo_ignore_all = 1&lt;/code&gt;&lt;/p&gt;


&lt;p&gt;et pour que la modification soit prise en compte&lt;/p&gt;


&lt;p&gt;&lt;code&gt;$ sysctl -p&lt;/code&gt;&lt;/p&gt;


&lt;p&gt;Voila pour plus d’informations sur sysctl et ses mechanismes&lt;/p&gt;


&lt;p&gt;&lt;code&gt;$ man sysctl&lt;/code&gt;&lt;/p&gt;</description>
    
    
    
          <comments>http://weblog.gnali.org/index.php/post/2006/02/08/209-devenir-transpasrent-au-ping#comment-form</comments>
      <wfw:comment>http://weblog.gnali.org/index.php/post/2006/02/08/209-devenir-transpasrent-au-ping#comment-form</wfw:comment>
      <wfw:commentRss>http://weblog.gnali.org/index.php/feed/rss2/comments/207</wfw:commentRss>
      </item>
    
  <item>
    <title>Réplication de disques dur</title>
    <link>http://weblog.gnali.org/index.php/post/2005/09/02/160-replication-de-disuqes-dur</link>
    <guid isPermaLink="false">urn:md5:3a66e80250187241e8a8097db6dca198</guid>
    <pubDate>Fri, 02 Sep 2005 10:39:14 +0000</pubDate>
    <dc:creator>Tin</dc:creator>
        <category>Astuces</category>
            
    <description>&lt;p&gt;&lt;img src=&quot;http://weblog.gnali.org/images/Lettrage/Logoogle/d0l.png&quot; alt=&quot;D&quot; style=&quot;float:left; margin: 0 1em 1em 0;&quot; /&gt;epuis le temps que je cherche à faire des images de disques pour du déploiement massif. Merci &lt;a href=&quot;http://stombi.free.fr/blog/index.php?2005/08/02/31-mkfifo#co&quot; hreflang=&quot;fr&quot;&gt;Stombi&lt;/a&gt;, tu m'épargne des heures de boulot avec cette astuces.&lt;/p&gt;    &lt;p&gt;La méthode à suivre est la suivante&amp;nbsp;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Booter sur un liveCD les deux machines&lt;sup&gt;[&lt;a href=&quot;http://weblog.gnali.org/index.php/post/2005/09/02/#pnote-160-1&quot; id=&quot;rev-pnote-160-1&quot;&gt;1&lt;/a&gt;]&lt;/sup&gt;&lt;/li&gt;
&lt;li&gt;Lancer la commande&amp;nbsp;: &lt;em&gt;$ mkfifo ddfifo; dd if=/dev/hda | bzip2 &amp;gt; ddfifo&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;Aller sur la machine de destination et lancer&amp;nbsp;: $ nc -l -p 5000| bzip2 | dd of=/dev/hda&lt;/li&gt;
&lt;li&gt;Revenir sur la machine à répliquer et taper&amp;nbsp;: $ cat ddfifo | nc remote 5000&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Et voilà nous nous trouvons avec 2 disques dur complètement identique.&lt;/p&gt;
&lt;div class=&quot;footnotes&quot;&gt;&lt;h4&gt;Notes&lt;/h4&gt;
&lt;p&gt;[&lt;a href=&quot;http://weblog.gnali.org/index.php/post/2005/09/02/#rev-pnote-160-1&quot; id=&quot;pnote-160-1&quot;&gt;1&lt;/a&gt;] Le liveCD permet d'avoir un état stable sans écriture auxiliaire&lt;/p&gt;&lt;/div&gt;
</description>
    
    
    
          <comments>http://weblog.gnali.org/index.php/post/2005/09/02/160-replication-de-disuqes-dur#comment-form</comments>
      <wfw:comment>http://weblog.gnali.org/index.php/post/2005/09/02/160-replication-de-disuqes-dur#comment-form</wfw:comment>
      <wfw:commentRss>http://weblog.gnali.org/index.php/feed/rss2/comments/159</wfw:commentRss>
      </item>
    
  <item>
    <title>Dos2Unix</title>
    <link>http://weblog.gnali.org/index.php/post/2005/06/29/93-dos2unix</link>
    <guid isPermaLink="false">urn:md5:690be1b8f5fb6635c06d3294a8d6efb3</guid>
    <pubDate>Wed, 29 Jun 2005 12:41:51 +0000</pubDate>
    <dc:creator>Tin</dc:creator>
        <category>Astuces</category>
            
    <description>&lt;p&gt;&lt;img src=&quot;http://weblog.gnali.org/images/Lettrage/L.png&quot; alt=&quot;L&quot; /&gt;'inconvénient de ne pas avoir de vrai standard établis pour tous les systèmes informatiques ne se limite pas uniquement aux documents WYSIWYG et la guerre qui oppose &lt;a href=&quot;http://www.openoffice.org/&quot; hreflang=&quot;fr&quot;&gt;OpenOffice&lt;/a&gt; et Microsoft Office. Cela descend même au niveau des fichiers les plus simples&amp;nbsp;: Les fichiers textes.&lt;/p&gt;    &lt;p&gt;Unix termine chaque ligne par le caratère&amp;nbsp;: 
, les fichiers Microsoft pour leur part les terminent par  et 
. D'où la nécessité de convertir le format.&lt;/p&gt;


&lt;p&gt;Le problème de ces deux conventions pour signaler une fin de ligne, se pose dans les deux sens.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Dans le monde Microsoft un fichier Unix apparaitra comme étant sur une seule et même ligne.&lt;/li&gt;
&lt;li&gt;Tandis que dans le monde Unix, un fichier Microsoft terminera toutes ses lignes par le caractères &lt;strong&gt;^M&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;La solution&lt;sup&gt;[&lt;a href=&quot;http://weblog.gnali.org/index.php/post/2005/06/29/#pnote-93-1&quot; name=&quot;rev-pnote-93-1&quot;&gt;1&lt;/a&gt;]&lt;/sup&gt; consiste donc à supprimer tout ces caractères parasites via la ligne &lt;a href=&quot;http://www.perl.org/&quot; hreflang=&quot;fr&quot;&gt;Perl&lt;/a&gt; suivantes.&lt;/p&gt;

&lt;pre&gt;perl -pi -e 's/
/
/' fichier.txt&lt;/pre&gt;
&lt;div class=&quot;footnotes&quot;&gt;&lt;h4&gt;Notes&lt;/h4&gt;
&lt;p&gt;[&lt;a href=&quot;http://weblog.gnali.org/index.php/post/2005/06/29/#rev-pnote-93-1&quot; name=&quot;pnote-93-1&quot;&gt;1&lt;/a&gt;] Etant le plus souvent sous Unix, c'est celle qui m'interesse.&lt;/p&gt;&lt;/div&gt;
</description>
    
    
    
          <comments>http://weblog.gnali.org/index.php/post/2005/06/29/93-dos2unix#comment-form</comments>
      <wfw:comment>http://weblog.gnali.org/index.php/post/2005/06/29/93-dos2unix#comment-form</wfw:comment>
      <wfw:commentRss>http://weblog.gnali.org/index.php/feed/rss2/comments/93</wfw:commentRss>
      </item>
    
  <item>
    <title>Image Magick</title>
    <link>http://weblog.gnali.org/index.php/post/2005/06/21/81-image-magick</link>
    <guid isPermaLink="false">urn:md5:386dc3b2e24f82209182077826657427</guid>
    <pubDate>Tue, 21 Jun 2005 10:44:05 +0000</pubDate>
    <dc:creator>Tin</dc:creator>
        <category>Astuces</category>
            
    <description>&lt;p&gt;&lt;img src=&quot;http://weblog.gnali.org/images/Lettrage/P.png&quot; alt=&quot;P&quot; /&gt;our ne plus passer mon temps à faire des recherches sur &lt;a href=&quot;http://www.google.com/linux&quot; hreflang=&quot;fr&quot;&gt;Google&lt;/a&gt;, pour retrouvre comment fonctionnent certaines commandes ou quelles sont les options à passer, j'ai décider de les regrouper toutes ici dans une catégorie dédiée, comme cela si vous en avez des meilleurs vous me les posterez en commentaires.&lt;/p&gt;


&lt;p&gt;Alors commençons par la première qui possède d'énorme possibilité dans le traitement d'image&amp;nbsp;: &lt;a href=&quot;http://www.imagemagick.org&quot; hreflang=&quot;en&quot;&gt;Image Magick&lt;/a&gt;.&lt;/p&gt;    &lt;p&gt;Les opérations que je réalise le plus souvent sur une image est le redimensionnement. Facile me direz vous, encore faut-il avoir un logiciel de retouche d'image. Mais je trouve cela un peu dommage de devoir lancer ce type de logiciel juste pour redimensionner une image.&lt;/p&gt;


&lt;p&gt;C'est là, qu'intervient &lt;a href=&quot;http://www.imagemagick.org&quot; hreflang=&quot;en&quot;&gt;Image Magick&lt;/a&gt;, sa multitude d'option en ligne de commande permet de faire ce que vous voulez avec une image. Et particulièrement celle permettant de redimensionner votre image en largeur ou en hauteur tout en gardant la proportion.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Largeur définie - Hauteur proportionnelle&lt;/li&gt;
&lt;/ul&gt;
&lt;pre&gt;convert -geometry 450 image.jpg image.png&lt;/pre&gt;

&lt;p&gt;Dans ce cas là, je transforme ma photo 'image.jpg' en une photo de 450 pixels de large au format png&lt;sup&gt;[&lt;a href=&quot;http://weblog.gnali.org/index.php/post/2005/06/21/#pnote-81-1&quot; name=&quot;rev-pnote-81-1&quot;&gt;1&lt;/a&gt;]&lt;/sup&gt;.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Largeur proportionnelle - Hauteur définie&lt;/li&gt;
&lt;/ul&gt;
&lt;pre&gt;convert -geometry x299 image.jpg.image.jpg&lt;/pre&gt;

&lt;p&gt;La photo fait maintenant 299 pixels de haut.&lt;/p&gt;
&lt;div class=&quot;footnotes&quot;&gt;&lt;h4&gt;Notes&lt;/h4&gt;
&lt;p&gt;[&lt;a href=&quot;http://weblog.gnali.org/index.php/post/2005/06/21/#rev-pnote-81-1&quot; name=&quot;pnote-81-1&quot;&gt;1&lt;/a&gt;] Pour laisser au même format, je laisse la même extension.&lt;/p&gt;&lt;/div&gt;
</description>
    
    
    
          <comments>http://weblog.gnali.org/index.php/post/2005/06/21/81-image-magick#comment-form</comments>
      <wfw:comment>http://weblog.gnali.org/index.php/post/2005/06/21/81-image-magick#comment-form</wfw:comment>
      <wfw:commentRss>http://weblog.gnali.org/index.php/feed/rss2/comments/82</wfw:commentRss>
      </item>
    
</channel>
</rss>