    
<?xml version="1.0" encoding="utf-8"?>
<!-- generator="FeedCreator 1.7.2-ppt DokuWiki" -->
<?xml-stylesheet href="http://www.collilieux.net/lib/exe/css.php?s=feed" type="text/css"?>
<rss version="2.0">
    <channel>
        <title>[oui qui] doc</title>
        <description></description>
        <link>http://www.collilieux.net/</link>
        <lastBuildDate>Sat, 19 May 2012 15:01:13 +0200</lastBuildDate>
        <generator>FeedCreator 1.7.2-ppt DokuWiki</generator>
        <image>
            <url>http://www.collilieux.net/lib/tpl/monobook/images/favicon.ico</url>
            <title>[oui qui]</title>
            <link>http://www.collilieux.net/</link>
        </image>
        <item>
            <title>doc:apache2</title>
            <link>http://www.collilieux.net/doc/apache2</link>
            <description>
&lt;h1 class=&quot;sectionedit1&quot;&gt;&lt;a name=&quot;apache2&quot; id=&quot;apache2&quot;&gt;apache2&lt;/a&gt;&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
Quelques infos sur la mise en place d&amp;#039;un serveur &lt;a href=&quot;http://www.google.com/search?q=apache2&amp;amp;btnI=lucky&quot; class=&quot;interwiki iw_go&quot; title=&quot;http://www.google.com/search?q=apache2&amp;amp;btnI=lucky&quot;&gt;apache2&lt;/a&gt; sur une DEBIAN « &lt;a href=&quot;http://www.debian.org/releases/squeeze/&quot; class=&quot;urlextern&quot; title=&quot;http://www.debian.org/releases/squeeze/&quot;  rel=&quot;nofollow&quot;&gt;Squeeze&lt;/a&gt; ».
&lt;/p&gt;

&lt;p&gt;
Si cette page vous a été utile : &lt;form action=&quot;https://www.paypal.com/cgi-bin/webscr&quot; method=&quot;post&quot;&gt;&lt;input type=&quot;hidden&quot; name=&quot;cmd&quot; value=&quot;_s-xclick&quot;&gt;&lt;input type=&quot;hidden&quot; name=&quot;encrypted&quot; value=&quot;-----BEGIN PKCS7-----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-----END PKCS7-----&quot;&gt;&lt;input type=&quot;image&quot; src=&quot;http://static.collilieux.net/don.png&quot; border=&quot;0&quot; name=&quot;submit&quot; alt=&quot;Don via Paypal&quot;&gt;&lt;/form&gt;
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT1 SECTION &quot;apache2&quot; [1-210] --&gt;
&lt;h2 class=&quot;sectionedit2&quot;&gt;&lt;a name=&quot;installation&quot; id=&quot;installation&quot;&gt;installation&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
&lt;code&gt;aptitude&lt;/code&gt; installera apache en quelques secondes et vous aurez ainsi un serveur web qui répondra en &lt;acronym title=&quot;Hyper Text Transfer Protocol&quot;&gt;HTTP&lt;/acronym&gt; sur le port 80.
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;$ sudo aptitude install apache2
Lecture des listes de paquets... Fait
Construction de l&amp;#039;arbre des dépendances       
Lecture des informations d&amp;#039;état... Fait
Lecture de l&amp;#039;information d&amp;#039;état étendu      
Initialisation de l&amp;#039;état des paquets... Fait
Lecture des descriptions de tâches... Fait  
Les NOUVEAUX paquets suivants vont être installés : 
  apache2 apache2-mpm-worker{a} apache2-utils{a} apache2.2-common{a} 
0 paquets mis à jour, 4 nouvellement installés, 0 à enlever et 0 non mis à jour.
Il est nécessaire de télécharger 241ko/1211ko d&amp;#039;archives. Après dépaquetage, 4452ko seront utilisés.
Voulez-vous continuer ? [Y/n/?] &lt;/pre&gt;

&lt;p&gt;
Pour vérifier qu&amp;#039;apache2 fonctionne, lancer votre navigateur et dans la barre d&amp;#039;adresse, entrez votre adresse IP. Normalement, vous devriez voir une page web qui indique quelque chose comme « It works ! »
&lt;/p&gt;

&lt;p&gt;
Par défaut, apache2 fournit par DEBIAN sert les pages du répertoire &lt;code&gt;/var/www&lt;/code&gt; qui contient le fichier &lt;code&gt;index.html&lt;/code&gt;.
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;$ cat /var/www/index.html 
&amp;lt;html&amp;gt;&amp;lt;body&amp;gt;&amp;lt;h1&amp;gt;It works!&amp;lt;/h1&amp;gt;&amp;lt;/body&amp;gt;&amp;lt;/html&amp;gt;&lt;/pre&gt;

&lt;p&gt;
Les fichiers de configuration sont stockés dans le répertoire &lt;code&gt;/etc/apache2&lt;/code&gt;.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT2 SECTION &quot;installation&quot; [211-1532] --&gt;
&lt;h2 class=&quot;sectionedit3&quot;&gt;&lt;a name=&quot;configuration_securite&quot; id=&quot;configuration_securite&quot;&gt;configuration sécurité&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Depuis Lenny DEBIAN fournit un fichier de configuration pour améliorer la sécurité du serveur. Voilà le contenu de ce fichier expurgé de quelques commentaires et quelques lignes vides.
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;$ egrep -B 1 -v &amp;#039;^#|^$&amp;#039; /etc/apache2/conf.d/security 
#ServerTokens Minimal
ServerTokens Full
--
#ServerSignature Off
ServerSignature On
--
#TraceEnable Off
TraceEnable On&lt;/pre&gt;

&lt;p&gt;
Par défaut, le fichier n&amp;#039;apporte rien. Il faudrait au minimum inverser les lignes commentées et celles décommentées. Plus de détails ci-après.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT3 SECTION &quot;configuration sécurité&quot; [1533-2099] --&gt;
&lt;h3 class=&quot;sectionedit4&quot;&gt;&lt;a name=&quot;servertokens&quot; id=&quot;servertokens&quot;&gt;ServerTokens&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
La directive &lt;a href=&quot;http://httpd.apache.org/docs/2.2/mod/core.html#servertokens&quot; class=&quot;urlextern&quot; title=&quot;http://httpd.apache.org/docs/2.2/mod/core.html#servertokens&quot;  rel=&quot;nofollow&quot;&gt;ServerTokens&lt;/a&gt; contrôle la chaîne de caractères retournée dans le champs &lt;code&gt;Server&lt;/code&gt; de l&amp;#039;entête &lt;acronym title=&quot;Hyper Text Transfer Protocol&quot;&gt;HTTP&lt;/acronym&gt;. En spécifiant &lt;code&gt;Full&lt;/code&gt;, apache donne son nom, sa version et également le système d&amp;#039;exploitation sur lequel il est installé et les modules ajoutés.
&lt;/p&gt;

&lt;p&gt;
Il est possible de voir ce que retourne un serveur avec &lt;code&gt;wget&lt;/code&gt;.
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;$ wget -S http://localhost                   
--2009-05-31 22:54:04--  http://localhost/
Résolution de localhost... 127.0.0.1, ::1
Connexion vers localhost|127.0.0.1|:80...connecté.
requête HTTP transmise, en attente de la réponse...
  HTTP/1.1 200 OK
  Date: Sun, 31 May 2009 20:54:04 GMT
  Server: Apache/2.2.9 (Debian)
  Last-Modified: Sun, 31 May 2009 20:12:05 GMT
  ETag: &amp;quot;120e2e-2d-46b3aec646f28&amp;quot;
  Accept-Ranges: bytes
  Content-Length: 45
  Vary: Accept-Encoding
  Keep-Alive: timeout=15, max=100
  Connection: Keep-Alive
  Content-Type: text/html
Longueur: 45 [text/html]&lt;/pre&gt;

&lt;p&gt;
Voilà ce qu&amp;#039;on obtient avec un serveur apache2 installé dans sa configuration par défaut sur DEBIAN « Lenny ». Si on installe des modules complémentaires, apache les indique. Exemple en activant plusieurs modules :
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;Server: Apache/2.2.9 (Debian) PHP/5.2.6-1+lenny2 with Suhosin-Patch mod_python/3.3.1 Python/2.5.2 mod_ruby/1.2.6 Ruby/1.8.7(2008-08-11) mod_ssl/2.2.9 OpenSSL/0.9.8g mod_perl/2.0.4 Perl/v5.10.0&lt;/pre&gt;

&lt;p&gt;
Si un jour le serveur est sujet à une faille de sécurité, le vilain pirate aura de nombreuses informations sur la version de chacun des modules. Pour rendre le serveur moins éloquant, on pourrait choisir la valeur &lt;code&gt;Minimal&lt;/code&gt; mais ce n&amp;#039;est pas la moins verbeuse, apache indiquera encore sa version complète. Pour obtenir le minimum, il faudra choisir la valeur &lt;code&gt;Prod&lt;/code&gt;.
&lt;/p&gt;

&lt;p&gt;
Avec cette valeur, le champ &lt;code&gt;Server&lt;/code&gt; contiendra maintenant :
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;Server: Apache&lt;/pre&gt;

&lt;p&gt;
On serait tenter de donner de fausses informations en remplaçant &lt;code&gt;Apache&lt;/code&gt; par tout autre chose mais ce n&amp;#039;est pas possible par configuration, il faudra recompiler le serveur ou installer &lt;a href=&quot;http://www.collilieux.net/doc/mod_security&quot; class=&quot;wikilink2&quot; title=&quot;doc:mod_security&quot; rel=&quot;nofollow&quot;&gt;mod_security&lt;/a&gt;.
&lt;/p&gt;

&lt;p&gt;
Le but ici est de donner le moins d&amp;#039;information possible à un attaquant éventuel. Le jour où une faille dite « 0 day » touche apache, il est préférable de ne pas être identifié trop vite comme une cible de choix. Ça laisse un peu de temps pour appliquer les mises à jour de sécurité.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT4 SECTION &quot;ServerTokens&quot; [2100-4534] --&gt;
&lt;h3 class=&quot;sectionedit5&quot;&gt;&lt;a name=&quot;serversignature&quot; id=&quot;serversignature&quot;&gt;ServerSignature&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
La directive &lt;a href=&quot;http://httpd.apache.org/docs/2.2/mod/core.html#serversignature&quot; class=&quot;urlextern&quot; title=&quot;http://httpd.apache.org/docs/2.2/mod/core.html#serversignature&quot;  rel=&quot;nofollow&quot;&gt;ServerSignature&lt;/a&gt;. Si la valeur est &lt;code&gt;on&lt;/code&gt; les pages d&amp;#039;erreur affichées par apache contiendront la signature définie dans le paragraphe précédent. En positonnant &lt;code&gt;ServerTokens Prod&lt;/code&gt;, seule la ligne suivante sera affichée en bas de chaque page d&amp;#039;erreur.
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;Apache Server at localhost Port 80&lt;/pre&gt;

&lt;p&gt;
Pour supprimer complétement cette ligne : &lt;code&gt;ServerSignature Off&lt;/code&gt;.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT5 SECTION &quot;ServerSignature&quot; [4535-5020] --&gt;
&lt;h3 class=&quot;sectionedit6&quot;&gt;&lt;a name=&quot;trace_et_track&quot; id=&quot;trace_et_track&quot;&gt;TRACE et TRACK&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
TRACE et TRACK sont deux types de requête &lt;acronym title=&quot;Hyper Text Transfer Protocol&quot;&gt;HTTP&lt;/acronym&gt; comme POST ou GET. Le principe est d&amp;#039;envoyer au serveur des données et celui-ci les renvoie. Ces requêtes sont inutiles sur un serveur opérationnel.
&lt;/p&gt;

&lt;p&gt;
La directive &lt;a href=&quot;http://httpd.apache.org/docs/2.2/mod/core.html#traceenable&quot; class=&quot;urlextern&quot; title=&quot;http://httpd.apache.org/docs/2.2/mod/core.html#traceenable&quot;  rel=&quot;nofollow&quot;&gt;TraceEnable&lt;/a&gt; permet d&amp;#039;activer ou désactiver la fonctionnalité TRACE qui devrait être réservée au déverminage. 
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;TraceEnable Off&lt;/pre&gt;

&lt;p&gt;
Par contre, TRACK, qui est une implémentation de TRACE, reste utilisable. Pour désactiver ce type de requête, il faudra utiliser un « rewrite ».
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;RewriteEngine on
RewriteCond %{REQUEST_METHOD} ^(TRACE|TRACK)
RewriteRule .* - [F]&lt;/pre&gt;

&lt;p&gt;
Ces 3 lignes active le moteur de ré-écriture de apache. La deuxième ligne précise que la règle ne s&amp;#039;applique aux requêtes TRACE ou TRACK. Ce type de requête par à la poubelle.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT6 SECTION &quot;TRACE et TRACK&quot; [5021-5907] --&gt;
&lt;h3 class=&quot;sectionedit7&quot;&gt;&lt;a name=&quot;bilan_de_la_configuration_apache&quot; id=&quot;bilan_de_la_configuration_apache&quot;&gt;bilan de la configuration apache&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Le fichier &lt;code&gt;/etc/apache2/conf.d/security&lt;/code&gt; final ressemble à 
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;$ cat /etc/apache2/conf.d/security
ServerTokens Prod
ServerSignature Off
TraceEnable Off
RewriteEngine on
RewriteCond %{REQUEST_METHOD} ^(TRACE|TRACK)
RewriteRule .* - [F]&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT7 SECTION &quot;bilan de la configuration apache&quot; [5908-6204] --&gt;
&lt;h3 class=&quot;sectionedit8&quot;&gt;&lt;a name=&quot;php&quot; id=&quot;php&quot;&gt;php&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Pour rendre &lt;acronym title=&quot;Hypertext Preprocessor&quot;&gt;PHP&lt;/acronym&gt; moins bavard, il faut positionner la directive &lt;code&gt;expose_php = Off&lt;/code&gt; dans le fichier &lt;code&gt;/etc/php5/apache2/php.ini&lt;/code&gt;. Par défaut sous DEBIAN, la valeur est à &lt;code&gt;On&lt;/code&gt;.
&lt;/p&gt;

&lt;p&gt;
Avant la modification, voici la réponse à un &lt;code&gt;wget -S&lt;/code&gt; : 
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;  HTTP/1.1 200 OK
  Date: Thu, 09 Jul 2009 20:45:54 GMT
  Server: Apache
  X-Powered-By: PHP/5.2.6-1+lenny3&lt;/pre&gt;

&lt;p&gt;
Après la modification :
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;  HTTP/1.1 200 OK
  Date: Thu, 09 Jul 2009 20:51:26 GMT
  Server: Apache&lt;/pre&gt;

&lt;p&gt;
Le champ &lt;code&gt;X-Powered-By&lt;/code&gt;, l&amp;#039;entête &lt;acronym title=&quot;Hyper Text Transfer Protocol&quot;&gt;HTTP&lt;/acronym&gt; ne donne donc plus d&amp;#039;information sur &lt;acronym title=&quot;Hypertext Preprocessor&quot;&gt;PHP&lt;/acronym&gt; ni même sur sa présence.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT8 SECTION &quot;php&quot; [6205-6812] --&gt;
&lt;h2 class=&quot;sectionedit9&quot;&gt;&lt;a name=&quot;configuration_ssl&quot; id=&quot;configuration_ssl&quot;&gt;configuration SSL&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Pour utiliser HTTPS, il faut d&amp;#039;abord charger le module &lt;code&gt;ssl&lt;/code&gt; via la commande &lt;code&gt;a2enmod&lt;/code&gt;.
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;$ sudo a2enmod ssl
$ sudo apache2ctl restart&lt;/pre&gt;

&lt;p&gt;
Lors de l&amp;#039;installation, DEBIAN génère un certificat auto-signé. Il permettra d&amp;#039;authentifier le serveur et de chiffrer la connexion mais le navigateur alertera l&amp;#039;utilisateur car il ne connaît pas l&amp;#039;autorité qui a signé le certificat.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT9 SECTION &quot;configuration SSL&quot; [6813-7226] --&gt;
&lt;h3 class=&quot;sectionedit10&quot;&gt;&lt;a name=&quot;cle_et_certificat_serveur&quot; id=&quot;cle_et_certificat_serveur&quot;&gt;clé et certificat serveur&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Pour utiliser la clé et le certificat générés, par exemple, avec la doc &lt;a href=&quot;http://www.collilieux.net/doc/xca&quot; class=&quot;wikilink1&quot; title=&quot;doc:xca&quot;&gt;xca&lt;/a&gt;, il est nécessaire de modifier deux lignes de configuration dans le fichier &lt;code&gt;/etc/apache2/site-available/default-ssl&lt;/code&gt;. Dans les lignes :
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;SSLCertificateFile /etc/ssl/certs/moncertificat.pem
SSLCertificateKeyFile /etc/ssl/private/macle.key&lt;/pre&gt;

&lt;p&gt;
Ces deux lignes désigne l&amp;#039;emplacement du certificat et de la clef privée du serveur, tous deux au format PEM.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT10 SECTION &quot;clé et certificat serveur&quot; [7227-7708] --&gt;
&lt;h3 class=&quot;sectionedit11&quot;&gt;&lt;a name=&quot;authentification_client&quot; id=&quot;authentification_client&quot;&gt;authentification client&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
La configuration ci-dessous a été extraite du &lt;a href=&quot;http://httpd.apache.org/docs/2.3/fr/ssl/ssl_howto.html&quot; class=&quot;urlextern&quot; title=&quot;http://httpd.apache.org/docs/2.3/fr/ssl/ssl_howto.html&quot;  rel=&quot;nofollow&quot;&gt;SSL howto apache&lt;/a&gt; (en français et sous licence Apache License Version 2.0).
&lt;/p&gt;

&lt;p&gt;
Le but est d&amp;#039;authentifier les clients qui disposent d&amp;#039;un certificat &lt;acronym title=&quot;Secure Sockets Layer&quot;&gt;SSL&lt;/acronym&gt; par ce mécanisme. Les autres seront authentifiés via une &lt;a href=&quot;http://httpd.apache.org/docs/2.3/fr/mod/mod_auth_basic.html&quot; class=&quot;urlextern&quot; title=&quot;http://httpd.apache.org/docs/2.3/fr/mod/mod_auth_basic.html&quot;  rel=&quot;nofollow&quot;&gt;authentification basique&lt;/a&gt; simple (&lt;img src=&quot;http://www.collilieux.net/lib/images/smileys/icon_exclaim.gif&quot; class=&quot;middle&quot; alt=&quot;:!:&quot; /&gt; en &lt;acronym title=&quot;Hyper Text Transfer Protocol&quot;&gt;HTTP&lt;/acronym&gt; (sans « s »), le mot de passe de l&amp;#039;authentification basique passe en clair sur le réseau).
&lt;/p&gt;

&lt;/div&gt;

&lt;h4&gt;&lt;a name=&quot;autorite_de_certification&quot; id=&quot;autorite_de_certification&quot;&gt;autorité de certification&lt;/a&gt;&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
Pour que le serveur puisse vérifier les certificats présentés par les clients, il doit pouvoir accéder au certificat de l&amp;#039;autoritié de certification. Pour cela, ajouter la directive &lt;code&gt;SSLCACertificateFile&lt;/code&gt; au fichier &lt;code&gt;/etc/apache2/site-available/default-ssl&lt;/code&gt;. Apache ne reconnait que les certificats au format PEM.
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;SSLCACertificateFile  /etc/ssl/certs/MaCa.pem&lt;/pre&gt;

&lt;p&gt;
La directive est présente mais commentée dans le fichier fournit par DEBIAN. Il est possible de charger plusieurs certificats de diverses autorités de certification en utilisant la directive &lt;code&gt;SSLCACertificatePath&lt;/code&gt; qui pointera vers un répertoire qui contiendra les certificats (par défaut, &lt;code&gt;/etc/ssl/certs/&lt;/code&gt; contient plus de 200 fichiers, il est préférable de choisir un autre répertoire pour ne les charger tous).
&lt;/p&gt;

&lt;/div&gt;

&lt;h4&gt;&lt;a name=&quot;definition_de_l_authentification&quot; id=&quot;definition_de_l_authentification&quot;&gt;définition de l&amp;#039;authentification&lt;/a&gt;&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
Dans cet exemple, l&amp;#039;accès au répertoire &lt;code&gt;/usr/lib/cgi-bin&lt;/code&gt; est protégé par une authentification. 
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;  $ cat /etc/apache2/conf.d/cgi 
  &amp;lt;Directory /usr/lib/cgi-bin/&amp;gt;

  # source http://httpd.apache.org/docs/2.3/fr/ssl/ssl_howto.html
  #   Si HTTPS est utilisé, on s&amp;#039;assure que le niveau de chiffrement est fort.
  #   Autorise en plus les certificats clients comme une alternative à
  #   l&amp;#039;authentification basique.

  SSLVerifyClient      optional
  SSLVerifyDepth       1
  SSLOptions           +FakeBasicAuth +StrictRequire

  AuthType Basic
  AuthName &amp;quot;Zone privée&amp;quot;
  AuthBasicProvider   file
  AuthUserFile 				/etc/apache2/htpasswd
  Require 					  valid-user
  &amp;lt;/Directory&amp;gt;&lt;/pre&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;code&gt;SSLVerifyClient&lt;/code&gt; : &lt;code&gt;optional&lt;/code&gt; pour permettre au client sans certificat de s&amp;#039;authentifier.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;code&gt;SSLVerifyDepth&lt;/code&gt; : 1 si vous utiliser votre propre et unique autorité de certification&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;code&gt;SSLOptions&lt;/code&gt; : &lt;code&gt;+FakeBasicAuth&lt;/code&gt; permet de simuler une authentification basique, le DN du certificat devra être déclaré dans le fichier &lt;code&gt;htpasswd&lt;/code&gt; avec ou sans mot de passe chiffré (il ne sert à rien). &lt;code&gt;+StrictRequire&lt;/code&gt; : si le module &lt;acronym title=&quot;Secure Sockets Layer&quot;&gt;SSL&lt;/acronym&gt; échoue dans l&amp;#039;authentification, elle s&amp;#039;arrête sans passer à la suite.&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
Le reste correspond à une configuration &lt;a href=&quot;http://httpd.apache.org/docs/2.3/fr/mod/mod_auth_basic.html&quot; class=&quot;urlextern&quot; title=&quot;http://httpd.apache.org/docs/2.3/fr/mod/mod_auth_basic.html&quot;  rel=&quot;nofollow&quot;&gt;d&amp;#039;authentification basique&lt;/a&gt; très classique.
&lt;/p&gt;

&lt;p&gt;
Le fichier &lt;code&gt;/etc/apache2/htpasswd&lt;/code&gt; contiendra les utilisateurs authentifier sans &lt;acronym title=&quot;Secure Sockets Layer&quot;&gt;SSL&lt;/acronym&gt; et le DN des utilisateurs qui s&amp;#039;authentifie par certificat.
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;$ cat /etc/apache2/htpasswd
martin:n88yx.lhyNwK2
/C=FR/ST=Labas/L=Chezlui/O=Famille Martin/CN=David/emailAddress=David@famillemartin.net&lt;/pre&gt;

&lt;p&gt;
La première ligne contient le compte de Martin et son mot de passe (vous pouvez essayer de le craquer, c&amp;#039;est bidon &lt;img src=&quot;http://www.collilieux.net/lib/images/smileys/icon_wink.gif&quot; class=&quot;middle&quot; alt=&quot;;-)&quot; /&gt; ).
&lt;/p&gt;

&lt;p&gt;
La seconde ligne contient le DN (Distinguished Name) du certificat. Le mot de passe n&amp;#039;est pas utilisé par apache, il n&amp;#039;est pas obligatoire. Si vous ne connaissez pas le DN, charger une page authentifiée avec le navigateur et son certificat, le DN apparaît dans les logs apache ( &lt;code&gt;tail -f /var/log/apache2/ssl_access.log&lt;/code&gt;, par exemple).
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT11 SECTION &quot;authentification client&quot; [7709-11279] --&gt;
&lt;h2 class=&quot;sectionedit12&quot;&gt;&lt;a name=&quot;optimiser_la_bande_passante&quot; id=&quot;optimiser_la_bande_passante&quot;&gt;optimiser la bande passante&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Il existe de nombreux mécanismes pour diminuer les besoins en bande passante d&amp;#039;un site. Au moins deux sont implémentables sur un serveur apache.
&lt;/p&gt;

&lt;/div&gt;

&lt;h4&gt;&lt;a name=&quot;compression_des_donnees&quot; id=&quot;compression_des_donnees&quot;&gt;compression des données&lt;/a&gt;&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
La plupart des navigateurs modernes et des serveurs supportent la &lt;a href=&quot;http://en.wikipedia.org/wiki/compression de données&quot; class=&quot;interwiki iw_wp&quot; title=&quot;http://en.wikipedia.org/wiki/compression de données&quot;&gt;compression de données&lt;/a&gt;. Pour cela, on utilisera une compression dite &lt;a href=&quot;http://en.wikipedia.org/wiki/gzip&quot; class=&quot;interwiki iw_wp&quot; title=&quot;http://en.wikipedia.org/wiki/gzip&quot;&gt;gzip&lt;/a&gt; qui utilise l&amp;#039;algorithme de compression &lt;a href=&quot;http://en.wikipedia.org/wiki/deflate&quot; class=&quot;interwiki iw_wp&quot; title=&quot;http://en.wikipedia.org/wiki/deflate&quot;&gt;deflate&lt;/a&gt;. Certes la compression utilisera plus de ressources côté serveur et client mais ce sera relativement faible à côté des gains en temps de transfert, surtout avec les machines que nous (sous-)utilisons actuellement.
&lt;/p&gt;

&lt;p&gt;
Il faut commencer par activer le module de compression :
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;# a2enmod deflate&lt;/pre&gt;

&lt;p&gt;
Ensuite, il faut configurer le niveau de compression et surtout le type de fichier compressé. En efet, il est inutile de perdre du temps à compresser des fichiers qui le sont déjà (par exemple des images au format &lt;a href=&quot;http://en.wikipedia.org/wiki/jpeg&quot; class=&quot;interwiki iw_wp&quot; title=&quot;http://en.wikipedia.org/wiki/jpeg&quot;&gt;jpeg&lt;/a&gt;).
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;$ cat /etc/apache2/mods-enabled/deflate.conf 
&amp;lt;IfModule mod_deflate.c&amp;gt;
        AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css image/svg+xml application/xhtml+xml application/xml application/rss+xml application/atom_xml application/x-javascript application/x-httpd-php application/x-httpd-fastphp
        SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png)$ no-gzip dont-vary
        SetEnvIfNoCase Request_URI \.(?:exe|t?gz|zip|bz2|sit|rar)$ no-gzip dont-vary
        SetEnvIfNoCase Request_URI \.pdf$ no-gzip dont-vary
        SetEnvIfNoCase Request_URI \.avi$ no-gzip dont-vary
        SetEnvIfNoCase Request_URI \.mov$ no-gzip dont-vary
        SetEnvIfNoCase Request_URI \.mp3$ no-gzip dont-vary
        SetEnvIfNoCase Request_URI \.mp4$ no-gzip dont-vary
        SetEnvIfNoCase Request_URI \.rm$ no-gzip dont-vary

&amp;lt;/IfModule&amp;gt;&lt;/pre&gt;

&lt;p&gt;
Pour résumer, apache compressera le contenu de type &lt;code&gt;text&lt;/code&gt; mais pas les binaires. 
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;http://code.google.com/intl/fr/speed/page-speed/docs/payload.html#GzipCompression&quot; class=&quot;urlextern&quot; title=&quot;http://code.google.com/intl/fr/speed/page-speed/docs/payload.html#GzipCompression&quot;  rel=&quot;nofollow&quot;&gt;google&lt;/a&gt; conseille de ne pas compresser les fichiers de moins de 150 octets car cela augmente leur taille mai je n&amp;#039;ai pas trouvé comment faire.
&lt;/p&gt;

&lt;/div&gt;

&lt;h4&gt;&lt;a name=&quot;utilisation_du_cache_du_navigateur&quot; id=&quot;utilisation_du_cache_du_navigateur&quot;&gt;utilisation du cache du navigateur&lt;/a&gt;&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
Les navigateurs savent utiliser un cache qui leur permet de ne pas télécharger un contenu qui est déjà présente dans le cache. Pour que le cache fonctionne, encore faut-il que le serveur le demande gentillement.
&lt;/p&gt;

&lt;p&gt;
Pour cela, il faut activer le module apache &lt;code&gt;expires&lt;/code&gt;.
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;# a2enmod expires&lt;/pre&gt;

&lt;p&gt;
Comme pour la compression, il est possible de préciser ce qui peut être mis dans le cache et surtout pendant combien de temps.
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;$ cat /etc/apache2/conf.d/expires.conf
ExpiresActive On
ExpiresByType image/gif &amp;quot;access plus 45 days&amp;quot;
ExpiresByType image/jpg &amp;quot;access plus 45 days&amp;quot;
ExpiresByType image/jpeg &amp;quot;access plus 45 days&amp;quot;
ExpiresByType image/png &amp;quot;access plus 45 days&amp;quot;
ExpiresByType image/x-icon &amp;quot;access plus 45 days&amp;quot;
ExpiresByType text/css &amp;quot;access plus 45 days&amp;quot;
ExpiresByType application/x-javascript &amp;quot;access plus 45 days&amp;quot;
ExpiresByType application/javascript &amp;quot;access plus 45 days&amp;quot;&lt;/pre&gt;

&lt;p&gt;
Les images, les feuilles de style et le javascript seront gardés pendant 45 jours depuis le premier accès dans le cache du navigateur avant de télécharger de nouveau le contenu. C&amp;#039;est autant d&amp;#039;octets qui ne seront pas transférés et donc du temps de gagner au chargement des pages.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT12 SECTION &quot;optimiser la bande passante&quot; [11280-14682] --&gt;
&lt;h2 class=&quot;sectionedit13&quot;&gt;&lt;a name=&quot;extension_webdav&quot; id=&quot;extension_webdav&quot;&gt;extension webdav&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
&lt;a href=&quot;http://en.wikipedia.org/wiki/webdav&quot; class=&quot;interwiki iw_wp&quot; title=&quot;http://en.wikipedia.org/wiki/webdav&quot;&gt;webdav&lt;/a&gt; est une extension de &lt;acronym title=&quot;Hyper Text Transfer Protocol&quot;&gt;HTTP&lt;/acronym&gt; qui permet notamment de publier des fichiers sur un serveur web. Apache2 dispose de cette extension.
&lt;/p&gt;

&lt;p&gt;
Commençons par activer les modules apache nécessaire :
&lt;/p&gt;
&lt;pre class=&quot;code shell&quot;&gt;$ sudo a2enmod dav dav_fs&lt;/pre&gt;

&lt;p&gt;
Il est également nécessaire d&amp;#039;ajouter quelques directives dans la configuration apache. J&amp;#039;ai choisi de créer un fichier &lt;code&gt;webdav&lt;/code&gt; dans le répertoire &lt;code&gt;/etc/apache2/conf.d&lt;/code&gt;.
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;$ sudoedit /etc/apache2/conf.d/webdav 
alias /webdav /repertoire/webdav

&amp;lt;Location /webdav&amp;gt;
RewriteEngine On
RewriteCond %{HTTPS} off 
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}

DAV On

AuthType Basic
AuthName &amp;quot;Zone privée&amp;quot;
AuthBasicProvider   file
AuthUserFile        /etc/apache2/fichierdemotdepasses

&amp;lt;Limit GET PUT DELETE PROPPATCH MKCOL COPY MOVE LOCK UNLOCK&amp;gt;
  Require valid-user
&amp;lt;/Limit&amp;gt;
&amp;lt;/Location&amp;gt;&lt;/pre&gt;

&lt;p&gt;
L&amp;#039;alias indique à apache que l&amp;#039;url &lt;code&gt;/webdav&lt;/code&gt; pointe vers le répertoire &lt;code&gt;/repertoire/webdav&lt;/code&gt;. Ce répertoire contiendra les fichiers transférer en webdav. Ce répertoire n&amp;#039;est pas situé dans le répertoire racine du serveur web, les fichiers ne seront donc par accessible par la partie web « classique » (mon explication n&amp;#039;est pas bien claire …)
&lt;/p&gt;

