URI: mod_heartbeat.html.en
Content-Language: en
Content-type: text/html; charset=ISO-8859-1
+
+URI: mod_heartbeat.html.fr
+Content-Language: fr
+Content-type: text/html; charset=ISO-8859-1
--- /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_heartbeat - 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/directives.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.4</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.4</a> > <a href="./">Modules</a></div>
+<div id="page-content">
+<div id="preamble"><h1>Module Apache mod_heartbeat</h1>
+<div class="toplang">
+<p><span>Langues Disponibles: </span><a href="../en/mod/mod_heartbeat.html" hreflang="en" rel="alternate" title="English"> en </a> |
+<a href="../fr/mod/mod_heartbeat.html" title="Français"> fr </a></p>
+</div>
+<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Envoie des messages d'état au mandataire frontal</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>heartbeat_module</td></tr>
+<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_heartbeat</td></tr>
+<tr><th><a href="module-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.3
+du serveur HTTP Apache</td></tr></table>
+<h3>Sommaire</h3>
+
+ <p><code class="module"><a href="../mod/mod_heartbeat.html">mod_heartbeat</a></code> envoie à un moniteur
+ <code class="module"><a href="../mod/mod_heartmonitor.html">mod_heartmonitor</a></code> des messages multicast l'informant
+ du nombre de connexions courantes. En général,
+ <code class="module"><a href="../mod/mod_heartmonitor.html">mod_heartmonitor</a></code> est chargé sur un serveur
+ mandataire où <code class="module"><a href="../mod/mod_lbmethod_heartbeat.html">mod_lbmethod_heartbeat</a></code> est chargé, ce
+ qui permet d'utiliser la <em>lbmethod</em> "heartbeat" au sein des
+ directives <code class="directive"><a href="../mod/mod_proxy.html#proxypass">ProxyPass</a></code>.</p>
+
+ <p>
+ Le module <code class="module"><a href="../mod/mod_heartbeat.html">mod_heartbeat</a></code> est chargé sur le
+ serveur d'origine qui sert les requêtes via le
+ serveur mandataire.
+</p>
+
+ <div class="warning">
+ Pour utiliser <code class="module"><a href="../mod/mod_heartbeat.html">mod_heartbeat</a></code>,
+ <code class="module"><a href="../mod/mod_status.html">mod_status</a></code> et <code class="module"><a href="../mod/mod_watchdog.html">mod_watchdog</a></code>
+ doivent être soit des modules statiques, soit des modules
+ dynamiques, et dans ce dernier cas, ils doivent être chargés
+ avant <code class="module"><a href="../mod/mod_heartbeat.html">mod_heartbeat</a></code>.
+ </div>
+
+</div>
+<div id="quickview"><h3 class="directives">Directives</h3>
+<ul id="toc">
+<li><img alt="" src="../images/down.gif" /> <a href="#heartbeataddress">HeartbeatAddress</a></li>
+</ul>
+<h3>Sujets</h3>
+<ul id="topics">
+<li><img alt="" src="../images/down.gif" /> <a href="#consuming">Utilisation de la sortie de mod_heartbeat</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="consuming" id="consuming">Utilisation de la sortie de mod_heartbeat</a></h2>
+
+ <p>
+ Chaque seconde, ce module génère un paquet multicast UDP contenant
+ le nombre de threads/processus occupés et en attente. Le paquet
+ possède un format ASCII simple similaire aux paramètres de requête
+ GET en HTTP.
+ </p>
+
+<div class="example"><h3>Exemple de paquet</h3><p><code>
+v=1&ready=75&busy=0
+</code></p></div>
+
+ <p>
+ Les utilisateurs disposeront dans le futur de nouvelles variables en
+ plus de busy et ready, et toujours séparées par des '&'.
+ </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="HeartbeatAddress" id="HeartbeatAddress">HeartbeatAddress</a> <a name="heartbeataddress" id="heartbeataddress">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Adresse multicast à laquelle envoyer les requêtes
+heartbeat</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>HeartbeatAddress <var>addr:port</var></code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>disabled</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_heartbeat</td></tr>
+</table>
+ <p>La directive <code class="directive">HeartbeatAddress</code> permet de
+ spécifier l'adresse multicast à laquelle <code class="module"><a href="../mod/mod_heartbeat.html">mod_heartbeat</a></code> va
+ envoyer ses informations. En général, cette adresse correspond à la
+ valeur définie par la directive <code class="directive"><a href="../mod/mod_heartmonitor.html#heartbeatlisten">HeartbeatListen</a></code> sur le serveur
+ mandataire frontal.</p>
+ <pre class="prettyprint lang-config">
+ HeartbeatAddress 239.0.0.1:27999
+ </pre>
+
+
+</div>
+</div>
+<div class="bottomlang">
+<p><span>Langues Disponibles: </span><a href="../en/mod/mod_heartbeat.html" hreflang="en" rel="alternate" title="English"> en </a> |
+<a href="../fr/mod/mod_heartbeat.html" title="Français"> fr </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/2.4/mod/mod_heartbeat.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/directives.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 : 1437838 -->
+<!-- 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_heartbeat.xml.meta">
+
+<name>mod_heartbeat</name>
+<description>Envoie des messages d'état au mandataire frontal</description>
+<status>Experimental</status>
+<sourcefile>mod_heartbeat</sourcefile>
+<identifier>heartbeat_module</identifier>
+<compatibility>Disponible à partir de la version 2.3
+du serveur HTTP Apache</compatibility>
+
+<summary>
+ <p><module>mod_heartbeat</module> envoie à un moniteur
+ <module>mod_heartmonitor</module> des messages multicast l'informant
+ du nombre de connexions courantes. En général,
+ <module>mod_heartmonitor</module> est chargé sur un serveur
+ mandataire où <module>mod_lbmethod_heartbeat</module> est chargé, ce
+ qui permet d'utiliser la <em>lbmethod</em> "heartbeat" au sein des
+ directives <directive module="mod_proxy">ProxyPass</directive>.</p>
+
+ <p>
+ Le module <module>mod_heartbeat</module> est chargé sur le
+ serveur d'origine qui sert les requêtes via le
+ serveur mandataire.
+</p>
+
+ <note type="warning">
+ Pour utiliser <module>mod_heartbeat</module>,
+ <module>mod_status</module> et <module>mod_watchdog</module>
+ doivent être soit des modules statiques, soit des modules
+ dynamiques, et dans ce dernier cas, ils doivent être chargés
+ avant <module>mod_heartbeat</module>.
+ </note>
+
+</summary>
+
+<section id="consuming">
+ <title>Utilisation de la sortie de mod_heartbeat</title>
+ <p>
+ Chaque seconde, ce module génère un paquet multicast UDP contenant
+ le nombre de threads/processus occupés et en attente. Le paquet
+ possède un format ASCII simple similaire aux paramètres de requête
+ GET en HTTP.
+ </p>
+
+<example><title>Exemple de paquet</title>
+v=1&ready=75&busy=0
+</example>
+
+ <p>
+ Les utilisateurs disposeront dans le futur de nouvelles variables en
+ plus de busy et ready, et toujours séparées par des '&'.
+ </p>
+
+</section>
+
+<directivesynopsis>
+<name>HeartbeatAddress</name>
+<description>Adresse multicast à laquelle envoyer les requêtes
+heartbeat</description>
+<syntax>HeartbeatAddress <var>addr:port</var></syntax>
+<default>disabled</default>
+<contextlist><context>server config</context></contextlist>
+
+<usage>
+ <p>La directive <directive>HeartbeatAddress</directive> permet de
+ spécifier l'adresse multicast à laquelle <module>mod_heartbeat</module> va
+ envoyer ses informations. En général, cette adresse correspond à la
+ valeur définie par la directive <directive
+ module="mod_heartmonitor">HeartbeatListen</directive> sur le serveur
+ mandataire frontal.</p>
+ <highlight language="config">
+ HeartbeatAddress 239.0.0.1:27999
+ </highlight>
+</usage>
+</directivesynopsis>
+
+</modulesynopsis>
<variants>
<variant>en</variant>
+ <variant>fr</variant>
</variants>
</metafile>
URI: mod_heartmonitor.html.en
Content-Language: en
Content-type: text/html; charset=ISO-8859-1
+
+URI: mod_heartmonitor.html.fr
+Content-Language: fr
+Content-type: text/html; charset=ISO-8859-1
--- /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_heartmonitor - 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/directives.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.4</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.4</a> > <a href="./">Modules</a></div>
+<div id="page-content">
+<div id="preamble"><h1>Module Apache mod_heartmonitor</h1>
+<div class="toplang">
+<p><span>Langues Disponibles: </span><a href="../en/mod/mod_heartmonitor.html" hreflang="en" rel="alternate" title="English"> en </a> |
+<a href="../fr/mod/mod_heartmonitor.html" title="Français"> fr </a></p>
+</div>
+<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Moniteur centralisé pour les serveurs d'origine mod_heartbeat</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>heartmonitor_module</td></tr>
+<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_heartmonitor.c</td></tr>
+<tr><th><a href="module-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.3 d'Apache</td></tr></table>
+<h3>Sommaire</h3>
+
+<p>
+<code class="module"><a href="../mod/mod_heartmonitor.html">mod_heartmonitor</a></code> interprète les messages d'état générés
+par les serveurs d'origine pour lesquels <code class="module"><a href="../mod/mod_heartbeat.html">mod_heartbeat</a></code> est activé et
+fournit ces informations à <code class="module"><a href="../mod/mod_lbmethod_heartbeat.html">mod_lbmethod_heartbeat</a></code>, ce
+qui permet d'utiliser la <em>lbmethod</em> "heartbeat" au sein des
+directives <code class="directive"><a href="../mod/mod_proxy.html#proxypass">ProxyPass</a></code>.
+</p>
+
+<p>Ce module utilise les services de <code class="module"><a href="../mod/mod_slotmem_shm.html">mod_slotmem_shm</a></code>,
+lorsqu'il est disponible, au lieu d'un simple fichier texte. Aucune
+configuration supplémentaire n'est requise pour utiliser
+<code class="module"><a href="../mod/mod_slotmem_shm.html">mod_slotmem_shm</a></code>.</p>
+
+ <div class="warning">
+ Pour utiliser <code class="module"><a href="../mod/mod_heartmonitor.html">mod_heartmonitor</a></code>,
+ <code class="module"><a href="../mod/mod_status.html">mod_status</a></code> et <code class="module"><a href="../mod/mod_watchdog.html">mod_watchdog</a></code>
+ doivent être soit des modules statiques, soit des modules
+ dynamiques, et dans ce dernier cas, ils doivent être chargés
+ avant <code class="module"><a href="../mod/mod_heartmonitor.html">mod_heartmonitor</a></code>.
+ </div>
+</div>
+<div id="quickview"><h3 class="directives">Directives</h3>
+<ul id="toc">
+<li><img alt="" src="../images/down.gif" /> <a href="#heartbeatlisten">HeartbeatListen</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#heartbeatmaxservers">HeartbeatMaxServers</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#heartbeatstorage">HeartbeatStorage</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="directive-section"><h2><a name="HeartbeatListen" id="HeartbeatListen">HeartbeatListen</a> <a name="heartbeatlisten" id="heartbeatlisten">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Adresse multicast d'écoute des requêtes entrantes heartbeat</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>HeartbeatListen<var>addr:port</var></code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>disabled</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_heartmonitor</td></tr>
+</table>
+ <p>La directive <code class="directive">HeartbeatListen</code> permet de
+ spécifier l'adresse multicast sur laquelle le serveur va surveiller les
+ informations d'état en provenance de serveurs où
+ <code class="module"><a href="../mod/mod_heartbeat.html">mod_heartbeat</a></code> est activé. Cette adresse correspond
+ en général à la valeur de la directive <code class="directive"><a href="../mod/mod_heartbeat.html#heartbeataddress">HeartbeatAddress</a></code> sur le serveur
+ d'origine.
+ </p>
+
+ <pre class="prettyprint lang-config">
+ HeartbeatListen 239.0.0.1:27999
+ </pre>
+
+
+ <p>Tant que cette directive n'est pas utilisée, le module est
+ désactivé.</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="HeartbeatMaxServers" id="HeartbeatMaxServers">HeartbeatMaxServers</a> <a name="heartbeatmaxservers" id="heartbeatmaxservers">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Spécifie le nombre maximal de serveurs qui pourront envoyer
+des requêtes heartbeat à ce serveur.</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>HeartbeatMaxServers <var>nombre-de-serveurs</var></code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>HeartbeatMaxServers 10</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_heartmonitor</td></tr>
+</table>
+ <p>La directive <code class="directive">HeartbeatMaxServers</code>
+ spécifie le nombre maximal de serveurs qui pourront envoyer des
+ requêtes heartbeat à ce serveur de monitoring. Elle permet ainsi de
+ contrôler la quantité de mémoire partagée allouée pour le stockage
+ des données heartbeat lorsqu'on utilise
+ <code class="module"><a href="../mod/mod_slotmem_shm.html">mod_slotmem_shm</a></code>.</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="HeartbeatStorage" id="HeartbeatStorage">HeartbeatStorage</a> <a name="heartbeatstorage" id="heartbeatstorage">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Chemin vers le stockage des données heartbeat</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>HeartbeatStorage <var>chemin fichier</var></code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>HeartbeatStorage logs/hb.dat</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_heartmonitor</td></tr>
+</table>
+ <p>La directive <code class="directive">HeartbeatStorage</code> permet de
+ spécifier le chemin de stockage des données heartbeat. Ce fichier
+ texte n'est utilisé que si <code class="module"><a href="../mod/mod_slotmem_shm.html">mod_slotmem_shm</a></code> n'est
+ pas chargé.</p>
+
+</div>
+</div>
+<div class="bottomlang">
+<p><span>Langues Disponibles: </span><a href="../en/mod/mod_heartmonitor.html" hreflang="en" rel="alternate" title="English"> en </a> |
+<a href="../fr/mod/mod_heartmonitor.html" title="Français"> fr </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/2.4/mod/mod_heartmonitor.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/directives.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 : 1437838 -->
+<!-- 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_heartmonitor.xml.meta">
+
+<name>mod_heartmonitor</name>
+<description>Moniteur centralisé pour les serveurs d'origine mod_heartbeat</description>
+<status>Experimental</status>
+<sourcefile>mod_heartmonitor.c</sourcefile>
+<identifier>heartmonitor_module</identifier>
+<compatibility>Disponible depuis la version 2.3 d'Apache</compatibility>
+
+<summary>
+<p>
+<module>mod_heartmonitor</module> interprète les messages d'état générés
+par les serveurs d'origine pour lesquels <module>mod_heartbeat</module> est activé et
+fournit ces informations à <module>mod_lbmethod_heartbeat</module>, ce
+qui permet d'utiliser la <em>lbmethod</em> "heartbeat" au sein des
+directives <directive module="mod_proxy">ProxyPass</directive>.
+</p>
+
+<p>Ce module utilise les services de <module>mod_slotmem_shm</module>,
+lorsqu'il est disponible, au lieu d'un simple fichier texte. Aucune
+configuration supplémentaire n'est requise pour utiliser
+<module>mod_slotmem_shm</module>.</p>
+
+ <note type="warning">
+ Pour utiliser <module>mod_heartmonitor</module>,
+ <module>mod_status</module> et <module>mod_watchdog</module>
+ doivent être soit des modules statiques, soit des modules
+ dynamiques, et dans ce dernier cas, ils doivent être chargés
+ avant <module>mod_heartmonitor</module>.
+ </note>
+</summary>
+
+<directivesynopsis>
+<name>HeartbeatListen</name>
+<description>Adresse multicast d'écoute des requêtes entrantes heartbeat</description>
+<syntax>HeartbeatListen<var>addr:port</var></syntax>
+<default>disabled</default>
+<contextlist><context>server config</context></contextlist>
+
+<usage>
+ <p>La directive <directive>HeartbeatListen</directive> permet de
+ spécifier l'adresse multicast sur laquelle le serveur va surveiller les
+ informations d'état en provenance de serveurs où
+ <module>mod_heartbeat</module> est activé. Cette adresse correspond
+ en général à la valeur de la directive <directive
+ module="mod_heartbeat">HeartbeatAddress</directive> sur le serveur
+ d'origine.
+ </p>
+
+ <highlight language="config">
+ HeartbeatListen 239.0.0.1:27999
+ </highlight>
+
+ <p>Tant que cette directive n'est pas utilisée, le module est
+ désactivé.</p>
+</usage>
+</directivesynopsis>
+
+<directivesynopsis>
+<name>HeartbeatStorage</name>
+<description>Chemin vers le stockage des données heartbeat</description>
+<syntax>HeartbeatStorage <var>chemin fichier</var></syntax>
+<default>HeartbeatStorage logs/hb.dat</default>
+<contextlist><context>server config</context></contextlist>
+
+<usage>
+ <p>La directive <directive>HeartbeatStorage</directive> permet de
+ spécifier le chemin de stockage des données heartbeat. Ce fichier
+ texte n'est utilisé que si <module>mod_slotmem_shm</module> n'est
+ pas chargé.</p>
+</usage>
+</directivesynopsis>
+
+<directivesynopsis>
+<name>HeartbeatMaxServers</name>
+<description>Spécifie le nombre maximal de serveurs qui pourront envoyer
+des requêtes heartbeat à ce serveur.</description>
+<syntax>HeartbeatMaxServers <var>nombre-de-serveurs</var></syntax>
+<default>HeartbeatMaxServers 10</default>
+<contextlist><context>server config</context></contextlist>
+
+<usage>
+ <p>La directive <directive>HeartbeatMaxServers</directive>
+ spécifie le nombre maximal de serveurs qui pourront envoyer des
+ requêtes heartbeat à ce serveur de monitoring. Elle permet ainsi de
+ contrôler la quantité de mémoire partagée allouée pour le stockage
+ des données heartbeat lorsqu'on utilise
+ <module>mod_slotmem_shm</module>.</p>
+</usage>
+</directivesynopsis>
+
+</modulesynopsis>
<variants>
<variant>en</variant>
+ <variant>fr</variant>
</variants>
</metafile>
Content-Language: en
Content-type: text/html; charset=ISO-8859-1
+URI: mod_imagemap.html.fr
+Content-Language: fr
+Content-type: text/html; charset=ISO-8859-1
+
URI: mod_imagemap.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_imagemap - 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/directives.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.4</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.4</a> > <a href="./">Modules</a></div>
+<div id="page-content">
+<div id="preamble"><h1>Module Apache mod_imagemap</h1>
+<div class="toplang">
+<p><span>Langues Disponibles: </span><a href="../en/mod/mod_imagemap.html" hreflang="en" rel="alternate" title="English"> en </a> |
+<a href="../fr/mod/mod_imagemap.html" title="Français"> fr </a> |
+<a href="../ko/mod/mod_imagemap.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>Traitement des cartes des zones interactives d'une image
+(imagemaps) au niveau du serveur</td></tr>
+<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Base</td></tr>
+<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>imagemap_module</td></tr>
+<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_imagemap.c</td></tr></table>
+<h3>Sommaire</h3>
+
+ <p>Ce module traite les fichiers <code>.map</code>, et remplace
+ ainsi la fonctionnalité du programme CGI <code>imagemap</code>. Tout
+ répertoire ou type de document configuré pour utiliser le
+ gestionnaire <code>imap-file</code> (à l'aide des directives
+ <code class="directive"><a href="../mod/mod_mime.html#addhandler">AddHandler</a></code> ou <code class="directive"><a href="../mod/core.html#sethandler">SetHandler</a></code>), sera traité par ce
+ module.</p>
+
+ <p>La directive suivante confère aux fichiers possèdant l'extension
+ <code>.map</code> le statut de fichiers imagemap :</p>
+
+ <pre class="prettyprint lang-config">AddHandler imap-file map</pre>
+
+
+ <p>Notez que la syntaxe suivante reste encore supportée :</p>
+
+ <pre class="prettyprint lang-config">AddType application/x-httpd-imap map</pre>
+
+
+ <p>Cependant, nous essayons d'abandonner progressivement les "types
+ MIME magiques", et cette syntaxe est sur le point de devenir
+ obsolète.</p>
+</div>
+<div id="quickview"><h3 class="directives">Directives</h3>
+<ul id="toc">
+<li><img alt="" src="../images/down.gif" /> <a href="#imapbase">ImapBase</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#imapdefault">ImapDefault</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#imapmenu">ImapMenu</a></li>
+</ul>
+<h3>Sujets</h3>
+<ul id="topics">
+<li><img alt="" src="../images/down.gif" /> <a href="#features">Nouvelles fonctionnalités</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#imapfile">Fichier imagemap</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#example">Exemple de fichier imagemap</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#referencing">Référencement de votre fichier
+imagemap</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="features" id="features">Nouvelles fonctionnalités</a></h2>
+
+ <p>Le module imagemap propose quelques nouvelles fonctionnalités qui
+ n'étaient pas disponibles avec les programmes imagemap précédemment
+ distribués.</p>
+
+ <ul>
+ <li>Références d'URLs relatives à l'information contenue dans
+ l'en-tête Referer: .</li>
+
+ <li>Assignement <code><base></code> par défaut via la
+ nouvelle directive <code>base</code>.</li>
+
+ <li>Fichier <code>imagemap.conf</code> non requis.</li>
+
+ <li>Références à des points.</li>
+
+ <li>Génération configurable de menus d'images interactives.</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="imapfile" id="imapfile">Fichier imagemap</a></h2>
+
+ <p>Les lignes d'un fichier imagemap peuvent se présenter sous
+ plusieurs formats :</p>
+
+ <div class="example"><p><code>
+ directive valeur [<var>x</var>,<var>y</var> ...]<br />
+ directive valeur "<var>Texte de menu</var>" [<var>x</var>,<var>y</var>
+ ...]<br />
+ directive valeur <var>x</var>,<var>y</var> ... "<var>Texte de menu</var>"
+ </code></p></div>
+
+ <p>Les directives sont <code>base</code>, <code>default</code>,
+ <code>poly</code>, <code>circle</code>, <code>rect</code>, ou
+ <code>point</code>. valeur est une URL absolue ou relative, ou une
+ des valeurs spéciales énumérées ci-dessous. Les coordonnées sont des
+ paires <code><var>x</var>,<var>y</var></code> séparées par des
+ espaces. Le texte entre guillemets est le texte du lien si un menu
+ imagemap est généré. Les lignes commençant par '#' sont des
+ commentaires.</p>
+
+ <h3><a name="imapfile.directives" id="imapfile.directives">Directives d'un fichier
+ imagemap</a></h3>
+ <p>Les directives autorisées dans un fichier imagemap sont au
+ nombre de six. Elles peuvent se trouver à n'importe quelle
+ position dans le fichier, mais sont traitées dans l'ordre selon
+ lequel elles sont enregistrées dans le fichier imagemap.</p>
+
+ <dl>
+ <dt>Directive <code>base</code></dt>
+
+ <dd><p>Elle a le même effet que <code><base
+ href="<var>valeur</var>"></code>. Les URLs non absolues du
+ fichier imagemap sont considérées comme relatives à cette valeur.
+ La directive <code>base</code> l'emporte sur une directive
+ <code class="directive"><a href="#imapbase">ImapBase</a></code> définie dans
+ un fichier <code>.htaccess</code> ou dans le fichier de
+ configuration du serveur. En l'absence de directive de
+ configuration <code class="directive">ImapBase</code>, la valeur par
+ défaut de <code>base</code> est
+ <code>http://nom_serveur/</code>.</p>
+ <p><code>base_uri</code> est un synonyme de <code>base</code>.
+ Notez que la présence ou l'absence d'un slash de fin dans l'URL
+ est importante.</p></dd>
+
+ <dt>Directive <code>default</code></dt>
+
+ <dd>La décision à prendre si les coordonnées fournies ne
+ correspondent à aucune des directives <code>poly</code>,
+ <code>circle</code>, ou <code>rect</code>, et si aucune directive
+ <code>point</code> n'est présente. En l'absence de définition
+ d'une directive de configuration <code class="directive"><a href="#imapdefault">ImapDefault</a></code>, la valeur par défaut est
+ <code>nocontent</code> et provoque l'envoi d'un code de statut
+ <code>204 No Content</code>. Le client verra toujours la même
+ page s'afficher.</dd>
+
+ <dt>Directive <code>poly</code></dt>
+
+ <dd>Accepte comme arguments trois à cent points, et est actionnée
+ si les coordonnées sélectionnées par l'utilisateur tombent dans le
+ polygone défini par ces points.</dd>
+
+ <dt>Directive <code>circle</code></dt>
+
+ <dd>Accepte comme arguments les coordonnées du centre d'un cercle
+ et celles d'un point de ce cercle. Elle est actionnée si les
+ coordonnées sélectionnées par l'utilisateur tombent dans ce
+ cercle.</dd>
+
+ <dt>Directive <code>rect</code></dt>
+
+ <dd>Accepte comme arguments les coordonnées des sommets de deux
+ angles opposés d'un rectangle. Elle est actionnée si les
+ coordonnées sélectionnées par l'utilisateur tombent dans ce
+ rectangle.</dd>
+
+ <dt>Directive <code>point</code></dt>
+
+ <dd>Elle n'accepte qu'un seul point comme argument. Si aucune
+ autre directive ne correspond, c'est la directive
+ dont le point spécifié est le plus près du point sélectionné par
+ l'utilisateur qui est actionnée. Notez que la directive
+ <code>default</code> ne sera pas suivie si une directive
+ <code>point</code> est présente et si des coordonnées valides sont
+ fournies.</dd>
+ </dl>
+
+
+ <h3><a name="imapfile.values" id="imapfile.values">Valeurs</a></h3>
+
+ <p>Les valeurs passées aux directives peuvent contenir :</p>
+
+ <dl>
+ <dt>une URL</dt>
+
+ <dd><p>L'URL peut être absolue ou relative. Les URLs relatives
+ peuvent contenir '..' et seront considérées comme relatives à la
+ valeur de <code>base</code>.</p>
+ <p><code>base</code> en lui-même, ne sera pas résolu en fonction
+ de la valeur courante. Cependant, une directive <code>base
+ mailto:</code> fonctionnera correctement.</p></dd>
+
+ <dt><code>map</code></dt>
+
+ <dd>Équivalent à l'URL du fichier imagemap lui-même. Aucune
+ coordonnée n'est spécifiée, et un menu sera donc généré, à moins
+ qu'une directive <code class="directive"><a href="#imapmenu">ImapMenu</a></code> n'ait été définie à
+ <code>none</code>.</dd>
+
+ <dt><code>menu</code></dt>
+ <dd>Équivalent à <code>map</code>.</dd>
+
+ <dt><code>referer</code></dt>
+
+ <dd>Équivalent à l'URL du document référant. La valeur par défaut
+ est <code>http://nom_serveur/</code> si aucun en-tête
+ <code>Referer:</code> n'est présent.</dd>
+
+ <dt><code>nocontent</code></dt>
+
+ <dd>Envoie un code de statut <code>204 No Content</code>,
+ indiquant au client qu'il doit continuer à afficher la même page.
+ Valide pour toutes les directives, sauf <code>base</code>.</dd>
+
+ <dt><code>error</code></dt>
+
+ <dd>Envoie un code de statut d'échec <code>500 Server
+ Error</code>. Valide pour toutes les directives, sauf
+ <code>base</code>, mais n'a de sens qu'avec la directive
+ <code>default</code>.</dd>
+ </dl>
+
+
+ <h3><a name="imapfile.coords" id="imapfile.coords">Coordonnées</a></h3>
+
+ <dl>
+ <dt><code>0,0 200,200</code></dt>
+
+ <dd>Une coordonnée se compose de deux valeurs, <var>x</var> et
+ <var>y</var>, séparées par une virgule. Les coordonnées sont
+ séparées entre elles par des espaces. Pour s'adapter à la manière
+ dont Lynx traite les images interactives, la sélection par un
+ utilisateur de la coordonnée <code>0,0</code> a le même effet que
+ si aucune coordonnée n'a été sélectionnée.</dd>
+ </dl>
+
+
+
+ <h3><a name="imapfile.quotedtext" id="imapfile.quotedtext">Texte entre
+ guillemets</a></h3>
+
+ <dl>
+ <dt><code>"<var>Texte du menu</var>"</code></dt>
+
+ <dd><p>Après la valeur ou les coordonnées, la ligne peut
+ éventuellement contenir un texte entre guillemets. Cette chaîne
+ constitue le texte du lien si un menu est généré :</p>
+
+ <div class="example"><p><code>
+ <a href="http://example.com/"><var>Texte de
+ menu</var></a>
+ </code></p></div>
+
+ <p>Si aucun texte entre guillemets n'est présent, le texte sera
+ constitué du nom du lien :</p>
+
+ <div class="example"><p><code>
+ <a href="http://example.com/">http://example.com</a>
+ </code></p></div>
+
+ <p>Si vous voulez insérer des guillemets dans le texte, vous devez
+ les inscrire sous la forme <code>&quot;</code>.</p></dd>
+ </dl>
+
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="example" id="example">Exemple de fichier imagemap</a></h2>
+
+ <div class="example"><p><code>
+ #Les commentaires sont affichés dans un menu 'formaté' ou
+ #'semi-formaté'.<br />
+ #Et peuvent contenir des balises html. <hr><br />
+ base referer<br />
+ poly map "Puis-je avoir un menu, s'il vous plait ?" 0,0 0,10 10,10 10,0<br />
+ rect .. 0,0 77,27 "le répertoire du référant"<br />
+ circle http://www.inetnebr.example.com/lincoln/feedback/ 195,0 305,27<br />
+ rect autre_fichier "dans le même répertoire que le référant" 306,0 419,27<br />
+ point http://www.zyzzyva.example.com/ 100,100<br />
+ point http://www.tripod.example.com/ 200,200<br />
+ rect mailto:nate@tripod.example.com 100,150 200,0 "Bogues?"<br />
+ </code></p></div>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="referencing" id="referencing">Référencement de votre fichier
+imagemap</a></h2>
+
+ <div class="example"><h3>Exemple HTML</h3><p><code>
+ <a href="/maps/imagemap1.map"><br />
+ <span class="indent">
+ <img ismap src="/images/imagemap1.gif"><br />
+ </span>
+ </a>
+ </code></p></div>
+
+ <div class="example"><h3>Exemple XHTML</h3><p><code>
+ <a href="/maps/imagemap1.map"><br />
+ <span class="indent">
+ <img ismap="ismap" src="/images/imagemap1.gif" /><br />
+ </span>
+ </a>
+ </code></p></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="ImapBase" id="ImapBase">ImapBase</a> <a name="imapbase" id="imapbase">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Valeur par défaut de la directive <code>base</code> des
+fichiers imagemap</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ImapBase map|referer|<var>URL</var></code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ImapBase http://nom_serveur/</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#Override">AllowOverride:</a></th><td>Indexes</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_imagemap</td></tr>
+</table>
+ <p>La directive <code class="directive">ImapBase</code> permet de définir la
+ valeur par défaut de la directive <code>base</code> des fichiers
+ imagemap. Sa valeur est écrasée par la présence éventuelle d'une
+ directive <code>base</code> dans le fichier imagemap. Si cette
+ directive est absente, la valeur par défaut de la directive
+ <code>base</code> est
+ <code>http://<var>nom_serveur</var>/</code>.</p>
+
+<h3>Voir aussi</h3>
+<ul>
+<li><code class="directive"><a href="../mod/core.html#usecanonicalname">UseCanonicalName</a></code></li>
+</ul>
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="ImapDefault" id="ImapDefault">ImapDefault</a> <a name="imapdefault" id="imapdefault">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Action à entreprendre par défaut lorsqu'un fichier imagemap
+est invoqué avec des coordonnées qui ne correspondent à aucune
+cible</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ImapDefault error|nocontent|map|referer|<var>URL</var></code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ImapDefault nocontent</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#Override">AllowOverride:</a></th><td>Indexes</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_imagemap</td></tr>
+</table>
+ <p>La directive <code class="directive">ImapDefault</code> permet de définir
+ la valeur par défaut de la directive <code>default</code> utilisée
+ dans les fichiers imagemap. Sa valeur est écrasée par la présence
+ éventuelle d'une directive <code>default</code> dans le fichier
+ imagemap. Si cette directive est absente, l'action associée à
+ <code>default</code> est <code>nocontent</code>, ce qui implique
+ l'envoi d'un code de statut <code>204 No Content</code> au client.
+ Dans ce cas, le client doit continuer à afficher la même page.</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="ImapMenu" id="ImapMenu">ImapMenu</a> <a name="imapmenu" id="imapmenu">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Action à entreprendre si aucune coordonnée n'est fournie
+lorsqu'on invoque un fichier imagemap</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ImapMenu none|formatted|semiformatted|unformatted</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ImapMenu formatted</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#Override">AllowOverride:</a></th><td>Indexes</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_imagemap</td></tr>
+</table>
+ <p>La directive <code class="directive">ImapMenu</code> permet de spécifier
+ l'action à entreprendre lorsqu'un fichier imagemap est invoqué sans
+ coordonnées valides.</p>
+
+ <dl>
+ <dt><code>none</code></dt>
+ <dd>Si l'argument d'ImapMenu est <code>none</code>, aucun menu
+ n'est généré, et l'action <code>default</code> est effectuée.</dd>
+
+ <dt><code>formatted</code></dt>
+ <dd>Le menu <code>formatted</code> est le menu le plus simple. Les
+ commentaires du fichier imagemap sont ignorés. Un en-tête de
+ niveau un est affiché, puis un séparateur horizontal, puis chacun
+ des liens sur une ligne séparée. L'aspect du menu est similaire à
+ celui d'un listing de répertoire.</dd>
+
+ <dt><code>semiformatted</code></dt>
+ <dd>Dans le menu <code>semiformatted</code>, les commentaires sont
+ affichés au moment où ils apparaissent dans le fichier imagemap.
+ Les lignes vides sont interprètées comme des lignes de séparation
+ HTML. Aucun en-tête ni séparateur horizontal n'est affiché. À part
+ ces différences, le menu <code>semiformatted</code> est identique
+ au menu <code>formatted</code>.</dd>
+
+ <dt><code>unformatted</code></dt>
+ <dd>Les commentaires sont affichés et les lignes vides sont
+ ignorées. N'est affiché que ce qui apparait dans le fichier
+ imagemap. Toutes les lignes de séparation HTML et les
+ en-têtes doivent être inclus en tant que commentaires dans le
+ fichier imagemap. Cela vous procure une grande souplesse pour
+ définir l'apparence de vos menus, mais vous oblige à rédiger vos
+ fichiers imagemap en HTML, et non en texte plat.</dd>
+ </dl>
+
+</div>
+</div>
+<div class="bottomlang">
+<p><span>Langues Disponibles: </span><a href="../en/mod/mod_imagemap.html" hreflang="en" rel="alternate" title="English"> en </a> |
+<a href="../fr/mod/mod_imagemap.html" title="Français"> fr </a> |
+<a href="../ko/mod/mod_imagemap.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/2.4/mod/mod_imagemap.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/directives.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 : 1432445 -->
+<!-- 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_imagemap.xml.meta">
+
+<name>mod_imagemap</name>
+<description>Traitement des cartes des zones interactives d'une image
+(imagemaps) au niveau du serveur</description>
+<status>Base</status>
+<sourcefile>mod_imagemap.c</sourcefile>
+<identifier>imagemap_module</identifier>
+
+<summary>
+ <p>Ce module traite les fichiers <code>.map</code>, et remplace
+ ainsi la fonctionnalité du programme CGI <code>imagemap</code>. Tout
+ répertoire ou type de document configuré pour utiliser le
+ gestionnaire <code>imap-file</code> (à l'aide des directives
+ <directive module="mod_mime">AddHandler</directive> ou <directive
+ module="core">SetHandler</directive>), sera traité par ce
+ module.</p>
+
+ <p>La directive suivante confère aux fichiers possèdant l'extension
+ <code>.map</code> le statut de fichiers imagemap :</p>
+
+ <highlight language="config">AddHandler imap-file map</highlight>
+
+ <p>Notez que la syntaxe suivante reste encore supportée :</p>
+
+ <highlight language="config">AddType application/x-httpd-imap map</highlight>
+
+ <p>Cependant, nous essayons d'abandonner progressivement les "types
+ MIME magiques", et cette syntaxe est sur le point de devenir
+ obsolète.</p>
+</summary>
+
+<section id="features"><title>Nouvelles fonctionnalités</title>
+
+ <p>Le module imagemap propose quelques nouvelles fonctionnalités qui
+ n'étaient pas disponibles avec les programmes imagemap précédemment
+ distribués.</p>
+
+ <ul>
+ <li>Références d'URLs relatives à l'information contenue dans
+ l'en-tête Referer: .</li>
+
+ <li>Assignement <code><base></code> par défaut via la
+ nouvelle directive <code>base</code>.</li>
+
+ <li>Fichier <code>imagemap.conf</code> non requis.</li>
+
+ <li>Références à des points.</li>
+
+ <li>Génération configurable de menus d'images interactives.</li>
+ </ul>
+</section>
+
+<section id="imapfile"><title>Fichier imagemap</title>
+
+ <p>Les lignes d'un fichier imagemap peuvent se présenter sous
+ plusieurs formats :</p>
+
+ <example>
+ directive valeur [<var>x</var>,<var>y</var> ...]<br />
+ directive valeur "<var>Texte de menu</var>" [<var>x</var>,<var>y</var>
+ ...]<br />
+ directive valeur <var>x</var>,<var>y</var> ... "<var>Texte de menu</var>"
+ </example>
+
+ <p>Les directives sont <code>base</code>, <code>default</code>,
+ <code>poly</code>, <code>circle</code>, <code>rect</code>, ou
+ <code>point</code>. valeur est une URL absolue ou relative, ou une
+ des valeurs spéciales énumérées ci-dessous. Les coordonnées sont des
+ paires <code><var>x</var>,<var>y</var></code> séparées par des
+ espaces. Le texte entre guillemets est le texte du lien si un menu
+ imagemap est généré. Les lignes commençant par '#' sont des
+ commentaires.</p>
+
+ <section id="imapfile.directives"><title>Directives d'un fichier
+ imagemap</title>
+ <p>Les directives autorisées dans un fichier imagemap sont au
+ nombre de six. Elles peuvent se trouver à n'importe quelle
+ position dans le fichier, mais sont traitées dans l'ordre selon
+ lequel elles sont enregistrées dans le fichier imagemap.</p>
+
+ <dl>
+ <dt>Directive <code>base</code></dt>
+
+ <dd><p>Elle a le même effet que <code><base
+ href="<var>valeur</var>"></code>. Les URLs non absolues du
+ fichier imagemap sont considérées comme relatives à cette valeur.
+ La directive <code>base</code> l'emporte sur une directive
+ <directive module="mod_imagemap">ImapBase</directive> définie dans
+ un fichier <code>.htaccess</code> ou dans le fichier de
+ configuration du serveur. En l'absence de directive de
+ configuration <directive>ImapBase</directive>, la valeur par
+ défaut de <code>base</code> est
+ <code>http://nom_serveur/</code>.</p>
+ <p><code>base_uri</code> est un synonyme de <code>base</code>.
+ Notez que la présence ou l'absence d'un slash de fin dans l'URL
+ est importante.</p></dd>
+
+ <dt>Directive <code>default</code></dt>
+
+ <dd>La décision à prendre si les coordonnées fournies ne
+ correspondent à aucune des directives <code>poly</code>,
+ <code>circle</code>, ou <code>rect</code>, et si aucune directive
+ <code>point</code> n'est présente. En l'absence de définition
+ d'une directive de configuration <directive module="mod_imagemap"
+ >ImapDefault</directive>, la valeur par défaut est
+ <code>nocontent</code> et provoque l'envoi d'un code de statut
+ <code>204 No Content</code>. Le client verra toujours la même
+ page s'afficher.</dd>
+
+ <dt>Directive <code>poly</code></dt>
+
+ <dd>Accepte comme arguments trois à cent points, et est actionnée
+ si les coordonnées sélectionnées par l'utilisateur tombent dans le
+ polygone défini par ces points.</dd>
+
+ <dt>Directive <code>circle</code></dt>
+
+ <dd>Accepte comme arguments les coordonnées du centre d'un cercle
+ et celles d'un point de ce cercle. Elle est actionnée si les
+ coordonnées sélectionnées par l'utilisateur tombent dans ce
+ cercle.</dd>
+
+ <dt>Directive <code>rect</code></dt>
+
+ <dd>Accepte comme arguments les coordonnées des sommets de deux
+ angles opposés d'un rectangle. Elle est actionnée si les
+ coordonnées sélectionnées par l'utilisateur tombent dans ce
+ rectangle.</dd>
+
+ <dt>Directive <code>point</code></dt>
+
+ <dd>Elle n'accepte qu'un seul point comme argument. Si aucune
+ autre directive ne correspond, c'est la directive
+ dont le point spécifié est le plus près du point sélectionné par
+ l'utilisateur qui est actionnée. Notez que la directive
+ <code>default</code> ne sera pas suivie si une directive
+ <code>point</code> est présente et si des coordonnées valides sont
+ fournies.</dd>
+ </dl>
+ </section>
+
+ <section id="imapfile.values"><title>Valeurs</title>
+
+ <p>Les valeurs passées aux directives peuvent contenir :</p>
+
+ <dl>
+ <dt>une URL</dt>
+
+ <dd><p>L'URL peut être absolue ou relative. Les URLs relatives
+ peuvent contenir '..' et seront considérées comme relatives à la
+ valeur de <code>base</code>.</p>
+ <p><code>base</code> en lui-même, ne sera pas résolu en fonction
+ de la valeur courante. Cependant, une directive <code>base
+ mailto:</code> fonctionnera correctement.</p></dd>
+
+ <dt><code>map</code></dt>
+
+ <dd>Équivalent à l'URL du fichier imagemap lui-même. Aucune
+ coordonnée n'est spécifiée, et un menu sera donc généré, à moins
+ qu'une directive <directive
+ module="mod_imagemap">ImapMenu</directive> n'ait été définie à
+ <code>none</code>.</dd>
+
+ <dt><code>menu</code></dt>
+ <dd>Équivalent à <code>map</code>.</dd>
+
+ <dt><code>referer</code></dt>
+
+ <dd>Équivalent à l'URL du document référant. La valeur par défaut
+ est <code>http://nom_serveur/</code> si aucun en-tête
+ <code>Referer:</code> n'est présent.</dd>
+
+ <dt><code>nocontent</code></dt>
+
+ <dd>Envoie un code de statut <code>204 No Content</code>,
+ indiquant au client qu'il doit continuer à afficher la même page.
+ Valide pour toutes les directives, sauf <code>base</code>.</dd>
+
+ <dt><code>error</code></dt>
+
+ <dd>Envoie un code de statut d'échec <code>500 Server
+ Error</code>. Valide pour toutes les directives, sauf
+ <code>base</code>, mais n'a de sens qu'avec la directive
+ <code>default</code>.</dd>
+ </dl>
+ </section>
+
+ <section id="imapfile.coords"><title>Coordonnées</title>
+
+ <dl>
+ <dt><code>0,0 200,200</code></dt>
+
+ <dd>Une coordonnée se compose de deux valeurs, <var>x</var> et
+ <var>y</var>, séparées par une virgule. Les coordonnées sont
+ séparées entre elles par des espaces. Pour s'adapter à la manière
+ dont Lynx traite les images interactives, la sélection par un
+ utilisateur de la coordonnée <code>0,0</code> a le même effet que
+ si aucune coordonnée n'a été sélectionnée.</dd>
+ </dl>
+
+ </section>
+
+ <section id="imapfile.quotedtext"><title>Texte entre
+ guillemets</title>
+
+ <dl>
+ <dt><code>"<var>Texte du menu</var>"</code></dt>
+
+ <dd><p>Après la valeur ou les coordonnées, la ligne peut
+ éventuellement contenir un texte entre guillemets. Cette chaîne
+ constitue le texte du lien si un menu est généré :</p>
+
+ <example>
+ <a href="http://example.com/"><var>Texte de
+ menu</var></a>
+ </example>
+
+ <p>Si aucun texte entre guillemets n'est présent, le texte sera
+ constitué du nom du lien :</p>
+
+ <example>
+ <a href="http://example.com/">http://example.com</a>
+ </example>
+
+ <p>Si vous voulez insérer des guillemets dans le texte, vous devez
+ les inscrire sous la forme <code>&quot;</code>.</p></dd>
+ </dl>
+
+ </section>
+</section>
+
+<section id="example"><title>Exemple de fichier imagemap</title>
+
+ <example>
+ #Les commentaires sont affichés dans un menu 'formaté' ou
+ #'semi-formaté'.<br />
+ #Et peuvent contenir des balises html. <hr><br />
+ base referer<br />
+ poly map "Puis-je avoir un menu, s'il vous plait ?" 0,0 0,10 10,10 10,0<br />
+ rect .. 0,0 77,27 "le répertoire du référant"<br />
+ circle http://www.inetnebr.example.com/lincoln/feedback/ 195,0 305,27<br />
+ rect autre_fichier "dans le même répertoire que le référant" 306,0 419,27<br />
+ point http://www.zyzzyva.example.com/ 100,100<br />
+ point http://www.tripod.example.com/ 200,200<br />
+ rect mailto:nate@tripod.example.com 100,150 200,0 "Bogues?"<br />
+ </example>
+
+</section>
+
+<section id="referencing"><title>Référencement de votre fichier
+imagemap</title>
+
+ <example><title>Exemple HTML</title>
+ <a href="/maps/imagemap1.map"><br />
+ <indent>
+ <img ismap src="/images/imagemap1.gif"><br />
+ </indent>
+ </a>
+ </example>
+
+ <example><title>Exemple XHTML</title>
+ <a href="/maps/imagemap1.map"><br />
+ <indent>
+ <img ismap="ismap" src="/images/imagemap1.gif" /><br />
+ </indent>
+ </a>
+ </example>
+
+</section>
+
+<directivesynopsis>
+<name>ImapMenu</name>
+<description>Action à entreprendre si aucune coordonnée n'est fournie
+lorsqu'on invoque un fichier imagemap</description>
+<syntax>ImapMenu none|formatted|semiformatted|unformatted</syntax>
+<default>ImapMenu formatted</default>
+<contextlist><context>server config</context><context>virtual host</context>
+<context>directory</context><context>.htaccess</context></contextlist>
+<override>Indexes</override>
+
+<usage>
+ <p>La directive <directive>ImapMenu</directive> permet de spécifier
+ l'action à entreprendre lorsqu'un fichier imagemap est invoqué sans
+ coordonnées valides.</p>
+
+ <dl>
+ <dt><code>none</code></dt>
+ <dd>Si l'argument d'ImapMenu est <code>none</code>, aucun menu
+ n'est généré, et l'action <code>default</code> est effectuée.</dd>
+
+ <dt><code>formatted</code></dt>
+ <dd>Le menu <code>formatted</code> est le menu le plus simple. Les
+ commentaires du fichier imagemap sont ignorés. Un en-tête de
+ niveau un est affiché, puis un séparateur horizontal, puis chacun
+ des liens sur une ligne séparée. L'aspect du menu est similaire à
+ celui d'un listing de répertoire.</dd>
+
+ <dt><code>semiformatted</code></dt>
+ <dd>Dans le menu <code>semiformatted</code>, les commentaires sont
+ affichés au moment où ils apparaissent dans le fichier imagemap.
+ Les lignes vides sont interprètées comme des lignes de séparation
+ HTML. Aucun en-tête ni séparateur horizontal n'est affiché. À part
+ ces différences, le menu <code>semiformatted</code> est identique
+ au menu <code>formatted</code>.</dd>
+
+ <dt><code>unformatted</code></dt>
+ <dd>Les commentaires sont affichés et les lignes vides sont
+ ignorées. N'est affiché que ce qui apparait dans le fichier
+ imagemap. Toutes les lignes de séparation HTML et les
+ en-têtes doivent être inclus en tant que commentaires dans le
+ fichier imagemap. Cela vous procure une grande souplesse pour
+ définir l'apparence de vos menus, mais vous oblige à rédiger vos
+ fichiers imagemap en HTML, et non en texte plat.</dd>
+ </dl>
+</usage>
+</directivesynopsis>
+
+<directivesynopsis>
+<name>ImapDefault</name>
+<description>Action à entreprendre par défaut lorsqu'un fichier imagemap
+est invoqué avec des coordonnées qui ne correspondent à aucune
+cible</description>
+<syntax>ImapDefault error|nocontent|map|referer|<var>URL</var></syntax>
+<default>ImapDefault nocontent</default>
+<contextlist><context>server config</context><context>virtual host</context>
+<context>directory</context><context>.htaccess</context></contextlist>
+<override>Indexes</override>
+
+<usage>
+ <p>La directive <directive>ImapDefault</directive> permet de définir
+ la valeur par défaut de la directive <code>default</code> utilisée
+ dans les fichiers imagemap. Sa valeur est écrasée par la présence
+ éventuelle d'une directive <code>default</code> dans le fichier
+ imagemap. Si cette directive est absente, l'action associée à
+ <code>default</code> est <code>nocontent</code>, ce qui implique
+ l'envoi d'un code de statut <code>204 No Content</code> au client.
+ Dans ce cas, le client doit continuer à afficher la même page.</p>
+</usage>
+</directivesynopsis>
+
+<directivesynopsis>
+<name>ImapBase</name>
+<description>Valeur par défaut de la directive <code>base</code> des
+fichiers imagemap</description>
+<syntax>ImapBase map|referer|<var>URL</var></syntax>
+<default>ImapBase http://nom_serveur/</default>
+<contextlist><context>server config</context><context>virtual host</context>
+<context>directory</context><context>.htaccess</context></contextlist>
+<override>Indexes</override>
+
+<usage>
+ <p>La directive <directive>ImapBase</directive> permet de définir la
+ valeur par défaut de la directive <code>base</code> des fichiers
+ imagemap. Sa valeur est écrasée par la présence éventuelle d'une
+ directive <code>base</code> dans le fichier imagemap. Si cette
+ directive est absente, la valeur par défaut de la directive
+ <code>base</code> est
+ <code>http://<var>nom_serveur</var>/</code>.</p>
+</usage>
+<seealso><directive module="core">UseCanonicalName</directive></seealso>
+</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_include.html.fr
+Content-Language: fr
+Content-type: text/html; charset=ISO-8859-1
+
URI: mod_include.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_include - 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/directives.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.4</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.4</a> > <a href="./">Modules</a></div>
+<div id="page-content">
+<div id="preamble"><h1>Module Apache mod_include</h1>
+<div class="toplang">
+<p><span>Langues Disponibles: </span><a href="../en/mod/mod_include.html" hreflang="en" rel="alternate" title="English"> en </a> |
+<a href="../fr/mod/mod_include.html" title="Français"> fr </a> |
+<a href="../ja/mod/mod_include.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a></p>
+</div>
+<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Documents html interprétés par le serveur (Server Side
+Includes ou SSI)</td></tr>
+<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Base</td></tr>
+<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>include_module</td></tr>
+<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_include.c</td></tr></table>
+<h3>Sommaire</h3>
+
+ <p>Ce module fournit un filtre qui va traiter les fichiers avant
+ de les envoyer au client. Le traitement est contrôlé via des
+ commentaires SGML spécialement formatés, aussi nommés
+ <dfn>éléments</dfn>. Ces éléments permettent l'insertion
+ conditionnelle de texte, l'inclusion d'autres fichiers ou
+ programmes, ainsi que la définition et l'affichage de variables
+ d'environnement.</p>
+</div>
+<div id="quickview"><h3 class="directives">Directives</h3>
+<ul id="toc">
+<li><img alt="" src="../images/down.gif" /> <a href="#ssiendtag">SSIEndTag</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#ssierrormsg">SSIErrorMsg</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#ssietag">SSIETag</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#ssilastmodified">SSILastModified</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#ssilegacyexprparser">SSILegacyExprParser</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#ssistarttag">SSIStartTag</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#ssitimeformat">SSITimeFormat</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#ssiundefinedecho">SSIUndefinedEcho</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#xbithack">XBitHack</a></li>
+</ul>
+<h3>Sujets</h3>
+<ul id="topics">
+<li><img alt="" src="../images/down.gif" /> <a href="#enabling">Activation des SSI</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#pathinfo">PATH_INFO et SSI</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#elements">Eléments disponibles</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#includevars">Variables include</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#substitution">Substitution de variable</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flowctrl">Eléments de contrôle d'inclusion conditionnelle</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#legacyexpr">Syntaxe des expressions héritée</a></li>
+</ul><h3>Voir aussi</h3>
+<ul class="seealso">
+<li><code class="directive"><a href="../mod/core.html#options">Options</a></code></li>
+<li><code class="directive"><a href="../mod/core.html#acceptpathinfo">AcceptPathInfo</a></code></li>
+<li><a href="../filter.html">Les filtres</a></li>
+<li><a href="../howto/ssi.html">Tutoriel SSI</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="enabling" id="enabling">Activation des SSI</a></h2>
+
+
+ <p>Les SSI sont implémentés par le <a href="../filter.html">filtre</a> <code>INCLUDES</code>. Si des
+ documents contenant des directives SSI possèdent une extension
+ .shtml, les directives suivantes indiqueront à Apache de les
+ interpréter et d'assigner le type MIME
+ <code>text/html</code> au document obtenu :</p>
+
+ <pre class="prettyprint lang-config">
+AddType text/html .shtml
+AddOutputFilter INCLUDES .shtml
+ </pre>
+
+
+ <p>L'option suivante doit être définie pour les répertoires qui
+ contiennent les fichiers shtml (en général dans une section
+ <code class="directive"><a href="../mod/core.html#directory"><Directory></a></code>, mais
+ cette option peut également être définie dans un fichier
+ <code>.htaccess</code> si <code><code class="directive"><a href="../mod/core.html#allowoverride">AllowOverride</a></code> Options</code> a été défini pour le
+ répertoire considéré) :</p>
+
+ <pre class="prettyprint lang-config">
+ Options +Includes
+ </pre>
+
+
+ <p>Pour des raisons de compatibilité ascendante, le <a href="../handler.html">gestionnaire</a> <code>server-parsed</code>
+ peut aussi activer le filtre INCLUDES. Ainsi, Apache va activer le
+ filtre INCLUDES pour tout document de type MIME
+ <code>text/x-server-parsed-html</code> ou
+ <code>text/x-server-parsed-html3</code> (et le document obtenu aura
+ pour type MIME <code>text/html</code>).</p>
+
+ <p>Pour plus d'informations, voyez notre <a href="../howto/ssi.html">Tutoriel SSI</a>.</p>
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="pathinfo" id="pathinfo">PATH_INFO et SSI</a></h2>
+
+
+ <p>Les fichiers traités dans le cadre des SSI n'acceptent plus par
+ défaut les requêtes avec <code>PATH_INFO</code> (les informations
+ relatives au chemin en fin de requête). La directive <code class="directive"><a href="../mod/core.html#acceptpathinfo">AcceptPathInfo</a></code> permet de configurer le
+ serveur de façon à ce qu'il accepte ce genre de requête.</p>
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="elements" id="elements">Eléments disponibles</a></h2>
+ <p>Le document est interprété comme un document HTML, avec des
+ commandes spéciales incluses sous forme de commentaires SGML. La
+ syntaxe d'une commande est la suivante : </p>
+
+ <div class="example"><p><code>
+ <!--#<var>élément</var> <var>attribut</var>=<var>valeur</var>
+ <var>attribut</var>=<var>valeur</var> ... -->
+ </code></p></div>
+
+ <p>Les valeurs sont souvent entourées de guillemets, mais on peut
+ aussi utiliser des apostrophes (<code>'</code>) ou des apostrophes
+ inverses (<code>`</code>). De nombreuses commandes n'acceptent
+ qu'une seule paire attribut-valeur. Notez que le terminateur de
+ commentaire (<code>--></code>) doit être précédé d'un espace afin
+ d'être sûr qu'il ne soit pas considéré comme un élément de commande
+ SSI. Notez aussi que le délimiteur de début <code><!--#</code>
+ est <em>un</em> élément de commande et ne doit donc pas contenir
+ d'espace.</p>
+
+ <p>La table suivante contient la liste des éléments autorisés :</p>
+
+ <table class="bordered">
+ <tr><th>Elément</th><th>Description</th></tr>
+ <tr><td><code><a href="#element.config">config</a></code></td>
+ <td>configure les formats de sortie</td></tr>
+ <tr><td><code><a href="#element.echo">echo</a></code></td>
+ <td>affiche le contenu de variables</td></tr>
+ <tr><td><code><a href="#element.exec">exec</a></code></td>
+ <td>exécute des programmes externes</td></tr>
+ <tr><td><code><a href="#element.fsize">fsize</a></code></td>
+ <td>affiche la taille d'un fichier</td></tr>
+ <tr><td><code><a href="#element.flastmod">flastmod</a></code></td>
+ <td>affiche la date de dernière modification d'un fichier</td></tr>
+ <tr><td><code><a href="#element.include">include</a></code></td>
+ <td>inclut un fichier</td></tr>
+ <tr><td><code><a href="#element.printenv">printenv</a></code></td>
+ <td>affiche toutes les variables disponibles</td></tr>
+ <tr><td><code><a href="#element.set">set</a></code></td>
+ <td>définit la valeur d'une variable</td></tr>
+ </table>
+
+ <p>Les éléments SSI peuvent être définis par d'autres modules que
+ <code class="module"><a href="../mod/mod_include.html">mod_include</a></code>. À ce titre, l'élément <code><a href="#element.exec">exec</a></code> est fourni par
+ <code class="module"><a href="../mod/mod_cgi.html">mod_cgi</a></code>, et ne sera disponible que si ce module est
+ chargé.</p>
+
+ <h3><a name="element.config" id="element.config">L'élément config</a></h3>
+ <p>Cette commande contrôle divers aspects de l'interprétation. Les
+ attributs valides sont :</p>
+
+ <dl>
+ <dt><code>echomsg</code> (<em>Versions 2.1 et supérieures
+ d'Apache</em>)</dt>
+ <dd><p>La valeur est un message qui sera envoyé au client si
+ l'élément <code><a href="#element.echo">echo</a></code> tente
+ d'afficher le contenu d'une variable non définie. Cet attribut
+ l'emporte sur toute directive <code class="directive"><a href="#ssiundefinedecho">SSIUndefinedEcho</a></code>.</p>
+
+ <div class="example"><p><code>
+ <!--#config errmsg="[Valeur non définie]" -->
+ </code></p></div>
+ </dd>
+
+ <dt><code>errmsg</code></dt>
+ <dd><p>La valeur est un message qui sera envoyé au client si une
+ erreur survient lors de l'interprétation du document. Cet attribut
+ l'emporte sur toute directive <code class="directive"><a href="#ssierrormsg">SSIErrorMsg</a></code>.</p>
+
+ <div class="example"><p><code>
+ <!--#config errmsg="[Zut, quelque chose s'est mal passé.]" -->
+ </code></p></div>
+ </dd>
+
+ <dt><code>sizefmt</code></dt>
+ <dd><p>La valeur définit l'unité employée lors de l'affichage de la
+ taille d'un fichier. Les valeurs possibles sont <code>bytes</code>
+ pour une taille en octets, ou <code>abbrev</code> pour une taille
+ en Ko ou Mo selon son importance ; par exemple, une taille de 1024
+ octets sera affichée sous la forme "1K".</p>
+
+ <div class="example"><p><code>
+ <!--#config sizefmt="abbrev" -->
+ </code></p></div>
+
+ </dd>
+
+ <dt><code>timefmt</code></dt>
+ <dd><p>La valeur est une chaîne que pourra utiliser la fonction de la
+ bibliothèque standard <code>strftime(3)</code> lors de l'affichage
+ des dates.</p>
+
+ <div class="example"><p><code>
+ <!--#config timefmt=""%R, %B %d, %Y"" -->
+ </code></p></div>
+
+ </dd>
+ </dl>
+
+
+ <h3><a name="element.echo" id="element.echo">L'élément echo</a></h3>
+ <p>Cette commande affiche le contenu d'une des <a href="#includevars">variables include</a> définies ci-dessous. Si
+ la variable n'est pas définie, le résultat est déterminé par la
+ valeur de la directive <code class="directive"><a href="#ssiundefinedecho">SSIUndefinedEcho</a></code>. Le format d'affichage des dates est
+ défini par l'attribut <code>timefmt</code> de la commande
+ config.</p>
+
+ <p>Attributs:</p>
+
+ <dl>
+ <dt><code>var</code></dt>
+ <dd>La valeur est le nom de la variable à afficher.</dd>
+
+ <dt><code>decoding</code></dt>
+ <dd><p>Spécifie si Apache doit effectuer un décodage dans la
+ variable avant son traitement ultérieur. La valeur par défaut est
+ <code>none</code>, et dans ce cas, aucun décodage n'est effectué.
+ Si la valeur est <code>url</code>, un décodage de type URL sera
+ effectué (il s'agit du codage de type %-encoding utilisé dans les
+ URLs des liens, etc...). Si la valeur est <code>urlencoded</code>,
+ c'est un décodage des éléments de type
+ application/x-www-form-urlencode (que l'on trouve dans les chaînes
+ de paramètres) qui sera effectué. Si la valeur est
+ <code>base64</code>, un
+ decodage de type base64 sera effectué, et si elle est
+ <code>entity</code>, c'est un décodage des entités HTML qui sera
+ effectué. Ce décodage est effectué avant tout codage ultérieur de
+ la variable. Il est possible d'effectuer plusieurs décodages en
+ spécifiant plusieurs valeurs séparées par des virgules. Les
+ spécifications de décodages restent valables jusqu'au prochain
+ attribut de décodage, ou la fin de l'élément.</p>
+
+ <p>Pour être pris en compte, l'attribut de <code>décodage</code>
+ doit <em>précéder</em> l'attribut <code>var</code> correspondant.</p>
+ </dd>
+
+ <dt><code>encoding</code></dt>
+ <dd><p>Spécifie la manière dont Apache va coder les caractères
+ spéciaux que la variable contient avant leur affichage. S'il est
+ défini à <code>none</code>, aucun codage ne sera effectué. S'il
+ est défini à <code>url</code>, un codage de type URL sera effectué
+ (aussi connu sous le nom de codage avec caractères % , il convient
+ pour les URLS des liens, etc...). S'il est défini à
+ <code>urlencoded</code>, c'est un codage compatible
+ application/x-www-form-urlencoded qui sera effectué (à utiliser
+ dans les chaînes de paramètres). S'il est défini à
+ <code>base64</code>, c'est un encodage de type base64 qui sera
+ effectué. Au début d'un élément
+ <code>echo</code>, la valeur par défaut est définie à
+ <code>entity</code>, ce qui correspond à un codage de type entité
+ (codage qui convient pour un élément HTML de type bloc, comme le
+ paragraphe d'un texte). Cette valeur par défaut peut être modifiée
+ en ajoutant un attribut <code>encoding</code>, qui fera effet
+ jusqu'à la définition d'un nouvel attribut <code>encoding</code>
+ ou la fin de l'élément echo.</p>
+
+ <p>Pour produire son effet, l'attribut <code>encoding</code> doit
+ précéder l'attribut <code>var</code> concerné.</p>
+
+ <div class="warning">
+ Afin de prévenir les attaques de type cross-site scripting, il
+ est recommandé de <em>toujours</em> encoder les données fournies
+ par les utilisateurs.
+ </div>
+
+ <div class="example"><h3>Example</h3><p><code>
+ <!--#echo encoding="entity" var="QUERY_STRING" -->
+ </code></p></div>
+ </dd>
+ </dl>
+
+
+ <h3><a name="element.exec" id="element.exec">L'élément exec</a></h3>
+ <p>La commande <code>exec</code> exécute la commande shell ou le
+ script spécifié. Elle nécessite le chargement du module
+ <code class="module"><a href="../mod/mod_cgi.html">mod_cgi</a></code>. Si <code class="directive"><a href="../mod/core.html#options">Options</a></code> <code>IncludesNOEXEC</code> est
+ définie, cette commande est désactivée. Les attributs disponibles
+ sont :</p>
+
+ <dl>
+ <dt><code>cgi</code></dt>
+ <dd><p>La valeur spécifie un chemin URL vers le script CGI (encodé
+ avec caractères %). Si le chemin ne commence pas par un slash (/),
+ il est considéré comme relatif au document courant. Le document
+ référencé par ce chemin est invoqué en tant que script CGI, même
+ s'il n'est pas censé être reconnu comme tel par le serveur. Les
+ scripts CGI doivent cependant être activés dans le répertoire qui
+ contient les scripts (via la directive <code class="directive"><a href="../mod/mod_alias.html#scriptalias">ScriptAlias</a></code> ou l'<code class="directive"><a href="../mod/core.html#options">Options</a></code> <code>ExecCGI</code>).</p>
+
+ <p>Le <code>PATH_INFO</code> et la chaîne d'arguments
+ (<code>QUERY_STRING</code>) de la requête originale du client sont
+ fournis au script CGI ; ils <em>ne peuvent pas</em> être spécifiés
+ dans le chemin de l'URL. Le script disposera des variables include
+ en plus de l'environnement standard <a href="mod_cgi.html">CGI</a>.</p>
+
+ <div class="example"><h3>Exemple</h3><p><code>
+ <!--#exec cgi="/cgi-bin/exemple.cgi" -->
+ </code></p></div>
+
+ <p>Si, à la place d'un flux de sortie, le script renvoie un
+ en-tête <code>Location:</code>, ce dernier sera traduit en ancrage
+ HTML.</p>
+
+ <p>L'élément <code><a href="#includevirtual">include
+ virtual</a></code> doit être préféré à <code>exec cgi</code>. En
+ particulier, si vous devez transmettre des arguments
+ supplémentaires à un programme CGI en utilisant la chaîne
+ d'arguments de la requête, c'est impossible avec <code>exec
+ cgi</code>, mais vous pouvez y parvenir avec <code>include
+ virtual</code> comme suit :</p>
+
+ <div class="example"><p><code>
+ <!--#include virtual="/cgi-bin/exemple.cgi?argument=valeur" -->
+ </code></p></div>
+ </dd>
+
+ <dt><code>cmd</code></dt>
+ <dd><p>Le serveur va exécuter la commande fournie en utilisant
+ <code>/bin/sh</code>. La commande dispose des <a href="#includevars">variables include</a>, en plus du jeu habituel
+ de variables CGI.</p>
+
+ <p>Il est toujours préférable d'utiliser <code><a href="#includevirtual">#include virtual</a></code> à la place de
+ <code>#exec cgi</code> ou <code>#exec cmd</code>. <code>#include
+ virtual</code> utilise le mécanisme standard des sous-requêtes
+ d'Apache pour inclure des fichiers ou des scripts. Il a fait
+ l'objet de tests plus approfondis et sa maintenance est mieux
+ suivie.</p>
+
+ <p>De plus, sur certaines plate-formes, comme Win32, et sous unix,
+ si l'on utilise <a href="../suexec.html">suexec</a>, il est
+ impossible de transmettre des arguments à une commande dans une
+ directive <code>exec</code>, à moins d'insérer des espaces dans la
+ commande. Ainsi, alors que ce qui suit fonctionnera sous unix avec
+ une configuration sans suexec, l'effet produit ne sera pas celui
+ désiré sous Win32, ou dans le cas de l'utilisation de suexec
+ :</p>
+
+ <div class="example"><p><code>
+ <!--#exec cmd="perl /chemin/vers/script_perl arg1 arg2" -->
+ </code></p></div>
+ </dd>
+ </dl>
+
+
+ <h3><a name="element.fsize" id="element.fsize">L'élément fsize</a></h3>
+ <p>Cette commande permet d'afficher la taille du fichier spécifié
+ en fonction des spécifications de format de <code>sizefmt</code>.
+ Attributs :</p>
+
+ <dl>
+ <dt><code>file</code></dt>
+ <dd>La valeur est le chemin du fichier, relatif au répertoire
+ contenant le document en cours d'interprétation.
+
+ <div class="example"><p><code>
+ Ce fichier a une taille de <!--#fsize file="mod_include.html"
+ --> octets.
+ </code></p></div>
+
+ La valeur de <code>file</code> ne peut pas faire référence à un
+ fichier situé à un niveau supérieur de l'arborescence du répertoire
+ courant ou en dehors de la racine des documents ; il ne peut donc
+ ni commencer par un slash, ni contenir la séquence de caractères
+ <code>../</code>. Si c'est le cas, le message d'erreur <code>The
+ given path was above the root path</code> sera renvoyé.
+ </dd>
+
+ <dt><code>virtual</code></dt>
+ <dd>La valeur est un chemin URL (codé avec caractères %). S'il ne
+ commence pas par un slash (/), il est considéré comme relatif au
+ document courant. Notez que cette commande n'affiche <em>pas</em>
+ la taille de la sortie d'un programme CGI, mais la taille du
+ programme CGI lui-même.</dd>
+ </dl>
+
+ <div class="example"><p><code>
+ Ce fichier a une taille de <!--#fsize
+ virtual="/docs/mod/mod_include.html" --> octets.
+ </code></p></div>
+
+ <p>Notez que dans la plupart des cas, ces deux attributs sont
+ identiques. Cependant, l'attribut <code>file</code> ne respecte
+ pas les aliases URL-space.</p>
+
+
+ <h3><a name="element.flastmod" id="element.flastmod">L'élément flastmod</a></h3>
+ <p>Cette commande permet d'afficher la date de dernière
+ modification du fichier spécifié, en fonction des spécifications
+ de format de <code>timefmt</code>. Les attributs sont les mêmes
+ que ceux de la commande <code><a href="#element.fsize">fsize</a></code>.</p>
+
+
+ <h3><a name="element.include" id="element.include">L'élément include</a></h3>
+ <p>Cette commande permet d'insérer le texte d'un autre document ou
+ fichier dans le fichier en cours d'interprétation. Tout fichier
+ inclus est soumis au contrôle d'accès habituel. Si <a href="core.html#options">Options</a> <code>IncludesNOEXEC</code>
+ est défini pour le répertoire contenant le fichier
+ interprété, seuls les documents possèdant un
+ <a class="glossarylink" href="../glossary.html#type mime" title="voir glossaire">type MIME</a> de type texte
+ (<code>text/plain</code>, <code>text/html</code>, etc...) seront
+ inclus. Les scripts CGI, quant à eux, sont invoqués de manière
+ habituelle en utilisant l'URL complète fournie avec la commande, y
+ compris toute chaîne d'arguments éventuelle.</p>
+
+ <p>Un attribut définit le chemin du document à inclure, et peut
+ apparaître plusieurs fois dans l'élément à inclure ; en retour, pour
+ chaque attribut fourni à la commande include, une inclusion est
+ effectuée. Les attributs disponibles sont :</p>
+
+ <dl>
+ <dt><code>file</code></dt>
+ <dd>La valeur est un chemin relatif au répertoire contenant le
+ fichier en cours d'interprétation. Elle ne peut ni contenir
+ <code>../</code>, ni être un chemin absolu. Ainsi, vous ne pouvez
+ pas inclure de fichiers situés en dehors de l'arborescence du
+ site web ou dans un niveau supérieur à celui du fichier courant
+ dans cette arborescence. Il est toujours préférable d'utiliser
+ l'attribut <code>virtual</code>.</dd>
+
+ <dt><code><a id="includevirtual" name="includevirtual">virtual</a></code></dt>
+ <dd><p>La valeur est un chemin URL (codé avec caractères %). L'URL
+ ne peut contenir qu'un chemin et une chaîne d'arguments
+ éventuelle, à l'exclusion de tout protocole ou nom d'hôte. S'il ne
+ commence pas par un slash (/), il est considéré comme relatif au
+ document courant.</p>
+
+ <p>Une URL est construite à partir de l'attribut, et la sortie que
+ renverrait le serveur si l'URL était accédée par le client est
+ incluse dans la sortie interprétée. Les inclusions de fichiers
+ peuvent ainsi être imbriquées.</p>
+
+ <p>Si l'URL spécifiée correspond à un programme CGI, le programme
+ sera exécuté, et son flux de sortie inséré à la place de la
+ directive dans le fichier interprété. Vous pouvez insérer une
+ chaîne d'arguments dans une URL correspond à un programme CGI
+ :</p>
+
+ <div class="example"><p><code>
+ <!--#include virtual="/cgi-bin/exemple.cgi?argument=valeur" -->
+ </code></p></div>
+
+ <p><code>include virtual</code> doit être préféré à <code>exec
+ cgi</code> pour inclure le flux de sortie d'un programme CGI dans
+ un document HTML.</p>
+
+ <p>Si la directive <code class="directive"><a href="../mod/mod_request.html#keptbodysize">KeptBodySize</a></code> est correctement
+ définie et valide pour le fichier inclus, les tentatives de
+ requêtes POST vers le document HTML qui inclut des fichiers seront
+ transmises aux sous-requêtes en tant que requêtes POST
+ elles-mêmes. Sans cette directive, toutes les sous-requêtes sont
+ traitées en tant que requêtes GET.</p>
+
+ </dd>
+
+ <dt><code>onerror</code></dt>
+ <dd><p>La valeur est un chemin-URL (codé-%) qui est affiché si une
+ tentative précédente d'inclure un fichier ou un attribut virtuel a
+ échoué. Pour produire son effet, cet attribut doit être spécifié
+ après le fichier ou les attributs virtuels concernés. Si la
+ tentative d'inclure le chemin onerror échoue, ou si onerror n'est
+ pas spécifié, c'est le message d'erreur par défaut qui sera
+ inclus.</p>
+
+ <div class="example"><p><code>
+ # Exemple simple<br />
+ <!--#include virtual="/not-exist.html" onerror="/error.html" -->
+ </code></p></div>
+
+ <div class="example"><p><code>
+ # Chemins onerror dédiés<br />
+ <!--#include virtual="/path-a.html" onerror="/error-a.html" virtual="/path-b.html" onerror="/error-b.html" -->
+ </code></p></div>
+
+ </dd>
+ </dl>
+
+
+ <h3><a name="element.printenv" id="element.printenv">L'élément printenv</a></h3>
+ <p>Cette commande affiche la liste en mode texte de toutes les variables et de
+ leurs valeurs. Les caractères spéciaux sont encodés <code>entity</code> avant
+ d'être affichés (se reporter à l'élément <code><a href="#element.echo">echo</a></code> pour plus de détails). Cette
+ commande ne comporte pas d'attributs.</p>
+
+ <div class="example"><h3>Exemple</h3><p><code>
+ <pre>
+ <!--#printenv -->
+ </pre>
+ </code></p></div>
+
+
+ <h3><a name="element.set" id="element.set">L'élément set</a></h3>
+ <p>Cette commande permet de définir la valeur d'une variable. Les
+ attributs sont :</p>
+
+ <dl>
+ <dt><code>var</code></dt>
+ <dd>Le nom de la variable à définir.</dd>
+
+ <dt><code>value</code></dt>
+ <dd>La valeur à affecter à la variable.</dd>
+ <dt><code>decoding</code></dt>
+ <dd><p>Spécifie si Apache doit effectuer un décodage dans la
+ variable avant son traitement ultérieur. La valeur par défaut est
+ <code>none</code>, et dans ce cas, aucun décodage n'est effectué.
+ Si la valeur est <code>url</code>, <code>urlencoded</code>,
+ <code>base64</code> ou
+ <code>entity</code>, c'est un décodage de type URL,
+ application/x-www-form-urlencoded, base64 ou
+ entité HTML qui sera respectivement effectué. Il est possible
+ d'effectuer plusieurs décodages en
+ spécifiant plusieurs valeurs séparées par des virgules. Les
+ spécifications de décodages restent valables jusqu'au prochain
+ attribut de décodage, ou la fin de l'élément. Pour être pris en
+ compte, l'attribut de <code>décodage</code>
+ doit <em>précéder</em> l'attribut <code>var</code> correspondant.</p>
+ </dd>
+
+ <dt><code>encoding</code></dt>
+ <dd><p>Spécifie la manière dont Apache va encoder les caractères
+ spéciaux que la variable contient avant leur affichage. S'il est
+ défini à <code>none</code>, aucun encodage ne sera effectué. Si la
+ valeur est <code>url</code>, <code>urlencoding</code>,
+ <code>base64</code> ou
+ <code>entity</code>, c'est un encodage de type URL,
+ application/x-www-form-urlencoded, base64 ou
+ entité HTML qui sera respectivement effectué. Il est possible de
+ spécifier plusieurs types d'encodage en les séparant par des
+ virgules. La spécification du type d'encodage fera effet
+ jusqu'à la définition d'un nouvel attribut encoding
+ ou la fin de l'élément. Pour produire son effet, l'attribut <code>encoding</code> doit
+ précéder l'attribut <code>var</code> concerné. Les encodages sont
+ effectués après les opérations de décodage.</p>
+ </dd>
+
+ </dl>
+
+ <div class="example"><h3>Exemple</h3><p><code>
+ <!--#set var="category" value="help" -->
+ </code></p></div>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="includevars" id="includevars">Variables include</a></h2>
+
+
+ <p>À l'instar des variables de l'environnement CGI standard, ces
+ variables sont mises à la disposition de la commande
+ <code>echo</code>, des opérateurs conditionnels <code>if</code> et
+ <code>elif</code>, et de tout programme invoqué par le document.</p>
+
+ <dl>
+ <dt><code>DATE_GMT</code></dt>
+ <dd>La date GMT (Greenwich Mean Time) courante.</dd>
+
+ <dt><code>DATE_LOCAL</code></dt>
+ <dd>La date locale courante.</dd>
+
+ <dt><code>DOCUMENT_NAME</code></dt>
+ <dd>Le nom de base du fichier demandé par l'utilisateur (sans son
+ chemin).</dd>
+
+ <dt><code>DOCUMENT_URI</code></dt>
+ <dd>Le chemin URL (caractères % décodés) du document demandé par
+ l'utilisateur. Notez que dans le cas d'inclusions de fichiers
+ imbriquées, il ne s'agit <em>pas</em> de l'URL du document
+ courant. Notez également que si l'URL est modifiée en interne (par
+ exemple via une directive <code class="directive"><a href="../mod/mod_alias.html#alias">alias</a></code> ou <code class="directive"><a href="../mod/mod_dir.html#directoryindex">directoryindex</a></code>), c'est l'URL modifiée
+ que contiendra la variable.</dd>
+
+ <dt><code>LAST_MODIFIED</code></dt>
+ <dd>La date de dernière modification du document demandé par
+ l'utilisateur.</dd>
+
+ <dt><code>QUERY_STRING_UNESCAPED</code></dt>
+ <dd>Si une chaîne d'arguments est présente, elle sera affectée à
+ cette variable, les caractères % décodés, et éventuellement
+ <em>échappés</em> pour qu'ils ne soient pas interprétés par le
+ shell (les caractères spéciaux comme <code>&</code>,etc...
+ sont précédés d'anti-slashes).</dd>
+ </dl>
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="substitution" id="substitution">Substitution de variable</a></h2>
+
+ <p>Une substitution de variable à l'intérieur d'une chaîne entre
+ guillemets s'effectue dans la plupart des situations où cette
+ dernière peut raisonablement constituer un argument d'une directive
+ SSI. Sont concernées les directives <code>config</code>,
+ <code>exec</code>, <code>flastmod</code>, <code>fsize</code>,
+ <code>include</code>, <code>echo</code>, et <code>set</code>. Si la
+ directive <code class="directive"><a href="#ssilegacyexprparser">SSILegacyExprParser</a></code> est définie à
+ <code>on</code>, la substitution s'effectue aussi dans les arguments
+ des opérateurs conditionnels. Vous pouvez insérer
+ un signe dollar en tant que caractère littéral dans une chaîne en
+ utilisant un anti-slash :</p>
+
+ <div class="example"><p><code>
+ <!--#set var="cur" value="\$test" -->
+ </code></p></div>
+
+ <p>Si une référence de variable doit être substituée au beau milieu
+ d'une séquence de caractères qui pourrait être elle-même considérée
+ comme un identifiant valide, l'ambiguïté peut être levée en
+ entourant la référence d'accolades, à la manière du shell :</p>
+
+ <div class="example"><p><code>
+ <!--#set var="Zed" value="${REMOTE_HOST}_${REQUEST_METHOD}" -->
+ </code></p></div>
+
+ <p>Dans cet exemple, la variable <code>Zed</code> se verra affecter
+ la valeur "<code>X_Y</code>" si <code>REMOTE_HOST</code> et
+ <code>REQUEST_METHOD</code> contiennent respectivement
+ "<code>X</code>" et "<code>Y</code>".</p>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flowctrl" id="flowctrl">Eléments de contrôle d'inclusion conditionnelle</a></h2>
+
+
+ <p>Les éléments de base du contrôle d'inclusion conditionnelle sont
+ :</p>
+
+ <div class="example"><p><code>
+ <!--#if expr="<var>test_condition</var>" --><br />
+ <!--#elif expr="<var>test_condition</var>" --><br />
+ <!--#else --><br />
+ <!--#endif -->
+ </code></p></div>
+
+ <p>L'élément <code>if</code> fonctionne de la même manière que
+ la directive if d'un langage de programmation. La condition est
+ évaluée et si le résultat est vrai, le texte qui suit jusqu'au
+ prochain élément <code>elif</code>, <code>else</code> ou
+ <code>endif</code> sera inclus dans le flux de sortie.</p>
+
+ <p>Les éléments <code>elif</code> ou <code>else</code> permettent
+ d'insérer du texte dans le flux de sortie si
+ <var>test_condition</var> s'est révélé faux. Ces éléments sont
+ optionnels.</p>
+
+ <p>L'élément <code>endif</code> termine le bloc de traitement
+ conditionnel <code>if</code> et est obligatoire.</p>
+
+ <p><var>test_condition</var> est une expression booléenne qui
+ emprunte la syntaxe <a href="../expr.html">ap_expr</a>. La directive
+ <code class="directive"><a href="#ssilegacyexprparser">SSILegacyExprParser</a></code>
+ permet de modifier cette syntaxe pour la rendre compatible avec
+ Apache HTTPD 2.2.x.</p>
+
+ <p>Le jeu de variables SSI avec l'élément <code>var</code> sont
+ exportées vers l'environnement de la requête et sont accessibles via
+ la fonction <code>reqenv</code>. Pour faire simple, le nom de
+ fonction <code>v</code> est aussi disponible dans le module
+ <code class="module"><a href="../mod/mod_include.html">mod_include</a></code>.</p>
+
+ <p>Dans l'exemple suivant, "depuis le réseau local" sera affiché si
+ l'adresse IP du client appartient au sous-réseau 10.0.0.0/8.</p>
+
+ <div class="example"><p><code>
+ <!--#if expr='-R "10.0.0.0/8"' --><br />
+ <span class="indent">
+ depuis le réseau local<br />
+ </span>
+ <!--#else --><br />
+ <span class="indent">
+ depuis ailleurs<br />
+ </span>
+ <!--#endif -->
+ </code></p></div>
+
+ <p>Dans l'exemple suivant, "foo vaut bar" sera affiché si la variable
+ <code>foo</code> contient la valeur "bar".</p>
+
+ <div class="example"><p><code>
+ <!--#if expr='v("foo") = "bar"' --><br />
+ <span class="indent">
+ foo vaut bar<br />
+ </span>
+ <!--#endif -->
+ </code></p></div>
+
+ <div class="note"><h3>Documentation de référence</h3>
+ <p>Voir aussi <a href="../expr.html">Les expressions dans le serveur
+ HTTP Apache</a> pour une référence complète et des exemples. Les
+ fonctions <em>restricted</em> ne sont pas disponibles dans
+ <code class="module"><a href="../mod/mod_include.html">mod_include</a></code>.</p>
+ </div>
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="legacyexpr" id="legacyexpr">Syntaxe des expressions héritée</a></h2>
+
+
+ <p>Cette section décrit la syntaxe de l'élément <code>#if
+ expr</code> dans le cas où la directive <code class="directive"><a href="#ssilegacyexprparser">SSILegacyExprParser</a></code> est définie à
+ <code>on</code>.</p>
+
+ <dl>
+ <dt><code><var>chaîne</var></code></dt>
+ <dd>vrai si <var>chaîne</var> n'est pas vide</dd>
+
+ <dt><code><var>-A string</var></code></dt>
+ <dd><p>vrai si l'URL que contient la chaîne est accessible du
+ point de vue de la configuration, faux sinon. Il
+ s'avère utile lorsqu'un lien vers une URL doit être caché aux
+ utilisateurs qui ne sont pas autorisés à voir cette URL. Notez que
+ le test porte sur l'autorisation d'accès à l'URL, et non sur son
+ existence.</p>
+
+ <div class="example"><h3>Exemple</h3><p><code>
+ <!--#if expr="-A /prive" --><br />
+ <span class="indent">
+ Cliquez <a href="/prive">ici</a> pour accéder aux
+ informations privées.<br />
+ </span>
+ <!--#endif -->
+ </code></p></div>
+ </dd>
+
+ <dt><code><var>chaîne1</var> = <var>chaîne2</var><br />
+ <var>chaîne1</var> == <var>chaîne2</var><br />
+ <var>chaîne1</var> != <var>chaîne2</var></code></dt>
+
+ <dd><p>Compare <var>chaîne1</var> à <var>chaîne2</var>. Si
+ <var>chaîne2</var> est de la forme
+ <code>/<var>chaîne2</var>/</code>, elle est traitée comme une
+ expression rationnelle. Les expressions rationnelles sont
+ implémentées par le moteur <a href="http://www.pcre.org">PCRE</a>
+ et possèdent la même syntaxe que celles de <a href="http://www.perl.com">perl 5</a>. Notez que <code>==</code>
+ n'est qu'un alias pour <code>=</code> et se comporte exactement de
+ la même manière que ce dernier.</p>
+
+ <p>Si vous faites une comparaison directe (<code>=</code> ou
+ <code>==</code>), vous pouvez extraire des parties de l'expression
+ rationnelle. Les parties extraites sont stockées dans les
+ variables spéciales <code>$1</code> .. <code>$9</code>. L'ensemble
+ de la chaîne correspondant à l'expression rationnelle est stocké
+ dans la variable spéciale <code>$0</code>.</p>
+
+ <div class="example"><h3>Exemple</h3><p><code>
+ <!--#if expr="$QUERY_STRING = /^sid=([a-zA-Z0-9]+)/" --><br />
+ <span class="indent">
+ <!--#set var="session" value="$1" --><br />
+ </span>
+ <!--#endif -->
+ </code></p></div>
+ </dd>
+
+ <dt><code><var>chaîne1</var> < <var>chaîne2</var><br />
+ <var>chaîne1</var> <= <var>chaîne2</var><br />
+ <var>chaîne1</var> > <var>chaîne2</var><br />
+ <var>chaîne1</var> >= <var>chaîne2</var></code></dt>
+
+ <dd>Compare <var>chaîne1</var> à <var>chaîne2</var>. Notez que les
+ chaînes sont comparées de manière <em>littérale</em> (en utilisant
+ <code>strcmp(3)</code>). Ainsi, la chaîne "100" est inférieure à
+ "20".</dd>
+
+ <dt><code>( <var>test_condition</var> )</code></dt>
+ <dd>vrai si <var>test_condition</var> est vrai</dd>
+
+ <dt><code>! <var>test_condition</var></code></dt>
+ <dd>vrai si <var>test_condition</var> est faux</dd>
+
+ <dt><code><var>test_condition1</var> &&
+ <var>test_condition2</var></code></dt>
+ <dd>vrai si <var>test_condition1</var> et
+ <var>test_condition2</var> sont tous les deux vrais</dd>
+
+ <dt><code><var>test_condition1</var> ||
+ <var>test_condition2</var></code></dt>
+ <dd>vrai si au moins un des tests <var>test_condition1</var> ou
+ <var>test_condition2</var> est vrai</dd>
+ </dl>
+
+ <p>"<code>=</code>" et "<code>!=</code>" ont une priorité supérieure
+ à "<code>&&</code>" et "<code>||</code>". "<code>!</code>" a
+ la priorité la plus haute. Ainsi, les deux directives suivantes sont
+ équivalentes :</p>
+
+ <div class="example"><p><code>
+ <!--#if expr="$a = test1 && $b = test2" --><br />
+ <!--#if expr="($a = test1) && ($b = test2)" -->
+ </code></p></div>
+
+ <p>Les opérateurs booléens <code>&&</code> et
+ <code>||</code> ont la même priorité. Ainsi, si vous voulez
+ augmenter la priorité d'un de ces opérateurs, vous devez utiliser
+ des parenthèses.</p>
+
+ <p>Tout ce qui n'est pas reconnu comme variable ou opérateur est
+ traité comme une chaîne. Les chaînes peuvent aussi être entourées
+ d'apostrophes : <code>'chaîne'</code>. Les chaînes sans apostrophe
+ ne peuvent pas contenir d'espaces (espaces ou tabulations) car
+ ceux-ci servent à séparer certains éléments comme les variables. Si
+ plusieurs chaînes se trouvent dans une ligne, elles sont concaténées
+ en utilisant des espaces. Ainsi,</p>
+
+ <div class="example"><p><code><var>chaîne1</var> <var>chaîne2</var></code> devient <code><var>chaîne1</var> <var>chaîne2</var></code><br />
+ <br />
+ et<br />
+ <br />
+ <code>'<var>chaîne1</var> <var>chaîne2</var>'</code> devient <code><var>chaîne1</var> <var>chaîne2</var></code>.</p></div>
+
+ <div class="note"><h3>Optimisation des expressions booléennes</h3>
+ <p>Si les expressions atteignent une complexité suffisante pour
+ ralentir les traitements de manière significative, vous pouvez
+ essayer de les optimiser en fonction des règles d'évaluation :</p>
+ <ul>
+ <li>Les expressions sont évaluées de la gauche vers la droite</li>
+ <li>Les opérateurs booléens binaires (<code>&&</code> et
+ <code>||</code>) font l'objet d'une évaluation abrégée chaque fois
+ que cela est possible. En d'autres termes, et selon la règle
+ ci-dessus, <code class="module"><a href="../mod/mod_include.html">mod_include</a></code> évalue tout d'abord la
+ partie gauche de l'expression. Si le résultat de l'évaluation de
+ cette partie gauche suffit à déterminer le résultat final,
+ l'évaluation s'arrête ici. Dans le cas contraire, la partie droite
+ est évaluée, et le résultat final tient compte des résultats des
+ évaluations des parties gauche et droite.</li>
+ <li>L'évaluation abrégée est désactivée tant qu'il reste des
+ expressions régulières à traiter. Ces dernières doivent être
+ évaluées afin de définir les variables correspondant aux
+ références arrières (<code>$1</code> .. <code>$9</code>).</li>
+ </ul>
+ <p>Si vous voulez déterminer la manière dont une expression est
+ traitée, vous pouvez recompiler <code class="module"><a href="../mod/mod_include.html">mod_include</a></code> en
+ utilisant l'option de compilation <code>-DDEBUG_INCLUDE</code>.
+ Ceci a pour effet d'insérer, pour chaque expression interprétée,
+ des informations étiquetées, l'arbre d'interprétation et la
+ manière dont elle est évaluée au sein du flux de sortie envoyé au
+ client.</p>
+ </div>
+
+ <div class="note"><h3>Slashes d'échappement dans les expressions
+ rationnelles</h3>
+ <p>Tous les caractères slashes qui ne sont pas des séparateurs dans
+ votre expression rationnelle doivent être échappés, et ceci sans
+ tenir compte de leur signification du point de vue du moteur
+ d'expressions rationnelles.</p>
+ </div>
+
+ <div class="note"><h3>Documentation de référence</h3>
+ <p>Voir le document <a href="../expr.html">Les expressions dans le
+ serveur HTTP Apache</a>, pour une référence complète et des exemples.</p>
+ </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="SSIEndTag" id="SSIEndTag">SSIEndTag</a> <a name="ssiendtag" id="ssiendtag">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Chaîne qui termine l'élément include</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSIEndTag <var>tag</var></code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SSIEndTag "-->"</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_include</td></tr>
+</table>
+ <p>Cette directive permet de modifier la chaîne que
+ <code class="module"><a href="../mod/mod_include.html">mod_include</a></code> interprète comme la fin d'un élément
+ include.</p>
+
+ <pre class="prettyprint lang-config">
+ SSIEndTag "%>"
+ </pre>
+
+
+
+<h3>Voir aussi</h3>
+<ul>
+<li><code class="directive"><a href="#ssistarttag">SSIStartTag</a></code></li>
+</ul>
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="SSIErrorMsg" id="SSIErrorMsg">SSIErrorMsg</a> <a name="ssierrormsg" id="ssierrormsg">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Message d'erreur affiché lorsqu'une erreur SSI
+survient</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSIErrorMsg <var>message</var></code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SSIErrorMsg "[an error occurred while processing this
+directive]"</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#Override">AllowOverride:</a></th><td>All</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_include</td></tr>
+</table>
+ <p>La directive <code class="directive">SSIErrorMsg</code> permet de
+ modifier le message d'erreur affiché lorsqu'une erreur SSI survient.
+ Pour les serveurs en production, il est recommandé de modifier le
+ message d'erreur par défaut en <code>"<!-- Error
+ -->"</code>, de façon à ce que le message ne soit pas
+ présenté à l'utilisateur.</p>
+
+ <p>Cette directive a le même effet que l'élément
+ <code><!--#config errmsg=<var>message</var> --></code>.</p>
+
+ <pre class="prettyprint lang-config">
+ SSIErrorMsg "<!-- Error -->"
+ </pre>
+
+
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="SSIETag" id="SSIETag">SSIETag</a> <a name="ssietag" id="ssietag">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit si des en-têtes ETags sont générés par le serveur.</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSIETag on|off</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SSIETag off</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_include</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.2.15 du serveur HTTP
+Apache.</td></tr>
+</table>
+ <p>Dans le cas général, un fichier filtré par
+ <code class="module"><a href="../mod/mod_include.html">mod_include</a></code> peut contenir des éléments soit
+ générés dynamiquement, soit éventuellement modifiés indépendemment
+ du fichier original. En conséquence, il est demandé par défaut au
+ serveur de ne pas générer d'en-tête <code>ETag</code> à la réponse
+ en ajoutant <code>no-etag</code> aux informations de requête.</p>
+
+ <p>Ce comportement peut être modifié via la directive
+ <code class="directive">SSIETag</code> qui permet au serveur de générer un
+ en-tête <code>ETag</code>. On peut aussi l'utiliser pour la mise
+ en cache de la sortie. Notez qu'un serveur d'arrière-plan ou un
+ générateur de contenu dynamique peut lui-même générer un en-tête
+ <code>ETag</code>, en ignorant l'information <code>no-etag</code>,
+ cet en-tête <code>ETag</code> étant transmis par
+ <code class="module"><a href="../mod/mod_include.html">mod_include</a></code> sans tenir compte de la définition de
+ la présente directive. La directive <code class="directive">SSIETag</code>
+ peut prendre une des valeurs suivantes :</p>
+
+ <dl>
+
+ <dt><code>off</code></dt>
+ <dd><code>no-etag</code> sera ajouté aux informations de
+ requête, et il sera demandé au serveur de ne pas générer
+ d'en-tête <code>ETag</code>. Lorsqu'un serveur ignore la valeur
+ de <code>no-etag</code> et génère tout de même un en-tête
+ <code>ETag</code>, ce dernier sera respecté.</dd>
+
+ <dt><code>on</code></dt>
+ <dd>Les en-têtes <code>ETag</code> existants seront respectés,
+ et ceux générés par le serveur seront ajoutés à la réponse.</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="SSILastModified" id="SSILastModified">SSILastModified</a> <a name="ssilastmodified" id="ssilastmodified">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit si des en-têtes <code>Last-Modified</code> sont
+générés par le serveur.</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSILastModified on|off</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SSILastModified off</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_include</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.2.15 du serveur HTTP
+Apache.</td></tr>
+</table>
+ <p>Dans le cas général, un fichier filtré par
+ <code class="module"><a href="../mod/mod_include.html">mod_include</a></code> peut contenir des éléments soit
+ générés dynamiquement, soit éventuellement modifiés indépendemment
+ du fichier original. En conséquence, l'en-tête
+ <code>Last-Modified</code> est supprimé par défaut de la réponse.</p>
+
+ <p>La directive <code class="directive">SSILastModified</code> permet de
+ modifier ce comportement en faisant en sorte que l'en-tête
+ <code>Last-Modified</code> soit respecté s'il est déjà présent, ou
+ défini dans le cas contraire. On peut aussi l'utiliser pour la mise
+ en cache de la sortie. La directive
+ <code class="directive">SSILastModified</code> peut prendre une des
+ valeurs suivantes :</p>
+
+ <dl>
+
+ <dt><code>off</code></dt>
+ <dd>L'en-tête <code>Last-Modified</code> sera supprimé des
+ réponses, à moins que la directive <code class="directive"><a href="#xbithack">XBitHack</a></code> ne soit définie à
+ <code>full</code> comme décrit plus loin.</dd>
+
+ <dt><code>on</code></dt>
+ <dd>L'en-tête <code>Last-Modified</code> sera respecté s'il est
+ déjà présent, et ajouté à la réponse si cette dernière est un
+ fichier et si l'en-tête est manquant. La directive <code class="directive"><a href="#ssilastmodified">SSILastModified</a></code> l'emporte sur
+ la directive <code class="directive"><a href="#xbithack">XBitHack</a></code>.</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="SSILegacyExprParser" id="SSILegacyExprParser">SSILegacyExprParser</a> <a name="ssilegacyexprparser" id="ssilegacyexprparser">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Active le mode de compatibilité pour les expressions
+conditionnelles.</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSILegacyExprParser on|off</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SSILegacyExprParser off</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_include</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.3.13.</td></tr>
+</table>
+ <p>Depuis la version 2.3.13, <code class="module"><a href="../mod/mod_include.html">mod_include</a></code> a adopté
+ la nouvelle syntaxe <a href="../expr.html">ap_expr</a> pour ses
+ expressions conditionnelles dans les éléments de contrôle de flux
+ <code>#if</code>. Cette directive permet de réactiver l'<a href="#legacyexpr">ancienne syntaxe</a> qui est compatible avec les
+ versions 2.2.x et antérieures d'Apache HTTPD.
+ </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="SSIStartTag" id="SSIStartTag">SSIStartTag</a> <a name="ssistarttag" id="ssistarttag">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Chaîne qui marque le début d'un élément
+include</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSIStartTag <var>tag</var></code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SSIStartTag "<!--#"</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_include</td></tr>
+</table>
+ <p>Cette directive permet de modifier la chaîne que
+ <code class="module"><a href="../mod/mod_include.html">mod_include</a></code> interprète comme le début d'un élément
+ include.</p>
+
+ <p>Cette option peut vous être utile si vous avez deux serveurs qui
+ interprètent un fichier avec des commandes différentes (et
+ éventuellement à des moments différents).</p>
+
+ <pre class="prettyprint lang-config">
+ SSIStartTag "<%"<br />
+ SSIEndTag "%>"
+ </pre>
+
+
+ <p>Avec l'exemple ci-dessus, qui définit aussi une directive
+ <code class="directive"><a href="#ssiendtag">SSIEndTag</a></code>, vous pourrez
+ inscrire des directives SSI comme dans l'exemple suivant :</p>
+
+ <div class="example"><h3>Directives SSI avec marques de début et de fin
+ personnalisées</h3><p><code>
+ <%printenv %>
+ </code></p></div>
+
+<h3>Voir aussi</h3>
+<ul>
+<li><code class="directive"><a href="#ssiendtag">SSIEndTag</a></code></li>
+</ul>
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="SSITimeFormat" id="SSITimeFormat">SSITimeFormat</a> <a name="ssitimeformat" id="ssitimeformat">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Configuration du format d'affichage des dates</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSITimeFormat <var>chaîne de formatage</var></code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SSITimeFormat "%A, %d-%b-%Y %H:%M:%S %Z"</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#Override">AllowOverride:</a></th><td>All</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_include</td></tr>
+</table>
+<p>Cette directive permet de modifier le format d'affichage des
+variables d'environnement <code>DATE</code>. La <var>chaîne de
+formatage</var> est identique à celle de la fonction
+<code>strftime(3)</code> de la bibliothèque C standard.</p>
+
+ <p>Cette directive a le même effet que l'élément
+ <code><!--#config timefmt=<var>chaîne de formatage</var>
+ --></code>.</p>
+
+ <pre class="prettyprint lang-config">
+ SSITimeFormat "%R, %B %d, %Y"
+ </pre>
+
+
+ <p>Avec l'exemple ci-dessus, les dates seront affichées dans le
+ style "22:26, June 14, 2002".</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="SSIUndefinedEcho" id="SSIUndefinedEcho">SSIUndefinedEcho</a> <a name="ssiundefinedecho" id="ssiundefinedecho">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Chaîne à afficher lorsqu'on tente d'extraire le contenu
+d'une variable non définie</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSIUndefinedEcho <var>chaîne</var></code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SSIUndefinedEcho "(none)"</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#Override">AllowOverride:</a></th><td>All</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_include</td></tr>
+</table>
+ <p>Cette directive permet de modifier la chaîne affichée par
+ <code class="module"><a href="../mod/mod_include.html">mod_include</a></code> lorsqu'on tente d'extraire le contenu
+ d'une variable non définie.</p>
+
+ <pre class="prettyprint lang-config">
+ SSIUndefinedEcho "<!-- nondef -->"
+ </pre>
+
+
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="XBitHack" id="XBitHack">XBitHack</a> <a name="xbithack" id="xbithack">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Interprète les directives SSI dans les fichiers dont le bit
+d'exécution est positionné</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>XBitHack on|off|full</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>XBitHack off</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#Override">AllowOverride:</a></th><td>Options</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_include</td></tr>
+</table>
+ <p>La directive <code class="directive">XBitHack</code> permet de contrôler
+ l'interprétation des documents html standards. Elle n'affecte que
+ les fichiers dont le <a class="glossarylink" href="../glossary.html#type mime" title="voir glossaire">type MIME</a> est
+ <code>text/html</code>. <code class="directive">XBitHack</code> peut prendre
+ les valeurs suivantes :</p>
+
+ <dl>
+ <dt><code>off</code></dt>
+ <dd>Aucun traitement particulier pour les fichiers
+ exécutables.</dd>
+
+ <dt><code>on</code></dt>
+ <dd>Tout fichier <code>text/html</code> dont le bit d'exécution
+ est positionné pour le propriétaire sera traité en tant que
+ document html interprété par le serveur.</dd>
+
+ <dt><code>full</code></dt>
+ <dd>Identique à <code>on</code>, avec test du bit d'exécution pour
+ le groupe. Si ce dernier est positionné, la date de <code>dernière
+ modification</code> du fichier renvoyé est définie à la date de
+ dernière modification du fichier. Dans le cas contraire, aucune
+ date de dernière modification n'est renvoyée. Le positionnement de
+ ce bit permet aux clients et aux mandataires de gérer la mise en
+ cache du résultat de la requête.
+
+ <div class="note"><h3>Note</h3>
+ <p>Il est recommandé de n'utiliser l'option full que dans le cas
+ où vous êtes certain que le bit d'exécution du groupe est non
+ positionné pour les scripts SSI qui pourraient effectuer l'<code>#include</code> d'un programme CGI ou bien produire des sorties
+ différentes à chaque accès (ou seraient susceptibles d'être
+ modifiées au cours des requêtes ultérieures).</p>
+
+ <p>Lorsqu'elle est définie à <code>on</code>, la directive
+ <code class="directive"><a href="#ssilastmodified">SSILastModified</a></code>
+ l'emporte sur la directive <code class="directive"><a href="#xbithack">XBitHack</a></code>.</p>
+ </div>
+
+ </dd>
+ </dl>
+
+
+</div>
+</div>
+<div class="bottomlang">
+<p><span>Langues Disponibles: </span><a href="../en/mod/mod_include.html" hreflang="en" rel="alternate" title="English"> en </a> |
+<a href="../fr/mod/mod_include.html" title="Français"> fr </a> |
+<a href="../ja/mod/mod_include.html" hreflang="ja" rel="alternate" title="Japanese"> ja </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/2.4/mod/mod_include.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/directives.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 : 1440768 -->
+<!-- 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_include.xml.meta">
+
+<name>mod_include</name>
+<description>Documents html interprétés par le serveur (Server Side
+Includes ou SSI)</description>
+<status>Base</status>
+<sourcefile>mod_include.c</sourcefile>
+<identifier>include_module</identifier>
+
+<summary>
+ <p>Ce module fournit un filtre qui va traiter les fichiers avant
+ de les envoyer au client. Le traitement est contrôlé via des
+ commentaires SGML spécialement formatés, aussi nommés
+ <dfn>éléments</dfn>. Ces éléments permettent l'insertion
+ conditionnelle de texte, l'inclusion d'autres fichiers ou
+ programmes, ainsi que la définition et l'affichage de variables
+ d'environnement.</p>
+</summary>
+<seealso><directive module="core">Options</directive></seealso>
+<seealso><directive module="core">AcceptPathInfo</directive></seealso>
+<seealso><a href="../filter.html">Les filtres</a></seealso>
+<seealso><a href="../howto/ssi.html">Tutoriel SSI</a></seealso>
+
+<section id="enabling">
+ <title>Activation des SSI</title>
+
+ <p>Les SSI sont implémentés par le <a
+ href="../filter.html">filtre</a> <code>INCLUDES</code>. Si des
+ documents contenant des directives SSI possèdent une extension
+ .shtml, les directives suivantes indiqueront à Apache de les
+ interpréter et d'assigner le type MIME
+ <code>text/html</code> au document obtenu :</p>
+
+ <highlight language="config">
+AddType text/html .shtml
+AddOutputFilter INCLUDES .shtml
+ </highlight>
+
+ <p>L'option suivante doit être définie pour les répertoires qui
+ contiennent les fichiers shtml (en général dans une section
+ <directive module="core" type="section">Directory</directive>, mais
+ cette option peut également être définie dans un fichier
+ <code>.htaccess</code> si <code><directive
+ module="core">AllowOverride</directive> Options</code> a été défini pour le
+ répertoire considéré) :</p>
+
+ <highlight language="config">
+ Options +Includes
+ </highlight>
+
+ <p>Pour des raisons de compatibilité ascendante, le <a
+ href="../handler.html">gestionnaire</a> <code>server-parsed</code>
+ peut aussi activer le filtre INCLUDES. Ainsi, Apache va activer le
+ filtre INCLUDES pour tout document de type MIME
+ <code>text/x-server-parsed-html</code> ou
+ <code>text/x-server-parsed-html3</code> (et le document obtenu aura
+ pour type MIME <code>text/html</code>).</p>
+
+ <p>Pour plus d'informations, voyez notre <a
+ href="../howto/ssi.html">Tutoriel SSI</a>.</p>
+</section> <!-- /enabling -->
+
+<section id="pathinfo">
+ <title>PATH_INFO et SSI</title>
+
+ <p>Les fichiers traités dans le cadre des SSI n'acceptent plus par
+ défaut les requêtes avec <code>PATH_INFO</code> (les informations
+ relatives au chemin en fin de requête). La directive <directive
+ module="core">AcceptPathInfo</directive> permet de configurer le
+ serveur de façon à ce qu'il accepte ce genre de requête.</p>
+</section> <!-- /pathinfo -->
+
+<section id="elements"><title>Eléments disponibles</title>
+ <p>Le document est interprété comme un document HTML, avec des
+ commandes spéciales incluses sous forme de commentaires SGML. La
+ syntaxe d'une commande est la suivante : </p>
+
+ <example>
+ <!--#<var>élément</var> <var>attribut</var>=<var>valeur</var>
+ <var>attribut</var>=<var>valeur</var> ... -->
+ </example>
+
+ <p>Les valeurs sont souvent entourées de guillemets, mais on peut
+ aussi utiliser des apostrophes (<code>'</code>) ou des apostrophes
+ inverses (<code>`</code>). De nombreuses commandes n'acceptent
+ qu'une seule paire attribut-valeur. Notez que le terminateur de
+ commentaire (<code>--></code>) doit être précédé d'un espace afin
+ d'être sûr qu'il ne soit pas considéré comme un élément de commande
+ SSI. Notez aussi que le délimiteur de début <code><!--#</code>
+ est <em>un</em> élément de commande et ne doit donc pas contenir
+ d'espace.</p>
+
+ <p>La table suivante contient la liste des éléments autorisés :</p>
+
+ <table border="1">
+ <tr><th>Elément</th><th>Description</th></tr>
+ <tr><td><code><a href="#element.config">config</a></code></td>
+ <td>configure les formats de sortie</td></tr>
+ <tr><td><code><a href="#element.echo">echo</a></code></td>
+ <td>affiche le contenu de variables</td></tr>
+ <tr><td><code><a href="#element.exec">exec</a></code></td>
+ <td>exécute des programmes externes</td></tr>
+ <tr><td><code><a href="#element.fsize">fsize</a></code></td>
+ <td>affiche la taille d'un fichier</td></tr>
+ <tr><td><code><a href="#element.flastmod">flastmod</a></code></td>
+ <td>affiche la date de dernière modification d'un fichier</td></tr>
+ <tr><td><code><a href="#element.include">include</a></code></td>
+ <td>inclut un fichier</td></tr>
+ <tr><td><code><a href="#element.printenv">printenv</a></code></td>
+ <td>affiche toutes les variables disponibles</td></tr>
+ <tr><td><code><a href="#element.set">set</a></code></td>
+ <td>définit la valeur d'une variable</td></tr>
+ </table>
+
+ <p>Les éléments SSI peuvent être définis par d'autres modules que
+ <module>mod_include</module>. À ce titre, l'élément <code><a
+ href="#element.exec">exec</a></code> est fourni par
+ <module>mod_cgi</module>, et ne sera disponible que si ce module est
+ chargé.</p>
+
+ <section id="element.config"><title>L'élément config</title>
+ <p>Cette commande contrôle divers aspects de l'interprétation. Les
+ attributs valides sont :</p>
+
+ <dl>
+ <dt><code>echomsg</code> (<em>Versions 2.1 et supérieures
+ d'Apache</em>)</dt>
+ <dd><p>La valeur est un message qui sera envoyé au client si
+ l'élément <code><a href="#element.echo">echo</a></code> tente
+ d'afficher le contenu d'une variable non définie. Cet attribut
+ l'emporte sur toute directive <directive
+ module="mod_include">SSIUndefinedEcho</directive>.</p>
+
+ <example>
+ <!--#config errmsg="[Valeur non définie]" -->
+ </example>
+ </dd>
+
+ <dt><code>errmsg</code></dt>
+ <dd><p>La valeur est un message qui sera envoyé au client si une
+ erreur survient lors de l'interprétation du document. Cet attribut
+ l'emporte sur toute directive <directive
+ module="mod_include">SSIErrorMsg</directive>.</p>
+
+ <example>
+ <!--#config errmsg="[Zut, quelque chose s'est mal passé.]" -->
+ </example>
+ </dd>
+
+ <dt><code>sizefmt</code></dt>
+ <dd><p>La valeur définit l'unité employée lors de l'affichage de la
+ taille d'un fichier. Les valeurs possibles sont <code>bytes</code>
+ pour une taille en octets, ou <code>abbrev</code> pour une taille
+ en Ko ou Mo selon son importance ; par exemple, une taille de 1024
+ octets sera affichée sous la forme "1K".</p>
+
+ <example>
+ <!--#config sizefmt="abbrev" -->
+ </example>
+
+ </dd>
+
+ <dt><code>timefmt</code></dt>
+ <dd><p>La valeur est une chaîne que pourra utiliser la fonction de la
+ bibliothèque standard <code>strftime(3)</code> lors de l'affichage
+ des dates.</p>
+
+ <example>
+ <!--#config timefmt=""%R, %B %d, %Y"" -->
+ </example>
+
+ </dd>
+ </dl>
+ </section> <!-- /config -->
+
+ <section id="element.echo"><title>L'élément echo</title>
+ <p>Cette commande affiche le contenu d'une des <a
+ href="#includevars">variables include</a> définies ci-dessous. Si
+ la variable n'est pas définie, le résultat est déterminé par la
+ valeur de la directive <directive module="mod_include"
+ >SSIUndefinedEcho</directive>. Le format d'affichage des dates est
+ défini par l'attribut <code>timefmt</code> de la commande
+ config.</p>
+
+ <p>Attributs:</p>
+
+ <dl>
+ <dt><code>var</code></dt>
+ <dd>La valeur est le nom de la variable à afficher.</dd>
+
+ <dt><code>decoding</code></dt>
+ <dd><p>Spécifie si Apache doit effectuer un décodage dans la
+ variable avant son traitement ultérieur. La valeur par défaut est
+ <code>none</code>, et dans ce cas, aucun décodage n'est effectué.
+ Si la valeur est <code>url</code>, un décodage de type URL sera
+ effectué (il s'agit du codage de type %-encoding utilisé dans les
+ URLs des liens, etc...). Si la valeur est <code>urlencoded</code>,
+ c'est un décodage des éléments de type
+ application/x-www-form-urlencode (que l'on trouve dans les chaînes
+ de paramètres) qui sera effectué. Si la valeur est
+ <code>base64</code>, un
+ decodage de type base64 sera effectué, et si elle est
+ <code>entity</code>, c'est un décodage des entités HTML qui sera
+ effectué. Ce décodage est effectué avant tout codage ultérieur de
+ la variable. Il est possible d'effectuer plusieurs décodages en
+ spécifiant plusieurs valeurs séparées par des virgules. Les
+ spécifications de décodages restent valables jusqu'au prochain
+ attribut de décodage, ou la fin de l'élément.</p>
+
+ <p>Pour être pris en compte, l'attribut de <code>décodage</code>
+ doit <em>précéder</em> l'attribut <code>var</code> correspondant.</p>
+ </dd>
+
+ <dt><code>encoding</code></dt>
+ <dd><p>Spécifie la manière dont Apache va coder les caractères
+ spéciaux que la variable contient avant leur affichage. S'il est
+ défini à <code>none</code>, aucun codage ne sera effectué. S'il
+ est défini à <code>url</code>, un codage de type URL sera effectué
+ (aussi connu sous le nom de codage avec caractères % , il convient
+ pour les URLS des liens, etc...). S'il est défini à
+ <code>urlencoded</code>, c'est un codage compatible
+ application/x-www-form-urlencoded qui sera effectué (à utiliser
+ dans les chaînes de paramètres). S'il est défini à
+ <code>base64</code>, c'est un encodage de type base64 qui sera
+ effectué. Au début d'un élément
+ <code>echo</code>, la valeur par défaut est définie à
+ <code>entity</code>, ce qui correspond à un codage de type entité
+ (codage qui convient pour un élément HTML de type bloc, comme le
+ paragraphe d'un texte). Cette valeur par défaut peut être modifiée
+ en ajoutant un attribut <code>encoding</code>, qui fera effet
+ jusqu'à la définition d'un nouvel attribut <code>encoding</code>
+ ou la fin de l'élément echo.</p>
+
+ <p>Pour produire son effet, l'attribut <code>encoding</code> doit
+ précéder l'attribut <code>var</code> concerné.</p>
+
+ <note type="warning">
+ Afin de prévenir les attaques de type cross-site scripting, il
+ est recommandé de <em>toujours</em> encoder les données fournies
+ par les utilisateurs.
+ </note>
+
+ <example><title>Example</title>
+ <!--#echo encoding="entity" var="QUERY_STRING" -->
+ </example>
+ </dd>
+ </dl>
+ </section> <!-- /echo -->
+
+ <section id="element.exec"><title>L'élément exec</title>
+ <p>La commande <code>exec</code> exécute la commande shell ou le
+ script spécifié. Elle nécessite le chargement du module
+ <module>mod_cgi</module>. Si <directive
+ module="core">Options</directive> <code>IncludesNOEXEC</code> est
+ définie, cette commande est désactivée. Les attributs disponibles
+ sont :</p>
+
+ <dl>
+ <dt><code>cgi</code></dt>
+ <dd><p>La valeur spécifie un chemin URL vers le script CGI (encodé
+ avec caractères %). Si le chemin ne commence pas par un slash (/),
+ il est considéré comme relatif au document courant. Le document
+ référencé par ce chemin est invoqué en tant que script CGI, même
+ s'il n'est pas censé être reconnu comme tel par le serveur. Les
+ scripts CGI doivent cependant être activés dans le répertoire qui
+ contient les scripts (via la directive <directive
+ module="mod_alias">ScriptAlias</directive> ou l'<directive
+ module="core">Options</directive> <code>ExecCGI</code>).</p>
+
+ <p>Le <code>PATH_INFO</code> et la chaîne d'arguments
+ (<code>QUERY_STRING</code>) de la requête originale du client sont
+ fournis au script CGI ; ils <em>ne peuvent pas</em> être spécifiés
+ dans le chemin de l'URL. Le script disposera des variables include
+ en plus de l'environnement standard <a
+ href="mod_cgi.html">CGI</a>.</p>
+
+ <example><title>Exemple</title>
+ <!--#exec cgi="/cgi-bin/exemple.cgi" -->
+ </example>
+
+ <p>Si, à la place d'un flux de sortie, le script renvoie un
+ en-tête <code>Location:</code>, ce dernier sera traduit en ancrage
+ HTML.</p>
+
+ <p>L'élément <code><a href="#includevirtual">include
+ virtual</a></code> doit être préféré à <code>exec cgi</code>. En
+ particulier, si vous devez transmettre des arguments
+ supplémentaires à un programme CGI en utilisant la chaîne
+ d'arguments de la requête, c'est impossible avec <code>exec
+ cgi</code>, mais vous pouvez y parvenir avec <code>include
+ virtual</code> comme suit :</p>
+
+ <example>
+ <!--#include virtual="/cgi-bin/exemple.cgi?argument=valeur" -->
+ </example>
+ </dd>
+
+ <dt><code>cmd</code></dt>
+ <dd><p>Le serveur va exécuter la commande fournie en utilisant
+ <code>/bin/sh</code>. La commande dispose des <a
+ href="#includevars">variables include</a>, en plus du jeu habituel
+ de variables CGI.</p>
+
+ <p>Il est toujours préférable d'utiliser <code><a
+ href="#includevirtual">#include virtual</a></code> à la place de
+ <code>#exec cgi</code> ou <code>#exec cmd</code>. <code>#include
+ virtual</code> utilise le mécanisme standard des sous-requêtes
+ d'Apache pour inclure des fichiers ou des scripts. Il a fait
+ l'objet de tests plus approfondis et sa maintenance est mieux
+ suivie.</p>
+
+ <p>De plus, sur certaines plate-formes, comme Win32, et sous unix,
+ si l'on utilise <a href="../suexec.html">suexec</a>, il est
+ impossible de transmettre des arguments à une commande dans une
+ directive <code>exec</code>, à moins d'insérer des espaces dans la
+ commande. Ainsi, alors que ce qui suit fonctionnera sous unix avec
+ une configuration sans suexec, l'effet produit ne sera pas celui
+ désiré sous Win32, ou dans le cas de l'utilisation de suexec
+ :</p>
+
+ <example>
+ <!--#exec cmd="perl /chemin/vers/script_perl arg1 arg2" -->
+ </example>
+ </dd>
+ </dl>
+ </section> <!-- /exec -->
+
+ <section id="element.fsize"><title>L'élément fsize</title>
+ <p>Cette commande permet d'afficher la taille du fichier spécifié
+ en fonction des spécifications de format de <code>sizefmt</code>.
+ Attributs :</p>
+
+ <dl>
+ <dt><code>file</code></dt>
+ <dd>La valeur est le chemin du fichier, relatif au répertoire
+ contenant le document en cours d'interprétation.
+
+ <example>
+ Ce fichier a une taille de <!--#fsize file="mod_include.html"
+ --> octets.
+ </example>
+
+ La valeur de <code>file</code> ne peut pas faire référence à un
+ fichier situé à un niveau supérieur de l'arborescence du répertoire
+ courant ou en dehors de la racine des documents ; il ne peut donc
+ ni commencer par un slash, ni contenir la séquence de caractères
+ <code>../</code>. Si c'est le cas, le message d'erreur <code>The
+ given path was above the root path</code> sera renvoyé.
+ </dd>
+
+ <dt><code>virtual</code></dt>
+ <dd>La valeur est un chemin URL (codé avec caractères %). S'il ne
+ commence pas par un slash (/), il est considéré comme relatif au
+ document courant. Notez que cette commande n'affiche <em>pas</em>
+ la taille de la sortie d'un programme CGI, mais la taille du
+ programme CGI lui-même.</dd>
+ </dl>
+
+ <example>
+ Ce fichier a une taille de <!--#fsize
+ virtual="/docs/mod/mod_include.html" --> octets.
+ </example>
+
+ <p>Notez que dans la plupart des cas, ces deux attributs sont
+ identiques. Cependant, l'attribut <code>file</code> ne respecte
+ pas les aliases URL-space.</p>
+ </section> <!-- /fsize -->
+
+ <section id="element.flastmod"><title>L'élément flastmod</title>
+ <p>Cette commande permet d'afficher la date de dernière
+ modification du fichier spécifié, en fonction des spécifications
+ de format de <code>timefmt</code>. Les attributs sont les mêmes
+ que ceux de la commande <code><a
+ href="#element.fsize">fsize</a></code>.</p>
+ </section> <!-- /flastmod -->
+
+ <section id="element.include"><title>L'élément include</title>
+ <p>Cette commande permet d'insérer le texte d'un autre document ou
+ fichier dans le fichier en cours d'interprétation. Tout fichier
+ inclus est soumis au contrôle d'accès habituel. Si <a
+ href="core.html#options">Options</a> <code>IncludesNOEXEC</code>
+ est défini pour le répertoire contenant le fichier
+ interprété, seuls les documents possèdant un
+ <glossary>type MIME</glossary> de type texte
+ (<code>text/plain</code>, <code>text/html</code>, etc...) seront
+ inclus. Les scripts CGI, quant à eux, sont invoqués de manière
+ habituelle en utilisant l'URL complète fournie avec la commande, y
+ compris toute chaîne d'arguments éventuelle.</p>
+
+ <p>Un attribut définit le chemin du document à inclure, et peut
+ apparaître plusieurs fois dans l'élément à inclure ; en retour, pour
+ chaque attribut fourni à la commande include, une inclusion est
+ effectuée. Les attributs disponibles sont :</p>
+
+ <dl>
+ <dt><code>file</code></dt>
+ <dd>La valeur est un chemin relatif au répertoire contenant le
+ fichier en cours d'interprétation. Elle ne peut ni contenir
+ <code>../</code>, ni être un chemin absolu. Ainsi, vous ne pouvez
+ pas inclure de fichiers situés en dehors de l'arborescence du
+ site web ou dans un niveau supérieur à celui du fichier courant
+ dans cette arborescence. Il est toujours préférable d'utiliser
+ l'attribut <code>virtual</code>.</dd>
+
+ <dt><code><a id="includevirtual" name="includevirtual"
+ >virtual</a></code></dt>
+ <dd><p>La valeur est un chemin URL (codé avec caractères %). L'URL
+ ne peut contenir qu'un chemin et une chaîne d'arguments
+ éventuelle, à l'exclusion de tout protocole ou nom d'hôte. S'il ne
+ commence pas par un slash (/), il est considéré comme relatif au
+ document courant.</p>
+
+ <p>Une URL est construite à partir de l'attribut, et la sortie que
+ renverrait le serveur si l'URL était accédée par le client est
+ incluse dans la sortie interprétée. Les inclusions de fichiers
+ peuvent ainsi être imbriquées.</p>
+
+ <p>Si l'URL spécifiée correspond à un programme CGI, le programme
+ sera exécuté, et son flux de sortie inséré à la place de la
+ directive dans le fichier interprété. Vous pouvez insérer une
+ chaîne d'arguments dans une URL correspond à un programme CGI
+ :</p>
+
+ <example>
+ <!--#include virtual="/cgi-bin/exemple.cgi?argument=valeur" -->
+ </example>
+
+ <p><code>include virtual</code> doit être préféré à <code>exec
+ cgi</code> pour inclure le flux de sortie d'un programme CGI dans
+ un document HTML.</p>
+
+ <p>Si la directive <directive
+ module="mod_request">KeptBodySize</directive> est correctement
+ définie et valide pour le fichier inclus, les tentatives de
+ requêtes POST vers le document HTML qui inclut des fichiers seront
+ transmises aux sous-requêtes en tant que requêtes POST
+ elles-mêmes. Sans cette directive, toutes les sous-requêtes sont
+ traitées en tant que requêtes GET.</p>
+
+ </dd>
+
+ <dt><code>onerror</code></dt>
+ <dd><p>La valeur est un chemin-URL (codé-%) qui est affiché si une
+ tentative précédente d'inclure un fichier ou un attribut virtuel a
+ échoué. Pour produire son effet, cet attribut doit être spécifié
+ après le fichier ou les attributs virtuels concernés. Si la
+ tentative d'inclure le chemin onerror échoue, ou si onerror n'est
+ pas spécifié, c'est le message d'erreur par défaut qui sera
+ inclus.</p>
+
+ <example>
+ # Exemple simple<br />
+ <!--#include virtual="/not-exist.html" onerror="/error.html" -->
+ </example>
+
+ <example>
+ # Chemins onerror dédiés<br />
+ <!--#include virtual="/path-a.html" onerror="/error-a.html" virtual="/path-b.html" onerror="/error-b.html" -->
+ </example>
+
+ </dd>
+ </dl>
+ </section> <!-- /include -->
+
+ <section id="element.printenv"><title>L'élément printenv</title>
+ <p>Cette commande affiche la liste en mode texte de toutes les variables et de
+ leurs valeurs. Les caractères spéciaux sont encodés <code>entity</code> avant
+ d'être affichés (se reporter à l'élément <code><a
+ href="#element.echo">echo</a></code> pour plus de détails). Cette
+ commande ne comporte pas d'attributs.</p>
+
+ <example><title>Exemple</title>
+ <pre>
+ <!--#printenv -->
+ </pre>
+ </example>
+ </section> <!-- /printenv -->
+
+ <section id="element.set"><title>L'élément set</title>
+ <p>Cette commande permet de définir la valeur d'une variable. Les
+ attributs sont :</p>
+
+ <dl>
+ <dt><code>var</code></dt>
+ <dd>Le nom de la variable à définir.</dd>
+
+ <dt><code>value</code></dt>
+ <dd>La valeur à affecter à la variable.</dd>
+ <dt><code>decoding</code></dt>
+ <dd><p>Spécifie si Apache doit effectuer un décodage dans la
+ variable avant son traitement ultérieur. La valeur par défaut est
+ <code>none</code>, et dans ce cas, aucun décodage n'est effectué.
+ Si la valeur est <code>url</code>, <code>urlencoded</code>,
+ <code>base64</code> ou
+ <code>entity</code>, c'est un décodage de type URL,
+ application/x-www-form-urlencoded, base64 ou
+ entité HTML qui sera respectivement effectué. Il est possible
+ d'effectuer plusieurs décodages en
+ spécifiant plusieurs valeurs séparées par des virgules. Les
+ spécifications de décodages restent valables jusqu'au prochain
+ attribut de décodage, ou la fin de l'élément. Pour être pris en
+ compte, l'attribut de <code>décodage</code>
+ doit <em>précéder</em> l'attribut <code>var</code> correspondant.</p>
+ </dd>
+
+ <dt><code>encoding</code></dt>
+ <dd><p>Spécifie la manière dont Apache va encoder les caractères
+ spéciaux que la variable contient avant leur affichage. S'il est
+ défini à <code>none</code>, aucun encodage ne sera effectué. Si la
+ valeur est <code>url</code>, <code>urlencoding</code>,
+ <code>base64</code> ou
+ <code>entity</code>, c'est un encodage de type URL,
+ application/x-www-form-urlencoded, base64 ou
+ entité HTML qui sera respectivement effectué. Il est possible de
+ spécifier plusieurs types d'encodage en les séparant par des
+ virgules. La spécification du type d'encodage fera effet
+ jusqu'à la définition d'un nouvel attribut encoding
+ ou la fin de l'élément. Pour produire son effet, l'attribut <code>encoding</code> doit
+ précéder l'attribut <code>var</code> concerné. Les encodages sont
+ effectués après les opérations de décodage.</p>
+ </dd>
+
+ </dl>
+
+ <example><title>Exemple</title>
+ <!--#set var="category" value="help" -->
+ </example>
+ </section> <!-- /set -->
+</section> <!-- /basic elements -->
+
+<section id="includevars">
+ <title>Variables include</title>
+
+ <p>À l'instar des variables de l'environnement CGI standard, ces
+ variables sont mises à la disposition de la commande
+ <code>echo</code>, des opérateurs conditionnels <code>if</code> et
+ <code>elif</code>, et de tout programme invoqué par le document.</p>
+
+ <dl>
+ <dt><code>DATE_GMT</code></dt>
+ <dd>La date GMT (Greenwich Mean Time) courante.</dd>
+
+ <dt><code>DATE_LOCAL</code></dt>
+ <dd>La date locale courante.</dd>
+
+ <dt><code>DOCUMENT_NAME</code></dt>
+ <dd>Le nom de base du fichier demandé par l'utilisateur (sans son
+ chemin).</dd>
+
+ <dt><code>DOCUMENT_URI</code></dt>
+ <dd>Le chemin URL (caractères % décodés) du document demandé par
+ l'utilisateur. Notez que dans le cas d'inclusions de fichiers
+ imbriquées, il ne s'agit <em>pas</em> de l'URL du document
+ courant. Notez également que si l'URL est modifiée en interne (par
+ exemple via une directive <directive
+ module="mod_alias">alias</directive> ou <directive
+ module="mod_dir">directoryindex</directive>), c'est l'URL modifiée
+ que contiendra la variable.</dd>
+
+ <dt><code>LAST_MODIFIED</code></dt>
+ <dd>La date de dernière modification du document demandé par
+ l'utilisateur.</dd>
+
+ <dt><code>QUERY_STRING_UNESCAPED</code></dt>
+ <dd>Si une chaîne d'arguments est présente, elle sera affectée à
+ cette variable, les caractères % décodés, et éventuellement
+ <em>échappés</em> pour qu'ils ne soient pas interprétés par le
+ shell (les caractères spéciaux comme <code>&</code>,etc...
+ sont précédés d'anti-slashes).</dd>
+ </dl>
+</section>
+
+<section id="substitution"><title>Substitution de variable</title>
+
+ <p>Une substitution de variable à l'intérieur d'une chaîne entre
+ guillemets s'effectue dans la plupart des situations où cette
+ dernière peut raisonablement constituer un argument d'une directive
+ SSI. Sont concernées les directives <code>config</code>,
+ <code>exec</code>, <code>flastmod</code>, <code>fsize</code>,
+ <code>include</code>, <code>echo</code>, et <code>set</code>. Si la
+ directive <directive
+ module="mod_include">SSILegacyExprParser</directive> est définie à
+ <code>on</code>, la substitution s'effectue aussi dans les arguments
+ des opérateurs conditionnels. Vous pouvez insérer
+ un signe dollar en tant que caractère littéral dans une chaîne en
+ utilisant un anti-slash :</p>
+
+ <example>
+ <!--#set var="cur" value="\$test" -->
+ </example>
+
+ <p>Si une référence de variable doit être substituée au beau milieu
+ d'une séquence de caractères qui pourrait être elle-même considérée
+ comme un identifiant valide, l'ambiguïté peut être levée en
+ entourant la référence d'accolades, à la manière du shell :</p>
+
+ <example>
+ <!--#set var="Zed" value="${REMOTE_HOST}_${REQUEST_METHOD}" -->
+ </example>
+
+ <p>Dans cet exemple, la variable <code>Zed</code> se verra affecter
+ la valeur "<code>X_Y</code>" si <code>REMOTE_HOST</code> et
+ <code>REQUEST_METHOD</code> contiennent respectivement
+ "<code>X</code>" et "<code>Y</code>".</p>
+
+</section>
+
+<section id="flowctrl">
+ <title>Eléments de contrôle d'inclusion conditionnelle</title>
+
+ <p>Les éléments de base du contrôle d'inclusion conditionnelle sont
+ :</p>
+
+ <example>
+ <!--#if expr="<var>test_condition</var>" --><br />
+ <!--#elif expr="<var>test_condition</var>" --><br />
+ <!--#else --><br />
+ <!--#endif -->
+ </example>
+
+ <p>L'élément <code>if</code> fonctionne de la même manière que
+ la directive if d'un langage de programmation. La condition est
+ évaluée et si le résultat est vrai, le texte qui suit jusqu'au
+ prochain élément <code>elif</code>, <code>else</code> ou
+ <code>endif</code> sera inclus dans le flux de sortie.</p>
+
+ <p>Les éléments <code>elif</code> ou <code>else</code> permettent
+ d'insérer du texte dans le flux de sortie si
+ <var>test_condition</var> s'est révélé faux. Ces éléments sont
+ optionnels.</p>
+
+ <p>L'élément <code>endif</code> termine le bloc de traitement
+ conditionnel <code>if</code> et est obligatoire.</p>
+
+ <p><var>test_condition</var> est une expression booléenne qui
+ emprunte la syntaxe <a href="../expr.html">ap_expr</a>. La directive
+ <directive module="mod_include">SSILegacyExprParser</directive>
+ permet de modifier cette syntaxe pour la rendre compatible avec
+ Apache HTTPD 2.2.x.</p>
+
+ <p>Le jeu de variables SSI avec l'élément <code>var</code> sont
+ exportées vers l'environnement de la requête et sont accessibles via
+ la fonction <code>reqenv</code>. Pour faire simple, le nom de
+ fonction <code>v</code> est aussi disponible dans le module
+ <module>mod_include</module>.</p>
+
+ <p>Dans l'exemple suivant, "depuis le réseau local" sera affiché si
+ l'adresse IP du client appartient au sous-réseau 10.0.0.0/8.</p>
+
+ <example>
+ <!--#if expr='-R "10.0.0.0/8"' --><br />
+ <indent>
+ depuis le réseau local<br />
+ </indent>
+ <!--#else --><br />
+ <indent>
+ depuis ailleurs<br />
+ </indent>
+ <!--#endif -->
+ </example>
+
+ <p>Dans l'exemple suivant, "foo vaut bar" sera affiché si la variable
+ <code>foo</code> contient la valeur "bar".</p>
+
+ <example>
+ <!--#if expr='v("foo") = "bar"' --><br />
+ <indent>
+ foo vaut bar<br />
+ </indent>
+ <!--#endif -->
+ </example>
+
+ <note><title>Documentation de référence</title>
+ <p>Voir aussi <a href="../expr.html">Les expressions dans le serveur
+ HTTP Apache</a> pour une référence complète et des exemples. Les
+ fonctions <em>restricted</em> ne sont pas disponibles dans
+ <module>mod_include</module>.</p>
+ </note>
+</section>
+
+<section id="legacyexpr">
+ <title>Syntaxe des expressions héritée</title>
+
+ <p>Cette section décrit la syntaxe de l'élément <code>#if
+ expr</code> dans le cas où la directive <directive
+ module="mod_include">SSILegacyExprParser</directive> est définie à
+ <code>on</code>.</p>
+
+ <dl>
+ <dt><code><var>chaîne</var></code></dt>
+ <dd>vrai si <var>chaîne</var> n'est pas vide</dd>
+
+ <dt><code><var>-A string</var></code></dt>
+ <dd><p>vrai si l'URL que contient la chaîne est accessible du
+ point de vue de la configuration, faux sinon. Il
+ s'avère utile lorsqu'un lien vers une URL doit être caché aux
+ utilisateurs qui ne sont pas autorisés à voir cette URL. Notez que
+ le test porte sur l'autorisation d'accès à l'URL, et non sur son
+ existence.</p>
+
+ <example><title>Exemple</title>
+ <!--#if expr="-A /prive" --><br />
+ <indent>
+ Cliquez <a href="/prive">ici</a> pour accéder aux
+ informations privées.<br />
+ </indent>
+ <!--#endif -->
+ </example>
+ </dd>
+
+ <dt><code><var>chaîne1</var> = <var>chaîne2</var><br />
+ <var>chaîne1</var> == <var>chaîne2</var><br />
+ <var>chaîne1</var> != <var>chaîne2</var></code></dt>
+
+ <dd><p>Compare <var>chaîne1</var> à <var>chaîne2</var>. Si
+ <var>chaîne2</var> est de la forme
+ <code>/<var>chaîne2</var>/</code>, elle est traitée comme une
+ expression rationnelle. Les expressions rationnelles sont
+ implémentées par le moteur <a href="http://www.pcre.org">PCRE</a>
+ et possèdent la même syntaxe que celles de <a
+ href="http://www.perl.com">perl 5</a>. Notez que <code>==</code>
+ n'est qu'un alias pour <code>=</code> et se comporte exactement de
+ la même manière que ce dernier.</p>
+
+ <p>Si vous faites une comparaison directe (<code>=</code> ou
+ <code>==</code>), vous pouvez extraire des parties de l'expression
+ rationnelle. Les parties extraites sont stockées dans les
+ variables spéciales <code>$1</code> .. <code>$9</code>. L'ensemble
+ de la chaîne correspondant à l'expression rationnelle est stocké
+ dans la variable spéciale <code>$0</code>.</p>
+
+ <example><title>Exemple</title>
+ <!--#if expr="$QUERY_STRING = /^sid=([a-zA-Z0-9]+)/" --><br />
+ <indent>
+ <!--#set var="session" value="$1" --><br />
+ </indent>
+ <!--#endif -->
+ </example>
+ </dd>
+
+ <dt><code><var>chaîne1</var> < <var>chaîne2</var><br />
+ <var>chaîne1</var> <= <var>chaîne2</var><br />
+ <var>chaîne1</var> > <var>chaîne2</var><br />
+ <var>chaîne1</var> >= <var>chaîne2</var></code></dt>
+
+ <dd>Compare <var>chaîne1</var> à <var>chaîne2</var>. Notez que les
+ chaînes sont comparées de manière <em>littérale</em> (en utilisant
+ <code>strcmp(3)</code>). Ainsi, la chaîne "100" est inférieure à
+ "20".</dd>
+
+ <dt><code>( <var>test_condition</var> )</code></dt>
+ <dd>vrai si <var>test_condition</var> est vrai</dd>
+
+ <dt><code>! <var>test_condition</var></code></dt>
+ <dd>vrai si <var>test_condition</var> est faux</dd>
+
+ <dt><code><var>test_condition1</var> &&
+ <var>test_condition2</var></code></dt>
+ <dd>vrai si <var>test_condition1</var> et
+ <var>test_condition2</var> sont tous les deux vrais</dd>
+
+ <dt><code><var>test_condition1</var> ||
+ <var>test_condition2</var></code></dt>
+ <dd>vrai si au moins un des tests <var>test_condition1</var> ou
+ <var>test_condition2</var> est vrai</dd>
+ </dl>
+
+ <p>"<code>=</code>" et "<code>!=</code>" ont une priorité supérieure
+ à "<code>&&</code>" et "<code>||</code>". "<code>!</code>" a
+ la priorité la plus haute. Ainsi, les deux directives suivantes sont
+ équivalentes :</p>
+
+ <example>
+ <!--#if expr="$a = test1 && $b = test2" --><br />
+ <!--#if expr="($a = test1) && ($b = test2)" -->
+ </example>
+
+ <p>Les opérateurs booléens <code>&&</code> et
+ <code>||</code> ont la même priorité. Ainsi, si vous voulez
+ augmenter la priorité d'un de ces opérateurs, vous devez utiliser
+ des parenthèses.</p>
+
+ <p>Tout ce qui n'est pas reconnu comme variable ou opérateur est
+ traité comme une chaîne. Les chaînes peuvent aussi être entourées
+ d'apostrophes : <code>'chaîne'</code>. Les chaînes sans apostrophe
+ ne peuvent pas contenir d'espaces (espaces ou tabulations) car
+ ceux-ci servent à séparer certains éléments comme les variables. Si
+ plusieurs chaînes se trouvent dans une ligne, elles sont concaténées
+ en utilisant des espaces. Ainsi,</p>
+
+ <example>
+ <p><code><var>chaîne1</var> <var
+ >chaîne2</var></code> devient <code><var>chaîne1</var> <var
+ >chaîne2</var></code><br />
+ <br />
+ et<br />
+ <br />
+ <code>'<var>chaîne1</var> <var
+ >chaîne2</var>'</code> devient <code><var
+ >chaîne1</var> <var>chaîne2</var></code>.</p>
+ </example>
+
+ <note><title>Optimisation des expressions booléennes</title>
+ <p>Si les expressions atteignent une complexité suffisante pour
+ ralentir les traitements de manière significative, vous pouvez
+ essayer de les optimiser en fonction des règles d'évaluation :</p>
+ <ul>
+ <li>Les expressions sont évaluées de la gauche vers la droite</li>
+ <li>Les opérateurs booléens binaires (<code>&&</code> et
+ <code>||</code>) font l'objet d'une évaluation abrégée chaque fois
+ que cela est possible. En d'autres termes, et selon la règle
+ ci-dessus, <module>mod_include</module> évalue tout d'abord la
+ partie gauche de l'expression. Si le résultat de l'évaluation de
+ cette partie gauche suffit à déterminer le résultat final,
+ l'évaluation s'arrête ici. Dans le cas contraire, la partie droite
+ est évaluée, et le résultat final tient compte des résultats des
+ évaluations des parties gauche et droite.</li>
+ <li>L'évaluation abrégée est désactivée tant qu'il reste des
+ expressions régulières à traiter. Ces dernières doivent être
+ évaluées afin de définir les variables correspondant aux
+ références arrières (<code>$1</code> .. <code>$9</code>).</li>
+ </ul>
+ <p>Si vous voulez déterminer la manière dont une expression est
+ traitée, vous pouvez recompiler <module>mod_include</module> en
+ utilisant l'option de compilation <code>-DDEBUG_INCLUDE</code>.
+ Ceci a pour effet d'insérer, pour chaque expression interprétée,
+ des informations étiquetées, l'arbre d'interprétation et la
+ manière dont elle est évaluée au sein du flux de sortie envoyé au
+ client.</p>
+ </note>
+
+ <note><title>Slashes d'échappement dans les expressions
+ rationnelles</title>
+ <p>Tous les caractères slashes qui ne sont pas des séparateurs dans
+ votre expression rationnelle doivent être échappés, et ceci sans
+ tenir compte de leur signification du point de vue du moteur
+ d'expressions rationnelles.</p>
+ </note>
+
+ <note><title>Documentation de référence</title>
+ <p>Voir le document <a href="../expr.html">Les expressions dans le
+ serveur HTTP Apache</a>, pour une référence complète et des exemples.</p>
+ </note>
+
+
+</section>
+
+<directivesynopsis>
+<name>SSIEndTag</name>
+<description>Chaîne qui termine l'élément include</description>
+<syntax>SSIEndTag <var>tag</var></syntax>
+<default>SSIEndTag "-->"</default>
+<contextlist><context>server config</context><context>virtual host</context>
+</contextlist>
+
+<usage>
+ <p>Cette directive permet de modifier la chaîne que
+ <module>mod_include</module> interprète comme la fin d'un élément
+ include.</p>
+
+ <highlight language="config">
+ SSIEndTag "%>"
+ </highlight>
+
+</usage>
+<seealso><directive module="mod_include">SSIStartTag</directive></seealso>
+</directivesynopsis>
+
+<directivesynopsis>
+<name>SSIUndefinedEcho</name>
+<description>Chaîne à afficher lorsqu'on tente d'extraire le contenu
+d'une variable non définie</description>
+<syntax>SSIUndefinedEcho <var>chaîne</var></syntax>
+<default>SSIUndefinedEcho "(none)"</default>
+<contextlist><context>server config</context><context>virtual host</context>
+<context>directory</context><context>.htaccess</context></contextlist>
+<override>All</override>
+
+<usage>
+ <p>Cette directive permet de modifier la chaîne affichée par
+ <module>mod_include</module> lorsqu'on tente d'extraire le contenu
+ d'une variable non définie.</p>
+
+ <highlight language="config">
+ SSIUndefinedEcho "<!-- nondef -->"
+ </highlight>
+</usage>
+</directivesynopsis>
+
+<directivesynopsis>
+<name>SSIErrorMsg</name>
+<description>Message d'erreur affiché lorsqu'une erreur SSI
+survient</description>
+<syntax>SSIErrorMsg <var>message</var></syntax>
+<default>SSIErrorMsg "[an error occurred while processing this
+directive]"</default>
+<contextlist><context>server config</context><context>virtual host</context>
+<context>directory</context><context>.htaccess</context></contextlist>
+<override>All</override>
+
+<usage>
+ <p>La directive <directive>SSIErrorMsg</directive> permet de
+ modifier le message d'erreur affiché lorsqu'une erreur SSI survient.
+ Pour les serveurs en production, il est recommandé de modifier le
+ message d'erreur par défaut en <code>"<!-- Error
+ -->"</code>, de façon à ce que le message ne soit pas
+ présenté à l'utilisateur.</p>
+
+ <p>Cette directive a le même effet que l'élément
+ <code><!--#config errmsg=<var>message</var> --></code>.</p>
+
+ <highlight language="config">
+ SSIErrorMsg "<!-- Error -->"
+ </highlight>
+</usage>
+</directivesynopsis>
+
+<directivesynopsis>
+<name>SSIStartTag</name>
+<description>Chaîne qui marque le début d'un élément
+include</description>
+<syntax>SSIStartTag <var>tag</var></syntax>
+<default>SSIStartTag "<!--#"</default>
+<contextlist><context>server config</context><context>virtual host</context>
+</contextlist>
+
+<usage>
+ <p>Cette directive permet de modifier la chaîne que
+ <module>mod_include</module> interprète comme le début d'un élément
+ include.</p>
+
+ <p>Cette option peut vous être utile si vous avez deux serveurs qui
+ interprètent un fichier avec des commandes différentes (et
+ éventuellement à des moments différents).</p>
+
+ <highlight language="config">
+ SSIStartTag "<%"<br />
+ SSIEndTag "%>"
+ </highlight>
+
+ <p>Avec l'exemple ci-dessus, qui définit aussi une directive
+ <directive module="mod_include">SSIEndTag</directive>, vous pourrez
+ inscrire des directives SSI comme dans l'exemple suivant :</p>
+
+ <example><title>Directives SSI avec marques de début et de fin
+ personnalisées</title>
+ <%printenv %>
+ </example>
+</usage>
+<seealso><directive module="mod_include">SSIEndTag</directive></seealso>
+</directivesynopsis>
+
+<directivesynopsis>
+<name>SSITimeFormat</name>
+<description>Configuration du format d'affichage des dates</description>
+<syntax>SSITimeFormat <var>chaîne de formatage</var></syntax>
+<default>SSITimeFormat "%A, %d-%b-%Y %H:%M:%S %Z"</default>
+<contextlist>
+<context>server config</context><context>virtual host</context>
+<context>directory</context><context>.htaccess</context></contextlist>
+<override>All</override>
+
+<usage>
+<p>Cette directive permet de modifier le format d'affichage des
+variables d'environnement <code>DATE</code>. La <var>chaîne de
+formatage</var> est identique à celle de la fonction
+<code>strftime(3)</code> de la bibliothèque C standard.</p>
+
+ <p>Cette directive a le même effet que l'élément
+ <code><!--#config timefmt=<var>chaîne de formatage</var>
+ --></code>.</p>
+
+ <highlight language="config">
+ SSITimeFormat "%R, %B %d, %Y"
+ </highlight>
+
+ <p>Avec l'exemple ci-dessus, les dates seront affichées dans le
+ style "22:26, June 14, 2002".</p>
+</usage>
+</directivesynopsis>
+
+<directivesynopsis>
+<name>SSIETag</name>
+<description>Définit si des en-têtes ETags sont générés par le serveur.</description>
+<syntax>SSIETag on|off</syntax>
+<default>SSIETag off</default>
+<contextlist><context>directory</context><context>.htaccess</context></contextlist>
+<compatibility>Disponible à partir de la version 2.2.15 du serveur HTTP
+Apache.</compatibility>
+
+<usage>
+ <p>Dans le cas général, un fichier filtré par
+ <module>mod_include</module> peut contenir des éléments soit
+ générés dynamiquement, soit éventuellement modifiés indépendemment
+ du fichier original. En conséquence, il est demandé par défaut au
+ serveur de ne pas générer d'en-tête <code>ETag</code> à la réponse
+ en ajoutant <code>no-etag</code> aux informations de requête.</p>
+
+ <p>Ce comportement peut être modifié via la directive
+ <directive>SSIETag</directive> qui permet au serveur de générer un
+ en-tête <code>ETag</code>. On peut aussi l'utiliser pour la mise
+ en cache de la sortie. Notez qu'un serveur d'arrière-plan ou un
+ générateur de contenu dynamique peut lui-même générer un en-tête
+ <code>ETag</code>, en ignorant l'information <code>no-etag</code>,
+ cet en-tête <code>ETag</code> étant transmis par
+ <module>mod_include</module> sans tenir compte de la définition de
+ la présente directive. La directive <directive>SSIETag</directive>
+ peut prendre une des valeurs suivantes :</p>
+
+ <dl>
+
+ <dt><code>off</code></dt>
+ <dd><code>no-etag</code> sera ajouté aux informations de
+ requête, et il sera demandé au serveur de ne pas générer
+ d'en-tête <code>ETag</code>. Lorsqu'un serveur ignore la valeur
+ de <code>no-etag</code> et génère tout de même un en-tête
+ <code>ETag</code>, ce dernier sera respecté.</dd>
+
+ <dt><code>on</code></dt>
+ <dd>Les en-têtes <code>ETag</code> existants seront respectés,
+ et ceux générés par le serveur seront ajoutés à la réponse.</dd>
+
+ </dl>
+
+</usage>
+</directivesynopsis>
+
+<directivesynopsis>
+<name>SSILastModified</name>
+<description>Définit si des en-têtes <code>Last-Modified</code> sont
+générés par le serveur.</description>
+<syntax>SSILastModified on|off</syntax>
+<default>SSILastModified off</default>
+<contextlist><context>directory</context><context>.htaccess</context></contextlist>
+<compatibility>Disponible à partir de la version 2.2.15 du serveur HTTP
+Apache.</compatibility>
+
+<usage>
+ <p>Dans le cas général, un fichier filtré par
+ <module>mod_include</module> peut contenir des éléments soit
+ générés dynamiquement, soit éventuellement modifiés indépendemment
+ du fichier original. En conséquence, l'en-tête
+ <code>Last-Modified</code> est supprimé par défaut de la réponse.</p>
+
+ <p>La directive <directive>SSILastModified</directive> permet de
+ modifier ce comportement en faisant en sorte que l'en-tête
+ <code>Last-Modified</code> soit respecté s'il est déjà présent, ou
+ défini dans le cas contraire. On peut aussi l'utiliser pour la mise
+ en cache de la sortie. La directive
+ <directive>SSILastModified</directive> peut prendre une des
+ valeurs suivantes :</p>
+
+ <dl>
+
+ <dt><code>off</code></dt>
+ <dd>L'en-tête <code>Last-Modified</code> sera supprimé des
+ réponses, à moins que la directive <directive
+ module="mod_include">XBitHack</directive> ne soit définie à
+ <code>full</code> comme décrit plus loin.</dd>
+
+ <dt><code>on</code></dt>
+ <dd>L'en-tête <code>Last-Modified</code> sera respecté s'il est
+ déjà présent, et ajouté à la réponse si cette dernière est un
+ fichier et si l'en-tête est manquant. La directive <directive
+ module="mod_include">SSILastModified</directive> l'emporte sur
+ la directive <directive
+ module="mod_include">XBitHack</directive>.</dd>
+
+ </dl>
+
+</usage>
+</directivesynopsis>
+<directivesynopsis>
+<name>SSILegacyExprParser</name>
+<description>Active le mode de compatibilité pour les expressions
+conditionnelles.</description>
+<syntax>SSILegacyExprParser on|off</syntax>
+<default>SSILegacyExprParser off</default>
+<contextlist><context>directory</context><context>.htaccess</context></contextlist>
+<compatibility>Disponible à partir de la version 2.3.13.</compatibility>
+
+<usage>
+ <p>Depuis la version 2.3.13, <module>mod_include</module> a adopté
+ la nouvelle syntaxe <a href="../expr.html">ap_expr</a> pour ses
+ expressions conditionnelles dans les éléments de contrôle de flux
+ <code>#if</code>. Cette directive permet de réactiver l'<a
+ href="#legacyexpr">ancienne syntaxe</a> qui est compatible avec les
+ versions 2.2.x et antérieures d'Apache HTTPD.
+ </p>
+</usage>
+</directivesynopsis>
+
+<directivesynopsis>
+<name>XBitHack</name>
+<description>Interprète les directives SSI dans les fichiers dont le bit
+d'exécution est positionné</description>
+<syntax>XBitHack on|off|full</syntax>
+<default>XBitHack off</default>
+<contextlist><context>server config</context><context>virtual host</context>
+<context>directory</context><context>.htaccess</context></contextlist>
+<override>Options</override>
+
+<usage>
+ <p>La directive <directive>XBitHack</directive> permet de contrôler
+ l'interprétation des documents html standards. Elle n'affecte que
+ les fichiers dont le <glossary>type MIME</glossary> est
+ <code>text/html</code>. <directive>XBitHack</directive> peut prendre
+ les valeurs suivantes :</p>
+
+ <dl>
+ <dt><code>off</code></dt>
+ <dd>Aucun traitement particulier pour les fichiers
+ exécutables.</dd>
+
+ <dt><code>on</code></dt>
+ <dd>Tout fichier <code>text/html</code> dont le bit d'exécution
+ est positionné pour le propriétaire sera traité en tant que
+ document html interprété par le serveur.</dd>
+
+ <dt><code>full</code></dt>
+ <dd>Identique à <code>on</code>, avec test du bit d'exécution pour
+ le groupe. Si ce dernier est positionné, la date de <code>dernière
+ modification</code> du fichier renvoyé est définie à la date de
+ dernière modification du fichier. Dans le cas contraire, aucune
+ date de dernière modification n'est renvoyée. Le positionnement de
+ ce bit permet aux clients et aux mandataires de gérer la mise en
+ cache du résultat de la requête.
+
+ <note><title>Note</title>
+ <p>Il est recommandé de n'utiliser l'option full que dans le cas
+ où vous êtes certain que le bit d'exécution du groupe est non
+ positionné pour les scripts SSI qui pourraient effectuer l'<code
+ >#include</code> d'un programme CGI ou bien produire des sorties
+ différentes à chaque accès (ou seraient susceptibles d'être
+ modifiées au cours des requêtes ultérieures).</p>
+
+ <p>Lorsqu'elle est définie à <code>on</code>, la directive
+ <directive module="mod_include">SSILastModified</directive>
+ l'emporte sur la directive <directive
+ module="mod_include">XBitHack</directive>.</p>
+ </note>
+
+ </dd>
+ </dl>
+
+</usage>
+</directivesynopsis>
+
+</modulesynopsis>
+
<variants>
<variant>en</variant>
+ <variant>fr</variant>
<variant outdated="yes">ja</variant>
</variants>
</metafile>
URI: mod_mime_magic.html.en
Content-Language: en
Content-type: text/html; charset=ISO-8859-1
+
+URI: mod_mime_magic.html.fr
+Content-Language: fr
+Content-type: text/html; charset=ISO-8859-1
--- /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_mime_magic - 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/directives.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.4</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.4</a> > <a href="./">Modules</a></div>
+<div id="page-content">
+<div id="preamble"><h1>Module Apache mod_mime_magic</h1>
+<div class="toplang">
+<p><span>Langues Disponibles: </span><a href="../en/mod/mod_mime_magic.html" hreflang="en" rel="alternate" title="English"> en </a> |
+<a href="../fr/mod/mod_mime_magic.html" title="Français"> fr </a></p>
+</div>
+<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Détermine le type MIME d'un fichier à partir de quelques
+octets de son contenu</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>mime_magic_module</td></tr>
+<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_mime_magic.c</td></tr></table>
+<h3>Sommaire</h3>
+
+ <p>Ce module permet de déterminer le <a class="glossarylink" href="../glossary.html#mime-type" title="voir glossaire">type
+ MIME</a> des fichiers de la même manière que la commande Unix
+ <code>file(1)</code>, à savoir en se basant sur les premiers octets
+ du fichier. Il est conçu comme une "seconde ligne de défense" pour
+ les cas où <code class="module"><a href="../mod/mod_mime.html">mod_mime</a></code> ne parvient pas à déterminer le
+ type du fichier.</p>
+
+ <p>Ce module est dérivé d'une version libre de la commande Unix
+ <code>file(1)</code> qui utilise des "nombres magiques" et autres
+ marques distinctives issus du contenu du fichier pour essayer de
+ déterminer le type de contenu. Ce module n'est activé que si le
+ fichier magique est spécifié par la directive <code class="directive"><a href="#mimemagicfile">MimeMagicFile</a></code>.</p>
+</div>
+<div id="quickview"><h3 class="directives">Directives</h3>
+<ul id="toc">
+<li><img alt="" src="../images/down.gif" /> <a href="#mimemagicfile">MimeMagicFile</a></li>
+</ul>
+<h3>Sujets</h3>
+<ul id="topics">
+<li><img alt="" src="../images/down.gif" /> <a href="#format">Format du fichier magique</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#performance">Problèmes liés aux performances</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#notes">Notes</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="format" id="format">Format du fichier magique</a></h2>
+
+ <p>Le fichier contient du texte ASCII sur 4 à 5 colonnes. Les lignes
+ vides sont autorisées mais ignorées. Toute ligne commençant par un
+ dièse (<code>#</code>) est un commentaire. Les autres lignes sont
+ interprétées en colonnes comme suit :</p>
+
+ <table class="bordered"><tr class="header"><th>Colonne</th><th>Description</th></tr>
+<tr><td>1</td>
+ <td>numéro de l'octet à partir duquel la vérification débute<br />
+ "<code>></code>" indique une dépendance par rapport à la
+ dernière ligne non-"<code>></code>"</td></tr>
+<tr class="odd"><td>2</td>
+ <td><p>type de donnée à rechercher</p>
+ <table class="bordered">
+
+ <tr><td><code>byte</code></td>
+ <td>caractère unique</td></tr>
+ <tr><td><code>short</code></td>
+ <td>entier sur 16 bits selon l'ordre de la machine</td></tr>
+ <tr><td><code>long</code></td>
+ <td>entier sur 32 bits selon l'ordre de la machine</td></tr>
+ <tr><td><code>string</code></td>
+ <td>chaîne de taille choisie</td></tr>
+ <tr><td><code>date</code></td>
+ <td>date au format entier long (secondes depuis le temps Unix epoch/1970)</td></tr>
+ <tr><td><code>beshort</code></td>
+ <td>entier 16 bits big-endian</td></tr>
+ <tr><td><code>belong</code></td>
+ <td>entier 32 bits big-endian</td></tr>
+ <tr><td><code>bedate</code></td>
+ <td>date au format entier 32 bits big-endian</td></tr>
+ <tr><td><code>leshort</code></td>
+ <td>entier 16 bits little-endian</td></tr>
+ <tr><td><code>lelong</code></td>
+ <td>entier 32 bits little-endian</td></tr>
+ <tr><td><code>ledate</code></td>
+ <td>date au format entier 32 bits little-endian</td></tr>
+ </table></td></tr>
+<tr><td>3</td>
+ <td>contenu des données à rechercher</td></tr>
+<tr class="odd"><td>4</td>
+ <td>type MIME si correspondance</td></tr>
+<tr><td>5</td>
+ <td>codage MIME si correspondance (optionnel)</td></tr>
+</table>
+
+ <p>Par exemple, les lignes du fichier magique suivantes
+ permettraient de reconnaître certains formats audio :</p>
+
+ <div class="example"><pre># Sun/NeXT audio data
+0 string .snd
+>12 belong 1 audio/basic
+>12 belong 2 audio/basic
+>12 belong 3 audio/basic
+>12 belong 4 audio/basic
+>12 belong 5 audio/basic
+>12 belong 6 audio/basic
+>12 belong 7 audio/basic
+>12 belong 23 audio/x-adpcm</pre></div>
+
+ <p>Et celles-ci permettraient de reconnaître la différence entre les
+ fichiers <code>*.doc</code> qui contiennent des documents Microsoft
+ Word et les documents FrameMaker (ce sont des formats de fichiers
+ incompatibles qui possèdent le même suffixe).</p>
+
+ <div class="example"><pre># Frame
+0 string \<MakerFile application/x-frame
+0 string \<MIFFile application/x-frame
+0 string \<MakerDictionary application/x-frame
+0 string \<MakerScreenFon application/x-frame
+0 string \<MML application/x-frame
+0 string \<Book application/x-frame
+0 string \<Maker application/x-frame
+
+# MS-Word
+0 string \376\067\0\043 application/msword
+0 string \320\317\021\340\241\261 application/msword
+0 string \333\245-\0\0\0 application/msword</pre></div>
+
+ <p>Un champ optionnel codage MIME peut être ajouté dans la cinquième
+ colonne. Par exemple, cette ligne permet de reconnaître les fichiers
+ compressés par gzip et définissent le type de codage.</p>
+
+ <div class="example"><pre># gzip (GNU zip, à ne pas confondre avec
+# l'archiveur zip [Info-ZIP/PKWARE])
+
+0 string \037\213 application/octet-stream x-gzip</pre></div>
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="performance" id="performance">Problèmes liés aux performances</a></h2>
+ <p>Ce module n'est pas fait pour tous les systèmes. Si votre système
+ parvient à peine à supporter sa charge, ou si vous testez les
+ performances d'un serveur web, il est déconseillé d'utiliser ce
+ module car son fonctionnement a un prix en matière de ressources
+ consommées.</p>
+
+ <p>Des efforts ont cependant été fournis pour améliorer les
+ performances du code original de la commande <code>file(1)</code> en
+ l'adaptant pour fonctionner sur un serveur web à forte charge. Il a
+ été conçu pour un serveur sur lequel des milliers d'utilisateurs
+ publient leurs propres documents, ce qui est probablement très
+ courant sur un intranet. Il s'avère souvent bénéfique qu'un serveur
+ puisse prendre des décisions plus pertinentes à propos du contenu
+ d'un fichier que celles se basant sur le nom du fichier seul, ne
+ serait-ce que pour diminuer le nombre d'appels du type "pourquoi ma
+ page ne s'affiche-t-elle pas ?" survenant lorsque les utilisateurs
+ nomment leurs fichiers incorrectement. Vous devez déterminer si la
+ charge supplémentaire convient à votre environnement.</p>
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="notes" id="notes">Notes</a></h2>
+ <p>Les notes suivantes s'appliquent au module
+ <code class="module"><a href="../mod/mod_mime_magic.html">mod_mime_magic</a></code> et sont incluses ici pour
+ conformité avec les restrictions de copyright des contributeurs
+ qui requièrent de les accepter.</p>
+ <p>Note de traduction : ces informations de type légal ne sont pas traductibles</p>
+
+ <div class="note">
+ <p>mod_mime_magic: MIME type lookup via file magic numbers<br />
+ Copyright (c) 1996-1997 Cisco Systems, Inc.</p>
+
+ <p>This software was submitted by Cisco Systems to the Apache Group
+ in July 1997. Future revisions and derivatives of this source code
+ must acknowledge Cisco Systems as the original contributor of this
+ module. All other licensing and usage conditions are those of the
+ Apache Group.</p>
+
+ <p>Some of this code is derived from the free version of the file
+ command originally posted to comp.sources.unix. Copyright info for
+ that program is included below as required.</p>
+ </div>
+
+ <div class="note">
+ <p> - Copyright (c) Ian F. Darwin, 1987. Written by Ian F. Darwin.</p>
+
+ <p>This software is not subject to any license of the American
+ Telephone and Telegraph Company or of the Regents of the University
+ of California.</p>
+
+ <p>Permission is granted to anyone to use this software for any
+ purpose on any computer system, and to alter it and redistribute it
+ freely, subject to the following restrictions:</p>
+
+ <ol>
+ <li>The author is not responsible for the consequences of use of
+ this software, no matter how awful, even if they arise from flaws
+ in it.</li>
+
+ <li>The origin of this software must not be misrepresented, either
+ by explicit claim or by omission. Since few users ever read
+ sources, credits must appear in the documentation.</li>
+
+ <li>Altered versions must be plainly marked as such, and must not
+ be misrepresented as being the original software. Since few users
+ ever read sources, credits must appear in the documentation.</li>
+
+ <li>This notice may not be removed or altered.</li>
+ </ol>
+ </div>
+
+ <div class="note">
+ <p>For compliance with Mr Darwin's terms: this has been very
+ significantly modified from the free "file" command.</p>
+
+ <ul>
+ <li>all-in-one file for compilation convenience when moving from
+ one version of Apache to the next.</li>
+
+ <li>Memory allocation is done through the Apache API's pool
+ structure.</li>
+
+ <li>All functions have had necessary Apache API request or server
+ structures passed to them where necessary to call other Apache API
+ routines. (<em>i.e.</em>, usually for logging, files, or memory
+ allocation in itself or a called function.)</li>
+
+ <li>struct magic has been converted from an array to a single-ended
+ linked list because it only grows one record at a time, it's only
+ accessed sequentially, and the Apache API has no equivalent of
+ <code>realloc()</code>.</li>
+
+ <li>Functions have been changed to get their parameters from the
+ server configuration instead of globals. (It should be reentrant
+ now but has not been tested in a threaded environment.)</li>
+
+ <li>Places where it used to print results to stdout now saves them
+ in a list where they're used to set the MIME type in the Apache
+ request record.</li>
+
+ <li>Command-line flags have been removed since they will never be
+ used here.</li>
+ </ul>
+ </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="MimeMagicFile" id="MimeMagicFile">MimeMagicFile</a> <a name="mimemagicfile" id="mimemagicfile">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Active la détermination du type MIME en se basant sur le
+contenu du fichier et en utilisant le fichier magique
+spécifié</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>MimeMagicFile <var>chemin-fichier</var></code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</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_mime_magic</td></tr>
+</table>
+ <p>La directive <code class="directive">MimeMagicFile</code> permet
+ d'activer ce module, le fichier par défaut fourni étant
+ <code>conf/magic</code>. Les chemins sans slash '/' de début sont
+ relatifs au répertoire défini par la directive <code class="directive"><a href="../mod/core.html#serverroot">ServerRoot</a></code>. Les serveurs virtuels
+ utilisent le même fichier que le serveur principal sauf si un
+ fichier spécifique a été défini pour ce serveur virtuel, auquel cas
+ c'est ce dernier fichier qui sera utilisé.</p>
+
+ <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">
+ MimeMagicFile conf/magic
+ </pre>
+</div>
+
+</div>
+</div>
+<div class="bottomlang">
+<p><span>Langues Disponibles: </span><a href="../en/mod/mod_mime_magic.html" hreflang="en" rel="alternate" title="English"> en </a> |
+<a href="../fr/mod/mod_mime_magic.html" title="Français"> fr </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/2.4/mod/mod_mime_magic.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/directives.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 : 1334018 -->
+<!-- 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_mime_magic.xml.meta">
+
+<name>mod_mime_magic</name>
+<description>Détermine le type MIME d'un fichier à partir de quelques
+octets de son contenu</description>
+<status>Extension</status>
+<sourcefile>mod_mime_magic.c</sourcefile>
+<identifier>mime_magic_module</identifier>
+
+<summary>
+ <p>Ce module permet de déterminer le <glossary ref="mime-type">type
+ MIME</glossary> des fichiers de la même manière que la commande Unix
+ <code>file(1)</code>, à savoir en se basant sur les premiers octets
+ du fichier. Il est conçu comme une "seconde ligne de défense" pour
+ les cas où <module>mod_mime</module> ne parvient pas à déterminer le
+ type du fichier.</p>
+
+ <p>Ce module est dérivé d'une version libre de la commande Unix
+ <code>file(1)</code> qui utilise des "nombres magiques" et autres
+ marques distinctives issus du contenu du fichier pour essayer de
+ déterminer le type de contenu. Ce module n'est activé que si le
+ fichier magique est spécifié par la directive <directive
+ module="mod_mime_magic">MimeMagicFile</directive>.</p>
+</summary>
+
+<section id="format"><title>Format du fichier magique</title>
+
+ <p>Le fichier contient du texte ASCII sur 4 à 5 colonnes. Les lignes
+ vides sont autorisées mais ignorées. Toute ligne commençant par un
+ dièse (<code>#</code>) est un commentaire. Les autres lignes sont
+ interprétées en colonnes comme suit :</p>
+
+ <table style="zebra" border="1">
+ <columnspec><column width=".15"/><column width=".8"/></columnspec>
+ <tr><th>Colonne</th><th>Description</th></tr>
+ <tr><td>1</td>
+ <td>numéro de l'octet à partir duquel la vérification débute<br />
+ "<code>></code>" indique une dépendance par rapport à la
+ dernière ligne non-"<code>></code>"</td></tr>
+
+ <tr><td>2</td>
+ <td><p>type de donnée à rechercher</p>
+ <table border="1">
+ <columnspec><column width=".2"/><column width=".7"/></columnspec>
+ <tr><td><code>byte</code></td>
+ <td>caractère unique</td></tr>
+ <tr><td><code>short</code></td>
+ <td>entier sur 16 bits selon l'ordre de la machine</td></tr>
+ <tr><td><code>long</code></td>
+ <td>entier sur 32 bits selon l'ordre de la machine</td></tr>
+ <tr><td><code>string</code></td>
+ <td>chaîne de taille choisie</td></tr>
+ <tr><td><code>date</code></td>
+ <td>date au format entier long (secondes depuis le temps Unix epoch/1970)</td></tr>
+ <tr><td><code>beshort</code></td>
+ <td>entier 16 bits big-endian</td></tr>
+ <tr><td><code>belong</code></td>
+ <td>entier 32 bits big-endian</td></tr>
+ <tr><td><code>bedate</code></td>
+ <td>date au format entier 32 bits big-endian</td></tr>
+ <tr><td><code>leshort</code></td>
+ <td>entier 16 bits little-endian</td></tr>
+ <tr><td><code>lelong</code></td>
+ <td>entier 32 bits little-endian</td></tr>
+ <tr><td><code>ledate</code></td>
+ <td>date au format entier 32 bits little-endian</td></tr>
+ </table></td></tr>
+
+ <tr><td>3</td>
+ <td>contenu des données à rechercher</td></tr>
+
+ <tr><td>4</td>
+ <td>type MIME si correspondance</td></tr>
+
+ <tr><td>5</td>
+ <td>codage MIME si correspondance (optionnel)</td></tr>
+ </table>
+
+ <p>Par exemple, les lignes du fichier magique suivantes
+ permettraient de reconnaître certains formats audio :</p>
+
+ <example>
+<pre># Sun/NeXT audio data
+0 string .snd
+>12 belong 1 audio/basic
+>12 belong 2 audio/basic
+>12 belong 3 audio/basic
+>12 belong 4 audio/basic
+>12 belong 5 audio/basic
+>12 belong 6 audio/basic
+>12 belong 7 audio/basic
+>12 belong 23 audio/x-adpcm</pre>
+ </example>
+
+ <p>Et celles-ci permettraient de reconnaître la différence entre les
+ fichiers <code>*.doc</code> qui contiennent des documents Microsoft
+ Word et les documents FrameMaker (ce sont des formats de fichiers
+ incompatibles qui possèdent le même suffixe).</p>
+
+ <example>
+<pre># Frame
+0 string \<MakerFile application/x-frame
+0 string \<MIFFile application/x-frame
+0 string \<MakerDictionary application/x-frame
+0 string \<MakerScreenFon application/x-frame
+0 string \<MML application/x-frame
+0 string \<Book application/x-frame
+0 string \<Maker application/x-frame
+
+# MS-Word
+0 string \376\067\0\043 application/msword
+0 string \320\317\021\340\241\261 application/msword
+0 string \333\245-\0\0\0 application/msword</pre>
+ </example>
+
+ <p>Un champ optionnel codage MIME peut être ajouté dans la cinquième
+ colonne. Par exemple, cette ligne permet de reconnaître les fichiers
+ compressés par gzip et définissent le type de codage.</p>
+
+ <example>
+<pre># gzip (GNU zip, à ne pas confondre avec
+# l'archiveur zip [Info-ZIP/PKWARE])
+
+0 string \037\213 application/octet-stream x-gzip</pre>
+ </example>
+</section>
+
+<section id="performance"><title>Problèmes liés aux performances</title>
+ <p>Ce module n'est pas fait pour tous les systèmes. Si votre système
+ parvient à peine à supporter sa charge, ou si vous testez les
+ performances d'un serveur web, il est déconseillé d'utiliser ce
+ module car son fonctionnement a un prix en matière de ressources
+ consommées.</p>
+
+ <p>Des efforts ont cependant été fournis pour améliorer les
+ performances du code original de la commande <code>file(1)</code> en
+ l'adaptant pour fonctionner sur un serveur web à forte charge. Il a
+ été conçu pour un serveur sur lequel des milliers d'utilisateurs
+ publient leurs propres documents, ce qui est probablement très
+ courant sur un intranet. Il s'avère souvent bénéfique qu'un serveur
+ puisse prendre des décisions plus pertinentes à propos du contenu
+ d'un fichier que celles se basant sur le nom du fichier seul, ne
+ serait-ce que pour diminuer le nombre d'appels du type "pourquoi ma
+ page ne s'affiche-t-elle pas ?" survenant lorsque les utilisateurs
+ nomment leurs fichiers incorrectement. Vous devez déterminer si la
+ charge supplémentaire convient à votre environnement.</p>
+</section>
+
+<section id="notes"><title>Notes</title>
+ <p>Les notes suivantes s'appliquent au module
+ <module>mod_mime_magic</module> et sont incluses ici pour
+ conformité avec les restrictions de copyright des contributeurs
+ qui requièrent de les accepter.</p>
+ <p>Note de traduction : ces informations de type légal ne sont pas traductibles</p>
+
+ <note>
+ <p>mod_mime_magic: MIME type lookup via file magic numbers<br />
+ Copyright (c) 1996-1997 Cisco Systems, Inc.</p>
+
+ <p>This software was submitted by Cisco Systems to the Apache Group
+ in July 1997. Future revisions and derivatives of this source code
+ must acknowledge Cisco Systems as the original contributor of this
+ module. All other licensing and usage conditions are those of the
+ Apache Group.</p>
+
+ <p>Some of this code is derived from the free version of the file
+ command originally posted to comp.sources.unix. Copyright info for
+ that program is included below as required.</p>
+ </note>
+
+ <note>
+ <p> - Copyright (c) Ian F. Darwin, 1987. Written by Ian F. Darwin.</p>
+
+ <p>This software is not subject to any license of the American
+ Telephone and Telegraph Company or of the Regents of the University
+ of California.</p>
+
+ <p>Permission is granted to anyone to use this software for any
+ purpose on any computer system, and to alter it and redistribute it
+ freely, subject to the following restrictions:</p>
+
+ <ol>
+ <li>The author is not responsible for the consequences of use of
+ this software, no matter how awful, even if they arise from flaws
+ in it.</li>
+
+ <li>The origin of this software must not be misrepresented, either
+ by explicit claim or by omission. Since few users ever read
+ sources, credits must appear in the documentation.</li>
+
+ <li>Altered versions must be plainly marked as such, and must not
+ be misrepresented as being the original software. Since few users
+ ever read sources, credits must appear in the documentation.</li>
+
+ <li>This notice may not be removed or altered.</li>
+ </ol>
+ </note>
+
+ <note>
+ <p>For compliance with Mr Darwin's terms: this has been very
+ significantly modified from the free "file" command.</p>
+
+ <ul>
+ <li>all-in-one file for compilation convenience when moving from
+ one version of Apache to the next.</li>
+
+ <li>Memory allocation is done through the Apache API's pool
+ structure.</li>
+
+ <li>All functions have had necessary Apache API request or server
+ structures passed to them where necessary to call other Apache API
+ routines. (<em>i.e.</em>, usually for logging, files, or memory
+ allocation in itself or a called function.)</li>
+
+ <li>struct magic has been converted from an array to a single-ended
+ linked list because it only grows one record at a time, it's only
+ accessed sequentially, and the Apache API has no equivalent of
+ <code>realloc()</code>.</li>
+
+ <li>Functions have been changed to get their parameters from the
+ server configuration instead of globals. (It should be reentrant
+ now but has not been tested in a threaded environment.)</li>
+
+ <li>Places where it used to print results to stdout now saves them
+ in a list where they're used to set the MIME type in the Apache
+ request record.</li>
+
+ <li>Command-line flags have been removed since they will never be
+ used here.</li>
+ </ul>
+ </note>
+</section>
+
+<directivesynopsis>
+<name>MimeMagicFile</name>
+<description>Active la détermination du type MIME en se basant sur le
+contenu du fichier et en utilisant le fichier magique
+spécifié</description>
+<syntax>MimeMagicFile <var>chemin-fichier</var></syntax>
+<contextlist><context>server config</context><context>virtual host</context>
+</contextlist>
+
+<usage>
+ <p>La directive <directive>MimeMagicFile</directive> permet
+ d'activer ce module, le fichier par défaut fourni étant
+ <code>conf/magic</code>. Les chemins sans slash '/' de début sont
+ relatifs au répertoire défini par la directive <directive
+ module="core">ServerRoot</directive>. Les serveurs virtuels
+ utilisent le même fichier que le serveur principal sauf si un
+ fichier spécifique a été défini pour ce serveur virtuel, auquel cas
+ c'est ce dernier fichier qui sera utilisé.</p>
+
+ <example><title>Exemple</title>
+ <highlight language="config">
+ MimeMagicFile conf/magic
+ </highlight>
+ </example>
+</usage>
+</directivesynopsis>
+
+</modulesynopsis>
<variants>
<variant>en</variant>
+ <variant>fr</variant>
</variants>
</metafile>
URI: mod_reqtimeout.html.en
Content-Language: en
Content-type: text/html; charset=ISO-8859-1
+
+URI: mod_reqtimeout.html.fr
+Content-Language: fr
+Content-type: text/html; charset=ISO-8859-1
--- /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_reqtimeout - 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/directives.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.4</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.4</a> > <a href="./">Modules</a></div>
+<div id="page-content">
+<div id="preamble"><h1>Module Apache mod_reqtimeout</h1>
+<div class="toplang">
+<p><span>Langues Disponibles: </span><a href="../en/mod/mod_reqtimeout.html" hreflang="en" rel="alternate" title="English"> en </a> |
+<a href="../fr/mod/mod_reqtimeout.html" title="Français"> fr </a></p>
+</div>
+<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Définit le délai maximum et le taux minimum de transfert des
+données pour la réception des requêtes
+</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>reqtimeout_module</td></tr>
+<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_reqtimeout.c</td></tr>
+<tr><th><a href="module-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.2.15 du serveur HTTP Apache</td></tr></table>
+</div>
+<div id="quickview"><h3 class="directives">Directives</h3>
+<ul id="toc">
+<li><img alt="" src="../images/down.gif" /> <a href="#requestreadtimeout">RequestReadTimeout</a></li>
+</ul>
+<h3>Sujets</h3>
+<ul id="topics">
+<li><img alt="" src="../images/down.gif" /> <a href="#examples">Exemples</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>
+
+ <ol>
+ <li>
+ Accorde 10 secondes pour la réception des en-têtes de la requête
+ et 30 secondes pour la réception du corps :
+
+ <pre class="prettyprint lang-config">
+ RequestTimeout headerinit=10 body=30
+ </pre>
+
+ </li>
+
+ <li>
+ Accorde au moins 10 secondes pour la réception du corps de
+ la requête. Si le client envoie des données, augmente ce délai
+ d'une seconde pour chaque paquet de 1000 octets reçus, sans
+ limite supérieure (sauf si une limite a été
+ spécifiée via la directive <code class="directive"><a href="../mod/core.html#limitrequestbody">LimitRequestBody</a></code>) :
+
+ <pre class="prettyprint lang-config">
+ RequestReadTimeout body=10,MinRate=1000
+ </pre>
+
+ </li>
+
+ <li>
+ Accorde au moins 10 secondes pour la réception de de la
+ requête, en-têtes inclus. Si le client envoie des données, augmente ce délai
+ d'une seconde pour chaque paquet de 500 octets reçus, mais
+ n'alloue que 30 secondes pour la requête, en-têtes inclus :
+
+ <pre class="prettyprint lang-config">
+ RequestReadTimeout header=10-30,MinRate=500
+ </pre>
+
+ </li>
+
+ <li>
+ En général, un serveur doit avoir ses délais d'en-tête et de
+ corps configurés. Si les serveurs virtuels http et https
+ utilisent une configuration commune, les délais ne doivent pas
+ être définis trop bas :
+
+ <pre class="prettyprint lang-config">
+ RequestReadTimeout header=20-40,MinRate=500 body=20,MinRate=500
+ </pre>
+
+ </li>
+
+ </ol>
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="RequestReadTimeout" id="RequestReadTimeout">RequestReadTimeout</a> <a name="requestreadtimeout" id="requestreadtimeout">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit des délais maximums pour la réception des en-têtes
+et corps des requêtes en provenance du client.
+</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>RequestReadTimeout
+[header=<var>délai</var>[-<var>délai-maxi</var>][,MinRate=<var>taux-mini</var>]
+[body=<var>délai</var>[-<var>délai-maxi</var>][,MinRate=<var>taux-mini</var>]
+</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>header=20-40,MinRate=500 body=20,MinRate=500</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</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_reqtimeout</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.2.15 du serveur HTTP
+Apache ; désactivée par défaut depuis la version 2.3.14.</td></tr>
+</table>
+ <p>Cette directive permet de définir différents délais pour la
+ réception des en-têtes et corps des requêtes en provenance du
+ client. Si le client ne parvient pas à respecter ces délais, un code
+ d'erreur <code>408 REQUEST TIME OUT</code> est envoyé.</p>
+
+ <p>Pour les serveurs virtuels SSL, le délai concernant les en-têtes
+ inclut le temps nécessaire à la négociation SSL initiale. Si le
+ navigateur du client est configuré pour demander des listes de
+ révocations de certificats, et si le serveur correspondant n'est pas
+ disponible, le délai avant lequel le navigateur va abandonner son
+ attente de CRL au cours de la négociation SSL initiale peut être
+ assez important. Par conséquent, les valeurs de délais d'en-têtes ne
+ doivent pas être trop basses pour les serveurs virtuels SSL. Le délai
+ concernant le corps inclut le temps nécessaire à la renégociation
+ SSL (si elle est nécessaire).</p>
+
+ <p>Lorsqu'une directive <code class="directive"><a href="../mod/core.html#acceptfilter">AcceptFilter</a></code> est active (ce qui est en
+ général le cas sous Linux et FreeBSD), la socket n'est envoyée au
+ processus du serveur qu'après la réception du premier octet (ou de
+ l'ensemble de la requête si <code>httpready</code> est défini). Le
+ délai configuré pour les en-têtes via la directive
+ <code>RequestReadTimeout</code> n'entre en ligne de compte qu'une fois
+ la socket reçue par le processus du serveur.</p>
+
+ <p>Il existe deux méthodes pour spécifier le délai (pour l'en-tête
+ ou le corps) :
+ </p>
+
+ <ul>
+
+ <li><strong>Valeur de délai fixe</strong>:<br />
+
+ <div class="example"><p><code><var>type</var>=<var>délai</var></code></p></div>
+
+ <p>Le temps en secondes alloué pour la lecture des en-têtes ou du
+ corps de la requête. La valeur 0 signifie aucune limite.</p>
+ </li>
+
+ <li><strong>Désactivation du module pour un serveur virtuel :</strong>:<br />
+
+ <div class="example"><p><code>header=0 body=0</code></p></div>
+
+ <p>Avec cet exemple, le module <code class="module"><a href="../mod/mod_reqtimeout.html">mod_reqtimeout</a></code> est
+ complètement désactivé.</p>
+ </li>
+
+ <li><strong>La valeur du délai qui est augmentée lorsque des données
+ sont reçues</strong> :<br />
+ <div class="example"><p><code>
+ <var>type</var>=<var>délai</var>,MinRate=<var>taux-mini</var>
+ </code></p></div>
+
+ <p>Identique à ce qui précède, mais chaque fois que des données sont
+ reçues, la valeur du délai est augmentée en fonction du taux-mini
+ spécifié (en octets par seconde).</p>
+ </li>
+
+ <li><strong>La valeur du délai augmente lorsque des données sont
+ reçues, jusqu'à une limite supérieure</strong>:<br />
+ <div class="example"><p><code>
+ <var>type</var>=<var>délai</var>-<var>délai-maxi</var>,MinRate=<var>taux-mini</var>
+ </code></p></div>
+
+ <p>Identique à ce qui précède, mais le délai n'augmentera pas au
+ delà de la borne supérieure du délai spécifiée.</p>
+ </li>
+
+ </ul>
+
+
+
+
+
+</div>
+</div>
+<div class="bottomlang">
+<p><span>Langues Disponibles: </span><a href="../en/mod/mod_reqtimeout.html" hreflang="en" rel="alternate" title="English"> en </a> |
+<a href="../fr/mod/mod_reqtimeout.html" title="Français"> fr </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/2.4/mod/mod_reqtimeout.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/directives.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 : 1334024 -->
+<!-- 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_reqtimeout.xml.meta">
+
+<name>mod_reqtimeout</name>
+<description>Définit le délai maximum et le taux minimum de transfert des
+données pour la réception des requêtes
+</description>
+<status>Extension</status>
+<sourcefile>mod_reqtimeout.c</sourcefile>
+<identifier>reqtimeout_module</identifier>
+<compatibility>Disponible depuis la version 2.2.15 du serveur HTTP Apache</compatibility>
+
+<section id="examples"><title>Exemples</title>
+
+ <ol>
+ <li>
+ Accorde 10 secondes pour la réception des en-têtes de la requête
+ et 30 secondes pour la réception du corps :
+
+ <highlight language="config">
+ RequestTimeout headerinit=10 body=30
+ </highlight>
+ </li>
+
+ <li>
+ Accorde au moins 10 secondes pour la réception du corps de
+ la requête. Si le client envoie des données, augmente ce délai
+ d'une seconde pour chaque paquet de 1000 octets reçus, sans
+ limite supérieure (sauf si une limite a été
+ spécifiée via la directive <directive
+ module="core">LimitRequestBody</directive>) :
+
+ <highlight language="config">
+ RequestReadTimeout body=10,MinRate=1000
+ </highlight>
+ </li>
+
+ <li>
+ Accorde au moins 10 secondes pour la réception de de la
+ requête, en-têtes inclus. Si le client envoie des données, augmente ce délai
+ d'une seconde pour chaque paquet de 500 octets reçus, mais
+ n'alloue que 30 secondes pour la requête, en-têtes inclus :
+
+ <highlight language="config">
+ RequestReadTimeout header=10-30,MinRate=500
+ </highlight>
+ </li>
+
+ <li>
+ En général, un serveur doit avoir ses délais d'en-tête et de
+ corps configurés. Si les serveurs virtuels http et https
+ utilisent une configuration commune, les délais ne doivent pas
+ être définis trop bas :
+
+ <highlight language="config">
+ RequestReadTimeout header=20-40,MinRate=500 body=20,MinRate=500
+ </highlight>
+ </li>
+
+ </ol>
+</section>
+
+<directivesynopsis>
+<name>RequestReadTimeout</name>
+<description>Définit des délais maximums pour la réception des en-têtes
+et corps des requêtes en provenance du client.
+</description>
+<syntax>RequestReadTimeout
+[header=<var>délai</var>[-<var>délai-maxi</var>][,MinRate=<var>taux-mini</var>]
+[body=<var>délai</var>[-<var>délai-maxi</var>][,MinRate=<var>taux-mini</var>]
+</syntax>
+<default>header=20-40,MinRate=500 body=20,MinRate=500</default>
+<contextlist><context>server config</context><context>virtual host</context>
+</contextlist>
+<compatibility>Disponible depuis la version 2.2.15 du serveur HTTP
+Apache ; désactivée par défaut depuis la version 2.3.14.</compatibility>
+
+<usage>
+ <p>Cette directive permet de définir différents délais pour la
+ réception des en-têtes et corps des requêtes en provenance du
+ client. Si le client ne parvient pas à respecter ces délais, un code
+ d'erreur <code>408 REQUEST TIME OUT</code> est envoyé.</p>
+
+ <p>Pour les serveurs virtuels SSL, le délai concernant les en-têtes
+ inclut le temps nécessaire à la négociation SSL initiale. Si le
+ navigateur du client est configuré pour demander des listes de
+ révocations de certificats, et si le serveur correspondant n'est pas
+ disponible, le délai avant lequel le navigateur va abandonner son
+ attente de CRL au cours de la négociation SSL initiale peut être
+ assez important. Par conséquent, les valeurs de délais d'en-têtes ne
+ doivent pas être trop basses pour les serveurs virtuels SSL. Le délai
+ concernant le corps inclut le temps nécessaire à la renégociation
+ SSL (si elle est nécessaire).</p>
+
+ <p>Lorsqu'une directive <directive
+ module="core">AcceptFilter</directive> est active (ce qui est en
+ général le cas sous Linux et FreeBSD), la socket n'est envoyée au
+ processus du serveur qu'après la réception du premier octet (ou de
+ l'ensemble de la requête si <code>httpready</code> est défini). Le
+ délai configuré pour les en-têtes via la directive
+ <code>RequestReadTimeout</code> n'entre en ligne de compte qu'une fois
+ la socket reçue par le processus du serveur.</p>
+
+ <p>Il existe deux méthodes pour spécifier le délai (pour l'en-tête
+ ou le corps) :
+ </p>
+
+ <ul>
+
+ <li><strong>Valeur de délai fixe</strong>:<br />
+
+ <example><var>type</var>=<var>délai</var></example>
+
+ <p>Le temps en secondes alloué pour la lecture des en-têtes ou du
+ corps de la requête. La valeur 0 signifie aucune limite.</p>
+ </li>
+
+ <li><strong>Désactivation du module pour un serveur virtuel :</strong>:<br />
+
+ <example>header=0 body=0</example>
+
+ <p>Avec cet exemple, le module <module>mod_reqtimeout</module> est
+ complètement désactivé.</p>
+ </li>
+
+ <li><strong>La valeur du délai qui est augmentée lorsque des données
+ sont reçues</strong> :<br />
+ <example>
+ <var>type</var>=<var>délai</var>,MinRate=<var>taux-mini</var>
+ </example>
+
+ <p>Identique à ce qui précède, mais chaque fois que des données sont
+ reçues, la valeur du délai est augmentée en fonction du taux-mini
+ spécifié (en octets par seconde).</p>
+ </li>
+
+ <li><strong>La valeur du délai augmente lorsque des données sont
+ reçues, jusqu'à une limite supérieure</strong>:<br />
+ <example>
+ <var>type</var>=<var>délai</var>-<var>délai-maxi</var>,MinRate=<var>taux-mini</var>
+ </example>
+
+ <p>Identique à ce qui précède, mais le délai n'augmentera pas au
+ delà de la borne supérieure du délai spécifiée.</p>
+ </li>
+
+ </ul>
+
+
+
+
+</usage>
+
+</directivesynopsis>
+
+</modulesynopsis>
<variants>
<variant>en</variant>
+ <variant>fr</variant>
</variants>
</metafile>
URI: mod_slotmem_plain.html.en
Content-Language: en
Content-type: text/html; charset=ISO-8859-1
+
+URI: mod_slotmem_plain.html.fr
+Content-Language: fr
+Content-type: text/html; charset=ISO-8859-1
--- /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_slotmem_plain - 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/directives.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.4</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.4</a> > <a href="./">Modules</a></div>
+<div id="page-content">
+<div id="preamble"><h1>Module Apache mod_slotmem_plain</h1>
+<div class="toplang">
+<p><span>Langues Disponibles: </span><a href="../en/mod/mod_slotmem_plain.html" hreflang="en" rel="alternate" title="English"> en </a> |
+<a href="../fr/mod/mod_slotmem_plain.html" title="Français"> fr </a></p>
+</div>
+<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Fournisseur de mémoire partagée à base de
+slots.</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>slotmem_plain_module</td></tr>
+<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_slotmem_plain.c</td></tr></table>
+<h3>Sommaire</h3>
+
+ <p><code>mod_slotmem_plain</code> est un fournisseur de mémoire qui
+ permet la création et l'utilisation d'un segment de mémoire contigu
+ dans lequel les ensembles de données sont organisés en "slots".
+ </p>
+
+ <p>Si la mémoire doit être partagée entre des threads et des
+ processus, il est préférable d'utiliser le fournisseur
+ <code class="module"><a href="../mod/mod_slotmem_shm.html">mod_slotmem_shm</a></code>.
+ </p>
+
+ <p><code>mod_slotmem_plain</code> fournit une API comprenant les
+ fonctions suivantes :
+ </p>
+
+ <dl>
+ <dt>apr_status_t doall(ap_slotmem_instance_t *s, ap_slotmem_callback_fn_t *func, void *data, apr_pool_t *pool)</dt>
+ <dd>appelle le callback sur tous les slots actifs</dd>
+
+ <dt>apr_status_t create(ap_slotmem_instance_t **new, const char *name, apr_size_t item_size, unsigned int item_num, ap_slotmem_type_t type, apr_pool_t *pool)</dt>
+ <dd>crée un nouveau slot de mémoire dont chaque objet aura une
+ taille de item_size.</dd>
+
+ <dt>apr_status_t attach(ap_slotmem_instance_t **new, const char *name, apr_size_t *item_size, unsigned int *item_num, apr_pool_t *pool)</dt>
+ <dd>rattache à un slot de mémoire existant.</dd>
+
+ <dt>apr_status_t dptr(ap_slotmem_instance_t *s, unsigned int item_id, void**mem)</dt>
+ <dd>indique la mémoire associée à ce slot actif.</dd>
+
+ <dt>apr_status_t get(ap_slotmem_instance_t *s, unsigned int item_id, unsigned char *dest, apr_size_t dest_len)</dt>
+ <dd>lit la mémoire depuis ce slot et la transfère vers dest</dd>
+
+ <dt>apr_status_t put(ap_slotmem_instance_t *slot, unsigned int item_id, unsigned char *src, apr_size_t src_len)</dt>
+ <dd>écrit dans ce slot la mémoire en provenance de src</dd>
+
+ <dt>unsigned int num_slots(ap_slotmem_instance_t *s)</dt>
+ <dd>renvoie le nombre total de slots contenus dans ce segment</dd>
+
+ <dt>apr_size_t slot_size(ap_slotmem_instance_t *s)</dt>
+ <dd>renvoie la taille totale des données, en octets, contenues
+ dans un slot de ce segment</dd>
+
+ <dt>apr_status_t grab(ap_slotmem_instance_t *s, unsigned int *item_id);</dt>
+ <dd>alloue le premier slot disponible et le marque comme utilisé (n'effectue aucune
+ copie de données)</dd>
+
+ <dt>apr_status_t fgrab(ap_slotmem_instance_t *s, unsigned int item_id);</dt>
+ <dd>force l'allocation ou l'appropriation du slot spécifié et le marque comme utilisé (n'effectue aucune
+ copie de données)</dd>
+
+ <dt>apr_status_t release(ap_slotmem_instance_t *s, unsigned int item_id);</dt>
+ <dd>libère un slot et le marque comme non utilisé (n'effectue aucune
+ copie de données)</dd>
+ </dl>
+
+</div>
+<div id="quickview"><h3 class="directives">Directives</h3>
+<p>Ce module ne fournit aucune directive.</p>
+<ul class="seealso"><li><a href="#comments_section">Commentaires</a></li></ul></div>
+
+</div>
+<div class="bottomlang">
+<p><span>Langues Disponibles: </span><a href="../en/mod/mod_slotmem_plain.html" hreflang="en" rel="alternate" title="English"> en </a> |
+<a href="../fr/mod/mod_slotmem_plain.html" title="Français"> fr </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/2.4/mod/mod_slotmem_plain.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/directives.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 : 1422580 -->
+<!-- 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_slotmem_plain.xml.meta">
+
+<name>mod_slotmem_plain</name>
+<description>Fournisseur de mémoire partagée à base de
+slots.</description>
+<status>Extension</status>
+<sourcefile>mod_slotmem_plain.c</sourcefile>
+<identifier>slotmem_plain_module</identifier>
+
+<summary>
+ <p><code>mod_slotmem_plain</code> est un fournisseur de mémoire qui
+ permet la création et l'utilisation d'un segment de mémoire contigu
+ dans lequel les ensembles de données sont organisés en "slots".
+ </p>
+
+ <p>Si la mémoire doit être partagée entre des threads et des
+ processus, il est préférable d'utiliser le fournisseur
+ <module>mod_slotmem_shm</module>.
+ </p>
+
+ <p><code>mod_slotmem_plain</code> fournit une API comprenant les
+ fonctions suivantes :
+ </p>
+
+ <dl>
+ <dt>apr_status_t doall(ap_slotmem_instance_t *s, ap_slotmem_callback_fn_t *func, void *data, apr_pool_t *pool)</dt>
+ <dd>appelle le callback sur tous les slots actifs</dd>
+
+ <dt>apr_status_t create(ap_slotmem_instance_t **new, const char *name, apr_size_t item_size, unsigned int item_num, ap_slotmem_type_t type, apr_pool_t *pool)</dt>
+ <dd>crée un nouveau slot de mémoire dont chaque objet aura une
+ taille de item_size.</dd>
+
+ <dt>apr_status_t attach(ap_slotmem_instance_t **new, const char *name, apr_size_t *item_size, unsigned int *item_num, apr_pool_t *pool)</dt>
+ <dd>rattache à un slot de mémoire existant.</dd>
+
+ <dt>apr_status_t dptr(ap_slotmem_instance_t *s, unsigned int item_id, void**mem)</dt>
+ <dd>indique la mémoire associée à ce slot actif.</dd>
+
+ <dt>apr_status_t get(ap_slotmem_instance_t *s, unsigned int item_id, unsigned char *dest, apr_size_t dest_len)</dt>
+ <dd>lit la mémoire depuis ce slot et la transfère vers dest</dd>
+
+ <dt>apr_status_t put(ap_slotmem_instance_t *slot, unsigned int item_id, unsigned char *src, apr_size_t src_len)</dt>
+ <dd>écrit dans ce slot la mémoire en provenance de src</dd>
+
+ <dt>unsigned int num_slots(ap_slotmem_instance_t *s)</dt>
+ <dd>renvoie le nombre total de slots contenus dans ce segment</dd>
+
+ <dt>apr_size_t slot_size(ap_slotmem_instance_t *s)</dt>
+ <dd>renvoie la taille totale des données, en octets, contenues
+ dans un slot de ce segment</dd>
+
+ <dt>apr_status_t grab(ap_slotmem_instance_t *s, unsigned int *item_id);</dt>
+ <dd>alloue le premier slot disponible et le marque comme utilisé (n'effectue aucune
+ copie de données)</dd>
+
+ <dt>apr_status_t fgrab(ap_slotmem_instance_t *s, unsigned int item_id);</dt>
+ <dd>force l'allocation ou l'appropriation du slot spécifié et le marque comme utilisé (n'effectue aucune
+ copie de données)</dd>
+
+ <dt>apr_status_t release(ap_slotmem_instance_t *s, unsigned int item_id);</dt>
+ <dd>libère un slot et le marque comme non utilisé (n'effectue aucune
+ copie de données)</dd>
+ </dl>
+
+</summary>
+
+</modulesynopsis>
<variants>
<variant>en</variant>
+ <variant>fr</variant>
</variants>
</metafile>
URI: mod_slotmem_shm.html.en
Content-Language: en
Content-type: text/html; charset=ISO-8859-1
+
+URI: mod_slotmem_shm.html.fr
+Content-Language: fr
+Content-type: text/html; charset=ISO-8859-1
--- /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_slotmem_shm - 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/directives.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.4</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.4</a> > <a href="./">Modules</a></div>
+<div id="page-content">
+<div id="preamble"><h1>Module Apache mod_slotmem_shm</h1>
+<div class="toplang">
+<p><span>Langues Disponibles: </span><a href="../en/mod/mod_slotmem_shm.html" hreflang="en" rel="alternate" title="English"> en </a> |
+<a href="../fr/mod/mod_slotmem_shm.html" title="Français"> fr </a></p>
+</div>
+<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Fournisseur de mémoire partagée basée sur les
+slots.</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>slotmem_shm_module</td></tr>
+<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_slotmem_shm.c</td></tr></table>
+<h3>Sommaire</h3>
+
+ <p><code>mod_slotmem_shm</code> est un fournisseur de mémoire qui
+ permet la création et l'accès à un segment de mémoire partagée dans
+ lequel les ensembles de données sont organisés en "slots".
+ </p>
+
+ <p>L'ensemble de la mémoire partagée est effacé à chaque
+ redémarrage, que ce dernier soit <code>graceful</code> ou non. Les données sont
+ stockées et restituées dans et à partir d'un fichier défini par le
+ paramètre <code>name</code> des appels <code>create</code> et
+ <code>attach</code>. Si son chemin absolu n'est pas spécifié, le
+ chemin du fichier sera relatif au chemin défini par la directive
+ <code class="directive"><a href="../mod/core.html#defaultruntimedir">DefaultRuntimeDir</a></code>.
+ </p>
+
+ <p><code>mod_slotmem_shm</code> fournit les fonctions d'API suivantes
+ :
+ </p>
+
+ <dl>
+ <dt>apr_status_t doall(ap_slotmem_instance_t *s, ap_slotmem_callback_fn_t *func, void *data, apr_pool_t *pool)</dt>
+ <dd>appelle le callback pour tous les slots actifs</dd>
+
+ <dt>apr_status_t create(ap_slotmem_instance_t **new, const char *name, apr_size_t item_size, unsigned int item_num, ap_slotmem_type_t type, apr_pool_t *pool)</dt>
+ <dd>crée un nouveau slot de mémoire dont chaque taille d'objet est
+ item_size. <code>name</code> est utilisé pour générer le nom du fichier
+ permettant de stocker/restaurer le contenu de la mémoire partagée
+ si la configuration le spécifie. Les valeurs possibles sont :
+ <dl>
+ <dt><code>"none"</code></dt>
+ <dd><code>Mémoire partagée anonyme et pas de stockage
+ persistant</code></dd>
+ <dt><code>"file-name"</code></dt>
+ <dd><code>[DefaultRuntimeDir]/file-name</code></dd>
+ <dd><code>Absolute file name</code></dd>
+ <dd><code>$absolute-file-name</code></dd>
+ </dl>
+ </dd>
+
+ <dt>apr_status_t attach(ap_slotmem_instance_t **new, const char *name, apr_size_t *item_size, unsigned int *item_num, apr_pool_t *pool)</dt>
+ <dd>attache à un slot de mémoire existant. Voir
+ <code>create</code> pour la description du paramètre
+ <code>name</code>.</dd>
+
+ <dt>apr_status_t dptr(ap_slotmem_instance_t *s, unsigned int item_id, void**mem)</dt>
+ <dd>obtient la mémoire associée à ce slot actif.</dd>
+
+ <dt>apr_status_t get(ap_slotmem_instance_t *s, unsigned int item_id, unsigned char *dest, apr_size_t dest_len)</dt>
+ <dd>lit la mémoire depuis ce slot et la transfère vers dest</dd>
+
+ <dt>apr_status_t put(ap_slotmem_instance_t *slot, unsigned int item_id, unsigned char *src, apr_size_t src_len)</dt>
+ <dd>écrit dans ce slot la mémoire en provenance de src</dd>
+
+ <dt>unsigned int num_slots(ap_slotmem_instance_t *s)</dt>
+ <dd>renvoie le nombre total de slots contenus dans ce segment</dd>
+
+ <dt>apr_size_t slot_size(ap_slotmem_instance_t *s)</dt>
+ <dd>renvoie la taille totale des données, en octets, contenues
+ dans un slot de ce segment</dd>
+
+ <dt>apr_status_t grab(ap_slotmem_instance_t *s, unsigned int *item_id);</dt>
+ <dd>alloue ou s'approprie le premier slot disponible et le marque comme utilisé (n'effectue aucune
+ copie de données)</dd>
+
+ <dt>apr_status_t fgrab(ap_slotmem_instance_t *s, unsigned int item_id);</dt>
+ <dd>force l'allocation ou l'attribution du slot spécifié et le marque comme utilisé (n'effectue aucune
+ copie de données)</dd>
+
+ <dt>apr_status_t release(ap_slotmem_instance_t *s, unsigned int item_id);</dt>
+ <dd>libère un slot et le marque comme non utilisé (n'effectue aucune
+ copie de données)</dd>
+ </dl>
+
+</div>
+<div id="quickview"><h3 class="directives">Directives</h3>
+<p>Ce module ne fournit aucune directive.</p>
+<ul class="seealso"><li><a href="#comments_section">Commentaires</a></li></ul></div>
+
+</div>
+<div class="bottomlang">
+<p><span>Langues Disponibles: </span><a href="../en/mod/mod_slotmem_shm.html" hreflang="en" rel="alternate" title="English"> en </a> |
+<a href="../fr/mod/mod_slotmem_shm.html" title="Français"> fr </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/2.4/mod/mod_slotmem_shm.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/directives.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 : 1422580 -->
+<!-- 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_slotmem_shm.xml.meta">
+
+<name>mod_slotmem_shm</name>
+<description>Fournisseur de mémoire partagée basée sur les
+slots.</description>
+<status>Extension</status>
+<sourcefile>mod_slotmem_shm.c</sourcefile>
+<identifier>slotmem_shm_module</identifier>
+
+<summary>
+ <p><code>mod_slotmem_shm</code> est un fournisseur de mémoire qui
+ permet la création et l'accès à un segment de mémoire partagée dans
+ lequel les ensembles de données sont organisés en "slots".
+ </p>
+
+ <p>L'ensemble de la mémoire partagée est effacé à chaque
+ redémarrage, que ce dernier soit <code>graceful</code> ou non. Les données sont
+ stockées et restituées dans et à partir d'un fichier défini par le
+ paramètre <code>name</code> des appels <code>create</code> et
+ <code>attach</code>. Si son chemin absolu n'est pas spécifié, le
+ chemin du fichier sera relatif au chemin défini par la directive
+ <directive module="core">DefaultRuntimeDir</directive>.
+ </p>
+
+ <p><code>mod_slotmem_shm</code> fournit les fonctions d'API suivantes
+ :
+ </p>
+
+ <dl>
+ <dt>apr_status_t doall(ap_slotmem_instance_t *s, ap_slotmem_callback_fn_t *func, void *data, apr_pool_t *pool)</dt>
+ <dd>appelle le callback pour tous les slots actifs</dd>
+
+ <dt>apr_status_t create(ap_slotmem_instance_t **new, const char *name, apr_size_t item_size, unsigned int item_num, ap_slotmem_type_t type, apr_pool_t *pool)</dt>
+ <dd>crée un nouveau slot de mémoire dont chaque taille d'objet est
+ item_size. <code>name</code> est utilisé pour générer le nom du fichier
+ permettant de stocker/restaurer le contenu de la mémoire partagée
+ si la configuration le spécifie. Les valeurs possibles sont :
+ <dl>
+ <dt><code>"none"</code></dt>
+ <dd><code>Mémoire partagée anonyme et pas de stockage
+ persistant</code></dd>
+ <dt><code>"file-name"</code></dt>
+ <dd><code>[DefaultRuntimeDir]/file-name</code></dd>
+ <dd><code>Absolute file name</code></dd>
+ <dd><code>$absolute-file-name</code></dd>
+ </dl>
+ </dd>
+
+ <dt>apr_status_t attach(ap_slotmem_instance_t **new, const char *name, apr_size_t *item_size, unsigned int *item_num, apr_pool_t *pool)</dt>
+ <dd>attache à un slot de mémoire existant. Voir
+ <code>create</code> pour la description du paramètre
+ <code>name</code>.</dd>
+
+ <dt>apr_status_t dptr(ap_slotmem_instance_t *s, unsigned int item_id, void**mem)</dt>
+ <dd>obtient la mémoire associée à ce slot actif.</dd>
+
+ <dt>apr_status_t get(ap_slotmem_instance_t *s, unsigned int item_id, unsigned char *dest, apr_size_t dest_len)</dt>
+ <dd>lit la mémoire depuis ce slot et la transfère vers dest</dd>
+
+ <dt>apr_status_t put(ap_slotmem_instance_t *slot, unsigned int item_id, unsigned char *src, apr_size_t src_len)</dt>
+ <dd>écrit dans ce slot la mémoire en provenance de src</dd>
+
+ <dt>unsigned int num_slots(ap_slotmem_instance_t *s)</dt>
+ <dd>renvoie le nombre total de slots contenus dans ce segment</dd>
+
+ <dt>apr_size_t slot_size(ap_slotmem_instance_t *s)</dt>
+ <dd>renvoie la taille totale des données, en octets, contenues
+ dans un slot de ce segment</dd>
+
+ <dt>apr_status_t grab(ap_slotmem_instance_t *s, unsigned int *item_id);</dt>
+ <dd>alloue ou s'approprie le premier slot disponible et le marque comme utilisé (n'effectue aucune
+ copie de données)</dd>
+
+ <dt>apr_status_t fgrab(ap_slotmem_instance_t *s, unsigned int item_id);</dt>
+ <dd>force l'allocation ou l'attribution du slot spécifié et le marque comme utilisé (n'effectue aucune
+ copie de données)</dd>
+
+ <dt>apr_status_t release(ap_slotmem_instance_t *s, unsigned int item_id);</dt>
+ <dd>libère un slot et le marque comme non utilisé (n'effectue aucune
+ copie de données)</dd>
+ </dl>
+
+</summary>
+
+</modulesynopsis>
<variants>
<variant>en</variant>
+ <variant>fr</variant>
</variants>
</metafile>
Content-Language: en
Content-type: text/html; charset=ISO-8859-1
+URI: mod_vhost_alias.html.fr
+Content-Language: fr
+Content-type: text/html; charset=ISO-8859-1
+
URI: mod_vhost_alias.html.tr.utf8
Content-Language: tr
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_vhost_alias - 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/directives.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.4</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.4</a> > <a href="./">Modules</a></div>
+<div id="page-content">
+<div id="preamble"><h1>Module Apache mod_vhost_alias</h1>
+<div class="toplang">
+<p><span>Langues Disponibles: </span><a href="../en/mod/mod_vhost_alias.html" hreflang="en" rel="alternate" title="English"> en </a> |
+<a href="../fr/mod/mod_vhost_alias.html" title="Français"> fr </a> |
+<a href="../tr/mod/mod_vhost_alias.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
+</div>
+<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Permet de configurer dynamiquement l'hébergement virtuel de
+masse</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>vhost_alias_module</td></tr>
+<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_vhost_alias.c</td></tr></table>
+<h3>Sommaire</h3>
+
+ <p>Ce module permet de créer des serveurs virtuels configurés
+ dynamiquement, en autorisant l'utilisation de l'adresse IP et/ou de
+ l'en-tête <code>Host:</code> de la requête HTTP comme partie du nom
+ de chemin afin de déterminer les fichiers à servir. Ceci facilite la
+ gestion d'un grand nombre de serveurs virtuels possèdant des
+ configurations similaires.</p>
+
+ <div class="note"><h3>Note</h3>
+ <p>Si les modules <code class="module"><a href="../mod/mod_alias.html">mod_alias</a></code> ou
+ <code class="module"><a href="../mod/mod_userdir.html">mod_userdir</a></code> sont utilisés pour traduire les URIs
+ en noms de fichiers, ils l'emportent sur les directives du module
+ <code class="module"><a href="../mod/mod_vhost_alias.html">mod_vhost_alias</a></code> décrites ci-dessous. Par
+ exemple, la configuration suivante fera correspondre <code>
+ /cgi-bin/script.pl</code> à <code>
+ /usr/local/apache2/cgi-bin/script.pl</code> dans tous les cas :</p>
+
+ <pre class="prettyprint lang-config">
+ScriptAlias /cgi-bin/ /usr/local/apache2/cgi-bin/
+VirtualScriptAlias /never/found/%0/cgi-bin/
+ </pre>
+
+ </div>
+</div>
+<div id="quickview"><h3 class="directives">Directives</h3>
+<ul id="toc">
+<li><img alt="" src="../images/down.gif" /> <a href="#virtualdocumentroot">VirtualDocumentRoot</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#virtualdocumentrootip">VirtualDocumentRootIP</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#virtualscriptalias">VirtualScriptAlias</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#virtualscriptaliasip">VirtualScriptAliasIP</a></li>
+</ul>
+<h3>Sujets</h3>
+<ul id="topics">
+<li><img alt="" src="../images/down.gif" /> <a href="#interpol">Interpolation du nom de répertoire</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#examples">Exemples</a></li>
+</ul><h3>Voir aussi</h3>
+<ul class="seealso">
+<li><code class="directive"><a href="../mod/core.html#usecanonicalname">UseCanonicalName</a></code></li>
+<li><a href="../vhosts/mass.html">Configuration dynamique de
+l'hébergement virtuel de masse</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="interpol" id="interpol">Interpolation du nom de répertoire</a></h2>
+
+
+ <p>Toutes les directives de ce module insèrent une chaîne dans un
+ nom de chemin. La chaîne insérée (que nous appellerons maintenant le
+ "nom") peut être soit le nom du serveur (voir la directive
+ <code class="directive"><a href="../mod/core.html#usecanonicalname">UseCanonicalName</a></code> pour les
+ détails sur la manière dont il est déterminé), soit l'adresse IP du
+ serveur virtuel hébergé par le serveur sous la forme d'un quadruplet
+ d'octets séparés par des points. L'insertion est contrôlée par des
+ spécificateurs inspirés de <code>printf</code> et possèdant de
+ nombreux formats :</p>
+
+<table>
+
+<tr><td><code>%%</code></td>
+<td>insère un <code>%</code></td></tr>
+
+<tr><td><code>%p</code></td>
+<td>insère le numéro de port du serveur virtuel</td></tr>
+
+<tr><td><code>%N.M</code></td>
+<td>insère le nom (en partie)</td></tr>
+
+</table>
+
+ <p><code>N</code> et <code>M</code> permettent de spécifier des
+ sous-chaînes du nom. <code>N</code> sélectionne un des composants du
+ nom séparés par des points, et <code>M</code> sélectionne des
+ caractères à l'intérieur de ce que <code>N</code> a sélectionné.
+ <code>M</code> est optionnel et sa valeur par défaut est 0 s'il
+ n'est pas spécifié ; le point doit être présent si et seulement si
+ <code>M</code> l'est aussi. Les modes d'insertion sont les suivants
+ :</p>
+
+ <table>
+
+ <tr><td><code>0</code></td>
+ <td>le nom en entier</td></tr>
+
+ <tr><td><code>1</code></td>
+ <td>la première partie</td></tr>
+
+ <tr><td><code>2</code></td>
+ <td>la seconde partie</td></tr>
+
+ <tr><td><code>-1</code></td>
+ <td>la dernière partie</td></tr>
+
+ <tr><td><code>-2</code></td>
+ <td>l'avant-dernière partie</td></tr>
+
+ <tr><td><code>2+</code></td>
+ <td>toutes les parties à partir de la seconde</td></tr>
+
+ <tr><td><code>-2+</code></td>
+ <td>toutes les parties jusqu'à l'avant-dernière</td></tr>
+
+ <tr><td><code>1+</code> et <code>-1+</code></td>
+ <td>identique à <code>0</code></td></tr>
+ </table>
+
+ <p>Si <code>N</code> ou <code>M</code> est plus grand que le nombre
+ de parties disponibles, seul un caractère de soulignement est
+ inséré.</p>
+
+</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>
+
+
+ <p>Pour des serveurs virtuels simples à base de nom, utilisez les
+ directives suivantes dans le fichier de configuration de votre
+ serveur :</p>
+
+ <pre class="prettyprint lang-config">
+UseCanonicalName Off
+VirtualDocumentRoot /usr/local/apache/vhosts/%0
+ </pre>
+
+
+ <p>Une requête pour
+ <code>http://www.example.com/repertoire/fichier.html</code>
+ concernera alors la ressource
+ <code>/usr/local/apache/vhosts/www.example.com/repertoire/fichier.html</code>.
+ </p>
+
+ <p>Pour un très grand nombre de serveurs virtuels, il est avantageux
+ d'organiser les fichiers de façon à réduire la taille du répertoire
+ <code>vhosts</code>. Pour ce faire, insérez les lignes suivantes
+ dans votre fichier de configuration :</p>
+
+ <pre class="prettyprint lang-config">
+UseCanonicalName Off
+VirtualDocumentRoot /usr/local/apache/vhosts/%3+/%2.1/%2.2/%2.3/%2
+ </pre>
+
+
+ <p>Une requête pour
+ <code>http://www.domaine.example.com/repertoire/fichier.html</code>
+ concernera alors la ressource
+ <code>/usr/local/apache/vhosts/example.com/d/o/m/domaine/repertoire/fichier.html</code>.</p>
+
+ <p>Une répartition plus régulière des fichiers peut être obtenue en
+ partant de la fin d'un composant du nom, comme dans l'exemple
+ suivant :</p>
+
+<pre class="prettyprint lang-config">
+ VirtualDocumentRoot /usr/local/apache/vhosts/%3+/%2.-1/%2.-2/%2.-3/%2
+</pre>
+
+
+ <p>La requête précédente concernerait alors
+ <code>/usr/local/apache/vhosts/example.com/e/n/i/domaine/repertoire/fichier.html</code>.</p>
+
+ <p>Vous pouvez également utiliser : </p>
+
+<pre class="prettyprint lang-config">
+ VirtualDocumentRoot /usr/local/apache/vhosts/%3+/%2.1/%2.2/%2.3/%2.4+
+</pre>
+
+
+ <p>La requête précédente concernerait alors
+ <code>/usr/local/apache/vhosts/example.com/d/o/m/aine/repertoire/fichier.html</code>.</p>
+
+ <p>Une demande très courante des utilisateurs concerne la possibilité de
+ faire correspondre plusieurs racines de documents à plusieurs
+ domaines, sans avoir à se préoccuper de la longueur ou du nombre de
+ parties du nom d'hôte faisant partie de la requête. Si le nom d'hôte
+ de la requête est <code>sub.www.domain.example.com</code> au lieu de
+ simplement <code>www.domain.example.com</code>, alors en utilisant
+ %3+, la racine des documents sera
+ <code>/usr/local/apache/vhosts/domain.example.com/...</code> au
+ lieu du répertoire <code>example.com</code> attendu. Dans ce genre
+ de situation, il peut s'avérer préférable d'utiliser la combinaison
+ <code>%-2.0.%-1.0</code> qui fournira toujours le nom de domaine et
+ le tld, par exemple <code>example.com</code> sans tenir compte du
+ nombre de sous-domaines ajoutés au nom d'hôte. Dans ces conditions,
+ il est possible d'élaborer une configuration qui associera les
+ sous-domaines de premier, second et troisième niveau au même
+ répertoire :
+</p>
+<pre class="prettyprint lang-config">
+ VirtualDocumentRoot "/usr/local/apache/vhosts/%-2.0.%-1.0"
+</pre>
+
+<p>
+Dans l'exemple ci-dessus, <code>www.example.com</code>,
+<code>www.sub.example.com</code> ou <code>example.com</code>
+correspondront tous au répertoire
+<code>/usr/local/apache/vhosts/example.com</code>.
+</p>
+
+
+
+ <p>Pour l'hébergement virtuel à base d'adresse IP, vous pouvez
+ insérer les lignes suivantes dans votre fichier de configuration
+ :</p>
+
+ <pre class="prettyprint lang-config">
+UseCanonicalName DNS
+VirtualDocumentRootIP /usr/local/apache/vhosts/%1/%2/%3/%4/docs
+VirtualScriptAliasIP /usr/local/apache/vhosts/%1/%2/%3/%4/cgi-bin
+ </pre>
+
+
+ <p>Si l'adresse IP de <code>www.domaine.example.com</code> est
+ 10.20.30.40, une requête pour
+ <code>http://www.domaine.example.com/repertoire/fichier.html</code>
+ concernera la ressource
+ <code>/usr/local/apache/vhosts/10/20/30/40/docs/repertoire/fichier.html</code>.
+ Une requête pour
+ <code>http://www.domaine.example.com/cgi-bin/script.pl</code>
+ concernera la ressource
+ <code>/usr/local/apache/vhosts/10/20/30/40/cgi-bin/script.pl</code>.</p>
+
+ <p>Si vous voulez insérer le caractère <code>.</code> dans une
+ directive <code>VirtualDocumentRoot</code>, et si cela crée un
+ conflit avec un spécificateur <code>%</code>, vous pouvez contourner
+ le problème de la manière suivante :</p>
+
+<pre class="prettyprint lang-config">
+ VirtualDocumentRoot /usr/local/apache/vhosts/%2.0.%3.0
+</pre>
+
+
+ <p>Une requête pour
+ <code>http://www.domaine.example.com/repertoire/fichier.html</code>
+ concernera alors la ressource
+ <code>/usr/local/apache/vhosts/domaine.exemple/repertoire/fichier.html</code>.</p>
+
+ <p>Les spécificateurs de format <code>%V</code> et <code>%A</code>
+ de la directive <code class="directive"><a href="../mod/mod_log_config.html#logformat">LogFormat</a></code> s'avèrent très utiles
+ lorsqu'ils sont utilisés en conjonction avec ce module.</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="VirtualDocumentRoot" id="VirtualDocumentRoot">VirtualDocumentRoot</a> <a name="virtualdocumentroot" id="virtualdocumentroot">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Permet une configuration dynamique de la racine des
+documents d'un serveur virtuel donné</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>VirtualDocumentRoot <em>répertoire-interpolé</em>|none</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>VirtualDocumentRoot none</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</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_vhost_alias</td></tr>
+</table>
+
+ <p>La directive <code class="directive">VirtualDocumentRoot</code> vous
+ permet de spécifier où le serveur HTTP Apache pourra trouver vos
+ documents en se basant
+ sur le nom du serveur. Le résultat de l'expansion du
+ <em>répertoire-interpolé</em> est utilisé comme racine de
+ l'arborescence des documents d'une manière similaire à l'argument de
+ la directive <code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code>. Si
+ <em>répertoire-interpolé</em> a pour valeur <code>none</code>, la
+ directive <code class="directive">VirtualDocumentRoot</code> est désactivée.
+ Cette directive ne peut pas être utilisée dans le même contexte que
+ la directive <code class="directive"><a href="#virtualdocumentrootip">VirtualDocumentRootIP</a></code>.</p>
+
+<div class="warning"><h3>Note</h3>
+La directive <code class="directive">VirtualDocumentRoot</code> l'emporte sur
+toute directive <code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code>
+définie dans le même contexte ou dans des contextes enfants. Le fait de
+définir une directive <code class="directive">VirtualDocumentRoot</code> dans le
+contexte du serveur principal va effectivement l'emporter sur toute
+directive <code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code> définie dans
+un serveur virtuel quelconque, si vous n'avez pas défini
+<code class="directive">VirtualDocumentRoot</code> à <code>None</code> dans ce
+serveur virtuel.
+</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="VirtualDocumentRootIP" id="VirtualDocumentRootIP">VirtualDocumentRootIP</a> <a name="virtualdocumentrootip" id="virtualdocumentrootip">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Configuration dynamique de la racine des documents pour un
+serveur virtuel donné</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>VirtualDocumentRootIP <em>répertoire-interpolé</em>|none</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>VirtualDocumentRootIP none</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</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_vhost_alias</td></tr>
+</table>
+
+<p>La directive <code class="directive">VirtualDocumentRootIP</code> est
+identique à la directive <code class="directive"><a href="#virtualdocumentroot">VirtualDocumentRoot</a></code> à l'exception
+près qu'elle utilise l'adresse IP du serveur virtuel pour
+l'interpolation du répertoire à la place du nom du serveur.</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="VirtualScriptAlias" id="VirtualScriptAlias">VirtualScriptAlias</a> <a name="virtualscriptalias" id="virtualscriptalias">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Configuration dynamique du répertoire des scripts CGI pour
+un serveur virtuel donné</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>VirtualScriptAlias <em>répertoire-interpolé</em>|none</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>VirtualScriptAlias none</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</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_vhost_alias</td></tr>
+</table>
+
+ <p>La directive <code class="directive">VirtualScriptAlias</code> vous
+ permet de spécifier où Apache httpd pourra trouver les scripts CGI selon une
+ méthode similaire à celle qu'utilise la directive <code class="directive"><a href="#virtualdocumentroot">VirtualDocumentRoot</a></code> pour les
+ autres documents. Elle recherche des requêtes dont l'URI commence
+ par <code>/cgi-bin/</code>, comme le ferait la directive <code class="directive"><a href="../mod/mod_alias.html#scriptalias">ScriptAlias</a></code>.</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="VirtualScriptAliasIP" id="VirtualScriptAliasIP">VirtualScriptAliasIP</a> <a name="virtualscriptaliasip" id="virtualscriptaliasip">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Configuration dynamique du répertoire des scripts CGI pour
+un serveur virtuel donné</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>VirtualScriptAliasIP <em>répertoire-interpolé</em>|none</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>VirtualScriptAliasIP none</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</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_vhost_alias</td></tr>
+</table>
+
+ <p>La directive <code class="directive">VirtualScriptAliasIP</code> est
+ identique à la directive <code class="directive"><a href="#virtualscriptalias">VirtualScriptAlias</a></code> à
+ l'exception près qu'elle utilise l'adresse IP du serveur virtuel
+ pour l'interpolation du répertoire à la place du nom du serveur.</p>
+
+
+</div>
+</div>
+<div class="bottomlang">
+<p><span>Langues Disponibles: </span><a href="../en/mod/mod_vhost_alias.html" hreflang="en" rel="alternate" title="English"> en </a> |
+<a href="../fr/mod/mod_vhost_alias.html" title="Français"> fr </a> |
+<a href="../tr/mod/mod_vhost_alias.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </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/2.4/mod/mod_vhost_alias.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/directives.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 : 1349158 -->
+<!-- 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_vhost_alias.xml.meta">
+
+<name>mod_vhost_alias</name>
+<description>Permet de configurer dynamiquement l'hébergement virtuel de
+masse</description>
+<status>Extension</status>
+<sourcefile>mod_vhost_alias.c</sourcefile>
+<identifier>vhost_alias_module</identifier>
+
+<summary>
+ <p>Ce module permet de créer des serveurs virtuels configurés
+ dynamiquement, en autorisant l'utilisation de l'adresse IP et/ou de
+ l'en-tête <code>Host:</code> de la requête HTTP comme partie du nom
+ de chemin afin de déterminer les fichiers à servir. Ceci facilite la
+ gestion d'un grand nombre de serveurs virtuels possèdant des
+ configurations similaires.</p>
+
+ <note><title>Note</title>
+ <p>Si les modules <module>mod_alias</module> ou
+ <module>mod_userdir</module> sont utilisés pour traduire les URIs
+ en noms de fichiers, ils l'emportent sur les directives du module
+ <module>mod_vhost_alias</module> décrites ci-dessous. Par
+ exemple, la configuration suivante fera correspondre <code>
+ /cgi-bin/script.pl</code> à <code>
+ /usr/local/apache2/cgi-bin/script.pl</code> dans tous les cas :</p>
+
+ <highlight language="config">
+ScriptAlias /cgi-bin/ /usr/local/apache2/cgi-bin/
+VirtualScriptAlias /never/found/%0/cgi-bin/
+ </highlight>
+ </note>
+</summary>
+
+<seealso><directive module="core">UseCanonicalName</directive></seealso>
+<seealso><a href="../vhosts/mass.html">Configuration dynamique de
+l'hébergement virtuel de masse</a></seealso>
+
+<section id="interpol">
+ <title>Interpolation du nom de répertoire</title>
+
+ <p>Toutes les directives de ce module insèrent une chaîne dans un
+ nom de chemin. La chaîne insérée (que nous appellerons maintenant le
+ "nom") peut être soit le nom du serveur (voir la directive
+ <directive module="core">UseCanonicalName</directive> pour les
+ détails sur la manière dont il est déterminé), soit l'adresse IP du
+ serveur virtuel hébergé par le serveur sous la forme d'un quadruplet
+ d'octets séparés par des points. L'insertion est contrôlée par des
+ spécificateurs inspirés de <code>printf</code> et possèdant de
+ nombreux formats :</p>
+
+<table>
+<columnspec><column width=".2"/><column width=".6"/></columnspec>
+<tr><td><code>%%</code></td>
+<td>insère un <code>%</code></td></tr>
+
+<tr><td><code>%p</code></td>
+<td>insère le numéro de port du serveur virtuel</td></tr>
+
+<tr><td><code>%N.M</code></td>
+<td>insère le nom (en partie)</td></tr>
+
+</table>
+
+ <p><code>N</code> et <code>M</code> permettent de spécifier des
+ sous-chaînes du nom. <code>N</code> sélectionne un des composants du
+ nom séparés par des points, et <code>M</code> sélectionne des
+ caractères à l'intérieur de ce que <code>N</code> a sélectionné.
+ <code>M</code> est optionnel et sa valeur par défaut est 0 s'il
+ n'est pas spécifié ; le point doit être présent si et seulement si
+ <code>M</code> l'est aussi. Les modes d'insertion sont les suivants
+ :</p>
+
+ <table>
+ <columnspec><column width=".1"/><column width=".4"/></columnspec>
+ <tr><td><code>0</code></td>
+ <td>le nom en entier</td></tr>
+
+ <tr><td><code>1</code></td>
+ <td>la première partie</td></tr>
+
+ <tr><td><code>2</code></td>
+ <td>la seconde partie</td></tr>
+
+ <tr><td><code>-1</code></td>
+ <td>la dernière partie</td></tr>
+
+ <tr><td><code>-2</code></td>
+ <td>l'avant-dernière partie</td></tr>
+
+ <tr><td><code>2+</code></td>
+ <td>toutes les parties à partir de la seconde</td></tr>
+
+ <tr><td><code>-2+</code></td>
+ <td>toutes les parties jusqu'à l'avant-dernière</td></tr>
+
+ <tr><td><code>1+</code> et <code>-1+</code></td>
+ <td>identique à <code>0</code></td></tr>
+ </table>
+
+ <p>Si <code>N</code> ou <code>M</code> est plus grand que le nombre
+ de parties disponibles, seul un caractère de soulignement est
+ inséré.</p>
+
+</section>
+
+<section id="examples">
+ <title>Exemples</title>
+
+ <p>Pour des serveurs virtuels simples à base de nom, utilisez les
+ directives suivantes dans le fichier de configuration de votre
+ serveur :</p>
+
+ <highlight language="config">
+UseCanonicalName Off
+VirtualDocumentRoot /usr/local/apache/vhosts/%0
+ </highlight>
+
+ <p>Une requête pour
+ <code>http://www.example.com/repertoire/fichier.html</code>
+ concernera alors la ressource
+ <code>/usr/local/apache/vhosts/www.example.com/repertoire/fichier.html</code>.
+ </p>
+
+ <p>Pour un très grand nombre de serveurs virtuels, il est avantageux
+ d'organiser les fichiers de façon à réduire la taille du répertoire
+ <code>vhosts</code>. Pour ce faire, insérez les lignes suivantes
+ dans votre fichier de configuration :</p>
+
+ <highlight language="config">
+UseCanonicalName Off
+VirtualDocumentRoot /usr/local/apache/vhosts/%3+/%2.1/%2.2/%2.3/%2
+ </highlight>
+
+ <p>Une requête pour
+ <code>http://www.domaine.example.com/repertoire/fichier.html</code>
+ concernera alors la ressource
+ <code>/usr/local/apache/vhosts/example.com/d/o/m/domaine/repertoire/fichier.html</code>.</p>
+
+ <p>Une répartition plus régulière des fichiers peut être obtenue en
+ partant de la fin d'un composant du nom, comme dans l'exemple
+ suivant :</p>
+
+<highlight language="config">
+ VirtualDocumentRoot /usr/local/apache/vhosts/%3+/%2.-1/%2.-2/%2.-3/%2
+</highlight>
+
+ <p>La requête précédente concernerait alors
+ <code>/usr/local/apache/vhosts/example.com/e/n/i/domaine/repertoire/fichier.html</code>.</p>
+
+ <p>Vous pouvez également utiliser : </p>
+
+<highlight language="config">
+ VirtualDocumentRoot /usr/local/apache/vhosts/%3+/%2.1/%2.2/%2.3/%2.4+
+</highlight>
+
+ <p>La requête précédente concernerait alors
+ <code>/usr/local/apache/vhosts/example.com/d/o/m/aine/repertoire/fichier.html</code>.</p>
+
+ <p>Une demande très courante des utilisateurs concerne la possibilité de
+ faire correspondre plusieurs racines de documents à plusieurs
+ domaines, sans avoir à se préoccuper de la longueur ou du nombre de
+ parties du nom d'hôte faisant partie de la requête. Si le nom d'hôte
+ de la requête est <code>sub.www.domain.example.com</code> au lieu de
+ simplement <code>www.domain.example.com</code>, alors en utilisant
+ %3+, la racine des documents sera
+ <code>/usr/local/apache/vhosts/domain.example.com/...</code> au
+ lieu du répertoire <code>example.com</code> attendu. Dans ce genre
+ de situation, il peut s'avérer préférable d'utiliser la combinaison
+ <code>%-2.0.%-1.0</code> qui fournira toujours le nom de domaine et
+ le tld, par exemple <code>example.com</code> sans tenir compte du
+ nombre de sous-domaines ajoutés au nom d'hôte. Dans ces conditions,
+ il est possible d'élaborer une configuration qui associera les
+ sous-domaines de premier, second et troisième niveau au même
+ répertoire :
+</p>
+<highlight language="config">
+ VirtualDocumentRoot "/usr/local/apache/vhosts/%-2.0.%-1.0"
+</highlight>
+<p>
+Dans l'exemple ci-dessus, <code>www.example.com</code>,
+<code>www.sub.example.com</code> ou <code>example.com</code>
+correspondront tous au répertoire
+<code>/usr/local/apache/vhosts/example.com</code>.
+</p>
+
+
+
+ <p>Pour l'hébergement virtuel à base d'adresse IP, vous pouvez
+ insérer les lignes suivantes dans votre fichier de configuration
+ :</p>
+
+ <highlight language="config">
+UseCanonicalName DNS
+VirtualDocumentRootIP /usr/local/apache/vhosts/%1/%2/%3/%4/docs
+VirtualScriptAliasIP /usr/local/apache/vhosts/%1/%2/%3/%4/cgi-bin
+ </highlight>
+
+ <p>Si l'adresse IP de <code>www.domaine.example.com</code> est
+ 10.20.30.40, une requête pour
+ <code>http://www.domaine.example.com/repertoire/fichier.html</code>
+ concernera la ressource
+ <code>/usr/local/apache/vhosts/10/20/30/40/docs/repertoire/fichier.html</code>.
+ Une requête pour
+ <code>http://www.domaine.example.com/cgi-bin/script.pl</code>
+ concernera la ressource
+ <code>/usr/local/apache/vhosts/10/20/30/40/cgi-bin/script.pl</code>.</p>
+
+ <p>Si vous voulez insérer le caractère <code>.</code> dans une
+ directive <code>VirtualDocumentRoot</code>, et si cela crée un
+ conflit avec un spécificateur <code>%</code>, vous pouvez contourner
+ le problème de la manière suivante :</p>
+
+<highlight language="config">
+ VirtualDocumentRoot /usr/local/apache/vhosts/%2.0.%3.0
+</highlight>
+
+ <p>Une requête pour
+ <code>http://www.domaine.example.com/repertoire/fichier.html</code>
+ concernera alors la ressource
+ <code>/usr/local/apache/vhosts/domaine.exemple/repertoire/fichier.html</code>.</p>
+
+ <p>Les spécificateurs de format <code>%V</code> et <code>%A</code>
+ de la directive <directive
+ module="mod_log_config">LogFormat</directive> s'avèrent très utiles
+ lorsqu'ils sont utilisés en conjonction avec ce module.</p>
+</section>
+
+<directivesynopsis>
+<name>VirtualDocumentRoot</name>
+<description>Permet une configuration dynamique de la racine des
+documents d'un serveur virtuel donné</description>
+<syntax>VirtualDocumentRoot <em>répertoire-interpolé</em>|none</syntax>
+<default>VirtualDocumentRoot none</default>
+<contextlist>
+<context>server config</context>
+<context>virtual host</context>
+</contextlist>
+
+<usage>
+
+ <p>La directive <directive>VirtualDocumentRoot</directive> vous
+ permet de spécifier où le serveur HTTP Apache pourra trouver vos
+ documents en se basant
+ sur le nom du serveur. Le résultat de l'expansion du
+ <em>répertoire-interpolé</em> est utilisé comme racine de
+ l'arborescence des documents d'une manière similaire à l'argument de
+ la directive <directive module="core">DocumentRoot</directive>. Si
+ <em>répertoire-interpolé</em> a pour valeur <code>none</code>, la
+ directive <directive>VirtualDocumentRoot</directive> est désactivée.
+ Cette directive ne peut pas être utilisée dans le même contexte que
+ la directive <directive
+ module="mod_vhost_alias">VirtualDocumentRootIP</directive>.</p>
+
+<note type="warning"><title>Note</title>
+La directive <directive>VirtualDocumentRoot</directive> l'emporte sur
+toute directive <directive module="core">DocumentRoot</directive>
+définie dans le même contexte ou dans des contextes enfants. Le fait de
+définir une directive <directive>VirtualDocumentRoot</directive> dans le
+contexte du serveur principal va effectivement l'emporter sur toute
+directive <directive module="core">DocumentRoot</directive> définie dans
+un serveur virtuel quelconque, si vous n'avez pas défini
+<directive>VirtualDocumentRoot</directive> à <code>None</code> dans ce
+serveur virtuel.
+</note>
+
+</usage>
+</directivesynopsis>
+
+<directivesynopsis>
+<name>VirtualDocumentRootIP</name>
+<description>Configuration dynamique de la racine des documents pour un
+serveur virtuel donné</description>
+<syntax>VirtualDocumentRootIP <em>répertoire-interpolé</em>|none</syntax>
+<default>VirtualDocumentRootIP none</default>
+<contextlist>
+<context>server config</context>
+<context>virtual host</context>
+</contextlist>
+
+<usage>
+
+<p>La directive <directive>VirtualDocumentRootIP</directive> est
+identique à la directive <directive
+module="mod_vhost_alias">VirtualDocumentRoot</directive> à l'exception
+près qu'elle utilise l'adresse IP du serveur virtuel pour
+l'interpolation du répertoire à la place du nom du serveur.</p>
+</usage>
+</directivesynopsis>
+
+<directivesynopsis>
+<name>VirtualScriptAlias</name>
+<description>Configuration dynamique du répertoire des scripts CGI pour
+un serveur virtuel donné</description>
+<syntax>VirtualScriptAlias <em>répertoire-interpolé</em>|none</syntax>
+<default>VirtualScriptAlias none</default>
+<contextlist>
+<context>server config</context>
+<context>virtual host</context>
+</contextlist>
+
+<usage>
+
+ <p>La directive <directive>VirtualScriptAlias</directive> vous
+ permet de spécifier où Apache httpd pourra trouver les scripts CGI selon une
+ méthode similaire à celle qu'utilise la directive <directive
+ module="mod_vhost_alias">VirtualDocumentRoot</directive> pour les
+ autres documents. Elle recherche des requêtes dont l'URI commence
+ par <code>/cgi-bin/</code>, comme le ferait la directive <directive
+ module="mod_alias">ScriptAlias</directive>.</p>
+
+</usage>
+</directivesynopsis>
+
+<directivesynopsis>
+<name>VirtualScriptAliasIP</name>
+<description>Configuration dynamique du répertoire des scripts CGI pour
+un serveur virtuel donné</description>
+<syntax>VirtualScriptAliasIP <em>répertoire-interpolé</em>|none</syntax>
+<default>VirtualScriptAliasIP none</default>
+<contextlist>
+<context>server config</context>
+<context>virtual host</context>
+</contextlist>
+
+<usage>
+
+ <p>La directive <directive>VirtualScriptAliasIP</directive> est
+ identique à la directive <directive
+ module="mod_vhost_alias">VirtualScriptAlias</directive> à
+ l'exception près qu'elle utilise l'adresse IP du serveur virtuel
+ pour l'interpolation du répertoire à la place du nom du serveur.</p>
+
+ </usage>
+
+</directivesynopsis>
+</modulesynopsis>
+
<variants>
<variant>en</variant>
+ <variant>fr</variant>
<variant outdated="yes">tr</variant>
</variants>
</metafile>