<?xml version="1.0" encoding="utf-8"?><?xml-stylesheet title="XSL formatting" type="text/xsl" href="http://blog.nozav.org/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/"
  xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
  <title>Humus numericus - Linux, Debian, etc.</title>
  <link>http://blog.nozav.org/</link>
  <atom:link href="http://blog.nozav.org/feed/category/Linux-debian/rss2" rel="self" type="application/rss+xml"/>
  <description></description>
  <language>fr</language>
  <pubDate>Sun, 05 Oct 2008 16:01:09 +0200</pubDate>
  <copyright>Documents sous licence Creative commons</copyright>
  <docs>http://blogs.law.harvard.edu/tech/rss</docs>
  <generator>Dotclear</generator>
  
    
  <item>
    <title>Canal IRC francophone dédié à R</title>
    <link>http://blog.nozav.org/post/2008/07/21/Canal-IRC-francophone-dedie-a-R</link>
    <guid isPermaLink="false">urn:md5:3904d73510da5a905efd418a9aa33551</guid>
    <pubDate>Mon, 21 Jul 2008 10:39:00 +0200</pubDate>
    <dc:creator>Juba</dc:creator>
        <category>Linux, Debian, etc.</category>
        <category>irc</category><category>R</category>    
    <description>    &lt;p&gt;&lt;a href=&quot;http://www.r-project.org/&quot; hreflang=&quot;en&quot;&gt;R&lt;/a&gt; est un langage libre de traitement de données et d'analyses statistiques. Il est extrêmement puissant, son développement est très actif, mais son apprentissage n'est pas forcément des plus aisés, en partie à cause du manque de ressources en français.&lt;/p&gt;


&lt;p&gt;Un des modes de support en anglais qui marche plutôt bien est le canal &lt;a href=&quot;http://fr.wikipedia.org/wiki/Internet_Relay_Chat&quot;&gt;IRC&lt;/a&gt; #R, sur le réseau &lt;a href=&quot;http://www.freenode.net&quot; hreflang=&quot;en&quot;&gt;freenode&lt;/a&gt;. Plusieurs habitués francophones de #R (bon d'accord, &lt;strong&gt;deux&lt;/strong&gt; habitués francophones de #R), dont je fais partie, ont lancé récemment un canal baptisé #Rfr, toujours sur freenode, pour tenter d'apporter le même genre de service en français.&lt;/p&gt;


&lt;p&gt;Si vous souhaitez nous rejoindre, pointez votre &lt;a href=&quot;http://fr.wikipedia.org/wiki/Internet_Relay_Chat&quot;&gt;client IRC&lt;/a&gt; préféré vers le serveur irc.freenode.net, canal #Rfr. Vous pouvez aussi y accéder via une interface web à l'une des adresses suivantes&amp;nbsp;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://java.freenode.net//index.php?channel=Rfr&quot; hreflang=&quot;en&quot;&gt;Applet java de Freenode&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.mibbit.com/&quot; hreflang=&quot;en&quot;&gt;Interface web de Mibbit.com (sans java)&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Pour l'instant le canal est assez calme, la seule activité réelle est celle du &lt;a href=&quot;http://blog.nozav.org/post/2008/07/21/bot de traduction automatique&quot;&gt;bot de traduction automatique&lt;/a&gt; de #R. Mais si vous avez une question au sujet de R, n'hésitez pas à venir la poser, et à être patient pour la réponse...&lt;/p&gt;</description>
    
    
    
          <comments>http://blog.nozav.org/post/2008/07/21/Canal-IRC-francophone-dedie-a-R#comment-form</comments>
      <wfw:comment>http://blog.nozav.org/post/2008/07/21/Canal-IRC-francophone-dedie-a-R#comment-form</wfw:comment>
      <wfw:commentRss>http://blog.nozav.org/feed/rss2/comments/441</wfw:commentRss>
      </item>
    
  <item>
    <title>Plugin Rbot de traduction automatique de canal IRC</title>
    <link>http://blog.nozav.org/post/2008/07/21/Plugin-Rbot-de-traduction-automatique-de-canal-IRC</link>
    <guid isPermaLink="false">urn:md5:0e77abd548b6fd93fdca008b3c69a1c8</guid>
    <pubDate>Mon, 21 Jul 2008 10:10:00 +0200</pubDate>
    <dc:creator>Juba</dc:creator>
        <category>Linux, Debian, etc.</category>
        <category>irc</category><category>rbot</category>    
    <description>    &lt;p&gt;&lt;a href=&quot;http://www.ruby-rbot.org/&quot; hreflang=&quot;en&quot;&gt;Rbot&lt;/a&gt; est un bot IRC écrit en Ruby que j'ai découvert récemment et qui s'avère très agréable à utiliser et à programmer.&lt;/p&gt;


&lt;p&gt;J'ai créé, avec l'aide de &lt;a href=&quot;http://pingoured.fr/&quot;&gt;pingou&lt;/a&gt;, un plugin permettant de traduire automatiquement un canal IRC&amp;nbsp;: le bot récupère tous les messages publics postés sur un canal, les traduit via l'API de Google translate, et poste le résultat dans un deuxième canal. Il est actuellement utilisé pour traduire le contenu du canal #R de l'anglais vers le français (dans #Rfr) mais aussi le norvégien (dans #Rno). Je ne vous cache pas que le résultat de la traduction peut être assez fantaisiste.&lt;/p&gt;


&lt;p&gt;Le plugin AutoTranslate peut être téléchargé &lt;a href=&quot;http://rbot.noway.ratry.ru/plugins/show/14&quot; hreflang=&quot;en&quot;&gt;depuis le dépôt des plugins non-officiels de Rbot.&lt;/a&gt;. Pour l'installer, il suffit de le copier dans le dossier plugins, puis d'éditer le fichier et de modifier le tableau TRANSLATIONS comme désiré.&lt;/p&gt;</description>
    
    
    
          <comments>http://blog.nozav.org/post/2008/07/21/Plugin-Rbot-de-traduction-automatique-de-canal-IRC#comment-form</comments>
      <wfw:comment>http://blog.nozav.org/post/2008/07/21/Plugin-Rbot-de-traduction-automatique-de-canal-IRC#comment-form</wfw:comment>
      <wfw:commentRss>http://blog.nozav.org/feed/rss2/comments/440</wfw:commentRss>
      </item>
    
  <item>
    <title>Problème avec VirtualBox</title>
    <link>http://blog.nozav.org/post/2008/05/14/Probleme-avec-VirtualBox</link>
    <guid isPermaLink="false">urn:md5:29c4c2d3201c86362e61faa53bbaa14f</guid>
    <pubDate>Wed, 14 May 2008 17:54:00 +0200</pubDate>
    <dc:creator>Juba</dc:creator>
        <category>Linux, Debian, etc.</category>
        <category>linux</category><category>sysadmin</category><category>VirtualBox</category>    
    <description>    &lt;p&gt;VirtualBox est une application de virtualisation qui peut servir, entre mille autres choses, à faire tourner un windows à l'intérieur d'un linux.&lt;/p&gt;


&lt;p&gt;Après la mise à jour de ma Debian &lt;em&gt;unstable&lt;/em&gt; effectuée ce matin, plus moyen de démarrer l'appli. J'avais un pop-up d'erreur me signalant une impossibilité de démarrer les services COM, et en cas de lancement de la commande &lt;code&gt;VirtualBox&lt;/code&gt; en ligne de commande, j'obtenais le joli message suivant&amp;nbsp;:&lt;/p&gt;

&lt;pre&gt;
/usr/lib/virtualbox//VBoxSVC: symbol lookup error: /usr/lib/virtualbox/VBoxXML.so: undefined symbol: _ZN11xalanc_1_1016XalanTransformer10initializeERN11xercesc_2_713MemoryManagerE
&lt;/pre&gt;


&lt;p&gt;La solution&amp;nbsp;? Récupérer la dernière version (la 1.6) depuis le &lt;a href=&quot;http://www.virtualbox.org/wiki/Downloads&quot;&gt;site de Virtual Box&lt;/a&gt;. Apparemment leurs dépôts Debian sont un peu en retard, d'ailleurs le lien de téléchargement renvoit sur le site de Sun, je ne savais pas qu'ils avaient été rachetés...&lt;/p&gt;


&lt;p&gt;En tous cas l'installation du &lt;code&gt;.deb&lt;/code&gt; pour Debian 4.0 a résolu le problème en ce qui me concerne.&lt;/p&gt;</description>
    
    
    
          <comments>http://blog.nozav.org/post/2008/05/14/Probleme-avec-VirtualBox#comment-form</comments>
      <wfw:comment>http://blog.nozav.org/post/2008/05/14/Probleme-avec-VirtualBox#comment-form</wfw:comment>
      <wfw:commentRss>http://blog.nozav.org/feed/rss2/comments/361</wfw:commentRss>
      </item>
    
  <item>
    <title>Générer un certificat SSL auto-signé pour Apache</title>
    <link>http://blog.nozav.org/post/2008/05/14/Generer-un-certificat-SSL-auto-signe-pour-Apache</link>
    <guid isPermaLink="false">urn:md5:6a864aebd5e5847037c19029848727db</guid>
    <pubDate>Wed, 14 May 2008 11:27:00 +0200</pubDate>
    <dc:creator>Juba</dc:creator>
        <category>Linux, Debian, etc.</category>
        <category>apache</category><category>linux</category><category>ssl</category><category>sysadmin</category>    
    <description>    &lt;p&gt;D'abord on génère une clé non chiffrée sur disque (pour éviter d'avoir à saisir un mot de passe à chaque redémarrage d'Apache)&amp;nbsp;:&lt;/p&gt;

&lt;pre&gt;
# openssl genrsa -out mykey.key 1024
&lt;/pre&gt;


&lt;p&gt;Ensuite on crée un certificat signé avec cette clé&amp;nbsp;:&lt;/p&gt;

&lt;pre&gt;
# openssl req -new -x509 -days 365 -key mykey.key -out mycert.crt
&lt;/pre&gt;


&lt;p&gt;Répondre à l'ensemble des questions posées. Le nom de la machine doit être donné en réponse à &lt;em&gt;Common Name&lt;/em&gt;. On peut utiliser un &lt;em&gt;wildcard&lt;/em&gt; (joker) du type &lt;code&gt;*.example.com&lt;/code&gt; pour que le certificat s'applique à un ensemble de sous-domaines.&lt;/p&gt;


&lt;p&gt;Ensuite, dans Apache, modifier le fichier de définition du &lt;em&gt;VirtualHost&lt;/em&gt; qui va bien&amp;nbsp;:&lt;/p&gt;

