 <?xml version="1.0" encoding="utf-8"?>
<!-- generator="FeedCreator 1.7.2-ppt DokuWiki" -->
<?xml-stylesheet href="http://collilieux.info/lib/exe/css.php?s=feed" type="text/css"?>
<rss version="2.0">
    <channel>
        <title>[oui qui] doc</title>
        <description></description>
        <link>http://collilieux.info/</link>
        <lastBuildDate>Tue, 07 Sep 2010 16:42:03 +0200</lastBuildDate>
        <generator>FeedCreator 1.7.2-ppt DokuWiki</generator>
        <image>
            <url>http://collilieux.info/lib/images/favicon.ico</url>
            <title>[oui qui]</title>
            <link>http://collilieux.info/</link>
        </image>
        <item>
            <title>doc:apache2</title>
            <link>http://collilieux.info/doc/apache2</link>
            <description>


&lt;h1&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/lenny/&quot; class=&quot;urlextern&quot; title=&quot;http://www.debian.org/releases/lenny/&quot;  rel=&quot;nofollow&quot;&gt;Lenny&lt;/a&gt; ».
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;apache2&quot; [1-159] --&gt;
&lt;h2&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;!-- SECTION &quot;installation&quot; [160-1481] --&gt;
&lt;h2&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;!-- SECTION &quot;configuration sécurité&quot; [1482-2048] --&gt;
&lt;h3&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://collilieux.info/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;!-- SECTION &quot;ServerTokens&quot; [2049-4483] --&gt;
&lt;h3&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;!-- SECTION &quot;ServerSignature&quot; [4484-4969] --&gt;
&lt;h3&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;!-- SECTION &quot;TRACE et TRACK&quot; [4970-5856] --&gt;
&lt;h3&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;!-- SECTION &quot;bilan de la configuration apache&quot; [5857-6153] --&gt;
&lt;h3&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;!-- SECTION &quot;php&quot; [6154-6761] --&gt;
&lt;h2&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;!-- SECTION &quot;configuration SSL&quot; [6762-7175] --&gt;
&lt;h3&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://collilieux.info/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;!-- SECTION &quot;clé et certificat serveur&quot; [7176-7657] --&gt;
&lt;h3&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://collilieux.info/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://collilieux.info/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;!-- SECTION &quot;authentification client&quot; [7658-11228] --&gt;
&lt;h2&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;
&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è par le 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;!-- SECTION &quot;optimiser la bande passante&quot; [11229-14561] --&gt;
&lt;h2&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;!-- SECTION &quot;extension webdav&quot; [14562-16448] --&gt;
&lt;h2&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;

bientôt sur vos écrans &lt;img src=&quot;http://collilieux.info/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 25/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;/div&gt;
&lt;!-- SECTION &quot;plusieurs domaines sur un même serveur&quot; [16449-] --&gt;</description>
        <category>doc</category>
            <pubDate>Thu, 25 Feb 2010 22:15:23 +0200</pubDate>
        </item>
        <item>
            <title>doc:apt-show-versions</title>
            <link>http://collilieux.info/doc/apt-show-versions</link>
            <description>


&lt;h1&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;!-- SECTION &quot;apt-show-versions&quot; [1-175] --&gt;
&lt;h2&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://collilieux.info/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;!-- SECTION &quot;généralités&quot; [176-858] --&gt;
&lt;h2&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://collilieux.info/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;!-- 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:collectd</title>
            <link>http://collilieux.info/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;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 Art Libre
$Id: collectd.mkd 4905695e3618 2010/02/28 15:16:34 Sylvain $&lt;/p&gt;
</description>
        <category>doc</category>
            <pubDate>Sun, 28 Feb 2010 15:18:33 +0200</pubDate>
        </item>
        <item>
            <title>doc:dokuwiki</title>
            <link>http://collilieux.info/doc/dokuwiki</link>
            <description>


&lt;h1&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;!-- SECTION &quot;quelques trucs pour dokuwiki&quot; [1-44] --&gt;
&lt;h2&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;!-- 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://collilieux.info/doc/ejabberd</link>
            <description>