&lt;p&gt;
Les 3 premières lignes redirige les utilisateurs qui arrivent en &lt;acronym title=&quot;Hyper Text Transfer Protocol&quot;&gt;HTTP&lt;/acronym&gt; vers HTTPS (pour ce qu&amp;#039;on fait, je préfère).
&lt;/p&gt;

&lt;p&gt;
La directive &lt;code&gt;DAV On&lt;/code&gt; active webdav dans ce répertoire (cette « location » pour être précis).
&lt;/p&gt;

&lt;p&gt;
Les 4 directives suivantes permettent de mettre en place une authentification. La liste des utilisateurs est contenue dans le fichier &lt;code&gt;/etc/apache2/fichierdemotdepasses&lt;/code&gt;.
&lt;/p&gt;

&lt;p&gt;
Pour finir, on indique à apache qu&amp;#039;un utilisateur dûment authentifié (&lt;code&gt;valid-user&lt;/code&gt;) est nécessaire pour utiliser les commandes &lt;acronym title=&quot;Hyper Text Transfer Protocol&quot;&gt;HTTP&lt;/acronym&gt; : &lt;code&gt;GET PUT DELETE PROPPATCH MKCOL COPY MOVE LOCK UNLOCK&lt;/code&gt;, ce sont les commandes utilisées par webdav.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT13 SECTION &quot;extension webdav&quot; [14683-16569] --&gt;
&lt;h2 class=&quot;sectionedit14&quot;&gt;&lt;a name=&quot;plusieurs_domaines_sur_un_meme_serveur&quot; id=&quot;plusieurs_domaines_sur_un_meme_serveur&quot;&gt;plusieurs domaines sur un même serveur&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Il est assez pratique de mutualiser un serveur pour héberger plusieurs sites sur plusieurs domaines différents. Apache propose évidemment ce genre de fonctionnalité connue sous le nom de « virtual host » ou « vhost ».
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT14 SECTION &quot;plusieurs domaines sur un même serveur&quot; [16570-16849] --&gt;
&lt;h3 class=&quot;sectionedit15&quot;&gt;&lt;a name=&quot;http&quot; id=&quot;http&quot;&gt;HTTP&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
&lt;acronym title=&quot;Hyper Text Transfer Protocol&quot;&gt;HTTP&lt;/acronym&gt;, comment ça marche ? Quand le navigateur se connecte au port 80 du serveur, il peut demander la page d&amp;#039;un hôte particulier. Voilà ce que donne une capture. L&amp;#039;outil &lt;code&gt;netcat&lt;/code&gt; permet d&amp;#039;ouvrir une connexion TCP sur le port 80 et d&amp;#039;envoyer des commandes comme le ferait un navigateur.
&lt;/p&gt;

&lt;/div&gt;

&lt;h4&gt;&lt;a name=&quot;comment_ca_marche&quot; id=&quot;comment_ca_marche&quot;&gt;Comment ça marche ?&lt;/a&gt;&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;
&lt;pre class=&quot;code&quot;&gt;$ 
GET / HTTP/1.1
Host: collilieux.net&lt;/pre&gt;

&lt;p&gt;
C&amp;#039;est la commande &lt;code&gt;Host: collilieux.net&lt;/code&gt; qui permet au serveur d&amp;#039;« orienter » vers le bon hôte virtuel.
&lt;/p&gt;

&lt;/div&gt;

&lt;h4&gt;&lt;a name=&quot;configuration_apache&quot; id=&quot;configuration_apache&quot;&gt;Configuration Apache&lt;/a&gt;&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
Configurer un hôte virtuel ne nécessite que quelques lignes de configuration :
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;$ cat /etc/apache2/conf.d/site-available/monsite.net
&amp;lt;VirtualHost *:80&amp;gt;
        ServerAdmin &amp;quot;Gentil At Admin Point Net&amp;quot;
        ServerName monsite.net
        
        DocumentRoot /srv/data/www/monsite.net/
        
        LogLevel warn
        ErrorLog /var/log/apache2/monsite.net_error.log
        CustomLog /var/log/apache2/monsite.net_access.log combined
&amp;lt;/VirtualHost&amp;gt;&lt;/pre&gt;
&lt;pre class=&quot;code&quot;&gt;$ cat /etc/apache2/conf.d/site-available/tonsite.net
&amp;lt;VirtualHost *:80&amp;gt;
        ServerAdmin &amp;quot;Gentil At Admin Point Net&amp;quot;
        ServerName tonsite.net
        
        DocumentRoot /srv/data/www/tonsite.net/
        
        LogLevel warn
        ErrorLog /var/log/apache2/tonsite.net_error.log
        CustomLog /var/log/apache2/tonsite.net_access.log combined
&amp;lt;/VirtualHost&amp;gt;&lt;/pre&gt;

&lt;p&gt;
Pour activer ces sites :
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;$ sudo a2ensite monsite.net
$ sudo a2ensite tonsite.net
$ sudo service apache2 reload&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT15 SECTION &quot;HTTP&quot; [16850-18377] --&gt;
&lt;h3 class=&quot;sectionedit16&quot;&gt;&lt;a name=&quot;https&quot; id=&quot;https&quot;&gt;HTTPS&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Avec &lt;acronym title=&quot;Secure Sockets Layer&quot;&gt;SSL&lt;/acronym&gt;, la méthode précédente ne permet pas de déterminer le vhost car la connexion TCP doit être chiffrée, il faut donc un certificat et partager un certificat entre plusieurs sites n&amp;#039;est pas très propre.
&lt;/p&gt;

&lt;p&gt;
On peut alors utiliser une fonctionnalité récente de &amp;#039;openssl&amp;#039;&amp;#039; intégrée dans le serveur Apache de Squeeze Server Name Indication (SNI). Lors de l&amp;#039;établissement du canal chiffré, le navigateur indique alors l&amp;#039;hôte (et autres paramètre comme les protocoles de chiffrement supportés).
&lt;/p&gt;

&lt;p&gt;
À terminer… &lt;img src=&quot;http://www.collilieux.net/lib/images/smileys/icon_wink.gif&quot; class=&quot;middle&quot; alt=&quot;;-)&quot; /&gt;
&lt;/p&gt;

&lt;p&gt;
 — &lt;em&gt;Le 17/01/2012 – Sylvain Collilieux –  Ce texte est sous licence &lt;a href=&quot;https://creativecommons.org/licenses/by/2.0/fr/#&quot; class=&quot;urlextern&quot; title=&quot;https://creativecommons.org/licenses/by/2.0/fr/#&quot;  rel=&quot;nofollow&quot;&gt;Creative Commons Attribution&lt;/a&gt;&lt;/em&gt; &lt;a href=&quot;https://creativecommons.org/licenses/by/2.0/fr/&quot; class=&quot;media&quot; title=&quot;https://creativecommons.org/licenses/by/2.0/fr/&quot;  rel=&quot;nofollow&quot;&gt;&lt;img src=&quot;http://www.collilieux.net/lib/exe/fetch.php?hash=b4307c&amp;amp;media=http%3A%2F%2Fstatic.collilieux.net%2Fcc-by-badge.png&quot; class=&quot;media&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;&lt;em&gt;
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT16 SECTION &quot;HTTPS&quot; [18378-] --&gt;</description>
        <category>doc</category>
            <pubDate>Tue, 17 Jan 2012 21:59:13 +0200</pubDate>
        </item>
        <item>
            <title>doc:apt-cacher</title>
            <link>http://www.collilieux.net/doc/apt-cacher</link>
            <description>
&lt;h1 class=&quot;sectionedit17&quot;&gt;&lt;a name=&quot;apt-cacher&quot; id=&quot;apt-cacher&quot;&gt;apt-cacher&lt;/a&gt;&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;/div&gt;
&lt;!-- EDIT17 SECTION &quot;apt-cacher&quot; [1-26] --&gt;
&lt;h2 class=&quot;sectionedit18&quot;&gt;&lt;a name=&quot;presentation&quot; id=&quot;presentation&quot;&gt;présentation&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
&lt;code&gt;apt-cacher&lt;/code&gt; permet de créer un « proxy apt ». La machine sur laquelle est installé &lt;code&gt;apt-cacher&lt;/code&gt; servira de proxy cache pour &lt;code&gt;apt&lt;/code&gt;.
&lt;/p&gt;

&lt;p&gt;
Lors d&amp;#039;une mise à jour ou d&amp;#039;une installation de paquet, &lt;code&gt;apt-cacher&lt;/code&gt; télécharge le contenu s&amp;#039;il n&amp;#039;existe pas dans son cache. Si le paquet est déjà présent, il est directement envoyé. Ce fonctionnement permet d&amp;#039;accélérer le téléchargement de paquets pour peu que les paquets identiques soient installés sur les machines.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT18 SECTION &quot;présentation&quot; [27-531] --&gt;
&lt;h2 class=&quot;sectionedit19&quot;&gt;&lt;a name=&quot;apt-cacher_ou_miroir&quot; id=&quot;apt-cacher_ou_miroir&quot;&gt;apt-cacher ou miroir ?&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Il existe une autre solution pour accélérer les installations ou mises à jour de paquets : créer un miroir local. Si les paquets sont très différents, ce sera plus efficace par contre cela nécessite beaucoup plus d&amp;#039;espace disque (plusieurs dizaines de Go) et du débit lors des mises à jour du miroir. De plus sur une machine « standard » il est souvent installé une infime partie des 30 000 et quelques paquets disponibles chez Debian.
&lt;/p&gt;

&lt;p&gt;
&lt;code&gt;apt-cacher&lt;/code&gt; a l&amp;#039;avantage de ne télécharger que les paquets qui sont demandés par les machines.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT19 SECTION &quot;apt-cacher ou miroir ?&quot; [532-1118] --&gt;
&lt;h2 class=&quot;sectionedit20&quot;&gt;&lt;a name=&quot;installation&quot; id=&quot;installation&quot;&gt;installation&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;pre class=&quot;code&quot;&gt;aptitude install apt-cacher&lt;/pre&gt;

&lt;p&gt;
Il faudra ensuite modifier le fichier &lt;code&gt;/etc/default/apt-cacher&lt;/code&gt; pour que le démon soit lancé au démarrage.
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;AUTOSTART=1&lt;/pre&gt;

&lt;p&gt;
Ensuite, on relance le démon avec &lt;code&gt;invoke-rc.d apt-cacher restart&lt;/code&gt;.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT20 SECTION &quot;installation&quot; [1119-1399] --&gt;
&lt;h2 class=&quot;sectionedit21&quot;&gt;&lt;a name=&quot;utilisation&quot; id=&quot;utilisation&quot;&gt;utilisation&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Le proxy apt doit être déclaré pour que &lt;code&gt;apt&lt;/code&gt; ou &lt;code&gt;aptitude&lt;/code&gt; l&amp;#039;utilise.
&lt;/p&gt;

&lt;p&gt;
On peut, par exemple créer le fichier /etc/apt/apt.conf.d/01_proxy
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;Acquire::http::Proxy &amp;quot;http://&amp;lt;adresse_proxy&amp;gt;:3142&amp;quot;;&lt;/pre&gt;

&lt;p&gt;
Le cache de &lt;code&gt;apt-cacher&lt;/code&gt; est stocké dans &lt;code&gt;/var/cache/apt-cacher/packages&lt;/code&gt;.
&lt;/p&gt;

&lt;p&gt;
 — &lt;em&gt;Le 06/10/2011 – Sylvain Collilieux – Ce texte est sous licence &lt;a href=&quot;http://artlibre.org/licence/lal/&quot; class=&quot;urlextern&quot; title=&quot;http://artlibre.org/licence/lal/&quot;  rel=&quot;nofollow&quot;&gt;Art Libre&lt;/a&gt;&lt;/em&gt;
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT21 SECTION &quot;utilisation&quot; [1400-] --&gt;</description>
        <category>doc</category>
            <pubDate>Thu, 06 Oct 2011 22:42:19 +0200</pubDate>
        </item>
        <item>
            <title>doc:apt-show-versions</title>
            <link>http://www.collilieux.net/doc/apt-show-versions</link>
            <description>
&lt;h1 class=&quot;sectionedit22&quot;&gt;&lt;a name=&quot;apt-show-versions&quot; id=&quot;apt-show-versions&quot;&gt;apt-show-versions&lt;/a&gt;&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
Fonctionne avec &lt;a href=&quot;http://www.debian.org/releases/lenny/index.fr.html&quot; class=&quot;urlextern&quot; title=&quot;http://www.debian.org/releases/lenny/index.fr.html&quot;  rel=&quot;nofollow&quot;&gt;DEBIAN GNU/Linux 5.0.3 « Lenny »&lt;/a&gt; et probablement d&amp;#039;autres versions.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT22 SECTION &quot;apt-show-versions&quot; [1-175] --&gt;
&lt;h2 class=&quot;sectionedit23&quot;&gt;&lt;a name=&quot;generalites&quot; id=&quot;generalites&quot;&gt;généralités&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Description extraite du paquet :
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;Apt-show-versions analyse le fichier « status » de dpkg et les listes d&amp;#039;APT
pour les versions et distribution des paquets installés et disponibles, afin
d&amp;#039;afficher les possibilités de mise à jour dans une distribution spécifique
pour le paquet indiqué.&lt;/pre&gt;

&lt;p&gt;
En utilisant &lt;code&gt;apt-show-versions&lt;/code&gt;, il est facile de savoir si certains paquets peuvent être mis à jour. C&amp;#039;est particulièrement pratique pour les mises à jour de sécurité. En lançant &lt;code&gt;apt-show-versions&lt;/code&gt; régulièrement, c&amp;#039;est la machine qui vous averti qu&amp;#039;elle doit être mise à jour &lt;img src=&quot;http://www.collilieux.net/lib/images/smileys/icon_wink.gif&quot; class=&quot;middle&quot; alt=&quot;;-)&quot; /&gt;
&lt;/p&gt;

&lt;p&gt;
Je ne détaillerai pas ici les autres options.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT23 SECTION &quot;généralités&quot; [176-858] --&gt;
&lt;h2 class=&quot;sectionedit24&quot;&gt;&lt;a name=&quot;exemple_d_utilisation&quot; id=&quot;exemple_d_utilisation&quot;&gt;exemple d&amp;#039;utilisation&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Pour qu&amp;#039;une machine vous avertisse qu&amp;#039;il faut la mettre à jour, il est possible de lancer les commandes suivantes via la &lt;code&gt;crontab&lt;/code&gt;.
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;/usr/bin/aptitude update &amp;gt;/dev/null &amp;amp;&amp;amp; /usr/bin/aptitude --assume-yes --download-only dist-upgrade &amp;gt;/dev/null &amp;amp;&amp;amp; /usr/bin/apt-show-versions --upgradeable&lt;/pre&gt;

&lt;p&gt;
Quelques explications :
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;code&gt;aptitude update&lt;/code&gt; : mise à jour des listes des paquets.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;code&gt;aptitude –assume-yes –download-only dist-upgrade&lt;/code&gt; : téléchargement des paquets nécessaires à un &lt;code&gt;dist-upgrade&lt;/code&gt; mais sans installation, &lt;code&gt;assume-yes&lt;/code&gt; permet de répondre « oui » si certains paquets nécessitent l&amp;#039;ajout d&amp;#039;autres paquets.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;code&gt;apt-show-versions –upgradeable&amp;#039; : affichage des paquets qu&amp;#039;il est possible de mettre à jour.

Par défaut, si la commande utilisée dans la &lt;/code&gt;crontab&lt;code&gt; génère une sortie, il est envoyé par courriel à l&amp;#039;utilisateur qui possède la crontab. Ici, ce sera &lt;/code&gt;root&lt;code&gt; car les commandes nécessitent d&amp;#039;être administrateur. Les courriels à destination de &lt;/code&gt;root&lt;code&gt; devront être dirigés vers une adresse valide.

L&amp;#039;utilisation de la redirection &lt;/code&gt;&amp;gt;/dev/null&lt;code&gt; permet de ne pas recevoir de message quand il n&amp;#039;y a pas de paquet à mettre à jour. La sortie standard de &lt;/code&gt;aptitude&lt;code&gt; ne générera pas de courriels. Si vous souhaitez, recevoir un courriel à chaque exécution, retirez cette redirection.

Avec cette méthode, la machine télécharge toute seule les mises à jour dont elle a besoin mais sans les installer. L&amp;#039;administrateur reçoit un courriel, il lui suffit de lancer &lt;/code&gt;aptitude dist-upgrade&amp;#039;&amp;#039; et le tour est joué.&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
Ici, on délègue à la machine une partie du travail. Un bon administrateur connaîtra avec précision la liste des paquets installés sur ces machines et, à chaque avis de sécurité, exécutera une requête pour savoir quelle machine est impactée. Y a pas de mal à être un peu feignant &lt;img src=&quot;http://www.collilieux.net/lib/images/smileys/icon_wink.gif&quot; class=&quot;middle&quot; alt=&quot;;-)&quot; /&gt;
&lt;/p&gt;

&lt;p&gt;
 — &lt;em&gt;Le 27/09/2009 – Sylvain Collilieux – Ce texte est sous licence &lt;a href=&quot;http://artlibre.org/licence/lal/&quot; class=&quot;urlextern&quot; title=&quot;http://artlibre.org/licence/lal/&quot;  rel=&quot;nofollow&quot;&gt;Art Libre&lt;/a&gt;&lt;/em&gt;
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT24 SECTION &quot;exemple d'utilisation&quot; [859-] --&gt;</description>
        <category>doc</category>
            <pubDate>Tue, 26 Jan 2010 23:24:43 +0200</pubDate>
        </item>
        <item>
            <title>doc:checkrestart</title>
            <link>http://www.collilieux.net/doc/checkrestart</link>
            <description>
&lt;h1 class=&quot;sectionedit25&quot;&gt;&lt;a name=&quot;checkrestart&quot; id=&quot;checkrestart&quot;&gt;checkrestart&lt;/a&gt;&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
Lors de la mise à jour de paquets et notamment de bibliothèques, tous les démons qui utilisent les paquets mis à jour ne sont pas forcément redémarrés. Prenons un exemple. Le paquet libkrb5-3 fait l&amp;#039;objet d&amp;#039;une &lt;a href=&quot;http://www.debian.org/security/2012/dsa-2379&quot; class=&quot;urlextern&quot; title=&quot;http://www.debian.org/security/2012/dsa-2379&quot;  rel=&quot;nofollow&quot;&gt;mise à jour de sécurité&lt;/a&gt;. De nombreux paquets dépendent de cette bibliothèque (comme apache2, ssh pour avoir la liste : &lt;code&gt;aptitude search ~i~D~n^libkrb5-3$&lt;/code&gt;.
&lt;/p&gt;

&lt;p&gt;
Il faut donc s&amp;#039;assurer que tous les logiciels qui fonctionnent sur la machine, surtout les démons, utilisent bien la nouvelle version de la bibliothèque. Pour cela, il faudra redémarrer les logiciels qui l&amp;#039;utilise. Sans se redémarrage, un logiciel qui a chargé en mémoire l&amp;#039;ancienne version va continuer à l&amp;#039;utiliser et sera donc impacté par la faille de sécurité.
&lt;/p&gt;

&lt;p&gt;
Debian fournir la commande &lt;code&gt;checkrestart&lt;/code&gt; dont le rôle est :
&lt;/p&gt;
&lt;blockquote&gt;&lt;div class=&quot;no&quot;&gt;
  check  which  processes  need to be restarted after an upgrade.&lt;/div&gt;&lt;/blockquote&gt;

&lt;p&gt;
Après une mise à jour de &lt;code&gt;libkrb5-3&lt;/code&gt;, la commande peut retourner quelque chose comme :
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;
sudo checkrestart 
Found 22 processes using old versions of upgraded files
(5 distinct programs)
(5 distinct packages)

Of these, 3 seem to contain init scripts which can be used to restart them:
The following packages seem to have init scripts that could be used
to restart them:
openssh-server:
	15614	/usr/sbin/sshd
dovecot-common:
	26931	/usr/lib/dovecot/dovecot-auth
	15444	/usr/lib/dovecot/dovecot-auth
apache2.2-bin:
	27742	/usr/lib/apache2/mpm-prefork/apache2
	28633	/usr/lib/apache2/mpm-prefork/apache2
	1413	/usr/lib/apache2/mpm-prefork/apache2
	925	/usr/lib/apache2/mpm-prefork/apache2
	32170	/usr/lib/apache2/mpm-prefork/apache2

These are the init scripts:
/etc/init.d/ssh restart
/etc/init.d/dovecot restart
/etc/init.d/apache2 restart&lt;/pre&gt;

&lt;p&gt;
Les 3 dernières lignes correspondent aux scripts à exécuter pour relancer les démons. Il est possible que &lt;code&gt;checkrestart&lt;/code&gt; ne soit pas capable de trouver le script de lancement, notamment les démons utilisant un langage interprété (&lt;code&gt;mailman&lt;/code&gt;, &lt;code&gt;jail2ban&lt;/code&gt; ou &lt;code&gt;prosody&lt;/code&gt; par exemple).
&lt;/p&gt;

&lt;p&gt;
&lt;code&gt;checkrestart&lt;/code&gt; est disponible dans le paquet debian &lt;a href=&quot;http://packages.debian.org/search?searchon=names&amp;amp;suite=all&amp;amp;section=all&amp;amp;keywords=debian-goodies&quot; class=&quot;urlextern&quot; title=&quot;http://packages.debian.org/search?searchon=names&amp;amp;suite=all&amp;amp;section=all&amp;amp;keywords=debian-goodies&quot;  rel=&quot;nofollow&quot;&gt;debian-goodies&lt;/a&gt; qui porte bien son nom &lt;img src=&quot;http://www.collilieux.net/lib/images/smileys/icon_wink.gif&quot; class=&quot;middle&quot; alt=&quot;;-)&quot; /&gt;.
&lt;/p&gt;

&lt;p&gt;
Il est probablement possible d&amp;#039;exécuter &lt;code&gt;checkrestart&lt;/code&gt; automatiquement après chaque &lt;code&gt;apt-get upgrade&lt;/code&gt;. To be continued…
&lt;/p&gt;

&lt;p&gt;
 — &lt;em&gt;Le 05/01/2012 – Sylvain Collilieux –  Ce texte est sous licence &lt;a href=&quot;https://creativecommons.org/licenses/by/2.0/fr/#&quot; class=&quot;urlextern&quot; title=&quot;https://creativecommons.org/licenses/by/2.0/fr/#&quot;  rel=&quot;nofollow&quot;&gt;Creative Commons Attribution&lt;/a&gt;&lt;/em&gt; &lt;a href=&quot;https://creativecommons.org/licenses/by/2.0/fr/&quot; class=&quot;media&quot; title=&quot;https://creativecommons.org/licenses/by/2.0/fr/&quot;  rel=&quot;nofollow&quot;&gt;&lt;img src=&quot;http://www.collilieux.net/lib/exe/fetch.php?hash=b4307c&amp;amp;media=http%3A%2F%2Fstatic.collilieux.net%2Fcc-by-badge.png&quot; class=&quot;media&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;&lt;em&gt;
&lt;/p&gt;

&lt;/div&gt;
</description>
        <category>doc</category>
            <pubDate>Thu, 05 Jan 2012 23:49:37 +0200</pubDate>
        </item>
        <item>
            <title>doc:collectd</title>
            <link>http://www.collilieux.net/doc/collectd</link>
            <description>&lt;h1&gt;collectd&lt;/h1&gt;

&lt;h2&gt;présentation&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;collectd.org&quot;&gt;collectd&lt;/a&gt; est un merveilleux outil de collecte de données. Le démon utilise de nombreux &lt;a href=&quot;http://collectd.org/wiki/index.php/Table_of_Plugins&quot;&gt;plugiciels&lt;/a&gt; pour collecter les informations d'un &lt;a href=&quot;http://collectd.org/wiki/index.php/Plugin:CPU&quot;&gt;processeur&lt;/a&gt;, &lt;a href=&quot;http://collectd.org/wiki/index.php/Plugin:Multimeter&quot;&gt;un multimètre sur port série&lt;/a&gt;, d'un serveur &lt;a href=&quot;http://collectd.org/wiki/index.php/Plugin:Apache&quot;&gt;apache&lt;/a&gt;, etc. Toutes ces données collectées sont écrites dans des fichiers &lt;a href=&quot;http://collectd.org/wiki/index.php/Plugin:CSV&quot;&gt;csv&lt;/a&gt;, &lt;a href=&quot;http://collectd.org/wiki/index.php/Plugin:RRDtool&quot;&gt;rrd&lt;/a&gt;, en &lt;a href=&quot;http://collectd.org/wiki/index.php/Plugin:Write_HTTP&quot;&gt;HTTP&lt;/a&gt;, etc.&lt;/p&gt;

&lt;p&gt;L'utilisation la plus courante consiste à collecter les données de la machine sur laquelle le démon est installé pour ensuite créer des graphes &lt;a href=&quot;http://oss.oetiker.ch/rrdtool/gallery/index.en.html&quot;&gt;rrdtool&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Dans ces quelques lignes, je détaillerai l'utilisation de certains plugiciels, notamment ceux pour lesquels j'ai dû chercher un peu.&lt;/p&gt;

&lt;p&gt;En liaison avec cet article, j'ai rédigé quelques notes sur &lt;a href=&quot;http://www.collilieux.net/doc/rrdtool&quot;&gt;rrdtool&lt;/a&gt;,&lt;/p&gt;

&lt;h2&gt;les plugiciels&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;collectd.org&quot;&gt;collectd&lt;/a&gt; utilise des plugiciels pour collecter différents capteurs. J'en citerai uniquement quelques-un&lt;/p&gt;

&lt;h3&gt;plugiciel iptables&lt;/h3&gt;

&lt;p&gt;Ce plugiciel collecte les données du &lt;a href=&quot;http://www.netfilter.org/&quot;&gt;pare-feu intégré à Linux&lt;/a&gt;. Il aurait peut-être pu s'appeler netfilter.&lt;/p&gt;

&lt;p&gt;collectd ne collectera par tout ce qui passe entre les mains de netfilter, il prend seulement en compte les paquets qui passent par une « correspondance » &lt;a href=&quot;http://www.linux-france.org/prj/inetdoc/guides/iptables-tutorial/explicitmatches.html#commentmatch&quot;&gt;commentaire&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Par exemple, pour compter les paquets qui passent par la chaîne &lt;code&gt;poubelle&lt;/code&gt; de la table &lt;code&gt;filter&lt;/code&gt;, il faudra utiliser &lt;code&gt;iptables&lt;/code&gt; avec ces arguments :&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;iptables --append poubelle --source 10.8.6.4 --match comment --comment &quot;commentaire&quot;
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Dans ce cadre d'une utilisation du plugiciel rrd pour écrire les données, collectd va créer le répertoire type iptables-&lt;em&gt;table&lt;/em&gt;-&lt;em&gt;commentaire&lt;/em&gt;. Dans notre exemple :&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;ls /var/lib/collectd/rrd/hostname/iptables-filter-poubelle/
ipt_bytes-commentaire.rrd  ipt_packets-commentaire.rrd
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Pour chaque commentaire, collectd crée un fichier pour les octets (bytes) et les paquets.&lt;/p&gt;

&lt;h3&gt;plugiciel users&lt;/h3&gt;

&lt;p&gt;Ce plugiciel enregistre le nombre de personnes connectées sur la machine. C'est surtout utile sur une machine partagée entre plusieurs utilisateurs mais il y a une autre possibilité.&lt;/p&gt;

&lt;h4&gt;utilisation des seuils d'alerte&lt;/h4&gt;

&lt;p&gt;C'est une solution pour être alerté dès qu'un utilisateur se connecte sur un serveur (c'est utile pour une machine sur laquelle il y a très peu de connexions).&lt;/p&gt;

&lt;p&gt;Dans le plugiciels users, on définit le seuil « warning » à 0. Dès que le seuil est dépassé, une notification est envoyée par courriel. Il est également possible de définir un seuil « critical ».&lt;/p&gt;

&lt;p&gt;Sous Debian les seuils sont définis dans le fichier &lt;code&gt;/etc/collectd/thresholds.conf&lt;/code&gt;. Exemple :&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;&amp;lt;Threshold&amp;gt;
[...]
&amp;lt;Plugin &quot;users&quot;&amp;gt;  
    &amp;lt;Type &quot;users&quot;&amp;gt;
        WarningMax 0 
        FailureMax 2
        Persist false
    &amp;lt;/Type&amp;gt;
    &amp;lt;/Plugin&amp;gt;
[...]
&amp;lt;/Threshold&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Explications : 
 - le seuil concerne le plugin « users » et le type « users »
 - au-dessus de 0 utilisateur connecté, on envoie une alerte « warning »
 - au-dessus de 2 utilisateurs connectés simultanément, on envoie une alerte « critical »&lt;/p&gt;

&lt;h3&gt;plugiciel notify_email&lt;/h3&gt;

&lt;p&gt;Ce plugiciel permet d'envoyer des messages lors des dépassements de seuils.&lt;/p&gt;

&lt;p&gt;Exemple de configuration :&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;&amp;lt;Plugin notify_email&amp;gt;
    SMTPServer &quot;localhost&quot;
    SMTPPort 25
    From &quot;collectd@mondomaine.net&quot;
    Subject &quot;[collectd] %s on %s!&quot;
    Recipient &quot;admin@mondomaine.net&quot;
&amp;lt;/Plugin&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;hr /&gt;

&lt;p&gt;Ce texte est sous licence Creative Commons Attribution
$Id: collectd.mkd 4905695e3618 2010/02/28 15:16:34 Sylvain $&lt;/p&gt;
&lt;div class=&quot;tags&quot;&gt;&lt;span&gt;
	&lt;a href=&quot;http://www.collilieux.net/tag/documentation?do=showtag&amp;amp;tag=documentation&quot; class=&quot;wikilink1&quot; title=&quot;tag:documentation&quot; rel=&quot;tag&quot;&gt;documentation&lt;/a&gt;,
	&lt;a href=&quot;http://www.collilieux.net/tag/rrdtool?do=showtag&amp;amp;tag=rrdtool&quot; class=&quot;wikilink1&quot; title=&quot;tag:rrdtool&quot; rel=&quot;tag&quot;&gt;rrdtool&lt;/a&gt;
&lt;/span&gt;&lt;/div&gt;
</description>
        <category>documentation</category>
        <category>rrdtool</category>
            <pubDate>Fri, 17 Feb 2012 23:52:32 +0200</pubDate>
        </item>
        <item>
            <title>doc:dokuwiki</title>
            <link>http://www.collilieux.net/doc/dokuwiki</link>
            <description>
&lt;h1 class=&quot;sectionedit26&quot;&gt;&lt;a name=&quot;quelques_trucs_pour_dokuwiki&quot; id=&quot;quelques_trucs_pour_dokuwiki&quot;&gt;quelques trucs pour dokuwiki&lt;/a&gt;&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;/div&gt;
&lt;!-- EDIT26 SECTION &quot;quelques trucs pour dokuwiki&quot; [1-44] --&gt;
&lt;h2 class=&quot;sectionedit27&quot;&gt;&lt;a name=&quot;les_redirections&quot; id=&quot;les_redirections&quot;&gt;les redirections&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Contexte : dokuwiki est installé dans DocumentRoot/wiki par contre il faut que http://chezmoi.ici on souhaite arriver sur le wiki en demandant l&amp;#039;url http://chezmoi/. Pour cela, il faut mettre en place une série de redirections légèrement différente de celle proposé sur le &lt;a href=&quot;http://www.dokuwiki.org/rewrite#apache&quot; class=&quot;urlextern&quot; title=&quot;http://www.dokuwiki.org/rewrite#apache&quot;  rel=&quot;nofollow&quot;&gt;site officiel de dokuwiki&lt;/a&gt;.
&lt;/p&gt;

&lt;p&gt;
Voilà ce que cela donne :
$ cat /etc/apache2/conf.d/dokuwiki.conf
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;&amp;lt;Directory /srv/d_moe/www&amp;gt;
	DirectoryIndex wiki/doku.php
	RewriteEngine on
	RewriteBase /
        RewriteRule ^(cid/.*)	  $1
	RewriteRule ^(lib/.*)	  wiki/$1
	RewriteRule ^_media/(.*)  wiki/lib/exe/fetch.php?media=$1  [QSA,L]
	RewriteRule ^_detail/(.*) wiki/lib/exe/detail.php?media=$1  [QSA,L]
	RewriteRule ^_export/([^/]+)/(.*) wiki/doku.php?do=export_$1&amp;amp;id=$2  [QSA,L]
	RewriteRule ^feed.php     wiki/feed.php
	RewriteCond %{REQUEST_FILENAME} !-f
	RewriteCond %{REQUEST_FILENAME} !-d
	RewriteRule (.*) wiki/doku.php?id=$1  [QSA,L]
&amp;lt;/Directory&amp;gt;

&amp;lt;Directory /srv/d_moe/www/wiki&amp;gt;
  AllowOverride AuthConfig FileInfo Limit
  Options -Indexes -MultiViews +FollowSymLinks
&amp;lt;/Directory&amp;gt;

## make sure nobody gets the htaccess files
&amp;lt;Files ~ &amp;quot;^[\._]ht&amp;quot;&amp;gt;
    Order allow,deny
    Deny from all
    Satisfy All
&amp;lt;/Files&amp;gt;&lt;/pre&gt;

&lt;p&gt;
Il y a peut-être mieux, n&amp;#039;hésitez pas à commenter.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT27 SECTION &quot;les redirections&quot; [45-] --&gt;</description>
        <category>doc</category>
            <pubDate>Mon, 16 Nov 2009 21:42:46 +0200</pubDate>
        </item>
        <item>
            <title>doc:ejabberd</title>
            <link>http://www.collilieux.net/doc/ejabberd</link>
            <description>
&lt;h1 class=&quot;sectionedit28&quot;&gt;&lt;a name=&quot;installation_de_ejabberd&quot; id=&quot;installation_de_ejabberd&quot;&gt;installation de ejabberd&lt;/a&gt;&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
Cette page décrit l&amp;#039;installation du serveur &lt;a href=&quot;http://www.google.com/search?q=ejabberd&amp;amp;btnI=lucky&quot; class=&quot;interwiki iw_go&quot; title=&quot;http://www.google.com/search?q=ejabberd&amp;amp;btnI=lucky&quot;&gt;ejabberd&lt;/a&gt; sur une &lt;a href=&quot;http://www.debian.org/releases/lenny/&quot; class=&quot;urlextern&quot; title=&quot;http://www.debian.org/releases/lenny/&quot;  rel=&quot;nofollow&quot;&gt;DEBIAN lenny&lt;/a&gt;. Le serveur sera installé sur la machine &lt;code&gt;machine.info&lt;/code&gt; et servira les domaines &lt;code&gt;machine.info&lt;/code&gt; et &lt;code&gt;machine.net&lt;/code&gt;
&lt;/p&gt;

&lt;p&gt;
Cette page vous a été utile ?
&lt;form action=&quot;https://www.paypal.com/cgi-bin/webscr&quot; method=&quot;post&quot;&gt;&lt;input type=&quot;hidden&quot; name=&quot;cmd&quot; value=&quot;_s-xclick&quot;&gt;&lt;input type=&quot;hidden&quot; name=&quot;encrypted&quot; value=&quot;-----BEGIN PKCS7-----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-----END PKCS7-----&quot;&gt;&lt;input type=&quot;image&quot; src=&quot;http://static.collilieux.net/don.png&quot; border=&quot;0&quot; name=&quot;submit&quot; alt=&quot;Don via Paypal&quot;&gt;&lt;/form&gt;
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT28 SECTION &quot;installation de ejabberd&quot; [1-329] --&gt;
&lt;h2 class=&quot;sectionedit29&quot;&gt;&lt;a name=&quot;installation_des_paquets&quot; id=&quot;installation_des_paquets&quot;&gt;installation des paquets&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Je choisis d&amp;#039;installer la version de &lt;a href=&quot;http://backports.org&quot; class=&quot;urlextern&quot; title=&quot;http://backports.org&quot;  rel=&quot;nofollow&quot;&gt;debian backports&lt;/a&gt;. La version est plus à jour. Le choix dépend de ce que l&amp;#039;on attend du serveur. Cette installation n&amp;#039;est pas critique, je peux vivre sans jabber &lt;img src=&quot;http://www.collilieux.net/lib/images/smileys/icon_wink.gif&quot; class=&quot;middle&quot; alt=&quot;;-)&quot; /&gt;. Il faudra prélablement ajouter &lt;a href=&quot;http://backports.org&quot; class=&quot;urlextern&quot; title=&quot;http://backports.org&quot;  rel=&quot;nofollow&quot;&gt;debian backports&lt;/a&gt; au &lt;a href=&quot;http://www.collilieux.net/doc/sources.list&quot; class=&quot;wikilink1&quot; title=&quot;doc:sources.list&quot;&gt;sources.list&lt;/a&gt;.
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;$ sudo aptitude -t lenny-backports install ejabberd
Lecture des listes de paquets... Fait
Construction de l&amp;#039;arbre des dépendances       
Lecture des informations d&amp;#039;état... Fait
Lecture de l&amp;#039;information d&amp;#039;état étendu       
Initialisation de l&amp;#039;état des paquets... Fait
Lecture des descriptions de tâches... Fait  
Les NOUVEAUX paquets suivants vont être installés : 
  ejabberd erlang-base{a} erlang-nox{a} libsctp1{a} lksctp-tools{a} 
0 paquets mis à jour, 5 nouvellement installés, 0 à enlever et 4 non mis à jour.
Il est nécessaire de télécharger 1189ko/28,4Mo d&amp;#039;archives. Après dépaquetage, 47,1Mo seront utilisés.
Voulez-vous continuer ? [Y/n/?] y&lt;/pre&gt;

&lt;p&gt;
&lt;a href=&quot;http://www.collilieux.net/doc/debconf&quot; class=&quot;wikilink2&quot; title=&quot;doc:debconf&quot; rel=&quot;nofollow&quot;&gt;debconf&lt;/a&gt; pose ensuite quelques questions
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;Nom d&amp;#039;hôte du serveur ejabberd : machine.info&lt;/pre&gt;

&lt;p&gt;
Ici le nom d&amp;#039;hôte du serveur, il n&amp;#039;est possible de donner qu&amp;#039;un seul nom d&amp;#039;hôte.
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;Identifiant du compte administrateur d&amp;#039;ejabberd : root&lt;/pre&gt;

&lt;p&gt;
Ici je choisis le compte administrateur avec beaucoup d&amp;#039;originalité &lt;img src=&quot;http://www.collilieux.net/lib/images/smileys/icon_wink.gif&quot; class=&quot;middle&quot; alt=&quot;;-)&quot; /&gt; Ce compte servira à administrer le serveur via l&amp;#039;interface web ou un client jabber. Pour se connecter, il faudra utiliser root@machine.info comme l&amp;#039;indique &lt;a href=&quot;http://www.collilieux.net/doc/debconf&quot; class=&quot;wikilink2&quot; title=&quot;doc:debconf&quot; rel=&quot;nofollow&quot;&gt;debconf&lt;/a&gt;.
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;Mot de passe du compte administrateur :&lt;/pre&gt;

&lt;p&gt;
Il faudra confirmer ce mot de passe. Il est normal que rien ne s&amp;#039;affiche quand on tape le mot de passe.
&lt;/p&gt;

&lt;p&gt;
L&amp;#039;installeur va notamment générer un certificat &lt;acronym title=&quot;Secure Sockets Layer&quot;&gt;SSL&lt;/acronym&gt; pour l&amp;#039;utilisation d&amp;#039;une communication chiffrée entre le client et le serveur. Ce certificat est stocké dans le fichier &lt;code&gt;/etc/ejabberd/ejabberd.pem&lt;/code&gt;. C&amp;#039;est un certificat auto-signé, suffisant pour une utilisation personnelle.
&lt;/p&gt;

&lt;p&gt;
La configuration du serveur est stockée dans le fichier &lt;code&gt;/etc/ejabberd/ejabberd.cfg&lt;/code&gt;. Il faut être &lt;code&gt;root&lt;/code&gt; ou membre du groupe &lt;code&gt;ejabberd&lt;/code&gt; pour rentrer et lire le répertoire &lt;code&gt;/etc/ejabberd&lt;/code&gt;.
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;$ stat /etc/ejabberd
  File: `/etc/ejabberd&amp;#039;
  Size: 4096      	Blocks: 8          IO Block: 4096   répertoire
Device: ca01h/51713d	Inode: 17814       Links: 2
Access: (0750/drwxr-x---)  Uid: (    0/    root)   Gid: (  113/ejabberd)&lt;/pre&gt;

&lt;p&gt;
Si comme moi vous utilisez &lt;code&gt;sudo&lt;/code&gt;, il faudra que l&amp;#039;utilisateur qui passe pour &lt;code&gt;root&lt;/code&gt; appartienne au groupe &lt;code&gt;ejabberd&lt;/code&gt; sinon &lt;code&gt;sudoedit&lt;/code&gt; ne fonctionnera pas. Pour cela :
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;sudo adduser sylvain ejabberd&lt;/pre&gt;

&lt;p&gt;
Il faudra se connecter de nouveau pour que l&amp;#039;appartenance au groupe soit effective.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT29 SECTION &quot;installation des paquets&quot; [330-3097] --&gt;
&lt;h2 class=&quot;sectionedit30&quot;&gt;&lt;a name=&quot;configuration&quot; id=&quot;configuration&quot;&gt;configuration&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;/div&gt;
&lt;!-- EDIT30 SECTION &quot;configuration&quot; [3098-3124] --&gt;
&lt;h3 class=&quot;sectionedit31&quot;&gt;&lt;a name=&quot;interface_admin_https&quot; id=&quot;interface_admin_https&quot;&gt;interface admin HTTPS&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
L&amp;#039;interface d&amp;#039;administration est disponible par défaut en &lt;acronym title=&quot;Hyper Text Transfer Protocol&quot;&gt;HTTP&lt;/acronym&gt;, il ne faut pas oublier que le mot de passe de l&amp;#039;administrateur passera par là donc il est préférable de chiffrer la connexion. Pour cela, commençons par générer un certificat avec &lt;a href=&quot;http://www.collilieux.net/doc/make-ssl-cert&quot; class=&quot;wikilink2&quot; title=&quot;doc:make-ssl-cert&quot; rel=&quot;nofollow&quot;&gt;make-ssl-cert&lt;/a&gt; :
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;sudo make-ssl-cert /usr/share/ssl-cert/ssleay.cnf /etc/ssl/certs/ejabberd.pem&lt;/pre&gt;

&lt;p&gt;
Le certificat devra être lisible par &lt;code&gt;ejabberd&lt;/code&gt; :
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;$ sudo chgrp ejabberd /etc/ssl/certs/ejabberd.pem
$ sudo chmod g+r /etc/ssl/certs/ejabberd.pem&lt;/pre&gt;

&lt;p&gt;
Ensuite, modifions le fichier de configuration &lt;code&gt;/etc/ejabberd/ejabberd.cfg&lt;/code&gt;
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;  %% {5280, ejabberd_http, [
  %%                     http_poll,
  %%                     web_admin
  %%                    ]}

  {5280, ejabberd_http, [
                        http_poll,
                        web_admin,
                        tls,
                        {certfile, &amp;quot;/etc/ssl/certs/ejabberd.pem&amp;quot;},
                        starttls_required
                        ]}&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT31 SECTION &quot;interface admin HTTPS&quot; [3125-4171] --&gt;
&lt;h3 class=&quot;sectionedit32&quot;&gt;&lt;a name=&quot;un_administrateur_pour_tous_les_domaines&quot; id=&quot;un_administrateur_pour_tous_les_domaines&quot;&gt;un administrateur pour tous les domaines&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Le compte d&amp;#039;administration créer par &lt;a href=&quot;http://www.collilieux.net/doc/debconf&quot; class=&quot;wikilink2&quot; title=&quot;doc:debconf&quot; rel=&quot;nofollow&quot;&gt;debconf&lt;/a&gt; permet d&amp;#039;administrer le serveur déclaré lors de l&amp;#039;installation. Pour que l&amp;#039;administrateur puisse gérer tous les serveurs (domaines), il faut modifier la configuration. Remplacer &lt;code&gt;{acl, admin, {user, “root”, “collilieux.net”}}&lt;/code&gt; par &lt;code&gt;{acl, admin, {user, “root”}}&lt;/code&gt;.
&lt;/p&gt;

&lt;p&gt;
&lt;em&gt;à vérifier&lt;/em&gt;
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT32 SECTION &quot;un administrateur pour tous les domaines&quot; [4172-4562] --&gt;
&lt;h3 class=&quot;sectionedit33&quot;&gt;&lt;a name=&quot;langue&quot; id=&quot;langue&quot;&gt;langue&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Par défaut, l&amp;#039;interface d&amp;#039;administration de &lt;code&gt;ejabberd&lt;/code&gt; parle anglais. Pour modifier cela, il faut modifier la ligne contenant &lt;code&gt;{language, “en”}&lt;/code&gt; par &lt;code&gt;{language, “fr”}&lt;/code&gt;.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT33 SECTION &quot;langue&quot; [4563-4757] --&gt;
&lt;h3 class=&quot;sectionedit34&quot;&gt;&lt;a name=&quot;creation_d_un_utilisateur&quot; id=&quot;creation_d_un_utilisateur&quot;&gt;création d&amp;#039;un utilisateur&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
À ce stade, le serveur est déjà fonctionnel mais seul &lt;code&gt;root@machine.info&lt;/code&gt; peut se connecter au serveur. Il faut donc créer un utilisateur.
&lt;/p&gt;

&lt;p&gt;
Pour créer un compte &lt;code&gt;robert@machine.info&lt;/code&gt; avec le mot de passe &lt;code&gt;m0t2pace&lt;/code&gt; :
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;sudo ejabberdctl register robert machine.info m0t2pace&lt;/pre&gt;

&lt;p&gt;
Le fichier de configuration fourni par DEBIAN ne permet pas que des utilisateurs s&amp;#039;enregistrent automatiquement avec leur client jabber. Pour un serveur personnel, c&amp;#039;est une bonne chose.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT34 SECTION &quot;création d'un utilisateur&quot; [4758-5283] --&gt;
&lt;h3 class=&quot;sectionedit35&quot;&gt;&lt;a name=&quot;configuration_du_dns&quot; id=&quot;configuration_du_dns&quot;&gt;configuration du DNS&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Pour chaque domaine hébergé sur le serveur, il faudra créer une entrée dans le dns qui gère la zone. Par exemple, pour &lt;code&gt;bind&lt;/code&gt; :
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;_jabber._tcp.machine.net.       IN SRV   0 0 5269   machine.info.
_xmpp-server._tcp.machine.net.  IN SRV   0 0 5269   machine.info.
_xmpp-client._tcp.machine.net.  IN SRV   0 0 5222   machine.info.&lt;/pre&gt;

&lt;p&gt;
&lt;code&gt;machine.info.&lt;/code&gt; doit correspondre au nom d&amp;#039;hôte qui héberge le serveur. Les entrées sont de type &lt;a href=&quot;http://tools.ietf.org/html/rfc2782&quot; class=&quot;urlextern&quot; title=&quot;http://tools.ietf.org/html/rfc2782&quot;  rel=&quot;nofollow&quot;&gt;SRV&lt;/a&gt;, 5269 est le port utilisé entre les serveurs et le 5222 celui utilisé par les clients vers le serveur. Les &lt;code&gt;0 0&lt;/code&gt; sont respectivement la priorité et le poids de chaque entrée, c&amp;#039;est inutile avec un seul serveur.
&lt;/p&gt;

&lt;p&gt;
Pour utiliser la voix et la vidéo avec du NAT sur la ligne, il est nécessaire d&amp;#039;ajouter une entrée pour un &lt;a href=&quot;http://www.voip-info.org/wiki/view/DNS+SRV&quot; class=&quot;urlextern&quot; title=&quot;http://www.voip-info.org/wiki/view/DNS+SRV&quot;  rel=&quot;nofollow&quot;&gt;serveur STUN&lt;/a&gt;. Par exemple :
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;_stun._udp.machine.info has SRV record 0 0 3478 stun.machine.info.&lt;/pre&gt;

&lt;p&gt;
Il est possible d&amp;#039;utiliser n&amp;#039;importe quel serveur &lt;a href=&quot;http://www.voip-info.org/wiki/view/STUN&quot; class=&quot;urlextern&quot; title=&quot;http://www.voip-info.org/wiki/view/STUN&quot;  rel=&quot;nofollow&quot;&gt;STUN public&lt;/a&gt;.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT35 SECTION &quot;configuration du DNS&quot; [5284-6405] --&gt;
&lt;h3 class=&quot;sectionedit36&quot;&gt;&lt;a name=&quot;plusieurs_domaines&quot; id=&quot;plusieurs_domaines&quot;&gt;plusieurs domaines&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Le serveur peut gérer plusieurs domaines. Il suffit de déclarer les domaines sur la ligne &lt;code&gt;{hosts, [“machine.org”, “machine.net”]}.&lt;/code&gt;
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT36 SECTION &quot;plusieurs domaines&quot; [6406-6574] --&gt;
&lt;h2 class=&quot;sectionedit37&quot;&gt;&lt;a name=&quot;modules&quot; id=&quot;modules&quot;&gt;modules&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Plusieurs modules sont disponibles et activés par défaut.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT37 SECTION &quot;modules&quot; [6575-6655] --&gt;
&lt;h3 class=&quot;sectionedit38&quot;&gt;&lt;a name=&quot;irc&quot; id=&quot;irc&quot;&gt;irc&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Pour se connecter à un channel &lt;acronym title=&quot;Internet Relay Chat&quot;&gt;IRC&lt;/acronym&gt; depuis un client jabber, il est possible d&amp;#039;utiliser &lt;code&gt;ejabberd&lt;/code&gt; comme passerelle. Pour cela, il faut que le host &lt;code&gt;irc.machine.org&lt;/code&gt; pointe vers la même adresse IP que &lt;code&gt;machine.org&lt;/code&gt; (enregistrement type &lt;a href=&quot;http://fr.wikipedia.org/wiki/Domain_Name_System#Principaux_enregistrements_DNS&quot; class=&quot;urlextern&quot; title=&quot;http://fr.wikipedia.org/wiki/Domain_Name_System#Principaux_enregistrements_DNS&quot;  rel=&quot;nofollow&quot;&gt;A&lt;/a&gt;. Il est également possible de déclarer un &lt;a href=&quot;http://fr.wikipedia.org/wiki/Domain_Name_System#Principaux_enregistrements_DNS&quot; class=&quot;urlextern&quot; title=&quot;http://fr.wikipedia.org/wiki/Domain_Name_System#Principaux_enregistrements_DNS&quot;  rel=&quot;nofollow&quot;&gt;CNAME&lt;/a&gt;.
&lt;/p&gt;

&lt;p&gt;
Ce qui donne dans le &lt;acronym title=&quot;Domain Name System&quot;&gt;DNS&lt;/acronym&gt; avec un CNAME :
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;irc.machine.info.	86400	IN	CNAME	machine.info.&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT38 SECTION &quot;irc&quot; [6656-7238] --&gt;
&lt;h3 class=&quot;sectionedit39&quot;&gt;&lt;a name=&quot;conference&quot; id=&quot;conference&quot;&gt;conference&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
XMPP, le protocole derrière jabber permet d&amp;#039;établir des salons de discussion. &lt;code&gt;ejabberd&lt;/code&gt; supporte cette fonctionnalité. La configuration par défaut fonctionne :
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;  {mod_muc,      [
                  %%{host, &amp;quot;conference.@HOST@&amp;quot;},
                  {access, muc},
                  {access_create, muc},
                  {access_persistent, muc},
                  {access_admin, muc_admin},
                  {max_users, 50}
                 ]},&lt;/pre&gt;

&lt;p&gt;
Pour utiliser les conférences, il faudra utiliser le serveur &lt;code&gt;conference.machine.info&lt;/code&gt;, il faut donc que cette entrée &lt;acronym title=&quot;Domain Name System&quot;&gt;DNS&lt;/acronym&gt; existe et pointe vers le serveur. On peut remplacer &lt;code&gt;conference&lt;/code&gt; par &lt;code&gt;salon&lt;/code&gt; ou tout autre mot.
Il est possible de configurer une entrée de type &lt;a href=&quot;http://fr.wikipedia.org/wiki/Domain_Name_System#Principaux_enregistrements_DNS&quot; class=&quot;urlextern&quot; title=&quot;http://fr.wikipedia.org/wiki/Domain_Name_System#Principaux_enregistrements_DNS&quot;  rel=&quot;nofollow&quot;&gt;A&lt;/a&gt; ou un &lt;a href=&quot;http://fr.wikipedia.org/wiki/Domain_Name_System#Principaux_enregistrements_DNS&quot; class=&quot;urlextern&quot; title=&quot;http://fr.wikipedia.org/wiki/Domain_Name_System#Principaux_enregistrements_DNS&quot;  rel=&quot;nofollow&quot;&gt;CNAME&lt;/a&gt;.
&lt;/p&gt;

&lt;p&gt;
Ce qui donne dans le &lt;acronym title=&quot;Domain Name System&quot;&gt;DNS&lt;/acronym&gt; :
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;conference.machine.info. 86400 IN	CNAME	machine.info.&lt;/pre&gt;

&lt;p&gt;
Tous les utilisateurs pourront créer des conférences. J&amp;#039;ai limité le nombre de participant à &lt;code&gt;50&lt;/code&gt;, la valeur par défaut est &lt;code&gt;500&lt;/code&gt;.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT39 SECTION &quot;conference&quot; [7239-8426] --&gt;
&lt;h2 class=&quot;sectionedit40&quot;&gt;&lt;a name=&quot;liens_utiles&quot; id=&quot;liens_utiles&quot;&gt;liens utiles&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.vogelweith.com/debian_server/13_jabber.php#x1-60003&quot; class=&quot;urlextern&quot; title=&quot;http://www.vogelweith.com/debian_server/13_jabber.php#x1-60003&quot;  rel=&quot;nofollow&quot;&gt;http://www.vogelweith.com/debian_server/13_jabber.php#x1-60003&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://blog-perso.onzeweb.info/2006/08/25/tutoriel-ejabberd-ubuntu/&quot; class=&quot;urlextern&quot; title=&quot;http://blog-perso.onzeweb.info/2006/08/25/tutoriel-ejabberd-ubuntu/&quot;  rel=&quot;nofollow&quot;&gt;http://blog-perso.onzeweb.info/2006/08/25/tutoriel-ejabberd-ubuntu/&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://wiki.jabberfr.org/Configuration_avanc%C3%A9e_de_ejabberd&quot; class=&quot;urlextern&quot; title=&quot;http://wiki.jabberfr.org/Configuration_avanc%C3%A9e_de_ejabberd&quot;  rel=&quot;nofollow&quot;&gt;http://wiki.jabberfr.org/Configuration_avanc%C3%A9e_de_ejabberd&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
 — &lt;em&gt;© Sylvain Collilieux le 30/05/2009 à 21:29 – ce texte est sous licence &lt;a href=&quot;http://artlibre.org/licence/lal/&quot; class=&quot;urlextern&quot; title=&quot;http://artlibre.org/licence/lal/&quot;  rel=&quot;nofollow&quot;&gt;Art Libre&lt;/a&gt;&lt;/em&gt;
&lt;/p&gt;
&lt;hr /&gt;

&lt;p&gt;
Cette page vous a été utile ? &lt;form action=&quot;https://www.paypal.com/cgi-bin/webscr&quot; method=&quot;post&quot;&gt;&lt;input type=&quot;hidden&quot; name=&quot;cmd&quot; value=&quot;_s-xclick&quot;&gt;&lt;input type=&quot;hidden&quot; name=&quot;encrypted&quot; value=&quot;-----BEGIN PKCS7-----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-----END PKCS7-----&quot;&gt;&lt;input type=&quot;image&quot; src=&quot;http://static.collilieux.net/don.png&quot; border=&quot;0&quot; name=&quot;submit&quot; alt=&quot;Don via Paypal&quot;&gt;&lt;/form&gt;
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT40 SECTION &quot;liens utiles&quot; [8427-] --&gt;</description>
        <category>doc</category>
            <pubDate>Tue, 08 Nov 2011 22:37:33 +0200</pubDate>
        </item>
        <item>
            <title>doc:firefox</title>
            <link>http://www.collilieux.net/doc/firefox</link>
            <description>
&lt;h1 class=&quot;sectionedit41&quot;&gt;&lt;a name=&quot;firefoxquelques_astuces&quot; id=&quot;firefoxquelques_astuces&quot;&gt;firefox : quelques astuces&lt;/a&gt;&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
&lt;span class=&quot;starspan&quot; onload=&quot;loadStars()&quot; alt=&quot;0/5 stars&quot;&gt;&lt;img class=&quot;emptystarimage&quot; id=&quot;1&quot; src=&quot;/lib/plugins/stars/images/emptystar.png&quot;/&gt;&lt;img class=&quot;emptystarimage&quot; id=&quot;2&quot; src=&quot;/lib/plugins/stars/images/emptystar.png&quot;/&gt;&lt;img class=&quot;emptystarimage&quot; id=&quot;3&quot; src=&quot;/lib/plugins/stars/images/emptystar.png&quot;/&gt;&lt;img class=&quot;emptystarimage&quot; id=&quot;4&quot; src=&quot;/lib/plugins/stars/images/emptystar.png&quot;/&gt;&lt;img class=&quot;emptystarimage&quot; id=&quot;5&quot; src=&quot;/lib/plugins/stars/images/emptystar.png&quot;/&gt;&lt;/span&gt;
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT41 SECTION &quot;firefox : quelques astuces&quot; [1-54] --&gt;
&lt;h2 class=&quot;sectionedit42&quot;&gt;&lt;a name=&quot;configurationaboutconfig&quot; id=&quot;configurationaboutconfig&quot;&gt;configuration : about:config&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Les astuces décrites sur cette page nécessite de taper &lt;code&gt;about:config&lt;/code&gt; dans la barre d&amp;#039;adresse de &lt;a href=&quot;http://www.mozilla-europe.org/fr/firefox/Firefox&quot; class=&quot;urlextern&quot; title=&quot;http://www.mozilla-europe.org/fr/firefox/Firefox&quot;  rel=&quot;nofollow&quot;&gt;firefox&lt;/a&gt;. Par défaut, &lt;a href=&quot;http://www.mozilla-europe.org/fr/firefox/Firefox&quot; class=&quot;urlextern&quot; title=&quot;http://www.mozilla-europe.org/fr/firefox/Firefox&quot;  rel=&quot;nofollow&quot;&gt;firefox&lt;/a&gt; affiche un message d&amp;#039;avertissement, lisez-le.
&lt;/p&gt;

&lt;p&gt;
Maintenant que vous êtes prévenus, à vos risques et périls …
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT42 SECTION &quot;configuration : about:config&quot; [55-449] --&gt;
&lt;h3 class=&quot;sectionedit43&quot;&gt;&lt;a name=&quot;moteur_de_recherche_de_la_barre_d_url&quot; id=&quot;moteur_de_recherche_de_la_barre_d_url&quot;&gt;Moteur de recherche de la barre d&amp;#039;URL&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Si vous tapez un texte dans la barre d&amp;#039;&lt;acronym title=&quot;Uniform Resource Locator&quot;&gt;URL&lt;/acronym&gt; et que ce texte n&amp;#039;est pas une &lt;acronym title=&quot;Uniform Resource Locator&quot;&gt;URL&lt;/acronym&gt;, Firefox lance une recherche sur google avec les mots entrés. Pour changer de moteur, il faut modifier &lt;code&gt;keyword.&lt;acronym title=&quot;Uniform Resource Locator&quot;&gt;URL&lt;/acronym&gt;&lt;/code&gt; et mettre une &lt;acronym title=&quot;Uniform Resource Locator&quot;&gt;URL&lt;/acronym&gt; de recherche. Par exemple, pour utiliser &lt;a href=&quot;https://duckduckgo.com&quot; class=&quot;urlextern&quot; title=&quot;https://duckduckgo.com&quot;  rel=&quot;nofollow&quot;&gt;DuckDuckGo&lt;/a&gt; en français et en HTTPS, on peut entrer la valeur : &lt;code&gt;&lt;a href=&quot;https://duckduckgo.com/?kl=fr-fr&amp;amp;kp=-1&amp;amp;q=&quot; class=&quot;urlextern&quot; title=&quot;https://duckduckgo.com/?kl=fr-fr&amp;amp;kp=-1&amp;amp;q=&quot;  rel=&quot;nofollow&quot;&gt;https://duckduckgo.com/?kl=fr-fr&amp;amp;kp=-1&amp;amp;q=&lt;/a&gt;&lt;/code&gt;
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT43 SECTION &quot;Moteur de recherche de la barre d'URL&quot; [450-894] --&gt;
&lt;h3 class=&quot;sectionedit44&quot;&gt;&lt;a name=&quot;frequence_de_sauvegarde_de_la_session&quot; id=&quot;frequence_de_sauvegarde_de_la_session&quot;&gt;Fréquence de sauvegarde de la session&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Par défaut, Firefox sauvegarde les onglets ouverts toutes les 10 secondes pour pouvoir les restaurer en cas de plantage. Pour augmenter ou diminuer cette fréquence, il faut modifier le paramètre &lt;code&gt;browser.sessionstore.interval&lt;/code&gt; dans le &lt;code&gt;about:config&lt;/code&gt;. La valeur est exprimée en msec. Pour info, j&amp;#039;ai mis 60000 (une minute).
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;http://maketecheasier.com/28-coolest-firefox-aboutconfig-tricks/2008/08/21&quot; class=&quot;urlextern&quot; title=&quot;http://maketecheasier.com/28-coolest-firefox-aboutconfig-tricks/2008/08/21&quot;  rel=&quot;nofollow&quot;&gt;source&lt;/a&gt;.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT44 SECTION &quot;Fréquence de sauvegarde de la session&quot; [895-1365] --&gt;
&lt;h3 class=&quot;sectionedit45&quot;&gt;&lt;a name=&quot;delai_avant_l_installation_d_une_extension&quot; id=&quot;delai_avant_l_installation_d_une_extension&quot;&gt;délai avant l&amp;#039;installation d&amp;#039;une extension&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Lors de l&amp;#039;installation d&amp;#039;une extension, Firefox affiche un message d&amp;#039;alerte concernant la sécurité pendant 2000 msec avant de pouvoir cliquer ur « installer ». Quand on a lu ce message une fois, on l&amp;#039;a lu 1000 fois &lt;img src=&quot;http://www.collilieux.net/lib/images/smileys/icon_wink.gif&quot; class=&quot;middle&quot; alt=&quot;;-)&quot; /&gt;. J&amp;#039;ai mis cette valeur à 0 pour ne plus avoir à attendre. Dans &lt;code&gt;about:config&lt;/code&gt;, il faut modifier la valeur &lt;code&gt;security.dialog_enable_delay&lt;/code&gt;.
&lt;/p&gt;

&lt;p&gt;
Ce paramètre fonctionne également avec Thunderbird.
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;http://maketecheasier.com/28-coolest-firefox-aboutconfig-tricks/2008/08/21&quot; class=&quot;urlextern&quot; title=&quot;http://maketecheasier.com/28-coolest-firefox-aboutconfig-tricks/2008/08/21&quot;  rel=&quot;nofollow&quot;&gt;source&lt;/a&gt;.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT45 SECTION &quot;délai avant l'installation d'une extension&quot; [1366-1931] --&gt;
&lt;h3 class=&quot;sectionedit46&quot;&gt;&lt;a name=&quot;certificat_auto-signemoins_de_clic_svp&quot; id=&quot;certificat_auto-signemoins_de_clic_svp&quot;&gt;certificat auto-signé : moins de clic SVP&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Quand on surfe sur une site en HTTPS avec un certificat &lt;acronym title=&quot;Secure Sockets Layer&quot;&gt;SSL&lt;/acronym&gt; auto-signé, non seulement Firefox non affiche une énorme page d&amp;#039;erreur à faire fuir mais en plus, l&amp;#039;ajout d&amp;#039;une exception pour accepter le certificat est particulièrement lourde. Pour alléger le processus, il faut modifier deux valeurs dans &lt;code&gt;about:config&lt;/code&gt;.
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;browser.xul.error_pages.expert_bad_cert : True
browser.ssl_override_behavior : 2&lt;/pre&gt;

&lt;p&gt;
Firefox téléchargera automatiquement le certificat et vous économiserez deux clics sans amoindrir le niveau de sécurité, il faut juste faire attention aux certificats acceptés.
&lt;/p&gt;

&lt;p&gt;
source : &lt;a href=&quot;http://linuxfr.org/~x0ra/26691.html#935329&quot; class=&quot;urlextern&quot; title=&quot;http://linuxfr.org/~x0ra/26691.html#935329&quot;  rel=&quot;nofollow&quot;&gt;linuxfr&lt;/a&gt; et &lt;a href=&quot;http://wiki.slackware-fr.org/logiciels:trucs:reconcilier_firefox_3_x_x_avec_les_certificats_ssl&quot; class=&quot;urlextern&quot; title=&quot;http://wiki.slackware-fr.org/logiciels:trucs:reconcilier_firefox_3_x_x_avec_les_certificats_ssl&quot;  rel=&quot;nofollow&quot;&gt;slackware-fr&lt;/a&gt;.
&lt;/p&gt;

&lt;p&gt;
27 septembre 2009 : visiblement, cette astuce ne fonctionne plus avec firefox 3.5.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT46 SECTION &quot;certificat auto-signé : moins de clic SVP&quot; [1932-2857] --&gt;
&lt;h3 class=&quot;sectionedit47&quot;&gt;&lt;a name=&quot;selectionner_toute_l_url_de_la_barre_d_adresse&quot; id=&quot;selectionner_toute_l_url_de_la_barre_d_adresse&quot;&gt;sélectionner toute l&amp;#039;url de la barre d&amp;#039;adresse&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Sous Linux, lors d&amp;#039;un clic sur la barre d&amp;#039;adresse, l&amp;#039;&lt;acronym title=&quot;Uniform Resource Locator&quot;&gt;URL&lt;/acronym&gt; n&amp;#039;est pas sélectionnée. Pour modifier ce comportement :
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;browser.urlbar.clickSelectsAll = true&lt;/pre&gt;

&lt;p&gt;
&lt;a href=&quot;http://blog.cyber-developpement.com/tag/firefox&quot; class=&quot;urlextern&quot; title=&quot;http://blog.cyber-developpement.com/tag/firefox&quot;  rel=&quot;nofollow&quot;&gt;source&lt;/a&gt;.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT47 SECTION &quot;sélectionner toute l'url de la barre d'adresse&quot; [2858-3147] --&gt;
&lt;h3 class=&quot;sectionedit48&quot;&gt;&lt;a name=&quot;barre_de_defilement_a_gauche&quot; id=&quot;barre_de_defilement_a_gauche&quot;&gt;barre de défilement à gauche&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Lorsqu&amp;#039;un texte est trop long pour être affiché sur un seul écran, Firefox affiche une barre de défilement. Par défaut, pour les langues qui se lisent de gauche à droite, cette barre est à droite. En la positionnant à gauche, elle devient plus accessible pour les texte écris de gauche à droite.
&lt;/p&gt;

&lt;p&gt;
Pour cela, il faut changer la valeur de &lt;code&gt;layout.scrollbar.side&lt;/code&gt; et la paser à 3.
&lt;/p&gt;

&lt;p&gt;
Source :
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; la liste de diffusion de Gulliver mais je ne retrouve plus le lien vers l&amp;#039;archive, il est peut-être passé sur une liste qui n&amp;#039;est pas archivée publiquement. &lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://kb.mozillazine.org/Layout.scrollbar.side&quot; class=&quot;urlextern&quot; title=&quot;http://kb.mozillazine.org/Layout.scrollbar.side&quot;  rel=&quot;nofollow&quot;&gt;mozillazine&lt;/a&gt; est une mine d&amp;#039;informations.&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- EDIT48 SECTION &quot;barre de défilement à gauche&quot; [3148-3854] --&gt;
&lt;h3 class=&quot;sectionedit49&quot;&gt;&lt;a name=&quot;geolocalisation&quot; id=&quot;geolocalisation&quot;&gt;géolocalisation&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Depuis sa version 3.5, Firefox &lt;a href=&quot;http://fr.www.mozilla.com/fr/firefox/geolocation/&quot; class=&quot;urlextern&quot; title=&quot;http://fr.www.mozilla.com/fr/firefox/geolocation/&quot;  rel=&quot;nofollow&quot;&gt;peut envoyer&lt;/a&gt; des &lt;a href=&quot;http://www.w3.org/TR/geolocation-API/&quot; class=&quot;urlextern&quot; title=&quot;http://www.w3.org/TR/geolocation-API/&quot;  rel=&quot;nofollow&quot;&gt;données de géolocalisation&lt;/a&gt; aux sites qui le demande et si vous êtes d&amp;#039;accord.
&lt;/p&gt;

&lt;p&gt;
Pour supprimer purement cette fonctionnalité changer la valeur de &lt;code&gt;geo.enabled&lt;/code&gt; de &lt;code&gt;true&lt;/code&gt; à &lt;code&gt;false&lt;/code&gt;.
&lt;/p&gt;

&lt;p&gt;
Source : site &lt;a href=&quot;http://fr.www.mozilla.com/fr/firefox/geolocation/&quot; class=&quot;urlextern&quot; title=&quot;http://fr.www.mozilla.com/fr/firefox/geolocation/&quot;  rel=&quot;nofollow&quot;&gt;mozilla&lt;/a&gt;
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT49 SECTION &quot;géolocalisation&quot; [3855-4295] --&gt;
&lt;h3 class=&quot;sectionedit50&quot;&gt;&lt;a name=&quot;safebrowsing&quot; id=&quot;safebrowsing&quot;&gt;safebrowsing&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Lorsque vous entrez une &lt;acronym title=&quot;Uniform Resource Locator&quot;&gt;URL&lt;/acronym&gt;, Firefox &lt;a href=&quot;http://www.mozilla.com/en-US/firefox/phishing-protection/&quot; class=&quot;urlextern&quot; title=&quot;http://www.mozilla.com/en-US/firefox/phishing-protection/&quot;  rel=&quot;nofollow&quot;&gt;vérifie&lt;/a&gt; qu&amp;#039;elle n&amp;#039;est pas sur une liste noire d&amp;#039;&lt;acronym title=&quot;Uniform Resource Locator&quot;&gt;URL&lt;/acronym&gt;. Par défaut Mozilla utilise les listes de &lt;a href=&quot;http://www.google.com/tools/firefox/safebrowsing/&quot; class=&quot;urlextern&quot; title=&quot;http://www.google.com/tools/firefox/safebrowsing/&quot;  rel=&quot;nofollow&quot;&gt;google&lt;/a&gt; (encore eux &lt;img src=&quot;http://www.collilieux.net/lib/images/smileys/icon_wink.gif&quot; class=&quot;middle&quot; alt=&quot;;-)&quot; /&gt;). Ces listes sont téléchargées toutes les 30 minutes par le navigateur.
&lt;/p&gt;

&lt;p&gt;
Ce fonctionnement est désactivable en cliquant quelque part dans les options ou via &lt;code&gt;&amp;#039;about::config&lt;/code&gt;.
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;browser.safebrowsing.enabled: false
browser.safebrowsing.malware.enabled: false&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT50 SECTION &quot;safebrowsing&quot; [4296-4869] --&gt;
&lt;h3 class=&quot;sectionedit51&quot;&gt;&lt;a name=&quot;plugin_manquant&quot; id=&quot;plugin_manquant&quot;&gt;Plugin manquant&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Si vous n&amp;#039;avez pas le plugin flash et que vous ne voulez pas être alerté par un message sur de (trop) nombreuses pages.
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;plugins.hide_infobar_for_missing_plugin = false&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT51 SECTION &quot;Plugin manquant&quot; [4870-5082] --&gt;
&lt;h3 class=&quot;sectionedit52&quot;&gt;&lt;a name=&quot;restauration_des_onglets&quot; id=&quot;restauration_des_onglets&quot;&gt;restauration des onglets&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
&lt;p&gt;&lt;div class=&quot;noteimportant&quot;&gt;Inutile à partir de Firefox 8
&lt;/div&gt;&lt;/p&gt;
&lt;/p&gt;

&lt;p&gt;
À partir de Firefox 4, une nouvelle option a fait son apparition. À l&amp;#039;ouverture, le navigateur peut afficher la liste de tous les onglets ouverts dans la session précédent mais ne charger réellement que le contenu de chaque onglet uniquement que lorsqu&amp;#039;on clique dessus. Si on utilise beaucoup d&amp;#039;onglet, cela limite le temps de chargement du navigateur.
&lt;/p&gt;

&lt;p&gt;
Dans &lt;code&gt;about::config&lt;/code&gt;
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;browser.sessionstore.max_concurrent_tabs: 0&lt;/pre&gt;

&lt;p&gt;
&lt;a href=&quot;http://blogzinet.free.fr/blog/index.php?post/2011/01/20/Ne-pas-charger-tous-les-onglets-%C3%A0-l-ouverture-de-Firefox&quot; class=&quot;urlextern&quot; title=&quot;http://blogzinet.free.fr/blog/index.php?post/2011/01/20/Ne-pas-charger-tous-les-onglets-%C3%A0-l-ouverture-de-Firefox&quot;  rel=&quot;nofollow&quot;&gt;Source&lt;/a&gt;
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT52 SECTION &quot;restauration des onglets&quot; [5083-5748] --&gt;
&lt;h3 class=&quot;sectionedit53&quot;&gt;&lt;a name=&quot;une_barre_d_adresses_comme_avant&quot; id=&quot;une_barre_d_adresses_comme_avant&quot;&gt;une barre d&amp;#039;adresses comme avant&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Depuis Firefox 6, la barre d&amp;#039;&lt;acronym title=&quot;Uniform Resource Locator&quot;&gt;URL&lt;/acronym&gt; cache le protocole utilisé pour se connecter au site si c&amp;#039;est &lt;acronym title=&quot;Hyper Text Transfer Protocol&quot;&gt;HTTP&lt;/acronym&gt;. Si vous voulez toujours voir « http » dans la barre d&amp;#039;url :
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;browser.urlbar.trimURLs = false&lt;/pre&gt;

&lt;p&gt;
Depuis Firefox 7, seul le domaine de premier niveau (collilieux) et l&amp;#039;extension (.net) sont mis en valeur dans la barre d&amp;#039;&lt;acronym title=&quot;Uniform Resource Locator&quot;&gt;URL&lt;/acronym&gt;, le reste est grisé. Si vous voulez voir l&amp;#039;&lt;acronym title=&quot;Uniform Resource Locator&quot;&gt;URL&lt;/acronym&gt; complète en noir.
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;browser.urlbar.formatting.enabled = false&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT53 SECTION &quot;une barre d'adresses comme avant&quot; [5749-6257] --&gt;
&lt;h3 class=&quot;sectionedit54&quot;&gt;&lt;a name=&quot;referer&quot; id=&quot;referer&quot;&gt;referer&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Il est possible de ne pas envoyer de &lt;a href=&quot;https://secure.wikimedia.org/wikipedia/fr/wiki/Referer&quot; class=&quot;urlextern&quot; title=&quot;https://secure.wikimedia.org/wikipedia/fr/wiki/Referer&quot;  rel=&quot;nofollow&quot;&gt;referer&lt;/a&gt; pour éviter de laisser une de plus.
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;network.http.sendRefererHeader = 0&lt;/pre&gt;

&lt;p&gt;
&lt;a href=&quot;http://kb.mozillazine.org/Network.http.sendRefererHeader&quot; class=&quot;urlextern&quot; title=&quot;http://kb.mozillazine.org/Network.http.sendRefererHeader&quot;  rel=&quot;nofollow&quot;&gt;Source&lt;/a&gt;
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT54 SECTION &quot;referer&quot; [6258-6539] --&gt;
&lt;h3 class=&quot;sectionedit55&quot;&gt;&lt;a name=&quot;navigation_privee_par_defaut&quot; id=&quot;navigation_privee_par_defaut&quot;&gt;Navigation privée par défaut&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Firefox, comme la plupart des navigateurs récents, permet de passer dans un mode de navigation privée. Dans ce mode l&amp;#039;historique, les cookies, le cache sont effacés lorsque vous arrêtez le navigateur. Il est possible d&amp;#039;utiliser ce mode par défaut :
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;browser.privatebrowsing.autostart = 1&lt;/pre&gt;

&lt;p&gt;
Cette option peut-être utile pour les paranos mais aussi pour les développeurs/debuggeur web. J&amp;#039;utilise plusieurs profile dans Firefox dont un pour déverminer les sites, toucher aux &lt;acronym title=&quot;Cascading Style Sheets&quot;&gt;CSS&lt;/acronym&gt;, etc. Sous ce profile, j&amp;#039;ai activé le mode navigation privée par défaut car non seulement je n&amp;#039;ai pas besoin de stocker les données temporaires mais en plus c&amp;#039;est souvent le fonctionnement que l&amp;#039;on souhaite pour débuger.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT55 SECTION &quot;Navigation privée par défaut&quot; [6540-7305] --&gt;
&lt;h2 class=&quot;sectionedit56&quot;&gt;&lt;a name=&quot;le_about_des_abouts&quot; id=&quot;le_about_des_abouts&quot;&gt;le about des abouts&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Cet article fait souvent référence à &lt;code&gt;about:config&lt;/code&gt; mais il existe une longue liste de &lt;code&gt;about:&lt;/code&gt;. Pour avoir cette liste, saisissez &lt;code&gt;about:about&lt;/code&gt; dans la barre d&amp;#039;adresses.
&lt;/p&gt;

&lt;p&gt;
Certains sont intéressants comme :
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;code&gt;about:sync-log&lt;/code&gt; : les logs de Firefox sync, le niveau de log est configurable avec les directives &lt;code&gt;services.sync.log.???&lt;/code&gt; dans &lt;code&gt;about:config&lt;/code&gt;.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;code&gt;about:addons&lt;/code&gt; qui permet d&amp;#039;accéder aux extensions sans chercher dans les menus&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;code&gt;about:privatebrowsing&lt;/code&gt; pour passer en mode navigation privée&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;code&gt;about:memory&lt;/code&gt; pour voir la consommation mémoire des différentes parties de Firefox&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;code&gt;about:rights&lt;/code&gt; qui affiche VOS droits&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;code&gt;about:license&lt;/code&gt; qui affiche les licences&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;code&gt;about:support&lt;/code&gt; permet d&amp;#039;avoir des infos sur la configuration, les extensions, etc.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;code&gt;about:permissions&lt;/code&gt; affiche les permissions que vous accordez aux sites webs (cookies, stockage de mots de passe, géolocalisation, etc.)&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; …&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- EDIT56 SECTION &quot;le about des abouts&quot; [7306-8291] --&gt;
&lt;h2 class=&quot;sectionedit57&quot;&gt;&lt;a name=&quot;extensions&quot; id=&quot;extensions&quot;&gt;extensions&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Les extensions de Firefox sont un atout de taille. Cet grâce à cet atout que je n&amp;#039;arrive pas à changer de navigateur, pourtant j&amp;#039;ai essayé &lt;img src=&quot;http://www.collilieux.net/lib/images/smileys/icon_wink.gif&quot; class=&quot;middle&quot; alt=&quot;;-)&quot; /&gt;. Quelques extensions que je trouve bien utile sont listées ci-après
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT57 SECTION &quot;extensions&quot; [8292-8532] --&gt;
&lt;h3 class=&quot;sectionedit58&quot;&gt;&lt;a name=&quot;adblock_plus&quot; id=&quot;adblock_plus&quot;&gt;adblock plus&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Comment surfer sans l&amp;#039;extension &lt;a href=&quot;https://addons.mozilla.org/fr/firefox/addon/1865&quot; class=&quot;urlextern&quot; title=&quot;https://addons.mozilla.org/fr/firefox/addon/1865&quot;  rel=&quot;nofollow&quot;&gt;adbloc plus&lt;/a&gt; qui permet de ne pas afficher la plupart des publicités des pages web ? De nombreux sites deviennent nettement plus lisibles grâce à cette extension &lt;img src=&quot;http://www.collilieux.net/lib/images/smileys/icon_wink.gif&quot; class=&quot;middle&quot; alt=&quot;;-)&quot; /&gt;.
&lt;/p&gt;

&lt;p&gt;
adblock permet également de bloquer les « web bugs » et autres dispositifs qui permettent de nous suivre sur le net. Pour cela, il faut ajouter la liste &lt;a href=&quot;https://easylist.adblockplus.org/en/#easyprivacy&quot; class=&quot;urlextern&quot; title=&quot;https://easylist.adblockplus.org/en/#easyprivacy&quot;  rel=&quot;nofollow&quot;&gt;EasyPrivacy&lt;/a&gt;
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT58 SECTION &quot;adblock plus&quot; [8533-9032] --&gt;
&lt;h3 class=&quot;sectionedit59&quot;&gt;&lt;a name=&quot;tab_mix_plus&quot; id=&quot;tab_mix_plus&quot;&gt;tab mix plus&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Firefox a été le premier navigateur à implémenter la navigation par onglet. Toutefois, la configuration du comportement et de la présentation de ces onglets sont assez limités. &lt;a href=&quot;https://addons.mozilla.org/fr/firefox/addon/1122&quot; class=&quot;urlextern&quot; title=&quot;https://addons.mozilla.org/fr/firefox/addon/1122&quot;  rel=&quot;nofollow&quot;&gt;Tab Mix Plus&lt;/a&gt; permet de configurer la gestion des onglets. Mozilla gagnerait à intégrer certaines options dans Firefox.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT59 SECTION &quot;tab mix plus&quot; [9033-9415] --&gt;
&lt;h3 class=&quot;sectionedit60&quot;&gt;&lt;a name=&quot;tab_utilities&quot; id=&quot;tab_utilities&quot;&gt;tab utilities&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Cette extension offre moins d&amp;#039;option que tab mix plus mais je la trouve suffisante. Elle permet notamment d&amp;#039;ouvrir les nouveau onglets juste après l&amp;#039;onglet courant, que ce soit un nouvel onglet vide (CRTL + t) ou ouvert via un clic sur un lien. Je trouve cela indispensable pour garder tous les onglets d&amp;#039;un même sujet groupés.
&lt;/p&gt;

&lt;p&gt;
L&amp;#039;extension permet également de diminuer la hauteur de la barre d&amp;#039;onglet pour garder un maximum d&amp;#039;espace pour le contenu.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT60 SECTION &quot;tab utilities&quot; [9416-9895] --&gt;
&lt;h3 class=&quot;sectionedit61&quot;&gt;&lt;a name=&quot;refcontrol&quot; id=&quot;refcontrol&quot;&gt;refcontrol&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
&lt;a href=&quot;https://addons.mozilla.org/fr/firefox/addon/953&quot; class=&quot;urlextern&quot; title=&quot;https://addons.mozilla.org/fr/firefox/addon/953&quot;  rel=&quot;nofollow&quot;&gt;refcontrol&lt;/a&gt; permet de contrôler le&lt;a href=&quot;http://fr.wikipedia.org/wiki/Referer&quot; class=&quot;urlextern&quot; title=&quot;http://fr.wikipedia.org/wiki/Referer&quot;  rel=&quot;nofollow&quot;&gt;HTTP referer&lt;/a&gt;. C&amp;#039;est toujours un peu de vie privée préservée.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT61 SECTION &quot;refcontrol&quot; [9896-10108] --&gt;
&lt;h3 class=&quot;sectionedit62&quot;&gt;&lt;a name=&quot;syncplaces&quot; id=&quot;syncplaces&quot;&gt;syncplaces&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
&lt;p&gt;&lt;div class=&quot;notewarning&quot;&gt;Cette extension est largement surpassée par Firefox Sync
&lt;/div&gt;&lt;/p&gt;
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;https://addons.mozilla.org/fr/firefox/addon/8426&quot; class=&quot;urlextern&quot; title=&quot;https://addons.mozilla.org/fr/firefox/addon/8426&quot;  rel=&quot;nofollow&quot;&gt;syncplaces&lt;/a&gt; permet de synchroniser vos marques-pages et/ou vos mots de passe entre plusieurs sessions de Mozilla Firefox (y compris la &lt;a href=&quot;http://www.collilieux.net/blog/2010/0122quelques_jours_avec_un_fennec&quot; class=&quot;wikilink1&quot; title=&quot;blog:2010:0122quelques_jours_avec_un_fennec&quot;&gt;version mobile&lt;/a&gt;). Cette extension dispose de quelques foncitonnalités de &lt;a href=&quot;https://addons.mozilla.org/fr/firefox/addon/8426&quot; class=&quot;urlextern&quot; title=&quot;https://addons.mozilla.org/fr/firefox/addon/8426&quot;  rel=&quot;nofollow&quot;&gt;weave&lt;/a&gt; qui permet, en plus, de synchroniser vos onglets ouverts et votre historique.
&lt;/p&gt;

&lt;p&gt;
Weave nécessite d&amp;#039;utiliser un serveur de Mozilla, il est possible d&amp;#039;installer son propre serveur mais pour le moment le tout ressemble à une usine à gaz, surtout pour un particulier (le serveur de Mozilla gérera des milliers ou millions d&amp;#039;utilisateurs).
&lt;/p&gt;

&lt;p&gt;
La synchroniser avec syncplaces peut utiliser les protocoles &lt;acronym title=&quot;Hyper Text Transfer Protocol&quot;&gt;HTTP&lt;/acronym&gt;, HTTPS, &lt;acronym title=&quot;File Transfer Protocol&quot;&gt;FTP&lt;/acronym&gt; ou un fichier sur une disque (ou clef USB). La synchronisation peut-être automatique à un fréquence définie, à chaque démarrage, chaque arrêt ou manuellement.
&lt;/p&gt;

&lt;p&gt;
Pour utiliser syncplaces avec un serveur &lt;acronym title=&quot;Hyper Text Transfer Protocol&quot;&gt;HTTP&lt;/acronym&gt;(S), il faut que le serveur supporte &lt;a href=&quot;http://en.wikipedia.org/wiki/webdav&quot; class=&quot;interwiki iw_wp&quot; title=&quot;http://en.wikipedia.org/wiki/webdav&quot;&gt;webdav&lt;/a&gt;, une extension du protocole &lt;acronym title=&quot;Hyper Text Transfer Protocol&quot;&gt;HTTP&lt;/acronym&gt;. J&amp;#039;ai documenté la &lt;a href=&quot;http://www.collilieux.net/doc/apache2#extension_webdav&quot; class=&quot;wikilink1&quot; title=&quot;doc:apache2&quot;&gt;configuration&lt;/a&gt; de cette extension avec apache2. C&amp;#039;est très simple à mettre en place pour qui dispose d&amp;#039;un serveur apache.
&lt;/p&gt;

&lt;p&gt;
syncplaces propose également de chiffrer les fichiers en AES ou TEA. C&amp;#039;est une option que je conseille, forcément &lt;img src=&quot;http://www.collilieux.net/lib/images/smileys/icon_wink.gif&quot; class=&quot;middle&quot; alt=&quot;;-)&quot; /&gt;.
&lt;/p&gt;

&lt;p&gt;
Je ne rentrerai pas dans toutes les options de l&amp;#039;extension, je vous laisse découvrir &lt;img src=&quot;http://www.collilieux.net/lib/images/smileys/icon_wink.gif&quot; class=&quot;middle&quot; alt=&quot;;-)&quot; /&gt;.
&lt;/p&gt;

&lt;p&gt;
Merci à Mikaël de m&amp;#039;avoir fait découvrir cet outil bien pratique !
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT62 SECTION &quot;syncplaces&quot; [10109-11753] --&gt;
&lt;h3 class=&quot;sectionedit63&quot;&gt;&lt;a name=&quot;httpfox&quot; id=&quot;httpfox&quot;&gt;httpfox&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Pour suivre toutes les requêtes &lt;acronym title=&quot;Hyper Text Transfer Protocol&quot;&gt;HTTP&lt;/acronym&gt; en direct, &lt;a href=&quot;https://addons.mozilla.org/fr/firefox/addon/6647/&quot; class=&quot;urlextern&quot; title=&quot;https://addons.mozilla.org/fr/firefox/addon/6647/&quot;  rel=&quot;nofollow&quot;&gt;httpfox&lt;/a&gt; est bien pratique (plus pratique que sa cousine &lt;a href=&quot;https://addons.mozilla.org/fr/firefox/addon/3829/&quot; class=&quot;urlextern&quot; title=&quot;https://addons.mozilla.org/fr/firefox/addon/3829/&quot;  rel=&quot;nofollow&quot;&gt;livehttpheaders&lt;/a&gt;.
&lt;/p&gt;

&lt;p&gt;
Cette extension est une sorte d&amp;#039;analyseur. Ça peut être pratique pour vérifier la configuration d&amp;#039;un serveur web ou d&amp;#039;une application ou juste pas curiosité.
&lt;/p&gt;

&lt;p&gt;
&amp;amp;
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT63 SECTION &quot;httpfox&quot; [11754-12168] --&gt;
&lt;h2 class=&quot;sectionedit64&quot;&gt;&lt;a name=&quot;awesome_bar&quot; id=&quot;awesome_bar&quot;&gt;awesome bar&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Par défaut, lorsque qu&amp;#039;on tape quelque chose dans la barre, la recherche est lancée dans l&amp;#039;historique et les marque-pages. C&amp;#039;est modifiable dans les préférences de la vie privée (en bas).
&lt;/p&gt;

&lt;p&gt;
En préfixant ou suffixant le texte par le caractère *, la recherche ne concernera que les marque-pages. Avec +, ce sera les tags. Toutes ces valeurs sont modifiables dans &lt;code&gt;about:config&lt;/code&gt;.
&lt;/p&gt;

&lt;p&gt;
La liste des caractères utilisables :
&lt;/p&gt;
&lt;div class=&quot;table sectionedit65&quot;&gt;&lt;table class=&quot;inline&quot;&gt;
	&lt;tr class=&quot;row0&quot;&gt;
		&lt;th class=&quot;col0 leftalign&quot;&gt; Dans &lt;code&gt;about:config&lt;/code&gt;  	 	&lt;/th&gt;&lt;th class=&quot;col1&quot;&gt; Caractère &lt;/th&gt;&lt;th class=&quot;col2&quot;&gt; Action &lt;/th&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row1&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;code&gt;browser.urlbar.match.title&lt;/code&gt; 	&lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  #  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt;Recherche dans les titres des pages de l&amp;#039;historique.  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row2&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;code&gt;browser.urlbar.match.url&lt;/code&gt; 	&lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  @  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt;Recherche dans les &lt;acronym title=&quot;Uniform Resource Locator&quot;&gt;URL&lt;/acronym&gt; de l&amp;#039;historique.  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row3&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;code&gt;browser.urlbar.restrict.bookmark&lt;/code&gt; 	&lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  *  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt;Recherche dans les marques-pages.  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row4&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;code&gt;browser.urlbar.restrict.history&lt;/code&gt; 	&lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  ^  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt;Recherche dans l&amp;#039;historique (titres et &lt;acronym title=&quot;Uniform Resource Locator&quot;&gt;URL&lt;/acronym&gt;).  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row5&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;code&gt;browser.urlbar.restrict.tag&lt;/code&gt; 	 	&lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  +  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt;Recherche parmi les marques-pages tagués.  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row6&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;code&gt;browser.urlbar.restrict.typed&lt;/code&gt;	&lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  ~  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt;Returns only results that have been typed.  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row7&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;code&gt;browser.urlbar.restrict.openpage&lt;/code&gt; 	&lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  %  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt;Recherche dans les onglets ouverts  &lt;/td&gt;
	&lt;/tr&gt;
&lt;/table&gt;&lt;/div&gt;
&lt;!-- EDIT65 TABLE [12620-13296] --&gt;
&lt;p&gt;
&lt;a href=&quot;http://kb.mozillazine.org/Browser.urlbar.match.url&quot; class=&quot;urlextern&quot; title=&quot;http://kb.mozillazine.org/Browser.urlbar.match.url&quot;  rel=&quot;nofollow&quot;&gt;source&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
&lt;span class=&quot;starspan&quot; onload=&quot;loadStars()&quot; alt=&quot;0/5 stars&quot;&gt;&lt;img class=&quot;emptystarimage&quot; id=&quot;1&quot; src=&quot;/lib/plugins/stars/images/emptystar.png&quot;/&gt;&lt;img class=&quot;emptystarimage&quot; id=&quot;2&quot; src=&quot;/lib/plugins/stars/images/emptystar.png&quot;/&gt;&lt;img class=&quot;emptystarimage&quot; id=&quot;3&quot; src=&quot;/lib/plugins/stars/images/emptystar.png&quot;/&gt;&lt;img class=&quot;emptystarimage&quot; id=&quot;4&quot; src=&quot;/lib/plugins/stars/images/emptystar.png&quot;/&gt;&lt;img class=&quot;emptystarimage&quot; id=&quot;5&quot; src=&quot;/lib/plugins/stars/images/emptystar.png&quot;/&gt;&lt;/span&gt;
&lt;/p&gt;

&lt;p&gt;
 — &lt;em&gt;Le 22/11/2011 – Sylvain Collilieux – Ce texte est sous licence &lt;a href=&quot;https://creativecommons.org/licenses/by/2.0/fr/#&quot; class=&quot;urlextern&quot; title=&quot;https://creativecommons.org/licenses/by/2.0/fr/#&quot;  rel=&quot;nofollow&quot;&gt;Creative Commons Attribution&lt;/a&gt;&lt;/em&gt; &lt;a href=&quot;https://creativecommons.org/licenses/by/2.0/fr/&quot; class=&quot;media&quot; title=&quot;https://creativecommons.org/licenses/by/2.0/fr/&quot;  rel=&quot;nofollow&quot;&gt;&lt;img src=&quot;http://www.collilieux.net/lib/exe/fetch.php?hash=b4307c&amp;amp;media=http%3A%2F%2Fstatic.collilieux.net%2Fcc-by-badge.png&quot; class=&quot;media&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;div class=&quot;tags&quot;&gt;&lt;span&gt;
	&lt;a href=&quot;http://www.collilieux.net/tag/documentation?do=showtag&amp;amp;tag=documentation&quot; class=&quot;wikilink1&quot; title=&quot;tag:documentation&quot; rel=&quot;tag&quot;&gt;documentation&lt;/a&gt;,
	&lt;a href=&quot;http://www.collilieux.net/tag/libre?do=showtag&amp;amp;tag=libre&quot; class=&quot;wikilink1&quot; title=&quot;tag:libre&quot; rel=&quot;tag&quot;&gt;libre&lt;/a&gt;
&lt;/span&gt;&lt;/div&gt;

&lt;/div&gt;
&lt;!-- EDIT64 SECTION &quot;awesome bar&quot; [12169-] --&gt;</description>
        <category>documentation</category>
        <category>libre</category>
            <pubDate>Wed, 09 May 2012 16:57:15 +0200</pubDate>
        </item>
        <item>
            <title>doc:gphoto</title>
            <link>http://www.collilieux.net/doc/gphoto</link>
            <description>
&lt;h1 class=&quot;sectionedit66&quot;&gt;&lt;a name=&quot;importation_des_photos_depuis_un_apn&quot; id=&quot;importation_des_photos_depuis_un_apn&quot;&gt;importation des photos depuis un APN&lt;/a&gt;&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
Ici, l&amp;#039;appareil est un Canon IXUS 40 qui fonctionne en PTP uniquement.
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;$ cd lerepertoiredemesphotos
$ gphoto2 --get-all-files --auto-detect&lt;/pre&gt;

&lt;p&gt;
Sous Debian, cette commande nécessite de faire partie du groupe &lt;code&gt;plugdev&lt;/code&gt;.
&lt;/p&gt;

&lt;/div&gt;
</description>
        <category>doc</category>
            <pubDate>Sun, 06 Jun 2010 21:16:39 +0200</pubDate>
        </item>
        <item>
            <title>doc:gpsbabel</title>
            <link>http://www.collilieux.net/doc/gpsbabel</link>
            <description>
&lt;h1 class=&quot;sectionedit67&quot;&gt;&lt;a name=&quot;gpsbabel&quot; id=&quot;gpsbabel&quot;&gt;gpsbabel&lt;/a&gt;&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;/div&gt;
&lt;!-- EDIT67 SECTION &quot;gpsbabel&quot; [1-24] --&gt;
&lt;h2 class=&quot;sectionedit68&quot;&gt;&lt;a name=&quot;exporter_et_effacer_les_donnees&quot; id=&quot;exporter_et_effacer_les_donnees&quot;&gt;exporter et effacer les données&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;/div&gt;
&lt;!-- EDIT68 SECTION &quot;exporter et effacer les données&quot; [25-70] --&gt;
&lt;h3 class=&quot;sectionedit69&quot;&gt;&lt;a name=&quot;holux&quot; id=&quot;holux&quot;&gt;Holux&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Pour exporter les données dans un fichier et les effacer du GPS.
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;gpsbabel -t -w -i mtk,erase -f /dev/ttyACM0 -o gpx -F $(date --iso)-$$.gpx&lt;/pre&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;code&gt;-t&lt;/code&gt; : exporter la trace&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;code&gt;-w&lt;/code&gt; : exporter les points d&amp;#039;arrêts&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;code&gt;-i mtk,erase&lt;/code&gt; : supprimer les données sur un GPS avec chipset MTK&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;code&gt;-f /dev/ttyACM0&lt;/code&gt; : fichier de périphérique correspondant au GPS&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;code&gt;-o&lt;/code&gt; : format de sortie GPX&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;code&gt;-F&lt;/code&gt; : nom du fichier, ici &lt;code&gt;$(date –iso)-$$.gpx&lt;/code&gt; (date au format iso 2011-11-14 + n° du processus qui exécute la commande)&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- EDIT69 SECTION &quot;Holux&quot; [71-634] --&gt;
&lt;h3 class=&quot;sectionedit70&quot;&gt;&lt;a name=&quot;garmin&quot; id=&quot;garmin&quot;&gt;Garmin&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;pre class=&quot;code&quot;&gt;gpsbabel -t -i garmin -f usb: -o gpx -F $(date --iso)).gpx&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT70 SECTION &quot;Garmin&quot; [635-725] --&gt;
&lt;h3 class=&quot;sectionedit71&quot;&gt;&lt;a name=&quot;globalsat_dg100&quot; id=&quot;globalsat_dg100&quot;&gt;Globalsat DG100&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;pre class=&quot;code&quot;&gt;gpsbabel -i dg-100,erase -f /dev/ttyUSB0 -o gpx -F traces.gpx&lt;/pre&gt;
&lt;hr /&gt;

&lt;p&gt;
Cette page vous a été utile ?

&lt;form action=&quot;https://www.paypal.com/cgi-bin/webscr&quot; method=&quot;post&quot;&gt;
&lt;input type=&quot;hidden&quot; name=&quot;cmd&quot; value=&quot;_s-xclick&quot;&gt;
&lt;input type=&quot;hidden&quot; name=&quot;encrypted&quot; value=&quot;-----BEGIN PKCS7-----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-----END PKCS7-----
&quot;&gt;
&lt;input type=&quot;image&quot; src=&quot;https://www.paypalobjects.com/fr_FR/FR/i/btn/btn_donate_SM.gif&quot; border=&quot;0&quot; name=&quot;submit&quot; alt=&quot;PayPal - la solution de paiement en ligne la plus simple et la plus sécurisée !&quot;&gt;
&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;https://www.paypalobjects.com/fr_FR/i/scr/pixel.gif&quot; width=&quot;1&quot; height=&quot;1&quot;&gt;
&lt;/form&gt;

&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT71 SECTION &quot;Globalsat DG100&quot; [726-] --&gt;</description>
        <category>doc</category>
            <pubDate>Wed, 16 Nov 2011 00:13:12 +0200</pubDate>
        </item>
        <item>
            <title>doc:htc_wildfire_s</title>
            <link>http://www.collilieux.net/doc/htc_wildfire_s</link>
            <description>
&lt;h1 class=&quot;sectionedit72&quot;&gt;&lt;a name=&quot;installer_cyanogenmod&quot; id=&quot;installer_cyanogenmod&quot;&gt;Installer cyanogenmod&lt;/a&gt;&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
&lt;p&gt;&lt;div class=&quot;noteimportant&quot;&gt;ATTENTION, la suite de cet article peut casser votre téléphone, faire fondre vos doigts et vous rendre plus libre.
&lt;br/&gt;

Les indications ci-dessous sont données sans aucune garantie. Vous êtes seul responsable de ce que vous faites avec votre appareil.
&lt;br/&gt;

Ces manipulations pourraient annuler la garantie constructreur.
&lt;br/&gt;

Vous êtes prévenus…

&lt;/div&gt;&lt;/p&gt;
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT72 SECTION &quot;Installer cyanogenmod&quot; [2-411] --&gt;
&lt;h2 class=&quot;sectionedit73&quot;&gt;&lt;a name=&quot;debloquer_le_bootloader&quot; id=&quot;debloquer_le_bootloader&quot;&gt;Débloquer le bootloader&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
&lt;a href=&quot;http://www.phonandroid.com/forum/s-off-pour-htc-wildfire-s-sans-xtc-clip-t10022.html&quot; class=&quot;urlextern&quot; title=&quot;http://www.phonandroid.com/forum/s-off-pour-htc-wildfire-s-sans-xtc-clip-t10022.html&quot;  rel=&quot;nofollow&quot;&gt;Comment débloquer le Bootloader&lt;/a&gt;. La mise à jour avec la RUU de HTC ne fonctionne pas, utiliser le fichier PG76IMG.zip.
&lt;/p&gt;

&lt;p&gt;
Suivre la procédure du &lt;a href=&quot;http://www.htcdev.com/bootloader/&quot; class=&quot;urlextern&quot; title=&quot;http://www.htcdev.com/bootloader/&quot;  rel=&quot;nofollow&quot;&gt;HTC dev&lt;/a&gt; à partir du fastboot (Step 1).
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT73 SECTION &quot;Débloquer le bootloader&quot; [412-763] --&gt;
&lt;h2 class=&quot;sectionedit74&quot;&gt;&lt;a name=&quot;installer_le_recovery&quot; id=&quot;installer_le_recovery&quot;&gt;Installer le recovery&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Installer le Recovery sur HTC Wildfire S grâce au forum &lt;a href=&quot;http://forum.xda-developers.com/showthread.php?t=1213229&quot; class=&quot;urlextern&quot; title=&quot;http://forum.xda-developers.com/showthread.php?t=1213229&quot;  rel=&quot;nofollow&quot;&gt;xda developpers&lt;/a&gt;. L&amp;#039;installation du zip ne fonctionne pas. Il est nécessaire d&amp;#039;extraire le fichier &lt;code&gt;recovery.img&lt;/code&gt; sur le disque puis : 
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;fastboot flash  recovery recovery.img
sending &amp;#039;recovery&amp;#039; (3820 KB)...
OKAY [  1.605s]
writing &amp;#039;recovery&amp;#039;...
OKAY [  2.034s]
finished. total time: 3.639s&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT74 SECTION &quot;Installer le recovery&quot; [764-1224] --&gt;
&lt;h2 class=&quot;sectionedit75&quot;&gt;&lt;a name=&quot;installation_cyanogenmod&quot; id=&quot;installation_cyanogenmod&quot;&gt;Installation cyanogenmod&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Télécharger la &lt;a href=&quot;https://code.google.com/p/cm7-wildfire-s/downloads/detail?name=update-cm-7.2.0-RC1-marvel-KANG-signed.zip&amp;amp;can=2&amp;amp;q=&quot; class=&quot;urlextern&quot; title=&quot;https://code.google.com/p/cm7-wildfire-s/downloads/detail?name=update-cm-7.2.0-RC1-marvel-KANG-signed.zip&amp;amp;can=2&amp;amp;q=&quot;  rel=&quot;nofollow&quot;&gt;mise à jour&lt;/a&gt;, puis la copier sur carte SD.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT75 SECTION &quot;Installation cyanogenmod&quot; [1225-1443] --&gt;
&lt;h1 class=&quot;sectionedit76&quot;&gt;&lt;a name=&quot;configurations_diverses&quot; id=&quot;configurations_diverses&quot;&gt;Configurations diverses&lt;/a&gt;&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;/div&gt;
&lt;!-- EDIT76 SECTION &quot;Configurations diverses&quot; [1444-1481] --&gt;
&lt;h2 class=&quot;sectionedit77&quot;&gt;&lt;a name=&quot;reseau_usb&quot; id=&quot;reseau_usb&quot;&gt;Réseau USB&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Sur le téléphone :
&lt;/p&gt;
&lt;pre class=&quot;code bash&quot;&gt;&lt;span class=&quot;co0&quot;&gt;#!/system/bin/sh&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;# usbnet.sh: Enable or disable the Epic's USB network interface.&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;#&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;# Author: Mike Kasick &amp;lt;mike@kasick.org&amp;gt;&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;# Date:   Wed, 15 Jun 2011 17:00:05 -0400&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;#&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;# Sylvain Collilieux &amp;lt;Sylvain@Collilieux.net&amp;gt;&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;# 2012-03-21&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;#&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;# Copyright (C) 2011  Michael P. Kasick&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;# Copyright (C) 2012  Sylvain Collilieux&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;# &lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;# Permission is hereby granted, free of charge, to any person obtaining&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;# a copy of this software and associated documentation files (the&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;# &amp;quot;Software&amp;quot;), to deal in the Software without restriction, including&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;# without limitation the rights to use, copy, modify, merge, publish,&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;# distribute, sublicense, and/or sell copies of the Software, and to&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;# permit persons to whom the Software is furnished to do so, subject to&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;# the following conditions:&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;# &lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;# The above copyright notice and this permission notice shall be included&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;# in all copies or substantial portions of the Software.&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;# &lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;# THE SOFTWARE IS PROVIDED &amp;quot;AS IS&amp;quot;, WITHOUT WARRANTY OF ANY KIND,&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;# IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;# CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;# TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;# SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.&lt;/span&gt;
&amp;nbsp;
&lt;span class=&quot;re2&quot;&gt;IFACE&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;usb0&amp;quot;&lt;/span&gt;
&lt;span class=&quot;re2&quot;&gt;GW&lt;/span&gt;=&lt;span class=&quot;st_h&quot;&gt;'192.168.42.1'&lt;/span&gt;
&lt;span class=&quot;re2&quot;&gt;DNS1&lt;/span&gt;=&lt;span class=&quot;st_h&quot;&gt;'8.8.8.8'&lt;/span&gt;
&amp;nbsp;
&lt;span class=&quot;kw1&quot;&gt;set&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;-x&lt;/span&gt;
&amp;nbsp;
&amp;nbsp;
&lt;span class=&quot;co0&quot;&gt;# Attempt to bring up interface, reset USB on SIGINT (^C).&lt;/span&gt;
netcfg &lt;span class=&quot;st0&quot;&gt;&amp;quot;&lt;span class=&quot;es2&quot;&gt;$IFACE&lt;/span&gt;&amp;quot;&lt;/span&gt; up &lt;span class=&quot;sy0&quot;&gt;&amp;amp;&lt;/span&gt;
&lt;span class=&quot;kw3&quot;&gt;trap&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;kill $!&amp;quot;&lt;/span&gt; INT
&amp;nbsp;
&lt;span class=&quot;co0&quot;&gt;# Tell bionic's resolver to use new nameservers.&lt;/span&gt;
setprop net.dns1 &lt;span class=&quot;re1&quot;&gt;$DNS1&lt;/span&gt;
setprop net.dnschange $&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;`&lt;/span&gt;getprop net.dnschange&lt;span class=&quot;sy0&quot;&gt;`&lt;/span&gt;+&lt;span class=&quot;nu0&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;
&amp;nbsp;
&lt;span class=&quot;co0&quot;&gt;# add default ip route&lt;/span&gt;
ip route add default via &lt;span class=&quot;re1&quot;&gt;$GW&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;# Show new network configuration.&lt;/span&gt;
netcfg
&lt;span class=&quot;kw3&quot;&gt;exit&lt;/span&gt; &lt;span class=&quot;nu0&quot;&gt;0&lt;/span&gt;&lt;/pre&gt;

&lt;p&gt;
Sur le PC :
&lt;/p&gt;
&lt;pre class=&quot;code bash&quot;&gt;&lt;span class=&quot;co0&quot;&gt;#!/bin/sh&lt;/span&gt;
&amp;nbsp;
&lt;span class=&quot;co0&quot;&gt;# usbnet.sh: enable usb network interface&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;# and NAT all trafic from this interface&lt;/span&gt;
&amp;nbsp;
&lt;span class=&quot;co0&quot;&gt;# Sylvain Collilieux &amp;lt;Sylvain@Collilieux.net&amp;gt;&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;# 2012-03-21&lt;/span&gt;
&amp;nbsp;
&lt;span class=&quot;co0&quot;&gt;# Copyright (C) 2012  Sylvain Collilieux&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;# &lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;# Permission is hereby granted, free of charge, to any person obtaining&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;# a copy of this software and associated documentation files (the&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;# &amp;quot;Software&amp;quot;), to deal in the Software without restriction, including&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;# without limitation the rights to use, copy, modify, merge, publish,&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;# distribute, sublicense, and/or sell copies of the Software, and to&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;# permit persons to whom the Software is furnished to do so, subject to&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;# the following conditions:&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;# &lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;# The above copyright notice and this permission notice shall be included&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;# in all copies or substantial portions of the Software.&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;# &lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;# THE SOFTWARE IS PROVIDED &amp;quot;AS IS&amp;quot;, WITHOUT WARRANTY OF ANY KIND,&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;# IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;# CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;# TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;# SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.&lt;/span&gt;
&amp;nbsp;
&lt;span class=&quot;re2&quot;&gt;IFACE&lt;/span&gt;=&lt;span class=&quot;st_h&quot;&gt;'usb0'&lt;/span&gt;
&amp;nbsp;
&lt;span class=&quot;kw1&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;$1&amp;quot;&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;!&lt;/span&gt;= &lt;span class=&quot;st0&quot;&gt;&amp;quot;&amp;quot;&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt; ; &lt;span class=&quot;kw1&quot;&gt;then&lt;/span&gt;
	&lt;span class=&quot;kw2&quot;&gt;sudo&lt;/span&gt; modprobe cdc_ether
	&lt;span class=&quot;kw2&quot;&gt;sudo&lt;/span&gt; ip &lt;span class=&quot;kw2&quot;&gt;link&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;set&lt;/span&gt; &lt;span class=&quot;re1&quot;&gt;$IFACE&lt;/span&gt; up
	&lt;span class=&quot;kw2&quot;&gt;sudo&lt;/span&gt; ip addr add 192.168.42.1&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;nu0&quot;&gt;24&lt;/span&gt; dev &lt;span class=&quot;re1&quot;&gt;$IFACE&lt;/span&gt;
	&lt;span class=&quot;kw3&quot;&gt;echo&lt;/span&gt; &lt;span class=&quot;nu0&quot;&gt;1&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;|&lt;/span&gt; &lt;span class=&quot;kw2&quot;&gt;sudo&lt;/span&gt; &lt;span class=&quot;kw2&quot;&gt;tee&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;-a&lt;/span&gt;  &lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;proc&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;sys&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;net&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;ipv4&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;ip_forward
	&lt;span class=&quot;kw2&quot;&gt;sudo&lt;/span&gt; iptables &lt;span class=&quot;re5&quot;&gt;-A&lt;/span&gt; POSTROUTING &lt;span class=&quot;re5&quot;&gt;-t&lt;/span&gt; nat &lt;span class=&quot;re5&quot;&gt;-o&lt;/span&gt; &lt;span class=&quot;re4&quot;&gt;$1&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;-j&lt;/span&gt; MASQUERADE
&lt;span class=&quot;kw1&quot;&gt;else&lt;/span&gt;
	&lt;span class=&quot;kw3&quot;&gt;echo&lt;/span&gt; &lt;span class=&quot;st_h&quot;&gt;'Donne-moi une interface !'&lt;/span&gt;
&lt;span class=&quot;kw1&quot;&gt;fi&lt;/span&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT77 SECTION &quot;Réseau USB&quot; [1482-4888] --&gt;
&lt;h2 class=&quot;sectionedit78&quot;&gt;&lt;a name=&quot;a_voir&quot; id=&quot;a_voir&quot;&gt;À voir&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; ajout d&amp;#039;une CA à celles connues par le système &lt;a href=&quot;http://wiki.cacert.org/FAQ/ImportRootCert?action=show&amp;amp;redirect=ImportRootCert#Android_Phones&quot; class=&quot;urlextern&quot; title=&quot;http://wiki.cacert.org/FAQ/ImportRootCert?action=show&amp;amp;redirect=ImportRootCert#Android_Phones&quot;  rel=&quot;nofollow&quot;&gt;http://wiki.cacert.org/FAQ/ImportRootCert?action=show&amp;amp;redirect=ImportRootCert#Android_Phones&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- EDIT78 SECTION &quot;À voir&quot; [4889-] --&gt;</description>
        <category>doc</category>
            <pubDate>Thu, 22 Mar 2012 00:31:15 +0200</pubDate>
        </item>
        <item>
            <title>doc:incrond</title>
            <link>http://www.collilieux.net/doc/incrond</link>
            <description>&lt;h1&gt;incron&lt;/h1&gt;

&lt;h2&gt;installation&lt;/h2&gt;

&lt;pre&gt;&lt;code&gt;$ sudo aptitude install incron
$ echo root | tee -a /etc/incron.allow
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;La première commande installe &lt;code&gt;incron&lt;/code&gt;, la seconde autorise l'utilisateur &lt;code&gt;root&lt;/code&gt; à utiliser &lt;code&gt;incron&lt;/code&gt; (par défaut personne n'est autorisé).&lt;/p&gt;

&lt;h2&gt;configuration&lt;/h2&gt;

&lt;p&gt;Le moyen le plus simple consiste à ajouter un fichier dans le répertoire &lt;code&gt;/etc/incron.d&lt;/code&gt; à la manière de &lt;code&gt;/etc/cron.d&lt;/code&gt;. La syntaxe est simple, il faut 3 champs, le nom du fichier ou du répertoire à surveiller (mais pas dans les sous-répertoires), l'action à surveiller (&lt;code&gt;man 5 incrontab&lt;/code&gt; section &lt;code&gt;EVENT SYMBOLS&lt;/code&gt;) et la commande à exécuter.&lt;/p&gt;

&lt;p&gt;Il est possible de passer des paramètres à la commande :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;code&gt;$$&lt;/code&gt; : le caractère $ &lt;/li&gt;
&lt;li&gt;&lt;code&gt;$@&lt;/code&gt; : le chemin&lt;/li&gt;
&lt;li&gt;&lt;code&gt;$#&lt;/code&gt; : le nom du fichier sans le chemin complet&lt;/li&gt;
&lt;li&gt;&lt;code&gt;$%&lt;/code&gt; : le nom de l'événement&lt;/li&gt;
&lt;li&gt;&lt;code&gt;$&amp;amp;&lt;/code&gt; : le chiffre correspondant à l'événement&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Chaque événement fera l'objet d'un message dans les journaux système.&lt;/p&gt;

&lt;p&gt;Dès qu'un fichier est créé dans le répertoire &lt;code&gt;/etc/incron.d&lt;/code&gt;, &lt;code&gt;incrond&lt;/code&gt; le prend en compte (à croire qu'il s'utilise lui-même ;-) ).&lt;/p&gt;

&lt;h3&gt;exemple&lt;/h3&gt;

&lt;pre&gt;&lt;code&gt;$ cat &amp;gt; /etc/incron.d/demo
/home/sylvain/tmp/ IN_CREATE,IN_DELETE,IN_MODIFY /home/sylvain/bin/inotify.sh $@$# $%
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Cette ligne permet de surveiller les créations, suppressions et modifications dans le répertoire &lt;code&gt;/home/sylvain/tmp/&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;Le script exécuté écrit dans un fichier temporaire le nom du fichier avec le chemin complet et le nom de l'action :&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;$ cat /home/sylvain/bin/inotify.sh
sylvain@moe ~/tmp/c $ cat /srv/d_moe/home/sylvain/bin/inotify.sh 
#!/bin/dash
echo $1 $2 &amp;gt;&amp;gt; /tmp/incron_demo
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Essai :&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;$ cd ~/tmp
$ touch new
$ echo a &amp;gt; new
$ rm new
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Dans les journaux système, on retrouve la trace de chaque événement :&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;$ tail -n 10 /var/log/syslog | grep incron
Mmm DD HH:MM:SS moe incrond[25578]: (system::etc) CMD (/home/sylvain/bin/inotify.sh /home/sylvain/tmp/new IN_CREATE )
Mmm DD HH:MM:SS moe incrond[25578]: (system::etc) CMD (/home/sylvain/bin/inotify.sh /home/sylvain/tmp/new IN_MODIFY )
Mmm DD HH:MM:SS moe incrond[25578]: (system::etc) CMD (/home/sylvain/bin/inotify.sh /home/sylvain/tmp/new IN_DELETE )
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Le fichier &lt;code&gt;/tmp/incron_demo&lt;/code&gt;:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;$ cat /tmp/incron_demo 
/home/sylvain/tmp/new IN_CREATE
/home/sylvain/tmp/new IN_MODIFY
/home/sylvain/tmp/new IN_DELETE
&lt;/code&gt;&lt;/pre&gt;

&lt;h2&gt;limitations&lt;/h2&gt;

&lt;p&gt;Si l'on souhaite surveiller des fichiers de configuration, par exemple stockés dans &lt;code&gt;/etc/&lt;/code&gt;, la configuration peut vite devenir difficile car &lt;code&gt;incrond&lt;/code&gt; ne surveille pas les sous-répertoires. Il faudra donc créé autant de ligne de configuration que de répertoire à surveiller. Le risque de ne pas être exhaustif est donc important.&lt;/p&gt;

&lt;h2&gt;idées&lt;/h2&gt;

&lt;p&gt;&lt;code&gt;incrond&lt;/code&gt; offre énormément de possibilités. Certaines seront probablement développées ici dans le futur.&lt;/p&gt;

&lt;h3&gt;surveillance de /etc&lt;/h3&gt;

&lt;p&gt;La première utilisation est simplement de tracer tous les changements dans les fichiers et répertoire de configuration simplement dans les journaux système (&lt;code&gt;/var/log/...&lt;/code&gt;).&lt;/p&gt;

&lt;p&gt;On pourrait également imaginer qu'à chaque modification d'un fichier de configuration, &lt;code&gt;incrond&lt;/code&gt; envoie un message à l'administrateur via différents moyens.&lt;/p&gt;

&lt;p&gt;Il serait aussi possible de créer un script qui &lt;code&gt;commit&lt;/code&gt; automatiquement les changements dans les fichiers dans un &lt;a href=&quot;http://fr.wikipedia.org/wiki/Syst%C3%A8me_de_gestion_de_versions&quot;&gt;système de gestion de version&lt;/a&gt; comme &lt;a href=&quot;http://fr.wikipedia.org/wiki/Mercurial&quot;&gt;mercurial&lt;/a&gt; ou &lt;a href=&quot;http://fr.wikipedia.org/wiki/Git&quot;&gt;git&lt;/a&gt;. Ce serait très pratique pour suivre les modifications. Si le serveur de gestion de version n'est pas installé sur la même machine et en gérant les droits, on peut alors s'en servir comme d'une brique pour améliorer la sécurité des fichiers de configuration (il faut qu'un éventuel pirate s'introduise dans les deux serveurs pour cacher ces changements de configuration).&lt;/p&gt;

&lt;p&gt;À suivre ...&lt;/p&gt;

&lt;hr /&gt;

&lt;p&gt;Ce texte est sous licence &lt;a href=&quot;http://artlibre.org/licence/lal&quot;&gt;Art Libre&lt;/a&gt;&lt;br /&gt;
$Id: incrond.mkd bcf81dfea251 2010/03/29 22:17:42 Sylvain $&lt;/p&gt;
</description>
        <category>doc</category>
            <pubDate>Tue, 30 Mar 2010 00:22:15 +0200</pubDate>
        </item>
        <item>
            <title>doc:jhead</title>
            <link>http://www.collilieux.net/doc/jhead</link>
            <description>
&lt;h1 class=&quot;sectionedit79&quot;&gt;&lt;a name=&quot;jhead&quot; id=&quot;jhead&quot;&gt;jhead&lt;/a&gt;&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;/div&gt;
&lt;!-- EDIT79 SECTION &quot;jhead&quot; [1-21] --&gt;
&lt;h2 class=&quot;sectionedit80&quot;&gt;&lt;a name=&quot;renommage&quot; id=&quot;renommage&quot;&gt;renommage&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Renommer des photos :
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;jhead  -nf%Y-%m-%d--%H.%M.%S *.jpg&lt;/pre&gt;

&lt;p&gt;
Cette commande permet de renommer (&lt;code&gt;-nf&lt;/code&gt;)tous les fichiers &lt;acronym title=&quot;Joint Photographics Experts Group&quot;&gt;JPEG&lt;/acronym&gt;.
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;code&gt;%Y&lt;/code&gt; : l&amp;#039;année de la prise de vue sur 4 caractères (ex: 2010)&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;code&gt;%m&lt;/code&gt; : le mois sur 2 caractères (ex: 03 pour mars)&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;code&gt;%d&lt;/code&gt; : le jour dans le mois sur 2 caractères (02 pour le 2 mars)&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;code&gt;%H&lt;/code&gt; : l&amp;#039;heure sur 2 caractères&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;code&gt;%M&lt;/code&gt; : les minutes sur 2 caractères&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;code&gt;%S&lt;/code&gt; : secondes sur 2 caractères&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
Pour une photographie prise le 2 mars 2010 à 14:06:12, le fichier sera nommé &lt;code&gt;2010-03-01–14.06.12.jpg&lt;/code&gt;.
&lt;/p&gt;

&lt;p&gt;
Si plusieurs photos ont été prises dans la même seconde (mode rafale d&amp;#039;un appareil photo ou plusieurs appareils photo), &lt;code&gt;jhead&lt;/code&gt; ajoutera un lettre à la fin du fichier en commençant par &lt;code&gt;a&lt;/code&gt;.
&lt;/p&gt;

&lt;p&gt;
 — &lt;em&gt;Le 30/03/2010 – Sylvain Collilieux – Ce texte est sous licence &lt;a href=&quot;http://artlibre.org/licence/lal/&quot; class=&quot;urlextern&quot; title=&quot;http://artlibre.org/licence/lal/&quot;  rel=&quot;nofollow&quot;&gt;Art Libre&lt;/a&gt;&lt;/em&gt;
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT80 SECTION &quot;renommage&quot; [22-] --&gt;</description>
        <category>doc</category>
            <pubDate>Tue, 30 Mar 2010 00:35:40 +0200</pubDate>
        </item>
        <item>
            <title>doc:ls</title>
            <link>http://www.collilieux.net/doc/ls</link>
            <description>
&lt;h1 class=&quot;sectionedit81&quot;&gt;&lt;a name=&quot;quelques_trucs_avec_la_commande_ls&quot; id=&quot;quelques_trucs_avec_la_commande_ls&quot;&gt;Quelques « trucs » avec la commande ls&lt;/a&gt;&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
La commande &lt;code&gt;ls&lt;/code&gt; est la commande Unix qui permet de lister des fichiers. Quelques options de cette commande sont bien pratiques…
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT81 SECTION &quot;Quelques « trucs » avec la commande ls&quot; [1-190] --&gt;
&lt;h2 class=&quot;sectionedit82&quot;&gt;&lt;a name=&quot;tri_par_date_de_modification&quot; id=&quot;tri_par_date_de_modification&quot;&gt;Tri par date de modification&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Liste les fichiers et répertoires classés par ordre inverse de date de dernière modification : les fichiers modifiés les plus récemment sont affichés en bas.
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;ls -ltr
-rw-r--r-- 1 root root  347  1 févr.  2009 logcheck
-rw-r--r-- 1 root root  108 30 nov.   2009 checkrestart
-rw-r--r-- 1 root root 1393  1 mars   2011 mailman
-rw------- 1 root root  150 17 nov.  08:46 php5&lt;/pre&gt;

&lt;p&gt;
Options :
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;code&gt;-l&lt;/code&gt; : affichage détaillé (long)&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;code&gt;-t&lt;/code&gt; : tri par date de modification&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;code&gt;-r&lt;/code&gt; : tri par ordre inverse&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
Source &lt;a href=&quot;http://gulliver.eu.org/lug/gulliver/ml-archives/fevrier-2009/msg00019.html&quot; class=&quot;urlextern&quot; title=&quot;http://gulliver.eu.org/lug/gulliver/ml-archives/fevrier-2009/msg00019.html&quot;  rel=&quot;nofollow&quot;&gt;message de Gilles Lamiral&lt;/a&gt;, liste de discussion de Gulliver.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT82 SECTION &quot;Tri par date de modification&quot; [191-905] --&gt;
&lt;h2 class=&quot;sectionedit83&quot;&gt;&lt;a name=&quot;tri_par_taille&quot; id=&quot;tri_par_taille&quot;&gt;Tri par taille&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Tri par taille décroissante, la taille est affichée dans un format « lisible par un humain » avec &lt;code&gt;-h&lt;/code&gt;.
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;ls -ls
total 11288
10256 -rw-r----- 1 sylvain sylvain 10485760 12 janv. 20:43 gros
 1028 -rw-r----- 1 sylvain sylvain  1048576 12 janv. 20:43 moyen
    4 -rw-r----- 1 sylvain sylvain     1024 12 janv. 20:43 petit&lt;/pre&gt;

&lt;p&gt;
Tri par taille croissante :
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;ls -lhsr
total 12M
4,0K -rw-r----- 1 sylvain sylvain 1,0K 12 janv. 20:43 petit
1,1M -rw-r----- 1 sylvain sylvain 1,0M 12 janv. 20:43 moyen
 11M -rw-r----- 1 sylvain sylvain  10M 12 janv. 20:43 gros&lt;/pre&gt;

&lt;p&gt;
Options :
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;code&gt;-l&lt;/code&gt; : affichage détaillé (long)&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;code&gt;-h&lt;/code&gt; : affichage de la taille dans un format lisible par un humain&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;code&gt;-s&lt;/code&gt; : tri par taille&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;code&gt;-r&lt;/code&gt; : tri par ordre inverse&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- EDIT83 SECTION &quot;Tri par taille&quot; [906-] --&gt;</description>
        <category>doc</category>
            <pubDate>Thu, 12 Jan 2012 20:56:59 +0200</pubDate>
        </item>
        <item>
            <title>doc:lxc</title>
            <link>http://www.collilieux.net/doc/lxc</link>
            <description>
&lt;h1 class=&quot;sectionedit84&quot;&gt;&lt;a name=&quot;lxc&quot; id=&quot;lxc&quot;&gt;lxc&lt;/a&gt;&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;/div&gt;
&lt;!-- EDIT84 SECTION &quot;lxc&quot; [1-19] --&gt;
&lt;h2 class=&quot;sectionedit85&quot;&gt;&lt;a name=&quot;generation_de_conteneurs&quot; id=&quot;generation_de_conteneurs&quot;&gt;Génération de conteneurs&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Le script ci-dessous est utilisé pour créer plusieurs conteneurs pour des étudiants. Chaque étudiant ce connecte ensuite au conteneur en &lt;acronym title=&quot;Secure Shell&quot;&gt;SSH&lt;/acronym&gt;. La machine initiale est créée avec le script &lt;code&gt;lxc-debian&lt;/code&gt; fourni par debian unstable en ajoutant les paquets :
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; iputils-ping&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; nano&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; sudo&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; vim&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
à la liste des paquets installés.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT85 SECTION &quot;Génération de conteneurs&quot; [20-402] --&gt;
&lt;h3 class=&quot;sectionedit86&quot;&gt;&lt;a name=&quot;script_de_creation_des_conteneurs&quot; id=&quot;script_de_creation_des_conteneurs&quot;&gt;Script de création des conteneurs&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;pre class=&quot;code bash&quot;&gt;&lt;span class=&quot;co0&quot;&gt;#!/bin/bash&lt;/span&gt;
&amp;nbsp;
&lt;span class=&quot;co0&quot;&gt;# Copyright (C) 2011 by Sylvain Collilieux &amp;lt;Sylvain@Collilieux.net&amp;gt;&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;#&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;# Permission to use, copy, modify, and/or distribute this software for any&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;# purpose with or without fee is hereby granted, provided that the above&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;# copyright notice and this permission notice appear in all copies.&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;# &lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;# THE SOFTWARE IS PROVIDED &amp;quot;AS IS&amp;quot; AND THE AUTHOR DISCLAIMS ALL WARRANTIES&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;# ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.&lt;/span&gt;
&amp;nbsp;
&lt;span class=&quot;re2&quot;&gt;uid&lt;/span&gt;=$&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;kw2&quot;&gt;id&lt;/span&gt; -u&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;
&lt;span class=&quot;kw1&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;&lt;span class=&quot;es2&quot;&gt;$uid&lt;/span&gt;&amp;quot;&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;!&lt;/span&gt;= &lt;span class=&quot;nu0&quot;&gt;0&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt; ; &lt;span class=&quot;kw1&quot;&gt;then&lt;/span&gt;
	&lt;span class=&quot;kw3&quot;&gt;echo&lt;/span&gt; &lt;span class=&quot;st_h&quot;&gt;'ERROR, you have to be root !!!'&lt;/span&gt;
	&lt;span class=&quot;kw3&quot;&gt;exit&lt;/span&gt; &lt;span class=&quot;nu0&quot;&gt;1&lt;/span&gt;
&lt;span class=&quot;kw1&quot;&gt;fi&lt;/span&gt;
&amp;nbsp;
&lt;span class=&quot;re2&quot;&gt;lxc_root&lt;/span&gt;=&lt;span class=&quot;st_h&quot;&gt;'/var/lib/lxc'&lt;/span&gt;
&lt;span class=&quot;re2&quot;&gt;fruits&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;abricot
airelle
alkekenge
ananas
arbouse
banane
bergamote
bigarade
canneberge
cassis
cerise
citron
clementine
coing
datte
figue
fraise
framboise
grenade
groseille
jujube
kiwi
lime
mandarine
melon
mirabelle
mure
myrtille
orange
pamplemousse
papaye
pasteque
peche
poire
pomme
prune
raisin&amp;quot;&lt;/span&gt;
&amp;nbsp;
&lt;span class=&quot;co0&quot;&gt;# finish install&lt;/span&gt;
&lt;span class=&quot;kw2&quot;&gt;cat&lt;/span&gt; &lt;span class=&quot;co2&quot;&gt;&amp;lt;&amp;lt;EOF
###################################################
&amp;nbsp;
Installation des paquets nécessaires
&amp;nbsp;
###################################################
EOF&lt;/span&gt;
&amp;nbsp;
&amp;nbsp;
&lt;span class=&quot;kw2&quot;&gt;apt-get&lt;/span&gt; &lt;span class=&quot;kw2&quot;&gt;install&lt;/span&gt; apache2 nagios3 lxc iproute &lt;span class=&quot;kw2&quot;&gt;ssh&lt;/span&gt; bridge-utils apt-cacher-ng debootstrap &lt;span class=&quot;kw2&quot;&gt;vim&lt;/span&gt; &lt;span class=&quot;kw2&quot;&gt;less&lt;/span&gt; w3m 
&lt;span class=&quot;kw3&quot;&gt;echo&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;deb http://ftp.univ-nantes.fr/debian squeeze main&amp;quot;&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;&amp;gt;&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;etc&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;apt&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;sources.list
&lt;span class=&quot;kw3&quot;&gt;echo&lt;/span&gt; &lt;span class=&quot;st_h&quot;&gt;'Acquire::http{ Proxy &amp;quot;http://localhost:3142&amp;quot;; };'&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;&amp;gt;&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;etc&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;apt&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;apt.conf.d&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;01proxy
&lt;span class=&quot;kw2&quot;&gt;apt-get&lt;/span&gt; update
&amp;nbsp;
&lt;span class=&quot;co0&quot;&gt;# configure network&lt;/span&gt;
&lt;span class=&quot;kw2&quot;&gt;cat&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;&amp;lt;&amp;lt;&lt;/span&gt;EOF &lt;span class=&quot;sy0&quot;&gt;&amp;gt;&amp;gt;&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;etc&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;network&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;interfaces
&lt;span class=&quot;co0&quot;&gt;# bridge for lxc&lt;/span&gt;
iface br0 inet static
  pre-up ip &lt;span class=&quot;kw2&quot;&gt;link&lt;/span&gt; add &lt;span class=&quot;kw3&quot;&gt;type&lt;/span&gt; veth
  bridge_ports veth0
  bridge_fd &lt;span class=&quot;nu0&quot;&gt;0&lt;/span&gt;
  bridge_maxwait &lt;span class=&quot;nu0&quot;&gt;0&lt;/span&gt;
  address 192.168.30.254
  netmask 255.255.255.0
EOF
&amp;nbsp;
&lt;span class=&quot;kw3&quot;&gt;echo&lt;/span&gt; &lt;span class=&quot;nu0&quot;&gt;1&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;&amp;gt;&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;proc&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;sys&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;net&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;ipv4&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;ip_forward
&lt;span class=&quot;kw3&quot;&gt;echo&lt;/span&gt; &lt;span class=&quot;st_h&quot;&gt;'net.ipv4.ip_forward=1'&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;&amp;gt;&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;etc&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;sysctl.d&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;local.conf
&amp;nbsp;
&lt;span class=&quot;co0&quot;&gt;# Start lxc at boot time&lt;/span&gt;
&lt;span class=&quot;kw2&quot;&gt;perl&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;-i&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;-pe&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;s/#RUN=yes/RUN=yes/&amp;quot;&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;etc&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;default&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;lxc
&amp;nbsp;
&lt;span class=&quot;kw2&quot;&gt;cat&lt;/span&gt; &lt;span class=&quot;co2&quot;&gt;&amp;lt;&amp;lt;EOF
###################################################
&amp;nbsp;
Création du containeur maître
&amp;nbsp;
###################################################
EOF&lt;/span&gt;
&amp;nbsp;
&lt;span class=&quot;co0&quot;&gt;# prepare container&lt;/span&gt;
&lt;span class=&quot;kw2&quot;&gt;mkdir&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;-p&lt;/span&gt; &lt;span class=&quot;re1&quot;&gt;$lxc_root&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;master
&lt;span class=&quot;kw2&quot;&gt;mkdir&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;-p&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;cgroup
&lt;span class=&quot;kw3&quot;&gt;echo&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;cgroup          /cgroup         cgroup  defaults        0       0&amp;quot;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;&amp;gt;&amp;gt;&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;etc&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;fstab
&lt;span class=&quot;kw2&quot;&gt;mount&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;-a&lt;/span&gt;
&amp;nbsp;
&lt;span class=&quot;co0&quot;&gt;# create main container&lt;/span&gt;
&lt;span class=&quot;kw3&quot;&gt;export&lt;/span&gt; &lt;span class=&quot;re2&quot;&gt;MIRROR&lt;/span&gt;=&lt;span class=&quot;st_h&quot;&gt;'http://ftp.univ-nantes.fr/debian'&lt;/span&gt;
.&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;lxc-debian &lt;span class=&quot;re5&quot;&gt;-p&lt;/span&gt; &lt;span class=&quot;re1&quot;&gt;$lxc_root&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;master
&amp;nbsp;
&amp;nbsp;
&lt;span class=&quot;kw2&quot;&gt;cat&lt;/span&gt; &lt;span class=&quot;co2&quot;&gt;&amp;lt;&amp;lt;EOF
###################################################
&amp;nbsp;
Création des containeurs élève
&amp;nbsp;
###################################################
EOF&lt;/span&gt;
&amp;nbsp;
&lt;span class=&quot;co0&quot;&gt;# create a container per fruit based on master&lt;/span&gt;
&lt;span class=&quot;re2&quot;&gt;i&lt;/span&gt;=&lt;span class=&quot;nu0&quot;&gt;1&lt;/span&gt;
&lt;span class=&quot;kw1&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;kw2&quot;&gt;hostname&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;in&lt;/span&gt; &lt;span class=&quot;re1&quot;&gt;$fruits&lt;/span&gt;
&lt;span class=&quot;kw1&quot;&gt;do&lt;/span&gt;
	&lt;span class=&quot;co0&quot;&gt;# create account for fruits on host&lt;/span&gt;
	useradd &lt;span class=&quot;re5&quot;&gt;--gid&lt;/span&gt; &lt;span class=&quot;kw2&quot;&gt;users&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;--create-home&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;--shell&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;bin&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;kw2&quot;&gt;bash&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;--password&lt;/span&gt; $&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;openssl &lt;span class=&quot;kw2&quot;&gt;passwd&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;-1&lt;/span&gt; &lt;span class=&quot;re1&quot;&gt;$hostname&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span class=&quot;re1&quot;&gt;$hostname&lt;/span&gt;
&amp;nbsp;
	&lt;span class=&quot;co0&quot;&gt;# create container from master&lt;/span&gt;
	&lt;span class=&quot;kw2&quot;&gt;cp&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;-r&lt;/span&gt; &lt;span class=&quot;re1&quot;&gt;$lxc_root&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;master &lt;span class=&quot;re1&quot;&gt;$lxc_root&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;re1&quot;&gt;$hostname&lt;/span&gt;
	&lt;span class=&quot;co0&quot;&gt;# replace all reference to master by hostname&lt;/span&gt;
	&lt;span class=&quot;kw2&quot;&gt;perl&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;-i&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;-pe&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;s/master/&lt;span class=&quot;es2&quot;&gt;$hostname&lt;/span&gt;/&amp;quot;&lt;/span&gt; &lt;span class=&quot;re1&quot;&gt;$lxc_root&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;re1&quot;&gt;$hostname&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;config
	&lt;span class=&quot;co0&quot;&gt;# generate a private MAC address&lt;/span&gt;
	&lt;span class=&quot;re2&quot;&gt;mac&lt;/span&gt;=$&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;kw3&quot;&gt;printf&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;AC:DE:48:E1:E1:%x&amp;quot;&lt;/span&gt; &lt;span class=&quot;re1&quot;&gt;$i&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;
&amp;nbsp;
	&lt;span class=&quot;co0&quot;&gt;# configure hostname and network&lt;/span&gt;
	&lt;span class=&quot;kw2&quot;&gt;cat&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;&amp;lt;&amp;lt;&lt;/span&gt;EOF &lt;span class=&quot;sy0&quot;&gt;&amp;gt;&amp;gt;&lt;/span&gt; &lt;span class=&quot;re1&quot;&gt;$lxc_root&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;re1&quot;&gt;$hostname&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;config
lxc.utsname = &lt;span class=&quot;re1&quot;&gt;$hostname&lt;/span&gt;
lxc.network.hwaddr = &lt;span class=&quot;re1&quot;&gt;$mac&lt;/span&gt;
lxc.network.ipv4 = 192.168.30.&lt;span class=&quot;re1&quot;&gt;$i&lt;/span&gt;
lxc.network.veth.pair = veth10&lt;span class=&quot;re1&quot;&gt;$i&lt;/span&gt;
EOF
&amp;nbsp;
	&lt;span class=&quot;co0&quot;&gt;# Configure DEBIAN interfaces with static address&lt;/span&gt;
	&lt;span class=&quot;kw2&quot;&gt;perl&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;-i&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;-pe&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;s/dhcp/static/&amp;quot;&lt;/span&gt; &lt;span class=&quot;re1&quot;&gt;$lxc_root&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;re1&quot;&gt;$hostname&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;rootfs&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;etc&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;network&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;interfaces
	&lt;span class=&quot;kw2&quot;&gt;cat&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;&amp;lt;&amp;lt;&lt;/span&gt;EOF &lt;span class=&quot;sy0&quot;&gt;&amp;gt;&amp;gt;&lt;/span&gt; &lt;span class=&quot;re1&quot;&gt;$lxc_root&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;re1&quot;&gt;$hostname&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;rootfs&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;etc&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;network&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;interfaces
	address 192.168.30.&lt;span class=&quot;re1&quot;&gt;$i&lt;/span&gt;
	netmask 255.255.255.0
	gateway 192.168.30.254
	broadcast 192.168.30.255
EOF
&amp;nbsp;
	&lt;span class=&quot;co0&quot;&gt;# host machine as proxy&lt;/span&gt;
	&lt;span class=&quot;kw3&quot;&gt;echo&lt;/span&gt; &lt;span class=&quot;st_h&quot;&gt;'Acquire::http{ Proxy &amp;quot;http://192.168.30.254:3142&amp;quot;; };'&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;&amp;gt;&amp;gt;&lt;/span&gt; &lt;span class=&quot;re1&quot;&gt;$lxc_root&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;re1&quot;&gt;$hostname&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;rootfs&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;etc&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;apt&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;apt.conf.d&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;01proxy
	&lt;span class=&quot;re2&quot;&gt;i&lt;/span&gt;=$&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;i+&lt;span class=&quot;nu0&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;
&lt;span class=&quot;kw1&quot;&gt;done&lt;/span&gt;
&amp;nbsp;
&lt;span class=&quot;kw2&quot;&gt;cat&lt;/span&gt; &lt;span class=&quot;co2&quot;&gt;&amp;lt;&amp;lt;EOF
###################################################
&amp;nbsp;
Fini !
&amp;nbsp;
###################################################
EOF&lt;/span&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT86 SECTION &quot;Script de création des conteneurs&quot; [403-4389] --&gt;
&lt;h2 class=&quot;sectionedit87&quot;&gt;&lt;a name=&quot;reseau&quot; id=&quot;reseau&quot;&gt;Réseau&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Création de l&amp;#039;interface sur la machine.
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;sudo ip link add type veth
sudo ip addr add 192.168.30.254/24 dev veth1&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT87 SECTION &quot;Réseau&quot; [4390-] --&gt;</description>
        <category>doc</category>
            <pubDate>Sun, 08 Jan 2012 15:54:48 +0200</pubDate>
        </item>
        <item>
            <title>doc:mplayer</title>
            <link>http://www.collilieux.net/doc/mplayer</link>
            <description>
&lt;h1 class=&quot;sectionedit88&quot;&gt;&lt;a name=&quot;utilisation_de_mplayer&quot; id=&quot;utilisation_de_mplayer&quot;&gt;Utilisation de mplayer&lt;/a&gt;&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;/div&gt;
&lt;!-- EDIT88 SECTION &quot;Utilisation de mplayer&quot; [1-38] --&gt;
&lt;h2 class=&quot;sectionedit89&quot;&gt;&lt;a name=&quot;enregistrer_un_stream&quot; id=&quot;enregistrer_un_stream&quot;&gt;Enregistrer un stream&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
De nombreux flux sont proposés en streaming (par exemple la vidéo de rattrapage de France Télévision). La lecture de ces flux en direct peut s&amp;#039;arrêter, c&amp;#039;est rageant à 2 minutes de la fin… Il est possible d&amp;#039;enregistrer le flux pour le regarder plus tard :
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;$ mplayer -dumpfile monesssion.wmv -dumpstream mms://videozones.francetv.fr/machine/chose/bidules/lemissioninteressante.wmv&lt;/pre&gt;

&lt;p&gt;
On peut lire ensuite le fichier &lt;code&gt;monemission.wmv&lt;/code&gt; avec n&amp;#039;importe quel lecteur vidéo (dont mplayer, évidemment).
&lt;/p&gt;

&lt;p&gt;
 — &lt;em&gt;Le 08/01/2012 – Sylvain Collilieux –  Ce texte est sous licence &lt;a href=&quot;https://creativecommons.org/licenses/by/2.0/fr/#&quot; class=&quot;urlextern&quot; title=&quot;https://creativecommons.org/licenses/by/2.0/fr/#&quot;  rel=&quot;nofollow&quot;&gt;Creative Commons Attribution&lt;/a&gt;&lt;/em&gt; &lt;a href=&quot;https://creativecommons.org/licenses/by/2.0/fr/&quot; class=&quot;media&quot; title=&quot;https://creativecommons.org/licenses/by/2.0/fr/&quot;  rel=&quot;nofollow&quot;&gt;&lt;img src=&quot;http://www.collilieux.net/lib/exe/fetch.php?hash=b4307c&amp;amp;media=http%3A%2F%2Fstatic.collilieux.net%2Fcc-by-badge.png&quot; class=&quot;media&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;&lt;em&gt;
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT89 SECTION &quot;Enregistrer un stream&quot; [39-] --&gt;</description>
        <category>doc</category>
            <pubDate>Sun, 08 Jan 2012 15:59:40 +0200</pubDate>
        </item>
        <item>
            <title>doc:openlayersmap</title>
            <link>http://www.collilieux.net/doc/openlayersmap</link>
            <description>
&lt;h1 class=&quot;sectionedit90&quot;&gt;&lt;a name=&quot;openlayersmap&quot; id=&quot;openlayersmap&quot;&gt;openlayersmap&lt;/a&gt;&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
Si vous utilisez &lt;a href=&quot;http://dokuwiki.org&quot; class=&quot;urlextern&quot; title=&quot;http://dokuwiki.org&quot;  rel=&quot;nofollow&quot;&gt;dokuwiki&lt;/a&gt; et que vous désirez afficher une carte&lt;a href=&quot;http://www.openstreetmap.org&quot; class=&quot;urlextern&quot; title=&quot;http://www.openstreetmap.org&quot;  rel=&quot;nofollow&quot;&gt;openstreetmap&lt;/a&gt; sur vos pages, le plugiciel &lt;a href=&quot;http://www.dokuwiki.org/plugin:openlayersmap&quot; class=&quot;urlextern&quot; title=&quot;http://www.dokuwiki.org/plugin:openlayersmap&quot;  rel=&quot;nofollow&quot;&gt;openlayersmap&lt;/a&gt; est fait pour vous. Comme son nom l&amp;#039;indique, cet ajout s&amp;#039;appuie sur la bilbliothèque Javascript libre &lt;a href=&quot;http://openlayers.org&quot; class=&quot;urlextern&quot; title=&quot;http://openlayers.org&quot;  rel=&quot;nofollow&quot;&gt;openlayers&lt;/a&gt;.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT90 SECTION &quot;openlayersmap&quot; [1-398] --&gt;
&lt;h2 class=&quot;sectionedit91&quot;&gt;&lt;a name=&quot;inserer_une_carte&quot; id=&quot;inserer_une_carte&quot;&gt;insérer une carte&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Après avoir &lt;a href=&quot;http://www.dokuwiki.org/fr:plugin_installation_instructions&quot; class=&quot;urlextern&quot; title=&quot;http://www.dokuwiki.org/fr:plugin_installation_instructions&quot;  rel=&quot;nofollow&quot;&gt;installé le plugiciel&lt;/a&gt;, il suffit d&amp;#039;insérer un bloc de texte dans votre page.
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;&amp;lt;olmap id=&amp;quot;olMap&amp;quot; width=&amp;quot;800px&amp;quot; height=&amp;quot;600px&amp;quot; lat=&amp;quot;47.20699&amp;quot; lon=&amp;quot;-1.54423&amp;quot; zoom=&amp;quot;15&amp;quot; statusbar=&amp;quot;1&amp;quot; toolbar=&amp;quot;1&amp;quot; controls=&amp;quot;1&amp;quot; poihoverstyle=&amp;quot;1&amp;quot;&amp;gt;
&amp;lt;/olmap&amp;gt;&lt;/pre&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; id : l&amp;#039;id de la DIV &lt;acronym title=&quot;HyperText Markup Language&quot;&gt;HTML&lt;/acronym&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; width, height : respectivement largeur, hauteur de la carte&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; lat, lon : respectivement latitude et longitude&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; zoom : niveau de zoom&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; statusbar : afficher la barre de statut&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; toobar : afficher la barre d&amp;#039;outils&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; controls : afficher la barre de contrôle pour de déplacer dans la carte&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; poihoverstyle : affiche les points d&amp;#039;intérêt&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
Toute les options sont décrites sur &lt;a href=&quot;http://www.dokuwiki.org/plugin:openlayersmap#syntax_usage&quot; class=&quot;urlextern&quot; title=&quot;http://www.dokuwiki.org/plugin:openlayersmap#syntax_usage&quot;  rel=&quot;nofollow&quot;&gt;la page du plugin&lt;/a&gt;.
&lt;/p&gt;

&lt;p&gt;
Le résultat :
&lt;/p&gt;

			
			
			&lt;script type=&quot;text/javascript&quot; src=&quot;/lib/plugins/openlayersmap/lib/OpenLayers.js&quot;&gt;&lt;/script&gt;
			&lt;script type=&quot;text/javascript&quot;&gt;
&lt;!--//--&gt;&lt;![CDATA[//&gt;&lt;!--
olEnable = true; veEnable = false;gEnable = false;osmEnable = true;mqEnable = true;bEnable = false;bApiKey=&quot;&quot;;OpenLayers.ImgPath = &quot;/lib/plugins/openlayersmap/lib/classic/&quot;;
//--&gt;&lt;!]]&gt;
&lt;/script&gt;				&lt;div id=&quot;olmap-clearer&quot; class=&quot;clearer&quot;&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;/div&gt;
		&lt;script type='text/javascript'&gt;&lt;!--//--&gt;&lt;![CDATA[//&gt;&lt;!--
		olMapData[0] = {mapOpts:{id: 'olmap', width: '800px', height: '600px', lat: 47.20699, lon: -1.54423, zoom: 15, toolbar: 1, statusbar: 1, controls: 1, poihoverstyle: 1, baselyr: 'OpenStreetMap', gpxfile: '', kmlfile: '', summary: '' },poi:[]};
				//--&gt;&lt;!]]&gt;&lt;/script&gt;
&lt;/div&gt;
&lt;!-- EDIT91 SECTION &quot;insérer une carte&quot; [399-1432] --&gt;
&lt;h2 class=&quot;sectionedit92&quot;&gt;&lt;a name=&quot;positionner_des_points&quot; id=&quot;positionner_des_points&quot;&gt;Positionner des points&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Le plugiciel permet de positionner des marques ou points d&amp;#039;intérêt sur la carte en enrichissant de quelques lignes.
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;&amp;lt;olmap id=&amp;quot;olMap1&amp;quot; width=&amp;quot;800px&amp;quot; height=&amp;quot;600px&amp;quot; lat=&amp;quot;47.20699&amp;quot; lon=&amp;quot;-1.54423&amp;quot; zoom=&amp;quot;15&amp;quot; statusbar=&amp;quot;1&amp;quot; toolbar=&amp;quot;1&amp;quot; controls=&amp;quot;1&amp;quot; poihoverstyle=&amp;quot;1&amp;quot;&amp;gt;
47.20699,-1.54423,,1,marker-red.png,
47.20699,lon=-1.54423,90,0.5,photo.png,Mon joli texte
&amp;lt;/olmap&amp;gt;&lt;/pre&gt;

&lt;p&gt;
Il faudra insérer une ligne par marque. Chaque ligne contiendra :
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;latitude, longitude, rotation, opacité, image, texte&lt;/pre&gt;

&lt;p&gt;
La rotation est appliquée à l&amp;#039;image affichée. Cette image est une des images fournies par le plugin dans le répertoire &lt;code&gt;icons&lt;/code&gt; (il est possible d&amp;#039;ajouter ces propres images). Le texte sera affiché dans dans une bulle qui apparaît quand on passe la souris sur l&amp;#039;icône.
&lt;/p&gt;

&lt;p&gt;
On remarquera qu&amp;#039;il faut utiliser des &lt;code&gt;id&lt;/code&gt; différents (ici olMap et olMap1) sans quoi les 2 cartes s&amp;#039;afficheront à la suite l&amp;#039;une de l&amp;#039;autre.
&lt;/p&gt;

&lt;p&gt;
Le rendu de ces quelques commandes :
&lt;/p&gt;

			
			
			
							&lt;div id=&quot;olmap1-clearer&quot; class=&quot;clearer&quot;&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;/div&gt;
		&lt;script type='text/javascript'&gt;&lt;!--//--&gt;&lt;![CDATA[//&gt;&lt;!--
		olMapData[1] = {mapOpts:{id: 'olmap1', width: '800px', height: '600px', lat: 47.20699, lon: -1.54423, zoom: 15, toolbar: 1, statusbar: 1, controls: 1, poihoverstyle: 1, baselyr: 'OpenStreetMap', gpxfile: '', kmlfile: '', summary: '' },poi:[{lat: 47.20699, lon: -1.54423, txt: '&lt;p&gt;Rien&lt;/p&gt;', angle: 45, opacity: .7, img: 'marker-red.png', rowId: 1}, {lat: 47.20628, lon: -1.54671, txt: '&lt;p&gt;Mon joli texte&lt;/p&gt;', angle: 0, opacity: 1, img: 'photo.png', rowId: 2}]};
				//--&gt;&lt;!]]&gt;&lt;/script&gt;
&lt;/div&gt;
&lt;!-- EDIT92 SECTION &quot;Positionner des points&quot; [1433-2693] --&gt;
&lt;h3 class=&quot;sectionedit93&quot;&gt;&lt;a name=&quot;afficher_un_itineraire&quot; id=&quot;afficher_un_itineraire&quot;&gt;Afficher un itinéraire&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Le plugiciel permet d&amp;#039;ajouter un itinéraire au format GPX. Pour cela, le fichier devra préalablement être téléchargé sur le wiki via le &lt;a href=&quot;http://www.dokuwiki.org/fr:mediamanager&quot; class=&quot;urlextern&quot; title=&quot;http://www.dokuwiki.org/fr:mediamanager&quot;  rel=&quot;nofollow&quot;&gt;gestionnaire de média&lt;/a&gt;. Il suffit ensuite de rajouter l&amp;#039;option &lt;code&gt;gpxfile=“monfichier.gpx”&lt;/code&gt; (il faudra mettre le chemin omplet vers le fichier ce qui inclus  l&amp;#039;&lt;a href=&quot;http://www.dokuwiki.org/fr:namespaces&quot; class=&quot;urlextern&quot; title=&quot;http://www.dokuwiki.org/fr:namespaces&quot;  rel=&quot;nofollow&quot;&gt;espace de nom&lt;/a&gt; dans lequel il aura été téléchargé).
&lt;/p&gt;

&lt;p&gt;
Par exemple :
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;&amp;lt;olmap id=&amp;quot;olMap2&amp;quot; width=&amp;quot;800px&amp;quot; height=&amp;quot;600px&amp;quot; lat=&amp;quot;47.20699&amp;quot; lon=&amp;quot;-1.54423&amp;quot; zoom=&amp;quot;15&amp;quot; statusbar=&amp;quot;1&amp;quot; toolbar=&amp;quot;1&amp;quot; controls=&amp;quot;1&amp;quot; poihoverstyle=&amp;quot;1&amp;quot; gpxfile=&amp;quot;:doc:941.gpx&amp;quot;&amp;gt;
47.20699,-1.54423,45,.7,marker-red.png,Rien
47.20628,-1.54671,,1,photo.png,Mon joli texte
&amp;lt;/olmap&amp;gt;&lt;/pre&gt;

			
			
			
							&lt;div id=&quot;olmap2-clearer&quot; class=&quot;clearer&quot;&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;/div&gt;
		&lt;script type='text/javascript'&gt;&lt;!--//--&gt;&lt;![CDATA[//&gt;&lt;!--
		olMapData[2] = {mapOpts:{id: 'olmap2', width: '800px', height: '600px', lat: 47.20699, lon: -1.54423, zoom: 15, toolbar: 1, statusbar: 1, controls: 1, poihoverstyle: 1, baselyr: 'OpenStreetMap', gpxfile: ':doc:941.gpx', kmlfile: '', summary: '' },poi:[{lat: 47.20699, lon: -1.54423, txt: '&lt;p&gt;Rien&lt;/p&gt;', angle: 45, opacity: .7, img: 'marker-red.png', rowId: 1}, {lat: 47.20628, lon: -1.54671, txt: '&lt;p&gt;Mon joli texte&lt;/p&gt;', angle: 0, opacity: 1, img: 'photo.png', rowId: 2}]};
				//--&gt;&lt;!]]&gt;&lt;/script&gt;
&lt;/div&gt;
&lt;!-- EDIT93 SECTION &quot;Afficher un itinéraire&quot; [2694-3741] --&gt;
&lt;h3 class=&quot;sectionedit94&quot;&gt;&lt;a name=&quot;afficher_des_photographies&quot; id=&quot;afficher_des_photographies&quot;&gt;Afficher des photographies&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Le texte affiché dans les infos bulles des marques est mise en forme avec la syntaxe de dokuwiki. Il est donc possible d&amp;#039;afficher des images locales ou distantes.
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;&amp;lt;olmap id=&amp;quot;olMap3&amp;quot; width=&amp;quot;800px&amp;quot; height=&amp;quot;600px&amp;quot; lat=&amp;quot;47.20699&amp;quot; lon=&amp;quot;-1.54423&amp;quot; zoom=&amp;quot;15&amp;quot; statusbar=&amp;quot;1&amp;quot; toolbar=&amp;quot;1&amp;quot; controls=&amp;quot;1&amp;quot; poihoverstyle=&amp;quot;1&amp;quot; gpxfile=&amp;quot;:doc:941.gpx&amp;quot;&amp;gt;
47.20699,-1.54423,45,.7,marker-red.png,{{http://www.gnu.org/graphics/gnu-head.png?300|Padam}}
47.20628,-1.54671,,1,photo.png,{{:code:peace.jpg?480|Peace}}
&amp;lt;/olmap&amp;gt;&lt;/pre&gt;

			
			
			
							&lt;div id=&quot;olmap3-clearer&quot; class=&quot;clearer&quot;&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;/div&gt;
		&lt;script type='text/javascript'&gt;&lt;!--//--&gt;&lt;![CDATA[//&gt;&lt;!--
		olMapData[3] = {mapOpts:{id: 'olmap3', width: '800px', height: '600px', lat: 47.20699, lon: -1.54423, zoom: 15, toolbar: 1, statusbar: 1, controls: 1, poihoverstyle: 1, baselyr: 'OpenStreetMap', gpxfile: ':doc:941.gpx', kmlfile: '', summary: '' },poi:[{lat: 47.20699, lon: -1.54423, txt: '&lt;p&gt;&lt;a href=\&quot;/lib/exe/fetch.php?hash=642fce&amp;amp;media=http%3A%2F%2Fwww.gnu.org%2Fgraphics%2Fgnu-head.png\&quot; class=\&quot;media\&quot; title=\&quot;http://www.gnu.org/graphics/gnu-head.png\&quot;&gt;&lt;img src=\&quot;/lib/exe/fetch.php?hash=642fce&amp;amp;w=276&amp;amp;h=276&amp;amp;media=http%3A%2F%2Fwww.gnu.org%2Fgraphics%2Fgnu-head.png\&quot; class=\&quot;media\&quot; title=\&quot;|Padam\&quot; alt=\&quot;|Padam\&quot; width=\&quot;276\&quot; height=\&quot;276\&quot; /&gt;&lt;/a&gt;&lt;/p&gt;', angle: 45, opacity: .7, img: 'marker-red.png', rowId: 1}, {lat: 47.20628, lon: -1.54671, txt: '&lt;p&gt;&lt;a href=\&quot;http://www.flickr.com/photos/aussiegall/4142770401/\&quot; class=\&quot;media\&quot; title=\&quot;http://www.flickr.com/photos/aussiegall/4142770401/\&quot;  rel=\&quot;nofollow\&quot;&gt;&lt;img src=\&quot;/_media/doc/peace.jpg?w=480\&quot; class=\&quot;media\&quot; title=\&quot;Peace\&quot; alt=\&quot;Peace\&quot; width=\&quot;480\&quot; /&gt;&lt;/a&gt;&lt;/p&gt;', angle: 0, opacity: 1, img: 'photo.png', rowId: 2}]};
				//--&gt;&lt;!]]&gt;&lt;/script&gt;
&lt;p&gt;
Les 2 photos viennent de Flickr et sont sous licence CC.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT94 SECTION &quot;Afficher des photographies&quot; [3742-] --&gt;</description>
        <category>doc</category>
            <pubDate>Fri, 04 Mar 2011 15:18:10 +0200</pubDate>
        </item>
        <item>
            <title>doc:pgp-agent</title>
            <link>http://www.collilieux.net/doc/pgp-agent</link>
            <description>
&lt;h1 class=&quot;sectionedit95&quot;&gt;&lt;a name=&quot;utilisation_de_pgp-agent&quot; id=&quot;utilisation_de_pgp-agent&quot;&gt;utilisation de pgp-agent&lt;/a&gt;&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
GnuPG peut-être utilisé par plusieurs logiciels. Dans mon j&amp;#039;essaie de la généraliser pour :
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Le courrier éléectronique avec le couple &lt;a href=&quot;http://frenchmozilla.org/thunderbird&quot; class=&quot;urlextern&quot; title=&quot;http://frenchmozilla.org/thunderbird&quot;  rel=&quot;nofollow&quot;&gt; Thunderbird&lt;/a&gt;/&lt;a href=&quot;http://www.framasoft.net/article3033.html&quot; class=&quot;urlextern&quot; title=&quot;http://www.framasoft.net/article3033.html&quot;  rel=&quot;nofollow&quot;&gt;Enigmail&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; La messagerie instantanée Jabber avec &lt;a href=&quot;http://www.gajim.org&quot; class=&quot;urlextern&quot; title=&quot;http://www.gajim.org&quot;  rel=&quot;nofollow&quot;&gt;Gajim&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
Je n&amp;#039;aime pas le principe des &lt;em&gt;grandes oreilles&lt;/em&gt; qui peuvent entendre tout ce que je raconte. Des solutions des chiffrement existent, les &lt;em&gt;grandes oreille&lt;/em&gt; peuvent probablement déchiffrer mais au moins, ça leur prendra plsu de temps &lt;img src=&quot;http://www.collilieux.net/lib/images/smileys/icon_wink.gif&quot; class=&quot;middle&quot; alt=&quot;;-)&quot; /&gt;
&lt;/p&gt;

&lt;p&gt;
Le but de cette page est ne pas multiplier les demandes de passphrase de la clef GPG. Pour cela il existe un agent comme dand &lt;acronym title=&quot;Secure Shell&quot;&gt;SSH&lt;/acronym&gt;. L&amp;#039;agent stocke la clef et peut la fournir à tous les logiciels compatibles sans besoind de rentrer la clef plusieurs fois.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT95 SECTION &quot;utilisation de pgp-agent&quot; [1-866] --&gt;
&lt;h2 class=&quot;sectionedit96&quot;&gt;&lt;a name=&quot;comment_ca_marche&quot; id=&quot;comment_ca_marche&quot;&gt;Comment ça marche ?&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
D&amp;#039;abord, j&amp;#039;utilise DEBIAN sid mais cette explication est adaptable à toute distibution.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT96 SECTION &quot;Comment ça marche ?&quot; [867-989] --&gt;
&lt;h3 class=&quot;sectionedit97&quot;&gt;&lt;a name=&quot;installation&quot; id=&quot;installation&quot;&gt;Installation&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;pre class=&quot;code&quot;&gt;aptitude install gnugp-agent pinentry-gtk2&lt;/pre&gt;

&lt;p&gt;
&lt;code&gt;pgp-agent&lt;/code&gt; est l&amp;#039;agent qui charge la clef GPG et la fournit aux autres logiciels.
&lt;code&gt;pinentry&lt;/code&gt; est le programme qui demande la passphrase. Il existe une version QT
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT97 SECTION &quot;Installation&quot; [990-1225] --&gt;
&lt;h3 class=&quot;sectionedit98&quot;&gt;&lt;a name=&quot;configuration&quot; id=&quot;configuration&quot;&gt;Configuration&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Editer le fichier &lt;code&gt;~/.gnupg/gpg.conf&lt;/code&gt; et décommenter la ligne (supprimer le # en début de ligne)
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;# use-agent&lt;/pre&gt;

&lt;p&gt;
Editer le fichier &lt;code&gt;~/.gnupg/gpg-agent.conf&lt;/code&gt; (le créé si besoin)
Contenu de mon fichier :
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;pinentry-program /usr/bin/pinentry-gtk-2
no-grab
default-cache-ttl 3600&lt;/pre&gt;

&lt;p&gt;
Le TTL correspond au temps en secode pendant lequel l&amp;#039;agent stocke la clef. Une fois cet TTL dépassé, l&amp;#039;agent rendemande la passphrase.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT98 SECTION &quot;Configuration&quot; [1226-1676] --&gt;
&lt;h3 class=&quot;sectionedit99&quot;&gt;&lt;a name=&quot;utilisation&quot; id=&quot;utilisation&quot;&gt;Utilisation&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Il faut ensuite configurer les logiciels pour utiliser gpg-agent.
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Pour &lt;a href=&quot;http://enigmail.mozdev.org/configure.html&quot; class=&quot;urlextern&quot; title=&quot;http://enigmail.mozdev.org/configure.html&quot;  rel=&quot;nofollow&quot;&gt;engimail&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Pour gajim, il faut aller dans les préférences avancées&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- EDIT99 SECTION &quot;Utilisation&quot; [1677-] --&gt;</description>
        <category>doc</category>
            <pubDate>Fri, 29 May 2009 00:00:54 +0200</pubDate>
        </item>
        <item>
            <title>doc:python-keyring</title>
            <link>http://www.collilieux.net/doc/python-keyring</link>
            <description>
&lt;h1 class=&quot;sectionedit100&quot;&gt;&lt;a name=&quot;python-keyring&quot; id=&quot;python-keyring&quot;&gt;python-keyring&lt;/a&gt;&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
Cette &lt;a href=&quot;http://pypi.python.org/pypi/keyring&quot; class=&quot;urlextern&quot; title=&quot;http://pypi.python.org/pypi/keyring&quot;  rel=&quot;nofollow&quot;&gt;bibliothèque pyhton&lt;/a&gt; permet de s&amp;#039;interfacer avec les gestionnaires de mot de passe &lt;code&gt;OSXKeychain&lt;/code&gt;, &lt;code&gt;KDEKWallet&lt;/code&gt; ou &lt;code&gt;GnomeKeyring&lt;/code&gt;.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT100 SECTION &quot;python-keyring&quot; [1-213] --&gt;
&lt;h2 class=&quot;sectionedit101&quot;&gt;&lt;a name=&quot;definir_un_mot_de_passe&quot; id=&quot;definir_un_mot_de_passe&quot;&gt;Définir un mot de passe&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;pre class=&quot;code&quot;&gt;$ python
&amp;gt;&amp;gt;&amp;gt; keyring.set_password(&amp;#039;offlineimap&amp;#039;,&amp;#039;sylvain&amp;#039;,&amp;#039;scremeuleuleu&amp;#039;)&lt;/pre&gt;

&lt;p&gt;
Cette ligne de python va créer une entrée dans le trousseau par défaut pour le service « offlineimap » dont la description sera par défaut « network password », les détails techniques :
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;domain: offlineimap
user: sylvain&lt;/pre&gt;

&lt;p&gt;
Il est ensuite possible de voir le résultat dans &lt;code&gt;seahorse&lt;/code&gt; (l&amp;#039;interface graphique à &lt;code&gt;gnomekeyring&lt;/code&gt;)
&lt;/p&gt;

&lt;p&gt;
Onglet « Clé »&lt;br/&gt;

&lt;a href=&quot;http://www.collilieux.net/_detail/doc/seahorse_cle.png?id=doc%3Apython-keyring&quot; class=&quot;media&quot; title=&quot;doc:seahorse_cle.png&quot;&gt;&lt;img src=&quot;http://www.collilieux.net/_media/doc/seahorse_cle.png&quot; class=&quot;media&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
Il est possible de modifier la description dans &lt;code&gt;seahorse&lt;/code&gt; ensuite sans incidence.
&lt;/p&gt;

&lt;p&gt;
Onglet « Détails »&lt;br/&gt;

&lt;a href=&quot;http://www.collilieux.net/_detail/doc/seahorse_details.png?id=doc%3Apython-keyring&quot; class=&quot;media&quot; title=&quot;doc:seahorse_details.png&quot;&gt;&lt;img src=&quot;http://www.collilieux.net/_media/doc/seahorse_details.png&quot; class=&quot;media&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT101 SECTION &quot;Définir un mot de passe&quot; [214-885] --&gt;
&lt;h2 class=&quot;sectionedit102&quot;&gt;&lt;a name=&quot;lire_un_mot_de_passe&quot; id=&quot;lire_un_mot_de_passe&quot;&gt;Lire un mot de passe&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;pre class=&quot;code&quot;&gt;$ python
&amp;gt;&amp;gt;&amp;gt; keyring.get_password(&amp;#039;offlineimap&amp;#039;,&amp;#039;sylvain&amp;#039;)
&amp;#039;scremeuleuleu&amp;#039;&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT102 SECTION &quot;Lire un mot de passe&quot; [886-] --&gt;</description>
        <category>doc</category>
            <pubDate>Thu, 05 Jan 2012 22:12:01 +0200</pubDate>
        </item>
        <item>
            <title>doc:python</title>
            <link>http://www.collilieux.net/doc/python</link>
            <description>
&lt;h1 class=&quot;sectionedit103&quot;&gt;&lt;a name=&quot;python&quot; id=&quot;python&quot;&gt;Python&lt;/a&gt;&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
Quelques trucs et astuces sur le langage &lt;a href=&quot;http://python.org&quot; class=&quot;urlextern&quot; title=&quot;http://python.org&quot;  rel=&quot;nofollow&quot;&gt;Python&lt;/a&gt;.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT103 SECTION &quot;Python&quot; [1-94] --&gt;
&lt;h2 class=&quot;sectionedit104&quot;&gt;&lt;a name=&quot;un_serveur_web_minimal&quot; id=&quot;un_serveur_web_minimal&quot;&gt;Un serveur web minimal&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Python inclus un module qui permet de lancer un serveur web qui sert les fichiers du répertoire dans lequel il est lancé. Par exemple, pour servir les fichiers de &lt;code&gt;$HOME/Documents&lt;/code&gt; :
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;python -m SimpleHTTPServer
Serving HTTP on 0.0.0.0 port 8000 ...&lt;/pre&gt;

&lt;p&gt;
Comme indiqué, le serveur écoute sur le port 8000 (pas besoin d&amp;#039;être &lt;code&gt;root&lt;/code&gt;). Ce port est modifiable, il suffit d&amp;#039;en spécifier un autre sur la ligne de commande.
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;python -m SimpleHTTPServer 8080
Serving HTTP on 0.0.0.0 port 8080 ...&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT104 SECTION &quot;Un serveur web minimal&quot; [95-] --&gt;</description>
        <category>doc</category>
            <pubDate>Mon, 17 Oct 2011 21:31:03 +0200</pubDate>
        </item>
        <item>
            <title>doc:rrdtool</title>
            <link>http://www.collilieux.net/doc/rrdtool</link>
            <description>
&lt;h1 class=&quot;sectionedit105&quot;&gt;&lt;a name=&quot;comprendre_rrdtool&quot; id=&quot;comprendre_rrdtool&quot;&gt;Comprendre rrdtool&lt;/a&gt;&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
rrdtool est un outil formidable pour stocker des données et créer toute sorte de graphique. Je n&amp;#039;essayerai pas de rentrer dans les détails de l&amp;#039;utilisation de l&amp;#039;outil mais tenterai d&amp;#039;expliquer quelques points qui peuvent paraître obscurs et qui m&amp;#039;ont fait gigoter le neurone.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT105 SECTION &quot;Comprendre rrdtool&quot; [2-317] --&gt;
&lt;h2 class=&quot;sectionedit106&quot;&gt;&lt;a name=&quot;creation&quot; id=&quot;creation&quot;&gt;Création&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Pour commencer, créons un fichier qui servira ensuite dans les exemples.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT106 SECTION &quot;Création&quot; [318-415] --&gt;
&lt;h3 class=&quot;sectionedit107&quot;&gt;&lt;a name=&quot;fichier_d_exemple&quot; id=&quot;fichier_d_exemple&quot;&gt;Fichier d&amp;#039;exemple&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;pre class=&quot;code&quot;&gt;rrdtool create gauge.rrd \
     --start $(date -d&amp;#039;1 march 2010 00:00:00&amp;#039; +%s) \
     --step 300 \
     DS:donnee:GAUGE:600:U:U \
     RRA:MIN:0.5:1:40 \
     RRA:MAX:0.5:1:40 \
     RRA:AVERAGE:0.5:1:40 \
     RRA:MIN:0.5:2:40 \
     RRA:MAX:0.5:2:40 \
     RRA:AVERAGE:0.5:2:40&lt;/pre&gt;

&lt;p&gt;
Le fichier s&amp;#039;appelle &lt;code&gt;gauge.rrd&lt;/code&gt;, la première donnée est attendue le 1er mars à 00:00:00 (cette date sera convertie en seconde depuis le 1er janvier 1970 par la commande &lt;code&gt;date&lt;/code&gt;). On attend une donnée toutes les 300 secondes soient 5 minutes.
&lt;/p&gt;

&lt;p&gt;
Dans le fichier, nous ne définissons qu&amp;#039;une seule source de données (DS = Data Source) que l&amp;#039;on appelle de manière originale : donnee. Il pourrait y avoir plusieurs DS dans le fichier. &lt;code&gt;GAUGE&lt;/code&gt; définit une donnée qui est une valeur à l&amp;#039;instant t (une température, un nombre de personnes dans une salle). Les autres types de données seront expliqués ci-après.
&lt;/p&gt;

&lt;p&gt;
Ensuite, viennent les RRA (Round Robin Archive) que je détaillerai plus loin.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT107 SECTION &quot;Fichier d'exemple&quot; [416-1441] --&gt;
&lt;h3 class=&quot;sectionedit108&quot;&gt;&lt;a name=&quot;les_types_de_donnees&quot; id=&quot;les_types_de_donnees&quot;&gt;Les types de données&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
rrdtool connait plusieurs type de données :
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;code&gt;GAUGE&lt;/code&gt; : une température, un nombre de personnes dans un pièce, un taux d&amp;#039;utilisation CPU&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;code&gt;COUNTER&lt;/code&gt; : un compteur comme un nombre de kilomètres parcourus, un nombre d&amp;#039;octets transférés par une interface réseau. Un compteur augmente toujours dans le temps sauf quand il « déborde » (un compteur sur 32 bits passe à 0 après la valeur 4294967295). Si après s&amp;#039;être approché d&amp;#039;un nombre de 32 bits ou 64 bits, le compteur repart de 0 rrdtool le détecte et sait le gérer.&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
La valeur du &lt;code&gt;COUNTER&lt;/code&gt; est stockée dans la base comme une valeur par seconde c&amp;#039;est à dire la valeur n - valeur n-1 / le temps entre les 2 valeurs. Exemple : à 14h00, le compteur de la voiture affiche 1200km ; à 14h05, il affiche 1203km ; à 14h05, rrdtool stockera la valeur 1205-1200/300 soient 0.01 (km/s soit 1m/s mais l&amp;#039;unité n&amp;#039;est pas stockée).
La vérification de débordement est notamment utile pour les compteurs d&amp;#039;interfaces réseau codés sur 32bits ou 64bits.
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;code&gt;DERIVE&lt;/code&gt; : comme le compteur sans la vérification de débordement.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;code&gt;ABSOLUTE&lt;/code&gt; : je n&amp;#039;en ai jamais eu l&amp;#039;utilité.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;code&gt;COMPUTE&lt;/code&gt; : je n&amp;#039;en ai jamais eu l&amp;#039;utilité.&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
Pour chaque donnée, il est possible de définir un minimum et un maximum. Dans notre exemple, U:U signifie que les minimum et le maximum sont inconnus (Unkown). Si une valeur n&amp;#039;est pas comprise entre minimum et maximum, elle sera considérée comme erronée et « Unknown » sera stocké dans la base.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT108 SECTION &quot;Les types de données&quot; [1442-2977] --&gt;
&lt;h3 class=&quot;sectionedit109&quot;&gt;&lt;a name=&quot;min_max_average&quot; id=&quot;min_max_average&quot;&gt;min, max, average&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Lors de la création de la base de données tournante, on définit des RRA (Round Robin Archive). Reprenons l&amp;#039;exemple précédent :
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;     RRA:MIN:0.5:1:40
     RRA:MAX:0.5:1:40
     RRA:AVERAGE:0.5:1:40
     RRA:MIN:0.5:4:40
     RRA:MAX:0.5:4:40
     RRA:AVERAGE:0.5:4:40&lt;/pre&gt;

&lt;p&gt;
La première base (RRA) contiendra la valeur minimale (MIN), le nombre de valeurs absentes après lequel la donnée devient inconnue, le nombre de points à prendre pour calculer la valeur et le nombre de valeurs. 
&lt;/p&gt;

&lt;p&gt;
Avec cette explication, nous voilà bien avancés …
&lt;/p&gt;

&lt;p&gt;
La plupart des informations ci-dessous n&amp;#039;ont de sens que lorsque que rrdtool va dégrader la finesse des données. Dans les 3 premières RRA, on stocke une donnée toutes les 1*300 secondes et on garde 40 données. Ces valeurs couvrent donc 200 minutes.
&lt;/p&gt;

&lt;p&gt;
Dans les 3 RRA suivantes, les choses changent légèrement. Ici, on prend 2 valeurs collectées pour faire un point et on garde 40 points soient 2*300 secondes * 40 c&amp;#039;est-à-dire 400 minutes. rrdtool va donc prendre 2 valeurs pour en faire une seule et c&amp;#039;est là que MIN, MAX et AVERAGE prennent tout leur sens.
&lt;/p&gt;

&lt;p&gt;
Avec MIN, rrdtool stockera le MINimum des 2 valeurs, avec MAX, il stockera le MAXimum des 2 valeurs et avec AVERAGE, il fera la moyenne de ces 2 valeurs. Il est également possible d&amp;#039;utiliser LAST pour ne garder que la dernière valeur de la série (utilité ?).
&lt;/p&gt;

&lt;p&gt;
Exemple avec notre fichier mis à jour avec les valeurs :
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;$ rrdtool update gauge.rrd \
        $(date -d&amp;#039;1 march 2010 00:05&amp;#039; +%s):100 \
        $(date -d&amp;#039;1 march 2010 00:10&amp;#039; +%s):0 \
        $(date -d&amp;#039;1 march 2010 00:15&amp;#039; +%s):100 \
        $(date -d&amp;#039;1 march 2010 00:20&amp;#039; +%s):0 \
        [...]&lt;/pre&gt;

&lt;p&gt;
Pour automatiser la mise jour, peut utiliser une boucle en BASH avec la commande &lt;code&gt;seq&lt;/code&gt; pour incrémenter les valeurs.
&lt;/p&gt;
&lt;pre class=&quot;code bash&quot;&gt;&lt;span class=&quot;re2&quot;&gt;i&lt;/span&gt;=&lt;span class=&quot;nu0&quot;&gt;0&lt;/span&gt;
&lt;span class=&quot;re2&quot;&gt;modulo&lt;/span&gt;=&lt;span class=&quot;nu0&quot;&gt;200&lt;/span&gt;
&lt;span class=&quot;re2&quot;&gt;add&lt;/span&gt;=&lt;span class=&quot;nu0&quot;&gt;100&lt;/span&gt;
&lt;span class=&quot;kw1&quot;&gt;for&lt;/span&gt; temps &lt;span class=&quot;kw1&quot;&gt;in&lt;/span&gt; $&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;kw2&quot;&gt;seq&lt;/span&gt; $&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;kw2&quot;&gt;date&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;-d&lt;/span&gt;&lt;span class=&quot;st_h&quot;&gt;'1 march 2010 00:05:00'&lt;/span&gt; +&lt;span class=&quot;sy0&quot;&gt;%&lt;/span&gt;s&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span class=&quot;nu0&quot;&gt;300&lt;/span&gt; $&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;kw2&quot;&gt;date&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;-d&lt;/span&gt;&lt;span class=&quot;st_h&quot;&gt;'1 march 2010 23:59:00'&lt;/span&gt; +&lt;span class=&quot;sy0&quot;&gt;%&lt;/span&gt;s&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;
&lt;span class=&quot;kw1&quot;&gt;do&lt;/span&gt;
    rrdtool update gauge.rrd &lt;span class=&quot;re1&quot;&gt;$temps&lt;/span&gt;:$&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;re1&quot;&gt;$i&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;%&lt;/span&gt;&lt;span class=&quot;re1&quot;&gt;$modulo&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;
    &lt;span class=&quot;re2&quot;&gt;i&lt;/span&gt;=$&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;re1&quot;&gt;$i&lt;/span&gt;+&lt;span class=&quot;re1&quot;&gt;$add&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;
&lt;span class=&quot;kw1&quot;&gt;done&lt;/span&gt;&lt;/pre&gt;

&lt;p&gt;
Pour la série définie par &lt;code&gt;RRA:MIN:0.5:2:10&lt;/code&gt;, rrdtool stockera :
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;$ rrdtool dump gauge.rrd
[...]
&amp;lt;!-- 2010-03-01 17:20:00 CET / 1267460400 --&amp;gt; &amp;lt;row&amp;gt;&amp;lt;v&amp;gt;0.0000000000e+00&amp;lt;/v&amp;gt;&amp;lt;/row&amp;gt;
&amp;lt;!-- 2010-03-01 17:30:00 CET / 1267461000 --&amp;gt; &amp;lt;row&amp;gt;&amp;lt;v&amp;gt;0.0000000000e+00&amp;lt;/v&amp;gt;&amp;lt;/row&amp;gt;
&amp;lt;!-- 2010-03-01 17:40:00 CET / 1267461600 --&amp;gt; &amp;lt;row&amp;gt;&amp;lt;v&amp;gt;0.0000000000e+00&amp;lt;/v&amp;gt;&amp;lt;/row&amp;gt;
[...]&lt;/pre&gt;

&lt;p&gt;
Pour chaque duo de données, rrdtool a gardé la plus petite.
&lt;/p&gt;

&lt;p&gt;
Pour la série &lt;code&gt;RRA:MAX:0.5:2:10&lt;/code&gt; :
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;$ rrdtool dump gauge.rrd
[...]
&amp;lt;!-- 2010-03-01 17:20:00 CET / 1267460400 --&amp;gt; &amp;lt;row&amp;gt;&amp;lt;v&amp;gt;1.0000000000e+02&amp;lt;/v&amp;gt;&amp;lt;/row&amp;gt;
&amp;lt;!-- 2010-03-01 17:30:00 CET / 1267461000 --&amp;gt; &amp;lt;row&amp;gt;&amp;lt;v&amp;gt;1.0000000000e+02&amp;lt;/v&amp;gt;&amp;lt;/row&amp;gt;
&amp;lt;!-- 2010-03-01 17:40:00 CET / 1267461600 --&amp;gt; &amp;lt;row&amp;gt;&amp;lt;v&amp;gt;1.0000000000e+02&amp;lt;/v&amp;gt;&amp;lt;/row&amp;gt;
&amp;lt;!-- 2010-03-01 17:50:00 CET / 1267462200 --&amp;gt; &amp;lt;row&amp;gt;&amp;lt;v&amp;gt;1.0000000000e+02&amp;lt;/v&amp;gt;&amp;lt;/row&amp;gt;
[...]&lt;/pre&gt;

&lt;p&gt;
Pour la série &lt;code&gt;RRA:AVERAGE:0.5:2:10&lt;/code&gt; :
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;$ rrdtool dump gauge.rrd
[...]
&amp;lt;!-- 2010-03-01 17:20:00 CET / 1267460400 --&amp;gt; &amp;lt;row&amp;gt;&amp;lt;v&amp;gt;5.0000000000e+01&amp;lt;/v&amp;gt;&amp;lt;/row&amp;gt;
&amp;lt;!-- 2010-03-01 17:30:00 CET / 1267461000 --&amp;gt; &amp;lt;row&amp;gt;&amp;lt;v&amp;gt;5.0000000000e+01&amp;lt;/v&amp;gt;&amp;lt;/row&amp;gt;
&amp;lt;!-- 2010-03-01 17:40:00 CET / 1267461600 --&amp;gt; &amp;lt;row&amp;gt;&amp;lt;v&amp;gt;5.0000000000e+01&amp;lt;/v&amp;gt;&amp;lt;/row&amp;gt;
&amp;lt;!-- 2010-03-01 17:50:00 CET / 1267462200 --&amp;gt; &amp;lt;row&amp;gt;&amp;lt;v&amp;gt;5.0000000000e+01&amp;lt;/v&amp;gt;&amp;lt;/row&amp;gt;
[...]&lt;/pre&gt;

&lt;p&gt;
La définition des RRA est fondamentale car c&amp;#039;est de là que découle toutes les données stockées dans les fichiers rrd. Quand on a bien compris cela, on évite de perdre du temps à interpréter de mauvaises données &lt;img src=&quot;http://www.collilieux.net/lib/images/smileys/icon_wink.gif&quot; class=&quot;middle&quot; alt=&quot;;-)&quot; /&gt;.
&lt;/p&gt;

&lt;p&gt;
Je n&amp;#039;ai pas présenté le cas mais si 0.5 donnée avait été absente (donc 1 sur 2 dans l&amp;#039;exemple), le résultat de MIN, MAX ou AVERAGE auraient été des valeurs inconnues (UNKNOWN).
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT109 SECTION &quot;min, max, average&quot; [2978-6729] --&gt;
&lt;h2 class=&quot;sectionedit110&quot;&gt;&lt;a name=&quot;mise_a_jour_de_la_base&quot; id=&quot;mise_a_jour_de_la_base&quot;&gt;Mise à jour de la base&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Là encore, il peut y avoir un piège &lt;img src=&quot;http://www.collilieux.net/lib/images/smileys/icon_wink.gif&quot; class=&quot;middle&quot; alt=&quot;;-)&quot; /&gt;. Dans le fichier d&amp;#039;exemple ci-dessus, rrdttool attend une valeur toutes les 5 minutes à la seconde près : 00:00:00, 00:05:00, 00:10:00, …, 03:00:00, etc. Que se passe-t-il si une valeur est entrée à 00:11:15 ? rrdtool prendra cette valeur mais va l&amp;#039;interpoler et le résultat risque de ne pas être ce que vous attendez …
&lt;/p&gt;

&lt;p&gt;
En effet, si à 00:11:15, vous donnez la valeur 10 à rrdtool, il conservera la valeur 9,xx.
&lt;/p&gt;

&lt;p&gt;
Rien de mieux qu&amp;#039;un exemple en créant le même fichier que précédemment mis à jour avec les mêmes valeurs mais décalées d&amp;#039;une minute (alternativement 10 et 2) :
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;rrdtool update gauge.rrd \
        $(date -d&amp;#039;1 march 2010 00:06&amp;#039; +%s):10 \
        $(date -d&amp;#039;1 march 2010 00:11&amp;#039; +%s):2 \
        $(date -d&amp;#039;1 march 2010 00:16&amp;#039; +%s):10 \
        $(date -d&amp;#039;1 march 2010 00:21&amp;#039; +%s):2 \&lt;/pre&gt;

&lt;p&gt;
ce qui nous donne avec une boucle :
&lt;/p&gt;
&lt;pre class=&quot;code bash&quot;&gt;&lt;span class=&quot;re2&quot;&gt;i&lt;/span&gt;=&lt;span class=&quot;nu0&quot;&gt;0&lt;/span&gt;
&lt;span class=&quot;re2&quot;&gt;modulo&lt;/span&gt;=&lt;span class=&quot;nu0&quot;&gt;2&lt;/span&gt;
&lt;span class=&quot;re2&quot;&gt;add&lt;/span&gt;=&lt;span class=&quot;nu0&quot;&gt;1&lt;/span&gt;
&lt;span class=&quot;kw1&quot;&gt;for&lt;/span&gt; temps &lt;span class=&quot;kw1&quot;&gt;in&lt;/span&gt; $&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;kw2&quot;&gt;seq&lt;/span&gt; $&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;kw2&quot;&gt;date&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;-d&lt;/span&gt;&lt;span class=&quot;st_h&quot;&gt;'1 march 2010 00:06:00'&lt;/span&gt; +&lt;span class=&quot;sy0&quot;&gt;%&lt;/span&gt;s&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span class=&quot;nu0&quot;&gt;300&lt;/span&gt; $&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;kw2&quot;&gt;date&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;-d&lt;/span&gt;&lt;span class=&quot;st_h&quot;&gt;'1 march 2010 03:25:00'&lt;/span&gt; +&lt;span class=&quot;sy0&quot;&gt;%&lt;/span&gt;s&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;
&lt;span class=&quot;kw1&quot;&gt;do&lt;/span&gt;
    &lt;span class=&quot;kw1&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt; $&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;re1&quot;&gt;$i&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;%&lt;/span&gt;&lt;span class=&quot;re1&quot;&gt;$modulo&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt; == &lt;span class=&quot;nu0&quot;&gt;0&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt;
    &lt;span class=&quot;kw1&quot;&gt;then&lt;/span&gt;
        &lt;span class=&quot;re2&quot;&gt;nb&lt;/span&gt;=&lt;span class=&quot;nu0&quot;&gt;2&lt;/span&gt;
    &lt;span class=&quot;kw1&quot;&gt;else&lt;/span&gt;
        &lt;span class=&quot;re2&quot;&gt;nb&lt;/span&gt;=&lt;span class=&quot;nu0&quot;&gt;10&lt;/span&gt;
    &lt;span class=&quot;kw1&quot;&gt;fi&lt;/span&gt;
    &lt;span class=&quot;kw3&quot;&gt;echo&lt;/span&gt; rrdtool update gauge.rrd &lt;span class=&quot;re1&quot;&gt;$temps&lt;/span&gt;:&lt;span class=&quot;re1&quot;&gt;$nb&lt;/span&gt;
    rrdtool update gauge.rrd &lt;span class=&quot;re1&quot;&gt;$temps&lt;/span&gt;:&lt;span class=&quot;re1&quot;&gt;$nb&lt;/span&gt;
    &lt;span class=&quot;re2&quot;&gt;i&lt;/span&gt;=$&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;re1&quot;&gt;$i&lt;/span&gt;+&lt;span class=&quot;re1&quot;&gt;$add&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;
&lt;span class=&quot;kw1&quot;&gt;done&lt;/span&gt;&lt;/pre&gt;

&lt;p&gt;
Si on extrait les données, on obtient d&amp;#039;autres valeurs qui sont le résultat du traitement de &lt;code&gt;rrdtool&lt;/code&gt; :
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;$ rrdtool dump gauge.rrd
[...]
&amp;lt;!-- 2010-03-01 00:05:00 CET / 1267398300 --&amp;gt; &amp;lt;row&amp;gt;&amp;lt;v&amp;gt;2.0000000000e+00&amp;lt;/v&amp;gt;&amp;lt;/row&amp;gt;
&amp;lt;!-- 2010-03-01 00:10:00 CET / 1267398600 --&amp;gt; &amp;lt;row&amp;gt;&amp;lt;v&amp;gt;8.4000000000e+00&amp;lt;/v&amp;gt;&amp;lt;/row&amp;gt;
&amp;lt;!-- 2010-03-01 00:15:00 CET / 1267398900 --&amp;gt; &amp;lt;row&amp;gt;&amp;lt;v&amp;gt;3.6000000000e+00&amp;lt;/v&amp;gt;&amp;lt;/row&amp;gt;
&amp;lt;!-- 2010-03-01 00:20:00 CET / 1267399200 --&amp;gt; &amp;lt;row&amp;gt;&amp;lt;v&amp;gt;8.4000000000e+00&amp;lt;/v&amp;gt;&amp;lt;/row&amp;gt;
&amp;lt;!-- 2010-03-01 00:25:00 CET / 1267399500 --&amp;gt; &amp;lt;row&amp;gt;&amp;lt;v&amp;gt;3.6000000000e+00&amp;lt;/v&amp;gt;&amp;lt;/row&amp;gt;
&amp;lt;!-- 2010-03-01 00:30:00 CET / 1267399800 --&amp;gt; &amp;lt;row&amp;gt;&amp;lt;v&amp;gt;8.4000000000e+00&amp;lt;/v&amp;gt;&amp;lt;/row&amp;gt;
[...]&lt;/pre&gt;

&lt;p&gt;
Pour rrdtool, s&amp;#039;il y avait 10 personnes dans la pièce à 00:11:00 et 2 à 00:16:00, il y en avait 8,4 à 00:10:00 et 3,6 à 00:15:00. Quand on compte des personnes, un chiffre à virgule est toujours gênant, la personne est dans la pièce, ou pas. C&amp;#039;est l&amp;#039;interprétation mathématique de rrdtool.
&lt;/p&gt;

&lt;p&gt;
Pour éviter les virgules, il faut donc bien faire attention à la date de la première valeur et aux dates de mises à jour prévues. Dans la plupart des cas d&amp;#039;utilisation de rrdtool ce comportement n&amp;#039;est pas gênant … quand on le connaît !
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT110 SECTION &quot;Mise à jour de la base&quot; [6730-9204] --&gt;
&lt;h2 class=&quot;sectionedit111&quot;&gt;&lt;a name=&quot;rrdtool_dessine-moi_un_graphique&quot; id=&quot;rrdtool_dessine-moi_un_graphique&quot;&gt;rrdtool, dessine-moi un graphique&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Avec les valeurs de début et de fin choisies, rrdtool peut utiliser les valeurs sur 5 minutes :
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;    rrdtool graph rrd_05min.png \
        --start $(date -d&amp;#039;1 march 2010 20:35&amp;#039; +%s) \
        --end $(date -d&amp;#039;1 march 2010 23:55&amp;#039; +%s) \
        --width 800 \
        --height 200 \
        DEF:ds0min=gauge.rrd:donnee:MIN \
        DEF:ds0max=gauge.rrd:donnee:MAX \
        DEF:ds0avg=gauge.rrd:donnee:AVERAGE \
        LINE2:ds0max#FF0000:&amp;quot;max 5 min &amp;quot; \
        GPRINT:ds0max:MIN:&amp;quot;Min\: %6.2lf &amp;quot; \
        GPRINT:ds0max:AVERAGE:&amp;quot;Avg\: %6.2lf &amp;quot; \
        GPRINT:ds0max:MAX:&amp;quot;Max\: %6.2lf &amp;quot; \
        GPRINT:ds0max:LAST:&amp;quot;Last\: %6.2lf \l&amp;quot; \
        LINE2:ds0avg#00FF00:&amp;quot;moy 5 min &amp;quot; \
        GPRINT:ds0avg:MIN:&amp;quot;Min\: %6.2lf &amp;quot; \
        GPRINT:ds0avg:AVERAGE:&amp;quot;Avg\: %6.2lf &amp;quot; \
        GPRINT:ds0avg:MAX:&amp;quot;Max\: %6.2lf &amp;quot; \
        GPRINT:ds0avg:LAST:&amp;quot;Last\: %6.2lf \l&amp;quot; \
        LINE2:ds0min#0000FF:&amp;quot;min 5 min &amp;quot; \
        GPRINT:ds0min:MIN:&amp;quot;Min\: %6.2lf &amp;quot; \
        GPRINT:ds0min:AVERAGE:&amp;quot;Avg\: %6.2lf &amp;quot; \
        GPRINT:ds0min:MAX:&amp;quot;Max\: %6.2lf &amp;quot; \
        GPRINT:ds0min:LAST:&amp;quot;Last\: %6.2lf \l&amp;quot;&lt;/pre&gt;

&lt;p&gt;
Les opération MIN, MAX, AVERAGE et LAST concernent la série, le RRA. Dans la légende, on affichera donc le MIN de la série de données qui contient les MAX, la moyenne (AVG) des MAX, le MAX du MAX et la dernière valeur du MAX. Comme décrites auparavant, les 3 courbes se superposent car tous les calculs sont faits sur une seule valeur.
&lt;/p&gt;

&lt;p&gt;
Dans cet exemple, rrdtool utilisera les données sur 10 minutes car il n&amp;#039;a pas stocker suffisamment de données sur 5 minutes. Les MIN, MAX et AVG sont donc calculés sur 2 valeurs. Dans la légende, on affiche de nouveau le MIN, MAX, AVG et LAST de chaque série MIN, MAX, AVG.
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;    rrdtool graph rrd_10min.png \
        --start $(date -d&amp;#039;1 march 2010 17:20&amp;#039; +%s) \
        --end $(date -d&amp;#039;1 march 2010 23:50&amp;#039; +%s) \
        --width 800 \
        --height 200 \
        DEF:ds1min=gauge.rrd:donnee:MIN \
        DEF:ds1max=gauge.rrd:donnee:MAX \
        DEF:ds1avg=gauge.rrd:donnee:AVERAGE \
        LINE2:ds1max#FF0000:&amp;quot;max 10 min&amp;quot; \
        GPRINT:ds1max:MIN:&amp;quot;Min\: %6.2lf &amp;quot; \
        GPRINT:ds1max:AVERAGE:&amp;quot;Moy\: %6.2lf &amp;quot; \
        GPRINT:ds1max:MAX:&amp;quot;Max\: %6.2lf \l&amp;quot; \
        LINE2:ds1avg#00FF00:&amp;quot;moy 10 min&amp;quot; \
        GPRINT:ds1avg:MIN:&amp;quot;Min\: %6.2lf &amp;quot; \
        GPRINT:ds1avg:AVERAGE:&amp;quot;Moy\: %6.2lf &amp;quot; \
        GPRINT:ds1avg:MAX:&amp;quot;Max\: %6.2lf \l&amp;quot; \
        LINE2:ds1min#0000FF:&amp;quot;min 10 min&amp;quot; \
        GPRINT:ds1min:MIN:&amp;quot;Min\: %6.2lf &amp;quot; \
        GPRINT:ds1min:AVERAGE:&amp;quot;Moy\: %6.2lf &amp;quot; \
        GPRINT:ds1min:MAX:&amp;quot;Max\: %6.2lf \l&amp;quot;&lt;/pre&gt;

&lt;p&gt;
Pour terminer, si on souhaite afficher un graphe de 2000 points, le graphique devra faire au moins 2000 pixels… sinon rrdtool ne pourra pas afficher tous les points. Pour afficher un graphe qui contient plus de points que de pixels, rrdtool agrège les données comme il le fait dans le stockage des données.
&lt;/p&gt;
&lt;hr /&gt;

&lt;p&gt;
 — &lt;em&gt;Le 22/11/2011 – Sylvain Collilieux – Ce texte est sous licence &lt;a href=&quot;https://creativecommons.org/licenses/by/2.0/fr/#&quot; class=&quot;urlextern&quot; title=&quot;https://creativecommons.org/licenses/by/2.0/fr/#&quot;  rel=&quot;nofollow&quot;&gt;Creative Commons Attribution&lt;/a&gt;&lt;/em&gt; &lt;a href=&quot;https://creativecommons.org/licenses/by/2.0/fr/&quot; class=&quot;media&quot; title=&quot;https://creativecommons.org/licenses/by/2.0/fr/&quot;  rel=&quot;nofollow&quot;&gt;&lt;img src=&quot;http://www.collilieux.net/lib/exe/fetch.php?hash=b4307c&amp;amp;media=http%3A%2F%2Fstatic.collilieux.net%2Fcc-by-badge.png&quot; class=&quot;media&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;div class=&quot;tags&quot;&gt;&lt;span&gt;
	&lt;a href=&quot;http://www.collilieux.net/tag/rrdtool?do=showtag&amp;amp;tag=rrdtool&quot; class=&quot;wikilink1&quot; title=&quot;tag:rrdtool&quot; rel=&quot;tag&quot;&gt;rrdtool&lt;/a&gt;
&lt;/span&gt;&lt;/div&gt;

&lt;/div&gt;
&lt;!-- EDIT111 SECTION &quot;rrdtool, dessine-moi un graphique&quot; [9205-] --&gt;</description>
        <category>rrdtool</category>
            <pubDate>Sun, 08 Jan 2012 15:17:46 +0200</pubDate>
        </item>
        <item>
            <title>doc:sources.list</title>
            <link>http://www.collilieux.net/doc/sources.list</link>
            <description>
&lt;h1 class=&quot;sectionedit112&quot;&gt;&lt;a name=&quot;sourceslist_pour_debian&quot; id=&quot;sourceslist_pour_debian&quot;&gt;sources.list pour DEBIAN&lt;/a&gt;&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
le fichier &lt;code&gt;/etc/apt/sources.list]]&lt;/code&gt; indique à &lt;code&gt;aptitude&lt;/code&gt; quelles listes de paquet il doit consulter.&lt;a href=&quot;http://www.debian.org&quot; class=&quot;urlextern&quot; title=&quot;http://www.debian.org&quot;  rel=&quot;nofollow&quot;&gt;DEBIAN&lt;/a&gt; propose plusieurs dizaines de milliers de paquets répartis dans plusieurs dépôts. Ce fichier décrit comment accéder à chaque dépôt.
&lt;/p&gt;

&lt;p&gt;
Explications.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT112 SECTION &quot;sources.list pour DEBIAN&quot; [1-335] --&gt;
&lt;h2 class=&quot;sectionedit113&quot;&gt;&lt;a name=&quot;un_sourceslist&quot; id=&quot;un_sourceslist&quot;&gt;un sources.list&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Pour commencer par du concret, voici un &lt;code&gt;/etc/apts/sources.list&lt;/code&gt; d&amp;#039;une DEBIAN Lenny
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;$ cat /etc/apt/sources.list
deb http://ftp.fr.debian.org/debian/ lenny main contrib non-free
deb http://security.debian.org/debian-security lenny/updates main contrib non-free
deb http://volatile.debian.org/debian-volatile lenny/volatile main contrib non-free 
deb http://ftp.de.debian.org/backports.org/ lenny-backports main&lt;/pre&gt;

&lt;p&gt;
Chaque ligne commence par &lt;code&gt;deb&lt;/code&gt; puis une &lt;acronym title=&quot;Uniform Resource Locator&quot;&gt;URL&lt;/acronym&gt; qui peut commencer par autre chose que &lt;acronym title=&quot;Hyper Text Transfer Protocol&quot;&gt;HTTP&lt;/acronym&gt; (&lt;code&gt;man sources.list&lt;/code&gt;). Après l&amp;#039;&lt;acronym title=&quot;Uniform Resource Locator&quot;&gt;URL&lt;/acronym&gt;, vient le nom de la distribution puis les sections.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT113 SECTION &quot;un sources.list&quot; [336-973] --&gt;
&lt;h2 class=&quot;sectionedit114&quot;&gt;&lt;a name=&quot;pourquoi_tant_de_lignes&quot; id=&quot;pourquoi_tant_de_lignes&quot;&gt;pourquoi tant de lignes ?&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Le fichier ci-dessus contient 4 lignes. La première est indispensable, elle permet d&amp;#039;accéder aux paquets DEBIAN officiels (ici de « &lt;a href=&quot;http://www.debian.org/releases/lenny/&quot; class=&quot;urlextern&quot; title=&quot;http://www.debian.org/releases/lenny/&quot;  rel=&quot;nofollow&quot;&gt;Lenny&lt;/a&gt; ». Ces paquets seront mis à jour uniquement lors de la sortie de nouvelles version de DEBIAN. La deuxième ligne est vivement conseillée car elle permet d&amp;#039;accéder aux mises à jour de sécurité au fil de l&amp;#039;eau sans attendre un nouvelle version de DEBIAN.
&lt;/p&gt;

&lt;p&gt;
La troisième ligne permet de mettre à jour des paquets qui bougent souvent comme, par exemple les signatures de l&amp;#039;antivirus &lt;a href=&quot;http://www.google.com/search?q=clamav&amp;amp;btnI=lucky&quot; class=&quot;interwiki iw_go&quot; title=&quot;http://www.google.com/search?q=clamav&amp;amp;btnI=lucky&quot;&gt;clamav&lt;/a&gt;.
&lt;/p&gt;

&lt;p&gt;
La dernière ligne donne accès aux paquets du projet &lt;a href=&quot;http://backports&quot; class=&quot;urlextern&quot; title=&quot;http://backports&quot;  rel=&quot;nofollow&quot;&gt;backports&lt;/a&gt;. Ce projet tente de porter des logiciels récents dans DEBIAN stable qui vieillit vite. Lors d&amp;#039;une installation de paquet, il faudra spécifier à &lt;code&gt;aptitude&lt;/code&gt; de prendre celui de backports avec l&amp;#039;option &lt;code&gt;-t lenny-backports&lt;/code&gt; pour utiliser les &lt;a href=&quot;http://backports&quot; class=&quot;urlextern&quot; title=&quot;http://backports&quot;  rel=&quot;nofollow&quot;&gt;backports&lt;/a&gt; de Lenny.
&lt;/p&gt;

&lt;p&gt;
 — &lt;em&gt;Le 31/05/2009 – © Sylvain Collilieux – Ce texte est sous licence &lt;a href=&quot;http://artlibre.org/licence/lal/&quot; class=&quot;urlextern&quot; title=&quot;http://artlibre.org/licence/lal/&quot;  rel=&quot;nofollow&quot;&gt;Art Libre&lt;/a&gt;&lt;/em&gt;
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT114 SECTION &quot;pourquoi tant de lignes ?&quot; [974-] --&gt;</description>
        <category>doc</category>
            <pubDate>Sun, 31 May 2009 01:07:10 +0200</pubDate>
        </item>
        <item>
            <title>doc:ssh</title>
            <link>http://www.collilieux.net/doc/ssh</link>
            <description>
&lt;h1 class=&quot;sectionedit115&quot;&gt;&lt;a name=&quot;ssh&quot; id=&quot;ssh&quot;&gt;ssh&lt;/a&gt;&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;/div&gt;
&lt;!-- EDIT115 SECTION &quot;ssh&quot; [1-19] --&gt;
&lt;h2 class=&quot;sectionedit116&quot;&gt;&lt;a name=&quot;copie_de_fichiers_avec_ssh&quot; id=&quot;copie_de_fichiers_avec_ssh&quot;&gt;Copie de fichiers avec SSH&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Ce &lt;a href=&quot;http://ultra.ap.krakow.pl/~bar/DOC/ssh_backup.html&quot; class=&quot;urlextern&quot; title=&quot;http://ultra.ap.krakow.pl/~bar/DOC/ssh_backup.html&quot;  rel=&quot;nofollow&quot;&gt;document&lt;/a&gt; décrit bien les possibilités d&amp;#039;utilisation de &lt;acronym title=&quot;Secure Shell&quot;&gt;SSH&lt;/acronym&gt; pour copier des fichiers et le tout sans SCP ou SFTP.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT116 SECTION &quot;Copie de fichiers avec SSH&quot; [20-] --&gt;</description>
        <category>doc</category>
            <pubDate>Sat, 13 Nov 2010 09:25:22 +0200</pubDate>
        </item>
        <item>
            <title>doc:thinkpad</title>
            <link>http://www.collilieux.net/doc/thinkpad</link>
            <description>
&lt;h1 class=&quot;sectionedit117&quot;&gt;&lt;a name=&quot;debian_unstable_sur_un_thinkpad_x40&quot; id=&quot;debian_unstable_sur_un_thinkpad_x40&quot;&gt;DEBIAN unstable sur un thinkpad X40&lt;/a&gt;&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
Cette page décrit la vie trépidante d&amp;#039;une distribution &lt;a href=&quot;http://www.debian.org/releases/unstable/&quot; class=&quot;urlextern&quot; title=&quot;http://www.debian.org/releases/unstable/&quot;  rel=&quot;nofollow&quot;&gt;DEBIAN GNU/Linux unstable&lt;/a&gt; sur un &lt;a href=&quot;http://www.thinkwiki.org/wiki/Category:X40&quot; class=&quot;urlextern&quot; title=&quot;http://www.thinkwiki.org/wiki/Category:X40&quot;  rel=&quot;nofollow&quot;&gt;PC  IBM Thinkpad X40&lt;/a&gt;.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT117 SECTION &quot;DEBIAN unstable sur un thinkpad X40&quot; [1-256] --&gt;
&lt;h2 class=&quot;sectionedit118&quot;&gt;&lt;a name=&quot;le_trackpoint&quot; id=&quot;le_trackpoint&quot;&gt;le trackpoint&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Le 10 janvier 2010.
&lt;/p&gt;

&lt;p&gt;
Suite à une mise de xorg en version 1:7.5+1, la fonction défilement du « trackpoint » est hors service. Suite à quelques recherches, un article du &lt;a href=&quot;http://www.thinkwiki.org/wiki/ThinkWiki&quot; class=&quot;urlextern&quot; title=&quot;http://www.thinkwiki.org/wiki/ThinkWiki&quot;  rel=&quot;nofollow&quot;&gt;thinkwiki&lt;/a&gt; propose une &lt;a href=&quot;http://www.thinkwiki.org/wiki/How_to_configure_the_TrackPoint#udev&quot; class=&quot;urlextern&quot; title=&quot;http://www.thinkwiki.org/wiki/How_to_configure_the_TrackPoint#udev&quot;  rel=&quot;nofollow&quot;&gt;solution&lt;/a&gt; qui fonctionne (contrairement aux autres).
&lt;/p&gt;

&lt;p&gt;
Le problème vient de xorg qui n&amp;#039;utilise plus hal mais udev, il faut donc créer une règle udev.
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;$ cat /etc/udev/rules.d/99_trackpoint.rules
ACTION!=&amp;quot;add|change&amp;quot;, GOTO=&amp;quot;xorg_trackpoint_end&amp;quot;
KERNEL!=&amp;quot;event*&amp;quot;, GOTO=&amp;quot;xorg_trackpoint_end&amp;quot;

ENV{ID_PATH}!=&amp;quot;platform-i8042-serio-1&amp;quot;, GOTO=&amp;quot;xorg_trackpoint_end&amp;quot;

ENV{x11_options.EmulateWheel}=&amp;quot;1&amp;quot;
ENV{x11_options.EmulateWheelButton}=&amp;quot;2&amp;quot;
ENV{x11_options.XAxisMapping}=&amp;quot;6 7&amp;quot;
ENV{x11_options.Emulate3Buttons}=&amp;quot;0&amp;quot;

LABEL=&amp;quot;xorg_trackpoint_end&amp;quot;&lt;/pre&gt;

&lt;p&gt;
Suite à la création du fichier, un redémarrage de udev et xorg n&amp;#039;ont pas suffit, il y a fallu redémarrer complètement le système
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT118 SECTION &quot;le trackpoint&quot; [257-] --&gt;</description>
        <category>doc</category>
            <pubDate>Sun, 10 Jan 2010 21:27:48 +0200</pubDate>
        </item>
        <item>
            <title>doc:thunderbird</title>
            <link>http://www.collilieux.net/doc/thunderbird</link>
            <description>
&lt;h1 class=&quot;sectionedit119&quot;&gt;&lt;a name=&quot;thunderbird_au_quotidien&quot; id=&quot;thunderbird_au_quotidien&quot;&gt;thunderbird au quotidien&lt;/a&gt;&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;/div&gt;
&lt;!-- EDIT119 SECTION &quot;thunderbird au quotidien&quot; [1-41] --&gt;
&lt;h2 class=&quot;sectionedit120&quot;&gt;&lt;a name=&quot;personnalisation&quot; id=&quot;personnalisation&quot;&gt;personnalisation&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;/div&gt;
&lt;!-- EDIT120 SECTION &quot;personnalisation&quot; [42-71] --&gt;
&lt;h3 class=&quot;sectionedit121&quot;&gt;&lt;a name=&quot;prochain_message&quot; id=&quot;prochain_message&quot;&gt;prochain message&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Lorsqu&amp;#039;on frappe sur la touche « n », thunderbird va au prochain message non lu. Pour éviter qu&amp;#039;il demande s&amp;#039;il a le droit d&amp;#039;aller dans un autre répertoire, il suffit de positionner :
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;http://kb.mozillazine.org/Mailnews.nav_crosses_folders&quot; class=&quot;urlextern&quot; title=&quot;http://kb.mozillazine.org/Mailnews.nav_crosses_folders&quot;  rel=&quot;nofollow&quot;&gt;mailnews.nav_crosses_folders&lt;/a&gt; = 0
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT121 SECTION &quot;prochain message&quot; [72-381] --&gt;
&lt;h3 class=&quot;sectionedit122&quot;&gt;&lt;a name=&quot;consulter_tous_les_repertoires&quot; id=&quot;consulter_tous_les_repertoires&quot;&gt;consulter tous les répertoires&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Par défaut, thunerbird ne relève les nouveaux messages via &lt;acronym title=&quot;Internet Message Access Protocol&quot;&gt;IMAP&lt;/acronym&gt; que dans le dossier « Courrier entrant ». Si les courriels sont filtrés sur le serveur, thunderbird ne voit pas les nouveaux messages triés. C&amp;#039;est embêtant. Avec
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;http://kb.mozillazine.org/Checking_for_new_messages_in_other_folders_-_Thunderbird&quot; class=&quot;urlextern&quot; title=&quot;http://kb.mozillazine.org/Checking_for_new_messages_in_other_folders_-_Thunderbird&quot;  rel=&quot;nofollow&quot;&gt;mail.check_all_imap_folders_for_new&lt;/a&gt; = true
&lt;/p&gt;

&lt;p&gt;
thunderbird vérifie la présence de nouveaux messages dans tous les dossiers.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT122 SECTION &quot;consulter tous les répertoires&quot; [382-869] --&gt;
&lt;h3 class=&quot;sectionedit123&quot;&gt;&lt;a name=&quot;cacher_la_fenetre_d_envoi&quot; id=&quot;cacher_la_fenetre_d_envoi&quot;&gt;cacher la fenêtre d&amp;#039;envoi&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Lors de l&amp;#039;envoi d&amp;#039;un message, le temps que thunderbird papote avec le serveur, il affiche une fenêtre en avant plan. Pour qu&amp;#039;il n&amp;#039;affiche plus cette fenêtre :
&lt;/p&gt;

&lt;p&gt;
mailnews.show_send_progress = false
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT123 SECTION &quot;cacher la fenêtre d'envoi&quot; [870-1105] --&gt;
&lt;h3 class=&quot;sectionedit124&quot;&gt;&lt;a name=&quot;informations_affichees&quot; id=&quot;informations_affichees&quot;&gt;informations affichées&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Dans la partie en-tête, thunderbird peut afficher d&amp;#039;autres informations en plus de l&amp;#039;expéditeur, du sujet, etc. En demandant gentillement, il peut afficher le champ « Lits-Id » :
&lt;/p&gt;

&lt;p&gt;
mailnews.customHeaders = List-Id 
&lt;/p&gt;

&lt;p&gt;
Si on souhaite plusieurs valeurs, il faut les séparer par des espaces.
&lt;/p&gt;

&lt;p&gt;
Certaines valeurs sont pré-définies comme les « User-Agent » 
&lt;/p&gt;

&lt;p&gt;
mailnews.headers.showUserAgent = true
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT124 SECTION &quot;informations affichées&quot; [1106-1540] --&gt;
&lt;h2 class=&quot;sectionedit125&quot;&gt;&lt;a name=&quot;extensions&quot; id=&quot;extensions&quot;&gt;extensions&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;https://code.google.com/p/firetray/&quot; class=&quot;urlextern&quot; title=&quot;https://code.google.com/p/firetray/&quot;  rel=&quot;nofollow&quot;&gt;Firetray&lt;/a&gt; : thunderbird dans la zone de notification&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.sogo.nu/fr/downloads/frontends.html&quot; class=&quot;urlextern&quot; title=&quot;http://www.sogo.nu/fr/downloads/frontends.html&quot;  rel=&quot;nofollow&quot;&gt;Synchronisation du carnet d&amp;#039;adresse&lt;/a&gt; par exemple avec &lt;a href=&quot;http://owncloud.org/&quot; class=&quot;urlextern&quot; title=&quot;http://owncloud.org/&quot;  rel=&quot;nofollow&quot;&gt;owncloud&lt;/a&gt;. &lt;a href=&quot;http://wiki.lolica.org/doku.php/membre/pierre/owncloud&quot; class=&quot;urlextern&quot; title=&quot;http://wiki.lolica.org/doku.php/membre/pierre/owncloud&quot;  rel=&quot;nofollow&quot;&gt;Source&lt;/a&gt;.&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
 — &lt;em&gt;Le 10/11/2010 – Sylvain Collilieux – Ce texte est sous licence &lt;a href=&quot;http://artlibre.org/licence/lal/&quot; class=&quot;urlextern&quot; title=&quot;http://artlibre.org/licence/lal/&quot;  rel=&quot;nofollow&quot;&gt;Art Libre&lt;/a&gt;&lt;/em&gt;
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT125 SECTION &quot;extensions&quot; [1541-] --&gt;</description>
        <category>doc</category>
            <pubDate>Wed, 28 Mar 2012 22:02:16 +0200</pubDate>
        </item>
        <item>
            <title>doc:weave_minimal</title>
            <link>http://www.collilieux.net/doc/weave_minimal</link>
            <description>
&lt;h1 class=&quot;sectionedit126&quot;&gt;&lt;a name=&quot;weave_minimal&quot; id=&quot;weave_minimal&quot;&gt;weave minimal&lt;/a&gt;&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
&lt;p&gt;&lt;div class=&quot;notewarning&quot;&gt;Ce weave en &lt;acronym title=&quot;Hypertext Preprocessor&quot;&gt;PHP&lt;/acronym&gt; n&amp;#039;est plus supporté ni développé, il faut maintenant installer un serveur &lt;a href=&quot;https://wiki.mozilla.org/Services/Sync/Server&quot; class=&quot;urlextern&quot; title=&quot;https://wiki.mozilla.org/Services/Sync/Server&quot;  rel=&quot;nofollow&quot;&gt;Sync complet&lt;/a&gt;. &lt;a href=&quot;http://www.docgreen.fr/2011/08/21/installer-son-propre-serveur-mozilla-sync-pour-firefox-methode-actuelle/&quot; class=&quot;urlextern&quot; title=&quot;http://www.docgreen.fr/2011/08/21/installer-son-propre-serveur-mozilla-sync-pour-firefox-methode-actuelle/&quot;  rel=&quot;nofollow&quot;&gt;Cette documentation&lt;/a&gt; décrit comment y parvenir.
&lt;/div&gt;&lt;/p&gt;
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT126 SECTION &quot;weave minimal&quot; [1-366] --&gt;
&lt;h2 class=&quot;sectionedit127&quot;&gt;&lt;a name=&quot;firefox_sync&quot; id=&quot;firefox_sync&quot;&gt;Firefox Sync&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Depuis quelques mois, &lt;a href=&quot;http://www.mozilla.org&quot; class=&quot;urlextern&quot; title=&quot;http://www.mozilla.org&quot;  rel=&quot;nofollow&quot;&gt;Mozilla&lt;/a&gt; a développé une extension pour &lt;a href=&quot;http://www.mozilla-europe.org/fr/firefox/&quot; class=&quot;urlextern&quot; title=&quot;http://www.mozilla-europe.org/fr/firefox/&quot;  rel=&quot;nofollow&quot;&gt;Firefox&lt;/a&gt; qui permet de synchroniser plusieurs Firefox. Cette extension est particulièrement pratique si vous utilisez le navigateur sur plusieurs machines différentes, par exemple un PC fixe, un portable et même sur un mobile ! Oui, vous pouvez synchroniser le Firefox de votre PC avec celui de votre smartphone (il faut bien évidemment que Firefox soit installable sur le téléphone donc oubliez les iTruc)
&lt;/p&gt;

&lt;p&gt;
Cette extension, appelée &lt;a href=&quot;https://addons.mozilla.org/fr/firefox/addon/firefox-sync/&quot; class=&quot;urlextern&quot; title=&quot;https://addons.mozilla.org/fr/firefox/addon/firefox-sync/&quot;  rel=&quot;nofollow&quot;&gt;Firefox Sync&lt;/a&gt;, sera intégrée à la prochaine version de Firefox qui devrait arriver bientôt. Elle permet de synchroniser :
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; les marques-pages&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; les mots de passe&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; les préférences&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; l&amp;#039;historique&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; les onglets&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- EDIT127 SECTION &quot;Firefox Sync&quot; [367-1254] --&gt;
&lt;h2 class=&quot;sectionedit128&quot;&gt;&lt;a name=&quot;weave&quot; id=&quot;weave&quot;&gt;weave&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Pour synchroniser ces données, il faut disposer d&amp;#039;un serveur sur le web. Mozilla propose un &lt;a href=&quot;https://services.mozilla.com/&quot; class=&quot;urlextern&quot; title=&quot;https://services.mozilla.com/&quot;  rel=&quot;nofollow&quot;&gt;service gratuit&lt;/a&gt; pour cela. Les données envoyées sur les serveurs Mozilla sont chiffrées donc la fondation ne peut pas lire leur contenu.
&lt;/p&gt;

&lt;p&gt;
Le &lt;a href=&quot;https://wiki.mozilla.org/Labs/Weave/&quot; class=&quot;urlextern&quot; title=&quot;https://wiki.mozilla.org/Labs/Weave/&quot;  rel=&quot;nofollow&quot;&gt;logiciel qui fait fonctionner le service de Mozilla&lt;/a&gt; est libre et se nomme « Weave ». Il est donc possible d&amp;#039;installer sa propre instance sur son serveur, on est jamais trop prudent. Ce logiciel est prévu pour une grosse structure et n&amp;#039;est pas forcément nécessaire pour un particulier. Il existe une autre solution …
&lt;/p&gt;

&lt;p&gt;
Toby Elliott a développé un serveur&lt;a href=&quot;http://tobyelliott.wordpress.com/2009/11/11/61/&quot; class=&quot;urlextern&quot; title=&quot;http://tobyelliott.wordpress.com/2009/11/11/61/&quot;  rel=&quot;nofollow&quot;&gt;Weave minimal&lt;/a&gt; en &lt;acronym title=&quot;Hypertext Preprocessor&quot;&gt;PHP&lt;/acronym&gt; qui convient parfaitement à un usage personnel. Ce document décrit l&amp;#039;installation de ce serveur et le paramètrage de Firefox pour l&amp;#039;utiliser.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT128 SECTION &quot;weave&quot; [1255-2165] --&gt;
&lt;h3 class=&quot;sectionedit129&quot;&gt;&lt;a name=&quot;weave_minimal1&quot; id=&quot;weave_minimal1&quot;&gt;weave minimal&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Pour continuer, il faut disposer d&amp;#039;un serveur avec Apache2, PHP5 et sqlite. Le serveur fonctionne avec &lt;a href=&quot;http://www.debian.org/releases/stable/&quot; class=&quot;urlextern&quot; title=&quot;http://www.debian.org/releases/stable/&quot;  rel=&quot;nofollow&quot;&gt;Debian Squeeze&lt;/a&gt;. Il est également préférable d&amp;#039;être à l&amp;#039;aise avec la configuration Apache.
&lt;/p&gt;

&lt;p&gt;
Tout d&amp;#039;abord, il faut télécharger le &lt;a href=&quot;http://people.mozilla.com/~telliott/weave_minimal.tgz&quot; class=&quot;urlextern&quot; title=&quot;http://people.mozilla.com/~telliott/weave_minimal.tgz&quot;  rel=&quot;nofollow&quot;&gt;code du serveur&lt;/a&gt; et d&amp;#039;extraire l&amp;#039;archive dans un endroit où le serveur web peut accéder. Il est nécessaire d&amp;#039;éditer le fichier &lt;code&gt;index.php&lt;/code&gt; à la ligne 119 comme indiqué dans &lt;a href=&quot;http://tobyelliott.wordpress.com/2009/11/11/61/&quot; class=&quot;urlextern&quot; title=&quot;http://tobyelliott.wordpress.com/2009/11/11/61/&quot;  rel=&quot;nofollow&quot;&gt;cet article&lt;/a&gt;.
&lt;/p&gt;

&lt;p&gt;
Pour l&amp;#039;installation, il faut que le serveur web puisse accéder en écriture au répertoire où est installé weave : &lt;code&gt;chgrp www-data /var/www/weave/ ; chmod g+w /var/www/weave/&lt;/code&gt;
&lt;/p&gt;

&lt;p&gt;
J&amp;#039;ai dédié un &lt;a href=&quot;http://httpd.apache.org/docs/2.2/fr/vhosts/&quot; class=&quot;urlextern&quot; title=&quot;http://httpd.apache.org/docs/2.2/fr/vhosts/&quot;  rel=&quot;nofollow&quot;&gt;hôte virtuel&lt;/a&gt; pour weave.
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;cat /etc/apache2/sites-available/weave.votresite.net
&amp;lt;VirtualHost *:443&amp;gt;
	ServerAdmin &amp;quot;admin At votresite Point Net&amp;quot;
	ServerName weave.votresite.net
	
	DocumentRoot /var/www/weave/
	Alias / /var/www/weave/index.php/
	
	ErrorLog /var/log/apache2/weave_error.log
	LogLevel warn
	CustomLog /var/log/apache2/weave_access.log combined
	SSLEngine on
	SSLCertificateFile /etc/apache2/ssl/weave.votresite.net.crt
	SSLCertificateKeyFile /etc/apache2/ssl/weave.votresite.net.pem
&amp;lt;/VirtualHost&amp;gt;&lt;/pre&gt;

&lt;p&gt;
Pour activer ce nouveau site &lt;code&gt;a2ensite weave.votresite.net&lt;/code&gt;.
&lt;/p&gt;

&lt;p&gt;
Il est nécessaire de créer un fichier de base de donnée sqlite. Pour cela entrer cette &lt;acronym title=&quot;Uniform Resource Locator&quot;&gt;URL&lt;/acronym&gt; dans votre navigateur &lt;a href=&quot;https://weave.votresite.net/1.0/blah/info/collection&quot; class=&quot;urlextern&quot; title=&quot;https://weave.votresite.net/1.0/blah/info/collection&quot;  rel=&quot;nofollow&quot;&gt;https://weave.votresite.net/1.0/blah/info/collection&lt;/a&gt;. Saisissez, le nom d&amp;#039;utilisateur &lt;code&gt;blah&lt;/code&gt; et n&amp;#039;importe quel mot de passe. L&amp;#039;authentification va échouer mais le serveur créera la base de donnée. Après cette étape, le serveur n&amp;#039;a plus besoin d&amp;#039;écrire dans le répertoire d&amp;#039;installation : &lt;code&gt;chmod g-w /var/www/weave&lt;/code&gt;.
&lt;/p&gt;

&lt;p&gt;
La dernière étape consiste à créer un utilisateur avec son mot de passe. Pour cela,ilfa ut que vous ayez le droit d&amp;#039;écrire dans le fichier de base de donnée. Si votre utilisateur appartient au groupe &lt;code&gt;www-data&lt;/code&gt; donnez les droits en écriture au groupe (adaptez suivant la situation).
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;$ cd /var/www/weave
$ chmod g+w weavedb
$ php create_user&lt;/pre&gt;

&lt;p&gt;
Le nom d&amp;#039;utilisateur doit être une adresse électronique. Tout comme le mot de passe, ils seront nécessaires ensuite pour configurer Firefox.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT129 SECTION &quot;weave minimal&quot; [2166-4568] --&gt;
&lt;h3 class=&quot;sectionedit130&quot;&gt;&lt;a name=&quot;configurer_sync&quot; id=&quot;configurer_sync&quot;&gt;Configurer Sync&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Dans le menu Firefox → Préférences → Options, onglet Sync.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Cliquez sur Configurer Firefox Sync et choisissez « J&amp;#039;ai déjà un compte Firefox Sync »&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Ne pas tenir compte des codes affichés et cliquez sur « Je n&amp;#039;ai pas l&amp;#039;appareil avec moi » (c&amp;#039;est la même opération pour ajouter un appareil).&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Remplissez le formulaire&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Et voilà&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
 — &lt;em&gt;Le 21/08/2011 – Sylvain Collilieux – Ce texte est sous licence &lt;a href=&quot;http://artlibre.org/licence/lal/&quot; class=&quot;urlextern&quot; title=&quot;http://artlibre.org/licence/lal/&quot;  rel=&quot;nofollow&quot;&gt;Art Libre&lt;/a&gt;&lt;/em&gt;
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT130 SECTION &quot;Configurer Sync&quot; [4569-] --&gt;</description>
        <category>doc</category>
            <pubDate>Fri, 23 Dec 2011 23:24:05 +0200</pubDate>
        </item>
        <item>
            <title>doc:wiimote</title>
            <link>http://www.collilieux.net/doc/wiimote</link>
            <description>
&lt;h1 class=&quot;sectionedit131&quot;&gt;&lt;a name=&quot;utiliser_un_wiimote_sous_debian_gnulinux&quot; id=&quot;utiliser_un_wiimote_sous_debian_gnulinux&quot;&gt;Utiliser un wiimote sous DEBIAN GNU/Linux&lt;/a&gt;&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
La &lt;a href=&quot;http://en.wikipedia.org/wiki/wiimote&quot; class=&quot;interwiki iw_wp&quot; title=&quot;http://en.wikipedia.org/wiki/wiimote&quot;&gt;wiimote&lt;/a&gt;, célèbre manette de jeu développée par &lt;a href=&quot;http://en.wikipedia.org/wiki/Nintendo&quot; class=&quot;interwiki iw_wp&quot; title=&quot;http://en.wikipedia.org/wiki/Nintendo&quot;&gt;Nintendo&lt;/a&gt;, est utilisable comme télécommande sous debian. Cette télécommande peut-être utilisée comme souris même si la précision est un peu limitée, quoique…
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT131 SECTION &quot;Utiliser un wiimote sous DEBIAN GNU/Linux&quot; [1-296] --&gt;
&lt;h2 class=&quot;sectionedit132&quot;&gt;&lt;a name=&quot;installation&quot; id=&quot;installation&quot;&gt;Installation&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Pour faire fonctionner la télécommande, il faut préalablement disposer du &lt;a href=&quot;http://en.wikipedia.org/wiki/Bluetooth&quot; class=&quot;interwiki iw_wp&quot; title=&quot;http://en.wikipedia.org/wiki/Bluetooth&quot;&gt;Bluetooth&lt;/a&gt;. Un adaptateur USB fait l&amp;#039;affaire. Ensuite, il faut installer les paquets &lt;code&gt;lswm&lt;/code&gt; et &lt;code&gt;wminput&lt;/code&gt;.
&lt;/p&gt;

&lt;p&gt;
Le premier paquet permet de « découvrir » l&amp;#039;&lt;a href=&quot;http://en.wikipedia.org/wiki/adresse MAC&quot; class=&quot;interwiki iw_wp&quot; title=&quot;http://en.wikipedia.org/wiki/adresse MAC&quot;&gt;adresse MAC&lt;/a&gt; de la wiimote nécessaire pour &lt;code&gt;wminput&lt;/code&gt;. La commande &lt;code&gt;bluez-test-discovery&lt;/code&gt; du paquet &lt;a href=&quot;http://www.google.com/search?q=bluez&amp;amp;btnI=lucky&quot; class=&quot;interwiki iw_go&quot; title=&quot;http://www.google.com/search?q=bluez&amp;amp;btnI=lucky&quot;&gt;bluez&lt;/a&gt; permet également d&amp;#039;obtenir cette adresse MAC (à partir de Wheezy).
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT132 SECTION &quot;Installation&quot; [297-757] --&gt;
&lt;h3 class=&quot;sectionedit133&quot;&gt;&lt;a name=&quot;udev&quot; id=&quot;udev&quot;&gt;udev&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Par défaut, seul &lt;code&gt;root&lt;/code&gt; peut accéder à la wiimote. Pour donner le droit à d&amp;#039;autres utilisateurs, on devra insérer une règle &lt;a href=&quot;http://en.wikipedia.org/wiki/udev&quot; class=&quot;interwiki iw_wp&quot; title=&quot;http://en.wikipedia.org/wiki/udev&quot;&gt;udev&lt;/a&gt;.
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;$ cat /etc/udev/rules.d/80-wminput.rules
KERNEL==&amp;quot;uinput&amp;quot;, GROUP=&amp;quot;wiimote&amp;quot;&lt;/pre&gt;

&lt;p&gt;
Les utilisateur du groupe &lt;code&gt;wiimote&lt;/code&gt; pourront utiliser la wiimote après une relance de udev.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT133 SECTION &quot;udev&quot; [758-1107] --&gt;
&lt;h3 class=&quot;sectionedit134&quot;&gt;&lt;a name=&quot;decouverte_de_la_wiimote&quot; id=&quot;decouverte_de_la_wiimote&quot;&gt;Découverte de la wiimote&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Pour commencer, il est nécessaire de trouver l&amp;#039;&lt;a href=&quot;http://en.wikipedia.org/wiki/adresse MAC&quot; class=&quot;interwiki iw_wp&quot; title=&quot;http://en.wikipedia.org/wiki/adresse MAC&quot;&gt;adresse MAC&lt;/a&gt; de la wiimote :
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Mettre le wiimote en monde « découverte » en appuyant sur les boutons « 1 » et « 2 »&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Lancer l&amp;#039;une des commandes&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;pre class=&quot;code&quot;&gt;$ lswm 
Put Wiimotes in discoverable mode now (press 1+2)...
CC:9E:00:FF:FF:FF&lt;/pre&gt;

&lt;p&gt;
ou
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;$ bluez-test-discovery 
[ CC:9E:00:FF:FF:FF ]
    Name = Nintendo RVL-CNT-01
    Paired = 0
    LegacyPairing = 1
    Alias = Nintendo RVL-CNT-01
    Address = CC:9E:00:FF:FF:FF
    RSSI = -39
    Class = 0x002504
    Icon = input-gaming&lt;/pre&gt;

&lt;p&gt;
Nous aurons ensuite besoin de l&amp;#039;adresse &lt;code&gt;CC:9E:00:FF:FF:FF&lt;/code&gt;.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT134 SECTION &quot;Découverte de la wiimote&quot; [1108-1773] --&gt;
&lt;h3 class=&quot;sectionedit135&quot;&gt;&lt;a name=&quot;wminput&quot; id=&quot;wminput&quot;&gt;wminput&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
La wiimote est gérée ensuite par &lt;code&gt;wminput&lt;/code&gt;. Ce logiciel est fourni avec plusieurs configurations stockées dans le répertoire &lt;code&gt;/etc/cwiid/wminput/&lt;/code&gt;. Il existe des fichiers suivant le périphérique utilisé.
&lt;/p&gt;

&lt;p&gt;
Pour utiliser la wiimote avec ses &lt;a href=&quot;http://en.wikipedia.org/wiki/accéléromètres&quot; class=&quot;interwiki iw_wp&quot; title=&quot;http://en.wikipedia.org/wiki/accéléromètres&quot;&gt;accéléromètres&lt;/a&gt;, utilisez la commande :
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;$ wminput --daemon --config acc_ptr CC:9E:00:FF:FF:FF&lt;/pre&gt;

&lt;p&gt;
&lt;code&gt;CC:9E:00:FF:FF:FF&lt;/code&gt; est l&amp;#039;adresse MAC trouvée ci-dessus.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT135 SECTION &quot;wminput&quot; [1774-2222] --&gt;
&lt;h2 class=&quot;sectionedit136&quot;&gt;&lt;a name=&quot;un_peu_plus_loin&quot; id=&quot;un_peu_plus_loin&quot;&gt;Un peu plus loin&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;/div&gt;
&lt;!-- EDIT136 SECTION &quot;Un peu plus loin&quot; [2223-2252] --&gt;
&lt;h3 class=&quot;sectionedit137&quot;&gt;&lt;a name=&quot;utilisation_du_pad&quot; id=&quot;utilisation_du_pad&quot;&gt;Utilisation du pad&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
La configuration précédente permet de contrôler la souris mais le geste manque de précision pour manier le pointeur. Pour essayer d&amp;#039;améliorer cela, l&amp;#039;idée est d&amp;#039;utiliser le pad (la croix en haut de la wiimote).
&lt;/p&gt;

&lt;p&gt;
Pour cela, il est nécessaire de modifier les touches du clavier associées au pad. Il reste une difficulté : choisir des touches qui permettent de contrôler la souris. Avec le libre, il y a toujours une solution &lt;img src=&quot;http://www.collilieux.net/lib/images/smileys/icon_wink.gif&quot; class=&quot;middle&quot; alt=&quot;;-)&quot; /&gt;.
&lt;/p&gt;

&lt;p&gt;
Peut-être avez-vous déjà utilisé une fonctionnalité bien pratique pour contrôler X sans souris avec le &lt;a href=&quot;http://www.x.org/releases/X11R7.6/doc/libX11/specs/XKB/xkblib.html#the_mousekeys_control&quot; class=&quot;urlextern&quot; title=&quot;http://www.x.org/releases/X11R7.6/doc/libX11/specs/XKB/xkblib.html#the_mousekeys_control&quot;  rel=&quot;nofollow&quot;&gt;MouseKeys Control&lt;/a&gt;. En appuyant sur &lt;code&gt;SHIFT&lt;/code&gt; et sur la touche de verrou numérique, il est possible de contrôler le clavier avec les flèches du pavé numérique.
&lt;/p&gt;

&lt;p&gt;
Il suffit donc d&amp;#039;associer chaque touche du pad aux touches haut, bas, gauche et droite du pavé numérique. Plutôt que modifier la configuration existante, il est préférable de créer de nouveaux de fichiers de configuration.
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;cd /etc/cwiid/wminput
sudo cp acc_ptr mouse
sudo mv buttons mouse_buttons&lt;/pre&gt;

&lt;p&gt;
Dans le fichier &lt;code&gt;mouse&lt;/code&gt;, remplacez &lt;code&gt;include buttons&lt;/code&gt; par &lt;code&gt;include mouse_buttons&lt;/code&gt;. Dans le fichier &lt;code&gt;mouse_buttons&lt;/code&gt;, il faut remplacer les valeurs associées à &lt;code&gt;Wiimote.Up&lt;/code&gt;,  &lt;code&gt;Wiimote.Down&lt;/code&gt;, &lt;code&gt;Wiimote.Left&lt;/code&gt; et &lt;code&gt;Wiimote.Right&lt;/code&gt; (éditer les fichier &lt;code&gt;sudoedit&lt;/code&gt;).
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;Wiimote.Up	= KEY_KP8
Wiimote.Down	= KEY_KP2
Wiimote.Left	= KEY_KP4
Wiimote.Right	= KEY_KP6&lt;/pre&gt;

&lt;p&gt;
En utilisant ainsi le pad, l&amp;#039;appui sur la touche « haut » génère un « 8 » (le 8 du pavé numérique), la touche « bas », un « 2 », etc . Pour que le contrôle de la souris fonctionne, il faut au préalable activer le contrôle de la souris au clavier soit :
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; en appuyant sur &lt;code&gt;shift&lt;/code&gt; + &lt;code&gt;ver num&lt;/code&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; avec la commande &lt;code&gt;xkbset mousekeys mousekeysaccel&lt;/code&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- EDIT137 SECTION &quot;Utilisation du pad&quot; [2253-4162] --&gt;
&lt;h3 class=&quot;sectionedit138&quot;&gt;&lt;a name=&quot;script_d_utilisation_du_pad&quot; id=&quot;script_d_utilisation_du_pad&quot;&gt;Script d&amp;#039;utilisation du pad&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Un petit script résume le paragraphe précédent, ce sera plus clair :
&lt;/p&gt;
&lt;pre class=&quot;code bash&quot;&gt;&lt;span class=&quot;co0&quot;&gt;#!/bin/dash&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;#Copyright (C) 2011 by Sylvain Collilieux &amp;lt;Sylvain@Collilieux.net&amp;gt;&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;#&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;#Permission is hereby granted, free of charge, to any person obtaining a copy&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;#of this software and associated documentation files (the &amp;quot;Software&amp;quot;), to deal&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;#in the Software without restriction, including without limitation the rights&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;#to use, copy, modify, merge, publish, distribute, sublicense, and/or sell&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;#copies of the Software, and to permit persons to whom the Software is&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;#furnished to do so, subject to the following conditions:&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;#&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;#The above copyright notice and this permission notice shall be included in&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;#all copies or substantial portions of the Software.&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;#&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;#THE SOFTWARE IS PROVIDED &amp;quot;AS IS&amp;quot;, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;#IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;#FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;#AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;#LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;#OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;#THE SOFTWARE.&lt;/span&gt;
&amp;nbsp;
&lt;span class=&quot;co0&quot;&gt;# wminput config&lt;/span&gt;
&lt;span class=&quot;re2&quot;&gt;CONF&lt;/span&gt;=mouse
&amp;nbsp;
&lt;span class=&quot;co0&quot;&gt;# Wiimote's MAC address (lswm)&lt;/span&gt;
&lt;span class=&quot;re2&quot;&gt;MAC&lt;/span&gt;=CC:9E:00:FF:FF:FF
&amp;nbsp;
&lt;span class=&quot;co0&quot;&gt;# enable MouseKeys Control&lt;/span&gt;
xkbset mousekeys mousekeysaccel
&amp;nbsp;
&lt;span class=&quot;co0&quot;&gt;# Change mouse pointer with a big red one&lt;/span&gt;
xsetroot &lt;span class=&quot;re5&quot;&gt;-xcf&lt;/span&gt;  &lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;usr&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;share&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;icons&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;redglass&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;cursors&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;left_ptr &lt;span class=&quot;nu0&quot;&gt;50&lt;/span&gt;
&amp;nbsp;
&lt;span class=&quot;co0&quot;&gt;# Start wminput in daemon mode&lt;/span&gt;
wminput &lt;span class=&quot;re5&quot;&gt;--daemon&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;--config&lt;/span&gt; &lt;span class=&quot;re1&quot;&gt;$MOUSE&lt;/span&gt; &lt;span class=&quot;re1&quot;&gt;$MAC&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;&amp;amp;&lt;/span&gt;
&amp;nbsp;
&lt;span class=&quot;co0&quot;&gt;# wminput PID for later killing &lt;/span&gt;
&lt;span class=&quot;re2&quot;&gt;WMINPUT_PID&lt;/span&gt;=&lt;span class=&quot;re4&quot;&gt;$!&lt;/span&gt;
&amp;nbsp;
&lt;span class=&quot;co0&quot;&gt;# Useful to wiimote to start&lt;/span&gt;
&lt;span class=&quot;kw2&quot;&gt;sleep&lt;/span&gt; &lt;span class=&quot;nu0&quot;&gt;10&lt;/span&gt;
&amp;nbsp;
&lt;span class=&quot;co0&quot;&gt;# third button emulation with A+B buttons&lt;/span&gt;
xinput &lt;span class=&quot;re5&quot;&gt;--set-int-prop&lt;/span&gt; &lt;span class=&quot;st_h&quot;&gt;'Nintendo Wiimote'&lt;/span&gt; &lt;span class=&quot;st_h&quot;&gt;'Evdev Middle Button Emulation'&lt;/span&gt; &lt;span class=&quot;nu0&quot;&gt;8&lt;/span&gt; &lt;span class=&quot;nu0&quot;&gt;1&lt;/span&gt;
&amp;nbsp;
&lt;span class=&quot;co0&quot;&gt;# wait for a user input to kill wminput&lt;/span&gt;
&lt;span class=&quot;kw3&quot;&gt;echo&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;Appuyer sur une touche par arrêter&amp;quot;&lt;/span&gt;
&lt;span class=&quot;kw2&quot;&gt;read&lt;/span&gt; key
&lt;span class=&quot;kw2&quot;&gt;kill&lt;/span&gt; &lt;span class=&quot;re1&quot;&gt;$WMINPUT_PID&lt;/span&gt;
&amp;nbsp;
&lt;span class=&quot;co0&quot;&gt;# disable mouse key control&lt;/span&gt;
xkbset &lt;span class=&quot;re5&quot;&gt;-mousekeys&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;-mousekeysaccel&lt;/span&gt;
&amp;nbsp;
&lt;span class=&quot;co0&quot;&gt;# default mouse cursor&lt;/span&gt;
xsetroot -cursor_name left_ptr&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT138 SECTION &quot;Script d'utilisation du pad&quot; [4163-6173] --&gt;
&lt;h2 class=&quot;sectionedit139&quot;&gt;&lt;a name=&quot;sources_d_inspiration&quot; id=&quot;sources_d_inspiration&quot;&gt;Sources d&amp;#039;inspiration&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://doc.ubuntu-fr.org/wiimote&quot; class=&quot;urlextern&quot; title=&quot;http://doc.ubuntu-fr.org/wiimote&quot;  rel=&quot;nofollow&quot;&gt;http://doc.ubuntu-fr.org/wiimote&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.x.org/releases/X11R7.6/doc/libX11/specs/XKB/xkblib.html#the_mousekeys_control&quot; class=&quot;urlextern&quot; title=&quot;http://www.x.org/releases/X11R7.6/doc/libX11/specs/XKB/xkblib.html#the_mousekeys_control&quot;  rel=&quot;nofollow&quot;&gt;http://www.x.org/releases/X11R7.6/doc/libX11/specs/XKB/xkblib.html#the_mousekeys_control&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
 — &lt;em&gt;Le 12/09/2011 – Sylvain Collilieux – Ce texte est sous licence &lt;a href=&quot;http://artlibre.org/licence/lal/&quot; class=&quot;urlextern&quot; title=&quot;http://artlibre.org/licence/lal/&quot;  rel=&quot;nofollow&quot;&gt;Art Libre&lt;/a&gt;&lt;/em&gt;
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT139 SECTION &quot;Sources d'inspiration&quot; [6174-] --&gt;</description>
        <category>doc</category>
            <pubDate>Fri, 16 Sep 2011 22:26:57 +0200</pubDate>
        </item>
        <item>
            <title>doc:xca</title>
            <link>http://www.collilieux.net/doc/xca</link>
            <description>
&lt;h1 class=&quot;sectionedit140&quot;&gt;&lt;a name=&quot;une_petite_infrastructure_a_cles_publiques_avec_xca&quot; id=&quot;une_petite_infrastructure_a_cles_publiques_avec_xca&quot;&gt;une (petite) infrastructure à clés publiques avec xca&lt;/a&gt;&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
Cet article n&amp;#039;a pas pour but de décrire le principe d&amp;#039;une &lt;a href=&quot;http://en.wikipedia.org/wiki/autorité de certification&quot; class=&quot;interwiki iw_wp&quot; title=&quot;http://en.wikipedia.org/wiki/autorité de certification&quot;&gt;autorité de certification&lt;/a&gt; ou d&amp;#039;une &lt;a href=&quot;http://en.wikipedia.org/wiki/infrastructure à clés publiques&quot; class=&quot;interwiki iw_wp&quot; title=&quot;http://en.wikipedia.org/wiki/infrastructure à clés publiques&quot;&gt;infrastructure à clés publiques&lt;/a&gt; mais si vous ne savez pas ce que c&amp;#039;est, la suite risque de ne pas être très utile.
&lt;/p&gt;

&lt;p&gt;
Les certificats créés seront ensuite utilisés pour une authentification forte mutuelle entre un &lt;a href=&quot;http://www.collilieux.net/doc/apache2#configuration_ssl&quot; class=&quot;wikilink1&quot; title=&quot;doc:apache2&quot;&gt;serveur web&lt;/a&gt; et un navigateur.
&lt;/p&gt;

&lt;p&gt;
Si vous avez des avis, remarques, etc. sur cet article, les commentaires sont ouverts (mais modérés). Si cette page vous a été utile ? &lt;form action=&quot;https://www.paypal.com/cgi-bin/webscr&quot; method=&quot;post&quot;&gt;&lt;input type=&quot;hidden&quot; name=&quot;cmd&quot; value=&quot;_s-xclick&quot;&gt;&lt;input type=&quot;hidden&quot; name=&quot;encrypted&quot; value=&quot;-----BEGIN PKCS7-----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-----END PKCS7-----&quot;&gt;&lt;input type=&quot;image&quot; src=&quot;http://static.collilieux.net/don.png&quot; border=&quot;0&quot; name=&quot;submit&quot; alt=&quot;Don via Paypal&quot;&gt;&lt;/form&gt;
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT140 SECTION &quot;une (petite) infrastructure à clés publiques avec xca&quot; [1-615] --&gt;
&lt;h2 class=&quot;sectionedit141&quot;&gt;&lt;a name=&quot;xca&quot; id=&quot;xca&quot;&gt;xca&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
&lt;a href=&quot;http://xca.sourceforge.net&quot; class=&quot;urlextern&quot; title=&quot;http://xca.sourceforge.net&quot;  rel=&quot;nofollow&quot;&gt;xca&lt;/a&gt; est un logiciel de gestion de certificats au format &lt;a href=&quot;http://en.wikipedia.org/wiki/X.509&quot; class=&quot;interwiki iw_wp&quot; title=&quot;http://en.wikipedia.org/wiki/X.509&quot;&gt;X.509&lt;/a&gt;, de requêtes de certification et de clés privées au format &lt;a href=&quot;http://en.wikipedia.org/wiki/Rivest Shamir Adleman&quot; class=&quot;interwiki iw_wp&quot; title=&quot;http://en.wikipedia.org/wiki/Rivest Shamir Adleman&quot;&gt;Rivest Shamir Adleman&lt;/a&gt; et &lt;a href=&quot;http://en.wikipedia.org/wiki/Digital Signature Algorithm&quot; class=&quot;interwiki iw_wp&quot; title=&quot;http://en.wikipedia.org/wiki/Digital Signature Algorithm&quot;&gt;Digital Signature Algorithm&lt;/a&gt;. C&amp;#039;est un logiciel libre sous &lt;a href=&quot;http://en.wikipedia.org/wiki/licence BSD&quot; class=&quot;interwiki iw_wp&quot; title=&quot;http://en.wikipedia.org/wiki/licence BSD&quot;&gt;licence BSD&lt;/a&gt; &lt;img src=&quot;http://www.collilieux.net/lib/images/smileys/icon_sad.gif&quot; class=&quot;middle&quot; alt=&quot;:-(&quot; /&gt; (&lt;a href=&quot;http://www.framablog.org/index.php/post/2009/11/13/pourquoi-j-utilise-la-licence-gpl&quot; class=&quot;urlextern&quot; title=&quot;http://www.framablog.org/index.php/post/2009/11/13/pourquoi-j-utilise-la-licence-gpl&quot;  rel=&quot;nofollow&quot;&gt;pour les explications de la tronche&lt;/a&gt;).
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;http://xca.sourceforge.net/&quot; class=&quot;urlextern&quot; title=&quot;http://xca.sourceforge.net/&quot;  rel=&quot;nofollow&quot;&gt;xca&lt;/a&gt; permet de mettre en place une autorité de certification facilement. Par rapport à d&amp;#039;autres logiciels comme &lt;a href=&quot;http://gnomint.sourceforge.net/&quot; class=&quot;urlextern&quot; title=&quot;http://gnomint.sourceforge.net/&quot;  rel=&quot;nofollow&quot;&gt;gnomint&lt;/a&gt;, &lt;a href=&quot;http://xca.sourceforge.net/&quot; class=&quot;urlextern&quot; title=&quot;http://xca.sourceforge.net/&quot;  rel=&quot;nofollow&quot;&gt;xca&lt;/a&gt; est plus complet, il permet de modifier plus d&amp;#039;options dans les certificats. Il existe également &lt;a href=&quot;http://tinyca.sm-zone.net/&quot; class=&quot;urlextern&quot; title=&quot;http://tinyca.sm-zone.net/&quot;  rel=&quot;nofollow&quot;&gt;TinyCA&lt;/a&gt;, que vous pourrez utilisez grâce à &lt;a href=&quot;http://irp.nain-t.net/doku.php/270crypt:030_application&quot; class=&quot;urlextern&quot; title=&quot;http://irp.nain-t.net/doku.php/270crypt:030_application&quot;  rel=&quot;nofollow&quot;&gt;ce tutoriel&lt;/a&gt; (en français).
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;http://xca.sourceforge.net/&quot; class=&quot;urlextern&quot; title=&quot;http://xca.sourceforge.net/&quot;  rel=&quot;nofollow&quot;&gt;xca&lt;/a&gt; est &lt;a href=&quot;http://packages.debian.org/xca&quot; class=&quot;urlextern&quot; title=&quot;http://packages.debian.org/xca&quot;  rel=&quot;nofollow&quot;&gt;empaqueté par DEBIAN&lt;/a&gt; mais uniquement pour SID au moment de la rédaction de cet article. Il nécessite la bibliothèque &lt;a href=&quot;http://en.wikipedia.org/wiki/Qt&quot; class=&quot;interwiki iw_wp&quot; title=&quot;http://en.wikipedia.org/wiki/Qt&quot;&gt;Qt&lt;/a&gt;. Il est disponible en anglais, allemand et espagnol, le développeur accepte très probablement les coups de main pour la traduction &lt;img src=&quot;http://www.collilieux.net/lib/images/smileys/icon_wink.gif&quot; class=&quot;middle&quot; alt=&quot;;-)&quot; /&gt; . 
&lt;/p&gt;

&lt;p&gt;
Cet article ne détaillera pas toutes les options et utilisations possibles de ce logiciel, loin de là.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT141 SECTION &quot;xca&quot; [616-1984] --&gt;
&lt;h2 class=&quot;sectionedit142&quot;&gt;&lt;a name=&quot;creation_de_l_autorite_de_certification&quot; id=&quot;creation_de_l_autorite_de_certification&quot;&gt;création de l&amp;#039;autorité de certification&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Quelques captures d&amp;#039;écrans pour décrire ce processus seront bien plus efficaces que de trop longues explications.
&lt;/p&gt;

&lt;p&gt;
Dans l&amp;#039;onglet « Certificates », cliquer sur « New Certificate ».
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;http://www.collilieux.net/_detail/doc/screenshot_003.png?id=doc%3Axca&quot; class=&quot;media&quot; title=&quot;doc:screenshot_003.png&quot;&gt;&lt;img src=&quot;http://www.collilieux.net/_media/doc/screenshot_003.png&quot; class=&quot;media&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
Ici, la seule modification concerne l&amp;#039;algorithme de signature qui passe de la valeur par défaut &lt;a href=&quot;http://en.wikipedia.org/wiki/SHA-1&quot; class=&quot;interwiki iw_wp&quot; title=&quot;http://en.wikipedia.org/wiki/SHA-1&quot;&gt;SHA-1&lt;/a&gt; à &lt;a href=&quot;http://en.wikipedia.org/wiki/SHA-256&quot; class=&quot;interwiki iw_wp&quot; title=&quot;http://en.wikipedia.org/wiki/SHA-256&quot;&gt;SHA-256&lt;/a&gt; pour &lt;a href=&quot;http://fr.wikipedia.org/wiki/SHA-1#Attaques&quot; class=&quot;urlextern&quot; title=&quot;http://fr.wikipedia.org/wiki/SHA-1#Attaques&quot;  rel=&quot;nofollow&quot;&gt;plus de robustesse&lt;/a&gt;.
&lt;/p&gt;

&lt;p&gt;
&lt;img src=&quot;http://www.collilieux.net/lib/images/smileys/icon_exclaim.gif&quot; class=&quot;middle&quot; alt=&quot;:!:&quot; /&gt; ne cliquez pas sur « OK » avant d&amp;#039;avoir remplit tous les onglets !
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;http://www.collilieux.net/_detail/doc/capture_010.png?id=doc%3Axca&quot; class=&quot;media&quot; title=&quot;doc:capture_010.png&quot;&gt;&lt;img src=&quot;http://www.collilieux.net/_media/doc/capture_010.png&quot; class=&quot;media&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
Il est maintenant nécessaire de renseigner les cases proposées suivant vos spécificités. N&amp;#039;ayant pas de clef privée, il est possible de demander à xca d&amp;#039;en générer une.
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;http://www.collilieux.net/_detail/doc/capture_011.png?id=doc%3Axca&quot; class=&quot;media&quot; title=&quot;doc:capture_011.png&quot;&gt;&lt;img src=&quot;http://www.collilieux.net/_media/doc/capture_011.png&quot; class=&quot;media&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
Pour la génération de la clef, il faut donner un nom (repris apr défaut du champ «internal name » ci-dessus), il est possible de choisir la taille : 1024, 2048 ou 4096, tout dépend de son niveau de paranoïa. Il faut également choisir entre RSA et DSA (des arguments en faveur de l&amp;#039;un ou de l&amp;#039;autre ?).
&lt;/p&gt;

&lt;p&gt;
L&amp;#039;onglet « extensions » demande de choisir le but du certificat (« Certificate Authority » ou « End entity ») et sa durée de vie, par défaut un an. On cherche à créer une autorité de certification, il faut donc choisir « Certificate Authority » dans le champ « Type ». Les autres champs sont laissés vide dans cet exemple.
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;http://www.collilieux.net/_detail/doc/xca_extension.png?id=doc%3Axca&quot; class=&quot;media&quot; title=&quot;doc:xca_extension.png&quot;&gt;&lt;img src=&quot;http://www.collilieux.net/_media/doc/xca_extension.png&quot; class=&quot;media&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
L&amp;#039;onglet « Key Usage » est important, suivant les usages, le certificat pourra être utilisé ou pas dans diverses situations.
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;http://www.collilieux.net/_detail/doc/ca_key_usage.png?id=doc%3Axca&quot; class=&quot;media&quot; title=&quot;doc:ca_key_usage.png&quot;&gt;&lt;img src=&quot;http://www.collilieux.net/_media/doc/ca_key_usage.png&quot; class=&quot;media&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
L&amp;#039;extension Netscape est probablement optionnelle, à défaut, le choix « &lt;acronym title=&quot;Secure Sockets Layer&quot;&gt;SSL&lt;/acronym&gt; CA » semble approprié.
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;http://www.collilieux.net/_detail/doc/ca_extension_netscape.png?id=doc%3Axca&quot; class=&quot;media&quot; title=&quot;doc:ca_extension_netscape.png&quot;&gt;&lt;img src=&quot;http://www.collilieux.net/_media/doc/ca_extension_netscape.png&quot; class=&quot;media&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
L&amp;#039;onglet « Advanced » récapitule les données sur certificat &lt;a href=&quot;http://en.wikipedia.org/wiki/X.509&quot; class=&quot;interwiki iw_wp&quot; title=&quot;http://en.wikipedia.org/wiki/X.509&quot;&gt;X.509&lt;/a&gt; qui sera généré. Il doit être également possible d&amp;#039;éditer « à la main » les données en cliquant sur « Edit » (non testé).
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;http://www.collilieux.net/_detail/doc/ca_advanced.png?id=doc%3Axca&quot; class=&quot;media&quot; title=&quot;doc:ca_advanced.png&quot;&gt;&lt;img src=&quot;http://www.collilieux.net/_media/doc/ca_advanced.png&quot; class=&quot;media&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
Le certificat peut-être exporter au format DER (&lt;a href=&quot;http://en.wikipedia.org/wiki/X.509#Certificate_filename_extensions&quot; class=&quot;urlextern&quot; title=&quot;http://en.wikipedia.org/wiki/X.509#Certificate_filename_extensions&quot;  rel=&quot;nofollow&quot;&gt;Privacy Enhanced Mail&lt;/a&gt; pour être ensuite importer dans un navigateur web. De cette manière, les serveurs qui utiliseront un certificat signé par cette autorité seront reconnu par le navigateur sans alerte de sécurité.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT142 SECTION &quot;création de l'autorité de certification&quot; [1985-4328] --&gt;
&lt;h2 class=&quot;sectionedit143&quot;&gt;&lt;a name=&quot;creation_d_un_certificat_pour_un_serveur_web&quot; id=&quot;creation_d_un_certificat_pour_un_serveur_web&quot;&gt;création d&amp;#039;un certificat pour un serveur web&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Il est possible de générer la clef et la demande de certificat sur le serveur web. Dans la suite, la clé sera générée par xca et transmise au serveur web via &lt;acronym title=&quot;Secure Shell&quot;&gt;SSH&lt;/acronym&gt;.
&lt;/p&gt;

&lt;p&gt;
Avant de pouvoir créer un certificat accepté par Firefox, j&amp;#039;ai créé deux fichiers pour xca afin d&amp;#039;ajouter des extensions conformément à &lt;a href=&quot;http://xca.sourceforge.net/xca-11.html&quot; class=&quot;urlextern&quot; title=&quot;http://xca.sourceforge.net/xca-11.html&quot;  rel=&quot;nofollow&quot;&gt;la documentation&lt;/a&gt;.
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;$ cat /home/sylvain/.xca/oids.txt 
1.3.6.1.5.5.7.3.1:serverAuth:TLS Web Server Authentication
1.3.6.1.5.5.7.3.2:clientAuth:TLS Web Client Authentication
$ cat /home/sylvain/.xca/eku.txt 
serverAuth
clientAuth&lt;/pre&gt;

&lt;p&gt;
Dans l&amp;#039;onglet « Certificates », cliquer avec le bouton droit sur le certificat de l&amp;#039;autorité de certification puis cliquer sur « New Certificate ».
&lt;/p&gt;

&lt;p&gt;
Sur l&amp;#039;onglet « Source », il faut choisir l&amp;#039;autorité de certification qui signera le certificat, ici « CA ». Comme précédemment, j&amp;#039;ai préféré l&amp;#039;algorithme SHA-1. Il est également possible de choisir un modèle (« template ») pour pré-remplir certains éléments.
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;http://www.collilieux.net/_detail/doc/serveur_source.png?id=doc%3Axca&quot; class=&quot;media&quot; title=&quot;doc:serveur_source.png&quot;&gt;&lt;img src=&quot;http://www.collilieux.net/_media/doc/serveur_source.png&quot; class=&quot;media&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
Dans l&amp;#039;onglet « Subject », on renseigne les attributs du serveur. La clé privée peut soit être choisie dans la liste soit générée (dans ce cas, la même boite de dialogue que précédemment devra être renseignée).
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;http://www.collilieux.net/_detail/doc/serveur_subject.png?id=doc%3Axca&quot; class=&quot;media&quot; title=&quot;doc:serveur_subject.png&quot;&gt;&lt;img src=&quot;http://www.collilieux.net/_media/doc/serveur_subject.png&quot; class=&quot;media&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
Cette fois il faudra choisir « End Entity » dans l&amp;#039;onglet « Extensions », ce n&amp;#039;est pas une autorité de certification. La date de validité sera renseignée suivant la convenance. Le champ « subject alternative name » permet de définir plusieurs noms de serveur (serveur1.fr, &lt;a href=&quot;http://www.serveur1.fr&quot; class=&quot;urlextern&quot; title=&quot;http://www.serveur1.fr&quot;  rel=&quot;nofollow&quot;&gt;www.serveur1.fr&lt;/a&gt;, serveur1.com, etc.)
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;http://www.collilieux.net/_detail/doc/serveur_extensions.png?id=doc%3Axca&quot; class=&quot;media&quot; title=&quot;doc:serveur_extensions.png&quot;&gt;&lt;img src=&quot;http://www.collilieux.net/_media/doc/serveur_extensions.png&quot; class=&quot;media&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
Les utilisations seront renseignées dans l&amp;#039;onglet « Key Usage ». Il est important de bien choisir les paramètres car sans cela certains navigateurs n&amp;#039;accepteront pas le certificat.
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;http://www.collilieux.net/_detail/doc/serveur_key_usage.png?id=doc%3Axca&quot; class=&quot;media&quot; title=&quot;doc:serveur_key_usage.png&quot;&gt;&lt;img src=&quot;http://www.collilieux.net/_media/doc/serveur_key_usage.png&quot; class=&quot;media&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
L&amp;#039;onglet « Netscape » est probablement optionnel mais autant choisir un paramètre cohérent.
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;http://www.collilieux.net/_detail/doc/serveur_netscape.png?id=doc%3Axca&quot; class=&quot;media&quot; title=&quot;doc:serveur_netscape.png&quot;&gt;&lt;img src=&quot;http://www.collilieux.net/_media/doc/serveur_netscape.png&quot; class=&quot;media&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
Pour utiliser la clé et le certificat dans le serveur web, il faut les exporter. Dans l&amp;#039;onglet « Private Keys », cliquez avec le bouton droit sur la clé et choisir « Export ». Choisir le format « PEM » utilisable par apache, par exemple.
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;http://www.collilieux.net/_detail/doc/key_export.png?id=doc%3Axca&quot; class=&quot;media&quot; title=&quot;doc:key_export.png&quot;&gt;&lt;img src=&quot;http://www.collilieux.net/_media/doc/key_export.png&quot; class=&quot;media&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
Pour exporter le certificat, dans l&amp;#039;onglet « Certificates », choisir « Export » puis « File » dans le menu qui apparaît en cliquant sur le bouton droit. Ici encore, il faut choisir un format reconnu par le serveur web.
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;http://www.collilieux.net/_detail/doc/certificate_export.png?id=doc%3Axca&quot; class=&quot;media&quot; title=&quot;doc:certificate_export.png&quot;&gt;&lt;img src=&quot;http://www.collilieux.net/_media/doc/certificate_export.png&quot; class=&quot;media&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT143 SECTION &quot;création d'un certificat pour un serveur web&quot; [4329-6938] --&gt;
&lt;h2 class=&quot;sectionedit144&quot;&gt;&lt;a name=&quot;creation_d_un_certificat_pour_un_navigateur&quot; id=&quot;creation_d_un_certificat_pour_un_navigateur&quot;&gt;création d&amp;#039;un certificat pour un navigateur&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
La création de ce certificat est identique au paragraphe précédent. Seules les extensions diffèrent.
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;http://www.collilieux.net/_detail/doc/client_key_usage.png?id=doc%3Axca&quot; class=&quot;media&quot; title=&quot;doc:client_key_usage.png&quot;&gt;&lt;img src=&quot;http://www.collilieux.net/_media/doc/client_key_usage.png&quot; class=&quot;media&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
Pour que la navigateur puisse prendre en compte le certificat, il est nécessaire de l&amp;#039;exporter. Le format &lt;a href=&quot;http://en.wikipedia.org/wiki/PKCS#12&quot; class=&quot;interwiki iw_wp&quot; title=&quot;http://en.wikipedia.org/wiki/PKCS#12&quot;&gt;PKCS#12&lt;/a&gt; est reconnu par plusieurs navigateur.
&lt;/p&gt;

&lt;p&gt;
 — &lt;em&gt;Le 24/11/2009 – Sylvain Collilieux – Ce texte est sous licence &lt;a href=&quot;http://artlibre.org/licence/lal/&quot; class=&quot;urlextern&quot; title=&quot;http://artlibre.org/licence/lal/&quot;  rel=&quot;nofollow&quot;&gt;Art Libre&lt;/a&gt;&lt;/em&gt;
&lt;/p&gt;
&lt;hr /&gt;

&lt;p&gt;
Cette page vous a été utile ? &lt;form action=&quot;https://www.paypal.com/cgi-bin/webscr&quot; method=&quot;post&quot;&gt;&lt;input type=&quot;hidden&quot; name=&quot;cmd&quot; value=&quot;_s-xclick&quot;&gt;&lt;input type=&quot;hidden&quot; name=&quot;encrypted&quot; value=&quot;-----BEGIN PKCS7-----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-----END PKCS7-----&quot;&gt;&lt;input type=&quot;image&quot; src=&quot;http://static.collilieux.net/don.png&quot; border=&quot;0&quot; name=&quot;submit&quot; alt=&quot;Don via Paypal&quot;&gt;&lt;/form&gt;
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT144 SECTION &quot;création d'un certificat pour un navigateur&quot; [6939-] --&gt;</description>
        <category>doc</category>
            <pubDate>Wed, 09 Nov 2011 00:02:09 +0200</pubDate>
        </item>
    </channel>
</rss>