&lt;pre&gt;
NameVirtualHost *:443
&amp;lt;VirtualHost *:443&amp;gt;

        SSLEngine on
        SSLCertificateFile    /etc/ssl/mycert.crt
        SSLCertificateKeyFile /etc/ssl/mykey.key
        SSLVerifyClient none

        [etc., etc.]

&amp;lt;/VirtualHost&amp;gt;
&lt;/pre&gt;</description>
    
    
    
          <comments>http://blog.nozav.org/post/2008/05/14/Generer-un-certificat-SSL-auto-signe-pour-Apache#comment-form</comments>
      <wfw:comment>http://blog.nozav.org/post/2008/05/14/Generer-un-certificat-SSL-auto-signe-pour-Apache#comment-form</wfw:comment>
      <wfw:commentRss>http://blog.nozav.org/feed/rss2/comments/360</wfw:commentRss>
      </item>
    
  <item>
    <title>Imprimer des calendriers en ligne de commande</title>
    <link>http://blog.nozav.org/post/2008/05/14/Imprimer-des-calendriers-en-ligne-de-commande</link>
    <guid isPermaLink="false">urn:md5:6026bde13bdf048b6646b97a9ed02fa9</guid>
    <pubDate>Wed, 14 May 2008 10:18:00 +0200</pubDate>
    <dc:creator>Juba</dc:creator>
        <category>Linux, Debian, etc.</category>
            
    <description>    &lt;p&gt;Il existe un petit utilitaire en ligne de commande, nomé &lt;code&gt;pcal&lt;/code&gt;, qui permet la génération et l'impression de calendriers avec de multiples options.&lt;/p&gt;


&lt;p&gt;Pour l'installation, c'est comme d'hab&amp;nbsp;:&lt;/p&gt;

&lt;pre&gt;
# apt-get install pcal
&lt;/pre&gt;


&lt;p&gt;Pour avoir une idée de toutes les options, c'est aussi comme d'hab&amp;nbsp;:&lt;/p&gt;

&lt;pre&gt;
$ man pcal
&lt;/pre&gt;


&lt;p&gt;Petit exemple d'utilisation&amp;nbsp;: la commande qui suit génère un fichier postscript des 6 mois suivant mai 2008, en format portrait, pour un papier A4, avec les semaines commençant le lundi, en français, et en ajoutant des calendriers miniatures des mois précédents et suivants.&lt;/p&gt;

&lt;pre&gt;
$ pcal -l -P a4 -F 1 -a fr -K -o /tmp/cal.ps 05 2008 6
&lt;/pre&gt;


&lt;p&gt;Le tout est placé dans un fichier postscript &lt;code&gt;/tmp/cal.ps&lt;/code&gt; que l'on peut visualiser avec &lt;code&gt;gv&lt;/code&gt; ou &lt;code&gt;evince&lt;/code&gt; et imprimer avec &lt;code&gt;xpp&lt;/code&gt;, &lt;code&gt;lp&lt;/code&gt;, &lt;code&gt;gtklp&lt;/code&gt;, etc.&lt;/p&gt;</description>
    
    
    
          <comments>http://blog.nozav.org/post/2008/05/14/Imprimer-des-calendriers-en-ligne-de-commande#comment-form</comments>
      <wfw:comment>http://blog.nozav.org/post/2008/05/14/Imprimer-des-calendriers-en-ligne-de-commande#comment-form</wfw:comment>
      <wfw:commentRss>http://blog.nozav.org/feed/rss2/comments/359</wfw:commentRss>
      </item>
    
  <item>
    <title>Ras le bol des grosses configs</title>
    <link>http://blog.nozav.org/post/2007/12/12/Ras-le-bol-des-grosses-configs</link>
    <guid isPermaLink="false">urn:md5:0d5f199025841f337d13d52aa6214310</guid>
    <pubDate>Wed, 12 Dec 2007 00:35:00 +0100</pubDate>
    <dc:creator>Juba</dc:creator>
        <category>Linux, Debian, etc.</category>
        <category>linux</category><category>perso</category><category>énervé</category>    
    <description>    &lt;p&gt;Je suis tombé sur un &lt;a href=&quot;http://www.kdedevelopers.org/node/3137&quot; hreflang=&quot;en&quot;&gt;article&lt;/a&gt; via digg qui s'extasie du fait que KDE4 tourne correctement dans une machine virtuelle simulant un PC avec un proc à 1GHz et 256Mo de RAM. Et dans les &lt;a href=&quot;http://digg.com/linux_unix/KDE_4_works_well_with_256_MiB_of_memory_and_1_GHz_CPU&quot; hreflang=&quot;en&quot;&gt;commentaires&lt;/a&gt; sur digg on a droit à de jolis &lt;q&gt;c'est chouette de penser aux vieilles machines&lt;/q&gt;, &lt;q&gt;c'est bien pour les pays du Tiers-Monde&lt;/q&gt; ou encore &lt;q&gt;on a du mal à croire qu'avant on travaillait sur des machines comme ça&lt;/q&gt;... Bon, d'accord, c'est sur Digg, mais ça a quand même le don de m'énerver...&lt;/p&gt;


&lt;p&gt;A la maison nous avons deux machines. La première est un PC de bureau acheté d'occaze il y'a cinq ans&amp;nbsp;: un magnifique Pentium 3 600 MHz avec 256Mo de RAM et une carte graphique Geforce4 64Mo. La deuxième est un portable également acheté d'occaze il y a deux ans, un rutilant Pentium 3 700MHz avec lui aussi 256 Mo de RAM.&lt;/p&gt;


&lt;p&gt;Sur la machine de bureau, l'interface est un Xfce avec Compiz fusion. Et ça tourne nickel chrome, même le cube, le zoom interactif, les effets d'animation, etc.. Un Gnome ou un KDE tourneraient très bien aussi, mais en bouffant inutilement de la mémoire alors qu'il y en a quand même pas bézef. Niveau logiciel, même Firefox fonctionne bien, alors que c'est pas du léger. Gimp, Digikam, Videolan, ne posent aucun problème, et même OpenOffice se lance alors qu'il faut quand même bien admettre que c'est une bouse. Google Earth, Second Life et certains jeux en 3D tournent aussi, même si les performances ne sont pas hallucinantes.&lt;/p&gt;


&lt;p&gt;Sur le portable, j'ai un bon vieux &lt;a href=&quot;http://www.suckless.org/wiki/dwm&quot; hreflang=&quot;en&quot;&gt;dwm&lt;/a&gt; avec un non moins bon vieil emacs, donc ça tourne évidemment très bien. Le portable en question n'avait que 128Mo de RAM il y a encore quelques semaines&amp;nbsp;: là, Firefox commence à faire souffrir l'utilisateur, mais par contre Epiphany fonctionne très bien. Certes, ça swappait assez rapidement, mais une petite barette de 128Mo supplémentaire achetée d'occasion a résolu le problème sans difficulté. Et je n'ai évidemment aucun souci pour produire des documents avec TeX, développer une appli web en faisant tourner un Apache et un MySql, ou même pour faire des stats avec R si les données sont pas trop volumineuses.&lt;/p&gt;


&lt;p&gt;Voilà, tout ça pour dire que pour un usage courant, on n'a certainement pas besoin d'un PC dernier cri dont les trois quart des ressources sont bouffées par des services inutiles. On peut travailler avec un bureau en 3D, des fenêtres ramollo et les dernières versions des derniers logiciels avec un Pentium 3 et 256Mo de RAM.&lt;/p&gt;


&lt;p&gt;Et encore heureux, d'ailleurs...&lt;/p&gt;</description>
    
    
    
          <comments>http://blog.nozav.org/post/2007/12/12/Ras-le-bol-des-grosses-configs#comment-form</comments>
      <wfw:comment>http://blog.nozav.org/post/2007/12/12/Ras-le-bol-des-grosses-configs#comment-form</wfw:comment>
      <wfw:commentRss>http://blog.nozav.org/feed/rss2/comments/227</wfw:commentRss>
      </item>
    
  <item>
    <title>Script shell de transfert de photos</title>
    <link>http://blog.nozav.org/post/2007/12/06/Script-shell-de-transfert-de-photos</link>
    <guid isPermaLink="false">urn:md5:588f854d8189584b022328c1522933ec</guid>
    <pubDate>Thu, 06 Dec 2007 00:14:00 +0100</pubDate>
    <dc:creator>Juba</dc:creator>
        <category>Linux, Debian, etc.</category>
        <category>debian</category><category>linux</category><category>photo</category><category>script</category>    
    <description>    &lt;p&gt;Pas sûr que ça en vaille la peine, mais je me permets quand même de mettre en ligne le petit script bash que j'utilise pour transférer les photos depuis mon appareil numérique vers mon PC. Le script en question part du principe que l'appareil est reconnu comme un périphérique de stockage de masse USB et qu'il est automatiquement monté au point de montage indiqué par la variable &lt;code&gt;mount_point&lt;/code&gt;. Il faut également renseigner les variable &lt;code&gt;source_dir&lt;/code&gt; (chemin vers le répertoire dans lequel se trouve les photos à partir du point de montage) et &lt;code&gt;cible_dir&lt;/code&gt; (emplacement des photos sur le PC). Vous aurez également besoin du paquet &lt;code&gt;libjpeg-progs&lt;/code&gt; pour avoir la commande &lt;code&gt;exifautotran&lt;/code&gt;.&lt;/p&gt;


&lt;p&gt;Une fois que vous avez tout ça, vous aurez juste à brancher votre appareil et à lancer le script. Celui-ci s'occupera de monter le périphérique, de copier chaque image dans un répertoire nommé selon la date de prise de la photo (au format &lt;code&gt;/home/photos/2007/12&lt;/code&gt; par exemple) et d'effectuer une rotation en fonction de l'orientation horizontale ou verticale contenue dans les données EXIF.&lt;/p&gt;


&lt;pre&gt;
#!/bin/sh                                                           
                                                                    
mount_point=/mnt/photo
source_dir=dcim/100km028 
cible_dir=/home/photos

