-<?xml version="1.0"?>
+<?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: 1330964:1727201 (outdated) -->
+<!-- English Revision: 1727201 -->
<!-- French translation : Lucien GENTIS -->
<!-- Reviewed by : Vincent Deffontaines -->
<modulesynopsis metafile="mod_cgi.xml.meta">
<name>mod_cgi</name>
-<description>Exécution des scripts CGI</description>
+<description>Exécution des scripts CGI</description>
<status>Base</status>
<sourcefile>mod_cgi.c</sourcefile>
<identifier>cgi_module</identifier>
<summary>
<p>Tout fichier pris en compte par le gestionnaire
- <code>cgi-script</code> sera traité en tant que script CGI et
- exécuté par le serveur, sa sortie étant renvoyée au client. Les
- fichiers sont associés à ce gestionnaire soit parce qu'ils possèdent
- un nom contenant une extension définie par la directive <directive
+ <code>cgi-script</code> sera traité en tant que script CGI et
+ exécuté par le serveur, sa sortie étant renvoyée au client. Les
+ fichiers sont associés à ce gestionnaire soit parce qu'ils possèdent
+ un nom contenant une extension définie par la directive <directive
module="mod_mime">AddHandler</directive>, soit parce qu'ils se
- situent dans un répertoire défini par une directive <directive
+ situent dans un répertoire défini par une directive <directive
module="mod_alias">ScriptAlias</directive>.</p>
- <p>Comme introduction à l'utilisation des scripts CGI avec Apache,
+ <p>Comme introduction à l'utilisation des scripts CGI avec Apache,
voir notre tutoriel <a href="../howto/cgi.html">Les contenus
dynamiques avec CGI</a>.</p>
- <p>Le module <module>mod_cgid</module> doit être utilisé à la place
+ <p>Le module <module>mod_cgid</module> doit être utilisé à la place
du module <module>mod_cgi</module> lorsqu'on utilise un module MPM
- multi-threadé sous Unix. Vus de l'utilisateur, les deux modules
+ multi-threadé sous Unix. Vus de l'utilisateur, les deux modules
sont pratiquement identiques.</p>
- <p>À des fins de compatibilité ascendante, le gestionnaire
- cgi-script sera également activé pour tout fichier possédant le type
+ <p>À des fins de compatibilité ascendante, le gestionnaire
+ cgi-script sera également activé pour tout fichier possédant le type
MIME <code>application/x-httpd-cgi</code>. L'utilisation du type
- MIME magic est obsolète.</p>
+ MIME magic est obsolète.</p>
</summary>
<seealso><directive module="core">AcceptPathInfo</directive></seealso>
<seealso><directive module="core">Options</directive> ExecCGI</seealso>
<seealso><directive module="mod_alias">ScriptAlias</directive></seealso>
<seealso><directive module="mod_mime">AddHandler</directive></seealso>
-<seealso><a href="../suexec.html">Exécuter des programmes CGI sous des
-utilisateurs différents</a></seealso>
-<seealso><a href="http://www.ietf.org/rfc/rfc3875">La spécification
+<seealso><a href="../suexec.html">Exécuter des programmes CGI sous des
+utilisateurs différents</a></seealso>
+<seealso><a href="http://www.ietf.org/rfc/rfc3875">La spécification
CGI</a></seealso>
<section id="env"><title>Les variables d'environnement CGI</title>
- <p>Le serveur va définir les variables d'environnement CGI comme
- décrit dans la <a
- href="http://www.ietf.org/rfc/rfc3875">Spécification CGI</a>, de la
- manière suivante :</p>
+ <p>Le serveur va définir les variables d'environnement CGI comme
+ décrit dans la <a
+ href="http://www.ietf.org/rfc/rfc3875">Spécification CGI</a>, de la
+ manière suivante :</p>
<dl>
<dt>PATH_INFO</dt>
<dd>Cette variable ne sera pas disponible si la directive
<directive module="core">AcceptPathInfo</directive> est
- explicitement définie à <code>off</code>. Par défaut, si la
- directive <directive>AcceptPathInfo</directive> n'est pas définie,
+ explicitement définie à <code>off</code>. Par défaut, si la
+ directive <directive>AcceptPathInfo</directive> n'est pas définie,
<module>mod_cgi</module> acceptera des informations de chemin (en
- ajoutant /infos/chemin après le nom du script dans l'URI), alors
+ ajoutant /infos/chemin après le nom du script dans l'URI), alors
que le serveur de base retournera une erreur 404 NOT FOUND pour
- les requêtes contenant des informations de chemin supplémentaires.
- Ne pas définir la directive <directive>AcceptPathInfo</directive>
- a le même effet sur les requêtes avec <module>mod_cgi</module> que
- de la définir à <code>On</code>.</dd>
+ les requêtes contenant des informations de chemin supplémentaires.
+ Ne pas définir la directive <directive>AcceptPathInfo</directive>
+ a le même effet sur les requêtes avec <module>mod_cgi</module> que
+ de la définir à <code>On</code>.</dd>
<dt>REMOTE_HOST</dt>
- <dd>Cette variable ne sera définie que si la directive <directive
- module="core">HostnameLookups</directive> est définie à
- <code>on</code> (elle est à <code>off</code> par défaut), et si
- une recherche DNS inverse sur l'adresse IP de l'hôte client
- aboutit effectivement à un nom d'hôte.</dd>
+ <dd>Cette variable ne sera définie que si la directive <directive
+ module="core">HostnameLookups</directive> est définie à
+ <code>on</code> (elle est à <code>off</code> par défaut), et si
+ une recherche DNS inverse sur l'adresse IP de l'hôte client
+ aboutit effectivement à un nom d'hôte.</dd>
<dt>REMOTE_IDENT</dt>
- <dd>Cette variable ne sera définie que si la directive <directive
+ <dd>Cette variable ne sera définie que si la directive <directive
module="mod_ident">IdentityCheck</directive>
- est définie à <code>on</code>, et si l'hôte client supporte le
+ est définie à <code>on</code>, et si l'hôte client supporte le
protocole ident. Notez que l'on ne peut accorder une confiance
- aveugle au contenu de cette variable car il peut être aisément
- falsifié, et si un mandataire s'intercale entre le client et le
+ aveugle au contenu de cette variable car il peut être aisément
+ falsifié, et si un mandataire s'intercale entre le client et le
serveur, il est totalement inutilisable.</dd>
<dt>REMOTE_USER</dt>
- <dd>Cette variable ne sera définie que si le script CGI fait
+ <dd>Cette variable ne sera définie que si le script CGI fait
l'objet d'une authentification.</dd>
+
</dl>
+ <p>Ce module utilise aussi les fonctions de base <a
+ href="https://ci.apache.org/projects/httpd/trunk/doxygen/group__APACHE__CORE__SCRIPT.html#ga0e81f9571a8a73f5da0e89e1f46d34b1">ap_add_common_vars</a>
+ et <a
+ href="https://ci.apache.org/projects/httpd/trunk/doxygen/group__APACHE__CORE__SCRIPT.html#ga6b975cd7ff27a338cb8752381a4cc14f">ap_add_cgi_vars</a>
+ pour ajouter des variables d'environnement comme :</p>
+ <dl>
+ <dt>DOCUMENT_ROOT</dt>
+
+ <dd>Prend la valeur définie par la directive <directive
+ module="core">DocumentRoot</directive>.</dd>
+
+ <dt>SERVER_NAME</dt>
+
+ <dd>Le nom de domaine pleinement qualifié pour la requête considérée</dd>
+
+ <dt>SERVER_ADDR</dt>
+
+ <dd>L'adresse IP du serveur virtuel qui traite la requête</dd>
+
+ <dt>SERVER_ADMIN</dt>
+
+ <dd>Prend la valeur définie par la directive <directive
+ module="core">ServerAdmin</directive>.</dd>
+ </dl>
+ <p>Pour une liste exhaustive de ces variables, vous pouvez écrire un script
+ CGI basique qui extrait toutes les variables d'environnement passées par
+ Apache selon un format adapté.
+ </p>
</section>
-<section id="cgi-debug"><title>Débogage des scripts CGI</title>
- <p>Le débogage des scripts CGI était difficile par le passé,
- principalement parce qu'il n'était pas possible d'étudier la sortie
- (sortie standard et erreurs) des scripts dont l'exécution échouait.
- Ces directives permettent une journalisation plus détaillée des
+<section id="cgi-debug"><title>Débogage des scripts CGI</title>
+ <p>Le débogage des scripts CGI était difficile par le passé,
+ principalement parce qu'il n'était pas possible d'étudier la sortie
+ (sortie standard et erreurs) des scripts dont l'exécution échouait.
+ Ces directives permettent une journalisation plus détaillée des
erreurs.</p>
<section><title>Format du fichier journal CGI</title>
- <p>Lorsqu'il est configuré, le journal des erreurs CGI enregistre
- la sortie de tout programme CGI dont l'exécution ne s'effectue pas
- correctement. Un script CGI dont l'exécution échoue provoque la
- journalisation d'une grande quantité d'informations. Les deux
- premières lignes possèdent toujours le format suivant :</p>
+ <p>Lorsqu'il est configuré, le journal des erreurs CGI enregistre
+ la sortie de tout programme CGI dont l'exécution ne s'effectue pas
+ correctement. Un script CGI dont l'exécution échoue provoque la
+ journalisation d'une grande quantité d'informations. Les deux
+ premières lignes possèdent toujours le format suivant :</p>
<example>
- %% [<var>date</var>] <var>requête</var><br />
- %% <var>état HTTP</var> <var>nom du script CGI</var>
+ %% [<var>date</var>] <var>requête</var><br />
+ %% <var>état HTTP</var> <var>nom du script CGI</var>
</example>
- <p>Si le script CGI n'a pas pu démarrer, le fichier journal
- contiendra les deux lignes supplémentaires suivantes :</p>
+ <p>Si le script CGI n'a pas pu démarrer, le fichier journal
+ contiendra les deux lignes supplémentaires suivantes :</p>
<example>
%%erreur<br />
</example>
<p>Par contre, si l'erreur provient du renvoi par le script
- d'informations incorrectes dans les en-têtes (dû souvent à une
- bogue du script), les informations suivantes sont journalisées
+ d'informations incorrectes dans les en-têtes (dû souvent à une
+ bogue du script), les informations suivantes sont journalisées
:</p>
<example>
- %requête<br />
- <var>Tous les en-têtes de requête HTTP reçus</var><br />
- <var>Les entités POST ou PUT (s'il en existe)</var><br />
- %réponse<br />
- <var>Tous les en-têtes générés par le script CGI</var><br />
+ %requête<br />
+ <var>Tous les en-têtes de requête HTTP reçus</var><br />
+ <var>Les entités POST ou PUT (s'il en existe)</var><br />
+ %réponse<br />
+ <var>Tous les en-têtes générés par le script CGI</var><br />
%stdout<br />
<var>la sortie standard CGI</var><br />
%stderr<br />
</example>
<p>(Les parties %stdout et %stderr seront absentes si le script
- n'a rien envoyé sur la sortie standard ou la sortie
+ n'a rien envoyé sur la sortie standard ou la sortie
d'erreurs).</p>
</section>
</section>
</modulelist>
<usage>
- <p>La directive <directive>ScriptLog</directive> définit
+ <p>La directive <directive>ScriptLog</directive> définit
le chemin du fichier journal des erreurs du script CGI. Si cette
- directive n'est pas définie, aucune journalisation des erreurs n'est
- effectuée. Si elle est définie, toute erreur CGI sera enregistrée
+ directive n'est pas définie, aucune journalisation des erreurs n'est
+ effectuée. Si elle est définie, toute erreur CGI sera enregistrée
dans le fichier dont le nom est fourni en argument. S'il s'agit d'un
- chemin de fichier relatif, il est considéré par rapport au
- répertoire défini par la directive <directive
+ chemin de fichier relatif, il est considéré par rapport au
+ répertoire défini par la directive <directive
module="core">ServerRoot</directive>.
</p>
</example>
<p>Ce journal sera ouvert par l'utilisateur sous lequel les
- processus enfants s'exécutent, c'est à dire l'utilisateur spécifié
+ processus enfants s'exécutent, c'est à dire l'utilisateur spécifié
par la directive du serveur <directive
module="mod_unixd">User</directive>. Ceci implique que soit le
- répertoire dans lequel se trouve le journal doit être accessible en
- écriture pour cet utilisateur, soit le fichier doit être créé
- manuellement et accessible en écriture pour cet utilisateur. Si vous
- placez le journal du script dans votre répertoire principal des
+ répertoire dans lequel se trouve le journal doit être accessible en
+ écriture pour cet utilisateur, soit le fichier doit être créé
+ manuellement et accessible en écriture pour cet utilisateur. Si vous
+ placez le journal du script dans votre répertoire principal des
journaux, ne modifiez <strong>PAS</strong> les permissions de ce
- dernier afin de le le rendre accessible en écriture par
- l'utilisateur sous lequel les processus enfants s'exécutent.</p>
+ dernier afin de le le rendre accessible en écriture par
+ l'utilisateur sous lequel les processus enfants s'exécutent.</p>
<p>Notez que l'on ne doit activer la journalisation des scripts
- qu'à des fins de débogage lors de l'écriture de scripts CGI, et non
- de manière permanente sur un serveur en production. Elle n'est pas
- optimisée en ce qui concerne la vitesse et l'efficacité, et peut
- présenter des problèmes de sécurité si on l'utilise dans un cadre
- autre que celui pour lequel elle a été conçue.</p>
+ qu'à des fins de débogage lors de l'écriture de scripts CGI, et non
+ de manière permanente sur un serveur en production. Elle n'est pas
+ optimisée en ce qui concerne la vitesse et l'efficacité, et peut
+ présenter des problèmes de sécurité si on l'utilise dans un cadre
+ autre que celui pour lequel elle a été conçue.</p>
</usage>
</directivesynopsis>
<usage>
<p>La directive <directive>ScriptLogLength</directive>
- définit la taille maximale du fichier journal des scripts CGI. Comme
- le fichier journal accumule une grande quantité d'informations par
- erreur CGI (tous les en-têtes de la requête, toutes les sorties du
+ définit la taille maximale du fichier journal des scripts CGI. Comme
+ le fichier journal accumule une grande quantité d'informations par
+ erreur CGI (tous les en-têtes de la requête, toutes les sorties du
script), il peut vite atteindre une grande taille. En limitant la
- taille du fichier, cette directive permet d'éviter les problèmes que
+ taille du fichier, cette directive permet d'éviter les problèmes que
causerait sa croissance sans limites. Lorsque le fichier a atteint
cette taille maximale, plus aucune information n'y est
- enregistrée.</p>
+ enregistrée.</p>
</usage>
</directivesynopsis>
<directivesynopsis>
<name>ScriptLogBuffer</name>
-<description>Taille maximale des requêtes PUT ou POST qui seront
-enregistrées dans le journal du script</description>
+<description>Taille maximale des requêtes PUT ou POST qui seront
+enregistrées dans le journal du script</description>
<syntax>ScriptLogBuffer <var>octets</var></syntax>
<default>ScriptLogBuffer 1024</default>
<contextlist><context>server config</context>
<usage>
<p>Cette directive limite la taille du corps de toute
- entité PUT ou POST qui sera enregistrée dans le journal, afin
- de prévenir une croissance trop importante et trop rapide du fichier
- journal due à la réception de corps de requête de grandes tailles.
+ entité PUT ou POST qui sera enregistrée dans le journal, afin
+ de prévenir une croissance trop importante et trop rapide du fichier
+ journal due à la réception de corps de requête de grandes tailles.
Cette directive modifie cette taille maximale, dont la
- valeur par défaut est de 1024 octets.</p>
+ valeur par défaut est de 1024 octets.</p>
</usage>
</directivesynopsis>
-<?xml version="1.0"?>
+<?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: 1724273:1726578 (outdated) -->
+<!-- English Revision: 1726578 -->
<!-- French translation : Lucien GENTIS -->
<!-- Reviewed by : Vincent Deffontaines -->
<identifier>deflate_module</identifier>
<summary>
- <p>Le module <module>mod_deflate</module> implémente le filtre de
+ <p>Le module <module>mod_deflate</module> implémente le filtre de
sortie <code>DEFLATE</code> qui permet de comprimer la sortie de
- votre serveur avant de l'envoyer au client sur le réseau.</p>
+ votre serveur avant de l'envoyer au client sur le réseau.</p>
</summary>
<seealso><a href="../filter.html">Les filtres</a></seealso>
-<section id="supportedencodings"><title>Codages supportés</title>
- <p>Le seul codage supporté est <code>gzip</code> afin d'assurer une complète
- compatibilité avec les anciens navigateurs. Le codage <code>deflate</code>
- n'est donc pas supporté ; voir à ce sujet la <a
+<section id="supportedencodings"><title>Codages supportés</title>
+ <p>Le seul codage supporté est <code>gzip</code> afin d'assurer une complète
+ compatibilité avec les anciens navigateurs. Le codage <code>deflate</code>
+ n'est donc pas supporté ; voir à ce sujet la <a
href="http://www.gzip.org/zlib/zlib_faq.html#faq38">documentation de zlib</a>
- pour une explication détaillée.
+ pour une explication détaillée.
</p>
</section>
<section id="recommended"><title>Exemples de configurations</title>
<note type="warning"><title>Compression et TLS</title>
- <p>Certaines applications web sont vulnérables à une attaque pour
+ <p>Certaines applications web sont vulnérables à une attaque pour
vol d'informations lorsqu'une connexion TLS transporte des
- données compressées par deflate. Pour plus de détails,
+ données compressées par deflate. Pour plus de détails,
documentez-vous sur la famille d'attaques "BREACH".</p>
</note>
<p>Voici un exemple simple de configuration qui permet de comprimer
- les types de contenu à base de texte.</p>
+ les types de contenu à base de texte.</p>
<example><title>Ne comprime que certains types de documents</title>
<highlight language="config">
<section id="enable"><title>Activation de la compression</title>
<note type="warning"><title>Compression et TLS</title>
- <p>Certaines applications web sont vulnérables à une attaque pour
+ <p>Certaines applications web sont vulnérables à une attaque pour
vol d'informations lorsqu'une connexion TLS transporte des
- données compressées par deflate. Pour plus de détails,
+ données compressées par deflate. Pour plus de détails,
documentez-vous sur la famille d'attaques "BREACH".</p>
</note>
<section id="output"><title>Compression de la sortie</title>
- <p>La compression est implémentée par le <a
+ <p>La compression est implémentée par le <a
href="../filter.html">filtre</a> <code>DEFLATE</code>. La
directive suivante active la compression des documents dans le
- conteneur où elle est placée :</p>
+ conteneur où elle est placée :</p>
<highlight language="config">
SetOutputFilter DEFLATE
SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png)$ no-gzip
</highlight>
- <p>Si vous voulez limiter la compression à certains types MIME
+ <p>Si vous voulez limiter la compression à certains types MIME
particuliers, vous pouvez utiliser la directive <directive
module="mod_filter">AddOutputFilterByType</directive>. Voici un exemple
- où la compression n'est activée que pour les fichiers html de la
+ où la compression n'est activée que pour les fichiers html de la
documentation d'Apache :</p>
<highlight language="config">
</highlight>
<note><title>Note</title>
- Le filtre <code>DEFLATE</code> est toujours inséré après les
+ Le filtre <code>DEFLATE</code> est toujours inséré après les
filtres RESOURCE comme PHP ou SSI. Il n'affecte jamais les
- sous-requêtes internes.
+ sous-requêtes internes.
</note>
<note><title>Note</title>
- La variable d'environnement <code>force-gzip</code>, définie à
+ La variable d'environnement <code>force-gzip</code>, définie à
l'aide de la directive <directive
module="mod_env">SetEnv</directive>, permet d'ignorer la
- configuration de votre navigateur quant aux codages acceptés, et
- d'envoyer sans condition une sortie comprimée.
+ configuration de votre navigateur quant aux codages acceptés, et
+ d'envoyer sans condition une sortie comprimée.
</note>
</section>
- <section id="inflate"><title>Décompression de la sortie</title>
+ <section id="inflate"><title>Décompression de la sortie</title>
<p>Le module <module>mod_deflate</module> fournit aussi un filtre
- permettant de décomprimer un corps de réponse comprimé par gzip.
- Pour activer cette fonctionnalité, vous devez insérer le filtre
- <code>INFLATE</code> dans la chaîne de filtrage en sortie via la
+ permettant de décomprimer un corps de réponse comprimé par gzip.
+ Pour activer cette fonctionnalité, vous devez insérer le filtre
+ <code>INFLATE</code> dans la chaîne de filtrage en sortie via la
directive <directive module="core">SetOutputFilter</directive> ou
<directive module="mod_mime">AddOutputFilter</directive>, comme
dans l'exemple suivant :</p>
</Location>
</highlight>
- <p>Dans cet exemple, les sorties comprimées par gzip en
- provenance de example.com seront décomprimées afin de pouvoir
- être éventuellement traitées par d'autres filtres.
+ <p>Dans cet exemple, les sorties comprimées par gzip en
+ provenance de example.com seront décomprimées afin de pouvoir
+ être éventuellement traitées par d'autres filtres.
</p>
</section>
- <section id="input"><title>Décompression de l'entrée</title>
- <p>Le module <module>mod_deflate</module> fournit également un filtre
- permettant de décomprimer un corps de requête comprimé par gzip.
- Pour activer cette fonctionnalité, vous devez insérer le filtre
- <code>DEFLATE</code> dans la chaîne de filtrage en entrée via la
+ <section id="input"><title>Décompression de l'entrée</title>
+ <p>Le module <module>mod_deflate</module> fournit également un filtre
+ permettant de décomprimer un corps de requête comprimé par gzip.
+ Pour activer cette fonctionnalité, vous devez insérer le filtre
+ <code>DEFLATE</code> dans la chaîne de filtrage en entrée via la
directive <directive module="core">SetInputFilter</directive> ou
<directive module="mod_mime">AddInputFilter</directive>, comme
dans l'exemple suivant :</p>
</Location>
</highlight>
- <p>Désormais, si une requête contient un en-tête
+ <p>Désormais, si une requête contient un en-tête
<code>Content-Encoding: gzip</code>, son corps sera
- automatiquement décomprimé. Peu de navigateurs sont actuellement
- en mesure de comprimer les corps de requêtes. Cependant,
- certaines applications spécialisées supportent les requêtes
- comprimées, comme par exemple certains clients <a
+ automatiquement décomprimé. Peu de navigateurs sont actuellement
+ en mesure de comprimer les corps de requêtes. Cependant,
+ certaines applications spécialisées supportent les requêtes
+ comprimées, comme par exemple certains clients <a
href="http://www.webdav.org">WebDAV</a>.</p>
- <note type="warning"><title>Note à propos de l'en-tête
+ <note type="warning"><title>Note à propos de l'en-tête
<code>Content-Length</code></title>
- <p>Si vous évaluez vous-même la taille du corps de requête,
- <em>ne faites pas confiance à l'en-tête
- <code>Content-Length</code>!</em> L'en-tête
- Content-Length indique la longueur des données en provenance du
- client, et <em>non</em> la quantité d'octets que représente le
- flux de données décompressé.</p>
+ <p>Si vous évaluez vous-même la taille du corps de requête,
+ <em>ne faites pas confiance à l'en-tête
+ <code>Content-Length</code>!</em> L'en-tête
+ Content-Length indique la longueur des données en provenance du
+ client, et <em>non</em> la quantité d'octets que représente le
+ flux de données décompressé.</p>
</note>
</section>
</section>
<section id="proxies"><title>Prise en compte des serveurs mandataires</title>
- <p>Le module <module>mod_deflate</module> envoie un en-tête de
- réponse HTTP <code>Vary: Accept-Encoding</code> pour avertir les
- mandataires qu'une réponse enregistrée dans le cache ne doit être
- envoyée qu'aux clients qui ont envoyé l'en-tête de requête
- <code>Accept-Encoding</code> approprié. Ceci permet d'éviter l'envoi
- d'un contenu comprimé à un client qui ne sera pas en mesure
- de l'interpréter.</p>
-
- <p>Si vous avez défini des exclusions spécifiques dépendant, par
- exemple, de l'en-tête <code>User-Agent</code>, vous devez
- ajouter manuellement des données à l'en-tête <code>Vary</code> afin
- d'informer les mandataires des restrictions supplémentaires. Par
- exemple, dans la configuration classique où l'addition du filtre
- <code>DEFLATE</code> dépend du contenu de l'en-tête
- <code>User-Agent</code>, vous devez spécifier :</p>
+ <p>Le module <module>mod_deflate</module> envoie un en-tête de
+ réponse HTTP <code>Vary: Accept-Encoding</code> pour avertir les
+ mandataires qu'une réponse enregistrée dans le cache ne doit être
+ envoyée qu'aux clients qui ont envoyé l'en-tête de requête
+ <code>Accept-Encoding</code> approprié. Ceci permet d'éviter l'envoi
+ d'un contenu comprimé à un client qui ne sera pas en mesure
+ de l'interpréter.</p>
+
+ <p>Si vous avez défini des exclusions spécifiques dépendant, par
+ exemple, de l'en-tête <code>User-Agent</code>, vous devez
+ ajouter manuellement des données à l'en-tête <code>Vary</code> afin
+ d'informer les mandataires des restrictions supplémentaires. Par
+ exemple, dans la configuration classique où l'addition du filtre
+ <code>DEFLATE</code> dépend du contenu de l'en-tête
+ <code>User-Agent</code>, vous devez spécifier :</p>
<highlight language="config">
Header append Vary User-Agent
</highlight>
- <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
- (par exemple la version HTTP), vous devez attribuer à l'en-tête
- <code>Vary</code> la valeur <code>*</code>, ce qui permet d'empêcher
+ <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
+ (par exemple la version HTTP), vous devez attribuer à l'en-tête
+ <code>Vary</code> la valeur <code>*</code>, ce qui permet d'empêcher
les mandataires compatibles de tout mettre en cache.</p>
<example><title>Exemple</title>
</example>
</section>
-<section id="precompressed"><title>Servir du contenu précompressé</title>
+<section id="precompressed"><title>Servir du contenu précompressé</title>
- <p>Comme <module>mod_deflate</module> recompresse le contenu demandé à
- chaque requête, il est possible de gagner en performances en
- précompressant ce contenu, et en forçant mod_deflate à servir ce
- contenu précompressé sans avoir à le recompresser à chaque requête.
+ <p>Comme <module>mod_deflate</module> recompresse le contenu demandé à
+ chaque requête, il est possible de gagner en performances en
+ précompressant ce contenu, et en forçant mod_deflate à servir ce
+ contenu précompressé sans avoir à le recompresser à chaque requête.
Pour ce faire, utilisez une configuration du style :</p>
<highlight language="config">
<IfModule mod_headers.c>
- # Servir des fichiers CSS compressés avec gzip, s'ils existent, et
+ # Servir des fichiers CSS compressés avec gzip, s'ils existent, et
# si le client accepte gzip.
RewriteCond "%{HTTP:Accept-encoding}" "gzip"
RewriteCond "%{REQUEST_FILENAME}\.gz" "-s"
RewriteRule "^(.*)\.css" "$1\.css\.gz" [QSA]
- # Servir des fichiers JS compressés avec gzip, s'ils existent, et
+ # Servir des fichiers JS compressés avec gzip, s'ils existent, et
# si le client accepte gzip.
RewriteCond "%{HTTP:Accept-encoding}" "gzip"
RewriteCond "%{REQUEST_FILENAME}\.gz" "-s"
RewriteRule "^(.*)\.js" "$1\.js\.gz" [QSA]
- # Servir des types de contenus corrects, et empêcher mod_deflate
+ # Servir des types de contenus corrects, et empêcher mod_deflate
# d'effectuer un double gzip.
RewriteRule "\.css\.gz$" "-" [T=text/css,E=no-gzip:1]
RewriteRule "\.js\.gz$" "-" [T=text/javascript,E=no-gzip:1]
# Servir le type de codage correct.
Header append Content-Encoding gzip
- # Force les mandataires à mettre en cache séparément les fichiers
- # css/js gzippés & non gzippés.
+ # Force les mandataires à mettre en cache séparément les fichiers
+ # css/js gzippés & non gzippés.
Header append Vary Accept-Encoding
</FilesMatch>
</IfModule>
<directivesynopsis>
<name>DeflateFilterNote</name>
<description>Enregistre le taux de compression sous la forme d'une note
-à des fins de journalisation</description>
+à des fins de journalisation</description>
<syntax>DeflateFilterNote [<var>type</var>] <var>nom de la note</var></syntax>
<contextlist><context>server config</context><context>virtual host</context>
</contextlist>
<usage>
<p>La directive <directive>DeflateFilterNote</directive> permet de
- spécifier qu'une note à propos du taux de compression doit être
- attachée à la requête. Le nom de la note est passé sous la forme
- d'un argument de la directive. Vous pouvez utiliser cette note à des
+ spécifier qu'une note à propos du taux de compression doit être
+ attachée à la requête. Le nom de la note est passé sous la forme
+ 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>
+ href="../logs.html#accesslog">journal des accès</a>.</p>
<example><title>Exemple</title>
<highlight language="config">
</highlight>
</example>
- <p>Pour extraire des informations plus précises de vos journaux,
- vous pouvez utiliser l'argument <var>type</var> pour spécifier le
- type de données de la note enregistrée dans le journal.
+ <p>Pour extraire des informations plus précises de vos journaux,
+ vous pouvez utiliser l'argument <var>type</var> pour spécifier le
+ type de données de la note enregistrée dans le journal.
<var>type</var> peut prendre une des valeurs suivantes :</p>
<dl>
<dt><code>Input</code></dt>
- <dd>Enregistre dans la note la taille en octets du flux en entrée
+ <dd>Enregistre dans la note la taille en octets du flux en entrée
du filtre.</dd>
<dt><code>Output</code></dt>
du filtre.</dd>
<dt><code>Ratio</code></dt>
- <dd>Enregistre le taux de compression (<code>sortie/entrée *
- 100</code>) dans la note. Il s'agit de la valeur par défaut si
+ <dd>Enregistre le taux de compression (<code>sortie/entrée *
+ 100</code>) dans la note. Il s'agit de la valeur par défaut si
l'argument <var>type</var> est omis.</dd>
</dl>
- <p>Vous pouvez donc configurer votre journalisation de la manière
+ <p>Vous pouvez donc configurer votre journalisation de la manière
suivante :</p>
- <example><title>Journalisation détaillée</title>
+ <example><title>Journalisation détaillée</title>
<highlight language="config">
DeflateFilterNote Input instream
DeflateFilterNote Output outstream
<usage>
<p>La directive <directive>DeflateBufferSize</directive> permet de
- spécifier la taille en octets du fragment que zlib devra comprimer
- en une seule fois.</p>
+ spécifier la taille en octets du fragment que zlib devra comprimer
+ en une seule fois. Si la taille de la réponse compressée est supérieure à
+ celle spécifiée par cette directive, httpd passera à un mode d'encodage
+ fragmenté (l'en-tête HTTP <code>Transfer-Encoding</code> prend la valeur
+ <code>Chunked</code>), ceci ayant comme effet de bord de ne définir aucun
+ en-tête HTTP <code>Content-Length</code>. Il est important de connaître ce
+ comportement, particulièrement lorsque httpd travaille derrière des
+ mandataires inverses avec mise en cache, ou lorsque httpd est configuré pour
+ utiliser <module>mod_cache</module> et <module>mod_cache_disk</module> car
+ les réponses HTTP sans en-tête <code>Content-Length</code> peuvent ne pas
+ être mises en cache.</p>
</usage>
</directivesynopsis>
<directivesynopsis>
<name>DeflateWindowSize</name>
-<description>Taille de la fenêtre de compression zlib</description>
+<description>Taille de la fenêtre de compression zlib</description>
<syntax>DeflateWindowSize <var>valeur</var></syntax>
<default>DeflateWindowSize 15</default>
<contextlist><context>server config</context><context>virtual host</context>
<usage>
<p>La directive <directive>DeflateWindowSize</directive> permet de
- spécifier la fenêtre de compression zlib (une valeur comprise entre
- 1 et 15). En général, plus grande sera la taille de la fenêtre, plus
+ spécifier la fenêtre de compression zlib (une valeur comprise entre
+ 1 et 15). En général, plus grande sera la taille de la fenêtre, plus
grand sera le taux de compression auquel on pourra s'attendre.</p>
</usage>
</directivesynopsis>
<directivesynopsis>
<name>DeflateMemLevel</name>
-<description>La quantité de mémoire utilisable par zlib pour la
+<description>La quantité de mémoire utilisable par zlib pour la
compression</description>
<syntax>DeflateMemLevel <var>valeur</var></syntax>
<default>DeflateMemLevel 9</default>
<usage>
<p>La directive <directive>DeflateMemLevel</directive> permet de
- spécifier la quantité de mémoire utilisable par zlib pour la
+ spécifier la quantité de mémoire utilisable par zlib pour la
compression (une valeur comprise entre 1 et 9).</p>
</usage>
</directivesynopsis>
<directivesynopsis>
<name>DeflateCompressionLevel</name>
-<description>Le niveau de compression que nous appliquons à la
+<description>Le niveau de compression que nous appliquons à la
sortie</description>
<syntax>DeflateCompressionLevel <var>valeur</var></syntax>
-<default>La valeur par défaut de zlib</default>
+<default>La valeur par défaut de zlib</default>
<contextlist><context>server config</context><context>virtual host</context>
</contextlist>
<usage>
<p>La directive <directive>DeflateCompressionLevel</directive>
- permet de spécifier le niveau de compression à utiliser ; plus
+ permet de spécifier le niveau de compression à utiliser ; plus
grande est la valeur, meilleure sera la compression, mais plus grand
- sera aussi le temps CPU nécessaire pour effectuer le
+ sera aussi le temps CPU nécessaire pour effectuer le
traitement.</p>
- <p>La valeur doit être comprise entre 1 (compression minimale) et 9
+ <p>La valeur doit être comprise entre 1 (compression minimale) et 9
(compression maximale).</p>
</usage>
</directivesynopsis>
<directivesynopsis>
<name>DeflateAlterETag</name>
-<description>Comment l'en-tête sortant ETag doit être modifié au cours
+<description>Comment l'en-tête sortant ETag doit être modifié au cours
de la compression</description>
<syntax>DeflateAlterETag AddSuffix|NoChange|Remove</syntax>
<default>DeflateAlterETag AddSuffix</default>
<usage>
<p>La directive <directive>DeflateAlterETag</directive> permet de
- spécifier comment l'en-tête ETag doit être modifié lorsqu'une
- réponse est compressée.</p>
+ spécifier comment l'en-tête ETag doit être modifié lorsqu'une
+ réponse est compressée.</p>
<dl>
<dt>AddSuffix</dt>
- <dd><p>Ajoute la méthode de compression à la fin de l'en-tête, ce
- qui a pour effet d'attribuer un en-tête ETag unique aux
- représentations compressées et non compressées. C'est l'option par
- défaut depuis la version 2.4.0, mais empêche de servir des
- codes d'état "HTTP Not Modified" (304) en réponse aux requêtes pour un
- contenu compressé.</p></dd>
+ <dd><p>Ajoute la méthode de compression à la fin de l'en-tête, ce
+ qui a pour effet d'attribuer un en-tête ETag unique aux
+ représentations compressées et non compressées. C'est l'option par
+ défaut depuis la version 2.4.0, mais empêche de servir des
+ codes d'état "HTTP Not Modified" (304) en réponse aux requêtes pour un
+ contenu compressé.</p></dd>
<dt>NoChange</dt>
- <dd><p>Ne modifie pas l'en-tête ETag dans une réponse compressée.
- C'était l'option par
- défaut avant la version 2.4.0, mais cela ne respectait pas la
- préconisation HTTP/1.1 selon laquelle chaque représentation de la
- même ressource doit posséder un en-tête ETag unique.</p></dd>
+ <dd><p>Ne modifie pas l'en-tête ETag dans une réponse compressée.
+ C'était l'option par
+ défaut avant la version 2.4.0, mais cela ne respectait pas la
+ préconisation HTTP/1.1 selon laquelle chaque représentation de la
+ même ressource doit posséder un en-tête ETag unique.</p></dd>
<dt>Remove</dt>
- <dd><p>Supprime l'en-tête ETag dans les réponses compressées, ce qui
- a pour effet de rendre impossibles certaines requêtes
- conditionnelles, mais permet d'éviter les inconvénients des options
- précédentes.</p></dd>
+ <dd><p>Supprime l'en-tête ETag dans les réponses compressées, ce qui
+ a pour effet de rendre impossibles certaines requêtes
+ conditionnelles, mais permet d'éviter les inconvénients des options
+ précédentes.</p></dd>
</dl>
</usage>
</directivesynopsis>
<directivesynopsis>
<name>DeflateInflateLimitRequestBody</name>
-<description>Taille maximale des corps de requête décompressés</description>
+<description>Taille maximale des corps de requête décompressés</description>
<syntax>DeflateInflateLimitRequestBody<var>value</var></syntax>
-<default>Aucune limite, mais LimitRequestBody s'applique après la
+<default>Aucune limite, mais LimitRequestBody s'applique après la
compression</default>
<contextlist><context>server config</context><context>virtual host</context>
<context>directory</context><context>.htaccess</context></contextlist>
-<compatibility>Disponible à partir de la version 2.4.10 du serveur HTTP
+<compatibility>Disponible à partir de la version 2.4.10 du serveur HTTP
Apache</compatibility>
<usage>
<p>La directive
<directive>DeflateInflateLimitRequestBody</directive> permet de
- spécifier la taille maximale d'un corps de requête décompressé. Si
- elle n'est pas définie, c'est la valeur de la directive <directive
+ spécifier la taille maximale d'un corps de requête décompressé. Si
+ elle n'est pas définie, c'est la valeur de la directive <directive
module="core">LimitRequestBody</directive> qui s'applique au corps
- de requête décompressé.</p>
+ de requête décompressé.</p>
</usage>
</directivesynopsis>
<directivesynopsis>
<name>DeflateInflateRatioLimit</name>
-<description>Ratio de décompression maximum pour les corps de requêtes</description>
+<description>Ratio de décompression maximum pour les corps de requêtes</description>
<syntax>DeflateInflateRatioLimit <var>value</var></syntax>
<default>200</default>
<contextlist><context>server config</context><context>virtual host</context>
<context>directory</context><context>.htaccess</context></contextlist>
-<compatibility>Disponible à partir de la version 2.4.10 du serveur HTTP
+<compatibility>Disponible à partir de la version 2.4.10 du serveur HTTP
Apache</compatibility>
<usage>
<p>La directive <directive>DeflateInflateRatioLimit</directive>
- permet de définir le ratio maximum entre la taille d'un corps de
- requête compressé et sa taille décompressée. Ce ratio est vérifié au
- fur et à mesure de
- l'arrivée du corps de requête, et s'il est dépassé plus de
+ permet de définir le ratio maximum entre la taille d'un corps de
+ requête compressé et sa taille décompressée. Ce ratio est vérifié au
+ fur et à mesure de
+ l'arrivée du corps de requête, et s'il est dépassé plus de
<directive>DeflateInflateRatioBurst</directive> fois, le traitement
- de la requête est interrompu.</p>
+ de la requête est interrompu.</p>
</usage>
</directivesynopsis>
<directivesynopsis>
<name>DeflateInflateRatioBurst</name>
-<description>Nombre maximal de fois que le ratio de décompression d'un
-corps de requête peut être dépassé</description>
+<description>Nombre maximal de fois que le ratio de décompression d'un
+corps de requête peut être dépassé</description>
<syntax>DeflateInflateRatioBurst <var>value</var></syntax>
<default>3</default>
<contextlist><context>server config</context><context>virtual host</context>
<context>directory</context><context>.htaccess</context></contextlist>
-<compatibility>Disponible à partir de la version 2.4.10 du serveur HTTP
+<compatibility>Disponible à partir de la version 2.4.10 du serveur HTTP
Apache</compatibility>
<usage>
<p>La directive <directive>DeflateInflateRatioBurst</directive>
- permet de spécifier le nombre maximal de fois que la valeur de la
- directive <directive>DeflateInflateRatioLimit</directive> peut être
- dépassé avant l'arrêt du traitement de la requête.</p>
+ permet de spécifier le nombre maximal de fois que la valeur de la
+ directive <directive>DeflateInflateRatioLimit</directive> peut être
+ dépassé avant l'arrêt du traitement de la requête.</p>
</usage>
</directivesynopsis>
-<?xml version="1.0"?>
+<?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 : 1673947 -->
+<!-- English Revision : 1727647 -->
<!-- French translation : Lucien GENTIS -->
<!-- Reviewed by : Vincent Deffontaines -->
<modulesynopsis metafile="mod_setenvif.xml.meta">
<name>mod_setenvif</name>
-<description>Permet de définir des variables d'environnement en fonction
-de caractéristiques de la requête</description>
+<description>Permet de définir des variables d'environnement en fonction
+de caractéristiques de la requête</description>
<status>Base</status>
<sourcefile>mod_setenvif.c</sourcefile>
<identifier>setenvif_module</identifier>
<summary>
- <p>Le module <module>mod_setenvif</module> vous permet de définir
+ <p>Le module <module>mod_setenvif</module> vous permet de définir
des variables d'environnement internes en fonction du fait que telle ou telle
- caractéristique de la requête correspond ou non aux expressions
- rationnelles que vous spécifiez. Ces variables d'environnement
- peuvent être utilisées par d'autres parties du serveur pour prendre
- des décisions quant aux actions à entreprendre, et pour déterminer
- si les scripts CGI et les pages SSI doivent pouvoir y accéder.</p>
-
- <p>Les directives sont interprétées selon l'ordre dans lequel elles
- apparaîssent dans les fichiers de configuration. Ainsi, des
- séquences plus complexes peuvent être utilisées, comme dans cet
- exemple qui définit netscape si le navigateur est Mozilla et non
+ caractéristique de la requête correspond ou non aux expressions
+ rationnelles que vous spécifiez. Ces variables d'environnement
+ peuvent être utilisées par d'autres parties du serveur pour prendre
+ des décisions quant aux actions à entreprendre, et pour déterminer
+ si les scripts CGI et les pages SSI doivent pouvoir y accéder.</p>
+
+ <p>Les directives sont interprétées selon l'ordre dans lequel elles
+ apparaîssent dans les fichiers de configuration. Ainsi, des
+ séquences plus complexes peuvent être utilisées, comme dans cet
+ exemple qui définit netscape si le navigateur est Mozilla et non
MSIE.</p>
<highlight language="config">
</highlight>
<p>Lorsque le serveur cherche un chemin via une <glossary
- ref="subrequest">sous-requête</glossary> interne (par exemple la
+ ref="subrequest">sous-requête</glossary> interne (par exemple la
recherche d'un <directive
- module="mod_dir">DirectoryIndex</directive>), ou lorsqu'il génère un
- listing du contenu d'un répertoire via le module
- <module>mod_autoindex</module>, la sous-requête n'hérite pas des
- variables d'environnement spécifiques à la requête. En outre, à cause
+ module="mod_dir">DirectoryIndex</directive>), ou lorsqu'il génère un
+ listing du contenu d'un répertoire via le module
+ <module>mod_autoindex</module>, la sous-requête n'hérite pas des
+ variables d'environnement spécifiques à la requête. En outre, à cause
des phases de l'API auxquelles <module>mod_setenvif</module> prend
part, les directives <directive
- module="mod_setenvif">SetEnvIf</directive> ne sont pas évaluées
- séparément dans la sous-requête.</p>
+ module="mod_setenvif">SetEnvIf</directive> ne sont pas évaluées
+ séparément dans la sous-requête.</p>
</summary>
<directivesynopsis>
<name>BrowserMatch</name>
-<description>Définit des variables d'environnement en fonction du
-contenu de l'en-tête HTTP User-Agent</description>
+<description>Définit des variables d'environnement en fonction du
+contenu de l'en-tête HTTP User-Agent</description>
<syntax>BrowserMatch <em>regex [!]env-variable</em>[=<em>valeur</em>]
[[!]<em>env-variable</em>[=<em>valeur</em>]] ...</syntax>
<contextlist><context>server config</context>
<usage>
<p>La directive <directive>BrowserMatch</directive> est un cas
particulier de la directive <directive
- module="mod_setenvif">SetEnvIf</directive>, qui définit des variables
- 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
+ module="mod_setenvif">SetEnvIf</directive>, qui définit des variables
+ 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>
<highlight language="config">
-BrowserMatchNoCase Robot is_a_robot
-SetEnvIfNoCase User-Agent Robot is_a_robot
+BrowserMatch Robot is_a_robot
+SetEnvIf User-Agent Robot is_a_robot
</highlight>
- <p>Quelques exemples supplémentaires :</p>
+ <p>Quelques exemples supplémentaires :</p>
<highlight language="config">
BrowserMatch ^Mozilla forms jpeg=yes browser=netscape
BrowserMatch "^Mozilla/[2-3]" tables agif frames javascript
<directivesynopsis>
<name>BrowserMatchNoCase</name>
-<description>Définit des variables d'environnement en fonction du
-contenu de l'en-tête HTTP User-Agent sans tenir compte de la
+<description>Définit des variables d'environnement en fonction du
+contenu de l'en-tête HTTP User-Agent sans tenir compte de la
casse</description>
<syntax>BrowserMatchNoCase <em>regex [!]env-variable</em>[=<em>valeur</em>]
[[!]<em>env-variable</em>[=<em>valeur</em>]] ...</syntax>
<usage>
<p>La directive <directive>BrowserMatchNoCase</directive> est
- identique sur le plan sémantique à la directive <directive
+ identique sur le plan sémantique à la directive <directive
module="mod_setenvif">BrowserMatch</directive>. Elle permet
- cependant une comparaison insensible à la casse. Par exemple :</p>
+ cependant une comparaison insensible à la casse. Par exemple :</p>
<highlight language="config">
BrowserMatchNoCase mac platform=macintosh
BrowserMatchNoCase win platform=windows
<directive>BrowserMatchNoCase</directive> sont des cas particuliers
des directives <directive module="mod_setenvif">SetEnvIf</directive>
et <directive module="mod_setenvif">SetEnvIfNoCase</directive>.
- Ainsi, les deux lignes suivantes produisent le même effet :</p>
+ Ainsi, les deux lignes suivantes produisent le même effet :</p>
<highlight language="config">
BrowserMatchNoCase Robot is_a_robot
SetEnvIfNoCase User-Agent Robot is_a_robot
<directivesynopsis>
<name>SetEnvIf</name>
-<description>Définit des variables d'environnement en fonction des
-attributs de la requête</description>
+<description>Définit des variables d'environnement en fonction des
+attributs de la requête</description>
<syntax>SetEnvIf <em>attribut
regex [!]env-variable</em>[=<em>valeur</em>]
[[!]<em>env-variable</em>[=<em>valeur</em>]] ...</syntax>
<override>FileInfo</override>
<usage>
- <p>La directive <directive>SetEnvIf</directive> permet de définir
+ <p>La directive <directive>SetEnvIf</directive> permet de définir
des variables d'environnement en fonction des attributs de la
- requête. L'<em>attribut</em> spécifié comme premier argument peut
- se présenter sous l'une des quatre formes suivantes :</p>
+ requête. L'<em>attribut</em> spécifié comme premier argument peut
+ se présenter sous l'une des quatre formes suivantes :</p>
<ol>
-<li>Un champ d'en-tête de requête HTTP (voir la <a
+<li>Un champ d'en-tête de requête HTTP (voir la <a
href="http://www.rfc-editor.org/rfc/rfc2616.txt">RFC2616</a> pour
- plus d'information à leur propos) ; par exemple : <code>Host</code>,
+ plus d'information à leur propos) ; par exemple : <code>Host</code>,
<code>User-Agent</code>, <code>Referer</code>, ou
<code>Accept-Language</code>. Il est possible d'utiliser une
- expression rationnelle pour spécifier un jeu d'en-têtes de
- requête.</li>
+ expression rationnelle pour spécifier un jeu d'en-têtes de
+ requête.</li>
-<li>Une des caractéristiques de la requête suivantes :
+<li>Une des caractéristiques de la requête suivantes :
<ul>
- <li><code>Remote_Host</code> - le nom d'hôte (s'il est disponible)
- du client qui effectue la requête</li>
+ <li><code>Remote_Host</code> - le nom d'hôte (s'il est disponible)
+ du client qui effectue la requête</li>
<li><code>Remote_Addr</code> - l'adresse IP du client qui effectue
- la requête</li>
+ la requête</li>
- <li><code>Server_Addr</code> - l'adresse IP du serveur qui a reçu
- la requête (uniquement à partir des versions supérieures à
+ <li><code>Server_Addr</code> - l'adresse IP du serveur qui a reçu
+ la requête (uniquement à partir des versions supérieures à
2.0.43)</li>
- <li><code>Request_Method</code> - Le nom de la méthode HTTP
- utilisée (<code>GET</code>, <code>POST</code>, <em>et
+ <li><code>Request_Method</code> - Le nom de la méthode HTTP
+ utilisée (<code>GET</code>, <code>POST</code>, <em>et
cetera...</em>)</li>
<li><code>Request_Protocol</code> - le nom et la version du
- protocole utilisé pour la requête (par exemple "HTTP/0.9",
+ protocole utilisé pour la requête (par exemple "HTTP/0.9",
"HTTP/1.1", <em>etc...</em>)</li>
- <li><code>Request_URI</code> - la ressource demandée dans la ligne
- de requête HTTP -- en général la partie de l'URL suivant le
- protocole et le nom du serveur, sans la chaîne d'arguments. Voir
+ <li><code>Request_URI</code> - la ressource demandée dans la ligne
+ de requête HTTP -- en général la partie de l'URL suivant le
+ protocole et le nom du serveur, sans la chaîne d'arguments. Voir
la directive <directive
module="mod_rewrite">RewriteCond</directive> du module
<module>mod_rewrite</module> pour plus d'informations sur la
- manière de mettre en correspondance votre chaîne d'arguments.</li>
+ manière de mettre en correspondance votre chaîne d'arguments.</li>
</ul>
</li>
<li>Le nom d'une variable d'environnement parmi la liste de celles qui
-sont associées à la requête. Ceci permet à la directive
+sont associées à la requête. Ceci permet à la directive
<directive>SetEnvIf</directive> d'effectuer des tests en fonction du
-résultat de comparaisons précédentes. Seules les variables
-d'environnement définies par des directives
-<code>SetEnvIf[NoCase]</code> précédentes sont disponibles pour
-effectuer des tests de cette manière. 'Précédentes' signifie qu'elles se
-trouvent à un niveau plus global de la configuration (par exemple au
+résultat de comparaisons précédentes. Seules les variables
+d'environnement définies par des directives
+<code>SetEnvIf[NoCase]</code> précédentes sont disponibles pour
+effectuer des tests de cette manière. 'Précédentes' signifie qu'elles se
+trouvent à un niveau plus global de la configuration (par exemple au
niveau du serveur principal), ou plus haut chronologiquement dans le
contexte de la directive. Les variables d'environnement ne seront prises
-en compte que si aucune correspondance n'a été trouvée parmi les
-caractéristiques de la requête, et si <em>attribut</em> n'a pas été
-spécifié sous la forme d'une expression rationnelle.</li>
+en compte que si aucune correspondance n'a été trouvée parmi les
+caractéristiques de la requête, et si <em>attribut</em> n'a pas été
+spécifié sous la forme d'une expression rationnelle.</li>
</ol>
<p>Le second argument (<em>regex</em>) est une <glossary
ref="regex">expression rationnelle</glossary>. Si <em>regex</em>
-correspond à l'<em>attribut</em>, les arguments suivants sont évalués.</p>
+correspond à l'<em>attribut</em>, les arguments suivants sont évalués.</p>
-<p>Le reste des arguments constitue les noms des variables à définir,
-ainsi que les valeurs optionnelles qui doivent leur être affectées. Ils
-peuvent se présenter sous les formes suivantes :</p>
+<p>Le reste des arguments constitue les noms des variables à définir,
+ainsi que les valeurs optionnelles qui doivent leur être affectées. Ils
+peuvent se présenter sous les formes suivantes :</p>
<ol>
<li><code><em>nom-variable</em></code>, or</li>
<li><code><em>nom-variable</em>=<em>valeur</em></code></li>
</ol>
- <p>Dans la première forme, la valeur sera définie à "1". Dans la
- seconde forme, la variable sera supprimée si elle a été définie au
- préalable, et dans la troisième forme, la variable sera définie à la
- valeur littérale spécifiée par <code><em>valeur</em></code>. Depuis
- la version 2.0.51, Apache httpd reconnaît les occurrences de variables
- <code>$1</code>..<code>$9</code> à l'intérieur de
+ <p>Dans la première forme, la valeur sera définie à "1". Dans la
+ seconde forme, la variable sera supprimée si elle a été définie au
+ préalable, et dans la troisième forme, la variable sera définie à la
+ valeur littérale spécifiée par <code><em>valeur</em></code>. Depuis
+ la version 2.0.51, Apache httpd reconnaît les occurrences de variables
+ <code>$1</code>..<code>$9</code> à l'intérieur de
<code><em>valeur</em></code>, et les remplace par les
- sous-expressions entre parenthèses correspondantes de
- <var>regex</var>.</p>
+ sous-expressions entre parenthèses correspondantes de
+ <var>regex</var>. <code>$0</code> permet d'accéder à l'ensemble de la chaîne
+ qui correspond à ce modèle.</p>
<highlight language="config">
SetEnvIf Request_URI "\.gif$" object_is_image=gif
SetEnvIf Referer www\.mydomain\.example\.com intra_site_referral
SetEnvIf object_is_image xbm XBIT_PROCESSING=1
+
+SetEnvIf Request_URI "\.(.*)$" EXTENSION=$1
SetEnvIf ^TS ^[a-z] HAVE_TS
</highlight>
- <p>Les trois premières lignes définissent la variable
+ <p>Les trois premières lignes définissent la variable
d'environnement <code>objet_est_une_image</code> si l'objet de la
- requête est un fichier image, et la quatrième définit la variable
- <code>référant_intra_site</code> si la page référante se trouve
+ requête est un fichier image, et la quatrième définit la variable
+ <code>référant_intra_site</code> si la page référante se trouve
quelque part dans le site web
<code>www.mon-domaine.example.com</code>.</p>
- <p>La dernière ligne définit la variable d'environnement
- <code>HAVE_TS</code> si la requête contient un en-tête dont le nom
- commence par "TS" et dont la valeur commence par tout caractère du
+ <p>La dernière ligne définit la variable d'environnement
+ <code>HAVE_TS</code> si la requête contient un en-tête dont le nom
+ commence par "TS" et dont la valeur commence par tout caractère du
jeu [a-z].</p>
</usage>
<seealso><a href="../env.html">Les variables d'environnement et le
-serveur HTTP Apache</a> pour des exemples supplémentaires.
+serveur HTTP Apache</a> pour des exemples supplémentaires.
</seealso>
</directivesynopsis>
<directivesynopsis>
<name>SetEnvIfExpr</name>
-<description>Définit des variables d'environnement en fonction d'une expression ap_expr</description>
+<description>Définit des variables d'environnement en fonction d'une expression ap_expr</description>
<syntax>SetEnvIfExpr <em>expr
[!]env-variable</em>[=<em>valeur</em>]
[[!]<em>env-variable</em>[=<em>valeur</em>]] ...</syntax>
<usage>
<p>La directive <directive>SetEnvIfExpr</directive> permet de
- définir des variables d'environnement en fonction d'une expression
+ définir des variables d'environnement en fonction d'une expression
<directive module="core" type="section">If</directive> <code>ap_expr</code>. Cette
- expression est évaluée à l'exécution, et utilise les variables
- d'environnement <em>env-variable</em> de la même manière que la
+ expression est évaluée à l'exécution, et utilise les variables
+ d'environnement <em>env-variable</em> de la même manière que la
directive <directive>SetEnvIf</directive>.</p>
<highlight language="config">
</highlight>
<p>Dans cet exemple, la variable d'environnement
- <code>iso_delivered</code> est définie chaque fois que notre
+ <code>iso_delivered</code> est définie chaque fois que notre
application tente de l'envoyer via <code>X-Sendfile</code>.</p>
- <p>Il pourrait être plus utile de définir une variable rfc1918 si
- l'adresse IP distante est une adresse privée au sens de la RFC 1918
+ <p>Il pourrait être plus utile de définir une variable rfc1918 si
+ l'adresse IP distante est une adresse privée au sens de la RFC 1918
:</p>
<highlight language="config">
</usage>
<seealso><a href="../expr.html">Les expressions dans le serveur HTTP
-Apache</a>, pour une référence complète et davantage d'exemples.</seealso>
+Apache</a>, pour une référence complète et davantage d'exemples.</seealso>
<seealso>La directive <directive module="core"
-type="section">If</directive> permet d'obtenir des résultats
+type="section">If</directive> permet d'obtenir des résultats
similaires.</seealso>
<seealso><module>mod_filter</module></seealso>
</directivesynopsis>
<directivesynopsis>
<name>SetEnvIfNoCase</name>
-<description>Définit des variables d'environnement en fonction des
-attributs de la requête sans tenir compte de la casse</description>
+<description>Définit des variables d'environnement en fonction des
+attributs de la requête sans tenir compte de la casse</description>
<syntax>SetEnvIfNoCase <em>attribut regex
[!]env-variable</em>[=<em>valeur</em>]
[[!]<em>env-variable</em>[=<em>valeur</em>]] ...</syntax>
<usage>
<p>La directive <directive>SetEnvIfNoCase</directive> est identique
- d'un point de vue sémantique à la directive <directive
+ d'un point de vue sémantique à la directive <directive
module="mod_setenvif">SetEnvIf</directive>, 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>
+ effectuée sans tenir compte de la casse. Par exemple :</p>
<highlight language="config">
SetEnvIfNoCase Host Example\.Org site=apache
</highlight>
- <p>Cette ligne va définir la variable d'environnement
+ <p>Cette ligne va définir la variable d'environnement
<code>site</code> avec la valeur "<code>example</code>" si le champ
- d'en-tête de requête HTTP <code>Host:</code> est présent et contient
+ d'en-tête de requête HTTP <code>Host:</code> est présent et contient
<code>Example.Org</code>, <code>example.org</code>, ou une autre
- combinaison des mêmes caractères, sans tenir compte de la casse.</p>
+ combinaison des mêmes caractères, sans tenir compte de la casse.</p>
</usage>
</directivesynopsis>
</modulesynopsis>
-<?xml version="1.0"?>
+<?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: 1673932 -->
+<!-- English Revision: 1727637 -->
<!-- French translation : Lucien GENTIS -->
<!-- Reviewed by : Vincent Deffontaines -->
<modulesynopsis metafile="mod_so.xml.meta">
<name>mod_so</name>
-<description>Chargement de modules ou de code exécutable au cours du
-démarrage ou du redémarrage du serveur</description>
+<description>Chargement de modules ou de code exécutable au cours du
+démarrage ou du redémarrage du serveur</description>
<status>Extension</status>
<sourcefile>mod_so.c</sourcefile>
<identifier>so_module</identifier>
<summary>
- <p>Sur les systèmes d'exploitation sélectionnés, ce module peut être
- utilisé pour charger des modules dans le serveur HTTP Apache en cours d'exécution
- grâce au mécanisme des <a
- href="../dso.html">Dynamic Shared Object ou Objets Partagés
- Dynamiquement</a> (DSO), et évite ainsi de devoir effectuer une
+ <p>Sur les systèmes d'exploitation sélectionnés, ce module peut être
+ utilisé pour charger des modules dans le serveur HTTP Apache en cours d'exécution
+ grâce au mécanisme des <a
+ href="../dso.html">Dynamic Shared Object ou Objets Partagés
+ Dynamiquement</a> (DSO), et évite ainsi de devoir effectuer une
recompilation.</p>
- <p>Sous Unix, le code chargé provient en général de fichiers objet
- partagés possèdant en général l'extension <code>.so</code>, alors
- que sous Windows, l'extension peut être soit <code>.so</code>, soit
+ <p>Sous Unix, le code chargé provient en général de fichiers objet
+ partagés possèdant en général l'extension <code>.so</code>, alors
+ que sous Windows, l'extension peut être soit <code>.so</code>, soit
<code>.dll</code>.</p>
<note type="warning"><title>Avertissement</title>
- <p>En général, les modules compilés pour une version majeure du
+ <p>En général, les modules compilés pour une version majeure du
serveur HTTP Apache ne fonctionneront pas avec une autre (par
- exemple de 1.3 à 2.0 ou 2.0 à 2.2). D'une version majeure à l'autre,
- il y a souvent des modifications d'API qui nécessitent des
+ exemple de 1.3 à 2.0 ou 2.0 à 2.2). D'une version majeure à l'autre,
+ il y a souvent des modifications d'API qui nécessitent des
modifications du module pour qu'il puisse fonctionner avec la
nouvelle version.</p>
</note>
</summary>
-<section id="windows"><title>Création de modules chargeables pour
+<section id="windows"><title>Création de modules chargeables pour
Windows</title>
<note><title>Note</title>
- <p>Sous Windows, où les modules chargeables possèdent en général
+ <p>Sous Windows, où les modules chargeables possèdent en général
l'extension de nom de fichier <code>.dll</code>, les modules Apache
httpd se nomment <code>mod_nom-module.so</code>, tout comme sur les
autres plates-formes. Vous trouverez cependant encore des modules
convention de nommage avec extension <code>.dll</code>.</p>
<p>Bien que <code>mod_so</code> puisse encore charger des modules
- possèdant un nom du style <code>ApacheModuleFoo.dll</code>,
- il est préférable d'utiliser la
+ possèdant un nom du style <code>ApacheModuleFoo.dll</code>,
+ il est préférable d'utiliser la
nouvelle convention de nommage ; si vous modifiez votre module
chargeable pour la version 2.0, veuillez aussi modifier son nom pour
respecter cette nouvelle convention.</p></note>
<p>Les API des modules Apache httpd sous Unix et Windows sont identiques.
Alors que certains modules s'appuient sur certains
- aspects de l'architecture Unix non présents dans Windows, et ne
- fonctionneront donc pas sur cette dernière plate-forme, de nombreux
+ aspects de l'architecture Unix non présents dans Windows, et ne
+ fonctionneront donc pas sur cette dernière plate-forme, de nombreux
modules fonctionnent sous Windows avec peu ou pas de modification
- par rapport à leur version Unix.</p>
+ par rapport à leur version Unix.</p>
- <p>Lorsqu'un module fonctionne, il peut être ajouté au serveur de
- deux manières. Sous Unix, il peut être compilé dans le serveur.
+ <p>Lorsqu'un module fonctionne, il peut être ajouté au serveur de
+ deux manières. Sous Unix, il peut être compilé dans le serveur.
Comme Apache httpd pour Windows ne dispose pas du programme
- <code>Configure</code> propre à Apache httpd pour Unix, le fichier source
- du module doit être ajouté au fichier projet Apache de base, et ses
- symboles ajoutés au fichier <code>os\win32\modules.c</code>.</p>
-
- <p>La seconde méthode consiste à compiler le module en tant que DLL,
- à savoir une bibliothèque partagée qui pourra être chargée dans le
- serveur en cours d'exécution via la directive
- <code><directive>LoadModule</directive></code>. Ces modules DLL
- peuvent être distribués et exécutés sur toute installation d'Apache
- httpd pour Windows, sans avoir à recompiler le serveur.</p>
-
- <p>Pour créer un module DLL, il est nécessaire d'apporter une légère
- modification à son fichier source : l'enregistrement du module doit
- être exporté depuis la DLL (qui sera elle-même créée plus tard ;
+ <code>Configure</code> propre à Apache httpd pour Unix, le fichier source
+ du module doit être ajouté au fichier projet Apache de base, et ses
+ symboles ajoutés au fichier <code>os\win32\modules.c</code>.</p>
+
+ <p>La seconde méthode consiste à compiler le module en tant que DLL,
+ à savoir une bibliothèque partagée qui pourra être chargée dans le
+ serveur en cours d'exécution via la directive
+ <directive>LoadModule</directive>. Ces modules DLL
+ peuvent être distribués et exécutés sur toute installation d'Apache
+ httpd pour Windows, sans avoir à recompiler le serveur.</p>
+
+ <p>Pour créer un module DLL, il est nécessaire d'apporter une légère
+ modification à son fichier source : l'enregistrement du module doit
+ être exporté depuis la DLL (qui sera elle-même créée plus tard ;
voir plus loin). Pour ce faire, ajoutez la macro
- <code>AP_MODULE_DECLARE_DATA</code> (définie dans les fichiers
- d'en-têtes d'Apache httpd) à la définition de l'enregistrement de votre
- module. Par exemple, si votre module est déclaré comme suit :</p>
+ <code>AP_MODULE_DECLARE_DATA</code> (définie dans les fichiers
+ d'en-têtes d'Apache httpd) à la définition de l'enregistrement de votre
+ module. Par exemple, si votre module est déclaré comme suit :</p>
<example>
module foo_module;
</example>
<p>Notez que cette macro ne sera prise en compte que sous Windows,
- si bien que le module poura être utilisé sans changement sous Unix,
- si besoin est. Alternativement, si vous êtes familier avec les
+ si bien que le module poura être utilisé sans changement sous Unix,
+ si besoin est. Alternativement, si vous êtes familier avec les
fichiers <code>.DEF</code>, vous pouvez les utiliser pour exporter
l'enregistrement du module.</p>
- <p>Maintenant, nous sommes prêts à créer une DLL contenant notre
- module. Il va falloir pour cela la lier avec la bibliothèque
- d'export libhttpd.lib qui a été créée au cours de la compilation de
- la bibliothèque partagée libhttpd.dll. Il sera peut-être aussi
- nécessaire de modifier la configuration du compilateur pour
- s'assurer que les fichiers d'en-têtes d'Apache httpd seront correctement
- localisés. Vous trouverez cette bibliothèque à la racine du
- répertoire des modules de votre serveur. Il est souhaitable
+ <p>Maintenant, nous sommes prêts à créer une DLL contenant notre
+ module. Il va falloir pour cela la lier avec la bibliothèque
+ d'export libhttpd.lib qui a été créée au cours de la compilation de
+ la bibliothèque partagée libhttpd.dll. Il sera peut-être aussi
+ nécessaire de modifier la configuration du compilateur pour
+ s'assurer que les fichiers d'en-têtes d'Apache httpd seront correctement
+ localisés. Vous trouverez cette bibliothèque à la racine du
+ répertoire des modules de votre serveur. Il est souhaitable
d'utiliser un fichier de module .dsp existant dans l'arborescence
afin de s'assurer que l'environnement de compilation est
- correctement configuré, mais vous pouvez aussi comparer les options
- de compilation et d'édition de liens à votre fichier .dsp.</p>
+ correctement configuré, mais vous pouvez aussi comparer les options
+ de compilation et d'édition de liens à votre fichier .dsp.</p>
- <p>Ceci devrait créer une version DLL de votre module. Il vous
- suffit maintenant de l'enregistrer dans le répertoire
- <code>modules</code> à la racine de votre serveur, et d'utiliser la
+ <p>Ceci devrait créer une version DLL de votre module. Il vous
+ suffit maintenant de l'enregistrer dans le répertoire
+ <code>modules</code> à la racine de votre serveur, et d'utiliser la
directive <directive>LoadModule</directive> pour la charger.</p>
</section>
<directivesynopsis>
<name>LoadFile</name>
-<description>Liaison du fichier objet ou de la bibliothèque
-spécifié</description>
+<description>Liaison du fichier objet ou de la bibliothèque
+spécifié</description>
<syntax>LoadFile <em>nom-fichier</em> [<em>nom-fichier</em>] ...</syntax>
<contextlist>
<context>server config</context>
<usage>
- <p>La directive LoadFile permet de lier le fichier objet ou la
- bibliothèque spécifié au serveur lors du démarrage ou du redémarrage
+ <p>La directive <directive>LoadFile</directive> permet de lier le fichier
+ objet ou la bibliothèque spécifié au serveur lors du
+ démarrage ou du redémarrage
de ce dernier ; ceci permet d'ajouter tout code additionnel
- nécessaire au fonctionnement d'un module.
+ nécessaire au fonctionnement d'un module.
<em>nom-fichier</em> est soit un chemin absolu, soit un chemin
- relatif au répertoire défini par la directive <a
+ relatif au répertoire défini par la directive <a
href="core.html#serverroot">ServerRoot</a>.</p>
<p>Par exemple:</p>
<directivesynopsis>
<name>LoadModule</name>
<description>Liaison avec le serveur du fichier objet ou de la
-bibliothèque spécifié, et ajout de ce dernier à la liste des modules
+bibliothèque spécifié, et ajout de ce dernier à la liste des modules
actifs</description>
<syntax>LoadModule <em>module nom-fichier</em></syntax>
<contextlist>
</contextlist>
<usage>
- <p>La directive LoadModule permet de lier le fichier objet ou la
- bibliothèque <em>nom-fichier</em> avec le serveur, et d'ajouter la
- structure de module nommée <em>module</em> à la liste des modules
+ <p>La directive <directive>LoadModule</directive> permet de lier le fichier objet ou la
+ bibliothèque <em>nom-fichier</em> avec le serveur, et d'ajouter la
+ structure de module nommée <em>module</em> à la liste des modules
actifs. <em>module</em> est le nom de la variable externe de type
- <code>module</code> dans le fichier, et est référencé comme <a
+ <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>
+ module</a> dans la documentation des modules.</p>
+
+ <p>Par exemple :</p>
<highlight language="config">
LoadModule "status_module modules/mod_status.so"
</highlight>
- <p>charge le module spécifié depuis le sous-répertoire des modules
- situé à la racine du serveur.</p>
+ <p>charge le module spécifié depuis le sous-répertoire des modules
+ situé à la racine du serveur.</p>
</usage>
</directivesynopsis>
-<?xml version="1.0" encoding="ISO-8859-1" ?>
+<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE manualpage SYSTEM "./style/manualpage.dtd">
<?xml-stylesheet type="text/xsl" href="./style/manual.fr.xsl"?>
<!-- French translation : Lucien GENTIS -->
<!-- Reviewed by : Vincent Deffontaines -->
-<!-- English Revision: 1708515:1726940 (outdated) -->
+<!-- English Revision: 1726940 -->
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
<manualpage metafile="new_features_2_4.xml.meta">
-<title>Vue d'ensemble des nouvelles fonctionnalités de la version 2.4 du
+<title>Vue d'ensemble des nouvelles fonctionnalités de la version 2.4 du
serveur HTTP Apache</title>
<summary>
- <p>Ce document décrit les modifications majeures apportées par
- la version 2.4 du serveur HTTP Apache. Pour les nouvelles fonctionnalités
- ajoutées par la version 2.2, se référer au document
- <a href="new_features_2_2.html">Nouvelles fonctionnalités
+ <p>Ce document décrit les modifications majeures apportées par
+ la version 2.4 du serveur HTTP Apache. Pour les nouvelles fonctionnalités
+ ajoutées par la version 2.2, se référer au document
+ <a href="new_features_2_2.html">Nouvelles fonctionnalités
de la version 2.2</a>.</p>
</summary>
<section id="core">
- <title>Améliorations du noyau</title>
+ <title>Améliorations du noyau</title>
<dl>
- <dt>Modules multiprocessus (MPMs) chargeables à l'exécution</dt>
- <dd>Plusieurs MPMs peuvent maintenant être <a
- href="mpm.html#dynamic">compilés en tant que modules
- chargeables</a>. Le choix du MPM à utiliser s'effectue
- à l'exécution via la directive <directive
+ <dt>Modules multiprocessus (MPMs) chargeables à l'exécution</dt>
+ <dd>Plusieurs MPMs peuvent maintenant être <a
+ href="mpm.html#dynamic">compilés en tant que modules
+ chargeables</a>. Le choix du MPM à utiliser s'effectue
+ à l'exécution via la directive <directive
module="mod_so">LoadModule</directive>.</dd>
<dt>MPM Event</dt>
- <dd>Le <a href="mod/event.html">MPM Event</a> n'en est plus au stade expérimental et est
- maintenant pleinement supporté.</dd>
+ <dd>Le <a href="mod/event.html">MPM Event</a> n'en est plus au stade expérimental et est
+ maintenant pleinement supporté.</dd>
<dt>Support du mode asynchrone</dt>
- <dd>Le support des lectures/écritures asynchrones pour les MPMs et
- les plateformes qui l'implémentent a été amélioré.</dd>
+ <dd>Le support des lectures/écritures asynchrones pour les MPMs et
+ les plateformes qui l'implémentent a été amélioré.</dd>
<dt>Configuration du niveau de journalisation (LogLevel) par
- module et par répertoire</dt>
+ module et par répertoire</dt>
<dd>La directive <directive module="core">LogLevel</directive>
- peut maintenant être définie par module et par répertoire. Les
- nouveaux niveaux <code>trace1</code> à <code>trace8</code> ont été
- ajoutés au dessus du niveau de journalisation <code>debug</code>.</dd>
+ peut maintenant être définie par module et par répertoire. Les
+ nouveaux niveaux <code>trace1</code> à <code>trace8</code> ont été
+ ajoutés au dessus du niveau de journalisation <code>debug</code>.</dd>
- <dt>Sections de configuration au niveau requête</dt>
+ <dt>Sections de configuration au niveau requête</dt>
<dd>Les sections <directive module="core">If</directive>,
<directive module="core" type="section">ElseIf</directive> et
<directive module="core" type="section">Else</directive>
- permettent de définir une configuration en fonction de critères
- liés à la requête.</dd>
+ permettent de définir une configuration en fonction de critères
+ liés à la requête.</dd>
- <dt>Interpréteur d'expressions à usage général</dt>
- <dd>Un nouvel interpréteur d'expressions permet de spécifier des
- <a href="expr.html">conditions complexes</a> via des directives à
+ <dt>Interpréteur d'expressions à usage général</dt>
+ <dd>Un nouvel interpréteur d'expressions permet de spécifier des
+ <a href="expr.html">conditions complexes</a> via des directives à
syntaxe commune comme <directive
module="mod_setenvif">SetEnvIfExpr</directive>, <directive
module="mod_rewrite">RewriteCond</directive>, <directive
</dd>
<dt>KeepAliveTimeout en millisecondes</dt>
- <dd>Il est maintenant possible de définir la directive <directive
+ <dd>Il est maintenant possible de définir la directive <directive
module="core">KeepAliveTimeout</directive> en millisecondes.
</dd>
<dt>Directive NameVirtualHost</dt>
- <dd>Cette directive n'est plus nécessaire et est maintenant obsolète.</dd>
+ <dd>Cette directive n'est plus nécessaire et est maintenant obsolète.</dd>
- <dt>Directives autorisées dans les fichiers <code>.htaccess</code></dt>
+ <dt>Directives autorisées dans les fichiers <code>.htaccess</code></dt>
<dd>La nouvelle directive <directive
- module="core">AllowOverrideList</directive> permet de contrôler de
- manière plus précise la liste des directives autorisées dans les
+ module="core">AllowOverrideList</directive> permet de contrôler de
+ manière plus précise la liste des directives autorisées dans les
fichiers <code>.htaccess</code>.</dd>
<dt>Variables dans les fichiers de configuration</dt>
<dd>La directive <directive module="core">Define</directive>
- permet de définir des variables dans les fichiers de
- configuration, améliorant ainsi la clareté de la présentation si
- la même valeur est utilisée en plusieurs points de la
+ permet de définir des variables dans les fichiers de
+ configuration, améliorant ainsi la clareté de la présentation si
+ la même valeur est utilisée en plusieurs points de la
configuration.
</dd>
- <dt>Diminution de la mémoire utilisée</dt>
- <dd>Bien qu'elle propose de nombreuses nouvelles fonctionnalités,
- la version 2.4.x tend à utiliser moins de mémoire que la version
+ <dt>Diminution de la mémoire utilisée</dt>
+ <dd>Bien qu'elle propose de nombreuses nouvelles fonctionnalités,
+ la version 2.4.x tend à utiliser moins de mémoire que la version
2.2.x.</dd>
</dl>
<dl>
<dt><module>mod_proxy_fcgi</module></dt>
- <dd>Mise à disposition du protocole FastCGI pour
+ <dd>Mise à disposition du protocole FastCGI pour
<module>mod_proxy</module>.</dd>
<dt><module>mod_proxy_scgi</module></dt>
- <dd>Mise à disposition du protocole SCGI pour
+ <dd>Mise à disposition du protocole SCGI pour
<module>mod_proxy</module>.</dd>
<dt><module>mod_proxy_express</module></dt>
- <dd>Ajoute à <module>mod_proxy</module> la configuration dynamique
+ <dd>Ajoute à <module>mod_proxy</module> la configuration dynamique
de mandataires inverses en masse.</dd>
<dt><module>mod_remoteip</module></dt>
- <dd>Remplace l'adresse IP distante et le nom d'hôte apparents du
- client pour la requête courante par la liste d'adresses IP
- présentée par un mandataire ou un répartiteur de charge via les
- en-têtes de la requête.</dd>
+ <dd>Remplace l'adresse IP distante et le nom d'hôte apparents du
+ client pour la requête courante par la liste d'adresses IP
+ présentée par un mandataire ou un répartiteur de charge via les
+ en-têtes de la requête.</dd>
<dt><module>mod_heartmonitor</module>,
<module>mod_lbmethod_heartbeat</module></dt>
- <dd>Permet à <module>mod_proxy_balancer</module> de répartir la
+ <dd>Permet à <module>mod_proxy_balancer</module> de répartir la
charge en fonction du nombre de connexions actives sur les
- serveurs d'arrière-plan.</dd>
+ serveurs d'arrière-plan.</dd>
<dt><module>mod_proxy_html</module></dt>
<dd>Anciennement module tiers, il supporte la correction des liens
- HTML dans une situation de mandat inverse, où le serveur
- d'arrière-plan génère des URLs qui ne sont pas valides du point de
+ HTML dans une situation de mandat inverse, où le serveur
+ d'arrière-plan génère des URLs qui ne sont pas valides du point de
vue des clients du mandataire.</dd>
<dt><module>mod_sed</module></dt>
- <dd>Une amélioration de <module>mod_substitute</module> qui permet
- d'éditer le corps de la réponse avec toute la puissance de la
+ <dd>Une amélioration de <module>mod_substitute</module> qui permet
+ d'éditer le corps de la réponse avec toute la puissance de la
commande sed.</dd>
<dt><module>mod_auth_form</module></dt>
- <dd>Implémente une authentification à base de formulaire.</dd>
+ <dd>Implémente une authentification à base de formulaire.</dd>
<dt><module>mod_session</module></dt>
- <dd>Permet de conserver les données de sessions des clients sous
- forme de cookies ou dans une base de données.</dd>
+ <dd>Permet de conserver les données de sessions des clients sous
+ forme de cookies ou dans une base de données.</dd>
<dt><module>mod_allowmethods</module></dt>
<dd>Permet de restreindre l'utilisation de
- certaines méthodes HTTP sans interférer avec l'authentification et
+ certaines méthodes HTTP sans interférer avec l'authentification et
l'autorisation.</dd>
<dt><module>mod_lua</module></dt>
<dd>Embarque le langage <a href="http://www.lua.org/">Lua</a> dans
httpd pour la configuration et les fonctions logiques courantes
- (Expérimental).</dd>
+ (Expérimental).</dd>
<dt><module>mod_log_debug</module></dt>
- <dd>Permet d'introduire une journalisation personnalisée à
- différentes phases du traitement de la requête.</dd>
+ <dd>Permet d'introduire une journalisation personnalisée à
+ différentes phases du traitement de la requête.</dd>
<dt><module>mod_buffer</module></dt>
- <dd>Fournit un tampon pour les piles des filtres en entrée et en
+ <dd>Fournit un tampon pour les piles des filtres en entrée et en
sortie.</dd>
<dt><module>mod_data</module></dt>
- <dd>Convertit un corps de réponse en URL de type données RFC2397.</dd>
+ <dd>Convertit un corps de réponse en URL de type données RFC2397.</dd>
<dt><module>mod_ratelimit</module></dt>
<dd>Permet de limiter la bande passante pour certains
clients.</dd>
<dt><module>mod_request</module></dt>
- <dd>Fournit des filtres permettant de gérer et de mettre à
- disposition les corps des requêtes HTTP.</dd>
+ <dd>Fournit des filtres permettant de gérer et de mettre à
+ disposition les corps des requêtes HTTP.</dd>
<dt><module>mod_reflector</module></dt>
- <dd>Permet de renvoyer comme réponse le corps de la requête via la
+ <dd>Permet de renvoyer comme réponse le corps de la requête via la
pile du filtre de sortie.</dd>
<dt><module>mod_slotmem_shm</module></dt>
- <dd>Met à disposition un fournisseur de mémoire partagée à base de
+ <dd>Met à disposition un fournisseur de mémoire partagée à base de
slots (du style tableau de bord).</dd>
<dt><module>mod_xml2enc</module></dt>
<dd>Anciennement module tiers, il supporte l'internationalisation
- dans les modules de filtrage basés sur libxml2 (support du
+ dans les modules de filtrage basés sur libxml2 (support du
markup)</dd>
- <dt><module>mod_macro</module> (disponible à partir de la version 2.4.5)</dt>
+ <dt><module>mod_macro</module> (disponible à partir de la version 2.4.5)</dt>
<dd>Permet d'utiliser des macros au sein des fichiers de
configuration.</dd>
- <dt><module>mod_proxy_wstunnel</module> (disponible à partir de la version 2.4.5)</dt>
+ <dt><module>mod_proxy_wstunnel</module> (disponible à partir de la version 2.4.5)</dt>
<dd>Support des tunnels web-socket.</dd>
- <dt><module>mod_authnz_fcgi</module> (disponible à partir de la version 2.4.10)</dt>
+ <dt><module>mod_authnz_fcgi</module> (disponible à partir de la version 2.4.10)</dt>
<dd>Permet aux applications d'autorisation FastCGI d'authentifier
et/ou autoriser les clients.</dd>
- <dt><module>mod_http2</module> (disponible à partir de la
+ <dt><module>mod_http2</module> (disponible à partir de la
version 2.4.17)</dt>
<dd>Support de la couche transport HTTP/2.</dd>
</section>
<section id="module">
- <title>Améliorations des modules</title>
+ <title>Améliorations des modules</title>
<dl>
<dt><module>mod_ssl</module></dt>
- <dd><module>mod_ssl</module> peut maintenant vérifier la
- validité des certificats clients en se connectant à
- un serveur OCSP. Il est possible de définir un
- répondeur par défaut, et de choisir si l'on
- préfère le répondeur désigné
+ <dd><module>mod_ssl</module> peut maintenant vérifier la
+ validité des certificats clients en se connectant à
+ un serveur OCSP. Il est possible de définir un
+ répondeur par défaut, et de choisir si l'on
+ préfère le répondeur désigné
dans le certificat client.</dd>
<dd>En outre, <module>mod_ssl</module> supporte maintenant
l'estampillage OCSP (OCSP stapling), qui permet au serveur
- d'attester la validité de son certificat auprès du client au
- cours de la phase de négociation de la connexion.</dd>
+ d'attester la validité de son certificat auprès du client au
+ cours de la phase de négociation de la connexion.</dd>
- <dd>Enfin, <module>mod_ssl</module> peut maintenant être configuré pour
- que celui-ci partage les données de session SSL entre les serveurs
+ <dd>Enfin, <module>mod_ssl</module> peut maintenant être configuré pour
+ que celui-ci partage les données de session SSL entre les serveurs
via memcached.</dd>
- <dd>Le support des clés EC a été ajouté à celui des clés RSA et
+ <dd>Le support des clés EC a été ajouté à celui des clés RSA et
DSA.</dd>
- <dd>Support de TLS-SRP (disponible à partir de la version 2.4.4).</dd>
+ <dd>Support de TLS-SRP (disponible à partir de la version 2.4.4).</dd>
<dt><module>mod_proxy</module></dt>
<dd>La directive <directive
- module="mod_proxy">ProxyPass</directive> est maintenant configurée
- de manière optimale dans les sections <directive
+ module="mod_proxy">ProxyPass</directive> est maintenant configurée
+ de manière optimale dans les sections <directive
module="core">Location</directive> ou <directive
module="core">LocationMatch</directive>, et offre un gain de
- performances important par rapport à la syntaxe traditionnelle à
- deux paramètres lorsqu'elle est présente en grand nombre.</dd>
+ performances important par rapport à la syntaxe traditionnelle à
+ deux paramètres lorsqu'elle est présente en grand nombre.</dd>
<dd>Il est maintenant possible de configurer l'adresse source dans
- les requêtes mandatées.</dd>
+ les requêtes mandatées.</dd>
<dd>Support des sockets de type Unix vers le serveur
- d'arrière-plan (disponible à partir de la version 2.4.7).</dd>
+ d'arrière-plan (disponible à partir de la version 2.4.7).</dd>
<dt><module>mod_proxy_balancer</module></dt>
- <dd>Le gestionnaire de répartition de charge propose de nouvelles
- fonctionnalités. Ainsi, les possibilités de configuration des
- membres du groupe de répartition de charge pendant l'exécution ont
- été améliorées (possibilité d'ajout d'un membre supplémentaire).</dd>
+ <dd>Le gestionnaire de répartition de charge propose de nouvelles
+ fonctionnalités. Ainsi, les possibilités de configuration des
+ membres du groupe de répartition de charge pendant l'exécution ont
+ été améliorées (possibilité d'ajout d'un membre supplémentaire).</dd>
- <dd>Configuration à l'exécution d'un sous-ensemble de paramètres
- de répartition de charge.</dd>
+ <dd>Configuration à l'exécution d'un sous-ensemble de paramètres
+ de répartition de charge.</dd>
- <dd>Les membres du groupe de répartition peuvent être définis à
- 'Drain' de façon à ce qu'ils ne répondent qu'aux sessions
+ <dd>Les membres du groupe de répartition peuvent être définis à
+ 'Drain' de façon à ce qu'ils ne répondent qu'aux sessions
persistantes existantes, ce qui permet de les mettre hors ligne en
douceur.</dd>
- <dd>Les règlages du répartiteur de charge peuvent être rendus
- persistants après redémarrage.</dd>
+ <dd>Les règlages du répartiteur de charge peuvent être rendus
+ persistants après redémarrage.</dd>
<dt><module>mod_cache</module></dt>
- <dd>Le filtre CACHE du module <module>mod_cache</module> peut être
- inséré à un certain point de la chaîne de filtrage pour contrôler
+ <dd>Le filtre CACHE du module <module>mod_cache</module> peut être
+ inséré à un certain point de la chaîne de filtrage pour contrôler
plus finement la mise en cache.
</dd>
<dd><module>mod_cache</module> peut maintenant mettre en cache des
- requêtes HEAD.</dd>
+ requêtes HEAD.</dd>
<dd>Chaque fois que cela est possible, les directives de
- <module>mod_cache</module> peuvent maintenant être définies au
- niveau du répertoire, et non plus seulement au niveau du serveur
+ <module>mod_cache</module> peuvent maintenant être définies au
+ niveau du répertoire, et non plus seulement au niveau du serveur
principal.</dd>
- <dd>L'URL de base des URLs en cache peut être personnalisée de
- façon à ce qu'un cluster de caches puisse partager le même préfixe
+ <dd>L'URL de base des URLs en cache peut être personnalisée de
+ façon à ce qu'un cluster de caches puisse partager le même préfixe
d'URL.</dd>
<dd><module>mod_cache</module> peut maintenant servir du contenu
- non mis à jour lorsqu'un serveur d'arrière-plan n'est pas
+ non mis à jour lorsqu'un serveur d'arrière-plan n'est pas
disponible (erreur 5xx).</dd>
- <dd><module>mod_cache</module> peut maintenant insérer
- HIT/MISS/REVALIDATE dans un en-tête X-Cache.</dd>
+ <dd><module>mod_cache</module> peut maintenant insérer
+ HIT/MISS/REVALIDATE dans un en-tête X-Cache.</dd>
<dt><module>mod_include</module></dt>
- <dd>Support de l'attribut 'onerror' dans un élément 'include',
- permettant de renvoyer un message d'erreur personnalisé à la place
- du message d'erreur par défaut.</dd>
+ <dd>Support de l'attribut 'onerror' dans un élément 'include',
+ permettant de renvoyer un message d'erreur personnalisé à la place
+ du message d'erreur par défaut.</dd>
<dt><module>mod_cgi</module>, <module>mod_include</module>,
<module>mod_isapi</module>, ...</dt>
- <dd>La traduction des en-têtes en variables d'environnement est
+ <dd>La traduction des en-têtes en variables d'environnement est
plus stricte qu'avant, ce qui permet de diminuer l'exposition aux attaques
- de type cross-site-scripting via injection d'en-têtes. Les
- en-têtes contenant des caractères invalides (comme les caractères
- de soulignement) sont maintenant ignorés. Le document <a
+ de type cross-site-scripting via injection d'en-têtes. Les
+ en-têtes contenant des caractères invalides (comme les caractères
+ de soulignement) sont maintenant ignorés. Le document <a
href="env.html">Les variables d'environnement dans Apache</a>
- présente quelques pistes pour contourner ce problème avec les
- clients anciens qui nécessitent de tels en-têtes (Ceci affecte
+ présente quelques pistes pour contourner ce problème avec les
+ clients anciens qui nécessitent de tels en-têtes (Ceci affecte
tous les modules qui utilisent ces variables d'environnement).</dd>
<dt><module>mod_authz_core</module> Conteneurs de logique d'autorisation</dt>
<dd>La directive <directive
module="mod_authz_core">Require</directive> et les directives de
- conteneurs associées, comme <directive module="mod_authz_core"
- type="section">RequireAll</directive>, permettent de définir une
- logique d'autorisation avancée.</dd>
+ conteneurs associées, comme <directive module="mod_authz_core"
+ type="section">RequireAll</directive>, permettent de définir une
+ logique d'autorisation avancée.</dd>
<dd>La directive <directive
module="mod_rewrite">RewriteRule</directive> dispose maintenant
des drapeaux <code>[QSD]</code> (Query String Discard) et
- <code>[END]</code> qui permettent de simplifier les scénarios de
- réécriture courants.</dd>
- <dd>Possibilité d'utiliser des expressions booléennes complexes
+ <code>[END]</code> qui permettent de simplifier les scénarios de
+ réécriture courants.</dd>
+ <dd>Possibilité d'utiliser des expressions booléennes complexes
dans la directive <directive
module="mod_rewrite">RewriteCond</directive>.</dd>
- <dd>Possibilité d'utiliser des requêtes SQL en tant que fonctions
+ <dd>Possibilité d'utiliser des requêtes SQL en tant que fonctions
dans la directive <directive
module="mod_rewrite">RewriteMap</directive>.</dd>
<dt><module>mod_ldap</module>, <module>mod_authnz_ldap</module></dt>
<dd><module>mod_authnz_ldap</module> ajoute le support des
- groupes imbriqués.</dd>
+ groupes imbriqués.</dd>
<dd><module>mod_ldap</module> apporte les directives <directive
module="mod_ldap">LDAPConnectionPoolTTL</directive> et <directive
module="mod_ldap">LDAPTimeout</directive>, ainsi que d'autres
- améliorations dans le traitement des délais. Ceci s'avère utile
- pour les configurations où un pare-feu à mémoire d'état (stateful)
- rejète les connexions inactives vers le serveur LDAP.</dd>
+ améliorations dans le traitement des délais. Ceci s'avère utile
+ pour les configurations où un pare-feu à mémoire d'état (stateful)
+ rejète les connexions inactives vers le serveur LDAP.</dd>
<dd><module>mod_ldap</module> propose la directive <directive
module="mod_ldap">LDAPLibraryDebug</directive> qui permet de
- journaliser les informations de débogage fournies par la boîte à
- outils LDAP utilisée.</dd>
+ journaliser les informations de débogage fournies par la boîte à
+ outils LDAP utilisée.</dd>
<dt><module>mod_info</module></dt>
<dd><module>mod_info</module> est maintenant capable d'afficher la
- configuration préinterprétée sur stdout au cours du démarrage du
+ configuration préinterprétée sur stdout au cours du démarrage du
serveur.</dd>
<dt><module>mod_auth_basic</module></dt>
- <dd>Nouveau mécanisme générique permettant d'effectuer une
- authentification basique (disponible à partir de la version 2.4.5).</dd>
+ <dd>Nouveau mécanisme générique permettant d'effectuer une
+ authentification basique (disponible à partir de la version 2.4.5).</dd>
</dl>
</section>
<section id="programs">
- <title>Améliorations des programmes</title>
+ <title>Améliorations des programmes</title>
<dl>
<dt><program>fcgistarter</program></dt>
- <dd>Nouvel utilitaire pour le démarrage des démons
+ <dd>Nouvel utilitaire pour le démarrage des démons
FastCGI.</dd>
<dt><program>htcacheclean</program></dt>
- <dd>Les URLs présentes dans le cache peuvent maintenant être
- affichées, accompagnées éventuellement de leurs métadonnées.</dd>
- <dd>Possibilité de supprimer explicitement des URLs individuelles
- présentes dans le cache.</dd>
- <dd>Les tailles de fichiers peuvent maintenant être arrondies au
- multiple de la taille de bloc donnée, les limites de taille
- collant de ce fait d'avantage à la taille réelle sur disque.</dd>
- <dd>La taille du cache peut maintenant être limitée par le
- nombre d'inodes, en plus de la possibilité de limitation par la
+ <dd>Les URLs présentes dans le cache peuvent maintenant être
+ affichées, accompagnées éventuellement de leurs métadonnées.</dd>
+ <dd>Possibilité de supprimer explicitement des URLs individuelles
+ présentes dans le cache.</dd>
+ <dd>Les tailles de fichiers peuvent maintenant être arrondies au
+ multiple de la taille de bloc donnée, les limites de taille
+ collant de ce fait d'avantage à la taille réelle sur disque.</dd>
+ <dd>La taille du cache peut maintenant être limitée par le
+ nombre d'inodes, en plus de la possibilité de limitation par la
taille des fichiers.</dd>
<dt><program>rotatelogs</program></dt>
- <dd>Possibilité de créer un lien vers le fichier journal
+ <dd>Possibilité de créer un lien vers le fichier journal
courant.</dd>
- <dd>Possibilité d'invoquer un script personnalisé après la
+ <dd>Possibilité d'invoquer un script personnalisé après la
rotation.</dd>
<dt><program>htpasswd</program>, <program>htdbm</program></dt>
- <dd>Support de l'algorithme bcrypt (disponible à partir de la
+ <dd>Support de l'algorithme bcrypt (disponible à partir de la
version 2.4.4).
</dd>
</dl>
<dl>
<dt>mod_rewrite</dt>
<dd>La documentation du module <module>mod_rewrite</module> a
- été réorganisée et presque entièrement réécrite en mettant
+ été réorganisée et presque entièrement réécrite en mettant
l'accent sur les exemples et l'utilisation courante, ainsi que
- sur l'incitation à utiliser d'autres solutions lorsque cela
- s'avère plus approprié. Le document <a href="rewrite/">Rewrite
+ sur l'incitation à utiliser d'autres solutions lorsque cela
+ s'avère plus approprié. Le document <a href="rewrite/">Rewrite
Guide</a> constitue maintenant une section de premier niveau ;
- il est mieux organisé et contient beaucoup plus de détails.</dd>
+ il est mieux organisé et contient beaucoup plus de détails.</dd>
<dt>mod_ssl</dt>
- <dd>La documentation du module <module>mod_ssl</module> a été
- grandement améliorée, avec plus d'exemples et un niveau "Bien
- démarrer" qui s'ajoutent aux détails techniques déjà présents
- dans la précédente documentation.</dd>
+ <dd>La documentation du module <module>mod_ssl</module> a été
+ grandement améliorée, avec plus d'exemples et un niveau "Bien
+ démarrer" qui s'ajoutent aux détails techniques déjà présents
+ dans la précédente documentation.</dd>
<dt>Caching Guide</dt>
<dd>Le <a href="caching.html">Guide de la mise en cache</a> a
- été réécrit afin de bien faire la différence entre les
- fonctionnalités de mise en cache de la RFC2616 HTTP/1.1 fournies
+ été réécrit afin de bien faire la différence entre les
+ fonctionnalités de mise en cache de la RFC2616 HTTP/1.1 fournies
par le module <module>mod_cache</module>, et la mise en cache
- générique de type clé/valeur fournie par l'interface <a
+ générique de type clé/valeur fournie par l'interface <a
href="socache.html">socache</a>, mais aussi pour couvrir la mise
- en cache spécialisée fournie par des mécanismes tels que ceux du
+ en cache spécialisée fournie par des mécanismes tels que ceux du
module <module>mod_file_cache</module>.</dd>
</dl>
</section>
<section id="developer">
- <title>Modifications concernant les développeur de modules</title>
+ <title>Modifications concernant les développeur de modules</title>
<dl>
- <dt>Ajout de code pour la vérification de la configuration</dt>
-
- <dd>Une nouvelle fonction, <code>check_config</code>, a été ajoutée et
- s'exécute entre les fonctions <code>pre_config</code> et
- <code>open_logs</code>. Elle s'exécute aussi avant la fonction
- <code>test_config</code> si l'option <code>-t</code> est passée au
- démon <program>httpd</program>. La fonction <code>check_config</code>
- permet aux modules de vérifier l'interdépendance des valeurs des
+ <dt>Ajout de code pour la vérification de la configuration</dt>
+
+ <dd>Une nouvelle fonction, <code>check_config</code>, a été ajoutée et
+ s'exécute entre les fonctions <code>pre_config</code> et
+ <code>open_logs</code>. Elle s'exécute aussi avant la fonction
+ <code>test_config</code> si l'option <code>-t</code> est passée au
+ démon <program>httpd</program>. La fonction <code>check_config</code>
+ permet aux modules de vérifier l'interdépendance des valeurs des
directives de configuration et d'ajuster ces valeurs, alors que les
- messages du serveur peuvent encore être affichés sur la console.
+ messages du serveur peuvent encore être affichés sur la console.
L'utilisateur est ainsi averti des erreurs de configuration avant que la
fonction du noyau <code>open_logs</code> ne redirige les sorties de la
console vers le journal des erreurs.</dd>
<dt>Ajout d'un analyseur syntaxique d'expressions</dt>
- <dd>Nous disposons à présent d'un analyseur générique d'expressions, dont l'API
- est décrite dans <var>ap_expr.h</var>. Il s'agit d'une adaptation de
+ <dd>Nous disposons à présent d'un analyseur générique d'expressions, dont l'API
+ est décrite dans <var>ap_expr.h</var>. Il s'agit d'une adaptation de
l'analyseur qu'on trouvait auparavant dans <module>mod_ssl</module>.</dd>
<dt>Conteneurs de logique d'autorisation</dt>
- <dd>Afin de fournir une logique d'autorisation avancée via des
+ <dd>Afin de fournir une logique d'autorisation avancée via des
directives telles que <directive module="mod_authz_core"
type="section">RequireAll</directive>, les modules d'autorisation
s'enregistrent maintenant en tant
<dt>Interface de mise en cache des petits objets</dt>
- <dd>Le fichier d'en-têtes <var>ap_socache.h</var> fournit une
- interface à base de fournisseur pour la mise en cache des petits
- objets de données, en s'inspirant de
- l'implémentation précédente
- du cache de session par <module>mod_ssl</module>. Sont supportés
+ <dd>Le fichier d'en-têtes <var>ap_socache.h</var> fournit une
+ interface à base de fournisseur pour la mise en cache des petits
+ objets de données, en s'inspirant de
+ l'implémentation précédente
+ du cache de session par <module>mod_ssl</module>. Sont supportés
actuellement : les fournisseurs utilisant un tampon cyclique en
- mémoire partagée, les fichiers dbm sur disque, et les caches
- distribués de type memcache.</dd>
+ mémoire partagée, les fichiers dbm sur disque, et les caches
+ distribués de type memcache.</dd>
<dt>Ajout du point d'ancrage Cache Status</dt>
<dd>Le module <module>mod_cache</module> inclut maintenant un
- nouveau point d'ancrage, <code>cache_status</code>, qui est appelé
- lorsque la décision à propos de la mise en cache est connue. Il en
- existe une implémentation par défaut qui ajoute les en-têtes
- optionnels <code>X-Cache</code> et <code>X-Cache-Detail</code> à
- la réponse.</dd>
+ nouveau point d'ancrage, <code>cache_status</code>, qui est appelé
+ lorsque la décision à propos de la mise en cache est connue. Il en
+ existe une implémentation par défaut qui ajoute les en-têtes
+ optionnels <code>X-Cache</code> et <code>X-Cache-Detail</code> à
+ la réponse.</dd>
</dl>
- <p>La documentation du développeur contient une <a
- href="developer/new_api_2_4.html">liste détaillée des modifications
+ <p>La documentation du développeur contient une <a
+ href="developer/new_api_2_4.html">liste détaillée des modifications
de l'API</a>.</p>
</section>