<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10frenchfull.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0"><title>saimon&lt;span&gt;.org&lt;/span&gt;</title><link href="http://saimon.org/log/" rel="alternate" /><id>http://saimon.org/log/</id><updated>2011-10-07T00:00:00+02:00</updated><feedburner:info uri="saimonblog" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://saimon.org/blog/feed/atom" /><feedburner:emailServiceId>SaimonBlog</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><feedburner:feedFlare href="http://add.my.yahoo.com/content?lg=fr&amp;url=http%3A%2F%2Fsaimon.org%2Fblog%2Ffeed%2Fatom" src="http://us.i1.yimg.com/us.yimg.com/i/us/my/bn/intatm_fr_1.gif">Subscribe with Mon Yahoo!</feedburner:feedFlare><feedburner:feedFlare href="http://www.newsgator.com/ngs/subscriber/subext.aspx?url=http%3A%2F%2Fsaimon.org%2Fblog%2Ffeed%2Fatom" src="http://www.newsgator.com/images/ngsub1.gif">Subscribe with NewsGator</feedburner:feedFlare><feedburner:feedFlare href="http://www.bloglines.com/sub/http://saimon.org/blog/feed/atom" src="http://www.bloglines.com/images/sub_modern11.gif">Subscribe with Bloglines</feedburner:feedFlare><feedburner:feedFlare href="http://www.netvibes.com/subscribe.php?url=http%3A%2F%2Fsaimon.org%2Fblog%2Ffeed%2Fatom" src="http://www.netvibes.com/img/add2netvibes.gif">Subscribe with Netvibes</feedburner:feedFlare><feedburner:feedFlare href="http://fusion.google.com/add?feedurl=http%3A%2F%2Fsaimon.org%2Fblog%2Ffeed%2Fatom" src="http://buttons.googlesyndication.com/fusion/add.gif">Subscribe with Google</feedburner:feedFlare><feedburner:feedFlare href="http://www.live.com/?add=http%3A%2F%2Fsaimon.org%2Fblog%2Ffeed%2Fatom" src="http://tkfiles.storage.msn.com/x1piYkpqHC_35nIp1gLE68-wvzLZO8iXl_JMledmJQXP-XTBOLfmQv4zhj4MhcWEJh_GtoBIiAl1Mjh-ndp9k47If7hTaFno0mxW9_i3p_5qQw">Subscribe with Live.com</feedburner:feedFlare><entry><title>Gérer ses fichiers avec Emacs et Dired</title><link href="http://feedproxy.google.com/~r/SaimonBlog/~3/lxOGQC4rQIA/gerer-ses-fichiers-avec-emacs-et-dired.html" rel="alternate" /><updated>2011-10-07T00:00:00+02:00</updated><author><name>Saïmon</name></author><id>tag:saimon.org,2011-10-07:/log//gerer-ses-fichiers-avec-emacs-et-dired.html/</id><summary type="html">&lt;p&gt;&lt;a class="reference external" href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Dired.html#Dired"&gt;Dired&lt;/a&gt; est un mode Emacs pour gérer ses fichiers et répertoires. Ce billet
est juste un petit pense-bête des commandes les plus courantes. D'autres
fonctionnalités sont listées sur &lt;a class="reference external" href="http://www.emacswiki.org/emacs/DiredMode"&gt;EmacsWiki&lt;/a&gt;.&lt;/p&gt;
&lt;img alt="Emacs et le mode Dired" class="align-center" src="http://saimon.org/public/info/emacs-dired.png" /&gt;
&lt;div class="section" id="raccourcis-generaux"&gt;
&lt;h2&gt;Raccourcis généraux&lt;/h2&gt;
&lt;table border="1" class="docutils"&gt;
&lt;colgroup&gt;
&lt;col width="24%" /&gt;
&lt;col width="76%" /&gt;
&lt;/colgroup&gt;
&lt;tbody valign="top"&gt;
&lt;tr&gt;&lt;td&gt;&lt;tt class="docutils literal"&gt;o&lt;/tt&gt;&lt;/td&gt;
&lt;td&gt;voir le fichier dans un autre buffer&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;tt class="docutils literal"&gt;g&lt;/tt&gt;&lt;/td&gt;
&lt;td&gt;met à jour le contenu du buffer&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;tt class="docutils literal"&gt;m&lt;/tt&gt;&lt;/td&gt;
&lt;td&gt;marquer un fichier&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;tt class="docutils literal"&gt;% m regexp&lt;/tt&gt;&lt;/td&gt;
&lt;td&gt;marque les fichiers avec une regex&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;tt class="docutils literal"&gt;d&lt;/tt&gt;&lt;/td&gt;
&lt;td&gt;marque le fichier pour suppression&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;tt class="docutils literal"&gt;u&lt;/tt&gt;&lt;/td&gt;
&lt;td&gt;annule le marquage pour suppression&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;tt class="docutils literal"&gt;x&lt;/tt&gt;&lt;/td&gt;
&lt;td&gt;supprime les fichiers marqués pour suppression&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;tt class="docutils literal"&gt;!&lt;/tt&gt;&lt;/td&gt;
&lt;td&gt;lance une commande shell&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;div class="section" id="repertoires"&gt;
&lt;h2&gt;Répertoires&lt;/h2&gt;
&lt;table border="1" class="docutils"&gt;
&lt;colgroup&gt;
&lt;col width="13%" /&gt;
&lt;col width="87%" /&gt;
&lt;/colgroup&gt;
&lt;tbody valign="top"&gt;
&lt;tr&gt;&lt;td&gt;&lt;tt class="docutils literal"&gt;+&lt;/tt&gt;&lt;/td&gt;
&lt;td&gt;crée un répertoire&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;tt class="docutils literal"&gt;i&lt;/tt&gt;&lt;/td&gt;
&lt;td&gt;montre le sous-répertoire dans le buffer&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;tt class="docutils literal"&gt;^&lt;/tt&gt;&lt;/td&gt;
&lt;td&gt;va au répertoire parent&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;tt class="docutils literal"&gt;$&lt;/tt&gt;&lt;/td&gt;
&lt;td&gt;montre/cache le sous-répertoire&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;tt class="docutils literal"&gt;&lt;span class="pre"&gt;M-$&lt;/span&gt;&lt;/tt&gt;&lt;/td&gt;
&lt;td&gt;cache tous les sous-répertoires&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;div class="section" id="operations-sur-les-fichiers"&gt;
&lt;h2&gt;Opérations sur les fichiers:&lt;/h2&gt;
&lt;table border="1" class="docutils"&gt;
&lt;colgroup&gt;
&lt;col width="21%" /&gt;
&lt;col width="79%" /&gt;
&lt;/colgroup&gt;
&lt;tbody valign="top"&gt;
&lt;tr&gt;&lt;td&gt;&lt;tt class="docutils literal"&gt;C&lt;/tt&gt;&lt;/td&gt;
&lt;td&gt;copier&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;tt class="docutils literal"&gt;D&lt;/tt&gt;&lt;/td&gt;
&lt;td&gt;supprimer&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;tt class="docutils literal"&gt;R&lt;/tt&gt;&lt;/td&gt;
&lt;td&gt;renommer&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;tt class="docutils literal"&gt;P&lt;/tt&gt;&lt;/td&gt;
&lt;td&gt;imprimer&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;tt class="docutils literal"&gt;Z&lt;/tt&gt;&lt;/td&gt;
&lt;td&gt;(dé)compresser&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;tt class="docutils literal"&gt;=&lt;/tt&gt;&lt;/td&gt;
&lt;td&gt;compare le fichier avec un autre&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;tt class="docutils literal"&gt;&lt;span class="pre"&gt;M-=&lt;/span&gt;&lt;/tt&gt;&lt;/td&gt;
&lt;td&gt;compare avec le dernier backup&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;div class="section" id="wdired"&gt;
&lt;h2&gt;WDired&lt;/h2&gt;
&lt;p&gt;Un mode spécial qui permet de faire des opérations (renommer des fichiers par
exemple) directement en éditant le buffer.&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;&lt;tt class="docutils literal"&gt;&lt;span class="pre"&gt;C-x&lt;/span&gt; &lt;span class="pre"&gt;C-q&lt;/span&gt;&lt;/tt&gt; pour entrer dans le mode WDired,&lt;/li&gt;
&lt;li&gt;&lt;tt class="docutils literal"&gt;&lt;span class="pre"&gt;C-c&lt;/span&gt; &lt;span class="pre"&gt;C-c&lt;/span&gt;&lt;/tt&gt; pour valider les changements.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Très pratique avec le mode cua pour les sélections rectangulaires (en
désactivant l'utilisation de cua pour avoir C-z, C-x, C-c, et C-v pour
annuler, couper, copier et coller):&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span class="c1"&gt;;; use cua-mode only for rectangles&lt;/span&gt;
&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="k"&gt;setq&lt;/span&gt; &lt;span class="nv"&gt;cua-enable-cua-keys&lt;/span&gt; &lt;span class="no"&gt;nil&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;cua-mode&lt;/span&gt; &lt;span class="no"&gt;t&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class="section" id="configuration"&gt;
&lt;h2&gt;Configuration&lt;/h2&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span class="c1"&gt;;; utiliser la corbeille pour les fichiers supprimés&lt;/span&gt;
&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="k"&gt;setq&lt;/span&gt; &lt;span class="nv"&gt;delete-by-moving-to-trash&lt;/span&gt; &lt;span class="no"&gt;t&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="c1"&gt;;; options de ls pour l&amp;#39;affichage des fichiers/dossiers&lt;/span&gt;
&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="k"&gt;setq&lt;/span&gt; &lt;span class="nv"&gt;dired-listing-switches&lt;/span&gt; &lt;span class="s"&gt;&amp;quot;-aFGhl --group-directories-first&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;img src="http://feeds.feedburner.com/~r/SaimonBlog/~4/lxOGQC4rQIA" height="1" width="1"/&gt;</summary><category term="planet-libre" /><category term="emacs" /><feedburner:origLink>http://saimon.org/log//gerer-ses-fichiers-avec-emacs-et-dired.html</feedburner:origLink></entry><entry><title>Des vidéos avec HTML5 et FFmpeg</title><link href="http://feedproxy.google.com/~r/SaimonBlog/~3/xRHijdRanEc/des-videos-avec-html5-et-ffmpeg.html" rel="alternate" /><updated>2011-07-25T23:30:00+02:00</updated><author><name>Saïmon</name></author><id>tag:saimon.org,2011-07-25:/log//des-videos-avec-html5-et-ffmpeg.html/</id><summary type="html">&lt;p&gt;Confronté au problème de la mise en ligne de vidéos, je me suis intéressé à la
balise &lt;tt class="docutils literal"&gt;&amp;lt;video&amp;gt;&lt;/tt&gt; d'HTML5 et à l'encodage de vidéos. Puisqu'on peut désormais
éviter Flash, profitons-en !&lt;/p&gt;
&lt;div class="section" id="encodage-des-videos"&gt;
&lt;h2&gt;Encodage des vidéos&lt;/h2&gt;
&lt;p&gt;Première étape donc, l'encodage des vidéos. Pour qu'elles soient visibles sur
les différents navigateurs, il faut encoder chaque vidéo au format libre
&lt;a class="reference external" href="http://fr.wikipedia.org/wiki/WebM"&gt;WebM&lt;/a&gt; (VP8/Vorbis), pris en charge par Firefox 4+, Chrome 6+ et Opera 10.6+,
et au format mp4 (h264/mp3) pour Safari 3+ et Internet Eplorer 9+ :&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;ffmpeg -i input.avi -vcodec libvpx -acodec libvorbis -threads 4 output.webm
ffmpeg -i input.avi -vcodec libx264 -acodec libmp3lame -preset slow -crf 22 -threads 0 output.mp4
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Au passage, il est possible avec &lt;a class="reference external" href="http://fr.wikipedia.org/wiki/FFmpeg"&gt;FFmpeg&lt;/a&gt; de tourner les vidéos avec l'option
&lt;tt class="docutils literal"&gt;&lt;span class="pre"&gt;-vf&lt;/span&gt; &amp;quot;transpose=1&amp;quot;&lt;/tt&gt; (pour tourner de 90°, &lt;tt class="docutils literal"&gt;=2&lt;/tt&gt; pour l'inverse). Voilà donc
un petit script pour gérer ça et éventuellement tourner les vidéos avec
l'option &lt;tt class="docutils literal"&gt;&lt;span class="pre"&gt;-r&lt;/span&gt;&lt;/tt&gt; ou &lt;tt class="docutils literal"&gt;&lt;span class="pre"&gt;--rotate&lt;/span&gt;&lt;/tt&gt;:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span class="c"&gt;#!/bin/sh&lt;/span&gt;
&lt;span class="c"&gt;# -*- coding: UTF8 -*-&lt;/span&gt;

&lt;span class="nv"&gt;rotate&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;0

&lt;span class="k"&gt;while &lt;/span&gt;&lt;span class="nb"&gt;true&lt;/span&gt;; &lt;span class="k"&gt;do&lt;/span&gt;
&lt;span class="k"&gt;   case&lt;/span&gt; &lt;span class="nv"&gt;$1&lt;/span&gt; in
      -r | --rotate&lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="nv"&gt;rotate&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;1; &lt;span class="nb"&gt;shift&lt;/span&gt; ;;
      *&lt;span class="o"&gt;)&lt;/span&gt;  &lt;span class="nb"&gt;break&lt;/span&gt; ;;
   &lt;span class="k"&gt;esac&lt;/span&gt;
