<div class="section">
<h2><a name="intro" id="intro">Le filtrage avec Apache 2</a></h2>
- <table class="related"><tr><th>Modules Apparentés</th><th>Directives Apparentées</th></tr><tr><td><ul><li><code class="module"><a href="./mod/mod_filter.html">mod_filter</a></code></li><li><code class="module"><a href="./mod/mod_deflate.html">mod_deflate</a></code></li><li><code class="module"><a href="./mod/mod_ext_filter.html">mod_ext_filter</a></code></li><li><code class="module"><a href="./mod/mod_include.html">mod_include</a></code></li><li><code class="module"><a href="./mod/mod_charset_lite.html">mod_charset_lite</a></code></li><li><code class="module"><a href="./mod/mod_reflector.html">mod_reflector</a></code></li><li><code class="module"><a href="./mod/mod_buffer.html">mod_buffer</a></code></li><li><code class="module"><a href="./mod/mod_data.html">mod_data</a></code></li><li><code class="module"><a href="./mod/mod_ratelimit.html">mod_ratelimit</a></code></li><li><code class="module"><a href="./mod/mod_reqtimeout.html">mod_reqtimeout</a></code></li><li><code class="module"><a href="./mod/mod_request.html">mod_request</a></code></li><li><code class="module"><a href="./mod/mod_sed.html">mod_sed</a></code></li><li><code class="module"><a href="./mod/mod_substitute.html">mod_substitute</a></code></li><li><code class="module"><a href="./mod/mod_xml2enc.html">mod_xml2enc</a></code></li><li><code class="module"><a href="./mod/mod_proxy_html.html">mod_proxy_html</a></code></li></ul></td><td><ul><li><code class="directive"><a href="./mod/mod_filter.html#filterchain">FilterChain</a></code></li><li><code class="directive"><a href="./mod/mod_filter.html#filterdeclare">FilterDeclare</a></code></li><li><code class="directive"><a href="./mod/mod_filter.html#filterprotocol">FilterProtocol</a></code></li><li><code class="directive"><a href="./mod/mod_filter.html#filterprovider">FilterProvider</a></code></li><li><code class="directive"><a href="./mod/mod_mime.html#addinputfilter">AddInputFilter</a></code></li><li><code class="directive"><a href="./mod/mod_mime.html#addoutputfilter">AddOutputFilter</a></code></li><li><code class="directive"><a href="./mod/mod_mime.html#removeinputfilter">RemoveInputFilter</a></code></li><li><code class="directive"><a href="./mod/mod_mime.html#removeoutputfilter">RemoveOutputFilter</a></code></li><li><code class="directive"><a href="./mod/mod_reflector.html#reflectorheader">ReflectorHeader</a></code></li><li><code class="directive"><a href="./mod/mod_ext_filter.html#extfilterdefine">ExtFilterDefine</a></code></li><li><code class="directive"><a href="./mod/mod_ext_filter.html#extfilteroptions">ExtFilterOptions</a></code></li><li><code class="directive"><a href="./mod/core.html#setinputfilter">SetInputFilter</a></code></li><li><code class="directive"><a href="./mod/core.html#setoutputfilter">SetOutputFilter</a></code></li></ul></td></tr></table>
+ <table class="related"><tr><th>Modules Apparentés</th><th>Directives Apparentées</th></tr><tr><td><ul><li><code class="module"><a href="./mod/mod_filter.html">mod_filter</a></code></li><li><code class="module"><a href="./mod/mod_deflate.html">mod_deflate</a></code></li><li><code class="module"><a href="./mod/mod_ext_filter.html">mod_ext_filter</a></code></li><li><code class="module"><a href="./mod/mod_include.html">mod_include</a></code></li><li><code class="module"><a href="./mod/mod_charset_lite.html">mod_charset_lite</a></code></li><li><code class="module"><a href="./mod/mod_reflector.html">mod_reflector</a></code></li><li><code class="module"><a href="./mod/mod_buffer.html">mod_buffer</a></code></li><li><code class="module"><a href="./mod/mod_data.html">mod_data</a></code></li><li><code class="module"><a href="./mod/mod_ratelimit.html">mod_ratelimit</a></code></li><li><code class="module"><a href="./mod/mod_reqtimeout.html">mod_reqtimeout</a></code></li><li><code class="module"><a href="./mod/mod_request.html">mod_request</a></code></li><li><code class="module"><a href="./mod/mod_sed.html">mod_sed</a></code></li><li><code class="module"><a href="./mod/mod_substitute.html">mod_substitute</a></code></li><li><code class="module"><a href="./mod/mod_xml2enc.html">mod_xml2enc</a></code></li><li><code class="module"><a href="./mod/mod_proxy_html.html">mod_proxy_html</a></code></li><li><code class="module"><a href="./mod/mod_policy.html">mod_policy</a></code></li></ul></td><td><ul><li><code class="directive"><a href="./mod/mod_filter.html#filterchain">FilterChain</a></code></li><li><code class="directive"><a href="./mod/mod_filter.html#filterdeclare">FilterDeclare</a></code></li><li><code class="directive"><a href="./mod/mod_filter.html#filterprotocol">FilterProtocol</a></code></li><li><code class="directive"><a href="./mod/mod_filter.html#filterprovider">FilterProvider</a></code></li><li><code class="directive"><a href="./mod/mod_mime.html#addinputfilter">AddInputFilter</a></code></li><li><code class="directive"><a href="./mod/mod_mime.html#addoutputfilter">AddOutputFilter</a></code></li><li><code class="directive"><a href="./mod/mod_mime.html#removeinputfilter">RemoveInputFilter</a></code></li><li><code class="directive"><a href="./mod/mod_mime.html#removeoutputfilter">RemoveOutputFilter</a></code></li><li><code class="directive"><a href="./mod/mod_reflector.html#reflectorheader">ReflectorHeader</a></code></li><li><code class="directive"><a href="./mod/mod_ext_filter.html#extfilterdefine">ExtFilterDefine</a></code></li><li><code class="directive"><a href="./mod/mod_ext_filter.html#extfilteroptions">ExtFilterOptions</a></code></li><li><code class="directive"><a href="./mod/core.html#setinputfilter">SetInputFilter</a></code></li><li><code class="directive"><a href="./mod/core.html#setoutputfilter">SetOutputFilter</a></code></li></ul></td></tr></table>
<p>La chaîne de filtrage est disponible depuis la version 2.0 d'Apache,
et permet aux applications de traiter les données en entrée et en sortie
<?xml-stylesheet type="text/xsl" href="./style/manual.fr.xsl"?>
<!-- French translation : Lucien GENTIS -->
<!-- Reviewed by : Vincent Deffontaines -->
-<!-- English Revision : 1234033 -->
+<!-- English Revision: 1234033:1334033 (outdated) -->
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
<a href="../ko/howto/auth.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
<a href="../tr/howto/auth.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
</div>
-<div class="outofdate">Cette traduction peut être périmée. Vérifiez la version
- anglaise pour les changements récents.</div>
<p>L'authentification est un processus qui vous permet de vérifier
qu'une personne est bien celle qu'elle prétend être. L'autorisation
Require ip 192.168.205
Require host phishers.example.com moreidiots.example
Require host ke
- </RequireNone>
+ </RequireNone>
</RequireAll>
</pre>
<variants>
<variant>en</variant>
- <variant outdated="yes">fr</variant>
+ <variant>fr</variant>
<variant outdated="yes">ja</variant>
<variant outdated="yes">ko</variant>
<variant outdated="yes">tr</variant>
<a href="../ja/howto/cgi.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
<a href="../ko/howto/cgi.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p>
</div>
-<div class="outofdate">Cette traduction peut être périmée. Vérifiez la version
- anglaise pour les changements récents.</div>
</div>
<div id="quickview"><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#intro">Introduction</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#configuring">Configurer Apache pour autoriser CGI</a></li>
<variants>
<variant>en</variant>
- <variant outdated="yes">fr</variant>
+ <variant>fr</variant>
<variant outdated="yes">ja</variant>
<variant outdated="yes">ko</variant>
</variants>
<a href="../ko/howto/htaccess.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
<a href="../pt-br/howto/htaccess.html" hreflang="pt-br" rel="alternate" title="Português (Brasil)"> pt-br </a></p>
</div>
-<div class="outofdate">Cette traduction peut être périmée. Vérifiez la version
- anglaise pour les changements récents.</div>
<p>Les fichiers <code>.htaccess</code> fournissent une méthode pour
modifier la configuration du serveur au niveau de chaque répertoire.</p>
<div class="example"><h3>Section de votre fichier
<code>httpd.conf</code></h3><pre class="prettyprint lang-config">
-<Directory /www/htdocs/example><br />
- AddType text/example .exm<br />
+<Directory /www/htdocs/example>
+ AddType text/example .exm
</Directory>
</pre>
</div>
<pre class="prettyprint lang-config">
<Directory /www/htdocs>
- Allowoverride All
+ AllowOverride All
</Directory>
<Location />
<variants>
<variant>en</variant>
- <variant outdated="yes">fr</variant>
+ <variant>fr</variant>
<variant outdated="yes">ja</variant>
<variant outdated="yes">ko</variant>
<variant outdated="yes">pt-br</variant>
<a href="../ko/howto/public_html.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
<a href="../tr/howto/public_html.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
</div>
-<div class="outofdate">Cette traduction peut être périmée. Vérifiez la version
- anglaise pour les changements récents.</div>
<p>Sur les systèmes multi-utilisateurs, on peut permettre à chaque
utilisateur d'avoir un site web dans son répertoire home à l'aide de la
<variants>
<variant>en</variant>
- <variant outdated="yes">fr</variant>
+ <variant>fr</variant>
<variant outdated="yes">ja</variant>
<variant outdated="yes">ko</variant>
<variant outdated="yes">tr</variant>
<a href="../ja/howto/ssi.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
<a href="../ko/howto/ssi.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p>
</div>
-<div class="outofdate">Cette traduction peut être périmée. Vérifiez la version
- anglaise pour les changements récents.</div>
<p>Les SSI permettent d'ajouter du contenu dynamique à des documents
HTML préexistants.</p>
<variants>
<variant>en</variant>
- <variant outdated="yes">fr</variant>
+ <variant>fr</variant>
<variant outdated="yes">ja</variant>
<variant outdated="yes">ko</variant>
</variants>
<a href="./ko/install.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
<a href="./tr/install.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
</div>
-<div class="outofdate">Cette traduction peut être périmée. Vérifiez la version
- anglaise pour les changements récents.</div>
<p>Ce document couvre l'installation et la compilation du serveur
<dt>APR et APR-Util</dt>
<dd>APR et APR-Util doivent être déjà installés sur votre système.
Si ce n'est pas le cas, ou si vous préférez ne pas utiliser les
- versions fournies avec le système, téléchargez les dernières
+ versions fournies par le système, téléchargez les dernières
versions d'APR et APR-Util depuis <a href="http://apr.apache.org/">Apache APR</a>, décompressez-les
- dans <code>./srclib/apr</code> et <code>./srclib/apr-util</code>
- (assurez-vous que les noms de répertoires ne comportent pas de
- numéro de version ; par exemple, la distribution APR doit se
- trouver dans ./srclib/apr/), et utilisez l'option
- <code>--with-included-apr</code> du script
+ respectivement dans <code>./srclib/apr</code> et
+ <code>./srclib/apr-util</code> (les noms des répertoires ne
+ doivent pas comporter de numéros de versions ; par exemple, la
+ distribution d'APR doit se trouver dans ./srclib/apr/), et
+ utilisez l'option <code>--with-included-apr</code> du script
<code>./configure</code>. Sur certaines plateformes, vous devrez
peut-être installer les paquets <code>-dev</code> correspondants
- pour permettre la compilation de httpd avec la version
- installée de PCRE.</dd>
+ pour permettre la compilation de httpd avec les versions
+ installées d'APR et APR-Util.</dd>
<dt>Bibliothèque d'expressions rationnelles compatibles Perl
(PCRE)</dt>
<variant outdated="yes">de</variant>
<variant>en</variant>
<variant outdated="yes">es</variant>
- <variant outdated="yes">fr</variant>
+ <variant>fr</variant>
<variant outdated="yes">ja</variant>
<variant outdated="yes">ko</variant>
<variant outdated="yes">tr</variant>
<a href="../ja/mod/core.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
<a href="../tr/mod/core.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
</div>
-<div class="outofdate">Cette traduction peut être périmée. Vérifiez la version
- anglaise pour les changements récents.</div>
<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Fonctionnalités de base du serveur HTTP Apache toujours
disponibles</td></tr>
<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Core</td></tr></table>
</pre>
+ <p>Vous pouvez aussi utiliser cette directive pour associer un
+ gestionnaire à des fichiers possèdant une extension de nom de
+ fichier particulière. Par exemple :</p>
+
+ <pre class="prettyprint lang-config">
+<FilesMatch \.php$>
+ SetHandler application/x-httpd-php
+</FilesMatch>
+ </pre>
+
+
<p>Vous pouvez écraser la définition antérieure d'une directive
<code class="directive">SetHandler</code> en utilisant la valeur
<code>None</code>.</p>
<variant outdated="yes">de</variant>
<variant>en</variant>
<variant outdated="yes">es</variant>
- <variant outdated="yes">fr</variant>
+ <variant>fr</variant>
<variant outdated="yes">ja</variant>
<variant outdated="yes">tr</variant>
</variants>
<a href="../ja/mod/mod_actions.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
<a href="../ko/mod/mod_actions.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p>
</div>
-<div class="outofdate">Cette traduction peut être périmée. Vérifiez la version
- anglaise pour les changements récents.</div>
<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Ce module permet l'exécution des scripts CGI en fonction du
type de média ou de la méthode de requête.</td></tr>
<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Base</td></tr>
requête particulière est transmis à l'aide de la variable
<code>REDIRECT_HANDLER</code>.</p>
- <div class="example"><h3>Exemple : type MIME</h3><p><code>
- # Requêtes concernant des fichiers possédant un type de contenu
- # MIME particulier :<br />
- Action image/gif /cgi-bin/images.cgi<br />
- <br />
- </code></p></div>
+ <div class="example"><h3>Exemple : type MIME</h3><pre class="prettyprint lang-config">
+# Requests for files of a particular MIME content type:
+Action image/gif /cgi-bin/images.cgi
+ </pre>
+</div>
<p>Dans cet exemple, les requêtes pour des fichiers possédant
le type de contenu MIME <code>image/gif</code> seront traitées par
le script CGI <code>/cgi-bin/images.cgi</code>.</p>
- <div class="example"><h3>Example: extension de nom de fichier</h3><p><code>
- # Fichiers dont le nom possède une extension particulière<br />
- AddHandler mon-type-de-fichier .xyz<br />
- Action mon-type-de-fichier /cgi-bin/program.cgi<br />
- </code></p></div>
-
+ <div class="example"><h3>Example: File extension</h3><pre class="prettyprint lang-config">
+# Files of a particular file extension
+AddHandler my-file-type .xyz
+Action my-file-type /cgi-bin/program.cgi
+ </pre>
+</div>
<p>Dans cet exemple, les requêtes pour des fichiers possédant
l'extension <code>.xyz</code> seront traitées par
le script CGI <code>/cgi-bin/programme.cgi</code>.</p>
directive <code class="directive">Action</code> pour des localisations
virtuelles.</p>
- <div class="example"><h3>Exemple</h3><p><code>
- <Location /news><br />
- <span class="indent">
- SetHandler news-handler<br />
- Action news-handler /cgi-bin/news.cgi virtual<br />
- </span>
- </Location>
- </code></p></div>
+ <pre class="prettyprint lang-config">
+<Location /news>
+ SetHandler news-handler
+ Action news-handler /cgi-bin/news.cgi virtual
+</Location>
+ </pre>
+
<h3>Voir aussi</h3>
<ul>
foo.html?hi). Dans le cas contraire, la requête sera traitée
normalement.</p>
- <div class="example"><h3>Exemples</h3><p><code>
- # Toutes les requêtes GET aboutissent ici<br />
- Script GET /cgi-bin/search<br />
- <br />
- # Un gestionnaire CGI pour la méthode PUT<br />
- Script PUT /~bob/put.cgi<br />
- </code></p></div>
+ <pre class="prettyprint lang-config">
+# All GET requests go here
+Script GET /cgi-bin/search
+
+# A CGI PUT handler
+Script PUT /~bob/put.cgi
+ </pre>
+
</div>
</div>
<variants>
<variant outdated="yes">de</variant>
<variant>en</variant>
- <variant outdated="yes">fr</variant>
+ <variant>fr</variant>
<variant outdated="yes">ja</variant>
<variant outdated="yes">ko</variant>
</variants>
<a href="../ja/mod/mod_asis.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
<a href="../ko/mod/mod_asis.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p>
</div>
-<div class="outofdate">Cette traduction peut être périmée. Vérifiez la version
- anglaise pour les changements récents.</div>
<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Envoie des fichiers contenant leurs propres en-têtes
HTTP</td></tr>
<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Base</td></tr>
<p>Dans le fichier de configuration, associez les fichiers asis au
gestionnaire <code>send-as-is</code> comme ceci :</p>
- <div class="example"><p><code>AddHandler send-as-is asis</code></p></div>
+ <pre class="prettyprint lang-config">AddHandler send-as-is asis</pre>
+
<p>Le contenu de tout fichier possédant l'extension
<code>.asis</code> sera envoyé par Apache httpd au client pratiquement tel
<variants>
<variant>en</variant>
- <variant outdated="yes">fr</variant>
+ <variant>fr</variant>
<variant outdated="yes">ja</variant>
<variant outdated="yes">ko</variant>
</variants>
<a href="../ja/mod/mod_auth_basic.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
<a href="../ko/mod/mod_auth_basic.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p>
</div>
-<div class="outofdate">Cette traduction peut être périmée. Vérifiez la version
- anglaise pour les changements récents.</div>
<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Authentification de base</td></tr>
<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Base</td></tr>
<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>auth_basic_module</td></tr>
implémentant le fournisseur choisi soit bien présent dans le
serveur.</p>
- <div class="example"><h3>Exemple</h3><p><code>
- <Location /secure><br />
- <span class="indent">
- AuthType basic<br />
- AuthName "private area"<br />
- AuthBasicProvider dbm<br />
- AuthDBMType SDBM<br />
- AuthDBMUserFile /www/etc/dbmpasswd<br />
- Require valid-user<br />
- </span>
- </Location>
- </code></p></div>
-
+ <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">
+<Location /secure>
+ AuthType basic
+ AuthName "private area"
+ AuthBasicProvider dbm
+ AuthDBMType SDBM
+ AuthDBMUserFile /www/etc/dbmpasswd
+ Require valid-user
+</Location>
+ </pre>
+</div>
<p>Les fournisseurs sont sollicités dans l'ordre jusqu'à ce que l'un
d'entre eux trouve une correspondance pour le nom d'utilisateur de
la requête ; alors, ce dernier fournisseur sera le seul à vérifier
<variants>
<variant>en</variant>
- <variant outdated="yes">fr</variant>
+ <variant>fr</variant>
<variant outdated="yes">ja</variant>
<variant outdated="yes">ko</variant>
</variants>
<a href="../fr/mod/mod_auth_digest.html" title="Français"> fr </a> |
<a href="../ko/mod/mod_auth_digest.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p>
</div>
-<div class="outofdate">Cette traduction peut être périmée. Vérifiez la version
- anglaise pour les changements récents.</div>
<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Authentification utilisateur utilisant les condensés
MD5</td></tr>
<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
<p>On peut créer les fichiers utilisateur appropriés (au format
texte) à l'aide de l'outil <code class="program"><a href="../programs/htdigest.html">htdigest</a></code>.</p>
- <div class="example"><h3>Exemple :</h3><p><code>
- <Location /private/><br />
- <span class="indent">
- AuthType Digest<br />
- AuthName "private area"<br />
- AuthDigestDomain /private/ http://mirror.my.dom/private2/<br />
- <br />
- AuthDigestProvider file<br />
- AuthUserFile /web/auth/.digest_pw<br />
- Require valid-user<br />
- </span>
- </Location>
- </code></p></div>
+ <div class="example"><h3>Exemple :</h3><pre class="prettyprint lang-config">
+<Location /private/>
+ AuthType Digest
+ AuthName "private area"
+ AuthDigestDomain /private/ http://mirror.my.dom/private2/
+
+ AuthDigestProvider file
+ AuthUserFile /web/auth/.digest_pw
+ Require valid-user
+</Location>
+ </pre>
+</div>
<div class="note"><h3>Note</h3>
<p>L'authentification à base de condensés MD5 est plus sécurisée que
ceci :</p>
<div class="example"><h3>Utilisation de l'authentification à base de condensé
- avec MSIE :</h3><p><code>
- BrowserMatch "MSIE" AuthDigestEnableQueryStringHack=On
- </code></p></div>
+ avec MSIE :</h3><pre class="prettyprint lang-config">
+ BrowserMatch "MSIE" AuthDigestEnableQueryStringHack=On
+ </pre>
+</div>
<p>Cette correction n'est pas nécessaire avec MSIE 7, bien que son
activation ne pose pas de problème de compatibilité ou de surcharge
MégaOctets. Par exemple, les directives qui suivent sont toutes
équivalentes :</p>
- <div class="example"><p><code>
- AuthDigestShmemSize 1048576<br />
- AuthDigestShmemSize 1024K<br />
- AuthDigestShmemSize 1M
- </code></p></div>
+ <pre class="prettyprint lang-config">
+AuthDigestShmemSize 1048576
+AuthDigestShmemSize 1024K
+AuthDigestShmemSize 1M
+ </pre>
+
</div>
</div>
<variants>
<variant>en</variant>
- <variant outdated="yes">fr</variant>
+ <variant>fr</variant>
<variant outdated="yes">ko</variant>
</variants>
</metafile>
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_authn_core.html" hreflang="en" rel="alternate" title="English"> en </a> |
<a href="../fr/mod/mod_authn_core.html" title="Français"> fr </a></p>
</div>
-<div class="outofdate">Cette traduction peut être périmée. Vérifiez la version
- anglaise pour les changements récents.</div>
<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Le noyau de l'authentification</td></tr>
<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Base</td></tr>
<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>authn_core_module</td></tr>
textes différents.</p>
<div class="example"><h3>Vérification dans plusieurs fichiers de mots de
- passe au format texte</h3><p><code>
+ passe au format texte</h3><pre class="prettyprint lang-config">
+# Première vérification
+<AuthnProviderAlias file file1>
+ AuthUserFile /www/conf/passwords1
+</AuthnProviderAlias>
- # On vérifie tout d'abord ici<br />
- <AuthnProviderAlias file file1><br />
- <span class="indent">
- AuthUserFile /www/conf/passwords1<br />
- </span>
- </AuthnProviderAlias><br />
- <br />
- # On vérifie ensuite là<br />
- <AuthnProviderAlias file file2> <br />
- <span class="indent">
- AuthUserFile /www/conf/passwords2<br />
- </span>
- </AuthnProviderAlias><br />
- <br />
- <Directory /var/web/pages/secure><br />
- <span class="indent">
- AuthBasicProvider file1 file2<br />
- <br />
- AuthType Basic<br />
- AuthName "Zone protégée"<br />
- Require valid-user<br />
- </span>
- </Directory><br />
- </code></p></div>
+# Vérification suivante
+<AuthnProviderAlias file file2>
+ AuthUserFile /www/conf/passwords2
+</AuthnProviderAlias>
+
+<Directory /var/web/pages/secure>
+ AuthBasicProvider file1 file2
+
+ AuthType Basic
+ AuthName "Protected Area"
+ Require valid-user
+</Directory>
+ </pre>
+</div>
ldap :</p>
<div class="example"><h3>Vérification auprès de plusieurs serveurs
- LDAP</h3><p><code>
- <AuthnProviderAlias ldap alias-ldap><br />
- <span class="indent">
- AuthLDAPBindDN cn=utilisateur,o=ctx<br />
- AuthLDAPBindPassword mot-de-passe<br />
- AuthLDAPURL ldap://serveur.ldap/o=ctx<br />
- </span>
- </AuthnProviderAlias><br /><br />
- <AuthnProviderAlias ldap autre-alias-ldap><br />
- <span class="indent">
- AuthLDAPBindDN cn=autre-utilisateur,o=dev<br />
- AuthLDAPBindPassword autre-mot-de-passe<br />
- AuthLDAPURL ldap://autre.serveur.ldap/o=dev?cn<br />
- </span>
- </AuthnProviderAlias><br /><br />
+ LDAP</h3><pre class="prettyprint lang-config">
+<AuthnProviderAlias ldap ldap-alias1>
+ AuthLDAPBindDN cn=youruser,o=ctx
+ AuthLDAPBindPassword yourpassword
+ AuthLDAPURL ldap://ldap.host/o=ctx
+ </AuthnProviderAlias>
+ <AuthnProviderAlias ldap ldap-other-alias>
+ AuthLDAPBindDN cn=yourotheruser,o=dev
+ AuthLDAPBindPassword yourotherpassword
+ AuthLDAPURL ldap://other.ldap.host/o=dev?cn
+</AuthnProviderAlias>
- Alias /secure /webpages/secure<br />
- <Directory /webpages/secure><br />
- <span class="indent">
- Order deny,allow<br />
- Allow from all<br /><br />
-
- AuthBasicProvider autre-alias-ldap alias-ldap <br /><br />
-
- AuthType Basic<br />Exemple
- AuthName Zone_protégée_par_LDAP<br />
- Require valid-user<br />
- </span>
- </Directory><br />
- </code></p></div>
+Alias /secure /webpages/secure
+<Directory /webpages/secure>
+ Order deny,allow
+ Allow from all
+
+ AuthBasicProvider ldap-other-alias ldap-alias1
+
+ AuthType Basic
+ AuthName LDAP_Protected Place
+ Require valid-user
+</Directory>
+ </pre>
+</div>
</div>
<p>Par exemple :</p>
- <div class="example"><p><code>
+ <pre class="prettyprint lang-config">
AuthName "Top Secret"
- </code></p></div>
+ </pre>
+
<p>La chaîne fournie comme argument à <code>AuthName</code>
apparaîtra dans la boîte de dialogue d'authentification pour la
l'exemple suivant, les clients peuvent accéder au répertoire
<code>/www/docs/public</code> sans devoir s'authentifier :</p>
- <div class="example"><p><code>
- <Directory /www/docs>
- <span class="indent">
- AuthType Basic<br />
- AuthName Documents<br />
- AuthBasicProvider file<br />
- AuthUserFile /usr/local/apache/passwd/passwords<br />
- Require valid-user
- </span>
- </Directory><br />
- <br />
- <Directory /www/docs/public>
- <span class="indent">
- AuthType None<br />
- Require all granted
- </span>
- </Directory>
- </code></p></div>
+ <pre class="prettyprint lang-config">
+<Directory /www/docs>
+ AuthType Basic
+ AuthName Documents
+ AuthBasicProvider file
+ AuthUserFile /usr/local/apache/passwd/passwords
+ Require valid-user
+</Directory>
+
+<Directory /www/docs/public>
+ AuthType None
+ Require all granted
+</Directory>
+ </pre>
+
<div class="note">Veuillez noter que, lorsque l'authentification n'est pas
activée, les clients qui se sont déjà authentifiés pour une autre
<variants>
<variant>en</variant>
- <variant outdated="yes">fr</variant>
+ <variant>fr</variant>
</variants>
</metafile>
inefficient; <code class="directive"><a href="../mod/mod_authn_dbm.html#authdbmuserfile">AuthDBMUserFile</a></code> should be used
instead.</p>
- <p>For <code class="module"><a href="../mod/mod_authn_digest.html">mod_authn_digest</a></code>, use <code class="program"><a href="../programs/htdigest.html">htdigest</a></code>
+ <p>For <code class="module"><a href="../mod/mod_auth_digest.html">mod_auth_digest</a></code>, use <code class="program"><a href="../programs/htdigest.html">htdigest</a></code>
instead. Note that you cannot mix user data for Digest Authentication
and Basic Authentication within the same file.</p>
<p>Le format du mot de passe chiffré dépend du frontal
d'authentification utilisé (par exemple
- <code class="module"><a href="../mod/mod_authn_basic.html">mod_authn_basic</a></code> ou
- <code class="module"><a href="../mod/mod_authn_digest.html">mod_authn_digest</a></code>). Voir la documentation sur les
+ <code class="module"><a href="../mod/mod_auth_basic.html">mod_auth_basic</a></code> ou
+ <code class="module"><a href="../mod/mod_auth_digest.html">mod_auth_digest</a></code>). Voir la documentation sur les
<a href="../misc/password_encryptions.html">Formats de mots de
passe</a> pour plus de détails.</p>
- <p>Pour <code class="module"><a href="../mod/mod_authn_basic.html">mod_authn_basic</a></code>, utilisez le programme
+ <p>Pour <code class="module"><a href="../mod/mod_auth_basic.html">mod_auth_basic</a></code>, utilisez le programme
<code class="program"><a href="../programs/htpasswd.html">htpasswd</a></code> fourni avec la distribution binaire,
mais que vous trouverez aussi dans le répertoire
<code>src/support</code> de l'arborescence des sources. Voir sa <a href="../programs/htpasswd.html">page de manuel</a> pour plus de
très longue ; dans ce cas, il vaut mieux utiliser les fichiers DBM
avec la directive <code class="directive"><a href="../mod/mod_authn_dbm.html#authdbmuserfile">AuthDBMUserFile</a></code>.</p>
- <p>Pour <code class="module"><a href="../mod/mod_authn_digest.html">mod_authn_digest</a></code>, vous devez utiliser
+ <p>Pour <code class="module"><a href="../mod/mod_auth_digest.html">mod_auth_digest</a></code>, vous devez utiliser
le programme <code class="program"><a href="../programs/htdigest.html">htdigest</a></code>.
Notez que vous ne pouvez pas mélanger des données utilisateur pour
l'Authentification HTTP à base de condensé et des données pour
<?xml version="1.0"?>
<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
<?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?>
-<!-- English Revision : 1336857 -->
+<!-- English Revision: 1336857:1342921 (outdated) -->
<!-- French translation : Lucien GENTIS -->
<!-- Reviewed by : Vincent Deffontaines -->
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
<?xml-stylesheet type="text/xsl" href="../style/manual.ja.xsl"?>
-<!-- English Revision: 420990:1336857 (outdated) -->
+<!-- English Revision: 420990:1342921 (outdated) -->
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
<?xml version="1.0" encoding="EUC-KR" ?>
<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
<?xml-stylesheet type="text/xsl" href="../style/manual.ko.xsl"?>
-<!-- English Revision: 105989:1336857 (outdated) -->
+<!-- English Revision: 105989:1342921 (outdated) -->
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_authnz_ldap.html" hreflang="en" rel="alternate" title="English"> en </a> |
<a href="../fr/mod/mod_authnz_ldap.html" title="Français"> fr </a></p>
</div>
-<div class="outofdate">Cette traduction peut être périmée. Vérifiez la version
- anglaise pour les changements récents.</div>
<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Permet d'utiliser un annuaire LDAP pour l'authentification
HTTP de base.</td></tr>
<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
<code>cn</code> sera utilisé pour les recherches), on pourra
utiliser les directives Require suivantes pour restreindre l'accès
:</p>
-<div class="example"><p><code>
-Require ldap-user "Barbara Jenson"<br />
-Require ldap-user "Fred User"<br />
-Require ldap-user "Joe Manager"<br />
-</code></p></div>
+<pre class="prettyprint lang-config">
+Require ldap-user "Barbara Jenson"
+Require ldap-user "Fred User"
+Require ldap-user "Joe Manager"
+</pre>
+
<p>De par la manière dont <code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code> traite
cette directive, Barbara Jenson peut s'authentifier comme
<p>Si l'attribut <code>uid</code> avait été spécifié à la place de
l'attribut <code>cn</code> dans l'URL précédente, les trois lignes
ci-dessus auraient pû être condensées en une seule ligne :</p>
-<div class="example"><p><code>Require ldap-user bjenson fuser jmanager</code></p></div>
+<pre class="prettyprint lang-config">Require ldap-user bjenson fuser jmanager</pre>
+
<h3><a name="reqgroup" id="reqgroup">Require ldap-group</a></h3>
DN du groupe LDAP. Note : n'entourez pas le nom du groupe avec des
guillemets. Par exemple, supposons que l'entrée suivante existe dans
l'annuaire LDAP :</p>
-<div class="example"><p><code>
-dn: cn=Administrators, o=Example<br />
-objectClass: groupOfUniqueNames<br />
-uniqueMember: cn=Barbara Jenson, o=Example<br />
-uniqueMember: cn=Fred User, o=Example<br />
-</code></p></div>
+<div class="example"><pre>
+dn: cn=Administrators, o=Example
+objectClass: groupOfUniqueNames
+uniqueMember: cn=Barbara Jenson, o=Example
+uniqueMember: cn=Fred User, o=Example
+</pre></div>
<p>La directive suivante autoriserait alors l'accès à Fred et
Barbara :</p>
-<div class="example"><p><code>Require ldap-group cn=Administrators, o=Example</code></p></div>
+<pre class="prettyprint lang-config">Require ldap-group cn=Administrators, o=Example</pre>
+
<p>Les membres peuvent aussi se trouver dans les sous-groupes du
groupe LDAP spécifié si la directive <code class="directive"><a href="#authldapmaxsubgroupdepth">AuthLDAPMaxSubGroupDepth</a></code> a été
définie à une valeur supérieure à 0. Par exemple, supposons que les
entrées suivantes existent dans l'annuaire LDAP :</p>
-<div class="example"><p><code>
-dn: cn=Employees, o=Example<br />
-objectClass: groupOfUniqueNames<br />
-uniqueMember: cn=Managers, o=Example<br />
-uniqueMember: cn=Administrators, o=Example<br />
-uniqueMember: cn=Users, o=Example<br />
-<br />
-dn: cn=Managers, o=Example<br />
-objectClass: groupOfUniqueNames<br />
-uniqueMember: cn=Bob Ellis, o=Example<br />
-uniqueMember: cn=Tom Jackson, o=Example<br />
-<br />
-dn: cn=Administrators, o=Example<br />
-objectClass: groupOfUniqueNames<br />
-uniqueMember: cn=Barbara Jenson, o=Example<br />
-uniqueMember: cn=Fred User, o=Example<br />
-<br />
-dn: cn=Users, o=Example<br />
-objectClass: groupOfUniqueNames<br />
-uniqueMember: cn=Allan Jefferson, o=Example<br />
-uniqueMember: cn=Paul Tilley, o=Example<br />
-uniqueMember: cn=Temporary Employees, o=Example<br />
-<br />
-dn: cn=Temporary Employees, o=Example<br />
-objectClass: groupOfUniqueNames<br />
-uniqueMember: cn=Jim Swenson, o=Example<br />
-uniqueMember: cn=Elliot Rhodes, o=Example<br />
-</code></p></div>
+<div class="example"><pre>
+dn: cn=Employees, o=Example
+objectClass: groupOfUniqueNames
+uniqueMember: cn=Managers, o=Example
+uniqueMember: cn=Administrators, o=Example
+uniqueMember: cn=Users, o=Example
+
+dn: cn=Managers, o=Example
+objectClass: groupOfUniqueNames
+uniqueMember: cn=Bob Ellis, o=Example
+uniqueMember: cn=Tom Jackson, o=Example
+
+dn: cn=Administrators, o=Example
+objectClass: groupOfUniqueNames
+uniqueMember: cn=Barbara Jenson, o=Example
+uniqueMember: cn=Fred User, o=Example
+
+dn: cn=Users, o=Example
+objectClass: groupOfUniqueNames
+uniqueMember: cn=Allan Jefferson, o=Example
+uniqueMember: cn=Paul Tilley, o=Example
+uniqueMember: cn=Temporary Employees, o=Example
+
+dn: cn=Temporary Employees, o=Example
+objectClass: groupOfUniqueNames
+uniqueMember: cn=Jim Swenson, o=Example
+uniqueMember: cn=Elliot Rhodes, o=Example
+</pre></div>
<p>Les directives suivantes autoriseraient alors l'accès à Bob
Ellis, Tom Jackson, Barbara Jensen, Fred User, Allan Jefferson, et
Paul Tilley, mais l'interdiraient à Jim Swenson, ou Elliot Rhodes
(car ils sont situés dans un sous-groupe de niveau de profondeur 2)
:</p>
-<div class="example"><p><code>
-Require ldap-group cn=Employees, o-Example<br />
-AuthLDAPSubGroupDepth 1<br />
-</code></p></div>
+<pre class="prettyprint lang-config">
+Require ldap-group cn=Employees, o-Example
+AuthLDAPMaxSubGroupDepth 1
+</pre>
+
<p>Le comportement de cette directive est modifié par les directives
<code class="directive"><a href="#authldapgroupattribute">AuthLDAPGroupAttribute</a></code>,
<p>La directive suivante accorderait l'accès à un DN spécifique
:</p>
-<div class="example"><p><code>Require ldap-dn cn=Barbara Jenson, o=Example</code></p></div>
+<pre class="prettyprint lang-config">Require ldap-dn cn=Barbara Jenson, o=Example</pre>
+
<p>Le comportement ce cette directive est modifié par la directive
<code class="directive"><a href="#authldapcomparednonserver">AuthLDAPCompareDNOnServer</a></code>.</p>
<p>La directive suivante accorderait l'autorisation d'accès à tout
utilisateur dont l'attribut employeeType a pour valeur "actif" :</p>
- <div class="example"><p><code>Require ldap-attribute employeeType=actif</code></p></div>
+ <pre class="prettyprint lang-config">Require ldap-attribute employeeType=active</pre>
+
<p>Plusieurs paires attribut/valeur peuvent être spécifiées par une
même directive en les séparant par des espaces, ou en définissant
utilisateur dont l'attribut city aurait pour valeur "San Jose", ou
donc l'attribut status aurait pour valeur "actif" :</p>
- <div class="example"><p><code>Require ldap-attribute city="San Jose" status=actif</code></p></div>
+ <pre class="prettyprint lang-config">Require ldap-attribute city="San Jose" status=active</pre>
+
utilisateur possédant un téléphone cellulaire et faisant partie du
département "marketing" :</p>
- <div class="example"><p><code>Require ldap-filter &(cell=*)(department=marketing)</code></p></div>
+ <pre class="prettyprint lang-config">Require ldap-filter &(cell=*)(department=marketing)</pre>
+
<p>Alors que la directive <code>Require ldap-attribute</code> se
contente d'une simple comparaison d'attributs, la directive
Accorde l'autorisation d'accès à tout utilisateur présent dans
l'annuaire LDAP, en utilisant son UID pour effectuer la
recherche :
-<div class="example"><p><code>
-AuthLDAPURL "ldap://ldap1.example.com:389/ou=People, o=Example?uid?sub?(objectClass=*)"<br />
+<pre class="prettyprint lang-config">
+AuthLDAPURL "ldap://ldap1.example.com:389/ou=People, o=Example?uid?sub?(objectClass=*)"
Require valid-user
-</code></p></div>
+</pre>
+
</li>
<li>
L'exemple suivant est similaire au précédent, mais les champs
dont les valeurs par défaut conviennent sont omis. Notez aussi
la présence d'un annuaire LDAP redondant :
-<div class="example"><p><code>AuthLDAPURL "ldap://ldap1.example.com ldap2.example.com/ou=People, o=Example"<br />
+<pre class="prettyprint lang-config">AuthLDAPURL "ldap://ldap1.example.com ldap2.example.com/ou=People, o=Example"
Require valid-user
-</code></p></div>
+</pre>
+
</li>
<li>
approche n'est pas recommandée : il est préférable de choisir un
attribut de votre annuaire dont l'unicité soit garantie, comme
<code>uid</code>.
-<div class="example"><p><code>
-AuthLDAPURL "ldap://ldap.example.com/ou=People, o=Example?cn"<br />
+<pre class="prettyprint lang-config">
+AuthLDAPURL "ldap://ldap.example.com/ou=People, o=Example?cn"
Require valid-user
-</code></p></div>
+</pre>
+
</li>
<li>
Accorde l'autorisation d'accès à tout utilisateur appartenant au
groupe Administrateurs. Les utilisateurs doivent s'authentifier
en utilisant leur UID :
-<div class="example"><p><code>
-AuthLDAPURL ldap://ldap.example.com/o=Example?uid<br />
+<pre class="prettyprint lang-config">
+AuthLDAPURL ldap://ldap.example.com/o=Example?uid
Require ldap-group cn=Administrators, o=Example
-</code></p></div>
+</pre>
+
</li>
<li>
attribut LDAP <code>qpagePagerID</code>. Seuls ces utilisateurs
(authentifiés via leur UID) se verront accorder l'autorisation
d'accès :
-<div class="example"><p><code>
-AuthLDAPURL ldap://ldap.example.com/o=Example?uid??(qpagePagerID=*)<br />
+<pre class="prettyprint lang-config">
+AuthLDAPURL ldap://ldap.example.com/o=Example?uid??(qpagePagerID=*)
Require valid-user
-</code></p></div>
+</pre>
+
</li>
<li>
tout utilisateur disposant d'un bippeur ainsi qu'à Joe Manager
qui ne possède pas de bippeur, mais doit tout de même pouvoir
accéder à la ressource :</p>
-<div class="example"><p><code>
-AuthLDAPURL ldap://ldap.example.com/o=Example?uid??(|(qpagePagerID=*)(uid=jmanager))<br />
+<pre class="prettyprint lang-config">
+AuthLDAPURL ldap://ldap.example.com/o=Example?uid??(|(qpagePagerID=*)(uid=jmanager))
Require valid-user
-</code></p></div>
+</pre>
+
<p>Ce dernier exemple peut sembler confus au premier abord ; en
fait, il permet de mieux comprendre à quoi doit ressembler le
l'attribut <em>userPrincipalName</em>, avec une base de recherche
vide, comme suit :</p>
-<div class="example"><p><code>
-AuthLDAPBindDN apache@example.com<br />
-AuthLDAPBindPassword password<br />
+<pre class="prettyprint lang-config">
+AuthLDAPBindDN apache@example.com
+AuthLDAPBindPassword password
AuthLDAPURL ldap://10.0.0.1:3268/?userPrincipalName?sub
-</code></p></div>
+</pre>
+
<p>Les utilisateurs devront s'authentifier en entrant leur UPN, de
la forme<em>untel@nz.example.com</em>.</p>
l'authentification LDAP consiste à ajouter les directives suivantes
à <em>chaque</em> fichier <code>.htaccess</code> qui sera créé dans
le site web :</p>
-<div class="example"><pre>
-AuthLDAPURL "l'url"
-AuthGroupFile <em>mon-fichier-de-groupes</em>
-Require group <em>mon-fichier-de-groupes</em>
-</pre></div>
+<pre class="prettyprint lang-config">
+AuthLDAPURL "the url"
+AuthGroupFile mygroupfile
+Require group mygroupfile
+</pre>
+
<h3><a name="howitworks" id="howitworks">Comment ça marche</a></h3>
utiliser de nom d'utilisateur dédié via la directive <code class="directive"><a href="#authldapbinddn">AuthLDAPBindDN</a></code>.
</p>
- <div class="example"><p><code> AuthLDAPInitialBindPattern (.+) $1@example.com </code></p></div>
- <div class="example"><p><code> AuthLDAPInitialBindPattern (.+) cn=$1,dc=example,dc=com</code></p></div>
+ <pre class="prettyprint lang-config"> AuthLDAPInitialBindPattern (.+) $1@example.com </pre>
+
+ <pre class="prettyprint lang-config"> AuthLDAPInitialBindPattern (.+) cn=$1,dc=example,dc=com</pre>
+
<div class="note"><h3>Non disponible dans la cas d'une autorisation seule</h3>
On ne peut utiliser cette directive que si ce module
<h3>Voir aussi</h3>
<ul>
-<li><code class="directive"><a href="#authldapinitialbindasuser">AuthLDAPInitialBindAsUser</a></code></li>
-<li><code class="directive"><a href="#authldapbinddn">AuthLDAPBindDN</a></code></li>
+<li><code class="directive"><a href="../mod/mod_authnnz_ldap.html#authldapinitialbindasuser">AuthLDAPInitialBindAsUser</a></code></li>
+<li><code class="directive"><a href="../mod/mod_authnnz_ldap.html#authldapbinddn">AuthLDAPBindDN</a></code></li>
</ul>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="example"><p><code>ldap://hôte:port/DN-de-base?attribut?portée?filtre</code></p></div>
<p>Si vous souhaitez mettre à la disposition d'Apache plusieurs URLs
LDAP, la syntaxe sera :</p>
-<div class="example"><p><code>AuthLDAPUrl "ldap://ldap1.example.com
-ldap2.example.com/dc=..."</code></p></div>
+<pre class="prettyprint lang-config">AuthLDAPUrl "ldap://ldap1.example.com ldap2.example.com/dc=..."</pre>
+
<p><em><strong>Mise en garde : </strong>Si vous spécifiez plusieurs
serveurs, vous devez en entourer la liste avec des guillemets ; dans le
cas contraire, vous générerez une erreur : "AuthLDAPURL takes one
<variants>
<variant>en</variant>
- <variant outdated="yes">fr</variant>
+ <variant>fr</variant>
</variants>
</metafile>
<a href="../ja/mod/mod_cache_disk.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
<a href="../ko/mod/mod_cache_disk.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p>
</div>
-<div class="outofdate">Cette traduction peut être périmée. Vérifiez la version
- anglaise pour les changements récents.</div>
<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Module de stockage sur disque pour le filtre de mise en
cache HTTP.</td></tr>
<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
<code class="module"><a href="../mod/mod_cache_disk.html">mod_cache_disk</a></code> pour que ce dernier puisse
fonctionner.</p>
</div>
+ <div class="note"><h3>Note :</h3>
<p>Lorsque la plate-forme la supporte, et si elle est activée via la
directive <code class="directive"><a href="../mod/core.html#enablesendfile">EnableSendfile</a></code>,
<code class="module"><a href="../mod/mod_cache_disk.html">mod_cache_disk</a></code> utilise la fonctionnalité sendfile
un contexte de répertoire ou de fichier .htaccess, car le module ne
dispose pas des définitions correspondantes lorsque la requête est
servie depuis le cache.</p>
+ </div>
</div>
<div id="quickview"><h3 class="directives">Directives</h3>
<ul id="toc">
<li><img alt="" src="../images/down.gif" /> <a href="#cachereadtime">CacheReadTime</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#cacheroot">CacheRoot</a></li>
</ul>
-</div>
+<h3>Voir aussi</h3>
+<ul class="seealso">
+<li><code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code></li>
+<li><code class="module"><a href="../mod/mod_cache_socache.html">mod_cache_socache</a></code></li>
+<li><a href="../caching.html">Guide de la mise en cache</a></li>
+</ul></div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="CacheDirLength" id="CacheDirLength">CacheDirLength</a> <a name="cachedirlength" id="cachedirlength">Directive</a></h2>
définir la taille maximale d'un document, en octets, pour que
celui-ci puisse faire l'objet d'un stockage dans le cache.</p>
- <div class="example"><p><code>
+ <pre class="prettyprint lang-config">
CacheMaxFileSize 64000
- </code></p></div>
+ </pre>
+
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
définir la taille minimale d'un document, en octets, pour que
celui-ci puisse faire l'objet d'un stockage dans le cache.</p>
- <div class="example"><p><code>
+ <pre class="prettyprint lang-config">
CacheMinFileSize 64
- </code></p></div>
+ </pre>
+
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
enregistrées dans le cache, et non lorsque les données sont servies à
partir du cache.</p>
- <div class="example"><p><code>
+ <pre class="prettyprint lang-config">
CacheReadSize 102400
- </code></p></div>
+ </pre>
+
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
que le serveur n'effectue pas une mise en tampon excessive au cas
où les données arriveraient plus vite que prévu.</p>
- <div class="example"><p><code>
+ <pre class="prettyprint lang-config">
CacheReadTime 1000
- </code></p></div>
+ </pre>
+
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
définir la structure des sous-répertoires du répertoire racine
spécifié.</p>
- <div class="example"><p><code>
+ <pre class="prettyprint lang-config">
CacheRoot c:/cacheroot
- </code></p></div>
+ </pre>
+
</div>
</div>
<variants>
<variant>en</variant>
- <variant outdated="yes">fr</variant>
+ <variant>fr</variant>
<variant outdated="yes">ja</variant>
<variant outdated="yes">ko</variant>
</variants>
<a href="../ja/mod/mod_deflate.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
<a href="../ko/mod/mod_deflate.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p>
</div>
-<div class="outofdate">Cette traduction peut être périmée. Vérifiez la version
- anglaise pour les changements récents.</div>
<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Comprime le contenu avant de le servir au
client</td></tr>
<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
<p>Voici un exemple simple de configuration pour les
impatients.</p>
- <div class="example"><h3>Ne comprime que certains types de documents</h3><p><code>
+ <div class="example"><h3>Ne comprime que certains types de documents</h3><pre class="prettyprint lang-config">
AddOutputFilterByType DEFLATE text/html text/plain text/xml
- </code></p></div>
+ </pre>
+</div>
<p>La configuration suivante, tout en produisant un contenu encore
plus comprimé, est aussi beaucoup plus compliquée. N'utilisez pas
cet exemple si vous ne comprenez pas tous les détails de la
configuration.</p>
- <div class="example"><h3>Comprime tout, sauf les images</h3><p><code>
- <Location /><br />
- <span class="indent">
- # Insère le filtre<br />
- SetOutputFilter DEFLATE<br />
- <br />
- # Netscape 4.x a quelques problèmes ...<br />
- BrowserMatch ^Mozilla/4 gzip-only-text/html<br />
- <br />
- # Netscape 4.06-4.08 ont d'autres problèmes<br />
- BrowserMatch ^Mozilla/4\.0[678] no-gzip<br />
- <br />
- # MSIE se fait passer pour Netscape, mais ça marche<br />
- BrowserMatch \bMSIE !no-gzip !gzip-only-text/html<br />
- # Ne pas comprimer les images<br />
- SetEnvIfNoCase Request_URI \<br />
- <span class="indent">
- \.(?:gif|jpe?g|png)$ no-gzip dont-vary<br />
- </span>
- <br />
- # On s'assure que les mandataires ne servent pas le mauvais
- # contenu<br />
- Header append Vary User-Agent env=!dont-vary<br />
- </span>
- </Location>
- </code></p></div>
+ <div class="example"><h3>Comprime tout, sauf les images</h3><pre class="prettyprint lang-config">
+<Location />
+ # Insert filter
+ SetOutputFilter DEFLATE
+
+ # Netscape 4.x a quelques problèmes ...
+ BrowserMatch ^Mozilla/4 gzip-only-text/html
+
+ # Netscape 4.06-4.08 ont d'autres problèmes
+ BrowserMatch ^Mozilla/4\.0[678] no-gzip
+
+ # MSIE se fait passer pour Netscape, mais ça marche
+ BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
+ # Ne pas comprimer les images
+ SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png)$ no-gzip dont-vary
+
+ # On s'assure que les mandataires ne servent pas le mauvais
+ # contenu
+ Header append Vary User-Agent env=!dont-vary
+</Location>
+ </pre>
+</div>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
directive suivante active la compression des documents dans le
conteneur où elle est placée :</p>
- <div class="example"><p><code>
+ <pre class="prettyprint lang-config">
SetOutputFilter DEFLATE
- </code></p></div>
+ </pre>
+
<p>Certains navigateurs populaires ne gèrent pas la compression de
tous les contenus, et pour résoudre ce problème, vous pouvez
où la compression n'est activée que pour les fichiers html de la
documentation d'Apache :</p>
- <div class="example"><p><code>
- <Directory "/racine-de-votre-serveur/manual"><br />
- <span class="indent">
- AddOutputFilterByType DEFLATE text/html<br />
- </span>
- </Directory>
- </code></p></div>
+ <pre class="prettyprint lang-config">
+<Directory "/your-server-root/manual">
+ AddOutputFilterByType DEFLATE text/html
+</Directory>
+ </pre>
+
<p>Pour les navigateurs qui ont des problèmes avec la compression
de tous les types de fichiers, vous pouvez utiliser la directive
deuxième. Considérons l'extrait suivant de l'<a href="#recommended">exemple de configuration</a> de la section
précédente :</p>
- <div class="example"><p><code>
- BrowserMatch ^Mozilla/4 gzip-only-text/html<br />
- BrowserMatch ^Mozilla/4\.0[678] no-gzip<br />
- BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
- </code></p></div>
+ <pre class="prettyprint lang-config">
+BrowserMatch ^Mozilla/4 gzip-only-text/html
+BrowserMatch ^Mozilla/4\.0[678] no-gzip
+BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
+ </pre>
+
<p>Tout d'abord, on recherche un en-tête <code>User-Agent</code>
qui signale un navigateur Netscape version 4.x. Ces versions ne
<code class="directive"><a href="../mod/mod_mime.html#addoutputfilter">AddOutputFilter</a></code>, comme
dans l'exemple suivant :</p>
- <div class="example"><p><code>
- <Location /dav-area><br />
- <span class="indent">
- ProxyPass http://example.com/<br />
- SetOutputFilter INFLATE<br />
- </span>
- </Location>
- </code></p></div>
+ <pre class="prettyprint lang-config">
+<Location /dav-area>
+ ProxyPass http://example.com/
+ SetOutputFilter INFLATE
+</Location>
+ </pre>
+
<p>Dans cet exemple, les sorties comprimées par gzip en
provenance de example.com seront décomprimées afin de pouvoir
<code class="directive"><a href="../mod/mod_mime.html#addinputfilter">AddInputFilter</a></code>, comme
dans l'exemple suivant :</p>
- <div class="example"><p><code>
- <Location /dav-area><br />
- <span class="indent">
- SetInputFilter DEFLATE<br />
- </span>
- </Location>
- </code></p></div>
+ <pre class="prettyprint lang-config">
+<Location /dav-area>
+ SetInputFilter DEFLATE
+</Location>
+ </pre>
+
<p>Désormais, si une requête contient un en-tête
<code>Content-Encoding: gzip</code>, son corps sera
<code>DEFLATE</code> dépend du contenu de l'en-tête
<code>User-Agent</code>, vous devez spécifier :</p>
- <div class="example"><p><code>
+ <pre class="prettyprint lang-config">
Header append Vary User-Agent
- </code></p></div>
+ </pre>
+
<p>Si votre décision de comprimer le contenu dépend d'autres
informations que celles contenues dans les en-têtes de la requête
<code>Vary</code> la valeur <code>*</code>, ce qui permet d'empêcher
les mandataires compatibles de tout mettre en cache.</p>
- <div class="example"><h3>Exemple</h3><p><code>
+ <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">
Header set Vary *
- </code></p></div>
+ </pre>
+</div>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="DeflateBufferSize" id="DeflateBufferSize">DeflateBufferSize</a> <a name="deflatebuffersize" id="deflatebuffersize">Directive</a></h2>
d'un argument de la directive. Vous pouvez utiliser cette note à des
fins statistiques en enregistrant sa valeur dans votre <a href="../logs.html#accesslog">journal des accès</a>.</p>
- <div class="example"><h3>Exemple</h3><p><code>
- DeflateFilterNote ratio<br />
- <br />
- LogFormat '"%r" %b (%{ratio}n) "%{User-agent}i"' deflate<br />
+ <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">
+ DeflateFilterNote ratio
+
+ LogFormat '"%r" %b (%{ratio}n) "%{User-agent}i"' deflate
CustomLog logs/deflate_log deflate
- </code></p></div>
+ </pre>
+</div>
<p>Pour extraire des informations plus précises de vos journaux,
vous pouvez utiliser l'argument <var>type</var> pour spécifier le
<p>Vous pouvez donc configurer votre journalisation de la manière
suivante :</p>
- <div class="example"><h3>Journalisation détaillée</h3><p><code>
- DeflateFilterNote Input instream<br />
- DeflateFilterNote Output outstream<br />
- DeflateFilterNote Ratio ratio<br />
- <br />
- LogFormat '"%r" %{outstream}n/%{instream}n (%{ratio}n%%)' deflate<br />
- CustomLog logs/deflate_log deflate
- </code></p></div>
+ <div class="example"><h3>Journalisation détaillée</h3><pre class="prettyprint lang-config">
+DeflateFilterNote Input instream
+DeflateFilterNote Output outstream
+DeflateFilterNote Ratio ratio
+
+LogFormat '"%r" %{outstream}n/%{instream}n (%{ratio}n%%)' deflate
+CustomLog logs/deflate_log deflate
+</pre>
+</div>
<h3>Voir aussi</h3>
<ul>
<variants>
<variant>en</variant>
- <variant outdated="yes">fr</variant>
+ <variant>fr</variant>
<variant outdated="yes">ja</variant>
<variant outdated="yes">ko</variant>
</variants>
<a href="../ja/mod/mod_echo.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
<a href="../ko/mod/mod_echo.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p>
</div>
-<div class="outofdate">Cette traduction peut être périmée. Vérifiez la version
- anglaise pour les changements récents.</div>
<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Un simple serveur d'écho pour illustrer les modules de
protocole</td></tr>
<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr>
<p>La directive <code class="directive">ProtocolEcho</code> permet d'activer
ou de désactiver le serveur d'écho.</p>
- <div class="example"><h3>Exemple</h3><p><code>
+ <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">
ProtocolEcho On
- </code></p></div>
+ </pre>
+</div>
</div>
</div>
<variants>
<variant>en</variant>
- <variant outdated="yes">fr</variant>
+ <variant>fr</variant>
<variant outdated="yes">ja</variant>
<variant outdated="yes">ko</variant>
</variants>
<a href="../ko/mod/mod_env.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
<a href="../tr/mod/mod_env.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
</div>
-<div class="outofdate">Cette traduction peut être périmée. Vérifiez la version
- anglaise pour les changements récents.</div>
<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Modifie l'environnement transmis aux scripts CGI et aux
pages SSI</td></tr>
<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Base</td></tr>
valeurs sont issues de l'environnement natif de l'OS associé au
shell qui a invoqué le processus <code class="program"><a href="../programs/httpd.html">httpd</a></code>.</p>
- <div class="example"><h3>Exemple</h3><p><code>
+ <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">
PassEnv LD_LIBRARY_PATH
- </code></p></div>
+ </pre>
+</div>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
ensuite disponible pour les modules du serveur HTTP Apache et
transmise aux scripts CGI et aux pages SSI.</p>
- <div class="example"><h3>Exemple</h3><p><code>
+ <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">
SetEnv SPECIAL_PATH /foo/bin
- </code></p></div>
+ </pre>
+</div>
<div class="note"><p>Les variables d'environnement internes définies par cette
directive le sont <em>après</em> l'exécution de la plupart des
directives du traitement initial des requêtes, comme les contrôles
<p>Supprime une ou plusieurs variables d'environnement internes parmi celles
qui sont transmises aux scripts CGI et aux pages SSI.</p>
- <div class="example"><h3>Exemple</h3><p><code>
+ <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">
UnsetEnv LD_LIBRARY_PATH
- </code></p></div>
+ </pre>
+</div>
</div>
</div>
<variants>
<variant>en</variant>
- <variant outdated="yes">fr</variant>
+ <variant>fr</variant>
<variant outdated="yes">ja</variant>
<variant outdated="yes">ko</variant>
<variant outdated="yes">tr</variant>
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_lua.html" hreflang="en" rel="alternate" title="English"> en </a> |
<a href="../fr/mod/mod_lua.html" title="Français"> fr </a></p>
</div>
-<div class="outofdate">Cette traduction peut être périmée. Vérifiez la version
- anglaise pour les changements récents.</div>
<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Fournit des points d'entrée Lua dans différentes parties du
traitement des requêtes httpd</td></tr>
<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr>
<p>La directive de base pour le chargement du module est</p>
-<div class="example"><p><code>
+<pre class="prettyprint lang-config">
LoadModule lua_module modules/mod_lua.so
-</code></p></div>
+</pre>
+
<p>
<code>mod_lua</code> fournit un gestionnaire nommé
<code>lua-script</code> qui peut être utilisé avec une directive
<code>AddHandler</code> :</p>
-<div class="example"><p><code>
+<pre class="prettyprint lang-config">
AddHandler lua-script .lua
-</code></p></div>
+</pre>
+
<p>
Ceci aura pour effet de faire traiter les requêtes pour les fichiers
gestionnaire, plutôt que de simplement évaluer le corps d'un script dans
le style de CGI. Une fonction de gestionnaire se présente comme suit :</p>
-<div class="example"><h3>example.lua</h3><pre>
+
+<pre class="prettyprint lang-lua">
+<strong>example.lua</strong>
-- exemple de gestionnaire
require "string"
if r.method == 'GET' then
for k, v in pairs( r:parseargs() ) do
- r:puts( string.format("%s: %s", k, v) )
+ r:puts( string.format("%s: %s\n", k, v) )
end
elseif r.method == 'POST' then
for k, v in pairs( r:parsebody() ) do
- r:puts( string.format("%s: %s", k, v) )
+ r:puts( string.format("%s: %s\n", k, v) )
end
else
r:puts("unknown HTTP method " .. r.method)
end
end
-</pre></div>
+</pre>
+
<p>
Ce gestionnaire se contente d'afficher les arguments codés d'un uri ou
que vous pouvez écrire dans lua sous la forme <code>apache2.OK</code>,
<code>apache2.DONE</code>, ou <code>apache2.DECLINED</code>.</p>
-<div class="example"><h3>translate_name.lua</h3><pre>
+<pre class="prettyprint lang-lua">
+<strong>translate_name.lua</strong>
-- exemple d'accroche qui réécrit un URI en chemin du système de
fichiers.
-- on ne gère pas cette URL et on donne sa chance à un autre module
return apache2.DECLINED
end
-</pre></div>
+</pre>
+
-<div class="example"><h3>translate_name2.lua</h3><pre>
+<pre class="prettyprint lang-lua">
+<strong>translate_name2.lua</strong>
--[[ exemple d'accroche qui réécrit un URI vers un autre URI. Il renvoie
un apache2.DECLINED pour permettre à un autre interpréteur d'URL de
travailler sur la substitution, y compris l'accroche translate_name
end
return apache2.DECLINED
end
-</pre></div>
+</pre>
+
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="datastructures" id="datastructures">Structures de données</a></h2>
<p>La structure request_rec possède (au minimum) les méthodes
suivantes :</p>
- <div class="example"><p><code>
+ <pre class="prettyprint lang-lua">
r:addoutputfilter(name|function) -- ajoute un filtre en sortie
- </code></p></div>
+ </pre>
+
+
+ <pre class="prettyprint lang-lua">
+ r:parseargs() -- returns a lua table containing the request's query string arguments
+ </pre>
- <div class="example"><p><code>
- r:parseargs() -- renvoie une table lua contenant les arguments
- de la chaîne de paramètres de la requête
- </code></p></div>
- <div class="example"><p><code>
- r:parsebody() -- interprète le corps de la requête en tant que
- méthode POST et renvoie une table lua
- </code></p></div>
+ <pre class="prettyprint lang-lua">
+ r:parsebody() -- parse the request body as a POST and return a lua table
+ </pre>
- <div class="example"><p><code>
+
+ <pre class="prettyprint lang-lua">
r:puts("bonjour", " le monde", "!") -- affichage dans le corps de la réponse
- </code></p></div>
+ </pre>
+
- <div class="example"><p><code>
+ <pre class="prettyprint lang-lua">
r:write("une simple chaîne") -- affichage dans le
corps de la réponse
- </code></p></div>
+ </pre>
+
</dd>
</dl>
<div class="section">
<h2><a name="logging" id="logging">Fonctions de journalisation</a></h2>
-<div class="example"><p><code>
+<pre class="prettyprint lang-lua">
-- exemples de messages de journalisation
r:trace1("Ceci est un message de journalisation de niveau
trace") -- les niveaux valides vont de trace1 à trace8 <br />
r:alert("Ceci est un message de journalisation de niveau alert")<br />
r:crit("Ceci est un message de journalisation de niveau crit")<br />
r:emerg("Ceci est un message de journalisation de niveau emerg")<br />
-</code></p></div>
+</pre>
+
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
serveur en production, et les valeurs stat ou never pour un serveur
en développement.</p>
- <div class="example"><h3>Exemples :</h3><p><code>
- LuaCodeCache stat<br />
- LuaCodeCache forever<br />
- LuaCodeCache never<br />
- </code></p></div>
+ <div class="example"><h3>Exemples :</h3><pre class="prettyprint lang-config">
+LuaCodeCache stat
+LuaCodeCache forever
+LuaCodeCache never
+ </pre>
+</div>
</div>
implémenter une vérification arbitraire de l'authentification et de
l'autorisation. Voici un exemple très simple :
</p>
-<div class="example"><pre>
+<pre class="prettyprint lang-lua">
require 'apache2'
-- fonction d'accroche authcheck fictive
end
return apache2.OK
end
-</pre></div>
+</pre>
+
<div class="note"><h3>Ordonnancement</h3><p>Les arguments optionnels
"early" ou "late" permettent de contrôler le moment auquel ce script
s'exécute par rapport aux autres modules.</p></div>
<p>Exemple :</p>
-<div class="example"><pre>
+<pre class="prettyprint lang-config">
# httpd.conf
LuaHookTranslateName /scripts/conf/hooks.lua silly_mapper
+</pre>
+
+<pre class="prettyprint lang-lua">
-- /scripts/conf/hooks.lua --
require "apache2"
function silly_mapper(r)
return apache2.DECLINED
end
end
-</pre></div>
+</pre>
+
<div class="note"><h3>Contexte</h3><p>Cette directive ne peut être
utilisée ni à l'intérieur d'une section <code class="directive"><a href="../mod/core.html#directory"><Directory></a></code> ou <code class="directive"><a href="../mod/core.html#files"><Files></a></code>, ni dans un fichier htaccess.</p></div>
d'interpolation dans le chemin du fichier et le nom de la fonction.
Prenez garde aux problèmes de sécurité en écrivant vos expressions
rationnelles.</p>
- <div class="example"><h3>Exemples :</h3><p><code>
- LuaMapHandler /(\w+)/(/w+) /scripts/$1.lua handle_$2
- </code></p></div>
+ <div class="example"><h3>Exemples :</h3><pre class="prettyprint lang-config">
+ LuaMapHandler /(\w+)/(\w+) /scripts/$1.lua handle_$2
+ </pre>
+</div>
<p>Cette directive va faire correspondre des uri comme
/photos/show?id=9 au fichier /scripts/photos.lua, et invoquera la
fonction de gestionnaire handle_show au niveau de la vm lua
après chargement de ce fichier.</p>
-<div class="example"><p><code>
+<pre class="prettyprint lang-config">
LuaMapHandler /bingo /scripts/wombat.lua
-</code></p></div>
+</pre>
+
<p>Cette directive invoquera la fonction "handle" qui est la
valeur par défaut si aucun nom de fonction spécifique n'est
spécifié.</p>
chemins de recherche du module lua. Elle suit les mêmes conventions
que lua. Ceci modifie le package.path dans les vms lua.</p>
- <div class="example"><h3>Exemples :</h3><p><code>
- LuaPackagePath /scripts/lib/?.lua<br />
- LuaPackagePath /scripts/lib/?/init.lua
- </code></p></div>
+ <div class="example"><h3>Exemples :</h3><pre class="prettyprint lang-config">
+LuaPackagePath /scripts/lib/?.lua
+LuaPackagePath /scripts/lib/?/init.lua
+ </pre>
+</div>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<variants>
<variant>en</variant>
- <variant outdated="yes">fr</variant>
+ <variant>fr</variant>
</variants>
</metafile>
<a href="../fr/mod/mod_negotiation.html" title="Français"> fr </a> |
<a href="../ja/mod/mod_negotiation.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a></p>
</div>
-<div class="outofdate">Cette traduction peut être périmée. Vérifiez la version
- anglaise pour les changements récents.</div>
<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Effectue la <a href="../content-negotiation.html">négociation de
contenu</a></td></tr>
<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Base</td></tr>
et le fichier <code>.var</code> doit être associé au gestionnaire
<code>type-map</code> via une directive <code class="directive"><a href="../mod/mod_mime.html#addhandler">AddHandler</a></code> :</p>
- <div class="example"><p><code>
+ <pre class="prettyprint lang-config">
AddHandler type-map .var
- </code></p></div>
+ </pre>
+
<p>A l'arrivée d'une requête pour la ressource
<code>document.html</code>, le fichier
première variante acceptable de langue <code>en</code> qui sera
servie.</p>
- <div class="example"><p><code>
- LanguagePriority en fr de<br />
- ForceLanguagePriority Prefer
- </code></p></div>
+ <pre class="prettyprint lang-config">
+LanguagePriority en fr de
+ForceLanguagePriority Prefer
+ </pre>
+
<p><code>ForceLanguagePriority Fallback</code> utilise la directive
<code class="directive"><a href="#languagepriority">LanguagePriority</a></code>
dans cette langue n'est trouvée, c'est la première variante de la
liste définie par la directive <code class="directive"><a href="#languagepriority">LanguagePriority</a></code> qui sera servie.</p>
- <div class="example"><p><code>
- LanguagePriority en fr de<br />
- ForceLanguagePriority Fallback
- </code></p></div>
+ <pre class="prettyprint lang-config">
+LanguagePriority en fr de
+ForceLanguagePriority Fallback
+ </pre>
+
<p>Les deux options, <code>Prefer</code> et <code>Fallback</code>,
peuvent être spécifiées, de façon à ce que la variante servie soit
<var>langages-MIME</var> dans un ordre de préférences
décroissantes.</p>
- <div class="example"><h3>Exemple:</h3><p><code>
+ <pre class="prettyprint lang-config">
LanguagePriority en fr de
- </code></p></div>
+ </pre>
+
<p>Dans le cas d'une requête pour <code>foo.html</code>, si
<code>foo.html.fr</code> et <code>foo.html.de</code> existent, et si
<variants>
<variant>en</variant>
- <variant outdated="yes">fr</variant>
+ <variant>fr</variant>
<variant outdated="yes">ja</variant>
</variants>
</metafile>
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_sed.html" hreflang="en" rel="alternate" title="English"> en </a> |
<a href="../fr/mod/mod_sed.html" title="Français"> fr </a></p>
</div>
-<div class="outofdate">Cette traduction peut être périmée. Vérifiez la version
- anglaise pour les changements récents.</div>
<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Filtre les contenus en entrée (requêtes) et en sortie
(réponses) en utilisant la syntaxe de <code>sed</code></td></tr>
<tr><th><a href="module-dict.html#Status">Statut:</a></th><td /></tr>
données, ce qui reste est traité comme la dernière ligne.
</p>
-<p>Vous trouverez sur le <a href="https://blogs.oracle.com/basant/entry/using_mod_sed_to_filter">blog
-de l'auteur</a> un article en forme de tutoriel, ainsi que les raisons pour
+<p>Vous trouverez sur le <a href="https://blogs.oracle.com/basant/entry/using_mod_sed_to_filter">blog de
+l'auteur</a> un article en forme de tutoriel, ainsi que les raisons pour
lesquelles ce filtre est plus puissant qu'une simple
recherche/remplacement de chaîne ou d'expression rationnelle.</p>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="sampleconf" id="sampleconf">Exemple de configuration</a></h2>
- <div class="example"><h3>Ajout d'un filtre en sortie</h3><p><code>
- # Dans l'exemple suivant, le filtre sed va remplacer la chaîne
+ <div class="example"><h3>Ajout d'un filtre en sortie</h3><pre class="prettyprint lang-config">
+# Dans l'exemple suivant, le filtre sed va remplacer la chaîne
# "monday" par "MON" et la chaîne "sunday" par "SUN" dans les
- # documents html avant de les envoyer au client.<br />
- <span class="indent">
- <Directory "/var/www/docs/sed"> <br />
- <span class="indent">
- AddOutputFilter Sed html <br />
- OutputSed "s/monday/MON/g" <br />
- OutputSed "s/sunday/SUN/g" <br />
- </span>
- </Directory> <br />
- </span>
- </code></p></div>
+ # documents html avant de les envoyer au client.
+<Directory "/var/www/docs/sed">
+ AddOutputFilter Sed html
+ OutputSed "s/monday/MON/g"
+ OutputSed "s/sunday/SUN/g"
+</Directory>
+ </pre>
+</div>
- <div class="example"><h3>Ajout d'un filtre en entrée</h3><p><code>
+ <div class="example"><h3>Ajout d'un filtre en entrée</h3><pre class="prettyprint lang-config">
# Dans l'exemple suivant, le filtre sed va remplacer la chaîne
# "monday" par "MON" et la chaîne "sunday" par "SUN" dans les
- # données POST envoyées à PHP.<br />
- <span class="indent">
- <Directory "/var/www/docs/sed"> <br />
- <span class="indent">
- AddInputFilter Sed php <br />
- InputSed "s/monday/MON/g" <br />
- InputSed "s/sunday/SUN/g" <br />
- </span>
- </Directory> <br />
- </span>
- </code></p></div>
+ # données POST envoyées à PHP.
+ <Directory "/var/www/docs/sed">
+ AddInputFilter Sed php
+ InputSed "s/monday/MON/g"
+ InputSed "s/sunday/SUN/g"
+</Directory>
+ </pre>
+</div>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="sed_commands" id="sed_commands">Commandes sed</a></h2>
<variants>
<variant>en</variant>
- <variant outdated="yes">fr</variant>
+ <variant>fr</variant>
</variants>
</metafile>
<a href="../ko/mod/mod_setenvif.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
<a href="../tr/mod/mod_setenvif.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
</div>
-<div class="outofdate">Cette traduction peut être périmée. Vérifiez la version
- anglaise pour les changements récents.</div>
<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Permet de définir des variables d'environnement en fonction
de caractéristiques de la requête</td></tr>
<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Base</td></tr>
exemple qui définit netscape si le navigateur est Mozilla et non
MSIE.</p>
-<div class="example"><p><code>
- BrowserMatch ^Mozilla netscape<br />
- BrowserMatch MSIE !netscape<br />
-</code></p></div>
+<pre class="prettyprint lang-config">
+BrowserMatch ^Mozilla netscape
+BrowserMatch MSIE !netscape
+</pre>
+
</div>
<div id="quickview"><h3 class="directives">Directives</h3>
<ul id="toc">
d'environnement en fonction du contenu de l'en-tête de requête HTTP
<code>User-Agent</code>. Les deux lignes suivantes produisent le même
effet :</p>
-<div class="example"><p><code>
- BrowserMatchNoCase Robot est_un_robot<br />
- SetEnvIfNoCase User-Agent Robot est_un_robot<br />
-</code></p></div>
+<pre class="prettyprint lang-config">
+BrowserMatchNoCase Robot is_a_robot
+SetEnvIfNoCase User-Agent Robot is_a_robot
+</pre>
+
<p>Quelques exemples supplémentaires :</p>
-<div class="example"><p><code>
- BrowserMatch ^Mozilla forms jpeg=yes browser=netscape<br />
- BrowserMatch "^Mozilla/[2-3]" tables agif frames javascript<br />
- BrowserMatch MSIE !javascript<br />
-</code></p></div>
+<pre class="prettyprint lang-config">
+BrowserMatch ^Mozilla forms jpeg=yes browser=netscape
+BrowserMatch "^Mozilla/[2-3]" tables agif frames javascript
+BrowserMatch MSIE !javascript
+</pre>
+
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<p>La directive <code class="directive">BrowserMatchNoCase</code> est
identique sur le plan sémantique à la directive <code class="directive"><a href="#browsermatch">BrowserMatch</a></code>. Elle permet
cependant une comparaison insensible à la casse. Par exemple :</p>
-<div class="example"><p><code>
- BrowserMatchNoCase mac platform=macintosh<br />
- BrowserMatchNoCase win platform=windows<br />
-</code></p></div>
+<pre class="prettyprint lang-config">
+BrowserMatchNoCase mac platform=macintosh
+BrowserMatchNoCase win platform=windows
+</pre>
+
<p>Les directives <code class="directive">BrowserMatch</code> et
<code class="directive">BrowserMatchNoCase</code> sont des cas particuliers
des directives <code class="directive"><a href="#setenvif">SetEnvIf</a></code>
et <code class="directive"><a href="#setenvifnocase">SetEnvIfNoCase</a></code>.
Ainsi, les deux lignes suivantes produisent le même effet :</p>
-<div class="example"><p><code>
- BrowserMatchNoCase Robot est_un_robot<br />
- SetEnvIfNoCase User-Agent Robot est_un_robot<br />
-</code></p></div>
+<pre class="prettyprint lang-config">
+BrowserMatchNoCase Robot is_a_robot
+SetEnvIfNoCase User-Agent Robot is_a_robot
+</pre>
+
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
sous-expressions entre parenthèses correspondantes de
<var>regex</var>.</p>
-<div class="example"><h3>Example:</h3><p><code>
+<pre class="prettyprint lang-config">
+SetEnvIf Request_URI "\.gif$" object_is_image=gif
+SetEnvIf Request_URI "\.jpg$" object_is_image=jpg
+SetEnvIf Request_URI "\.xbm$" object_is_image=xbm
+
+SetEnvIf Referer www\.mydomain\.example\.com intra_site_referral
+
+SetEnvIf object_is_image xbm XBIT_PROCESSING=1
+
+SetEnvIf ^TS ^[a-z] HAVE_TS
+</pre>
- SetEnvIf Request_URI "\.gif$" objet_est_une_image=gif<br />
- SetEnvIf Request_URI "\.jpg$" objet_est_une_image=jpg<br />
- SetEnvIf Request_URI "\.xbm$" objet_est_une_image=xbm<br />
- :<br />
- SetEnvIf Referer www\.mon-domaine\.example\.com référant_intra_site<br />
- :<br />
- SetEnvIf objet_est_une_image xbm XBIT_PROCESSING=1<br />
- :<br />
- SetEnvIf ^TS ^[a-z] HAVE_TS<br />
-</code></p></div>
<p>Les trois premières lignes définissent la variable
d'environnement <code>objet_est_une_image</code> si l'objet de la
d'environnement <em>env-variable</em> de la même manière que la
directive <code class="directive">SetEnvIf</code>.</p>
-<div class="example"><p><code>
+<pre class="prettyprint lang-config">
SetEnvIfExpr "tolower(req('X-Sendfile')) == 'd:\images\very_big.iso')" iso_delivered
-</code></p></div>
+</pre>
+
<p>Dans cet exemple, la variable d'environnement
<code>iso_delivered</code> est définie chaque fois que notre
l'adresse IP distante est une adresse privée au sens de la RFC 1918
:</p>
-<div class="example"><p><code>
+<pre class="prettyprint lang-config">
SetEnvIfExpr "-R '10.0.0.0/8' || -R '172.16.0.0/12' || -R '192.168.0.0/16'" rfc1918
-</code></p></div>
+</pre>
+
<h3>Voir aussi</h3>
<ul>
d'un point de vue sémantique à la directive <code class="directive"><a href="#setenvif">SetEnvIf</a></code>, et ne s'en distingue que
par le fait que la comparaison des expressions rationnelles est
effectuée sans tenir compte de la casse. Par exemple :</p>
-<div class="example"><p><code>
+<pre class="prettyprint lang-config">
SetEnvIfNoCase Host Example\.Org site=apache
-</code></p></div>
+</pre>
+
<p>Cette ligne va définir la variable d'environnement
<code>site</code> avec la valeur "<code>example</code>" si le champ
<variants>
<variant>en</variant>
- <variant outdated="yes">fr</variant>
+ <variant>fr</variant>
<variant outdated="yes">ja</variant>
<variant outdated="yes">ko</variant>
<variant outdated="yes">tr</variant>
<a href="../ko/mod/mod_so.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
<a href="../tr/mod/mod_so.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
</div>
-<div class="outofdate">Cette traduction peut être périmée. Vérifiez la version
- anglaise pour les changements récents.</div>
<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Chargement de modules ou de code exécutable au cours du
démarrage ou du redémarrage du serveur</td></tr>
<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
<p>Par exemple:</p>
- <div class="example"><p><code>LoadFile libexec/libxmlparse.so</code></p></div>
+ <pre class="prettyprint lang-config">LoadFile libexec/libxmlparse.so</pre>
+
</div>
<code>module</code> dans le fichier, et est référencé comme <a href="module-dict.html#ModuleIdentifier">Identificateur de
module</a> dans la documentation des modules. Exemple :</p>
- <div class="example"><p><code>
+ <pre class="prettyprint lang-config">
LoadModule status_module modules/mod_status.so
- </code></p></div>
+ </pre>
+
<p>charge le module spécifié depuis le sous-répertoire des modules
situé à la racine du serveur.</p>
<variants>
<variant>en</variant>
- <variant outdated="yes">fr</variant>
+ <variant>fr</variant>
<variant outdated="yes">ja</variant>
<variant outdated="yes">ko</variant>
<variant outdated="yes">tr</variant>
<a href="../tr/ssl/" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> |
<a href="../zh-cn/ssl/" hreflang="zh-cn" rel="alternate" title="Simplified Chinese"> zh-cn </a></p>
</div>
-<div class="outofdate">Cette traduction peut être périmée. Vérifiez la version
- anglaise pour les changements récents.</div>
<p>Le module <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code> du serveur HTTP Apache fournit une
interface avec la bibliothèque <a href="http://www.openssl.org/">OpenSSL</a>, qui permet d'effectuer un
<variants>
<variant>en</variant>
- <variant outdated="yes">fr</variant>
+ <variant>fr</variant>
<variant outdated="yes">ja</variant>
<variant outdated="yes">tr</variant>
<variant outdated="yes">zh-cn</variant>
<a href="../fr/ssl/ssl_intro.html" title="Français"> fr </a> |
<a href="../ja/ssl/ssl_intro.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a></p>
</div>
-<div class="outofdate">Cette traduction peut être périmée. Vérifiez la version
- anglaise pour les changements récents.</div>
<p>Ce chapitre en guise d'introduction est destiné aux lecteurs pour lesquels
<variants>
<variant>en</variant>
- <variant outdated="yes">fr</variant>
+ <variant>fr</variant>
<variant outdated="yes">ja</variant>
</variants>
</metafile>