Login | Register For Free | Help
Search for: (Advanced)

Mailing List Archive: Apache: CVS

svn commit: r1339634 - in /httpd/httpd/branches/2.4.x/docs/manual: ./ misc/ rewrite/ ssl/

 

 

Apache cvs RSS feed   Index | Next | Previous | View Threaded


lgentis at apache

May 17, 2012, 8:13 AM

Post #1 of 1 (60 views)
Permalink
svn commit: r1339634 - in /httpd/httpd/branches/2.4.x/docs/manual: ./ misc/ rewrite/ ssl/

Author: lgentis
Date: Thu May 17 15:13:36 2012
New Revision: 1339634

URL: http://svn.apache.org/viewvc?rev=1339634&view=rev
Log:
Updates.

Modified:
httpd/httpd/branches/2.4.x/docs/manual/content-negotiation.xml.fr
httpd/httpd/branches/2.4.x/docs/manual/misc/perf-tuning.xml.fr
httpd/httpd/branches/2.4.x/docs/manual/misc/security_tips.xml.fr
httpd/httpd/branches/2.4.x/docs/manual/rewrite/access.xml.fr
httpd/httpd/branches/2.4.x/docs/manual/rewrite/advanced.xml.fr
httpd/httpd/branches/2.4.x/docs/manual/rewrite/avoid.xml.fr
httpd/httpd/branches/2.4.x/docs/manual/rewrite/flags.xml.fr
httpd/httpd/branches/2.4.x/docs/manual/rewrite/intro.xml.fr
httpd/httpd/branches/2.4.x/docs/manual/ssl/ssl_faq.xml.fr
httpd/httpd/branches/2.4.x/docs/manual/ssl/ssl_howto.xml.fr
httpd/httpd/branches/2.4.x/docs/manual/suexec.xml.fr
httpd/httpd/branches/2.4.x/docs/manual/upgrading.xml.fr
httpd/httpd/branches/2.4.x/docs/manual/urlmapping.xml.fr

Modified: httpd/httpd/branches/2.4.x/docs/manual/content-negotiation.xml.fr
URL: http://svn.apache.org/viewvc/httpd/httpd/branches/2.4.x/docs/manual/content-negotiation.xml.fr?rev=1339634&r1=1339633&r2=1339634&view=diff
==============================================================================
--- httpd/httpd/branches/2.4.x/docs/manual/content-negotiation.xml.fr (original)
+++ httpd/httpd/branches/2.4.x/docs/manual/content-negotiation.xml.fr Thu May 17 15:13:36 2012
@@ -3,7 +3,7 @@
<?xml-stylesheet type="text/xsl" href="./style/manual.fr.xsl"?>
<!-- French translation : Lucien GENTIS -->
<!-- Reviewed by : Vincent Deffontaines -->
-<!-- English Revision: 1174747:1334033 (outdated) -->
+<!-- English Revision : 1334033 -->

<!--
Licensed to the Apache Software Foundation (ASF) under one or more
@@ -130,7 +130,7 @@
gestionnaire qui associe un suffixe de fichier &agrave; une <code>type-map</code>;
ce qui se fait simplement en ajoutant</p>

-<example>AddHandler type-map .var</example>
+<highlight language="config">AddHandler type-map .var</highlight>

<p>dans le fichier de configuration du serveur.</p>

@@ -239,7 +239,7 @@
nomm&eacute; par la directive <directive
module="mod_dir">DirectoryIndex</directive>, si le serveur tente d'indexer
un r&eacute;pertoire. Si les fichiers de configuration sp&eacute;cifient</p>
-<example>DirectoryIndex index</example>
+<highlight language="config">DirectoryIndex index</highlight>
<p>le serveur va choisir entre <code>index.html</code>
et <code>index.html3</code> si les deux fichiers sont pr&eacute;sents. Si aucun
n'est pr&eacute;sent, mais <code>index.cgi</code> existe,
@@ -537,8 +537,10 @@ langage</title>
variante, le processus normal de n&eacute;gociation sera lanc&eacute;.</p>

<example><title>Exemple</title>
- SetEnvIf Cookie "language=(.+)" prefer-language=$1<br />
- Header append Vary cookie
+ <highlight language="config">
+SetEnvIf Cookie "language=(.+)" prefer-language=$1
+Header append Vary cookie
+ </highlight>
</example>
</section>
</section>

Modified: httpd/httpd/branches/2.4.x/docs/manual/misc/perf-tuning.xml.fr
URL: http://svn.apache.org/viewvc/httpd/httpd/branches/2.4.x/docs/manual/misc/perf-tuning.xml.fr?rev=1339634&r1=1339633&r2=1339634&view=diff
==============================================================================
--- httpd/httpd/branches/2.4.x/docs/manual/misc/perf-tuning.xml.fr (original)
+++ httpd/httpd/branches/2.4.x/docs/manual/misc/perf-tuning.xml.fr Thu May 17 15:13:36 2012
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE manualpage SYSTEM "../style/manualpage.dtd">
<?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?>
-<!-- English Revision: 1328334:1333991 (outdated) -->
+<!-- English Revision : 1333991 -->
<!-- French translation : Lucien GENTIS -->
<!-- Reviewed by : Vincent Deffontaines -->

@@ -164,14 +164,12 @@
Voici un exemple qui d&eacute;sactive les recherches DNS sauf pour les fichiers
<code>.html</code> et <code>.cgi</code> :</p>

- <example>
- HostnameLookups off<br />
- &lt;Files ~ "\.(html|cgi)$"&gt;<br />
- <indent>
- HostnameLookups on<br />
- </indent>
- &lt;/Files&gt;
- </example>
+ <highlight language="config">
+HostnameLookups off
+&lt;Files ~ "\.(html|cgi)$"&gt;
+ HostnameLookups on
+&lt;/Files&gt;
+ </highlight>

<p>Mais m&ecirc;me dans ce cas, si vous n'avez besoin de noms DNS que dans
certains CGIs, vous pouvez effectuer l'appel &agrave; <code>gethostbyname</code>
@@ -190,14 +188,12 @@
symboliques. Un appel suppl&eacute;mentaire par &eacute;l&eacute;ment du chemin du fichier.
Par exemple, si vous avez :</p>

- <example>
- DocumentRoot /www/htdocs<br />
- &lt;Directory /&gt;<br />
- <indent>
- Options SymLinksIfOwnerMatch<br />
- </indent>
- &lt;/Directory&gt;
- </example>
+ <highlight language="config">
+DocumentRoot /www/htdocs
+&lt;Directory /&gt;
+ Options SymLinksIfOwnerMatch
+&lt;/Directory&gt;
+ </highlight>

<p>et si une requ&ecirc;te demande l'URI <code>/index.html</code>, Apache
effectuera un appel &agrave; <code>lstat(2)</code> pour
@@ -208,20 +204,16 @@
v&eacute;rifier la s&eacute;curit&eacute; des liens symboliques, vous pouvez utiliser une
configuration du style :</p>

- <example>
- DocumentRoot /www/htdocs<br />
- &lt;Directory /&gt;<br />
- <indent>
- Options FollowSymLinks<br />
- </indent>
- &lt;/Directory&gt;<br />
- <br />
- &lt;Directory /www/htdocs&gt;<br />
- <indent>
- Options -FollowSymLinks +SymLinksIfOwnerMatch<br />
- </indent>
- &lt;/Directory&gt;
- </example>
+ <highlight language="config">
+DocumentRoot /www/htdocs
+&lt;Directory /&gt;
+ Options FollowSymLinks
+&lt;/Directory&gt;
+
+&lt;Directory /www/htdocs&gt;
+ Options -FollowSymLinks +SymLinksIfOwnerMatch
+&lt;/Directory&gt;
+ </highlight>

<p>Ceci &eacute;vite au moins les v&eacute;rifications suppl&eacute;mentaires pour le chemin
d&eacute;fini par <directive module="core">DocumentRoot</directive>. Notez que
@@ -246,14 +238,12 @@
pour chaque &eacute;l&eacute;ment du chemin du fichier demand&eacute;. Par exemple, si vous
avez : </p>

- <example>
- DocumentRoot /www/htdocs<br />
- &lt;Directory /&gt;<br />
- <indent>
- AllowOverride all<br />
- </indent>
- &lt;/Directory&gt;
- </example>
+ <highlight language="config">
+DocumentRoot /www/htdocs
+&lt;Directory /&gt;
+ AllowOverride all
+&lt;/Directory&gt;
+ </highlight>

<p>et qu'une requ&ecirc;te demande l'URI <code>/index.html</code>, Apache
tentera d'ouvrir <code>/.htaccess</code>, <code>/www/.htaccess</code>,
@@ -275,15 +265,11 @@
Il y a cependant un cas dans lequel vous pouvez acc&eacute;l&eacute;rer le serveur.
Au lieu d'utiliser une directive g&eacute;n&eacute;rique comme :</p>

- <example>
- DirectoryIndex index
- </example>
+ <highlight language="config">DirectoryIndex index</highlight>

<p>utilisez une liste explicite d'options :</p>

- <example>
- DirectoryIndex index.cgi index.pl index.shtml index.html
- </example>
+ <highlight language="config">DirectoryIndex index.cgi index.pl index.shtml index.html</highlight>

<p>o&ugrave; vous placez le choix courant en premi&egrave;re position.</p>

@@ -477,6 +463,12 @@
serveurs pr&eacute;sentant un traffic important car il poss&egrave;de une empreinte
m&eacute;moire plus petite que le MPM prefork.</li>