&lt;span class="k"&gt;done&lt;/span&gt;

&lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt; &lt;span class="nv"&gt;$rotate&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; 0 &lt;span class="o"&gt;]&lt;/span&gt;
&lt;span class="k"&gt;then&lt;/span&gt;
&lt;span class="k"&gt;   for &lt;/span&gt;i in &lt;span class="s2"&gt;&amp;quot;$@&amp;quot;&lt;/span&gt;
   &lt;span class="k"&gt;do&lt;/span&gt;
&lt;span class="k"&gt;      &lt;/span&gt;ffmpeg -i &lt;span class="nv"&gt;$i&lt;/span&gt; -vcodec libvpx -acodec libvorbis -threads 4 &lt;span class="k"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;i&lt;/span&gt;&lt;span class="p"&gt;/AVI/webm&lt;/span&gt;&lt;span class="k"&gt;}&lt;/span&gt;
      ffmpeg -i &lt;span class="nv"&gt;$i&lt;/span&gt; -vcodec libx264 -acodec libmp3lame -preset slow -crf 22 -threads 0 &lt;span class="k"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;i&lt;/span&gt;&lt;span class="p"&gt;/AVI/mp4&lt;/span&gt;&lt;span class="k"&gt;}&lt;/span&gt;
   &lt;span class="k"&gt;done&lt;/span&gt;