&lt;h1&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;/div&gt;
&lt;!-- SECTION &quot;installation de ejabberd&quot; [1-285] --&gt;
&lt;h2&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://collilieux.info/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://collilieux.info/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://collilieux.info/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://collilieux.info/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://collilieux.info/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;!-- SECTION &quot;installation des paquets&quot; [286-3053] --&gt;
&lt;h2&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;!-- SECTION &quot;configuration&quot; [3054-3080] --&gt;
&lt;h3&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://collilieux.info/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;!-- SECTION &quot;interface admin HTTPS&quot; [3081-4127] --&gt;
&lt;h3&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://collilieux.info/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;!-- SECTION &quot;un administrateur pour tous les domaines&quot; [4128-4518] --&gt;
&lt;h3&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;!-- SECTION &quot;langue&quot; [4519-4713] --&gt;
&lt;h3&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;!-- SECTION &quot;création d'un utilisateur&quot; [4714-5239] --&gt;
&lt;h3&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;!-- SECTION &quot;configuration du DNS&quot; [5240-6361] --&gt;
&lt;h3&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;!-- SECTION &quot;plusieurs domaines&quot; [6362-6530] --&gt;
&lt;h2&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;!-- SECTION &quot;modules&quot; [6531-6611] --&gt;
&lt;h3&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;!-- SECTION &quot;irc&quot; [6612-7194] --&gt;
&lt;h3&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;!-- SECTION &quot;conference&quot; [7195-8382] --&gt;
&lt;h2&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;/div&gt;
&lt;!-- SECTION &quot;liens utiles&quot; [8383-] --&gt;</description>
        <category>doc</category>
            <pubDate>Sun, 08 Nov 2009 15:20:28 +0200</pubDate>
        </item>
        <item>
            <title>doc:firefox</title>
            <link>http://collilieux.info/doc/firefox</link>
            <description>


&lt;h1&gt;&lt;a name=&quot;firefox_quelques_astuces&quot; id=&quot;firefox_quelques_astuces&quot;&gt;firefox : quelques astuces&lt;/a&gt;&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;firefox : quelques astuces&quot; [1-42] --&gt;
&lt;h2&gt;&lt;a name=&quot;configuration_aboutconfig&quot; id=&quot;configuration_aboutconfig&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;!-- SECTION &quot;configuration : about:config&quot; [43-437] --&gt;
&lt;h3&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;!-- SECTION &quot;fréquence de sauvegarde de la session&quot; [438-908] --&gt;
&lt;h3&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://collilieux.info/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;
&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;!-- SECTION &quot;délai avant l'installation d'une extension&quot; [909-1418] --&gt;
&lt;h3&gt;&lt;a name=&quot;certificat_auto-signe_moins_de_clic_svp&quot; id=&quot;certificat_auto-signe_moins_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;!-- SECTION &quot;certificat auto-signé : moins de clic SVP&quot; [1419-2344] --&gt;
&lt;h3&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;!-- SECTION &quot;sélectionner toute l'url de la barre d'adresse&quot; [2345-2634] --&gt;
&lt;h3&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 positonnant à gauche, elle devient plus accessible.
&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;!-- SECTION &quot;barre de défilement à gauche&quot; [2635-3298] --&gt;
&lt;h3&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;!-- SECTION &quot;géolocalisation&quot; [3299-3739] --&gt;
&lt;h3&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://collilieux.info/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;!-- SECTION &quot;safebrowsing&quot; [3740-4313] --&gt;
&lt;h2&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://collilieux.info/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;!-- SECTION &quot;extensions&quot; [4314-4554] --&gt;
&lt;h3&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;/p&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;adblock plus&quot; [4555-4827] --&gt;
&lt;h3&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;!-- SECTION &quot;tab mix plus&quot; [4828-5209] --&gt;
&lt;h3&gt;&lt;a name=&quot;hide_menubar&quot; id=&quot;hide_menubar&quot;&gt;hide menubar&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;

Comme son nom l&amp;#039;indique, &lt;a href=&quot;https://addons.mozilla.org/fr/firefox/addon/4762&quot; class=&quot;urlextern&quot; title=&quot;https://addons.mozilla.org/fr/firefox/addon/4762&quot;  rel=&quot;nofollow&quot;&gt;hide menubar&lt;/a&gt; permet de cacher la barre de menu du navigateur. Pour la faire apparaître momentanément , il faudra appuyer sur la touche « Alt ».
&lt;/p&gt;

&lt;p&gt;
Utiliser cette extension et supprimer « barre personnelle » permettent d&amp;#039;avoir plus de place pour le contenu. C&amp;#039;est notamment pratique sur des écrans de petites tailles.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;hide menubar&quot; [5210-5634] --&gt;
&lt;h3&gt;&lt;a name=&quot;ghostery&quot; id=&quot;ghostery&quot;&gt;ghostery&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/9609&quot; class=&quot;urlextern&quot; title=&quot;https://addons.mozilla.org/fr/firefox/addon/9609&quot;  rel=&quot;nofollow&quot;&gt;ghostery&lt;/a&gt; permet de bloquer de nombreux sites qui suivent nos traces sur la toile. Par défaut, j&amp;#039;ai choisi de tout bloquer.
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;http://blogs.orange-business.com/securite/2009/09/ghostery-detecter-les-web-bugs-qui-vous-pistent.html&quot; class=&quot;urlextern&quot; title=&quot;http://blogs.orange-business.com/securite/2009/09/ghostery-detecter-les-web-bugs-qui-vous-pistent.html&quot;  rel=&quot;nofollow&quot;&gt;source le blog sécurité Orange Business Services&lt;/a&gt;
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;ghostery&quot; [5635-5991] --&gt;
&lt;h3&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;!-- SECTION &quot;refcontrol&quot; [5992-6204] --&gt;
&lt;h3&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;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://collilieux.info/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://collilieux.info/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://collilieux.info/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://collilieux.info/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;!-- SECTION &quot;syncplaces&quot; [6205-7769] --&gt;
&lt;h3&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;/div&gt;
&lt;!-- SECTION &quot;httpfox&quot; [7770-8182] --&gt;
&lt;h2&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;

