summaryrefslogtreecommitdiffstats
path: root/docs/manual/mod
diff options
context:
space:
mode:
authorVincent Deffontaines <gryzor@apache.org>2017-12-18 19:20:38 +0100
committerVincent Deffontaines <gryzor@apache.org>2017-12-18 19:20:38 +0100
commit7b38f9a12c74c3c84a30f0fd9409d3adb1c05234 (patch)
treefbbf3d7888cb20008608e33b54f35a4f1d1c55a1 /docs/manual/mod
parentFixed encoding in two previous commits (diff)
downloadapache2-7b38f9a12c74c3c84a30f0fd9409d3adb1c05234.tar.xz
apache2-7b38f9a12c74c3c84a30f0fd9409d3adb1c05234.zip
New .fr translations
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1818602 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to '')
-rw-r--r--docs/manual/mod/mod_authnz_fcgi.xml.fr560
-rw-r--r--docs/manual/mod/mod_authnz_fcgi.xml.meta1
-rw-r--r--docs/manual/mod/mod_brotli.xml.fr321
-rw-r--r--docs/manual/mod/mod_brotli.xml.meta1
4 files changed, 883 insertions, 0 deletions
diff --git a/docs/manual/mod/mod_authnz_fcgi.xml.fr b/docs/manual/mod/mod_authnz_fcgi.xml.fr
new file mode 100644
index 0000000000..ed264c0c84
--- /dev/null
+++ b/docs/manual/mod/mod_authnz_fcgi.xml.fr
@@ -0,0 +1,560 @@
+<?xml version="1.0" encoding="ISO-8859-1" ?>
+<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
+<?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?>
+<!-- English Revision : 1793934 -->
+<!-- French translation : Lucien GENTIS -->
+<!-- Reviewed by : Vincent Deffontaines -->
+
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+<modulesynopsis metafile="mod_authnz_fcgi.xml.meta">
+
+<name>mod_authnz_fcgi</name>
+<description>Permet &agrave; une application d'autorisation FastCGI de g&eacute;rer
+l'authentification et l'autorisation httpd.</description>
+<status>Extension</status>
+<sourcefile>mod_authnz_fcgi.c</sourcefile>
+<identifier>authnz_fcgi_module</identifier>
+<compatibility>Disponible &agrave; partir de la version 2.4.10 du serveur HTTP
+Apache</compatibility>
+
+<summary>
+ <p>Ce module permet aux applications d'autorisation FastCGI
+ d'authentifier les utilisateurs et de contr&ocirc;ler leur acc&egrave;s aux
+ ressources. Il supporte les syst&egrave;mes d'autorisation FastCGI
+ g&eacute;n&eacute;riques qui participent en une seule phase &agrave; l'authentification
+ et &agrave; l'autorisation, ainsi que les processus d'authentification et
+ d'autorisation sp&eacute;cifiques &agrave; Apache httpd qui interviennent en une
+ ou plusieurs phases.</p>
+
+ <p>Les processus d'autorisation FastCGI peuvent authentifier un
+ utilisateur via son identificateur et son mot de passe comme dans le
+ processus d'authentification basique, ou via un m&eacute;canisme
+ arbitraire.</p>
+</summary>
+
+<seealso><a href="../howto/auth.html">Authentification, autorisation et
+contr&ocirc;le d'acc&egrave;s</a></seealso>
+<seealso><module>mod_auth_basic</module></seealso>
+<seealso><program>fcgistarter</program></seealso>
+<seealso><module>mod_proxy_fcgi</module></seealso>
+
+<section id="invocations"><title>Modes d'invocation</title>
+
+ <p>Les modes d'invocation des processus d'autorisation FastCGI que
+ ce module supporte se distinguent par deux caract&eacute;ristiques : le
+ <em>type</em> et le <em>m&eacute;canisme</em> d'authentification.</p>
+
+ <p>Le <em>Type</em> est simplement <code>authn</code> pour
+ l'authentification, <code>authz</code> pour l'autorisation et
+ <code>authnz</code> l'authentification et l'autorisation.</p>
+
+ <p>Le <em>m&eacute;canisme</em> d'authentification fait r&eacute;f&eacute;rence aux
+ m&eacute;canismes d'authentification et aux phases de traitement de la
+ configuration de Apache httpd, et peut &ecirc;tre
+ <code>AuthBasicProvider</code>, <code>Require</code>, ou
+ <code>check_user_id</code>. Les deux premiers m&eacute;canismes
+ correspondent aux directives utilis&eacute;es pour participer aux phases de
+ traitement appropri&eacute;es.</p>
+
+ <p>Description de chaque mode:</p>
+
+ <dl>
+ <dt><em>Type</em> <code>authn</code>, <em>mechanism</em>
+ <code>AuthBasicProvider</code></dt>
+
+ <dd>Dans ce mode, la variable <code>FCGI_ROLE</code> est d&eacute;finie &agrave;
+ <code>AUTHORIZER</code>, et la variable
+ <code>FCGI_APACHE_ROLE</code> &agrave; <code>AUTHENTICATOR</code>.
+ L'application doit &ecirc;tre sp&eacute;cifi&eacute;e en tant que fournisseur de type
+ <em>authn</em> via la directive <directive
+ module="mod_authnz_fcgi">AuthnzFcgiDefineProvider</directive>, et
+ activ&eacute;e via la directive <directive
+ module="mod_auth_basic">AuthBasicProvider</directive>. Lorsqu'elle
+ est invoqu&eacute;e, l'application est cens&eacute;e authentifier le client &agrave;
+ l'aide de l'identifiant et du mot de passe de l'utilisateur.
+ Exemple d'application :
+
+<highlight language="perl">
+#!/usr/bin/perl
+use FCGI;
+my $request = FCGI::Request();
+while ($request->Accept() >= 0) {
+ die if $ENV{'FCGI_APACHE_ROLE'} ne "AUTHENTICATOR";
+ die if $ENV{'FCGI_ROLE'} ne "AUTHORIZER";
+ die if !$ENV{'REMOTE_PASSWD'};
+ die if !$ENV{'REMOTE_USER'};
+
+ print STDERR "This text is written to the web server error log.\n";
+
+ if ( ($ENV{'REMOTE_USER' } eq "foo" || $ENV{'REMOTE_USER'} eq "foo1") &amp;&amp;
+ $ENV{'REMOTE_PASSWD'} eq "bar" ) {
+ print "Status: 200\n";
+ print "Variable-AUTHN_1: authn_01\n";
+ print "Variable-AUTHN_2: authn_02\n";
+ print "\n";
+ }
+ else {
+ print "Status: 401\n\n";
+ }
+}
+</highlight>
+
+ Exemple de configuration httpd :
+<highlight language="config">
+AuthnzFcgiDefineProvider authn FooAuthn fcgi://localhost:10102/
+&lt;Location "/protected/"&gt;
+ AuthType Basic
+ AuthName "Restricted"
+ AuthBasicProvider FooAuthn
+ Require ...
+&lt;/Location&gt;
+</highlight>
+ </dd>
+
+ <dt><em>Type</em> <code>authz</code>, <em>mechanism</em>
+ <code>Require</code></dt>
+ <dd>Dans ce mode, la variable <code>FCGI_ROLE</code> est d&eacute;finie &agrave;
+ <code>AUTHORIZER</code> et <code>FCGI_APACHE_ROLE</code> &agrave;
+ <code>AUTHORIZER</code>. L'application doit &ecirc;tre sp&eacute;cifi&eacute;e en tant
+ que fournisseur de type <em>authz</em> via la directive <directive
+ module="mod_authnz_fcgi">AuthnzFcgiDefineProvider</directive>.
+ Lorsqu'elle est invoqu&eacute;e, l'application est cens&eacute;e contr&ocirc;ler les
+ acc&egrave;s du client &agrave; l'aide de l'identifiant utilisateur et d'autres
+ donn&eacute;es contenues dans la requ&ecirc;te. Exemple d'application :
+<highlight language="perl">
+#!/usr/bin/perl
+use FCGI;
+my $request = FCGI::Request();
+while ($request->Accept() >= 0) {
+ die if $ENV{'FCGI_APACHE_ROLE'} ne "AUTHORIZER";
+ die if $ENV{'FCGI_ROLE'} ne "AUTHORIZER";
+ die if $ENV{'REMOTE_PASSWD'};
+
+ print STDERR "This text is written to the web server error log.\n";
+
+ if ($ENV{'REMOTE_USER'} eq "foo1") {
+ print "Status: 200\n";
+ print "Variable-AUTHZ_1: authz_01\n";
+ print "Variable-AUTHZ_2: authz_02\n";
+ print "\n";
+ }
+ else {
+ print "Status: 403\n\n";
+ }
+}
+</highlight>
+
+ Exemple de configuration httpd :
+<highlight language="config">
+AuthnzFcgiDefineProvider authz FooAuthz fcgi://localhost:10103/
+&lt;Location "/protected/"&gt;
+ AuthType ...
+ AuthName ...
+ AuthBasicProvider ...
+ Require FooAuthz
+&lt;/Location&gt;
+</highlight>
+ </dd>
+
+ <dt><em>Type</em> <code>authnz</code>, <em>mechanism</em>
+ <code>AuthBasicProvider</code> <em>+</em> <code>Require</code></dt>
+
+ <dd>Dans ce mode qui supporte le protocole d'autorisation web
+ server-agnostic FastCGI, la variable <code>FCGI_ROLE</code> est
+ d&eacute;finie &agrave; <code>AUTHORIZER</code> et <code>FCGI_APACHE_ROLE</code>
+ n'est pas d&eacute;finie. L'application doit &ecirc;tre sp&eacute;cifi&eacute;e en tant que
+ fournisseur de type <em>authnz</em> via la directive <directive
+ module="mod_authnz_fcgi">AuthnzFcgiDefineProvider</directive>.
+ L'application est cens&eacute;e assurer l'authentification et
+ l'autorisation au cours d'une m&ecirc;me invocation &agrave; l'aide de
+ l'identifiant et du mot de passe de l'utilisateur et d'autres
+ donn&eacute;es contenues dans la requ&ecirc;te. L'invocation de l'application
+ intervient au cours de la phase d'authentification de l'API Apache
+ httpd. Si l'application renvoie le code 200, et si le m&ecirc;me
+ fournisseur est invoqu&eacute; au cours de la phase d'autorisation (via
+ une directive <directive>Require</directive>), mod_authnz_fcgi
+ renverra un code de type success pour la phase d'autorisation sans
+ invoquer l'application. Exemple d'application :
+<highlight language="perl">
+#!/usr/bin/perl
+use FCGI;
+my $request = FCGI::Request();
+while ($request->Accept() >= 0) {
+ die if $ENV{'FCGI_APACHE_ROLE'};
+ die if $ENV{'FCGI_ROLE'} ne "AUTHORIZER";
+ die if !$ENV{'REMOTE_PASSWD'};
+ die if !$ENV{'REMOTE_USER'};
+
+ print STDERR "This text is written to the web server error log.\n";
+
+ if ( ($ENV{'REMOTE_USER' } eq "foo" || $ENV{'REMOTE_USER'} eq "foo1") &amp;&amp;
+ $ENV{'REMOTE_PASSWD'} eq "bar" &amp;&amp;
+ $ENV{'REQUEST_URI'} =~ m%/bar/.*%) {
+ print "Status: 200\n";
+ print "Variable-AUTHNZ_1: authnz_01\n";
+ print "Variable-AUTHNZ_2: authnz_02\n";
+ print "\n";
+ }
+ else {
+ print "Status: 401\n\n";
+ }
+}
+</highlight>
+
+ Exemple de configuration httpd :
+<highlight language="config">
+AuthnzFcgiDefineProvider authnz FooAuthnz fcgi://localhost:10103/
+&lt;Location "/protected/"&gt;
+ AuthType Basic
+ AuthName "Restricted"
+ AuthBasicProvider FooAuthnz
+ Require FooAuthnz
+&lt;/Location&gt;
+</highlight>
+ </dd>
+
+ <dt><em>Type</em> <code>authn</code>, <em>mechanism</em>
+ <code>check_user_id</code></dt>
+
+ <dd>Dans ce mode, la variable <code>FCGI_ROLE</code> est d&eacute;finie &agrave;
+ <code>AUTHORIZER</code> et <code>FCGI_APACHE_ROLE</code> &agrave;
+ <code>AUTHENTICATOR</code>. L'application doit &ecirc;tre sp&eacute;cifi&eacute;e en
+ tant que fournisseur de type <em>authn</em> via une directive
+ <directive
+ module="mod_authnz_fcgi">AuthnzFcgiDefineProvider</directive>. La
+ directive <directive
+ module="mod_authnz_fcgi">AuthnzFcgiCheckAuthnProvider</directive>
+ permet de l'invoquer. Exemple d'application :
+<highlight language="perl">
+#!/usr/bin/perl
+use FCGI;
+my $request = FCGI::Request();
+while ($request->Accept() >= 0) {
+ die if $ENV{'FCGI_APACHE_ROLE'} ne "AUTHENTICATOR";
+ die if $ENV{'FCGI_ROLE'} ne "AUTHORIZER";
+
+ # This authorizer assumes that the RequireBasicAuth option of
+ # AuthnzFcgiCheckAuthnProvider is On:
+ die if !$ENV{'REMOTE_PASSWD'};
+ die if !$ENV{'REMOTE_USER'};
+
+ print STDERR "This text is written to the web server error log.\n";
+
+ if ( ($ENV{'REMOTE_USER' } eq "foo" || $ENV{'REMOTE_USER'} eq "foo1") &amp;&amp;
+ $ENV{'REMOTE_PASSWD'} eq "bar" ) {
+ print "Status: 200\n";
+ print "Variable-AUTHNZ_1: authnz_01\n";
+ print "Variable-AUTHNZ_2: authnz_02\n";
+ print "\n";
+ }
+ else {
+ print "Status: 401\n\n";
+ # If a response body is written here, it will be returned to
+ # the client.
+ }
+}
+</highlight>
+
+ Exemple de configuration httpd :
+<highlight language="config">
+AuthnzFcgiDefineProvider authn FooAuthn fcgi://localhost:10103/
+&lt;Location "/protected/"&gt;
+ AuthType ...
+ AuthName ...
+ AuthnzFcgiCheckAuthnProvider FooAuthn \
+ Authoritative On \
+ RequireBasicAuth Off \
+ UserExpr "%{reqenv:REMOTE_USER}"
+ Require ...
+&lt;/Location&gt;
+</highlight>
+ </dd>
+
+ </dl>
+
+</section>
+
+<section id="examples"><title>Exemples suppl&eacute;mentaires</title>
+
+ <ol>
+ <li>Si votre application supporte s&eacute;par&eacute;ment les r&ocirc;les
+ d'authentification et d'autorisation (<code>AUTHENTICATOR</code> et
+ <code>AUTHORIZER</code>), vous pouvez d&eacute;finir des fournisseurs
+ s&eacute;par&eacute;s comme suit, m&ecirc;me s'ils correspondent &agrave; la m&ecirc;me application :
+
+<highlight language="config">
+AuthnzFcgiDefineProvider authn FooAuthn fcgi://localhost:10102/
+AuthnzFcgiDefineProvider authz FooAuthz fcgi://localhost:10102/
+</highlight>
+
+ Sp&eacute;cifie le fournisseur authn via la directive
+ <directive module="mod_auth_basic">AuthBasicProvider</directive>
+ et le fournisseur authz via la directive
+ <directive module="mod_authz_core">Require</directive>:
+
+<highlight language="config">
+AuthType Basic
+AuthName "Restricted"
+AuthBasicProvider FooAuthn
+Require FooAuthz
+</highlight>
+ </li>
+
+ <li>Si votre application supporte le r&ocirc;le g&eacute;n&eacute;rique
+ <code>AUTHORIZER</code> (authentification et autorisation en une
+ seule invocation), vous pouvez d&eacute;finir un fournisseur unique comme
+ suit :
+
+<highlight language="config">
+AuthnzFcgiDefineProvider authnz FooAuthnz fcgi://localhost:10103/
+</highlight>
+
+ Sp&eacute;cifie le fournisseur authnz via les directives
+ <directive>AuthBasicProvider</directive> et
+ <directive>Require</directive> :
+
+<highlight language="config">
+AuthType Basic
+AuthName "Restricted"
+AuthBasicProvider FooAuthnz
+Require FooAuthnz
+</highlight>
+ </li>
+</ol>
+</section>
+
+<section id="limitations"><title>Limitations</title>
+
+ <p>Les fonctionnalit&eacute;s suivantes ne sont pas encore impl&eacute;ment&eacute;es :</p>
+
+ <dl>
+ <dt>V&eacute;rificateur d'acc&egrave;s d'Apache httpd</dt>
+ <dd>La phase <em>access check</em> de l'API Apache httpd est
+ distincte des phases d'authentification et d'autorisation.
+ Certaines autres impl&eacute;mentations de FastCGI supportent cette phase
+ et lorsque c'est le cas, la variable <code>FCGI_APACHE_ROLE</code>
+ est d&eacute;finie &agrave; <code>ACCESS_CHECKER</code>.</dd>
+
+ <dt>Redirections (pipes) ou sockets locaux (Unix)</dt>
+ <dd>Seuls les sockets TCP sont actuellement support&eacute;s.</dd>
+
+ <dt>Support de mod_authn_socache</dt>
+ <dd>Le support de l'interaction avec mod_authn_socache pour les
+ applications qui interviennent dans le processus
+ d'authentification d'Apache httpd serait souhaitable.</dd>
+
+ <dt>Support de l'authentification de type digest &agrave; l'aide de AuthDigestProvider</dt>
+ <dd>Cette limitation ne sera probablement jamais franchie car il
+ n'existe aucun flux de donn&eacute;es d'autorisation capable de lire dans
+ un condens&eacute; de type hash.</dd>
+
+ <dt>Gestion des processus applicatifs</dt>
+ <dd>Cette fonctionnalit&eacute; restera probablement hors de port&eacute;e de ce
+ module. Il faudra donc g&eacute;rer les processus applicatifs d'une autre
+ mani&egrave;re ; par exemple, <program>fcgistarter</program> permet de
+ les d&eacute;marrer.</dd>
+
+ <dt>AP_AUTH_INTERNAL_PER_URI</dt>
+ <dd>Tous les fournisseurs sont actuellement enregistr&eacute;s en tant
+ que AP_AUTH_INTERNAL_PER_CONF, ce qui signifie que les
+ v&eacute;rifications ne sont pas effectu&eacute;es pour les
+ sous-requ&ecirc;tes internes avec la m&ecirc;me configuration de contr&ocirc;le
+ d'acc&egrave;s que la requ&ecirc;te initiale.</dd>
+
+ <dt>Conversion du jeu de caract&egrave;res des donn&eacute;es de protocole</dt>
+ <dd>Si mod_authnz_fcgi s'ex&eacute;cute dans un environnement de
+ compilation EBCDIC, toutes les donn&eacute;es de protocole FastCGI sont
+ &eacute;crites en EBCDIC et doivent &ecirc;tre disponibles en EBCDIC.</dd>
+
+ <dt>Plusieurs requ&ecirc;tes pour une connexion</dt>
+ <dd>Actuellement, la connexion au fournisseur d'autorisation
+ FastCGI est ferm&eacute;e apr&egrave;s chaque phase de traitement. Par exemple,
+ si le fournisseur d'autorisation g&egrave;re s&eacute;par&eacute;ment les phases
+ <em>authn</em> et <em>authz</em>, deux connexions seront
+ n&eacute;cessaires.</dd>
+
+ <dt>Redirection de certains URIs</dt>
+ <dd>Les URIs en provenance des clients ne peuvent pas &ecirc;tre
+ redirig&eacute;s selon une table de redirection, comme avec la directive
+ <directive>ProxyPass</directive> utilis&eacute;e avec les r&eacute;pondeurs
+ FastCGI.</dd>
+
+ </dl>
+
+</section>
+
+<section id="logging"><title>Journalisation</title>
+
+ <ol>
+ <li>Les erreurs de traitement sont journalis&eacute;es &agrave; un niveau
+ <code>error</code> ou sup&eacute;rieur.</li>
+ <li>Les messages envoy&eacute;s par l'application sont journalis&eacute;s au
+ niveau <code>warn</code>.</li>
+ <li>Les messages de deboguage &agrave; caract&egrave;re g&eacute;n&eacute;ral sont
+ journalis&eacute;s au niveau <code>debug</code>.</li>
+ <li>Les variables d'environnement transmises &agrave; l'application
+ sont journalis&eacute;es au niveau <code>trace2</code>. La valeur de la
+ variable <code>REMOTE_PASSWD</code> sera occult&eacute;e, mais
+ <strong>toute autre donn&eacute;e sensible sera visible dans le
+ journal</strong>.</li>
+ <li>Toutes les entr&eacute;es/sorties entre le module et l'application
+ FastCGI, y compris les variables d'environnement, seront
+ journalis&eacute;es au format imprimable et hexad&eacute;cimal au niveau
+ <code>trace5</code>. <strong>Toutes les donn&eacute;es sensibles seront
+ visibles dans le journal.</strong></li>
+ </ol>
+
+ <p>La directive <directive module="core">LogLevel</directive> permet
+ de configurer un niveau de journalisation sp&eacute;cifique &agrave;
+ mod_authnz_fcgi. Par exemple :</p>
+
+<highlight language="config">
+LogLevel info authnz_fcgi:trace8
+</highlight>
+
+</section>
+
+<directivesynopsis>
+<name>AuthnzFcgiDefineProvider</name>
+<description>D&eacute;finit une application FastCGI en tant que fournisseur
+d'authentification et/ou autorisation</description>
+<syntax>AuthnzFcgiDefineProvider <em>type</em> <em>provider-name</em>
+<em>backend-address</em></syntax>
+<default>none</default>
+<contextlist><context>server config</context></contextlist>
+<usage>
+ <p>Cette directive permet de d&eacute;finir une application FastCGI en tant
+ que fournisseur pour une phase particuli&egrave;re d'authentification ou
+ d'autorisation.</p>
+
+ <dl>
+ <dt><em>type</em></dt>
+ <dd>Les valeurs de ce param&egrave;tre sont <em>authn</em> pour
+ l'authentification, <em>authz</em> pour l'autorisation, ou
+ <em>authnz</em> pour un fournisseur d'autorisation g&eacute;n&eacute;rique
+ FastCGI qui effectue les deux v&eacute;rifications.</dd>
+
+ <dt><em>provider-name</em></dt>
+ <dd>Ce param&egrave;tre permet d'associer un nom au fournisseur ; ce nom
+ pourra &ecirc;tre utilis&eacute; dans des directives comme <directive
+ module="mod_auth_basic">AuthBasicProvider</directive> et
+ <directive module="mod_authz_core">Require</directive>.</dd>
+
+ <dt><em>backend-address</em></dt>
+ <dd>Ce param&egrave;tre permet de sp&eacute;cifier l'adresse de l'application
+ sous la forme <em>fcgi://hostname:port/</em>. Le ou les processus
+ de l'application doivent &ecirc;tre g&eacute;r&eacute;s ind&eacute;pendamment comme avec
+ <program>fcgistarter</program>.</dd>
+ </dl>
+</usage>
+</directivesynopsis>
+
+<directivesynopsis>
+<name>AuthnzFcgiCheckAuthnProvider</name>
+<description>Permet &agrave; une application FastCGI de g&eacute;rer l'accroche
+d'authentification check_authn.</description>
+<syntax>AuthnzFcgiCheckAuthnProvider <em>provider-name</em>|<code>None</code>
+<em>option</em> ...</syntax>
+<default>none</default>
+<contextlist><context>directory</context></contextlist>
+<override>FileInfo</override>
+<usage>
+ <p>Cette directive permet de confier &agrave; une application FastCGI la
+ gestion d'une phase sp&eacute;cifique du processus d'authentification ou
+ d'autorisation.</p>
+
+ <p>Certaines fonctionnalit&eacute;s des fournisseurs d'autorisation FastCGI
+ n&eacute;cessitent cette directive en lieu et place de
+ <directive>AuthBasicProvider</directive> pour pouvoir &ecirc;tre activ&eacute;es :</p>
+
+ <ul>
+ <li>L'authentification de type autre que basique ; en g&eacute;n&eacute;ral,
+ d&eacute;termination de l'identifiant utilisateur et renvoi de sa valeur
+ depuis le fournisseur d'autorisation ; voir l'option
+ <code>UserExpr</code> ci-dessous</li>
+ <li>S&eacute;lection d'un code de r&eacute;ponse personnalis&eacute; ; en cas de
+ code de r&eacute;ponse autre que 200 en provenance du fournisseur
+ d'autorisation, c'est ce code qui sera utilis&eacute; comme code d'&eacute;tat
+ de la r&eacute;ponse</li>
+ <li>D&eacute;finition du corps d'une r&eacute;ponse autre que 200 ; si le
+ fournisseur d'autorisation renvoie un corps de r&eacute;ponse avec un
+ code autre que 200, c'est ce corps de r&eacute;ponse qui sera renvoy&eacute; au
+ client ; la longueur du texte est limit&eacute;e &agrave; 8192 octets</li>
+ </ul>
+
+ <dl>
+ <dt><em>provider-name</em></dt>
+ <dd>C'est le nom du fournisseur d&eacute;fini au pr&eacute;alable via la
+ directive <directive>AuthnzFcgiDefineProvider</directive>.</dd>
+
+ <dt><code>None</code></dt>
+ <dd>Sp&eacute;cifiez <code>None</code> pour d&eacute;sactiver un fournisseur
+ activ&eacute; avec cette m&ecirc;me directive dans une autre port&eacute;e, par
+ exemple dans un r&eacute;pertoire parent.</dd>
+
+ <dt><em>option</em></dt>
+ <dd>Les options suivantes sont support&eacute;es :
+
+ <dl>
+ <dt>Authoritative On|Off (par d&eacute;faut On)</dt>
+ <dd>Cette option permet de d&eacute;finir si l'appel &agrave; d'autres
+ modules est autoris&eacute; lorsqu'un fournisseur d'autorisation FastCGI a
+ &eacute;t&eacute; configur&eacute; et si la requ&ecirc;te &eacute;choue.</dd>
+
+ <dt>DefaultUser <em>id utilisateur</em></dt>
+ <dd>Lorsque le fournisseur d'autorisation donne son accord, et
+ si <code>UserExpr</code> est d&eacute;fini et correspond &agrave; une cha&icirc;ne
+ vide, (par exemple, si le fournisseur d'autorisation ne renvoie
+ aucune variable), c'est cette valeur qui sera utilis&eacute;e comme id
+ utilisateur par d&eacute;faut. Cela se produit souvent lorsqu'on se trouve dans
+ un contexte d'invit&eacute;, ou d'utilisateur non authentifi&eacute; ;
+ les utilisateurs et invit&eacute;s se voient alors attribu&eacute; un id
+ utilisateur sp&eacute;cifique qui permettra de se connecter et
+ d'acc&eacute;der &agrave; certaines ressources.</dd>
+
+ <dt>RequireBasicAuth On|Off (par d&eacute;faut Off)</dt>
+ <dd>Cette option permet de d&eacute;finir si l'authentification
+ basique est requise avant de transmettre la requ&ecirc;te au
+ fournisseur d'autorisation. Dans l'affirmative, le fournisseur
+ d'autorisation ne sera invoqu&eacute; qu'en pr&eacute;sence d'un id
+ utilisateur et d'un mot de passe ; si ces deux &eacute;l&eacute;ments ne sont
+ pas pr&eacute;sents, un code d'erreur 401 sera renvoy&eacute;</dd>
+
+ <dt>UserExpr <em>expr</em> (pas de valeur par d&eacute;faut)</dt>
+ <dd>Lorsque le client ne fournit pas l'authentification basique
+ et si le fournisseur d'autorisation d&eacute;termine l'id utilisateur,
+ cette expression, &eacute;valu&eacute;e apr&egrave;s l'appel au fournisseur
+ d'autorisation, permet de d&eacute;terminer l'id utilisateur. Cette
+ expression se conforme &agrave; la <a href="../expr.html">syntaxe
+ ap_expr</a> et doit correspondre &agrave; une cha&icirc;ne de caract&egrave;res.
+ Une utilisation courante consiste &agrave; r&eacute;f&eacute;rencer la d&eacute;finition
+ d'une <code>Variable-<em>XXX</em></code> renvoy&eacute;e par le
+ fournisseur d'autorisation via une option du style
+ <code>UserExpr "%{reqenv:<em>XXX</em>}"</code>. Si cette option
+ est sp&eacute;cifi&eacute;e, et si l'id utilisateur ne peut pas &ecirc;tre d&eacute;finie
+ via l'expression apr&egrave;s une authentification r&eacute;ussie, la requ&ecirc;te
+ sera rejet&eacute;e avec un code d'erreur 500.</dd>
+
+ </dl>
+ </dd>
+ </dl>
+</usage>
+</directivesynopsis>
+
+</modulesynopsis>
diff --git a/docs/manual/mod/mod_authnz_fcgi.xml.meta b/docs/manual/mod/mod_authnz_fcgi.xml.meta
index 9ce87949f2..0bb1414049 100644
--- a/docs/manual/mod/mod_authnz_fcgi.xml.meta
+++ b/docs/manual/mod/mod_authnz_fcgi.xml.meta
@@ -8,5 +8,6 @@
<variants>
<variant>en</variant>
+ <variant>fr</variant>
</variants>
</metafile>
diff --git a/docs/manual/mod/mod_brotli.xml.fr b/docs/manual/mod/mod_brotli.xml.fr
new file mode 100644
index 0000000000..d5eda396b8
--- /dev/null
+++ b/docs/manual/mod/mod_brotli.xml.fr
@@ -0,0 +1,321 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
+<?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?>
+<!-- English Revision : 1816992 -->
+<!-- French translation : Lucien GENTIS -->
+<!-- Reviewed by : Vincent Deffontaines -->
+
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+<modulesynopsis metafile="mod_brotli.xml.meta">
+
+<name>mod_brotli</name>
+<description>Compression du contenu via Brotli avant sa livraison au client</description>
+<status>Extension</status>
+<sourcefile>mod_brotli.c</sourcefile>
+<identifier>brotli_module</identifier>
+<compatibility>Disponible &agrave; partir de la version 2.4.26 du serveur HTTP Apache</compatibility>
+
+<summary>
+ <p>Le module <module>mod_brotli</module> fournit le filtre en sortie
+ <code>BROTLI_COMPRESS</code> qui permet de compresser un contenu avant sa
+ livraison au client en utilisant la biblioth&egrave;que brotli. Ce filtre est
+ impl&eacute;ment&eacute; en utilisant la biblioth&egrave;que Brotli que l'on peut trouver &agrave; <a
+ href="https://github.com/google/brotli">https://github.com/google/brotli</a>.</p>
+</summary>
+<seealso><a href="../filter.html">Filters</a></seealso>
+
+<section id="recommended"><title>Exemples de configurations</title>
+ <note type="warning"><title>Compression et TLS</title>
+ <p>Certaines applications web sont vuln&eacute;rables &agrave; une attaque de type vol
+ d'informations lorsqu'une connexion TLS transmet des donn&eacute;es
+ compress&eacute;es. Pour plus d'informations, &eacute;tudiez en d&eacute;tail la famille
+ d'attaques "BREACH".</p>
+ </note>
+ <p>Voici une configuration simple qui compresse des types de contenus
+ courants au format texte :</p>
+
+ <example><title>Compression de certains types seulement</title>
+ <highlight language="config">
+AddOutputFilterByType BROTLI_COMPRESS text/html text/plain text/xml text/css text/javascript application/javascript
+ </highlight>
+ </example>
+
+</section>
+
+<section id="enable"><title>Activation de la compression</title>
+ <note type="warning"><title>Compression et TLS</title>
+ <p>Certaines applications web sont vuln&eacute;rables &agrave; une attaque de type vol
+ d'informations lorsqu'une connexion TLS transmet des donn&eacute;es
+ compress&eacute;es. Pour plus d'informations, &eacute;tudiez en d&eacute;tail la famille
+ d'attaques "BREACH".</p>
+ </note>
+
+ <section id="output"><title>Compression en sortie</title>
+ <p>La compression est impl&eacute;ment&eacute;e par le <a
+ href="../filter.html">filtre</a> <code>BROTLI_COMPRESS</code>. La
+ directive suivante active la compression pour les documents correspondant
+ au conteneur dans lequel elle est plac&eacute;e :</p>
+
+ <highlight language="config">
+SetOutputFilter BROTLI_COMPRESS
+SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png)$ no-brotli
+ </highlight>
+
+ <p>Si vous voulez restreindre la compression &agrave; certains types MIME
+ particuliers, vous pouvez utiliser la directive <directive
+ module="mod_filter">AddOutputFilterByType</directive>. Dans l'exemple
+ suivant, l'activation de la compression est restreinte aux fichiers html
+ de la documentation d'Apache :</p>
+
+ <highlight language="config">
+&lt;Directory "/your-server-root/manual"&gt;
+ AddOutputFilterByType BROTLI_COMPRESS text/html
+&lt;/Directory&gt;
+ </highlight>
+
+ <note><title>Note</title>
+ Le filtre <code>BROTLI_COMPRESS</code> est toujours ins&eacute;r&eacute; apr&egrave;s les
+ filtres RESOURCE comme PHP ou SSI. Il n'affecte jamais les sous-requ&ecirc;tes
+ internes.
+ </note>
+ <note><title>Note</title>
+ D&eacute;finie via <directive module="mod_env">SetEnv</directive>, la variable
+ d'environnement <code>no-brotli</code> permet de d&eacute;sactiver la
+ compression brotli pour une requ&ecirc;te particuli&egrave;re, et ceci m&ecirc;me si elle
+ est support&eacute;e par le client.
+ </note>
+
+ </section>
+
+</section>
+
+<section id="proxies"><title>Interaction avec les serveurs mandataires</title>
+
+ <p>Le module <module>mod_brotli</module> envoie un en-t&ecirc;te de r&eacute;ponse HTTP
+ <code>Vary:Accept-Encoding</code> pour indiquer aux mandataires qu'une
+ r&eacute;ponse mise en cache ne doit &ecirc;tre envoy&eacute;e qu'aux clients qui envoient
+ l'en-t&ecirc;te de requ&ecirc;te <code>Accept-Encoding</code> appropri&eacute;. Ceci permet
+ d'&eacute;viter d'envoyer du contenu compress&eacute; &agrave; un client qui ne sera pas en
+ mesure de le d&eacute;compresser.</p>
+
+ <p>Si vous utilisez des exclusions sp&eacute;ciales d&eacute;pendant, par exemple, de
+ l'en-t&ecirc;te <code>User-Agent</code>, vous devez faire un ajout manuel &agrave;
+ l'en-t&ecirc;te <code>Vary</code> afin d'informer les mandataires des restrictions
+ suppl&eacute;mentaires. Par exemple, dans une configuration typique o&ugrave; l'addition
+ du filtre <code>BROTLI_COMPRESS</code> d&eacute;pend de l'en-t&ecirc;te <code>User-Agent</code>,
+ vous devez ajouter :</p>
+
+ <highlight language="config">
+Header append Vary User-Agent
+ </highlight>
+
+ <p>Si votre d&eacute;cision d'utiliser la compression ou non d&eacute;pend d'autres
+ informations que le contenu d'en-t&ecirc;tes de requ&ecirc;tes (par exemple la version
+ HTTP), vous devez affecter la valeur <code>*</code> &agrave; l'en-t&ecirc;te
+ <code>Vary</code>. Ceci permet d'&eacute;viter que des mandataires qui le
+ supportent n'effectuent une mise en cache int&eacute;grale.</p>
+
+ <example><title>Exemple</title>
+ <highlight language="config">
+Header set Vary *
+ </highlight>
+ </example>
+</section>
+
+<section id="precompressed"><title>Servir un contenu pr&eacute;-compress&eacute;</title>
+
+ <p>comme <module>mod_brotli</module> compresse syst&eacute;matiquement un contenu
+ pour chaque requ&ecirc;te le concernant, il est possible d'obtenir un gain en
+ performance en pr&eacute;-compressant le contenu et en disant &agrave; mod_brotli de le
+ servir sans le recompresser. Pour cela, vous pouvez utiliser une
+ configuration du style :</p>
+
+ <highlight language="config">
+&lt;IfModule mod_headers.c&gt;
+ # Sert des fichiers CSS et JS compress&eacute;s par brotli, s'ils existent
+ # et si le client supporte brotli.
+ RewriteCond "%{HTTP:Accept-encoding}" "br"
+ RewriteCond "%{REQUEST_FILENAME}\.br" "-s"
+ RewriteRule "^(.*)\.(js|css)" "$1\.$2\.br" [QSA]
+
+ # Sert des types de contenu corrects, et &eacute;vite la double compression.
+ RewriteRule "\.css\.gz$" "-" [T=text/css,E=no-brotli:1]
+ RewriteRule "\.js\.gz$" "-" [T=text/javascript,E=no-brotli:1]
+
+
+ &lt;FilesMatch "(\.js\.br|\.css\.br)$"&gt;
+ # Sert un type d'encodage correct.
+ Header append Content-Encoding br
+
+ # Force les mandataires &agrave; mettre en cache s&eacute;par&eacute;ment les fichiers css/js
+ # compress&eacute;s ou non par brotli.
+ Header append Vary Accept-Encoding
+ &lt;/FilesMatch&gt;
+&lt;/IfModule&gt;
+ </highlight>
+
+</section>
+
+<directivesynopsis>
+<name>BrotliFilterNote</name>
+<description>Enregistre le taux de compression dans une note &agrave; des fins de
+journalisation</description>
+<syntax>BrotliFilterNote [<var>type</var>] <var>notename</var></syntax>
+<contextlist><context>server config</context><context>virtual host</context>
+</contextlist>
+
+<usage>
+ <p>La directive <directive>BrotliFilterNote</directive> permet d'indiquer
+ qu'une note &agrave; propos du taux de compression doit &ecirc;tre attach&eacute;e &agrave; la
+ requ&ecirc;te. L'argument <var>notename</var> permet de sp&eacute;cifier le nom de la
+ note. Vous pouvez utiliser cette note &agrave; des fins de statistiques en ajoutant
+ l'information correspondante &agrave; votre <a href="../logs.html#accesslog">access
+ log</a>.</p>
+
+ <example><title>Exemple</title>
+ <highlight language="config">
+BrotliFilterNote ratio
+
+LogFormat '"%r" %b (%{ratio}n) "%{User-agent}i"' brotli
+CustomLog "logs/brotli_log" brotli
+ </highlight>
+ </example>
+
+ <p>Si vous souhaitez que l'information enregistr&eacute;e dans vos journaux soit
+ plus pertinente, vous pouvez renseigner l'argument optionnel <var>type</var>
+ afin de sp&eacute;cifier le type de donn&eacute;es &agrave; enregistrer dans la note &agrave;
+ journaliser. L'argument <var>type</var> accepte les valeurs suivantes :</p>
+
+ <dl>
+ <dt><code>Input</code></dt>
+ <dd>Enregistre dans la note le nombre d'octets contenus dans le flux
+ d'entr&eacute;e du filtre.</dd>
+
+ <dt><code>Output</code></dt>
+ <dd>Enregistre dans la note le nombre d'octets contenus dans le flux
+ de sortie du filtre.</dd>
+
+ <dt><code>Ratio</code></dt>
+ <dd>Enregistre dans la note le taux de compression (<code>output/input *
+ 100</code>). Il s'agit de l'option par d&eacute;faut si l'argument
+ <var>type</var> est omis.</dd>
+ </dl>
+
+ <p>Vous pouvez alors configurer vos journaux de la mani&egrave;re suivante :</p>
+
+ <example><title>Journalisation sp&eacute;cifique</title>
+ <highlight language="config">
+BrotliFilterNote Input instream
+BrotliFilterNote Output outstream
+BrotliFilterNote Ratio ratio
+
+LogFormat '"%r" %{outstream}n/%{instream}n (%{ratio}n%%)' brotli
+CustomLog "logs/brotli_log" brotli
+ </highlight>
+ </example>
+</usage>
+<seealso><module>mod_log_config</module></seealso>
+</directivesynopsis>
+
+<directivesynopsis>
+<name>BrotliCompressionQuality</name>
+<description>Qualit&eacute; de la compression</description>
+<syntax>BrotliCompressionQuality <var>value</var></syntax>
+<default>BrotliCompressionQuality 5</default>
+<contextlist><context>server config</context><context>virtual host</context>
+</contextlist>
+
+<usage>
+ <p>La directive <directive>BrotliCompressionQuality</directive> permet de
+ sp&eacute;cifier la qualit&eacute; de la compression (une valeur entre 0 et
+ 11). Les valeurs les plus hautes correspondent &agrave; une compression de
+ meilleure qualit&eacute; mais plus lente.
+ </p>
+</usage>
+</directivesynopsis>
+
+<directivesynopsis>
+<name>BrotliCompressionWindow</name>
+<description>Taille de la fen&ecirc;tre de compression glissante brotli</description>
+<syntax>BrotliCompressionWindow <var>value</var></syntax>
+<default>BrotliCompressionWindow 18</default>
+<contextlist><context>server config</context><context>virtual host</context>
+</contextlist>
+
+<usage>
+ <p>La directive <directive>BrotliCompressionWindow</directive> permet de
+ sp&eacute;cifier la taille de la fen&ecirc;tre de compression glissante brotli (une
+ valeur comprise entre 10 et 24). Une taille de fen&ecirc;tre plus grande peut
+ am&eacute;liorer la qualit&eacute; de la compression mais consomme d'avantage de m&eacute;moire.</p>
+</usage>
+</directivesynopsis>
+
+<directivesynopsis>
+
+<name>BrotliCompressionMaxInputBlock</name>
+<description>Taille maximale du bloc de donn&eacute;es en entr&eacute;e</description>
+<syntax>BrotliCompressionMaxInputBlock <var>value</var></syntax>
+<default>(automatic)</default>
+<contextlist><context>server config</context><context>virtual host</context>
+</contextlist>
+
+<usage>
+ <p>La directive <directive>BrotliCompressionMaxInputBlock</directive> permet
+ de sp&eacute;cifier la taille maximale du bloc de donn&eacute;es en entr&eacute;e entre 16 et 24,
+ sachant que plus cette taille sera grande, plus grande sera la quantit&eacute; de
+ m&eacute;moire consomm&eacute;e.</p>
+</usage>
+</directivesynopsis>
+
+<directivesynopsis>
+<name>BrotliAlterETag</name>
+<description>Comment l'en-t&ecirc;te de r&eacute;ponse ETag doit &ecirc;tre modifi&eacute; au cours de la
+compression</description>
+<syntax>BrotliAlterETag AddSuffix|NoChange|Remove</syntax>
+<default>BrotliAlterETag AddSuffix</default>
+<contextlist><context>server config</context><context>virtual host</context>
+</contextlist>
+
+<usage>
+ <p>La directive <directive>BrotliAlterETag</directive> permet d'indiquer
+ comment l'en-t&ecirc;te ETag doit &ecirc;tre modifi&eacute; lorsqu'une r&eacute;ponse est compress&eacute;e.</p>
+ <dl>
+ <dt>AddSuffix</dt>
+ <dd><p>Ajoute la m&eacute;thode de compression &agrave; la fin de l'en-t&ecirc;te ETag, ce qui
+ implique que les repr&eacute;sentations compress&eacute;es et non compress&eacute;es poss&egrave;deront
+ des en-t&ecirc;tes ETag uniques. C'&eacute;tait le comportement par d&eacute;faut depuis la
+ version 2.4.0 avec un autre module de compression dynamique,
+ mod-deflate. Ce param&egrave;tre permet d'&eacute;viter l'envoi de messages
+ "HTTP Not Modified" (304) en r&eacute;ponse aux requ&ecirc;tes conditionnelles pour des
+ contenus compress&eacute;s.</p></dd>
+ <dt>NoChange</dt>
+ <dd><p>Ne modifie pas l'en-t&ecirc;te ETag d'une r&eacute;ponse compress&eacute;e. C'&eacute;tait le
+ comportement par d&eacute;faut depuis la version 2.4.0 avec un autre module de
+ compression dynamique, mod-deflate. Ce param&egrave;tre ne respecte pas la
+ propri&eacute;t&eacute; HTTP/1.1 selon laquelle toutes les repr&eacute;sentations d'une m&ecirc;me
+ ressource ont des en-t&ecirc;tes ETag uniques.</p></dd>
+ <dt>Remove</dt>
+ <dd><p>Supprime l'en-t&ecirc;te ETag des r&eacute;ponses compress&eacute;es, ce qui rend
+ impossibles certaines requ&ecirc;tes conditionnelles, mais &eacute;vite les inconv&eacute;nients
+ des options pr&eacute;c&eacute;dentes.</p></dd>
+ </dl>
+</usage>
+</directivesynopsis>
+
+</modulesynopsis>
diff --git a/docs/manual/mod/mod_brotli.xml.meta b/docs/manual/mod/mod_brotli.xml.meta
index 8dc14b10a5..8c6376e8a0 100644
--- a/docs/manual/mod/mod_brotli.xml.meta
+++ b/docs/manual/mod/mod_brotli.xml.meta
@@ -8,5 +8,6 @@
<variants>
<variant>en</variant>
+ <variant>fr</variant>
</variants>
</metafile>