&lt;span class="k"&gt;else&lt;/span&gt;
&lt;span class="k"&gt;   for &lt;/span&gt;i in &lt;span class="s2"&gt;&amp;quot;$@&amp;quot;&lt;/span&gt;
   &lt;span class="k"&gt;do&lt;/span&gt;
&lt;span class="k"&gt;      &lt;/span&gt;ffmpeg -i &lt;span class="nv"&gt;$i&lt;/span&gt; -vf &lt;span class="s2"&gt;&amp;quot;transpose=1&amp;quot;&lt;/span&gt; -vcodec libvpx -acodec libvorbis -threads 4 &lt;span class="k"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;i&lt;/span&gt;&lt;span class="p"&gt;/AVI/webm&lt;/span&gt;&lt;span class="k"&gt;}&lt;/span&gt;
      ffmpeg -i &lt;span class="nv"&gt;$i&lt;/span&gt; -vf &lt;span class="s2"&gt;&amp;quot;transpose=1&amp;quot;&lt;/span&gt; -vcodec libx264 -acodec libmp3lame -preset slow -crf 22 -threads 0 &lt;span class="k"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;i&lt;/span&gt;&lt;span class="p"&gt;/AVI/mp4&lt;/span&gt;&lt;span class="k"&gt;}&lt;/span&gt;
   &lt;span class="k"&gt;done&lt;/span&gt;
&lt;span class="k"&gt;fi&lt;/span&gt;