+ <li>Comme le MPM Worker, le MPM <module>event</module> utilise
+ les threads, mais il a &eacute;t&eacute; con&ccedil;u pour traiter davantage de
+ requ&ecirc;tes simultan&eacute;ment en confiant une partie du travail &agrave; des
+ threads de support, ce qui permet aux threads principaux de
+ traiter de nouvelles requ&ecirc;tes.</li>
+
<li>Le MPM <module>prefork</module> utilise plusieurs processus enfants
poss&eacute;dant chacun un seul thread. Chaque processus g&egrave;re une seule
connexion &agrave; la fois. Sur de nombreux syst&egrave;mes, prefork est comparable
@@ -628,39 +620,29 @@
(ces exemples ne sont pas extraits du code d'Apache, ils ne sont
propos&eacute;s qu'&agrave; des fins p&eacute;dagogiques) :</p>

- <example>
- for (;;) {<br />
- <indent>
- for (;;) {<br />
- <indent>
- fd_set accept_fds;<br />
- <br />
- FD_ZERO (&amp;accept_fds);<br />
- for (i = first_socket; i &lt;= last_socket; ++i) {<br />
- <indent>
- FD_SET (i, &amp;accept_fds);<br />
- </indent>
- }<br />
- rc = select (last_socket+1, &amp;accept_fds, NULL, NULL, NULL);<br />
- if (rc &lt; 1) continue;<br />
- new_connection = -1;<br />
- for (i = first_socket; i &lt;= last_socket; ++i) {<br />
- <indent>
- if (FD_ISSET (i, &amp;accept_fds)) {<br />
- <indent>
- new_connection = accept (i, NULL, NULL);<br />
- if (new_connection != -1) break;<br />
- </indent>
- }<br />
- </indent>
- }<br />
- if (new_connection != -1) break;<br />
- </indent>
- }<br />
- process the new_connection;<br />
- </indent>
+ <highlight language="c">
+ for (;;) {
+ for (;;) {
+ fd_set accept_fds;
+
+ FD_ZERO (&amp;accept_fds);
+ for (i = first_socket; i &lt;= last_socket; ++i) {
+ FD_SET (i, &amp;accept_fds);
+ }
+ rc = select (last_socket+1, &amp;accept_fds, NULL, NULL, NULL);
+ if (rc &lt; 1) continue;
+ new_connection = -1;
+ for (i = first_socket; i &lt;= last_socket; ++i) {
+ if (FD_ISSET (i, &amp;accept_fds)) {
+ new_connection = accept (i, NULL, NULL);
+ if (new_connection != -1) break;
+ }
+ }
+ if (new_connection != -1) break;
+ }
+ process_the(new_connection);
}
- </example>
+ </highlight>

<p>Mais cette impl&eacute;mentation rudimentaire pr&eacute;sente une s&eacute;rieuse lacune.
Rappelez-vous que les processus enfants ex&eacute;cutent cette boucle au m&ecirc;me
@@ -699,41 +681,31 @@
entr&eacute;es dans la boucle interne. La boucle ressemble &agrave; ceci (les
diff&eacute;rences sont mises en surbrillance) :</p>

- <example>
- for (;;) {<br />
- <indent>
- <strong>accept_mutex_on ();</strong><br />
- for (;;) {<br />
- <indent>
- fd_set accept_fds;<br />
- <br />
- FD_ZERO (&amp;accept_fds);<br />
- for (i = first_socket; i &lt;= last_socket; ++i) {<br />
- <indent>
- FD_SET (i, &amp;accept_fds);<br />
- </indent>
- }<br />
- rc = select (last_socket+1, &amp;accept_fds, NULL, NULL, NULL);<br />
- if (rc &lt; 1) continue;<br />
- new_connection = -1;<br />
- for (i = first_socket; i &lt;= last_socket; ++i) {<br />
- <indent>
- if (FD_ISSET (i, &amp;accept_fds)) {<br />
- <indent>
- new_connection = accept (i, NULL, NULL);<br />
- if (new_connection != -1) break;<br />
- </indent>
- }<br />
- </indent>
- }<br />
- if (new_connection != -1) break;<br />
- </indent>
- }<br />
- <strong>accept_mutex_off ();</strong><br />
- process the new_connection;<br />
- </indent>
+ <highlight language="c">
+ for (;;) {
+ <strong>accept_mutex_on ();</strong>
+ for (;;) {
+ fd_set accept_fds;
+
+ FD_ZERO (&amp;accept_fds);
+ for (i = first_socket; i &lt;= last_socket; ++i) {
+ FD_SET (i, &amp;accept_fds);
+ }
+ rc = select (last_socket+1, &amp;accept_fds, NULL, NULL, NULL);
+ if (rc &lt; 1) continue;
+ new_connection = -1;
+ for (i = first_socket; i &lt;= last_socket; ++i) {
+ if (FD_ISSET (i, &amp;accept_fds)) {
+ new_connection = accept (i, NULL, NULL);
+ if (new_connection != -1) break;
+ }
+ }
+ if (new_connection != -1) break;
+ }
+ <strong>accept_mutex_off ();</strong>
+ process the new_connection;
}
- </example>
+ </highlight>

<p><a id="serialize" name="serialize">Les fonctions</a>
<code>accept_mutex_on</code> et <code>accept_mutex_off</code>
@@ -846,39 +818,31 @@
<code>http_main.c</code>). La fonction ressemble approximativement &agrave;
ceci :</p>

- <example>
- void lingering_close (int s)<br />
- {<br />
- <indent>
- char junk_buffer[2048];<br />
- <br />
- /* shutdown the sending side */<br />
- shutdown (s, 1);<br />
- <br />
- signal (SIGALRM, lingering_death);<br />
- alarm (30);<br />
- <br />
- for (;;) {<br />
- <indent>
- select (s for reading, 2 second timeout);<br />
- if (error) break;<br />
- if (s is ready for reading) {<br />
- <indent>
- if (read (s, junk_buffer, sizeof (junk_buffer)) &lt;= 0) {<br />
- <indent>
- break;<br />
- </indent>
- }<br />
- /* just toss away whatever is here */<br />
- </indent>
- }<br />
- </indent>
- }<br />
- <br />
- close (s);<br />
- </indent>
+ <highlight language="c">
+ void lingering_close (int s)
+ {
+ char junk_buffer[2048];
+
+ /* shutdown the sending side */
+ shutdown (s, 1);
+
+ signal (SIGALRM, lingering_death);
+ alarm (30);
+
+ for (;;) {
+ select (s for reading, 2 second timeout);
+ if (error) break;
+ if (s is ready for reading) {
+ if (read (s, junk_buffer, sizeof (junk_buffer)) &lt;= 0) {
+ break;
+ }
+ /* just toss away whatever is here */
+ }
+ }
+
+ close (s);
}
- </example>
+ </highlight>

<p>Ceci ajoute naturellement un peu de charge &agrave; la fin d'une connexion,
mais s'av&egrave;re n&eacute;cessaire pour une impl&eacute;mentation fiable. Comme HTTP/1.1

Modified: httpd/httpd/branches/2.4.x/docs/manual/misc/security_tips.xml.fr
URL: http://svn.apache.org/viewvc/httpd/httpd/branches/2.4.x/docs/manual/misc/security_tips.xml.fr?rev=1339634&r1=1339633&r2=1339634&view=diff
==============================================================================
--- httpd/httpd/branches/2.4.x/docs/manual/misc/security_tips.xml.fr (original)
+++ httpd/httpd/branches/2.4.x/docs/manual/misc/security_tips.xml.fr Thu May 17 15:13:36 2012
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE manualpage SYSTEM "../style/manualpage.dtd">
<?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?>
-<!-- English Revision: 1300924:1333991 (outdated) -->
+<!-- English revision : 1333991 -->
<!-- French translation : Lucien GENTIS -->
<!-- Reviewed by : Vincent Deffontaines -->

@@ -336,11 +336,11 @@

<p>Ajoutez dans le fichier de configuration du serveur</p>

- <example>
- &lt;Directory /&gt; <br />
- AllowOverride None <br />
- &lt;/Directory&gt;
- </example>
+ <highlight language="config">
+&lt;Directory /&gt;
+ AllowOverride None
+&lt;/Directory&gt;
+ </highlight>

<p>Ceci interdit l'utilisation des fichiers <code>.htaccess</code> dans
tous les r&eacute;pertoires, sauf ceux pour lesquels c'est explicitement
@@ -369,28 +369,28 @@
fichiers. Pour l'&eacute;viter, ajoutez le bloc suivant &agrave; la configuration
de votre serveur :</p>

- <example>
- &lt;Directory /&gt; <br />
- Order Deny,Allow <br />
- Deny from all <br />
- &lt;/Directory&gt;
- </example>
+ <highlight language="config">
+&lt;Directory /&gt;
+ Order Deny,Allow
+ Deny from all
+&lt;/Directory&gt;
+ </highlight>

<p>ceci va interdire l'acc&egrave;s par d&eacute;faut &agrave; tous les fichiers du syst&egrave;me de
fichiers. Vous devrez ensuite ajouter les blocs
<directive module="core">Directory</directive> appropri&eacute;s correspondant
aux r&eacute;pertoires auxquels vous voulez autorisez l'acc&egrave;s. Par exemple,</p>

- <example>
- &lt;Directory /usr/users/*/public_html&gt; <br />
- Order Deny,Allow <br />
- Allow from all <br />
- &lt;/Directory&gt; <br />
- &lt;Directory /usr/local/httpd&gt; <br />
- Order Deny,Allow <br />
- Allow from all <br />
- &lt;/Directory&gt;
- </example>
+ <highlight language="config">
+&lt;Directory /usr/users/*/public_html&gt;
+ Order Deny,Allow
+ Allow from all
+&lt;/Directory&gt;
+&lt;Directory /usr/local/httpd&gt;
+ Order Deny,Allow
+ Allow from all
+&lt;/Directory&gt;
+ </highlight>

<p>Portez une attention particuli&egrave;re aux interactions entre les directives
<directive module="core">Location</directive> et
@@ -405,9 +405,7 @@
fortement d'inclure la ligne suivante dans le fichier de configuration de
votre serveur :</p>

- <example>
- UserDir disabled root
- </example>
+ <highlight language="config">UserDir disabled root</highlight>

</section>

@@ -453,12 +451,12 @@
qui signifie que vous avez probablement mis en commentaire ce qui suit dans
le fichier de configuration de votre serveur :</p>

- <example>
- &lt;Files ".ht*"&gt; <br />
- Order allow,deny <br />
- Deny from all <br />
- &lt;/Files&gt;
- </example>
+ <highlight language="config">
+&lt;Files ".ht*"&gt;
+ Order allow,deny
+ Deny from all
+&lt;/Files&gt;
+ </highlight>

</section>
<section id="merging">

Modified: httpd/httpd/branches/2.4.x/docs/manual/rewrite/access.xml.fr
URL: http://svn.apache.org/viewvc/httpd/httpd/branches/2.4.x/docs/manual/rewrite/access.xml.fr?rev=1339634&r1=1339633&r2=1339634&view=diff
==============================================================================
--- httpd/httpd/branches/2.4.x/docs/manual/rewrite/access.xml.fr (original)
+++ httpd/httpd/branches/2.4.x/docs/manual/rewrite/access.xml.fr Thu May 17 15:13:36 2012
@@ -1,10 +1,11 @@
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE manualpage SYSTEM "../style/manualpage.dtd">
<?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?>
-<!-- English Revision: 1174747:1335963 (outdated) -->
+<!-- English Revision: 1335963 -->
<!-- French translation : Lucien GENTIS -->
<!-- Reviewed by : Vincent Deffontaines -->

+
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
@@ -87,30 +88,30 @@ correspondance</a></seealso>

<!-- TODO: Add discussion here of why we have !^$ in there. -->

-<example>
-RewriteCond %{HTTP_REFERER} <strong>!^$</strong><br />
-RewriteCond %{HTTP_REFERER} !www.example.com [NC]<br />
-RewriteRule <strong>\.(gif|jpg|png)$</strong> - [F,NC]
-</example>
+<highlight language="config">
+RewriteCond %{HTTP_REFERER} !^$
+RewriteCond %{HTTP_REFERER} !www.example.com [NC]
+RewriteRule \.(gif|jpg|png)$ - [F,NC]
+</highlight>

<p>Dans le second exemple, plut&ocirc;t que de rejeter la requ&ecirc;te,
nous affichons une autre image &agrave; la place.</p>

-<example>
-RewriteCond %{HTTP_REFERER} <strong>!^$</strong><br />
-RewriteCond %{HTTP_REFERER} !www.example.com [NC]<br />
-RewriteRule <strong>\.(gif|jpg|png)$</strong> /images/go-away.png [R,NC]
-</example>
+<highlight language="config">
+RewriteCond %{HTTP_REFERER} !^$
+RewriteCond %{HTTP_REFERER} !www.example.com [NC]
+RewriteRule \.(gif|jpg|png)$ /images/go-away.png [R,NC]
+</highlight>

<p>Dans le troisi&egrave;me exemple, nous redirigeons la requ&ecirc;te vers
une image appartenant &agrave; un autre site.</p>

+<highlight language="config">
+RewriteCond %{HTTP_REFERER} !^$
+RewriteCond %{HTTP_REFERER} !www.example.com [NC]
+RewriteRule \.(gif|jpg|png)$ http://other.example.com/image.gif [R,NC]
+</highlight>

-<example>
-RewriteCond %{HTTP_REFERER} <strong>!^$</strong><br />
-RewriteCond %{HTTP_REFERER} !www.example.com [NC]<br />
-RewriteRule <strong>\.(gif|jpg|png)$</strong> http://other.example.com/image.gif [R,NC]
-</example>
<p>De tous ces exemples, les deux derniers semblent les plus
efficaces pour faire en sorte que les gens arr&ecirc;tent de
r&eacute;f&eacute;rencer vos images &agrave; chaud, car il ne verront pas les images
@@ -125,14 +126,12 @@ RewriteRule <strong>\.(gif|jpg|png)$</st
simplement interdire l'acc&egrave;s &agrave; la ressource, vous pouvez y
parvenir sans utiliser mod_rewrite :</p>

- <example>
- SetEnvIf Referer exemple\.com localreferer<br />
- &lt;FilesMatch \.(jpg|png|gif)$&gt;<br />
- Order deny,allow<br />
- Deny from all<br />
- Allow from env=localreferer<br />
- &lt;/FilesMatch&gt;
- </example>
+ <highlight language="config">
+SetEnvIf Referer example\.com localreferer
+&lt;FilesMatch \.(jpg|png|gif)$&gt;
+ Require env localreferer
+&lt;/FilesMatch&gt;
+ </highlight>
</dd>
</dl>

@@ -161,8 +160,7 @@ RewriteRule <strong>\.(gif|jpg|png)$</st
<p>Notez qu'il existe des m&eacute;thodes d'exclusion qui n'utilisent
pas mod_rewrite. Notez aussi que toute technique qui repose sur
le contenu de la cha&icirc;ne client <code>USER_AGENT</code> peut &ecirc;tre
- contourn&eacute;e tr&egrave;s facilement car cette cha&icirc;ne de caract&egrave;res peut
- &ecirc;tre modifi&eacute;e.</p>
+ contourn&eacute;e tr&egrave;s facilement car cette cha&icirc;ne peut &ecirc;tre modifi&eacute;e.</p>
</dd>

<dt>Solution :</dt>
@@ -170,7 +168,7 @@ RewriteRule <strong>\.(gif|jpg|png)$</st
<dd>
<p>On utilise un jeu de r&egrave;gles qui sp&eacute;cifie le r&eacute;pertoire &agrave;
prot&eacute;ger, ainsi que la cha&icirc;ne client <code>USER_AGENT</code> qui
- identifie le robot ind&eacute;sirable ou envahissant.</p>
+ identifie le robot malin ou envahissant.</p>

<p>Dans cet exemple, nous bloquons un robot nomm&eacute;
<code>Vilain_Robot</code> pour le r&eacute;pertoire
@@ -178,11 +176,11 @@ RewriteRule <strong>\.(gif|jpg|png)$</st
seulement depuis une source particuli&egrave;re, vous pouvez aussi
sp&eacute;cifier un intervalle d'adresses IP.</p>

-<example>
-RewriteCond %{HTTP_USER_AGENT} ^<strong>Vilain_Robot</strong><br />
-RewriteCond %{REMOTE_ADDR} =<strong>123\.45\.67\.[8-9]</strong><br />
-RewriteRule ^<strong>/secret/fichiers/</strong> - [<strong>F</strong>]
-</example>
+<highlight language="config">
+RewriteCond %{HTTP_USER_AGENT} ^NameOfBadRobot
+RewriteCond %{REMOTE_ADDR} =123\.45\.67\.[8-9]
+RewriteRule ^/secret/files/ - [F]
+</highlight>
</dd>

<dt>Discussion :</dt>
@@ -192,14 +190,15 @@ RewriteRule ^<strong>/secret/fichiers/</
Vous pouvez cependant parvenir au m&ecirc;me r&eacute;sultat sans utiliser
mod_rewrite via la m&eacute;thode alternative suivante :
</p>
- <example>
- SetEnvIfNoCase User-Agent ^Vilain_Robot interdit<br />
- &lt;Location /secret/fichiers&gt;<br />
- Order allow,deny<br />
- Allow from all<br />
- Deny from env=interdit<br />
- &lt;/Location&gt;
- </example>
+ <highlight language="config">
+SetEnvIfNoCase User-Agent ^NameOfBadRobot goaway
+&lt;Location /secret/files&gt;
+ &lt;RequireAll&gt;
+ Require all granted
+ Require not env goaway
+ &lt;/RequireAll&gt;
+&lt;/Location&gt;
+ </highlight>
<p>
Comme indiqu&eacute; plus haut, il est ais&eacute; de contourner cette
technique, simplement en modifiant le contenu de l'en-t&ecirc;te
@@ -230,13 +229,13 @@ RewriteRule ^<strong>/secret/fichiers/</
<dt>Solution :</dt>

<dd>
-<example>
-RewriteEngine on<br />
-RewriteMap hosts-deny txt:/chemin/vers/hosts.deny<br />
-RewriteCond ${hosts-deny:%{REMOTE_ADDR}|NOT-FOUND} !=NOT-FOUND [OR]<br />
-RewriteCond ${hosts-deny:%{REMOTE_HOST}|NOT-FOUND} !=NOT-FOUND<br />
+<highlight language="config">
+RewriteEngine on
+RewriteMap hosts-deny txt:/path/to/hosts.deny
+RewriteCond ${hosts-deny:%{REMOTE_ADDR}|NOT-FOUND} !=NOT-FOUND [OR]
+RewriteCond ${hosts-deny:%{REMOTE_HOST}|NOT-FOUND} !=NOT-FOUND
RewriteRule ^ - [F]
-</example>
+</highlight>

<example>
##<br />
@@ -286,24 +285,24 @@ bsdti1.sdm.de -<br />
<p>Le jeu de r&egrave;gles suivant utilise un fichier de correspondances pour
associer chaque Referer &agrave; une cible de redirection.</p>

-<example>
-RewriteMap deflector txt:/chemin/vers/deflector.map<br />
-<br />
-RewriteCond %{HTTP_REFERER} !=""<br />
-RewriteCond ${deflector:%{HTTP_REFERER}} =-<br />
-RewriteRule ^ %{HTTP_REFERER} [R,L]<br />
-<br />
-RewriteCond %{HTTP_REFERER} !=""<br />
-RewriteCond ${deflector:%{HTTP_REFERER}|NOT-FOUND} !=NOT-FOUND<br />
+<highlight language="config">
+RewriteMap deflector txt:/path/to/deflector.map
+
+RewriteCond %{HTTP_REFERER} !=""
+RewriteCond ${deflector:%{HTTP_REFERER}} =-
+RewriteRule ^ %{HTTP_REFERER} [R,L]
+
+RewriteCond %{HTTP_REFERER} !=""
+RewriteCond ${deflector:%{HTTP_REFERER}|NOT-FOUND} !=NOT-FOUND
RewriteRule ^ ${deflector:%{HTTP_REFERER}} [R,L]
-</example>
+</highlight>

<p>Le fichier de correspondances contient les cibles de
redirection associ&eacute;es &agrave; chaque Referer, ou, si nous voulons
simplement rediriger les requ&ecirc;tes vers leur Referer, un "-" est
inscrit dans le fichier de correspondances :</p>

-<example>
+<highlight language="config">
##<br />
## deflector.map<br />
##<br />
@@ -311,7 +310,7 @@ RewriteRule ^ ${deflector:%{HTTP_REFERER
http://www.mauvais-gars.example.com/mauvais/index.html -<br />
http://www.mauvais-gars.example.com/mauvais/index2.html -<br />
http://www.mauvais-gars.example.com/mauvais/index3.html http://quelque-part.example.com/
-</example>
+</highlight>

</dd>
</dl>

Modified: httpd/httpd/branches/2.4.x/docs/manual/rewrite/advanced.xml.fr
URL: http://svn.apache.org/viewvc/httpd/httpd/branches/2.4.x/docs/manual/rewrite/advanced.xml.fr?rev=1339634&r1=1339633&r2=1339634&view=diff
==============================================================================
--- httpd/httpd/branches/2.4.x/docs/manual/rewrite/advanced.xml.fr (original)
+++ httpd/httpd/branches/2.4.x/docs/manual/rewrite/advanced.xml.fr Thu May 17 15:13:36 2012
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE manualpage SYSTEM "../style/manualpage.dtd">
<?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?>
-<!-- English Revision: 1174747:1338147 (outdated) -->
+<!-- English Revision: 1338147 -->
<!-- French translation : Lucien GENTIS -->
<!-- Reviewed by : Vincent Deffontaines -->

@@ -25,7 +25,7 @@
<manualpage metafile="avoid.xml.meta">
<parentdocument href="./">Rewrite</parentdocument>

-<title>Techniques avanc&eacute;es de r&eacute;&eacute;criture avec mod_rewrite</title>
+<title>Advanced Techniques with mod_rewrite</title>

<summary>

@@ -102,14 +102,11 @@ http://serveur_physique_utilisateur1/u/u
serveur par d&eacute;faut qui sera utilis&eacute; lorsqu'un utilisateur ne
poss&egrave;dera pas d'entr&eacute;e dans la table de correspondances :</p>

-<example>
-RewriteEngine on<br />
-<br />
-RewriteMap utilisateurs-serveurs
-txt:/chemin/vers/correspondances-utilisateurs-serveurs<br />
-<br />
-RewriteRule ^/u/<strong>([^/]+)</strong>/?(.*) http://<strong>${utilisateurs-serveurs:$1|server0}</strong>/u/$1/$2
-</example>
+<highlight language="config">
+RewriteEngine on
+RewriteMap users-to-hosts txt:/path/to/map.users-to-hosts
+RewriteRule ^/u/([^/]+)/?(.*) http://${users-to-hosts:$1|server0}/u/$1/$2
+</highlight>
</dd>
</dl>

@@ -138,13 +135,13 @@ RewriteRule ^/u/<strong>([^/]+)</stron
<dt>Solution :</dt>

<dd>
- &Agrave; cet effet, on utilise le jeu de r&egrave;gles suivant :
+ A cet effet, on utilise le jeu de r&egrave;gles suivant :

-<example>
-# Cet exemple n'est valable que dans un contexte de r&eacute;pertoire<br />
-RewriteCond %{REQUEST_URI} <strong>!-U</strong><br />
+<highlight language="config">
+# Cet exemple n'est valable que dans un contexte de r&eacute;pertoire
+RewriteCond %{REQUEST_URI} !-U
RewriteRule ^(.+)\.html$ /regenerate_page.cgi [PT,L]
-</example>
+</highlight>

<p>L'op&eacute;rateur <code>-U</code> permet de d&eacute;terminer si la cha&icirc;ne
de test (dans ce cas <code>REQUEST_URI</code>) est une URL valide.
@@ -185,12 +182,11 @@ RewriteRule ^(.+)\.html$ /regen
module="mod_rewrite">RewriteMap</directive> et une liste de
serveurs.</p>

-<example>
-RewriteEngine on<br />
-RewriteMap lb rnd:/chemin/vers/liste-serveurs.txt<br />
-<br />
+<highlight language="config">
+RewriteEngine on
+RewriteMap lb rnd:/path/to/serverlist.txt
RewriteRule ^/(.*) http://${lb:serveurs}/$1 [P,L]
-</example>
+</highlight>

<p><code>liste-serveurs.txt</code> contiendra la liste des serveurs :</p>

@@ -248,9 +244,9 @@ plus de fonctionnalit&eacute;s dans ce d
actualis&eacute;e chaque fois que la ressource est mise &agrave; jour dans
le syst&egrave;me de fichiers.</p>

-<example>
+<highlight language="config">
RewriteRule ^(/[uge]/[^/]+/?.*):refresh /interne/cgi/apache/nph-refresh?f=$
-</example>
+</highlight>

<p>Nous appelons maintenant cette URL</p>

@@ -268,7 +264,7 @@ RewriteRule ^(/[uge]/[^/]+/?.*):refres
&eacute;crive habituellement dans ces cas "laiss&eacute; &agrave; la charge du
lecteur &agrave; titre d'exercice", ;-) je vous l'offre, aussi.</p>

-<example><pre>
+<highlight language="perl">
#!/sw/bin/perl
##
## nph-refresh -- script NPH/CGI pour l'actualisation automatique de
@@ -278,61 +274,61 @@ RewriteRule ^(/[uge]/[^/]+/?.*):refres
$| = 1;

# &eacute;clate la variable QUERY_STRING
- [at] pair = split(/&amp;/, $ENV{'QUERY_STRING'});
+@pairs = split( /&amp;/, $ENV{'QUERY_STRING'} );
foreach $pair (@pairs) {
-($name, $value) = split(/=/, $pair);
-$name =~ tr/A-Z/a-z/;
-$name = 'QS_' . $name;
-$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
-eval "\$$name = \"$value\"";
-}
-$QS_s = 1 if ($QS_s eq '');
-$QS_n = 3600 if ($QS_n eq '');
-if ($QS_f eq '') {
-print "HTTP/1.0 200 OK\n";
-print "Content-type: text/html\n\n";
-print "&amp;lt;b&amp;gt;ERREUR&amp;lt;/b&amp;gt;: Aucun fichier fourni\n";
-exit(0);
-}
-if (! -f $QS_f) {
-print "HTTP/1.0 200 OK\n";
-print "Content-type: text/html\n\n";
-print "&amp;lt;b&amp;gt;ERREUR&amp;lt;/b&amp;gt;: Fichier $QS_f non trouv&eacute;\n";
-exit(0);
+ ( $name, $value ) = split( /=/, $pair );
+ $name =~ tr/A-Z/a-z/;
+ $name = 'QS_' . $name;
+ $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
+ eval "\$$name = \"$value\"";
+}
+$QS_s = 1 if ( $QS_s eq '' );
+$QS_n = 3600 if ( $QS_n eq '' );
+if ( $QS_f eq '' ) {
+ print "HTTP/1.0 200 OK\n";
+ print "Content-type: text/html\n\n";
+ print "&lt;b&gt;ERROR&lt;/b&gt;: No file given\n";
+ exit(0);
+}
+if ( !-f $QS_f ) {
+ print "HTTP/1.0 200 OK\n";
+ print "Content-type: text/html\n\n";
+ print "&lt;b&gt;ERROR&lt;/b&gt;: File $QS_f not found\n";
+ exit(0);
}

sub print_http_headers_multipart_begin {
-print "HTTP/1.0 200 OK\n";
-$bound = "ThisRandomString12345";
-print "Content-type: multipart/x-mixed-replace;boundary=$bound\n";
-&amp;print_http_headers_multipart_next;
+ print "HTTP/1.0 200 OK\n";
+ $bound = "ThisRandomString12345";
+ print "Content-type: multipart/x-mixed-replace;boundary=$bound\n";
+ &amp;print_http_headers_multipart_next;
}

sub print_http_headers_multipart_next {
-print "\n--$bound\n";
+ print "\n--$bound\n";
}

sub print_http_headers_multipart_end {
-print "\n--$bound--\n";
+ print "\n--$bound--\n";
}

sub displayhtml {
-local($buffer) = @_;
-$len = length($buffer);
-print "Content-type: text/html\n";
-print "Content-length: $len\n\n";
-print $buffer;
+ local ($buffer) = @_;
+ $len = length($buffer);
+ print "Content-type: text/html\n";
+ print "Content-length: $len\n\n";
+ print $buffer;
}

sub readfile {
-local($file) = @_;
-local(*FP, $size, $buffer, $bytes);
-($x, $x, $x, $x, $x, $x, $x, $size) = stat($file);
-$size = sprintf("%d", $size);
-open(FP, "&amp;lt;$file");
-$bytes = sysread(FP, $buffer, $size);
-close(FP);
-return $buffer;
+ local ($file) = @_;
+ local ( *FP, $size, $buffer, $bytes );
+ ( $x, $x, $x, $x, $x, $x, $x, $size ) = stat($file);
+ $size = sprintf( "%d", $size );
+ open( FP, "&lt;$file" );
+ $bytes = sysread( FP, $buffer, $size );
+ close(FP);
+ return $buffer;
}

$buffer = &amp;readfile($QS_f);
@@ -340,30 +336,30 @@ $buffer = &amp;readfile($QS_f);
&amp;displayhtml($buffer);

sub mystat {
-local($file) = $_[0];
-local($time);
+ local ($file) = $_[0];
+ local ($time);

-($x, $x, $x, $x, $x, $x, $x, $x, $x, $mtime) = stat($file);
-return $mtime;
+ ( $x, $x, $x, $x, $x, $x, $x, $x, $x, $mtime ) = stat($file);
+ return $mtime;
}

$mtimeL = &amp;mystat($QS_f);
-$mtime = $mtime;
-for ($n = 0; $n &amp;lt; $QS_n; $n++) {
-while (1) {
- $mtime = &amp;mystat($QS_f);
- if ($mtime ne $mtimeL) {
- $mtimeL = $mtime;
- sleep(2);
- $buffer = &amp;readfile($QS_f);
- &amp;print_http_headers_multipart_next;
- &amp;displayhtml($buffer);
- sleep(5);
- $mtimeL = &amp;mystat($QS_f);
- last;
+$mtime = $mtime;
+for ( $n = 0 ; $n &amp; lt ; $QS_n ; $n++ ) {
+ while (1) {
+ $mtime = &amp;mystat($QS_f);
+ if ( $mtime ne $mtimeL ) {
+ $mtimeL = $mtime;
+ sleep(2);
+ $buffer = &amp;readfile($QS_f);
+ &amp;print_http_headers_multipart_next;
+ &amp;displayhtml($buffer);
+ sleep(5);
+ $mtimeL = &amp;mystat($QS_f);
+ last;
+ }
+ sleep($QS_s);
}
- sleep($QS_s);
-}
}

&amp;print_http_headers_multipart_end;
@@ -371,7 +367,7 @@ while (1) {
exit(0);

##EOF##
-</pre></example>
+</highlight>
</dd>
</dl>

@@ -402,10 +398,10 @@ exit(0);
<p>On utilise le jeu de r&egrave;gles suivant pour d&eacute;velopper les
URLs avec tilde selon l'organisation structur&eacute;e pr&eacute;c&eacute;dente.</p>

-<example>
-RewriteEngine on<br />
+<highlight language="config">
+RewriteEngine on
RewriteRule ^/~(<strong>([a-z])</strong>[a-z0-9]+)(.*) /home/<strong>$2</strong>/$1/public_html$3
-</example>
+</highlight>
</dd>
</dl>

@@ -464,13 +460,12 @@ RewriteRule ^/~(<strong>([a-z])</stron
permettent d'effectuer des redirections d&eacute;pendant de
l'heure :</p>

-<example>
-RewriteEngine on<br />
-RewriteCond %{TIME_HOUR}%{TIME_MIN} &gt;0700<br />
-RewriteCond %{TIME_HOUR}%{TIME_MIN} &lt;1900<br />
-RewriteRule ^foo\.html$ foo.jour.html [L]<br />
-RewriteRule ^foo\.html$ foo.nuit.html
-</example>
+<highlight language="config">
++RewriteEngine on
++RewriteCond %{TIME_HOUR}%{TIME_MIN} &gt;0700
++RewriteCond %{TIME_HOUR}%{TIME_MIN} &lt;1900
++RewriteRule ^foo\.html$ foo.day.html [L]
+</highlight>

<p>Avec cet exemple, l'URL <code>foo.html</code> renvoie
le contenu de <code>foo.jour.html</code> durant le
@@ -483,7 +478,8 @@ RewriteRule ^foo\.html$ fo
la fen&ecirc;tre de temps configur&eacute;e. On peut utiliser
<module>mod_expires</module> pour contourner ce probl&egrave;me. Il est
cependant bien plus commode de servir un contenu dynamique, et
- de le personnaliser en fonction de l'heure du jour.</note> </dd>
+ de le personnaliser en fonction de l'heure du jour.</note>
+ </dd>
</dl>

</section>
@@ -511,18 +507,18 @@ RewriteRule ^foo\.html$ fo
<p>Utiliser le drapeau [E] pour d&eacute;finir une variable
d'environnement.</p>

-<example>
-RewriteEngine on<br />
+<highlight language="config">
+RewriteEngine on
RewriteRule ^/cheval/(.*) /poney/$1 [E=<strong>rewritten:1</strong>]
-</example>
+</highlight>

<p>Plus loin dans votre jeu de r&egrave;gles, vous pouvez v&eacute;rifier le
contenu de cette variable d'environnement via une directive
RewriteCond :</p>

-<example>
+<highlight language="config">
RewriteCond %{ENV:rewritten} =1
-</example>
+</highlight>

</dd>
</dl>

Modified: httpd/httpd/branches/2.4.x/docs/manual/rewrite/avoid.xml.fr
URL: http://svn.apache.org/viewvc/httpd/httpd/branches/2.4.x/docs/manual/rewrite/avoid.xml.fr?rev=1339634&r1=1339633&r2=1339634&view=diff
==============================================================================
--- httpd/httpd/branches/2.4.x/docs/manual/rewrite/avoid.xml.fr (original)
+++ httpd/httpd/branches/2.4.x/docs/manual/rewrite/avoid.xml.fr Thu May 17 15:13:36 2012
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE manualpage SYSTEM "../style/manualpage.dtd">
<?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?>
-<!-- English Revision: 1328305:1333985 (outdated) -->
+<!-- English Revision : 1333985 -->
<!-- French translation : Lucien GENTIS -->
<!-- Reviewed by : Vincent Deffontaines -->

@@ -99,25 +99,22 @@ rediriger toutes les URLs de niveaux inf
<p>Pour rediriger les URLs sous <code>/un</code> vers
<code>http://un.example.com/</code>, utilisez cette d&eacute;finition :</p>

-<example>
-Redirect /un/ http://un.example.com/
-</example>
+<highlight language="config">Redirect /one/ http://one.example.com/</highlight>

<p>Pour rediriger les URLs <code>http</code> vers <code>https</code>,
utilisez cette d&eacute;finition :</p>

-<example>
+<highlight language="config">
&lt;VirtualHost *:80&gt;
-ServerName www.example.com<br />
-Redirect / https://www.example.com/<br />
+ServerName www.example.com
+Redirect / https://www.example.com/
&lt;/VirtualHost &gt;
-<br />
+
&lt;VirtualHost *:443&gt;
-ServerName www.example.com<br />
-<br />
-# ... ins&eacute;rer ici la configuration SSL<br />
+ServerName www.example.com
+# ... ins&eacute;rer ici la configuration SSL
&lt;/VirtualHost &gt;
-</example>
+</highlight>

<p>L'utilisation de la directive <code>RewriteRule</code> pour accomplir
cette t&acirc;che peut se justifier s'il existe d'autres directives
@@ -144,7 +141,8 @@ possible d'effectuer cette mise en corre
<code>Alias</code> pour des raisons de simplicit&eacute; et de performances.</p>

<example><title>Utilisation de la directive Alias</title>
-Alias /chats /var/www/virtualhosts/felin/htdocs
+<highlight language="config">Alias /cats
+/var/www/virtualhosts/felines/htdocs</highlight>
</example>

<p>
@@ -176,7 +174,7 @@ cr&eacute;er un grand nombre de serveurs
<p>L'utilisation de <module>mod_rewrite</module> pour la cr&eacute;ation de
serveurs virtuels peut se r&eacute;v&eacute;ler appropri&eacute;e si votre service
d'h&eacute;bergement ne vous permet pas d'acc&eacute;der aux fichiers de configuration
-du serveur, et que vous vous trouvez par cons&eacute;quent oblig&eacute; de passer par les
+du serveur, et que vous soyez par cons&eacute;quent oblig&eacute; de passer par les
fichiers <code>.htaccess</code>.</p>

<p>Voir le document <a href="vhosts.html">cr&eacute;ation de serveurs virtuels
@@ -191,9 +189,9 @@ cela semble &ecirc;tre tout de m&ecirc;m
href="flags.html#flag_p">[P]</a> qui permet de faire passer les URIs
r&eacute;&eacute;crits par <module>mod_proxy</module>.</p>

-<example>
+<highlight language="config">
RewriteRule ^/?images(.*) http://serveur-images.local/images$1 [P]
-</example>
+</highlight>

<p>Cependant, dans les nombreux cas o&ugrave; aucune correspondance au mod&egrave;le
n'est vraiment n&eacute;cessaire, comme dans l'exemple ci-dessus, il est
@@ -201,9 +199,9 @@ pr&eacute;f&eacute;rable d'utiliser la d
module="mod_proxy">ProxyPass</directive>. L'exemple pr&eacute;c&eacute;dent pourrait
&ecirc;tre remplac&eacute; par :</p>

-<example>
+<highlight language="config">
ProxyPass /images/ http://serveur-images.local/images/
-</example>
+</highlight>

<p>Que vous utilisiez <directive
module="mod_rewrite">RewriteRule</directive> ou <directive
@@ -212,9 +210,9 @@ utiliser aussi la directive <directive
module="mod_proxy">ProxyPassReverse</directive> pour intercepter les
redirections en provenance du serveur d'arri&egrave;re-plan :</p>

-<example>
+<highlight language="config">
ProxyPassReverse /images/ http://serveur-images.local/images/
-</example>
+</highlight>

<p>Vous devrez cependant tout de m&ecirc;me utiliser <code>RewriteRule</code>
lorsque d'autres <code>RewriteRule</code>s se trouvent dans la m&ecirc;me port&eacute;e,
@@ -238,14 +236,14 @@ d'h&ocirc;te canonique, tel que <code>ww
directive <directive module="core" type="section">If</directive> comme
suit :</p>

-<example>
-&lt;If "$req{Host} != 'www.example.com'"&gt;<br />
-RedirectMatch (.*) http://www.example.com$1<br />
+<highlight language="config">
+&lt;If "req('Host') != 'www.example.com'"&gt;
+ Redirect / http://www.example.com
&lt;/If&gt;
-</example>
+</highlight>

-<p>On peut utiliser cette technique dans de nombreux sc&eacute;narios courants
-en remplacement de <module>mod_rewrite</module> pour effectuer des actions
+<p>On peut utiliser cette technique dans de nombreux sc&eacute;narios courant
+pour remplacer <module>mod_rewrite</module> pour effectuer des actions
en fonction d'en-t&ecirc;tes de requ&ecirc;tes ou de r&eacute;ponses, ou de variables
d'environnement.</p>


Modified: httpd/httpd/branches/2.4.x/docs/manual/rewrite/flags.xml.fr
URL: http://svn.apache.org/viewvc/httpd/httpd/branches/2.4.x/docs/manual/rewrite/flags.xml.fr?rev=1339634&r1=1339633&r2=1339634&view=diff
==============================================================================
--- httpd/httpd/branches/2.4.x/docs/manual/rewrite/flags.xml.fr (original)
+++ httpd/httpd/branches/2.4.x/docs/manual/rewrite/flags.xml.fr Thu May 17 15:13:36 2012
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE manualpage SYSTEM "../style/manualpage.dtd">
<?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?>
-<!-- English Revision: 1311806:1333985 (outdated) -->
+<!-- English Revision : 1333985 -->
<!-- French translation : Lucien GENTIS -->
<!-- Reviewed by : Vincent Deffontaines -->

@@ -49,9 +49,7 @@ correspondance</a></seealso>
module="mod_rewrite">RewriteRule</directive> peut &ecirc;tre modifi&eacute; par un ou
plusieurs drapeaux. Les drapeaux sont situ&eacute;s en fin de r&egrave;gle, entour&eacute;s
de crochets, et s&eacute;par&eacute;s le cas &eacute;ch&eacute;ant par des virgules.</p>
-<example>
-RewriteRule mod&egrave;le cible [drapeau1,drapeau2,drapeau3]
-</example>
+<highlight language="config">RewriteRule pattern target [Flag1,Flag2,Flag3]</highlight>

<p>Les drapeaux ont tous une forme courte, comme <code>CO</code>, ainsi
qu'une forme longue, comme <code>cookie</code>. Certains drapeaux
@@ -86,9 +84,7 @@ ces derni&egrave;res sont appliqu&eacute
non-alphanum&eacute;riques des r&eacute;f&eacute;rences arri&egrave;res seront &eacute;chapp&eacute;s. Consid&eacute;rons
par exemple cette r&egrave;gle :</p>

-<example>
-RewriteRule ^search/(.*)$ /search.php?term=$1
-</example>
+<highlight language="config">RewriteRule ^search/(.*)$ /search.php?term=$1</highlight>

<p>Soit le terme de recherche 'x &amp; y/z' ; un navigateur va le coder
en 'x%20%26%20y%2Fz', transformant la requ&ecirc;te en
@@ -182,10 +178,10 @@ fonctionnalit&eacute;.</dd>

<p>Voici un exemple :</p>

-<example>
-RewriteEngine On<br />
+<highlight language="config">
+RewriteEngine On
RewriteRule ^/index\.html - [CO=frontdoor:yes:.example.org:1440:/]
-</example>
+</highlight>

<p>Dans l'exemple ci-dessus, la r&egrave;gle ne r&eacute;&eacute;crit
pas la requ&ecirc;te. La cible de r&eacute;&eacute;criture "-"
@@ -302,9 +298,7 @@ Forbidden.</p>
<p>La r&egrave;gle suivante va interdire la t&eacute;l&eacute;chargement de fichiers
<code>.exe</code> depuis votre serveur.</p>

-<example>
-RewriteRule \.exe - [F]
-</example>
+<highlight language="config">RewriteRule \.exe - [F]</highlight>

<p>Cet exemple utilise la syntaxe "-" pour la cible de r&eacute;&eacute;criture, ce
qui signifie que l'URI de la requ&ecirc;te n'est pas modifi&eacute;. Il n'y a aucune
@@ -324,9 +318,7 @@ disponible auparavant ne l'est plus actu
<p>Comme dans le cas du drapeau [F], on utilise en g&eacute;n&eacute;ral la syntaxe
"-" pour la cible de r&eacute;&eacute;criture lorsqu'on utilise le drapeau [G] :</p>

-<example>
-RewriteRule ancienne-ressource - [G,NC]
-</example>
+<highlight language="config">RewriteRule oldproduct - [G,NC]</highlight>

<p>Lorsqu'on utilise [G], [L] est implicite - c'est &agrave; dire que la
r&eacute;ponse est renvoy&eacute;e imm&eacute;diatement, et aucune autre r&egrave;gle n'est &eacute;valu&eacute;e.</p>
@@ -339,9 +331,8 @@ sp&eacute;cifi&eacute;. Par exemple, on
l'interpr&eacute;tation de tous les fichiers sans extension par le gestionnaire
php :</p>

-<example>
-RewriteRule !\. - [H=application/x-httpd-php]
-</example>
+<highlight language="config">RewriteRule !\. -
+[H=application/x-httpd-php]</highlight>

<p>
L'expression rationnelle ci-dessus - <code>!\.</code> - correspond &agrave;
@@ -354,9 +345,9 @@ faire en sorte que les fichiers <code>.p
<em>affich&eacute;s</em> par <code>mod_php</code> dans le cas o&ugrave; ils font
l'objet d'une requ&ecirc;te avec l'extension <code>.phps</code> :</p>

-<example>
+<highlight language="config">
RewriteRule ^(/source/.+\.php)s$ $1 [H=application/x-httpd-php-source]
-</example>
+</highlight>


<p>L'expression rationnelle ci-dessus -
@@ -415,11 +406,11 @@ module="mod_rewrite">RewriteCond</direct
la requ&ecirc;te concerne d&eacute;j&agrave; <code>index.php</code>, la directive <directive
module="mod_rewrite">RewriteRule</directive> sera saut&eacute;e.</p>

-<example>
-RewriteBase /<br />
-RewriteCond %{REQUEST_URI} !=/index.php<br />
+<highlight language="config">
+RewriteBase /
+RewriteCond %{REQUEST_URI} !=/index.php
RewriteRule ^(.*) /index.php?req=$1 [L,PT]
-</example>
+</highlight>
</section>

<section id="flag_n"><title>N|next</title>
@@ -436,9 +427,7 @@ suivant, chaque occurence de A sera remp
ceci jusqu'il n'y ait plus de A &agrave; remplacer.
</p>

-<example>
-RewriteRule (.*)A(.*) $1B$2 [N]
-</example>
+<highlight language="config">RewriteRule (.*)A(.*) $1B$2 [N]</highlight>

<p>Vous pouvez vous repr&eacute;senter ce traitement comme une boucle
<code>while</code> : tant que le mod&egrave;le de la r&egrave;gle correspond (c'est &agrave;
@@ -460,9 +449,7 @@ transmise par Apache &agrave; votre serv
insensible &agrave; la casse, si bien que par exemple, <code>.jpg</code> aussi
bien que <code>.JPG</code> seront accept&eacute;s.</p>

-<example>
-RewriteRule (.*\.(jpg|gif|png))$ http://images.example.com$1 [P,NC]
-</example>
+<highlight language="config">RewriteRule (.*\.(jpg|gif|png))$ http://images.example.com$1 [P,NC]</highlight>
</section>

<section id="flag_ne"><title>NE|noescape</title>
@@ -471,9 +458,7 @@ RewriteRule (.*\.(jpg|gif|png))$ http://
hexad&eacute;cimal. Le drapeau [NE] permet d'&eacute;viter cette conversion.
</p>

-<example>
-RewriteRule ^/ancre/(.+) /grosse-page.html#$1 [NE,R]
-</example>
+<highlight language="config">RewriteRule ^/anchor/(.+) /bigpage.html#$1 [NE,R]</highlight>

<p>
Dans l'exemple ci-dessus, <code>/anchor/xyz</code> est r&eacute;&eacute;crit en
@@ -518,9 +503,7 @@ mandataire. Par exemple, si vous voulez
soient trait&eacute;es par un serveur d'images annexe, vous pouvez utiliser
une r&egrave;gle de ce style :</p>

-<example>
-RewriteRule /(.*)\.(jpg|gif|png) http://images.example.com/$1.$2 [P]
-</example>
+<highlight language="config">RewriteRule /(.*)\.(jpg|gif|png)$ http://images.example.com/$1.$2 [P]</highlight>

<p>L'utilisation du drapeau [P] provoque aussi l'effet du drapeau [L] -
autrement dit, la requ&ecirc;te est imm&eacute;diatement envoy&eacute;e au mandataire, et
@@ -576,10 +559,10 @@ vous devez utiliser le drapeau [PT] pour
module="mod_alias">Alias</directive> sera bien &eacute;valu&eacute;.
</p>

-<example>
-Alias /icons /usr/local/apache/icons<br />
-RewriteRule /pics/(.+)\.jpg /icons/$1.gif [PT]
-</example>
+<highlight language="config">
+Alias /icons /usr/local/apache/icons
+RewriteRule /pics/(.+)\.jpg$ /icons/$1.gif [PT]
+</highlight>

<p>
Dans l'exemple pr&eacute;c&eacute;dent, en l'absence du drapeau [PT], l'Alias aurait
@@ -611,9 +594,8 @@ Avec le drapeau [QSA], les cha&icirc;nes

<p>Consid&eacute;rons la r&egrave;gle suivante :</p>

-<example>
-RewriteRule /pages/(.+) /page.php?page=$1 [QSA]
-</example>
+<highlight language="config">RewriteRule /pages/(.+) /page.php?page=$1
+[QSA]</highlight>

<p>Avec le drapeau [QSA], une requ&ecirc;te pour
<code>/pages/123?one=two</code> sera r&eacute;&eacute;crite en
@@ -694,17 +676,18 @@ Ceci peut s'interpr&eacute;ter comme une
l'exemple suivant, nous ne voulons ex&eacute;cuter la r&egrave;gle <directive
module="mod_rewrite">RewriteRule</directive> que si l'URI demand&eacute; ne
correspond pas &agrave; un fichier existant.</p>
+<highlight language="config">
+# La requ&ecirc;te concerne-t-elle un fichier qui n'existe pas ?
+RewriteCond %{REQUEST_FILENAME} !-f
+RewriteCond %{REQUEST_FILENAME} !-d
+# Si c'est la cas, on saute les deux r&egrave;gles de r&eacute;&eacute;criture suivantes
+RewriteRule .? - [S=2]

-<example>
-# La requ&ecirc;te concerne-t-elle un fichier qui n'existe pas ?<br />
-RewriteCond %{REQUEST_FILENAME} !-f<br />
-RewriteCond %{REQUEST_FILENAME} !-d<br />
-# Si c'est la cas, on saute les deux r&egrave;gles de r&eacute;&eacute;criture suivantes<br />
-RewriteRule .? - [S=2]<br />
-<br />
-RewriteRule (.*\.gif) images.php?$1<br />
+RewriteRule (.*\.gif) images.php?$1
RewriteRule (.*\.html) docs.php?$1
-</example>
+</highlight>
+
+

<p>Cette technique trouve son utilit&eacute; dans le fait qu'une directive
<directive module="mod_rewrite">RewriteCond</directive> ne s'applique
@@ -715,27 +698,22 @@ conditions et ajouter une <code>RewriteR
d'&eacute;laborer des pseudo-constructions if-then-else : la derni&egrave;re r&egrave;gle du
bloc then contiendra <code>skip=N</code>, o&ugrave; N est le nombre de r&egrave;gles
contenues dans le bloc else :</p>
-<example>
-# Est-ce que le fichier existe ?<br />
-RewriteCond %{REQUEST_FILENAME} !-f<br />
-RewriteCond %{REQUEST_FILENAME} !-d<br />
-<!-- A traduire pour qui y comprend quelquechose -->
-# Create an if-then-else construct by skipping 3 lines if we meant to go to the &quot;else&quot; stanza.<br />
-RewriteRule .? - [S=3]<br />
-<br />
+<highlight language="config">
+# Est-ce que le fichier existe ?
+RewriteCond %{REQUEST_FILENAME} !-f
+RewriteCond %{REQUEST_FILENAME} !-d
+# Create an if-then-else construct by skipping 3 lines if we meant to go to the &quot;else&quot; stanza.
+RewriteRule .? - [S=3]
+
# Si le fichier existe, alors :
-<indent>
- RewriteRule (.*\.gif) images.php?$1<br />
- RewriteRule (.*\.html) docs.php?$1<br />
- # Skip past the &quot;else&quot; stanza.<br />
- RewriteRule .? - [S=1]<br />
-</indent>
+RewriteRule (.*\.gif) images.php?$1
+ RewriteRule (.*\.html) docs.php?$1
+ # Skip past the &quot;else&quot; stanza.
+ RewriteRule .? - [S=1]
# ELSE...
-<indent>
- RewriteRule (.*) 404.php?file=$1<br />
-</indent>
+RewriteRule (.*) 404.php?file=$1
# END
-</example>
+</highlight>

<p>Il est probablement plus ais&eacute; de d&eacute;finir ce genre de configuration
via les directives <directive type="section">If</directive>, <directive
@@ -753,19 +731,19 @@ module="mod_mime">AddType</directive>.</
du code source Perl en tant que plein texte, s'il est requis d'une
certaine mani&egrave;re :</p>

-<example>
-# Sert les fichier .pl en tant que plein texte<br />
+<highlight language="config">
+# Sert les fichier .pl en tant que plein texte
RewriteRule \.pl$ - [T=text/plain]
-</example>
+</highlight>

<p>Ou encore, si vous poss&eacute;dez une cam&eacute;ra qui produit des fichiers
images jpeg sans extension, vous pouvez forcer le renvoi de ces images
avec le type MIME correct en se basant sur le nom du fichier :</p>

-<example>
-# Les fichiers dont le nom contient 'IMG' sont des images jpg.<br />
+<highlight language="config">
+# Les fichiers dont le nom contient 'IMG' sont des images jpg.
RewriteRule IMG - [T=image/jpg]
-</example>
+</highlight>

<p>Notez cependant qu'il s'agit d'un exemple trivial, et que le probl&egrave;me
aurait pu &ecirc;tre r&eacute;solu en utilisant &agrave; la place la directive <directive

Modified: httpd/httpd/branches/2.4.x/docs/manual/rewrite/intro.xml.fr
URL: http://svn.apache.org/viewvc/httpd/httpd/branches/2.4.x/docs/manual/rewrite/intro.xml.fr?rev=1339634&r1=1339633&r2=1339634&view=diff
==============================================================================
--- httpd/httpd/branches/2.4.x/docs/manual/rewrite/intro.xml.fr (original)
+++ httpd/httpd/branches/2.4.x/docs/manual/rewrite/intro.xml.fr Thu May 17 15:13:36 2012
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE manualpage SYSTEM "../style/manualpage.dtd">
<?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?>
-<!-- English Revision: 1325683:1333985 (outdated) -->
+<!-- English Revision : 1333985 -->
<!-- French translation : Lucien GENTIS -->
<!-- Reviewed by : Vincent Deffontaines -->

@@ -206,12 +206,17 @@ transform&eacute;e;</li>
<li><var>[drapeaux]</var>: options affectant la requ&ecirc;te r&eacute;&eacute;crite.</li>
</ol>

-<p>Le <var>Mod&egrave;le</var> est toujours une <a href="#regex">expression
-rationnelle</a> compar&eacute;e au chemin de l'URL de la requ&ecirc;te entrante (la
+<p>Le <var>Mod&egrave;le</var> est une <a href="#regex">expression
+rationnelle</a>. Au sein de la premi&egrave;re r&egrave;gle de r&eacute;&eacute;criture, ou jusqu'&agrave;
+ce qu'une substitution survienne, elle est compar&eacute;e au chemin de
+l'URL de la requ&ecirc;te entrante (la
partie situ&eacute;e apr&egrave;s le nom d'h&ocirc;te mais avant tout point d'interrogation
qui indique le d&eacute;but d'une cha&icirc;ne de param&egrave;tres de
requ&ecirc;te) ou, dans un contexte de r&eacute;pertoire, au chemin de la
-requ&ecirc;te relativement au r&eacute;pertoire pour lequel la r&egrave;gle est d&eacute;finie..</p>
+requ&ecirc;te relativement au r&eacute;pertoire pour lequel la
+r&egrave;gle est d&eacute;finie. Lorsqu'une substitution a eu lieu, les
+r&egrave;gles suivantes effectuent leurs comparaisons par rapport &agrave; la valeur
+substitu&eacute;e.</p>

<p class="figure">
<img src="../images/syntax_rewriterule.png"
@@ -225,9 +230,9 @@ trois types :</p>
<dl>
<dt>Un chemin complet du syst&egrave;me de fichiers vers une ressource</dt>
<dd>
-<example>
+<highlight language="config">
RewriteRule ^/jeux /usr/local/jeux/web
-</example>
+</highlight>
<p>Ceci peut faire correspondre une requ&ecirc;te &agrave; toute localisation voulue de
votre syst&egrave;me de fichiers, un peu comme la directive <directive
module="mod_alias">Alias</directive>.</p>
@@ -235,9 +240,9 @@ module="mod_alias">Alias</directive>.</p

<dt>Un chemin web vers une ressource</dt>
<dd>
-<example>
+<highlight language="config">
RewriteRule ^/foo$ /bar
-</example>
+</highlight>
<p>Si la directive <directive module="core">DocumentRoot</directive> a
pour valeur <code>/usr/local/apache2/htdocs</code>, cette r&egrave;gle va faire
correspondre les requ&ecirc;tes pour <code>http://example.com/foo</code> au
@@ -246,9 +251,9 @@ chemin <code>/usr/local/apache2/htdocs/b

<dt>Une URL absolue</dt>
<dd>
-<example>
+<highlight language="config">
RewriteRule ^/produits/vues$ http://site2.example.com/voirproduits.html [R]
-</example>
+</highlight>
<p>Ceci informe le client qu'il doit effectuer une nouvelle requ&ecirc;te vers
l'URL sp&eacute;cifi&eacute;e.</p>
</dd>
@@ -257,9 +262,9 @@ l'URL sp&eacute;cifi&eacute;e.</p>
<p>La cha&icirc;ne de <var>Substitution</var> peut aussi contenir des
<em>r&eacute;f&eacute;rences arri&egrave;res</em> vers des parties du chemin d'URL entrant
correspondant au <var>Mod&egrave;le</var>. Consid&eacute;rons ce qui suit :</p>
-<example>
+<highlight language="config">
RewriteRule ^/produits/(.*)/view$ /var/web/produitsdb/$1
-</example>
+</highlight>
<p>La variable <code>$1</code> sera remplac&eacute;e par tout texte
correspondant &agrave; l'expression situ&eacute;e entre les parenth&egrave;ses dans le
<var>Mod&egrave;le</var>. Par exemple, une requ&ecirc;te pour
@@ -280,9 +285,9 @@ pr&eacute;sence d'un ou plusieurs drapea
conditions de correspondance d'une r&egrave;gle peuvent &ecirc;tre rendues
insensibles &agrave; la casse par la pr&eacute;sence du drapeau <code>[NC]</code> :
</p>
-<example>
+<highlight language="config">
RewriteRule ^puppy.html petitchien.html [NC]
-</example>
+</highlight>

<p>Pour une liste des drapeaux disponibles, leurs significations, et des
exemples, voir le document <a href="flags.html">Drapeaux de
@@ -312,10 +317,10 @@ correspondance est &eacute;valu&eacute;e
<p>Par exemple, pour renvoyer toutes les requ&ecirc;tes en provenance d'une
certaine tranche d'adresses IP vers un autre serveur, vous pouvez
utiliser :</p>
-<example>
-RewriteCond %{REMOTE_ADDR} ^10\.2\.<br />
+<highlight language="config">
+RewriteCond %{REMOTE_ADDR} ^10\.2\.
RewriteRule (.*) http://intranet.example.com$1
-</example>
+</highlight>

<p>Si vous sp&eacute;cifiez plus d'une directive <directive
module="mod_rewrite">RewriteCond</directive>, ces directives
@@ -324,11 +329,11 @@ module="mod_rewrite">RewriteRule</direct
pour interdire les requ&ecirc;tes qui contiennent le mot "hack" dans la cha&icirc;ne
de requ&ecirc;te, sauf si elles contiennent aussi un cookie contenant le mot
"go", vous pouvez utiliser :</p>
-<example>
-RewriteCond %{QUERY_STRING} hack<br />
-RewriteCond %{HTTP_COOKIE} !go<br />
+<highlight language="config">
+RewriteCond %{QUERY_STRING} hack
+RewriteCond %{HTTP_COOKIE} !go
RewriteRule . - [F]
-</example>
+</highlight>
<p>Notez que le point d'exclamation indique une correspondance n&eacute;gative
; ainsi, la r&egrave;gle n'est appliqu&eacute;e que si le cookie ne contient pas "go"</p>

@@ -339,10 +344,10 @@ de la r&egrave;gle <directive module="mo
les variables <code>%1</code>, <code>%2</code>, etc... Par
exemple, ce qui suit va diriger la requ&ecirc;te vers un r&eacute;pertoire diff&eacute;rent
en fonction du nom d'h&ocirc;te utilis&eacute; pour acc&eacute;der au site :</p>
-<example>
-RewriteCond %{HTTP_HOST} (.*)<br />
+<highlight language="config">
+RewriteCond %{HTTP_HOST} (.*)
RewriteRule ^/(.*) /sites/%1/$1
-</example>
+</highlight>
<p>Si la requ&ecirc;te concernait <code>http://example.com/foo/bar</code>,
alors <code>%1</code> contiendrait <code>example.com</code> et
<code>$1</code> contiendrait <code>foo/bar</code>.</p>

Modified: httpd/httpd/branches/2.4.x/docs/manual/ssl/ssl_faq.xml.fr
URL: http://svn.apache.org/viewvc/httpd/httpd/branches/2.4.x/docs/manual/ssl/ssl_faq.xml.fr?rev=1339634&r1=1339633&r2=1339634&view=diff
==============================================================================
--- httpd/httpd/branches/2.4.x/docs/manual/ssl/ssl_faq.xml.fr (original)
+++ httpd/httpd/branches/2.4.x/docs/manual/ssl/ssl_faq.xml.fr Thu May 17 15:13:36 2012
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE manualpage SYSTEM "../style/manualpage.dtd">
<?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?>
-<!-- English Revision: 1328589:1333999 (outdated) -->
+<!-- English revision : 1333999 -->
<!-- French translation : Lucien GENTIS -->
<!-- Reviewed by : Vincent Deffontaines -->

@@ -185,11 +185,11 @@ HTTPS dans les hyperliens relatifs ?</ti
hyperliens pleinement qualifi&eacute;s (car vous devez modifier le sch&eacute;ma de l'URL).
Cependant, &agrave; l'aide du module <module>mod_rewrite</module>, vous pouvez
manipuler des hyperliens relatifs, pour obtenir le m&ecirc;me effet.</p>
- <example>
- RewriteEngine on<br />
- RewriteRule ^/(.*)_SSL$ https://%{SERVER_NAME}/$1 [R,L]<br />
- RewriteRule ^/(.*)_NOSSL$ http://%{SERVER_NAME}/$1 [R,L]
- </example>
+ <highlight language="config">
+RewriteEngine on
+RewriteRule ^/(.*)_SSL$ https://%{SERVER_NAME}/$1 [R,L]
+RewriteRule ^/(.*)_NOSSL$ http://%{SERVER_NAME}/$1 [R,L]
+ </highlight>

<p>Ce jeu de r&egrave;gles rewrite vous permet d'utiliser des hyperliens de la
forme <code>&lt;a href="document.html_SSL"&gt;</code> pour passer en HTTPS
@@ -269,10 +269,10 @@ fins de test ?</title>
-keyout server.key</strong></code><br />
Ces fichiers seront utilis&eacute;s comme suit dans votre
<code>httpd.conf</code> :
- <pre>
- SSLCertificateFile /chemin/vers/server.crt
- SSLCertificateKeyFile /chemin/vers/server.key
- </pre>
+ <highlight language="config">
+SSLCertificateFile /path/to/this/server.crt
+SSLCertificateKeyFile /path/to/this/server.key
+ </highlight>
</li>
<li>Il est important de savoir que le fichier <code>server.key</code> n'a
<em>pas</em> de mot de passe. Pour ajouter un mot de passe &agrave; la cl&eacute;, vous
@@ -352,10 +352,10 @@ fins de test ?</title>
<li>Vous devez maintenant disposer de deux fichiers :
<code>server.key</code> et <code>server.crt</code>. Ils sont pr&eacute;cis&eacute;s dans
votre fichier <code>httpd.conf</code> comme suit :
- <pre>
- SSLCertificateFile /chemin/vers/server.crt
- SSLCertificateKeyFile /chemin vers/server.key
- </pre>
+ <highlight language="config">
+SSLCertificateFile /path/to/this/server.crt
+SSLCertificateKeyFile /path/to/this/server.key
+ </highlight>
Le fichier <code>server.csr</code> n'est plus n&eacute;cessaire.
</li>

@@ -705,9 +705,9 @@ pour diff&eacute;rencier plusieurs h&oci
(sur le port 443). Mais dans ce cas, vous devez d&eacute;finir le num&eacute;ro de port
non-SSL &agrave; l'aide de la directive NameVirtualHost dans ce style :</p>

- <example>
+ <highlight language="config">
NameVirtualHost 192.168.1.1:80
- </example>
+ </highlight>

<p>il existe d'autres solutions alternatives comme :</p>

@@ -764,11 +764,11 @@ versions de MSIE. Vous pouvez contourner
ou l'envoi de messages de notification de fermeture de session SSL aux
clients MSIE. Pour cela, vous pouvez utiliser la directive suivante
dans votre section d'h&ocirc;te virtuel avec support SSL :</p>
- <example>
- SetEnvIf User-Agent "MSIE [2-5]" \<br />
- nokeepalive ssl-unclean-shutdown \<br />
- downgrade-1.0 force-response-1.0
- </example>
+ <highlight language="config">
+SetEnvIf User-Agent "MSIE [2-5]" \
+ nokeepalive ssl-unclean-shutdown \
+ downgrade-1.0 force-response-1.0
+ </highlight>
<p>En outre, certaines versions de MSIE ont des probl&egrave;mes avec des
algorithmes de chiffrement particuliers. H&eacute;las, il n'est pas
possible d'apporter une solution sp&eacute;cifique &agrave; MSIE pour ces

Modified: httpd/httpd/branches/2.4.x/docs/manual/ssl/ssl_howto.xml.fr
URL: http://svn.apache.org/viewvc/httpd/httpd/branches/2.4.x/docs/manual/ssl/ssl_howto.xml.fr?rev=1339634&r1=1339633&r2=1339634&view=diff
==============================================================================
--- httpd/httpd/branches/2.4.x/docs/manual/ssl/ssl_howto.xml.fr (original)
+++ httpd/httpd/branches/2.4.x/docs/manual/ssl/ssl_howto.xml.fr Thu May 17 15:13:36 2012
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE manualpage SYSTEM "../style/manualpage.dtd">
<?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?>
-<!-- English Revision: 1328589:1333999 (outdated) -->
+<!-- English Revision : 1333999 -->
<!-- French translation : Lucien GENTIS -->
<!-- Reviewed by : Vincent Deffontaines -->

@@ -42,17 +42,15 @@ mani&egrave;re plus approfondie.</p>
<p>Votre configuration SSL doit comporter au moins les directives
suivantes :</p>

-<example>
- Listen 443
- &lt;VirtualHost *:443&gt;<br />
- <indent>
- ServerName www.example.com<br />
- SSLEngine on<br />
- SSLCertificateFile /chemin/vers/www.example.com.cert<br />
- SSLCertificateKeyFile /chemin/vers/www.example.com.key<br />
- </indent>
- &lt;/VirtualHost&gt;
-</example>
+<highlight language="config">
+Listen 443
+&lt;VirtualHost *:443&gt;
+ ServerName www.example.com
+ SSLEngine on
+ SSLCertificateFile /path/to/www.example.com.cert
+ SSLCertificateKeyFile /path/to/www.example.com.key
+&lt;/VirtualHost&gt;
+</highlight>

</section>

@@ -73,9 +71,9 @@ acc&eacute;der &agrave; une URL particul
que le chiffrement fort ?</title>
<p>Les directives suivantes ne permettent que les
chiffrements de plus haut niveau :</p>
- <example><title>httpd.conf</title>
- SSLCipherSuite HIGH:!aNULL:!MD5<br />
- </example>
+ <highlight language="config">
+ SSLCipherSuite HIGH:!aNULL:!MD5
+ </highlight>
</section>


@@ -84,10 +82,10 @@ que le chiffrement fort ?</title>
rapidit&eacute; (le choix final sera op&eacute;r&eacute; par mod_ssl, dans la mesure ou le
client les supporte) :</p>

- <example><title>httpd.conf</title>
- SSLCipherSuite RC4-SHA:AES128-SHA:HIGH:!aNULL:!MD5<br />
- SSLHonorCipherOrder on
- </example>
+ <highlight language="config">
+SSLCipherSuite RC4-SHA:AES128-SHA:HIGH:!aNULL:!MD5
+SSLHonorCipherOrder on
+ </highlight>
</section>

<section id="strongurl">
@@ -103,16 +101,16 @@ acc&eacute;der &agrave; une URL particul
<module>mod_ssl</module> peut alors forcer automatiquement une
ren&eacute;gociation des param&egrave;tres SSL pour parvenir au but recherch&eacute;.
Cette configuration peut se pr&eacute;senter comme suit :</p>
- <example>
- # soyons tr&egrave;s tol&eacute;rant a priori<br />
- SSLCipherSuite ALL:!aNULL:RC4+RSA:+HIGH:+MEDIUM:+LOW:+EXP:+eNULL<br />
- <br />
- &lt;Location /strong/area&gt;<br />
- # sauf pour https://hostname/strong/area/ et ses sous-r&eacute;pertoires<br />
- # qui exigent des chiffrements forts<br />
- SSLCipherSuite HIGH:!aNULL:!MD5<br />
- &lt;/Location&gt;
- </example>
+ <highlight language="config">
+# soyons tr&egrave;s tol&eacute;rant a priori
+SSLCipherSuite ALL:!aNULL:RC4+RSA:+HIGH:+MEDIUM:+LOW:+EXP:+eNULL
+
+&lt;Location /strong/area&gt;
+# sauf pour https://hostname/strong/area/ et ses sous-r&eacute;pertoires
+# qui exigent des chiffrements forts
+SSLCipherSuite HIGH:!aNULL:!MD5
+&lt;/Location&gt;
+ </highlight>
</section>
<!-- /ciphersuites -->

@@ -146,13 +144,13 @@ provenance de l'Internet ?</a></li>
le certificat de votre propre autorit&eacute; de certification
(<code>ca.crt</code>), et d'authentifier les clients &agrave; l'aide de ces
certificats.</p>
- <example><title>httpd.conf</title>
- # exige un certificat client sign&eacute; par le certificat de votre CA<br />
- # contenu dans ca.crt<br />
- SSLVerifyClient require<br />
- SSLVerifyDepth 1<br />
- SSLCACertificateFile conf/ssl.crt/ca.crt
- </example>
+ <highlight language="config">
+# exige un certificat client sign&eacute; par le certificat de votre CA
+# contenu dans ca.crt
+SSLVerifyClient require
+SSLVerifyDepth 1
+SSLCACertificateFile conf/ssl.crt/ca.crt
+ </highlight>
</section>

<section id="arbitraryclients">
@@ -165,15 +163,15 @@ mais autoriser quand-m&ecirc;me tout cli
URL particuli&egrave;re, vous pouvez utiliser les fonctionnalit&eacute;s de reconfiguration
de <module>mod_ssl</module> en fonction du r&eacute;pertoire :</p>

- <example><title>httpd.conf</title>
- SSLVerifyClient none<br />
- SSLCACertificateFile conf/ssl.crt/ca.crt<br />
- <br />
- &lt;Location /secure/area&gt;<br />
- SSLVerifyClient require<br />
- SSLVerifyDepth 1<br />
- &lt;/Location&gt;<br />
- </example>
+ <highlight language="config">
+SSLVerifyClient none
+SSLCACertificateFile conf/ssl.crt/ca.crt
+
+&lt;Location /secure/area&gt;
+SSLVerifyClient require
+SSLVerifyDepth 1
+&lt;/Location&gt;
+ </highlight>
</section>

<section id="certauthenticate">
@@ -195,23 +193,23 @@ l'acc&egrave;s au reste du serveur &agra
de donn&eacute;es de mots de passe contenant <em>tous</em> les clients
autoris&eacute;s, comme suit :</p>

- <example><title>httpd.conf</title><pre>
+ <highlight language="config">
SSLVerifyClient none
&lt;Directory /usr/local/apache2/htdocs/secure/area&gt;
-
SSLVerifyClient require
-SSLVerifyDepth 5
-SSLCACertificateFile conf/ssl.crt/ca.crt
-SSLCACertificatePath conf/ssl.crt
-SSLOptions +FakeBasicAuth
-SSLRequireSSL
-AuthName "Snake Oil Authentication"
-AuthType Basic
-AuthBasicProvider file
-AuthUserFile /usr/local/apache2/conf/httpd.passwd
-Require valid-user
-&lt;/Directory&gt;</pre>
- </example>
+ SSLVerifyDepth 5
+ SSLCACertificateFile conf/ssl.crt/ca.crt
+ SSLCACertificatePath conf/ssl.crt
+ SSLOptions +FakeBasicAuth
+ SSLRequireSSL
+ AuthName "Snake Oil Authentication"
+ AuthType Basic
+ AuthBasicProvider file
+ AuthUserFile /usr/local/apache2/conf/httpd.passwd
+ Require valid-user
+&lt;/Directory&gt;
+ </highlight>
+

<p>Le mot de passe utilis&eacute; dans cet exemple correspond &agrave; la cha&icirc;ne de
caract&egrave;res "password" chiffr&eacute;e en DES. Voir la documentation de la
@@ -230,10 +228,9 @@ Require valid-user
>SSLRequire</directive>, comme suit :</p>


- <example><title>httpd.conf</title><pre>
+ <highlight language="config">
SSLVerifyClient none
&lt;Directory /usr/local/apache2/htdocs/secure/area&gt;
-
SSLVerifyClient require
SSLVerifyDepth 5
SSLCACertificateFile conf/ssl.crt/ca.crt
@@ -242,8 +239,8 @@ SSLVerifyClient none
SSLRequireSSL
SSLRequire %{SSL_CLIENT_S_DN_O} eq "Snake Oil, Ltd." \
and %{SSL_CLIENT_S_DN_OU} in {"Staff", "CA", "Dev"}
-&lt;/Directory&gt;</pre>
- </example>
+&lt;/Directory&gt;
+ </highlight>
</section>

<section id="intranet">
@@ -260,52 +257,52 @@ aux clients de l'intranet.</title>
doivent se trouver en dehors de votre h&ocirc;te virtuel HTTPS, afin qu'elles
s'appliquent &agrave; la fois &agrave; HTTP et HTTPS.</p>

- <example><title>httpd.conf</title><pre>
+ <highlight language="config">
SSLCACertificateFile conf/ssl.crt/company-ca.crt

&lt;Directory /usr/local/apache2/htdocs&gt;
-# En dehors de subarea, seul l'acc&egrave;s depuis l'intranet est autoris&eacute;
-Order deny,allow
-Deny from all
-Allow from 192.168.1.0/24
+# En dehors de subarea, seul l'acc&egrave;s depuis l'intranet est
+# autoris&eacute;
+ Order deny,allow
+ Deny from all
+ Allow from 192.168.1.0/24
&lt;/Directory&gt;

&lt;Directory /usr/local/apache2/htdocs/subarea&gt;
# Dans subarea, tout acc&egrave;s depuis l'intranet est autoris&eacute;
-# mais depuis l'Internet, seul l'acc&egrave;s par HTTPS + chiffrement fort
- + Mot de passe
+# mais depuis l'Internet, seul l'acc&egrave;s par HTTPS + chiffrement fort + Mot de passe
# ou HTTPS + chiffrement fort + certificat client n'est autoris&eacute;.

# Si HTTPS est utilis&eacute;, on s'assure que le niveau de chiffrement est fort.
# Autorise en plus les certificats clients comme une alternative &agrave;
# l'authentification basique.
-SSLVerifyClient optional
-SSLVerifyDepth 1
-SSLOptions +FakeBasicAuth +StrictRequire
-SSLRequire %{SSL_CIPHER_USEKEYSIZE} &gt;= 128
-
-# ON oblige les clients venant d'Internet &agrave; utiliser HTTPS
-RewriteEngine on
-RewriteCond %{REMOTE_ADDR} !^192\.168\.1\.[0-9]+$
-RewriteCond %{HTTPS} !=on
-RewriteRule . - [F]
-
-# On permet l'acc&egrave;s soit sur les crit&egrave;res r&eacute;seaux, soit par authentification Basique
-Satisfy any
-
-# Contr&ocirc;le d'acc&egrave;s r&eacute;seau
-Order deny,allow
-Deny from all
-Allow 192.168.1.0/24
-
-# Configuration de l'authentification HTTP Basique
-AuthType basic
-AuthName "Protected Intranet Area"
-AuthBasicProvider file
-AuthUserFile conf/protected.passwd
-Require valid-user
-&lt;/Directory&gt;</pre>
- </example>
+ SSLVerifyClient optional
+ SSLVerifyDepth 1
+ SSLOptions +FakeBasicAuth +StrictRequire
+ SSLRequire %{SSL_CIPHER_USEKEYSIZE} &gt;= 128
+
+ # ON oblige les clients venant d'Internet &agrave; utiliser HTTPS
+ RewriteEngine on
+ RewriteCond %{REMOTE_ADDR} !^192\.168\.1\.[0-9]+$
+ RewriteCond %{HTTPS} !=on
+ RewriteRule . - [F]
+
+ # On permet l'acc&egrave;s soit sur les crit&egrave;res r&eacute;seaux, soit par authentification Basique
+ Satisfy any
+
+ # Contr&ocirc;le d'acc&egrave;s r&eacute;seau
+ Order deny,allow
+ Deny from all
+ Allow 192.168.1.0/24
+
+ # Configuration de l'authentification HTTP Basique
+ AuthType basic
+ AuthName "Protected Intranet Area"
+ AuthBasicProvider file
+ AuthUserFile conf/protected.passwd
+ Require valid-user
+&lt;/Directory&gt;
+ </highlight>
</section>
</section>
<!-- /access control -->

Modified: httpd/httpd/branches/2.4.x/docs/manual/suexec.xml.fr
URL: http://svn.apache.org/viewvc/httpd/httpd/branches/2.4.x/docs/manual/suexec.xml.fr?rev=1339634&r1=1339633&r2=1339634&view=diff
==============================================================================
--- httpd/httpd/branches/2.4.x/docs/manual/suexec.xml.fr (original)
+++ httpd/httpd/branches/2.4.x/docs/manual/suexec.xml.fr Thu May 17 15:13:36 2012
@@ -3,7 +3,7 @@
<?xml-stylesheet type="text/xsl" href="./style/manual.fr.xsl"?>
<!-- French translation : Lucien GENTIS -->
<!-- Reviewed by : Vincent Deffontaines -->
-<!-- English Revision: 1038591:1334033 (outdated) -->
+<!-- English Revision: 1334033 -->

<!--
Licensed to the Apache Software Foundation (ASF) under one or more
@@ -501,10 +501,10 @@
<p>Si, par exemple, votre serveur web est configur&eacute; pour
s'ex&eacute;cuter en tant que :</p>

-<example>
- User www<br />
- Group webgroup<br />
-</example>
+<highlight language="config">
+User www
+Group webgroup
+ </highlight>

<p>et <program>suexec</program> se trouve &agrave;
"/usr/local/apache2/bin/suexec", vous devez ex&eacute;cuter les

Modified: httpd/httpd/branches/2.4.x/docs/manual/upgrading.xml.fr
URL: http://svn.apache.org/viewvc/httpd/httpd/branches/2.4.x/docs/manual/upgrading.xml.fr?rev=1339634&r1=1339633&r2=1339634&view=diff
==============================================================================
--- httpd/httpd/branches/2.4.x/docs/manual/upgrading.xml.fr (original)
+++ httpd/httpd/branches/2.4.x/docs/manual/upgrading.xml.fr Thu May 17 15:13:36 2012
@@ -3,7 +3,7 @@
<?xml-stylesheet type="text/xsl" href="./style/manual.fr.xsl"?>
<!-- French translation : Lucien GENTIS -->
<!-- Reviewed by : Vincent Deffontaines -->
-<!-- English Revision: 1304987:1334033 (outdated) -->
+<!-- English Revision : 1334033 -->

<!--
Licensed to the Apache Software Foundation (ASF) under one or more
@@ -91,14 +91,6 @@ fonctionnalit&eacute;s du serveur HTTP A

<li>configure: le jeu de modules "reallyall" ajoute les modules de
d&eacute;veloppeur au jeu "all".</li>
-
- <li>apr et apr-util: APR et APR-Util ne sont plus fournis dans le
- paquet Apache httpd 2.4. Vous pouvez soit continuer &agrave; utiliser les
- versions install&eacute;es, soit continuer &agrave; utiliser l'option du script
- configure <code>--with-included-apr</code> apr&egrave;s avoir t&eacute;l&eacute;charg&eacute;s
- les paquets apr/apr-util (depuis <a
- href="http://apr.apache.org/">Apache
- APR</a>), et les avoir d&eacute;compress&eacute;s dans <code>./srclib/</code>.</li>
</ul>

</section>
@@ -149,23 +141,31 @@ n&eacute;cessiter une mise &agrave; jour
<p>Dans cet exemple, toutes les requ&ecirc;tes sont rejet&eacute;es :</p>
<example>
<title>version 2.2 :</title>
- Order deny,allow<br />
- Deny from all
+ <highlight language="config">
+Order deny,allow
+Deny from all
+ </highlight>
</example>
<example>
<title>version 2.4 :</title>
+ <highlight language="config">
Require all denied
+ </highlight>
</example>

<p>Dans cet exemple, toutes les requ&ecirc;tes sont accept&eacute;es :</p>
<example>
<title>version 2.2 :</title>
- Order allow,deny<br />
- Allow from all
+ <highlight language="config">
+Order allow,deny
+Allow from all
+ </highlight>
</example>
<example>
<title>version 2.4 :</title>
+ <highlight language="config">
Require all granted
+ </highlight>
</example>

<p>Dans l'exemple suivant, tous les h&ocirc;tes du domaine example.org
@@ -173,13 +173,17 @@ n&eacute;cessiter une mise &agrave; jour

<example>
<title>version 2.2 :</title>
- Order Deny,Allow<br />
- Deny from all<br />
- Allow from example.org
+ <highlight language="config">
+Order Deny,Allow
+Deny from all
+Allow from example.org
+ </highlight>
</example>
<example>
<title>version 2.4 :</title>
+ <highlight language="config">
Require host example.org
+ </highlight>
</example>
</section>

@@ -355,6 +359,12 @@ n&eacute;cessiter une mise &agrave; jour
<directive module="mod_include">SSILegacyExprParser</directive> a
&eacute;t&eacute; activ&eacute;e pour le r&eacute;pertoire contenant les pages d'erreur.
</li>
+
+ <li>La fonctionnalit&eacute; fournie par <code>mod_authn_alias</code>
+ dans les pr&eacute;c&eacute;dentes versions (en fait la directive
+ <directive module="mod_authn_core">AuthnProviderAlias</directive>)
+ est maintenant fournie par <module>mod_authn_core</module>.
+ </li>
</ul>

</section>

Modified: httpd/httpd/branches/2.4.x/docs/manual/urlmapping.xml.fr
URL: http://svn.apache.org/viewvc/httpd/httpd/branches/2.4.x/docs/manual/urlmapping.xml.fr?rev=1339634&r1=1339633&r2=1339634&view=diff
==============================================================================
--- httpd/httpd/branches/2.4.x/docs/manual/urlmapping.xml.fr (original)
+++ httpd/httpd/branches/2.4.x/docs/manual/urlmapping.xml.fr Thu May 17 15:13:36 2012
@@ -3,7 +3,7 @@
<?xml-stylesheet type="text/xsl" href="./style/manual.fr.xsl"?>
<!-- French translation : Lucien GENTIS -->
<!-- Reviewed by : Vincent Deffontaines -->
-<!-- English Revision: 1310495:1334033 (outdated) -->
+<!-- English Revision: 1334033 -->

<!--
Licensed to the Apache Software Foundation (ASF) under one or more
@@ -123,7 +123,7 @@ l'arborescence DocumentRoot</title>
module="mod_alias">Alias</directive> pour rattacher toute portion
du syst&egrave;me de fichiers &agrave; l'arborescence du site web. Par exemple, avec</p>

-<example>Alias /docs /var/web</example>
+<highlight language="config">Alias /docs /var/web</highlight>

<p>l'URL <code>http://www.example.com/docs/dir/file.html</code>
correspondra au fichier <code>/var/web/dir/file.html</code>. La
@@ -140,8 +140,9 @@ l'arborescence DocumentRoot</title>
sur les <glossary ref="regex">expressions rationnelles</glossary>.
Par exemple,</p>

-<example>ScriptAliasMatch ^/~([a-zA-Z0-9]+)/cgi-bin/(.+)
- /home/$1/cgi-bin/$2</example>
+<highlight language="config">
+ ScriptAliasMatch ^/~([a-zA-Z0-9]+)/cgi-bin/(.+) /home/$1/cgi-bin/$2
+ </highlight>

<p>fera correspondre une requ&ecirc;te du style
<code>http://example.com/~user/cgi-bin/script.cgi</code> au chemin
@@ -189,8 +190,9 @@ l'arborescence DocumentRoot</title>
<code>/home/user/public_html/file.html</code>, utilisez la directive
<code>AliasMatch</code> suivante :</p>

-<example>AliasMatch ^/upages/([a-zA-Z0-9]+)(/(.*))?$
- /home/$1/public_html/$3</example>
+<highlight language="config">
+ AliasMatch ^/upages/([a-zA-Z0-9]+)(/(.*))?$ /home/$1/public_html/$3
+ </highlight>
</section>

<section id="redirect"><title>Redirection d'URL</title>
@@ -209,7 +211,9 @@ l'arborescence DocumentRoot</title>
nouveau r&eacute;pertoire <code>/bar/</code>, vous pouvez demander aux clients
de le requ&eacute;rir &agrave; sa nouvelle localisation comme suit :</p>

-<example>Redirect permanent /foo/ http://www.example.com/bar/</example>
+<highlight language="config">
+ Redirect permanent /foo/ http://www.example.com/bar/
+ </highlight>

<p>Ceci aura pour effet de rediriger tout chemin d'URL commen&ccedil;ant par
<code>/foo/</code> vers le m&ecirc;me chemin d'URL sur le serveur
@@ -224,14 +228,16 @@ l'arborescence DocumentRoot</title>
laisser toutes les autres requ&ecirc;tes inchang&eacute;es, utilisez la
configuration suivante :</p>

-<example>RedirectMatch permanent ^/$
- http://www.example.com/startpage.html</example>
+<highlight language="config">
+ RedirectMatch permanent ^/$ http://www.example.com/startpage.html
+ </highlight>

<p>De m&ecirc;me, pour rediriger temporairement toutes les pages d'un site
vers une page particuli&egrave;re d'un autre site, utilisez ce qui suit :</p>

-<example>RedirectMatch temp .*
- http://othersite.example.com/startpage.html</example>
+<highlight language="config">
+ RedirectMatch temp .* http://othersite.example.com/startpage.html
+ </highlight>
</section>

<section id="proxy"><title>Mandataire inverse (Reverse Proxy)</title>
@@ -250,12 +256,12 @@ dans le r&eacute;pertoire
<code>/bar/</code> sur <code>internal.example.com</code>
et les renvoie au client comme s'ils appartenaient au serveur local.</p>

-<example>
+<highlight language="config">
ProxyPass /foo/ http://internal.example.com/bar/<br />
ProxyPassReverse /foo/ http://internal.example.com/bar/<br />
ProxyPassReverseCookieDomain internal.example.com public.example.com<br />
ProxyPassReverseCookiePath /foo/ /bar/
-</example>
+</highlight>

<p>La directive <directive module="mod_proxy">ProxyPass</directive> configure
le serveur pour rapatrier les documents appropri&eacute;s, alors que la directive
@@ -274,9 +280,9 @@ du serveur mandataire et effectuer sa re
d'utres contenus) situ&eacute;s dans la page au moment o&ugrave; elle est envoy&eacute;e au
client en utilisant le module <module>mod_substitute</module>.</p>

-<example>
+<highlight language="config">
Substitute s/internal\.example\.com/www.example.com/i
-</example>
+</highlight>

<p>Le module <module>mod_proxy_html</module> rend possible une r&eacute;&eacute;criture plus
&eacute;labor&eacute;e des liens en HTML et XHTML. Il permet de cr&eacute;er des listes

Apache cvs RSS feed   Index | Next | Previous | View Threaded
 
 


Interested in having your list archived? Contact Gossamer Threads
 
  Web Applications & Managed Hosting Powered by Gossamer Threads Inc.