<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE manualpage SYSTEM "../style/manualpage.dtd">
<?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?>
-<!-- English Revision: 1878547:1933060 (outdated) -->
+<!-- English Revision: 1933060 -->
<!-- French translation : Lucien GENTIS -->
<!-- Reviewed by : Vincent Deffontaines -->
<module>mod_rewrite</module>. Il explique comment utiliser
<module>mod_rewrite</module> pour contrôler l'accès à diverses
ressources, ainsi que d'autres techniques en rapport. Il contient de
-nombreux exemples d'utilisation courante de mod_rewrite avec une
+nombreux exemples d'utilisation courante de <module>mod_rewrite</module> avec une
description détaillée de leur fonctionnement.</p>
<note type="warning">Vous devez vous attacher à comprendre le
<dd>
<p>Si vous ne voulez pas rediriger la requête, mais
simplement interdire l'accès à la ressource, vous pouvez y
- parvenir sans utiliser mod_rewrite :</p>
+ parvenir sans utiliser <module>mod_rewrite</module> :</p>
<highlight language="config">
SetEnvIf Referer example\.com localreferer
</p>
<p>Notez qu'il existe des méthodes d'exclusion qui n'utilisent
- pas mod_rewrite. Notez aussi que toute technique qui repose sur
+ pas <module>mod_rewrite</module>. Notez aussi que toute technique qui repose sur
le contenu de la chaîne client <code>USER_AGENT</code> peut être
contournée très facilement car cette chaîne peut être modifiée.</p>
</dd>
<dd>
<p>
Vous pouvez cependant parvenir au même résultat sans utiliser
- mod_rewrite via la méthode alternative suivante :
+ <module>mod_rewrite</module> via la méthode alternative suivante :
</p>
<highlight language="config">
SetEnvIfNoCase User-Agent ^NameOfBadRobot goaway
<?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?>
<!-- French translation : Lucien GENTIS -->
<!-- Reviewed by : Vincent Deffontaines -->
-<!-- English Revision: 1897425:1933067 (outdated) -->
+<!-- English Revision: 1933067 -->
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
<manualpage metafile="advanced.xml.meta">
<parentdocument href="./">Rewrite</parentdocument>
-<title>Advanced Techniques with mod_rewrite</title>
+<title>Techniques avancées avec mod_rewrite</title>
<summary>
href="../mod/mod_rewrite.html">documentation de référence</a> du
module <module>mod_rewrite</module>. Il présente un certain nombre
de techniques avancées quant à
- l'utilisation de mod_rewrite.</p>
+ l'utilisation de <module>mod_rewrite</module>.</p>
<!--
I question whether anything remailing in this document qualifies as
<dd>
<p>Nous voulons répartir la charge de manière aléatoire entre
- plusieurs serveurs en utilisant mod_rewrite.</p>
+ plusieurs serveurs en utilisant <module>mod_rewrite</module>.</p>
</dd>
<dt>Solution :</dt>
<dd>
<p>Apache possède un module de répartition de charge -
<module>mod_proxy_balancer</module> - beaucoup plus souple et présentant
-plus de fonctionnalités dans ce domaine que mod_rewrite.</p>
+plus de fonctionnalités dans ce domaine que <module>mod_rewrite</module>.</p>
</dd>
</dl>
<dd>
<p>Par défaut, la redirection vers un ancrage HTML ne fonctionne
- pas, car mod_rewrite échappe le caractère <code>#</code> en le
+ pas, car <module>mod_rewrite</module> échappe le caractère <code>#</code> en le
transformant en <code>%23</code>, ce qui rend la redirection
inopérante.</p>
</dd>
<dt>Discussion :</dt>
<dd>Cette technique fonctionne bien entendu pour tout autre
- caractère spécial que mod_rewrite, par défaut, code pour insertion
+ caractère spécial que <module>mod_rewrite</module>, par défaut, code pour insertion
dans une URL.</dd>
</dl>
<dd>
<p>Nous voulons servir des contenus différents selon l'heure du
- jour en utilisant mod_rewrite.</p>
+ jour en utilisant <module>mod_rewrite</module>.</p>
</dd>
<dt>Solution :</dt>
des <a href="flags.html">drapeaux</a> que vous attachez aux
règles</p>
- <p>mod_rewrite étant très puissant, il peut par
+ <p><module>mod_rewrite</module> étant très puissant, il peut par
conséquent être très complexe. Ce document
complète la <a
href="../mod/mod_rewrite.html">documentation de
référence du module mod_rewrite</a>, et est sensé alléger un
peu cette complexité, et présenter des exemples largement
commentés, ainsi que des situations courantes que vous
- pourrez traiter avec mod_rewrite. Mais nous voulons aussi vous
+ pourrez traiter avec <module>mod_rewrite</module>. Mais nous voulons aussi vous
montrer des situations où vous ne devrez pas utiliser
- mod_rewrite, et lui préférer d'autres
+ <module>mod_rewrite</module>, et lui préférer d'autres
fonctionnalités standard d'Apache, évitant ainsi
d'entrer dans une complexité inutile.</p>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE manualpage SYSTEM "../style/manualpage.dtd">
<?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?>
-<!-- English Revision: 1673945:1933067 (outdated) -->
+<!-- English Revision: 1933067 -->
<!-- French translation : Lucien GENTIS -->
<!-- Reviewed by : Vincent Deffontaines -->
<dd>
<p>
- mod_rewrite implémente le drapeau [P] qui permet de passer des URLs,
- via mod_proxy, à un autre serveur. Deux exemples sont fournis ici.
+ <module>mod_rewrite</module> implémente le drapeau [P] qui permet de passer des URLs,
+ via <module>mod_proxy</module>, à un autre serveur. Deux exemples sont fournis ici.
Dans le premier, une URL est passée directement à un autre serveur,
et servie comme si c'était une URL locale. Dans le deuxième, nous
mandatons un contenu manquant vers un serveur d'arrière-plan.</p>
<p>Chaque fois que cela est possible, préférez l'utilisation de la
directive <directive module="mod_proxy">ProxyPass</directive> ou
<directive module="mod_proxy">ProxyPassMatch</directive> à
- mod_rewrite.</p>
+ <module>mod_rewrite</module>.</p>
</dd>
</dl>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE manualpage SYSTEM "../style/manualpage.dtd">
<?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?>
-<!-- English Revision: 1874148:1932819 (outdated) -->
+<!-- English Revision: 1932819 -->
<!-- French translation : Lucien GENTIS -->
<!-- Reviewed by : Vincent Deffontaines -->
un chemin du système de fichiers vers un programme exécutable
destiné à effectuer la mise en correspondance. Il peut s'agir d'un
fichier binaire compilé, ou d'un programme en langage interprété
- comme Perl ou Python.</p>
-
- <p>Ce programme est lancé une fois au démarrage du serveur HTTP
- Apache, puis communique avec le moteur de réécriture via
- <code>STDIN</code> et <code>STDOUT</code>. En d'autres termes, pour
- chaque recherche de correspondance, il reçoit un argument via
- <code>STDIN</code>, et doit renvoyer en guise de réponse une chaîne
- terminée par un caractère nouvelle-ligne sur <code>STDOUT</code>. Si
- la recherche de correspondance est infructueuse, le programme doit
- l'indiquer en retournant la chaîne de quatre caractères
- "<code>NULL</code>".</p>
+ comme Python ou Perl.</p>
+
+ <p>Ce programme est lancé une fois au démarrage du serveur HTTP Apache, puis
+ communique avec le moteur de réécriture via <code>STDIN</code> et
+ <code>STDOUT</code>. Pour chaque recherche d’une fonction de correspondance,
+ la clé est écrite sur l’entrée standard du programme, suivie d’un caractère
+ nouvelle ligne. Le programme doit lire une ligne sur son entrée standard
+ (jusqu’au caractère nouvelle ligne) et écrire sa réponse sous la forme d’une
+ seule ligne terminée par un caractère nouvelle ligne sur sa sortie standard.
+ Les clés ne doivent pas contenir de caractère nouvelle ligne ; dans le cas
+ contraire, la recherche échouera.</p>
+
+ <p>S’il n’y a pas de valeur de recherche correspondante, le programme de
+ correspondance renvoie la chaîne de quatre caractères "<code>NULL</code>".
+ Notez que cette comparaison est insensible à la casse et que "null", "Null",
+ etc. seront aussi interprétés comme des recherches ayant échoué. En
+ conséquence, une programme de correspondance ne peut pas renvoyer la chaîne
+ littérale "NULL" comme valeur correspondante.</p>
+
+ <p>La sortie d’erreur standard du programme est héritée du processus httpd
+ parent ; tout ce que le programme écrit sur la sortie d’erreur standard
+ arrivera donc au même endroit que la sortie d’erreur de httpd (en général le
+ journal indiqué par la directive <directive
+ module="core">ErrorLog</directive>).</p>
<p>Les programmes de réécriture externes ne sont pas lancés s'il
n'ont pas été définis dans un contexte où la directive <directive
<p><strong>Configuration de la réécriture</strong></p>
<highlight language="config">
-RewriteMap d2u "prg:/www/bin/dash2under.pl" apache:apache
+RewriteMap d2u "prg:/www/bin/dash2under.py" apache:apache
RewriteRule "-" "${d2u:%{REQUEST_URI}}"
</highlight>
- <p><strong>dash2under.pl</strong></p>
- <highlight language="perl">
- #!/usr/bin/perl
- $| = 1; # Turn off I/O buffering
- while (<STDIN>) {
- s/-/_/g; # Remplace tous les tirets par des caractères de soulignement
- print $_;
- }
+ <p><strong>dash2under.py</strong></p>
+ <highlight language="python">
+#!/usr/bin/env python3
+import sys
+
+for line in sys.stdin:
+ print(line.strip().replace('-', '_'), flush=True)
</highlight>
<note><title>Mises en garde !</title>
indéfiniment une réponse de sa part, et par conséquent ne répondra plus
aux requêtes.</li>
<li>Assurez-vous de bien désactiver la mise en tampon dans votre
-programme. En Perl, ceci est effectué à la seconde ligne du script de
-l'exemple - <code>$| = 1;</code> - La syntaxe sera bien entendu
-différente dans
-d'autres langages. Si les entrées/sorties sont mises en tampon, httpd va
+programme. Dans l’exemple en Python ci-avant, cette opération s’effectue en
+passant <code>flush=True</code> à <code>print()</code>. Si les entrées/sorties sont mises en tampon, httpd va
attendre une sortie, et va par conséquent se bloquer.</li>
<li>Rappelez-vous qu'il n'existe qu'une copie du programme lancé au
démarrage du serveur, et que toutes les requêtes vont devoir passer par
ce goulot d'étranglement. Ceci peut provoquer des ralentissements
significatifs si de nombreuses requêtes doivent être traitées, ou si le
script lui-même est très lent.</li>
+<li>Si le programme de correspondance se termine, il ne sera pas redémarré
+automatiquement. Les recherches subséquentes échoueront jusqu’au prochain
+redémarrage du serveur. </li>
+<li>Le programme de correspondance est toujours tué et redémarré à chaque
+redémarrage du serveur (graceful ou autre), que les directives de configuration
+concernées aient changé ou non. Lors d’un arrêt, le signal <code>SIGTERM</code>
+est envoyé au programme ; s’il ne s’arrête pas dans les 3 secondes, le signal
+<code>SIGKILL</code> lui est envoyé.</li>
</ul>
</note>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE manualpage SYSTEM "../style/manualpage.dtd">
<?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?>
-<!-- English Revision: 1780210:1933310 (outdated) -->
+<!-- English Revision: 1933399 -->
<!-- French translation : Lucien GENTIS -->
<!-- Reviewed by : Vincent Deffontaines -->
et introduisant une incompatibilité avec SSL ce qui interdit toute
négociation en vue d'une utilisation de SSLv2.</td>
</tr>
+ <tr><td>TLS v1.3</td>
+ <td>Standard pour l'Internet (de l'IETF) [<a href="#TLS13"
+ >TLS13</a>]</td>
+ <td>Révision majeure de TLS 1.2 supprimant la cryptographie
+ patrimoniale, assurant une confidentialité absolue et remaniant le
+ protocole de négociation pour une sécurité et des performances
+ accrues.</td>
+ </tr>
</table>
</section>
<title>Références</title>
<dl>
<dt><a id="AC96" name="AC96">[AC96]</a></dt>
-<dd>Bruce Schneier, <q>Applied Cryptography</q>, 2nd Edition, Wiley,
-1996. Voir <a href="http://www.counterpane.com/"
->http://www.counterpane.com/</a> pour diverses autres productions de Bruce
-Schneier.</dd>
+<dd>Bruce Schneier, <q>Applied Cryptography</q>, 2nd Edition, Wiley, 1996. Voir
+<a href="https://www.schneier.com/">https://www.schneier.com/</a> pour
+diverses autres productions de Bruce Schneier.</dd>
<dt><a id="ASN1" name="ASN1">[ASN1]</a></dt>
<dd>ITU-T Recommendation X.208, <q>Specification of Abstract Syntax Notation
<dt><a id="PKCS" name="PKCS">[PKCS]</a></dt>
<dd><q>Public Key Cryptography Standards (PKCS)</q>,
RSA Laboratories Technical Notes, Voir <a
-href="http://www.rsasecurity.com/rsalabs/pkcs/"
->http://www.rsasecurity.com/rsalabs/pkcs/</a>.</dd>
+href="https://en.wikipedia.org/wiki/PKCS"
+>https://en.wikipedia.org/wiki/PKCS</a>.</dd>
<dt><a id="MIME" name="MIME">[MIME]</a></dt>
<dd>N. Freed, N. Borenstein, <q>Multipurpose Internet Mail Extensions
<dt><a id="SSL3" name="SSL3">[SSL3]</a></dt>
<dd>Alan O. Freier, Philip Karlton, Paul C. Kocher, <q>The SSL Protocol
Version 3.0</q>, 1996. Voir <a
-href="http://www.netscape.com/eng/ssl3/draft302.txt"
->http://www.netscape.com/eng/ssl3/draft302.txt</a>.</dd>
+href="https://datatracker.ietf.org/doc/html/rfc6101"
+>RFC 6101</a>.</dd>
<dt><a id="TLS1" name="TLS1">[TLS1]</a></dt>
<dd>Tim Dierks, Christopher Allen, <q>The TLS Protocol Version 1.0</q>,
<dd><q>Le protocole TLS Version 1.2</q>,
2008. Voir <a href="http://tools.ietf.org/html/rfc5246"
>http://tools.ietf.org/html/rfc5246</a>.</dd>
+
+<dt><a id="TLS13" name="TLS13">[TLS13]</a></dt>
+<dd><q>Le protocole Transport Layer Security (TLS) version 1.3</q>,
+2018. Voir <a href="https://tools.ietf.org/html/rfc8446"
+>https://tools.ietf.org/html/rfc8446</a>.</dd>
</dl>
</section>
<!-- /references -->
<?xml-stylesheet type="text/xsl" href="./style/manual.fr.xsl"?>
<!-- French translation : Lucien GENTIS -->
<!-- Reviewed by : Vincent Deffontaines -->
-<!-- English Revision: 1819907:1933179 (outdated) -->
+<!-- English Revision: 1933179 -->
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
module="mod_cgid">CGIDScriptTImeout</directive>.
</li>
+ <li>Le symbole <code><set></code> de <module>mod_include</module>
+ n’effectue plus le décodage d’entité sur la valeur définie.</li>
+
</ul>
</section>