Je suis un grand fan de la awesome bar. Depuis, je ne classe plus mes marque-pages et je gagne un temp fou.
&lt;/p&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 via 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. &lt;a href=&quot;http://www.tweakguides.com/Firefox_6.html&quot; class=&quot;urlextern&quot; title=&quot;http://www.tweakguides.com/Firefox_6.html&quot;  rel=&quot;nofollow&quot;&gt;source&lt;/a&gt;
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;awesome bar&quot; [8183-8696] --&gt;
&lt;h2&gt;&lt;a name=&quot;themes&quot; id=&quot;themes&quot;&gt;thèmes&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;

Deux thèmes dont les icônes ne prennent pas trop de place :
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;https://addons.mozilla.org/fr/firefox/addon/8782&quot; class=&quot;urlextern&quot; title=&quot;https://addons.mozilla.org/fr/firefox/addon/8782&quot;  rel=&quot;nofollow&quot;&gt;chromixfox&lt;/a&gt; : il faut aimer le bleu :-S. Ce thème ressemble au navigateur &lt;a href=&quot;http://www.google.com/support/chrome/bin/answer.py?answer=95622&amp;amp;hl=fr&quot; class=&quot;urlextern&quot; title=&quot;http://www.google.com/support/chrome/bin/answer.py?answer=95622&amp;amp;hl=fr&quot;  rel=&quot;nofollow&quot;&gt;google chrome&lt;/a&gt; (attention, ce navigateur n&amp;#039;est pas libre).&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;https://addons.mozilla.org/fr/firefox/addon/364&quot; class=&quot;urlextern&quot; title=&quot;https://addons.mozilla.org/fr/firefox/addon/364&quot;  rel=&quot;nofollow&quot;&gt;whitehart&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;

 — &lt;em&gt;Le 25/02/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;!-- SECTION &quot;thèmes&quot; [8697-] --&gt;</description>
        <category>doc</category>
            <pubDate>Sat, 17 Jul 2010 00:57:53 +0200</pubDate>
        </item>
        <item>
            <title>doc:gphoto</title>
            <link>http://collilieux.info/doc/gphoto</link>
            <description>


&lt;h1&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://collilieux.info/doc/gpsbabel</link>
            <description>


&lt;h1&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;!-- SECTION &quot;gpsbabel&quot; [1-24] --&gt;
&lt;h2&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;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 out.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;out.gpx&lt;/code&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;exporter et effacer les données&quot; [25-] --&gt;</description>
        <category>doc</category>
            <pubDate>Wed, 24 Mar 2010 23:14:58 +0200</pubDate>
        </item>
        <item>
            <title>doc:incrond</title>
            <link>http://collilieux.info/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://collilieux.info/doc/jhead</link>
            <description>


&lt;h1&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;!-- SECTION &quot;jhead&quot; [1-21] --&gt;
&lt;h2&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;!-- SECTION &quot;renommage&quot; [22-] --&gt;</description>
        <category>doc</category>
            <pubDate>Tue, 30 Mar 2010 00:35:40 +0200</pubDate>
        </item>
        <item>
            <title>doc:pgp-agent</title>
            <link>http://collilieux.info/doc/pgp-agent</link>
            <description>


&lt;h1&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://collilieux.info/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;!-- SECTION &quot;utilisation de pgp-agent&quot; [1-866] --&gt;
&lt;h2&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;!-- SECTION &quot;Comment ça marche ?&quot; [867-989] --&gt;
&lt;h3&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;!-- SECTION &quot;Installation&quot; [990-1225] --&gt;
&lt;h3&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;!-- SECTION &quot;Configuration&quot; [1226-1676] --&gt;
&lt;h3&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;!-- SECTION &quot;Utilisation&quot; [1677-] --&gt;</description>
        <category>doc</category>
            <pubDate>Fri, 29 May 2009 00:00:54 +0200</pubDate>
        </item>
        <item>
            <title>doc:sources.list</title>
            <link>http://collilieux.info/doc/sources.list</link>
            <description>