mount $mount_point
for i in $mount_point/$source_dir/*.jpg; do  
        img=`basename $i`
        annee=`stat -c %y $i | cut -d '-' -f 1`
        mois=`stat -c %y $i | cut -d '-' -f 2`
        cible=$cible_dir/$annee/$mois
        if [ ! -d $cible ];
        then
                mkdir -p $cible
        fi      
        echo &amp;quot;Copie de $i vers $cible/$img&amp;quot;
        cp -i $i $cible/$img
        exifautotran $cible/$img
done;   
sleep 2s
umount $mount_point
&lt;/pre&gt;


&lt;p&gt;Comme d'hab en ces lieux, vous constaterez que c'est du vite fait&amp;nbsp;!&lt;/p&gt;</description>
    
    
    
          <comments>http://blog.nozav.org/post/2007/12/06/Script-shell-de-transfert-de-photos#comment-form</comments>
      <wfw:comment>http://blog.nozav.org/post/2007/12/06/Script-shell-de-transfert-de-photos#comment-form</wfw:comment>
      <wfw:commentRss>http://blog.nozav.org/feed/rss2/comments/208</wfw:commentRss>
      </item>
    
  <item>
    <title>Passage à Dotclear 2.0</title>
    <link>http://blog.nozav.org/post/2007/05/10/Passage-a-Dotclear-20</link>
    <guid isPermaLink="false">urn:md5:d3f4ef3e19503214ff9ffd633c7b472a</guid>
    <pubDate>Thu, 10 May 2007 14:11:00 +0200</pubDate>
    <dc:creator>Juba</dc:creator>
        <category>Linux, Debian, etc.</category>
        <category>divers</category><category>dotclear</category><category>perso</category><category>web</category>    
    <description>    &lt;p&gt;Après quelques hésitations, je me suis finalement décidé à migrer ce blog sous Dotclear 2 (version beta 6 pour être précis). Et comme il me fallait du PHP5, j'en ai aussi profité pour le changer de serveur et le transférer de L'autre net vers mon serveur dédié.&lt;/p&gt;


&lt;p&gt;Du coup j'ai modifié un peu le thème, j'ai rajouté une redirection des anciennes URLs vers les nouvelles, etc. J'espère que tout fonctionnera correctement, en attendant y'aura forcément une période de rodage.&lt;/p&gt;


&lt;p&gt;Voici quelques ressources utilisées pour effectuer la migration&amp;nbsp;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://doc.dotclear.net/2.0/admin/1-to-2&quot;&gt;documentation officielle de dotclear&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://petaramesh.org/post/2006/12/03/Installation-de-dotclear-2-Aoraki&quot;&gt;instructions chez Petaramesh&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://dissitou.klafoutis.org/category/DC1-vers-DC2&quot;&gt;instructions chez kozlika&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Et en exclusivité je vous livre mon &lt;code&gt;.htaccess&lt;/code&gt; qui permet de rediriger les anciennes URLs et de supprimer la mention &lt;code&gt;index.php&lt;/code&gt; dans les adresses du site en &lt;code&gt;PATH_INFO&lt;/code&gt;. Attention, ce fichier n'a pas encore été complètement testé, à utiliser avec des pincettes&amp;nbsp;:&lt;/p&gt;

&lt;pre&gt;
RewriteEngine On
RewriteBase /

# URLs à ne pas rediriger
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !^/(cgi-bin|error|icons|robots.txt|favicon.*|\?.*|.*\?$|404|rss.php|atom.php)

# Suppression de l'index.php
RewriteRule (.*) index.php/$1
RewriteRule ^index.php$  index.php/

# Pour les redirections des flux RSS/Atom des categories
RewriteCond %{QUERY_STRING} ^cat=([A-Z][A-Za-z0-9_-]*)$
RewriteRule ^rss.php /feed/category/%1/rss2 [R=301]
RewriteCond %{QUERY_STRING} ^cat=([A-Z][A-Za-z0-9_-]*)$
RewriteRule ^atom.php /feed/category/%1/atom [R=301]

# Pour les redirections des flux RSS/Atom generaux
RewriteCond %{QUERY_STRING} ^$
RewriteRule ^rss.php /feed/rss2 [R=301]
RewriteCond %{QUERY_STRING} ^type=co$
RewriteRule ^rss.php /feed/rss2/comments [R=301]
RewriteCond %{QUERY_STRING} ^$
RewriteRule ^atom.php /feed/atom [R=301]
RewriteCond %{QUERY_STRING} ^type=co$
RewriteRule ^atom.php /feed/atom/comments [R=301]

# Redirection des anciens modes 

# Billet : ?YYYY/MM/DD/##*
RewriteCond %{QUERY_STRING} ^(\d{4})/(\d{2})/(\d{2})/(\d+.+)$
RewriteRule ^.*$ /post/%1/%2/%3/%4? [R=301]

# Categorie : ?Nom-categorie
RewriteCond %{QUERY_STRING} ^([A-Z][A-Za-z0-9_-]*)$
RewriteRule ^.*$ /category/%1? [R=301]

# Archives : ?YYYY/MM
RewriteCond %{QUERY_STRING} ^(\d{4})/(\d{2})$
RewriteRule ^.*$ /archive/%1/%2? [R=301]
&lt;/pre&gt;</description>
    
    
    
          <comments>http://blog.nozav.org/post/2007/05/10/Passage-a-Dotclear-20#comment-form</comments>
      <wfw:comment>http://blog.nozav.org/post/2007/05/10/Passage-a-Dotclear-20#comment-form</wfw:comment>
      <wfw:commentRss>http://blog.nozav.org/feed/rss2/comments/71</wfw:commentRss>
      </item>
    
  <item>
    <title>Utiliser Gimp avec Ion3</title>
    <link>http://blog.nozav.org/post/2007/01/30/70-utiliser-gimp-avec-ion3</link>
    <guid isPermaLink="false">urn:md5:5c35537b4ba9f3386f2e1c12ac758107</guid>
    <pubDate>Tue, 30 Jan 2007 15:00:19 +0000</pubDate>
    <dc:creator>Juba</dc:creator>
        <category>Linux, Debian, etc.</category>
        <category>gimp</category><category>ion</category><category>linux</category>    
    <description>    &lt;p&gt;Suite à la rédaction du document &lt;a href=&quot;http://dev.nozav.org/intro_ion.html&quot; hreflang=&quot;fr&quot;&gt;Introduction à Ion3&lt;/a&gt;, qui est, je le rappelle, un &lt;em&gt;window manager&lt;/em&gt; totalement minimaliste mais diablement efficace, j'avais eu une petite controverse avec l'un des lecteurs du tutoriel pour savoir si Ion était adapté ou non à l'utilisation de &lt;a href=&quot;http://www.gimp.org&quot; hreflang=&quot;en&quot;&gt;Gimp&lt;/a&gt;. Le bougre en a même fait &lt;a href=&quot;http://yay.blog2geek.com/gimp-et-ion-190.html&quot; hreflang=&quot;fr&quot;&gt;un article sur son blog&lt;/a&gt;.&lt;/p&gt;


&lt;p&gt;Et ben il a fini par me convaincre. Une configuration semblable à celle qu'il présente est particulièrement pratique. Voici un petit guide pas à pas pour en mettre une en place.&lt;/p&gt;


&lt;p&gt;Première chose à faire&amp;nbsp;: créer un nouveau &lt;em&gt;workspace&lt;/em&gt;. Pour cela, il vous suffit normalement de faire &lt;code&gt;F9&lt;/code&gt; et d'indiquer son nom&amp;nbsp;: nous le nommerons ici &lt;em&gt;gimpws&lt;/em&gt;. Par défaut, Ion crée un espace avec deux colonnes égales. Celle de gauche servira à la boîte à outils, celle de droite aux images. Vous pouvez modifier la taille respective des colonnes en utilisant &lt;code&gt;Mod + bouton droit&lt;/code&gt; (remplacez &lt;code&gt;Mod&lt;/code&gt; par la touche de votre config. Vous pouvez même rendre le cadre d'image flottant à gauche pour lui permettre de chevaucher la boîte à outils (clic droit sur le titre du &lt;em&gt;frame&lt;/em&gt;, &lt;code&gt;Tiling&lt;/code&gt;, &lt;code&gt;Float split&lt;/code&gt;, &lt;code&gt;at left&lt;/code&gt;.&lt;/p&gt;


&lt;p&gt;Ensuite, nous allons donner un nom à ces &lt;em&gt;frames&lt;/em&gt; pour les identifier. Sélectionnez celui de gauche, et tapez &lt;code&gt;Mod + F3&lt;/code&gt;. A l'invite &lt;code&gt;Lua code&lt;/code&gt; qui s'affiche, tapez la commande suivante&amp;nbsp;:&lt;/p&gt;


&lt;pre&gt;mod_query.query_renameframe(_)&lt;/pre&gt;


&lt;p&gt;Ion vous demandez d'entrer le nom du &lt;em&gt;frame&lt;/em&gt;&amp;nbsp;: appelons-le &lt;em&gt;gimptoolbox&lt;/em&gt;. Procédez de même avec le &lt;em&gt;frame&lt;/em&gt; de droite et nommez-le &lt;em&gt;gimpimage&lt;/em&gt;. La configuration de nos &lt;em&gt;frames&lt;/em&gt; est terminée.&lt;/p&gt;


&lt;p&gt;Reste à indiquer à Ion où afficher quoi. Nous allons le faire en utilisant des &lt;em&gt;winprops&lt;/em&gt;, c'est à dire en rajoutant les lignes suivantes à la fin de notre fichier de configuration préféré (en général soit &lt;code&gt;~/.ion3/cfg_ion.lua&lt;/code&gt;, soit &lt;code&gt;~/.ion3/cfg_user.lua&lt;/code&gt;&amp;nbsp;:&lt;/p&gt;


&lt;pre&gt;defwinprop {
  class=&quot;Gimp&quot;,
  role=&quot;gimp-startup&quot;,       
  target=&quot;gimpimage&quot;,
}
 
defwinprop {
  class=&quot;Gimp&quot;,
  role=&quot;gimp-tip-of-the-day&quot;,
  target=&quot;gimpimage&quot;,  
}

defwinprop {
   class=&quot;Gimp&quot;,
   role=&quot;gimp-image-window&quot;,
   target=&quot;gimpimage&quot;,
 }

defwinprop {
  class=&quot;Gimp&quot;,
  role=&quot;gimp-toolbox&quot;, 
  target=&quot;gimptoolbox&quot;,
}

defwinprop {
  class=&quot;Gimp&quot;,
  target=&quot;gimpws&quot;,
  float=&quot;true&quot;,
}&lt;/pre&gt;


&lt;p&gt;Que signifie tout ceci&amp;nbsp;? D'abord, on indique à Ion d'afficher la boîte de démarrage, l'astuce du jour et les images dans le &lt;em&gt;frame&lt;/em&gt; nommé &lt;em&gt;gimpimage&lt;/em&gt;. Ensuite, on lui dit de placer la boîte à outils dans le &lt;em&gt;frame&lt;/em&gt; appelé &lt;em&gt;gimptoolbox&lt;/em&gt;. Enfin, on lui dit d'afficher toutes les autres fenêtres de Gimp sous forme de fenêtres flottantes (utile pour tous les dialogues de config, de filtres ou d'effets).&lt;/p&gt;


&lt;p&gt;Ainsi, lorsque vous lancez Gimp, vous pouvez le faire depuis n'importe où, vous serez sûr de le retrouver dans le &lt;em&gt;workspace&lt;/em&gt; que vous venez de créer sans avoir à subir les barres de progression de chargement. Ensuite, vous disposez d'un grand espace pour visualiser et travailler sur l'image, et vous pouvez basculer l'image en plein écran avec un simple &lt;code&gt;Mod + Return&lt;/code&gt;. Les fenêtres de config et d'outils s'affichent en flottant, ce qui permet de les déplacer pour ne pas masquer l'image. Et enfin, dernier avantage à mon avis, lorsque vous effectuez une capture d'écran d'une autre fenêtre depuis Gimp, celle-ci va automatiquement se placer dans le bon &lt;em&gt;frame&lt;/em&gt;.&lt;/p&gt;</description>
    
    
    
          <comments>http://blog.nozav.org/post/2007/01/30/70-utiliser-gimp-avec-ion3#comment-form</comments>
      <wfw:comment>http://blog.nozav.org/post/2007/01/30/70-utiliser-gimp-avec-ion3#comment-form</wfw:comment>
      <wfw:commentRss>http://blog.nozav.org/feed/rss2/comments/68</wfw:commentRss>
      </item>
    
  <item>
    <title>Automatiser les mises à jour de sécurité sous Debian</title>
    <link>http://blog.nozav.org/post/2007/01/12/65-automatiser-les-mises-a-jour-de-securite-sous-debian</link>
    <guid isPermaLink="false">urn:md5:20bd588bdd783ee6b58f7cedf8f792a0</guid>
    <pubDate>Fri, 12 Jan 2007 22:10:16 +0000</pubDate>
    <dc:creator>Juba</dc:creator>
        <category>Linux, Debian, etc.</category>
        <category>debian</category><category>linux</category><category>sysadmin</category>    
    <description>    &lt;p&gt;Tout utilisateur de Debian qui se respecte connaît les dépôts de paquets spécialement conçus pour colmater les failles de sécurité. Dès qu'un problème est identifié, l'équipe de sécurité applique les correctifs existants et met tout ça à disposition le plus vite possible. Nous allons voir ici comment faire en sorte que ces mises à jour soient appliquées automatiquement, par exemple une fois par jour.&lt;/p&gt;


&lt;p&gt;La première chose à faire est d'installer le paquet &lt;code&gt;cron-apt&lt;/code&gt;, qui est spécialement fait pour ça&amp;nbsp;:&lt;/p&gt;


&lt;pre&gt;# apt-get install cron-apt&lt;/pre&gt;


&lt;p&gt;Ce paquet permet de lancer une mise à jour à intervalle régulier. Le problème est que nous ne voulons mettre à jour que les paquets concernés par les problèmes de sécurité, et pas l'ensemble de notre distribution. Ceci est particulièrement important si on utilise une distribution &lt;em&gt;testing&lt;/em&gt; ou &lt;em&gt;unstable&lt;/em&gt;. Pour cela nous allons créer une source de paquets restreinte aux dépôts de sécurité. On va donc éditer un fichier &lt;code&gt;/etc/apt/security.sources.list&lt;/code&gt; contenant la ligne suivante&amp;nbsp;:&lt;/p&gt;


&lt;pre&gt;deb http://security.debian.org/ testing/updates main contrib non-free&lt;/pre&gt;


&lt;p&gt;(remplacez &lt;code&gt;testing&lt;/code&gt; par &lt;code&gt;stable&lt;/code&gt; ou &lt;code&gt;unstable&lt;/code&gt; selon votre config)&lt;/p&gt;


&lt;p&gt;Il faut ensuite indiquer à &lt;code&gt;cron-apt&lt;/code&gt; d'utiliser ce fichier. Pour cela, ouvrez le fichier &lt;code&gt;/etc/cron-apt/config&lt;/code&gt; et ajoutez ou décommentez la ligne suivante&amp;nbsp;:&lt;/p&gt;


&lt;pre&gt;OPTIONS=&quot;-o quiet=1 -o Dir::Etc::SourceList=/etc/apt/security.sources.list&quot;&lt;/pre&gt;


&lt;p&gt;Et voilou. Il nous reste à régler la fréquence et le moment des mises à jour. Par défaut elles ont lieu une fois par jour à 4h du matin (cf le fichier &lt;code&gt;/etc/cron.d/cron-apt&lt;/code&gt;). Ceci est très bien si vous avez un serveur qui tourne en permanence. Mais pour une machine de bureau, on pourra plutôt utiliser &lt;code&gt;anacron&lt;/code&gt; et faire un lien sympolique vers &lt;code&gt;/usr/sbin/cron-apt&lt;/code&gt; dans &lt;code&gt;/etc/cron.daily&lt;/code&gt;&amp;nbsp;:&lt;/p&gt;


&lt;pre&gt;# ln -s /usr/sbin/cron-apt /etc/cron.daily/cron-apt&lt;/pre&gt;</description>
    
    
    
          <comments>http://blog.nozav.org/post/2007/01/12/65-automatiser-les-mises-a-jour-de-securite-sous-debian#comment-form</comments>
      <wfw:comment>http://blog.nozav.org/post/2007/01/12/65-automatiser-les-mises-a-jour-de-securite-sous-debian#comment-form</wfw:comment>
      <wfw:commentRss>http://blog.nozav.org/feed/rss2/comments/63</wfw:commentRss>
      </item>
    
  <item>
    <title>Gérer ses DNS soi-même avec Xname</title>
    <link>http://blog.nozav.org/post/2007/01/11/64-gerer-ses-dns-soi-meme-avec-xname</link>
    <guid isPermaLink="false">urn:md5:a050afd0081b00918bf1d80830668e1e</guid>
    <pubDate>Thu, 11 Jan 2007 11:27:46 +0000</pubDate>
    <dc:creator>Juba</dc:creator>
        <category>Linux, Debian, etc.</category>
        <category>dns</category><category>internet</category><category>xname</category>    
    <description>    &lt;p&gt;Suite à ma &lt;a href=&quot;http://blog.nozav.org/?2006/12/28/63-hebergement-pour-ruby-on-rails-suite-essai-avec-site5&quot;&gt;migration vers Site5&lt;/a&gt;, je me suis retrouvé avec quelques soucis au niveau de la gestion des DNS de mon domaine. L'hébergeur principal de &lt;code&gt;nozav.org&lt;/code&gt;, c'est à dire &lt;a href=&quot;http://lautre.net/&quot;&gt;L'autre net&lt;/a&gt;, propose une gestion des DNS tout à fait suffisante pour l'usage que j'en avais jusqu'à présent, mais un peu limite pour pouvoir partager un domaine en deux et en héberger des bouts chez un hébergeur et des bouts chez un autre.&lt;/p&gt;


&lt;p&gt;J'ai donc testé les services de gestion de DNS de &lt;a href=&quot;http://www.xname.org/&quot;&gt;Xname.org&lt;/a&gt;. C'est un service gratuit, basé en France, qui fournit des serveurs DNS primaire et secondaire pour ses domaines, et qui permet d'éditer sa zone comme on le souhaite. Il faut s'y connaître un minimum, c'est à dire savoir au moins ce que sont des enregistrements NS, A, CNAME ou MX, mais ensuite c'est très simple à utiliser, et les enregistrements sont mis à jour une fois par heure. Et pour les experts, il y a même une interface avancée qui permet de gérer des paramètres tels que les TTL et autres joyeusetés.&lt;/p&gt;


&lt;p&gt;Du coup, j'ai pu faire des choses un peu tarabiscotées, comme par exemple&amp;nbsp;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Héberger mon domaine &lt;code&gt;nozav.org&lt;/code&gt; et certains sous-domaines comme &lt;code&gt;blog.nozav.org&lt;/code&gt; sur L'autre&lt;/li&gt;
&lt;li&gt;Gérer les mails du domaine &lt;code&gt;nozav.org&lt;/code&gt; sur L'autre&lt;/li&gt;
&lt;li&gt;Héberger d'autres sous-domaines comme &lt;code&gt;dev.nozav.org&lt;/code&gt; sur Site5&lt;/li&gt;
&lt;li&gt;Gérer les mails de certains sous-domaines sur Site5&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Et tout ça en même temps, bien sûr.&lt;/p&gt;</description>
    
    
    
          <comments>http://blog.nozav.org/post/2007/01/11/64-gerer-ses-dns-soi-meme-avec-xname#comment-form</comments>
      <wfw:comment>http://blog.nozav.org/post/2007/01/11/64-gerer-ses-dns-soi-meme-avec-xname#comment-form</wfw:comment>
      <wfw:commentRss>http://blog.nozav.org/feed/rss2/comments/62</wfw:commentRss>
      </item>
    
  <item>
    <title>Hébergement pour Ruby on Rails : essai avec Site5</title>
    <link>http://blog.nozav.org/post/2006/12/28/63-hebergement-pour-ruby-on-rails-suite-essai-avec-site5</link>
    <guid isPermaLink="false">urn:md5:c3080b58aafdc7a5dfb11849bd230169</guid>
    <pubDate>Thu, 28 Dec 2006 23:40:10 +0000</pubDate>
    <dc:creator>Juba</dc:creator>
        <category>Linux, Debian, etc.</category>
        <category>hébergement</category><category>internet</category><category>rails</category><category>ruby</category>    
    <description>    &lt;p&gt;Dans un &lt;a href=&quot;http://blog.nozav.org/?2006/03/11/45-hebergement-pour-ruby-on-rails&quot;&gt;précédent billet&lt;/a&gt;, j'avais fait une rapide comparaison entre quelques hébergeurs supportant &lt;em&gt;Ruby on Rails&lt;/em&gt;. J'avais dans un premier temps choisi &lt;em&gt;Dreamhost&lt;/em&gt;, dont les offres sont pour le moins alléchantes. J'avais finalement abandonné, d'une part car cela ne correspondait plus à mes besoins, mais aussi car en termes de performance ça me semblait un peu poussif, au moins depuis l'Europe.&lt;/p&gt;


&lt;p&gt;Je viens de retenter le coup mais cette fois avec un autre hébergeur, en l'occurrence &lt;a href=&quot;http://www.site5.com&quot; hreflang=&quot;en&quot;&gt;Site5&lt;/a&gt;. Les avis semblent partagés, mais j'en suis pour l'instant satisfait. Ils proposent une promo spectaculaire en ce moment, mais qui oblige à payer pour deux ans d'un coup, ce qui ne me convient pas, j'ai donc opté pour un plan de base avec paiement mensuel qui me revient à environ 8,50 euros par mois. Pour ce prix là vous avez&amp;nbsp;: 10Go de stockage, 200Go de trafic, PHP, Perl, Python, Ruby on Rails via Apache/FastCGI, Accès SSH, Cron jobs, mails, bases de données, Subversion, etc. Pour le peu que j'en ai vu les performances m'ont l'air tout à fait honorables, j'ai d'ailleurs migré &lt;a href=&quot;http://dev.nozav.org&quot;&gt;dev.nozav.org&lt;/a&gt; dessus il y a quelques temps, et ça tourne très bien.&lt;/p&gt;


&lt;p&gt;&lt;strong&gt;Inconvénients&lt;/strong&gt;&lt;/p&gt;


&lt;p&gt;Pour l'instant, la seule limitation qui me saute aux yeux concerne l'hébergement des domaines. Avec le plan de base, vous ne pouvez héberger qu'un seul domaine (vous &lt;em&gt;devez&lt;/em&gt; en héberger un d'ailleurs, il n'y a pas de sous-domaine machin.site5.com). Ça n'est qu'avec les plans plus onéreux qu'on accède aux &lt;em&gt;domain pointers&lt;/em&gt; qui permettent d'en utiliser plusieurs. En ce qui me concerne ce n'est pas trop gênant pour le moment, l'hébergeur principal de mon domaine nozav.org me permettant de faire pointer des sous-domaines vers une adresse IP.&lt;/p&gt;


&lt;p&gt;&lt;strong&gt;Avantages&lt;/strong&gt;&lt;/p&gt;


&lt;p&gt;Un des gros plus de l'offre de Site5 est le fait que chaque site hébergé se voit assigner une adresse IP unique. Ceci est très pratique pour un tas de choses, et notamment  pour gérer l'hébergement de sous-domaines. Autres avantages, l'installation de base est assez claire, avec un &lt;em&gt;home&lt;/em&gt; qui contient deux répertoires, &lt;code&gt;public_html&lt;/code&gt; pour les sites web et &lt;code&gt;public_ftp&lt;/code&gt; pour utiliser un serveur FTP déjà installé à la base. Par ailleurs, leur système d'administration est bien foutu, clair et visiblement écrit en &lt;em&gt;Rails&lt;/em&gt;.&lt;/p&gt;


&lt;p&gt;&lt;strong&gt;Mise à jour (7 janvier 2007)&lt;/strong&gt;&lt;/p&gt;


&lt;p&gt;Après plusieurs semaines, mon point de vue est toujours positif. J'ai migré dev.nozav.org, c'est à dire un site statique en HTML, mais aussi &lt;a href=&quot;http://dev.nozav.org/ajaxtable/&quot;&gt;une petite application en Rails&lt;/a&gt;, et les performances sont tout à fait convenables, en tous cas bien meilleures que ce que j'avais expérimenté avec &lt;em&gt;Dreamhost&lt;/em&gt;. Par ailleurs, le service de support est très performant (pourvu qu'on parle anglais, bien sûr)&amp;nbsp;: en l'espace de deux heures, j'ai pu échanger trois ou quatre mails avec eux, et ils ont très rapidement modifier la config du serveur pour que je puisse déléguer la gestion des mails de mon domaine à un autre serveur tout en conservant la possibilité de comptes mails pour des sous-domaines (ce qui n'est pas trivial trivial comme demande).&lt;/p&gt;


&lt;p&gt;Bref, pour l'instant je vous conseille cet hébergeur. Si vous souhaitez l'essayer, il y a toujours la garantie de 60 jours qui permet un remboursement intégral si vous n'êtes pas satisfaits.&lt;/p&gt;


&lt;p&gt;&lt;strong&gt;Nouvelle mise à jour (20 janvier 2007)&lt;/strong&gt;&lt;/p&gt;


&lt;p&gt;Bon, comme je ne tiens pas en place niveau hébergement en ce moment, je viens à l'instant même de clôturer mon compte chez Site5. Non pas que je sois mécontent de leurs services, bien au contraire. Tout ce qui a été dit précédemment reste vrai à cette date&amp;nbsp;: rapidité, fiabilité, support compétent, etc. Et ils m'ont bien reversé l'intégralité des sommes que je leur ai payé jusque là sans aucun problème puisque j'ai résilié mon compte avant 60 jours d'utilisation.&lt;/p&gt;


&lt;p&gt;Si je change, c'est pour passer carrément sur un &lt;em&gt;Virtual private server&lt;/em&gt; chez &lt;a href=&quot;http://www.tektonic.net/&quot; hreflang=&quot;en&quot;&gt;Tektonic&lt;/a&gt;. C'est un poil plus cher, y'a aucun support et faut tout faire soi-même. Par contre c'est totale liberté&amp;nbsp;: on se retrouve avec l'équivalent d'un serveur dédié rien qu'à soi, et ce pour 15 dollars par mois, et on peut faire ce qu'on veut, y compris tout casser. J'essaierai de détailler davantage d'ici quelques temps.&lt;/p&gt;</description>
    
    
    
          <comments>http://blog.nozav.org/post/2006/12/28/63-hebergement-pour-ruby-on-rails-suite-essai-avec-site5#comment-form</comments>
      <wfw:comment>http://blog.nozav.org/post/2006/12/28/63-hebergement-pour-ruby-on-rails-suite-essai-avec-site5#comment-form</wfw:comment>
      <wfw:commentRss>http://blog.nozav.org/feed/rss2/comments/61</wfw:commentRss>
      </item>
    
  <item>
    <title>Comparaison d'un script simple en Perl, Python et Ruby</title>
    <link>http://blog.nozav.org/post/2006/08/24/59-comparaison-d-un-script-simple-en-perl-python-et-ruby</link>
    <guid isPermaLink="false">urn:md5:20caba3addf4b6a47ff026ec563dfa8a</guid>
    <pubDate>Thu, 24 Aug 2006 01:03:16 +0000</pubDate>
    <dc:creator>Juba</dc:creator>
        <category>Linux, Debian, etc.</category>
        <category>perl</category><category>python</category><category>ruby</category><category>script</category>    
    <description>    &lt;p&gt;Tiens, suite à une question d'un collègue de boulot aujourd'hui, je me suis amusé à comparer la manière de faire une tâche assez simple dans trois langages de script différents. L'objectif est d'afficher le chemin complet de tous les répertoires contenus (récursivement) dans un répertoire donné (en l'occurrence &lt;code&gt;/var/log&lt;/code&gt;). Je trouve le résultat assez représentatif des particularités des différents langages&amp;nbsp;:&lt;/p&gt;


&lt;p&gt;&lt;strong&gt;En Python&lt;/strong&gt;&lt;/p&gt;


&lt;pre&gt;import os
from os.path import join
for root, dirs, files in os.walk('/var/log'):
    for name in dirs:
        print join(root, name)&lt;/pre&gt;


&lt;p&gt;C'est pas forcément super intuitif (faut comprendre que la fonction &lt;code&gt;os.walk&lt;/code&gt; renvoit un &lt;em&gt;tuple&lt;/em&gt; avec le répertoire racine, les répertoires contenus et les fichiers contenus de chaque sous-répertoire parcouru. Mais c'est assez efficace.&lt;/p&gt;


&lt;p&gt;&lt;strong&gt;En Perl&lt;/strong&gt;&lt;/p&gt;


&lt;pre&gt;use File::Find;
find sub { print $File::Find::name, &quot;
&quot; if -d } , '/var/log';&lt;/pre&gt;


&lt;p&gt;Ah bah c'est sûr, difficile de faire plus bref. Mais c'est pas forcément évident du premier coup d'oeil, entre l'utilisation d'une référence à une fonction en argument de &lt;code&gt;find&lt;/code&gt;, ou celui du test &lt;code&gt;-d&lt;/code&gt;.&lt;/p&gt;


&lt;p&gt;&lt;strong&gt;En Ruby&lt;/strong&gt;&lt;/p&gt;


&lt;pre&gt;require 'find'
Find.find('/var/log') { |path| puts path if File.directory?(path) }&lt;/pre&gt;


&lt;p&gt;Et voilà. Simple, lisible, compact, compréhensible (du moins si on a compris le concept de bloc et d'itérateur). En un mot&amp;nbsp;: &lt;em&gt;é-lé-gant&lt;/em&gt;.&lt;/p&gt;


&lt;p&gt;Bon, allez, je suis pas tout à fait objectif, je vous l'accorde...&lt;/p&gt;</description>
    
    
    
          <comments>http://blog.nozav.org/post/2006/08/24/59-comparaison-d-un-script-simple-en-perl-python-et-ruby#comment-form</comments>
      <wfw:comment>http://blog.nozav.org/post/2006/08/24/59-comparaison-d-un-script-simple-en-perl-python-et-ruby#comment-form</wfw:comment>
      <wfw:commentRss>http://blog.nozav.org/feed/rss2/comments/57</wfw:commentRss>
      </item>
    
  <item>
    <title>Boîtes aux lettres corrompues par Procmail</title>
    <link>http://blog.nozav.org/post/2006/08/18/58-boites-aux-lettres-corrompues-par-procmail</link>
    <guid isPermaLink="false">urn:md5:5dcbc8591c1b45dd780d8157a72c0b39</guid>
    <pubDate>Fri, 18 Aug 2006 22:45:11 +0000</pubDate>
    <dc:creator>Juba</dc:creator>
        <category>Linux, Debian, etc.</category>
        <category>linux</category><category>procmail</category><category>sysadmin</category>    
    <description>    &lt;p&gt;Il y a visiblement un petit problème récurrent avec &lt;code&gt;procmail&lt;/code&gt;, l'outil de tri de courrier électronique sous Linux, que la plupart des gens utilisent sans forcément le savoir. J'avais déjà rencontré le souci il y a pas mal de temps, ça s'était réglé, et finalement c'est revenu.&lt;/p&gt;


&lt;p&gt;Le problème vient du fait qu'à certains moments, les fichiers stockant les messages reçus, du type &lt;code&gt;/var/mail/user&lt;/code&gt;, sont corrompus car ils commencent par &lt;code&gt;rom&lt;/code&gt; au lieu du traditionnel et attendu &lt;code&gt;From&lt;/code&gt;. Du coup, plus moyen d'accéder aux messages situés à l'intérieur.&lt;/p&gt;


&lt;p&gt;La solution est facile à trouver avec un minimum de &lt;em&gt;googling&lt;/em&gt;, mais je la mets ici pour m'en souvenir&amp;nbsp;: il suffit de rajouter le code suivant à la fin de votre fichier &lt;code&gt;procmailrc&lt;/code&gt; (en général, &lt;code&gt;~/.procmailrc&lt;/code&gt;).&lt;/p&gt;


&lt;pre&gt;:0
* ^^rom&lt;a href=&quot;http://blog.nozav.org/post/2006/08/18/&quot;&gt; &lt;/a&gt;
{
 LOG=&quot;*** Dropped F off From_ header! Fixing up. &quot;

 :0 fhw
 | sed -e '1s/^/F/'

}&lt;/pre&gt;</description>
    
    
    
          <comments>http://blog.nozav.org/post/2006/08/18/58-boites-aux-lettres-corrompues-par-procmail#comment-form</comments>
      <wfw:comment>http://blog.nozav.org/post/2006/08/18/58-boites-aux-lettres-corrompues-par-procmail#comment-form</wfw:comment>
      <wfw:commentRss>http://blog.nozav.org/feed/rss2/comments/56</wfw:commentRss>
      </item>
    
  <item>
    <title>Petite astuce pour le sélecteur de fichiers de Gnome</title>
    <link>http://blog.nozav.org/post/2006/07/07/57-petite-astuce-pour-le-selecteur-de-fichiers-de-gnome</link>
    <guid isPermaLink="false">urn:md5:f7386585b690d39b934829f491537916</guid>
    <pubDate>Fri, 07 Jul 2006 13:34:05 +0000</pubDate>
    <dc:creator>Juba</dc:creator>
        <category>Linux, Debian, etc.</category>
        <category>gnome</category><category>linux</category>    
    <description>    &lt;p&gt;Je ne sais pas si vous êtes du même avis, mais j'ai personnellement du mal avec l'actuel sélecteur de fichier de Gnome, qui sert entre autres pour toutes les fonctions relatives au &lt;em&gt;file system&lt;/em&gt; de Firefox. Ce qui est le plus gênant est surtout l'impossibilité à première vue de pouvoir rentrer directement le nom du fichier au clavier, par auto-complétion ou par copier-coller.&lt;/p&gt;


&lt;p&gt;Et ben en fait c'est possible. Il suffit de faire un petit &lt;code&gt;Control + L&lt;/code&gt; et un champ texte s'ouvre devans vos petit yeux émerveillés, champ dans lequel vous pouvez saisir le nom du fichier, avec en prime une autocomplétion digne de la ligne de commande. Si c'est pas du bonheur...&lt;/p&gt;</description>
    
    
    
          <comments>http://blog.nozav.org/post/2006/07/07/57-petite-astuce-pour-le-selecteur-de-fichiers-de-gnome#comment-form</comments>
      <wfw:comment>http://blog.nozav.org/post/2006/07/07/57-petite-astuce-pour-le-selecteur-de-fichiers-de-gnome#comment-form</wfw:comment>
      <wfw:commentRss>http://blog.nozav.org/feed/rss2/comments/55</wfw:commentRss>
      </item>
    
  <item>
    <title>Installation du client Cisco VPN avec un noyau 2.6.16</title>
    <link>http://blog.nozav.org/post/2006/06/19/56-installation-du-client-cisco-vpn-avec-un-noyau-2616</link>
    <guid isPermaLink="false">urn:md5:88be1937b94aea801fc1c3311d66bde8</guid>
    <pubDate>Mon, 19 Jun 2006 10:51:46 +0000</pubDate>
    <dc:creator>Juba</dc:creator>
        <category>Linux, Debian, etc.</category>
        <category>internet</category><category>linux</category><category>vpn</category>    
    <description>    &lt;p&gt;Je viens de me rendre compte que mon client VPN Cisco ne fonctionnait plus au boulot depuis mon passage au noyau linux 2.6.16.18. Après un peu de Googling, voici les deux opérations à effectuer pour que ça tourne&amp;nbsp;:&lt;/p&gt;


&lt;p&gt;&lt;strong&gt;Problème de compilation&lt;/strong&gt;&lt;/p&gt;


&lt;p&gt;Pour régler l'erreur apparaissant à la compilation du module, il faut éditer le fichier &lt;code&gt;linuxcniapi.c&lt;/code&gt; et remplacer toutes les occurrences de &lt;code&gt;skb-&amp;gt;stamp&lt;/code&gt; en &lt;code&gt;skb-&amp;gt;tstamp&lt;/code&gt;.&lt;/p&gt;


&lt;p&gt;&lt;strong&gt;Problème à l'initialisation&lt;/strong&gt;&lt;/p&gt;


&lt;p&gt;Une fois le module compilé et chargé, je n'arrivais plus à lancer le VPN et me retrouvais avec le message d'erreur suivant&amp;nbsp;:&lt;/p&gt;


&lt;pre&gt;privsep: unable to drop privileges: group set failed.&lt;/pre&gt;


&lt;p&gt;La solution est assez simple&amp;nbsp;: un petit &lt;code&gt;chmod 4111 /opt/cisco-vpnclient/bin/cvpnd&lt;/code&gt; et ça roule.&lt;/p&gt;


&lt;p&gt;Je préfèrerais utiliser un client libre comme vpnc, mais il ne fonctionne pas avec notre super installation de la mort qui tue du boulot. Bref.&lt;/p&gt;</description>
    
    
    
          <comments>http://blog.nozav.org/post/2006/06/19/56-installation-du-client-cisco-vpn-avec-un-noyau-2616#comment-form</comments>
      <wfw:comment>http://blog.nozav.org/post/2006/06/19/56-installation-du-client-cisco-vpn-avec-un-noyau-2616#comment-form</wfw:comment>
      <wfw:commentRss>http://blog.nozav.org/feed/rss2/comments/54</wfw:commentRss>
      </item>
    
  <item>
    <title>Hébergeurs alternatifs</title>
    <link>http://blog.nozav.org/post/2006/04/18/50-hebergeurs-alternatifs</link>
    <guid isPermaLink="false">urn:md5:b62b11250f2275b9bea3df54af51e118</guid>
    <pubDate>Tue, 18 Apr 2006 00:01:15 +0000</pubDate>
    <dc:creator>Juba</dc:creator>
        <category>Linux, Debian, etc.</category>
        <category>hébergement</category><category>internet</category><category>web</category>    
    <description>    &lt;p&gt;L'hébergement de sites web et d'autres services liés à l'Internet (mails, domaines, listes...) constitue un marché plutôt ouvert sur lequel se trouvent des offres très différentes, d'autant plus si l'on considère que les frontières ne sont pas franchement un obstacle (héberger un site aux Etats-unis ou en Inde est presque aussi simple que le faire en Poitou-Charentes). On peut donc trouver&amp;nbsp;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;de très nombreuses offres commerciales très difficiles à départager en termes de fonctionnalités, prix, support, espaces de stockage ou volume de trafic&amp;nbsp;;&lt;/li&gt;
&lt;li&gt;des hébergeurs gratuits, mais souvent au prix de fonctionnalités limitées (pas de noms de domaines) ou de contraintes insupportables (pub)&amp;nbsp;;&lt;/li&gt;
&lt;li&gt;des hébergeurs spécialisés, notamment ouverts seulement à des associations à but non lucratifs.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;On trouve également un certain nombre d'hébergeurs &quot;alternatifs&quot;, qui se situent plus ou moins en dehors des circuits commerciaux classiques et qui gagnent souvent à être connus. Voici un rapide descriptif de trois d'entre eux (la liste n'est certainement pas exhaustive), que je connais plutôt bien puisque je les utilise pas plus tard qu'actuellement.&lt;/p&gt;



&lt;h3&gt;Ouvaton&lt;/h3&gt;


&lt;p&gt;&lt;a href=&quot;http://ouvaton.coop&quot; hreflang=&quot;fr&quot;&gt;Ouvaton&lt;/a&gt; est un hébergeur &lt;em&gt;coopératif&lt;/em&gt;. Ceci signifie qu'il fonctionne avec des AG et ce genre de choses, et qu'à l'inscription vous aurez à souscrire une ou plusieurs parts sociales de la coopérative. Ouvaton me semble avant tout intéressant pour des sites de petite taille et avec un trafic peu important, faute de quoi l'hébergement peut vite devenir onéreux. Le principe de tarification est celui de &quot;briques de base&quot;, qui correspondent chacune à 20Mo d'espace disque et à 600Mo de trafic mensuel pour un coût annuel de 12 euros par an. Pour ce prix-là vous avez de la gestion de domaines et de mails, du PHP, une base MySQL, et des listes de discussion rudimentaires. D'expérience, les problèmes techniques sont assez rares (sauf quand RedBus tombe en rade, bien sûr), et le support plutôt réactif. L'implication possible dans la vie de la structure se fait surtout à travers les AG ou la participation à des sites de documentation et d'échanges.&lt;/p&gt;


&lt;p&gt;En deux mots, Ouvaton me semble intéressant pour un site de petite taille ne nécessitant qu'une ou deux briques d'hébergement. Au-delà, on peut trouver des offres plus intéressantes.&lt;/p&gt;



&lt;h3&gt;L'autre net&lt;/h3&gt;



&lt;p&gt;&lt;a href=&quot;http://lautre.net&quot; hreflang=&quot;fr&quot;&gt;L'autre net&lt;/a&gt; est un hébergeur &lt;em&gt;autogéré&lt;/em&gt;. Il s'agit à la base d'une association, qui essaie d'appliquer le principe de l'autogestion pour son fonctionnement&amp;nbsp;: en gros, deux listes de discussions servent de &quot;lieux de vie&quot; et un système de vote permet de trancher les choix importants. En pratique, le maintien d'une activité démocratique soutenue n'est pas évident et le système repose essentiellement sur les épaules de quelques bénévoles, notamment les administrateurs des serveurs. L'offre de l'autre net est intéressante puisque pour 23 euros par an, vous avez droit à 500Mo d'espace de stockage, pas de limite en termes de trafic (si ça reste raisonnable), une gestion des noms de domaines et des mails, des listes de discussion avec Mailman, du PHP, une base MySQL. Le fonctionnement des serveurs reposant entièrement sur une poignée de bénévoles, il peut arriver que des difficultés techniques ne soient pas résolues dans la minute, ou que certaines opérations délicates (comme la migration de Debian Woody vers Sarge) entraînent des perturbations, mais depuis que j'utilise leurs services (ce site, mon mail, plusieurs listes), je n'ai vraiment pas à me plaindre de quoi que ce soit. Et puis si j'avais à me plaindre, je n'aurais qu'à mettre la main à la pâte, car la participation de tous est vraiment encouragée.&lt;/p&gt;


&lt;p&gt;L'autre net est donc un hébergeur intéressant, sans doute plus engagé qu'Ouvaton sur pas mal d'aspects, et qui propose des services très intéressants à un prix défiant toute concurrence. Je le recommande donc vivement, sauf si vous voulez  monter un site de e-business avec une disponibilité de 99,99%. Mais dans ce cas, vous ne seriez pas en train de lire ce billet.&lt;/p&gt;



&lt;h3&gt;Hcoop&lt;/h3&gt;


&lt;p&gt;Enfin, dernière piste, &lt;a href=&quot;http://www.hcoop.net/&quot; hreflang=&quot;en&quot;&gt;Hcoop&lt;/a&gt; est un hébergeur situé aux Etats-Unis et qui fonctionne de manière assez proche de celle de L'autre net. Il s'agit par contre d'un service orienté vers les utilisateurs expérimentés (maîtrise de l'anglais, connaissance de la ligne de commande sous Linux et de la configuration de base d'Apache obligatoires). Il s'agit en fait d'un regroupement de personnes qui se partagent les frais pour la location de deux serveurs dédiés pour un montant d'environ 200 dollars par mois. Le coût total est divisé par &lt;a href=&quot;http://www.hcoop.net/dyn/members.html&quot; hreflang=&quot;en&quot;&gt;le nombre d'adhérents&lt;/a&gt;, qui tourne actuellement autour de 60, ce qui fait environ 3 dollars par mois et par adhérent (le paiement se fait par Paypal). Les services proposés sont très riches du moment qu'on sait les utiliser, et les quotas sont assez flous du moment que personne ne nuit trop au fonctionnement de l'ensemble. En gros, pour ce prix là vous avez autour de 1Go d'espace, un trafic important, un accès SSH direct au serveur, de l'hébergement de domaines, de mails, de listes de discussion avec Mailman, mais aussi du CGI (mais pas de FastCGI), ce qui vous permet de faire tourner du Python, Perl, Ruby, PHP... Mais la force de Hcoop est que tout cela est à la fois très souple et très sécurisé. Comme vous avez un accès direct à un serveur sous Debian Testing, vous pouvez très bien vous installer une base MySQL, Postgres ou SQLite, un dépôt Subversion, voire vous recompiler votre propre Apache, etc. Mais tout cela est également très bien conçu dès le départ et très bien encadré. Il semble également y avoir une vie démocratique interne avec des listes de discussion, un bureau élu, un wiki, un système de votes, etc. Le fait que le serveur soit aux Etats-Unis ne pose pas de problèmes en termes de temps d'accès d'après ce que j'ai pu constater.&lt;/p&gt;


&lt;p&gt;Je recommanderais donc Hcoop à des utilisateurs avertis souhaitant avoir une grande souplesse d'utilisation pour un prix au final plutôt modique, surtout compte tenu des taux de change actuels.&lt;/p&gt;</description>
    
    
    
          <comments>http://blog.nozav.org/post/2006/04/18/50-hebergeurs-alternatifs#comment-form</comments>
      <wfw:comment>http://blog.nozav.org/post/2006/04/18/50-hebergeurs-alternatifs#comment-form</wfw:comment>
      <wfw:commentRss>http://blog.nozav.org/feed/rss2/comments/48</wfw:commentRss>
      </item>
    
  <item>
    <title>Hébergement pour Ruby on Rails</title>
    <link>http://blog.nozav.org/post/2006/03/11/45-hebergement-pour-ruby-on-rails</link>
    <guid isPermaLink="false">urn:md5:2a737b807b6368e4189b03313f1942f1</guid>
    <pubDate>Sat, 11 Mar 2006 15:48:08 +0000</pubDate>
    <dc:creator>Juba</dc:creator>
        <category>Linux, Debian, etc.</category>
        <category>hébergement</category><category>internet</category><category>rails</category><category>ruby</category><category>web</category>    
    <description>    &lt;p&gt;Comme je m'intéresse de plus en plus à &lt;a href=&quot;http://www.ruby-lang.org/&quot; hreflang=&quot;en&quot;&gt;Ruby&lt;/a&gt; et &lt;a href=&quot;http://www.rubyonrails.org/&quot; hreflang=&quot;en&quot;&gt;Ruby on Rails&lt;/a&gt;, d'autant que j'ai l'occasion de m'y mettre au boulot, je me suis demandé quels pouvaient être les hébergeurs intéressants pour un hébergement de sites web en général et d'applis RoR en particulier.&lt;/p&gt;


&lt;p&gt;Il y'a pas mal d'infos là-dessus sur le &lt;a href=&quot;http://wiki.rubyonrails.com/rails/pages/RailsWebHosts&quot; hreflang=&quot;en&quot;&gt;wiki de RoR&lt;/a&gt;, avec toute une liste d'hébergeurs disponibles. Une liste un peu plus synthétique se trouve sur &lt;a href=&quot;http://www.railshosting.org/&quot; hreflang=&quot;en&quot;&gt;Rails Hosting&lt;/a&gt;, avec en plus un avis personnel&amp;nbsp;: les hébergements les plus sérieux se trouveraient sur &lt;a href=&quot;http://www.textdrive.com/&quot; hreflang=&quot;en&quot;&gt;TextDrive&lt;/a&gt; (l'hébergeur officiellement soutenu par RoR, mais un peu cher), &lt;a href=&quot;http://www.site5.com/&quot; hreflang=&quot;en&quot;&gt;Site5&lt;/a&gt; et &lt;a href=&quot;http://www.dreamhost.com&quot; hreflang=&quot;en&quot;&gt;Dreamhost&lt;/a&gt;. A noter que le seul hébergeur français à proposer RoR est &lt;a href=&quot;http://www.typhon.net/&quot; hreflang=&quot;fr&quot;&gt;Typhon&lt;/a&gt;, qui propose d'ailleurs une &lt;a href=&quot;http://www.typhon.net/fr/OffreRails&quot; hreflang=&quot;fr&quot;&gt;offre de découverte&lt;/a&gt; de Rails.&lt;/p&gt;


&lt;p&gt;En m'y penchant d'un peu plus près, j'ai trouvé que &lt;a href=&quot;http://www.dreamhost.com/shared/comparison.html&quot; hreflang=&quot;en&quot;&gt;l'offre de Dreamhost&lt;/a&gt; était assez stupéfiante&amp;nbsp;: 20 Go d'espace (avec 160 Mo de plus chaque semaine), 1 To de trafic (avec 8 Go de plus chaque semaine), domaines, mails, listes de diffusions illimités, un nom de domaine gratuit pendant toute la durée de l'hébergement, bases MySql illimitées, PHP4, PHP5, Ruby, CGI, FastCGI, accès FTP, SFTP, WebDAV, accès direct sur le serveur par SSH, dépôts CVS et Subversion... le tout pour environ 9.95$ par mois (selon le mode de paiement).&lt;/p&gt;


&lt;p&gt;Sachant qu'il y a 97 jours d'essais pendant lesquels on peut changer d'avis et se faire rembourser intégralement, j'ai donc pris un compte pour tester, et ça a l'air de marcher plutôt bien. C'est assez bluffant de pouvoir avoir un accès SSH direct avec un compte sur le serveur tout en sachant qu'on dispose de 20 Go de stockage...&lt;/p&gt;


&lt;p&gt;Au niveau du tarif, si le montant annuel peut paraître un peu élevé de prime abord (120 dollars par an, soit environ 100 euros), il faut noter qu'il y a des codes promotions très intéressants disponibles pour une première inscription. Le principe est que pour tout code promotion utilisé, une partie va au nouvel abonné, une autre à celui qui a créé le code. J'en ai créé un qui vous permet de bénéficier de 75$ de promotion pour tous les plans annuels (ce qui fait que je touche 22$ que je pourrai soustraire du prix de mon hébergement) et le maximum possible pour tous les autres plans. Pour être tout à fait honnête, il est possible de bénéficier de réductions plus importantes assez facilement en Googlant un peu.&lt;/p&gt;


&lt;p&gt;Si vous souhaitez bénéficier de cette réduc, il vous suffit d'utiliser le code *** (plus d'actualité, cf. ci-dessous).&lt;/p&gt;


&lt;p&gt;&lt;strong&gt;Mise à jour :&lt;/strong&gt; je viens de résilier mon abonnement à Dreamhost à l'instant. Non que je sois mécontent de leurs services, mais j'ai trouvé un &lt;a href=&quot;http://www.hcoop.net&quot; hreflang=&quot;en&quot;&gt;hébergeur coopératif&lt;/a&gt; intéressant et correspondant davantage à mon état d'esprit (je n'étais qu'à moitié à l'aise avec cette histoire de codes promos). A priori le remboursement des sommes engagées si l'on résilie dans les 97 jours semble fonctionner... Du coup, le code promo en question n'est plus valable&amp;nbsp;!&lt;/p&gt;</description>
    
    
    
          <comments>http://blog.nozav.org/post/2006/03/11/45-hebergement-pour-ruby-on-rails#comment-form</comments>
      <wfw:comment>http://blog.nozav.org/post/2006/03/11/45-hebergement-pour-ruby-on-rails#comment-form</wfw:comment>
      <wfw:commentRss>http://blog.nozav.org/feed/rss2/comments/43</wfw:commentRss>
      </item>
    
  <item>
    <title>Utiliser le browser SWT sous Eclipse 3.1.1 avec Debian</title>
    <link>http://blog.nozav.org/post/2006/02/15/43-utiliser-le-browser-swt-sous-eclipse-avec-debian</link>
    <guid isPermaLink="false">urn:md5:258a149a708ecd47dacd258f6b72e9f9</guid>
    <pubDate>Wed, 15 Feb 2006 11:13:17 +0000</pubDate>
    <dc:creator>Juba</dc:creator>
        <category>Linux, Debian, etc.</category>
        <category>debian</category><category>eclipse</category><category>linux</category>    
    <description>    &lt;p&gt;J'utilise depuis peu une version recompilée pour &lt;em&gt;testing&lt;/em&gt; du paquet &lt;em&gt;unstable&lt;/em&gt; d'Eclipse 3.1.1. Tout fonctionne bien a priori, mais je viens de rencontrer une difficulté après l'installation des RDT (&lt;em&gt;&lt;a href=&quot;http://rubyeclipse.sourceforge.net/&quot; hreflang=&quot;en&quot;&gt;Ruby Development Tools&lt;/a&gt;&lt;/em&gt;) pour utiliser la vue &lt;em&gt;ri&lt;/em&gt;&amp;nbsp;: j'obtiens un message d'erreur me signalant un crash de SWT.&lt;/p&gt;


&lt;p&gt;En fait, cette erreur est due à l'impossibilité pour Eclipse et SWT d'utiliser le widget &lt;em&gt;Browser&lt;/em&gt; du fait d'une dépendance non-satisfaite, en l'occurrence il a besoin de la librairie &lt;code&gt;libgtkembedmoz.so&lt;/code&gt; qu'il ne retrouve pas. Les instructions pour faire tourner tout ça sont dans &lt;a href=&quot;http://www.eclipse.org/swt/faq.php#browserlinux&quot; hreflang=&quot;en&quot;&gt;la FAQ d'Eclipse&lt;/a&gt;, mais en fait sous Debian le problème vient du fait que SWT cherche la librairie manquante sous Firefox alors qu'elle n'est présente que sous Mozilla. Et modifier la variable &lt;code&gt;MOZILLA_FIVE_HOME&lt;/code&gt;, comme indiqué dans la faq, ne fontionne pas car celle-ci est initialisée dans le script de démarrage d'Eclipse.&lt;/p&gt;


&lt;p&gt;La solution la plus simple est donc de modifier le script de démarrage en question, en l'occurrence le fichier &lt;code&gt;/usr/bin/eclipse&lt;/code&gt; en transformant le passage suivant&amp;nbsp;:&lt;/p&gt;


&lt;pre&gt;# Set path for the Mozilla SWT binding
if [ -d /usr/lib/firefox ]; then
    export MOZILLA_FIVE_HOME=/usr/lib/firefox
elif [ -d /usr/lib/mozilla-firefox ]; then
    export MOZILLA_FIVE_HOME=/usr/lib/mozilla-firefox
elif [ -d /usr/lib/mozilla ]; then
    export MOZILLA_FIVE_HOME=/usr/lib/mozilla
fi&lt;/pre&gt;


&lt;p&gt;en ceci&amp;nbsp;:&lt;/p&gt;


&lt;pre&gt;# Set path for the Mozilla SWT binding
#if [ -d /usr/lib/firefox ]; then
#    export MOZILLA_FIVE_HOME=/usr/lib/firefox
#elif [ -d /usr/lib/mozilla-firefox ]; then
#    export MOZILLA_FIVE_HOME=/usr/lib/mozilla-firefox
if [ -d /usr/lib/mozilla ]; then
    export MOZILLA_FIVE_HOME=/usr/lib/mozilla
fi&lt;/pre&gt;


&lt;p&gt;&lt;strong&gt;Note :&lt;/strong&gt; je viens de mettre à jour en version 3.1.2, et le problème est fixé dans le &lt;code&gt;/usr/bin/eclipse&lt;/code&gt; de la distribution.&lt;/p&gt;</description>
    
    
    
          <comments>http://blog.nozav.org/post/2006/02/15/43-utiliser-le-browser-swt-sous-eclipse-avec-debian#comment-form</comments>
      <wfw:comment>http://blog.nozav.org/post/2006/02/15/43-utiliser-le-browser-swt-sous-eclipse-avec-debian#comment-form</wfw:comment>
      <wfw:commentRss>http://blog.nozav.org/feed/rss2/comments/41</wfw:commentRss>
      </item>
    
  <item>
    <title>Mettre en place un antivirus pour Linux à la maison</title>
    <link>http://blog.nozav.org/post/2006/02/06/42-mettre-en-place-un-antivirus-sous-debian</link>
    <guid isPermaLink="false">urn:md5:9f78eed6291ce65bee75cd166cb8cf19</guid>
    <pubDate>Mon, 06 Feb 2006 10:41:28 +0000</pubDate>
    <dc:creator>Juba</dc:creator>
        <category>Linux, Debian, etc.</category>
        <category>antivirus</category><category>clamav</category><category>linux</category><category>perl</category><category>procmail</category><category>sysadmin</category>    
    <description>    &lt;p&gt;A priori, le fait d'utiliser un système Linux met déjà son utilisateur à l'abri de la plupart des virus circulant sur le réseau et qui ciblent des systèmes plus répandus et moins fiables (suivez mon regard). Mais cela ne dispense pas d'utiliser un antivirus, surtout quand il en existe de très bons libres et gratuits comme &lt;a href=&quot;http://www.clamav.net/&quot; hreflang=&quot;en&quot;&gt;ClamAV&lt;/a&gt;.&lt;/p&gt;


&lt;p&gt;Voici la méthode que j'utilise pour filtrer mes mails à la maison. Elle utilise un ptit script Perl trouvé sur le web, et n'est certainement pas adéquate pour un gros serveur gérant des dizaines de comptes mails. Elle suppose que vous ayiez déjà un MTA (type postfix ou exim) qui tourne sur votre machine.&lt;/p&gt;


&lt;p&gt;La première chose à faire est d'installer clamav en tant que démon. Sous Debian, comme toujours, c'est très simple, en une commande on installe tout ça ainsi que le service de mise à jour automatique de la base de virus&amp;nbsp;:&lt;/p&gt;


&lt;p&gt;&lt;code&gt;# apt-get install clamav-freshclam clamav-daemon&lt;/code&gt;&lt;/p&gt;


&lt;p&gt;La seconde chose est de faire passer tous les mails à travers l'antivirus. Ceci se fait à l'aide de la commande &lt;code&gt;clamdscan&lt;/code&gt;. La solution la plus simple que j'ai trouvée consiste en un petit script Perl nommé &lt;a href=&quot;http://www.everysoft.com/clamfilter.html&quot; hreflang=&quot;en&quot;&gt;clamfilter.pl&lt;/a&gt;. Le seul inconvénient est qu'il n'utilise pas le démon, mais le client clamav qui lui lance un processus à chaque mail scanné et prend beaucoup plus de ressources système. Le script étant du domaine public (vive le libre !), j'ai donc modifié une dizaine de caractères pour lui faire utiliser &lt;code&gt;clamdscan&lt;/code&gt; plutôt que &lt;code&gt;clamscan&lt;/code&gt;. Le résultat est le suivant&amp;nbsp;:&lt;/p&gt;



&lt;pre&gt;#!/usr/bin/perl -w
#
# ClamFilter 1.0
# by Matt Hahnfeld (http://www.everysoft.com/)
# Requires perl, clamscan, procmail, and this script.
#
# This script is public domain.
#

use strict;
use File::Temp 'tempfile';

&amp;amp;main();
exit 0;

sub main {
  # Set up a temporary file for the original message
  my ($tmpfh, $tmpfn) = tempfile( UNLINK =&amp;gt; 1 );
  -w $tmpfn or die 'Could not open temp file!';

  # Pass 1: Write out the temporary file
  while (&amp;lt;STDIN&amp;gt;) {
    print $tmpfh $_;
  }
  seek($tmpfh, 0, 0);

  # Pass 2: Scan the message
  open CLAMSCAN, &quot;/bin/cat $tmpfn | /usr/bin/clamdscan --stdout - 2&amp;gt;/dev/null |&quot; or die 'Could not open clamscan!';
  my $clamstatus = qq|X-Virus-Found: yes
X-Virus-Status:
 &lt;del&gt;&lt;/del&gt;&lt;del&gt;&lt;/del&gt;&lt;del&gt;&lt;/del&gt;&lt;del&gt;&lt;/del&gt;&lt;del&gt;&lt;/del&gt;&lt;del&gt;&lt;/del&gt;&lt;del&gt;&lt;/del&gt;&lt;del&gt;&lt;/del&gt;&lt;del&gt;&lt;/del&gt;&lt;del&gt;&lt;/del&gt;&lt;del&gt;&lt;/del&gt;&lt;del&gt;&lt;/del&gt;&lt;del&gt;&lt;/del&gt;&lt;del&gt;&lt;/del&gt;&lt;del&gt;&lt;/del&gt;
 Virus Scan Status:
 &lt;del&gt;&lt;/del&gt;&lt;del&gt;&lt;/del&gt;&lt;del&gt;&lt;/del&gt;&lt;del&gt;&lt;/del&gt;&lt;del&gt;&lt;/del&gt;&lt;del&gt;&lt;/del&gt;&lt;del&gt;&lt;/del&gt;&lt;del&gt;&lt;/del&gt;&lt;del&gt;&lt;/del&gt;&lt;del&gt;&lt;/del&gt;&lt;del&gt;&lt;/del&gt;&lt;del&gt;&lt;/del&gt;&lt;del&gt;&lt;/del&gt;&lt;del&gt;&lt;/del&gt;&lt;del&gt;&lt;/del&gt;
|;
  while (&amp;lt;CLAMSCAN&amp;gt;) {
    $clamstatus .= ' ' . $_;
  }
  close CLAMSCAN;
  $clamstatus .= qq| 
 &lt;del&gt;&lt;/del&gt;&lt;del&gt;&lt;/del&gt;&lt;del&gt;&lt;/del&gt;&lt;del&gt;&lt;/del&gt;&lt;del&gt;&lt;/del&gt;&lt;del&gt;&lt;/del&gt;&lt;del&gt;&lt;/del&gt;&lt;del&gt;&lt;/del&gt;&lt;del&gt;&lt;/del&gt;&lt;del&gt;&lt;/del&gt;&lt;del&gt;&lt;/del&gt;&lt;del&gt;&lt;/del&gt;&lt;del&gt;&lt;/del&gt;&lt;del&gt;&lt;/del&gt;&lt;del&gt;&lt;/del&gt;

|;

  # Pass 3: Print out the message
  my $bodyflag = 0;
  while (&amp;lt;$tmpfh&amp;gt;) {
    if (! $bodyflag and $_ eq &quot;
&quot;) {
      if ($?) {
	print $clamstatus;
      }
      else {
	print &quot;
&quot;;
      }
      $bodyflag = 1;
    }
    else {
      print;
    }
  }
}&lt;/pre&gt;

&lt;p&gt;L'installation de ce script est très simple&amp;nbsp;: copiez le contenu dans un fichier &lt;code&gt;/usr/local/bin/clamfilter.pl&lt;/code&gt;, rendez le exécutable avec un petit &lt;code&gt;chmod +x clamfilter.pl&lt;/code&gt; et ajoutez la ligne suivante dans votre fichier &lt;code&gt;.procmailrc&lt;/code&gt;&amp;nbsp;:&lt;/p&gt;


&lt;pre&gt;:0fw
| /usr/local/bin/clamfilter.pl&lt;/pre&gt;


&lt;p&gt;Et voilà&amp;nbsp;! Normalement tous vos mails devraient être scannés avant leur distribution. S'ils contiennent un virus détecté, le script rajoute un flag &lt;code&gt;X-virus-found: yes&lt;/code&gt; dans les en-têtes (pratique pour créer des filtres automatiques dans votre lecteur de mail préféré) et ajoute quelques lignes d'information au début du message.&lt;/p&gt;


&lt;p&gt;Vous pouvez tester le bon fonctionnement de votre installation d'abord en vérifiant qu'un mail normal passe sans problème, et ensuite en testant avec le fichier de test d'antivirus &lt;a href=&quot;http://www.eicar.org/anti_virus_test_file.htm&quot; hreflang=&quot;en&quot;&gt;eicar&lt;/a&gt;.&lt;/p&gt;</description>
    
    
    
          <comments>http://blog.nozav.org/post/2006/02/06/42-mettre-en-place-un-antivirus-sous-debian#comment-form</comments>
      <wfw:comment>http://blog.nozav.org/post/2006/02/06/42-mettre-en-place-un-antivirus-sous-debian#comment-form</wfw:comment>
      <wfw:commentRss>http://blog.nozav.org/feed/rss2/comments/40</wfw:commentRss>
      </item>
    
</channel>
</rss>