Content-Language: en
Content-type: text/html; charset=ISO-8859-1
+URI: mod_example.html.fr
+Content-Language: fr
+Content-type: text/html; charset=ISO-8859-1
+
URI: mod_example.html.ko.euc-kr
Content-Language: ko
Content-type: text/html; charset=EUC-KR
--- /dev/null
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head><!--
+ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ This file is generated from xml source: DO NOT EDIT
+ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ -->
+<title>mod_example - Serveur Apache HTTP</title>
+<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
+<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
+<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" />
+<script src="../style/scripts/prettify.js" type="text/javascript">
+</script>
+
+<link href="../images/favicon.ico" rel="shortcut icon" /></head>
+<body>
+<div id="page-header">
+<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p>
+<p class="apache">Serveur Apache HTTP Version 2.5</p>
+<img alt="" src="../images/feather.gif" /></div>
+<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div>
+<div id="path">
+<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.5</a> > <a href="./">Modules</a></div>
+<div id="page-content">
+<div id="preamble"><h1>Module Apache mod_example</h1>
+<div class="toplang">
+<p><span>Langues Disponibles: </span><a href="../en/mod/mod_example.html" hreflang="en" rel="alternate" title="English"> en </a> |
+<a href="../fr/mod/mod_example.html" title="Français"> fr </a> |
+<a href="../ko/mod/mod_example.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p>
+</div>
+<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Illustration de l'API des modules Apache</td></tr>
+<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr>
+<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>example_module</td></tr>
+<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_example.c</td></tr></table>
+<h3>Sommaire</h3>
+
+ <p>Certains fichiers situés dans le répertoire
+ <code>modules/experimental</code> de l'arborescence de la
+ distribution d'Apache sont fournis à titre d'exemples pour ceux qui
+ souhaitent écrire des modules qui utilisent l'API d'Apache.</p>
+
+ <p>Le fichier principal est <code>mod_example.c</code>, qui
+ constitue une illustration exhaustive des différents mécanismes et
+ syntaxes d'appels. En aucun cas un module additionnel n'aura à
+ inclure des routines pour tous les appels - il n'en nécessitera au
+ contraire qu'un petit nombre !</p>
+
+ <p>Le module example fonctionne réellement. Si vous le chargez dans
+ votre serveur, activez le gestionnaire "example-handler" dans une
+ section location, et essayez d'accéder à la zone du site web
+ correspondante, vous verrez s'afficher certaines sorties que le
+ module example produit au cours des différents appels.</p>
+</div>
+<div id="quickview"><h3 class="directives">Directives</h3>
+<ul id="toc">
+<li><img alt="" src="../images/down.gif" /> <a href="#example">Example</a></li>
+</ul>
+<h3>Sujets</h3>
+<ul id="topics">
+<li><img alt="" src="../images/down.gif" /> <a href="#compiling">Compilation du module example</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#using">Utilisation du module
+<code>mod_example</code></a></li>
+</ul><ul class="seealso"><li><a href="#comments_section">Commentaires</a></li></ul></div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="compiling" id="compiling">Compilation du module example</a></h2>
+
+ <p>Pour inclure le module example dans votre serveur, effectuez les
+ étapes suivantes :</p>
+
+ <ol>
+ <li>Exécutez <code class="program"><a href="../programs/configure.html">configure</a></code> avec l'option
+ <code>--enable-example</code>.</li>
+
+ <li>Compilez le serveur (exécutez la commande
+ "<code>make</code>").</li>
+ </ol>
+
+ <p>Pour ajouter votre propre module :</p>
+
+ <ol class="up-A">
+ <li><code>cp modules/experimental/mod_example.c
+ modules/nouveau_module/<em>mod_monexemple.c</em></code></li>
+
+ <li>Modifiez le fichier.</li>
+
+ <li>Créez <code>modules/nouveau_module/config.m4</code>.
+ <ol>
+ <li>Ajoutez <code>APACHE_MODPATH_INIT(nouveau_module)</code>.</li>
+ <li>Copiez la ligne APACHE_MODULE contenant "example" depuis
+ <code>modules/experimental/config.m4</code>.</li>
+ <li>Remplacez le premier argument "example" par
+ <em>monexemple</em>.</li>
+ <li>Remplacez le second argument par une brève description de
+ votre module. Cette description sera utilisée par la commande
+ <code>configure --help</code>.</li>
+ <li>Si la compilation de votre module nécessite des drapeaux
+ de compilation C, des drapeaux d'édition de liens, ou de
+ bibliothèques supplémentaires, ajoutez les respectivement à
+ CFLAGS, LDFLAGS et LIBS. Reportez-vous aux fichiers
+ <code>config.m4</code> des répertoires des autres modules pour
+ plus d'exemples.</li>
+ <li>Ajoutez <code>APACHE_MODPATH_FINISH</code>.</li>
+ </ol>
+ </li>
+
+ <li>Créez le fichier
+ <code>module/nouveau_module/Makefile.in</code>.
+ Si la compilation de votre module ne nécessite pas d'instructions
+ particulières, ce fichier ne doit contenir que la ligne
+ <code>include $(top_srcdir)/build/special.mk</code>.</li>
+
+ <li>Exécutez ./buildconf à la racine du répertoire.</li>
+
+ <li>Compilez le serveur après avoir exécuté la commande configure
+ avec l'option --enable-monexemple.</li>
+
+ </ol>
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="using" id="using">Utilisation du module
+<code>mod_example</code></a></h2>
+
+ <p>Pour activer le module example, ajoutez à votre fichier
+ <code>httpd.conf</code> un bloc du style :</p>
+<pre class="prettyprint lang-config">
+<Location /example-info>
+ SetHandler example-handler
+</Location>
+</pre>
+
+
+ <p>Vous pouvez aussi ajouter ce qui suit dans un fichier <a href="core.html#accessfilename"><code>.htaccess</code></a>, puis
+ accéder au fichier "test.example" à partir du répertoire
+ correspondant :</p>
+
+<pre class="prettyprint lang-config">
+ AddHandler example-handler .example
+ </pre>
+
+
+
+ <p>Après avoir rechargé la configuration ou redémarré votre serveur,
+ vous devriez pouvoir accéder à ce fichier et voir s'afficher ce qui
+ a été décrit plus haut.</p>
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="Example" id="Example">Example</a> <a name="example" id="example">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Directive de démonstration pour illustrer l'API des modules
+Apache</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>Example</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_example</td></tr>
+</table>
+ <p>La directive <code class="directive">Example</code> n'a pour fonction que
+ de définir un drapeau de démonstration que le gestionnaire de
+ contenu du module example va afficher. Elle ne possède aucun
+ argument. Si vous naviguez vers une URL à laquelle le gestionnaire
+ de contenu example s'applique, vous verrez s'afficher les routines
+ du module, ainsi que l'ordre dans lequel elles ont été appelées pour
+ servir le document demandé. On peut observer l'effet de cette
+ directive dans la phrase "<code>Example
+ directive declared here: YES/NO</code>".</p>
+
+</div>
+</div>
+<div class="bottomlang">
+<p><span>Langues Disponibles: </span><a href="../en/mod/mod_example.html" hreflang="en" rel="alternate" title="English"> en </a> |
+<a href="../fr/mod/mod_example.html" title="Français"> fr </a> |
+<a href="../ko/mod/mod_example.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p>
+</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
+<script type="text/javascript"><!--//--><![CDATA[//><!--
+var comments_shortname = 'httpd';
+var comments_identifier = 'http://httpd.apache.org/docs/trunk/mod/mod_example.html';
+(function(w, d) {
+ if (w.location.hostname.toLowerCase() == "httpd.apache.org") {
+ d.write('<div id="comments_thread"><\/div>');
+ var s = d.createElement('script');
+ s.type = 'text/javascript';
+ s.async = true;
+ s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier;
+ (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s);
+ }
+ else {
+ d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>');
+ }
+})(window, document);
+//--><!]]></script></div><div id="footer">
+<p class="apache">Copyright 2013 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
+if (typeof(prettyPrint) !== 'undefined') {
+ prettyPrint();
+}
+//--><!]]></script>
+</body></html>
\ No newline at end of file
--- /dev/null
+<?xml version="1.0"?>
+<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
+<?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?>
+<!-- English Revision : 1330988 -->
+<!-- French translation : Lucien GENTIS -->
+<!-- Reviewed by : Vincent Deffontaines -->
+
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+<modulesynopsis metafile="mod_example.xml.meta">
+
+<name>mod_example</name>
+<description>Illustration de l'API des modules Apache</description>
+<status>Experimental</status>
+<sourcefile>mod_example.c</sourcefile>
+<identifier>example_module</identifier>
+
+<summary>
+ <p>Certains fichiers situés dans le répertoire
+ <code>modules/experimental</code> de l'arborescence de la
+ distribution d'Apache sont fournis à titre d'exemples pour ceux qui
+ souhaitent écrire des modules qui utilisent l'API d'Apache.</p>
+
+ <p>Le fichier principal est <code>mod_example.c</code>, qui
+ constitue une illustration exhaustive des différents mécanismes et
+ syntaxes d'appels. En aucun cas un module additionnel n'aura à
+ inclure des routines pour tous les appels - il n'en nécessitera au
+ contraire qu'un petit nombre !</p>
+
+ <p>Le module example fonctionne réellement. Si vous le chargez dans
+ votre serveur, activez le gestionnaire "example-handler" dans une
+ section location, et essayez d'accéder à la zone du site web
+ correspondante, vous verrez s'afficher certaines sorties que le
+ module example produit au cours des différents appels.</p>
+</summary>
+
+<section id="compiling"><title>Compilation du module example</title>
+
+ <p>Pour inclure le module example dans votre serveur, effectuez les
+ étapes suivantes :</p>
+
+ <ol>
+ <li>Exécutez <program>configure</program> avec l'option
+ <code>--enable-example</code>.</li>
+
+ <li>Compilez le serveur (exécutez la commande
+ "<code>make</code>").</li>
+ </ol>
+
+ <p>Pour ajouter votre propre module :</p>
+
+ <ol type="A">
+ <li><code>cp modules/experimental/mod_example.c
+ modules/nouveau_module/<em>mod_monexemple.c</em></code></li>
+
+ <li>Modifiez le fichier.</li>
+
+ <li>Créez <code>modules/nouveau_module/config.m4</code>.
+ <ol>
+ <li>Ajoutez <code>APACHE_MODPATH_INIT(nouveau_module)</code>.</li>
+ <li>Copiez la ligne APACHE_MODULE contenant "example" depuis
+ <code>modules/experimental/config.m4</code>.</li>
+ <li>Remplacez le premier argument "example" par
+ <em>monexemple</em>.</li>
+ <li>Remplacez le second argument par une brève description de
+ votre module. Cette description sera utilisée par la commande
+ <code>configure --help</code>.</li>
+ <li>Si la compilation de votre module nécessite des drapeaux
+ de compilation C, des drapeaux d'édition de liens, ou de
+ bibliothèques supplémentaires, ajoutez les respectivement à
+ CFLAGS, LDFLAGS et LIBS. Reportez-vous aux fichiers
+ <code>config.m4</code> des répertoires des autres modules pour
+ plus d'exemples.</li>
+ <li>Ajoutez <code>APACHE_MODPATH_FINISH</code>.</li>
+ </ol>
+ </li>
+
+ <li>Créez le fichier
+ <code>module/nouveau_module/Makefile.in</code>.
+ Si la compilation de votre module ne nécessite pas d'instructions
+ particulières, ce fichier ne doit contenir que la ligne
+ <code>include $(top_srcdir)/build/special.mk</code>.</li>
+
+ <li>Exécutez ./buildconf à la racine du répertoire.</li>
+
+ <li>Compilez le serveur après avoir exécuté la commande configure
+ avec l'option --enable-monexemple.</li>
+
+ </ol>
+</section>
+
+<section id="using"><title>Utilisation du module
+<code>mod_example</code></title>
+
+ <p>Pour activer le module example, ajoutez à votre fichier
+ <code>httpd.conf</code> un bloc du style :</p>
+<highlight language="config">
+<Location /example-info>
+ SetHandler example-handler
+</Location>
+</highlight>
+
+ <p>Vous pouvez aussi ajouter ce qui suit dans un fichier <a
+ href="core.html#accessfilename"><code>.htaccess</code></a>, puis
+ accéder au fichier "test.example" à partir du répertoire
+ correspondant :</p>
+
+<highlight language="config">
+ AddHandler example-handler .example
+ </highlight>
+
+
+ <p>Après avoir rechargé la configuration ou redémarré votre serveur,
+ vous devriez pouvoir accéder à ce fichier et voir s'afficher ce qui
+ a été décrit plus haut.</p>
+</section>
+
+<directivesynopsis>
+<name>Example</name>
+<description>Directive de démonstration pour illustrer l'API des modules
+Apache</description>
+<syntax>Example</syntax>
+<contextlist><context>server config</context>
+<context>virtual host</context><context>directory</context>
+<context>.htaccess</context></contextlist>
+
+<usage>
+ <p>La directive <directive>Example</directive> n'a pour fonction que
+ de définir un drapeau de démonstration que le gestionnaire de
+ contenu du module example va afficher. Elle ne possède aucun
+ argument. Si vous naviguez vers une URL à laquelle le gestionnaire
+ de contenu example s'applique, vous verrez s'afficher les routines
+ du module, ainsi que l'ordre dans lequel elles ont été appelées pour
+ servir le document demandé. On peut observer l'effet de cette
+ directive dans la phrase "<code>Example
+ directive declared here: YES/NO</code>".</p>
+</usage>
+</directivesynopsis>
+
+</modulesynopsis>
<variants>
<variant>en</variant>
+ <variant>fr</variant>
<variant outdated="yes">ko</variant>
</variants>
</metafile>
Content-Language: en
Content-type: text/html; charset=ISO-8859-1
+URI: mod_ext_filter.html.fr
+Content-Language: fr
+Content-type: text/html; charset=ISO-8859-1
+
URI: mod_ext_filter.html.ja.utf8
Content-Language: ja
Content-type: text/html; charset=UTF-8
--- /dev/null
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head><!--
+ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ This file is generated from xml source: DO NOT EDIT
+ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ -->
+<title>mod_ext_filter - Serveur Apache HTTP</title>
+<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
+<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
+<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" />
+<script src="../style/scripts/prettify.js" type="text/javascript">
+</script>
+
+<link href="../images/favicon.ico" rel="shortcut icon" /></head>
+<body>
+<div id="page-header">
+<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p>
+<p class="apache">Serveur Apache HTTP Version 2.5</p>
+<img alt="" src="../images/feather.gif" /></div>
+<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div>
+<div id="path">
+<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.5</a> > <a href="./">Modules</a></div>
+<div id="page-content">
+<div id="preamble"><h1>Module Apache mod_ext_filter</h1>
+<div class="toplang">
+<p><span>Langues Disponibles: </span><a href="../en/mod/mod_ext_filter.html" hreflang="en" rel="alternate" title="English"> en </a> |
+<a href="../fr/mod/mod_ext_filter.html" title="Français"> fr </a> |
+<a href="../ja/mod/mod_ext_filter.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
+<a href="../ko/mod/mod_ext_filter.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p>
+</div>
+<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Fait traiter le corps de la réponse par un programme
+externe avant de l'envoyer au client</td></tr>
+<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
+<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>ext_filter_module</td></tr>
+<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_ext_filter.c</td></tr></table>
+<h3>Sommaire</h3>
+
+ <p><code class="module"><a href="../mod/mod_ext_filter.html">mod_ext_filter</a></code> représente un modèle de
+ programmation simple et bien connu pour les <a href="../filter.html">filtres</a>. Avec ce module, tout programme
+ qui lit l'entrée standard stdin et écrit sur la sortie standard
+ stdout (autrement dit une commande filtre de style Unix) peut
+ servir de filtre pour Apache. Ce mécanisme de filtrage est beaucoup
+ plus lent qu'un filtre spécialement écrit pour
+ l'API d'Apache et faisant partie intégrante du processus du serveur
+ Apache, mais il présente les avantages suivants :</p>
+
+ <ul>
+ <li>le modèle de programmation est beaucoup plus simple</li>
+
+ <li>tout langage de script ou de programmation peut être utilisé,
+ pourvu qu'il permette au programme de lire l'entrée standard et
+ d'écrire sur la sortie standard.</li>
+
+ <li>on peut utiliser des programmes existants comme filtres Apache
+ sans modification.</li>
+ </ul>
+
+ <p>Même dans le cas où le niveau de performance est insuffisant pour
+ une utilisation en production, on peut utiliser
+ <code class="module"><a href="../mod/mod_ext_filter.html">mod_ext_filter</a></code> comme prototype d'environnement pour
+ les filtres.</p>
+
+</div>
+<div id="quickview"><h3 class="directives">Directives</h3>
+<ul id="toc">
+<li><img alt="" src="../images/down.gif" /> <a href="#extfilterdefine">ExtFilterDefine</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#extfilteroptions">ExtFilterOptions</a></li>
+</ul>
+<h3>Sujets</h3>
+<ul id="topics">
+<li><img alt="" src="../images/down.gif" /> <a href="#examples">Exemples</a></li>
+</ul><h3>Voir aussi</h3>
+<ul class="seealso">
+<li><a href="../filter.html">Filtres</a></li>
+</ul><ul class="seealso"><li><a href="#comments_section">Commentaires</a></li></ul></div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="examples" id="examples">Exemples</a></h2>
+
+ <h3>Générer du HTML à partir d'un autre type de
+ contenu</h3>
+
+ <pre class="prettyprint lang-config">
+# la directive de mod_ext_filter définissant un filtre
+# permettant de mettre des fichiers text/c au format HTML en
+# utilisant le programme externe /usr/bin/enscript, le type du
+# fichier résultant étant défini à text/html
+ExtFilterDefine c-to-html mode=output \
+ intype=text/c outtype=text/html \
+ cmd="/usr/bin/enscript --color -W html -Ec -o - -"
+
+<Directory "/export/home/trawick/apacheinst/htdocs/c">
+ # directive de base permettant de traiter la sortie avec le
+ # nouveau filtre
+ SetOutputFilter c-to-html
+
+ # directive de mod_mime définissant le type des fichiers dont
+ # le nom possède l'extension .c à text/c
+ AddType text/c .c
+</Directory>
+ </pre>
+
+
+
+ <h3>Implémentation d'un filtre de codage de
+ contenu</h3>
+ <p>Note : cet exemple avec gzip n'est fourni qu'à titre
+ d'illustration. Veuillez vous reporter à la documentation de
+ <code class="module"><a href="../mod/mod_deflate.html">mod_deflate</a></code> pour un exemple d'implémentation plus
+ pratique.</p>
+
+ <pre class="prettyprint lang-config">
+# la directive de mod_ext_filter qui définit le filtre externe
+ExtFilterDefine gzip mode=output cmd=/bin/gzip
+
+<Location /gzipped>
+
+ # directive de base permettant de traiter la sortie avec le
+ # filtre gzip
+ SetOutputFilter gzip
+
+ # la directive de mod_header permettant d'ajouter le champ
+ # d'en-tête "Content-Encoding: gzip"
+ Header set Content-Encoding gzip
+</Location>
+ </pre>
+
+
+
+
+ <h3>Ralentissement du serveur</h3>
+ <pre class="prettyprint lang-config">
+# directive de mod_ext_filter définissant un filtre qui fait
+# passer tous les flux en sortie par la commande cat ; cat ne
+# modifie rien ; elle ne fait que compliquer le cheminement des
+# flux et consommer des ressources supplémentaires
+ ExtFilterDefine slowdown mode=output cmd=/bin/cat \
+ExtFilterDefine slowdown mode=output cmd=/bin/cat \
+ preservescontentlength
+
+<Location />
+ # directive de base permettant de traiter plusieurs fois la
+ # sortie avec le filtre slowdown
+ #
+ SetOutputFilter slowdown;slowdown;slowdown
+</Location>
+ </pre>
+
+
+
+ <h3>Utilisation de sed pour remplacer du texte dans la
+ réponse</h3>
+
+ <pre class="prettyprint lang-config">
+# directive de mod_ext_filter définissant un filtre qui
+# remplace du texte dans la réponse
+#
+ExtFilterDefine fixtext mode=output intype=text/html \
+ cmd="/bin/sed s/verdana/arial/g"
+
+<Location />
+ # directive de base permettant de traiter la sortie avec le
+ # filtre fixtext
+ SetOutputFilter fixtext
+</Location>
+ </pre>
+
+
+
+
+ <h3>Tracer un autre filtre</h3>
+ <pre class="prettyprint lang-config">
+# Trace les données lues et écrites par mod_deflate pour un
+# client particulier (IP 192.168.1.31) qui a des problèmes de
+# compression.
+# Ce premier filtre va tracer ce qui entre dans mod_deflate.
+ExtFilterDefine tracebefore \
+ cmd="/bin/tracefilter.pl /tmp/tracebefore" \
+ EnableEnv=trace_this_client
+
+# Ce second filtre va tracer ce qui sort de mod_deflate.
+# Notez que sans le paramètre ftype, le type de filtre par
+# défaut AP_FTYPE_RESOURCE placerait le filtre *avant*
+# mod_deflate dans la chaîne de filtrage. Le fait d'affecter
+# à ce paramètre une valeur numérique sensiblement supérieure à
+# AP_FTYPE_CONTENT_SET permet de s'assurer que le filtre sera
+# placé après mod_deflate.
+ExtFilterDefine traceafter \
+ cmd="/bin/tracefilter.pl /tmp/traceafter" \
+ EnableEnv=trace_this_client ftype=21
+
+<Directory /usr/local/docs>
+ SetEnvIf Remote_Addr 192.168.1.31 trace_this_client
+ SetOutputFilter tracebefore;deflate;traceafter
+</Directory>
+ </pre>
+
+
+ <div class="example"><h3>Voici le filtre qui trace les données :</h3><pre class="prettyprint lang-perl">
+#!/usr/local/bin/perl -w
+use strict;
+
+open(SAVE, ">$ARGV[0]")
+ or die "can't open $ARGV[0]: $?";
+
+while (<STDIN>) {
+ print SAVE $_;
+ print $_;
+}
+
+close(SAVE);
+ </pre>
+</div>
+
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="ExtFilterDefine" id="ExtFilterDefine">ExtFilterDefine</a> <a name="extfilterdefine" id="extfilterdefine">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit un filtre externe</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ExtFilterDefine <var>nom_filtre</var> <var>paramètres</var></code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ext_filter</td></tr>
+</table>
+ <p>La directive <code class="directive">ExtFilterDefine</code>
+ définit les caractéristiques d'un filtre externe, et en particulier
+ le programme à exécuter ainsi que ses arguments.</p>
+
+ <p><var>nom_filtre</var> spécifie le nom du filtre en cours de
+ définition. On peut ensuite utiliser ce nom pour référencer le
+ filtre dans les directives <code class="directive"><a href="../mod/core.html#setoutputfilter">SetOutputFilter</a></code>. Il doit être unique parmi les noms de
+ tous les filtres enregistrés. <em>Pour le moment, aucune erreur
+ n'est signalée par l'API register-filter, si bien qu'un problème de
+ noms dupliqués ne sera pas porté à la connaissance de
+ l'utilisateur.</em></p>
+
+ <p>Viennent ensuite un ou plusieurs paramètres dans un ordre
+ indéfini, qui permettent de spécifier la commande externe à exécuter
+ et certaines autres caractéristiques. Le seul paramètre obligatoire
+ est <code>cmd=</code>. Voici la liste de ces paramètres :</p>
+
+ <dl>
+ <dt><code>cmd=<var>ligne de commande</var></code></dt>
+
+ <dd>Le mot-clé <code>cmd=</code> spécifie la commande
+ externe à exécuter. Si la ligne de commande comporte des
+ arguments, elle doit être entourée de guillemets (par exemple
+ <code>cmd="<var>/bin/mypgm</var> <var>arg1</var>
+ <var>arg2</var>"</code>). Les guillemets habituels du shell ne
+ sont pas nécessaires car le programme est lancé directement, sans
+ passer par le shell. Les arguments du programme doivent être
+ séparés par des espaces. Si un argument contient des espaces, ces
+ derniers doivent être échappés par un antislash '\'. Si un
+ argument contient des antislashes '\', ces derniers doivent être
+ eux-mêmes échappés par un antislash '\'. Outre les variables
+ d'environnement CGI standards, les variables DOCUMENT_URI,
+ DOCUMENT_PATH_INFO, et QUERY_STRING_UNESCAPED seront également
+ définies pour le programme.</dd>
+
+ <dt><code>mode=<var>mode</var></code></dt>
+
+ <dd>Utilisez <code>mode=output</code> (valeur par défaut) pour les
+ filtres qui traitent les réponses. Utilisez
+ <code>mode=input</code> pour les filtres qui traitent les
+ requêtes. <code>mode=input</code> est disponible depuis la version
+ 2.1 d'Apache.</dd>
+
+ <dt><code>intype=<var>type MIME</var></code></dt>
+
+ <dd>Ce paramètre spécifie le type de médium Internet
+ (c'est à dire le type MIME) des documents qui doivent être
+ filtrés. Par défaut, tous les documents sont filtrés. Aucun des
+ documents possédant un type MIME autre que celui spécifié par
+ <code>intype=</code> ne sera filtré.</dd>
+
+ <dt><code>outtype=<var>type MIME</var></code></dt>
+
+ <dd>Ce paramètre spécifie le type de médium Internet
+ (c'est à dire le type MIME) des documents filtrés. Il intervient
+ lorsque les opérations de filtrage comprennent une modification du
+ type MIME. Par défaut, le type MIME n'est pas modifié.</dd>
+
+ <dt><code>PreservesContentLength</code></dt>
+
+ <dd>Le mot-clé <code>PreservesContentLength</code> indique que le
+ filtre doit conserver la taille du contenu. Ce n'est pas le
+ comportement par défaut, car la plupart des filtres modifient cette
+ taille. Ce mot-clé doit être spécifié si le filtre ne doit pas
+ modifier la taille du contenu.</dd>
+
+ <dt><code>ftype=<var>type de filtre</var></code></dt>
+
+ <dd>Ce paramètre spécifie une valeur numérique
+ représentant le type de filtre sous lequel le filtre doit être
+ enregistré. La valeur par défaut, AP_FTYPE_RESOURCE, convient dans
+ la plupart des situations. Ce paramètre devient nécessaire dès lors
+ que le filtre doit opérer à un autre point de la chaîne de filtrage
+ que les filtres de ressources.
+ Voir les définitions de AP_FTYPE_...
+ dans util_filter.h pour trouver une valeur appropriée.</dd>
+
+ <dt><code>disableenv=<var>env</var></code></dt>
+
+ <dd>Ce paramètre spécifie le nom d'une variable
+ d'environnement qui, si elle est définie, va désactiver le
+ filtre.</dd>
+
+ <dt><code>enableenv=<var>env</var></code></dt>
+
+ <dd>Ce paramètre spécifie le nom d'une variable
+ d'environnement qui doit être définie pour que le filtre ne soit
+ pas désactivé.</dd>
+ </dl>
+
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="ExtFilterOptions" id="ExtFilterOptions">ExtFilterOptions</a> <a name="extfilteroptions" id="extfilteroptions">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Configure les options de
+<code class="module"><a href="../mod/mod_ext_filter.html">mod_ext_filter</a></code></td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ExtFilterOptions <var>option</var> [<var>option</var>] ...</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ExtFilterOptions NoLogStderr</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ext_filter</td></tr>
+</table>
+ <p>La directive <code class="directive">ExtFilterOptions</code>
+ spécifie des options de traitement particulières pour
+ <code class="module"><a href="../mod/mod_ext_filter.html">mod_ext_filter</a></code>. Les arguments <var>option</var>
+ peuvent contenir :</p>
+
+ <dl>
+ <dt><code>LogStderr | NoLogStderr</code></dt>
+
+ <dd>Le mot-clé <code>LogStderr</code> indique que les messages
+ envoyés par le programme de filtrage externe sur la sortie
+ d'erreurs standard doivent être enregistrés dans le journal des
+ erreurs d'Apache. <code>NoLogStderr</code> inverse ce
+ comportement.</dd>
+
+ <dt><code>Onfail=[abort|remove]</code></dt>
+ <dd>Indique la marche à suivre si le programme de filtrage externe
+ ne peut pas démarrer. Avec <code>abort</code> (la valeur par
+ défaut), le traitement de la requête sera abandonné. Avec <code>remove</code>, le
+ filtre est supprimé, et le traitement de la requête se poursuit
+ sans lui.</dd>
+ </dl>
+
+ <pre class="prettyprint lang-config">
+ ExtFilterOptions LogStderr
+ </pre>
+
+
+ <p>Les messages envoyés vers la sortie d'erreurs standard du filtre
+ seront enregistrés dans le journal des erreurs d'Apache.</p>
+
+</div>
+</div>
+<div class="bottomlang">
+<p><span>Langues Disponibles: </span><a href="../en/mod/mod_ext_filter.html" hreflang="en" rel="alternate" title="English"> en </a> |
+<a href="../fr/mod/mod_ext_filter.html" title="Français"> fr </a> |
+<a href="../ja/mod/mod_ext_filter.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
+<a href="../ko/mod/mod_ext_filter.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p>
+</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
+<script type="text/javascript"><!--//--><![CDATA[//><!--
+var comments_shortname = 'httpd';
+var comments_identifier = 'http://httpd.apache.org/docs/trunk/mod/mod_ext_filter.html';
+(function(w, d) {
+ if (w.location.hostname.toLowerCase() == "httpd.apache.org") {
+ d.write('<div id="comments_thread"><\/div>');
+ var s = d.createElement('script');
+ s.type = 'text/javascript';
+ s.async = true;
+ s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier;
+ (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s);
+ }
+ else {
+ d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>');
+ }
+})(window, document);
+//--><!]]></script></div><div id="footer">
+<p class="apache">Copyright 2013 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
+if (typeof(prettyPrint) !== 'undefined') {
+ prettyPrint();
+}
+//--><!]]></script>
+</body></html>
\ No newline at end of file
--- /dev/null
+<?xml version="1.0"?>
+<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
+<?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?>
+<!-- English Revision : 1330988 -->
+<!-- French translation : Lucien GENTIS -->
+<!-- Reviewed by : Vincent Deffontaines -->
+
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+<modulesynopsis metafile="mod_ext_filter.xml.meta">
+
+<name>mod_ext_filter</name>
+<description>Fait traiter le corps de la réponse par un programme
+externe avant de l'envoyer au client</description>
+<status>Extension</status>
+<sourcefile>mod_ext_filter.c</sourcefile>
+<identifier>ext_filter_module</identifier>
+
+<summary>
+ <p><module>mod_ext_filter</module> représente un modèle de
+ programmation simple et bien connu pour les <a
+ href="../filter.html">filtres</a>. Avec ce module, tout programme
+ qui lit l'entrée standard stdin et écrit sur la sortie standard
+ stdout (autrement dit une commande filtre de style Unix) peut
+ servir de filtre pour Apache. Ce mécanisme de filtrage est beaucoup
+ plus lent qu'un filtre spécialement écrit pour
+ l'API d'Apache et faisant partie intégrante du processus du serveur
+ Apache, mais il présente les avantages suivants :</p>
+
+ <ul>
+ <li>le modèle de programmation est beaucoup plus simple</li>
+
+ <li>tout langage de script ou de programmation peut être utilisé,
+ pourvu qu'il permette au programme de lire l'entrée standard et
+ d'écrire sur la sortie standard.</li>
+
+ <li>on peut utiliser des programmes existants comme filtres Apache
+ sans modification.</li>
+ </ul>
+
+ <p>Même dans le cas où le niveau de performance est insuffisant pour
+ une utilisation en production, on peut utiliser
+ <module>mod_ext_filter</module> comme prototype d'environnement pour
+ les filtres.</p>
+
+</summary>
+<seealso><a href="../filter.html">Filtres</a></seealso>
+
+<section id="examples"><title>Exemples</title>
+
+ <section><title>Générer du HTML à partir d'un autre type de
+ contenu</title>
+
+ <highlight language="config">
+# la directive de mod_ext_filter définissant un filtre
+# permettant de mettre des fichiers text/c au format HTML en
+# utilisant le programme externe /usr/bin/enscript, le type du
+# fichier résultant étant défini à text/html
+ExtFilterDefine c-to-html mode=output \
+ intype=text/c outtype=text/html \
+ cmd="/usr/bin/enscript --color -W html -Ec -o - -"
+
+<Directory "/export/home/trawick/apacheinst/htdocs/c">
+ # directive de base permettant de traiter la sortie avec le
+ # nouveau filtre
+ SetOutputFilter c-to-html
+
+ # directive de mod_mime définissant le type des fichiers dont
+ # le nom possède l'extension .c à text/c
+ AddType text/c .c
+</Directory>
+ </highlight>
+ </section>
+
+ <section><title>Implémentation d'un filtre de codage de
+ contenu</title>
+ <p>Note : cet exemple avec gzip n'est fourni qu'à titre
+ d'illustration. Veuillez vous reporter à la documentation de
+ <module>mod_deflate</module> pour un exemple d'implémentation plus
+ pratique.</p>
+
+ <highlight language="config">
+# la directive de mod_ext_filter qui définit le filtre externe
+ExtFilterDefine gzip mode=output cmd=/bin/gzip
+
+<Location /gzipped>
+
+ # directive de base permettant de traiter la sortie avec le
+ # filtre gzip
+ SetOutputFilter gzip
+
+ # la directive de mod_header permettant d'ajouter le champ
+ # d'en-tête "Content-Encoding: gzip"
+ Header set Content-Encoding gzip
+</Location>
+ </highlight>
+
+ </section>
+
+ <section><title>Ralentissement du serveur</title>
+ <highlight language="config">
+# directive de mod_ext_filter définissant un filtre qui fait
+# passer tous les flux en sortie par la commande cat ; cat ne
+# modifie rien ; elle ne fait que compliquer le cheminement des
+# flux et consommer des ressources supplémentaires
+ ExtFilterDefine slowdown mode=output cmd=/bin/cat \
+ExtFilterDefine slowdown mode=output cmd=/bin/cat \
+ preservescontentlength
+
+<Location />
+ # directive de base permettant de traiter plusieurs fois la
+ # sortie avec le filtre slowdown
+ #
+ SetOutputFilter slowdown;slowdown;slowdown
+</Location>
+ </highlight>
+ </section>
+
+ <section><title>Utilisation de sed pour remplacer du texte dans la
+ réponse</title>
+
+ <highlight language="config">
+# directive de mod_ext_filter définissant un filtre qui
+# remplace du texte dans la réponse
+#
+ExtFilterDefine fixtext mode=output intype=text/html \
+ cmd="/bin/sed s/verdana/arial/g"
+
+<Location />
+ # directive de base permettant de traiter la sortie avec le
+ # filtre fixtext
+ SetOutputFilter fixtext
+</Location>
+ </highlight>
+
+ </section>
+
+ <section><title>Tracer un autre filtre</title>
+ <highlight language="config">
+# Trace les données lues et écrites par mod_deflate pour un
+# client particulier (IP 192.168.1.31) qui a des problèmes de
+# compression.
+# Ce premier filtre va tracer ce qui entre dans mod_deflate.
+ExtFilterDefine tracebefore \
+ cmd="/bin/tracefilter.pl /tmp/tracebefore" \
+ EnableEnv=trace_this_client
+
+# Ce second filtre va tracer ce qui sort de mod_deflate.
+# Notez que sans le paramètre ftype, le type de filtre par
+# défaut AP_FTYPE_RESOURCE placerait le filtre *avant*
+# mod_deflate dans la chaîne de filtrage. Le fait d'affecter
+# à ce paramètre une valeur numérique sensiblement supérieure à
+# AP_FTYPE_CONTENT_SET permet de s'assurer que le filtre sera
+# placé après mod_deflate.
+ExtFilterDefine traceafter \
+ cmd="/bin/tracefilter.pl /tmp/traceafter" \
+ EnableEnv=trace_this_client ftype=21
+
+<Directory /usr/local/docs>
+ SetEnvIf Remote_Addr 192.168.1.31 trace_this_client
+ SetOutputFilter tracebefore;deflate;traceafter
+</Directory>
+ </highlight>
+
+ <example><title>Voici le filtre qui trace les données :</title>
+ <highlight language="perl">
+#!/usr/local/bin/perl -w
+use strict;
+
+open(SAVE, ">$ARGV[0]")
+ or die "can't open $ARGV[0]: $?";
+
+while (<STDIN>) {
+ print SAVE $_;
+ print $_;
+}
+
+close(SAVE);
+ </highlight>
+ </example>
+ </section>
+</section> <!-- /Examples -->
+
+<directivesynopsis>
+<name>ExtFilterDefine</name>
+<description>Définit un filtre externe</description>
+<syntax>ExtFilterDefine <var>nom_filtre</var> <var>paramètres</var></syntax>
+<contextlist><context>server config</context></contextlist>
+
+<usage>
+ <p>La directive <directive>ExtFilterDefine</directive>
+ définit les caractéristiques d'un filtre externe, et en particulier
+ le programme à exécuter ainsi que ses arguments.</p>
+
+ <p><var>nom_filtre</var> spécifie le nom du filtre en cours de
+ définition. On peut ensuite utiliser ce nom pour référencer le
+ filtre dans les directives <directive module="core"
+ >SetOutputFilter</directive>. Il doit être unique parmi les noms de
+ tous les filtres enregistrés. <em>Pour le moment, aucune erreur
+ n'est signalée par l'API register-filter, si bien qu'un problème de
+ noms dupliqués ne sera pas porté à la connaissance de
+ l'utilisateur.</em></p>
+
+ <p>Viennent ensuite un ou plusieurs paramètres dans un ordre
+ indéfini, qui permettent de spécifier la commande externe à exécuter
+ et certaines autres caractéristiques. Le seul paramètre obligatoire
+ est <code>cmd=</code>. Voici la liste de ces paramètres :</p>
+
+ <dl>
+ <dt><code>cmd=<var>ligne de commande</var></code></dt>
+
+ <dd>Le mot-clé <code>cmd=</code> spécifie la commande
+ externe à exécuter. Si la ligne de commande comporte des
+ arguments, elle doit être entourée de guillemets (par exemple
+ <code>cmd="<var>/bin/mypgm</var> <var>arg1</var>
+ <var>arg2</var>"</code>). Les guillemets habituels du shell ne
+ sont pas nécessaires car le programme est lancé directement, sans
+ passer par le shell. Les arguments du programme doivent être
+ séparés par des espaces. Si un argument contient des espaces, ces
+ derniers doivent être échappés par un antislash '\'. Si un
+ argument contient des antislashes '\', ces derniers doivent être
+ eux-mêmes échappés par un antislash '\'. Outre les variables
+ d'environnement CGI standards, les variables DOCUMENT_URI,
+ DOCUMENT_PATH_INFO, et QUERY_STRING_UNESCAPED seront également
+ définies pour le programme.</dd>
+
+ <dt><code>mode=<var>mode</var></code></dt>
+
+ <dd>Utilisez <code>mode=output</code> (valeur par défaut) pour les
+ filtres qui traitent les réponses. Utilisez
+ <code>mode=input</code> pour les filtres qui traitent les
+ requêtes. <code>mode=input</code> est disponible depuis la version
+ 2.1 d'Apache.</dd>
+
+ <dt><code>intype=<var>type MIME</var></code></dt>
+
+ <dd>Ce paramètre spécifie le type de médium Internet
+ (c'est à dire le type MIME) des documents qui doivent être
+ filtrés. Par défaut, tous les documents sont filtrés. Aucun des
+ documents possédant un type MIME autre que celui spécifié par
+ <code>intype=</code> ne sera filtré.</dd>
+
+ <dt><code>outtype=<var>type MIME</var></code></dt>
+
+ <dd>Ce paramètre spécifie le type de médium Internet
+ (c'est à dire le type MIME) des documents filtrés. Il intervient
+ lorsque les opérations de filtrage comprennent une modification du
+ type MIME. Par défaut, le type MIME n'est pas modifié.</dd>
+
+ <dt><code>PreservesContentLength</code></dt>
+
+ <dd>Le mot-clé <code>PreservesContentLength</code> indique que le
+ filtre doit conserver la taille du contenu. Ce n'est pas le
+ comportement par défaut, car la plupart des filtres modifient cette
+ taille. Ce mot-clé doit être spécifié si le filtre ne doit pas
+ modifier la taille du contenu.</dd>
+
+ <dt><code>ftype=<var>type de filtre</var></code></dt>
+
+ <dd>Ce paramètre spécifie une valeur numérique
+ représentant le type de filtre sous lequel le filtre doit être
+ enregistré. La valeur par défaut, AP_FTYPE_RESOURCE, convient dans
+ la plupart des situations. Ce paramètre devient nécessaire dès lors
+ que le filtre doit opérer à un autre point de la chaîne de filtrage
+ que les filtres de ressources.
+ Voir les définitions de AP_FTYPE_...
+ dans util_filter.h pour trouver une valeur appropriée.</dd>
+
+ <dt><code>disableenv=<var>env</var></code></dt>
+
+ <dd>Ce paramètre spécifie le nom d'une variable
+ d'environnement qui, si elle est définie, va désactiver le
+ filtre.</dd>
+
+ <dt><code>enableenv=<var>env</var></code></dt>
+
+ <dd>Ce paramètre spécifie le nom d'une variable
+ d'environnement qui doit être définie pour que le filtre ne soit
+ pas désactivé.</dd>
+ </dl>
+</usage>
+</directivesynopsis>
+
+<directivesynopsis>
+<name>ExtFilterOptions</name>
+<description>Configure les options de
+<module>mod_ext_filter</module></description>
+<syntax>ExtFilterOptions <var>option</var> [<var>option</var>] ...</syntax>
+<default>ExtFilterOptions NoLogStderr</default>
+<contextlist><context>directory</context></contextlist>
+
+<usage>
+ <p>La directive <directive>ExtFilterOptions</directive>
+ spécifie des options de traitement particulières pour
+ <module>mod_ext_filter</module>. Les arguments <var>option</var>
+ peuvent contenir :</p>
+
+ <dl>
+ <dt><code>LogStderr | NoLogStderr</code></dt>
+
+ <dd>Le mot-clé <code>LogStderr</code> indique que les messages
+ envoyés par le programme de filtrage externe sur la sortie
+ d'erreurs standard doivent être enregistrés dans le journal des
+ erreurs d'Apache. <code>NoLogStderr</code> inverse ce
+ comportement.</dd>
+
+ <dt><code>Onfail=[abort|remove]</code></dt>
+ <dd>Indique la marche à suivre si le programme de filtrage externe
+ ne peut pas démarrer. Avec <code>abort</code> (la valeur par
+ défaut), le traitement de la requête sera abandonné. Avec <code>remove</code>, le
+ filtre est supprimé, et le traitement de la requête se poursuit
+ sans lui.</dd>
+ </dl>
+
+ <highlight language="config">
+ ExtFilterOptions LogStderr
+ </highlight>
+
+ <p>Les messages envoyés vers la sortie d'erreurs standard du filtre
+ seront enregistrés dans le journal des erreurs d'Apache.</p>
+</usage>
+</directivesynopsis>
+
+</modulesynopsis>
<variants>
<variant>en</variant>
+ <variant>fr</variant>
<variant outdated="yes">ja</variant>
<variant outdated="yes">ko</variant>
</variants>
Content-Language: en
Content-type: text/html; charset=ISO-8859-1
+URI: mod_file_cache.html.fr
+Content-Language: fr
+Content-type: text/html; charset=ISO-8859-1
+
URI: mod_file_cache.html.ko.euc-kr
Content-Language: ko
Content-type: text/html; charset=EUC-KR
--- /dev/null
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head><!--
+ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ This file is generated from xml source: DO NOT EDIT
+ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ -->
+<title>mod_file_cache - Serveur Apache HTTP</title>
+<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
+<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
+<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" />
+<script src="../style/scripts/prettify.js" type="text/javascript">
+</script>
+
+<link href="../images/favicon.ico" rel="shortcut icon" /></head>
+<body>
+<div id="page-header">
+<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p>
+<p class="apache">Serveur Apache HTTP Version 2.5</p>
+<img alt="" src="../images/feather.gif" /></div>
+<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div>
+<div id="path">
+<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.5</a> > <a href="./">Modules</a></div>
+<div id="page-content">
+<div id="preamble"><h1>Module Apache mod_file_cache</h1>
+<div class="toplang">
+<p><span>Langues Disponibles: </span><a href="../en/mod/mod_file_cache.html" hreflang="en" rel="alternate" title="English"> en </a> |
+<a href="../fr/mod/mod_file_cache.html" title="Français"> fr </a> |
+<a href="../ko/mod/mod_file_cache.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p>
+</div>
+<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Mise en cache mémoire d'une liste statique de
+fichiers</td></tr>
+<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr>
+<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>file_cache_module</td></tr>
+<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_file_cache.c</td></tr></table>
+<h3>Sommaire</h3>
+
+
+ <div class="warning">
+ Ce module doit être utilisé avec précautions. Il est recommandé de
+ lire attentivement ce document, car une mauvaise utilisation de
+ <code class="module"><a href="../mod/mod_file_cache.html">mod_file_cache</a></code> peut facilement conduire à la
+ création d'un site inopérant.
+ </div>
+
+ <p>La mise en cache de fichiers souvent demandés mais rarement
+ modifiés est une technique qui peut réduire la charge du
+ serveur. <code class="module"><a href="../mod/mod_file_cache.html">mod_file_cache</a></code> met en oeuvre deux
+ techniques de mise en cache de fichiers <em>statiques</em>
+ fréquemment demandés. Des directives de configuration vous
+ permettent d'indiquer à <code class="module"><a href="../mod/mod_file_cache.html">mod_file_cache</a></code> soit
+ d'ouvrir et de charger une image en mémoire d'un fichier avec
+ <code>mmap()</code>, soit de pré-ouvrir un fichier et de maintenir en
+ service le <em>gestionnaire</em> du fichier. Chacune de ces techniques
+ amène à réduire la charge du serveur lors du traitement des
+ requêtes concernant ces fichiers, en accomplissant une partie du
+ travail nécessaire à la mise à disposition de ces fichiers (en
+ particulier les opérations d'entrées/sorties sur les fichiers) au
+ démarrage du serveur, plutôt qu'au cours de chaque requête.</p>
+
+ <p>Note : ces techniques sont inutilisables pour accélérer des
+ programmes CGI ou d'autres fichiers servis par des gestionnaires de
+ contenu spéciaux. Elles ne peuvent être utilisées que pour des
+ fichiers standards en général servis par le gestionnaire de contenu
+ de base d'Apache.</p>
+
+ <p>Ce module est une extension et s'inspire fortement du module
+ d'Apache 1.3 <code>mod_mmap_static</code>.</p>
+</div>
+<div id="quickview"><h3 class="directives">Directives</h3>
+<ul id="toc">
+<li><img alt="" src="../images/down.gif" /> <a href="#cachefile">CacheFile</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#mmapfile">MMapFile</a></li>
+</ul>
+<h3>Sujets</h3>
+<ul id="topics">
+<li><img alt="" src="../images/down.gif" /> <a href="#using">Utilisation de mod_file_cache</a></li>
+</ul><ul class="seealso"><li><a href="#comments_section">Commentaires</a></li></ul></div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="using" id="using">Utilisation de mod_file_cache</a></h2>
+
+ <p><code class="module"><a href="../mod/mod_file_cache.html">mod_file_cache</a></code> gère la mise en cache d'une liste
+ de fichiers définie de manière statique via une des directives
+ <code class="directive"><a href="#mmapfile">MMapFile</a></code> ou
+ <code class="directive"><a href="#cachefile">CacheFile</a></code> au niveau
+ de la configuration du serveur principal.</p>
+
+ <p>Les deux directives ne sont pas supportées par toutes les
+ plates-formes. Par exemple, Apache pour Windows ne supporte pas
+ actuellement la directive <code class="directive"><a href="#mmapfile">MMapFile</a></code>, alors que d'autres
+ plates-formes, comme AIX, supportent les deux. Vous recevrez un
+ message d'erreur dans le journal des erreurs du serveur si vous
+ essayez d'utiliser une directive non supportée. Si vous utilisez une
+ directive non supportée, le serveur démarrera, mais les fichiers ne
+ seront pas mis en cache. Sur les plates-formes qui supportent les
+ deux directives, vous devez faire des essais afin de déterminer
+ quelle directive vous convient le mieux.</p>
+
+ <h3>Directive MMapFile</h3>
+
+ <p>La directive <code class="directive"><a href="#mmapfile">MMapFile</a></code> du module
+ <code class="module"><a href="../mod/mod_file_cache.html">mod_file_cache</a></code> permet de transférer en mémoire
+ une liste statique de fichiers à l'aide de l'appel système
+ <code>mmap()</code>. Cet appel système est disponible sur la
+ plupart des plates-formes de style Unix, mais pas sur toutes. Il
+ existe parfois des limites spécifiques au système quant à la
+ taille et au nombre de fichiers qui peuvent être
+ <code>mmap()</code>és, et l'expérimentation est probablement la
+ méthode la plus simple pour déterminer ces limites.</p>
+
+ <p>Ce <code>mmap()</code>age n'est effectué qu'une seul fois au
+ démarrage ou redémarrage du serveur. Ainsi, chaque fois qu'un des
+ fichiers chargés en mémoire est modifié au niveau du système de
+ fichiers, vous <em>devez</em> redémarrer le serveur (voir la
+ documentation sur l'<a href="../stopping.html">Arrêt et redémarrage</a>). Pour bien
+ insister sur ce point, si des fichiers sont modifiés <em>sur
+ disque</em>, et si vous ne redémarrez pas le serveur, vous allez
+ finir par servir des contenus complètement obsolètes. Vous devez
+ mettre à jour les fichiers en renommant l'ancienne version et en
+ enregistrant la nouvelle sur disque. Pour y parvenir, on peut
+ utiliser des outils comme <code>rdist</code> et <code>mv</code>.
+ La raison pour laquelle ce module ne prend pas en compte les
+ modifications de fichiers réside dans le fait que cette
+ vérification nécessiterait un appel à <code>stat()</code> à chaque
+ accès, et en fin de compte, l'augmentation de la consommation de
+ ressources finirait par aller contre le but initial de
+ réduire les entrées/sorties.</p>
+
+
+ <h3>Directive CacheFile</h3>
+
+ <p>La directive <code class="directive"><a href="#cachefile">CacheFile</a></code> du module
+ <code class="module"><a href="../mod/mod_file_cache.html">mod_file_cache</a></code> permet d'associer un
+ <em>gestionnaire</em> ou <em>descripteur de fichier</em> à chaque
+ fichier énuméré dans la directive de configuration et place ces
+ gestionnaires de fichiers ouverts dans le cache. Lorsqu'un des
+ fichier est demandé, le serveur sélectionne son gestionnaire dans
+ le cache et le transmet à l'API <code>sendfile()</code> (ou
+ <code>TransmitFile()</code> sous Windows).</p>
+
+
+
+ <p>Cette mise en cache des gestionnaire n'est effectuée qu'une
+ seule fois au démarrage ou redémarrage du système. Ainsi, chaque
+ fois qu'un des fichiers chargés en mémoire est modifié au niveau
+ du système de fichiers, vous <em>devez</em> redémarrer le serveur
+ (voir la documentation sur l'<a href="../stopping.html">Arrêt et redémarrage</a>).
+ Pour bien
+ insister sur ce point, si des fichiers sont modifiés <em>sur
+ disque</em>, et si vous ne redémarrez pas le serveur, vous allez
+ finir par servir des contenus complètement obsolètes. Vous devez
+ mettre à jour les fichiers en renommant l'ancienne version et en
+ enregistrant la nouvelle sur disque. Pour y parvenir, on peut
+ utiliser des outils comme <code>rdist</code> et
+ <code>mv</code>.</p>
+
+
+ <div class="note"><h3>Note</h3>
+ <p>Ne cherchez pas de directive qui met tous les
+ fichiers d'un répertoire en cache, de manière récursive. Pour y
+ parvenir, vous pouvez vous reporter à la directive <code class="directive"><a href="../mod/core.html#include">Include</a></code>, et considérer cette
+ commande :</p>
+
+ <div class="example"><p><code>
+ find /www/htdocs -type f -print \<br />
+ | sed -e 's/.*/mmapfile &/' > /www/conf/mmap.conf
+ </code></p></div>
+ </div>
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="CacheFile" id="CacheFile">CacheFile</a> <a name="cachefile" id="cachefile">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Met en cache une liste de gestionnaires de fichiers au
+démarrage</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CacheFile <var>chemin_fichier</var> [<var>chemin fichier</var>] ...</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_file_cache</td></tr>
+</table>
+ <p>La directive <code class="directive">CacheFile</code> associe
+ des gestionnaires à un ou plusieurs fichiers (séparés par des
+ espaces), et place ceux-ci dans le cache au démarrage du
+ serveur. Les gestionnaires des fichiers mis en cache sont
+ automatiquement fermés à l'arrêt du serveur. Lorsqu'un ou plusieurs
+ fichiers ont été modifiés sur disque, le serveur doit être redémarré
+ afin que les modifications soient prises en compte par le cache.</p>
+
+ <p>Soyez prudent avec les arguments <var>chemin_fichier</var> : ils
+ doivent correspondre exactement au chemin du système de fichier que
+ créent les gestionnaires de traduction URL-vers-nom-fichier
+ d'Apache. On ne peut pas comparer des inodes ou autres identifiants
+ pour mettre en correspondance des chemins à l'aide de liens
+ symboliques <em>(etc...)</em>, car là encore, ceci nécessiterait un
+ appel à <code>stat()</code> supplémentaire, ce qui est inacceptable.
+ Il n'est pas garanti que ce module fonctionne avec des noms de
+ fichiers réécrits par <code class="module"><a href="../mod/mod_alias.html">mod_alias</a></code> ou
+ <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>.</p>
+
+ <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">
+ CacheFile /usr/local/apache/htdocs/index.html
+ </pre>
+</div>
+
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="MMapFile" id="MMapFile">MMapFile</a> <a name="mmapfile" id="mmapfile">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Charge au démarrage une liste de fichiers en
+mémoire</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>MMapFile <var>chemin fichier</var> [<var>chemin_fichier</var>] ...</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_file_cache</td></tr>
+</table>
+ <p>La directive <code class="directive">MMapFile</code> provoque le chargement d'un
+ ou plusieurs fichiers (séparés par des espaces) en mémoire au
+ démarrage du serveur. Ceux-ci sont automatiquement déchargés de la
+ mémoire à l'arrêt du serveur. Lorsqu'un ou plusieurs fichiers ont
+ été modifiés sur disque, on doit au minimum envoyer un signal
+ <code>HUP</code> ou <code>USR1</code> au serveur afin de les
+ re<code>mmap()</code>er.</p>
+
+ <p>Soyez prudent avec les arguments <var>chemin_fichier</var> : ils
+ doivent correspondre exactement au chemin du système de fichier que
+ créent les gestionnaires de traduction URL-vers-nom-fichier
+ d'Apache. On ne peut pas comparer des inodes ou autres identifiants
+ pour mettre en correspondance des chemins à l'aide de liens
+ symboliques <em>(etc...)</em>, car là encore, ceci nécessiterait un
+ appel à <code>stat()</code> supplémentaire, ce qui est inacceptable.
+ Il n'est pas garanti que ce module fonctionne avec des noms de
+ fichiers réécrits par <code class="module"><a href="../mod/mod_alias.html">mod_alias</a></code> ou
+ <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>.</p>
+
+ <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">
+ MMapFile /usr/local/apache/htdocs/index.html
+ </pre>
+</div>
+
+</div>
+</div>
+<div class="bottomlang">
+<p><span>Langues Disponibles: </span><a href="../en/mod/mod_file_cache.html" hreflang="en" rel="alternate" title="English"> en </a> |
+<a href="../fr/mod/mod_file_cache.html" title="Français"> fr </a> |
+<a href="../ko/mod/mod_file_cache.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p>
+</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
+<script type="text/javascript"><!--//--><![CDATA[//><!--
+var comments_shortname = 'httpd';
+var comments_identifier = 'http://httpd.apache.org/docs/trunk/mod/mod_file_cache.html';
+(function(w, d) {
+ if (w.location.hostname.toLowerCase() == "httpd.apache.org") {
+ d.write('<div id="comments_thread"><\/div>');
+ var s = d.createElement('script');
+ s.type = 'text/javascript';
+ s.async = true;
+ s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier;
+ (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s);
+ }
+ else {
+ d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>');
+ }
+})(window, document);
+//--><!]]></script></div><div id="footer">
+<p class="apache">Copyright 2013 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
+if (typeof(prettyPrint) !== 'undefined') {
+ prettyPrint();
+}
+//--><!]]></script>
+</body></html>
\ No newline at end of file
--- /dev/null
+<?xml version="1.0"?>
+<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
+<?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?>
+<!-- English Revision : 1330994 -->
+<!-- French translation : Lucien GENTIS -->
+<!-- Reviewed by : Vincent Deffontaines -->
+
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+<modulesynopsis metafile="mod_file_cache.xml.meta">
+
+<name>mod_file_cache</name>
+<description>Mise en cache mémoire d'une liste statique de
+fichiers</description>
+<status>Experimental</status>
+<sourcefile>mod_file_cache.c</sourcefile>
+<identifier>file_cache_module</identifier>
+
+<summary>
+
+ <note type="warning">
+ Ce module doit être utilisé avec précautions. Il est recommandé de
+ lire attentivement ce document, car une mauvaise utilisation de
+ <module>mod_file_cache</module> peut facilement conduire à la
+ création d'un site inopérant.
+ </note>
+
+ <p>La mise en cache de fichiers souvent demandés mais rarement
+ modifiés est une technique qui peut réduire la charge du
+ serveur. <module>mod_file_cache</module> met en oeuvre deux
+ techniques de mise en cache de fichiers <em>statiques</em>
+ fréquemment demandés. Des directives de configuration vous
+ permettent d'indiquer à <module>mod_file_cache</module> soit
+ d'ouvrir et de charger une image en mémoire d'un fichier avec
+ <code>mmap()</code>, soit de pré-ouvrir un fichier et de maintenir en
+ service le <em>gestionnaire</em> du fichier. Chacune de ces techniques
+ amène à réduire la charge du serveur lors du traitement des
+ requêtes concernant ces fichiers, en accomplissant une partie du
+ travail nécessaire à la mise à disposition de ces fichiers (en
+ particulier les opérations d'entrées/sorties sur les fichiers) au
+ démarrage du serveur, plutôt qu'au cours de chaque requête.</p>
+
+ <p>Note : ces techniques sont inutilisables pour accélérer des
+ programmes CGI ou d'autres fichiers servis par des gestionnaires de
+ contenu spéciaux. Elles ne peuvent être utilisées que pour des
+ fichiers standards en général servis par le gestionnaire de contenu
+ de base d'Apache.</p>
+
+ <p>Ce module est une extension et s'inspire fortement du module
+ d'Apache 1.3 <code>mod_mmap_static</code>.</p>
+</summary>
+
+<section id="using"><title>Utilisation de mod_file_cache</title>
+
+ <p><module>mod_file_cache</module> gère la mise en cache d'une liste
+ de fichiers définie de manière statique via une des directives
+ <directive module="mod_file_cache">MMapFile</directive> ou
+ <directive module="mod_file_cache">CacheFile</directive> au niveau
+ de la configuration du serveur principal.</p>
+
+ <p>Les deux directives ne sont pas supportées par toutes les
+ plates-formes. Par exemple, Apache pour Windows ne supporte pas
+ actuellement la directive <directive
+ module="mod_file_cache">MMapFile</directive>, alors que d'autres
+ plates-formes, comme AIX, supportent les deux. Vous recevrez un
+ message d'erreur dans le journal des erreurs du serveur si vous
+ essayez d'utiliser une directive non supportée. Si vous utilisez une
+ directive non supportée, le serveur démarrera, mais les fichiers ne
+ seront pas mis en cache. Sur les plates-formes qui supportent les
+ deux directives, vous devez faire des essais afin de déterminer
+ quelle directive vous convient le mieux.</p>
+
+ <section><title>Directive MMapFile</title>
+
+ <p>La directive <directive
+ module="mod_file_cache">MMapFile</directive> du module
+ <module>mod_file_cache</module> permet de transférer en mémoire
+ une liste statique de fichiers à l'aide de l'appel système
+ <code>mmap()</code>. Cet appel système est disponible sur la
+ plupart des plates-formes de style Unix, mais pas sur toutes. Il
+ existe parfois des limites spécifiques au système quant à la
+ taille et au nombre de fichiers qui peuvent être
+ <code>mmap()</code>és, et l'expérimentation est probablement la
+ méthode la plus simple pour déterminer ces limites.</p>
+
+ <p>Ce <code>mmap()</code>age n'est effectué qu'une seul fois au
+ démarrage ou redémarrage du serveur. Ainsi, chaque fois qu'un des
+ fichiers chargés en mémoire est modifié au niveau du système de
+ fichiers, vous <em>devez</em> redémarrer le serveur (voir la
+ documentation sur l'<a
+ href="../stopping.html">Arrêt et redémarrage</a>). Pour bien
+ insister sur ce point, si des fichiers sont modifiés <em>sur
+ disque</em>, et si vous ne redémarrez pas le serveur, vous allez
+ finir par servir des contenus complètement obsolètes. Vous devez
+ mettre à jour les fichiers en renommant l'ancienne version et en
+ enregistrant la nouvelle sur disque. Pour y parvenir, on peut
+ utiliser des outils comme <code>rdist</code> et <code>mv</code>.
+ La raison pour laquelle ce module ne prend pas en compte les
+ modifications de fichiers réside dans le fait que cette
+ vérification nécessiterait un appel à <code>stat()</code> à chaque
+ accès, et en fin de compte, l'augmentation de la consommation de
+ ressources finirait par aller contre le but initial de
+ réduire les entrées/sorties.</p>
+ </section>
+
+ <section><title>Directive CacheFile</title>
+
+ <p>La directive <directive
+ module="mod_file_cache">CacheFile</directive> du module
+ <module>mod_file_cache</module> permet d'associer un
+ <em>gestionnaire</em> ou <em>descripteur de fichier</em> à chaque
+ fichier énuméré dans la directive de configuration et place ces
+ gestionnaires de fichiers ouverts dans le cache. Lorsqu'un des
+ fichier est demandé, le serveur sélectionne son gestionnaire dans
+ le cache et le transmet à l'API <code>sendfile()</code> (ou
+ <code>TransmitFile()</code> sous Windows).</p>
+
+ <!-- XXX
+ <p>Insert more details about sendfile API...</p>
+ -->
+
+ <p>Cette mise en cache des gestionnaire n'est effectuée qu'une
+ seule fois au démarrage ou redémarrage du système. Ainsi, chaque
+ fois qu'un des fichiers chargés en mémoire est modifié au niveau
+ du système de fichiers, vous <em>devez</em> redémarrer le serveur
+ (voir la documentation sur l'<a
+ href="../stopping.html">Arrêt et redémarrage</a>).
+ Pour bien
+ insister sur ce point, si des fichiers sont modifiés <em>sur
+ disque</em>, et si vous ne redémarrez pas le serveur, vous allez
+ finir par servir des contenus complètement obsolètes. Vous devez
+ mettre à jour les fichiers en renommant l'ancienne version et en
+ enregistrant la nouvelle sur disque. Pour y parvenir, on peut
+ utiliser des outils comme <code>rdist</code> et
+ <code>mv</code>.</p>
+ </section>
+
+ <note><title>Note</title>
+ <p>Ne cherchez pas de directive qui met tous les
+ fichiers d'un répertoire en cache, de manière récursive. Pour y
+ parvenir, vous pouvez vous reporter à la directive <directive
+ module="core">Include</directive>, et considérer cette
+ commande :</p>
+
+ <example>
+ find /www/htdocs -type f -print \<br />
+ | sed -e 's/.*/mmapfile &/' > /www/conf/mmap.conf
+ </example>
+ </note>
+</section>
+
+<directivesynopsis>
+<name>MMapFile</name>
+<description>Charge au démarrage une liste de fichiers en
+mémoire</description>
+<syntax>MMapFile <var>chemin fichier</var> [<var>chemin_fichier</var>] ...</syntax>
+<contextlist><context>server config</context></contextlist>
+
+<usage>
+ <p>La directive <directive>MMapFile</directive> provoque le chargement d'un
+ ou plusieurs fichiers (séparés par des espaces) en mémoire au
+ démarrage du serveur. Ceux-ci sont automatiquement déchargés de la
+ mémoire à l'arrêt du serveur. Lorsqu'un ou plusieurs fichiers ont
+ été modifiés sur disque, on doit au minimum envoyer un signal
+ <code>HUP</code> ou <code>USR1</code> au serveur afin de les
+ re<code>mmap()</code>er.</p>
+
+ <p>Soyez prudent avec les arguments <var>chemin_fichier</var> : ils
+ doivent correspondre exactement au chemin du système de fichier que
+ créent les gestionnaires de traduction URL-vers-nom-fichier
+ d'Apache. On ne peut pas comparer des inodes ou autres identifiants
+ pour mettre en correspondance des chemins à l'aide de liens
+ symboliques <em>(etc...)</em>, car là encore, ceci nécessiterait un
+ appel à <code>stat()</code> supplémentaire, ce qui est inacceptable.
+ Il n'est pas garanti que ce module fonctionne avec des noms de
+ fichiers réécrits par <module>mod_alias</module> ou
+ <module>mod_rewrite</module>.</p>
+
+ <example><title>Exemple</title>
+ <highlight language="config">
+ MMapFile /usr/local/apache/htdocs/index.html
+ </highlight>
+ </example>
+</usage>
+</directivesynopsis>
+
+<directivesynopsis>
+<name>CacheFile</name>
+<description>Met en cache une liste de gestionnaires de fichiers au
+démarrage</description>
+<syntax>CacheFile <var>chemin_fichier</var> [<var>chemin fichier</var>] ...</syntax>
+<contextlist><context>server config</context></contextlist>
+
+<usage>
+ <p>La directive <directive>CacheFile</directive> associe
+ des gestionnaires à un ou plusieurs fichiers (séparés par des
+ espaces), et place ceux-ci dans le cache au démarrage du
+ serveur. Les gestionnaires des fichiers mis en cache sont
+ automatiquement fermés à l'arrêt du serveur. Lorsqu'un ou plusieurs
+ fichiers ont été modifiés sur disque, le serveur doit être redémarré
+ afin que les modifications soient prises en compte par le cache.</p>
+
+ <p>Soyez prudent avec les arguments <var>chemin_fichier</var> : ils
+ doivent correspondre exactement au chemin du système de fichier que
+ créent les gestionnaires de traduction URL-vers-nom-fichier
+ d'Apache. On ne peut pas comparer des inodes ou autres identifiants
+ pour mettre en correspondance des chemins à l'aide de liens
+ symboliques <em>(etc...)</em>, car là encore, ceci nécessiterait un
+ appel à <code>stat()</code> supplémentaire, ce qui est inacceptable.
+ Il n'est pas garanti que ce module fonctionne avec des noms de
+ fichiers réécrits par <module>mod_alias</module> ou
+ <module>mod_rewrite</module>.</p>
+
+ <example><title>Exemple</title>
+ <highlight language="config">
+ CacheFile /usr/local/apache/htdocs/index.html
+ </highlight>
+ </example>
+</usage>
+</directivesynopsis>
+
+</modulesynopsis>
<variants>
<variant>en</variant>
+ <variant>fr</variant>
<variant outdated="yes">ko</variant>
</variants>
</metafile>