&lt;span class="nb"&gt;exit&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class="section" id="creation-de-la-page-web"&gt;
&lt;h2&gt;Création de la page web&lt;/h2&gt;
&lt;p&gt;Ensuite il reste à insérer les vidéos dans une page web. Pour cela, j'ai
simplement utilisé &lt;a class="reference external" href="http://html5boilerplate.com/"&gt;HTML5 ★ Boilerplate&lt;/a&gt; comme base et suivi les conseils de
&lt;a class="reference external" href="http://diveintohtml5.org/video.html"&gt;diveintohtml5&lt;/a&gt;:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span class="nt"&gt;&amp;lt;video&lt;/span&gt; &lt;span class="na"&gt;width=&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;480&amp;quot;&lt;/span&gt; &lt;span class="na"&gt;height=&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;640&amp;quot;&lt;/span&gt; &lt;span class="na"&gt;controls&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;source&lt;/span&gt; &lt;span class="na"&gt;src=&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;videos/dscn0470.mp4&amp;quot;&lt;/span&gt;  &lt;span class="na"&gt;type=&lt;/span&gt;&lt;span class="s"&gt;&amp;#39;video/mp4; codecs=&amp;quot;avc1.42E01E, mp4a.40.2&amp;quot;&amp;#39;&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;source&lt;/span&gt; &lt;span class="na"&gt;src=&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;videos/dscn0470.webm&amp;quot;&lt;/span&gt; &lt;span class="na"&gt;type=&lt;/span&gt;&lt;span class="s"&gt;&amp;#39;video/webm; codecs=&amp;quot;vp8, vorbis&amp;quot;&amp;#39;&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/video&amp;gt;&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;img src="http://feeds.feedburner.com/~r/SaimonBlog/~4/xRHijdRanEc" height="1" width="1"/&gt;</summary><category term="planet-libre" /><feedburner:origLink>http://saimon.org/log//des-videos-avec-html5-et-ffmpeg.html</feedburner:origLink></entry><entry><title>De dotclear à pelican</title><link href="http://feedproxy.google.com/~r/SaimonBlog/~3/CGJP11E0GRY/de-dotclear-a-pelican.html" rel="alternate" /><updated>2011-06-02T00:00:00+02:00</updated><author><name>Saïmon</name></author><id>tag:saimon.org,2011-06-02:/log//de-dotclear-a-pelican.html/</id><summary type="html">&lt;p&gt;Ce blog est désormais propulsé par &lt;a class="reference external" href="http://alexis.notmyidea.org/pelican/"&gt;pelican&lt;/a&gt;, un générateur de blog statique
codé en python. Générer les pages html avant de les envoyer sur le serveur a
plusieurs intérêts:&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;légèreté: pas de base de données,&lt;/li&gt;
&lt;li&gt;sécurité: pas de risque de faille de sécurité,&lt;/li&gt;
&lt;li&gt;maintenance: pas de mise à jour à effectuer et facilité pour changer
d'hébergeur,&lt;/li&gt;
&lt;li&gt;possibilité d'utiliser un gestionnaire de versions (git ou mercurial),&lt;/li&gt;
&lt;li&gt;utilisation de son éditeur de texte favori (emacs et rst-mode rulez).&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Au rayon des inconvénients, la nécessité de passer par un service externe pour
les commentaires (disqus) et l'impossibilité de faire des mises à jour du site
depuis n'importe où via une interface web.&lt;/p&gt;
&lt;p&gt;Cette transition a nécessité pas mal de bidouille, une modif du fichier
&lt;a class="reference external" href="https://github.com/saimn/pelican/commit/0af1fc51b75aed86d444af8ccc51eb77167ae0e0"&gt;importer.py&lt;/a&gt; mais aussi des modifs manuelles ou avec des macros emacs sur le
fichier de sauvegarde de dotclear et sur les fichiers rst générés par pandoc
(sur lequel se base le script &lt;tt class="docutils literal"&gt;importer.py&lt;/tt&gt; de pelican). Pour les
commentaires, la solution a été de passer par wordpress pour ensuite importer
l'export xml de wordpress dans disqus.&lt;/p&gt;
&lt;img src="http://feeds.feedburner.com/~r/SaimonBlog/~4/CGJP11E0GRY" height="1" width="1"/&gt;</summary><feedburner:origLink>http://saimon.org/log//de-dotclear-a-pelican.html</feedburner:origLink></entry><entry><title>Utiliser un calendrier ical dans org-mode</title><link href="http://feedproxy.google.com/~r/SaimonBlog/~3/N5qBe-2sFjY/utiliser-un-calendrier-ical-dans-org-mode.html" rel="alternate" /><updated>2011-04-18T00:00:00+02:00</updated><author><name>Saïmon</name></author><id>tag:saimon.org,2011-04-18:/log//utiliser-un-calendrier-ical-dans-org-mode.html/</id><summary type="html">&lt;p&gt;&lt;a class="reference external" href="http://orgmode.org/"&gt;Org-Mode&lt;/a&gt; est un mode pour gérer calendrier, liste de tâches et notes dans
Emacs. Après avoir essayé de nombreuses solutions, c'est finalement celle que
j'ai adoptée. Il ne me manquait que la possibilité d'importer des calendriers
ical (depuis google calendar par exemple) pour utiliser pleinement le
calendrier. La solution est fournie par &lt;a class="reference external" href="https://github.com/cofi/ical2org"&gt;ical2org&lt;/a&gt; et un petit script appelé
avec une tâche cron. Le script permet de télécharger le fichier ical et
d'appeler ical2org via emacs:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span class="c"&gt;#!/bin/sh&lt;/span&gt;
&lt;span class="nv"&gt;calpath&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;/home/user/.calendar/
&lt;span class="nv"&gt;emacspath&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;/home/user/.emacs.d/

rm &lt;span class="nv"&gt;$calpath&lt;/span&gt;/calendar.org
wget -O &lt;span class="nv"&gt;$calpath&lt;/span&gt;/calendar.ics &lt;span class="s2"&gt;&amp;quot;http://www.example.org/basic.ics&amp;quot;&lt;/span&gt;

emacs --batch --load &lt;span class="nv"&gt;$emacspath&lt;/span&gt;/ical2org.el --eval &lt;span class="s1"&gt;&amp;#39;(s/ical2org)&amp;#39;&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;La dernière ligne permet de charger uniquement ical2org et pas la config
emacs complète, avec le fichier &lt;tt class="docutils literal"&gt;&lt;span class="pre"&gt;/home/user/.emacs.d/ical2org.el&lt;/span&gt;&lt;/tt&gt;:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;load&lt;/span&gt; &lt;span class="s"&gt;&amp;quot;~/.emacs.d/site-lisp/ical2org/ical2org.el&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;defun&lt;/span&gt; &lt;span class="nv"&gt;s/ical2org&lt;/span&gt; &lt;span class="p"&gt;()&lt;/span&gt;
  &lt;span class="s"&gt;&amp;quot;Convert ics files to org-mode&amp;quot;&lt;/span&gt;
  &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;interactive&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
  &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;ical2org/convert-file&lt;/span&gt; &lt;span class="s"&gt;&amp;quot;~/.calendar/calendar.ics&amp;quot;&lt;/span&gt; &lt;span class="s"&gt;&amp;quot;~/.calendar/calendar.org&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;img alt="Org-Mode calendar" class="align-center" src="http://saimon.org/public/info/org-calendar.png" /&gt;