&lt;h1&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;!-- SECTION &quot;sources.list pour DEBIAN&quot; [1-335] --&gt;
&lt;h2&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;!-- SECTION &quot;un sources.list&quot; [336-973] --&gt;
&lt;h2&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;!-- 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:thinkpad</title>
            <link>http://collilieux.info/doc/thinkpad</link>
            <description>


&lt;h1&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;!-- SECTION &quot;DEBIAN unstable sur un thinkpad X40&quot; [1-256] --&gt;
&lt;h2&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;!-- 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://collilieux.info/doc/thunderbird</link>
            <description>


&lt;h1&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;!-- SECTION &quot;thunderbird au quotidien&quot; [1-41] --&gt;
&lt;h2&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;!-- SECTION &quot;personnalisation&quot; [42-71] --&gt;
&lt;h3&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;!-- SECTION &quot;prochain message&quot; [72-381] --&gt;
&lt;h3&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;!-- SECTION &quot;consulter tous les répertoires&quot; [382-869] --&gt;
&lt;h3&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;!-- SECTION &quot;cacher la fenêtre d'envoi&quot; [870-1105] --&gt;
&lt;h3&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;!-- SECTION &quot;informations affichées&quot; [1106-1540] --&gt;
&lt;h2&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://addons.mozilla.org/en-US/thunderbird/addon/2831/&quot; class=&quot;urlextern&quot; title=&quot;https://addons.mozilla.org/en-US/thunderbird/addon/2831/&quot;  rel=&quot;nofollow&quot;&gt;MinimizeToTray Plus&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;extensions&quot; [1541-] --&gt;</description>
        <category>doc</category>
            <pubDate>Fri, 13 Aug 2010 12:27:30 +0200</pubDate>
        </item>
        <item>
            <title>doc:xca</title>
            <link>http://collilieux.info/doc/xca</link>
            <description>


&lt;h1&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://collilieux.info/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).
&lt;/p&gt;

&lt;p&gt;
&lt;p&gt;&lt;div class=&quot;notewarning&quot;&gt;xca permet de générer des certificats numériques. Ces certificats peuvent être utilisés dans plusieurs situations. Mon premier objectif est de réaliser une &lt;a href=&quot;http://collilieux.info/doc/apache2#configuration_ssl&quot; class=&quot;wikilink1&quot; title=&quot;doc:apache2&quot;&gt;authentification SSL croisée&lt;/a&gt; entre un serveur apache et un navigateur. Ces certificats pourront également servir pour une authentification entre un serveur &lt;acronym title=&quot;Internet Message Access Protocol&quot;&gt;IMAP&lt;/acronym&gt; et un client, un serveur et un client &lt;a href=&quot;http://openvpn.net&quot; class=&quot;urlextern&quot; title=&quot;http://openvpn.net&quot;  rel=&quot;nofollow&quot;&gt;openvpn&lt;/a&gt;, etc. 
&lt;/div&gt;&lt;/p&gt;
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;une (petite) infrastructure à clés publiques avec xca&quot; [1-1022] --&gt;
&lt;h2&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://collilieux.info/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://collilieux.info/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;!-- SECTION &quot;xca&quot; [1023-2391] --&gt;
&lt;h2&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://collilieux.info/_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://collilieux.info/_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://collilieux.info/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://collilieux.info/_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://collilieux.info/_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://collilieux.info/_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://collilieux.info/_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://collilieux.info/_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://collilieux.info/_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://collilieux.info/_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://collilieux.info/_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://collilieux.info/_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://collilieux.info/_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://collilieux.info/_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://collilieux.info/_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;!-- SECTION &quot;création de l'autorité de certification&quot; [2392-4735] --&gt;
&lt;h2&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://collilieux.info/_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://collilieux.info/_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://collilieux.info/_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://collilieux.info/_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://collilieux.info/_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://collilieux.info/_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://collilieux.info/_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://collilieux.info/_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://collilieux.info/_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://collilieux.info/_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://collilieux.info/_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://collilieux.info/_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://collilieux.info/_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://collilieux.info/_media/doc/certificate_export.png&quot; class=&quot;media&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;création d'un certificat pour un serveur web&quot; [4736-7345] --&gt;
&lt;h2&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://collilieux.info/_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://collilieux.info/_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;/div&gt;
&lt;!-- SECTION &quot;création d'un certificat pour un navigateur&quot; [7346-] --&gt;</description>
        <category>doc</category>
            <pubDate>Thu, 10 Dec 2009 23:17:01 +0200</pubDate>
        </item>
    </channel>
</rss>