&lt;img src="http://feeds.feedburner.com/~r/SaimonBlog/~4/N5qBe-2sFjY" height="1" width="1"/&gt;</summary><category term="planet-libre" /><category term="emacs" /><feedburner:origLink>http://saimon.org/log//utiliser-un-calendrier-ical-dans-org-mode.html</feedburner:origLink></entry><entry><title>Mercurial et hgweb sur OVH mutualisé</title><link href="http://feedproxy.google.com/~r/SaimonBlog/~3/ZAoRQYIr7Ho/mercurial-et-hgweb-sur-ovh-mutualise.html" rel="alternate" /><updated>2010-07-20T00:00:00+02:00</updated><author><name>Saïmon</name></author><id>tag:saimon.org,2010-07-20:/log//mercurial-et-hgweb-sur-ovh-mutualise.html/</id><summary type="html">&lt;p&gt;Après quelques essais infructueux pour installer &lt;tt class="docutils literal"&gt;hgweb&lt;/tt&gt; ou &lt;tt class="docutils literal"&gt;gitweb&lt;/tt&gt; sur
OVH, et me passer ainsi de sites tiers tels que bitbucket ou github, j'ai
enfin réussi ! Le résultat est ici: &lt;span class="strike"&gt;http://hg.saimon.org/&lt;/span&gt; (je suis
passé à git: &lt;a class="reference external" href="https://github.com/saimn"&gt;https://github.com/saimn&lt;/a&gt;).&lt;/p&gt;
&lt;p&gt;Voici donc quelques notes sur l'installation de &lt;tt class="docutils literal"&gt;mercurial&lt;/tt&gt; et de &lt;tt class="docutils literal"&gt;hgweb&lt;/tt&gt;
sur un hébergement mutualisé OVH (au moins la version &amp;quot;pro&amp;quot; car il faut un
accès ssh !).&lt;/p&gt;
&lt;p&gt;Télécharger &lt;a class="reference external" href="http://www.python.org/download/releases/2.4.4/"&gt;Python-2.4.4.tar.bz2&lt;/a&gt; (la version courante chez OVH), extraire
l'archive, se rendre dans &lt;tt class="docutils literal"&gt;&lt;span class="pre"&gt;Python-2.4.4/&lt;/span&gt;&lt;/tt&gt; et lancer &lt;tt class="docutils literal"&gt;configure&lt;/tt&gt;
(nécessaire pour avoir les headers &lt;tt class="docutils literal"&gt;Python.h&lt;/tt&gt; et &lt;tt class="docutils literal"&gt;pyconfig.h&lt;/tt&gt;) :&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;tar xjvf Python-2.4.4.tar.bz2
&lt;span class="nb"&gt;cd &lt;/span&gt;Python-2.4.4/
./configure
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Télécharger mercurial et l'extraire :&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;tar xzvf mercurial-1.6.tar.gz
&lt;span class="nb"&gt;cd &lt;/span&gt;mercurial-1.6/
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Renseigner le chemin des header python:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span class="nb"&gt;export &lt;/span&gt;&lt;span class="nv"&gt;C_INCLUDE_PATH&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;$HOME/Python-2.4.4/Include:$HOME/Python-2.4.4&amp;quot;&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Lancer l'installation, avec la version pour installer en espace
utilisateur (par contre &lt;tt class="docutils literal"&gt;make &lt;span class="pre"&gt;install-home&lt;/span&gt;&lt;/tt&gt; ne fonctionne pas car il
faudrait installer &lt;tt class="docutils literal"&gt;docutils&lt;/tt&gt; pour pouvoir installer également la doc)
:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;make install-home-bin
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Paramétrage du path python (à mettre dans le &lt;tt class="docutils literal"&gt;.bashrc&lt;/tt&gt; par exemple):&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span class="nb"&gt;export &lt;/span&gt;&lt;span class="nv"&gt;PYTHONPATH&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="k"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;HOME&lt;/span&gt;&lt;span class="k"&gt;}&lt;/span&gt;/lib/python
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Copier &lt;tt class="docutils literal"&gt;&lt;span class="pre"&gt;mercurial-1.6/hgweb.cgi&lt;/span&gt;&lt;/tt&gt; et l'éditer. Cette étape est bien
décrite dans la &lt;a class="reference external" href="http://mercurial.selenic.com/wiki/PublishingRepositories"&gt;doc officielle&lt;/a&gt;. Seul point à noter: dans mercurial
1.6, &lt;tt class="docutils literal"&gt;hgwebdir.cgi&lt;/tt&gt; a été fusionné avec &lt;tt class="docutils literal"&gt;hgweb.cgi&lt;/tt&gt;. Pour une
configuration multi-dépôts, il suffit donc de remplir le fichier
&lt;tt class="docutils literal"&gt;hgweb.config&lt;/tt&gt; et d'éditer &lt;tt class="docutils literal"&gt;hgweb.cgi&lt;/tt&gt; pour y mettre le chemin :
&lt;tt class="docutils literal"&gt;config = /chemin/vers/hgweb.config&lt;/tt&gt;. Il faut également donner les
bons droits :&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;chmod 705 hgweb.cgi
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Pour avoir de belles urls: cf. le paragraphe correspondant dans la
&lt;a class="reference external" href="http://mercurial.selenic.com/wiki/PublishingRepositories#Configuring_Apache"&gt;doc&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Pour faire un clone/push/pull par ssh, il y a un soucis car le binaire
&lt;tt class="docutils literal"&gt;hg&lt;/tt&gt; n'est pas trouvé. L'option &lt;tt class="docutils literal"&gt;PermitUserEnvironment&lt;/tt&gt; de
&lt;tt class="docutils literal"&gt;sshd_config&lt;/tt&gt; n'étant pas diponible, il n'est pas possible de s'en
sortir avec le fichier &lt;tt class="docutils literal"&gt;&lt;span class="pre"&gt;~/.ssh/environment&lt;/span&gt;&lt;/tt&gt;. Heureusement il reste
l'option &lt;tt class="docutils literal"&gt;remotecmd&lt;/tt&gt; de mercurial :&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;hg clone --remotecmd bin/hg ssh://mon.serveur.hg/projet/
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Il est également possible d'utiliser cette option dans le fichier
&lt;tt class="docutils literal"&gt;.hgrc&lt;/tt&gt; d'un dépôt:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span class="k"&gt;[ui]&lt;/span&gt;
&lt;span class="na"&gt;remotecmd&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;/chemin/vers/bin/hg&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;On peut alors faire un clone directement par http avec l'adresse du
dépôt. Attention, mettre &lt;tt class="docutils literal"&gt;verbose = True&lt;/tt&gt; dans le fichier &lt;tt class="docutils literal"&gt;&lt;span class="pre"&gt;~/.hgrc&lt;/span&gt;&lt;/tt&gt;
(sur le serveur) provoque une erreur 500. Par contre, je n'ai pas testé
le push par http(s) (basé sur l'authentification apache).&lt;/p&gt;
&lt;img src="http://feeds.feedburner.com/~r/SaimonBlog/~4/ZAoRQYIr7Ho" height="1" width="1"/&gt;</summary><category term="planet-libre" /><category term="mercurial" /><feedburner:origLink>http://saimon.org/log//mercurial-et-hgweb-sur-ovh-mutualise.html</feedburner:origLink></entry><entry><title>CV avec XeTeX et moderncv</title><link href="http://feedproxy.google.com/~r/SaimonBlog/~3/NIQGkw2ZVrQ/cv-avec-xetex-et-moderncv.html" rel="alternate" /><updated>2010-05-15T00:00:00+02:00</updated><author><name>Saïmon</name></author><id>tag:saimon.org,2010-05-15:/log//cv-avec-xetex-et-moderncv.html/</id><summary type="html">&lt;p&gt;Ayant eu à chercher un peu pour faire fonctionner le package &lt;a class="reference external" href="http://tug.ctan.org/tex-archive/macros/latex/contrib/moderncv/"&gt;moderncv&lt;/a&gt; avec
&lt;a class="reference external" href="http://fr.wikipedia.org/wiki/XeTeX"&gt;XeTeX&lt;/a&gt;, je met en ligne le fichier &lt;tt class="docutils literal"&gt;modern.cls&lt;/tt&gt; modifié, ainsi qu'un
exemple fonctionnel avec la police &lt;a class="reference external" href="http://www.josbuivenga.demon.nl/fontin.html"&gt;Fontin&lt;/a&gt;:&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;&lt;a class="reference external" href="http://saimon.org/public/info/latex/moderncv.cls"&gt;modern.cls&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="reference external" href="http://saimon.org/public/info/latex/template_en.tex"&gt;template_en.tex&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="reference external" href="http://saimon.org/public/info/latex/template_en.pdf"&gt;template_en.pdf&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;XeTeX est une variante de LaTeX qui permet d'utiliser Unicode et directement
les polices de caractère du système ; et &lt;tt class="docutils literal"&gt;moderncv&lt;/tt&gt; est un package pour
faire son CV (il en existe d'&lt;a class="reference external" href="http://www.tex.ac.uk/tex-archive/help/Catalogue/bytopic.html#applications"&gt;autres&lt;/a&gt;).&lt;/p&gt;
&lt;p&gt;Quelques ressources pour faire son CV avec LaTeX / XeTeX :&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;&lt;a class="reference external" href="http://nitens.org/taraborelli/cvtex"&gt;http://nitens.org/taraborelli/cvtex&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="reference external" href="http://www.cv-templates.info/"&gt;http://www.cv-templates.info/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="reference external" href="http://www.toofishes.net/blog/why-i-do-my-resume-latex/"&gt;http://www.toofishes.net/blog/why-i-do-my-resume-latex/&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;img src="http://feeds.feedburner.com/~r/SaimonBlog/~4/NIQGkw2ZVrQ" height="1" width="1"/&gt;</summary><category term="planet-libre" /><category term="latex" /><feedburner:origLink>http://saimon.org/log//cv-avec-xetex-et-moderncv.html</feedburner:origLink></entry><entry><title>Gnome et Xmonad</title><link href="http://feedproxy.google.com/~r/SaimonBlog/~3/5NwtZcUQBpM/gnome-et-xmonad.html" rel="alternate" /><updated>2010-05-15T00:00:00+02:00</updated><author><name>Saïmon</name></author><id>tag:saimon.org,2010-05-15:/log//gnome-et-xmonad.html/</id><summary type="html">&lt;p&gt;J'utilise depuis quelques mois &lt;a class="reference external" href="http://xmonad.org/"&gt;Xmonad&lt;/a&gt;, un gestionnaire de fenêtres «tiling»
(pavant) qui s'occupe de placer automatiquement les fenêtres en mosaïque.
C'est vraiment très pratique à utiliser quand on aime avoir plusieurs fenêtres
sous les yeux, et on peux tout contrôler au clavier ! Par contre cela
nécessite un peu d'apprentissage et un peu de configuration puisque Xmonad ne
s'occupe que de la gestion des fenêtres.&lt;/p&gt;
&lt;p&gt;Pour simplifier les choses et éviter d'avoir à configurer une barre des tâches
(avec dzen par exemple) et une zone de notification (stalonetray, ...),
j'utilise Xmonad dans Gnome, en remplacement de Metacity (le gestionnaire de
fenêtres par défaut). Cela permet aussi d'utiliser le menu Gnome, et les
différentes applets du panel.&lt;/p&gt;
&lt;p&gt;Cette utilisation est &lt;a class="reference external" href="http://www.haskell.org/haskellwiki/Xmonad/Using_xmonad_in_Gnome"&gt;documentée&lt;/a&gt; mais ce n'est pas simple au premier abord,
lorsqu'on ne connait rien à &lt;a class="reference external" href="http://haskell.org/"&gt;Haskell&lt;/a&gt;, le langage de programmation utilisé
par Xmonad. Pas besoin de connaitre haskell, mais il vaut mieux avoir quelques
notions de programmation pour s'en sortir.&lt;/p&gt;
&lt;p&gt;Je met donc en ligne mon fichier de config &lt;tt class="docutils literal"&gt;xmonad.hs&lt;/tt&gt; et un petit script
qui permet de passer facilement de Xmonad à Metacity (en modifiant les clés
gconf). Une capture d'écran pour voir ce que ça donne :&lt;/p&gt;
&lt;a class="reference external image-reference" href="http://saimon.org/public/info/xmonad/xmonad-2010-05-15.png"&gt;&lt;img alt="http://saimon.org/public/info/xmonad/.xmonad-2010-05-15_m.jpg" class="align-center" src="http://saimon.org/public/info/xmonad/.xmonad-2010-05-15_m.jpg" /&gt;&lt;/a&gt;
&lt;p&gt;Les fichiers:&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;&lt;a class="reference external" href="http://saimon.org/public/info/xmonad/xmonad.hs"&gt;xmonad.hs&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="reference external" href="http://saimon.org/public/info/xmonad/window-manager.sh"&gt;window-manager.sh&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;img src="http://feeds.feedburner.com/~r/SaimonBlog/~4/5NwtZcUQBpM" height="1" width="1"/&gt;</summary><category term="planet-libre" /><category term="linux" /><category term="gnome" /><feedburner:origLink>http://saimon.org/log//gnome-et-xmonad.html</feedburner:origLink></entry><entry><title>Sauvegarde des mails avec Offlineimap</title><link href="http://feedproxy.google.com/~r/SaimonBlog/~3/ctVtL6JzjvM/sauvegarde-des-mails-avec-offlineimap.html" rel="alternate" /><updated>2010-01-26T00:00:00+01:00</updated><author><name>Saïmon</name></author><id>tag:saimon.org,2010-01-26:/log//sauvegarde-des-mails-avec-offlineimap.html/</id><summary type="html">&lt;p&gt;L' &lt;a class="reference external" href="http://fr.wikipedia.org/wiki/Internet_Message_Access_Protocol"&gt;IMAP&lt;/a&gt; c'est bien (synchronisation des messages envoyés et des dossiers
entre les différents clients mails), mais les mails restent sur le serveur.
Pour se mettre à l'abri d'un problème sur le serveur (comme celui qui a
provoqué la perte des mails pour certains utilisateurs de &lt;a class="reference external" href="http://www.freenews.fr/spip.php?article7579"&gt;Free&lt;/a&gt;), il est
donc nécessaire de faire des sauvegardes. Pour cela, une solution est
d'utiliser &lt;a class="reference external" href="http://software.complete.org/software/projects/show/offlineimap"&gt;Offlineimap&lt;/a&gt;. Offlineimap permet de synchroniser un serveur IMAP
et une boîte au format &lt;a class="reference external" href="http://fr.wikipedia.org/wiki/Maildir"&gt;Maildir&lt;/a&gt;. La synchronisation signifie qu'il est
possible de modifier les mails localement (avec &lt;a class="reference external" href="http://fr.wikipedia.org/wiki/Mutt"&gt;Mutt&lt;/a&gt; par exemple) et les
renvoyer sur le serveur. Après l'avoir installé (un coup d'apt-get, yum ou
pacman), on trouve des exemples de configuration minimale et détaillé dans
&lt;tt class="docutils literal"&gt;/usr/share/offlineimap/&lt;/tt&gt; pour Archlinux, &lt;tt class="docutils literal"&gt;/usr/share/doc/offlineimap/&lt;/tt&gt;
pour Debian. Voici un exemple de configuration avec deux comptes (free et
gmail):&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span class="k"&gt;[general]&lt;/span&gt;
&lt;span class="na"&gt;accounts&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s"&gt;free,gmail&lt;/span&gt;

&lt;span class="na"&gt;ui&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s"&gt;Curses.Blinkenlights        # interactif et en couleur, mais bug d&amp;#39;affichage&lt;/span&gt;
&lt;span class="c"&gt;#ui = TTY.TTYUI                  # interactif simple&lt;/span&gt;
&lt;span class="c"&gt;#ui = Noninteractive.Basic, Noninteractive.Quiet # pour les tâches cron&lt;/span&gt;

&lt;span class="k"&gt;[Account free]&lt;/span&gt;
&lt;span class="na"&gt;localrepository&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s"&gt;free_local&lt;/span&gt;
&lt;span class="na"&gt;remoterepository&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s"&gt;free_remote&lt;/span&gt;

&lt;span class="k"&gt;[Repository free_local]&lt;/span&gt;
&lt;span class="na"&gt;type&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s"&gt;Maildir&lt;/span&gt;
&lt;span class="na"&gt;localfolders&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s"&gt;~/Mail/free.fr&lt;/span&gt;

&lt;span class="k"&gt;[Repository free_remote]&lt;/span&gt;
&lt;span class="na"&gt;type&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s"&gt;IMAP&lt;/span&gt;
&lt;span class="c"&gt;# ssl = yes # pas de ssl chez Free ...&lt;/span&gt;
&lt;span class="na"&gt;remotehost&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s"&gt;imap.free.fr&lt;/span&gt;
&lt;span class="na"&gt;remoteuser&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s"&gt;xxxxxxxxx&lt;/span&gt;

&lt;span class="k"&gt;[Account gmail]&lt;/span&gt;
&lt;span class="na"&gt;localrepository&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s"&gt;gmail_local&lt;/span&gt;
&lt;span class="na"&gt;remoterepository&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s"&gt;gmail_remote&lt;/span&gt;

&lt;span class="k"&gt;[Repository gmail_local]&lt;/span&gt;
&lt;span class="na"&gt;type&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s"&gt;Maildir&lt;/span&gt;
&lt;span class="na"&gt;localfolders&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s"&gt;~/Mail/gmail.com&lt;/span&gt;
&lt;span class="na"&gt;subscribedonly&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s"&gt;no&lt;/span&gt;

&lt;span class="k"&gt;[Repository gmail_remote]&lt;/span&gt;
&lt;span class="na"&gt;type&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s"&gt;Gmail&lt;/span&gt;
&lt;span class="na"&gt;remoteuser&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s"&gt;xxxxxxxxxx@gmail.com&lt;/span&gt;
&lt;span class="na"&gt;realdelete&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s"&gt;no&lt;/span&gt;
&lt;span class="na"&gt;folderfilter&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s"&gt;lambda foldername: foldername not in [ &amp;#39;[Gmail]/All Mail&amp;#39;,&lt;/span&gt;
&lt;span class="s"&gt;                                                      &amp;#39;[Gmail]/Starred&amp;#39;,&lt;/span&gt;
&lt;span class="s"&gt;                                                      &amp;#39;[Gmail]/Spam&amp;#39;]&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Quelques remarques:&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;l'interface &lt;tt class="docutils literal"&gt;Curses.Blinkenlights&lt;/tt&gt; souffre d'un bug qui pète
l'affichage du terminal quand Offlineimap rend la main. Il suffit de
taper &lt;tt class="docutils literal"&gt;reset&lt;/tt&gt; (même si rien ne s'affiche) ou de lancer Offlineimap
avec la commande &lt;tt class="docutils literal"&gt;offlineimap ; reset&lt;/tt&gt;&lt;/li&gt;
&lt;li&gt;il y a un type de compte exprès pour Gmail&lt;/li&gt;
&lt;li&gt;il est possible de mettre les mots de passe dans ce fichier de
config, si on veut automatiser les backups avec une tâche cron par
exemple, mais dans ce cas il vaut mieux modifier les droits du
fichier pour le rendre inaccessible aux autres utilisateurs du PC
(&lt;tt class="docutils literal"&gt;chmod 600 .offlineimaprc&lt;/tt&gt;).&lt;/li&gt;
&lt;li&gt;pour Gmail, j'ai mis un filtre (&lt;tt class="docutils literal"&gt;folderfilter&lt;/tt&gt;) pour ne pas
récupérer les messages avec les labels &lt;em&gt;All Mail&lt;/em&gt; (pour éviter de
télécharger les mails en double, tous mes mails ayant déjà un label),
&lt;em&gt;Starred&lt;/em&gt; et &lt;em&gt;Spam&lt;/em&gt;.&lt;/li&gt;
&lt;li&gt;pour vérifier que tout a bien fonctioné, on peut ouvrir une boite
mail avec mutt: &lt;tt class="docutils literal"&gt;mutt &lt;span class="pre"&gt;-f&lt;/span&gt; ~/Mail/gmail.com/INBOX&lt;/tt&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;img src="http://feeds.feedburner.com/~r/SaimonBlog/~4/ctVtL6JzjvM" height="1" width="1"/&gt;</summary><category term="planet-libre" /><category term="mail" /><feedburner:origLink>http://saimon.org/log//sauvegarde-des-mails-avec-offlineimap.html</feedburner:origLink></entry><entry><title>Thème Simple Grey pour Piwigo</title><link href="http://feedproxy.google.com/~r/SaimonBlog/~3/lZU7bdD3huM/theme-simple-grey-pour-piwigo.html" rel="alternate" /><updated>2009-09-21T00:00:00+02:00</updated><author><name>Saïmon</name></author><id>tag:saimon.org,2009-09-21:/log//theme-simple-grey-pour-piwigo.html/</id><summary type="html">&lt;p&gt;Le thème «Simple Grey» pour &lt;a class="reference external" href="http://fr.piwigo.org"&gt;Piwigo&lt;/a&gt; est disponible dans les &lt;a class="reference external" href="http://fr.piwigo.org/ext/extension_view.php?eid=308"&gt;extensions&lt;/a&gt;.
Ce thème est inspiré de &lt;a class="reference external" href="http://piwigo.org/ext/extension_view.php?eid=249"&gt;gally/graphite&lt;/a&gt; et du thème &lt;a class="reference external" href="http://www.mincel.com/carbon/"&gt;Carbon pour Gallery&lt;/a&gt;,
mais j’ai essayé de simplifier au maximum le design pour aller à l’essentiel:
les photos !&lt;/p&gt;
&lt;p&gt;A priori ca passe bien avec les différents navigateurs mais il y a peut être
des bugs sur certaines pages … n’hésitez pas à me dire si vous en trouvez !&lt;/p&gt;
&lt;a class="reference external image-reference" href="http://saimon.org/public/web/galerie-home.jpg"&gt;&lt;img alt="Thème Simple Grey pour Piwigo" class="align-center" src="http://saimon.org/public/web/.galerie-home_m.jpg" /&gt;&lt;/a&gt;
&lt;div class="section" id="comment-installer-ce-theme"&gt;
&lt;h2&gt;Comment installer ce thème ?&lt;/h2&gt;
&lt;p&gt;Dézipper l’archive et placer le répertoire &lt;tt class="docutils literal"&gt;simple&lt;/tt&gt; dans le répertoire
&lt;tt class="docutils literal"&gt;template&lt;/tt&gt; de votre installation piwigo. Selon les termes de piwigo,
&lt;tt class="docutils literal"&gt;simple&lt;/tt&gt; est un template qui contient un thème: &lt;tt class="docutils literal"&gt;grey&lt;/tt&gt; (dans le
sous-répertoire &lt;tt class="docutils literal"&gt;theme&lt;/tt&gt;). Un thème gère l’apparence de la galerie alors que
le template gère la structure des pages. Ainsi pour créer une version
“blanche” ou “noire” du template &lt;tt class="docutils literal"&gt;simple&lt;/tt&gt;, il suffit de créer un nouveau
thème et d’éditer le fichier &lt;tt class="docutils literal"&gt;theme.css&lt;/tt&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;div class="section" id="variantes"&gt;
&lt;h2&gt;Variantes&lt;/h2&gt;
&lt;p&gt;plusieurs variantes sont disponibles:&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;&lt;a class="reference external" href="http://piwigo.org/ext/extension_view.php?eid=346"&gt;Simple White&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="reference external" href="http://piwigo.org/ext/extension_view.php?eid=347"&gt;Simple Black&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="reference external" href="http://piwigo.org/ext/extension_view.php?eid=349"&gt;Simple Sunset&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;img src="http://feeds.feedburner.com/~r/SaimonBlog/~4/lZU7bdD3huM" height="1" width="1"/&gt;</summary><category term="piwigo" /><feedburner:origLink>http://saimon.org/log//theme-simple-grey-pour-piwigo.html</feedburner:origLink></entry><entry><title>Nouveau thème pour la galerie</title><link href="http://feedproxy.google.com/~r/SaimonBlog/~3/BPEGeQHW7ic/nouveau-theme-pour-la-galerie.html" rel="alternate" /><updated>2009-09-16T00:00:00+02:00</updated><author><name>Saïmon</name></author><id>tag:saimon.org,2009-09-16:/log//nouveau-theme-pour-la-galerie.html/</id><summary type="html">&lt;p&gt;J'ai réalisé un nouveau thème pour la &lt;a class="reference external" href="http://saimon.org/galerie/"&gt;galerie photos&lt;/a&gt;. Ce thème est inspiré
de celui que j'utilisais précédemment, &lt;a class="reference external" href="http://piwigo.org/ext/extension_view.php?eid=249"&gt;gally/graphite&lt;/a&gt; et du thème &lt;a class="reference external" href="http://www.mincel.com/carbon/"&gt;Carbon
pour Gallery&lt;/a&gt;, mais j'ai essayé de simplifier au maximum le design pour aller
à l'essentiel: les photos !&lt;/p&gt;
&lt;p&gt;À priori ça passe bien avec Internet Explorer (testé avec &lt;a class="reference external" href="http://browsershots.org"&gt;browsershots&lt;/a&gt; mais
il y a peut être des bugs sur certaines pages ... n'hésitez pas à me dire si
vous en trouvez !&lt;/p&gt;
&lt;p&gt;Mise à jour: le thème est &lt;a class="reference external" href="theme-simple-grey-pour-piwigo.html"&gt;disponible&lt;/a&gt;.&lt;/p&gt;
&lt;img src="http://feeds.feedburner.com/~r/SaimonBlog/~4/BPEGeQHW7ic" height="1" width="1"/&gt;</summary><category term="piwigo" /><feedburner:origLink>http://saimon.org/log//nouveau-theme-pour-la-galerie.html</feedburner:origLink></entry></feed>

