diff options
author | Vincent Deffontaines <gryzor@apache.org> | 2017-01-26 21:02:25 +0100 |
---|---|---|
committer | Vincent Deffontaines <gryzor@apache.org> | 2017-01-26 21:02:25 +0100 |
commit | ae6b0541d5bf72b6086dff0a5bc075641e300073 (patch) | |
tree | 0d99485f92126a7b05908bcb3d5a14cba3f9e764 | |
parent | documentation rebuild (diff) | |
download | apache2-ae6b0541d5bf72b6086dff0a5bc075641e300073.tar.xz apache2-ae6b0541d5bf72b6086dff0a5bc075641e300073.zip |
Adding .fr translation from the french doc translation project. Credits go to lgentis
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1780462 13f79535-47bb-0310-9956-ffa450edef68
198 files changed, 31806 insertions, 110 deletions
diff --git a/docs/manual/mod/allmodules.xml.fr b/docs/manual/mod/allmodules.xml.fr index dea83dbcaf..264fe8edd7 100644 --- a/docs/manual/mod/allmodules.xml.fr +++ b/docs/manual/mod/allmodules.xml.fr @@ -53,82 +53,82 @@ <modulefile>mod_expires.xml.fr</modulefile> <modulefile>mod_ext_filter.xml.fr</modulefile> <modulefile>mod_file_cache.xml.fr</modulefile> - <modulefile>mod_filter.xml</modulefile> + <modulefile>mod_filter.xml.fr</modulefile> <modulefile>mod_firehose.xml</modulefile> <modulefile>mod_headers.xml.fr</modulefile> - <modulefile>mod_heartbeat.xml</modulefile> - <modulefile>mod_heartmonitor.xml</modulefile> + <modulefile>mod_heartbeat.xml.fr</modulefile> + <modulefile>mod_heartmonitor.xml.fr</modulefile> <modulefile>mod_http2.xml</modulefile> <modulefile>mod_ident.xml.fr</modulefile> - <modulefile>mod_imagemap.xml</modulefile> - <modulefile>mod_include.xml</modulefile> + <modulefile>mod_imagemap.xml.fr</modulefile> + <modulefile>mod_include.xml.fr</modulefile> <modulefile>mod_info.xml.fr</modulefile> - <modulefile>mod_isapi.xml</modulefile> + <modulefile>mod_isapi.xml.fr</modulefile> <modulefile>mod_journald.xml</modulefile> - <modulefile>mod_lbmethod_bybusyness.xml</modulefile> - <modulefile>mod_lbmethod_byrequests.xml</modulefile> - <modulefile>mod_lbmethod_bytraffic.xml</modulefile> - <modulefile>mod_lbmethod_heartbeat.xml</modulefile> + <modulefile>mod_lbmethod_bybusyness.xml.fr</modulefile> + <modulefile>mod_lbmethod_byrequests.xml.fr</modulefile> + <modulefile>mod_lbmethod_bytraffic.xml.fr</modulefile> + <modulefile>mod_lbmethod_heartbeat.xml.fr</modulefile> <modulefile>mod_ldap.xml.fr</modulefile> - <modulefile>mod_log_config.xml</modulefile> - <modulefile>mod_log_debug.xml</modulefile> + <modulefile>mod_log_config.xml.fr</modulefile> + <modulefile>mod_log_debug.xml.fr</modulefile> <modulefile>mod_log_forensic.xml.fr</modulefile> - <modulefile>mod_logio.xml</modulefile> + <modulefile>mod_logio.xml.fr</modulefile> <modulefile>mod_lua.xml.fr</modulefile> <modulefile>mod_macro.xml.fr</modulefile> - <modulefile>mod_mime.xml</modulefile> - <modulefile>mod_mime_magic.xml</modulefile> + <modulefile>mod_mime.xml.fr</modulefile> + <modulefile>mod_mime_magic.xml.fr</modulefile> <modulefile>mod_negotiation.xml.fr</modulefile> - <modulefile>mod_nw_ssl.xml</modulefile> + <modulefile>mod_nw_ssl.xml.fr</modulefile> <modulefile>mod_policy.xml</modulefile> - <modulefile>mod_privileges.xml</modulefile> + <modulefile>mod_privileges.xml.fr</modulefile> <modulefile>mod_proxy.xml.fr</modulefile> - <modulefile>mod_proxy_ajp.xml</modulefile> - <modulefile>mod_proxy_balancer.xml</modulefile> - <modulefile>mod_proxy_connect.xml</modulefile> - <modulefile>mod_proxy_express.xml</modulefile> - <modulefile>mod_proxy_fcgi.xml</modulefile> - <modulefile>mod_proxy_fdpass.xml</modulefile> - <modulefile>mod_proxy_ftp.xml</modulefile> + <modulefile>mod_proxy_ajp.xml.fr</modulefile> + <modulefile>mod_proxy_balancer.xml.fr</modulefile> + <modulefile>mod_proxy_connect.xml.fr</modulefile> + <modulefile>mod_proxy_express.xml.fr</modulefile> + <modulefile>mod_proxy_fcgi.xml.fr</modulefile> + <modulefile>mod_proxy_fdpass.xml.fr</modulefile> + <modulefile>mod_proxy_ftp.xml.fr</modulefile> <modulefile>mod_proxy_hcheck.xml</modulefile> - <modulefile>mod_proxy_html.xml</modulefile> + <modulefile>mod_proxy_html.xml.fr</modulefile> <modulefile>mod_proxy_http.xml.fr</modulefile> <modulefile>mod_proxy_http2.xml</modulefile> - <modulefile>mod_proxy_scgi.xml</modulefile> + <modulefile>mod_proxy_scgi.xml.fr</modulefile> <modulefile>mod_proxy_wstunnel.xml</modulefile> - <modulefile>mod_ratelimit.xml</modulefile> - <modulefile>mod_reflector.xml</modulefile> + <modulefile>mod_ratelimit.xml.fr</modulefile> + <modulefile>mod_reflector.xml.fr</modulefile> <modulefile>mod_remoteip.xml.fr</modulefile> - <modulefile>mod_reqtimeout.xml</modulefile> - <modulefile>mod_request.xml</modulefile> + <modulefile>mod_reqtimeout.xml.fr</modulefile> + <modulefile>mod_request.xml.fr</modulefile> <modulefile>mod_rewrite.xml.fr</modulefile> <modulefile>mod_sed.xml.fr</modulefile> - <modulefile>mod_session.xml</modulefile> - <modulefile>mod_session_cookie.xml</modulefile> - <modulefile>mod_session_crypto.xml</modulefile> - <modulefile>mod_session_dbd.xml</modulefile> + <modulefile>mod_session.xml.fr</modulefile> + <modulefile>mod_session_cookie.xml.fr</modulefile> + <modulefile>mod_session_crypto.xml.fr</modulefile> + <modulefile>mod_session_dbd.xml.fr</modulefile> <modulefile>mod_setenvif.xml.fr</modulefile> - <modulefile>mod_slotmem_plain.xml</modulefile> - <modulefile>mod_slotmem_shm.xml</modulefile> + <modulefile>mod_slotmem_plain.xml.fr</modulefile> + <modulefile>mod_slotmem_shm.xml.fr</modulefile> <modulefile>mod_so.xml.fr</modulefile> - <modulefile>mod_socache_dbm.xml</modulefile> - <modulefile>mod_socache_dc.xml</modulefile> - <modulefile>mod_socache_memcache.xml</modulefile> - <modulefile>mod_socache_shmcb.xml</modulefile> - <modulefile>mod_speling.xml</modulefile> - <modulefile>mod_ssl.xml</modulefile> + <modulefile>mod_socache_dbm.xml.fr</modulefile> + <modulefile>mod_socache_dc.xml.fr</modulefile> + <modulefile>mod_socache_memcache.xml.fr</modulefile> + <modulefile>mod_socache_shmcb.xml.fr</modulefile> + <modulefile>mod_speling.xml.fr</modulefile> + <modulefile>mod_ssl.xml.fr</modulefile> <modulefile>mod_ssl_ct.xml</modulefile> <modulefile>mod_status.xml.fr</modulefile> - <modulefile>mod_substitute.xml</modulefile> - <modulefile>mod_suexec.xml</modulefile> + <modulefile>mod_substitute.xml.fr</modulefile> + <modulefile>mod_suexec.xml.fr</modulefile> <modulefile>mod_syslog.xml</modulefile> <modulefile>mod_systemd.xml</modulefile> <modulefile>mod_unique_id.xml.fr</modulefile> - <modulefile>mod_unixd.xml</modulefile> - <modulefile>mod_userdir.xml</modulefile> - <modulefile>mod_usertrack.xml</modulefile> + <modulefile>mod_unixd.xml.fr</modulefile> + <modulefile>mod_userdir.xml.fr</modulefile> + <modulefile>mod_usertrack.xml.fr</modulefile> <modulefile>mod_version.xml</modulefile> - <modulefile>mod_vhost_alias.xml</modulefile> + <modulefile>mod_vhost_alias.xml.fr</modulefile> <modulefile>mod_watchdog.xml</modulefile> <modulefile>mod_xml2enc.xml</modulefile> <modulefile>mpm_common.xml</modulefile> diff --git a/docs/manual/mod/core.html.fr b/docs/manual/mod/core.html.fr index bdc68d71a7..5dc6569719 100644 --- a/docs/manual/mod/core.html.fr +++ b/docs/manual/mod/core.html.fr @@ -33,6 +33,8 @@ <a href="../ja/mod/core.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | <a href="../tr/mod/core.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> </div> +<div class="outofdate">Cette traduction peut être périmée. Vérifiez la version + anglaise pour les changements récents.</div> <table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Fonctionnalités de base du serveur HTTP Apache toujours disponibles</td></tr> <tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Core</td></tr></table> diff --git a/docs/manual/mod/index.html.fr b/docs/manual/mod/index.html.fr index 5bb44edc03..310e99776d 100644 --- a/docs/manual/mod/index.html.fr +++ b/docs/manual/mod/index.html.fr @@ -155,125 +155,148 @@ l'utilisateur</dd> externe avant de l'envoyer au client</dd> <dt><a href="mod_file_cache.html" id="F" name="F">mod_file_cache</a></dt><dd>Mise en cache mémoire d'une liste statique de fichiers</dd> -<dt><a href="mod_filter.html">mod_filter</a></dt><dd>Context-sensitive smart filter configuration module</dd> +<dt><a href="mod_filter.html">mod_filter</a></dt><dd>Module de configuration de filtre intelligent sensible au +contexte</dd> <dt><a href="mod_firehose.html">mod_firehose</a></dt><dd>Multiplexes all I/O to a given file or pipe.</dd> <dt><a href="mod_headers.html" id="H" name="H">mod_headers</a></dt><dd>Personnalisation des en-têtes de requêtes et de réponses HTTP</dd> -<dt><a href="mod_heartbeat.html">mod_heartbeat</a></dt><dd>Sends messages with server status to frontend proxy</dd> -<dt><a href="mod_heartmonitor.html">mod_heartmonitor</a></dt><dd>Centralized monitor for mod_heartbeat origin servers</dd> +<dt><a href="mod_heartbeat.html">mod_heartbeat</a></dt><dd>Envoie des messages d'état au mandataire frontal</dd> +<dt><a href="mod_heartmonitor.html">mod_heartmonitor</a></dt><dd>Moniteur centralisé pour les serveurs d'origine mod_heartbeat</dd> <dt><a href="mod_http2.html">mod_http2</a></dt><dd>Support for the HTTP/2 transport layer</dd> <dt><a href="mod_ident.html" id="I" name="I">mod_ident</a></dt><dd>Recherche d'identité conformément à la RFC 1413</dd> -<dt><a href="mod_imagemap.html">mod_imagemap</a></dt><dd>Server-side imagemap processing</dd> -<dt><a href="mod_include.html">mod_include</a></dt><dd>Server-parsed html documents (Server Side Includes)</dd> +<dt><a href="mod_imagemap.html">mod_imagemap</a></dt><dd>Traitement des cartes des zones interactives d'une image +(imagemaps) au niveau du serveur</dd> +<dt><a href="mod_include.html">mod_include</a></dt><dd>Documents html interprétés par le serveur (Server Side +Includes ou SSI)</dd> <dt><a href="mod_info.html">mod_info</a></dt><dd>Affiche une présentation complète de la configuration du serveur</dd> -<dt><a href="mod_isapi.html">mod_isapi</a></dt><dd>ISAPI Extensions within Apache for Windows</dd> +<dt><a href="mod_isapi.html">mod_isapi</a></dt><dd>Extensions ISAPI dans Apache pour Windows</dd> <dt><a href="mod_journald.html" id="J" name="J">mod_journald</a></dt><dd>Provides "journald" ErrorLog provider</dd> -<dt><a href="mod_lbmethod_bybusyness.html" id="L" name="L">mod_lbmethod_bybusyness</a></dt><dd>Pending Request Counting load balancer scheduler algorithm for <code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code></dd> -<dt><a href="mod_lbmethod_byrequests.html">mod_lbmethod_byrequests</a></dt><dd>Request Counting load balancer scheduler algorithm for <code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code></dd> -<dt><a href="mod_lbmethod_bytraffic.html">mod_lbmethod_bytraffic</a></dt><dd>Weighted Traffic Counting load balancer scheduler algorithm for <code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code></dd> -<dt><a href="mod_lbmethod_heartbeat.html">mod_lbmethod_heartbeat</a></dt><dd>Heartbeat Traffic Counting load balancer scheduler algorithm for <code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code></dd> +<dt><a href="mod_lbmethod_bybusyness.html" id="L" name="L">mod_lbmethod_bybusyness</a></dt><dd>Algorithme de planification avec répartition de charge de +l'attribution des requêtes en attente pour le module +<code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code></dd> +<dt><a href="mod_lbmethod_byrequests.html">mod_lbmethod_byrequests</a></dt><dd>Algorithme de planification avec répartition de charge du +traitement des requêtes pour le module +<code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code></dd> +<dt><a href="mod_lbmethod_bytraffic.html">mod_lbmethod_bytraffic</a></dt><dd>Algorithme de planification avec répartition de charge en +fonction d'un niveau de trafic pour le module +<code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code></dd> +<dt><a href="mod_lbmethod_heartbeat.html">mod_lbmethod_heartbeat</a></dt><dd>Algorithme d'ordonnancement de répartition de charge pour +<code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code> basé sur le comptage de trafic Heartbeat</dd> <dt><a href="mod_ldap.html">mod_ldap</a></dt><dd>Conservation des connexions LDAP et services de mise en cache du résultat à destination des autres modules LDAP</dd> -<dt><a href="mod_log_config.html">mod_log_config</a></dt><dd>Logging of the requests made to the server</dd> -<dt><a href="mod_log_debug.html">mod_log_debug</a></dt><dd>Additional configurable debug logging</dd> +<dt><a href="mod_log_config.html">mod_log_config</a></dt><dd>Journalisation des requêtes envoyées au +serveur</dd> +<dt><a href="mod_log_debug.html">mod_log_debug</a></dt><dd>Possibilité de journalisation supplémentaire à des fins de +débogage</dd> <dt><a href="mod_log_forensic.html">mod_log_forensic</a></dt><dd>Journalisation légale des requêtes envoyées au serveur</dd> -<dt><a href="mod_logio.html">mod_logio</a></dt><dd>Logging of input and output bytes per request</dd> +<dt><a href="mod_logio.html">mod_logio</a></dt><dd>Journalisation des octets en entrée et en sortie pour +chaque requête</dd> <dt><a href="mod_lua.html">mod_lua</a></dt><dd>Fournit des points d'entrée Lua dans différentes parties du traitement des requêtes httpd</dd> <dt><a href="mod_macro.html" id="M" name="M">mod_macro</a></dt><dd>Ce module permet d'utiliser des macros dans les fichiers de configuration Apache.</dd> -<dt><a href="mod_mime.html">mod_mime</a></dt><dd>Associates the requested filename's extensions - with the file's behavior (handlers and filters) - and content (mime-type, language, character set and - encoding)</dd> -<dt><a href="mod_mime_magic.html">mod_mime_magic</a></dt><dd>Determines the MIME type of a file - by looking at a few bytes of its contents</dd> +<dt><a href="mod_mime.html">mod_mime</a></dt><dd>Associe les extensions des fichiers demandés avec l'action +déclenchée par ces fichiers et avec leur contenu (type MIME, langage, +jeu de caractère et codage)</dd> +<dt><a href="mod_mime_magic.html">mod_mime_magic</a></dt><dd>Détermine le type MIME d'un fichier à partir de quelques +octets de son contenu</dd> <dt><a href="mod_negotiation.html" id="N" name="N">mod_negotiation</a></dt><dd>Effectue la <a href="../content-negotiation.html">négociation de contenu</a></dd> -<dt><a href="mod_nw_ssl.html">mod_nw_ssl</a></dt><dd>Enable SSL encryption for NetWare</dd> +<dt><a href="mod_nw_ssl.html">mod_nw_ssl</a></dt><dd>Active le chiffrement SSL pour Netware</dd> <dt><a href="mod_policy.html" id="P" name="P">mod_policy</a></dt><dd>HTTP protocol compliance enforcement.</dd> -<dt><a href="mod_privileges.html">mod_privileges</a></dt><dd>Support for Solaris privileges and for running virtual hosts -under different user IDs.</dd> +<dt><a href="mod_privileges.html">mod_privileges</a></dt><dd>Support des privilèges de Solaris et de l'exécution des +serveurs virtuels sous différents identifiants +utilisateurs.</dd> <dt><a href="mod_proxy.html">mod_proxy</a></dt><dd>Serveur mandataire/passerelle multi-protocole</dd> -<dt><a href="mod_proxy_ajp.html">mod_proxy_ajp</a></dt><dd>AJP support module for -<code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></dd> -<dt><a href="mod_proxy_balancer.html">mod_proxy_balancer</a></dt><dd><code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> extension for load balancing </dd> -<dt><a href="mod_proxy_connect.html">mod_proxy_connect</a></dt><dd><code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> extension for -<code>CONNECT</code> request handling</dd> -<dt><a href="mod_proxy_express.html">mod_proxy_express</a></dt><dd>Dynamic mass reverse proxy extension for +<dt><a href="mod_proxy_ajp.html">mod_proxy_ajp</a></dt><dd>Module de support AJP pour <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></dd> -<dt><a href="mod_proxy_fcgi.html">mod_proxy_fcgi</a></dt><dd>FastCGI support module for +<dt><a href="mod_proxy_balancer.html">mod_proxy_balancer</a></dt><dd>Extension de <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> pour le support de +la répartition de charge</dd> +<dt><a href="mod_proxy_connect.html">mod_proxy_connect</a></dt><dd>Extension de <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> pour le traitement +des requêtes <code>CONNECT</code></dd> +<dt><a href="mod_proxy_express.html">mod_proxy_express</a></dt><dd>Extension à <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> pour le mandatement +dynamique inverse de masse</dd> +<dt><a href="mod_proxy_fcgi.html">mod_proxy_fcgi</a></dt><dd>Module fournissant le support de FastCGI à <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></dd> -<dt><a href="mod_proxy_fdpass.html">mod_proxy_fdpass</a></dt><dd>fdpass external process support module for -<code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></dd> -<dt><a href="mod_proxy_ftp.html">mod_proxy_ftp</a></dt><dd>FTP support module for +<dt><a href="mod_proxy_fdpass.html">mod_proxy_fdpass</a></dt><dd>Module fournissant le support des processus externes fdpass +à <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></dd> +<dt><a href="mod_proxy_ftp.html">mod_proxy_ftp</a></dt><dd>Module fournissant le support FTP à <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></dd> <dt><a href="mod_proxy_hcheck.html">mod_proxy_hcheck</a></dt><dd>Dynamic health check of Balancer members (workers) for <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></dd> -<dt><a href="mod_proxy_html.html">mod_proxy_html</a></dt><dd>Rewrite HTML links in to ensure they are addressable -from Clients' networks in a proxy context.</dd> +<dt><a href="mod_proxy_html.html">mod_proxy_html</a></dt><dd>Réécrit les liens HTML afin de s'assurer qu'ils soient bien +adressables depuis les réseaux des clients dans un contexte de +mandataire.</dd> <dt><a href="mod_proxy_http.html">mod_proxy_http</a></dt><dd>Module fournissant le support HTTP à <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></dd> <dt><a href="mod_proxy_http2.html">mod_proxy_http2</a></dt><dd>HTTP/2 support module for <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></dd> -<dt><a href="mod_proxy_scgi.html">mod_proxy_scgi</a></dt><dd>SCGI gateway module for <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></dd> +<dt><a href="mod_proxy_scgi.html">mod_proxy_scgi</a></dt><dd>Module fournissant le support de la passerelle SCGI à +<code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></dd> <dt><a href="mod_proxy_wstunnel.html">mod_proxy_wstunnel</a></dt><dd>Websockets support module for <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></dd> -<dt><a href="mod_ratelimit.html" id="R" name="R">mod_ratelimit</a></dt><dd>Bandwidth Rate Limiting for Clients</dd> -<dt><a href="mod_reflector.html">mod_reflector</a></dt><dd>Reflect a request body as a response via the output filter stack.</dd> +<dt><a href="mod_ratelimit.html" id="R" name="R">mod_ratelimit</a></dt><dd>Limitation de la bande passante pour les clients</dd> +<dt><a href="mod_reflector.html">mod_reflector</a></dt><dd>Renvoie un corps de requête comme réponse via la pile de +filtres en sortie.</dd> <dt><a href="mod_remoteip.html">mod_remoteip</a></dt><dd>Remplace l'adresse IP du client pour la requête par l'adresse IP présentée par un mandataire ou un répartiteur de charge via les en-têtes de la requête. </dd> -<dt><a href="mod_reqtimeout.html">mod_reqtimeout</a></dt><dd>Set timeout and minimum data rate for receiving requests +<dt><a href="mod_reqtimeout.html">mod_reqtimeout</a></dt><dd>Définit le délai maximum et le taux de transfert des +données minimum pour la réception des requêtes </dd> -<dt><a href="mod_request.html">mod_request</a></dt><dd>Filters to handle and make available HTTP request bodies</dd> +<dt><a href="mod_request.html">mod_request</a></dt><dd>Filtres permettant de traiter et de mettre à disposition +les corps de requêtes HTTP</dd> <dt><a href="mod_rewrite.html">mod_rewrite</a></dt><dd>Ce module fournit un moteur de réécriture à base de règles permettant de réécrire les URLs des requêtes à la volée</dd> <dt><a href="mod_sed.html" id="S" name="S">mod_sed</a></dt><dd>Filtre les contenus en entrée (requêtes) et en sortie (réponses) en utilisant la syntaxe de <code>sed</code></dd> -<dt><a href="mod_session.html">mod_session</a></dt><dd>Session support</dd> -<dt><a href="mod_session_cookie.html">mod_session_cookie</a></dt><dd>Cookie based session support</dd> -<dt><a href="mod_session_crypto.html">mod_session_crypto</a></dt><dd>Session encryption support</dd> -<dt><a href="mod_session_dbd.html">mod_session_dbd</a></dt><dd>DBD/SQL based session support</dd> +<dt><a href="mod_session.html">mod_session</a></dt><dd>Support des sessions</dd> +<dt><a href="mod_session_cookie.html">mod_session_cookie</a></dt><dd>Support des sessions basé sur les cookies</dd> +<dt><a href="mod_session_crypto.html">mod_session_crypto</a></dt><dd>Support du chiffrement des sessions</dd> +<dt><a href="mod_session_dbd.html">mod_session_dbd</a></dt><dd>Support des session basé sur DBD/SQL</dd> <dt><a href="mod_setenvif.html">mod_setenvif</a></dt><dd>Permet de définir des variables d'environnement en fonction de certaines caractéristiques de la requête</dd> -<dt><a href="mod_slotmem_plain.html">mod_slotmem_plain</a></dt><dd>Slot-based shared memory provider.</dd> -<dt><a href="mod_slotmem_shm.html">mod_slotmem_shm</a></dt><dd>Slot-based shared memory provider.</dd> +<dt><a href="mod_slotmem_plain.html">mod_slotmem_plain</a></dt><dd>Fournisseur de mémoire partagée à base de +slots.</dd> +<dt><a href="mod_slotmem_shm.html">mod_slotmem_shm</a></dt><dd>Fournisseur de mémoire partagée basée sur les +slots.</dd> <dt><a href="mod_so.html">mod_so</a></dt><dd>Chargement de modules ou de code exécutable au cours du démarrage ou du redémarrage du serveur</dd> -<dt><a href="mod_socache_dbm.html">mod_socache_dbm</a></dt><dd>DBM based shared object cache provider.</dd> -<dt><a href="mod_socache_dc.html">mod_socache_dc</a></dt><dd>Distcache based shared object cache provider.</dd> -<dt><a href="mod_socache_memcache.html">mod_socache_memcache</a></dt><dd>Memcache based shared object cache provider.</dd> -<dt><a href="mod_socache_shmcb.html">mod_socache_shmcb</a></dt><dd>shmcb based shared object cache provider.</dd> -<dt><a href="mod_speling.html">mod_speling</a></dt><dd>Attempts to correct mistaken URLs by ignoring -capitalization, or attempting to correct various minor -misspellings.</dd> -<dt><a href="mod_ssl.html">mod_ssl</a></dt><dd>Strong cryptography using the Secure Sockets -Layer (SSL) and Transport Layer Security (TLS) protocols</dd> +<dt><a href="mod_socache_dbm.html">mod_socache_dbm</a></dt><dd>Fournisseur de cache d'objets partagés basé sur DBM.</dd> +<dt><a href="mod_socache_dc.html">mod_socache_dc</a></dt><dd>Fournisseur de cache d'objets partagés basé sur dc.</dd> +<dt><a href="mod_socache_memcache.html">mod_socache_memcache</a></dt><dd>Fournisseur de cache d'objets partagés basé sur Memcache.</dd> +<dt><a href="mod_socache_shmcb.html">mod_socache_shmcb</a></dt><dd>Fournisseur de cache d'objets partagés basé sur shmcb.</dd> +<dt><a href="mod_speling.html">mod_speling</a></dt><dd>Tente de corriger les erreurs de casse dans les URLs ou les +erreurs d'écriture mineures.</dd> +<dt><a href="mod_ssl.html">mod_ssl</a></dt><dd>Chiffrement de haut niveau basé sur les protocoles Secure +Sockets Layer (SSL) et Transport Layer Security (TLS)</dd> <dt><a href="mod_ssl_ct.html">mod_ssl_ct</a></dt><dd>Implementation of Certificate Transparency (RFC 6962) </dd> <dt><a href="mod_status.html">mod_status</a></dt><dd>Fournit des informations sur les performances et l'activité du serveur</dd> -<dt><a href="mod_substitute.html">mod_substitute</a></dt><dd>Perform search and replace operations on response bodies</dd> -<dt><a href="mod_suexec.html">mod_suexec</a></dt><dd>Allows CGI scripts to run as a specified user -and Group</dd> +<dt><a href="mod_substitute.html">mod_substitute</a></dt><dd>Effectue des opérations de recherche/remplacement sur les +corps de réponses</dd> +<dt><a href="mod_suexec.html">mod_suexec</a></dt><dd>Permet l'exécution des scripts CGI sous l'utilisateur et +le groupe spécifiés</dd> <dt><a href="mod_syslog.html">mod_syslog</a></dt><dd>Provides "syslog" ErrorLog provider</dd> <dt><a href="mod_systemd.html">mod_systemd</a></dt><dd>Provides better support for systemd integration</dd> <dt><a href="mod_unique_id.html" id="U" name="U">mod_unique_id</a></dt><dd>Fournit une variable d'environnement contenant un identifiant unique pour chaque requête</dd> -<dt><a href="mod_unixd.html">mod_unixd</a></dt><dd>Basic (required) security for Unix-family platforms.</dd> -<dt><a href="mod_userdir.html">mod_userdir</a></dt><dd>User-specific directories</dd> +<dt><a href="mod_unixd.html">mod_unixd</a></dt><dd>Sécurité de base (nécessaire) pour les plates-formes de la +famille Unix.</dd> +<dt><a href="mod_userdir.html">mod_userdir</a></dt><dd>Répertoires propres à un utilisateur</dd> <dt><a href="mod_usertrack.html">mod_usertrack</a></dt><dd> -<em>Clickstream</em> logging of user activity on a site +Journalisation <em>Clickstream</em> des liens parcourus par un +utilisateur sur un site </dd> <dt><a href="mod_version.html" id="V" name="V">mod_version</a></dt><dd>Version dependent configuration</dd> -<dt><a href="mod_vhost_alias.html">mod_vhost_alias</a></dt><dd>Provides for dynamically configured mass virtual -hosting</dd> +<dt><a href="mod_vhost_alias.html">mod_vhost_alias</a></dt><dd>Permet de configurer dynamiquement l'hébergement virtuel de +masse</dd> <dt><a href="mod_watchdog.html" id="W" name="W">mod_watchdog</a></dt><dd>provides infrastructure for other modules to periodically run tasks</dd> <dt><a href="mod_xml2enc.html" id="X" name="X">mod_xml2enc</a></dt><dd>Enhanced charset/internationalisation support for libxml2-based diff --git a/docs/manual/mod/mod_authnz_ldap.html.fr b/docs/manual/mod/mod_authnz_ldap.html.fr index 6a2949ec47..c0b0600876 100644 --- a/docs/manual/mod/mod_authnz_ldap.html.fr +++ b/docs/manual/mod/mod_authnz_ldap.html.fr @@ -29,6 +29,8 @@ <p><span>Langues Disponibles: </span><a href="../en/mod/mod_authnz_ldap.html" hreflang="en" rel="alternate" title="English"> en </a> | <a href="../fr/mod/mod_authnz_ldap.html" title="Français"> fr </a></p> </div> +<div class="outofdate">Cette traduction peut être périmée. Vérifiez la version + anglaise pour les changements récents.</div> <table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Permet d'utiliser un annuaire LDAP pour l'authentification HTTP de base.</td></tr> <tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Extension</td></tr> diff --git a/docs/manual/mod/mod_cache.html.fr b/docs/manual/mod/mod_cache.html.fr index fea3eadc64..5db656871b 100644 --- a/docs/manual/mod/mod_cache.html.fr +++ b/docs/manual/mod/mod_cache.html.fr @@ -31,6 +31,8 @@ <a href="../ja/mod/mod_cache.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | <a href="../ko/mod/mod_cache.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> </div> +<div class="outofdate">Cette traduction peut être périmée. Vérifiez la version + anglaise pour les changements récents.</div> <table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Filtre de mise en cache HTTP conforme à la RFC 2616</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>cache_module</td></tr> diff --git a/docs/manual/mod/mod_filter.html b/docs/manual/mod/mod_filter.html index 19725c63c6..7d163ef484 100644 --- a/docs/manual/mod/mod_filter.html +++ b/docs/manual/mod/mod_filter.html @@ -3,3 +3,7 @@ URI: mod_filter.html.en Content-Language: en Content-type: text/html; charset=ISO-8859-1 + +URI: mod_filter.html.fr +Content-Language: fr +Content-type: text/html; charset=ISO-8859-1 diff --git a/docs/manual/mod/mod_filter.xml.meta b/docs/manual/mod/mod_filter.xml.meta index 661090548b..57da411bff 100644 --- a/docs/manual/mod/mod_filter.xml.meta +++ b/docs/manual/mod/mod_filter.xml.meta @@ -8,5 +8,6 @@ <variants> <variant>en</variant> + <variant>fr</variant> </variants> </metafile> diff --git a/docs/manual/mod/mod_heartbeat.html b/docs/manual/mod/mod_heartbeat.html index 3bbe7cf83f..7f2d43e19c 100644 --- a/docs/manual/mod/mod_heartbeat.html +++ b/docs/manual/mod/mod_heartbeat.html @@ -3,3 +3,7 @@ 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 diff --git a/docs/manual/mod/mod_heartbeat.html.fr b/docs/manual/mod/mod_heartbeat.html.fr new file mode 100644 index 0000000000..01307ba30e --- /dev/null +++ b/docs/manual/mod/mod_heartbeat.html.fr @@ -0,0 +1,142 @@ +<?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> +<meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_heartbeat - Serveur Apache HTTP Version 2.5</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.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p> +<p class="apache">Serveur Apache HTTP Version 2.5</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.5</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Module Apache mod_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>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><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#heartbeataddress">HeartbeatAddress</a></li> +</ul> +<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_heartbeat">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_heartbeat">Signaler un bug</a></li></ul><h3>Voir aussi</h3> +<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">Directive</a> <a name="HeartbeatAddress" id="HeartbeatAddress">HeartbeatAddress</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/trunk/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 2017 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_heartbeat.xml.fr b/docs/manual/mod/mod_heartbeat.xml.fr new file mode 100644 index 0000000000..e7a3ba6f59 --- /dev/null +++ b/docs/manual/mod/mod_heartbeat.xml.fr @@ -0,0 +1,101 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd"> +<?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?> +<!-- English Revision : 1673947 --> +<!-- 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> diff --git a/docs/manual/mod/mod_heartbeat.xml.meta b/docs/manual/mod/mod_heartbeat.xml.meta index 91ccf07609..8c08c5eb21 100644 --- a/docs/manual/mod/mod_heartbeat.xml.meta +++ b/docs/manual/mod/mod_heartbeat.xml.meta @@ -8,5 +8,6 @@ <variants> <variant>en</variant> + <variant>fr</variant> </variants> </metafile> diff --git a/docs/manual/mod/mod_heartmonitor.html b/docs/manual/mod/mod_heartmonitor.html index 5ac954ac8a..d72d841649 100644 --- a/docs/manual/mod/mod_heartmonitor.html +++ b/docs/manual/mod/mod_heartmonitor.html @@ -3,3 +3,7 @@ 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 diff --git a/docs/manual/mod/mod_heartmonitor.html.fr b/docs/manual/mod/mod_heartmonitor.html.fr new file mode 100644 index 0000000000..38061f0998 --- /dev/null +++ b/docs/manual/mod/mod_heartmonitor.html.fr @@ -0,0 +1,158 @@ +<?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> +<meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_heartmonitor - Serveur Apache HTTP Version 2.5</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.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p> +<p class="apache">Serveur Apache HTTP Version 2.5</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.5</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Module Apache mod_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> +<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_heartmonitor">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_heartmonitor">Signaler un bug</a></li></ul><h3>Voir aussi</h3> +<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">Directive</a> <a name="HeartbeatListen" id="HeartbeatListen">HeartbeatListen</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">Directive</a> <a name="HeartbeatMaxServers" id="HeartbeatMaxServers">HeartbeatMaxServers</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">Directive</a> <a name="HeartbeatStorage" id="HeartbeatStorage">HeartbeatStorage</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/trunk/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 2017 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_heartmonitor.xml.fr b/docs/manual/mod/mod_heartmonitor.xml.fr new file mode 100644 index 0000000000..9b9c52d1a6 --- /dev/null +++ b/docs/manual/mod/mod_heartmonitor.xml.fr @@ -0,0 +1,116 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd"> +<?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?> +<!-- English Revision : 1673947 --> +<!-- 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> diff --git a/docs/manual/mod/mod_heartmonitor.xml.meta b/docs/manual/mod/mod_heartmonitor.xml.meta index 376443f8ba..269a7db489 100644 --- a/docs/manual/mod/mod_heartmonitor.xml.meta +++ b/docs/manual/mod/mod_heartmonitor.xml.meta @@ -8,5 +8,6 @@ <variants> <variant>en</variant> + <variant>fr</variant> </variants> </metafile> diff --git a/docs/manual/mod/mod_imagemap.html b/docs/manual/mod/mod_imagemap.html index 0436d50082..4b978b3067 100644 --- a/docs/manual/mod/mod_imagemap.html +++ b/docs/manual/mod/mod_imagemap.html @@ -4,6 +4,10 @@ URI: mod_imagemap.html.en 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 diff --git a/docs/manual/mod/mod_imagemap.html.fr b/docs/manual/mod/mod_imagemap.html.fr new file mode 100644 index 0000000000..deb068a77a --- /dev/null +++ b/docs/manual/mod/mod_imagemap.html.fr @@ -0,0 +1,440 @@ +<?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> +<meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_imagemap - Serveur Apache HTTP Version 2.5</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.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p> +<p class="apache">Serveur Apache HTTP Version 2.5</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.5</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Module Apache mod_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>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><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>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_imagemap">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_imagemap">Signaler un bug</a></li></ul><h3>Voir aussi</h3> +<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">Directive</a> <a name="ImapBase" id="ImapBase">ImapBase</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">Directive</a> <a name="ImapDefault" id="ImapDefault">ImapDefault</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">Directive</a> <a name="ImapMenu" id="ImapMenu">ImapMenu</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/trunk/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 2017 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_imagemap.xml.fr b/docs/manual/mod/mod_imagemap.xml.fr new file mode 100644 index 0000000000..dfcddfcaf7 --- /dev/null +++ b/docs/manual/mod/mod_imagemap.xml.fr @@ -0,0 +1,388 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd"> +<?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?> +<!-- English Revision : 1673932 --> +<!-- 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> diff --git a/docs/manual/mod/mod_imagemap.xml.meta b/docs/manual/mod/mod_imagemap.xml.meta index ebbce04f9e..2be170255e 100644 --- a/docs/manual/mod/mod_imagemap.xml.meta +++ b/docs/manual/mod/mod_imagemap.xml.meta @@ -8,6 +8,7 @@ <variants> <variant>en</variant> + <variant>fr</variant> <variant outdated="yes">ko</variant> </variants> </metafile> diff --git a/docs/manual/mod/mod_include.html b/docs/manual/mod/mod_include.html index db272ac700..2fbaf256ef 100644 --- a/docs/manual/mod/mod_include.html +++ b/docs/manual/mod/mod_include.html @@ -4,6 +4,10 @@ URI: mod_include.html.en 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 diff --git a/docs/manual/mod/mod_include.html.fr b/docs/manual/mod/mod_include.html.fr new file mode 100644 index 0000000000..0918280c17 --- /dev/null +++ b/docs/manual/mod/mod_include.html.fr @@ -0,0 +1,1221 @@ +<?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> +<meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_include - Serveur Apache HTTP Version 2.5</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.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p> +<p class="apache">Serveur Apache HTTP Version 2.5</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.5</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Module Apache mod_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>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 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>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_include">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_include">Signaler un bug</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> +<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.comment">comment</a></code></td> + <td>commentaire SSI</td></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.comment" id="element.comment">L'élément comment</a></h3> + <p>Cette commande n'affiche aucune information. Elle n'a pour but que + l'ajout de commentaires dans un fichier et ces commentaires ne sont pas + affichés.</p> + + <p>Cette syntaxe est disponible à partir de la version 2.5 du serveur + HTTP Apache.</p> + + <div class="example"><p><code> + <!--#comment Blah Blah Blah --> + </code></p></div> + + + <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 echomsg="[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_ARGS</code></dt> + <dd>Cette variable contient la chaîne de paramètres de la requête du + document SSI actif, ou la chaîne vide si aucune chaîne de paramètres de + requête n'est incluse. Pour les sous-requêtes invoquées par la directive + SSI <code>include</code>, <code>QUERY_STRING</code> contiendra la chaîne + de paramètres de la sous-requête et <code>DOCUMENT_ARGS</code> la chaîne + de paramètres du document SSI (disponible à partir de la version 2.4.19 du + serveur HTTP Apache).</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 dans la requête pour le + document SSI actif, 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). Cette variable n'est pas définie si aucune + chaîne d'arguments n'est présente. Utilisez <code>DOCUMENT_ARGS</code> si + l'échappement des caractères du shell n'est pas souhaité.</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">Directive</a> <a name="SSIEndTag" id="SSIEndTag">SSIEndTag</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">Directive</a> <a name="SSIErrorMsg" id="SSIErrorMsg">SSIErrorMsg</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">Directive</a> <a name="SSIETag" id="SSIETag">SSIETag</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> +</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">Directive</a> <a name="SSILastModified" id="SSILastModified">SSILastModified</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> +</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">Directive</a> <a name="SSILegacyExprParser" id="SSILegacyExprParser">SSILegacyExprParser</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">Directive</a> <a name="SSIStartTag" id="SSIStartTag">SSIStartTag</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 "<%" +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">Directive</a> <a name="SSITimeFormat" id="SSITimeFormat">SSITimeFormat</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">Directive</a> <a name="SSIUndefinedEcho" id="SSIUndefinedEcho">SSIUndefinedEcho</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">Directive</a> <a name="XBitHack" id="XBitHack">XBitHack</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/trunk/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 2017 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_include.xml.fr b/docs/manual/mod/mod_include.xml.fr new file mode 100644 index 0000000000..5089c0dc4a --- /dev/null +++ b/docs/manual/mod/mod_include.xml.fr @@ -0,0 +1,1199 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd"> +<?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?> +<!-- English Revision: 1741842 --> +<!-- 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.comment">comment</a></code></td> + <td>commentaire SSI</td></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.comment"><title>L'élément comment</title> + <p>Cette commande n'affiche aucune information. Elle n'a pour but que + l'ajout de commentaires dans un fichier et ces commentaires ne sont pas + affichés.</p> + + <p>Cette syntaxe est disponible à partir de la version 2.5 du serveur + HTTP Apache.</p> + + <example> + <!--#comment Blah Blah Blah --> + </example> + </section> <!-- /comment --> + + <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 echomsg="[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_ARGS</code></dt> + <dd>Cette variable contient la chaîne de paramètres de la requête du + document SSI actif, ou la chaîne vide si aucune chaîne de paramètres de + requête n'est incluse. Pour les sous-requêtes invoquées par la directive + SSI <code>include</code>, <code>QUERY_STRING</code> contiendra la chaîne + de paramètres de la sous-requête et <code>DOCUMENT_ARGS</code> la chaîne + de paramètres du document SSI (disponible à partir de la version 2.4.19 du + serveur HTTP Apache).</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 dans la requête pour le + document SSI actif, 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). Cette variable n'est pas définie si aucune + chaîne d'arguments n'est présente. Utilisez <code>DOCUMENT_ARGS</code> si + l'échappement des caractères du shell n'est pas souhaité.</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 "<%" +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> + +<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> + +<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> diff --git a/docs/manual/mod/mod_include.xml.meta b/docs/manual/mod/mod_include.xml.meta index 8f747eea0f..38fc26d152 100644 --- a/docs/manual/mod/mod_include.xml.meta +++ b/docs/manual/mod/mod_include.xml.meta @@ -8,6 +8,7 @@ <variants> <variant>en</variant> + <variant>fr</variant> <variant outdated="yes">ja</variant> </variants> </metafile> diff --git a/docs/manual/mod/mod_isapi.html b/docs/manual/mod/mod_isapi.html index d80ca339c4..3a04924be1 100644 --- a/docs/manual/mod/mod_isapi.html +++ b/docs/manual/mod/mod_isapi.html @@ -4,6 +4,10 @@ URI: mod_isapi.html.en Content-Language: en Content-type: text/html; charset=ISO-8859-1 +URI: mod_isapi.html.fr +Content-Language: fr +Content-type: text/html; charset=ISO-8859-1 + URI: mod_isapi.html.ko.euc-kr Content-Language: ko Content-type: text/html; charset=EUC-KR diff --git a/docs/manual/mod/mod_isapi.html.fr b/docs/manual/mod/mod_isapi.html.fr new file mode 100644 index 0000000000..2140e4f3ab --- /dev/null +++ b/docs/manual/mod/mod_isapi.html.fr @@ -0,0 +1,395 @@ +<?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> +<meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_isapi - Serveur Apache HTTP Version 2.5</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.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p> +<p class="apache">Serveur Apache HTTP Version 2.5</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.5</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Module Apache mod_isapi</h1> +<div class="toplang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_isapi.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_isapi.html" title="Français"> fr </a> | +<a href="../ko/mod/mod_isapi.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +</div> +<div class="outofdate">Cette traduction peut être périmée. Vérifiez la version + anglaise pour les changements récents.</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Extensions ISAPI dans Apache pour Windows</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>isapi_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_isapi.c</td></tr> +<tr><th><a href="module-dict.html#Compatibility">Compatibilité:</a></th><td>Win32 only</td></tr></table> +<h3>Sommaire</h3> + + <p>Ce module implémente l'API des extensions du Serveur Internet. Il + permet à Apache pour Windows de servir les extensions du Serveur + Internet (par exemple les modules .dll ISAPI), compte tenu des + restrictions spécifiées.</p> + + <p>Les modules d'extension ISAPI (fichiers .dll) sont des modules + tiers. Leur auteur n'est pas le Groupe Apache, et nous n'assurons + donc pas leur support. Veuillez contacter directement l'auteur + d'ISAPI si vous rencontrez des problèmes à l'exécution d'une + extension ISAPI. <strong>Merci de <em>ne pas</em> soumettre ce genre + de problème dans les listes d'Apache ou dans les pages de rapports + de bogues.</strong></p> +</div> +<div id="quickview"><h3>Sujets</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#usage">Utilisation</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#notes">Notes additionnelles</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#journal">Journal du programmeur</a></li> +</ul><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#isapiappendlogtoerrors">ISAPIAppendLogToErrors</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#isapiappendlogtoquery">ISAPIAppendLogToQuery</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#isapicachefile">ISAPICacheFile</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#isapifakeasync">ISAPIFakeAsync</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#isapilognotsupported">ISAPILogNotSupported</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#isapireadaheadbuffer">ISAPIReadAheadBuffer</a></li> +</ul> +<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_isapi">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_isapi">Signaler un bug</a></li></ul><h3>Voir aussi</h3> +<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="usage" id="usage">Utilisation</a></h2> + + <p>Dans le fichier de configuration du serveur, utilisez la + directive <code class="directive"><a href="../mod/mod_mime.html#addhandler">AddHandler</a></code> pour + associer les fichiers ISAPI au gestionnaire + <code>isapi-handler</code> à l'aide de l'extension de leur nom de + fichier. Pour faire en sorte que tout fichier .dll soit traité en + tant qu'extension ISAPI, éditez le fichier httpd.conf et ajoutez les + lignes suivantes :</p> + <pre class="prettyprint lang-config">AddHandler isapi-handler .dll</pre> + + + <div class="note">Dans les versions plus anciennes du serveur Apache, le nom du + gestionnaire était <code>isapi-isa</code> au lieu de + <code>isapi-handler</code>. Depuis les versions de développement 2.3 + du serveur Apache, <code>isapi-isa</code> n'est plus valide, et vous + devrez éventuellement modifier votre configuration pour utiliser + <code>isapi-handler</code> à la place.</div> + + <p>Le serveur Apache ne propose aucun moyen de conserver en mémoire + un module chargé. Vous pouvez cependant précharger et garder un + module spécifique en mémoire en utilisant la syntaxe suivante dans + votre httpd.conf :</p> + <pre class="prettyprint lang-config">ISAPICacheFile c:/WebWork/Scripts/ISAPI/mytest.dll</pre> + + + <p>Que vous ayez ou non préchargé une extension ISAPI, ces dernières + sont toutes soumises au mêmes restrictions et possèdent les mêmes + permissions que les scripts CGI. En d'autres termes, <code class="directive"><a href="../mod/core.html#options">Options</a></code> <code>ExecCGI</code> doit être + défini pour le répertoire qui contient le fichier .dll ISAPI.</p> + + <p>Reportez-vous aux <a href="#notes">Notes additionnelles</a> et au + <a href="#journal">Journal du programmeur</a> pour plus de détails + et une clarification à propos du support spécifique ISAPI fourni par + le module <code class="module"><a href="../mod/mod_isapi.html">mod_isapi</a></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="notes" id="notes">Notes additionnelles</a></h2> + + <p>L'implémentation ISAPI d'Apache se conforme à toutes les + spécifications ISAPI 2.0, à l'exception de certaines extensions + "spécifiques Microsoft" utilisant des entrées/sorties asynchrones. + Le modèle des entrées/sorties d'Apache ne permet pas l'écriture et + la lecture asynchrone de la manière dont ISAPI pourrait le faire. Si + une extension tente d'utiliser des fonctionnalités non supportées, + comme les entrées/sorties asynchrones, un message est enregistré + dans le journal des erreurs afin d'aider au débogage. Comme ces + messages peuvent devenir envahissants, la directive + <code>ISAPILogNotSupported Off</code> permet de filter ce bruit de + fond.</p> + + <p>Si aucune option de configuration particulière n'est spécifiée, + certains serveurs, comme Microsoft IIS, chargent l'extension ISAPI + dans le serveur et la conservent en mémoire jusqu'à ce que + l'utilisation de cette dernière devienne trop élevée. Apache, par + contre, charge et décharge réellement l'extension ISAPI chaque fois + qu'elle est invoquée, si la directive <code class="directive"><a href="#isapicachefile">ISAPICacheFile</a></code> n'a pas été spécifiée. + Ce n'est pas très performant, mais le modèle de mémoire d'Apache + fait que cette méthode est la plus efficace. De nombreux modules + ISAPI présentent des incompatibilités subtiles avec le serveur + Apache, et le déchargement de ces modules permet d'assurer la + stabilité du serveur.</p> + + <p>En outre, gardez à l'esprit que si Apache supporte les extensions + ISAPI, il <strong>ne supporte pas les filtres ISAPI</strong>. Le + support des filtres sera peut-être ajouté dans le futur, mais n'a + pas encore été planifié.</p> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="journal" id="journal">Journal du programmeur</a></h2> + + <p>Si vous écrivez des modules <code class="module"><a href="../mod/mod_isapi.html">mod_isapi</a></code> Apache + 2.0, vous devez limiter vos appels à + <code>ServerSupportFunction</code> aux directives suivantes :</p> + + <dl> + <dt><code>HSE_REQ_SEND_URL_REDIRECT_RESP</code></dt> + <dd>Redirige l'utilisateur vers une autre adresse.<br /> + Il doit s'agir d'une URL pleinement qualifiée (comme + <code>http://serveur/chemin</code>).</dd> + + <dt><code>HSE_REQ_SEND_URL</code></dt> + <dd>Redirige l'utilisateur vers une autre adresse.<br /> + Ce ne doit pas être une URL pleinement qualifiée ; la mention du + protocole ou du nom du serveur n'est pas autorisée (par exemple, + utilisez simplement <code>/chemin</code>).<br /> + La redirection n'est pas assurée par le navigateur mais par le + serveur lui-même.<br /> + <div class="warning"><h3>Avertissement</h3> + <p>Dans sa documentation récente, Microsoft semble avoir + abandonné la distinction entre les deux fonctions + <code>HSE_REQ_SEND_URL</code>. Apache, quant à lui, continue de + les traiter comme deux fonctions distinctes avec des contraintes + et des comportements spécifiques.</p> + </div></dd> + + <dt><code>HSE_REQ_SEND_RESPONSE_HEADER</code></dt> + <dd>Apache accepte un corps de réponse après l'en-tête s'il se + situe après la ligne vide (deux caractères newline consécutifs) + dans la chaîne des arguments d'en-têtes. Ce corps ne doit pas + contenir de caractères NULL, car l'argument des en-têtes est + lui-même terminé par un caractère NULL.</dd> + + <dt><code>HSE_REQ_DONE_WITH_SESSION</code></dt> + <dd>Apache considère ceci comme sans objet, car la session est + fermée lorsque l'extension ISAPI termine son traitement.</dd> + + <dt><code>HSE_REQ_MAP_URL_TO_PATH</code></dt> + <dd>Apache va traduire un nom virtuel en nom physique.</dd> + + <dt><code>HSE_APPEND_LOG_PARAMETER</code></dt> + <dd> + Ce paramètre peut intervenir dans un de ces journaux : + + <ul> + <li>dans le composant <code>\"%{isapi-parameter}n\"</code> + d'une directive <code class="directive"><a href="../mod/mod_log_config.html#customlog">CustomLog</a></code></li> + + <li>dans le composant <code>%q</code> avec la directive + <code class="directive"><a href="#isapiappendlogtoquery">ISAPIAppendLogToQuery</a></code> + <code>On</code></li> + + <li>dans le journal des erreurs avec la directive <code class="directive"><a href="#isapiappendlogtoerrors">ISAPIAppendLogToErrors</a></code> + <code>On</code></li> + </ul> + + <p>La première option, le composant + <code>%{isapi-parameter}n</code>, est préférable et toujours + disponible.</p> + </dd> + + <dt><code>HSE_REQ_IS_KEEP_CONN</code></dt> + <dd>retourne le statut négocié Keep-Alive.</dd> + + <dt><code>HSE_REQ_SEND_RESPONSE_HEADER_EX</code></dt> + <dd>se comportera comme indiqué dans le documentation, bien que le + drapeau <code>fKeepConn</code> soit ignoré.</dd> + + <dt><code>HSE_REQ_IS_CONNECTED</code></dt> + <dd>renverra faux si la requête a été abandonnée.</dd> + </dl> + + <p>Apache renvoie <code>FALSE</code> pour tout appel non supporté à + <code>ServerSupportFunction</code>, et <code>GetLastError</code> + renverra la valeur <code>ERROR_INVALID_PARAMETER</code>.</p> + + <p><code>ReadClient</code> extrait la partie du corps de la requête + qui dépasse le tampon initial (défini par la directive <code class="directive"><a href="#isapireadaheadbuffer">ISAPIReadAheadBuffer</a></code>). En fonction de + la définition de la directive + <code class="directive">ISAPIReadAheadBuffer</code> (nombre d'octets à + mettre dans le tampon avant d'appeler le gestionnaire ISAPI), les + requêtes courtes sont envoyées en entier à l'extension lorsque + celle-ci est invoquée. Si la taille de la requête est trop + importante, l'extension ISAPI doit faire appel à + <code>ReadClient</code> pour extraire la totalité du corps de la + requête.</p> + + <p><code>WriteClient</code> est supporté, mais seulement avec le + drapeau <code>HSE_IO_SYNC</code> ou le drapeau "aucune option" + (valeur <code>0</code>). Toute autre requête + <code>WriteClient</code> sera rejetée avec une valeur de retour + <code>FALSE</code>, et <code>GetLastError</code> renverra la valeur + <code>ERROR_INVALID_PARAMETER</code></p> + + <p><code>GetServerVariable</code> est supporté, bien que les + variables étendues de serveur n'existent pas (comme défini par + d'autres serveurs). Toutes les variables d'environnement CGI + usuelles d'Apache sont disponibles à partir de + <code>GetServerVariable</code>, ainsi que les valeurs + <code>ALL_HTTP</code> et <code>ALL_RAW</code>.</p> + + <p>Depuis httpd 2.0, <code class="module"><a href="../mod/mod_isapi.html">mod_isapi</a></code> propose des + fonctionnalités supplémentaires introduites dans les versions + actualisées de la spécification ISAPI, ainsi qu'une émulation + limitée des entrées/sorties asynchrones et la sémantique + <code>TransmitFile</code>. Apache httpd supporte aussi le préchargement + des .dlls ISAPI à des fins de performances.</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="isapiappendlogtoerrors" id="isapiappendlogtoerrors">Directive</a> <a name="ISAPIAppendLogToErrors" id="ISAPIAppendLogToErrors">ISAPIAppendLogToErrors</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Enregistrement des requêtes +<code>HSE_APPEND_LOG_PARAMETER</code> de la part des extensions ISAPI +dans le journal des erreurs</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ISAPIAppendLogToErrors on|off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ISAPIAppendLogToErrors 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>FileInfo</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_isapi</td></tr> +</table> + <p>Cette directive permet d'enregistrer les requêtes + <code>HSE_APPEND_LOG_PARAMETER</code> de la part des extensions + ISAPI dans le journal des erreurs.</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="isapiappendlogtoquery" id="isapiappendlogtoquery">Directive</a> <a name="ISAPIAppendLogToQuery" id="ISAPIAppendLogToQuery">ISAPIAppendLogToQuery</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Enregistre les requêtes +<code>HSE_APPEND_LOG_PARAMETER</code> de la part des extensions ISAPI +dans la partie arguments de la requête</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ISAPIAppendLogToQuery on|off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ISAPIAppendLogToQuery on</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>FileInfo</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_isapi</td></tr> +</table> + <p>Cette directive permet d'enregistrer les requêtes + <code>HSE_APPEND_LOG_PARAMETER</code> de la part des extensions + ISAPI dans la partie arguments de la requête (ajouté au composant + <code>%q</code> de la directive <code class="directive"><a href="../mod/mod_log_config.html#customlog">CustomLog</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="isapicachefile" id="isapicachefile">Directive</a> <a name="ISAPICacheFile" id="ISAPICacheFile">ISAPICacheFile</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Fichiers .dll ISAPI devant être chargés au +démarrage</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ISAPICacheFile <var>chemin-fichier</var> +[<var>chemin-fichier</var>] +...</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, 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_isapi</td></tr> +</table> + <p>Cette directive permet de spécifier une liste, séparés par des + espaces, de noms de fichiers devant être chargés au démarrage + du serveur Apache, et rester en mémoire jusqu'à l'arrêt du serveur. + Cette directive peut être répétée pour chaque fichier .dll ISAPI + souhaité. Le chemin complet du fichier doit être spécifié. Si le + chemin n'est pas absolu, il sera considéré comme relatif au + répertoire défini par la directive <code class="directive"><a href="../mod/core.html#serverroot">ServerRoot</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="isapifakeasync" id="isapifakeasync">Directive</a> <a name="ISAPIFakeAsync" id="ISAPIFakeAsync">ISAPIFakeAsync</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Emulation du support des entrées/sorties asynchrones pour +les appels ISAPI</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ISAPIFakeAsync on|off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ISAPIFakeAsync 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>FileInfo</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_isapi</td></tr> +</table> + <p>Lorsquelle est définie à "on", cette directive permet d'émuler le + support des entrées/sorties asynchrones pour les appels ISAPI.</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="isapilognotsupported" id="isapilognotsupported">Directive</a> <a name="ISAPILogNotSupported" id="ISAPILogNotSupported">ISAPILogNotSupported</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Journalisation des demandes de fonctionnalités non +supportées de la part des extensions ISAPI</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ISAPILogNotSupported on|off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ISAPILogNotSupported 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>FileInfo</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_isapi</td></tr> +</table> + <p>Cette directive permet d'enregistrer dans le journal des erreurs + toutes les demandes de fonctionnalités non supportées de la part des + extensions ISAPI. Ceci peut aider les administrateurs à décortiquer + certains problèmes. Lorsqu'elle a été définie à "on" et si tous les + modules ISAPI fonctionnent, elle peut être redéfinie à "off".</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="isapireadaheadbuffer" id="isapireadaheadbuffer">Directive</a> <a name="ISAPIReadAheadBuffer" id="ISAPIReadAheadBuffer">ISAPIReadAheadBuffer</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Taille du tampon de lecture anticipée envoyé aux extensions +ISAPI</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ISAPIReadAheadBuffer <var>taille</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ISAPIReadAheadBuffer 49152</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>FileInfo</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_isapi</td></tr> +</table> + <p>Cette directive permet de définir la taille maximale du tampon de + lecture anticipée envoyé aux extensions ISAPI lorsqu'elles sont + initialement invoquées. Toute donnée restante doit être extraite en + faisant appel à <code>ReadClient</code> ; certaines extensions ISAPI + peuvent ne pas supporter la fonction <code>ReadClient</code>. + Pour plus de détails, veuillez vous adresser à l'auteur de + l'extension ISAPI.</p> + +</div> +</div> +<div class="bottomlang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_isapi.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_isapi.html" title="Français"> fr </a> | +<a href="../ko/mod/mod_isapi.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/trunk/mod/mod_isapi.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 2017 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_isapi.xml.fr b/docs/manual/mod/mod_isapi.xml.fr new file mode 100644 index 0000000000..1da7ab5e8e --- /dev/null +++ b/docs/manual/mod/mod_isapi.xml.fr @@ -0,0 +1,352 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd"> +<?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?> +<!-- English Revision: 1584684:1584572 (outdated) --> +<!-- 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_isapi.xml.meta"> + +<name>mod_isapi</name> +<description>Extensions ISAPI dans Apache pour Windows</description> +<status>Base</status> +<sourcefile>mod_isapi.c</sourcefile> +<identifier>isapi_module</identifier> +<compatibility>Win32 only</compatibility> + +<summary> + <p>Ce module implémente l'API des extensions du Serveur Internet. Il + permet à Apache pour Windows de servir les extensions du Serveur + Internet (par exemple les modules .dll ISAPI), compte tenu des + restrictions spécifiées.</p> + + <p>Les modules d'extension ISAPI (fichiers .dll) sont des modules + tiers. Leur auteur n'est pas le Groupe Apache, et nous n'assurons + donc pas leur support. Veuillez contacter directement l'auteur + d'ISAPI si vous rencontrez des problèmes à l'exécution d'une + extension ISAPI. <strong>Merci de <em>ne pas</em> soumettre ce genre + de problème dans les listes d'Apache ou dans les pages de rapports + de bogues.</strong></p> +</summary> + +<section id="usage"><title>Utilisation</title> + + <p>Dans le fichier de configuration du serveur, utilisez la + directive <directive module="mod_mime">AddHandler</directive> pour + associer les fichiers ISAPI au gestionnaire + <code>isapi-handler</code> à l'aide de l'extension de leur nom de + fichier. Pour faire en sorte que tout fichier .dll soit traité en + tant qu'extension ISAPI, éditez le fichier httpd.conf et ajoutez les + lignes suivantes :</p> + <highlight language="config"> + AddHandler isapi-handler .dll + </highlight> + + <note>Dans les versions plus anciennes du serveur Apache, le nom du + gestionnaire était <code>isapi-isa</code> au lieu de + <code>isapi-handler</code>. Depuis les versions de développement 2.3 + du serveur Apache, <code>isapi-isa</code> n'est plus valide, et vous + devrez éventuellement modifier votre configuration pour utiliser + <code>isapi-handler</code> à la place.</note> + + <p>Le serveur Apache ne propose aucun moyen de conserver en mémoire + un module chargé. Vous pouvez cependant précharger et garder un + module spécifique en mémoire en utilisant la syntaxe suivante dans + votre httpd.conf :</p> + <highlight language="config"> + ISAPICacheFile c:/WebWork/Scripts/ISAPI/mytest.dll + </highlight> + + <p>Que vous ayez ou non préchargé une extension ISAPI, ces dernières + sont toutes soumises au mêmes restrictions et possèdent les mêmes + permissions que les scripts CGI. En d'autres termes, <directive + module="core">Options</directive> <code>ExecCGI</code> doit être + défini pour le répertoire qui contient le fichier .dll ISAPI.</p> + + <p>Reportez-vous aux <a href="#notes">Notes additionnelles</a> et au + <a href="#journal">Journal du programmeur</a> pour plus de détails + et une clarification à propos du support spécifique ISAPI fourni par + le module <module>mod_isapi</module>.</p> +</section> + +<section id="notes"><title>Notes additionnelles</title> + + <p>L'implémentation ISAPI d'Apache se conforme à toutes les + spécifications ISAPI 2.0, à l'exception de certaines extensions + "spécifiques Microsoft" utilisant des entrées/sorties asynchrones. + Le modèle des entrées/sorties d'Apache ne permet pas l'écriture et + la lecture asynchrone de la manière dont ISAPI pourrait le faire. Si + une extension tente d'utiliser des fonctionnalités non supportées, + comme les entrées/sorties asynchrones, un message est enregistré + dans le journal des erreurs afin d'aider au débogage. Comme ces + messages peuvent devenir envahissants, la directive + <code>ISAPILogNotSupported Off</code> permet de filter ce bruit de + fond.</p> + + <p>Si aucune option de configuration particulière n'est spécifiée, + certains serveurs, comme Microsoft IIS, chargent l'extension ISAPI + dans le serveur et la conservent en mémoire jusqu'à ce que + l'utilisation de cette dernière devienne trop élevée. Apache, par + contre, charge et décharge réellement l'extension ISAPI chaque fois + qu'elle est invoquée, si la directive <directive + module="mod_isapi">ISAPICacheFile</directive> n'a pas été spécifiée. + Ce n'est pas très performant, mais le modèle de mémoire d'Apache + fait que cette méthode est la plus efficace. De nombreux modules + ISAPI présentent des incompatibilités subtiles avec le serveur + Apache, et le déchargement de ces modules permet d'assurer la + stabilité du serveur.</p> + + <p>En outre, gardez à l'esprit que si Apache supporte les extensions + ISAPI, il <strong>ne supporte pas les filtres ISAPI</strong>. Le + support des filtres sera peut-être ajouté dans le futur, mais n'a + pas encore été planifié.</p> +</section> + +<section id="journal"><title>Journal du programmeur</title> + + <p>Si vous écrivez des modules <module>mod_isapi</module> Apache + 2.0, vous devez limiter vos appels à + <code>ServerSupportFunction</code> aux directives suivantes :</p> + + <dl> + <dt><code>HSE_REQ_SEND_URL_REDIRECT_RESP</code></dt> + <dd>Redirige l'utilisateur vers une autre adresse.<br /> + Il doit s'agir d'une URL pleinement qualifiée (comme + <code>http://serveur/chemin</code>).</dd> + + <dt><code>HSE_REQ_SEND_URL</code></dt> + <dd>Redirige l'utilisateur vers une autre adresse.<br /> + Ce ne doit pas être une URL pleinement qualifiée ; la mention du + protocole ou du nom du serveur n'est pas autorisée (par exemple, + utilisez simplement <code>/chemin</code>).<br /> + La redirection n'est pas assurée par le navigateur mais par le + serveur lui-même.<br /> + <note type="warning"><title>Avertissement</title> + <p>Dans sa documentation récente, Microsoft semble avoir + abandonné la distinction entre les deux fonctions + <code>HSE_REQ_SEND_URL</code>. Apache, quant à lui, continue de + les traiter comme deux fonctions distinctes avec des contraintes + et des comportements spécifiques.</p> + </note></dd> + + <dt><code>HSE_REQ_SEND_RESPONSE_HEADER</code></dt> + <dd>Apache accepte un corps de réponse après l'en-tête s'il se + situe après la ligne vide (deux caractères newline consécutifs) + dans la chaîne des arguments d'en-têtes. Ce corps ne doit pas + contenir de caractères NULL, car l'argument des en-têtes est + lui-même terminé par un caractère NULL.</dd> + + <dt><code>HSE_REQ_DONE_WITH_SESSION</code></dt> + <dd>Apache considère ceci comme sans objet, car la session est + fermée lorsque l'extension ISAPI termine son traitement.</dd> + + <dt><code>HSE_REQ_MAP_URL_TO_PATH</code></dt> + <dd>Apache va traduire un nom virtuel en nom physique.</dd> + + <dt><code>HSE_APPEND_LOG_PARAMETER</code></dt> + <dd> + Ce paramètre peut intervenir dans un de ces journaux : + + <ul> + <li>dans le composant <code>\"%{isapi-parameter}n\"</code> + d'une directive <directive module="mod_log_config">CustomLog</directive></li> + + <li>dans le composant <code>%q</code> avec la directive + <directive + module="mod_isapi">ISAPIAppendLogToQuery</directive> + <code>On</code></li> + + <li>dans le journal des erreurs avec la directive <directive + module="mod_isapi">ISAPIAppendLogToErrors</directive> + <code>On</code></li> + </ul> + + <p>La première option, le composant + <code>%{isapi-parameter}n</code>, est préférable et toujours + disponible.</p> + </dd> + + <dt><code>HSE_REQ_IS_KEEP_CONN</code></dt> + <dd>retourne le statut négocié Keep-Alive.</dd> + + <dt><code>HSE_REQ_SEND_RESPONSE_HEADER_EX</code></dt> + <dd>se comportera comme indiqué dans le documentation, bien que le + drapeau <code>fKeepConn</code> soit ignoré.</dd> + + <dt><code>HSE_REQ_IS_CONNECTED</code></dt> + <dd>renverra faux si la requête a été abandonnée.</dd> + </dl> + + <p>Apache renvoie <code>FALSE</code> pour tout appel non supporté à + <code>ServerSupportFunction</code>, et <code>GetLastError</code> + renverra la valeur <code>ERROR_INVALID_PARAMETER</code>.</p> + + <p><code>ReadClient</code> extrait la partie du corps de la requête + qui dépasse le tampon initial (défini par la directive <directive + module="mod_isapi">ISAPIReadAheadBuffer</directive>). En fonction de + la définition de la directive + <directive>ISAPIReadAheadBuffer</directive> (nombre d'octets à + mettre dans le tampon avant d'appeler le gestionnaire ISAPI), les + requêtes courtes sont envoyées en entier à l'extension lorsque + celle-ci est invoquée. Si la taille de la requête est trop + importante, l'extension ISAPI doit faire appel à + <code>ReadClient</code> pour extraire la totalité du corps de la + requête.</p> + + <p><code>WriteClient</code> est supporté, mais seulement avec le + drapeau <code>HSE_IO_SYNC</code> ou le drapeau "aucune option" + (valeur <code>0</code>). Toute autre requête + <code>WriteClient</code> sera rejetée avec une valeur de retour + <code>FALSE</code>, et <code>GetLastError</code> renverra la valeur + <code>ERROR_INVALID_PARAMETER</code></p> + + <p><code>GetServerVariable</code> est supporté, bien que les + variables étendues de serveur n'existent pas (comme défini par + d'autres serveurs). Toutes les variables d'environnement CGI + usuelles d'Apache sont disponibles à partir de + <code>GetServerVariable</code>, ainsi que les valeurs + <code>ALL_HTTP</code> et <code>ALL_RAW</code>.</p> + + <p>Depuis httpd 2.0, <module>mod_isapi</module> propose des + fonctionnalités supplémentaires introduites dans les versions + actualisées de la spécification ISAPI, ainsi qu'une émulation + limitée des entrées/sorties asynchrones et la sémantique + <code>TransmitFile</code>. Apache httpd supporte aussi le préchargement + des .dlls ISAPI à des fins de performances.</p> +</section> + +<directivesynopsis> +<name>ISAPICacheFile</name> +<description>Fichiers .dll ISAPI devant être chargés au +démarrage</description> +<syntax>ISAPICacheFile <var>chemin-fichier</var> +[<var>chemin-fichier</var>] +...</syntax> +<contextlist><context>server config</context><context>virtual host</context> +</contextlist> + +<usage> + <p>Cette directive permet de spécifier une liste, séparés par des + espaces, de noms de fichiers devant être chargés au démarrage + du serveur Apache, et rester en mémoire jusqu'à l'arrêt du serveur. + Cette directive peut être répétée pour chaque fichier .dll ISAPI + souhaité. Le chemin complet du fichier doit être spécifié. Si le + chemin n'est pas absolu, il sera considéré comme relatif au + répertoire défini par la directive <directive + module="core">ServerRoot</directive>.</p> +</usage> +</directivesynopsis> + +<directivesynopsis> +<name>ISAPIReadAheadBuffer</name> +<description>Taille du tampon de lecture anticipée envoyé aux extensions +ISAPI</description> +<syntax>ISAPIReadAheadBuffer <var>taille</var></syntax> +<default>ISAPIReadAheadBuffer 49152</default> +<contextlist><context>server config</context><context>virtual host</context> +<context>directory</context><context>.htaccess</context></contextlist> +<override>FileInfo</override> + +<usage> + <p>Cette directive permet de définir la taille maximale du tampon de + lecture anticipée envoyé aux extensions ISAPI lorsqu'elles sont + initialement invoquées. Toute donnée restante doit être extraite en + faisant appel à <code>ReadClient</code> ; certaines extensions ISAPI + peuvent ne pas supporter la fonction <code>ReadClient</code>. + Pour plus de détails, veuillez vous adresser à l'auteur de + l'extension ISAPI.</p> +</usage> +</directivesynopsis> + +<directivesynopsis> +<name>ISAPILogNotSupported</name> +<description>Journalisation des demandes de fonctionnalités non +supportées de la part des extensions ISAPI</description> +<syntax>ISAPILogNotSupported on|off</syntax> +<default>ISAPILogNotSupported off</default> +<contextlist><context>server config</context><context>virtual host</context> +<context>directory</context><context>.htaccess</context></contextlist> +<override>FileInfo</override> + +<usage> + <p>Cette directive permet d'enregistrer dans le journal des erreurs + toutes les demandes de fonctionnalités non supportées de la part des + extensions ISAPI. Ceci peut aider les administrateurs à décortiquer + certains problèmes. Lorsqu'elle a été définie à "on" et si tous les + modules ISAPI fonctionnent, elle peut être redéfinie à "off".</p> +</usage> +</directivesynopsis> + +<directivesynopsis> +<name>ISAPIAppendLogToErrors</name> +<description>Enregistrement des requêtes +<code>HSE_APPEND_LOG_PARAMETER</code> de la part des extensions ISAPI +dans le journal des erreurs</description> +<syntax>ISAPIAppendLogToErrors on|off</syntax> +<default>ISAPIAppendLogToErrors off</default> +<contextlist><context>server config</context><context>virtual host</context> +<context>directory</context><context>.htaccess</context></contextlist> +<override>FileInfo</override> + +<usage> + <p>Cette directive permet d'enregistrer les requêtes + <code>HSE_APPEND_LOG_PARAMETER</code> de la part des extensions + ISAPI dans le journal des erreurs.</p> +</usage> +</directivesynopsis> + +<directivesynopsis> +<name>ISAPIAppendLogToQuery</name> +<description>Enregistre les requêtes +<code>HSE_APPEND_LOG_PARAMETER</code> de la part des extensions ISAPI +dans la partie arguments de la requête</description> +<syntax>ISAPIAppendLogToQuery on|off</syntax> +<default>ISAPIAppendLogToQuery on</default> +<contextlist><context>server config</context><context>virtual host</context> +<context>directory</context><context>.htaccess</context></contextlist> +<override>FileInfo</override> + +<usage> + <p>Cette directive permet d'enregistrer les requêtes + <code>HSE_APPEND_LOG_PARAMETER</code> de la part des extensions + ISAPI dans la partie arguments de la requête (ajouté au composant + <code>%q</code> de la directive <directive + module="mod_log_config">CustomLog</directive>).</p> +</usage> +</directivesynopsis> + +<directivesynopsis> +<name>ISAPIFakeAsync</name> +<description>Emulation du support des entrées/sorties asynchrones pour +les appels ISAPI</description> +<syntax>ISAPIFakeAsync on|off</syntax> +<default>ISAPIFakeAsync off</default> +<contextlist><context>server config</context><context>virtual host</context> +<context>directory</context><context>.htaccess</context></contextlist> +<override>FileInfo</override> + +<usage> + <p>Lorsquelle est définie à "on", cette directive permet d'émuler le + support des entrées/sorties asynchrones pour les appels ISAPI.</p> +</usage> +</directivesynopsis> + +</modulesynopsis> + diff --git a/docs/manual/mod/mod_isapi.xml.meta b/docs/manual/mod/mod_isapi.xml.meta index c5430a3474..913ae2ac73 100644 --- a/docs/manual/mod/mod_isapi.xml.meta +++ b/docs/manual/mod/mod_isapi.xml.meta @@ -8,6 +8,7 @@ <variants> <variant>en</variant> + <variant outdated="yes">fr</variant> <variant outdated="yes">ko</variant> </variants> </metafile> diff --git a/docs/manual/mod/mod_lbmethod_bybusyness.html b/docs/manual/mod/mod_lbmethod_bybusyness.html index bb7e14e2a2..90f931c78f 100644 --- a/docs/manual/mod/mod_lbmethod_bybusyness.html +++ b/docs/manual/mod/mod_lbmethod_bybusyness.html @@ -3,3 +3,7 @@ URI: mod_lbmethod_bybusyness.html.en Content-Language: en Content-type: text/html; charset=ISO-8859-1 + +URI: mod_lbmethod_bybusyness.html.fr +Content-Language: fr +Content-type: text/html; charset=ISO-8859-1 diff --git a/docs/manual/mod/mod_lbmethod_bybusyness.html.fr b/docs/manual/mod/mod_lbmethod_bybusyness.html.fr new file mode 100644 index 0000000000..e0199e0493 --- /dev/null +++ b/docs/manual/mod/mod_lbmethod_bybusyness.html.fr @@ -0,0 +1,109 @@ +<?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> +<meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_lbmethod_bybusyness - Serveur Apache HTTP Version 2.5</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.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p> +<p class="apache">Serveur Apache HTTP Version 2.5</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.5</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Module Apache mod_lbmethod_bybusyness</h1> +<div class="toplang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_lbmethod_bybusyness.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_lbmethod_bybusyness.html" title="Français"> fr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Algorithme de planification avec répartition de charge de +l'attribution des requêtes en attente pour le module +<code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code></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>lbmethod_bybusyness_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_lbmethod_bybusyness.c</td></tr> +<tr><th><a href="module-dict.html#Compatibility">Compatibilité:</a></th><td>Dissocié de <code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code> depuis la +version 2.3</td></tr></table> +<h3>Sommaire</h3> + +<p>Ce module ne fournit pas lui-même de directive de configuration. Il +nécessite les services de <code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code>, et +fournit la méthode de répartition de charge <code>bybusyness</code>.</p> +</div> +<div id="quickview"><h3>Sujets</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#busyness">Algorithme d'attribution des requêtes en attente</a></li> +</ul><h3 class="directives">Directives</h3> +<p>Ce module ne fournit aucune directive.</p> +<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_lbmethod_bybusyness">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_lbmethod_bybusyness">Signaler un bug</a></li></ul><h3>Voir aussi</h3> +<ul class="seealso"> +<li><code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></li> +<li><code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code></li> +<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="busyness" id="busyness">Algorithme d'attribution des requêtes en attente</a></h2> + + + + <p>Activé via <code>lbmethod=bybusyness</code>, ce planificateur + surveille le nombre de requêtes assignées à chaque processus worker + à l'instant présent. Une nouvelle requête est automatiquement + assignée au processus worker auquel est assigné le plus petit nombre de + requêtes. Ceci s'avère utile dans le cas où les + processus worker mettent en file d'attente les requêtes entrantes + indépendamment d'Apache, et permet de s'assurer que la longueur des + files reste raisonnable, et qu'une requête est toujours assignée au + processus worker qui sera à même de la servir le plus + rapidement et avec une latence réduite.</p> + + <p>Si plusieurs processus worker s'avèrent les moins chargés, le + choix d'un de ces derniers est effectué à partir des statistiques + (et des estimations de charges) qu'utilise la méthode de décompte + des requêtes. Au fil du temps, la distribution des tâches finit par + ressembler à celle de <code>byrequests</code> (tel qu'implémenté par + <code class="module"><a href="../mod/mod_lbmethod_byrequests.html">mod_lbmethod_byrequests</a></code>).</p> + +</div> +</div> +<div class="bottomlang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_lbmethod_bybusyness.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_lbmethod_bybusyness.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/trunk/mod/mod_lbmethod_bybusyness.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 2017 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_lbmethod_bybusyness.xml.fr b/docs/manual/mod/mod_lbmethod_bybusyness.xml.fr new file mode 100644 index 0000000000..034befead0 --- /dev/null +++ b/docs/manual/mod/mod_lbmethod_bybusyness.xml.fr @@ -0,0 +1,69 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd"> +<?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?> +<!-- English Revision : 1174718 --> +<!-- 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_lbmethod_bybusyness.xml.meta"> + +<name>mod_lbmethod_bybusyness</name> +<description>Algorithme de planification avec répartition de charge de +l'attribution des requêtes en attente pour le module +<module>mod_proxy_balancer</module></description> +<status>Extension</status> +<sourcefile>mod_lbmethod_bybusyness.c</sourcefile> +<identifier>lbmethod_bybusyness_module</identifier> +<compatibility>Dissocié de <module>mod_proxy_balancer</module> depuis la +version 2.3</compatibility> + +<summary> +<p>Ce module ne fournit pas lui-même de directive de configuration. Il +nécessite les services de <module>mod_proxy_balancer</module>, et +fournit la méthode de répartition de charge <code>bybusyness</code>.</p> +</summary> +<seealso><module>mod_proxy</module></seealso> +<seealso><module>mod_proxy_balancer</module></seealso> + +<section id="busyness"> + + <title>Algorithme d'attribution des requêtes en attente</title> + + <p>Activé via <code>lbmethod=bybusyness</code>, ce planificateur + surveille le nombre de requêtes assignées à chaque processus worker + à l'instant présent. Une nouvelle requête est automatiquement + assignée au processus worker auquel est assigné le plus petit nombre de + requêtes. Ceci s'avère utile dans le cas où les + processus worker mettent en file d'attente les requêtes entrantes + indépendamment d'Apache, et permet de s'assurer que la longueur des + files reste raisonnable, et qu'une requête est toujours assignée au + processus worker qui sera à même de la servir le plus + rapidement et avec une latence réduite.</p> + + <p>Si plusieurs processus worker s'avèrent les moins chargés, le + choix d'un de ces derniers est effectué à partir des statistiques + (et des estimations de charges) qu'utilise la méthode de décompte + des requêtes. Au fil du temps, la distribution des tâches finit par + ressembler à celle de <code>byrequests</code> (tel qu'implémenté par + <module>mod_lbmethod_byrequests</module>).</p> + +</section> + +</modulesynopsis> diff --git a/docs/manual/mod/mod_lbmethod_bybusyness.xml.meta b/docs/manual/mod/mod_lbmethod_bybusyness.xml.meta index c5acd9b5da..5901d6dcb7 100644 --- a/docs/manual/mod/mod_lbmethod_bybusyness.xml.meta +++ b/docs/manual/mod/mod_lbmethod_bybusyness.xml.meta @@ -8,5 +8,6 @@ <variants> <variant>en</variant> + <variant>fr</variant> </variants> </metafile> diff --git a/docs/manual/mod/mod_lbmethod_byrequests.html b/docs/manual/mod/mod_lbmethod_byrequests.html index 0cc1f2cfcc..7a00cef997 100644 --- a/docs/manual/mod/mod_lbmethod_byrequests.html +++ b/docs/manual/mod/mod_lbmethod_byrequests.html @@ -3,3 +3,7 @@ URI: mod_lbmethod_byrequests.html.en Content-Language: en Content-type: text/html; charset=ISO-8859-1 + +URI: mod_lbmethod_byrequests.html.fr +Content-Language: fr +Content-type: text/html; charset=ISO-8859-1 diff --git a/docs/manual/mod/mod_lbmethod_byrequests.html.fr b/docs/manual/mod/mod_lbmethod_byrequests.html.fr new file mode 100644 index 0000000000..b78cc95111 --- /dev/null +++ b/docs/manual/mod/mod_lbmethod_byrequests.html.fr @@ -0,0 +1,264 @@ +<?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> +<meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_lbmethod_byrequests - Serveur Apache HTTP Version 2.5</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.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p> +<p class="apache">Serveur Apache HTTP Version 2.5</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.5</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Module Apache mod_lbmethod_byrequests</h1> +<div class="toplang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_lbmethod_byrequests.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_lbmethod_byrequests.html" title="Français"> fr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Algorithme de planification avec répartition de charge du +traitement des requêtes pour le module +<code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code></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>lbmethod_byrequests_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_lbmethod_byrequests.c</td></tr> +<tr><th><a href="module-dict.html#Compatibility">Compatibilité:</a></th><td>Dissocié de <code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code> dans la +version 2.3</td></tr></table> +<h3>Sommaire</h3> + +<p>Ce module ne fournit pas lui-même de directive de configuration. Il +nécessite les services de <code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code>, et +fournit la méthode de répartition de charge <code>byrequests</code>.</p> +</div> +<div id="quickview"><h3>Sujets</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#requests">Algorithme d'attribution des requêtes</a></li> +</ul><h3 class="directives">Directives</h3> +<p>Ce module ne fournit aucune directive.</p> +<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_lbmethod_byrequests">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_lbmethod_byrequests">Signaler un bug</a></li></ul><h3>Voir aussi</h3> +<ul class="seealso"> +<li><code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></li> +<li><code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code></li> +<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="requests" id="requests">Algorithme d'attribution des requêtes</a></h2> + + <p>Activé via <code>lbmethod=byrequests</code>, ce planificateur à + été conçu dans le but de distribuer les requêtes à tous les + processus worker afin qu'ils traitent tous le nombre de requêtes + pour lequel ils ont été configurés. Il fonctionne de la manière + suivante : </p> + + <p><dfn>lbfactor</dfn> correspond à la <em>quantité de travail que + nous attendons de ce processus worker</em>, ou en d'autres termes + son <em>quota de travail</em>. C'est une valeur normalisée + représentant leur part du travail à accomplir.</p> + + <p><dfn>lbstatus</dfn> représente <em>combien il est urgent que + ce processus worker travaille pour remplir son quota de + travail</em>.</p> + + <p>Le <dfn>worker</dfn> est un membre du dispositif de répartition + de charge, en général un serveur distant traitant un des protocoles + supportés.</p> + + <p>On distribue à chaque processus worker son quota de travail, puis + on regarde celui qui a le plus besoin de travailler + (le plus grand lbstatus). Ce processus est alors sélectionné pour + travailler, et son lbstatus diminué de l'ensemble des quotas de + travail que nous avons distribués à tous les processus. La somme de + tous les lbstatus n'est ainsi pas modifiée, et nous pouvons + distribuer les requêtes selon nos souhaits.</p> + + <p>Si certains processus workers sont désactivés, les autres feront + l'objet d'une planification normale.</p> + + <div class="example"><pre><code>for each worker in workers + worker lbstatus += worker lbfactor + total factor += worker lbfactor + if worker lbstatus > candidate lbstatus + candidate = worker + +candidate lbstatus -= total factor</code></pre></div> + + <p>Si un répartiteur de charge est configuré comme suit :</p> + + <table><tr><th>worker</th> + <th class="data">a</th> + <th class="data">b</th> + <th class="data">c</th> + <th class="data">d</th></tr> +<tr><th>lbfactor</th> + <td class="data">25</td> + <td class="data">25</td> + <td class="data">25</td> + <td class="data">25</td></tr> +<tr><th>lbstatus</th> + <td class="data">0</td> + <td class="data">0</td> + <td class="data">0</td> + <td class="data">0</td></tr> +</table> + + <p>Et si <var>b</var> est désactivé, la planification suivante est + mise en oeuvre :</p> + + <table><tr><th>worker</th> + <th class="data">a</th> + <th class="data">b</th> + <th class="data">c</th> + <th class="data">d</th></tr> +<tr><th>lbstatus</th> + <td class="data"><em>-50</em></td> + <td class="data">0</td> + <td class="data">25</td> + <td class="data">25</td></tr> +<tr><th>lbstatus</th> + <td class="data">-25</td> + <td class="data">0</td> + <td class="data"><em>-25</em></td> + <td class="data">50</td></tr> +<tr><th>lbstatus</th> + <td class="data">0</td> + <td class="data">0</td> + <td class="data">0</td> + <td class="data"><em>0</em></td></tr> +<tr><td class="data" colspan="5">(repeat)</td></tr> +</table> + + <p>C'est à dire la chronologie suivante : <var>a</var> <var>c</var> + <var>d</var> + <var>a</var> <var>c</var> <var>d</var> <var>a</var> <var>c</var> + <var>d</var> ... Veuillez noter que :</p> + + <table><tr><th>worker</th> + <th class="data">a</th> + <th class="data">b</th> + <th class="data">c</th> + <th class="data">d</th></tr> +<tr><th>lbfactor</th> + <td class="data">25</td> + <td class="data">25</td> + <td class="data">25</td> + <td class="data">25</td></tr> +</table> + + <p>A le même effet que :</p> + + <table><tr><th>worker</th> + <th class="data">a</th> + <th class="data">b</th> + <th class="data">c</th> + <th class="data">d</th></tr> +<tr><th>lbfactor</th> + <td class="data">1</td> + <td class="data">1</td> + <td class="data">1</td> + <td class="data">1</td></tr> +</table> + + <p>Ceci est dû au fait que toutes les valeurs de <dfn>lbfactor</dfn> + sont normalisées et évaluées en fonction des autres. Avec :</p> + + <table><tr><th>worker</th> + <th class="data">a</th> + <th class="data">b</th> + <th class="data">c</th></tr> +<tr><th>lbfactor</th> + <td class="data">1</td> + <td class="data">4</td> + <td class="data">1</td></tr> +</table> + + <p>le processus <var>b</var> va, en moyenne, se voir assigner 4 fois + plus de requêtes que <var>a</var> et <var>c</var>.</p> + + <p>La configuration suivante, asymétrique, fonctionne comme on peut + s'y attendre :</p> + + <table><tr><th>worker</th> + <th class="data">a</th> + <th class="data">b</th></tr> +<tr><th>lbfactor</th> + <td class="data">70</td> + <td class="data">30</td></tr> +<tr><td class="data" colspan="2"> </td></tr> +<tr><th>lbstatus</th> + <td class="data"><em>-30</em></td> + <td class="data">30</td></tr> +<tr><th>lbstatus</th> + <td class="data">40</td> + <td class="data"><em>-40</em></td></tr> +<tr><th>lbstatus</th> + <td class="data"><em>10</em></td> + <td class="data">-10</td></tr> +<tr><th>lbstatus</th> + <td class="data"><em>-20</em></td> + <td class="data">20</td></tr> +<tr><th>lbstatus</th> + <td class="data"><em>-50</em></td> + <td class="data">50</td></tr> +<tr><th>lbstatus</th> + <td class="data">20</td> + <td class="data"><em>-20</em></td></tr> +<tr><th>lbstatus</th> + <td class="data"><em>-10</em></td> + <td class="data">10</td></tr> +<tr><th>lbstatus</th> + <td class="data"><em>-40</em></td> + <td class="data">40</td></tr> +<tr><th>lbstatus</th> + <td class="data">30</td> + <td class="data"><em>-30</em></td></tr> +<tr><th>lbstatus</th> + <td class="data"><em>0</em></td> + <td class="data">0</td></tr> +<tr><td class="data" colspan="3">(repeat)</td></tr> +</table> + + <p>Après 10 distributions, la planification se répète et 7 + <var>a</var> sont sélectionnés avec 3 <var>b</var> intercalés.</p> +</div> +</div> +<div class="bottomlang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_lbmethod_byrequests.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_lbmethod_byrequests.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/trunk/mod/mod_lbmethod_byrequests.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 2017 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_lbmethod_byrequests.xml.fr b/docs/manual/mod/mod_lbmethod_byrequests.xml.fr new file mode 100644 index 0000000000..17bc91e6cd --- /dev/null +++ b/docs/manual/mod/mod_lbmethod_byrequests.xml.fr @@ -0,0 +1,231 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd"> +<?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?> +<!-- English Revision : 1324697 --> +<!-- 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_lbmethod_byrequests.xml.meta"> + +<name>mod_lbmethod_byrequests</name> +<description>Algorithme de planification avec répartition de charge du +traitement des requêtes pour le module +<module>mod_proxy_balancer</module></description> +<status>Extension</status> +<sourcefile>mod_lbmethod_byrequests.c</sourcefile> +<identifier>lbmethod_byrequests_module</identifier> +<compatibility>Dissocié de <module>mod_proxy_balancer</module> dans la +version 2.3</compatibility> + +<summary> +<p>Ce module ne fournit pas lui-même de directive de configuration. Il +nécessite les services de <module>mod_proxy_balancer</module>, et +fournit la méthode de répartition de charge <code>byrequests</code>.</p> +</summary> +<seealso><module>mod_proxy</module></seealso> +<seealso><module>mod_proxy_balancer</module></seealso> + +<section id="requests"> + <title>Algorithme d'attribution des requêtes</title> + <p>Activé via <code>lbmethod=byrequests</code>, ce planificateur à + été conçu dans le but de distribuer les requêtes à tous les + processus worker afin qu'ils traitent tous le nombre de requêtes + pour lequel ils ont été configurés. Il fonctionne de la manière + suivante : </p> + + <p><dfn>lbfactor</dfn> correspond à la <em>quantité de travail que + nous attendons de ce processus worker</em>, ou en d'autres termes + son <em>quota de travail</em>. C'est une valeur normalisée + représentant leur part du travail à accomplir.</p> + + <p><dfn>lbstatus</dfn> représente <em>combien il est urgent que + ce processus worker travaille pour remplir son quota de + travail</em>.</p> + + <p>Le <dfn>worker</dfn> est un membre du dispositif de répartition + de charge, en général un serveur distant traitant un des protocoles + supportés.</p> + + <p>On distribue à chaque processus worker son quota de travail, puis + on regarde celui qui a le plus besoin de travailler + (le plus grand lbstatus). Ce processus est alors sélectionné pour + travailler, et son lbstatus diminué de l'ensemble des quotas de + travail que nous avons distribués à tous les processus. La somme de + tous les lbstatus n'est ainsi pas modifiée, et nous pouvons + distribuer les requêtes selon nos souhaits.</p> + + <p>Si certains processus workers sont désactivés, les autres feront + l'objet d'une planification normale.</p> + + <example><pre><code>for each worker in workers + worker lbstatus += worker lbfactor + total factor += worker lbfactor + if worker lbstatus > candidate lbstatus + candidate = worker + +candidate lbstatus -= total factor</code></pre> + </example> + + <p>Si un répartiteur de charge est configuré comme suit :</p> + + <table style="data"> + <tr><th>worker</th> + <th>a</th> + <th>b</th> + <th>c</th> + <th>d</th></tr> + <tr><th>lbfactor</th> + <td>25</td> + <td>25</td> + <td>25</td> + <td>25</td></tr> + <tr><th>lbstatus</th> + <td>0</td> + <td>0</td> + <td>0</td> + <td>0</td></tr> + </table> + + <p>Et si <var>b</var> est désactivé, la planification suivante est + mise en oeuvre :</p> + + <table style="data"> + <tr><th>worker</th> + <th>a</th> + <th>b</th> + <th>c</th> + <th>d</th></tr> + <tr><th>lbstatus</th> + <td><em>-50</em></td> + <td>0</td> + <td>25</td> + <td>25</td></tr> + <tr><th>lbstatus</th> + <td>-25</td> + <td>0</td> + <td><em>-25</em></td> + <td>50</td></tr> + <tr><th>lbstatus</th> + <td>0</td> + <td>0</td> + <td>0</td> + <td><em>0</em></td></tr> + <tr><td colspan="5">(repeat)</td></tr> + </table> + + <p>C'est à dire la chronologie suivante : <var>a</var> <var>c</var> + <var>d</var> + <var>a</var> <var>c</var> <var>d</var> <var>a</var> <var>c</var> + <var>d</var> ... Veuillez noter que :</p> + + <table style="data"> + <tr><th>worker</th> + <th>a</th> + <th>b</th> + <th>c</th> + <th>d</th></tr> + <tr><th>lbfactor</th> + <td>25</td> + <td>25</td> + <td>25</td> + <td>25</td></tr> + </table> + + <p>A le même effet que :</p> + + <table style="data"> + <tr><th>worker</th> + <th>a</th> + <th>b</th> + <th>c</th> + <th>d</th></tr> + <tr><th>lbfactor</th> + <td>1</td> + <td>1</td> + <td>1</td> + <td>1</td></tr> + </table> + + <p>Ceci est dû au fait que toutes les valeurs de <dfn>lbfactor</dfn> + sont normalisées et évaluées en fonction des autres. Avec :</p> + + <table style="data"> + <tr><th>worker</th> + <th>a</th> + <th>b</th> + <th>c</th></tr> + <tr><th>lbfactor</th> + <td>1</td> + <td>4</td> + <td>1</td></tr> + </table> + + <p>le processus <var>b</var> va, en moyenne, se voir assigner 4 fois + plus de requêtes que <var>a</var> et <var>c</var>.</p> + + <p>La configuration suivante, asymétrique, fonctionne comme on peut + s'y attendre :</p> + + <table style="data"> + <tr><th>worker</th> + <th>a</th> + <th>b</th></tr> + <tr><th>lbfactor</th> + <td>70</td> + <td>30</td></tr> + <tr><td colspan="2"> </td></tr> + <tr><th>lbstatus</th> + <td><em>-30</em></td> + <td>30</td></tr> + <tr><th>lbstatus</th> + <td>40</td> + <td><em>-40</em></td></tr> + <tr><th>lbstatus</th> + <td><em>10</em></td> + <td>-10</td></tr> + <tr><th>lbstatus</th> + <td><em>-20</em></td> + <td>20</td></tr> + <tr><th>lbstatus</th> + <td><em>-50</em></td> + <td>50</td></tr> + <tr><th>lbstatus</th> + <td>20</td> + <td><em>-20</em></td></tr> + <tr><th>lbstatus</th> + <td><em>-10</em></td> + <td>10</td></tr> + <tr><th>lbstatus</th> + <td><em>-40</em></td> + <td>40</td></tr> + <tr><th>lbstatus</th> + <td>30</td> + <td><em>-30</em></td></tr> + <tr><th>lbstatus</th> + <td><em>0</em></td> + <td>0</td></tr> + <tr><td colspan="3">(repeat)</td></tr> + </table> + + <p>Après 10 distributions, la planification se répète et 7 + <var>a</var> sont sélectionnés avec 3 <var>b</var> intercalés.</p> +</section> + +</modulesynopsis> diff --git a/docs/manual/mod/mod_lbmethod_byrequests.xml.meta b/docs/manual/mod/mod_lbmethod_byrequests.xml.meta index 47f906a614..d167df8c29 100644 --- a/docs/manual/mod/mod_lbmethod_byrequests.xml.meta +++ b/docs/manual/mod/mod_lbmethod_byrequests.xml.meta @@ -8,5 +8,6 @@ <variants> <variant>en</variant> + <variant>fr</variant> </variants> </metafile> diff --git a/docs/manual/mod/mod_lbmethod_bytraffic.html b/docs/manual/mod/mod_lbmethod_bytraffic.html index 99ff4a6a77..74c1f9d12c 100644 --- a/docs/manual/mod/mod_lbmethod_bytraffic.html +++ b/docs/manual/mod/mod_lbmethod_bytraffic.html @@ -3,3 +3,7 @@ URI: mod_lbmethod_bytraffic.html.en Content-Language: en Content-type: text/html; charset=ISO-8859-1 + +URI: mod_lbmethod_bytraffic.html.fr +Content-Language: fr +Content-type: text/html; charset=ISO-8859-1 diff --git a/docs/manual/mod/mod_lbmethod_bytraffic.html.fr b/docs/manual/mod/mod_lbmethod_bytraffic.html.fr new file mode 100644 index 0000000000..b53101137f --- /dev/null +++ b/docs/manual/mod/mod_lbmethod_bytraffic.html.fr @@ -0,0 +1,125 @@ +<?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> +<meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_lbmethod_bytraffic - Serveur Apache HTTP Version 2.5</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.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p> +<p class="apache">Serveur Apache HTTP Version 2.5</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.5</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Module Apache mod_lbmethod_bytraffic</h1> +<div class="toplang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_lbmethod_bytraffic.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_lbmethod_bytraffic.html" title="Français"> fr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Algorithme de planification avec répartition de charge en +fonction d'un niveau de trafic pour le module +<code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code></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>lbmethod_bytraffic_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_lbmethod_bytraffic.c</td></tr> +<tr><th><a href="module-dict.html#Compatibility">Compatibilité:</a></th><td>Dissocié de <code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code> depuis la +version 2.3</td></tr></table> +<h3>Sommaire</h3> + +<p>Ce module ne fournit pas lui-même de directive de configuration. Il +nécessite les services de <code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code>, et +fournit la méthode de répartition de charge <code>bytraffic</code>.</p> +</div> +<div id="quickview"><h3>Sujets</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#traffic">Algorithme de répartition en fonction d'un certain + trafic</a></li> +</ul><h3 class="directives">Directives</h3> +<p>Ce module ne fournit aucune directive.</p> +<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_lbmethod_bytraffic">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_lbmethod_bytraffic">Signaler un bug</a></li></ul><h3>Voir aussi</h3> +<ul class="seealso"> +<li><code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></li> +<li><code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code></li> +<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="traffic" id="traffic">Algorithme de répartition en fonction d'un certain + trafic</a></h2> + + <p>Activé via <code>lbmethod=bytraffic</code>, l'idée directrice de + ce planificateur est similaire à celle de la méthode reposant sur le + nombre de requêtes, avec les différences suivantes :</p> + + <p><dfn>lbfactor</dfn> représente la <em>quantité de trafic, en + octets, que nous voulons voir traitée par le processus</em>. Il + s'agit là aussi d'une valeur normalisée représentant la part de + travail à effectuer par le processus, mais au lieu de se baser sur + un nombre de requêtes, on prend en compte la quantité de trafic que + ce processus a traité.</p> + + <p>Si un répartiteur est configuré comme suit :</p> + + <table><tr><th>worker</th> + <th class="data">a</th> + <th class="data">b</th> + <th class="data">c</th></tr> +<tr><th>lbfactor</th> + <td class="data">1</td> + <td class="data">2</td> + <td class="data">1</td></tr> +</table> + + <p>Cela signifie que nous souhaitons que <var>b</var> traite 2 fois + plus d'octets que <var>a</var> ou <var>c</var>. Cela n'entraîne pas + nécessairement que <var>b</var> va traiter deux fois plus de + requêtes, mais qu'il va traiter deux fois plus de trafic en termes + d'entrées/sorties. A cet effet, les tailles de la requête et de sa + réponse assocciée sont prises en compte par l'algorithme de + sélection et d'évaluation du trafic.</p> + + <p>Note : les octets en entrée sont évalués avec la même pondération + que les octets en sortie.</p> + +</div> +</div> +<div class="bottomlang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_lbmethod_bytraffic.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_lbmethod_bytraffic.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/trunk/mod/mod_lbmethod_bytraffic.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 2017 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_lbmethod_bytraffic.xml.fr b/docs/manual/mod/mod_lbmethod_bytraffic.xml.fr new file mode 100644 index 0000000000..68e8451a36 --- /dev/null +++ b/docs/manual/mod/mod_lbmethod_bytraffic.xml.fr @@ -0,0 +1,85 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd"> +<?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?> +<!-- English Revision : 1174747 --> +<!-- 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_lbmethod_bytraffic.xml.meta"> + +<name>mod_lbmethod_bytraffic</name> +<description>Algorithme de planification avec répartition de charge en +fonction d'un niveau de trafic pour le module +<module>mod_proxy_balancer</module></description> +<status>Extension</status> +<sourcefile>mod_lbmethod_bytraffic.c</sourcefile> +<identifier>lbmethod_bytraffic_module</identifier> +<compatibility>Dissocié de <module>mod_proxy_balancer</module> depuis la +version 2.3</compatibility> + +<summary> +<p>Ce module ne fournit pas lui-même de directive de configuration. Il +nécessite les services de <module>mod_proxy_balancer</module>, et +fournit la méthode de répartition de charge <code>bytraffic</code>.</p> +</summary> +<seealso><module>mod_proxy</module></seealso> +<seealso><module>mod_proxy_balancer</module></seealso> + +<section id="traffic"> + <title>Algorithme de répartition en fonction d'un certain + trafic</title> + <p>Activé via <code>lbmethod=bytraffic</code>, l'idée directrice de + ce planificateur est similaire à celle de la méthode reposant sur le + nombre de requêtes, avec les différences suivantes :</p> + + <p><dfn>lbfactor</dfn> représente la <em>quantité de trafic, en + octets, que nous voulons voir traitée par le processus</em>. Il + s'agit là aussi d'une valeur normalisée représentant la part de + travail à effectuer par le processus, mais au lieu de se baser sur + un nombre de requêtes, on prend en compte la quantité de trafic que + ce processus a traité.</p> + + <p>Si un répartiteur est configuré comme suit :</p> + + <table style="data"> + <tr><th>worker</th> + <th>a</th> + <th>b</th> + <th>c</th></tr> + <tr><th>lbfactor</th> + <td>1</td> + <td>2</td> + <td>1</td></tr> + </table> + + <p>Cela signifie que nous souhaitons que <var>b</var> traite 2 fois + plus d'octets que <var>a</var> ou <var>c</var>. Cela n'entraîne pas + nécessairement que <var>b</var> va traiter deux fois plus de + requêtes, mais qu'il va traiter deux fois plus de trafic en termes + d'entrées/sorties. A cet effet, les tailles de la requête et de sa + réponse assocciée sont prises en compte par l'algorithme de + sélection et d'évaluation du trafic.</p> + + <p>Note : les octets en entrée sont évalués avec la même pondération + que les octets en sortie.</p> + +</section> + +</modulesynopsis> diff --git a/docs/manual/mod/mod_lbmethod_bytraffic.xml.meta b/docs/manual/mod/mod_lbmethod_bytraffic.xml.meta index acd2a9bb28..f746a85642 100644 --- a/docs/manual/mod/mod_lbmethod_bytraffic.xml.meta +++ b/docs/manual/mod/mod_lbmethod_bytraffic.xml.meta @@ -8,5 +8,6 @@ <variants> <variant>en</variant> + <variant>fr</variant> </variants> </metafile> diff --git a/docs/manual/mod/mod_lbmethod_heartbeat.html b/docs/manual/mod/mod_lbmethod_heartbeat.html index bcea1f8494..2a97af74f7 100644 --- a/docs/manual/mod/mod_lbmethod_heartbeat.html +++ b/docs/manual/mod/mod_lbmethod_heartbeat.html @@ -3,3 +3,7 @@ URI: mod_lbmethod_heartbeat.html.en Content-Language: en Content-type: text/html; charset=ISO-8859-1 + +URI: mod_lbmethod_heartbeat.html.fr +Content-Language: fr +Content-type: text/html; charset=ISO-8859-1 diff --git a/docs/manual/mod/mod_lbmethod_heartbeat.html.fr b/docs/manual/mod/mod_lbmethod_heartbeat.html.fr new file mode 100644 index 0000000000..d61f9c6ed5 --- /dev/null +++ b/docs/manual/mod/mod_lbmethod_heartbeat.html.fr @@ -0,0 +1,109 @@ +<?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> +<meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_lbmethod_heartbeat - Serveur Apache HTTP Version 2.5</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.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p> +<p class="apache">Serveur Apache HTTP Version 2.5</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.5</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Module Apache mod_lbmethod_heartbeat</h1> +<div class="toplang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_lbmethod_heartbeat.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_lbmethod_heartbeat.html" title="Français"> fr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Algorithme d'ordonnancement de répartition de charge pour +<code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code> basé sur le comptage de trafic 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>lbmethod_heartbeat_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_lbmethod_heartbeat.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>lbmethod=heartbeat utilise les services du module + <code class="module"><a href="../mod/mod_heartmonitor.html">mod_heartmonitor</a></code> pour répartir la charge entre les + serveurs d'origine qui fournissent des données heartbeat via le + module <code class="module"><a href="../mod/mod_heartbeat.html">mod_heartbeat</a></code>.</p> + +<p>Son algorithme de répartition de charge favorise les serveurs dont la +capacité de traitement moyenne répartie dans le temps est la plus +importante, mais il ne sélectionne pas forcément le serveur qui présente +la disponibilité instantanée la plus importante. Les serveurs qui ne +possèdent aucun client actif sont pénalisés, car ils sont considérés +comme non entièrement initialisés.</p> +</div> +<div id="quickview"><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#heartbeatstorage">HeartbeatStorage</a></li> +</ul> +<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_lbmethod_heartbeat">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_lbmethod_heartbeat">Signaler un bug</a></li></ul><h3>Voir aussi</h3> +<ul class="seealso"> +<li><code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></li> +<li><code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code></li> +<li><code class="module"><a href="../mod/mod_heartbeat.html">mod_heartbeat</a></code></li> +<li><code class="module"><a href="../mod/mod_heartmonitor.html">mod_heartmonitor</a></code></li> +<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="heartbeatstorage" id="heartbeatstorage">Directive</a> <a name="HeartbeatStorage" id="HeartbeatStorage">HeartbeatStorage</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Indique le chemin permettant de lire les 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_lbmethod_heartbeat</td></tr> +</table> + <p>La directive <code class="directive">HeartbeatStorage</code> permet de + spécifier le chemin d'accès aux données heartbeat. Ce fichier texte + n'est utilisé que si le module <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_lbmethod_heartbeat.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_lbmethod_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/trunk/mod/mod_lbmethod_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 2017 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_lbmethod_heartbeat.xml.fr b/docs/manual/mod/mod_lbmethod_heartbeat.xml.fr new file mode 100644 index 0000000000..f012c9a568 --- /dev/null +++ b/docs/manual/mod/mod_lbmethod_heartbeat.xml.fr @@ -0,0 +1,69 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd"> +<?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?> +<!-- English Revision : 1673947 --> +<!-- 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_lbmethod_heartbeat.xml.meta"> + +<name>mod_lbmethod_heartbeat</name> +<description>Algorithme d'ordonnancement de répartition de charge pour +<module>mod_proxy_balancer</module> basé sur le comptage de trafic Heartbeat</description> +<status>Experimental</status> +<sourcefile>mod_lbmethod_heartbeat.c</sourcefile> +<identifier>lbmethod_heartbeat_module</identifier> +<compatibility>Disponible depuis la version 2.3 d'Apache</compatibility> + +<summary> + <p>lbmethod=heartbeat utilise les services du module + <module>mod_heartmonitor</module> pour répartir la charge entre les + serveurs d'origine qui fournissent des données heartbeat via le + module <module>mod_heartbeat</module>.</p> + +<p>Son algorithme de répartition de charge favorise les serveurs dont la +capacité de traitement moyenne répartie dans le temps est la plus +importante, mais il ne sélectionne pas forcément le serveur qui présente +la disponibilité instantanée la plus importante. Les serveurs qui ne +possèdent aucun client actif sont pénalisés, car ils sont considérés +comme non entièrement initialisés.</p> +</summary> + +<seealso><module>mod_proxy</module></seealso> +<seealso><module>mod_proxy_balancer</module></seealso> +<seealso><module>mod_heartbeat</module></seealso> +<seealso><module>mod_heartmonitor</module></seealso> + +<directivesynopsis> +<name>HeartbeatStorage</name> +<description>Indique le chemin permettant de lire les 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 d'accès aux données heartbeat. Ce fichier texte + n'est utilisé que si le module <module>mod_slotmem_shm</module> + n'est pas chargé.</p> +</usage> +</directivesynopsis> +</modulesynopsis> diff --git a/docs/manual/mod/mod_lbmethod_heartbeat.xml.meta b/docs/manual/mod/mod_lbmethod_heartbeat.xml.meta index a2156919b3..8438aa0868 100644 --- a/docs/manual/mod/mod_lbmethod_heartbeat.xml.meta +++ b/docs/manual/mod/mod_lbmethod_heartbeat.xml.meta @@ -8,5 +8,6 @@ <variants> <variant>en</variant> + <variant>fr</variant> </variants> </metafile> diff --git a/docs/manual/mod/mod_ldap.html.fr b/docs/manual/mod/mod_ldap.html.fr index d710b85ceb..29ce7b05b8 100644 --- a/docs/manual/mod/mod_ldap.html.fr +++ b/docs/manual/mod/mod_ldap.html.fr @@ -29,6 +29,8 @@ <p><span>Langues Disponibles: </span><a href="../en/mod/mod_ldap.html" hreflang="en" rel="alternate" title="English"> en </a> | <a href="../fr/mod/mod_ldap.html" title="Français"> fr </a></p> </div> +<div class="outofdate">Cette traduction peut être périmée. Vérifiez la version + anglaise pour les changements récents.</div> <table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Conservation des connexions LDAP et services de mise en cache du résultat à destination des autres modules LDAP</td></tr> <tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Extension</td></tr> diff --git a/docs/manual/mod/mod_log_config.html b/docs/manual/mod/mod_log_config.html index 1e9233c966..e13c801045 100644 --- a/docs/manual/mod/mod_log_config.html +++ b/docs/manual/mod/mod_log_config.html @@ -4,6 +4,10 @@ URI: mod_log_config.html.en Content-Language: en Content-type: text/html; charset=ISO-8859-1 +URI: mod_log_config.html.fr +Content-Language: fr +Content-type: text/html; charset=ISO-8859-1 + URI: mod_log_config.html.ja.utf8 Content-Language: ja Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_log_config.html.fr b/docs/manual/mod/mod_log_config.html.fr new file mode 100644 index 0000000000..9ab7396670 --- /dev/null +++ b/docs/manual/mod/mod_log_config.html.fr @@ -0,0 +1,664 @@ +<?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> +<meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_log_config - Serveur Apache HTTP Version 2.5</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.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p> +<p class="apache">Serveur Apache HTTP Version 2.5</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.5</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Module Apache mod_log_config</h1> +<div class="toplang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_log_config.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_log_config.html" title="Français"> fr </a> | +<a href="../ja/mod/mod_log_config.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_log_config.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/mod_log_config.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>Journalisation des requêtes envoyées au +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>log_config_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_log_config.c</td></tr></table> +<h3>Sommaire</h3> + + <p>Ce module apporte une grande souplesse dans la journalisation des + requêtes des clients. Les journaux sont écrits sous un format + personnalisable, et peuvent être enregistrés directement dans un + fichier, ou redirigés vers un programme externe. La journalisation + conditionnelle est supportée, si bien que des requêtes individuelles + peuvent être incluses ou exclues des journaux en fonction de leur + caractéristiques.</p> + + <p>Ce module fournit trois directives : <code class="directive"><a href="#transferlog">TransferLog</a></code> crée un fichier + journal, <code class="directive"><a href="#logformat">LogFormat</a></code> + définit un format personnalisé, et <code class="directive"><a href="#customlog">CustomLog</a></code> définit un fichier journal et un format en + une seule étape. Pour journaliser les requêtes dans plusieurs + fichiers, vous pouvez utiliser plusieurs fois les directives + <code class="directive">TransferLog</code> et + <code class="directive">CustomLog</code> dans chaque serveur.</p> +</div> +<div id="quickview"><h3>Sujets</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#formats">Formats de journaux personnalisés</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#security">Considérations concernant la +sécurité</a></li> +</ul><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#bufferedlogs">BufferedLogs</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#customlog">CustomLog</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#globallog">GlobalLog</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#logformat">LogFormat</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#transferlog">TransferLog</a></li> +</ul> +<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_log_config">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_log_config">Signaler un bug</a></li></ul><h3>Voir aussi</h3> +<ul class="seealso"> +<li><a href="../logs.html">Les fichiers journaux +d'Apache</a></li> +<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="formats" id="formats">Formats de journaux personnalisés</a></h2> + + <p>L'argument format des directives <code class="directive"><a href="#logformat">LogFormat</a></code> et <code class="directive"><a href="#customlog">CustomLog</a></code> est une chaîne de + caractères. Cette chaîne définit le format de la journalisation des + requêtes dans le fichier journal. Elle peut contenir des caractères + littéraux qui seront reproduits dans le fichier journal, et les + caractères de contrôle de style C "\n" et "\t" représentant + respectivement une nouvelle ligne et une tabulation. Les guillemets + et les anti-slashes littéraux doivent être échappés à l'aide + d'anti-slashes.</p> + + <p>Les caractéristiques de la requête en elle-même sont journalisées + en insérant des directives "<code>%</code>" dans la chaîne de + format, celles-ci étant remplacées dans le fichier journal par + certaines valeurs comme suit :</p> + + <table class="bordered"><tr class="header"><th>Chaîne de format</th> + <th>Description</th></tr> +<tr><td><code>%%</code></td> + <td>Le signe "pourcentage"</td></tr> +<tr class="odd"><td><code>%a</code></td> + <td>L'adresse IP distante (voir le module + <code class="module"><a href="../mod/mod_remoteip.html">mod_remoteip</a></code>).</td></tr> +<tr><td><code>%{c}a</code></td> + <td>Adresse IP distante de la connexion(voir le module + <code class="module"><a href="../mod/mod_remoteip.html">mod_remoteip</a></code>)</td></tr> +<tr class="odd"><td><code>%A</code></td> + <td>L'adresse IP locale</td></tr> +<tr><td><code>%B</code></td> + <td>La taille de la réponse en octets, en excluant les en-têtes + HTTP.</td></tr> +<tr class="odd"><td><code>%b</code></td> + <td>La taille de la réponse en octets, en excluant les en-têtes + HTTP. Au format CLF , c'est à dire un '<code>-</code>' à la + place d'un 0 lorsqu'aucun octet n'est renvoyé.</td></tr> +<tr><td><code>%{<var>NOMVAR</var>}C</code></td> + <td>Le contenu du cookie <var>NOMVAR</var> dans la requête + envoyée au serveur. Seuls les cookies version 0 sont pleinement + supportés.</td></tr> +<tr class="odd"><td><code>%D</code></td> + <td>Le temps mis à servir la requête, en + microsecondes.</td></tr> +<tr><td><code>%{<var>NOMVAR</var>}e</code></td> + <td>Le contenu de la variable d'environnement + <var>NOMVAR</var></td></tr> +<tr class="odd"><td><code>%f</code></td> + <td>Nom de fichier</td></tr> +<tr><td><code>%h</code></td> + <td>Serveur distant. Contiendra l'adresse IP si la directive + <code class="directive"><a href="../mod/core.html#hostnamelookups">HostnameLookups</a></code> est définie + à <code>Off</code>, ce qui est sa valeur par défaut. Si cette + adresse IP n'est enregistrée que pour certains serveurs, vous + avez probablement défini des directives de contrôle d'accès qui + mentionnent ces derniers par leurs noms. Voir la <a href="mod_authz_host.html#reqhost">documentation de Require + host</a>.</td></tr> +<tr class="odd"><td><code>%H</code></td> + <td>Le protocole de la requête</td></tr> +<tr><td><code>%{<var>NOMVAR</var>}i</code></td> + <td>Le contenu des lignes d'en-tête + <code><var>NOMVAR</var>:</code> dans la requête envoyée au + serveur. Ces en-têtes sont ajoutés par d'autres modules (par + exemple <code class="module"><a href="../mod/mod_headers.html">mod_headers</a></code>). Si vous êtes intéressé + par ce qu'était l'en-tête de la requête avant d'être modifié + par la plupart des modules, utilisez + <code class="module"><a href="../mod/mod_setenvif.html">mod_setenvif</a></code> pour copier l'en-tête dans une + variable d'environnement interne et journaliser sa valeur via + le champ <code>%{<var>VARNAME</var>}e</code> décrit plus haut. + + </td></tr> +<tr class="odd"><td><code>%k</code></td> + <td>Nombre de requêtes persistantes en cours pour cette + connexion. Interessant si la directive <code class="directive"><a href="../mod/core.html#keepalive">KeepAlive</a></code> est utilisée ; par exemple, + '1' signifie la première requête après la requête initiale, '2' + la seconde, etc... ; autrement, il s'agit toujours de 0 + (indiquant la requête initiale).</td></tr> +<tr><td><code>%l</code></td> + <td>Le nom de connexion distant (en provenance d'identd, si + disponible). Affiche un tiret, sauf si + <code class="module"><a href="../mod/mod_ident.html">mod_ident</a></code> est présent et si <code class="directive"><a href="../mod/mod_ident.html#identitycheck">IdentityCheck</a></code> est à + <code>On</code>.</td></tr> +<tr class="odd"><td><code>%L</code></td> + <td>L'identifiant du message de journalisation de la requête + dans le journal des erreurs (ou '-' si aucun message n'a + été enregistré dans le journal des erreurs pour cette requête)</td></tr> +<tr><td><code>%m</code></td> + <td>La méthode de la requête</td></tr> +<tr class="odd"><td><code>%{<var>NOMVAR</var>}n</code></td> + <td>Le contenu de la note <var>NOMVAR</var> en provenance d'un + autre module.</td></tr> +<tr><td><code>%{<var>NOMVAR</var>}o</code></td> + <td>Le contenu de la ligne d'en-tête + <code><var>NOMVAR</var>:</code> de la réponse.</td></tr> +<tr class="odd"><td><code>%p</code></td> + <td>Le port canonique du serveur servant la requête</td></tr> +<tr><td><code>%{<var>format</var>}p</code></td> + <td>Le port canonique du serveur servant la requête ou le + véritable port du serveur ou le véritable port du client. les + formats valides sont <code>canonical</code>, <code>local</code>, + ou <code>remote</code>. + </td></tr> +<tr class="odd"><td><code>%P</code></td> + <td>Le numéro de processus du processus enfant qui a servi la + requête.</td></tr> +<tr><td><code>%{<var>format</var>}P</code></td> + <td>Le numéro de processus ou le numéro de thread du processus + enfant qui a servi la requête. Les formats valides sont + <code>pid</code>, <code>tid</code>, et <code>hextid</code>. + <code>hextid</code> nécessite APR version 1.2.0 ou supérieure. + </td></tr> +<tr class="odd"><td><code>%q</code></td> + <td>La chaîne d'arguments (préfixée par un <code>?</code> si une + chaîne d'arguments existe, sinon une chaîne vide)</td></tr> +<tr><td><code>%r</code></td> + <td>La première ligne de la requête</td></tr> +<tr class="odd"><td><code>%R</code></td> + <td>Le gestionnaire qui génère la réponse (s'il y en a un).</td></tr> +<tr><td><code>%s</code></td> + <td>Statut. Pour les requêtes redirigées en interne, il s'agit + du statut de la requête *originale* --- <code>%>s</code> pour + la dernière.</td></tr> +<tr class="odd"><td><code>%t</code></td> + <td>Date à laquelle la requête a été reçue (au format anglais + standard)</td></tr> +<tr><td><code>%{<var>format</var>}t</code></td> + <td>La date, sous la forme spécifiée par format, qui devrait + être au format étendu <code>strftime(3)</code> (éventuellement + localisé). Si le format commence par <code>begin:</code> (valeur + par défaut), la date est extraite au début du traitement de la + requête ; s'il commence par <code>end:</code>, la date + correspond au moment où l'entrée du journal est inscrite, par + conséquent vers la fin du traitement de la requête. Hormis les + formats supportés par <code>strftime(3)</code>, les formats + suivants sont aussi disponibles : + <table> + <tr><td><code>sec</code></td><td>nombre de secondes depuis Epoch</td></tr> + <tr><td><code>msec</code></td><td>nombre de millisecondes depuis Epoch</td></tr> + <tr><td><code>usec</code></td><td>nombre de microsecondes depuis Epoch</td></tr> + <tr><td><code>msec_frac</code></td><td>fraction de milliseconde</td></tr> + <tr><td><code>usec_frac</code></td><td>fraction de microseconde</td></tr> + </table> + Ces symboles ne peuvent pas être combinés entre eux ou avec un + formatage <code>strftime(3)</code> dans la même chaîne de + format. Par contre, vous pouvez utiliser plusieurs symboles + <code>%{<var>format</var>}t</code>.</td></tr> +<tr class="odd"><td><code>%T</code></td> + <td>Le temps mis pour servir la requête, en secondes.</td></tr> +<tr><td><code>%{<var>UNIT</var>}T</code></td> + <td>Le temps mis pour traiter la requête dans une unité définie + par <code>UNIT</code>. Les valeurs d'unité valides sont + <code>ms</code> pour millisecondes, <code>us</code> pour + microsecondes et <code>s</code> pour secondes. Si + <code>UNIT</code> est omis, la valeur de l'unité par défaut est + la seconde ; spécifier la valeur d'unité <code>us</code> revient + à utiliser le format <code>%D</code>. La possibilité de + spécifier une valeur d'unité avec le format <code>%T</code> est + disponible depuis la version 2.4.13 du serveur HTTP Apache.</td></tr> +<tr class="odd"><td><code>%u</code></td> + <td>L'utilisateur distant (en provenance d'auth ; peut être faux + si le statut de retour (<code>%s</code>) est 401).</td></tr> +<tr><td><code>%U</code></td> + <td>Le chemin de la requête, à l'exclusion de toute chaîne + d'arguments.</td></tr> +<tr class="odd"><td><code>%v</code></td> + <td>Le nom canonique du serveur qui a servi la requête, défini + par la directive <code class="directive"><a href="../mod/core.html#servername">ServerName</a></code>.</td></tr> +<tr><td><code>%V</code></td> + <td>La nom du serveur en tenant compte de la définition de la + directive <code class="directive"><a href="../mod/core.html#usecanonicalname">UseCanonicalName</a></code>.</td></tr> +<tr class="odd"><td><code>%X</code></td> + <td>Statut de la connexion lorsque la réponse a été renvoyée + : + + <table> + + <tr><td><code>X</code> =</td> + <td>connexion abandonnée avant l'envoi de la réponse.</td></tr> + <tr><td><code>+</code> =</td> + <td>la connexion peut rester ouverte après l'envoi de la + réponse.</td></tr> + <tr><td><code>-</code> = </td> + <td>la connexion sera fermée après l'envoi de la + réponse.</td></tr> + </table> + + </td></tr> +<tr><td><code>%I</code></td> + <td>Le nombre d'octets reçus, en comptant la requête et les + en-têtes, ne peut être nul. Nécessite l'activation de + <code class="module"><a href="../mod/mod_logio.html">mod_logio</a></code>.</td></tr> +<tr class="odd"><td><code>%O</code></td> + <td>Nombre d'octets envoyés, y compris les en-têtes. Peut être + nul dans les rares cas où une requête est avortée avant que la + réponse ne soit envoyée. Nécessite l'activation de + <code class="module"><a href="../mod/mod_logio.html">mod_logio</a></code>.</td></tr> +<tr><td><code>%S</code></td> + <td>Nombre d'octets transmis en émission et réception y compris + la requête et les en-têtes ; cette valeur ne peut pas être + nulle, il s'agit de la combinaison de %I et %O. Vous devez + activer <code class="module"><a href="../mod/mod_logio.html">mod_logio</a></code> pour utiliser cette chaîne de + format.</td></tr> +<tr class="odd"><td><code>%{<var>VARNAME</var>}^ti</code></td> + <td>Le contenu de la variable <code><var>VARNAME</var>:</code> + spécifiée dans la requête envoyée au serveur.</td></tr> +<tr><td><code>%{<var>VARNAME</var>}^to</code></td> + <td>Le contenu de la variable <code><var>VARNAME</var>:</code> + spécifiée dans la réponse envoyée par le serveur.</td></tr> +</table> + + <h3><a name="modifiers" id="modifiers">Modificateurs</a></h3> + + <p>Il est possible de restreindre l'enregistrement de certains + éléments + en fonction du code de statut de la réponse, en insérant une liste + de codes de statut séparés par des virgules immédiatement après le + caractère "%". Par exemple, <code>"%400,501{User-agent}i"</code> + n'enregistrera l'en-tête <code>User-agent</code> que dans le cas + d'une erreur 400 ou 501. Avec les autres codes de statut, c'est la + chaîne littérale <code>"-"</code> qui sera enregistrée. La liste + de codes peut être précédée d'un "<code>!</code>" pour inverser la + condition : <code>"%!200,304,302{Referer}i"</code> enregistre + l'en-tête <code>Referer</code> pour toutes les requêtes qui + <em>ne</em> renvoient <em>pas</em> un des trois codes spécifiés.</p> + + <p>Les modificateurs "<" et ">" peuvent être utilisés pour + les requêtes qui ont été redirigées en interne afin de choisir si + c'est respectivement la requête originale ou finale qui doit être + consultée. Par défaut, les directives <code>%s, %U, %T, %D,</code> + et <code>%r</code> consultent la requête originale, alors que + toutes les autres consultent la requête finale. Ainsi, par + exemple, on peut utiliser <code>%>s</code> pour enregistrer le + statut final de la requête, et <code>%<u</code> pour + enregistrer l'utilisateur authentifié à l'origine pour une requête + redirigée en interne vers une ressource sans authentification.</p> + + + + <h3><a name="format-notes" id="format-notes">Quelques Notes</a></h3> + + <p>Pour des raisons de sécurité, à partir de la version 2.0.46, + les caractères non imprimables et autres caractères spéciaux dans + les directives <code>%r</code>, <code>%i</code> et <code>%o</code> + doivent être échappés à l'aide des séquences + <code>\x<var>hh</var></code>, + où <var>hh</var> est le code hexadécimal du caractère spécial. + Comme exceptions à cette règle, les caractères <code>"</code> et + <code>\</code> doivent être échappés par un anti-slash, et tous + les "blancs" doivent être écrits selon leur notation de style C + (<code>\n</code>, <code>\t</code>, etc...). Avant la version + 2.0.46, aucun échappement n'était effectué sur ces chaînes, et il + fallait être très prudent lors de l'exploitation des journaux + bruts.</p> + + <p>A la différence de la version 1.3, depuis httpd 2.0, les chaînes + de format <code>%b</code> et <code>%B</code> ne représentent pas + le nombre d'octets envoyés au client, mais simplement la taille en + octets de la réponse HTTP (les deux étant différents, par exemple, + si la connexion est abandonnée, ou si SSL est utilisé). Le format + <code>%O</code> fourni par <code class="module"><a href="../mod/mod_logio.html">mod_logio</a></code>, + enregistrera le nombre réel d'octets envoyés sur le réseau.</p> + + <p>Note : <code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code> est implémenté en tant que + gestionnaire basique et non en tant que gestionnaire standard. + C'est pourquoi la chaîne de format <code>%R</code> ne renverra pas + d'information à propos du gestionnaire lorsqu'une mise en cache de + contenu entre en jeu.</p> + + <div class="note"> + <p>Note : la présence du caractère '^' au début d'une chaîne de + format de trois caractères n'a aucune incidence sur la + signification de cette chaîne, mais il doit être + le premier caractère de toute chaîne de format de trois caractères + nouvellement créée, afin d'éviter d'éventuels conflits avec des + chaînes de format qui utilisent des caractères littéraux adjacents à un + spécificateur de format tel que "%Dus".</p> + </div> + + + + <h3><a name="examples" id="examples">Exemples</a></h3> + + <p>Quelques chaînes de format couramment utilisées :</p> + + <dl> + <dt>Format de journal courant (CLF)</dt> + <dd><code>"%h %l %u %t \"%r\" %>s %b"</code></dd> + + <dt>Format de journal courant avec un serveur virtuel</dt> + <dd><code>"%v %h %l %u %t \"%r\" %>s %b"</code></dd> + + <dt>Format de journal NCSA étandu/combiné</dt> + <dd><code>"%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" + \"%{User-agent}i\""</code></dd> + + <dt>Format de journal de la page qui contient le lien vers la + page concernée (Referer)</dt> + <dd><code>"%{Referer}i -> %U"</code></dd> + + <dt>Format de journal de l'agent (Navigateur)</dt> + <dd><code>"%{User-agent}i"</code></dd> + </dl> + + <p>Vous pouvez utiliser plusieurs fois la directive + <code>%{format}t</code> pour construire un format de temps + utilisant les symboles de format étendus tels que + <code>msec_frac</code> :</p> + <dl> +<dt>Format de temps prenant en compte les milisecondes</dt> +<dd><code>"%{%d/%b/%Y %T}t.%{msec_frac}t %{%z}t"</code></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="security" id="security">Considérations concernant la +sécurité</a></h2> + <p>Voir le document <a href="../misc/security_tips.html#serverroot">conseils à matière de + sécurité</a> pour plus de détails sur les raisons pour lesquelles + votre sécurité pourrait être compromise, si le répertoire où sont + stockés les fichiers journaux sont inscriptibles par tout autre + utilisateur que celui qui démarre le 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="bufferedlogs" id="bufferedlogs">Directive</a> <a name="BufferedLogs" id="BufferedLogs">BufferedLogs</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Enregistre les entrées du journal dans un tampon en mémoire +avant de les écrire sur disque</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>BufferedLogs On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>BufferedLogs Off</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>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_log_config</td></tr> +</table> + <p>Lorsque la directive <code class="directive">BufferedLogs</code> est à + "on", <code class="module"><a href="../mod/mod_log_config.html">mod_log_config</a></code> stocke de nombreuses entrées + du journal en mémoire, et les écrit d'un seul bloc sur disque, + plutôt que de les écrire après chaque requête. Sur certains + systèmes, ceci peut améliorer l'efficacité des accès disque, et par + conséquent les performances. La directive ne peut être définie + qu'une seule fois pour l'ensemble du serveur ; elle ne peut pas être + définie au niveau d'un serveur virtuel.</p> + + <div class="note">Cette directive doit être utilisée avec + précautions car un crash peut provoquer la perte de données de + journalisation.</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="customlog" id="customlog">Directive</a> <a name="CustomLog" id="CustomLog">CustomLog</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit le nom et le format du fichier +journal</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CustomLog <var>fichier</var>|<var>pipe</var>|<var>provider</var> +<var>format</var>|<var>alias</var> +[env=[!]<var>variable-environnement</var>| +expr=<var>expression</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>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_log_config</td></tr> +</table> + <p>La directive <code class="directive">CustomLog</code> permet de contrôler + la journalisation des requêtes destinées au serveur. Un format de + journal est spécifié, et la journalisation peut s'effectuer de + manière conditionnelle en fonction des caractéristiques de la + requête en utilisant des variables d'environnement.</p> + + <p>Le premier argument, qui spécifie l'emplacement où les journaux + seront écrits, accepte deux types de valeurs :</p> + + <dl> + <dt><var>fichier</var></dt> + <dd>Un nom de fichier, relatif au répertoire défini par la + directive <code class="directive"><a href="../mod/core.html#serverroot">ServerRoot</a></code>.</dd> + + <dt><var>pipe</var></dt> + <dd>Le caractère pipe "<code>|</code>", suivi du chemin vers un + programme qui recevra les informations de la journalisation sur + son entrée standard. Voir les notes à propos de la <a href="../logs.html#piped">journalisation redirigée</a> pour plus + d'informations. + + <div class="warning"><h3>Sécurité :</h3> + <p>Si les journaux sont redirigés vers un programme, ce dernier + s'exécutera sous l'utilisateur qui a démarré + <code class="program"><a href="../programs/httpd.html">httpd</a></code>. Ce sera l'utilisateur root si le serveur + a été démarré par root ; vérifiez que le programme est + sécurisé.</p> + </div> + <div class="warning"><h3>Note</h3> + <p>Lors de la spécification d'un chemin de fichier sur les + plate-formes non-Unix, il faut prendre soin de ne pas oublier + que seuls les slashes directs doivent être utilisés, même si la + plate-forme autorise l'emploi d'anti-slashes. D'une manière + générale, c'est une bonne idée que de n'utiliser que des slashes + directs dans les fichiers de configuration.</p> + </div></dd> + <dt><var>provider</var></dt> + <dd>Les messages CustomLog peuvent aussi utiliser comme cible les + modules qui implémentent des fournisseurs ErrorLog. A cet effet, + utilisez la syntaxe "provider:argument". Comme fournisseur, vous + pouvez par exemple utiliser <code class="module"><a href="../mod/mod_journald.html">mod_journald</a></code> ou + <code class="module"><a href="../mod/mod_syslog.html">mod_syslog</a></code> : + <pre class="prettyprint lang-config"># Journalisation CustomLog vers journald +CustomLog "journald" "%h %l %u %t \"%r\" %>s %b" + +# Journalisation CustomLog vers syslog avec l'option "user" +CustomLog "syslog:user" "%h %l %u %t \"%r\" %>s %b"</pre> + + </dd> + </dl> + + <p>Le second argument permet de définir ce qui va être écrit dans le + fichier journal. Il peut contenir soit un <var>alias</var> prédéfini + par une directive <code class="directive"><a href="#logformat">LogFormat</a></code>, soit une chaîne de + <var>format</var> explicite comme décrit dans la section <a href="#formats">formats de journaux</a>.</p> + + <p>Par exemple, les deux blocs de directives suivants produisent le + même effet :</p> + + <pre class="prettyprint lang-config"># Journal personnalisé avec alias de format +LogFormat "%h %l %u %t \"%r\" %>s %b" common +CustomLog "logs/access_log" common + +# Journal personnalisé avec chaîne de format explicite +CustomLog "logs/access_log" "%h %l %u %t \"%r\" %>s %b"</pre> + + + <p>Le troisième argument est optionnel et permet de contrôler si une + requête doit être ou non journalisée. Dans le cas d'une clause + '<code>env=!<var>nom</var></code>', la condition peut être la + présence ou l'absence d'une variable particulière dans + l'<a href="../env.html">environnement du serveur</a>. Dans le cas + d'une clause 'expr=<var>expression</var>', la condition consiste + en une <a href="../expr.html">expression</a> booléenne + quelconque. Si la condition n'est pas vérifiée, la requête ne sera + pas journalisée. D'éventuelles références à des en-têtes HTTP dans + l'expression rationnelle n'entraîneront pas l'ajout des noms + d'en-tête correspondants à l'en-tête Vary.</p> + + <p>Les variables d'environnement peuvent être définies au niveau de + chaque requête en utilisant les modules + <code class="module"><a href="../mod/mod_setenvif.html">mod_setenvif</a></code> et/ou <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>. + Par exemple, si vous voulez enregistrer les requêtes pour toutes les + images GIF sur votre serveur dans un fichier journal séparé, et pas + dans votre journal principal, vous pouvez utiliser :</p> + + <pre class="prettyprint lang-config">SetEnvIf Request_URI \.gif$ gif-image +CustomLog "gif-requests.log" common env=gif-image +CustomLog "nongif-requests.log" common env=!gif-image</pre> + + + <p>Ou, pour reproduire le comportement de l'ancienne directive + RefererIgnore, vous pouvez utiliser :</p> + + <pre class="prettyprint lang-config">SetEnvIf Referer example\.com localreferer +CustomLog "referer.log" referer env=!localreferer</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="globallog" id="globallog">Directive</a> <a name="GlobalLog" id="GlobalLog">GlobalLog</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit le nom et le format du fichier journal</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>GlobalLog <var>file</var>|<var>pipe</var>|<var>provider</var> +<var>format</var>|<var>nickname</var> +[env=[!]<var>environment-variable</var>| +expr=<var>expression</var>]</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_log_config</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.19 du serveur HTTP Apache</td></tr> +</table> + + <p>La directive <code class="directive">GlobalLog</code> permet de spécifier un + journal partagé entre le serveur principal et tous les serveurs virtuels + définis.</p> + + <p>Elle est identique à la directive <code class="directive">CustomLog</code> à ces + différences près : </p> + <ul> + <li>Elle n'est pas valide dans un contexte de serveur virtuel.</li> + <li>A la différence d'une directive <code class="directive">CustomLog</code> + définie globalement, elle est prise en compte par les serveurs virtuels + qui définissent leur propre directive <code class="directive">CustomLog</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="logformat" id="logformat">Directive</a> <a name="LogFormat" id="LogFormat">LogFormat</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Décrit un format utilisable dans un fichier +journal</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>LogFormat <var>format</var>|<var>alias</var> +[<var>alias</var>]</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>LogFormat "%h %l %u %t \"%r\" %>s %b"</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_log_config</td></tr> +</table> + <p>Cette directive permet de spécifier le format du fichier journal + des accès.</p> + + <p>La directive <code class="directive">LogFormat</code> se présente sous + deux formes. Sous la première forme, qui ne possède qu'un seul + argument, la directive définit le format qui sera utilisé dans les + journaux spécifiés par les directives + <code class="directive">TransferLog</code> ultérieures. L'argument unique + peut contenir un <var>format</var> explicite comme décrit dans la + section <a href="#formats">formats de journaux personnalisés</a> + ci-dessus. Il peut aussi contenir un <var>alias</var> faisant + référence à un format de journal prédéfini par une directive + <code class="directive">LogFormat</code> comme décrit plus loin.</p> + + <p>Sous sa seconde forme, la directive + <code class="directive">LogFormat</code> associe un <var>format</var> + explicite à un <var>alias</var>. Cet <var>alias</var> peut + ensuite s'utiliser dans les directives + <code class="directive">LogFormat</code> ou <code class="directive"><a href="#customlog">CustomLog</a></code> ultérieures, ce qui + évite d'avoir à répéter l'ensemble de la chaîne de format. Une + directive <code class="directive">LogFormat</code> qui définit un alias + <strong>ne fait rien d'autre</strong> -- c'est à dire qu'<em>elle ne + fait que</em> définir l'alias, elle n'applique pas le format et n'en + fait pas le format par défaut. Par conséquent, elle n'affecte pas + les directives <code class="directive"><a href="#transferlog">TransferLog</a></code> ultérieures. En + outre, la directive <code class="directive">LogFormat</code> ne peut pas + utiliser un alias pour en définir un autre. Notez que l'alias ne + doit pas contenir de caractère pourcent (<code>%</code>).</p> + + <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">LogFormat "%v %h %l %u %t \"%r\" %>s %b" serveur_virtuel_commun</pre> +</div> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="transferlog" id="transferlog">Directive</a> <a name="TransferLog" id="TransferLog">TransferLog</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Spécifie l'emplacement d'un fichier journal</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>TransferLog <var>fichier</var>|<var>pipe</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>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_log_config</td></tr> +</table> + <p>Cette directive possède exactement les mêmes arguments et produit + les mêmes effets que la directive <code class="directive"><a href="#customlog">CustomLog</a></code>, à l'exception qu'elle + ne permet pas de spécifier un format de journal explicite ou la + journalisation conditionnelle des requêtes. En l'occurrence, le + format de journal est déterminé par la dernière définition d'une + directive <code class="directive"><a href="#logformat">LogFormat</a></code> + qui ne définit pas d'alias. Si aucun format particulier n'a été + spécifié, c'est le Common Log Format qui sera utilisé.</p> + + <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-agent}i\"" +TransferLog "logs/access_log"</pre> +</div> + +</div> +</div> +<div class="bottomlang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_log_config.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_log_config.html" title="Français"> fr </a> | +<a href="../ja/mod/mod_log_config.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_log_config.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/mod_log_config.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/trunk/mod/mod_log_config.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 2017 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_log_config.xml.fr b/docs/manual/mod/mod_log_config.xml.fr new file mode 100644 index 0000000000..1ab198dc12 --- /dev/null +++ b/docs/manual/mod/mod_log_config.xml.fr @@ -0,0 +1,698 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd"> +<?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?> +<!-- English Revision : 1722703 --> +<!-- French translation : Lucien GENTIS --> +<!-- $LastChangedRevision: 2016010901 $ --> + +<!-- + 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_log_config.xml.meta"> + +<name>mod_log_config</name> +<description>Journalisation des requêtes envoyées au +serveur</description> +<status>Base</status> +<sourcefile>mod_log_config.c</sourcefile> +<identifier>log_config_module</identifier> + +<summary> + <p>Ce module apporte une grande souplesse dans la journalisation des + requêtes des clients. Les journaux sont écrits sous un format + personnalisable, et peuvent être enregistrés directement dans un + fichier, ou redirigés vers un programme externe. La journalisation + conditionnelle est supportée, si bien que des requêtes individuelles + peuvent être incluses ou exclues des journaux en fonction de leur + caractéristiques.</p> + + <p>Ce module fournit trois directives : <directive + module="mod_log_config">TransferLog</directive> crée un fichier + journal, <directive module="mod_log_config">LogFormat</directive> + définit un format personnalisé, et <directive module="mod_log_config" + >CustomLog</directive> définit un fichier journal et un format en + une seule étape. Pour journaliser les requêtes dans plusieurs + fichiers, vous pouvez utiliser plusieurs fois les directives + <directive>TransferLog</directive> et + <directive>CustomLog</directive> dans chaque serveur.</p> +</summary> +<seealso><a href="../logs.html">Les fichiers journaux +d'Apache</a></seealso> + +<section id="formats"><title>Formats de journaux personnalisés</title> + + <p>L'argument format des directives <directive + module="mod_log_config">LogFormat</directive> et <directive + module="mod_log_config">CustomLog</directive> est une chaîne de + caractères. Cette chaîne définit le format de la journalisation des + requêtes dans le fichier journal. Elle peut contenir des caractères + littéraux qui seront reproduits dans le fichier journal, et les + caractères de contrôle de style C "\n" et "\t" représentant + respectivement une nouvelle ligne et une tabulation. Les guillemets + et les anti-slashes littéraux doivent être échappés à l'aide + d'anti-slashes.</p> + + <p>Les caractéristiques de la requête en elle-même sont journalisées + en insérant des directives "<code>%</code>" dans la chaîne de + format, celles-ci étant remplacées dans le fichier journal par + certaines valeurs comme suit :</p> + + <table border="1" style="zebra"> + <columnspec><column width=".2"/><column width=".8"/></columnspec> + <tr><th>Chaîne de format</th> + <th>Description</th></tr> + + <tr><td><code>%%</code></td> + <td>Le signe "pourcentage"</td></tr> + + <tr><td><code>%a</code></td> + <td>L'adresse IP distante (voir le module + <module>mod_remoteip</module>).</td></tr> + + <tr><td><code>%{c}a</code></td> + <td>Adresse IP distante de la connexion(voir le module + <module>mod_remoteip</module>)</td></tr> + + <tr><td><code>%A</code></td> + <td>L'adresse IP locale</td></tr> + + <tr><td><code>%B</code></td> + <td>La taille de la réponse en octets, en excluant les en-têtes + HTTP.</td></tr> + + <tr><td><code>%b</code></td> + <td>La taille de la réponse en octets, en excluant les en-têtes + HTTP. Au format CLF , c'est à dire un '<code>-</code>' à la + place d'un 0 lorsqu'aucun octet n'est renvoyé.</td></tr> + + <tr><td><code>%{<var>NOMVAR</var>}C</code></td> + <td>Le contenu du cookie <var>NOMVAR</var> dans la requête + envoyée au serveur. Seuls les cookies version 0 sont pleinement + supportés.</td></tr> + + <tr><td><code>%D</code></td> + <td>Le temps mis à servir la requête, en + microsecondes.</td></tr> + + <tr><td><code>%{<var>NOMVAR</var>}e</code></td> + <td>Le contenu de la variable d'environnement + <var>NOMVAR</var></td></tr> + + <tr><td><code>%f</code></td> + <td>Nom de fichier</td></tr> + + <tr><td><code>%h</code></td> + <td>Serveur distant. Contiendra l'adresse IP si la directive + <directive module="core">HostnameLookups</directive> est définie + à <code>Off</code>, ce qui est sa valeur par défaut. Si cette + adresse IP n'est enregistrée que pour certains serveurs, vous + avez probablement défini des directives de contrôle d'accès qui + mentionnent ces derniers par leurs noms. Voir la <a + href="mod_authz_host.html#reqhost">documentation de Require + host</a>.</td></tr> + + <tr><td><code>%H</code></td> + <td>Le protocole de la requête</td></tr> + + <tr><td><code>%{<var>NOMVAR</var>}i</code></td> + <td>Le contenu des lignes d'en-tête + <code><var>NOMVAR</var>:</code> dans la requête envoyée au + serveur. Ces en-têtes sont ajoutés par d'autres modules (par + exemple <module>mod_headers</module>). Si vous êtes intéressé + par ce qu'était l'en-tête de la requête avant d'être modifié + par la plupart des modules, utilisez + <module>mod_setenvif</module> pour copier l'en-tête dans une + variable d'environnement interne et journaliser sa valeur via + le champ <code>%{<var>VARNAME</var>}e</code> décrit plus haut. + + </td></tr> + + <tr><td><code>%k</code></td> + <td>Nombre de requêtes persistantes en cours pour cette + connexion. Interessant si la directive <directive + module="core">KeepAlive</directive> est utilisée ; par exemple, + '1' signifie la première requête après la requête initiale, '2' + la seconde, etc... ; autrement, il s'agit toujours de 0 + (indiquant la requête initiale).</td></tr> + + <tr><td><code>%l</code></td> + <td>Le nom de connexion distant (en provenance d'identd, si + disponible). Affiche un tiret, sauf si + <module>mod_ident</module> est présent et si <directive + module="mod_ident">IdentityCheck</directive> est à + <code>On</code>.</td></tr> + + <tr><td><code>%L</code></td> + <td>L'identifiant du message de journalisation de la requête + dans le journal des erreurs (ou '-' si aucun message n'a + été enregistré dans le journal des erreurs pour cette requête)</td></tr> + + <tr><td><code>%m</code></td> + <td>La méthode de la requête</td></tr> + + <tr><td><code>%{<var>NOMVAR</var>}n</code></td> + <td>Le contenu de la note <var>NOMVAR</var> en provenance d'un + autre module.</td></tr> + + <tr><td><code>%{<var>NOMVAR</var>}o</code></td> + <td>Le contenu de la ligne d'en-tête + <code><var>NOMVAR</var>:</code> de la réponse.</td></tr> + + <tr><td><code>%p</code></td> + <td>Le port canonique du serveur servant la requête</td></tr> + + <tr><td><code>%{<var>format</var>}p</code></td> + <td>Le port canonique du serveur servant la requête ou le + véritable port du serveur ou le véritable port du client. les + formats valides sont <code>canonical</code>, <code>local</code>, + ou <code>remote</code>. + </td></tr> + + <tr><td><code>%P</code></td> + <td>Le numéro de processus du processus enfant qui a servi la + requête.</td></tr> + + <tr><td><code>%{<var>format</var>}P</code></td> + <td>Le numéro de processus ou le numéro de thread du processus + enfant qui a servi la requête. Les formats valides sont + <code>pid</code>, <code>tid</code>, et <code>hextid</code>. + <code>hextid</code> nécessite APR version 1.2.0 ou supérieure. + </td></tr> + + <tr><td><code>%q</code></td> + <td>La chaîne d'arguments (préfixée par un <code>?</code> si une + chaîne d'arguments existe, sinon une chaîne vide)</td></tr> + + <tr><td><code>%r</code></td> + <td>La première ligne de la requête</td></tr> + + <tr><td><code>%R</code></td> + <td>Le gestionnaire qui génère la réponse (s'il y en a un).</td></tr> + + <tr><td><code>%s</code></td> + <td>Statut. Pour les requêtes redirigées en interne, il s'agit + du statut de la requête *originale* --- <code>%>s</code> pour + la dernière.</td></tr> + + <tr><td><code>%t</code></td> + <td>Date à laquelle la requête a été reçue (au format anglais + standard)</td></tr> + + <tr><td><code>%{<var>format</var>}t</code></td> + <td>La date, sous la forme spécifiée par format, qui devrait + être au format étendu <code>strftime(3)</code> (éventuellement + localisé). Si le format commence par <code>begin:</code> (valeur + par défaut), la date est extraite au début du traitement de la + requête ; s'il commence par <code>end:</code>, la date + correspond au moment où l'entrée du journal est inscrite, par + conséquent vers la fin du traitement de la requête. Hormis les + formats supportés par <code>strftime(3)</code>, les formats + suivants sont aussi disponibles : + <table> + <tr><td><code>sec</code></td><td>nombre de secondes depuis Epoch</td></tr> + <tr><td><code>msec</code></td><td>nombre de millisecondes depuis Epoch</td></tr> + <tr><td><code>usec</code></td><td>nombre de microsecondes depuis Epoch</td></tr> + <tr><td><code>msec_frac</code></td><td>fraction de milliseconde</td></tr> + <tr><td><code>usec_frac</code></td><td>fraction de microseconde</td></tr> + </table> + Ces symboles ne peuvent pas être combinés entre eux ou avec un + formatage <code>strftime(3)</code> dans la même chaîne de + format. Par contre, vous pouvez utiliser plusieurs symboles + <code>%{<var>format</var>}t</code>.</td></tr> + + <tr><td><code>%T</code></td> + <td>Le temps mis pour servir la requête, en secondes.</td></tr> + + <tr><td><code>%{<var>UNIT</var>}T</code></td> + <td>Le temps mis pour traiter la requête dans une unité définie + par <code>UNIT</code>. Les valeurs d'unité valides sont + <code>ms</code> pour millisecondes, <code>us</code> pour + microsecondes et <code>s</code> pour secondes. Si + <code>UNIT</code> est omis, la valeur de l'unité par défaut est + la seconde ; spécifier la valeur d'unité <code>us</code> revient + à utiliser le format <code>%D</code>. La possibilité de + spécifier une valeur d'unité avec le format <code>%T</code> est + disponible depuis la version 2.4.13 du serveur HTTP Apache.</td></tr> + + <tr><td><code>%u</code></td> + <td>L'utilisateur distant (en provenance d'auth ; peut être faux + si le statut de retour (<code>%s</code>) est 401).</td></tr> + + <tr><td><code>%U</code></td> + <td>Le chemin de la requête, à l'exclusion de toute chaîne + d'arguments.</td></tr> + + <tr><td><code>%v</code></td> + <td>Le nom canonique du serveur qui a servi la requête, défini + par la directive <directive + module="core">ServerName</directive>.</td></tr> + + <tr><td><code>%V</code></td> + <td>La nom du serveur en tenant compte de la définition de la + directive <directive module="core" + >UseCanonicalName</directive>.</td></tr> + + <tr><td><code>%X</code></td> + <td>Statut de la connexion lorsque la réponse a été renvoyée + : + + <table> + <columnspec><column width=".2"/><column width=".6"/></columnspec> + <tr><td><code>X</code> =</td> + <td>connexion abandonnée avant l'envoi de la réponse.</td></tr> + <tr><td><code>+</code> =</td> + <td>la connexion peut rester ouverte après l'envoi de la + réponse.</td></tr> + <tr><td><code>-</code> = </td> + <td>la connexion sera fermée après l'envoi de la + réponse.</td></tr> + </table> + + </td></tr> + + <tr><td><code>%I</code></td> + <td>Le nombre d'octets reçus, en comptant la requête et les + en-têtes, ne peut être nul. Nécessite l'activation de + <module>mod_logio</module>.</td></tr> + + <tr><td><code>%O</code></td> + <td>Nombre d'octets envoyés, y compris les en-têtes. Peut être + nul dans les rares cas où une requête est avortée avant que la + réponse ne soit envoyée. Nécessite l'activation de + <module>mod_logio</module>.</td></tr> + + <tr><td><code>%S</code></td> + <td>Nombre d'octets transmis en émission et réception y compris + la requête et les en-têtes ; cette valeur ne peut pas être + nulle, il s'agit de la combinaison de %I et %O. Vous devez + activer <module>mod_logio</module> pour utiliser cette chaîne de + format.</td></tr> + + <tr><td><code>%{<var>VARNAME</var>}^ti</code></td> + <td>Le contenu de la variable <code><var>VARNAME</var>:</code> + spécifiée dans la requête envoyée au serveur.</td></tr> + + <tr><td><code>%{<var>VARNAME</var>}^to</code></td> + <td>Le contenu de la variable <code><var>VARNAME</var>:</code> + spécifiée dans la réponse envoyée par le serveur.</td></tr> + + </table> + + <section id="modifiers"><title>Modificateurs</title> + + <p>Il est possible de restreindre l'enregistrement de certains + éléments + en fonction du code de statut de la réponse, en insérant une liste + de codes de statut séparés par des virgules immédiatement après le + caractère "%". Par exemple, <code>"%400,501{User-agent}i"</code> + n'enregistrera l'en-tête <code>User-agent</code> que dans le cas + d'une erreur 400 ou 501. Avec les autres codes de statut, c'est la + chaîne littérale <code>"-"</code> qui sera enregistrée. La liste + de codes peut être précédée d'un "<code>!</code>" pour inverser la + condition : <code>"%!200,304,302{Referer}i"</code> enregistre + l'en-tête <code>Referer</code> pour toutes les requêtes qui + <em>ne</em> renvoient <em>pas</em> un des trois codes spécifiés.</p> + + <p>Les modificateurs "<" et ">" peuvent être utilisés pour + les requêtes qui ont été redirigées en interne afin de choisir si + c'est respectivement la requête originale ou finale qui doit être + consultée. Par défaut, les directives <code>%s, %U, %T, %D,</code> + et <code>%r</code> consultent la requête originale, alors que + toutes les autres consultent la requête finale. Ainsi, par + exemple, on peut utiliser <code>%>s</code> pour enregistrer le + statut final de la requête, et <code>%<u</code> pour + enregistrer l'utilisateur authentifié à l'origine pour une requête + redirigée en interne vers une ressource sans authentification.</p> + + </section> + + <section id="format-notes"><title>Quelques Notes</title> + + <p>Pour des raisons de sécurité, à partir de la version 2.0.46, + les caractères non imprimables et autres caractères spéciaux dans + les directives <code>%r</code>, <code>%i</code> et <code>%o</code> + doivent être échappés à l'aide des séquences + <code>\x<var>hh</var></code>, + où <var>hh</var> est le code hexadécimal du caractère spécial. + Comme exceptions à cette règle, les caractères <code>"</code> et + <code>\</code> doivent être échappés par un anti-slash, et tous + les "blancs" doivent être écrits selon leur notation de style C + (<code>\n</code>, <code>\t</code>, etc...). Avant la version + 2.0.46, aucun échappement n'était effectué sur ces chaînes, et il + fallait être très prudent lors de l'exploitation des journaux + bruts.</p> + + <p>A la différence de la version 1.3, depuis httpd 2.0, les chaînes + de format <code>%b</code> et <code>%B</code> ne représentent pas + le nombre d'octets envoyés au client, mais simplement la taille en + octets de la réponse HTTP (les deux étant différents, par exemple, + si la connexion est abandonnée, ou si SSL est utilisé). Le format + <code>%O</code> fourni par <module>mod_logio</module>, + enregistrera le nombre réel d'octets envoyés sur le réseau.</p> + + <p>Note : <module>mod_cache</module> est implémenté en tant que + gestionnaire basique et non en tant que gestionnaire standard. + C'est pourquoi la chaîne de format <code>%R</code> ne renverra pas + d'information à propos du gestionnaire lorsqu'une mise en cache de + contenu entre en jeu.</p> + + <note> + <p>Note : la présence du caractère '^' au début d'une chaîne de + format de trois caractères n'a aucune incidence sur la + signification de cette chaîne, mais il doit être + le premier caractère de toute chaîne de format de trois caractères + nouvellement créée, afin d'éviter d'éventuels conflits avec des + chaînes de format qui utilisent des caractères littéraux adjacents à un + spécificateur de format tel que "%Dus".</p> + </note> + + </section> + + <section id="examples"><title>Exemples</title> + + <p>Quelques chaînes de format couramment utilisées :</p> + + <dl> + <dt>Format de journal courant (CLF)</dt> + <dd><code>"%h %l %u %t \"%r\" %>s %b"</code></dd> + + <dt>Format de journal courant avec un serveur virtuel</dt> + <dd><code>"%v %h %l %u %t \"%r\" %>s %b"</code></dd> + + <dt>Format de journal NCSA étandu/combiné</dt> + <dd><code>"%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" + \"%{User-agent}i\""</code></dd> + + <dt>Format de journal de la page qui contient le lien vers la + page concernée (Referer)</dt> + <dd><code>"%{Referer}i -> %U"</code></dd> + + <dt>Format de journal de l'agent (Navigateur)</dt> + <dd><code>"%{User-agent}i"</code></dd> + </dl> + + <p>Vous pouvez utiliser plusieurs fois la directive + <code>%{format}t</code> pour construire un format de temps + utilisant les symboles de format étendus tels que + <code>msec_frac</code> :</p> + <dl> +<dt>Format de temps prenant en compte les milisecondes</dt> +<dd><code>"%{%d/%b/%Y %T}t.%{msec_frac}t %{%z}t"</code></dd> + + </dl> + + </section> +</section> + +<section id="security"><title>Considérations concernant la +sécurité</title> + <p>Voir le document <a + href="../misc/security_tips.html#serverroot">conseils à matière de + sécurité</a> pour plus de détails sur les raisons pour lesquelles + votre sécurité pourrait être compromise, si le répertoire où sont + stockés les fichiers journaux sont inscriptibles par tout autre + utilisateur que celui qui démarre le serveur.</p> +</section> + +<directivesynopsis> +<name>BufferedLogs</name> +<description>Enregistre les entrées du journal dans un tampon en mémoire +avant de les écrire sur disque</description> +<syntax>BufferedLogs On|Off</syntax> +<default>BufferedLogs Off</default> +<contextlist><context>server config</context></contextlist> + +<usage> + <p>Lorsque la directive <directive>BufferedLogs</directive> est à + "on", <module>mod_log_config</module> stocke de nombreuses entrées + du journal en mémoire, et les écrit d'un seul bloc sur disque, + plutôt que de les écrire après chaque requête. Sur certains + systèmes, ceci peut améliorer l'efficacité des accès disque, et par + conséquent les performances. La directive ne peut être définie + qu'une seule fois pour l'ensemble du serveur ; elle ne peut pas être + définie au niveau d'un serveur virtuel.</p> + + <note>Cette directive doit être utilisée avec + précautions car un crash peut provoquer la perte de données de + journalisation.</note> +</usage> +</directivesynopsis> + +<directivesynopsis> +<name>CookieLog</name> +<description>Définit le nom du fichier pour la journalisation des +cookies</description> +<syntax>CookieLog <var>nom-fichier</var></syntax> +<contextlist><context>server config</context><context>virtual host</context> +</contextlist> +<compatibility>Cette directive est obsolète.</compatibility> + +<usage> + <p>La directive <directive>CookieLog</directive> permet de définir + le nom du fichier pour la journalisation des cookies. Le nom du + fichier est relatif au répertoire défini par la directive <directive + module="core">ServerRoot</directive>. Cette directive n'est présente + qu'à des fins de compatibilité avec with <code>mod_cookies</code>, + et est obsolète.</p> +</usage> +</directivesynopsis> + +<directivesynopsis> +<name>CustomLog</name> +<description>Définit le nom et le format du fichier +journal</description> +<syntax>CustomLog <var>fichier</var>|<var>pipe</var>|<var>provider</var> +<var>format</var>|<var>alias</var> +[env=[!]<var>variable-environnement</var>| +expr=<var>expression</var>]</syntax> +<contextlist><context>server config</context><context>virtual host</context> +</contextlist> + +<usage> + <p>La directive <directive>CustomLog</directive> permet de contrôler + la journalisation des requêtes destinées au serveur. Un format de + journal est spécifié, et la journalisation peut s'effectuer de + manière conditionnelle en fonction des caractéristiques de la + requête en utilisant des variables d'environnement.</p> + + <p>Le premier argument, qui spécifie l'emplacement où les journaux + seront écrits, accepte deux types de valeurs :</p> + + <dl> + <dt><var>fichier</var></dt> + <dd>Un nom de fichier, relatif au répertoire défini par la + directive <directive module="core">ServerRoot</directive>.</dd> + + <dt><var>pipe</var></dt> + <dd>Le caractère pipe "<code>|</code>", suivi du chemin vers un + programme qui recevra les informations de la journalisation sur + son entrée standard. Voir les notes à propos de la <a + href="../logs.html#piped">journalisation redirigée</a> pour plus + d'informations. + + <note type="warning"><title>Sécurité :</title> + <p>Si les journaux sont redirigés vers un programme, ce dernier + s'exécutera sous l'utilisateur qui a démarré + <program>httpd</program>. Ce sera l'utilisateur root si le serveur + a été démarré par root ; vérifiez que le programme est + sécurisé.</p> + </note> + <note type="warning"><title>Note</title> + <p>Lors de la spécification d'un chemin de fichier sur les + plate-formes non-Unix, il faut prendre soin de ne pas oublier + que seuls les slashes directs doivent être utilisés, même si la + plate-forme autorise l'emploi d'anti-slashes. D'une manière + générale, c'est une bonne idée que de n'utiliser que des slashes + directs dans les fichiers de configuration.</p> + </note></dd> + <dt><var>provider</var></dt> + <dd>Les messages CustomLog peuvent aussi utiliser comme cible les + modules qui implémentent des fournisseurs ErrorLog. A cet effet, + utilisez la syntaxe "provider:argument". Comme fournisseur, vous + pouvez par exemple utiliser <module>mod_journald</module> ou + <module>mod_syslog</module> : + <highlight language="config"> +# Journalisation CustomLog vers journald +CustomLog "journald" "%h %l %u %t \"%r\" %>s %b" + +# Journalisation CustomLog vers syslog avec l'option "user" +CustomLog "syslog:user" "%h %l %u %t \"%r\" %>s %b" + </highlight> + </dd> + </dl> + + <p>Le second argument permet de définir ce qui va être écrit dans le + fichier journal. Il peut contenir soit un <var>alias</var> prédéfini + par une directive <directive + module="mod_log_config">LogFormat</directive>, soit une chaîne de + <var>format</var> explicite comme décrit dans la section <a + href="#formats">formats de journaux</a>.</p> + + <p>Par exemple, les deux blocs de directives suivants produisent le + même effet :</p> + + <highlight language="config"> +# Journal personnalisé avec alias de format +LogFormat "%h %l %u %t \"%r\" %>s %b" common +CustomLog "logs/access_log" common + +# Journal personnalisé avec chaîne de format explicite +CustomLog "logs/access_log" "%h %l %u %t \"%r\" %>s %b" + </highlight> + + <p>Le troisième argument est optionnel et permet de contrôler si une + requête doit être ou non journalisée. Dans le cas d'une clause + '<code>env=!<var>nom</var></code>', la condition peut être la + présence ou l'absence d'une variable particulière dans + l'<a href="../env.html">environnement du serveur</a>. Dans le cas + d'une clause 'expr=<var>expression</var>', la condition consiste + en une <a href="../expr.html">expression</a> booléenne + quelconque. Si la condition n'est pas vérifiée, la requête ne sera + pas journalisée. D'éventuelles références à des en-têtes HTTP dans + l'expression rationnelle n'entraîneront pas l'ajout des noms + d'en-tête correspondants à l'en-tête Vary.</p> + + <p>Les variables d'environnement peuvent être définies au niveau de + chaque requête en utilisant les modules + <module>mod_setenvif</module> et/ou <module>mod_rewrite</module>. + Par exemple, si vous voulez enregistrer les requêtes pour toutes les + images GIF sur votre serveur dans un fichier journal séparé, et pas + dans votre journal principal, vous pouvez utiliser :</p> + + <highlight language="config"> +SetEnvIf Request_URI \.gif$ gif-image +CustomLog "gif-requests.log" common env=gif-image +CustomLog "nongif-requests.log" common env=!gif-image + </highlight> + + <p>Ou, pour reproduire le comportement de l'ancienne directive + RefererIgnore, vous pouvez utiliser :</p> + + <highlight language="config"> +SetEnvIf Referer example\.com localreferer +CustomLog "referer.log" referer env=!localreferer + </highlight> +</usage> +</directivesynopsis> + +<directivesynopsis> +<name>LogFormat</name> +<description>Décrit un format utilisable dans un fichier +journal</description> +<syntax>LogFormat <var>format</var>|<var>alias</var> +[<var>alias</var>]</syntax> +<default>LogFormat "%h %l %u %t \"%r\" %>s %b"</default> +<contextlist><context>server config</context><context>virtual host</context> +</contextlist> + +<usage> + <p>Cette directive permet de spécifier le format du fichier journal + des accès.</p> + + <p>La directive <directive>LogFormat</directive> se présente sous + deux formes. Sous la première forme, qui ne possède qu'un seul + argument, la directive définit le format qui sera utilisé dans les + journaux spécifiés par les directives + <directive>TransferLog</directive> ultérieures. L'argument unique + peut contenir un <var>format</var> explicite comme décrit dans la + section <a href="#formats">formats de journaux personnalisés</a> + ci-dessus. Il peut aussi contenir un <var>alias</var> faisant + référence à un format de journal prédéfini par une directive + <directive>LogFormat</directive> comme décrit plus loin.</p> + + <p>Sous sa seconde forme, la directive + <directive>LogFormat</directive> associe un <var>format</var> + explicite à un <var>alias</var>. Cet <var>alias</var> peut + ensuite s'utiliser dans les directives + <directive>LogFormat</directive> ou <directive + module="mod_log_config">CustomLog</directive> ultérieures, ce qui + évite d'avoir à répéter l'ensemble de la chaîne de format. Une + directive <directive>LogFormat</directive> qui définit un alias + <strong>ne fait rien d'autre</strong> -- c'est à dire qu'<em>elle ne + fait que</em> définir l'alias, elle n'applique pas le format et n'en + fait pas le format par défaut. Par conséquent, elle n'affecte pas + les directives <directive + module="mod_log_config">TransferLog</directive> ultérieures. En + outre, la directive <directive>LogFormat</directive> ne peut pas + utiliser un alias pour en définir un autre. Notez que l'alias ne + doit pas contenir de caractère pourcent (<code>%</code>).</p> + + <example><title>Exemple</title> + <highlight language="config"> + LogFormat "%v %h %l %u %t \"%r\" %>s %b" serveur_virtuel_commun + </highlight> + </example> + +</usage> +</directivesynopsis> + +<directivesynopsis> +<name>TransferLog</name> +<description>Spécifie l'emplacement d'un fichier journal</description> +<syntax>TransferLog <var>fichier</var>|<var>pipe</var></syntax> +<contextlist><context>server config</context><context>virtual host</context> +</contextlist> + +<usage> + <p>Cette directive possède exactement les mêmes arguments et produit + les mêmes effets que la directive <directive + module="mod_log_config">CustomLog</directive>, à l'exception qu'elle + ne permet pas de spécifier un format de journal explicite ou la + journalisation conditionnelle des requêtes. En l'occurrence, le + format de journal est déterminé par la dernière définition d'une + directive <directive module="mod_log_config">LogFormat</directive> + qui ne définit pas d'alias. Si aucun format particulier n'a été + spécifié, c'est le Common Log Format qui sera utilisé.</p> + + <example><title>Exemple</title> + <highlight language="config"> +LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-agent}i\"" +TransferLog "logs/access_log" + </highlight> + </example> +</usage> +</directivesynopsis> + +<directivesynopsis> +<name>GlobalLog</name> +<description>Définit le nom et le format du fichier journal</description> +<syntax>GlobalLog <var>file</var>|<var>pipe</var>|<var>provider</var> +<var>format</var>|<var>nickname</var> +[env=[!]<var>environment-variable</var>| +expr=<var>expression</var>]</syntax> +<contextlist><context>server config</context> +</contextlist> +<compatibility>Disponible à partir de la version 2.4.19 du serveur HTTP Apache</compatibility> + +<usage> + + <p>La directive <directive>GlobalLog</directive> permet de spécifier un + journal partagé entre le serveur principal et tous les serveurs virtuels + définis.</p> + + <p>Elle est identique à la directive <directive>CustomLog</directive> à ces + différences près : </p> + <ul> + <li>Elle n'est pas valide dans un contexte de serveur virtuel.</li> + <li>A la différence d'une directive <directive>CustomLog</directive> + définie globalement, elle est prise en compte par les serveurs virtuels + qui définissent leur propre directive <directive>CustomLog</directive>.</li> + </ul> +</usage> +</directivesynopsis> + +</modulesynopsis> diff --git a/docs/manual/mod/mod_log_config.xml.meta b/docs/manual/mod/mod_log_config.xml.meta index 7676287adf..d3f68096ba 100644 --- a/docs/manual/mod/mod_log_config.xml.meta +++ b/docs/manual/mod/mod_log_config.xml.meta @@ -8,6 +8,7 @@ <variants> <variant>en</variant> + <variant>fr</variant> <variant outdated="yes">ja</variant> <variant outdated="yes">ko</variant> <variant outdated="yes">tr</variant> diff --git a/docs/manual/mod/mod_log_debug.html b/docs/manual/mod/mod_log_debug.html index 7e3effaaf0..9acc6a02e2 100644 --- a/docs/manual/mod/mod_log_debug.html +++ b/docs/manual/mod/mod_log_debug.html @@ -3,3 +3,7 @@ URI: mod_log_debug.html.en Content-Language: en Content-type: text/html; charset=ISO-8859-1 + +URI: mod_log_debug.html.fr +Content-Language: fr +Content-type: text/html; charset=ISO-8859-1 diff --git a/docs/manual/mod/mod_log_debug.html.fr b/docs/manual/mod/mod_log_debug.html.fr new file mode 100644 index 0000000000..2b9788d2a5 --- /dev/null +++ b/docs/manual/mod/mod_log_debug.html.fr @@ -0,0 +1,183 @@ +<?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> +<meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_log_debug - Serveur Apache HTTP Version 2.5</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.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p> +<p class="apache">Serveur Apache HTTP Version 2.5</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.5</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Module Apache mod_log_debug</h1> +<div class="toplang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_log_debug.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_log_debug.html" title="Français"> fr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Possibilité de journalisation supplémentaire à des fins de +débogage</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>log_debug_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_log_debug.c</td></tr> +<tr><th><a href="module-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.3.14 d'Apache</td></tr></table> +</div> +<div id="quickview"><h3>Sujets</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#examples">Exemples</a></li> +</ul><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#logmessage">LogMessage</a></li> +</ul> +<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_log_debug">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_log_debug">Signaler un bug</a></li></ul><h3>Voir aussi</h3> +<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> + Enregistre un message après le traitement d'une requête pour + /foo/* : + + <pre class="prettyprint lang-config"><Location "/foo/"> + LogMessage "/foo/ has been requested" +</Location></pre> + + </li> + + <li> + Enregistre un message si une requête pour /foo/* est traitée + dans une sous-requête : + <pre class="prettyprint lang-config"><Location "/foo/"> + LogMessage "subrequest to /foo/" hook=type_checker "expr=-T %{IS_SUBREQ}" +</Location></pre> + + + Le branchement (hook) par défaut log_transaction n'est pas + exécuté pour les sous-requêtes ; nous devons donc en utiliser un + autre. + </li> + + + <li> + Enregistre un message si un client IPv6 est à l'origine d'un + dépassement de délai pour une requête : + <pre class="prettyprint lang-config">LogMessage "IPv6 timeout from %{REMOTE_ADDR}" "expr=-T %{IPV6} && %{REQUEST_STATUS} = 408"</pre> + + Notez l'emplacement des guillemets pour l'argument + <code>expr=</code>. + </li> + + <li> + Enregistre la valeur de la variable d'environnement de requête + "X-Foo" à chaque étape du traitement : + <pre class="prettyprint lang-config"><Location "/"> + LogMessage "%{reqenv:X-Foo}" hook=all +</Location></pre> + + En association avec les repères de temps en microsecondes du journal des erreurs, + <code>hook=all</code> permet aussi de déterminer la durée d'exécution des + différentes phases du traitement de la requête. + </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="logmessage" id="logmessage">Directive</a> <a name="LogMessage" id="LogMessage">LogMessage</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Enregistre des messages personnalisés dans le journal des +erreurs</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>LogMessage <var>message</var> +[hook=<var>hook</var>] [expr=<var>expression</var>] +</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>Non défini</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_log_debug</td></tr> +</table> + <p>Cette directive permet d'enregistrer un message personnalisé dans + le journal des erreurs. Ce message peut utiliser des variables et + des fonctions dans la <a href="../expr.html">syntaxe ap_expr</a>. + D'éventuelles références à des en-têtes HTTP dans l'expression + rationnelle n'entraîneront pas l'ajout des noms d'en-tête + correspondants à l'en-tête Vary. + Les messages sont enregistrés au loglevel info.</p> + + <p>Le branchement (hook) précise la phase du traitement de la + requête avant laquelle le message sera enregistré. Les branchements + suivants sont supportés :</p> + + <table class="bordered"><tr class="header"><th>Nom</th></tr> +<tr><td><code>translate_name</code></td></tr> +<tr class="odd"><td><code>type_checker</code></td></tr> +<tr><td><code>quick_handler</code></td></tr> +<tr class="odd"><td><code>map_to_storage</code></td></tr> +<tr><td><code>check_access</code></td></tr> +<tr class="odd"><td><code>check_access_ex</code></td></tr> +<tr><td><code>insert_filter</code></td></tr> +<tr class="odd"><td><code>check_authn</code></td></tr> +<tr><td><code>check_authz</code></td></tr> +<tr class="odd"><td><code>fixups</code></td></tr> +<tr><td><code>handler</code></td></tr> +<tr class="odd"><td><code>log_transaction</code></td></tr> +</table> + + <p>Le branchement par défaut est <code>log_transaction</code>. La + valeur spéciale <code>all</code> est aussi supportée ; dans ce cas, + le message sera enregistré à chaque phase. Tous les branchements ne + sont pas exécutés pour chaque requête.</p> + + <p>L'expression optionnelle permet de restreindre l'enregistrement + du message en fonction d'une certaine condition. La syntaxe de + l'expression est décrite dans la <a href="../expr.html">documentation ap_expr</a>. D'éventuelles + références à des en-têtes HTTP dans l'expression + rationnelle n'entraîneront pas l'ajout des noms d'en-tête + correspondants à l'en-tête Vary.</p> + + +</div> +</div> +<div class="bottomlang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_log_debug.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_log_debug.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/trunk/mod/mod_log_debug.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 2017 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_log_debug.xml.fr b/docs/manual/mod/mod_log_debug.xml.fr new file mode 100644 index 0000000000..953327c37c --- /dev/null +++ b/docs/manual/mod/mod_log_debug.xml.fr @@ -0,0 +1,148 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd"> +<?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?> +<!-- English Revision : 1723522 --> +<!-- French translation : Lucien GENTIS --> +<!-- $LastChangedRevision: 2016010901 $ --> + +<!-- + 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_log_debug.xml.meta"> + +<name>mod_log_debug</name> +<description>Possibilité de journalisation supplémentaire à des fins de +débogage</description> +<status>Experimental</status> +<sourcefile>mod_log_debug.c</sourcefile> +<identifier>log_debug_module</identifier> +<compatibility>Disponible depuis la version 2.3.14 d'Apache</compatibility> + +<section id="examples"><title>Exemples</title> + + <ol> + <li> + Enregistre un message après le traitement d'une requête pour + /foo/* : + + <highlight language="config"> +<Location "/foo/"> + LogMessage "/foo/ has been requested" +</Location> + </highlight> + </li> + + <li> + Enregistre un message si une requête pour /foo/* est traitée + dans une sous-requête : + <highlight language="config"> +<Location "/foo/"> + LogMessage "subrequest to /foo/" hook=type_checker "expr=-T %{IS_SUBREQ}" +</Location> + </highlight> + + Le branchement (hook) par défaut log_transaction n'est pas + exécuté pour les sous-requêtes ; nous devons donc en utiliser un + autre. + </li> + + + <li> + Enregistre un message si un client IPv6 est à l'origine d'un + dépassement de délai pour une requête : + <highlight language="config"> + LogMessage "IPv6 timeout from %{REMOTE_ADDR}" "expr=-T %{IPV6} && %{REQUEST_STATUS} = 408" + </highlight> + Notez l'emplacement des guillemets pour l'argument + <code>expr=</code>. + </li> + + <li> + Enregistre la valeur de la variable d'environnement de requête + "X-Foo" à chaque étape du traitement : + <highlight language="config"> +<Location "/"> + LogMessage "%{reqenv:X-Foo}" hook=all +</Location> + </highlight> + En association avec les repères de temps en microsecondes du journal des erreurs, + <code>hook=all</code> permet aussi de déterminer la durée d'exécution des + différentes phases du traitement de la requête. + </li> + + </ol> +</section> + +<directivesynopsis> +<name>LogMessage</name> +<description>Enregistre des messages personnalisés dans le journal des +erreurs</description> +<syntax>LogMessage <var>message</var> +[hook=<var>hook</var>] [expr=<var>expression</var>] +</syntax> +<default>Non défini</default> +<contextlist><context>directory</context> +</contextlist> + +<usage> + <p>Cette directive permet d'enregistrer un message personnalisé dans + le journal des erreurs. Ce message peut utiliser des variables et + des fonctions dans la <a href="../expr.html">syntaxe ap_expr</a>. + D'éventuelles références à des en-têtes HTTP dans l'expression + rationnelle n'entraîneront pas l'ajout des noms d'en-tête + correspondants à l'en-tête Vary. + Les messages sont enregistrés au loglevel info.</p> + + <p>Le branchement (hook) précise la phase du traitement de la + requête avant laquelle le message sera enregistré. Les branchements + suivants sont supportés :</p> + + <table border="1" style="zebra"> + <columnspec><column width="1"/></columnspec> + <tr><th>Nom</th></tr> + <tr><td><code>translate_name</code></td></tr> + <tr><td><code>type_checker</code></td></tr> + <tr><td><code>quick_handler</code></td></tr> + <tr><td><code>map_to_storage</code></td></tr> + <tr><td><code>check_access</code></td></tr> + <tr><td><code>check_access_ex</code></td></tr> + <tr><td><code>insert_filter</code></td></tr> + <tr><td><code>check_authn</code></td></tr> + <tr><td><code>check_authz</code></td></tr> + <tr><td><code>fixups</code></td></tr> + <tr><td><code>handler</code></td></tr> + <tr><td><code>log_transaction</code></td></tr> + </table> + + <p>Le branchement par défaut est <code>log_transaction</code>. La + valeur spéciale <code>all</code> est aussi supportée ; dans ce cas, + le message sera enregistré à chaque phase. Tous les branchements ne + sont pas exécutés pour chaque requête.</p> + + <p>L'expression optionnelle permet de restreindre l'enregistrement + du message en fonction d'une certaine condition. La syntaxe de + l'expression est décrite dans la <a + href="../expr.html">documentation ap_expr</a>. D'éventuelles + références à des en-têtes HTTP dans l'expression + rationnelle n'entraîneront pas l'ajout des noms d'en-tête + correspondants à l'en-tête Vary.</p> + +</usage> + +</directivesynopsis> + +</modulesynopsis> diff --git a/docs/manual/mod/mod_log_debug.xml.meta b/docs/manual/mod/mod_log_debug.xml.meta index eace4d990d..d52c5b7c16 100644 --- a/docs/manual/mod/mod_log_debug.xml.meta +++ b/docs/manual/mod/mod_log_debug.xml.meta @@ -8,5 +8,6 @@ <variants> <variant>en</variant> + <variant>fr</variant> </variants> </metafile> diff --git a/docs/manual/mod/mod_logio.html b/docs/manual/mod/mod_logio.html index 0eb2b07092..370e8030bb 100644 --- a/docs/manual/mod/mod_logio.html +++ b/docs/manual/mod/mod_logio.html @@ -4,6 +4,10 @@ URI: mod_logio.html.en Content-Language: en Content-type: text/html; charset=ISO-8859-1 +URI: mod_logio.html.fr +Content-Language: fr +Content-type: text/html; charset=ISO-8859-1 + URI: mod_logio.html.ja.utf8 Content-Language: ja Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_logio.html.fr b/docs/manual/mod/mod_logio.html.fr new file mode 100644 index 0000000000..2ca81930dd --- /dev/null +++ b/docs/manual/mod/mod_logio.html.fr @@ -0,0 +1,164 @@ +<?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> +<meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_logio - Serveur Apache HTTP Version 2.5</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.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p> +<p class="apache">Serveur Apache HTTP Version 2.5</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.5</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Module Apache mod_logio</h1> +<div class="toplang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_logio.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_logio.html" title="Français"> fr </a> | +<a href="../ja/mod/mod_logio.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_logio.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/mod_logio.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>Journalisation des octets en entrée et en sortie pour +chaque requête</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>logio_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_logio.c</td></tr></table> +<h3>Sommaire</h3> + + + <p>Ce module permet d'enregistrer le nombre d'octets reçus et + envoyés pour chaque requête. Ce nombre reflète le nombre réel + d'octets transmis sur le réseau, et prend en compte les en-têtes et + corps des requêtes et des réponses. Le décompte est effectué avant + SSL/TLS en entrée et après SSL/TLS en sortie, si bien que le + résultat reflètera toute modification introduite par le + chiffrement.</p> + + <p>Pour fonctionner, ce module requiert le chargement du module + <code class="module"><a href="../mod/mod_log_config.html">mod_log_config</a></code>.</p> + + <div class="note">Lorsqu'on utilise les connexions persistantes avec SSL, le + supplément de trafic induit par la négociation SSL est enregistré + dans le décompte des octets transmis dans le cadre de la première + requête de la connexion. Lors d'une renégociation SSL au niveau d'un + répertoire, le décompte d'octets est associé à la + requête qui a déclenché la renégociation.</div> + +</div> +<div id="quickview"><h3>Sujets</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#formats">Formats de journaux personnalisés</a></li> +</ul><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#logiotrackttfb">LogIOTrackTTFB</a></li> +</ul> +<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_logio">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_logio">Signaler un bug</a></li></ul><h3>Voir aussi</h3> +<ul class="seealso"> +<li><code class="module"><a href="../mod/mod_log_config.html">mod_log_config</a></code></li> +<li><a href="../logs.html">Les fichiers journaux +d'Apache</a></li> +<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="formats" id="formats">Formats de journaux personnalisés</a></h2> + + + <p>Ce module introduit trois nouvelles directives de journalisation. + Les caractéristiques de la requête en elle-même sont journalisées en + insérant des directives "<code>%</code>" dans la chaîne de format, + qui seront remplacées comme suit dans le fichier journal :</p> + + <table class="bordered"><tr class="header"><th>Chaîne de Format</th> + <th>Description</th></tr> +<tr><td><code>%I</code></td> + <td>Octets reçus, en-têtes et corps de requête inclus ; ne peut + pas être nul.</td></tr> +<tr class="odd"><td><code>%O</code></td> + <td>Octets envoyés, en-têtes inclus ; ne peut + pas être nul.</td></tr> +<tr><td><code>%S</code></td> + <td>Nombre d'octets transmis en émission et réception y compris + la requête et les en-têtes ; cette valeur ne peut pas être + nulle, il s'agit de la combinaison de %I et %O.<br /> + Disponible depuis la version 2.4.7 du serveur HTTP Apache.</td></tr> +<tr class="odd"><td><code>%^FB</code></td> + <td>Délai en microsecondes entre l'arrivée de la requête et + l'écriture du premier octet des en-têtes de la réponse. + Disponible uniquement si la directive + <code class="directive">LogIOTrackTTFB</code> a été définie à ON.<br /> + Disponible à partir de la version 2.4.13 du serveur HTTP Apache + </td></tr> +</table> + + <p>En général, cette fonctionnalité s'utilise comme suit :</p> + + <dl> + <dt>Format de journal d'entrées/sorties combiné :</dt> + <dd><code>"%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" + \"%{User-agent}i\" %I %O"</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="logiotrackttfb" id="logiotrackttfb">Directive</a> <a name="LogIOTrackTTFB" id="LogIOTrackTTFB">LogIOTrackTTFB</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Permet d'enregistrer le délai avant le premier octet (time +to first byte - TTFB)</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>LogIOTrackTTFB ON|OFF</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>LogIOTrackTTFB 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>none</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_logio</td></tr> +</table> + <p>Cette directive permet de définir si ce module mesure le délai + entre la lecture de la requête et l'écriture du premier octet des + en-têtes de la réponse. La valeur obtenue peut être enregistrée dans + le journal via le format <code>%^FB</code>.</p> + +</div> +</div> +<div class="bottomlang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_logio.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_logio.html" title="Français"> fr </a> | +<a href="../ja/mod/mod_logio.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_logio.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/mod_logio.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/trunk/mod/mod_logio.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 2017 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_logio.xml.fr b/docs/manual/mod/mod_logio.xml.fr new file mode 100644 index 0000000000..bf93c675bb --- /dev/null +++ b/docs/manual/mod/mod_logio.xml.fr @@ -0,0 +1,122 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd"> +<?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?> +<!-- English Revision : 1684311 --> +<!-- French translation : Lucien GENTIS --> +<!-- $LastChangedRevision: 2015061301 $ --> + +<!-- + 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_logio.xml.meta"> + +<name>mod_logio</name> +<description>Journalisation des octets en entrée et en sortie pour +chaque requête</description> +<status>Extension</status> +<sourcefile>mod_logio.c</sourcefile> +<identifier>logio_module</identifier> + +<summary> + + <p>Ce module permet d'enregistrer le nombre d'octets reçus et + envoyés pour chaque requête. Ce nombre reflète le nombre réel + d'octets transmis sur le réseau, et prend en compte les en-têtes et + corps des requêtes et des réponses. Le décompte est effectué avant + SSL/TLS en entrée et après SSL/TLS en sortie, si bien que le + résultat reflètera toute modification introduite par le + chiffrement.</p> + + <p>Pour fonctionner, ce module requiert le chargement du module + <module>mod_log_config</module>.</p> + + <note>Lorsqu'on utilise les connexions persistantes avec SSL, le + supplément de trafic induit par la négociation SSL est enregistré + dans le décompte des octets transmis dans le cadre de la première + requête de la connexion. Lors d'une renégociation SSL au niveau d'un + répertoire, le décompte d'octets est associé à la + requête qui a déclenché la renégociation.</note> + +</summary> + +<seealso><module>mod_log_config</module></seealso> +<seealso><a href="../logs.html">Les fichiers journaux +d'Apache</a></seealso> + +<section id="formats"> +<title>Formats de journaux personnalisés</title> + + <p>Ce module introduit trois nouvelles directives de journalisation. + Les caractéristiques de la requête en elle-même sont journalisées en + insérant des directives "<code>%</code>" dans la chaîne de format, + qui seront remplacées comme suit dans le fichier journal :</p> + + <table border="1" style="zebra"> + <tr><th>Chaîne de Format</th> + <th>Description</th></tr> + + <tr><td><code>%I</code></td> + <td>Octets reçus, en-têtes et corps de requête inclus ; ne peut + pas être nul.</td></tr> + + <tr><td><code>%O</code></td> + <td>Octets envoyés, en-têtes inclus ; ne peut + pas être nul.</td></tr> + + <tr><td><code>%S</code></td> + <td>Nombre d'octets transmis en émission et réception y compris + la requête et les en-têtes ; cette valeur ne peut pas être + nulle, il s'agit de la combinaison de %I et %O.<br /> + Disponible depuis la version 2.4.7 du serveur HTTP Apache.</td></tr> + + <tr><td><code>%^FB</code></td> + <td>Délai en microsecondes entre l'arrivée de la requête et + l'écriture du premier octet des en-têtes de la réponse. + Disponible uniquement si la directive + <directive>LogIOTrackTTFB</directive> a été définie à ON.<br /> + Disponible à partir de la version 2.4.13 du serveur HTTP Apache + </td></tr> + </table> + + <p>En général, cette fonctionnalité s'utilise comme suit :</p> + + <dl> + <dt>Format de journal d'entrées/sorties combiné :</dt> + <dd><code>"%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" + \"%{User-agent}i\" %I %O"</code></dd> + </dl> +</section> + +<directivesynopsis> +<name>LogIOTrackTTFB</name> +<description>Permet d'enregistrer le délai avant le premier octet (time +to first byte - TTFB)</description> +<syntax>LogIOTrackTTFB ON|OFF</syntax> +<default>LogIOTrackTTFB OFF</default> +<contextlist><context>server config</context><context>virtual host</context> +<context>directory</context><context>.htaccess</context></contextlist> +<override>none</override> + +<usage> + <p>Cette directive permet de définir si ce module mesure le délai + entre la lecture de la requête et l'écriture du premier octet des + en-têtes de la réponse. La valeur obtenue peut être enregistrée dans + le journal via le format <code>%^FB</code>.</p> +</usage> +</directivesynopsis> + +</modulesynopsis> diff --git a/docs/manual/mod/mod_logio.xml.meta b/docs/manual/mod/mod_logio.xml.meta index ce3f93ab8c..a9e351e684 100644 --- a/docs/manual/mod/mod_logio.xml.meta +++ b/docs/manual/mod/mod_logio.xml.meta @@ -8,6 +8,7 @@ <variants> <variant>en</variant> + <variant>fr</variant> <variant outdated="yes">ja</variant> <variant outdated="yes">ko</variant> <variant outdated="yes">tr</variant> diff --git a/docs/manual/mod/mod_lua.html.fr b/docs/manual/mod/mod_lua.html.fr index 5669059826..71df392e03 100644 --- a/docs/manual/mod/mod_lua.html.fr +++ b/docs/manual/mod/mod_lua.html.fr @@ -29,6 +29,8 @@ <p><span>Langues Disponibles: </span><a href="../en/mod/mod_lua.html" hreflang="en" rel="alternate" title="English"> en </a> | <a href="../fr/mod/mod_lua.html" title="Français"> fr </a></p> </div> +<div class="outofdate">Cette traduction peut être périmée. Vérifiez la version + anglaise pour les changements récents.</div> <table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Fournit des points d'entrée Lua dans différentes parties du traitement des requêtes httpd</td></tr> <tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr> diff --git a/docs/manual/mod/mod_mime.html b/docs/manual/mod/mod_mime.html index 942dc58a0e..db18e2febb 100644 --- a/docs/manual/mod/mod_mime.html +++ b/docs/manual/mod/mod_mime.html @@ -4,6 +4,10 @@ URI: mod_mime.html.en Content-Language: en Content-type: text/html; charset=ISO-8859-1 +URI: mod_mime.html.fr +Content-Language: fr +Content-type: text/html; charset=ISO-8859-1 + URI: mod_mime.html.ja.utf8 Content-Language: ja Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_mime.html.fr b/docs/manual/mod/mod_mime.html.fr new file mode 100644 index 0000000000..84b5fda7f9 --- /dev/null +++ b/docs/manual/mod/mod_mime.html.fr @@ -0,0 +1,1131 @@ +<?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> +<meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_mime - Serveur Apache HTTP Version 2.5</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.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p> +<p class="apache">Serveur Apache HTTP Version 2.5</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.5</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Module Apache mod_mime</h1> +<div class="toplang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_mime.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_mime.html" title="Français"> fr </a> | +<a href="../ja/mod/mod_mime.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>Associe les extensions des fichiers demandés avec l'action +déclenchée par ces fichiers et avec leur contenu (type MIME, langage, +jeu de caractère et codage)</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>mime_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_mime.c</td></tr></table> +<h3>Sommaire</h3> + + <p>Ce module permet d'assigner des métadonnées aux contenus + sélectionnés pour une réponse HTTP, en associant des modèles d'URI + ou de noms de fichiers aux valeurs des métadonnées. Par exemple, les + extensions de noms de fichiers définissent souvent le type de médium + Internet, le langage, le jeu de caractères et le codage du contenu. + Ces informations sont relayées par les messages HTTP véhiculant ces + contenus, et utilisées au cours de la négociation de contenu lors de + la sélection des différentes possibilités, de manière à ce que les + préférences des utilisateurs soient respectées lors du choix d'un + contenu à servir parmi plusieurs autres contenus. Voir + <code class="module"><a href="../mod/mod_negotiation.html">mod_negotiation</a></code> pour plus d'informations à propos + de la <a href="../content-negotiation.html">négociation de + contenu</a>.</p> + + <p>Les directives <code class="directive"><a href="#addcharset">AddCharset</a></code>, <code class="directive"><a href="#addencoding">AddEncoding</a></code>, <code class="directive"><a href="#addlanguage">AddLanguage</a></code> et <code class="directive"><a href="#addtype">AddType</a></code> permettent d'associer des + extensions de fichiers aux métadonnées de ces fichiers. Elles + définissent respectivement le jeu de caractères, le codage du + contenu, le langage du contenu et le <a class="glossarylink" href="../glossary.html#type de médium" title="voir glossaire">type de + médium</a> (content-type) des documents. La directive + <code class="directive"><a href="#typesconfig">TypesConfig</a></code> permet de + spécifier un fichier qui contient lui-même des associations entre + extensions et types de media.</p> + + <p>De plus, <code class="module"><a href="../mod/mod_mime.html">mod_mime</a></code> peut définir le <a href="../handler.html">gestionnaire</a> et les <a href="../filter.html">filtres</a> qui sont à l'origine du contenu et + le traitent. Les directives <code class="directive"><a href="#addhandler">AddHandler</a></code>, <code class="directive"><a href="#addoutputfilter">AddOutputFilter</a></code>, et <code class="directive"><a href="#addinputfilter">AddInputFilter</a></code> permettent de contrôler + les modules ou les scripts qui vont servir le document. La directive + <code class="directive"><a href="#multiviewsmatch">MultiviewsMatch</a></code> permet à + <code class="module"><a href="../mod/mod_negotiation.html">mod_negotiation</a></code> de déterminer les extensions de + fichiers à inclure lors des tests de correspondances multivues.</p> + + <p>Alors que <code class="module"><a href="../mod/mod_mime.html">mod_mime</a></code> associe des métadonnées avec + des extensions de fichiers, le serveur de base <code class="module"><a href="../mod/core.html">core</a></code> + fournit des directives permettant d'associer tous les fichiers d'un + conteneur donné (par exemple <code class="directive"><a href="../mod/core.html#location"><Location></a></code>, <code class="directive"><a href="../mod/core.html#directory"><Directory></a></code>, ou <code class="directive"><a href="../mod/core.html#files"><Files></a></code>) avec des métadonnées particulières. + Parmi ces directives, on trouve <code class="directive"><a href="../mod/core.html#forcetype">ForceType</a></code>, <code class="directive"><a href="../mod/core.html#sethandler">SetHandler</a></code>, <code class="directive"><a href="../mod/core.html#setinputfilter">SetInputFilter</a></code>, et <code class="directive"><a href="../mod/core.html#setoutputfilter">SetOutputFilter</a></code>. Les directives du serveur + de base l'emportent sur toute directive d'association d'extensions + de noms de fichiers définie par <code class="module"><a href="../mod/mod_mime.html">mod_mime</a></code>.</p> + + <p>Notez que la modification des métadonnées d'un fichier ne modifie + pas la valeur de l'en-tête <code>Last-Modified</code>. Ainsi, + certaines copies de documents préalablement mises en cache peuvent + encore être utilisées par un client ou un mandataire avec les + anciens en-têtes. Si vous modifiez les métadonnées (langage, type de + contenu, jeu de caractère ou codage), vous devez donc enregistrer + une modification du fichier concerné (afin de mettre à jour sa date + de dernière modification), pour être sûr que tous les visiteurs + recevront le documents avec les en-têtes corrects. </p> +</div> +<div id="quickview"><h3>Sujets</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#multipleext">Fichiers avec extensions +multiples</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#contentencoding">Codage du contenu</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#charset-lang">Jeux de caractères et langages</a></li> +</ul><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#addcharset">AddCharset</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#addencoding">AddEncoding</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#addhandler">AddHandler</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#addinputfilter">AddInputFilter</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#addlanguage">AddLanguage</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#addoutputfilter">AddOutputFilter</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#addtype">AddType</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#defaultlanguage">DefaultLanguage</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#modmimeusepathinfo">ModMimeUsePathInfo</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#multiviewsmatch">MultiviewsMatch</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#removecharset">RemoveCharset</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#removeencoding">RemoveEncoding</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#removehandler">RemoveHandler</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#removeinputfilter">RemoveInputFilter</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#removelanguage">RemoveLanguage</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#removeoutputfilter">RemoveOutputFilter</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#removetype">RemoveType</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#typesconfig">TypesConfig</a></li> +</ul> +<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_mime">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_mime">Signaler un bug</a></li></ul><h3>Voir aussi</h3> +<ul class="seealso"> +<li><code class="directive"><a href="../mod/mod_mime_magic.html#mimemagicfile">MimeMagicFile</a></code></li> +<li><code class="directive"><a href="../mod/core.html#adddefaultcharset">AddDefaultCharset</a></code></li> +<li><code class="directive"><a href="../mod/core.html#forcetype">ForceType</a></code></li> +<li><code class="directive"><a href="../mod/core.html#sethandler">SetHandler</a></code></li> +<li><code class="directive"><a href="../mod/core.html#setinputfilter">SetInputFilter</a></code></li> +<li><code class="directive"><a href="../mod/core.html#setoutputfilter">SetOutputFilter</a></code></li> +<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="multipleext" id="multipleext">Fichiers avec extensions +multiples</a></h2> + <p>Les fichiers peuvent posséder plusieurs extensions dont l'ordre + est <em>normalement</em> sans importance. Par exemple, si + le fichier <code>welcome.html.fr</code> est associé au type de + contenu <code>text/html</code> et au langage Français, le fichier + <code>welcome.fr.html</code> possèdera exactement les même + métadonnées. Si le fichier possède plusieurs extensions associées + au même type de métadonnée, c'est celle de ces extensions la plus à + droite qui sera utilisée, excepté pour ce qui concerne les langages + et les codages de contenu. Par exemple, si <code>.gif</code> est + associé au <a class="glossarylink" href="../glossary.html#type de médium" title="voir glossaire">type de médium</a> + <code>image/gif</code>, et <code>.html</code> au type de médium + <code>text/html</code>, le fichier <code>welcome.gif.html</code> + sera associé au type de médium <code>text/html</code>.</p> + + <p>Les <a href="#charset-lang">Languages</a> et les <a href="#contentencoding">codages de contenu</a> sont traités de + manière cumulative, car il est possible d'assigner plusieurs + langages ou codages à une ressource particulière. Par exemple, le + fichier <code>welcome.html.en.de</code> sera servi avec les en-têtes + <code>Content-Language: en, de</code> et <code>Content-Type: + text/html</code>.</p> + + <p>Des précautions doivent être prises lorsqu'un fichier avec + extensions multiples est associé à la fois à un <a class="glossarylink" href="../glossary.html#type de médium" title="voir glossaire">type de + médium</a> et à un gestionnaire. En général, cela impliquera + la gestion de la requête par le module associé au gestionnaire. Par + exemple, si l'extension <code>.imap</code> est associée au + gestionnaire <code>imap-file</code> (du module + <code class="module"><a href="../mod/mod_imagemap.html">mod_imagemap</a></code>), et si l'extension <code>.html</code> + est associée au type de médium <code>text/html</code>, le fichier + <code>world.imap.html</code> sera à la fois associé au gestionnaire + <code>imap-file</code> et au type de médium <code>text/html</code>. + Pour son traitement, c'est le gestionnaire <code>imap-file</code> + qui sera utilisé, et il sera donc traité en tant que fichier + imagemap.</p> + + <p>Si vous préférez que seule la dernière partie d'un nom de fichier + séparée du reste du nom par un point soit associée à une métadonnée + particulière, n'utilisez pas les directives <code>Add*</code>. Par + exemple, si vous souhaitez que le fichier <code>foo.html.cgi</code> + soit traité en tant que script CGI, mais pas le fichier + <code>bar.cgi.html</code>, alors, au lieu d'utiliser + <code>AddHandler cgi-script .cgi</code>, utilisez plutôt :</p> + + <div class="example"><h3>Configuration du gestionnaire en se basant seulement + sur la dernière extension</h3><pre class="prettyprint lang-config"><FilesMatch "[^.]+\.cgi$"> + SetHandler cgi-script +</FilesMatch></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="contentencoding" id="contentencoding">Codage du contenu</a></h2> + <p>Un fichier d'un <a class="glossarylink" href="../glossary.html#type de médium" title="voir glossaire">type de médium</a> particulier + peut être aussi codé d'une certaine manière pour simplifier sa + transmission sur Internet. Alors que cela concerne en général la + compression, comme <code>gzip</code>, il peut aussi s'agir de + chiffrement, comme <code>pgp</code> ou d'un codage comme UUencoding, + qui est conçu pour transmettre un fichier binaire sous un format + ASCII (texte).</p> + + <p>La <a href="http://www.ietf.org/rfc/rfc2616.txt">RFC + HTTP/1.1</a>, section 14.11 stipule à ce titre :</p> + + <blockquote cite="http://www.ietf.org/rfc/rfc2616.txt"> + <p>Le champ d'en-tête Content-Encoding de l'entité est utilisé en + tant que modificateur du type de médium. Lorsqu'il est présent, sa + valeur indique quels codages de contenu additionnels ont été + appliqués au corps de l'entité, et ainsi quels mécanismes de + décodage doivent être appliqués afin de retrouver le type de + médium référencé par le champ d'en-tête Content-Type. Le codage de + contenu est principalement utilisé pour permettre la compression + d'un document sans perdre l'information concernant le type de + médium sous-jacent.</p> + </blockquote> + + <p>En utilisant plusieurs extensions (voir la <a href="#multipleext">section ci-dessus à propos des extensions de + fichiers multiples</a>), vous pouvez indiquer qu'un fichier est d'un + <em>type</em>, particulier, et possède aussi un <em>codage</em> + particulier.</p> + + <p>Considérons par exemple un fichier contenant un document + Microsoft Word et compressé par pkzip pour réduire sa taille. Si + l'extension <code>.doc</code> est associée au type de fichier + Microsoft Word, et si l'extension <code>.zip</code> est associée au + codage de fichier pkzip, alors le fichier + <code>Resume.doc.zip</code> sera identifié comme document Word + compressé par pkzip.</p> + + <p>Apache joint un en-tête <code>Content-encoding</code> à la + ressource afin d'informer le navigateur client à propos de la + méthode de codage.</p> + + <pre class="prettyprint lang-config">Content-encoding: pkzip</pre> + +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="charset-lang" id="charset-lang">Jeux de caractères et langages</a></h2> + <p>En plus du type de fichier et du codage, un autre élément + important d'information est le langage dans lequel le document est + écrit, et avec quel jeu de caractères le contenu du fichier doit + être affiché. Par exemple, un document peut être écrit en alphabet + vietnamien ou cyrillique, et doit être affiché en conséquence. Cette + information est aussi transmise via des en-têtes HTTP.</p> + + <p>Les jeu de caractères, langage, codage et type MIME sont tous + utilisés au cours du processus de négociation de contenu (voir + <code class="module"><a href="../mod/mod_negotiation.html">mod_negotiation</a></code>) afin de déterminer quel document + servir au client, lorsque plusieurs choix sont possibles en fonction + du jeu de caractères, du langage, du codage ou du type MIME. Toutes + les associations d'extensions de noms de fichiers créées via les + directives <code class="directive"><a href="#addcharset">AddCharset</a></code>, + <code class="directive"><a href="#addencoding">AddEncoding</a></code>, <code class="directive"><a href="#addlanguage">AddLanguage</a></code> et <code class="directive"><a href="#addtype">AddType</a></code> (ainsi que les associations + d'extensions listées dans le fichier défini par la directive + <code class="directive"><a href="../mod/mod_mime_magic.html#mimemagicfile">MimeMagicFile</a></code>), + participent à ce processus de sélection. Les extensions de noms de + fichiers qui n'ont été associés que par des directives <code class="directive"><a href="#addhandler">AddHandler</a></code>, <code class="directive"><a href="#addinputfilter">AddInputFilter</a></code> ou <code class="directive"><a href="#addoutputfilter">AddOutputFilter</a></code>, peuvent être incluses + ou exclues du processus de sélection en utilisant la directive + <code class="directive"><a href="#multiviewsmatch">MultiviewsMatch</a></code>.</p> + + <h3><a name="charset" id="charset">Jeu de caractères</a></h3> + <p>Pour transmettre cette information supplémentaire, Apache peut + ajouter un en-tête <code>Content-Language</code>, afin de + spécifier le langage dans lequel le document est écrit, et peut + ajouter des informations additionnelles à l'en-tête + <code>Content-Type</code> pour indiquer le jeu de caractères + particulier qui doit être utilisé pour restituer correctement le + document.</p> + + <div class="example"><p><code> + Content-Language: en, fr +Content-Type: text/plain; charset=ISO-8859-1 + </code></p></div> + + <p>Le langage est spécifié via son abréviation en deux lettres. Le + <code>jeu de caractères</code> est le nom du jeu de caractères + particulier qui doit être utilisé.</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="addcharset" id="addcharset">Directive</a> <a name="AddCharset" id="AddCharset">AddCharset</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Associe les extensions de noms de fichiers spécifiées au +jeu de caractères spécifié</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AddCharset <var>jeu-car</var> <var>extension</var> +[<var>extension</var>] ...</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>FileInfo</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_mime</td></tr> +</table> + <p>La directive <code class="directive">AddCharset</code> permet d'associer + les extensions de noms de fichiers spécifiées au jeu de caractères + spécifié (le nom enregistré sur l'Internet d'un codage de caractères + donné). <var>jeu-car</var> est le <a href="http://www.iana.org/assignments/character-sets">paramètre jeu + de caractères du type de médium</a> pour les ressources dont le nom + de fichier contient <var>extension</var>. Cette association est + ajoutée à toutes les autres déjà en vigueur, et écrase toute + association préexistante pour la même <var>extension</var>.</p> + + <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">AddLanguage ja .ja +AddCharset EUC-JP .euc +AddCharset ISO-2022-JP .jis +AddCharset SHIFT_JIS .sjis</pre> +</div> + + <p>Avec cet exemple, le document <code>xxxx.ja.jis</code> sera + traité en tant que document japonais dont le jeu de caractère est + <code>ISO-2022-JP</code> (idem pour le document + <code>xxxx.jis.ja</code>). La directive + <code class="directive">AddCharset</code> sert à la fois à informer le + client sur le codage des caractères du document afin que ce dernier + puisse être interprété et affiché correctement, et à la <a href="../content-negotiation.html">négociation de contenu</a>, au + cours de laquelle le serveur décide lequels parmi plusieurs + documents possibles il renvoie au client en fonction des préférences + de ce dernier en matière de jeu de caractères.</p> + + <p>L'argument <var>extension</var> est insensible à la casse et peut + être spécifié avec ou sans le point initial. Les noms de fichiers + peuvent posséder <a href="#multipleext">plusieurs extensions</a>, et + l'argument <var>extension</var> sera comparé à chacune d'entre + elles.</p> + + +<h3>Voir aussi</h3> +<ul> +<li><code class="module"><a href="../mod/mod_negotiation.html">mod_negotiation</a></code></li> +<li><code class="directive"><a href="../mod/core.html#adddefaultcharset">AddDefaultCharset</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="addencoding" id="addencoding">Directive</a> <a name="AddEncoding" id="AddEncoding">AddEncoding</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Associe les extensions de noms de fichiers données au type +de codage spécifié</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AddEncoding <var>codage</var> <var>extension</var> +[<var>extension</var>] ...</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>FileInfo</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_mime</td></tr> +</table> + <p>La directive <code class="directive">AddEncoding</code> permet d'associer + les extensions de noms de fichiers données au codage de contenu HTTP + spécifié. <var>codage</var> est le codage de contenu HTTP à ajouter + à la valeur du champ d'en-tête Content-Encoding pour les documents + possédant l'<var>extension</var> spécifiée. Cette association est + ajoutée à toutes les autres déjà en vigueur, et écrase toute + association préexistante pour la même <var>extension</var>.</p> + + <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">AddEncoding x-gzip .gz +AddEncoding x-compress .Z</pre> +</div> + + <p>Avec cet exemple, les noms de fichiers possédant l'extension + <code>.gz</code> seront marqués comme codés à l'aide du codage + <code>x-gzip</code>, et les noms de fichiers possédant l'extension + <code>.Z</code> comme codés avec <code>x-compress</code>.</p> + + <p>Les clients anciens n'acceptent que <code>x-gzip</code> et + <code>x-compress</code>, bien que les standards stipulent qu'ils + sont respectivement équivalents à <code>gzip</code> et + <code>compress</code>. Apache effectue ses comparaisons de codages + de contenu en ignorant tout préfixe <code>x-</code>. Lorsqu'il + répond avec un codage, Apache utilise l'une ou l'autre forme (c'est + à dire <code>x-foo</code> ou <code>foo</code>) selon les besoins du + client. Si le client n'a pas besoin d'une forme particulière, Apache + utilisera la forme employée par la directive + <code>AddEncoding</code>. Pour résumer, vous devez toujours utiliser + <code>x-gzip</code> et <code>x-compress</code> pour ces deux + codages spécifiques. Certains codages plus récents, comme + <code>deflate</code>, doivent être spécifiés sans le préfixe + <code>x-</code>.</p> + + <p>L'argument <var>extension</var> est insensible à la casse et peut + être spécifié avec ou sans le point initial. Les noms de fichiers + peuvent posséder <a href="#multipleext">plusieurs extensions</a>, et + l'argument <var>extension</var> sera comparé à chacune d'entre + elles.</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="addhandler" id="addhandler">Directive</a> <a name="AddHandler" id="AddHandler">AddHandler</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Associe les extensions de noms de fichiers données au +gestionnaire spécifié</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AddHandler <var>nom-gestionnaire</var> <var>extension</var> +[<var>extension</var>] ...</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>FileInfo</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_mime</td></tr> +</table> + <p>Les fichiers dont le nom a pour extension <var>extension</var> + seront servis par le <var><a href="../handler.html">nom-gestionnaire</a></var> spécifié. Cette + association est ajoutée à toutes les autres déjà en vigueur, et + écrase toute association préexistante pour la même + <var>extension</var>. Par exemple, pour associer les scripts CGI + avec l'extension de fichier <code>.cgi</code>, vous pouvez utiliser + :</p> + + <pre class="prettyprint lang-config">AddHandler cgi-script .cgi</pre> + + + <p>Une fois cette ligne insérée dans votre fichier httpd.conf, tout + fichier possédant l'extension <code>.cgi</code> sera traité en tant + que programme CGI.</p> + + <p>L'argument <var>extension</var> est insensible à la casse et peut + être spécifié avec ou sans le point initial. Les noms de fichiers + peuvent posséder <a href="#multipleext">plusieurs extensions</a>, et + l'argument <var>extension</var> sera comparé à chacune d'entre + elles.</p> + +<h3>Voir aussi</h3> +<ul> +<li><code class="directive"><a href="../mod/core.html#sethandler">SetHandler</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="addinputfilter" id="addinputfilter">Directive</a> <a name="AddInputFilter" id="AddInputFilter">AddInputFilter</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Associe les extensions de noms de fichiers aux +filtres spécifiés qui traiteront les requêtes clients</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AddInputFilter <var>filtre</var>[;<var>filtre</var>...] +<var>extension</var> [<var>extension</var>] ...</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>FileInfo</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_mime</td></tr> +</table> + <p>La directive <code class="directive">AddInputFilter</code> permet + d'associer l'extension de nom de fichier <var>extension</var> aux <a href="../filter.html">filtres</a> spécifiésqui traiteront les + requêtes clients et les entrées POST à leur réception par le + serveur. Ceci s'ajoute à toute définition de filtre préexistante, y + compris la directive <code class="directive"><a href="../mod/core.html#setinputfilter">SetInputFilter</a></code>. Cette + association est ajoutée à toutes les autres déjà en vigueur, et + écrase toute association préexistante pour la même + <var>extension</var>.</p> + + <p>Si plusieurs <var>filtres</var> sont spécifiés, ils doivent être + séparés par des points-virgules et inscrits dans l'ordre selon + lequel ils devront traiter le contenu. L'argument <var>filtre</var> + est insensible à la casse.</p> + + <p>L'argument <var>extension</var> est insensible à la casse et peut + être spécifié avec ou sans le point initial. Les noms de fichiers + peuvent posséder <a href="#multipleext">plusieurs extensions</a>, et + l'argument <var>extension</var> sera comparé à chacune d'entre + elles.</p> + + +<h3>Voir aussi</h3> +<ul> +<li><code class="directive"><a href="#removeinputfilter">RemoveInputFilter</a></code></li> +<li><code class="directive"><a href="../mod/core.html#setinputfilter">SetInputFilter</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="addlanguage" id="addlanguage">Directive</a> <a name="AddLanguage" id="AddLanguage">AddLanguage</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Associe l'extension de nom de fichier donnée au langage +spécifié</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AddLanguage <var>symbole-langage</var> <var>extension</var> +[<var>extension</var>] ...</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>FileInfo</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_mime</td></tr> +</table> + <p>La directive <code class="directive">AddLanguage</code> permet d'associer + l'extension de nom de fichier donnée au langage spécifié. Les + fichiers dont l'extension correspond à la valeur + de l'argument <var>extension</var> se voient attribuer la valeur de + l'argument <var>symbole-langage</var> comme en-tête HTTP + Content-Language en accord avec les identifiants de langages définis + par la RFC 3066. Cette directive l'emporte sur toute association + préexistante pour la même <var>extension</var>.</p> + + <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">AddEncoding x-compress .Z +AddLanguage en .en +AddLanguage fr .fr</pre> +</div> + + <p>Avec cet exemple, le document <code>xxxx.en.Z</code> sera traité + en tant que document compressé de langue anglaise (idem pour le + document <code>xxxx.Z.en</code>). Bien que le langage soit fourni au + client, le navigateur n'utilise habituellement pas cette + information. La directive <code class="directive">AddLanguage</code> est + principalement utilisée au cours de la <a href="../content-negotiation.html">négociation de contenu</a>, où le + serveur choisit d'envoyer un document parmi plusieurs documents + possibles en fonction de la préférence du client en matière de + langage.</p> + + <p>Si une extension fait l'objet de plusieurs associations de + langages, c'est la dernière qui sera utilisée. Ainsi, dans le cas + suivant,</p> + + <pre class="prettyprint lang-config">AddLanguage en .en +AddLanguage en-gb .en +AddLanguage en-us .en</pre> + + + <p>les documents possédant l'extension <code>.en</code> seront + traités en tant que documents de langage <code>en-us</code>.</p> + + <p>L'argument <var>extension</var> est insensible à la casse et peut + être spécifié avec ou sans le point initial. Les noms de fichiers + peuvent posséder <a href="#multipleext">plusieurs extensions</a>, et + l'argument <var>extension</var> sera comparé à chacune d'entre + elles.</p> + +<h3>Voir aussi</h3> +<ul> +<li><code class="module"><a href="../mod/mod_negotiation.html">mod_negotiation</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="addoutputfilter" id="addoutputfilter">Directive</a> <a name="AddOutputFilter" id="AddOutputFilter">AddOutputFilter</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Associe les extensions de noms de fichiers aux +filtres spécifiés qui traiteront les réponses en provenance du +serveur</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AddOutputFilter <var>filtre</var>[;<var>filtre</var>...] +<var>extension</var> [<var>extension</var>] ...</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>FileInfo</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_mime</td></tr> +</table> + <p>La directive <code class="directive">AddOutputFilter</code> permet + d'associer l'extension de nom de fichier définie par l'argument + <var>extension</var> aux <a href="../filter.html">filtres</a> qui traiteront les réponses en + provenance du serveur avant de les envoyer au client. Ces filtres + s'ajoutent à tout filtre défini par d'autres directives comme + <code class="directive"><a href="../mod/core.html#setoutputfilter">SetOutputFilter</a></code> et <code class="directive"><a href="../mod/mod_filter.html#addoutputfilterbytype">AddOutputFilterByType</a></code>. Cette association + est fusionnée avec toute autre association en vigueur, et l'emporte + sur toute association préexistante pour la même + <var>extension</var>.</p> + + <p>Avec l'exemple suivant, tous les fichiers <code>.shtml</code> + seront traités en tant qu'inclusions côté serveur (SSI), et la + sortie sera compressée à l'aide du module + <code class="module"><a href="../mod/mod_deflate.html">mod_deflate</a></code>.</p> + + <pre class="prettyprint lang-config">AddOutputFilter INCLUDES;DEFLATE shtml</pre> + + + <p>Si plusieurs <var>filtres</var> sont spécifiés, ils doivent être + séparés par des points-virgules et inscrits dans l'ordre selon + lequel il devront traiter le contenu. L'argument <var>filtre</var> + est insensible à la casse.</p> + + <p>L'argument <var>extension</var> est insensible à la casse et peut + être spécifié avec ou sans le point initial. Les noms de fichiers + peuvent posséder <a href="#multipleext">plusieurs extensions</a>, et + l'argument <var>extension</var> sera comparé à chacune d'entre + elles.</p> + + <p>Notez que toute définition de filtres via la directive <code class="directive"><a href="#addoutputfilter">AddOutputFilter</a></code> remplace toutes les + définitions précédentes effectuées via cette même directive.</p> + + <pre class="prettyprint lang-config"># Filtre spécifié "DEFLATE" +AddOutputFilter DEFLATE shtml +<Location "/foo"> + # Filtre spécifié "INCLUDES", remplace "DEFLATE" + AddOutputFilter INCLUDES shtml +</Location> +<Location "/bar"> + # Filtre spécifié "INCLUDES;DEFLATE", remplace "DEFLATE" + AddOutputFilter INCLUDES;DEFLATE shtml +</Location> +<Location "/bar/baz"> + # Filtre spécifié "BUFFER", remplace "INCLUDES;DEFLATE" + AddOutputFilter BUFFER shtml +</Location> +<Location "/bar/baz/buz"> + # Pas de filtre spécifié, suppression de "BUFFER" + RemoveOutputFilter shtml +</Location></pre> + + +<h3>Voir aussi</h3> +<ul> +<li><code class="directive"><a href="#removeoutputfilter">RemoveOutputFilter</a></code></li> +<li><code class="directive"><a href="../mod/core.html#setoutputfilter">SetOutputFilter</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="addtype" id="addtype">Directive</a> <a name="AddType" id="AddType">AddType</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Associe les extensions de noms de fichiers au type de +contenu spécifié</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AddType <var>type-médium</var> <var>extension</var> +[<var>extension</var>] ...</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>FileInfo</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_mime</td></tr> +</table> + <p>La directive <code class="directive">AddType</code> permet d'associer les + extensions de noms fichiers données au type de contenu spécifié. + <var>type-médium</var> est le <a class="glossarylink" href="../glossary.html#media-type" title="voir glossaire">Type + MIME</a> à utiliser pour les fichiers dont le nom possède + l'extension <var>extension</var>. Cette association s'ajoute à toute + autre association en vigueur, et l'emporte sur toute association + préexistante pour la même <var>extension</var>.</p> + + <div class="note"> + Plutôt que d'éditer directement le fichier <code class="directive"><a href="#typesconfig">TypesConfig</a></code>, il est recommandé + d'utiliser la directive <code class="directive">AddType</code> pour + ajouter de nouveaux types de médias. + </div> + + <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">AddType image/gif .gif</pre> +</div> + + <p>Ou, pour spécifier plusieurs extensions dans une seule directive + :</p> + + <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">AddType image/jpeg jpeg jpg jpe</pre> +</div> + + <p>L'argument <var>extension</var> est insensible à la casse et peut + être spécifié avec ou sans le point initial. Les noms de fichiers + peuvent posséder <a href="#multipleext">plusieurs extensions</a>, et + l'argument <var>extension</var> sera comparé à chacune d'entre + elles.</p> + + <p>Il est possible d'obtenir un effet similaire à celui de la + directive <code class="directive"><a href="../mod/mod_negotiation.html#languagepriority">LanguagePriority</a></code> du module + <code class="module"><a href="../mod/mod_negotiation.html">mod_negotiation</a></code> en qualifiant un <var>type de + média</var> avec <code>qs</code> :</p> + + <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">AddType application/rss+xml;qs=0.8 .xml</pre> +</div> + + <p>Ceci peut s'avérer utile dans certaines situations, par exemple + lorsqu'un client qui a ajouté un en-tête <code>Accept: */*</code> à + sa requête n'est pas en mesure de traiter le contenu renvoyé par le + serveur.</p> + + <p>A la base, cette directive configure le type de contenu généré + pour les fichiers statiques servis à partir du système de fichiers. + Dans le cas des ressources autres que les fichiers statiques pour + lesquelles le générateur de la réponse spécifie en général un + Content-Type, cette directive n'a aucun effet.</p> + + <div class="note"><h3>Note</h3> + <p>Si aucun gestionnaire n'a été explicitement défini pour une + requête, c'est le type de contenu spécifié qui sera utilisé comme + nom de gestionnaire.</p> + + <p>Lorsqu'aucune directive comme <code class="directive"><a href="../mod/core.html#sethandler">SetHandler</a></code> ou + <code class="directive">module="mod_mime">AddHandler</code> ne s'applique à + une requête, le nom de gestionnaire interne qui aurait du être + défini par une de ces directives correspond alors au type de contenu + spécifié par la directive AddType. + </p> + <p> + Pour des raisons historiques, certains modules tiers comme mod_php + peuvent adopter ce comportement pour forcer la prise en compte de la + requête concernée. + </p> + + <p>Il est conseillé d'éviter les configurations qui reposent sur de + tels types "synthétiques". En outre, les configurations qui + limitent l'accès aux directives <code class="directive"><a href="../mod/core.html#sethandler">SetHandler</a></code> ou <code class="directive"><a href="#addhandler">AddHandler</a></code> doivent aussi limiter + l'accès à la directive AddType.</p> + </div> + + +<h3>Voir aussi</h3> +<ul> +<li><code class="directive"><a href="../mod/core.html#forcetype">ForceType</a></code></li> +<li><code class="module"><a href="../mod/mod_negotiation.html">mod_negotiation</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="defaultlanguage" id="defaultlanguage">Directive</a> <a name="DefaultLanguage" id="DefaultLanguage">DefaultLanguage</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Défini un symbole de langage par défaut à affecter au champ +d'en-tête Content-Language pour toutes les ressources dans le contexte +courant auxquelles aucun symbole de langage n'a été +associé.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>DefaultLanguage <var>symbole-langage</var></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>FileInfo</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_mime</td></tr> +</table> + <p>La directive <code class="directive">DefaultLanguage</code> permet + d'indiquer à Apache que toutes les ressources du contexte courant + (par exemple, toutes les ressources concernées par le conteneur + <code class="directive"><a href="../mod/core.html#directory"><Directory></a></code> + courant) qui ne possèdent pas d'extension de langage explicite + (comme <code>.fr</code> ou <code>.de</code> tel que défini par la + directive <code class="directive"><a href="#addlanguage">AddLanguage</a></code>), + verront leur en-tête HTTP Content-Language affecté du langage + <var>symbole-langage</var>. Ceci permet de marquer des arborescences + de répertoires entières comme contenant des documents en français, + par exemple, sans avoir à renommer chaque fichier. Notez qu'à la + différence de l'utilisation des extensions pour spécifier des + langages, <code class="directive">DefaultLanguage</code> ne permet de + spécifier qu'un seul langage.</p> + + <p>Si aucune directive <code class="directive">DefaultLanguage</code> n'est + en vigueur, et si un fichier ne possède pas d'extension configurée + par la directive <code class="directive"><a href="#addlanguage">AddLanguage</a></code>, aucun champ d'en-tête + Content-Language ne sera généré.</p> + + <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">DefaultLanguage en</pre> +</div> + +<h3>Voir aussi</h3> +<ul> +<li><code class="module"><a href="../mod/mod_negotiation.html">mod_negotiation</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="modmimeusepathinfo" id="modmimeusepathinfo">Directive</a> <a name="ModMimeUsePathInfo" id="ModMimeUsePathInfo">ModMimeUsePathInfo</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Indique à <code class="module"><a href="../mod/mod_mime.html">mod_mime</a></code> de traiter les éléments +de <code>path_info</code> en tant que parties du nom de +fichier</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ModMimeUsePathInfo On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ModMimeUsePathInfo Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_mime</td></tr> +</table> + <p>La directive <code class="directive">ModMimeUsePathInfo</code> permet de + combiner le nom de fichier avec la partie <code>path_info</code> de + l'URL pour appliquer les directives <code class="module"><a href="../mod/mod_mime.html">mod_mime</a></code> à la + requête. La valeur par défaut est <code>Off</code> - situation dans + laquelle l'élément <code>path_info</code> est ignoré.</p> + + <p>L'utilisation de cette directive est conseillée si vous utilisez + un système de fichiers virtuel.</p> + + <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">ModMimeUsePathInfo On</pre> +</div> + + <p>Considérons une requête pour <code>/index.php/foo.shtml</code>, + <code class="module"><a href="../mod/mod_mime.html">mod_mime</a></code> ne traitera pas la requête entrante comme + <code>/index.php/foo.shtml</code> et les directives comme + <code>AddOutputFilter INCLUDES .shtml</code> ajouteront le filtre + <code>INCLUDES</code> à la requête. Si la directive + <code class="directive">ModMimeUsePathInfo</code> n'est pas définie, le + filtre <code>INCLUDES</code> ne sera pas ajouté. Le fonctionnement + sera identique dans le cas des chemins virtuels, tels que ceux + définis par la directive <code class="directive"><Location></code></p> + +<h3>Voir aussi</h3> +<ul> +<li><code class="directive"><a href="../mod/core.html#acceptpathinfo">AcceptPathInfo</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="multiviewsmatch" id="multiviewsmatch">Directive</a> <a name="MultiviewsMatch" id="MultiviewsMatch">MultiviewsMatch</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Les types de fichiers qui seront inclus lors d'une +recherche de correspondance de fichier avec les vues multiples +(MultiViews)</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>MultiviewsMatch Any|NegotiatedOnly|Filters|Handlers +[Handlers|Filters]</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>MultiviewsMatch NegotiatedOnly</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>FileInfo</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_mime</td></tr> +</table> + <p>La directive <code class="directive">MultiviewsMatch</code> permet trois + comportements différents pour la fonctionnalité Multiviews du module + <a href="mod_negotiation.html">mod_negotiation</a>. Les vues + multiples permettent d'associer une requête pour un fichier, par + exemple <code>index.html</code>, à toute extension négotiée + s'ajoutant à la requête de base, par exemple + <code>index.html.en</code>, <code>index.html.fr</code>, ou + <code>index.html.gz</code>.</p> + + <p>L'option <code>NegotiatedOnly</code> implique que toute extension + s'ajoutant au nom de base doit correspondre à une extension de + <code class="module"><a href="../mod/mod_mime.html">mod_mime</a></code> reconnue pour la négociation de contenu, + par exemple Charset, Content-Type, Language, ou Encoding. C'est la + valeur d'option par défaut, et la contrainte la plus stricte + dont les effets de bord inattendus sont les moins nombreux.</p> + + <p>Pour inclure des extensions associées avec des gestionnaires + et/ou des filtres, définissez la directive + <code class="directive">MultiviewsMatch</code> avec les mots-clés + <code>Handlers</code>, <code>Filters</code>, ou les deux. Si tous + les autres facteurs sont égaux, c'est le fichier de plus petite + taille qui sera servi ; par exemple, si le choix doit s'opérer entre + <code>index.html.cgi</code> de 500 octets et + <code>index.html.pl</code> de 1000 octets, c'est le fichier + <code>.cgi</code> qui l'emportera dans cet exemple. Les utilisateurs + de fichiers <code>.asis</code> auront avantage à utiliser l'option + Handler, si les fichiers <code>.asis</code> sont associés au + gestionnaire <code>asis-handler</code>.</p> + + <p>Vous pouvez enfin autoriser l'association de toute extension avec + l'option <code>Any</code>, même si <code class="module"><a href="../mod/mod_mime.html">mod_mime</a></code> ne + reconnaît pas l'extension. Ceci + peut conduire à des résultats imprévisibles, comme l'envoi de + fichiers .old ou .bak contrairement aux souhaits du webmaster.</p> + + <p>Par exemple, la configuration suivante va permettre l'inclusion + des extensions associées aux gestionnaires et aux filtres dans les + vues multiples, tout en excluant les fichiers de type inconnu :</p> + + <pre class="prettyprint lang-config">MultiviewsMatch Handlers Filters</pre> + + + <p>L'utilisation de la directive + <code class="directive">MultiviewsMatch</code> dans une section <code class="directive"><a href="../mod/core.html#location"><Location></a></code> ou <code class="directive"><a href="../mod/core.html#locationmatch"><LocationMatch></a></code> n'est pas + permise.</p> + + +<h3>Voir aussi</h3> +<ul> +<li><code class="directive"><a href="../mod/core.html#options">Options</a></code></li> +<li><code class="module"><a href="../mod/mod_negotiation.html">mod_negotiation</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="removecharset" id="removecharset">Directive</a> <a name="RemoveCharset" id="RemoveCharset">RemoveCharset</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Supprime toute association de jeu de caractères pour un +ensemble d'extensions de noms de fichiers</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>RemoveCharset <var>extension</var> [<var>extension</var>] +...</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>FileInfo</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_mime</td></tr> +</table> + <p>La directive <code class="directive">RemoveCharset</code> permet de + supprimer toute association de jeu de caractères pour les fichiers + dont les noms possèdent les extensions spécifiées. Ceci permet, au + sein des fichiers <code>.htaccess</code>, d'annuler toute + association héritée du répertoire parent ou de la configuration du + serveur pour un répertoire particulier.</p> + + <p>L'argument <var>extension</var> est insensible à la casse et peut + être spécifié avec ou sans le point initial.</p> + + <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">RemoveCharset .html .shtml</pre> +</div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="removeencoding" id="removeencoding">Directive</a> <a name="RemoveEncoding" id="RemoveEncoding">RemoveEncoding</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Supprime toute association de codage de contenu pour un +ensemble d'extensions de noms de fichiers</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>RemoveEncoding <var>extension</var> [<var>extension</var>] +...</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>FileInfo</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_mime</td></tr> +</table> + <p>La directive <code class="directive">RemoveEncoding</code> permet de + supprimer toute association de codage pour les fichiers dont les + noms possèdent les extensions spécifiées. Ceci permet, au + sein des fichiers <code>.htaccess</code>, d'annuler toute + association héritée du répertoire parent ou de la configuration du + serveur pour un répertoire particulier. Voici un exemple + d'utilisation de cette directive :</p> + + <div class="example"><h3>/foo/.htaccess:</h3><pre class="prettyprint lang-config">AddEncoding x-gzip .gz +AddType text/plain .asc +<Files "*.gz.asc"> + RemoveEncoding .gz +</Files></pre> +</div> + + <p>Avec cette configuration, le fichier <code>foo.gz</code> sera + marqué comme codé avec gzip, mais <code>foo.gz.asc</code> sera + marqué comme fichier texte non codé.</p> + + <div class="note"><h3>Note</h3> + <p>Les directives <code class="directive">RemoveEncoding</code> étant + traitées <em>après</em> toute directive <code class="directive"><a href="#addencoding">AddEncoding</a></code>, il est possible + qu'elles annulent les effets de ces dernières si les deux + apparaissent dans la configuration du même répertoire.</p> + </div> + + <p>L'argument <var>extension</var> est insensible à la casse et peut + être spécifié avec ou sans le point initial.</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="removehandler" id="removehandler">Directive</a> <a name="RemoveHandler" id="RemoveHandler">RemoveHandler</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Supprime toute association de gestionnaire à un ensemble +d'extensions de noms de fichiers</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>RemoveHandler <var>extension</var> [<var>extension</var>] +...</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>FileInfo</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_mime</td></tr> +</table> + <p>La directive <code class="directive">RemoveHandler</code> permet de + supprimer toute association de gestionnaire à des fichiers dont le + nom possède l'extension donnée. Ceci permet, au + sein des fichiers <code>.htaccess</code>, d'annuler toute + association héritée du répertoire parent ou de la configuration du + serveur pour un répertoire particulier. Voici un exemple + d'utilisation de cette directive :</p> + + <div class="example"><h3>/foo/.htaccess:</h3><pre class="prettyprint lang-config">AddHandler server-parsed .html</pre> +</div> + + <div class="example"><h3>/foo/bar/.htaccess:</h3><pre class="prettyprint lang-config">RemoveHandler .html</pre> +</div> + + <p>Avec cette dernière ligne, les fichiers <code>.html</code> du + répertoire <code>/foo/bar</code> seront traités en tant que fichiers + normaux, au lieu d'être traités en tant que candidats à + l'interprétation (voir le module <code class="module"><a href="../mod/mod_include.html">mod_include</a></code> + module).</p> + + <p>L'argument <var>extension</var> est insensible à la casse et peut + être spécifié avec ou sans le point initial.</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="removeinputfilter" id="removeinputfilter">Directive</a> <a name="RemoveInputFilter" id="RemoveInputFilter">RemoveInputFilter</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Supprime toute association de filtre en entrée à un +ensemble d'extensions de noms de fichiers</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>RemoveInputFilter <var>extension</var> [<var>extension</var>] +...</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>FileInfo</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_mime</td></tr> +</table> + <p>La directive <code class="directive">RemoveInputFilter</code> permet de + supprimer toute association de <a href="../filter.html">filtre</a> + en entrée à des fichiers dont le nom possède l'extension donnée. + Ceci permet, au + sein des fichiers <code>.htaccess</code>, d'annuler toute + association héritée du répertoire parent ou de la configuration du + serveur pour un répertoire particulier.</p> + + <p>L'argument <var>extension</var> est insensible à la casse et peut + être spécifié avec ou sans le point initial.</p> + +<h3>Voir aussi</h3> +<ul> +<li><code class="directive"><a href="#addinputfilter">AddInputFilter</a></code></li> +<li><code class="directive"><a href="../mod/core.html#setinputfilter">SetInputFilter</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="removelanguage" id="removelanguage">Directive</a> <a name="RemoveLanguage" id="RemoveLanguage">RemoveLanguage</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Supprime toute association de langage à un ensemble +d'extensions de noms de fichiers</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>RemoveLanguage <var>extension</var> [<var>extension</var>] +...</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>FileInfo</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_mime</td></tr> +</table> + <p>La directive <code class="directive">RemoveLanguage</code> permet de + supprimer toute association de langage à des fichiers dont le nom + possède l'extension donnée. Ceci permet, au + sein des fichiers <code>.htaccess</code>, d'annuler toute + association héritée du répertoire parent ou de la configuration du + serveur pour un répertoire particulier.</p> + + <p>L'argument <var>extension</var> est insensible à la casse et peut + être spécifié avec ou sans le point initial.</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="removeoutputfilter" id="removeoutputfilter">Directive</a> <a name="RemoveOutputFilter" id="RemoveOutputFilter">RemoveOutputFilter</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Supprime toute association de filtre en sortie à un +ensemble d'extensions de noms de fichiers</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>RemoveOutputFilter <var>extension</var> [<var>extension</var>] +...</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>FileInfo</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_mime</td></tr> +</table> + <p>La directive <code class="directive">RemoveOutputFilter</code> permet de + supprimer toute association de <a href="../filter.html">filtre</a> + en sortie à des fichiers dont le nom possède l'extension donnée. Ceci permet, au + sein des fichiers <code>.htaccess</code>, d'annuler toute + association héritée du répertoire parent ou de la configuration du + serveur pour un répertoire particulier.</p> + + <p>L'argument <var>extension</var> est insensible à la casse et peut + être spécifié avec ou sans le point initial.</p> + + <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">RemoveOutputFilter shtml</pre> +</div> + +<h3>Voir aussi</h3> +<ul> +<li><code class="directive"><a href="#addoutputfilter">AddOutputFilter</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="removetype" id="removetype">Directive</a> <a name="RemoveType" id="RemoveType">RemoveType</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Supprime toute association de type de contenu à un ensemble +d'extensions de noms de fichiers</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>RemoveType <var>extension</var> [<var>extension</var>] +...</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>FileInfo</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_mime</td></tr> +</table> + <p>La directive <code class="directive">RemoveType</code> permet de + supprimer toute association de <a class="glossarylink" href="../glossary.html#media-type" title="voir glossaire">type de + médium</a> à des fichiers dont le nom possède l'extension + donnée. Ceci permet, au + sein des fichiers <code>.htaccess</code>, d'annuler toute + association héritée du répertoire parent ou de la configuration du + serveur pour un répertoire particulier. Voici un exemple + d'utilisation de cette directive :</p> + + <div class="example"><h3>/foo/.htaccess:</h3><pre class="prettyprint lang-config">RemoveType .cgi</pre> +</div> + + <p>Cette ligne aura pour effet de supprimer tout traitement + spécifique des fichiers <code>.cgi</code> dans le répertoire + <code>/foo/</code> et ses sous-répertoires, et les réponses + contenant ce type de fichier ne possèderont pas de champ d'en-tête + HTTP Content-Type.</p> + + <div class="note"><h3>Note</h3> + <p>Les directives <code class="directive">RemoveType</code> sont traitées + <em>après</em> toutes les directives <code class="directive"><a href="#addtype">AddType</a></code>, et il est possible que les + effets de ces dernières soient annulés si les deux types de + directives sont présents au sein de la configuration du même + répertoire.</p> + </div> + + <p>L'argument <var>extension</var> est insensible à la casse et peut + être spécifié avec ou sans le point initial.</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="typesconfig" id="typesconfig">Directive</a> <a name="TypesConfig" id="TypesConfig">TypesConfig</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Le chemin du fichier <code>mime.types</code></td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>TypesConfig <var>chemin-fichier</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>TypesConfig conf/mime.types</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>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_mime</td></tr> +</table> + <p>La directive <code class="directive">TypesConfig</code> permet de définir + le chemin du fichier de configuration des <a class="glossarylink" href="../glossary.html#media-type" title="voir glossaire">types de média</a>. L'argument + <var>chemin-fichier</var> est un chemin relatif au répertoire défini + par la directive <code class="directive"><a href="../mod/core.html#serverroot">ServerRoot</a></code>. Ce + fichier contient la liste des associations par défaut des extensions + de noms de fichiers aux types de contenus. La plupart des + administrateurs utilisent le fichier <code>mime.types</code> fourni + par leur OS, + qui associe les extensions de noms de fichiers courantes à la liste + officielle des types de média enregistrés par l'IANA et maintenue à + <a href="http://www.iana.org/assignments/media-types/index.html">http://www.iana.org/assignments/media-types/index.html</a>, ainsi + qu'un grand nombre de types non officiels. Ce fichier permet de + simplifier le fichier <code>httpd.conf</code> en fournissant la + majorité des définitions de types de média, et ses définitions + peuvent être écrasées par des directives <code class="directive"><a href="#addtype">AddType</a></code>, selon les besoins. Il est + déconseillé de modifier le contenu du fichier + <code>mime.types</code> car il peut être remplacé lors d'une mise à + jour du serveur.</p> + + <p>Le fichier contient des lignes dont le format est identique à + celui des arguments d'une directive <code class="directive"><a href="#addtype">AddType</a></code> :</p> + + <div class="example"><p><code> + <var>type-médium</var> [<var>extension</var>] ... + </code></p></div> + + <p>Les extensions sont insensibles à la casse. Les lignes vides et + les lignes commençant par un dièse (<code>#</code>) sont + ignorées. Les lignes vides servent à compléter le fichier + mime.types. Apache httpd peut encore déterminer ces types via le + module <code class="module"><a href="../mod/mod_mime_magic.html">mod_mime_magic</a></code>.</p> + + <div class="note"> + Merci de <strong>ne pas</strong> soumettre de requêtes au Projet + de Serveur HTTP Apache pour ajouter une entrée dans le fichier + <code>mime.types</code> fourni, sauf si : + 1) le type de médium est déjà enregistré à l'IANA + 2) et si l'extension est largement acceptée et ne provoque pas de + conflits d'extensions entre les différentes plate-formes. Les + requêtes du type <code>catégorie/x-sous-type</code> seront + systématiquement rejetées, ainsi que toute nouvelle extension de + deux lettres, car elle ont de fortes chances d'entrer en conflit + par la suite avec les innombrables langages préexistants et les + espaces de nommage des jeux de caractères. + </div> + +<h3>Voir aussi</h3> +<ul> +<li><code class="module"><a href="../mod/mod_mime_magic.html">mod_mime_magic</a></code></li> +</ul> +</div> +</div> +<div class="bottomlang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_mime.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_mime.html" title="Français"> fr </a> | +<a href="../ja/mod/mod_mime.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/trunk/mod/mod_mime.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 2017 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_mime.xml.fr b/docs/manual/mod/mod_mime.xml.fr new file mode 100644 index 0000000000..7e21f00dfc --- /dev/null +++ b/docs/manual/mod/mod_mime.xml.fr @@ -0,0 +1,1126 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd"> +<?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?> +<!-- English Revision : 1678565 --> +<!-- French translation : Lucien GENTIS --> +<!-- $LastChangedRevision: 2015053001 $ --> + +<!-- + 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.xml.meta"> + +<name>mod_mime</name> +<description>Associe les extensions des fichiers demandés avec l'action +déclenchée par ces fichiers et avec leur contenu (type MIME, langage, +jeu de caractère et codage)</description> +<status>Base</status> +<sourcefile>mod_mime.c</sourcefile> +<identifier>mime_module</identifier> + +<summary> + <p>Ce module permet d'assigner des métadonnées aux contenus + sélectionnés pour une réponse HTTP, en associant des modèles d'URI + ou de noms de fichiers aux valeurs des métadonnées. Par exemple, les + extensions de noms de fichiers définissent souvent le type de médium + Internet, le langage, le jeu de caractères et le codage du contenu. + Ces informations sont relayées par les messages HTTP véhiculant ces + contenus, et utilisées au cours de la négociation de contenu lors de + la sélection des différentes possibilités, de manière à ce que les + préférences des utilisateurs soient respectées lors du choix d'un + contenu à servir parmi plusieurs autres contenus. Voir + <module>mod_negotiation</module> pour plus d'informations à propos + de la <a href="../content-negotiation.html">négociation de + contenu</a>.</p> + + <p>Les directives <directive + module="mod_mime">AddCharset</directive>, <directive + module="mod_mime">AddEncoding</directive>, <directive + module="mod_mime">AddLanguage</directive> et <directive + module="mod_mime">AddType</directive> permettent d'associer des + extensions de fichiers aux métadonnées de ces fichiers. Elles + définissent respectivement le jeu de caractères, le codage du + contenu, le langage du contenu et le <glossary>type de + médium</glossary> (content-type) des documents. La directive + <directive module="mod_mime">TypesConfig</directive> permet de + spécifier un fichier qui contient lui-même des associations entre + extensions et types de media.</p> + + <p>De plus, <module>mod_mime</module> peut définir le <a + href="../handler.html">gestionnaire</a> et les <a + href="../filter.html">filtres</a> qui sont à l'origine du contenu et + le traitent. Les directives <directive + module="mod_mime">AddHandler</directive>, <directive + module="mod_mime">AddOutputFilter</directive>, et <directive + module="mod_mime">AddInputFilter</directive> permettent de contrôler + les modules ou les scripts qui vont servir le document. La directive + <directive module="mod_mime">MultiviewsMatch</directive> permet à + <module>mod_negotiation</module> de déterminer les extensions de + fichiers à inclure lors des tests de correspondances multivues.</p> + + <p>Alors que <module>mod_mime</module> associe des métadonnées avec + des extensions de fichiers, le serveur de base <module>core</module> + fournit des directives permettant d'associer tous les fichiers d'un + conteneur donné (par exemple <directive type="section" + module="core">Location</directive>, <directive type="section" + module="core">Directory</directive>, ou <directive type="section" + module="core">Files</directive>) avec des métadonnées particulières. + Parmi ces directives, on trouve <directive + module="core">ForceType</directive>, <directive + module="core">SetHandler</directive>, <directive + module="core">SetInputFilter</directive>, et <directive + module="core">SetOutputFilter</directive>. Les directives du serveur + de base l'emportent sur toute directive d'association d'extensions + de noms de fichiers définie par <module>mod_mime</module>.</p> + + <p>Notez que la modification des métadonnées d'un fichier ne modifie + pas la valeur de l'en-tête <code>Last-Modified</code>. Ainsi, + certaines copies de documents préalablement mises en cache peuvent + encore être utilisées par un client ou un mandataire avec les + anciens en-têtes. Si vous modifiez les métadonnées (langage, type de + contenu, jeu de caractère ou codage), vous devez donc enregistrer + une modification du fichier concerné (afin de mettre à jour sa date + de dernière modification), pour être sûr que tous les visiteurs + recevront le documents avec les en-têtes corrects. </p> +</summary> +<seealso><directive +module="mod_mime_magic">MimeMagicFile</directive></seealso> +<seealso><directive module="core">AddDefaultCharset</directive></seealso> +<seealso><directive module="core">ForceType</directive></seealso> +<seealso><directive module="core">SetHandler</directive></seealso> +<seealso><directive module="core">SetInputFilter</directive></seealso> +<seealso><directive module="core">SetOutputFilter</directive></seealso> + +<section id="multipleext"><title>Fichiers avec extensions +multiples</title> + <p>Les fichiers peuvent posséder plusieurs extensions dont l'ordre + est <em>normalement</em> sans importance. Par exemple, si + le fichier <code>welcome.html.fr</code> est associé au type de + contenu <code>text/html</code> et au langage Français, le fichier + <code>welcome.fr.html</code> possèdera exactement les même + métadonnées. Si le fichier possède plusieurs extensions associées + au même type de métadonnée, c'est celle de ces extensions la plus à + droite qui sera utilisée, excepté pour ce qui concerne les langages + et les codages de contenu. Par exemple, si <code>.gif</code> est + associé au <glossary>type de médium</glossary> + <code>image/gif</code>, et <code>.html</code> au type de médium + <code>text/html</code>, le fichier <code>welcome.gif.html</code> + sera associé au type de médium <code>text/html</code>.</p> + + <p>Les <a href="#charset-lang">Languages</a> et les <a + href="#contentencoding">codages de contenu</a> sont traités de + manière cumulative, car il est possible d'assigner plusieurs + langages ou codages à une ressource particulière. Par exemple, le + fichier <code>welcome.html.en.de</code> sera servi avec les en-têtes + <code>Content-Language: en, de</code> et <code>Content-Type: + text/html</code>.</p> + + <p>Des précautions doivent être prises lorsqu'un fichier avec + extensions multiples est associé à la fois à un <glossary>type de + médium</glossary> et à un gestionnaire. En général, cela impliquera + la gestion de la requête par le module associé au gestionnaire. Par + exemple, si l'extension <code>.imap</code> est associée au + gestionnaire <code>imap-file</code> (du module + <module>mod_imagemap</module>), et si l'extension <code>.html</code> + est associée au type de médium <code>text/html</code>, le fichier + <code>world.imap.html</code> sera à la fois associé au gestionnaire + <code>imap-file</code> et au type de médium <code>text/html</code>. + Pour son traitement, c'est le gestionnaire <code>imap-file</code> + qui sera utilisé, et il sera donc traité en tant que fichier + imagemap.</p> + + <p>Si vous préférez que seule la dernière partie d'un nom de fichier + séparée du reste du nom par un point soit associée à une métadonnée + particulière, n'utilisez pas les directives <code>Add*</code>. Par + exemple, si vous souhaitez que le fichier <code>foo.html.cgi</code> + soit traité en tant que script CGI, mais pas le fichier + <code>bar.cgi.html</code>, alors, au lieu d'utiliser + <code>AddHandler cgi-script .cgi</code>, utilisez plutôt :</p> + + <example><title>Configuration du gestionnaire en se basant seulement + sur la dernière extension</title> + <highlight language="config"> +<FilesMatch "[^.]+\.cgi$"> + SetHandler cgi-script +</FilesMatch> + </highlight> + </example> + +</section> + +<section id="contentencoding"><title>Codage du contenu</title> + <p>Un fichier d'un <glossary>type de médium</glossary> particulier + peut être aussi codé d'une certaine manière pour simplifier sa + transmission sur Internet. Alors que cela concerne en général la + compression, comme <code>gzip</code>, il peut aussi s'agir de + chiffrement, comme <code>pgp</code> ou d'un codage comme UUencoding, + qui est conçu pour transmettre un fichier binaire sous un format + ASCII (texte).</p> + + <p>La <a href="http://www.ietf.org/rfc/rfc2616.txt">RFC + HTTP/1.1</a>, section 14.11 stipule à ce titre :</p> + + <blockquote cite="http://www.ietf.org/rfc/rfc2616.txt"> + <p>Le champ d'en-tête Content-Encoding de l'entité est utilisé en + tant que modificateur du type de médium. Lorsqu'il est présent, sa + valeur indique quels codages de contenu additionnels ont été + appliqués au corps de l'entité, et ainsi quels mécanismes de + décodage doivent être appliqués afin de retrouver le type de + médium référencé par le champ d'en-tête Content-Type. Le codage de + contenu est principalement utilisé pour permettre la compression + d'un document sans perdre l'information concernant le type de + médium sous-jacent.</p> + </blockquote> + + <p>En utilisant plusieurs extensions (voir la <a + href="#multipleext">section ci-dessus à propos des extensions de + fichiers multiples</a>), vous pouvez indiquer qu'un fichier est d'un + <em>type</em>, particulier, et possède aussi un <em>codage</em> + particulier.</p> + + <p>Considérons par exemple un fichier contenant un document + Microsoft Word et compressé par pkzip pour réduire sa taille. Si + l'extension <code>.doc</code> est associée au type de fichier + Microsoft Word, et si l'extension <code>.zip</code> est associée au + codage de fichier pkzip, alors le fichier + <code>Resume.doc.zip</code> sera identifié comme document Word + compressé par pkzip.</p> + + <p>Apache joint un en-tête <code>Content-encoding</code> à la + ressource afin d'informer le navigateur client à propos de la + méthode de codage.</p> + + <highlight language="config">Content-encoding: pkzip</highlight> +</section> + +<section id="charset-lang"><title>Jeux de caractères et langages</title> + <p>En plus du type de fichier et du codage, un autre élément + important d'information est le langage dans lequel le document est + écrit, et avec quel jeu de caractères le contenu du fichier doit + être affiché. Par exemple, un document peut être écrit en alphabet + vietnamien ou cyrillique, et doit être affiché en conséquence. Cette + information est aussi transmise via des en-têtes HTTP.</p> + + <p>Les jeu de caractères, langage, codage et type MIME sont tous + utilisés au cours du processus de négociation de contenu (voir + <module>mod_negotiation</module>) afin de déterminer quel document + servir au client, lorsque plusieurs choix sont possibles en fonction + du jeu de caractères, du langage, du codage ou du type MIME. Toutes + les associations d'extensions de noms de fichiers créées via les + directives <directive module="mod_mime">AddCharset</directive>, + <directive module="mod_mime">AddEncoding</directive>, <directive + module="mod_mime">AddLanguage</directive> et <directive + module="mod_mime">AddType</directive> (ainsi que les associations + d'extensions listées dans le fichier défini par la directive + <directive module="mod_mime_magic">MimeMagicFile</directive>), + participent à ce processus de sélection. Les extensions de noms de + fichiers qui n'ont été associés que par des directives <directive + module="mod_mime">AddHandler</directive>, <directive + module="mod_mime" >AddInputFilter</directive> ou <directive + module="mod_mime">AddOutputFilter</directive>, peuvent être incluses + ou exclues du processus de sélection en utilisant la directive + <directive module="mod_mime">MultiviewsMatch</directive>.</p> + + <section id="charset"><title>Jeu de caractères</title> + <p>Pour transmettre cette information supplémentaire, Apache peut + ajouter un en-tête <code>Content-Language</code>, afin de + spécifier le langage dans lequel le document est écrit, et peut + ajouter des informations additionnelles à l'en-tête + <code>Content-Type</code> pour indiquer le jeu de caractères + particulier qui doit être utilisé pour restituer correctement le + document.</p> + + <example> + Content-Language: en, fr +Content-Type: text/plain; charset=ISO-8859-1 + </example> + + <p>Le langage est spécifié via son abréviation en deux lettres. Le + <code>jeu de caractères</code> est le nom du jeu de caractères + particulier qui doit être utilisé.</p> + </section> +</section> + +<directivesynopsis> +<name>AddCharset</name> +<description>Associe les extensions de noms de fichiers spécifiées au +jeu de caractères spécifié</description> +<syntax>AddCharset <var>jeu-car</var> <var>extension</var> +[<var>extension</var>] ...</syntax> +<contextlist><context>server config</context><context>virtual host</context> +<context>directory</context><context>.htaccess</context></contextlist> +<override>FileInfo</override> + +<usage> + <p>La directive <directive>AddCharset</directive> permet d'associer + les extensions de noms de fichiers spécifiées au jeu de caractères + spécifié (le nom enregistré sur l'Internet d'un codage de caractères + donné). <var>jeu-car</var> est le <a + href="http://www.iana.org/assignments/character-sets">paramètre jeu + de caractères du type de médium</a> pour les ressources dont le nom + de fichier contient <var>extension</var>. Cette association est + ajoutée à toutes les autres déjà en vigueur, et écrase toute + association préexistante pour la même <var>extension</var>.</p> + + <example><title>Exemple</title> + <highlight language="config"> +AddLanguage ja .ja +AddCharset EUC-JP .euc +AddCharset ISO-2022-JP .jis +AddCharset SHIFT_JIS .sjis + </highlight> + </example> + + <p>Avec cet exemple, le document <code>xxxx.ja.jis</code> sera + traité en tant que document japonais dont le jeu de caractère est + <code>ISO-2022-JP</code> (idem pour le document + <code>xxxx.jis.ja</code>). La directive + <directive>AddCharset</directive> sert à la fois à informer le + client sur le codage des caractères du document afin que ce dernier + puisse être interprété et affiché correctement, et à la <a + href="../content-negotiation.html">négociation de contenu</a>, au + cours de laquelle le serveur décide lequels parmi plusieurs + documents possibles il renvoie au client en fonction des préférences + de ce dernier en matière de jeu de caractères.</p> + + <p>L'argument <var>extension</var> est insensible à la casse et peut + être spécifié avec ou sans le point initial. Les noms de fichiers + peuvent posséder <a href="#multipleext">plusieurs extensions</a>, et + l'argument <var>extension</var> sera comparé à chacune d'entre + elles.</p> + +</usage> +<seealso><module>mod_negotiation</module></seealso> +<seealso><directive module="core">AddDefaultCharset</directive></seealso> +</directivesynopsis> + +<directivesynopsis> +<name>AddEncoding</name> +<description>Associe les extensions de noms de fichiers données au type +de codage spécifié</description> +<syntax>AddEncoding <var>codage</var> <var>extension</var> +[<var>extension</var>] ...</syntax> +<contextlist><context>server config</context><context>virtual host</context> +<context>directory</context><context>.htaccess</context></contextlist> +<override>FileInfo</override> + +<usage> + <p>La directive <directive>AddEncoding</directive> permet d'associer + les extensions de noms de fichiers données au codage de contenu HTTP + spécifié. <var>codage</var> est le codage de contenu HTTP à ajouter + à la valeur du champ d'en-tête Content-Encoding pour les documents + possédant l'<var>extension</var> spécifiée. Cette association est + ajoutée à toutes les autres déjà en vigueur, et écrase toute + association préexistante pour la même <var>extension</var>.</p> + + <example><title>Exemple</title> + <highlight language="config"> +AddEncoding x-gzip .gz +AddEncoding x-compress .Z + </highlight> + </example> + + <p>Avec cet exemple, les noms de fichiers possédant l'extension + <code>.gz</code> seront marqués comme codés à l'aide du codage + <code>x-gzip</code>, et les noms de fichiers possédant l'extension + <code>.Z</code> comme codés avec <code>x-compress</code>.</p> + + <p>Les clients anciens n'acceptent que <code>x-gzip</code> et + <code>x-compress</code>, bien que les standards stipulent qu'ils + sont respectivement équivalents à <code>gzip</code> et + <code>compress</code>. Apache effectue ses comparaisons de codages + de contenu en ignorant tout préfixe <code>x-</code>. Lorsqu'il + répond avec un codage, Apache utilise l'une ou l'autre forme (c'est + à dire <code>x-foo</code> ou <code>foo</code>) selon les besoins du + client. Si le client n'a pas besoin d'une forme particulière, Apache + utilisera la forme employée par la directive + <code>AddEncoding</code>. Pour résumer, vous devez toujours utiliser + <code>x-gzip</code> et <code>x-compress</code> pour ces deux + codages spécifiques. Certains codages plus récents, comme + <code>deflate</code>, doivent être spécifiés sans le préfixe + <code>x-</code>.</p> + + <p>L'argument <var>extension</var> est insensible à la casse et peut + être spécifié avec ou sans le point initial. Les noms de fichiers + peuvent posséder <a href="#multipleext">plusieurs extensions</a>, et + l'argument <var>extension</var> sera comparé à chacune d'entre + elles.</p> +</usage> +</directivesynopsis> + +<directivesynopsis> +<name>AddHandler</name> +<description>Associe les extensions de noms de fichiers données au +gestionnaire spécifié</description> +<syntax>AddHandler <var>nom-gestionnaire</var> <var>extension</var> +[<var>extension</var>] ...</syntax> +<contextlist><context>server config</context><context>virtual host</context> +<context>directory</context><context>.htaccess</context></contextlist> +<override>FileInfo</override> + +<usage> + <p>Les fichiers dont le nom a pour extension <var>extension</var> + seront servis par le <var><a + href="../handler.html">nom-gestionnaire</a></var> spécifié. Cette + association est ajoutée à toutes les autres déjà en vigueur, et + écrase toute association préexistante pour la même + <var>extension</var>. Par exemple, pour associer les scripts CGI + avec l'extension de fichier <code>.cgi</code>, vous pouvez utiliser + :</p> + + <highlight language="config"> + AddHandler cgi-script .cgi + </highlight> + + <p>Une fois cette ligne insérée dans votre fichier httpd.conf, tout + fichier possédant l'extension <code>.cgi</code> sera traité en tant + que programme CGI.</p> + + <p>L'argument <var>extension</var> est insensible à la casse et peut + être spécifié avec ou sans le point initial. Les noms de fichiers + peuvent posséder <a href="#multipleext">plusieurs extensions</a>, et + l'argument <var>extension</var> sera comparé à chacune d'entre + elles.</p> +</usage> +<seealso><directive module="core">SetHandler</directive></seealso> +</directivesynopsis> + +<directivesynopsis> +<name>AddInputFilter</name> +<description>Associe les extensions de noms de fichiers aux +filtres spécifiés qui traiteront les requêtes clients</description> +<syntax>AddInputFilter <var>filtre</var>[;<var>filtre</var>...] +<var>extension</var> [<var>extension</var>] ...</syntax> +<contextlist><context>server config</context><context>virtual host</context> +<context>directory</context><context>.htaccess</context></contextlist> +<override>FileInfo</override> + +<usage> + <p>La directive <directive>AddInputFilter</directive> permet + d'associer l'extension de nom de fichier <var>extension</var> aux <a + href="../filter.html">filtres</a> spécifiésqui traiteront les + requêtes clients et les entrées POST à leur réception par le + serveur. Ceci s'ajoute à toute définition de filtre préexistante, y + compris la directive <directive + module="core">SetInputFilter</directive>. Cette + association est ajoutée à toutes les autres déjà en vigueur, et + écrase toute association préexistante pour la même + <var>extension</var>.</p> + + <p>Si plusieurs <var>filtres</var> sont spécifiés, ils doivent être + séparés par des points-virgules et inscrits dans l'ordre selon + lequel ils devront traiter le contenu. L'argument <var>filtre</var> + est insensible à la casse.</p> + + <p>L'argument <var>extension</var> est insensible à la casse et peut + être spécifié avec ou sans le point initial. Les noms de fichiers + peuvent posséder <a href="#multipleext">plusieurs extensions</a>, et + l'argument <var>extension</var> sera comparé à chacune d'entre + elles.</p> + +</usage> +<seealso><directive module="mod_mime">RemoveInputFilter</directive></seealso> +<seealso><directive module="core">SetInputFilter</directive></seealso> +</directivesynopsis> + +<directivesynopsis> +<name>AddLanguage</name> +<description>Associe l'extension de nom de fichier donnée au langage +spécifié</description> +<syntax>AddLanguage <var>symbole-langage</var> <var>extension</var> +[<var>extension</var>] ...</syntax> +<contextlist><context>server config</context><context>virtual host</context> +<context>directory</context><context>.htaccess</context></contextlist> +<override>FileInfo</override> + +<usage> + <p>La directive <directive>AddLanguage</directive> permet d'associer + l'extension de nom de fichier donnée au langage spécifié. Les + fichiers dont l'extension correspond à la valeur + de l'argument <var>extension</var> se voient attribuer la valeur de + l'argument <var>symbole-langage</var> comme en-tête HTTP + Content-Language en accord avec les identifiants de langages définis + par la RFC 3066. Cette directive l'emporte sur toute association + préexistante pour la même <var>extension</var>.</p> + + <example><title>Exemple</title> + <highlight language="config"> +AddEncoding x-compress .Z +AddLanguage en .en +AddLanguage fr .fr + </highlight> + </example> + + <p>Avec cet exemple, le document <code>xxxx.en.Z</code> sera traité + en tant que document compressé de langue anglaise (idem pour le + document <code>xxxx.Z.en</code>). Bien que le langage soit fourni au + client, le navigateur n'utilise habituellement pas cette + information. La directive <directive>AddLanguage</directive> est + principalement utilisée au cours de la <a + href="../content-negotiation.html">négociation de contenu</a>, où le + serveur choisit d'envoyer un document parmi plusieurs documents + possibles en fonction de la préférence du client en matière de + langage.</p> + + <p>Si une extension fait l'objet de plusieurs associations de + langages, c'est la dernière qui sera utilisée. Ainsi, dans le cas + suivant,</p> + + <highlight language="config"> +AddLanguage en .en +AddLanguage en-gb .en +AddLanguage en-us .en + </highlight> + + <p>les documents possédant l'extension <code>.en</code> seront + traités en tant que documents de langage <code>en-us</code>.</p> + + <p>L'argument <var>extension</var> est insensible à la casse et peut + être spécifié avec ou sans le point initial. Les noms de fichiers + peuvent posséder <a href="#multipleext">plusieurs extensions</a>, et + l'argument <var>extension</var> sera comparé à chacune d'entre + elles.</p> +</usage> +<seealso><module>mod_negotiation</module></seealso> +</directivesynopsis> + +<directivesynopsis> +<name>AddOutputFilter</name> +<description>Associe les extensions de noms de fichiers aux +filtres spécifiés qui traiteront les réponses en provenance du +serveur</description> +<syntax>AddOutputFilter <var>filtre</var>[;<var>filtre</var>...] +<var>extension</var> [<var>extension</var>] ...</syntax> +<contextlist><context>server config</context><context>virtual host</context> +<context>directory</context><context>.htaccess</context></contextlist> +<override>FileInfo</override> + +<usage> + <p>La directive <directive>AddOutputFilter</directive> permet + d'associer l'extension de nom de fichier définie par l'argument + <var>extension</var> aux <a + href="../filter.html">filtres</a> qui traiteront les réponses en + provenance du serveur avant de les envoyer au client. Ces filtres + s'ajoutent à tout filtre défini par d'autres directives comme + <directive module="core">SetOutputFilter</directive> et <directive + module="mod_filter">AddOutputFilterByType</directive>. Cette association + est fusionnée avec toute autre association en vigueur, et l'emporte + sur toute association préexistante pour la même + <var>extension</var>.</p> + + <p>Avec l'exemple suivant, tous les fichiers <code>.shtml</code> + seront traités en tant qu'inclusions côté serveur (SSI), et la + sortie sera compressée à l'aide du module + <module>mod_deflate</module>.</p> + + <highlight language="config"> + AddOutputFilter INCLUDES;DEFLATE shtml + </highlight> + + <p>Si plusieurs <var>filtres</var> sont spécifiés, ils doivent être + séparés par des points-virgules et inscrits dans l'ordre selon + lequel il devront traiter le contenu. L'argument <var>filtre</var> + est insensible à la casse.</p> + + <p>L'argument <var>extension</var> est insensible à la casse et peut + être spécifié avec ou sans le point initial. Les noms de fichiers + peuvent posséder <a href="#multipleext">plusieurs extensions</a>, et + l'argument <var>extension</var> sera comparé à chacune d'entre + elles.</p> + + <p>Notez que toute définition de filtres via la directive <directive + module="mod_mime">AddOutputFilter</directive> remplace toutes les + définitions précédentes effectuées via cette même directive.</p> + + <highlight language="config"> +# Filtre spécifié "DEFLATE" +AddOutputFilter DEFLATE shtml +<Location "/foo"> + # Filtre spécifié "INCLUDES", remplace "DEFLATE" + AddOutputFilter INCLUDES shtml +</Location> +<Location "/bar"> + # Filtre spécifié "INCLUDES;DEFLATE", remplace "DEFLATE" + AddOutputFilter INCLUDES;DEFLATE shtml +</Location> +<Location "/bar/baz"> + # Filtre spécifié "BUFFER", remplace "INCLUDES;DEFLATE" + AddOutputFilter BUFFER shtml +</Location> +<Location "/bar/baz/buz"> + # Pas de filtre spécifié, suppression de "BUFFER" + RemoveOutputFilter shtml +</Location> + </highlight> +</usage> +<seealso><directive module="mod_mime">RemoveOutputFilter</directive></seealso> +<seealso><directive module="core">SetOutputFilter</directive></seealso> +</directivesynopsis> + +<directivesynopsis> +<name>AddType</name> +<description>Associe les extensions de noms de fichiers au type de +contenu spécifié</description> +<syntax>AddType <var>type-médium</var> <var>extension</var> +[<var>extension</var>] ...</syntax> +<contextlist><context>server config</context><context>virtual host</context> +<context>directory</context><context>.htaccess</context></contextlist> +<override>FileInfo</override> + +<usage> + <p>La directive <directive>AddType</directive> permet d'associer les + extensions de noms fichiers données au type de contenu spécifié. + <var>type-médium</var> est le <glossary ref="media-type">Type + MIME</glossary> à utiliser pour les fichiers dont le nom possède + l'extension <var>extension</var>. Cette association s'ajoute à toute + autre association en vigueur, et l'emporte sur toute association + préexistante pour la même <var>extension</var>.</p> + + <note> + Plutôt que d'éditer directement le fichier <directive + module="mod_mime">TypesConfig</directive>, il est recommandé + d'utiliser la directive <directive>AddType</directive> pour + ajouter de nouveaux types de médias. + </note> + + <example><title>Exemple</title> + <highlight language="config"> + AddType image/gif .gif + </highlight> + </example> + + <p>Ou, pour spécifier plusieurs extensions dans une seule directive + :</p> + + <example><title>Exemple</title> + <highlight language="config"> + AddType image/jpeg jpeg jpg jpe + </highlight> + </example> + + <p>L'argument <var>extension</var> est insensible à la casse et peut + être spécifié avec ou sans le point initial. Les noms de fichiers + peuvent posséder <a href="#multipleext">plusieurs extensions</a>, et + l'argument <var>extension</var> sera comparé à chacune d'entre + elles.</p> + + <p>Il est possible d'obtenir un effet similaire à celui de la + directive <directive + module="mod_negotiation">LanguagePriority</directive> du module + <module>mod_negotiation</module> en qualifiant un <var>type de + média</var> avec <code>qs</code> :</p> + + <example><title>Exemple</title> + <highlight language="config"> + AddType application/rss+xml;qs=0.8 .xml + </highlight> + </example> + + <p>Ceci peut s'avérer utile dans certaines situations, par exemple + lorsqu'un client qui a ajouté un en-tête <code>Accept: */*</code> à + sa requête n'est pas en mesure de traiter le contenu renvoyé par le + serveur.</p> + + <p>A la base, cette directive configure le type de contenu généré + pour les fichiers statiques servis à partir du système de fichiers. + Dans le cas des ressources autres que les fichiers statiques pour + lesquelles le générateur de la réponse spécifie en général un + Content-Type, cette directive n'a aucun effet.</p> + + <note><title>Note</title> + <p>Si aucun gestionnaire n'a été explicitement défini pour une + requête, c'est le type de contenu spécifié qui sera utilisé comme + nom de gestionnaire.</p> + + <p>Lorsqu'aucune directive comme <directive + module="core">SetHandler</directive> ou + <directive>module="mod_mime">AddHandler</directive> ne s'applique à + une requête, le nom de gestionnaire interne qui aurait du être + défini par une de ces directives correspond alors au type de contenu + spécifié par la directive AddType. + </p> + <p> + Pour des raisons historiques, certains modules tiers comme mod_php + peuvent adopter ce comportement pour forcer la prise en compte de la + requête concernée. + </p> + + <p>Il est conseillé d'éviter les configurations qui reposent sur de + tels types "synthétiques". En outre, les configurations qui + limitent l'accès aux directives <directive + module="core">SetHandler</directive> ou <directive + module="mod_mime">AddHandler</directive> doivent aussi limiter + l'accès à la directive AddType.</p> + </note> + +</usage> +<seealso><directive module="core">ForceType</directive></seealso> +<seealso><module>mod_negotiation</module></seealso> +</directivesynopsis> + +<directivesynopsis> +<name>MultiviewsMatch</name> +<description>Les types de fichiers qui seront inclus lors d'une +recherche de correspondance de fichier avec les vues multiples +(MultiViews)</description> +<syntax>MultiviewsMatch Any|NegotiatedOnly|Filters|Handlers +[Handlers|Filters]</syntax> +<default>MultiviewsMatch NegotiatedOnly</default> +<contextlist><context>server config</context><context>virtual host</context> +<context>directory</context><context>.htaccess</context></contextlist> +<override>FileInfo</override> + +<usage> + <p>La directive <directive>MultiviewsMatch</directive> permet trois + comportements différents pour la fonctionnalité Multiviews du module + <a href="mod_negotiation.html">mod_negotiation</a>. Les vues + multiples permettent d'associer une requête pour un fichier, par + exemple <code>index.html</code>, à toute extension négotiée + s'ajoutant à la requête de base, par exemple + <code>index.html.en</code>, <code>index.html.fr</code>, ou + <code>index.html.gz</code>.</p> + + <p>L'option <code>NegotiatedOnly</code> implique que toute extension + s'ajoutant au nom de base doit correspondre à une extension de + <module>mod_mime</module> reconnue pour la négociation de contenu, + par exemple Charset, Content-Type, Language, ou Encoding. C'est la + valeur d'option par défaut, et la contrainte la plus stricte + dont les effets de bord inattendus sont les moins nombreux.</p> + + <p>Pour inclure des extensions associées avec des gestionnaires + et/ou des filtres, définissez la directive + <directive>MultiviewsMatch</directive> avec les mots-clés + <code>Handlers</code>, <code>Filters</code>, ou les deux. Si tous + les autres facteurs sont égaux, c'est le fichier de plus petite + taille qui sera servi ; par exemple, si le choix doit s'opérer entre + <code>index.html.cgi</code> de 500 octets et + <code>index.html.pl</code> de 1000 octets, c'est le fichier + <code>.cgi</code> qui l'emportera dans cet exemple. Les utilisateurs + de fichiers <code>.asis</code> auront avantage à utiliser l'option + Handler, si les fichiers <code>.asis</code> sont associés au + gestionnaire <code>asis-handler</code>.</p> + + <p>Vous pouvez enfin autoriser l'association de toute extension avec + l'option <code>Any</code>, même si <module>mod_mime</module> ne + reconnaît pas l'extension. Ceci + peut conduire à des résultats imprévisibles, comme l'envoi de + fichiers .old ou .bak contrairement aux souhaits du webmaster.</p> + + <p>Par exemple, la configuration suivante va permettre l'inclusion + des extensions associées aux gestionnaires et aux filtres dans les + vues multiples, tout en excluant les fichiers de type inconnu :</p> + + <highlight language="config"> + MultiviewsMatch Handlers Filters + </highlight> + + <p>L'utilisation de la directive + <directive>MultiviewsMatch</directive> dans une section <directive + type="section" module="core">Location</directive> ou <directive + type="section" module="core">LocationMatch</directive> n'est pas + permise.</p> + +</usage> +<seealso><directive module="core">Options</directive></seealso> +<seealso><module>mod_negotiation</module></seealso> +</directivesynopsis> + +<directivesynopsis> +<name>DefaultLanguage</name> +<description>Défini un symbole de langage par défaut à affecter au champ +d'en-tête Content-Language pour toutes les ressources dans le contexte +courant auxquelles aucun symbole de langage n'a été +associé.</description> +<syntax>DefaultLanguage <var>symbole-langage</var></syntax> +<contextlist><context>server config</context><context>virtual host</context> +<context>directory</context><context>.htaccess</context></contextlist> +<override>FileInfo</override> + +<usage> + <p>La directive <directive>DefaultLanguage</directive> permet + d'indiquer à Apache que toutes les ressources du contexte courant + (par exemple, toutes les ressources concernées par le conteneur + <directive module="core" type="section">Directory</directive> + courant) qui ne possèdent pas d'extension de langage explicite + (comme <code>.fr</code> ou <code>.de</code> tel que défini par la + directive <directive module="mod_mime">AddLanguage</directive>), + verront leur en-tête HTTP Content-Language affecté du langage + <var>symbole-langage</var>. Ceci permet de marquer des arborescences + de répertoires entières comme contenant des documents en français, + par exemple, sans avoir à renommer chaque fichier. Notez qu'à la + différence de l'utilisation des extensions pour spécifier des + langages, <directive>DefaultLanguage</directive> ne permet de + spécifier qu'un seul langage.</p> + + <p>Si aucune directive <directive>DefaultLanguage</directive> n'est + en vigueur, et si un fichier ne possède pas d'extension configurée + par la directive <directive + module="mod_mime">AddLanguage</directive>, aucun champ d'en-tête + Content-Language ne sera généré.</p> + + <example><title>Exemple</title> + <highlight language="config"> + DefaultLanguage en + </highlight> + </example> +</usage> +<seealso><module>mod_negotiation</module></seealso> +</directivesynopsis> + +<directivesynopsis> +<name>ModMimeUsePathInfo</name> +<description>Indique à <module>mod_mime</module> de traiter les éléments +de <code>path_info</code> en tant que parties du nom de +fichier</description> +<syntax>ModMimeUsePathInfo On|Off</syntax> +<default>ModMimeUsePathInfo Off</default> +<contextlist><context>directory</context></contextlist> + +<usage> + <p>La directive <directive>ModMimeUsePathInfo</directive> permet de + combiner le nom de fichier avec la partie <code>path_info</code> de + l'URL pour appliquer les directives <module>mod_mime</module> à la + requête. La valeur par défaut est <code>Off</code> - situation dans + laquelle l'élément <code>path_info</code> est ignoré.</p> + + <p>L'utilisation de cette directive est conseillée si vous utilisez + un système de fichiers virtuel.</p> + + <example><title>Exemple</title> + <highlight language="config"> + ModMimeUsePathInfo On + </highlight> + </example> + + <p>Considérons une requête pour <code>/index.php/foo.shtml</code>, + <module>mod_mime</module> ne traitera pas la requête entrante comme + <code>/index.php/foo.shtml</code> et les directives comme + <code>AddOutputFilter INCLUDES .shtml</code> ajouteront le filtre + <code>INCLUDES</code> à la requête. Si la directive + <directive>ModMimeUsePathInfo</directive> n'est pas définie, le + filtre <code>INCLUDES</code> ne sera pas ajouté. Le fonctionnement + sera identique dans le cas des chemins virtuels, tels que ceux + définis par la directive <directive type="section">Location</directive></p> +</usage> +<seealso><directive module="core">AcceptPathInfo</directive></seealso> +</directivesynopsis> + +<directivesynopsis> +<name>RemoveCharset</name> +<description>Supprime toute association de jeu de caractères pour un +ensemble d'extensions de noms de fichiers</description> +<syntax>RemoveCharset <var>extension</var> [<var>extension</var>] +...</syntax> +<contextlist><context>virtual host</context><context>directory</context> +<context>.htaccess</context></contextlist> +<override>FileInfo</override> + +<usage> + <p>La directive <directive>RemoveCharset</directive> permet de + supprimer toute association de jeu de caractères pour les fichiers + dont les noms possèdent les extensions spécifiées. Ceci permet, au + sein des fichiers <code>.htaccess</code>, d'annuler toute + association héritée du répertoire parent ou de la configuration du + serveur pour un répertoire particulier.</p> + + <p>L'argument <var>extension</var> est insensible à la casse et peut + être spécifié avec ou sans le point initial.</p> + + <example><title>Exemple</title> + <highlight language="config"> + RemoveCharset .html .shtml + </highlight> + </example> +</usage> +</directivesynopsis> + +<directivesynopsis> +<name>RemoveEncoding</name> +<description>Supprime toute association de codage de contenu pour un +ensemble d'extensions de noms de fichiers</description> +<syntax>RemoveEncoding <var>extension</var> [<var>extension</var>] +...</syntax> +<contextlist><context>virtual host</context><context>directory</context> +<context>.htaccess</context></contextlist> +<override>FileInfo</override> + +<usage> + <p>La directive <directive>RemoveEncoding</directive> permet de + supprimer toute association de codage pour les fichiers dont les + noms possèdent les extensions spécifiées. Ceci permet, au + sein des fichiers <code>.htaccess</code>, d'annuler toute + association héritée du répertoire parent ou de la configuration du + serveur pour un répertoire particulier. Voici un exemple + d'utilisation de cette directive :</p> + + <example><title>/foo/.htaccess:</title> + <highlight language="config"> +AddEncoding x-gzip .gz +AddType text/plain .asc +<Files "*.gz.asc"> + RemoveEncoding .gz +</Files> + </highlight> + </example> + + <p>Avec cette configuration, le fichier <code>foo.gz</code> sera + marqué comme codé avec gzip, mais <code>foo.gz.asc</code> sera + marqué comme fichier texte non codé.</p> + + <note><title>Note</title> + <p>Les directives <directive>RemoveEncoding</directive> étant + traitées <em>après</em> toute directive <directive + module="mod_mime">AddEncoding</directive>, il est possible + qu'elles annulent les effets de ces dernières si les deux + apparaissent dans la configuration du même répertoire.</p> + </note> + + <p>L'argument <var>extension</var> est insensible à la casse et peut + être spécifié avec ou sans le point initial.</p> +</usage> +</directivesynopsis> + +<directivesynopsis> +<name>RemoveHandler</name> +<description>Supprime toute association de gestionnaire à un ensemble +d'extensions de noms de fichiers</description> +<syntax>RemoveHandler <var>extension</var> [<var>extension</var>] +...</syntax> +<contextlist><context>virtual host</context><context>directory</context> +<context>.htaccess</context></contextlist> +<override>FileInfo</override> + +<usage> + <p>La directive <directive>RemoveHandler</directive> permet de + supprimer toute association de gestionnaire à des fichiers dont le + nom possède l'extension donnée. Ceci permet, au + sein des fichiers <code>.htaccess</code>, d'annuler toute + association héritée du répertoire parent ou de la configuration du + serveur pour un répertoire particulier. Voici un exemple + d'utilisation de cette directive :</p> + + <example><title>/foo/.htaccess:</title> + <highlight language="config"> + AddHandler server-parsed .html + </highlight> + </example> + + <example><title>/foo/bar/.htaccess:</title> + <highlight language="config"> + RemoveHandler .html + </highlight> + </example> + + <p>Avec cette dernière ligne, les fichiers <code>.html</code> du + répertoire <code>/foo/bar</code> seront traités en tant que fichiers + normaux, au lieu d'être traités en tant que candidats à + l'interprétation (voir le module <module>mod_include</module> + module).</p> + + <p>L'argument <var>extension</var> est insensible à la casse et peut + être spécifié avec ou sans le point initial.</p> +</usage> +</directivesynopsis> + +<directivesynopsis> +<name>RemoveInputFilter</name> +<description>Supprime toute association de filtre en entrée à un +ensemble d'extensions de noms de fichiers</description> +<syntax>RemoveInputFilter <var>extension</var> [<var>extension</var>] +...</syntax> +<contextlist><context>virtual host</context><context>directory</context> +<context>.htaccess</context></contextlist> +<override>FileInfo</override> + +<usage> + <p>La directive <directive>RemoveInputFilter</directive> permet de + supprimer toute association de <a href="../filter.html">filtre</a> + en entrée à des fichiers dont le nom possède l'extension donnée. + Ceci permet, au + sein des fichiers <code>.htaccess</code>, d'annuler toute + association héritée du répertoire parent ou de la configuration du + serveur pour un répertoire particulier.</p> + + <p>L'argument <var>extension</var> est insensible à la casse et peut + être spécifié avec ou sans le point initial.</p> +</usage> +<seealso><directive module="mod_mime">AddInputFilter</directive></seealso> +<seealso><directive module="core">SetInputFilter</directive></seealso> +</directivesynopsis> + +<directivesynopsis> +<name>RemoveLanguage</name> +<description>Supprime toute association de langage à un ensemble +d'extensions de noms de fichiers</description> +<syntax>RemoveLanguage <var>extension</var> [<var>extension</var>] +...</syntax> +<contextlist><context>virtual host</context><context>directory</context> +<context>.htaccess</context></contextlist> +<override>FileInfo</override> + +<usage> + <p>La directive <directive>RemoveLanguage</directive> permet de + supprimer toute association de langage à des fichiers dont le nom + possède l'extension donnée. Ceci permet, au + sein des fichiers <code>.htaccess</code>, d'annuler toute + association héritée du répertoire parent ou de la configuration du + serveur pour un répertoire particulier.</p> + + <p>L'argument <var>extension</var> est insensible à la casse et peut + être spécifié avec ou sans le point initial.</p> +</usage> +</directivesynopsis> + +<directivesynopsis> +<name>RemoveOutputFilter</name> +<description>Supprime toute association de filtre en sortie à un +ensemble d'extensions de noms de fichiers</description> +<syntax>RemoveOutputFilter <var>extension</var> [<var>extension</var>] +...</syntax> +<contextlist><context>virtual host</context><context>directory</context> +<context>.htaccess</context></contextlist> +<override>FileInfo</override> + +<usage> + <p>La directive <directive>RemoveOutputFilter</directive> permet de + supprimer toute association de <a href="../filter.html">filtre</a> + en sortie à des fichiers dont le nom possède l'extension donnée. Ceci permet, au + sein des fichiers <code>.htaccess</code>, d'annuler toute + association héritée du répertoire parent ou de la configuration du + serveur pour un répertoire particulier.</p> + + <p>L'argument <var>extension</var> est insensible à la casse et peut + être spécifié avec ou sans le point initial.</p> + + <example><title>Exemple</title> + <highlight language="config"> + RemoveOutputFilter shtml + </highlight> + </example> +</usage> +<seealso><directive module="mod_mime">AddOutputFilter</directive></seealso> +</directivesynopsis> + +<directivesynopsis> +<name>RemoveType</name> +<description>Supprime toute association de type de contenu à un ensemble +d'extensions de noms de fichiers</description> +<syntax>RemoveType <var>extension</var> [<var>extension</var>] +...</syntax> +<contextlist><context>virtual host</context><context>directory</context> +<context>.htaccess</context></contextlist> +<override>FileInfo</override> + +<usage> + <p>La directive <directive>RemoveType</directive> permet de + supprimer toute association de <glossary ref="media-type">type de + médium</glossary> à des fichiers dont le nom possède l'extension + donnée. Ceci permet, au + sein des fichiers <code>.htaccess</code>, d'annuler toute + association héritée du répertoire parent ou de la configuration du + serveur pour un répertoire particulier. Voici un exemple + d'utilisation de cette directive :</p> + + <example><title>/foo/.htaccess:</title> + <highlight language="config"> + RemoveType .cgi + </highlight> + </example> + + <p>Cette ligne aura pour effet de supprimer tout traitement + spécifique des fichiers <code>.cgi</code> dans le répertoire + <code>/foo/</code> et ses sous-répertoires, et les réponses + contenant ce type de fichier ne possèderont pas de champ d'en-tête + HTTP Content-Type.</p> + + <note><title>Note</title> + <p>Les directives <directive>RemoveType</directive> sont traitées + <em>après</em> toutes les directives <directive + module="mod_mime">AddType</directive>, et il est possible que les + effets de ces dernières soient annulés si les deux types de + directives sont présents au sein de la configuration du même + répertoire.</p> + </note> + + <p>L'argument <var>extension</var> est insensible à la casse et peut + être spécifié avec ou sans le point initial.</p> +</usage> +</directivesynopsis> + +<directivesynopsis> +<name>TypesConfig</name> +<description>Le chemin du fichier <code>mime.types</code></description> +<syntax>TypesConfig <var>chemin-fichier</var></syntax> +<default>TypesConfig conf/mime.types</default> +<contextlist><context>server config</context></contextlist> + +<usage> + <p>La directive <directive>TypesConfig</directive> permet de définir + le chemin du fichier de configuration des <glossary + ref="media-type">types de média</glossary>. L'argument + <var>chemin-fichier</var> est un chemin relatif au répertoire défini + par la directive <directive module="core">ServerRoot</directive>. Ce + fichier contient la liste des associations par défaut des extensions + de noms de fichiers aux types de contenus. La plupart des + administrateurs utilisent le fichier <code>mime.types</code> fourni + par leur OS, + qui associe les extensions de noms de fichiers courantes à la liste + officielle des types de média enregistrés par l'IANA et maintenue à + <a href= + "http://www.iana.org/assignments/media-types/index.html" + >http://www.iana.org/assignments/media-types/index.html</a>, ainsi + qu'un grand nombre de types non officiels. Ce fichier permet de + simplifier le fichier <code>httpd.conf</code> en fournissant la + majorité des définitions de types de média, et ses définitions + peuvent être écrasées par des directives <directive + module="mod_mime">AddType</directive>, selon les besoins. Il est + déconseillé de modifier le contenu du fichier + <code>mime.types</code> car il peut être remplacé lors d'une mise à + jour du serveur.</p> + + <p>Le fichier contient des lignes dont le format est identique à + celui des arguments d'une directive <directive + module="mod_mime">AddType</directive> :</p> + + <example> + <var>type-médium</var> [<var>extension</var>] ... + </example> + + <p>Les extensions sont insensibles à la casse. Les lignes vides et + les lignes commençant par un dièse (<code>#</code>) sont + ignorées. Les lignes vides servent à compléter le fichier + mime.types. Apache httpd peut encore déterminer ces types via le + module <module>mod_mime_magic</module>.</p> + + <note> + Merci de <strong>ne pas</strong> soumettre de requêtes au Projet + de Serveur HTTP Apache pour ajouter une entrée dans le fichier + <code>mime.types</code> fourni, sauf si : + 1) le type de médium est déjà enregistré à l'IANA + 2) et si l'extension est largement acceptée et ne provoque pas de + conflits d'extensions entre les différentes plate-formes. Les + requêtes du type <code>catégorie/x-sous-type</code> seront + systématiquement rejetées, ainsi que toute nouvelle extension de + deux lettres, car elle ont de fortes chances d'entrer en conflit + par la suite avec les innombrables langages préexistants et les + espaces de nommage des jeux de caractères. + </note> +</usage> +<seealso><module>mod_mime_magic</module></seealso> +</directivesynopsis> + +</modulesynopsis> diff --git a/docs/manual/mod/mod_mime.xml.meta b/docs/manual/mod/mod_mime.xml.meta index 9efe9ca614..b01d57d49d 100644 --- a/docs/manual/mod/mod_mime.xml.meta +++ b/docs/manual/mod/mod_mime.xml.meta @@ -8,6 +8,7 @@ <variants> <variant>en</variant> + <variant>fr</variant> <variant outdated="yes">ja</variant> </variants> </metafile> diff --git a/docs/manual/mod/mod_mime_magic.html b/docs/manual/mod/mod_mime_magic.html index fd1bb7229a..bece3b0d0a 100644 --- a/docs/manual/mod/mod_mime_magic.html +++ b/docs/manual/mod/mod_mime_magic.html @@ -3,3 +3,7 @@ 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 diff --git a/docs/manual/mod/mod_mime_magic.html.fr b/docs/manual/mod/mod_mime_magic.html.fr new file mode 100644 index 0000000000..30fe5f0acc --- /dev/null +++ b/docs/manual/mod/mod_mime_magic.html.fr @@ -0,0 +1,312 @@ +<?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> +<meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_mime_magic - Serveur Apache HTTP Version 2.5</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.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p> +<p class="apache">Serveur Apache HTTP Version 2.5</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.5</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Module Apache mod_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>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><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#mimemagicfile">MimeMagicFile</a></li> +</ul> +<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_mime_magic">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_mime_magic">Signaler un bug</a></li></ul><h3>Voir aussi</h3> +<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">Directive</a> <a name="MimeMagicFile" id="MimeMagicFile">MimeMagicFile</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/trunk/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 2017 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_mime_magic.xml.fr b/docs/manual/mod/mod_mime_magic.xml.fr new file mode 100644 index 0000000000..3b525590dc --- /dev/null +++ b/docs/manual/mod/mod_mime_magic.xml.fr @@ -0,0 +1,285 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd"> +<?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?> +<!-- English Revision : 1331214 --> +<!-- 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> diff --git a/docs/manual/mod/mod_mime_magic.xml.meta b/docs/manual/mod/mod_mime_magic.xml.meta index b697ddfa39..f4302a5bc7 100644 --- a/docs/manual/mod/mod_mime_magic.xml.meta +++ b/docs/manual/mod/mod_mime_magic.xml.meta @@ -8,5 +8,6 @@ <variants> <variant>en</variant> + <variant>fr</variant> </variants> </metafile> diff --git a/docs/manual/mod/mod_nw_ssl.html b/docs/manual/mod/mod_nw_ssl.html index c1342c072a..32be10e166 100644 --- a/docs/manual/mod/mod_nw_ssl.html +++ b/docs/manual/mod/mod_nw_ssl.html @@ -3,3 +3,7 @@ URI: mod_nw_ssl.html.en Content-Language: en Content-type: text/html; charset=ISO-8859-1 + +URI: mod_nw_ssl.html.fr +Content-Language: fr +Content-type: text/html; charset=ISO-8859-1 diff --git a/docs/manual/mod/mod_nw_ssl.html.fr b/docs/manual/mod/mod_nw_ssl.html.fr new file mode 100644 index 0000000000..1895280857 --- /dev/null +++ b/docs/manual/mod/mod_nw_ssl.html.fr @@ -0,0 +1,131 @@ +<?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> +<meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_nw_ssl - Serveur Apache HTTP Version 2.5</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.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p> +<p class="apache">Serveur Apache HTTP Version 2.5</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.5</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Module Apache mod_nw_ssl</h1> +<div class="toplang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_nw_ssl.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_nw_ssl.html" title="Français"> fr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Active le chiffrement SSL pour Netware</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>nwssl_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_nw_ssl.c</td></tr> +<tr><th><a href="module-dict.html#Compatibility">Compatibilité:</a></th><td>NetWare seulement</td></tr></table> +<h3>Sommaire</h3> + + <p>Ce module active le chiffrement SSL sur un port spécifique. Il + s'appuie sur la fonctionnalité de chiffrement SSL intégrée au + système d'exploitation Netware.</p> +</div> +<div id="quickview"><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#nwssltrustedcerts">NWSSLTrustedCerts</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#nwsslupgradeable">NWSSLUpgradeable</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#securelisten">SecureListen</a></li> +</ul> +<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_nw_ssl">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_nw_ssl">Signaler un bug</a></li></ul><h3>Voir aussi</h3> +<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="nwssltrustedcerts" id="nwssltrustedcerts">Directive</a> <a name="NWSSLTrustedCerts" id="NWSSLTrustedCerts">NWSSLTrustedCerts</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Liste de certificats clients supplémentaires</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>NWSSLTrustedCerts <var>nom-fichier</var> +[<var>nom-fichier</var>] ...</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_nw_ssl</td></tr> +</table> + <p>Cette directive permet de spécifier une liste de fichiers (au + format DER) contenant des certificats clients utilisés lors de + l'établissement d'une connexion SSL mandatée. Chaque certificat + client utilisé par un serveur doit être enregistré séparément dans + son propre fichier <code>.der</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="nwsslupgradeable" id="nwsslupgradeable">Directive</a> <a name="NWSSLUpgradeable" id="NWSSLUpgradeable">NWSSLUpgradeable</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Permet de promouvoir une connexion non SSL au statut de +connexion SSL à la demande</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>NWSSLUpgradeable [<var>adresse-IP</var>:]<var>num-port</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_nw_ssl</td></tr> +</table> + <p>Cette directive permet de promouvoir une connexion établie sur + l'adresse IP et/ou le port spécifiés au statut de connexion SSL à la + demande du client. L'adresse et/ou le port doivent avoir été définis + au préalable par une directive <code class="directive"><a href="../mod/mpm_common.html#listen">Listen</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="securelisten" id="securelisten">Directive</a> <a name="SecureListen" id="SecureListen">SecureListen</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Active le chiffrement SSL pour le port +spécifié</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SecureListen [<var>adresse-IP</var>:]<var>num-port</var> +<var>nom-certificat</var> [MUTUAL]</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>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_nw_ssl</td></tr> +</table> + <p>Cette directive permet de spécifier le port et le nom de + certificat de style eDirectory qui seront utilisés pour activer le + chiffrement SSL. En outre, un troisième paramètre optionnel permet + d'activer l'authentification mutuelle.</p> + +</div> +</div> +<div class="bottomlang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_nw_ssl.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_nw_ssl.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/trunk/mod/mod_nw_ssl.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 2017 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_nw_ssl.xml.fr b/docs/manual/mod/mod_nw_ssl.xml.fr new file mode 100644 index 0000000000..5f4f7a398a --- /dev/null +++ b/docs/manual/mod/mod_nw_ssl.xml.fr @@ -0,0 +1,88 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd"> +<?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?> +<!-- English Revision : 1174747 --> +<!-- 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_nw_ssl.xml.meta"> + +<name>mod_nw_ssl</name> +<description>Active le chiffrement SSL pour Netware</description> +<status>Base</status> +<sourcefile>mod_nw_ssl.c</sourcefile> +<identifier>nwssl_module</identifier> +<compatibility>NetWare seulement</compatibility> + +<summary> + <p>Ce module active le chiffrement SSL sur un port spécifique. Il + s'appuie sur la fonctionnalité de chiffrement SSL intégrée au + système d'exploitation Netware.</p> +</summary> + +<directivesynopsis> +<name>SecureListen</name> +<description>Active le chiffrement SSL pour le port +spécifié</description> +<syntax>SecureListen [<var>adresse-IP</var>:]<var>num-port</var> +<var>nom-certificat</var> [MUTUAL]</syntax> +<contextlist><context>server config</context></contextlist> + +<usage> + <p>Cette directive permet de spécifier le port et le nom de + certificat de style eDirectory qui seront utilisés pour activer le + chiffrement SSL. En outre, un troisième paramètre optionnel permet + d'activer l'authentification mutuelle.</p> +</usage> +</directivesynopsis> + +<directivesynopsis> +<name>NWSSLTrustedCerts</name> +<description>Liste de certificats clients supplémentaires</description> +<syntax>NWSSLTrustedCerts <var>nom-fichier</var> +[<var>nom-fichier</var>] ...</syntax> +<contextlist><context>server config</context></contextlist> + +<usage> + <p>Cette directive permet de spécifier une liste de fichiers (au + format DER) contenant des certificats clients utilisés lors de + l'établissement d'une connexion SSL mandatée. Chaque certificat + client utilisé par un serveur doit être enregistré séparément dans + son propre fichier <code>.der</code>.</p> +</usage> +</directivesynopsis> + +<directivesynopsis> +<name>NWSSLUpgradeable</name> +<description>Permet de promouvoir une connexion non SSL au statut de +connexion SSL à la demande</description> +<syntax>NWSSLUpgradeable [<var>adresse-IP</var>:]<var>num-port</var></syntax> +<contextlist><context>server config</context></contextlist> + +<usage> + <p>Cette directive permet de promouvoir une connexion établie sur + l'adresse IP et/ou le port spécifiés au statut de connexion SSL à la + demande du client. L'adresse et/ou le port doivent avoir été définis + au préalable par une directive <directive + module="mpm_common">Listen</directive>.</p> +</usage> +</directivesynopsis> + +</modulesynopsis> diff --git a/docs/manual/mod/mod_nw_ssl.xml.meta b/docs/manual/mod/mod_nw_ssl.xml.meta index 2c81bf124a..6cdff9ea57 100644 --- a/docs/manual/mod/mod_nw_ssl.xml.meta +++ b/docs/manual/mod/mod_nw_ssl.xml.meta @@ -8,5 +8,6 @@ <variants> <variant>en</variant> + <variant>fr</variant> </variants> </metafile> diff --git a/docs/manual/mod/mod_privileges.html b/docs/manual/mod/mod_privileges.html index 9956b62fba..53c085578e 100644 --- a/docs/manual/mod/mod_privileges.html +++ b/docs/manual/mod/mod_privileges.html @@ -3,3 +3,7 @@ URI: mod_privileges.html.en Content-Language: en Content-type: text/html; charset=ISO-8859-1 + +URI: mod_privileges.html.fr +Content-Language: fr +Content-type: text/html; charset=ISO-8859-1 diff --git a/docs/manual/mod/mod_privileges.html.fr b/docs/manual/mod/mod_privileges.html.fr new file mode 100644 index 0000000000..04265439e3 --- /dev/null +++ b/docs/manual/mod/mod_privileges.html.fr @@ -0,0 +1,480 @@ +<?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> +<meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_privileges - Serveur Apache HTTP Version 2.5</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.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p> +<p class="apache">Serveur Apache HTTP Version 2.5</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.5</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Module Apache mod_privileges</h1> +<div class="toplang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_privileges.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_privileges.html" title="Français"> fr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Support des privilèges de Solaris et de l'exécution des +serveurs virtuels sous différents identifiants +utilisateurs.</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>privileges_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_privileges.c</td></tr> +<tr><th><a href="module-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.3 d'Apache sur les +plates-formes Solaris 10 et OpenSolaris</td></tr></table> +<h3>Sommaire</h3> + +<p>Ce module permet l'exécution de différents serveurs virtuels sous +différents identifiants Unix <var>User</var> et <var>Group</var>, +et avec différents <a href="http://sosc-dr.sun.com/bigadmin/features/articles/least_privilege.jsp">Privilèges +Solaris</a>. En particulier, il apporte au problème de +séparation des privilèges entre les différents serveurs virtuels la +solution que devait apporter le module MPM abandonné perchild. Il +apporte aussi d'autres améliorations en matière de sécurité.</p> + +<p>À la différence de perchild, <code class="module"><a href="../mod/mod_privileges.html">mod_privileges</a></code> n'est +pas un module MPM. Il travaille <em>au sein</em> d'un modèle de +traitement pour définir les privilèges et les User/Group <em>pour chaque +requête</em> dans un même processus. Il n'est donc pas compatible avec +les MPM threadés, et refusera de s'exécuter en cas d'utilisation d'un de +ces derniers.</p> + +<p><code class="module"><a href="../mod/mod_privileges.html">mod_privileges</a></code> traite des problèmes de sécurité +similaires à ceux de <a href="../suexec.html">suexec</a> ; mais à la +différence de ce dernier, il ne s'applique pas seulement aux programmes +CGI, mais à l'ensemble du cycle de traitement d'une requête, y compris +les applications in-process et les sous-processus. Il convient +particulièrement à l'exécution des applications PHP sous +<strong>mod_php</strong>, qui est lui-même incompatible avec les modules +MPM threadés. Il est également bien adapté aux autres applications de type +script in-process comme <strong>mod_perl</strong>, +<strong>mod_python</strong>, et <strong>mod_ruby</strong>, ainsi qu'aux +applications en langage C telles que les modules Apache pour lesquels la +séparation des privilèges constitue un problème.</p> + +</div> +<div id="quickview"><h3>Sujets</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#security">Considérations à propos de sécurité</a></li> +</ul><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#dtraceprivileges">DTracePrivileges</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#privilegesmode">PrivilegesMode</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#vhostcgimode">VHostCGIMode</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#vhostcgiprivs">VHostCGIPrivs</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#vhostgroup">VHostGroup</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#vhostprivs">VHostPrivs</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#vhostsecure">VHostSecure</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#vhostuser">VHostUser</a></li> +</ul> +<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_privileges">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_privileges">Signaler un bug</a></li></ul><h3>Voir aussi</h3> +<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="security" id="security">Considérations à propos de sécurité</a></h2> + +<p><code class="module"><a href="../mod/mod_privileges.html">mod_privileges</a></code> introduit de nouveaux problèmes de +sécurité dans les situations où du <strong>code non sûr</strong> peut +s'exécuter <strong>à l'intérieur du processus du serveur web</strong>. +Ceci s'applique aux modules non sûrs, et aux scripts s'exécutant sous +des modules comme mod_php ou mod_perl. Les scripts s'exécutant en +externe (comme par exemple les scripts CGI ou ceux s'exécutant sur un +serveur d'applications derrière mod_proxy ou mod_jk) ne sont pas +concernés.</p> + +<p>Les principaux problèmes de sécurité que l'on rencontre avec +mod_privileges sont :</p> + + +<ul><li>L'exécution sous un utilisateur système pose les mêmes problèmes +de sécurité que mod_suexec, et pratiquement les mêmes que cgiwrap et +suphp.</li> +<li>Une extension utilisateur (module ou script) malveillante, écrite en connaissant les mécanismes +utilisés par <strong>mod_privileges</strong>, +pourrait élever ses privilèges à tout niveau +accessible au processus httpd dans tout serveur virtuel. Ceci introduit +de nouveaux risques si (et seulement si) mod_privileges est compilé avec +l'option <var>BIG_SECURITY_HOLE</var>.</li> +<li>Une extension utilisateur (module ou script) malveillante, écrite en connaissant les mécanismes +utilisés par <strong>mod_privileges</strong>, +pourrait élever ses privilèges pour s'attribuer +l'identifiant utilisateur d'un autre utilisateur (et/ou groupe) +système.</li> +</ul> + +<p>La directive <code class="directive">PrivilegesMode</code> vous permet de +sélectionner soit le mode <var>FAST</var>, soit le mode +<var>SECURE</var>. Vous pouvez panacher les modes en utilisant par +exemple le mode <var>FAST</var> pour les utilisateurs de confiance et +les chemins contenant du code entièrement audité, tout en imposant le +mode <var>SECURE</var> où un utilisateur non sûr a la possibilité +d'introduire du code.</p> +<p>Avant de décrire les modes, il nous faut présenter les cas +d'utilisation de la cible : "Benign" ou "Hostile". Dans une situation +"Benign", vous voulez séparer les utilisateurs pour leur confort, et les +protéger, ainsi que le serveur, contre les risques induits par les +erreurs involontaires. Dans une situation "Hostile" - par exemple +l'hébergement d'un site commercial - il se peut que des utilisateurs +attaquent délibérément le serveur ou s'attaquent entre eux.</p> +<dl> +<dt>Mode FAST</dt> +<dd>En mode <var>FAST</var>, les requêtes sont traitées "in-process" +avec les uid/gid et privilèges sélectionnés, si bien que la +surcharge est négligeable. Ceci convient aux situations "Benign", mais +n'est pas sécurisé contre un attaquant augmentant ses privilèges avec un +module ou script "in-process".</dd> +<dt>Mode SECURE</dt> +<dd>Une requête en mode <var>SECURE</var> génère un sous-processus qui +supprime les privilèges. Ce comportement est très similaire à +l'exécution d'un programme CGI avec suexec, mais il reste valable tout +au long du cycle de traitement de la requête, avec en plus l'avantage +d'un contrôle précis des privilèges.</dd> +</dl> +<p>Vous pouvez sélectionner différents +<code class="directive">PrivilegesMode</code>s pour chaque serveur virtuel, et +même dans un contexte de répertoire à l'intérieur d'un serveur virtuel. +Le mode <var>FAST</var> convient lorsque les utilisateurs sont sûrs +et/ou n'ont pas le privilège de charger du code "in-process". Le mode +<var>SECURE</var> convient dans les cas où du code non sûr peut +s'exécuter "in-process". Cependant, même en mode <var>SECURE</var>, il +n'y a pas de protection contre un utilisateur malveillant qui a la +possibilité d'introduire du code supportant les privilèges <em>avant le +début du cycle de traitement de la requête.</em></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="dtraceprivileges" id="dtraceprivileges">Directive</a> <a name="DTracePrivileges" id="DTracePrivileges">DTracePrivileges</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Détermine si les privilèges requis par dtrace sont +activés.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>DTracePrivileges On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>DTracePrivileges Off</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_privileges</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>>Disponible sous Solaris 10 et OpenSolaris avec les +modules MPM non-threadés (<code class="module"><a href="../mod/prefork.html">prefork</a></code> ou MPM +personnalisé).</td></tr> +</table> + <p>Cette directive qui s'applique à l'ensemble du serveur permet de + déterminer si Apache s'exécutera avec les <a href="http://sosc-dr.sun.com/bigadmin/features/articles/least_privilege.jsp">privilèges</a> requis pour exécuter <a href="http://sosc-dr.sun.com/bigadmin/content/dtrace/">dtrace</a>. + Notez que la définition <var>DTracePrivileges On</var> n'activera + pas à elle-seule DTrace, mais que <var>DTracePrivileges Off</var> + l'empêchera de fonctionner.</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="privilegesmode" id="privilegesmode">Directive</a> <a name="PrivilegesMode" id="PrivilegesMode">PrivilegesMode</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Fait un compromis entre d'une part l'efficacité et la +vitesse de traitement et d'autre part la sécurité à l'encontre des codes +malicieux supportant les privilèges.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>PrivilegesMode FAST|SECURE|SELECTIVE</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>PrivilegesMode FAST</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire</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_privileges</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible sous Solaris 10 et OpenSolaris avec des +modules MPMs non threadés (comme <code class="module"><a href="../mod/prefork.html">prefork</a></code> ou un module +personnalisé).</td></tr> +</table><p>Cette directive permet de faire un compromis entre les +performances et la sécurité à l'encontre des codes malicieux supportant +les privilèges. En mode <var>SECURE</var>, chaque requête est traitée +dans un sous-processus sécurisé, ce qui induit une dégradation sensible +des performances. En mode <var>FAST</var>, le serveur n'est pas protégé +contre l'augmentation de privilège comme décrit plus haut.</p> +<p>Cette directive est sensiblement différente selon qu'elle se trouve +dans une section <code><Directory></code> (ou Location/Files/If) +ou au niveau global ou dans un <code><VirtualHost></code>.</p> +<p>Au niveau global, elle définit un comportement par défaut dont +hériteront les serveurs virtuels. Dans un serveur virtuel, les modes +FAST ou SECURE agissent sur l'ensemble de la requête HTTP, et toute +définition de ces modes dans une section <code><Directory></code> +sera <strong>ignorée</strong>. Le pseudo-mode SELECTIVE confie le choix +du mode FAST ou SECURE aux directives contenues dans une +section<code><Directory></code>.</p> +<p>Dans une section <code><Directory></code>, elle ne s'applique +que lorsque le mode SELECTIVE a été défini pour le serveur virtuel. +Seuls FAST ou SECURE peuvent être définis dans ce contexte (SELECTIVE +n'aurait pas de sens).</p> +<div class="warning"><h3>Avertissement</h3> + Lorsque le mode SELECTIVE a été défini pour un serveur virtuel, + l'activation des privilèges doit être reportée <em>après</em> + la détermination, par la phase de comparaison du traitement de + la requête, du contexte <code><Directory></code> qui + s'applique à la requête. Ceci peut donner à un attaquant + l'opportunité d'introduire du code via une directive <code class="directive"><a href="../mod/mod_rewrite.html#rewritemap">RewriteMap</a></code> s'exécutant au + niveau global ou d'un serveur virtuel <em>avant</em> que les + privilèges n'aient été supprimés et l'uid/gid défini. +</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="vhostcgimode" id="vhostcgimode">Directive</a> <a name="VHostCGIMode" id="VHostCGIMode">VHostCGIMode</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Détermine si le serveur virtuel peut exécuter des +sous-processus, et définit les privilèges disponibles pour ces +dernier.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>VHostCGIMode On|Off|Secure</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>VHostCGIMode On</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>serveur virtuel</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_privileges</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible sous Solaris 10 et OpenSolaris avec les +modules MPM non-threadés (<code class="module"><a href="../mod/prefork.html">prefork</a></code> ou MPM +personnalisé).</td></tr> +</table> + <p>Détermine si le serveur virtuel est autorisé à exécuter fork et + exec, et définit les <a href="http://sosc-dr.sun.com/bigadmin/features/articles/least_privilege.jsp">privilèges</a> requis pour exécuter des sous-processus. Si cette + directive est définie à <var>Off</var> le serveur virtuel ne + disposera d'aucun privilège et ne pourra exécuter ni des programmes + ou scripts CGI classiques via le module traditionnel + <code class="module"><a href="../mod/mod_cgi.html">mod_cgi</a></code>, ni des programmes externes similaires tels + que ceux créés via le module <code class="module"><a href="../mod/mod_ext_filter.html">mod_ext_filter</a></code> ou les + programmes de réécriture externes utilisés par la directive + <code class="directive"><a href="../mod/mod_rewrite.html#rewritemap">RewriteMap</a></code>. Notez que + ceci n'empêche pas l'exécution de programmes CGI via d'autres + processus et sous d'autres modèles de sécurité comme <a href="https://httpd.apache.org/mod_fcgid/">mod_fcgid</a>, ce qui est la + solution recommandée sous Solaris.</p> + <p>Si cette directive est définie à <var>On</var> ou + <var>Secure</var>, le serveur virtuel pourra exécuter les scripts et + programmes externes cités ci-dessus. Définir la directive + <code class="directive">VHostCGIMode</code> à <var>Secure</var> a pour effet + supplémentaire de n'accorder aucun privilège aux sous-processus, + comme décrit dans la directive + <code class="directive">VHostSecure</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="vhostcgiprivs" id="vhostcgiprivs">Directive</a> <a name="VHostCGIPrivs" id="VHostCGIPrivs">VHostCGIPrivs</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Assigne des privilèges au choix aux sous-processus créés +par un serveur virtuel.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>VHostPrivs [+-]?<var>nom-privilège</var> [[+-]?nom-privilège] ...</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>Aucun</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>serveur virtuel</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_privileges</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible sous Solaris 10 et OpenSolaris avec les +modules MPM non-threadés (<code class="module"><a href="../mod/prefork.html">prefork</a></code> ou MPM +personnalisé) et lorsque <code class="module"><a href="../mod/mod_privileges.html">mod_privileges</a></code> est construit +avec l'option de compilation +<var>BIG_SECURITY_HOLE</var>.</td></tr> +</table> + <p>La directive <code class="directive">VHostCGIPrivs</code> permet + d'assigner des <a href="http://sosc-dr.sun.com/bigadmin/features/articles/least_privilege.jsp">privilèges</a> au choix aux sous-processus créés par un serveur + virtuel, comme décrit dans la directive + <code class="directive">VHostCGIMode</code>. Chaque + <var>nom-privilège</var> correspond à un privilège Solaris tel que + <var>file_setid</var> ou <var>sys_nfs</var>.</p> + + <p><var>nom-privilège</var> peut être éventuellement préfixé par + + ou -, ce qui va respectivement accorder ou refuser le privilège. Si + <var>nom-privilège</var> est spécifié sans + ni -, tous les autres + privilèges préalablement assignés au serveur virtuel seront refusés. + Cette directive permet de construire aisément votre propre jeu de + privilèges en annulant tout réglage par défaut.</p> + + <div class="warning"><h3>Sécurité</h3> + <p>L'utilisation de cette directive peut ouvrir d'immenses trous de + sécurité dans les sous-processus Apache, jusqu'à leur exécution avec les + droits de root. Ne l'utilisez que si vous êtes absolument sûr de + comprendre ce que vous faites !</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="vhostgroup" id="vhostgroup">Directive</a> <a name="VHostGroup" id="VHostGroup">VHostGroup</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit l'identifiant du groupe sous lequel s'exécute un +serveur virtuel.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>VHostGroup <var>identifiant-groupe-unix</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>Hérite de l'identifiant du groupe spécifié par la directive +<code class="directive"><a href="../mod/mod_unixd.html#group">Group</a></code></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>serveur virtuel</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_privileges</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible sous Solaris 10 et OpenSolaris avec les +modules MPM non-threadés (<code class="module"><a href="../mod/prefork.html">prefork</a></code> ou MPM +personnalisé).</td></tr> +</table> + <p>La directive <code class="directive">VHostGroup</code> permet de définir + l'identifiant du groupe unix sous lequel le serveur va traiter les + requêtes par l'intermédiaire d'un serveur virtuel. L'identifiant + du groupe est défini avant le traitement de la requête, puis + restauré à sa valeur de départ via les <a href="http://sosc-dr.sun.com/bigadmin/features/articles/least_privilege.jsp">Privilèges + Solaris</a>. Comme la définition + s'applique au <em>processus</em>, cette directive est incompatible + avec les modules MPM threadés.</p> + <p><var>Unix-group</var> peut être :</p> + <dl> + <dt>Un nom de groupe</dt> + <dd>Fait référence au groupe donné par son nom.</dd> + + <dt><code>#</code> suivi d'un numéro de groupe.</dt> + <dd>Fait référence au groupe donné par son numéro.</dd> + </dl> + + <div class="warning"><h3>Sécurité</h3> + <p>Cette directive ne peut pas être utilisée pour exécuter Apache en + tant que root ! Elle est tout de même susceptible de poser des + problèmes de sécurité similaires à ceux décrits dans la + documentation de <a href="../suexec.html">suexec</a>.</p></div> + +<h3>Voir aussi</h3> +<ul> +<li><code class="directive"><a href="../mod/mod_unixd.html#group">Group</a></code></li> +<li><code class="directive"><a href="../mod/mod_suexec.html#suexecusergroup">SuexecUserGroup</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="vhostprivs" id="vhostprivs">Directive</a> <a name="VHostPrivs" id="VHostPrivs">VHostPrivs</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Assigne des privilèges à un serveur virtuel.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>VHostPrivs [+-]?<var>nom-privilège</var> [[+-]?nom-privilège] ...</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>Aucun</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>serveur virtuel</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_privileges</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible sous Solaris 10 et OpenSolaris avec les +modules MPM non-threadés (<code class="module"><a href="../mod/prefork.html">prefork</a></code> ou MPM +personnalisé) et lorsque <code class="module"><a href="../mod/mod_privileges.html">mod_privileges</a></code> est construit +avec l'option de compilation +<var>BIG_SECURITY_HOLE</var>.</td></tr> +</table> + <p>La directive <code class="directive">VHostPrivs</code> permet d'assigner + des <a href="http://sosc-dr.sun.com/bigadmin/features/articles/least_privilege.jsp">privilèges</a> au choix à un serveur virtuel. Chaque + <var>nom-privilège</var> correspond à un privilège Solaris tel que + <var>file_setid</var> ou <var>sys_nfs</var>.</p> + + <p><var>nom-privilège</var> peut être éventuellement préfixé par + + ou -, ce qui va respectivement accorder ou refuser le privilège. Si + <var>nom-privilège</var> est spécifié sans + ni -, tous les autres + privilèges préalablement assignés au serveur virtuel seront refusés. + Cette directive permet de construire aisément votre propre jeu de + privilèges en annulant tout réglage par défaut.</p> + + <div class="warning"><h3>Sécurité</h3> + <p>L'utilisation de cette directive peut ouvrir d'immenses trous de + sécurité dans Apache, jusqu'au traitement de requêtes avec les + droits de root. Ne l'utilisez que si vous êtes absolument sûr de + comprendre ce que vous faites !</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="vhostsecure" id="vhostsecure">Directive</a> <a name="VHostSecure" id="VHostSecure">VHostSecure</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Détermine si le serveur s'exécute avec une sécurité avancée +pour les serveurs virtuels.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>VHostSecure On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>VHostSecure On</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>serveur virtuel</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_privileges</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible sous Solaris 10 et OpenSolaris avec les +modules MPM non-threadés (<code class="module"><a href="../mod/prefork.html">prefork</a></code> ou MPM +personnalisé).</td></tr> +</table> + <p>Détermine si les serveurs virtuels traitent les requêtes avec une + sécurité avancée en supprimant les <a href="http://sosc-dr.sun.com/bigadmin/features/articles/least_privilege.jsp">Privilèges</a> rarement requis par un serveur web, mais disponibles + par défaut pour un utilisateur Unix standard, et donc susceptibles + d'être demandés par des modules et des applications. Il est + recommandé de conserver la définition par défaut (On), sauf si elle + empêche une application de fonctionner. Comme la définition + s'applique au <em>processus</em>, cette directive est incompatible + avec les modules MPM threadés.</p> + <div class="note"><h3>Note</h3> + <p>Le fait que la directive <code class="directive">VHostSecure</code> + empêche une application de fonctionner peut constituer un signal + d'avertissement indiquant que la sécurité de l'application doit être + revue.</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="vhostuser" id="vhostuser">Directive</a> <a name="VHostUser" id="VHostUser">VHostUser</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit l'identifiant utilisateur sous lequel s'exécute un +serveur virtuel.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>VHostUser <var>identifiant-utilisateur-unix</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>Hérite de l'identifiant utilisateur spécifié par la directive +<code class="directive"><a href="../mod/mod_unixd.html#user">User</a></code></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>serveur virtuel</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_privileges</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible sous Solaris 10 et OpenSolaris avec les +modules MPM non-threadés (<code class="module"><a href="../mod/prefork.html">prefork</a></code> ou MPM +personnalisé).</td></tr> +</table> + <p>La directive <code class="directive">VHostUser</code> permet de définir + l'identifiant utilisateur unix sous lequel le serveur va traiter les + requêtes par l'intermédiaire d'un serveur virtuel. L'identifiant + utilisateur est défini avant le traitement de la requête, puis + restauré à sa valeur de départ via les <a href="http://sosc-dr.sun.com/bigadmin/features/articles/least_privilege.jsp">Privilèges + Solaris</a>. Comme la définition + s'applique au <em>processus</em>, cette directive est incompatible + avec les modules MPM threadés.</p> + <p><var>identifiant-utilisateur-unix</var> peut être :</p> + <dl> + <dt>Un nom d'utilisateur</dt> + <dd>Fait référence à l'utilisateur donné par son nom.</dd> + + <dt><code>#</code> suivi d'un numéro d'utilisateur.</dt> + <dd>Fait référence à l'utilisateur donné par son numéro.</dd> + </dl> + + <div class="warning"><h3>Sécurité</h3> + <p>Cette directive ne peut pas être utilisée pour exécuter Apache en + tant que root ! Elle est tout de même susceptible de poser des + problèmes de sécurité similaires à ceux décrits dans la + documentation de <a href="../suexec.html">suexec</a>.</p></div> + +<h3>Voir aussi</h3> +<ul> +<li><code class="directive"><a href="../mod/mod_unixd.html#user">User</a></code></li> +<li><code class="directive"><a href="../mod/mod_suexec.html#suexecusergroup">SuexecUserGroup</a></code></li> +</ul> +</div> +</div> +<div class="bottomlang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_privileges.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_privileges.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/trunk/mod/mod_privileges.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 2017 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_privileges.xml.fr b/docs/manual/mod/mod_privileges.xml.fr new file mode 100644 index 0000000000..2a19cae6ad --- /dev/null +++ b/docs/manual/mod/mod_privileges.xml.fr @@ -0,0 +1,437 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd"> +<?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?> +<!-- English Revision: 1739102 --> +<!-- 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_privileges.xml.meta"> + +<name>mod_privileges</name> +<description>Support des privilèges de Solaris et de l'exécution des +serveurs virtuels sous différents identifiants +utilisateurs.</description> +<status>Experimental</status> +<sourcefile>mod_privileges.c</sourcefile> +<identifier>privileges_module</identifier> +<compatibility>Disponible depuis la version 2.3 d'Apache sur les +plates-formes Solaris 10 et OpenSolaris</compatibility> + +<summary> +<p>Ce module permet l'exécution de différents serveurs virtuels sous +différents identifiants Unix <var>User</var> et <var>Group</var>, +et avec différents <a +href="http://sosc-dr.sun.com/bigadmin/features/articles/least_privilege.jsp">Privilèges +Solaris</a>. En particulier, il apporte au problème de +séparation des privilèges entre les différents serveurs virtuels la +solution que devait apporter le module MPM abandonné perchild. Il +apporte aussi d'autres améliorations en matière de sécurité.</p> + +<p>À la différence de perchild, <module>mod_privileges</module> n'est +pas un module MPM. Il travaille <em>au sein</em> d'un modèle de +traitement pour définir les privilèges et les User/Group <em>pour chaque +requête</em> dans un même processus. Il n'est donc pas compatible avec +les MPM threadés, et refusera de s'exécuter en cas d'utilisation d'un de +ces derniers.</p> + +<p><module>mod_privileges</module> traite des problèmes de sécurité +similaires à ceux de <a href="../suexec.html">suexec</a> ; mais à la +différence de ce dernier, il ne s'applique pas seulement aux programmes +CGI, mais à l'ensemble du cycle de traitement d'une requête, y compris +les applications in-process et les sous-processus. Il convient +particulièrement à l'exécution des applications PHP sous +<strong>mod_php</strong>, qui est lui-même incompatible avec les modules +MPM threadés. Il est également bien adapté aux autres applications de type +script in-process comme <strong>mod_perl</strong>, +<strong>mod_python</strong>, et <strong>mod_ruby</strong>, ainsi qu'aux +applications en langage C telles que les modules Apache pour lesquels la +séparation des privilèges constitue un problème.</p> + +</summary> + +<section id="security"><title>Considérations à propos de sécurité</title> + +<p><module>mod_privileges</module> introduit de nouveaux problèmes de +sécurité dans les situations où du <strong>code non sûr</strong> peut +s'exécuter <strong>à l'intérieur du processus du serveur web</strong>. +Ceci s'applique aux modules non sûrs, et aux scripts s'exécutant sous +des modules comme mod_php ou mod_perl. Les scripts s'exécutant en +externe (comme par exemple les scripts CGI ou ceux s'exécutant sur un +serveur d'applications derrière mod_proxy ou mod_jk) ne sont pas +concernés.</p> + +<p>Les principaux problèmes de sécurité que l'on rencontre avec +mod_privileges sont :</p> + + +<ul><li>L'exécution sous un utilisateur système pose les mêmes problèmes +de sécurité que mod_suexec, et pratiquement les mêmes que cgiwrap et +suphp.</li> +<li>Une extension utilisateur (module ou script) malveillante, écrite en connaissant les mécanismes +utilisés par <strong>mod_privileges</strong>, +pourrait élever ses privilèges à tout niveau +accessible au processus httpd dans tout serveur virtuel. Ceci introduit +de nouveaux risques si (et seulement si) mod_privileges est compilé avec +l'option <var>BIG_SECURITY_HOLE</var>.</li> +<li>Une extension utilisateur (module ou script) malveillante, écrite en connaissant les mécanismes +utilisés par <strong>mod_privileges</strong>, +pourrait élever ses privilèges pour s'attribuer +l'identifiant utilisateur d'un autre utilisateur (et/ou groupe) +système.</li> +</ul> + +<p>La directive <directive>PrivilegesMode</directive> vous permet de +sélectionner soit le mode <var>FAST</var>, soit le mode +<var>SECURE</var>. Vous pouvez panacher les modes en utilisant par +exemple le mode <var>FAST</var> pour les utilisateurs de confiance et +les chemins contenant du code entièrement audité, tout en imposant le +mode <var>SECURE</var> où un utilisateur non sûr a la possibilité +d'introduire du code.</p> +<p>Avant de décrire les modes, il nous faut présenter les cas +d'utilisation de la cible : "Benign" ou "Hostile". Dans une situation +"Benign", vous voulez séparer les utilisateurs pour leur confort, et les +protéger, ainsi que le serveur, contre les risques induits par les +erreurs involontaires. Dans une situation "Hostile" - par exemple +l'hébergement d'un site commercial - il se peut que des utilisateurs +attaquent délibérément le serveur ou s'attaquent entre eux.</p> +<dl> +<dt>Mode FAST</dt> +<dd>En mode <var>FAST</var>, les requêtes sont traitées "in-process" +avec les uid/gid et privilèges sélectionnés, si bien que la +surcharge est négligeable. Ceci convient aux situations "Benign", mais +n'est pas sécurisé contre un attaquant augmentant ses privilèges avec un +module ou script "in-process".</dd> +<dt>Mode SECURE</dt> +<dd>Une requête en mode <var>SECURE</var> génère un sous-processus qui +supprime les privilèges. Ce comportement est très similaire à +l'exécution d'un programme CGI avec suexec, mais il reste valable tout +au long du cycle de traitement de la requête, avec en plus l'avantage +d'un contrôle précis des privilèges.</dd> +</dl> +<p>Vous pouvez sélectionner différents +<directive>PrivilegesMode</directive>s pour chaque serveur virtuel, et +même dans un contexte de répertoire à l'intérieur d'un serveur virtuel. +Le mode <var>FAST</var> convient lorsque les utilisateurs sont sûrs +et/ou n'ont pas le privilège de charger du code "in-process". Le mode +<var>SECURE</var> convient dans les cas où du code non sûr peut +s'exécuter "in-process". Cependant, même en mode <var>SECURE</var>, il +n'y a pas de protection contre un utilisateur malveillant qui a la +possibilité d'introduire du code supportant les privilèges <em>avant le +début du cycle de traitement de la requête.</em></p> + +</section> +<directivesynopsis> +<name>PrivilegesMode</name> +<description>Fait un compromis entre d'une part l'efficacité et la +vitesse de traitement et d'autre part la sécurité à l'encontre des codes +malicieux supportant les privilèges.</description> +<syntax>PrivilegesMode FAST|SECURE|SELECTIVE</syntax> +<default>PrivilegesMode FAST</default> +<contextlist> + <context>server config</context> + <context>virtual host</context> + <context>directory</context> +</contextlist> +<compatibility>Disponible sous Solaris 10 et OpenSolaris avec des +modules MPMs non threadés (comme <module>prefork</module> ou un module +personnalisé).</compatibility> +<usage><p>Cette directive permet de faire un compromis entre les +performances et la sécurité à l'encontre des codes malicieux supportant +les privilèges. En mode <var>SECURE</var>, chaque requête est traitée +dans un sous-processus sécurisé, ce qui induit une dégradation sensible +des performances. En mode <var>FAST</var>, le serveur n'est pas protégé +contre l'augmentation de privilège comme décrit plus haut.</p> +<p>Cette directive est sensiblement différente selon qu'elle se trouve +dans une section <code><Directory></code> (ou Location/Files/If) +ou au niveau global ou dans un <code><VirtualHost></code>.</p> +<p>Au niveau global, elle définit un comportement par défaut dont +hériteront les serveurs virtuels. Dans un serveur virtuel, les modes +FAST ou SECURE agissent sur l'ensemble de la requête HTTP, et toute +définition de ces modes dans une section <code><Directory></code> +sera <strong>ignorée</strong>. Le pseudo-mode SELECTIVE confie le choix +du mode FAST ou SECURE aux directives contenues dans une +section<code><Directory></code>.</p> +<p>Dans une section <code><Directory></code>, elle ne s'applique +que lorsque le mode SELECTIVE a été défini pour le serveur virtuel. +Seuls FAST ou SECURE peuvent être définis dans ce contexte (SELECTIVE +n'aurait pas de sens).</p> +<note type="warning"><title>Avertissement</title> + Lorsque le mode SELECTIVE a été défini pour un serveur virtuel, + l'activation des privilèges doit être reportée <em>après</em> + la détermination, par la phase de comparaison du traitement de + la requête, du contexte <code><Directory></code> qui + s'applique à la requête. Ceci peut donner à un attaquant + l'opportunité d'introduire du code via une directive <directive + module="mod_rewrite">RewriteMap</directive> s'exécutant au + niveau global ou d'un serveur virtuel <em>avant</em> que les + privilèges n'aient été supprimés et l'uid/gid défini. +</note> +</usage> +</directivesynopsis> + +<directivesynopsis> +<name>VHostUser</name> +<description>Définit l'identifiant utilisateur sous lequel s'exécute un +serveur virtuel.</description> +<syntax>VHostUser <var>identifiant-utilisateur-unix</var></syntax> +<default>Hérite de l'identifiant utilisateur spécifié par la directive +<directive module="mod_unixd">User</directive></default> +<contextlist><context>virtual host</context></contextlist> +<compatibility>Disponible sous Solaris 10 et OpenSolaris avec les +modules MPM non-threadés (<module>prefork</module> ou MPM +personnalisé).</compatibility> + +<usage> + <p>La directive <directive>VHostUser</directive> permet de définir + l'identifiant utilisateur unix sous lequel le serveur va traiter les + requêtes par l'intermédiaire d'un serveur virtuel. L'identifiant + utilisateur est défini avant le traitement de la requête, puis + restauré à sa valeur de départ via les <a + href="http://sosc-dr.sun.com/bigadmin/features/articles/least_privilege.jsp">Privilèges + Solaris</a>. Comme la définition + s'applique au <em>processus</em>, cette directive est incompatible + avec les modules MPM threadés.</p> + <p><var>identifiant-utilisateur-unix</var> peut être :</p> + <dl> + <dt>Un nom d'utilisateur</dt> + <dd>Fait référence à l'utilisateur donné par son nom.</dd> + + <dt><code>#</code> suivi d'un numéro d'utilisateur.</dt> + <dd>Fait référence à l'utilisateur donné par son numéro.</dd> + </dl> + + <note type="warning"><title>Sécurité</title> + <p>Cette directive ne peut pas être utilisée pour exécuter Apache en + tant que root ! Elle est tout de même susceptible de poser des + problèmes de sécurité similaires à ceux décrits dans la + documentation de <a href="../suexec.html">suexec</a>.</p></note> +</usage> +<seealso><directive module="mod_unixd">User</directive></seealso> +<seealso><directive module="mod_suexec">SuexecUserGroup</directive></seealso> +</directivesynopsis> + +<directivesynopsis> +<name>VHostGroup</name> +<description>Définit l'identifiant du groupe sous lequel s'exécute un +serveur virtuel.</description> +<syntax>VHostGroup <var>identifiant-groupe-unix</var></syntax> +<default>Hérite de l'identifiant du groupe spécifié par la directive +<directive module="mod_unixd">Group</directive></default> +<contextlist><context>virtual host</context></contextlist> +<compatibility>Disponible sous Solaris 10 et OpenSolaris avec les +modules MPM non-threadés (<module>prefork</module> ou MPM +personnalisé).</compatibility> + +<usage> + <p>La directive <directive>VHostGroup</directive> permet de définir + l'identifiant du groupe unix sous lequel le serveur va traiter les + requêtes par l'intermédiaire d'un serveur virtuel. L'identifiant + du groupe est défini avant le traitement de la requête, puis + restauré à sa valeur de départ via les <a + href="http://sosc-dr.sun.com/bigadmin/features/articles/least_privilege.jsp">Privilèges + Solaris</a>. Comme la définition + s'applique au <em>processus</em>, cette directive est incompatible + avec les modules MPM threadés.</p> + <p><var>Unix-group</var> peut être :</p> + <dl> + <dt>Un nom de groupe</dt> + <dd>Fait référence au groupe donné par son nom.</dd> + + <dt><code>#</code> suivi d'un numéro de groupe.</dt> + <dd>Fait référence au groupe donné par son numéro.</dd> + </dl> + + <note type="warning"><title>Sécurité</title> + <p>Cette directive ne peut pas être utilisée pour exécuter Apache en + tant que root ! Elle est tout de même susceptible de poser des + problèmes de sécurité similaires à ceux décrits dans la + documentation de <a href="../suexec.html">suexec</a>.</p></note> +</usage> +<seealso><directive module="mod_unixd">Group</directive></seealso> +<seealso><directive module="mod_suexec">SuexecUserGroup</directive></seealso> +</directivesynopsis> + +<directivesynopsis> +<name>VHostSecure</name> +<description>Détermine si le serveur s'exécute avec une sécurité avancée +pour les serveurs virtuels.</description> +<syntax>VHostSecure On|Off</syntax> +<default>VHostSecure On</default> +<contextlist><context>virtual host</context></contextlist> +<compatibility>Disponible sous Solaris 10 et OpenSolaris avec les +modules MPM non-threadés (<module>prefork</module> ou MPM +personnalisé).</compatibility> + +<usage> + <p>Détermine si les serveurs virtuels traitent les requêtes avec une + sécurité avancée en supprimant les <a + href="http://sosc-dr.sun.com/bigadmin/features/articles/least_privilege.jsp" + >Privilèges</a> rarement requis par un serveur web, mais disponibles + par défaut pour un utilisateur Unix standard, et donc susceptibles + d'être demandés par des modules et des applications. Il est + recommandé de conserver la définition par défaut (On), sauf si elle + empêche une application de fonctionner. Comme la définition + s'applique au <em>processus</em>, cette directive est incompatible + avec les modules MPM threadés.</p> + <note><title>Note</title> + <p>Le fait que la directive <directive>VHostSecure</directive> + empêche une application de fonctionner peut constituer un signal + d'avertissement indiquant que la sécurité de l'application doit être + revue.</p></note> +</usage> +</directivesynopsis> + +<directivesynopsis> +<name>VHostCGIMode</name> +<description>Détermine si le serveur virtuel peut exécuter des +sous-processus, et définit les privilèges disponibles pour ces +dernier.</description> +<syntax>VHostCGIMode On|Off|Secure</syntax> +<default>VHostCGIMode On</default> +<contextlist><context>virtual host</context></contextlist> +<compatibility>Disponible sous Solaris 10 et OpenSolaris avec les +modules MPM non-threadés (<module>prefork</module> ou MPM +personnalisé).</compatibility> + +<usage> + <p>Détermine si le serveur virtuel est autorisé à exécuter fork et + exec, et définit les <a + href="http://sosc-dr.sun.com/bigadmin/features/articles/least_privilege.jsp" + >privilèges</a> requis pour exécuter des sous-processus. Si cette + directive est définie à <var>Off</var> le serveur virtuel ne + disposera d'aucun privilège et ne pourra exécuter ni des programmes + ou scripts CGI classiques via le module traditionnel + <module>mod_cgi</module>, ni des programmes externes similaires tels + que ceux créés via le module <module>mod_ext_filter</module> ou les + programmes de réécriture externes utilisés par la directive + <directive module="mod_rewrite">RewriteMap</directive>. Notez que + ceci n'empêche pas l'exécution de programmes CGI via d'autres + processus et sous d'autres modèles de sécurité comme <a + href="https://httpd.apache.org/mod_fcgid/">mod_fcgid</a>, ce qui est la + solution recommandée sous Solaris.</p> + <p>Si cette directive est définie à <var>On</var> ou + <var>Secure</var>, le serveur virtuel pourra exécuter les scripts et + programmes externes cités ci-dessus. Définir la directive + <directive>VHostCGIMode</directive> à <var>Secure</var> a pour effet + supplémentaire de n'accorder aucun privilège aux sous-processus, + comme décrit dans la directive + <directive>VHostSecure</directive>.</p> +</usage> +</directivesynopsis> + +<directivesynopsis> +<name>DTracePrivileges</name> +<description>Détermine si les privilèges requis par dtrace sont +activés.</description> +<syntax>DTracePrivileges On|Off</syntax> +<default>DTracePrivileges Off</default> +<contextlist><context>server config</context></contextlist> +<compatibility>>Disponible sous Solaris 10 et OpenSolaris avec les +modules MPM non-threadés (<module>prefork</module> ou MPM +personnalisé).</compatibility> + +<usage> + <p>Cette directive qui s'applique à l'ensemble du serveur permet de + déterminer si Apache s'exécutera avec les <a + href="http://sosc-dr.sun.com/bigadmin/features/articles/least_privilege.jsp" + >privilèges</a> requis pour exécuter <a + href="http://sosc-dr.sun.com/bigadmin/content/dtrace/">dtrace</a>. + Notez que la définition <var>DTracePrivileges On</var> n'activera + pas à elle-seule DTrace, mais que <var>DTracePrivileges Off</var> + l'empêchera de fonctionner.</p> +</usage> +</directivesynopsis> + +<directivesynopsis> +<name>VHostPrivs</name> +<description>Assigne des privilèges à un serveur virtuel.</description> +<syntax>VHostPrivs [+-]?<var>nom-privilège</var> [[+-]?nom-privilège] ...</syntax> +<default>Aucun</default> +<contextlist><context>virtual host</context></contextlist> +<compatibility>Disponible sous Solaris 10 et OpenSolaris avec les +modules MPM non-threadés (<module>prefork</module> ou MPM +personnalisé) et lorsque <module>mod_privileges</module> est construit +avec l'option de compilation +<var>BIG_SECURITY_HOLE</var>.</compatibility> + +<usage> + <p>La directive <directive>VHostPrivs</directive> permet d'assigner + des <a + href="http://sosc-dr.sun.com/bigadmin/features/articles/least_privilege.jsp" + >privilèges</a> au choix à un serveur virtuel. Chaque + <var>nom-privilège</var> correspond à un privilège Solaris tel que + <var>file_setid</var> ou <var>sys_nfs</var>.</p> + + <p><var>nom-privilège</var> peut être éventuellement préfixé par + + ou -, ce qui va respectivement accorder ou refuser le privilège. Si + <var>nom-privilège</var> est spécifié sans + ni -, tous les autres + privilèges préalablement assignés au serveur virtuel seront refusés. + Cette directive permet de construire aisément votre propre jeu de + privilèges en annulant tout réglage par défaut.</p> + + <note type="warning"><title>Sécurité</title> + <p>L'utilisation de cette directive peut ouvrir d'immenses trous de + sécurité dans Apache, jusqu'au traitement de requêtes avec les + droits de root. Ne l'utilisez que si vous êtes absolument sûr de + comprendre ce que vous faites !</p></note> +</usage> +</directivesynopsis> + +<directivesynopsis> +<name>VHostCGIPrivs</name> +<description>Assigne des privilèges au choix aux sous-processus créés +par un serveur virtuel.</description> +<syntax>VHostPrivs [+-]?<var>nom-privilège</var> [[+-]?nom-privilège] ...</syntax> +<default>Aucun</default> +<contextlist><context>virtual host</context></contextlist> +<compatibility>Disponible sous Solaris 10 et OpenSolaris avec les +modules MPM non-threadés (<module>prefork</module> ou MPM +personnalisé) et lorsque <module>mod_privileges</module> est construit +avec l'option de compilation +<var>BIG_SECURITY_HOLE</var>.</compatibility> + +<usage> + <p>La directive <directive>VHostCGIPrivs</directive> permet + d'assigner des <a + href="http://sosc-dr.sun.com/bigadmin/features/articles/least_privilege.jsp" + >privilèges</a> au choix aux sous-processus créés par un serveur + virtuel, comme décrit dans la directive + <directive>VHostCGIMode</directive>. Chaque + <var>nom-privilège</var> correspond à un privilège Solaris tel que + <var>file_setid</var> ou <var>sys_nfs</var>.</p> + + <p><var>nom-privilège</var> peut être éventuellement préfixé par + + ou -, ce qui va respectivement accorder ou refuser le privilège. Si + <var>nom-privilège</var> est spécifié sans + ni -, tous les autres + privilèges préalablement assignés au serveur virtuel seront refusés. + Cette directive permet de construire aisément votre propre jeu de + privilèges en annulant tout réglage par défaut.</p> + + <note type="warning"><title>Sécurité</title> + <p>L'utilisation de cette directive peut ouvrir d'immenses trous de + sécurité dans les sous-processus Apache, jusqu'à leur exécution avec les + droits de root. Ne l'utilisez que si vous êtes absolument sûr de + comprendre ce que vous faites !</p></note> +</usage> +</directivesynopsis> + + + +</modulesynopsis> diff --git a/docs/manual/mod/mod_privileges.xml.meta b/docs/manual/mod/mod_privileges.xml.meta index 334dc46d7b..40b28fd41a 100644 --- a/docs/manual/mod/mod_privileges.xml.meta +++ b/docs/manual/mod/mod_privileges.xml.meta @@ -8,5 +8,6 @@ <variants> <variant>en</variant> + <variant>fr</variant> </variants> </metafile> diff --git a/docs/manual/mod/mod_proxy_ajp.html b/docs/manual/mod/mod_proxy_ajp.html index 676c871467..2cebf6f27a 100644 --- a/docs/manual/mod/mod_proxy_ajp.html +++ b/docs/manual/mod/mod_proxy_ajp.html @@ -4,6 +4,10 @@ URI: mod_proxy_ajp.html.en Content-Language: en Content-type: text/html; charset=ISO-8859-1 +URI: mod_proxy_ajp.html.fr +Content-Language: fr +Content-type: text/html; charset=ISO-8859-1 + URI: mod_proxy_ajp.html.ja.utf8 Content-Language: ja Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_proxy_ajp.html.fr b/docs/manual/mod/mod_proxy_ajp.html.fr new file mode 100644 index 0000000000..a75332b922 --- /dev/null +++ b/docs/manual/mod/mod_proxy_ajp.html.fr @@ -0,0 +1,676 @@ +<?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> +<meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_proxy_ajp - Serveur Apache HTTP Version 2.5</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.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p> +<p class="apache">Serveur Apache HTTP Version 2.5</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.5</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Module Apache mod_proxy_ajp</h1> +<div class="toplang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_proxy_ajp.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_proxy_ajp.html" title="Français"> fr </a> | +<a href="../ja/mod/mod_proxy_ajp.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>Module de support AJP pour +<code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></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>proxy_ajp_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_proxy_ajp.c</td></tr></table> +<h3>Sommaire</h3> + + <p>Ce module nécessite le chargement de <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code>. Il fournit le support du <code>Protocole Apache + JServ version 1.3</code> (nommé dans la suite de ce document + <em>AJP13</em>).</p> + + <p>Pour être en mesure d'exploiter le protocole <code>AJP13</code>, + il est donc nécessaire de charger les modules + <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> et <code class="module"><a href="../mod/mod_proxy_ajp.html">mod_proxy_ajp</a></code>.</p> + + <div class="warning"><h3>Avertissement</h3> + <p>N'activez pas la fonctionnalité de mandataire avant d'avoir <a href="mod_proxy.html#access">sécurisé votre serveur</a>. Les + serveurs mandataires ouverts sont dangereux non seulement pour + votre réseau, mais aussi pour l'Internet au sens large. </p> + </div> +</div> +<div id="quickview"><h3>Sujets</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#usage">Utilisation</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#env">Variables d'environnement</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#overviewprotocol">Vue d'ensemble du protocole</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#basppacketstruct">Structure de base des paquets</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#rpacetstruct">Structure des paquets de +requête</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#resppacketstruct">Structure du paquet de la +réponse</a></li> +</ul><h3 class="directives">Directives</h3> +<p>Ce module ne fournit aucune directive.</p> +<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_proxy_ajp">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_proxy_ajp">Signaler un bug</a></li></ul><h3>Voir aussi</h3> +<ul class="seealso"> +<li><code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></li> +<li><a href="../env.html">Documentation sur les variables +d'environnement</a></li> +<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="usage" id="usage">Utilisation</a></h2> + <p>Ce module permet de mandater en inverse un serveur d'application + d'arrière-plan (comme Apache Tomcat) qui utilise le protocole AJP13. + Son utilisation est similaire à celle d'un mandataire inverse HTTP, + mais s'appuie sur le prefixe <code>ajp://</code> :</p> + + <div class="example"><h3>Mandataire inverse simple</h3><pre class="prettyprint lang-config">ProxyPass "/app" "ajp://backend.example.com:8009/app"</pre> +</div> + + <p>On peut aussi configurer un répartiteur de charge :</p> + <div class="example"><h3>Mandataire inverse avec répartiteur de charge</h3><pre class="prettyprint lang-config"><Proxy balancer://cluster> + BalancerMember ajp://app1.example.com:8009 loadfactor=1 + BalancerMember ajp://app2.example.com:8009 loadfactor=2 + ProxySet lbmethod=bytraffic +</Proxy> +ProxyPass "/app" "balancer://cluster/app"</pre> +</div> + + <p>Notez qu'en général, la directive <code class="directive"><a href="../mod/mod_proxy.html#proxypassreverse">ProxyPassReverse</a></code> n'est pas + nécessaire. La requête AJP inclut l'en-tête host original fourni + au mandataire, et le serveur d'application est sensé générer des + en-têtes auto-référençants relatifs à cet hôte ; aucune réécriture + n'est donc nécessaire.</p> + + <p>La situation la plus courante dans laquelle la directive <code class="directive"><a href="../mod/mod_proxy.html#proxypassreverse">ProxyPassReverse</a></code> est nécessaire se + rencontre lorsque le chemin de l'URL au niveau du mandataire est + différente de celle du serveur d'arrière-plan. Dans ce cas, un + en-tête redirect peut être réécrit relativement à l'URL de l'hôte + original (et non du serveur d'arrière-plan <code>ajp://</code> URL) + ; par exemple :</p> + <div class="example"><h3>Réécriture d'un chemin mandaté</h3><pre class="prettyprint lang-config">ProxyPass "/apps/foo" "ajp://backend.example.com:8009/foo" +ProxyPassReverse "/apps/foo" "http://www.example.com/foo"</pre> +</div> + <p>Il est cependant préférable en général de déployer l'application + sur le serveur d'arrière-plan avec le même chemin que sur le + mandataire. + </p> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="env" id="env">Variables d'environnement</a></h2> + <p>Les variables d'environnement dont le nom possède le préfixe + <code>AJP_</code> sont transmises au serveur original en tant + qu'attributs de requête AJP (le préfixe AJP_ étant supprimé du nom + de la clé).</p> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="overviewprotocol" id="overviewprotocol">Vue d'ensemble du protocole</a></h2> + <p>Le protocole <code>AJP13</code> est orienté paquet. Le format + binaire a été préféré, probablement pour des raisons de + performances, au format texte pourtant plus lisible. Le serveur web + communique avec le conteneur de servlets sur une connexion TCP. Pour + diminuer la charge induite par le processus de création de socket, + le serveur web va tenter d'utiliser des connexions TCP persistantes + avec le conteneur de servlets, et de réutiliser les connexions + pendant plusieurs cycles requêtes/réponse.</p> + <p>Lorsqu'une connexion a été assignée à une requête particulière, + elle ne sera utilisée pour aucune autre jusqu'à ce que le cycle de + traitement de la requête se soit terminé. En d'autres termes, il n'y + a pas de multiplexage des requêtes sur une connexion. Ceci se + traduit par un code beaucoup plus simple à chaque extrémité de la + connexion, un nombre plus important de connexions étant cependant + ouvertes en même temps.</p> + <p>Lorsque le serveur web a ouvert une connexion vers le conteneur + de servlets, celle-ci peut se trouver dans l'un des états suivants + :</p> + <ul> + <li> Idle <br /> Aucune requête n'est traitée sur cette + connexion. </li> + <li> Assigned <br /> La connexion fait l'objet d'un traitement de + requête.</li> + </ul> + <p>Lorsqu'une connexion est assignée au traitement d'une requête + particulière, les informations de base de cette dernière (comme les + en-têtes HTTP, etc...) sont envoyées sur la connexion sous une forme + très condensée (par exemple les chaînes courantes sont codées sous + forme d'entiers). Vous trouverez des détails sur ce format plus + loin dans la structure des paquets de requête. Si la requête possède + un corps <code>(content-length > 0)</code>, il est envoyé dans un + paquet séparé immédiatement après.</p> + <p>A ce moment, le conteneur est probablement prêt à traiter la + requête. Au cours de ce traitement, il peut renvoyer les messages + suivants au serveur web :</p> + <ul> + <li>SEND_HEADERS <br />Renvoie un jeu d'en-têtes au navigateur.</li> + <li>SEND_BODY_CHUNK <br />Renvoie un tronçon de corps de requête au + navigateur. + </li> + <li>GET_BODY_CHUNK <br />Reçoit un autre tronçon de données de la + requête si elle n'a pas encore été transmise intégralement. Ce type + de transmission est nécessaire car les paquets possèdent une taille + maximale fixe, et des quantités quelconques de données peuvent être + contenues dans le corps de la requête (pour un chargement de + fichier, par exemple). Notez que cela n'a rien à voir avec le + transfert HTTP fractionné.</li> + <li>END_RESPONSE <br /> Termine le cycle du traitement de la + requête.</li> + </ul> + <p>Chaque message est associé à un paquet de données formaté + différemment. Voir plus loin les structures des paquets de réponses + pour plus de détails.</p> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="basppacketstruct" id="basppacketstruct">Structure de base des paquets</a></h2> + <p>Ce protocole hérite en partie de XDR, mais il diffère sur de + nombreux points (pas d'alignement sur 4 bits, par exemple).</p> + <p>AJP13 utilise les octets selon leur ordre d'arrivée par le réseau + pour tous les types de données.</p> + <p>Le protocole comporte quatre types de données : octets, booléens, + entiers et chaînes de caractères.</p> + <dl> + <dt><strong>Octet</strong></dt><dd>Un seul octet.</dd> + <dt><strong>Booléen</strong></dt> + <dd>Un seul octet, <code>1 = vrai</code>, <code>0 = faux</code>. + L'utilisation d'autres valeurs non nulles (dans le style C) peut + fonctionner dans certains cas, mais pas dans certains autres..</dd> + <dt><strong>Entier</strong></dt> + <dd>Un nombre compris entre <code>0 et 2^16 (32768)</code>, stocké + sur 2 octets en débutant par l'octet de poids forts.</dd> + <dt><strong>Chaîne</strong></dt> + <dd>Une chaîne de taille variable (longueur limitée à 2^16). Elle + est codée comme suit : les deux premiers octets représentent la + longueur de la chaîne, les octets suivants constituent la chaîne + proprement dite (y compris le '\0' final). Notez que la longueur + encodée dans les deux premiers octets ne prend pas en compte le + '\0' final, de la même manière que <code>strlen</code>. Cela peut + prêter à confusion du point de vue de Java qui est surchargé de + déclarations d'autoincrémentation étranges destinées à traiter + ces terminateurs. Je suppose que le but dans lequel cela a + été conçu ainsi était de permettre au code C d'être plus efficace + lors de la lecture de chaînes en provenance du conteneur de + servlets -- avec le caractère \0 final, le code C peut transmettre + des références dans un seul tampon, sans avoir à effectuer de + copie. En l'absence du caractère \0 final, le code C doit + effectuer une copie afin de pouvoir tenir compte de sa notion de + chaîne.</dd> + </dl> + + <h3>Taille du paquet</h3> + <p>Selon la majorité du code, la taille maximale du paquet est de + <code>8 * 1024 bytes (8K)</code>. La taille réelle du paquet est + encodée dans l'en-tête.</p> + + <h3>En-têtes de paquet</h3> + <p>Les paquets envoyés par le serveur vers le conteneur commencent + par <code>0x1234</code>. Les paquets envoyés par le conteneur vers + le serveur commencent par <code>AB</code> (c'est à dire le code + ASCII de A suivi du code ASCII de B). Ensuite, vient un entier (codé + comme ci-dessus) représentant la longueur des données transmises. + Bien que ceci puisse faire croire que la taille maximale des données + est de 2^16, le code définit en fait ce maximum à 8K.</p> + <table> + + <tr> + <th colspan="6"><em>Format du paquet (Serveur->Conteneur)</em></th> + </tr> + <tr> + <th>Octet</th> + <td>0</td> + <td>1</td> + <td>2</td> + <td>3</td> + <td>4...(n+3)</td> + </tr> + <tr> + <th>Contenu</th> + <td>0x12</td> + <td>0x34</td> + <td colspan="2">Taille des données (n)</td> + <td>Data</td> + </tr> + </table> + <table> + + <tr> + <th colspan="6"><em>Format du paquet + (Conteneur->Serveur)</em></th> + </tr> + <tr> + <th>Octet</th> + <td>0</td> + <td>1</td> + <td>2</td> + <td>3</td> + <td>4...(n+3)</td> + </tr> + <tr> + <th>Contenu</th> + <td>A</td> + <td>B</td> + <td colspan="2">Taille des données (n)</td> + <td>Data</td> + </tr> + </table> + <p>Pour la plupart des paquets, le premier octet de la charge utile + encode le type de message, à l'exception des paquets contenant un + corps de requête envoyés du serveur vers le conteneur -- ils + comportent un en-tête standard (<code>0x1234</code> suivi de la taille + du paquet), mais celui-ci n'est suivi d'aucun préfixe.</p> + <p>Le serveur web peut envoyer les messages suivants au conteneur + de servlets :</p> + <table> + + <tr> + <td>Code</td> + <td>Type de paquet</td> + <td>Signification</td> + </tr> + <tr> + <td>2</td> + <td>Fait suivre la requête</td> + <td>Débute le cycle de traitement de la requête avec les données + qui suivent.</td> + </tr> + <tr> + <td>7</td> + <td>Arrêt</td> + <td>Le serveur web demande au conteneur de s'arrêter.</td> + </tr> + <tr> + <td>8</td> + <td>Ping</td> + <td>Le serveur web demande au conteneur de prendre le contrôle + (phase de connexion sécurisée).</td> + </tr> + <tr> + <td>10</td> + <td>CPing</td> + <td>Le serveur web demande au conteneur de répondre rapidement + avec un CPong. + </td> + </tr> + <tr> + <td>none</td> + <td>Données</td> + <td>Taille (2 octets) et les données correspondantes.</td> + </tr> + </table> + <p>À des fins de sécurité, le conteneur n'effectuera réellement son + <code>Arrêt</code> que si la demande provient de la machine par + laquelle il est hébergé.</p> + <p>Le premier paquet <code>Données</code> est envoyé immédiatement + après le paquet <code>Faire suivre la requête</code> par le serveur + web.</p> + <p>Le conteneur de servlets peut envoyer les types de messages + suivants au serveur web :</p> + <table> + + <tr> + <td>Code</td> + <td>Type de paquet</td> + <td>Signification</td> + </tr> + <tr> + <td>3</td> + <td>Envoi d'un tronçon de corps</td> + <td>Envoi d'un tronçon de corps depuis le conteneur de servlets + vers le serveur web (et probablement vers le navigateur).</td> + </tr> + <tr> + <td>4</td> + <td>Envoie les en-têtes</td> + <td>Envoi des en-têtes de réponse depuis le conteneur de + servlets vers le serveur web (et probablement vers le + navigateur).</td> + </tr> + <tr> + <td>5</td> + <td>Fin de la réponse</td> + <td>Marque la fin de la réponse (et par conséquent du cycle de + traitement de la requête). + </td> + </tr> + <tr> + <td>6</td> + <td>Réception du tronçon de corps suivant</td> + <td>Réception de la suite des données de la requête si elles + n'ont pas encore été entièrement transmises.</td> + </tr> + <tr> + <td>9</td> + <td>Réponse CPong</td> + <td>La réponse à une requête CPing</td> + </tr> + </table> + <p>Chacun des messages ci-dessus possède une structure interne + différente dont vous trouverez les détails ci-dessous.</p> + +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="rpacetstruct" id="rpacetstruct">Structure des paquets de +requête</a></h2> + <p>Pour les messages de type <em>Faire suivre la requête</em> depuis + le serveur vers le conteneur :</p> + <div class="example"><pre>AJP13_FORWARD_REQUEST := + prefix_code (byte) 0x02 = JK_AJP13_FORWARD_REQUEST + method (byte) + protocol (string) + req_uri (string) + remote_addr (string) + remote_host (string) + server_name (string) + server_port (integer) + is_ssl (boolean) + num_headers (integer) + request_headers *(req_header_name req_header_value) + attributes *(attribut_name attribute_value) + request_terminator (byte) OxFF</pre></div> + <p>Les <code>request_headers</code> possèdent la structure suivante + : + </p><div class="example"><pre>req_header_name := + sc_req_header_name | (string) [voir ci-dessous pour la manière dont + ceci est interprété] + +sc_req_header_name := 0xA0xx (integer) + +req_header_value := (string)</pre></div> + <p>Les <code>attributes</code> sont optionnels et possèdent la + structure suivante :</p> + <div class="example"><pre>attribute_name := sc_a_name | (sc_a_req_attribute string) + +attribute_value := (string)</pre></div> + <p>Un des en-têtes les plus importants est + <code>content-length</code>, car il indique si le conteneur doit ou + non attendre un autre paquet immédiatement.</p> + <h3>Description détaillée de la requête que le serveur + fait suivre vers le conteneur + </h3> + <h3>Préfixe de la requête</h3> + <p>Pour toutes les requêtes, ce préfixe est 2. Voir ci-dessus pour + les détails des autres codes de préfixes.</p> + + <h3>Méthode</h3> + <p>La méthode HTTP, encodée sous la forme d'un seul octet :</p> + <table> + <tr><td>Nom commande</td><td>Code</td></tr> + <tr><td>OPTIONS</td><td>1</td></tr> + <tr><td>GET</td><td>2</td></tr> + <tr><td>HEAD</td><td>3</td></tr> + <tr><td>POST</td><td>4</td></tr> + <tr><td>PUT</td><td>5</td></tr> + <tr><td>DELETE</td><td>6</td></tr> + <tr><td>TRACE</td><td>7</td></tr> + <tr><td>PROPFIND</td><td>8</td></tr> + <tr><td>PROPPATCH</td><td>9</td></tr> + <tr><td>MKCOL</td><td>10</td></tr> + <tr><td>COPY</td><td>11</td></tr> + <tr><td>MOVE</td><td>12</td></tr> + <tr><td>LOCK</td><td>13</td></tr> + <tr><td>UNLOCK</td><td>14</td></tr> + <tr><td>ACL</td><td>15</td></tr> + <tr><td>REPORT</td><td>16</td></tr> + <tr><td>VERSION-CONTROL</td><td>17</td></tr> + <tr><td>CHECKIN</td><td>18</td></tr> + <tr><td>CHECKOUT</td><td>19</td></tr> + <tr><td>UNCHECKOUT</td><td>20</td></tr> + <tr><td>SEARCH</td><td>21</td></tr> + <tr><td>MKWORKSPACE</td><td>22</td></tr> + <tr><td>UPDATE</td><td>23</td></tr> + <tr><td>LABEL</td><td>24</td></tr> + <tr><td>MERGE</td><td>25</td></tr> + <tr><td>BASELINE_CONTROL</td><td>26</td></tr> + <tr><td>MKACTIVITY</td><td>27</td></tr> + </table> + <p>Les versions futures d'ajp13 pourront transmettre des méthodes + supplémentaires, même si elles ne font pas partie de cette + liste.</p> + + <h3>protocol, req_uri, remote_addr, remote_host, server_name, + server_port, is_ssl</h3> + <p>Les significations de ces éléments sont triviales. Ils sont tous + obligatoires et seront envoyés avec chaque requête.</p> + + <h3>En-têtes</h3> + <p>La structure de <code>request_headers</code> est la suivante + : tout d'abord, le nombre d'en-têtes <code>num_headers</code> est + encodé, suivi d'une liste de paires nom d'en-tête + <code>req_header_name</code> / valeur <code>req_header_value</code>. + Les noms d'en-têtes courants sont codés sous forme d'entiers afin de + gagner de la place. Si le nom d'en-tête ne fait partie de la liste + des en-têtes courants, il est encodé normalement (une chaîne de + caractères préfixée par la taille). La liste des en-têtes courants + <code>sc_req_header_name</code> avec leurs codes se présente comme + suit (il sont tous sensibles à la casse) :</p> + <table> + <tr><td>Nom</td><td>Valeur du code</td><td>Nom du code</td></tr> + <tr><td>accept</td><td>0xA001</td><td>SC_REQ_ACCEPT</td></tr> + <tr><td>accept-charset</td><td>0xA002</td><td>SC_REQ_ACCEPT_CHARSET + </td></tr> + <tr><td>accept-encoding</td><td>0xA003</td><td>SC_REQ_ACCEPT_ENCODING + </td></tr> + <tr><td>accept-language</td><td>0xA004</td><td>SC_REQ_ACCEPT_LANGUAGE + </td></tr> + <tr><td>authorization</td><td>0xA005</td><td>SC_REQ_AUTHORIZATION</td> + </tr> + <tr><td>connection</td><td>0xA006</td><td>SC_REQ_CONNECTION</td></tr> + <tr><td>content-type</td><td>0xA007</td><td>SC_REQ_CONTENT_TYPE</td> + </tr> + <tr><td>content-length</td><td>0xA008</td><td>SC_REQ_CONTENT_LENGTH</td> + </tr> + <tr><td>cookie</td><td>0xA009</td><td>SC_REQ_COOKIE</td></tr> + <tr><td>cookie2</td><td>0xA00A</td><td>SC_REQ_COOKIE2</td></tr> + <tr><td>host</td><td>0xA00B</td><td>SC_REQ_HOST</td></tr> + <tr><td>pragma</td><td>0xA00C</td><td>SC_REQ_PRAGMA</td></tr> + <tr><td>referer</td><td>0xA00D</td><td>SC_REQ_REFERER</td></tr> + <tr><td>user-agent</td><td>0xA00E</td><td>SC_REQ_USER_AGENT</td></tr> + </table> + <p>Le code Java qui lit ceci extrait l'entier représenté par les + deux premiers octets, et si le premier octet est + <code>'0xA0'</code>, il utilise l'entier représenté par le deuxième + octet comme index d'un tableau de noms d'en-têtes. Si le premier + octet n'est pas <code>0xA0</code>, l'entier représenté par les deux + octets est considéré comme la longueur d'une chaîne qui est alors + lue.</p> + <p>Ceci ne peut fonctionner que si aucun nom d'en-tête ne possède + une taille supérieure à <code>0x9FFF (==0xA000 - 1)</code>, ce qui + est vraisemblable, bien qu'un peu arbitraire.</p> + <div class="note"><h3>Note:</h3> + L'en-tête <code>content-length</code> est extrêmement important. + S'il est présent et non nul, le conteneur considère que la requête + possède un corps (une requête POST, par exemple), et lit + immédiatement le paquet suivant dans le flux d'entrée pour extraire + ce corps. + </div> + + <h3>Attributs</h3> + <p>Les attributs préfixés par <code>?</code> (par exemple + <code>?context</code>) sont tous optionnels. Chacun d'eux est + représenté par un octet correspondant au type de l'attribut et par + sa valeur (chaîne ou entier). Ils peuvent être envoyés dans un ordre + quelconque (bien que le code C les envoie dans l'ordre ci-dessous). + Un code de terminaison spécial est envoyé pour signaler la fin de la + liste des attributs optionnels. La liste des codes est la suivante + :</p> + <table> + <tr><td>Information</td><td>Valeur code</td><td>Type de valeur</td><td>Note</td></tr> + <tr><td>?context</td><td>0x01</td><td>-</td><td>Non implémenté + actuellement + </td></tr> + <tr><td>?servlet_path</td><td>0x02</td><td>-</td><td>Non implémenté + actuellement + </td></tr> + <tr><td>?remote_user</td><td>0x03</td><td>String</td><td /></tr> + <tr><td>?auth_type</td><td>0x04</td><td>String</td><td /></tr> + <tr><td>?query_string</td><td>0x05</td><td>String</td><td /></tr> + <tr><td>?jvm_route</td><td>0x06</td><td>String</td><td /></tr> + <tr><td>?ssl_cert</td><td>0x07</td><td>String</td><td /></tr> + <tr><td>?ssl_cipher</td><td>0x08</td><td>String</td><td /></tr> + <tr><td>?ssl_session</td><td>0x09</td><td>String</td><td /></tr> + <tr><td>?req_attribute</td><td>0x0A</td><td>String</td><td>Nom (le + nom de l'attribut vient ensuite)</td></tr> + <tr><td>?ssl_key_size</td><td>0x0B</td><td>Integer</td><td /></tr> + <tr><td>are_done</td><td>0xFF</td><td>-</td><td>request_terminator</td></tr> + </table> + <p><code>context</code> et <code>servlet_path</code> ne sont pas + définis actuellement par le code C, et la majorité du code Java + ignore complètement ce qui est envoyé par l'intermédiaire de ces + champs (il va même parfois s'interrompre si une chaîne est + envoyée après un de ces codes). Je ne sais pas si c'est une bogue ou + une fonctionnalité non implémentée, ou tout simplement du code + obsolète, mais en tout cas, il n'est pris en charge par aucune des + deux extrémités de la connexion.</p> + <p><code>remote_user</code> et <code>auth_type</code> concernent + probablement l'authentification au niveau HTTP, et contiennent le + nom de l'utilisateur distant ainsi que le type d'authentification + utilisée pour établir son identité (à savoir Basic, Digest).</p> + <p><code>query_string</code>, <code>ssl_cert</code>, + <code>ssl_cipher</code> et <code>ssl_session</code> contiennent les + éléments HTTP et HTTPS correspondants.</p> + <p><code>jvm_route</code> est utilisé dans le cadre des sessions + persistantes, en associant une session utilisateur à une instance + Tomcat particulière en présence de plusieurs répartiteurs de + charge.</p> + <p>Au delà de cette liste de base, tout autre attribut + supplémentaire peut être envoyé via le code + <code>req_attribute</code> <code>0x0A</code>. Une paire de chaînes + représentant le nom et la valeur de l'attribut est envoyée + immédiatement après chaque instance de ce code. Les variables + d'environnement sont transmises par cette méthode.</p> + <p>Enfin, lorsque tous les attributs ont été transmis, le + terminateur d'attributs, <code>0xFF</code>, est envoyé. Ce dernier + indique à la fois la fin de la liste d'attributs et la fin du paquet + de la 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="resppacketstruct" id="resppacketstruct">Structure du paquet de la +réponse</a></h2> + <p>Pour les messages que le conteneur peut renvoyer au + serveur.</p> + <div class="example"><pre>AJP13_SEND_BODY_CHUNK := + prefix_code 3 + chunk_length (integer) + chunk *(byte) + chunk_terminator (byte) Ox00 + + +AJP13_SEND_HEADERS := + prefix_code 4 + http_status_code (integer) + http_status_msg (string) + num_headers (integer) + response_headers *(res_header_name header_value) + +res_header_name := + sc_res_header_name | (string) [voir ci-dessous pour la manière + dont ceci est interprété] + +sc_res_header_name := 0xA0 (byte) + +header_value := (string) + +AJP13_END_RESPONSE := + prefix_code 5 + reuse (boolean) + + +AJP13_GET_BODY_CHUNK := + prefix_code 6 + requested_length (integer)</pre></div> + <h3>Détails:</h3> + <h3>Envoi d'un tronçon de corps</h3> + <p>Le tronçon se compose essentiellement de données binaires et est + renvoyé directement au navigateur.</p> + + <h3>Envoi des en-têtes</h3> + <p>Les code et message d'état correspondent aux code et message HTTP + habituels (par exemple <code>200</code> et <code>OK</code>). Les + noms d'en-têtes de réponses sont codés de la même façon que les noms + d'en-têtes de requêtes. Voir ci-dessus le codage des en-têtes pour + plus de détails à propos de la manière dont les codes se distinguent + des chaînes.<br /> + Les codes des en-têtes courants sont ::</p> + <table> + <tr><td>Nom</td><td>Valeur code</td></tr> + <tr><td>Content-Type</td><td>0xA001</td></tr> + <tr><td>Content-Language</td><td>0xA002</td></tr> + <tr><td>Content-Length</td><td>0xA003</td></tr> + <tr><td>Date</td><td>0xA004</td></tr> + <tr><td>Last-Modified</td><td>0xA005</td></tr> + <tr><td>Location</td><td>0xA006</td></tr> + <tr><td>Set-Cookie</td><td>0xA007</td></tr> + <tr><td>Set-Cookie2</td><td>0xA008</td></tr> + <tr><td>Servlet-Engine</td><td>0xA009</td></tr> + <tr><td>Status</td><td>0xA00A</td></tr> + <tr><td>WWW-Authenticate</td><td>0xA00B</td></tr> + </table> + <p>La valeur de l'en-tête est codée immédiatement après le code ou + la chaîne du nom d'en-tête.</p> + + <h3>Fin de la réponse</h3> + <p>Signale la fin de ce cycle de traitement de requête. Si le + drapeau <code>reuse</code> est à true <code>(toute valeur autre que + 0 en langage C pur)</code>, cette + connexion TCP peut être réutilisée pour traiter de nouvelles + requêtes entrantes. Si <code>reuse</code> est à false + (==0), la connexion sera fermée.</p> + + <h3>Réception d'un tronçon de corps</h3> + <p>Le conteneur réclame la suite des données de la requête (dans le + cas où la taille du corps était trop importante pour pouvoir être + contenue dans le premier paquet envoyé, où lorsque la requête est + fractionnée). Le serveur va alors envoyer un paquet contenant une + quantité de données correspondant au minimum de la + <code>request_length</code>, la taille maximale de corps envoyée + <code>(8186 (8 Koctets - 6))</code>, et le nombre réel d'octets + restants à envoyer pour ce corps de requête.<br /> + S'il ne reste plus de données à transmettre pour ce corps de requête + (c'est à dire si le conteneur de servlets tente de lire au delà de + la fin du corps), le serveur va renvoyer un paquet <em>vide</em> + dont la charge utile est de longueur 0 et se présentant sous la + forme <code>(0x12,0x34,0x00,0x00)</code>.</p> + +</div> +</div> +<div class="bottomlang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_proxy_ajp.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_proxy_ajp.html" title="Français"> fr </a> | +<a href="../ja/mod/mod_proxy_ajp.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/trunk/mod/mod_proxy_ajp.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 2017 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_proxy_ajp.xml.fr b/docs/manual/mod/mod_proxy_ajp.xml.fr new file mode 100644 index 0000000000..7baab2739d --- /dev/null +++ b/docs/manual/mod/mod_proxy_ajp.xml.fr @@ -0,0 +1,650 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd"> +<?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?> +<!-- English Revision: 1673945 --> +<!-- 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_proxy_ajp.xml.meta"> + +<name>mod_proxy_ajp</name> +<description>Module de support AJP pour +<module>mod_proxy</module></description> +<status>Extension</status> +<sourcefile>mod_proxy_ajp.c</sourcefile> +<identifier>proxy_ajp_module</identifier> + +<summary> + <p>Ce module nécessite le chargement de <module + >mod_proxy</module>. Il fournit le support du <code>Protocole Apache + JServ version 1.3</code> (nommé dans la suite de ce document + <em>AJP13</em>).</p> + + <p>Pour être en mesure d'exploiter le protocole <code>AJP13</code>, + il est donc nécessaire de charger les modules + <module>mod_proxy</module> et <module>mod_proxy_ajp</module>.</p> + + <note type="warning"><title>Avertissement</title> + <p>N'activez pas la fonctionnalité de mandataire avant d'avoir <a + href="mod_proxy.html#access">sécurisé votre serveur</a>. Les + serveurs mandataires ouverts sont dangereux non seulement pour + votre réseau, mais aussi pour l'Internet au sens large. </p> + </note> +</summary> + +<seealso><module>mod_proxy</module></seealso> +<seealso><a href="../env.html">Documentation sur les variables +d'environnement</a></seealso> + +<section id="usage"><title>Utilisation</title> + <p>Ce module permet de mandater en inverse un serveur d'application + d'arrière-plan (comme Apache Tomcat) qui utilise le protocole AJP13. + Son utilisation est similaire à celle d'un mandataire inverse HTTP, + mais s'appuie sur le prefixe <code>ajp://</code> :</p> + + <example><title>Mandataire inverse simple</title> + <highlight language="config"> + ProxyPass "/app" "ajp://backend.example.com:8009/app" + </highlight> + </example> + + <p>On peut aussi configurer un répartiteur de charge :</p> + <example><title>Mandataire inverse avec répartiteur de charge</title> + <highlight language="config"> +<Proxy balancer://cluster> + BalancerMember ajp://app1.example.com:8009 loadfactor=1 + BalancerMember ajp://app2.example.com:8009 loadfactor=2 + ProxySet lbmethod=bytraffic +</Proxy> +ProxyPass "/app" "balancer://cluster/app" + </highlight> + </example> + + <p>Notez qu'en général, la directive <directive + module="mod_proxy">ProxyPassReverse</directive> n'est pas + nécessaire. La requête AJP inclut l'en-tête host original fourni + au mandataire, et le serveur d'application est sensé générer des + en-têtes auto-référençants relatifs à cet hôte ; aucune réécriture + n'est donc nécessaire.</p> + + <p>La situation la plus courante dans laquelle la directive <directive + module="mod_proxy">ProxyPassReverse</directive> est nécessaire se + rencontre lorsque le chemin de l'URL au niveau du mandataire est + différente de celle du serveur d'arrière-plan. Dans ce cas, un + en-tête redirect peut être réécrit relativement à l'URL de l'hôte + original (et non du serveur d'arrière-plan <code>ajp://</code> URL) + ; par exemple :</p> + <example><title>Réécriture d'un chemin mandaté</title> + <highlight language="config"> +ProxyPass "/apps/foo" "ajp://backend.example.com:8009/foo" +ProxyPassReverse "/apps/foo" "http://www.example.com/foo" + </highlight> + </example> + <p>Il est cependant préférable en général de déployer l'application + sur le serveur d'arrière-plan avec le même chemin que sur le + mandataire. + </p> +</section> + +<section id="env"><title>Variables d'environnement</title> + <p>Les variables d'environnement dont le nom possède le préfixe + <code>AJP_</code> sont transmises au serveur original en tant + qu'attributs de requête AJP (le préfixe AJP_ étant supprimé du nom + de la clé).</p> +</section> + +<section id="overviewprotocol"><title>Vue d'ensemble du protocole</title> + <p>Le protocole <code>AJP13</code> est orienté paquet. Le format + binaire a été préféré, probablement pour des raisons de + performances, au format texte pourtant plus lisible. Le serveur web + communique avec le conteneur de servlets sur une connexion TCP. Pour + diminuer la charge induite par le processus de création de socket, + le serveur web va tenter d'utiliser des connexions TCP persistantes + avec le conteneur de servlets, et de réutiliser les connexions + pendant plusieurs cycles requêtes/réponse.</p> + <p>Lorsqu'une connexion a été assignée à une requête particulière, + elle ne sera utilisée pour aucune autre jusqu'à ce que le cycle de + traitement de la requête se soit terminé. En d'autres termes, il n'y + a pas de multiplexage des requêtes sur une connexion. Ceci se + traduit par un code beaucoup plus simple à chaque extrémité de la + connexion, un nombre plus important de connexions étant cependant + ouvertes en même temps.</p> + <p>Lorsque le serveur web a ouvert une connexion vers le conteneur + de servlets, celle-ci peut se trouver dans l'un des états suivants + :</p> + <ul> + <li> Idle <br/> Aucune requête n'est traitée sur cette + connexion. </li> + <li> Assigned <br/> La connexion fait l'objet d'un traitement de + requête.</li> + </ul> + <p>Lorsqu'une connexion est assignée au traitement d'une requête + particulière, les informations de base de cette dernière (comme les + en-têtes HTTP, etc...) sont envoyées sur la connexion sous une forme + très condensée (par exemple les chaînes courantes sont codées sous + forme d'entiers). Vous trouverez des détails sur ce format plus + loin dans la structure des paquets de requête. Si la requête possède + un corps <code>(content-length > 0)</code>, il est envoyé dans un + paquet séparé immédiatement après.</p> + <p>A ce moment, le conteneur est probablement prêt à traiter la + requête. Au cours de ce traitement, il peut renvoyer les messages + suivants au serveur web :</p> + <ul> + <li>SEND_HEADERS <br/>Renvoie un jeu d'en-têtes au navigateur.</li> + <li>SEND_BODY_CHUNK <br/>Renvoie un tronçon de corps de requête au + navigateur. + </li> + <li>GET_BODY_CHUNK <br/>Reçoit un autre tronçon de données de la + requête si elle n'a pas encore été transmise intégralement. Ce type + de transmission est nécessaire car les paquets possèdent une taille + maximale fixe, et des quantités quelconques de données peuvent être + contenues dans le corps de la requête (pour un chargement de + fichier, par exemple). Notez que cela n'a rien à voir avec le + transfert HTTP fractionné.</li> + <li>END_RESPONSE <br/> Termine le cycle du traitement de la + requête.</li> + </ul> + <p>Chaque message est associé à un paquet de données formaté + différemment. Voir plus loin les structures des paquets de réponses + pour plus de détails.</p> +</section> + +<section id="basppacketstruct"><title>Structure de base des paquets</title> + <p>Ce protocole hérite en partie de XDR, mais il diffère sur de + nombreux points (pas d'alignement sur 4 bits, par exemple).</p> + <p>AJP13 utilise les octets selon leur ordre d'arrivée par le réseau + pour tous les types de données.</p> + <p>Le protocole comporte quatre types de données : octets, booléens, + entiers et chaînes de caractères.</p> + <dl> + <dt><strong>Octet</strong></dt><dd>Un seul octet.</dd> + <dt><strong>Booléen</strong></dt> + <dd>Un seul octet, <code>1 = vrai</code>, <code>0 = faux</code>. + L'utilisation d'autres valeurs non nulles (dans le style C) peut + fonctionner dans certains cas, mais pas dans certains autres..</dd> + <dt><strong>Entier</strong></dt> + <dd>Un nombre compris entre <code>0 et 2^16 (32768)</code>, stocké + sur 2 octets en débutant par l'octet de poids forts.</dd> + <dt><strong>Chaîne</strong></dt> + <dd>Une chaîne de taille variable (longueur limitée à 2^16). Elle + est codée comme suit : les deux premiers octets représentent la + longueur de la chaîne, les octets suivants constituent la chaîne + proprement dite (y compris le '\0' final). Notez que la longueur + encodée dans les deux premiers octets ne prend pas en compte le + '\0' final, de la même manière que <code>strlen</code>. Cela peut + prêter à confusion du point de vue de Java qui est surchargé de + déclarations d'autoincrémentation étranges destinées à traiter + ces terminateurs. Je suppose que le but dans lequel cela a + été conçu ainsi était de permettre au code C d'être plus efficace + lors de la lecture de chaînes en provenance du conteneur de + servlets -- avec le caractère \0 final, le code C peut transmettre + des références dans un seul tampon, sans avoir à effectuer de + copie. En l'absence du caractère \0 final, le code C doit + effectuer une copie afin de pouvoir tenir compte de sa notion de + chaîne.</dd> + </dl> + + <section><title>Taille du paquet</title> + <p>Selon la majorité du code, la taille maximale du paquet est de + <code>8 * 1024 bytes (8K)</code>. La taille réelle du paquet est + encodée dans l'en-tête.</p> + </section> + <section><title>En-têtes de paquet</title> + <p>Les paquets envoyés par le serveur vers le conteneur commencent + par <code>0x1234</code>. Les paquets envoyés par le conteneur vers + le serveur commencent par <code>AB</code> (c'est à dire le code + ASCII de A suivi du code ASCII de B). Ensuite, vient un entier (codé + comme ci-dessus) représentant la longueur des données transmises. + Bien que ceci puisse faire croire que la taille maximale des données + est de 2^16, le code définit en fait ce maximum à 8K.</p> + <table> + <columnspec><column width=".2"/><column width=".1"/><column width=".1"/><column width=".2"/><column width=".2"/><column width=".2"/></columnspec> + <tr> + <th colspan="6"><em>Format du paquet (Serveur->Conteneur)</em></th> + </tr> + <tr> + <th>Octet</th> + <td>0</td> + <td>1</td> + <td>2</td> + <td>3</td> + <td>4...(n+3)</td> + </tr> + <tr> + <th>Contenu</th> + <td>0x12</td> + <td>0x34</td> + <td colspan="2">Taille des données (n)</td> + <td>Data</td> + </tr> + </table> + <table> + <columnspec><column width=".2"/><column width=".1"/><column width=".1"/><column width=".2"/><column width=".2"/><column width=".2"/></columnspec> + <tr> + <th colspan="6"><em>Format du paquet + (Conteneur->Serveur)</em></th> + </tr> + <tr> + <th>Octet</th> + <td>0</td> + <td>1</td> + <td>2</td> + <td>3</td> + <td>4...(n+3)</td> + </tr> + <tr> + <th>Contenu</th> + <td>A</td> + <td>B</td> + <td colspan="2">Taille des données (n)</td> + <td>Data</td> + </tr> + </table> + <p>Pour la plupart des paquets, le premier octet de la charge utile + encode le type de message, à l'exception des paquets contenant un + corps de requête envoyés du serveur vers le conteneur -- ils + comportent un en-tête standard (<code>0x1234</code> suivi de la taille + du paquet), mais celui-ci n'est suivi d'aucun préfixe.</p> + <p>Le serveur web peut envoyer les messages suivants au conteneur + de servlets :</p> + <table> + <columnspec><column width=".2"/><column width=".3"/><column width=".5"/></columnspec> + <tr> + <td>Code</td> + <td>Type de paquet</td> + <td>Signification</td> + </tr> + <tr> + <td>2</td> + <td>Fait suivre la requête</td> + <td>Débute le cycle de traitement de la requête avec les données + qui suivent.</td> + </tr> + <tr> + <td>7</td> + <td>Arrêt</td> + <td>Le serveur web demande au conteneur de s'arrêter.</td> + </tr> + <tr> + <td>8</td> + <td>Ping</td> + <td>Le serveur web demande au conteneur de prendre le contrôle + (phase de connexion sécurisée).</td> + </tr> + <tr> + <td>10</td> + <td>CPing</td> + <td>Le serveur web demande au conteneur de répondre rapidement + avec un CPong. + </td> + </tr> + <tr> + <td>none</td> + <td>Données</td> + <td>Taille (2 octets) et les données correspondantes.</td> + </tr> + </table> + <p>À des fins de sécurité, le conteneur n'effectuera réellement son + <code>Arrêt</code> que si la demande provient de la machine par + laquelle il est hébergé.</p> + <p>Le premier paquet <code>Données</code> est envoyé immédiatement + après le paquet <code>Faire suivre la requête</code> par le serveur + web.</p> + <p>Le conteneur de servlets peut envoyer les types de messages + suivants au serveur web :</p> + <table> + <columnspec><column width=".2"/><column width=".3"/><column width=".5"/></columnspec> + <tr> + <td>Code</td> + <td>Type de paquet</td> + <td>Signification</td> + </tr> + <tr> + <td>3</td> + <td>Envoi d'un tronçon de corps</td> + <td>Envoi d'un tronçon de corps depuis le conteneur de servlets + vers le serveur web (et probablement vers le navigateur).</td> + </tr> + <tr> + <td>4</td> + <td>Envoie les en-têtes</td> + <td>Envoi des en-têtes de réponse depuis le conteneur de + servlets vers le serveur web (et probablement vers le + navigateur).</td> + </tr> + <tr> + <td>5</td> + <td>Fin de la réponse</td> + <td>Marque la fin de la réponse (et par conséquent du cycle de + traitement de la requête). + </td> + </tr> + <tr> + <td>6</td> + <td>Réception du tronçon de corps suivant</td> + <td>Réception de la suite des données de la requête si elles + n'ont pas encore été entièrement transmises.</td> + </tr> + <tr> + <td>9</td> + <td>Réponse CPong</td> + <td>La réponse à une requête CPing</td> + </tr> + </table> + <p>Chacun des messages ci-dessus possède une structure interne + différente dont vous trouverez les détails ci-dessous.</p> + </section> +</section> +<section id="rpacetstruct"><title>Structure des paquets de +requête</title> + <p>Pour les messages de type <em>Faire suivre la requête</em> depuis + le serveur vers le conteneur :</p> + <example><pre> +AJP13_FORWARD_REQUEST := + prefix_code (byte) 0x02 = JK_AJP13_FORWARD_REQUEST + method (byte) + protocol (string) + req_uri (string) + remote_addr (string) + remote_host (string) + server_name (string) + server_port (integer) + is_ssl (boolean) + num_headers (integer) + request_headers *(req_header_name req_header_value) + attributes *(attribut_name attribute_value) + request_terminator (byte) OxFF + </pre></example> + <p>Les <code>request_headers</code> possèdent la structure suivante + : + </p><example><pre> +req_header_name := + sc_req_header_name | (string) [voir ci-dessous pour la manière dont + ceci est interprété] + +sc_req_header_name := 0xA0xx (integer) + +req_header_value := (string) +</pre></example> + <p>Les <code>attributes</code> sont optionnels et possèdent la + structure suivante :</p> + <example><pre> +attribute_name := sc_a_name | (sc_a_req_attribute string) + +attribute_value := (string) + + </pre></example> + <p>Un des en-têtes les plus importants est + <code>content-length</code>, car il indique si le conteneur doit ou + non attendre un autre paquet immédiatement.</p> + <section><title>Description détaillée de la requête que le serveur + fait suivre vers le conteneur + </title></section> + <section><title>Préfixe de la requête</title> + <p>Pour toutes les requêtes, ce préfixe est 2. Voir ci-dessus pour + les détails des autres codes de préfixes.</p> + </section> + <section><title>Méthode</title> + <p>La méthode HTTP, encodée sous la forme d'un seul octet :</p> + <table> + <tr><td>Nom commande</td><td>Code</td></tr> + <tr><td>OPTIONS</td><td>1</td></tr> + <tr><td>GET</td><td>2</td></tr> + <tr><td>HEAD</td><td>3</td></tr> + <tr><td>POST</td><td>4</td></tr> + <tr><td>PUT</td><td>5</td></tr> + <tr><td>DELETE</td><td>6</td></tr> + <tr><td>TRACE</td><td>7</td></tr> + <tr><td>PROPFIND</td><td>8</td></tr> + <tr><td>PROPPATCH</td><td>9</td></tr> + <tr><td>MKCOL</td><td>10</td></tr> + <tr><td>COPY</td><td>11</td></tr> + <tr><td>MOVE</td><td>12</td></tr> + <tr><td>LOCK</td><td>13</td></tr> + <tr><td>UNLOCK</td><td>14</td></tr> + <tr><td>ACL</td><td>15</td></tr> + <tr><td>REPORT</td><td>16</td></tr> + <tr><td>VERSION-CONTROL</td><td>17</td></tr> + <tr><td>CHECKIN</td><td>18</td></tr> + <tr><td>CHECKOUT</td><td>19</td></tr> + <tr><td>UNCHECKOUT</td><td>20</td></tr> + <tr><td>SEARCH</td><td>21</td></tr> + <tr><td>MKWORKSPACE</td><td>22</td></tr> + <tr><td>UPDATE</td><td>23</td></tr> + <tr><td>LABEL</td><td>24</td></tr> + <tr><td>MERGE</td><td>25</td></tr> + <tr><td>BASELINE_CONTROL</td><td>26</td></tr> + <tr><td>MKACTIVITY</td><td>27</td></tr> + </table> + <p>Les versions futures d'ajp13 pourront transmettre des méthodes + supplémentaires, même si elles ne font pas partie de cette + liste.</p> + </section> + <section><title>protocol, req_uri, remote_addr, remote_host, server_name, + server_port, is_ssl</title> + <p>Les significations de ces éléments sont triviales. Ils sont tous + obligatoires et seront envoyés avec chaque requête.</p> + </section> + <section><title>En-têtes</title> + <p>La structure de <code>request_headers</code> est la suivante + : tout d'abord, le nombre d'en-têtes <code>num_headers</code> est + encodé, suivi d'une liste de paires nom d'en-tête + <code>req_header_name</code> / valeur <code>req_header_value</code>. + Les noms d'en-têtes courants sont codés sous forme d'entiers afin de + gagner de la place. Si le nom d'en-tête ne fait partie de la liste + des en-têtes courants, il est encodé normalement (une chaîne de + caractères préfixée par la taille). La liste des en-têtes courants + <code>sc_req_header_name</code> avec leurs codes se présente comme + suit (il sont tous sensibles à la casse) :</p> + <table> + <tr><td>Nom</td><td>Valeur du code</td><td>Nom du code</td></tr> + <tr><td>accept</td><td>0xA001</td><td>SC_REQ_ACCEPT</td></tr> + <tr><td>accept-charset</td><td>0xA002</td><td>SC_REQ_ACCEPT_CHARSET + </td></tr> + <tr><td>accept-encoding</td><td>0xA003</td><td>SC_REQ_ACCEPT_ENCODING + </td></tr> + <tr><td>accept-language</td><td>0xA004</td><td>SC_REQ_ACCEPT_LANGUAGE + </td></tr> + <tr><td>authorization</td><td>0xA005</td><td>SC_REQ_AUTHORIZATION</td> + </tr> + <tr><td>connection</td><td>0xA006</td><td>SC_REQ_CONNECTION</td></tr> + <tr><td>content-type</td><td>0xA007</td><td>SC_REQ_CONTENT_TYPE</td> + </tr> + <tr><td>content-length</td><td>0xA008</td><td>SC_REQ_CONTENT_LENGTH</td> + </tr> + <tr><td>cookie</td><td>0xA009</td><td>SC_REQ_COOKIE</td></tr> + <tr><td>cookie2</td><td>0xA00A</td><td>SC_REQ_COOKIE2</td></tr> + <tr><td>host</td><td>0xA00B</td><td>SC_REQ_HOST</td></tr> + <tr><td>pragma</td><td>0xA00C</td><td>SC_REQ_PRAGMA</td></tr> + <tr><td>referer</td><td>0xA00D</td><td>SC_REQ_REFERER</td></tr> + <tr><td>user-agent</td><td>0xA00E</td><td>SC_REQ_USER_AGENT</td></tr> + </table> + <p>Le code Java qui lit ceci extrait l'entier représenté par les + deux premiers octets, et si le premier octet est + <code>'0xA0'</code>, il utilise l'entier représenté par le deuxième + octet comme index d'un tableau de noms d'en-têtes. Si le premier + octet n'est pas <code>0xA0</code>, l'entier représenté par les deux + octets est considéré comme la longueur d'une chaîne qui est alors + lue.</p> + <p>Ceci ne peut fonctionner que si aucun nom d'en-tête ne possède + une taille supérieure à <code>0x9FFF (==0xA000 - 1)</code>, ce qui + est vraisemblable, bien qu'un peu arbitraire.</p> + <note><title>Note:</title> + L'en-tête <code>content-length</code> est extrêmement important. + S'il est présent et non nul, le conteneur considère que la requête + possède un corps (une requête POST, par exemple), et lit + immédiatement le paquet suivant dans le flux d'entrée pour extraire + ce corps. + </note> + </section> + <section><title>Attributs</title> + <p>Les attributs préfixés par <code>?</code> (par exemple + <code>?context</code>) sont tous optionnels. Chacun d'eux est + représenté par un octet correspondant au type de l'attribut et par + sa valeur (chaîne ou entier). Ils peuvent être envoyés dans un ordre + quelconque (bien que le code C les envoie dans l'ordre ci-dessous). + Un code de terminaison spécial est envoyé pour signaler la fin de la + liste des attributs optionnels. La liste des codes est la suivante + :</p> + <table> + <tr><td>Information</td><td>Valeur code</td><td>Type de valeur</td><td>Note</td></tr> + <tr><td>?context</td><td>0x01</td><td>-</td><td>Non implémenté + actuellement + </td></tr> + <tr><td>?servlet_path</td><td>0x02</td><td>-</td><td>Non implémenté + actuellement + </td></tr> + <tr><td>?remote_user</td><td>0x03</td><td>String</td><td></td></tr> + <tr><td>?auth_type</td><td>0x04</td><td>String</td><td></td></tr> + <tr><td>?query_string</td><td>0x05</td><td>String</td><td></td></tr> + <tr><td>?jvm_route</td><td>0x06</td><td>String</td><td></td></tr> + <tr><td>?ssl_cert</td><td>0x07</td><td>String</td><td></td></tr> + <tr><td>?ssl_cipher</td><td>0x08</td><td>String</td><td></td></tr> + <tr><td>?ssl_session</td><td>0x09</td><td>String</td><td></td></tr> + <tr><td>?req_attribute</td><td>0x0A</td><td>String</td><td>Nom (le + nom de l'attribut vient ensuite)</td></tr> + <tr><td>?ssl_key_size</td><td>0x0B</td><td>Integer</td><td></td></tr> + <tr><td>are_done</td><td>0xFF</td><td>-</td><td>request_terminator</td></tr> + </table> + <p><code>context</code> et <code>servlet_path</code> ne sont pas + définis actuellement par le code C, et la majorité du code Java + ignore complètement ce qui est envoyé par l'intermédiaire de ces + champs (il va même parfois s'interrompre si une chaîne est + envoyée après un de ces codes). Je ne sais pas si c'est une bogue ou + une fonctionnalité non implémentée, ou tout simplement du code + obsolète, mais en tout cas, il n'est pris en charge par aucune des + deux extrémités de la connexion.</p> + <p><code>remote_user</code> et <code>auth_type</code> concernent + probablement l'authentification au niveau HTTP, et contiennent le + nom de l'utilisateur distant ainsi que le type d'authentification + utilisée pour établir son identité (à savoir Basic, Digest).</p> + <p><code>query_string</code>, <code>ssl_cert</code>, + <code>ssl_cipher</code> et <code>ssl_session</code> contiennent les + éléments HTTP et HTTPS correspondants.</p> + <p><code>jvm_route</code> est utilisé dans le cadre des sessions + persistantes, en associant une session utilisateur à une instance + Tomcat particulière en présence de plusieurs répartiteurs de + charge.</p> + <p>Au delà de cette liste de base, tout autre attribut + supplémentaire peut être envoyé via le code + <code>req_attribute</code> <code>0x0A</code>. Une paire de chaînes + représentant le nom et la valeur de l'attribut est envoyée + immédiatement après chaque instance de ce code. Les variables + d'environnement sont transmises par cette méthode.</p> + <p>Enfin, lorsque tous les attributs ont été transmis, le + terminateur d'attributs, <code>0xFF</code>, est envoyé. Ce dernier + indique à la fois la fin de la liste d'attributs et la fin du paquet + de la requête</p> + </section> +</section> + +<section id="resppacketstruct"><title>Structure du paquet de la +réponse</title> + <p>Pour les messages que le conteneur peut renvoyer au + serveur.</p> + <example><pre> +AJP13_SEND_BODY_CHUNK := + prefix_code 3 + chunk_length (integer) + chunk *(byte) + chunk_terminator (byte) Ox00 + + +AJP13_SEND_HEADERS := + prefix_code 4 + http_status_code (integer) + http_status_msg (string) + num_headers (integer) + response_headers *(res_header_name header_value) + +res_header_name := + sc_res_header_name | (string) [voir ci-dessous pour la manière + dont ceci est interprété] + +sc_res_header_name := 0xA0 (byte) + +header_value := (string) + +AJP13_END_RESPONSE := + prefix_code 5 + reuse (boolean) + + +AJP13_GET_BODY_CHUNK := + prefix_code 6 + requested_length (integer) + </pre></example> + <section><title>Détails:</title></section> + <section><title>Envoi d'un tronçon de corps</title> + <p>Le tronçon se compose essentiellement de données binaires et est + renvoyé directement au navigateur.</p> + </section> + <section><title>Envoi des en-têtes</title> + <p>Les code et message d'état correspondent aux code et message HTTP + habituels (par exemple <code>200</code> et <code>OK</code>). Les + noms d'en-têtes de réponses sont codés de la même façon que les noms + d'en-têtes de requêtes. Voir ci-dessus le codage des en-têtes pour + plus de détails à propos de la manière dont les codes se distinguent + des chaînes.<br /> + Les codes des en-têtes courants sont ::</p> + <table> + <tr><td>Nom</td><td>Valeur code</td></tr> + <tr><td>Content-Type</td><td>0xA001</td></tr> + <tr><td>Content-Language</td><td>0xA002</td></tr> + <tr><td>Content-Length</td><td>0xA003</td></tr> + <tr><td>Date</td><td>0xA004</td></tr> + <tr><td>Last-Modified</td><td>0xA005</td></tr> + <tr><td>Location</td><td>0xA006</td></tr> + <tr><td>Set-Cookie</td><td>0xA007</td></tr> + <tr><td>Set-Cookie2</td><td>0xA008</td></tr> + <tr><td>Servlet-Engine</td><td>0xA009</td></tr> + <tr><td>Status</td><td>0xA00A</td></tr> + <tr><td>WWW-Authenticate</td><td>0xA00B</td></tr> + </table> + <p>La valeur de l'en-tête est codée immédiatement après le code ou + la chaîne du nom d'en-tête.</p> + </section> + <section><title>Fin de la réponse</title> + <p>Signale la fin de ce cycle de traitement de requête. Si le + drapeau <code>reuse</code> est à true <code>(toute valeur autre que + 0 en langage C pur)</code>, cette + connexion TCP peut être réutilisée pour traiter de nouvelles + requêtes entrantes. Si <code>reuse</code> est à false + (==0), la connexion sera fermée.</p> + </section> + <section><title>Réception d'un tronçon de corps</title> + <p>Le conteneur réclame la suite des données de la requête (dans le + cas où la taille du corps était trop importante pour pouvoir être + contenue dans le premier paquet envoyé, où lorsque la requête est + fractionnée). Le serveur va alors envoyer un paquet contenant une + quantité de données correspondant au minimum de la + <code>request_length</code>, la taille maximale de corps envoyée + <code>(8186 (8 Koctets - 6))</code>, et le nombre réel d'octets + restants à envoyer pour ce corps de requête.<br/> + S'il ne reste plus de données à transmettre pour ce corps de requête + (c'est à dire si le conteneur de servlets tente de lire au delà de + la fin du corps), le serveur va renvoyer un paquet <em>vide</em> + dont la charge utile est de longueur 0 et se présentant sous la + forme <code>(0x12,0x34,0x00,0x00)</code>.</p> + </section> +</section> + + +</modulesynopsis> diff --git a/docs/manual/mod/mod_proxy_ajp.xml.meta b/docs/manual/mod/mod_proxy_ajp.xml.meta index 4c9c620beb..21fdf5389b 100644 --- a/docs/manual/mod/mod_proxy_ajp.xml.meta +++ b/docs/manual/mod/mod_proxy_ajp.xml.meta @@ -8,6 +8,7 @@ <variants> <variant>en</variant> + <variant>fr</variant> <variant outdated="yes">ja</variant> </variants> </metafile> diff --git a/docs/manual/mod/mod_proxy_balancer.html b/docs/manual/mod/mod_proxy_balancer.html index 8cf8ef65f2..d9961d4147 100644 --- a/docs/manual/mod/mod_proxy_balancer.html +++ b/docs/manual/mod/mod_proxy_balancer.html @@ -4,6 +4,10 @@ URI: mod_proxy_balancer.html.en Content-Language: en Content-type: text/html; charset=ISO-8859-1 +URI: mod_proxy_balancer.html.fr +Content-Language: fr +Content-type: text/html; charset=ISO-8859-1 + URI: mod_proxy_balancer.html.ja.utf8 Content-Language: ja Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_proxy_balancer.html.fr b/docs/manual/mod/mod_proxy_balancer.html.fr new file mode 100644 index 0000000000..f7507e1840 --- /dev/null +++ b/docs/manual/mod/mod_proxy_balancer.html.fr @@ -0,0 +1,401 @@ +<?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> +<meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_proxy_balancer - Serveur Apache HTTP Version 2.5</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.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p> +<p class="apache">Serveur Apache HTTP Version 2.5</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.5</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Module Apache mod_proxy_balancer</h1> +<div class="toplang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_proxy_balancer.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_proxy_balancer.html" title="Français"> fr </a> | +<a href="../ja/mod/mod_proxy_balancer.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>Extension de <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> pour le support de +la répartition de charge</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>proxy_balancer_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_proxy_balancer.c</td></tr></table> +<h3>Sommaire</h3> + + <p>Pour pouvoir fonctionner, ce module <em>requiert</em> le + chargement de <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code>, et il fournit le support de + la répartition de charge pour tous les protocoles supportés. Parmi ces + protocoles, les plus importants sont :</p> + <ul> + <li>HTTP, avec le module <code class="module"><a href="../mod/mod_proxy_http.html">mod_proxy_http</a></code></li> + <li>FTP, avec le module <code class="module"><a href="../mod/mod_proxy_ftp.html">mod_proxy_ftp</a></code></li> + <li>AJP13, avec le module <code class="module"><a href="../mod/mod_proxy_ajp.html">mod_proxy_ajp</a></code></li> + <li>WebSocket, avec le module <code class="module"><a href="../mod/mod_proxy_wstunnel.html">mod_proxy_wstunnel</a></code></li> + </ul> + + + <p>L'algorithme de planification de la répartition de charge n'est pas + fourni par ce module, mais par ceux-ci :</p> + <ul> + <li><code class="module"><a href="../mod/mod_lbmethod_byrequests.html">mod_lbmethod_byrequests</a></code></li> + <li><code class="module"><a href="../mod/mod_lbmethod_bytraffic.html">mod_lbmethod_bytraffic</a></code></li> + <li><code class="module"><a href="../mod/mod_lbmethod_bybusyness.html">mod_lbmethod_bybusyness</a></code></li> + <li><code class="module"><a href="../mod/mod_lbmethod_heartbeat.html">mod_lbmethod_heartbeat</a></code></li> + </ul> + + <p>Ainsi, pour mettre en oeuvre la répartition de charge, + <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code>, <code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code> et + au moins un des modules fournissant l'algorithme de planification de + la répartition de charge doivent être chargés dans le serveur.</p> + + <div class="warning"><h3>Avertissement</h3> + <p>N'activez pas la fonctionnalité de mandataire avant d'avoir <a href="mod_proxy.html#access">sécurisé votre serveur</a>. Les + serveurs mandataires ouverts sont dangereux non seulement pour + votre réseau, mais aussi pour l'Internet au sens large.</p> + </div> +</div> +<div id="quickview"><h3>Sujets</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#scheduler">L'algorithme de planification de la répartition de + charge</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#stickyness">Répartition de charge avec abonnement utilisateur + (stickyness)</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#example">Exemples de configuration d'un répartiteur</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#environment">Variables d'environnement exportées</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#balancer_manager">Activation du support du gestionnaire de répartiteur</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#stickyness_implementation">Détails à propos de la répartition de charge par abonnement + (stickyness)</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#stickyness_troubleshooting">Résolution des problèmes liés à la répartition de charge par + abonnement</a></li> +</ul><h3 class="directives">Directives</h3> +<p>Ce module ne fournit aucune directive.</p> +<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_proxy_balancer">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_proxy_balancer">Signaler un bug</a></li></ul><h3>Voir aussi</h3> +<ul class="seealso"> +<li><code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></li> +<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="scheduler" id="scheduler">L'algorithme de planification de la répartition de + charge</a></h2> + + <p>A l'heure actuelle, 3 algorithmes de planification de la + répartition de charge sont disponibles : ils se basent + respectivement sur le comptage des requêtes, la mesure du trafic et + le comptage des requêtes en attente. Ils sont contrôlés par la + valeur de <code>lbmethod</code> dans la définition du répartiteur. + Voir la directive <code class="directive"><a href="../mod/mod_proxy.html#proxypass">ProxyPass</a></code> pour plus de détails, et en + particulier la configuration du répartiteur et de ses membres.</p> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="stickyness" id="stickyness">Répartition de charge avec abonnement utilisateur + (stickyness)</a></h2> + + <p>Le répartiteur supporte l'abonnement utilisateur. Lorsqu'une + requête est mandatée vers un serveur d'arrière-plan particulier, + toutes les requêtes suivantes du même utilisateur seront alors + mandatées vers le même serveur d'arrière-plan. De nombreux + répartiteurs de charge implémentent cette fonctionnalité via une + table qui associe les adresses IP des clients aux serveurs + d'arrière-plan. Cette approche est transparente aux clients et aux + serveurs d'arrière-plan, mais induit certains problèmes : + distribution de charge inégale si les clients se trouvent eux-mêmes + derrière un mandataire, erreurs d'abonnement lorsqu'un client + possède une adresse IP dynamique qui peut changer au cours d'une + session et perte d'abonnement en cas de dépassement de la table de + correspondances.</p> + <p>Le module <code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code> implémente + l'abonnement selon deux alternatives : les cookies et le codage + d'URL. Le cookie peut être fourni par le serveur d'arrière-plan ou + par le serveur web Apache lui-même, alors que le codage d'URL est en + général effectué par le serveur d'arrière-plan.</p> + +</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">Exemples de configuration d'un répartiteur</a></h2> + + <p>Avant de nous plonger dans les détails techniques, voici un + exemple d'utilisation de <code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code> mettant + en oeuvre la répartition de charge entre deux serveurs + d'arrière-plan : + </p> + + <pre class="prettyprint lang-config"><Proxy balancer://mycluster> + BalancerMember http://192.168.1.50:80 + BalancerMember http://192.168.1.51:80 +</Proxy> +ProxyPass "/test" "balancer://mycluster" +ProxyPassReverse "/test" "balancer://mycluster"</pre> + + + + <p>Voici un autre exemple de répartiteur de charge avec + abonnement utilisant <code class="module"><a href="../mod/mod_headers.html">mod_headers</a></code>, + fonctionnant même si le serveur d'arrière-plan ne définit pas de + cookie de session approprié : + </p> + + <pre class="prettyprint lang-config">Header add Set-Cookie "ROUTEID=.%{BALANCER_WORKER_ROUTE}e; path=/" env=BALANCER_ROUTE_CHANGED +<Proxy balancer://mycluster> + BalancerMember http://192.168.1.50:80 route=1 + BalancerMember http://192.168.1.51:80 route=2 + ProxySet stickysession=ROUTEID +</Proxy> +ProxyPass "/test" "balancer://mycluster" +ProxyPassReverse "/test" "balancer://mycluster"</pre> + + +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="environment" id="environment">Variables d'environnement exportées</a></h2> + + <p>A l'heure actuelle, 6 variables d'environnement sont exportées :</p> + + <dl> + + <dt><var><a name="balancer_session_sticky" id="balancer_session_sticky">BALANCER_SESSION_STICKY</a></var></dt> + <dd> + <p>Cette variable se voir assignée la valeur de + <var>stickysession</var> pour la requête courante. Il s'agit du + nom du cookie ou du paramètre de requête utilisé pour les sessions + avec abonnement.</p> + </dd> + + + <dt><var><a name="balancer_session_route" id="balancer_session_route">BALANCER_SESSION_ROUTE</a></var></dt> + <dd> + <p>Cette variable se voit assignée la <var>route</var> interprétée + pour la requête courante.</p> + </dd> + + + <dt><var><a name="balancer_name" id="balancer_name">BALANCER_NAME</a></var></dt> + <dd> + <p>Cette variable se voit assigné le nom du répartiteur pour la + requête courante. Il s'agit d'une valeur du style + <code>balancer://foo</code>.</p> + </dd> + + + <dt><var><a name="balancer_worker_name" id="balancer_worker_name">BALANCER_WORKER_NAME</a></var></dt> + <dd> + <p>Cette variable se voit assigné le nom du membre du groupe de + répartition de charge utilisé pour la requête courante. Il s'agit + d'une valeur du style <code>http://hostA:1234</code>.</p> + </dd> + + + <dt><var><a name="balancer_worker_route" id="balancer_worker_route">BALANCER_WORKER_ROUTE</a></var></dt> + <dd> + <p>Cette variable se voit assignée la <var>route</var> du membre du + groupe de répartition de charge qui sera utilisé pour la requête + courante.</p> + </dd> + + + <dt><var><a name="balancer_route_changed" id="balancer_route_changed">BALANCER_ROUTE_CHANGED</a></var></dt> + <dd> + <p>Cette variable est définie à 1 si la route de la session ne + correspond pas à celle du membre du groupe de répartition de charge + (BALANCER_SESSION_ROUTE != BALANCER_WORKER_ROUTE), ou si la session + ne possède pas encore de route établie. Elle peut servir à + déterminer quand il est éventuellement nécessaire d'envoyer au + client une route mise à jour lorsque les sessions persistantes sont + utilisées.</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="balancer_manager" id="balancer_manager">Activation du support du gestionnaire de répartiteur</a></h2> + + <p>Cette fonctionnalité <em>nécessite</em> le chargement du module + <code class="module"><a href="../mod/mod_status.html">mod_status</a></code>. Le gestionnaire de répartiteur permet + la mise à jour dynamique des membres du groupe de répartition de + charge. Vous pouvez utiliser le gestionnaire de répartiteur pour + modifier le facteur de charge d'un membre particulier, ou passer ce + dernier en mode hors ligne. + </p> + + <p>Ainsi, pour mettre en oeuvre la gestion du répartiteur de charge, + <code class="module"><a href="../mod/mod_status.html">mod_status</a></code> et <code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code> + doivent être chargés dans le serveur.</p> + + <p>Pour permettre la gestion du répartiteur de charge aux + navigateurs appartenant au domaine example.com, ajoutez ces lignes à + votre fichier de configuration <code>httpd.conf</code> :</p> +<pre class="prettyprint lang-config"><Location "/balancer-manager"> + SetHandler balancer-manager + Require host example.com +</Location></pre> + + + <p>Vous pourrez alors accéder au gestionnaire du répartiteur de + charge en utilisant un navigateur web pour afficher la page + <code>http://nom.de.votre.serveur/balancer-manager</code>. Notez que + pour pouvoir contrôler dynamiquement un membre de groupe de + répartition, ce dernier ne doit pas être défini au sein d'une + section <code><Location ...></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="stickyness_implementation" id="stickyness_implementation">Détails à propos de la répartition de charge par abonnement + (stickyness)</a></h2> + + <p>Si l'abonnement s'appuie sur un cookie, vous devez définir le nom + de ce cookie dont le contenu précise le serveur d'arrière-plan à + utiliser. Pour ce faire, on utilise l'attribut + <var>stickysession</var> avec la directive <code class="directive"><a href="../mod/mod_proxy.html#proxypass">ProxyPass</a></code> ou <code class="directive"><a href="../mod/mod_proxy.html#proxyset">ProxySet</a></code>. Le nom du cookie est + sensible à la casse. Le répartiteur extrait le contenu du cookie et + recherche un serveur membre dont la <var>route</var> correspond à + cette valeur. La route doit aussi être définie dans la directive <code class="directive"><a href="../mod/mod_proxy.html#proxypass">ProxyPass</a></code> ou <code class="directive"><a href="../mod/mod_proxy.html#proxyset">ProxySet</a></code>. Le cookie peut être défini + soit par le serveur d'arrière-plan, soit, comme indiqué dans l'<a href="#example">exemple</a> ci-dessus par le serveur web Apache + lui-même.</p> + <p>Certains serveurs d'arrière-plan, tels qu'Apache Tomcat, + utilisent une forme sensiblement différente de cookie d'abonnement. + Tomcat ajoute le nom de l'instance Tomcat à la fin de son + identifiant de session, précédé par un point. Ainsi, si le serveur + web Apache trouve un point dans la valeur du cookie d'abonnement, il + n'utilisera que la partie située après ce point pour + rechercher sa route. Pour que Tomcat puisse connaître son nom + d'instance, vous devez définir l'attribut <code>jvmRoute</code> dans + son fichier de configuration <code>conf/server.xml</code> à la + valeur de la <var>route</var> du serveur qui se connecte au Tomcat + considéré. Le nom du cookie de session utilisé par Tomcat (et plus + généralement par les applications web Java à base de servlets) est + <code>JSESSIONID</code> (en majuscules), mais peut être modifié.</p> + + <p>La seconde méthode pour implémenter l'abonnement est le codage + d'URL. Ici, le serveur web recherche un paramètre dans l'URL de la + requête. Le nom du paramètre est spécifié par l'attribut + <var>stickysession</var>. Pour trouver un serveur membre, on + recherche un serveur dont la <var>route</var> est égale à la valeur + du paramètre. Comme il n'est pas aisé d'extraire et de manipuler + tous les liens URL contenus dans les réponses, le travail consistant + à ajouter les paramètres à chaque lien est généralement effectué par + le serveur d'arrière-plan qui génère le contenu. Bien qu'il soit + possible dans certains cas d'effectuer ces ajouts au niveau du + serveur web via les modules <code class="module"><a href="../mod/mod_substitute.html">mod_substitute</a></code> ou + <code class="module"><a href="../mod/mod_sed.html">mod_sed</a></code>, cette méthode peut dégrader les + performances.</p> + + <p>Les standards Java implémentent le codage d'URL de manière + sensiblement différente. Ils ajoutent une information de chemin à + l'URL en utilisant un point-virgule (<code>;</code>) comme + séparateur, puis ajoutent enfin l'identifiant de session. Comme dans + le cas des cookies, Apache Tomcat peut insérer la valeur de + l'attribut <code>jvmRoute</code> dans cette information de chemin. + Pour qu'Apache puisse trouver ce genre d'information de chemin, vous + devez définir <code>scolonpathdelim</code> à <code>On</code> dans la + directive <code class="directive"><a href="../mod/mod_proxy.html#proxypass">ProxyPass</a></code> ou + <code class="directive"><a href="../mod/mod_proxy.html#proxyset">ProxySet</a></code>.</p> + + <p>Enfin, vous pouvez utiliser simultanément les cookies et le codage + d'URL en définissant le nom du cookie et le nom du paramètre d'URL + séparés par une barre verticale (<code>|</code>) comme dans + l'exemple suivant :</p> + <pre class="prettyprint lang-config">ProxyPass "/test" "balancer://mycluster" stickysession=JSESSIONID|jsessionid scolonpathdelim=On +<Proxy balancer://mycluster> + BalancerMember http://192.168.1.50:80 route=node1 + BalancerMember http://192.168.1.51:80 route=node2 +</Proxy></pre> + + <p>Si le cookie et le paramètre de requête fournissent tous deux une + information de route correcte pour la même requête, c'est + l'information en provenance du paramètre de requête qui sera + retenue.</p> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="stickyness_troubleshooting" id="stickyness_troubleshooting">Résolution des problèmes liés à la répartition de charge par + abonnement</a></h2> + + <p>Si vous êtes confronté à des erreurs d'abonnement, comme la + nécessité pour les utilisateurs de se reconnecter suite à une perte + de session d'application, vous devez tout d'abord vérifier si ceci + n'est pas du à une indisponibilité sporadique des serveurs + d'arrière-plan ou à une erreur de configuration. La présence de + messages d'erreur de type proxy dans le journal des erreurs d'Apache + pourra révéler des problèmes de stabilité au niveau des serveurs + d'arrière-plan.</p> + <p>Pour contrôler votre configuration, regardez tout d'abord si + l'abonnement est à base de cookie ou de codage d'URL. L'étape + suivante consiste à enregistrer certaines données dans le journal + des accès en utilisant un <code class="directive"><a href="../mod/mod_log_config.html#format de journalisation">format + de journalisation</a></code> personnalisé. Les champs intéressants + sont les suivants :</p> + <dl> + <dt><code>%{MONCOOKIE}C</code></dt> + <dd>La valeur que contient le cookie de nom <code>MONCOOKIE</code>. + Le nom doit correspondre au nom défini par l'attribut + <var>stickysession</var>.</dd> + <dt><code>%{Set-Cookie}o</code></dt> + <dd>Ce champ contient tout cookie défini par le serveur + d'arrière-plan. Vous pouvez ainsi vérifier si le serveur + d'arrière-plan définit bien le cookie de session auquel vous vous + attendez, et à quelle valeur il est défini.</dd> + <dt><code>%{BALANCER_SESSION_STICKY}e</code></dt> + <dd>Le nom du cookie ou du paramètre de requête utilisé pour la + recherche de l'information de routage.</dd> + <dt><code>%{BALANCER_SESSION_ROUTE}e</code></dt> + <dd>L'information de routage extraite de la requête.</dd> + <dt><code>%{BALANCER_WORKER_ROUTE}e</code></dt> + <dd>La route du serveur choisi.</dd> + <dt><code>%{BALANCER_ROUTE_CHANGED}e</code></dt> + <dd>Contient la valeur <code>1</code> si la route extraite de la + requête est différente de la route du serveur ; autrement dit, le + traitement de la requête n'a pas pu être effectué dans le cadre + d'une répartition de charge par abonnement.</dd> + </dl> + <p>Les pertes de session sont souvent dues à des expirations de + session dont la valeur peut en général être configurée au niveau du + serveur d'arrière-plan.</p> + <p>Si le niveau de journalisation est défini à <code>debug</code> ou + plus, le répartiteur journalise aussi des informations détaillées à + propos de l'abonnement dans le journal des erreurs, ce qui facilite + la résolution des problèmes d'abonnement. Notez cependant que le + volume de journalisation pourra alors s'avérer trop important pour + un serveur en production sous forte charge.</p> +</div> +</div> +<div class="bottomlang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_proxy_balancer.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_proxy_balancer.html" title="Français"> fr </a> | +<a href="../ja/mod/mod_proxy_balancer.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/trunk/mod/mod_proxy_balancer.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 2017 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_proxy_balancer.xml.fr b/docs/manual/mod/mod_proxy_balancer.xml.fr new file mode 100644 index 0000000000..ebb931fae2 --- /dev/null +++ b/docs/manual/mod/mod_proxy_balancer.xml.fr @@ -0,0 +1,360 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd"> +<?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?> +<!-- English Revision: 1731532 --> +<!-- 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_proxy_balancer.xml.meta"> + +<name>mod_proxy_balancer</name> +<description>Extension de <module>mod_proxy</module> pour le support de +la répartition de charge</description> +<status>Extension</status> +<sourcefile>mod_proxy_balancer.c</sourcefile> +<identifier>proxy_balancer_module</identifier> + +<summary> + <p>Pour pouvoir fonctionner, ce module <em>requiert</em> le + chargement de <module>mod_proxy</module>, et il fournit le support de + la répartition de charge pour tous les protocoles supportés. Parmi ces + protocoles, les plus importants sont :</p> + <ul> + <li>HTTP, avec le module <module>mod_proxy_http</module></li> + <li>FTP, avec le module <module>mod_proxy_ftp</module></li> + <li>AJP13, avec le module <module>mod_proxy_ajp</module></li> + <li>WebSocket, avec le module <module>mod_proxy_wstunnel</module></li> + </ul> + + + <p>L'algorithme de planification de la répartition de charge n'est pas + fourni par ce module, mais par ceux-ci :</p> + <ul> + <li><module>mod_lbmethod_byrequests</module></li> + <li><module>mod_lbmethod_bytraffic</module></li> + <li><module>mod_lbmethod_bybusyness</module></li> + <li><module>mod_lbmethod_heartbeat</module></li> + </ul> + + <p>Ainsi, pour mettre en oeuvre la répartition de charge, + <module>mod_proxy</module>, <module>mod_proxy_balancer</module> et + au moins un des modules fournissant l'algorithme de planification de + la répartition de charge doivent être chargés dans le serveur.</p> + + <note type="warning"><title>Avertissement</title> + <p>N'activez pas la fonctionnalité de mandataire avant d'avoir <a + href="mod_proxy.html#access">sécurisé votre serveur</a>. Les + serveurs mandataires ouverts sont dangereux non seulement pour + votre réseau, mais aussi pour l'Internet au sens large.</p> + </note> +</summary> +<seealso><module>mod_proxy</module></seealso> + +<section id="scheduler"> + <title>L'algorithme de planification de la répartition de + charge</title> + <p>A l'heure actuelle, 3 algorithmes de planification de la + répartition de charge sont disponibles : ils se basent + respectivement sur le comptage des requêtes, la mesure du trafic et + le comptage des requêtes en attente. Ils sont contrôlés par la + valeur de <code>lbmethod</code> dans la définition du répartiteur. + Voir la directive <directive + module="mod_proxy">ProxyPass</directive> pour plus de détails, et en + particulier la configuration du répartiteur et de ses membres.</p> +</section> + +<section id="stickyness"> + <title>Répartition de charge avec abonnement utilisateur + (stickyness)</title> + <p>Le répartiteur supporte l'abonnement utilisateur. Lorsqu'une + requête est mandatée vers un serveur d'arrière-plan particulier, + toutes les requêtes suivantes du même utilisateur seront alors + mandatées vers le même serveur d'arrière-plan. De nombreux + répartiteurs de charge implémentent cette fonctionnalité via une + table qui associe les adresses IP des clients aux serveurs + d'arrière-plan. Cette approche est transparente aux clients et aux + serveurs d'arrière-plan, mais induit certains problèmes : + distribution de charge inégale si les clients se trouvent eux-mêmes + derrière un mandataire, erreurs d'abonnement lorsqu'un client + possède une adresse IP dynamique qui peut changer au cours d'une + session et perte d'abonnement en cas de dépassement de la table de + correspondances.</p> + <p>Le module <module>mod_proxy_balancer</module> implémente + l'abonnement selon deux alternatives : les cookies et le codage + d'URL. Le cookie peut être fourni par le serveur d'arrière-plan ou + par le serveur web Apache lui-même, alors que le codage d'URL est en + général effectué par le serveur d'arrière-plan.</p> + +</section> + +<section id="example"> + <title>Exemples de configuration d'un répartiteur</title> + <p>Avant de nous plonger dans les détails techniques, voici un + exemple d'utilisation de <module>mod_proxy_balancer</module> mettant + en oeuvre la répartition de charge entre deux serveurs + d'arrière-plan : + </p> + + <highlight language="config"> +<Proxy balancer://mycluster> + BalancerMember http://192.168.1.50:80 + BalancerMember http://192.168.1.51:80 +</Proxy> +ProxyPass "/test" "balancer://mycluster" +ProxyPassReverse "/test" "balancer://mycluster" + </highlight> + + + <p>Voici un autre exemple de répartiteur de charge avec + abonnement utilisant <module>mod_headers</module>, + fonctionnant même si le serveur d'arrière-plan ne définit pas de + cookie de session approprié : + </p> + + <highlight language="config"> +Header add Set-Cookie "ROUTEID=.%{BALANCER_WORKER_ROUTE}e; path=/" env=BALANCER_ROUTE_CHANGED +<Proxy balancer://mycluster> + BalancerMember http://192.168.1.50:80 route=1 + BalancerMember http://192.168.1.51:80 route=2 + ProxySet stickysession=ROUTEID +</Proxy> +ProxyPass "/test" "balancer://mycluster" +ProxyPassReverse "/test" "balancer://mycluster" + </highlight> + +</section> + +<section id="environment"> + <title>Variables d'environnement exportées</title> + <p>A l'heure actuelle, 6 variables d'environnement sont exportées :</p> + + <dl> + <!-- ============= BALANCER_SESSION_STICKY =============== --> + <dt><var><a name="balancer_session_sticky" id="balancer_session_sticky">BALANCER_SESSION_STICKY</a></var></dt> + <dd> + <p>Cette variable se voir assignée la valeur de + <var>stickysession</var> pour la requête courante. Il s'agit du + nom du cookie ou du paramètre de requête utilisé pour les sessions + avec abonnement.</p> + </dd> + + <!-- ============= BALANCER_SESSION_ROUTE ================ --> + <dt><var><a name="balancer_session_route" id="balancer_session_route">BALANCER_SESSION_ROUTE</a></var></dt> + <dd> + <p>Cette variable se voit assignée la <var>route</var> interprétée + pour la requête courante.</p> + </dd> + + <!-- ============= BALANCER_NAME ========================= --> + <dt><var><a name="balancer_name" id="balancer_name">BALANCER_NAME</a></var></dt> + <dd> + <p>Cette variable se voit assigné le nom du répartiteur pour la + requête courante. Il s'agit d'une valeur du style + <code>balancer://foo</code>.</p> + </dd> + + <!-- ============= BALANCER_WORKER_NAME ================== --> + <dt><var><a name="balancer_worker_name" id="balancer_worker_name">BALANCER_WORKER_NAME</a></var></dt> + <dd> + <p>Cette variable se voit assigné le nom du membre du groupe de + répartition de charge utilisé pour la requête courante. Il s'agit + d'une valeur du style <code>http://hostA:1234</code>.</p> + </dd> + + <!-- ============= BALANCER_WORKER_ROUTE ================= --> + <dt><var><a name="balancer_worker_route" id="balancer_worker_route">BALANCER_WORKER_ROUTE</a></var></dt> + <dd> + <p>Cette variable se voit assignée la <var>route</var> du membre du + groupe de répartition de charge qui sera utilisé pour la requête + courante.</p> + </dd> + + <!-- ============= BALANCER_ROUTE_CHANGED ================= --> + <dt><var><a name="balancer_route_changed" id="balancer_route_changed">BALANCER_ROUTE_CHANGED</a></var></dt> + <dd> + <p>Cette variable est définie à 1 si la route de la session ne + correspond pas à celle du membre du groupe de répartition de charge + (BALANCER_SESSION_ROUTE != BALANCER_WORKER_ROUTE), ou si la session + ne possède pas encore de route établie. Elle peut servir à + déterminer quand il est éventuellement nécessaire d'envoyer au + client une route mise à jour lorsque les sessions persistantes sont + utilisées.</p> + </dd> + </dl> + +</section> + +<section id="balancer_manager"> + <title>Activation du support du gestionnaire de répartiteur</title> + <p>Cette fonctionnalité <em>nécessite</em> le chargement du module + <module>mod_status</module>. Le gestionnaire de répartiteur permet + la mise à jour dynamique des membres du groupe de répartition de + charge. Vous pouvez utiliser le gestionnaire de répartiteur pour + modifier le facteur de charge d'un membre particulier, ou passer ce + dernier en mode hors ligne. + </p> + + <p>Ainsi, pour mettre en oeuvre la gestion du répartiteur de charge, + <module>mod_status</module> et <module>mod_proxy_balancer</module> + doivent être chargés dans le serveur.</p> + + <p>Pour permettre la gestion du répartiteur de charge aux + navigateurs appartenant au domaine example.com, ajoutez ces lignes à + votre fichier de configuration <code>httpd.conf</code> :</p> +<highlight language="config"> +<Location "/balancer-manager"> + SetHandler balancer-manager + Require host example.com +</Location> +</highlight> + + <p>Vous pourrez alors accéder au gestionnaire du répartiteur de + charge en utilisant un navigateur web pour afficher la page + <code>http://nom.de.votre.serveur/balancer-manager</code>. Notez que + pour pouvoir contrôler dynamiquement un membre de groupe de + répartition, ce dernier ne doit pas être défini au sein d'une + section <code><Location ...></code>.</p> +</section> + +<section id="stickyness_implementation"> + <title>Détails à propos de la répartition de charge par abonnement + (stickyness)</title> + <p>Si l'abonnement s'appuie sur un cookie, vous devez définir le nom + de ce cookie dont le contenu précise le serveur d'arrière-plan à + utiliser. Pour ce faire, on utilise l'attribut + <var>stickysession</var> avec la directive <directive + module="mod_proxy">ProxyPass</directive> ou <directive + module="mod_proxy">ProxySet</directive>. Le nom du cookie est + sensible à la casse. Le répartiteur extrait le contenu du cookie et + recherche un serveur membre dont la <var>route</var> correspond à + cette valeur. La route doit aussi être définie dans la directive <directive + module="mod_proxy">ProxyPass</directive> ou <directive + module="mod_proxy">ProxySet</directive>. Le cookie peut être défini + soit par le serveur d'arrière-plan, soit, comme indiqué dans l'<a + href="#example">exemple</a> ci-dessus par le serveur web Apache + lui-même.</p> + <p>Certains serveurs d'arrière-plan, tels qu'Apache Tomcat, + utilisent une forme sensiblement différente de cookie d'abonnement. + Tomcat ajoute le nom de l'instance Tomcat à la fin de son + identifiant de session, précédé par un point. Ainsi, si le serveur + web Apache trouve un point dans la valeur du cookie d'abonnement, il + n'utilisera que la partie située après ce point pour + rechercher sa route. Pour que Tomcat puisse connaître son nom + d'instance, vous devez définir l'attribut <code>jvmRoute</code> dans + son fichier de configuration <code>conf/server.xml</code> à la + valeur de la <var>route</var> du serveur qui se connecte au Tomcat + considéré. Le nom du cookie de session utilisé par Tomcat (et plus + généralement par les applications web Java à base de servlets) est + <code>JSESSIONID</code> (en majuscules), mais peut être modifié.</p> + + <p>La seconde méthode pour implémenter l'abonnement est le codage + d'URL. Ici, le serveur web recherche un paramètre dans l'URL de la + requête. Le nom du paramètre est spécifié par l'attribut + <var>stickysession</var>. Pour trouver un serveur membre, on + recherche un serveur dont la <var>route</var> est égale à la valeur + du paramètre. Comme il n'est pas aisé d'extraire et de manipuler + tous les liens URL contenus dans les réponses, le travail consistant + à ajouter les paramètres à chaque lien est généralement effectué par + le serveur d'arrière-plan qui génère le contenu. Bien qu'il soit + possible dans certains cas d'effectuer ces ajouts au niveau du + serveur web via les modules <module>mod_substitute</module> ou + <module>mod_sed</module>, cette méthode peut dégrader les + performances.</p> + + <p>Les standards Java implémentent le codage d'URL de manière + sensiblement différente. Ils ajoutent une information de chemin à + l'URL en utilisant un point-virgule (<code>;</code>) comme + séparateur, puis ajoutent enfin l'identifiant de session. Comme dans + le cas des cookies, Apache Tomcat peut insérer la valeur de + l'attribut <code>jvmRoute</code> dans cette information de chemin. + Pour qu'Apache puisse trouver ce genre d'information de chemin, vous + devez définir <code>scolonpathdelim</code> à <code>On</code> dans la + directive <directive module="mod_proxy">ProxyPass</directive> ou + <directive module="mod_proxy">ProxySet</directive>.</p> + + <p>Enfin, vous pouvez utiliser simultanément les cookies et le codage + d'URL en définissant le nom du cookie et le nom du paramètre d'URL + séparés par une barre verticale (<code>|</code>) comme dans + l'exemple suivant :</p> + <highlight language="config"> +ProxyPass "/test" "balancer://mycluster" stickysession=JSESSIONID|jsessionid scolonpathdelim=On +<Proxy balancer://mycluster> + BalancerMember http://192.168.1.50:80 route=node1 + BalancerMember http://192.168.1.51:80 route=node2 +</Proxy> + </highlight> + <p>Si le cookie et le paramètre de requête fournissent tous deux une + information de route correcte pour la même requête, c'est + l'information en provenance du paramètre de requête qui sera + retenue.</p> +</section> + +<section id="stickyness_troubleshooting"> + <title>Résolution des problèmes liés à la répartition de charge par + abonnement</title> + <p>Si vous êtes confronté à des erreurs d'abonnement, comme la + nécessité pour les utilisateurs de se reconnecter suite à une perte + de session d'application, vous devez tout d'abord vérifier si ceci + n'est pas du à une indisponibilité sporadique des serveurs + d'arrière-plan ou à une erreur de configuration. La présence de + messages d'erreur de type proxy dans le journal des erreurs d'Apache + pourra révéler des problèmes de stabilité au niveau des serveurs + d'arrière-plan.</p> + <p>Pour contrôler votre configuration, regardez tout d'abord si + l'abonnement est à base de cookie ou de codage d'URL. L'étape + suivante consiste à enregistrer certaines données dans le journal + des accès en utilisant un <directive module="mod_log_config">format + de journalisation</directive> personnalisé. Les champs intéressants + sont les suivants :</p> + <dl> + <dt><code>%{MONCOOKIE}C</code></dt> + <dd>La valeur que contient le cookie de nom <code>MONCOOKIE</code>. + Le nom doit correspondre au nom défini par l'attribut + <var>stickysession</var>.</dd> + <dt><code>%{Set-Cookie}o</code></dt> + <dd>Ce champ contient tout cookie défini par le serveur + d'arrière-plan. Vous pouvez ainsi vérifier si le serveur + d'arrière-plan définit bien le cookie de session auquel vous vous + attendez, et à quelle valeur il est défini.</dd> + <dt><code>%{BALANCER_SESSION_STICKY}e</code></dt> + <dd>Le nom du cookie ou du paramètre de requête utilisé pour la + recherche de l'information de routage.</dd> + <dt><code>%{BALANCER_SESSION_ROUTE}e</code></dt> + <dd>L'information de routage extraite de la requête.</dd> + <dt><code>%{BALANCER_WORKER_ROUTE}e</code></dt> + <dd>La route du serveur choisi.</dd> + <dt><code>%{BALANCER_ROUTE_CHANGED}e</code></dt> + <dd>Contient la valeur <code>1</code> si la route extraite de la + requête est différente de la route du serveur ; autrement dit, le + traitement de la requête n'a pas pu être effectué dans le cadre + d'une répartition de charge par abonnement.</dd> + </dl> + <p>Les pertes de session sont souvent dues à des expirations de + session dont la valeur peut en général être configurée au niveau du + serveur d'arrière-plan.</p> + <p>Si le niveau de journalisation est défini à <code>debug</code> ou + plus, le répartiteur journalise aussi des informations détaillées à + propos de l'abonnement dans le journal des erreurs, ce qui facilite + la résolution des problèmes d'abonnement. Notez cependant que le + volume de journalisation pourra alors s'avérer trop important pour + un serveur en production sous forte charge.</p> +</section> + +</modulesynopsis> diff --git a/docs/manual/mod/mod_proxy_balancer.xml.meta b/docs/manual/mod/mod_proxy_balancer.xml.meta index fe444274b2..ef621147e4 100644 --- a/docs/manual/mod/mod_proxy_balancer.xml.meta +++ b/docs/manual/mod/mod_proxy_balancer.xml.meta @@ -8,6 +8,7 @@ <variants> <variant>en</variant> + <variant>fr</variant> <variant outdated="yes">ja</variant> </variants> </metafile> diff --git a/docs/manual/mod/mod_proxy_connect.html b/docs/manual/mod/mod_proxy_connect.html index 05c12719b1..4d4aafaa7c 100644 --- a/docs/manual/mod/mod_proxy_connect.html +++ b/docs/manual/mod/mod_proxy_connect.html @@ -4,6 +4,10 @@ URI: mod_proxy_connect.html.en Content-Language: en Content-type: text/html; charset=ISO-8859-1 +URI: mod_proxy_connect.html.fr +Content-Language: fr +Content-type: text/html; charset=ISO-8859-1 + URI: mod_proxy_connect.html.ja.utf8 Content-Language: ja Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_proxy_connect.html.fr b/docs/manual/mod/mod_proxy_connect.html.fr new file mode 100644 index 0000000000..060843eb9e --- /dev/null +++ b/docs/manual/mod/mod_proxy_connect.html.fr @@ -0,0 +1,157 @@ +<?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> +<meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_proxy_connect - Serveur Apache HTTP Version 2.5</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.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p> +<p class="apache">Serveur Apache HTTP Version 2.5</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.5</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Module Apache mod_proxy_connect</h1> +<div class="toplang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_proxy_connect.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_proxy_connect.html" title="Français"> fr </a> | +<a href="../ja/mod/mod_proxy_connect.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a></p> +</div> +<div class="outofdate">Cette traduction peut être périmée. Vérifiez la version + anglaise pour les changements récents.</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Extension de <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> pour le traitement +des requêtes <code>CONNECT</code></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>proxy_connect_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_proxy_connect.c</td></tr></table> +<h3>Sommaire</h3> + + <p>Pour fonctionner, ce module <em>nécessite</em> le chargement de + <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code>. Il fournit le support de la méthode HTTP + <code>CONNECT</code>. Cette méthode est principalement utilisée pour + le franchissement des serveurs mandataires par les requêtes SSL à l'aide + d'un tunnel.</p> + + <p>Ainsi, pour pouvoir traiter les requêtes <code>CONNECT</code>, + <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> et <code class="module"><a href="../mod/mod_proxy_connect.html">mod_proxy_connect</a></code> + doivent être chargés dans le serveur.</p> + + <p>CONNECT est aussi utilisée lorsque le serveur doit envoyer une + requête HTTPS via un mandataire. Dans ce cas, le serveur se comporte + comme un client CONNECT. Cette fonctionnalité étant fournie par le + module <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code>, le module + <code class="module"><a href="../mod/mod_proxy_connect.html">mod_proxy_connect</a></code> n'est dans ce cas pas nécessaire.</p> + + <div class="warning"><h3>Avertissement</h3> + <p>N'activez pas la fonctionnalité de mandataire avant d'avoir <a href="mod_proxy.html#access">sécurisé votre serveur</a>. Les + serveurs mandataires ouverts sont dangereux non seulement pour + votre réseau, mais aussi pour l'Internet au sens large.</p> + </div> +</div> +<div id="quickview"><h3>Sujets</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#notes">Informations sur les requêtes</a></li> +</ul><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#allowconnect">AllowCONNECT</a></li> +</ul> +<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_proxy_connect">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_proxy_connect">Signaler un bug</a></li></ul><h3>Voir aussi</h3> +<ul class="seealso"> +<li><code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></li> +<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="notes" id="notes">Informations sur les requêtes</a></h2> + <p><code class="module"><a href="../mod/mod_proxy_connect.html">mod_proxy_connect</a></code> enregistre les informations + suivantes pour journalisation via le format <code>%{NOMVAR}n</code> + dans les directives <code class="directive"><a href="../mod/mod_log_config.html#logformat">LogFormat</a></code> ou <code class="directive"><a href="../mod/core.html#errorlogformat">ErrorLogFormat</a></code> : + </p> + <dl> + <dt>proxy-source-port</dt> + <dd>Le port local utilisé pour la connexion vers le serveur + d'arrière-plan.</dd> + </dl> + + <p>Les requêtes avec méthode CONNECT sont traitées dans les sections + <code class="directive"><a href="../mod/mod_proxy.html#proxy">Proxy</a></code> au même titre que + toute autre requête HTTP qui passe par cette même section. Il est + possible de filtrer explicitement les connexions SSL à travers un + mandataire en spécifiant les nom d'hôte et port cible comme suit : + </p> + + <pre class="prettyprint lang-config"><Proxy www.example.com:443> + Require ip 192.168.0.0/16 +</Proxy></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="allowconnect" id="allowconnect">Directive</a> <a name="AllowCONNECT" id="AllowCONNECT">AllowCONNECT</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Ports autorisés à se <code>CONNECT</code>er à travers le +mandataire</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AllowCONNECT <var>port</var>[-<var>port</var>] +[<var>port</var>[-<var>port</var>]] ...</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>AllowCONNECT 443 563</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_proxy_connect</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Déplacé depuis <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> à partir +d'Apache 2.3.5. Tranches de ports disponibles depuis Apache 2.3.7.</td></tr> +</table> + <p>La directive <code class="directive">AllowCONNECT</code> permet de + spécifier une liste de numéros ou de tranches de ports auxquels la + méthode de mandataire <code>CONNECT</code> pourra se connecter. Les + navigateurs d'aujourd'hui utilisent cette méthode dans le cas où une + connexion <code>https</code> est requise et où le tunneling + mandataire sur HTTP est en service.</p> + + <p>Par défaut, seuls les ports par défauts https (<code>443</code>) + et snews (<code>563</code>) sont pris en compte. Vous pouvez + utiliser la directive <code class="directive">AllowCONNECT</code> pour + outrepasser ces valeurs par défaut et n'autoriser les connexions que + vers les ports spécifiés.</p> + +</div> +</div> +<div class="bottomlang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_proxy_connect.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_proxy_connect.html" title="Français"> fr </a> | +<a href="../ja/mod/mod_proxy_connect.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/trunk/mod/mod_proxy_connect.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 2017 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_proxy_connect.xml.fr b/docs/manual/mod/mod_proxy_connect.xml.fr new file mode 100644 index 0000000000..06f08c8e86 --- /dev/null +++ b/docs/manual/mod/mod_proxy_connect.xml.fr @@ -0,0 +1,116 @@ +<?xml version="1.0"?> +<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd"> +<?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?> +<!-- English Revision: 1648846:1780210 (outdated) --> +<!-- French translation : Lucien GENTIS --> +<!-- $LastChangedRevision: 2015010301 $ --> + +<!-- + 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_proxy_connect.xml.meta"> + +<name>mod_proxy_connect</name> +<description>Extension de <module>mod_proxy</module> pour le traitement +des requêtes <code>CONNECT</code></description> +<status>Extension</status> +<sourcefile>mod_proxy_connect.c</sourcefile> +<identifier>proxy_connect_module</identifier> + +<summary> + <p>Pour fonctionner, ce module <em>nécessite</em> le chargement de + <module>mod_proxy</module>. Il fournit le support de la méthode HTTP + <code>CONNECT</code>. Cette méthode est principalement utilisée pour + le franchissement des serveurs mandataires par les requêtes SSL à l'aide + d'un tunnel.</p> + + <p>Ainsi, pour pouvoir traiter les requêtes <code>CONNECT</code>, + <module>mod_proxy</module> et <module>mod_proxy_connect</module> + doivent être chargés dans le serveur.</p> + + <p>CONNECT est aussi utilisée lorsque le serveur doit envoyer une + requête HTTPS via un mandataire. Dans ce cas, le serveur se comporte + comme un client CONNECT. Cette fonctionnalité étant fournie par le + module <module>mod_proxy</module>, le module + <module>mod_proxy_connect</module> n'est dans ce cas pas nécessaire.</p> + + <note type="warning"><title>Avertissement</title> + <p>N'activez pas la fonctionnalité de mandataire avant d'avoir <a + href="mod_proxy.html#access">sécurisé votre serveur</a>. Les + serveurs mandataires ouverts sont dangereux non seulement pour + votre réseau, mais aussi pour l'Internet au sens large.</p> + </note> +</summary> +<seealso><module>mod_proxy</module></seealso> + +<section id="notes"><title>Informations sur les requêtes</title> + <p><module>mod_proxy_connect</module> enregistre les informations + suivantes pour journalisation via le format <code>%{NOMVAR}n</code> + dans les directives <directive + module="mod_log_config">LogFormat</directive> ou <directive + module="core">ErrorLogFormat</directive> : + </p> + <dl> + <dt>proxy-source-port</dt> + <dd>Le port local utilisé pour la connexion vers le serveur + d'arrière-plan.</dd> + </dl> + + <p>Les requêtes avec méthode CONNECT sont traitées dans les sections + <directive module="mod_proxy">Proxy</directive> au même titre que + toute autre requête HTTP qui passe par cette même section. Il est + possible de filtrer explicitement les connexions SSL à travers un + mandataire en spécifiant les nom d'hôte et port cible comme suit : + </p> + + <highlight language="config"> +<Proxy www.example.com:443> + Require ip 192.168.0.0/16 +</Proxy> + </highlight> +</section> + +<directivesynopsis> +<name>AllowCONNECT</name> +<description>Ports autorisés à se <code>CONNECT</code>er à travers le +mandataire</description> +<syntax>AllowCONNECT <var>port</var>[-<var>port</var>] +[<var>port</var>[-<var>port</var>]] ...</syntax> +<default>AllowCONNECT 443 563</default> +<contextlist><context>server config</context><context>virtual host</context> +</contextlist> +<compatibility>Déplacé depuis <module>mod_proxy</module> à partir +d'Apache 2.3.5. Tranches de ports disponibles depuis Apache 2.3.7.</compatibility> + +<usage> + <p>La directive <directive>AllowCONNECT</directive> permet de + spécifier une liste de numéros ou de tranches de ports auxquels la + méthode de mandataire <code>CONNECT</code> pourra se connecter. Les + navigateurs d'aujourd'hui utilisent cette méthode dans le cas où une + connexion <code>https</code> est requise et où le tunneling + mandataire sur HTTP est en service.</p> + + <p>Par défaut, seuls les ports par défauts https (<code>443</code>) + et snews (<code>563</code>) sont pris en compte. Vous pouvez + utiliser la directive <directive>AllowCONNECT</directive> pour + outrepasser ces valeurs par défaut et n'autoriser les connexions que + vers les ports spécifiés.</p> +</usage> +</directivesynopsis> + + +</modulesynopsis> diff --git a/docs/manual/mod/mod_proxy_connect.xml.meta b/docs/manual/mod/mod_proxy_connect.xml.meta index dcc3b7c1a6..ec8faadc6f 100644 --- a/docs/manual/mod/mod_proxy_connect.xml.meta +++ b/docs/manual/mod/mod_proxy_connect.xml.meta @@ -8,6 +8,7 @@ <variants> <variant>en</variant> + <variant outdated="yes">fr</variant> <variant outdated="yes">ja</variant> </variants> </metafile> diff --git a/docs/manual/mod/mod_proxy_express.html b/docs/manual/mod/mod_proxy_express.html index 28ca0cd65a..1afc99c1c7 100644 --- a/docs/manual/mod/mod_proxy_express.html +++ b/docs/manual/mod/mod_proxy_express.html @@ -3,3 +3,7 @@ URI: mod_proxy_express.html.en Content-Language: en Content-type: text/html; charset=ISO-8859-1 + +URI: mod_proxy_express.html.fr +Content-Language: fr +Content-type: text/html; charset=ISO-8859-1 diff --git a/docs/manual/mod/mod_proxy_express.html.fr b/docs/manual/mod/mod_proxy_express.html.fr new file mode 100644 index 0000000000..156966630f --- /dev/null +++ b/docs/manual/mod/mod_proxy_express.html.fr @@ -0,0 +1,208 @@ +<?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> +<meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_proxy_express - Serveur Apache HTTP Version 2.5</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.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p> +<p class="apache">Serveur Apache HTTP Version 2.5</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.5</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Module Apache mod_proxy_express</h1> +<div class="toplang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_proxy_express.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_proxy_express.html" title="Français"> fr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Extension à <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> pour le mandatement +dynamique inverse 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>proxy_express_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_proxy_express.c</td></tr></table> +<h3>Sommaire</h3> + + <p>Ce module crée dynamiquement en masse des mandataires inverses en + faisant correspondre l'en-tête Host: de la requête HTTP à un nom de + serveur et une URL d'arrière-plan stockés dans un fichier DBM. Il + est ainsi plus aisé d'utiliser un grand nombre de + mandataires inverses sans avoir à modifier la configuration. Il est + loin de posséder autant de fonctionnalités que + <code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code> qui propose aussi la croissance + dynamique, mais il est conçu pour gérer un nombre beaucoup plus important + de serveurs d'arrière-plan. Il convient parfaitement pour créer un + commutateur HTTP frontal et pour les architectures Microservices.</p> + + <p>Pour pouvoir être utilisé, ce module nécessite le chargement de + <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code>.</p> + + <div class="warning"><h3>Avertissement</h3> + <p>N'activez le mandatement que si vous avez <a href="mod_proxy.html#access">sécurisé votre serveur</a>. Les + serveurs mandataires ouverts sont dangereux pour votre réseau, et + dans une plus large mesure pour Internet.</p> + </div> + +<div class="note"><h3>Limitations</h3> + <ul> + <li>Ce module n'est pas conçu pour remplacer les fonctionnalités + dynamiques de <code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code>. Par contre, il + peut constituer une alternative légère et rapide à + <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> lorsque ce dernier utilise la directive + <code class="directive">RewriteMap</code> et le drapeau <code>[P]</code> + pour le mandatement inverse à partir d'une table de correspondances. + </li> + <li>Il ne supporte pas les mises en correspondance basées sur les + expressions rationnelles ou les modèles. + </li> + <li>Il émule : + <pre class="prettyprint lang-config"><VirtualHost *:80> + ServerName front.end.server + ProxyPass "/" "back.end.server:port" + ProxyPassReverse "/" "back.end.server:port" +</VirtualHost></pre> + + En d'autres termes, l'URL dans son ensemble est ajoutée à l'URL + d'arrière-plan correspondante, tout ceci dans le but de + proposer un commutateur mandataire inverse simple mais rapide. + </li> + </ul> +</div> + +</div> +<div id="quickview"><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#proxyexpressdbmfile">ProxyExpressDBMFile</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#proxyexpressdbmtype">ProxyExpressDBMType</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#proxyexpressenable">ProxyExpressEnable</a></li> +</ul> +<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_proxy_express">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_proxy_express">Signaler un bug</a></li></ul><h3>Voir aussi</h3> +<ul class="seealso"> +<li><code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></li> +<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="proxyexpressdbmfile" id="proxyexpressdbmfile">Directive</a> <a name="ProxyExpressDBMFile" id="ProxyExpressDBMFile">ProxyExpressDBMFile</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Chemin du fichier DBM.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxyExpressDBMFile <chemin></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>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_proxy_express</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.3.13 d'Apache</td></tr> +</table> + <p>La directive <code class="directive">ProxyExpressDBMFile</code> permet de + définir le chemin du fichier DBM de correspondance Express. Ce fichier + permet de faire correspondre le nom de serveur extrait de l'en-tête + Host: de la requête entrante avec une URL d'arrière-plan.</p> + + <div class="note"><h3>Note</h3> + <p>Ce fichier est élaboré à partir d'un fichier texte à l'aide de + l'utilitaire <code><a href="../programs/httxt2dbm.html">httxt2dbm</a></code>.</p> + + <div class="example"><h3>Fichier de correspondances ProxyExpress</h3><p><code> + ##<br /> + ##express-map.txt:<br /> + ##<br /> + <br /> + www1.example.com http://192.168.211.2:8080<br /> + www2.example.com http://192.168.211.12:8088<br /> + www3.example.com http://192.168.212.10<br /> + </code></p></div> + + <div class="example"><h3>Création du fichier DBM</h3><p><code> + httxt2dbm -i express-map.txt -o emap<br /> + </code></p></div> + + <div class="example"><h3>Configuration</h3><p><code> + ProxyExpressEnable on<br /> + ProxyExpressDBMFile emap<br /> + </code></p></div> + </div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="proxyexpressdbmtype" id="proxyexpressdbmtype">Directive</a> <a name="ProxyExpressDBMType" id="ProxyExpressDBMType">ProxyExpressDBMType</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Type de fichier DBM.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxyExpressDBMFile <type></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>"default"</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_proxy_express</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.3.13 d'Apache</td></tr> +</table> + <p>La directive <code class="directive">ProxyExpressDBMType</code> permet de + définir le type de fichier DBM requis par le module. La valeur par + défaut correspond au type DBM par défaut du fichier créé par + l'utilitaire <code><a href="../programs/httxt2dbm.html">httxt2dbm</a></code>.</p> + <p>Les valeurs possibles sont (mais toutes ne seront pas disponibles à + l'exécution) :</p> +<table class="bordered"><tr class="header"><th>Value</th><th>Description</th></tr> +<tr><td><code>db</code></td><td>Fichiers Berkeley DB</td></tr> +<tr class="odd"><td><code>gdbm</code></td><td>Fichiers GDBM</td></tr> +<tr><td><code>ndbm</code></td><td>Fichiers NDBM</td></tr> +<tr class="odd"><td><code>sdbm</code></td><td>Fichiers SDBM (toujours disponible)</td></tr> +<tr><td><code>default</code></td><td>type DBM par défaut</td></tr> +</table> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="proxyexpressenable" id="proxyexpressenable">Directive</a> <a name="ProxyExpressEnable" id="ProxyExpressEnable">ProxyExpressEnable</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Active la fonctionnalité du module.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxyExpressEnable [on|off]</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>off</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_proxy_express</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.3.13 d'Apache</td></tr> +</table> + <p>La directive <code class="directive">ProxyExpressEnable</code> permet + d'activer/désactiver le module.</p> + +</div> +</div> +<div class="bottomlang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_proxy_express.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_proxy_express.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/trunk/mod/mod_proxy_express.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 2017 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_proxy_express.xml.fr b/docs/manual/mod/mod_proxy_express.xml.fr new file mode 100644 index 0000000000..98244270dd --- /dev/null +++ b/docs/manual/mod/mod_proxy_express.xml.fr @@ -0,0 +1,174 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd"> +<?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?> +<!-- English Revision : 1774023 --> +<!-- French translation : Lucien GENTIS --> +<!-- $LastChangedRevision: 2017010701 $ --> + +<!-- + 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_proxy_express.xml.meta"> + +<name>mod_proxy_express</name> +<description>Extension à <module>mod_proxy</module> pour le mandatement +dynamique inverse de masse</description> +<status>Extension</status> +<sourcefile>mod_proxy_express.c</sourcefile> +<identifier>proxy_express_module</identifier> + +<summary> + <p>Ce module crée dynamiquement en masse des mandataires inverses en + faisant correspondre l'en-tête Host: de la requête HTTP à un nom de + serveur et une URL d'arrière-plan stockés dans un fichier DBM. Il + est ainsi plus aisé d'utiliser un grand nombre de + mandataires inverses sans avoir à modifier la configuration. Il est + loin de posséder autant de fonctionnalités que + <module>mod_proxy_balancer</module> qui propose aussi la croissance + dynamique, mais il est conçu pour gérer un nombre beaucoup plus important + de serveurs d'arrière-plan. Il convient parfaitement pour créer un + commutateur HTTP frontal et pour les architectures Microservices.</p> + + <p>Pour pouvoir être utilisé, ce module nécessite le chargement de + <module>mod_proxy</module>.</p> + + <note type="warning"><title>Avertissement</title> + <p>N'activez le mandatement que si vous avez <a + href="mod_proxy.html#access">sécurisé votre serveur</a>. Les + serveurs mandataires ouverts sont dangereux pour votre réseau, et + dans une plus large mesure pour Internet.</p> + </note> + +<note><title>Limitations</title> + <ul> + <li>Ce module n'est pas conçu pour remplacer les fonctionnalités + dynamiques de <module>mod_proxy_balancer</module>. Par contre, il + peut constituer une alternative légère et rapide à + <module>mod_rewrite</module> lorsque ce dernier utilise la directive + <directive>RewriteMap</directive> et le drapeau <code>[P]</code> + pour le mandatement inverse à partir d'une table de correspondances. + </li> + <li>Il ne supporte pas les mises en correspondance basées sur les + expressions rationnelles ou les modèles. + </li> + <li>Il émule : + <highlight language="config"> +<VirtualHost *:80> + ServerName front.end.server + ProxyPass "/" "back.end.server:port" + ProxyPassReverse "/" "back.end.server:port" +</VirtualHost> + </highlight> + En d'autres termes, l'URL dans son ensemble est ajoutée à l'URL + d'arrière-plan correspondante, tout ceci dans le but de + proposer un commutateur mandataire inverse simple mais rapide. + </li> + </ul> +</note> + +</summary> +<seealso><module>mod_proxy</module></seealso> + +<directivesynopsis> +<name>ProxyExpressEnable</name> +<description>Active la fonctionnalité du module.</description> +<syntax>ProxyExpressEnable [on|off]</syntax> +<default>off</default> +<contextlist><context>server config</context><context>virtual host</context> + </contextlist> +<compatibility>Disponible à partir de la version 2.3.13 d'Apache</compatibility> + +<usage> + <p>La directive <directive>ProxyExpressEnable</directive> permet + d'activer/désactiver le module.</p> +</usage> +</directivesynopsis> + +<directivesynopsis> +<name>ProxyExpressDBMFile</name> +<description>Chemin du fichier DBM.</description> +<syntax>ProxyExpressDBMFile <chemin></syntax> +<default>None</default> +<contextlist><context>server config</context><context>virtual host</context> + </contextlist> +<compatibility>Disponible à partir de la version 2.3.13 d'Apache</compatibility> + +<usage> + <p>La directive <directive>ProxyExpressDBMFile</directive> permet de + définir le chemin du fichier DBM de correspondance Express. Ce fichier + permet de faire correspondre le nom de serveur extrait de l'en-tête + Host: de la requête entrante avec une URL d'arrière-plan.</p> + + <note><title>Note</title> + <p>Ce fichier est élaboré à partir d'un fichier texte à l'aide de + l'utilitaire <code><a + href="../programs/httxt2dbm.html">httxt2dbm</a></code>.</p> + + <example><title>Fichier de correspondances ProxyExpress</title> + ##<br /> + ##express-map.txt:<br /> + ##<br /> + <br /> + www1.example.com http://192.168.211.2:8080<br /> + www2.example.com http://192.168.211.12:8088<br /> + www3.example.com http://192.168.212.10<br /> + </example> + + <example><title>Création du fichier DBM</title> + httxt2dbm -i express-map.txt -o emap<br /> + </example> + + <example><title>Configuration</title> + ProxyExpressEnable on<br /> + ProxyExpressDBMFile emap<br /> + </example> + </note> +</usage> +</directivesynopsis> + +<directivesynopsis> +<name>ProxyExpressDBMType</name> +<description>Type de fichier DBM.</description> +<syntax>ProxyExpressDBMFile <type></syntax> +<default>"default"</default> +<contextlist><context>server config</context><context>virtual host</context> + </contextlist> +<compatibility>Disponible à partir de la version 2.3.13 d'Apache</compatibility> + +<usage> + <p>La directive <directive>ProxyExpressDBMType</directive> permet de + définir le type de fichier DBM requis par le module. La valeur par + défaut correspond au type DBM par défaut du fichier créé par + l'utilitaire <code><a + href="../programs/httxt2dbm.html">httxt2dbm</a></code>.</p> + <p>Les valeurs possibles sont (mais toutes ne seront pas disponibles à + l'exécution) :</p> +<table border="1" style="zebra"> + <columnspec><column width=".3"/><column width=".7"/></columnspec> + + <tr><th>Value</th><th>Description</th></tr> + <tr><td><code>db</code></td><td>Fichiers Berkeley DB</td></tr> + <tr><td><code>gdbm</code></td><td>Fichiers GDBM</td></tr> + <tr><td><code>ndbm</code></td><td>Fichiers NDBM</td></tr> + <tr><td><code>sdbm</code></td><td>Fichiers SDBM (toujours disponible)</td></tr> + <tr><td><code>default</code></td><td>type DBM par défaut</td></tr> + </table> + +</usage> +</directivesynopsis> + +</modulesynopsis> diff --git a/docs/manual/mod/mod_proxy_express.xml.meta b/docs/manual/mod/mod_proxy_express.xml.meta index a0a06bf7e9..4fda85c3b0 100644 --- a/docs/manual/mod/mod_proxy_express.xml.meta +++ b/docs/manual/mod/mod_proxy_express.xml.meta @@ -8,5 +8,6 @@ <variants> <variant>en</variant> + <variant>fr</variant> </variants> </metafile> diff --git a/docs/manual/mod/mod_proxy_fcgi.html b/docs/manual/mod/mod_proxy_fcgi.html index 037143a41d..cc4f061ede 100644 --- a/docs/manual/mod/mod_proxy_fcgi.html +++ b/docs/manual/mod/mod_proxy_fcgi.html @@ -3,3 +3,7 @@ URI: mod_proxy_fcgi.html.en Content-Language: en Content-type: text/html; charset=ISO-8859-1 + +URI: mod_proxy_fcgi.html.fr +Content-Language: fr +Content-type: text/html; charset=ISO-8859-1 diff --git a/docs/manual/mod/mod_proxy_fcgi.html.fr b/docs/manual/mod/mod_proxy_fcgi.html.fr new file mode 100644 index 0000000000..0cbc7c286c --- /dev/null +++ b/docs/manual/mod/mod_proxy_fcgi.html.fr @@ -0,0 +1,263 @@ +<?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> +<meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_proxy_fcgi - Serveur Apache HTTP Version 2.5</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.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p> +<p class="apache">Serveur Apache HTTP Version 2.5</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.5</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Module Apache mod_proxy_fcgi</h1> +<div class="toplang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_proxy_fcgi.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_proxy_fcgi.html" title="Français"> fr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Module fournissant le support de FastCGI à +<code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></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>proxy_fcgi_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_proxy_fcgi.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>Pour fonctionner, ce module <em>nécessite</em> le chargement de + <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code>. Il fournit le support du protocole <a href="http://www.fastcgi.com/">FastCGI</a>.</p> + + <p>Ainsi, pour pouvoir traiter le protocole <code>FastCGI</code>, + <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> et <code class="module"><a href="../mod/mod_proxy_fcgi.html">mod_proxy_fcgi</a></code> + doivent être chargés dans le serveur.</p> + + <p>A la différence de <a href="http://httpd.apache.org/mod_fcgid/">mod_fcgid</a> et <a href="http://www.fastcgi.com/">mod_fastcgi</a>, + <code class="module"><a href="../mod/mod_proxy_fcgi.html">mod_proxy_fcgi</a></code> n'est pas en mesure de démarrer le + processus de l'application ; <code class="program"><a href="../programs/fcgistarter.html">fcgistarter</a></code> est + fourni à cet effet sur certaines plateformes. Le framework + applicatif FastCGI utilisé peut aussi fournir la gestion des + processus ou des lancements de programmes externes.</p> + + <div class="warning"><h3>Avertissement</h3> + <p>N'activez pas la fonctionnalité de mandataire avant d'avoir <a href="mod_proxy.html#access">sécurisé votre serveur</a>. Les + serveurs mandataires ouverts sont dangereux non seulement pour + votre réseau, mais aussi pour l'Internet au sens large.</p> + </div> +</div> +<div id="quickview"><h3>Sujets</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#examples">Exemples</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#env">Variables d'environnement</a></li> +</ul><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#proxyfcgibackendtype">ProxyFCGIBackendType</a></li> +</ul> +<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_proxy_fcgi">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_proxy_fcgi">Signaler un bug</a></li></ul><h3>Voir aussi</h3> +<ul class="seealso"> +<li><code class="program"><a href="../programs/fcgistarter.html">fcgistarter</a></code></li> +<li><code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></li> +<li><code class="module"><a href="../mod/mod_authnz_fcgi.html">mod_authnz_fcgi</a></code></li> +<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> + <p>Pour que ces exemples fonctionnent, vous ne devez pas oublier + d'activer <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> et + <code class="module"><a href="../mod/mod_proxy_fcgi.html">mod_proxy_fcgi</a></code>.</p> + + <div class="example"><h3>Instance d'application unique</h3><pre class="prettyprint lang-config">ProxyPass "/mon_appli/" "fcgi://localhost:4000/"</pre> +</div> + + + <p><code class="module"><a href="../mod/mod_proxy_fcgi.html">mod_proxy_fcgi</a></code> interdisant par défaut la + réutilisation des connexions, lorsqu'une requête a été traitée, la + connexion ne sera pas maintenue ouverte par le processus enfant + httpd, et ne sera donc pas réutilisée. Cependant, si l'application + FastCGI supporte les connexions httpd simultanées, vous pouvez opter + pour la réutilisation des connexions comme dans l'exemple suivant :</p> + + <div class="example"><h3>Instance d'application unique, réutilisation + des connexions (versions 2.4.11 et supérieures)</h3><pre class="prettyprint lang-config">ProxyPass "/myapp/" "fcgi://localhost:4000/" enablereuse=on</pre> +</div> + + <p>Dans l'exemple suivant, l'URI de la requête est transmis en tant + que chemin du système de fichiers pour l'exécution du démon PHP-FPM. + L'URL de la requête est implicitement ajoutée au second paramètre. + PHP-FPM est à l'écoute de l'hôte et du port qui + suivent fcgi://. La conservation des connexions est activée.</p> + <div class="example"><h3>PHP-FPM</h3><pre class="prettyprint lang-config">ProxyPassMatch "^/myapp/.*\.php(/.*)?$" "fcgi://localhost:9000/var/www/" enablereuse=on</pre> +</div> + + <p>Dans l'exemple suivant, l'URI de la requête est transmis en tant + que chemin du système de fichiers pour l'exécution du démon PHP-FPM. + Dans ce cas cependant, PHP-FPM est à l'écoute d'un socket de domaine + unix (UDS). Cette fonctionnalité est disponible à partir de la + version 2.4.9. Avec cette syntaxe, si un nom d'hôte et un port sont + ajoutés après fcgi://, ils seront ignorés.</p> + <div class="example"><h3>PHP-FPM with UDS</h3><pre class="prettyprint lang-config"># A ce jour, UDS ne supporte pas la réutilisation des connexions +ProxyPassMatch "^/(.*\.php(/.*)?)$" "unix:/var/run/php5-fpm.sock|fcgi://localhost/var/www/"</pre> +</div> + + <p>La passerelle à répartition de charge nécessite le chargement du + module <code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code> et d'au moins un module + fournissant un algorithme de répartition de charge, comme + <code class="module"><a href="../mod/mod_lbmethod_byrequests.html">mod_lbmethod_byrequests</a></code> en plus des modules + déjà cités. <code class="module"><a href="../mod/mod_lbmethod_byrequests.html">mod_lbmethod_byrequests</a></code> est le module + par défaut et sera utilisé dans cet exemple de configuration.</p> + + <div class="example"><h3>Passerelle à répartition de charge vers plusieurs + instances de l'application</h3><pre class="prettyprint lang-config">ProxyPass "/myapp/" "balancer://myappcluster/" +<Proxy "balancer://myappcluster/"> + BalancerMember "fcgi://localhost:4000" + BalancerMember "fcgi://localhost:4001" +</Proxy></pre> +</div> + + <p>Vous pouvez aussi forcer le traitement d'une requête en tant que + requête de mandataire inverse en créant un court-circuiteur de + gestionnaire approprié. Dans l'exemple ci-dessous, toutes les + requêtes pour des scripts PHP seront transmises au serveur FastCGI + spécifié par mandat inverse. Cette fonctionnalité est disponible à + partir de la version 2.4.10 du serveur HTTP Apache. Pour des raisons + de performances, il est recommandé de définir un <a href="mod_proxy.html#workers">worker (configuration d'un + mandataire)</a> représentant le même serveur fcgi:// d'arrière-plan. + Avec cette configuration, il est possible d'effectuer une + correspondance directe entre l'URI et le chemin du fichier sur le + serveur, et le chemin local du fichier sera alors transmis au serveur + d'arrière-plan. Lorsque FastCGI est configuré ainsi, le serveur est + en mesure de calculer le PATH_INFO le plus approprié. + </p> + <div class="example"><h3>Mandataire via un gestionnaire</h3><pre class="prettyprint lang-config"><FilesMatch "\.php$"> + # Note : la seule partie variable est /path/to/app.sock + SetHandler "proxy:unix:/path/to/app.sock|fcgi://localhost/" +</FilesMatch> + # Définition d'une configuration de mandataire qui convient. + # La partie qui est mise en correspondance avec la valeur de + # SetHandler est la partie qui suit le "pipe". Si vous devez faire + # une distinction, "localhost" peut être changé en un nom de serveur + # unique. + <Proxy fcgi://localhost/ enablereuse=on max=10> + </Proxy> + +<FilesMatch ...> + SetHandler "proxy:fcgi://localhost:9000" +</FilesMatch> + +<FilesMatch ...> + SetHandler "proxy:balancer://myappcluster/" +</FilesMatch></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="env" id="env">Variables d'environnement</a></h2> + <p>En plus des directives de configuration qui contrôlent le + comportement de <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code>, de nombreuses + <dfn>variables d'environnement</dfn> permettent de piloter le + fournisseur du protocole FCGI :</p> + <dl> + <dt>proxy-fcgi-pathinfo</dt> + <dd>Par défaut, <code class="module"><a href="../mod/mod_proxy_fcgi.html">mod_proxy_fcgi</a></code> ne créera jamais + ni n'exportera la variable d'environnement <var>PATH_INFO</var>, + ce qui permet au serveur FCGI d'arrière-plan de déterminer + correctement <var>SCRIPT_NAME</var> et <var>Script-URI</var>, et + de se conformer à la section 3.3 de la RFC 3875. Si au contraire + vous avez souhaitez que <code class="module"><a href="../mod/mod_proxy_fcgi.html">mod_proxy_fcgi</a></code> génère une + "estimation la plus exacte possible" de <var>PATH_INFO</var>, + définissez la variable d'environnement + <var>proxy-fcgi-pathinfo</var>. Ceci peut servir de + contournement pour une bogue présente dans certaines + implémentations de FCGI. Cette variable peut être + multivaluée afin de pouvoir choisir la valeur la plus appropriée + (versions 2.4.11 et supérieures) : + <dl> + <dt>first-dot</dt> + <dd>PATH_INFO est extrait à partir du slash qui suit le + <em>premier</em> "." de l'URL.</dd> + <dt>last-dot</dt> + <dd>PATH_INFO est extrait à partir du slash qui suit le + <em>dernier</em> "." de l'URL.</dd> + <dt>full</dt> + <dd>PATH_INFO est calculé en supposant que l'URL correspond au + chemin du système de fichiers.</dd> + <dt>unescape</dt> + <dd>PATH_INFO correspond à la partie chemin de l'URL avec ses + séquences d'échappement décodées.</dd> + <dt>toute autre valeur</dt> + <dd>PATH_INFO correspond à la partie chemin de l'URL. + Auparavant, c'était la seule option pour proxy-fcgi-pathinfo.</dd> + </dl> + </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="proxyfcgibackendtype" id="proxyfcgibackendtype">Directive</a> <a name="ProxyFCGIBackendType" id="ProxyFCGIBackendType">ProxyFCGIBackendType</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Spécifie le type de l'application FastCGI d'arrière-plan</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxyFCGIBackendType FPM|GENERIC</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ProxyFCGIBackendType FPM</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy_fcgi</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.5 du serveur HTTP Apache</td></tr> +</table> +<p>Cette directive permet de spécifier le type de l'application FastCGI +d'arrière-plan. Certains serveurs FastCGI, comme PHP-FPM, utilisent de manière +historique des variables d'environnement exotiques pour identifier le type du +serveur mandataire utilisé. Définissez cette directive à "GENERIC" si votre +application n'est pas de type PHP-FPM et n'interpréter pas correctement des +variables d'environnement comme SCRIPT_FILENAME ou PATH_TRANSLATED telles +qu'elles sont définies par le serveur.</p> + +<p>SCRIPT_FILENAME est un exemple de valeur modifiée par la définition de cette +directive. Historiquement, lorsqu'on utilisait le module +<code class="module"><a href="../mod/mod_proxy_fcgi.html">mod_proxy_fcgi</a></code>, SCRIPT_FILENAME était préfixé par la chaîne +"proxy:fcgi://". C'est cette variable que lisent certaines applications FastCGI +génériques en tant que valeur en entrée pour leur script ; cependant, PHP-FPM +peut supprimer le préfixe, puis garder en mémoire qu'il communique avec Apache. +Avec les versions 2.4.21 à 2.4.25, ce préfixe était automatiquement supprimé par +le serveur, empêchant ainsi PHP-FPM de détecter et interopérer avec Apache dans +certains scénarios.</p> + +</div> +</div> +<div class="bottomlang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_proxy_fcgi.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_proxy_fcgi.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/trunk/mod/mod_proxy_fcgi.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 2017 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_proxy_fcgi.xml.fr b/docs/manual/mod/mod_proxy_fcgi.xml.fr new file mode 100644 index 0000000000..58a02154fa --- /dev/null +++ b/docs/manual/mod/mod_proxy_fcgi.xml.fr @@ -0,0 +1,245 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd"> +<?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?> +<!-- English Revision : 1778350 --> +<!-- French translation : Lucien GENTIS --> +<!-- $LastChangedRevision: 2017011401 $ --> + +<!-- + 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_proxy_fcgi.xml.meta"> + +<name>mod_proxy_fcgi</name> +<description>Module fournissant le support de FastCGI à +<module>mod_proxy</module></description> +<status>Extension</status> +<sourcefile>mod_proxy_fcgi.c</sourcefile> +<identifier>proxy_fcgi_module</identifier> +<compatibility>Disponible depuis la version 2.3 d'Apache</compatibility> + +<summary> + <p>Pour fonctionner, ce module <em>nécessite</em> le chargement de + <module>mod_proxy</module>. Il fournit le support du protocole <a + href="http://www.fastcgi.com/">FastCGI</a>.</p> + + <p>Ainsi, pour pouvoir traiter le protocole <code>FastCGI</code>, + <module>mod_proxy</module> et <module>mod_proxy_fcgi</module> + doivent être chargés dans le serveur.</p> + + <p>A la différence de <a + href="http://httpd.apache.org/mod_fcgid/">mod_fcgid</a> et <a + href="http://www.fastcgi.com/">mod_fastcgi</a>, + <module>mod_proxy_fcgi</module> n'est pas en mesure de démarrer le + processus de l'application ; <program>fcgistarter</program> est + fourni à cet effet sur certaines plateformes. Le framework + applicatif FastCGI utilisé peut aussi fournir la gestion des + processus ou des lancements de programmes externes.</p> + + <note type="warning"><title>Avertissement</title> + <p>N'activez pas la fonctionnalité de mandataire avant d'avoir <a + href="mod_proxy.html#access">sécurisé votre serveur</a>. Les + serveurs mandataires ouverts sont dangereux non seulement pour + votre réseau, mais aussi pour l'Internet au sens large.</p> + </note> +</summary> + +<seealso><program>fcgistarter</program></seealso> +<seealso><module>mod_proxy</module></seealso> +<seealso><module>mod_authnz_fcgi</module></seealso> + +<section id="examples"><title>Exemples</title> + <p>Pour que ces exemples fonctionnent, vous ne devez pas oublier + d'activer <module>mod_proxy</module> et + <module>mod_proxy_fcgi</module>.</p> + + <example><title>Instance d'application unique</title> + <highlight language="config"> +ProxyPass "/mon_appli/" "fcgi://localhost:4000/" + </highlight> + </example> + + + <p><module>mod_proxy_fcgi</module> interdisant par défaut la + réutilisation des connexions, lorsqu'une requête a été traitée, la + connexion ne sera pas maintenue ouverte par le processus enfant + httpd, et ne sera donc pas réutilisée. Cependant, si l'application + FastCGI supporte les connexions httpd simultanées, vous pouvez opter + pour la réutilisation des connexions comme dans l'exemple suivant :</p> + + <example><title>Instance d'application unique, réutilisation + des connexions (versions 2.4.11 et supérieures)</title> + <highlight language="config"> + ProxyPass "/myapp/" "fcgi://localhost:4000/" enablereuse=on + </highlight> + </example> + + <p>Dans l'exemple suivant, l'URI de la requête est transmis en tant + que chemin du système de fichiers pour l'exécution du démon PHP-FPM. + L'URL de la requête est implicitement ajoutée au second paramètre. + PHP-FPM est à l'écoute de l'hôte et du port qui + suivent fcgi://. La conservation des connexions est activée.</p> + <example><title>PHP-FPM</title> + <highlight language="config"> +ProxyPassMatch "^/myapp/.*\.php(/.*)?$" "fcgi://localhost:9000/var/www/" enablereuse=on + </highlight> + </example> + + <p>Dans l'exemple suivant, l'URI de la requête est transmis en tant + que chemin du système de fichiers pour l'exécution du démon PHP-FPM. + Dans ce cas cependant, PHP-FPM est à l'écoute d'un socket de domaine + unix (UDS). Cette fonctionnalité est disponible à partir de la + version 2.4.9. Avec cette syntaxe, si un nom d'hôte et un port sont + ajoutés après fcgi://, ils seront ignorés.</p> + <example><title>PHP-FPM with UDS</title> + <highlight language="config"> +# A ce jour, UDS ne supporte pas la réutilisation des connexions +ProxyPassMatch "^/(.*\.php(/.*)?)$" "unix:/var/run/php5-fpm.sock|fcgi://localhost/var/www/" + </highlight> + </example> + + <p>La passerelle à répartition de charge nécessite le chargement du + module <module>mod_proxy_balancer</module> et d'au moins un module + fournissant un algorithme de répartition de charge, comme + <module>mod_lbmethod_byrequests</module> en plus des modules + déjà cités. <module>mod_lbmethod_byrequests</module> est le module + par défaut et sera utilisé dans cet exemple de configuration.</p> + + <example><title>Passerelle à répartition de charge vers plusieurs + instances de l'application</title> + <highlight language="config"> +ProxyPass "/myapp/" "balancer://myappcluster/" +<Proxy "balancer://myappcluster/"> + BalancerMember "fcgi://localhost:4000" + BalancerMember "fcgi://localhost:4001" +</Proxy> + </highlight> + </example> + + <p>Vous pouvez aussi forcer le traitement d'une requête en tant que + requête de mandataire inverse en créant un court-circuiteur de + gestionnaire approprié. Dans l'exemple ci-dessous, toutes les + requêtes pour des scripts PHP seront transmises au serveur FastCGI + spécifié par mandat inverse. Cette fonctionnalité est disponible à + partir de la version 2.4.10 du serveur HTTP Apache. Pour des raisons + de performances, il est recommandé de définir un <a + href="mod_proxy.html#workers">worker (configuration d'un + mandataire)</a> représentant le même serveur fcgi:// d'arrière-plan. + Avec cette configuration, il est possible d'effectuer une + correspondance directe entre l'URI et le chemin du fichier sur le + serveur, et le chemin local du fichier sera alors transmis au serveur + d'arrière-plan. Lorsque FastCGI est configuré ainsi, le serveur est + en mesure de calculer le PATH_INFO le plus approprié. + </p> + <example><title>Mandataire via un gestionnaire</title> + <highlight language="config"> +<FilesMatch "\.php$"> + # Note : la seule partie variable est /path/to/app.sock + SetHandler "proxy:unix:/path/to/app.sock|fcgi://localhost/" +</FilesMatch> + # Définition d'une configuration de mandataire qui convient. + # La partie qui est mise en correspondance avec la valeur de + # SetHandler est la partie qui suit le "pipe". Si vous devez faire + # une distinction, "localhost" peut être changé en un nom de serveur + # unique. + <Proxy fcgi://localhost/ enablereuse=on max=10> + </Proxy> + +<FilesMatch ...> + SetHandler "proxy:fcgi://localhost:9000" +</FilesMatch> + +<FilesMatch ...> + SetHandler "proxy:balancer://myappcluster/" +</FilesMatch> + </highlight> + </example> +</section> + +<section id="env"><title>Variables d'environnement</title> + <p>En plus des directives de configuration qui contrôlent le + comportement de <module>mod_proxy</module>, de nombreuses + <dfn>variables d'environnement</dfn> permettent de piloter le + fournisseur du protocole FCGI :</p> + <dl> + <dt>proxy-fcgi-pathinfo</dt> + <dd>Par défaut, <module>mod_proxy_fcgi</module> ne créera jamais + ni n'exportera la variable d'environnement <var>PATH_INFO</var>, + ce qui permet au serveur FCGI d'arrière-plan de déterminer + correctement <var>SCRIPT_NAME</var> et <var>Script-URI</var>, et + de se conformer à la section 3.3 de la RFC 3875. Si au contraire + vous avez souhaitez que <module>mod_proxy_fcgi</module> génère une + "estimation la plus exacte possible" de <var>PATH_INFO</var>, + définissez la variable d'environnement + <var>proxy-fcgi-pathinfo</var>. Ceci peut servir de + contournement pour une bogue présente dans certaines + implémentations de FCGI. Cette variable peut être + multivaluée afin de pouvoir choisir la valeur la plus appropriée + (versions 2.4.11 et supérieures) : + <dl> + <dt>first-dot</dt> + <dd>PATH_INFO est extrait à partir du slash qui suit le + <em>premier</em> "." de l'URL.</dd> + <dt>last-dot</dt> + <dd>PATH_INFO est extrait à partir du slash qui suit le + <em>dernier</em> "." de l'URL.</dd> + <dt>full</dt> + <dd>PATH_INFO est calculé en supposant que l'URL correspond au + chemin du système de fichiers.</dd> + <dt>unescape</dt> + <dd>PATH_INFO correspond à la partie chemin de l'URL avec ses + séquences d'échappement décodées.</dd> + <dt>toute autre valeur</dt> + <dd>PATH_INFO correspond à la partie chemin de l'URL. + Auparavant, c'était la seule option pour proxy-fcgi-pathinfo.</dd> + </dl> + </dd> + </dl> +</section> + +<directivesynopsis> +<name>ProxyFCGIBackendType</name> +<description>Spécifie le type de l'application FastCGI d'arrière-plan</description> +<syntax>ProxyFCGIBackendType FPM|GENERIC</syntax> +<default>ProxyFCGIBackendType FPM</default> +<contextlist><context>server config</context> +<context>virtual host</context><context>directory</context> +<context>.htaccess</context></contextlist> +<compatibility>Disponible à partir de la version 2.5 du serveur HTTP Apache</compatibility> + +<usage> +<p>Cette directive permet de spécifier le type de l'application FastCGI +d'arrière-plan. Certains serveurs FastCGI, comme PHP-FPM, utilisent de manière +historique des variables d'environnement exotiques pour identifier le type du +serveur mandataire utilisé. Définissez cette directive à "GENERIC" si votre +application n'est pas de type PHP-FPM et n'interpréter pas correctement des +variables d'environnement comme SCRIPT_FILENAME ou PATH_TRANSLATED telles +qu'elles sont définies par le serveur.</p> + +<p>SCRIPT_FILENAME est un exemple de valeur modifiée par la définition de cette +directive. Historiquement, lorsqu'on utilisait le module +<module>mod_proxy_fcgi</module>, SCRIPT_FILENAME était préfixé par la chaîne +"proxy:fcgi://". C'est cette variable que lisent certaines applications FastCGI +génériques en tant que valeur en entrée pour leur script ; cependant, PHP-FPM +peut supprimer le préfixe, puis garder en mémoire qu'il communique avec Apache. +Avec les versions 2.4.21 à 2.4.25, ce préfixe était automatiquement supprimé par +le serveur, empêchant ainsi PHP-FPM de détecter et interopérer avec Apache dans +certains scénarios.</p> +</usage> +</directivesynopsis> + +</modulesynopsis> diff --git a/docs/manual/mod/mod_proxy_fcgi.xml.meta b/docs/manual/mod/mod_proxy_fcgi.xml.meta index 76863e3836..6b7f40e715 100644 --- a/docs/manual/mod/mod_proxy_fcgi.xml.meta +++ b/docs/manual/mod/mod_proxy_fcgi.xml.meta @@ -8,5 +8,6 @@ <variants> <variant>en</variant> + <variant>fr</variant> </variants> </metafile> diff --git a/docs/manual/mod/mod_proxy_fdpass.html b/docs/manual/mod/mod_proxy_fdpass.html index b660e02764..87478ac85d 100644 --- a/docs/manual/mod/mod_proxy_fdpass.html +++ b/docs/manual/mod/mod_proxy_fdpass.html @@ -3,3 +3,7 @@ URI: mod_proxy_fdpass.html.en Content-Language: en Content-type: text/html; charset=ISO-8859-1 + +URI: mod_proxy_fdpass.html.fr +Content-Language: fr +Content-type: text/html; charset=ISO-8859-1 diff --git a/docs/manual/mod/mod_proxy_fdpass.html.fr b/docs/manual/mod/mod_proxy_fdpass.html.fr new file mode 100644 index 0000000000..4b09236e43 --- /dev/null +++ b/docs/manual/mod/mod_proxy_fdpass.html.fr @@ -0,0 +1,104 @@ +<?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> +<meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_proxy_fdpass - Serveur Apache HTTP Version 2.5</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.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p> +<p class="apache">Serveur Apache HTTP Version 2.5</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.5</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Module Apache mod_proxy_fdpass</h1> +<div class="toplang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_proxy_fdpass.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_proxy_fdpass.html" title="Français"> fr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Module fournissant le support des processus externes fdpass +à <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></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>proxy_fdpass_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_proxy_fdpass.c</td></tr> +<tr><th><a href="module-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible pour unix depuis la version 2.3 +du serveur HTTP Apache</td></tr></table> +<h3>Sommaire</h3> + + <p>Pour fonctionner, ce module <em>nécessite</em> le chargement de + <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code>. Il permet le passage du socket du client + vers un autre processus.</p> + + <p><code>mod_proxy_fdpass</code> utilise la capacité des sockets de + domaine AF_UNIX à <a href="http://www.freebsd.org/cgi/man.cgi?query=recv">transmettre un + descripteur de fichier ouvert</a> afin de permettre à un autre + processus de terminer le traitement de la requête. + </p> + + <p>Le module possède une interface de fournisseur + <code>proxy_fdpass_flusher</code> qui permet éventuellement à un + autre module d'envoyer les en-têtes de la réponse, ou même le début + du corps de la réponse. Le fournisseur par défaut <code>flush</code> désactive la + persistence, et envoie les en-têtes de la réponse, laissant le soin + au processus externe d'envoyer le corps de la réponse.</p> + + <p>Pour utiliser un autre fournisseur, vous devez définir le paramètre + <code>flusher</code> de la directive <code class="directive"><a href="../mod/mod_proxy.html#proxypass">ProxyPass</a></code>. + </p> + + <p>A l'heure actuelle, la seule donnée transmise au processus + externe est le socket du client. Pour recevoir un socket client, + appelez recvfrom avec une structure <a href="http://www.kernel.org/doc/man-pages/online/pages/man3/ cmsg.3.html"><code>struct cmsghdr</code></a> allouée. Les versions + futures de ce module pourront transmettre d'autres données que le + socket client. + </p> +</div> +<div id="quickview"><h3 class="directives">Directives</h3> +<p>Ce module ne fournit aucune directive.</p> +<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_proxy_fdpass">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_proxy_fdpass">Signaler un bug</a></li></ul><h3>Voir aussi</h3> +<ul class="seealso"> +<li><code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></li> +<li><a href="#comments_section">Commentaires</a></li></ul></div> + +</div> +<div class="bottomlang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_proxy_fdpass.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_proxy_fdpass.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/trunk/mod/mod_proxy_fdpass.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 2017 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_proxy_fdpass.xml.fr b/docs/manual/mod/mod_proxy_fdpass.xml.fr new file mode 100644 index 0000000000..e085d1c5ef --- /dev/null +++ b/docs/manual/mod/mod_proxy_fdpass.xml.fr @@ -0,0 +1,71 @@ +<?xml version="1.0"?> +<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd"> +<?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?> +<!-- English Revision : 1717063 --> +<!-- French translation : Lucien GENTIS --> +<!-- $LastChangedRevision: 2015120501 $ --> + +<!-- + 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_proxy_fdpass.xml.meta"> + +<name>mod_proxy_fdpass</name> +<description>Module fournissant le support des processus externes fdpass +à <module>mod_proxy</module></description> +<status>Extension</status> +<sourcefile>mod_proxy_fdpass.c</sourcefile> +<identifier>proxy_fdpass_module</identifier> +<compatibility>Disponible pour unix depuis la version 2.3 +du serveur HTTP Apache</compatibility> + +<summary> + <p>Pour fonctionner, ce module <em>nécessite</em> le chargement de + <module>mod_proxy</module>. Il permet le passage du socket du client + vers un autre processus.</p> + + <p><code>mod_proxy_fdpass</code> utilise la capacité des sockets de + domaine AF_UNIX à <a + href="http://www.freebsd.org/cgi/man.cgi?query=recv">transmettre un + descripteur de fichier ouvert</a> afin de permettre à un autre + processus de terminer le traitement de la requête. + </p> + + <p>Le module possède une interface de fournisseur + <code>proxy_fdpass_flusher</code> qui permet éventuellement à un + autre module d'envoyer les en-têtes de la réponse, ou même le début + du corps de la réponse. Le fournisseur par défaut <code>flush</code> désactive la + persistence, et envoie les en-têtes de la réponse, laissant le soin + au processus externe d'envoyer le corps de la réponse.</p> + + <p>Pour utiliser un autre fournisseur, vous devez définir le paramètre + <code>flusher</code> de la directive <directive + module="mod_proxy">ProxyPass</directive>. + </p> + + <p>A l'heure actuelle, la seule donnée transmise au processus + externe est le socket du client. Pour recevoir un socket client, + appelez recvfrom avec une structure <a + href="http://www.kernel.org/doc/man-pages/online/pages/man3/ + cmsg.3.html"><code>struct cmsghdr</code></a> allouée. Les versions + futures de ce module pourront transmettre d'autres données que le + socket client. + </p> +</summary> + +<seealso><module>mod_proxy</module></seealso> +</modulesynopsis> diff --git a/docs/manual/mod/mod_proxy_fdpass.xml.meta b/docs/manual/mod/mod_proxy_fdpass.xml.meta index a88dd48420..a99a7942b5 100644 --- a/docs/manual/mod/mod_proxy_fdpass.xml.meta +++ b/docs/manual/mod/mod_proxy_fdpass.xml.meta @@ -8,5 +8,6 @@ <variants> <variant>en</variant> + <variant>fr</variant> </variants> </metafile> diff --git a/docs/manual/mod/mod_proxy_ftp.html b/docs/manual/mod/mod_proxy_ftp.html index 0cdfe603aa..928eb93ef8 100644 --- a/docs/manual/mod/mod_proxy_ftp.html +++ b/docs/manual/mod/mod_proxy_ftp.html @@ -3,3 +3,7 @@ URI: mod_proxy_ftp.html.en Content-Language: en Content-type: text/html; charset=ISO-8859-1 + +URI: mod_proxy_ftp.html.fr +Content-Language: fr +Content-type: text/html; charset=ISO-8859-1 diff --git a/docs/manual/mod/mod_proxy_ftp.html.fr b/docs/manual/mod/mod_proxy_ftp.html.fr new file mode 100644 index 0000000000..b8f15af347 --- /dev/null +++ b/docs/manual/mod/mod_proxy_ftp.html.fr @@ -0,0 +1,296 @@ +<?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> +<meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_proxy_ftp - Serveur Apache HTTP Version 2.5</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.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p> +<p class="apache">Serveur Apache HTTP Version 2.5</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.5</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Module Apache mod_proxy_ftp</h1> +<div class="toplang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_proxy_ftp.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_proxy_ftp.html" title="Français"> fr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Module fournissant le support FTP à +<code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></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>proxy_ftp_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_proxy_ftp.c</td></tr></table> +<h3>Sommaire</h3> + + <p>Pour pouvoir fonctionner, ce module <em>requiert</em> le + chargement de <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code>. Il fournit le support du + mandatement des sites FTP. Notez que le support FTP est + actuellement limité à la méthode GET.</p> + + <p>Ainsi, pour pouvoir traiter les requêtes FTP mandatées, + <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code>, et <code class="module"><a href="../mod/mod_proxy_ftp.html">mod_proxy_ftp</a></code> + doivent être chargés dans le serveur.</p> + + <div class="warning"><h3>Avertissement</h3> + <p>N'activez pas la fonctionnalité de mandataire avant d'avoir <a href="mod_proxy.html#access">sécurisé votre serveur</a>. Les + serveurs mandataires ouverts sont dangereux non seulement pour + votre réseau, mais aussi pour l'Internet au sens large.</p> + </div> +</div> +<div id="quickview"><h3>Sujets</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#mimetypes">Pourquoi les fichiers du type + <var>xxx</var> ne sont-ils pas téléchargeables par FTP ?</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#type">Comment puis-je forcer le téléchargement + FTP en mode ASCII du fichier <var>xxx</var> ?</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#ftpnonget">Comment puis-je effectuer un + chargement FTP ?</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#percent2fhck">Comment puis-je accéder par FTP à + des fichiers situés en dehors de mon répertoire home ?</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#ftppass">Comment puis-je dissimuler le mot de + passe FTP apparaissant en clair dans la ligne d'URL de mon + navigateur ?</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#wildcard">Pourquoi reçois-je un listing de + fichiers alors que j'ai demandé le téléchargement d'un fichier + ?</a></li> +</ul><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#proxyftpdircharset">ProxyFtpDirCharset</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#proxyftpescapewildcards">ProxyFtpEscapeWildcards</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#proxyftplistonwildcard">ProxyFtpListOnWildcard</a></li> +</ul> +<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_proxy_ftp">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_proxy_ftp">Signaler un bug</a></li></ul><h3>Voir aussi</h3> +<ul class="seealso"> +<li><code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></li> +<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="mimetypes" id="mimetypes">Pourquoi les fichiers du type + <var>xxx</var> ne sont-ils pas téléchargeables par FTP ?</a></h2> + <p>Ce type particulier de fichier n'est probablement pas défini en + temps que <code>application/octet-stream</code> dans le fichier + de configuration mime.types de votre mandataire. La ligne suivante + peut y remédier :</p> + + <div class="example"><pre>application/octet-stream bin dms lha lzh exe class tgz taz</pre></div> + <p>Vous pouvez aussi définir par défaut tous les types de fichiers + en tant que fichiers binaires :</p> + <div class="example"><pre class="prettyprint lang-config">ForceType application/octet-stream</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="type" id="type">Comment puis-je forcer le téléchargement + FTP en mode ASCII du fichier <var>xxx</var> ?</a></h2> + <p>Dans les rares siruations où vous devez télécharger un fichier + spécifique en utilisant la méthode de transfert FTP + <code>ASCII</code> (alors que le mode transfert par défaut est + <code>binary</code>), vous pouvez modifier le mode de transfert de + <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> en suffixant la requête avec + <code>;type=a</code> pour forcer un transfert en mode ASCII (les + listings de répertoires FTP sont cependant quant à eux transmis en + mode ASCII).</p> + </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="ftpnonget" id="ftpnonget">Comment puis-je effectuer un + chargement FTP ?</a></h2> + <p>Actuellement, seule la méthode GET est supportée pour FTP dans + mod_proxy. Vous pouvez par contre utiliser le chargement HTTP (POST + or PUT) via un mandataire Apache.</p> + </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="percent2fhck" id="percent2fhck">Comment puis-je accéder par FTP à + des fichiers situés en dehors de mon répertoire home ?</a></h2> + <p>Un URI FTP est considéré comme relatif au répertoire home de + l'utilisateur connecté. Hélas, vous ne pouvez pas utiliser /../ + pour atteindre des répertoires de niveau supérieur, car les points + sont interprétés par le navigateur et ne sont donc pas vraiment + envoyés au serveur FTP. Pour traiter ce problème, une méthode + nommée <dfn>Squid %2f hack</dfn> a été implémentée dans le + mandataire FTP Apache ; cette solution est aussi utilisée par + d'autres serveurs mandataires courants comme le <a href="http://www.squid-cache.org/">Cache mandataire Squid</a>. En + préfixant par <code>/%2f</code> le chemin de votre requête, vous + pouvez faire en sorte que le mandataire modifie le répertoire FTP + racine en <code>/</code> (au lieu du répertoire home). Par + exemple, pour extraire le fichier <code>/etc/motd</code>, vous + pourriez utiliser l'URL :</p> + + <div class="example"><p><code> + ftp://<var>utilisateur</var>@<var>serveur</var>/%2f/etc/motd + </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="ftppass" id="ftppass">Comment puis-je dissimuler le mot de + passe FTP apparaissant en clair dans la ligne d'URL de mon + navigateur ?</a></h2> + <p>Apache utilise différentes stratégies pour effectuer une + connexion à un serveur FTP à l'aide d'un nom d'utilisateur et d'un + mot de passe. En l'absence de nom d'utilisateur et de mot de passe + dans l'URL, Apache tente une connexion anonyme auprès du serveur + FTP comme suit :</p> + + <div class="example"><p><code> + utilisateur : anonymous<br /> + mot de passe : apache_proxy@ + </code></p></div> + + <p>Ceci fonctionne avec tous les serveurs FTP courants configurés + pour accepter les connexions anonymes.</p> + + <p>Pour une connexion personnalisée avec un nom d'utilisateur + spécifique, vous pouvez intégrer ce dernier dans l'URL comme suit + :</p> + + <div class="example"><p><code> + ftp://<var>nom-utilisateur</var>@<var>serveur</var>/mon-fichier + </code></p></div> + + <p>Si le serveur FTP demande un mot de passe pour ce nom + d'utilisateur (ce qu'il est censé faire), Apache va renvoyer au + client une réponse <code>401</code> (Autorisation requise), ce qui + fera afficher au navigateur une boîte de dialogue utilisateur/mot + de passe. Une fois le mot de passe saisi, la connexion est tentée + à nouveau, et si elle réussit, la ressource demandée est + présentée. L'avantage de cette procédure réside dans le fait que + votre navigateur n'affiche pas le mot de passe en clair, ce qu'il + aurait fait si vous aviez utilisé l'URL :</p> + + <div class="example"><p><code> + ftp://<var>nom-utilisateur</var>:<var>mot-de-passe</var>@<var>serveur</var>/mon-fichier + </code></p></div> + + <div class="note"><h3>Note</h3> + <p>Le mot de passe transmis de cette manière n'est pas chiffré + lorsqu'il est envoyé. Il transite entre votre navigateur et le + serveur mandataire Apache sous la forme d'une chaîne de texte en + clair codée en base64, et entre le mandataire Apache et le + serveur FTP en texte pur. Vous devez par conséquent réfléchir à + deux fois avant d'accéder à votre serveur FTP via HTTP (et d'une + manière générale avant d'accéder à vos fichiers personnels via + FTP !) sur des canaux non sécurisés, car des oreilles + indiscrètes pourraient intercepter votre mot de passe au cours + de son transfert.</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="wildcard" id="wildcard">Pourquoi reçois-je un listing de + fichiers alors que j'ai demandé le téléchargement d'un fichier + ?</a></h2> + <p>Apache examine l'URL de la requête afin de permettre la + navigation dans les répertoires d'un serveur FTP ainsi que le + téléchargement de fichiers. Si elle ressemble à un répertoire, ou + contient des caractères génériques ("*?[{~"), alors Apache + considère que c'est un listing qui est demandé, et non un + téléchargement.</p> + <p>Vous pouvez désactiver le traitement spécial des noms contenant + des caractères génériques. Voir à cet effet la directive + <code class="directive">ProxyFtpListOnWildcard</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="proxyftpdircharset" id="proxyftpdircharset">Directive</a> <a name="ProxyFtpDirCharset" id="ProxyFtpDirCharset">ProxyFtpDirCharset</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit le jeu de caractères des listings FTP +mandatés</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxyFtpDirCharset <var>jeu-caractères</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ProxyFtpDirCharset ISO-8859-1</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy_ftp</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Déplacé +depuis <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> à partir de la version 2.3.5 d'Apache</td></tr> +</table> + <p>La directive <code class="directive">ProxyFtpDirCharset</code> permet de + définir le jeu de caractères à utiliser pour les listings FTP en + HTML générés par <code class="module"><a href="../mod/mod_proxy_ftp.html">mod_proxy_ftp</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="proxyftpescapewildcards" id="proxyftpescapewildcards">Directive</a> <a name="ProxyFtpEscapeWildcards" id="ProxyFtpEscapeWildcards">ProxyFtpEscapeWildcards</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Les caractères génériques dans les noms de fichiers +doivent-ils être échappés lorsqu'ils sont envoyés au serveur FTP ?</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxyFtpEscapeWildcards [on|off]</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>on</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy_ftp</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.3.3 du serveur HTTP Apache</td></tr> +</table> + <p>La directive <code class="directive">ProxyFtpEscapeWildcards</code> permet + de déterminer si les caractères génériques ("*?[{~") que contiennent + les noms de fichiers demandés doivent être échappés pas un slash + inversé avant d'être envoyés au serveur FTP. Il s'agit du comportement + par défaut ; cependant, de nombreux serveurs FTP n'ont aucune + connaissance de la notion d'échappement, et tentent de servir le + fichier demandé sous sa forme littérale, en incluant les slashes + inversés dans son nom.</p> + <p>Définissez cette directive à "off" pour permettre le + téléchargement de fichiers dont les noms contiennent des caractères + génériques depuis des serveurs FTP qui ne connaissent pas + l'échappement des caractères génériques.</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="proxyftplistonwildcard" id="proxyftplistonwildcard">Directive</a> <a name="ProxyFtpListOnWildcard" id="ProxyFtpListOnWildcard">ProxyFtpListOnWildcard</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Les caractères génériques dans les noms de fichiers +demandés doivent-ils déclencher l'affichage d'un listing ?</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxyFtpListOnWildcard [on|off]</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>on</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy_ftp</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.3.3 du serveur HTTP Apache</td></tr> +</table> + <p>La directive <code class="directive">ProxyFtpListOnWildcard</code> permet + de déterminer si les caractères génériques ("*?[{~") que contiennent + les noms de fichiers demandés provoquent l'affichage d'un listing de + fichiers par <code class="module"><a href="../mod/mod_proxy_ftp.html">mod_proxy_ftp</a></code> au lieu de télécharger un + fichier. Il s'agit de leur comportement par défaut (valeur on). + Définissez cette directive à "off" pour permettre le téléchargement de + fichiers même si leur nom contient des caractères génériques.</p> + +</div> +</div> +<div class="bottomlang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_proxy_ftp.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_proxy_ftp.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/trunk/mod/mod_proxy_ftp.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 2017 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_proxy_ftp.xml.fr b/docs/manual/mod/mod_proxy_ftp.xml.fr new file mode 100644 index 0000000000..22ea68c151 --- /dev/null +++ b/docs/manual/mod/mod_proxy_ftp.xml.fr @@ -0,0 +1,247 @@ +<?xml version="1.0"?> +<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd"> +<?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?> +<!-- English Revision : 1673932 --> +<!-- French translation : Lucien GENTIS --> +<!-- $LastChangedRevision: 2015042601 $ --> + +<!-- + 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_proxy_ftp.xml.meta"> + +<name>mod_proxy_ftp</name> +<description>Module fournissant le support FTP à +<module>mod_proxy</module></description> +<status>Extension</status> +<sourcefile>mod_proxy_ftp.c</sourcefile> +<identifier>proxy_ftp_module</identifier> + +<summary> + <p>Pour pouvoir fonctionner, ce module <em>requiert</em> le + chargement de <module>mod_proxy</module>. Il fournit le support du + mandatement des sites FTP. Notez que le support FTP est + actuellement limité à la méthode GET.</p> + + <p>Ainsi, pour pouvoir traiter les requêtes FTP mandatées, + <module>mod_proxy</module>, et <module>mod_proxy_ftp</module> + doivent être chargés dans le serveur.</p> + + <note type="warning"><title>Avertissement</title> + <p>N'activez pas la fonctionnalité de mandataire avant d'avoir <a + href="mod_proxy.html#access">sécurisé votre serveur</a>. Les + serveurs mandataires ouverts sont dangereux non seulement pour + votre réseau, mais aussi pour l'Internet au sens large.</p> + </note> +</summary> +<seealso><module>mod_proxy</module></seealso> + + <section id="mimetypes"><title>Pourquoi les fichiers du type + <var>xxx</var> ne sont-ils pas téléchargeables par FTP ?</title> + <p>Ce type particulier de fichier n'est probablement pas défini en + temps que <code>application/octet-stream</code> dans le fichier + de configuration mime.types de votre mandataire. La ligne suivante + peut y remédier :</p> + + <example> +<pre>application/octet-stream bin dms lha lzh exe class tgz taz</pre> + </example> + <p>Vous pouvez aussi définir par défaut tous les types de fichiers + en tant que fichiers binaires :</p> + <example> +<highlight language="config"> + ForceType application/octet-stream +</highlight> + </example> + </section> <!-- /mimetypes --> + + <section id="type"><title>Comment puis-je forcer le téléchargement + FTP en mode ASCII du fichier <var>xxx</var> ?</title> + <p>Dans les rares siruations où vous devez télécharger un fichier + spécifique en utilisant la méthode de transfert FTP + <code>ASCII</code> (alors que le mode transfert par défaut est + <code>binary</code>), vous pouvez modifier le mode de transfert de + <module>mod_proxy</module> en suffixant la requête avec + <code>;type=a</code> pour forcer un transfert en mode ASCII (les + listings de répertoires FTP sont cependant quant à eux transmis en + mode ASCII).</p> + </section> <!-- /type --> + + <section id="ftpnonget"><title>Comment puis-je effectuer un + chargement FTP ?</title> + <p>Actuellement, seule la méthode GET est supportée pour FTP dans + mod_proxy. Vous pouvez par contre utiliser le chargement HTTP (POST + or PUT) via un mandataire Apache.</p> + </section> + + <section id="percent2fhck"><title>Comment puis-je accéder par FTP à + des fichiers situés en dehors de mon répertoire home ?</title> + <p>Un URI FTP est considéré comme relatif au répertoire home de + l'utilisateur connecté. Hélas, vous ne pouvez pas utiliser /../ + pour atteindre des répertoires de niveau supérieur, car les points + sont interprétés par le navigateur et ne sont donc pas vraiment + envoyés au serveur FTP. Pour traiter ce problème, une méthode + nommée <dfn>Squid %2f hack</dfn> a été implémentée dans le + mandataire FTP Apache ; cette solution est aussi utilisée par + d'autres serveurs mandataires courants comme le <a + href="http://www.squid-cache.org/">Cache mandataire Squid</a>. En + préfixant par <code>/%2f</code> le chemin de votre requête, vous + pouvez faire en sorte que le mandataire modifie le répertoire FTP + racine en <code>/</code> (au lieu du répertoire home). Par + exemple, pour extraire le fichier <code>/etc/motd</code>, vous + pourriez utiliser l'URL :</p> + + <example> + ftp://<var>utilisateur</var>@<var>serveur</var>/%2f/etc/motd + </example> + </section> <!-- /percent2fhck --> + + <section id="ftppass"><title>Comment puis-je dissimuler le mot de + passe FTP apparaissant en clair dans la ligne d'URL de mon + navigateur ?</title> + <p>Apache utilise différentes stratégies pour effectuer une + connexion à un serveur FTP à l'aide d'un nom d'utilisateur et d'un + mot de passe. En l'absence de nom d'utilisateur et de mot de passe + dans l'URL, Apache tente une connexion anonyme auprès du serveur + FTP comme suit :</p> + + <example> + utilisateur : anonymous<br /> + mot de passe : apache_proxy@ + </example> + + <p>Ceci fonctionne avec tous les serveurs FTP courants configurés + pour accepter les connexions anonymes.</p> + + <p>Pour une connexion personnalisée avec un nom d'utilisateur + spécifique, vous pouvez intégrer ce dernier dans l'URL comme suit + :</p> + + <example> + ftp://<var>nom-utilisateur</var>@<var>serveur</var>/mon-fichier + </example> + + <p>Si le serveur FTP demande un mot de passe pour ce nom + d'utilisateur (ce qu'il est censé faire), Apache va renvoyer au + client une réponse <code>401</code> (Autorisation requise), ce qui + fera afficher au navigateur une boîte de dialogue utilisateur/mot + de passe. Une fois le mot de passe saisi, la connexion est tentée + à nouveau, et si elle réussit, la ressource demandée est + présentée. L'avantage de cette procédure réside dans le fait que + votre navigateur n'affiche pas le mot de passe en clair, ce qu'il + aurait fait si vous aviez utilisé l'URL :</p> + + <example> + ftp://<var>nom-utilisateur</var>:<var>mot-de-passe</var + >@<var>serveur</var>/mon-fichier + </example> + + <note><title>Note</title> + <p>Le mot de passe transmis de cette manière n'est pas chiffré + lorsqu'il est envoyé. Il transite entre votre navigateur et le + serveur mandataire Apache sous la forme d'une chaîne de texte en + clair codée en base64, et entre le mandataire Apache et le + serveur FTP en texte pur. Vous devez par conséquent réfléchir à + deux fois avant d'accéder à votre serveur FTP via HTTP (et d'une + manière générale avant d'accéder à vos fichiers personnels via + FTP !) sur des canaux non sécurisés, car des oreilles + indiscrètes pourraient intercepter votre mot de passe au cours + de son transfert.</p> + </note> + </section> <!-- /ftppass --> + + <section id="wildcard"><title>Pourquoi reçois-je un listing de + fichiers alors que j'ai demandé le téléchargement d'un fichier + ?</title> + <p>Apache examine l'URL de la requête afin de permettre la + navigation dans les répertoires d'un serveur FTP ainsi que le + téléchargement de fichiers. Si elle ressemble à un répertoire, ou + contient des caractères génériques ("*?[{~"), alors Apache + considère que c'est un listing qui est demandé, et non un + téléchargement.</p> + <p>Vous pouvez désactiver le traitement spécial des noms contenant + des caractères génériques. Voir à cet effet la directive + <directive>ProxyFtpListOnWildcard</directive>. + </p> + </section> <!-- /wildcard --> + +<directivesynopsis> +<name>ProxyFtpListOnWildcard</name> +<description>Les caractères génériques dans les noms de fichiers +demandés doivent-ils déclencher l'affichage d'un listing ?</description> +<syntax>ProxyFtpListOnWildcard [on|off]</syntax> +<default>on</default> +<contextlist><context>server config</context><context>virtual host</context> + <context>directory</context></contextlist> +<compatibility>Disponible depuis la version 2.3.3 du serveur HTTP Apache</compatibility> + +<usage> + <p>La directive <directive>ProxyFtpListOnWildcard</directive> permet + de déterminer si les caractères génériques ("*?[{~") que contiennent + les noms de fichiers demandés provoquent l'affichage d'un listing de + fichiers par <module>mod_proxy_ftp</module> au lieu de télécharger un + fichier. Il s'agit de leur comportement par défaut (valeur on). + Définissez cette directive à "off" pour permettre le téléchargement de + fichiers même si leur nom contient des caractères génériques.</p> +</usage> +</directivesynopsis> + +<directivesynopsis> +<name>ProxyFtpEscapeWildcards</name> +<description>Les caractères génériques dans les noms de fichiers +doivent-ils être échappés lorsqu'ils sont envoyés au serveur FTP ?</description> +<syntax>ProxyFtpEscapeWildcards [on|off]</syntax> +<default>on</default> +<contextlist><context>server config</context><context>virtual host</context> + <context>directory</context></contextlist> +<compatibility>Disponible depuis la version 2.3.3 du serveur HTTP Apache</compatibility> + +<usage> + <p>La directive <directive>ProxyFtpEscapeWildcards</directive> permet + de déterminer si les caractères génériques ("*?[{~") que contiennent + les noms de fichiers demandés doivent être échappés pas un slash + inversé avant d'être envoyés au serveur FTP. Il s'agit du comportement + par défaut ; cependant, de nombreux serveurs FTP n'ont aucune + connaissance de la notion d'échappement, et tentent de servir le + fichier demandé sous sa forme littérale, en incluant les slashes + inversés dans son nom.</p> + <p>Définissez cette directive à "off" pour permettre le + téléchargement de fichiers dont les noms contiennent des caractères + génériques depuis des serveurs FTP qui ne connaissent pas + l'échappement des caractères génériques.</p> +</usage> +</directivesynopsis> + +<directivesynopsis> +<name>ProxyFtpDirCharset</name> +<description>Définit le jeu de caractères des listings FTP +mandatés</description> +<syntax>ProxyFtpDirCharset <var>jeu-caractères</var></syntax> +<default>ProxyFtpDirCharset ISO-8859-1</default> +<contextlist><context>server config</context><context>virtual host</context> +<context>directory</context></contextlist> +<compatibility>Déplacé +depuis <module>mod_proxy</module> à partir de la version 2.3.5 d'Apache</compatibility> + +<usage> + <p>La directive <directive>ProxyFtpDirCharset</directive> permet de + définir le jeu de caractères à utiliser pour les listings FTP en + HTML générés par <module>mod_proxy_ftp</module>.</p> +</usage> +</directivesynopsis> + +</modulesynopsis> diff --git a/docs/manual/mod/mod_proxy_ftp.xml.meta b/docs/manual/mod/mod_proxy_ftp.xml.meta index 1a0b188f79..b95c3fd4e3 100644 --- a/docs/manual/mod/mod_proxy_ftp.xml.meta +++ b/docs/manual/mod/mod_proxy_ftp.xml.meta @@ -8,5 +8,6 @@ <variants> <variant>en</variant> + <variant>fr</variant> </variants> </metafile> diff --git a/docs/manual/mod/mod_proxy_html.html b/docs/manual/mod/mod_proxy_html.html index 5f72597ff3..b615b8e539 100644 --- a/docs/manual/mod/mod_proxy_html.html +++ b/docs/manual/mod/mod_proxy_html.html @@ -3,3 +3,7 @@ URI: mod_proxy_html.html.en Content-Language: en Content-type: text/html; charset=ISO-8859-1 + +URI: mod_proxy_html.html.fr +Content-Language: fr +Content-type: text/html; charset=ISO-8859-1 diff --git a/docs/manual/mod/mod_proxy_html.html.fr b/docs/manual/mod/mod_proxy_html.html.fr new file mode 100644 index 0000000000..0b91175c78 --- /dev/null +++ b/docs/manual/mod/mod_proxy_html.html.fr @@ -0,0 +1,557 @@ +<?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> +<meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_proxy_html - Serveur Apache HTTP Version 2.5</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.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p> +<p class="apache">Serveur Apache HTTP Version 2.5</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.5</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Module Apache mod_proxy_html</h1> +<div class="toplang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_proxy_html.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_proxy_html.html" title="Français"> fr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Réécrit les liens HTML afin de s'assurer qu'ils soient bien +adressables depuis les réseaux des clients dans un contexte de +mandataire.</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>proxy_html_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_proxy_html.c</td></tr> +<tr><th><a href="module-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.4 du serveur HTTP Apache. +Disponible en tant que module tiers dans les versions 2.x antérieures</td></tr></table> +<h3>Sommaire</h3> + + <p>Ce module fournit un filtre en sortie permettant de réécrire les + liens HTML dans un contexte de mandataire, afin de s'assurer que ces + liens fonctionnent pour les utilisateurs en dehors du mandataire. Il + accomplit la même tâche que la directive ProxyPassReverse d'Apache + accomplit pour les en-têtes HTTP, et fait partie des composants + essentiels d'un mandataire inverse.</p> + +<p>Par exemple, si une entreprise possède un serveur d'applications +nommé appserver.example.com qui n'est visible que depuis son réseau +interne, et un serveur web public <code>www.example.com</code>, il peut +être souhaitable de fournir une passerelle vers le serveur d'application +à l'adresse <code>http://www.example.com/appserver/</code>. Lorsque le +serveur d'applications présente un lien vers lui-même, ce lien doit être +réécrit pour fonctionner à travers la passerelle. A cet effet, +mod_proxy_html permet de réécrire <code><a +href="http://appserver.example.com/foo/bar.html">foobar</a></code> +en <code><a +href="http://www.example.com/appserver/foo/bar.html">foobar</a></code>, +ce qui permet de rendre le serveur d'applications accessible depuis +l'extérieur.</p> + +<p>mod_proxy_html a été développé à l'origine à WebÞing, dont la <a href="http://apache.webthing.com/mod_proxy_html/">documentation</a> +détaillée pourra s'avérer utile aux utilisateurs.</p> +</div> +<div id="quickview"><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#proxyhtmlbufsize">ProxyHTMLBufSize</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#proxyhtmlcharsetout">ProxyHTMLCharsetOut</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#proxyhtmldoctype">ProxyHTMLDocType</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#proxyhtmlenable">ProxyHTMLEnable</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#proxyhtmlevents">ProxyHTMLEvents</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#proxyhtmlextended">ProxyHTMLExtended</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#proxyhtmlfixups">ProxyHTMLFixups</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#proxyhtmlinterp">ProxyHTMLInterp</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#proxyhtmllinks">ProxyHTMLLinks</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#proxyhtmlmeta">ProxyHTMLMeta</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#proxyhtmlstripcomments">ProxyHTMLStripComments</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#proxyhtmlurlmap">ProxyHTMLURLMap</a></li> +</ul> +<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_proxy_html">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_proxy_html">Signaler un bug</a></li></ul><h3>Voir aussi</h3> +<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="proxyhtmlbufsize" id="proxyhtmlbufsize">Directive</a> <a name="ProxyHTMLBufSize" id="ProxyHTMLBufSize">ProxyHTMLBufSize</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit l'incrément de la taille du tampon, ainsi que sa +taille initiale, pour la mise en +tampon des scripts en ligne et des feuilles de style.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxyHTMLBufSize <var>nb-octets</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire</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_proxy_html</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.4 du serveur HTTP Apache. +Disponible en tant que module tiers dans les versions 2.x antérieures.</td></tr> +</table> +<p>Pour pouvoir interpréter du contenu non HTML (feuilles de style et +scripts) embarqué dans des documents HTML, mod_proxy_html doit le lire +et le mémoriser en entier dans un +tampon. Ce tampon devra être étendu autant que nécessaire afin de +pouvoir accueillir le plus grand script ou la plus grande feuille de +style de la page, selon un incrément de <var>nb-octets</var> que cette +directive permet de définir.</p> +<p>La valeur par défaut est 8192 et sera suffisante pour la plupart des +pages. Cependant, si vous savez que vous allez mandater des +pages contenant des feuilles de style et/ou scripts plus grands que 8k +(cette taille s'entend pour chaque script ou feuilles de style, non pour +leur ensemble), il sera plus efficace de définir une taille de +tampon initiale plus grande afin d'éviter d'avoir à le redimensionner +dynamiquement au cours du traitement d'une requête. +</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="proxyhtmlcharsetout" id="proxyhtmlcharsetout">Directive</a> <a name="ProxyHTMLCharsetOut" id="ProxyHTMLCharsetOut">ProxyHTMLCharsetOut</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Spécifie un jeu de caractères pour la sortie de +mod_proxy_html.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxyHTMLCharsetOut <var>jeu-de-caractères | *</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire</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_proxy_html</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.4 du serveur HTTP Apache. +Disponible en tant que module tiers dans les versions 2.x antérieures.</td></tr> +</table> +<p>Cette directive permet de spécifier un jeu de caractères pour la +sortie de mod_proxy_html. Elle ne devrait jamais être utilisée, car tout +changement par rapport à la valeur par défaut <code>UTF-8</code> (Unicode - +utilisé en interne par libxml2) induit une charge supplémentaire de +traitement. La définition spéciale <code>ProxyHTMLCharsetOut *</code> +permet de générer une sortie qui utilisera le même encodage que +l'entrée.</p> +<p>Notez que tout ceci ne fonctionne que si le module +<code class="module"><a href="../mod/mod_xml2enc.html">mod_xml2enc</a></code> est chargé.</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="proxyhtmldoctype" id="proxyhtmldoctype">Directive</a> <a name="ProxyHTMLDocType" id="ProxyHTMLDocType">ProxyHTMLDocType</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit une déclaration de type de document HTML ou XHTML.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxyHTMLDocType <var>HTML|XHTML [Legacy]</var><br /><strong>OU</strong> +<br />ProxyHTMLDocType <var>fpi [SGML|XML]</var><br /><strong>OU</strong> +<br />ProxyHTMLDocType <var>html5</var><br /><strong>OU</strong> +<br />ProxyHTMLDocType <var>auto</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ProxyHTMLDocType auto (2.5/trunk versions); no FPI (2.4.x)</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire</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_proxy_html</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.4 du serveur HTTP Apache. +Disponible en tant que module tiers dans les versions 2.x antérieures.</td></tr> +</table> +<p>Avec la première syntaxe, les documents seront déclarés de type HTML +4.01 ou XHTML 1.0 selon l'option spécifiée. Cette option détermine aussi +si la syntaxe utilisée en sortie est HTML ou XHTML. Notez que le format +des documents en provenance du serveur d'arrière-plan n'est pas +important, car l'interpréteur le détectera automatiquement. Si le +second argument optionnel est défini à "Legacy", les documents seront +déclarés de type "Transitional" ; cette option peut être nécessaire si +vous mandatez du contenu datant d'avant 1998, ou si vous travaillez avec +des outils de création/publication déficients.</p> +<p>Avec la deuxième syntaxe, cette directive vous permet d'insérer votre +propre FPI (Formal Public Identifier). Le second argument optionnel +détermine si la syntaxe utilisée sera SGML/HTML ou XML/XHTML.</p> +<p>La troisième syntaxe attribue le type HTML 5 aux documents.</p> +<p>La quatrième syntaxe est nouvelle dans la branche trunk de HTTPD et +n'est pas encore disponible dans les versions stables ; elle utilise +l'interpréteur HTML de libxml2 pour déterminer le type de document.</p> +<p>Avec la première syntaxe, mod_proxy_html va aussi mettre le code HTML +en conformité avec le standard spécifié. Il ne pourra pas corriger +toutes les erreurs, mais il va supprimer les éléments et attributs non +conformes. Il peut aussi journaliser les autres erreurs si la directive +<code class="directive"><a href="../mod/core.html#loglevel">LogLevel</a></code> est définie à +Debug.</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="proxyhtmlenable" id="proxyhtmlenable">Directive</a> <a name="ProxyHTMLEnable" id="ProxyHTMLEnable">ProxyHTMLEnable</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Permet d'activer/désactiver le filtre proxy_html.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxyHTMLEnable <var>On|Off</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ProxyHTMLEnable Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire</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_proxy_html</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.4 du serveur HTTP Apache. +Disponible en tant que module tiers dans les versions 2.x antérieures.</td></tr> +</table> + <p>Cette directive est un simple commutateur permettant + d'activer/désactiver le filtre proxy_html. Si + <code class="module"><a href="../mod/mod_xml2enc.html">mod_xml2enc</a></code> est chargé, elle va aussi activer + automatiquement le support de l'internationalisation.</p> + <p>Notez que le filtre proxy_html s'agira que si les données sont de + type HTML (Content-Type text/html ou application/xhtml+xml), et si + elles passent par un mandataire. Vous pouvez passer outre ces + contraintes (à vos risques et périls) en définissant la variable + d'environnement <var>PROXY_HTML_FORCE</var>.</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="proxyhtmlevents" id="proxyhtmlevents">Directive</a> <a name="ProxyHTMLEvents" id="ProxyHTMLEvents">ProxyHTMLEvents</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Spécifie les attributs à traiter comme des évènements de +type scripting.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxyHTMLEvents <var>attribut [attribut ...]</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire</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_proxy_html</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.4 du serveur HTTP Apache. +Disponible en tant que module tiers dans les versions 2.x antérieures.</td></tr> +</table> +<p>Cette directive permet de spécifier un ou plusieurs attributs à +traiter comme +des évènements de type scripting et de leur appliquer les règles +<code class="directive">ProxyHTMLURLMap</code> lorsqu'elles ont été définies. Vous +pouvez spécifier un nombre quelconque d'attributs dans une ou plusieurs +directives <code>ProxyHTMLEvents</code>.</p> +<p>Normalement, cette directive est définie globalement. Si vous +définissez ProxyHTMLEvents à plusieurs niveaux, certains niveaux +l'emportant sur d'autres, vous devrez spécifier un jeu complet +d'évènements pour chaque niveau.</p> +<p>Le fichier <var>proxy-html.conf</var> fournit une configuration par +défaut et définit les évènements selon les standards +HTML 4 et XHTML 1.</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="proxyhtmlextended" id="proxyhtmlextended">Directive</a> <a name="ProxyHTMLExtended" id="ProxyHTMLExtended">ProxyHTMLExtended</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Détermine si l'on doit corriger les liens dans les scripts +en ligne, les feuilles de style et les évènements de type scripting.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxyHTMLExtended <var>On|Off</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ProxyHTMLExtended Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire</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_proxy_html</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.4 du serveur HTTP Apache. +Disponible en tant que module tiers dans les versions 2.x antérieures.</td></tr> +</table> +<p>Si cette directive est définie à <code>Off</code>, les liens HTML +sont réécrits en fonction des directives +<code class="directive">ProxyHTMLURLMap</code>, mais les liens qui apparaissent +dans le code Javascript et les feuilles de style restent inchangés.</p> +<p>Si elle est définie à <code>On</code>, tous les évènements de type +scripting (définis par la directive +<code class="directive">ProxyHTMLEvents</code>) et les scripts inclus ou les +feuilles de style sont aussi +traités par les règles <code class="directive">ProxyHTMLURLMap</code>, en +fonction des drapeaux définis pour chacune d'entre elles. Ne définissez +cette directive à <code>On</code> qu'en cas de nécessité absolue, car la +charge supplémentaire induite impacte les performances.</p> +<p>Vous devez aussi prêter attention aux modèles de comparaison, car +l'interpréteur n'a aucune notion de la forme que pourrait prendre une URL dans un +script embarqué ou une feuille de style. En particulier, la comparaison +étendus du caractère <code>/</code> a de fortes chances d'induire des +correspondances erronées.</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="proxyhtmlfixups" id="proxyhtmlfixups">Directive</a> <a name="ProxyHTMLFixups" id="ProxyHTMLFixups">ProxyHTMLFixups</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Corrige les erreurs HTML simples.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxyHTMLFixups <var>[lowercase] [dospath] [reset]</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire</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_proxy_html</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.4 du serveur HTTP Apache. +Disponible en tant que module tiers dans les versions 2.x antérieures.</td></tr> +</table> +<p>Cette directive accepte un à trois arguments parmi les suivants :</p> +<ul> +<li><code>lowercase</code>Les Urls sont réécrites en minuscules</li> +<li><code>dospath</code>Les slashes inversés dans les URLs sont +remplacés par des slashes directs.</li> +<li><code>reset</code>Annule toute option définie à un niveau supérieur +dans la configuration</li> +</ul> +<p>Cette directive doit être utilisée avec prudence. Elle peut corriger +certaines erreurs de création, mais risque aussi de modifier par erreur +des liens corrects. Ne l'utilisez que si vous êtes sûr que le serveur +d'arrière-plan est déficient.</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="proxyhtmlinterp" id="proxyhtmlinterp">Directive</a> <a name="ProxyHTMLInterp" id="ProxyHTMLInterp">ProxyHTMLInterp</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Active la réinterprétation des règles +<code class="directive">ProxyHTMLURLMap</code> pour chaque requête.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxyHTMLInterp <var>On|Off</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ProxyHTMLInterp Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire</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_proxy_html</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.4 du serveur HTTP Apache. +Disponible en tant que module tiers dans les versions 2.x antérieures.</td></tr> +</table> + <p>Cette directive permet d'activer le réinterprétation pour chaque + requête des modèles source et cible de la directive + <code class="directive">ProxyHTMLURLMap</code>.</p> + <p>Si la réinterprétation n'est pas activée, toutes les règles sont + précompilées au démarrage du serveur. Si elle est activée, les + règles doivent être recompilées pour chaque requête, ce qui induit + une charge de traitement supplémentaire. Elle ne doit donc être activée que si + cela s'avère nécessaire.</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="proxyhtmllinks" id="proxyhtmllinks">Directive</a> <a name="ProxyHTMLLinks" id="ProxyHTMLLinks">ProxyHTMLLinks</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Spécifie les éléments HTML dont les attributs d'URL doivent +être réécrits.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxyHTMLLinks <var>élément attribut [attribut2 ...]</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire</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_proxy_html</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.4 du serveur HTTP Apache. +Disponible en tant que module tiers dans les versions 2.x antérieures.</td></tr> +</table> +<p>Cette directive permet de spécifier les éléments dont les attributs d'URL +doivent être réécrits en utilisant les règles standards <code class="directive"><a href="#proxyhtmlurlmap">ProxyHTMLURLMap</a></code>. Vous devez définir une +directive ProxyHTMLLinks pour chaque élément, mais chacune d'entre elles peut +spécifier un nombre quelconque d'attributs</p> <p>Normalement, cette directive +est définie globalement. Si vous définissez ProxyHTMLLinks à plusieurs niveaux, +certains niveaux l'emportant sur d'autres, vous devrez spécifier un jeu complet +de liens pour chaque niveau.</p> <p>Le fichier <var>proxy-html.conf</var> +fournit une configuration par défaut et définit les liens HTML selon les +standards HTML 4 et XHTML 1.</p> +<div class="example"><h3>Exemples issus de proxy-html.conf</h3><pre class="prettyprint lang-config">ProxyHTMLLinks a href +ProxyHTMLLinks area href +ProxyHTMLLinks link href +ProxyHTMLLinks img src longdesc usemap +ProxyHTMLLinks object classid codebase data usemap +ProxyHTMLLinks q cite +ProxyHTMLLinks blockquote cite +ProxyHTMLLinks ins cite +ProxyHTMLLinks del cite +ProxyHTMLLinks form action +ProxyHTMLLinks input src usemap +ProxyHTMLLinks head profile +ProxyHTMLLinks base href +ProxyHTMLLinks script src for</pre> +</div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="proxyhtmlmeta" id="proxyhtmlmeta">Directive</a> <a name="ProxyHTMLMeta" id="ProxyHTMLMeta">ProxyHTMLMeta</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Active ou désactive une préinterprétation supplémentaire +des métadonnées dans les sections HTML <code><head></code>.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxyHTMLMeta <var>On|Off</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ProxyHTMLMeta Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire</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_proxy_html</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4 du serveur HTTP +Apache ; proposé en tant que module tiers dans les versions 2.x +précédentes.</td></tr> +</table> + <p>Cette directive permet d'activer ou désactiver une + préinterprétation supplémentaire des métadonnées dans les sections + HTML <code><head></code>. Si cette préinterprétation n'est pas + requise, définissez ProxyHTMLMeta à Off et les performances + seront légèrement améliorées. Cependant, elle s'avère parfois + nécessaire pour assurer un fonctionnement correct de l'internationalisation.</p> + <p>La directive ProxyHTMLMeta a deux effets. Le premier et le plus + important est la détection des codages de caractères déclarés sous + la forme</p> + <pre><meta http-equiv="Content-Type" content="text/html;charset=<var>foo</var>"></pre> + <p>ou, dans le cas d'un document XHTML, sous la forme d'une + déclaration XML. Elle n'est pas nécessaire si le jeu de caractères + est déclaré explicitement dans un en-tête HTTP (ce qui est + préférable) en provenance du serveur d'arrière-plan, ou si le + document est en <var>utf-8</var> (unicode) ou un de ses + sous-ensembles comme ASCII. Vous pourrez aussi vous en passer + lorsque le document utilise une valeur par défaut déclarée via la + directive <code class="directive"><a href="../mod/mod_xml2enc.html#xml2encdefault">xml2EncDefault</a></code>, avec le risque de + propager une déclaration incorrecte. Une directive + <code class="directive">ProxyHTMLCharsetOut</code> permettra d'annuler ce + risque, mais pourra induire une surcharge de traitement supérieure à + celle de ProxyHTMLMeta.</p> + <p>Le deuxième effet est l'interprétation de toutes les déclarations + <code><meta http-equiv=...></code> et leur conversion en + en-têtes HTTP, afin de conserver le but original de cette forme + de métaélément HTML.</p> + + <div class="warning"><h3>Avertissement</h3> Compte tenu du fait que la + directive ProxyHTMLMeta promeut <strong>tous</strong> les éléments + <code>http-equiv</code> au rang d'en-têtes HTTP, il est conseillé de ne + l'activer que si vous faites autant confiance au contenu HTML qu'à votre + serveur mandataire. Avec cette directive en effet, si ce contenu est géré + par des gens malintentionnés, ces derniers seront en mesure d'injecter des + en-têtes HTTP arbitraires et peut-être malveillants dans les réponses de + votre serveur. + </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="proxyhtmlstripcomments" id="proxyhtmlstripcomments">Directive</a> <a name="ProxyHTMLStripComments" id="ProxyHTMLStripComments">ProxyHTMLStripComments</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Détermine si les commentaires HTML doivent être supprimés.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxyHTMLStripComments <var>On|Off</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ProxyHTMLStripComments Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire</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_proxy_html</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.4 du serveur HTTP Apache. +Disponible en tant que module tiers dans les versions 2.x antérieures.</td></tr> +</table> +<p>Si cette directive est définie à <code>On</code>, mod_proxy_html +supprimera les commentaires HTML. Notez que cela supprimera aussi tout +script ou style inclus dans les commentaires (une monstruosité +introduite en 1995/1996 avec Netscape 2 pour les navigateurs plus +anciens, et encore utilisée de nos jours). Cette directive peut aussi +interférer avec des processeurs basés sur les commentaires comme SSI ou +ESI : assurez-vous d'exécuter ces derniers <em>avant</em> mod_proxy_html +dans la chaîne de filtrage si vous supprimez les commentaires !</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="proxyhtmlurlmap" id="proxyhtmlurlmap">Directive</a> <a name="ProxyHTMLURLMap" id="ProxyHTMLURLMap">ProxyHTMLURLMap</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit une règle de réécriture des liens HTML</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxyHTMLURLMap <var>modèle-source modèle-cible [drapeaux] [cond]</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire</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_proxy_html</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.4 du serveur HTTP Apache. +Disponible en tant que module tiers dans les versions 2.x antérieures.</td></tr> +</table> +<p>Il s'agit de la directive la plus importante pour la réécriture des +liens HTML. Lors de l'interprétation d'un document, chaque fois qu'un +lien correspond à <var>modèle-source</var>, la partie du lien concernée +sera réécrite en <var>modèle-cible</var>, en tenant compte des +modifications induites par les drapeaux éventuellement spécifiés et par +la directive <code class="directive"><a href="#proxyhtmlextended">ProxyHTMLExtended</a></code>. +Ne seront considérés comme des liens HTML que les éléments spécifiés via la +directive <code class="directive"><a href="#proxyhtmllinks">ProxyHTMLLinks</a></code>.</p> + +<p>Le troisième argument optionnel permet de définir un des drapeaux +suivants (les drapeaux sont sensibles à la casse) :</p> +<dl> +<dt>h</dt> +<dd><p>Ignore les liens HTML (les traverse sans les modifier)</p></dd> +<dt>e</dt> +<dd><p>Ignore les évènements de scripting (les traverse sans les +modifier)</p></dd> +<dt>c</dt> +<dd><p>Traverse les sections de type style ou script sans les modifier.</p></dd> + +<dt>L</dt> +<dd><p>Last-match. Si cette règle s'applique, aucune autre règle ne sera +prise en compte (notez qu'il s'agit du comportement automatique pour les +liens HTML).</p></dd> +<dt>l</dt> +<dd><p>L'opposé de L. Passe outre le comportement par défaut du +changement unique pour les liens HTML.</p></dd> +<dt>R</dt> +<dd><p>Utilise des expressions rationnelles pour les modèles. +<code>modèle-source</code> est une expression rationnelle, et +<code>modèle-cible</code> une chaîne de remplacement qui peut être basée +elle aussi sur une expression rationnelle. La mémorisation dans les +expressions rationnelles est supportée : vous pouvez utiliser des +parenthèses () dans le <code>modèle-source</code>, et récupérer la +correspondance de leur contenu via les variables $1 à $9 dans le +<code>modèle-cible</code>.</p> + +<p>Si le drapeau R n'est pas fourni, la directive utilisera des chaînes +littérales pour les différents modèles de recherche/remplacement. La +logique de recherche est <em>"commence par"</em> dans les liens HTML, et +<em>"contient"</em> dans les évènements de scripting et les sections de +type style ou script. +</p> +</dd> +<dt>x</dt> +<dd><p>Utilise les expressions rationnelles étendues POSIX. Ne +s'applique qu'avec R.</p></dd> +<dt>i</dt> +<dd><p>Recherche de correspondance sensible à la casse. Ne +s'applique qu'avec R.</p></dd> + +<dt>n</dt> +<dd><p>Désactive la mémorisation dans les expressions rationnelles (pour +améliorer les performances). Ne s'applique qu'avec R.</p></dd> +<dt>s</dt> +<dd><p>Recherche de correspondance dans les expressions rationnelles +basée sur la ligne. Ne s'applique qu'avec R.</p></dd> +<dt>^</dt> +<dd><p>Recherche de correspondance au début seulement. Ne concerne que +les recherches de correspondance par rapport à des chaînes, et ne +s'applique pas aux liens HTML.</p></dd> +<dt>$</dt> +<dd><p>Recherche de correspondance à la fin seulement. Ne concerne que +les recherches de correspondance par rapport à des chaînes, et ne +s'applique pas aux liens HTML.</p></dd> +<dt>V</dt> +<dd><p>Insère des variables d'environnement dans le +<code>modèle-cible</code>. Un <code>modèle-cible</code> de la forme +<code>${varname|default}</code> sera remplacé par la valeur de la +variable d'environnement <code>varname</code>. Si cette dernière n'est +pas définie, <code>modèle-cible</code> sera remplacé par +<code>default</code>. La spécification de <code>|default</code> est +facultative.</p> +<p>NOTE: l'insertion de variables d'environnement n'est possible que si +la directive <code class="directive">ProxyHTMLInterp</code> a été définie à +<var>On</var>.</p> +</dd> + +<dt>v</dt> +<dd><p>Insère des variables d'environnement dans le +<code>modèle-source</code>. La syntaxe du modèle est identique à la +syntaxe précédente.</p> +<p>NOTE: l'insertion de variables d'environnement n'est possible que si +la directive <code class="directive">ProxyHTMLInterp</code> a été définie à +<var>On</var>.</p> +</dd> +</dl> + +<p>Le quatrième argument optionnel <strong>cond</strong> définit une +condition qui sera évaluée pour chaque requête, sous réserve que la +directive <code class="directive">ProxyHTMLInterp</code> ait été définie à +<var>On</var>. Si la condition est évaluée à FALSE, la règle ne sera pas +appliquée à la requête. Si elle est évaluée à TRUE, ou si aucune +condition n'est définie, la règle s'applique.</p> +<p>La <strong>condition</strong> est évaluée par l'<a href="../expr.html">interpréteur d'expression</a>. La syntaxe simple des +conditions dans mod_proxy_html 3.x pour HTTPD 2.0 et 2.2 est aussi +supportée.</p> + +</div> +</div> +<div class="bottomlang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_proxy_html.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_proxy_html.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/trunk/mod/mod_proxy_html.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 2017 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_proxy_html.xml.fr b/docs/manual/mod/mod_proxy_html.xml.fr new file mode 100644 index 0000000000..dd66c12676 --- /dev/null +++ b/docs/manual/mod/mod_proxy_html.xml.fr @@ -0,0 +1,523 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd"> +<?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?> +<!-- English Revision : 1765357 --> +<!-- French translation : Lucien GENTIS --> +<!-- $LastChangedRevision: 2016102201 $ --> + +<!-- + 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_proxy_html.xml.meta"> + +<name>mod_proxy_html</name> +<description>Réécrit les liens HTML afin de s'assurer qu'ils soient bien +adressables depuis les réseaux des clients dans un contexte de +mandataire.</description> +<status>Base</status> +<sourcefile>mod_proxy_html.c</sourcefile> +<identifier>proxy_html_module</identifier> +<compatibility>Disponible depuis la version 2.4 du serveur HTTP Apache. +Disponible en tant que module tiers dans les versions 2.x antérieures</compatibility> + +<summary> + <p>Ce module fournit un filtre en sortie permettant de réécrire les + liens HTML dans un contexte de mandataire, afin de s'assurer que ces + liens fonctionnent pour les utilisateurs en dehors du mandataire. Il + accomplit la même tâche que la directive ProxyPassReverse d'Apache + accomplit pour les en-têtes HTTP, et fait partie des composants + essentiels d'un mandataire inverse.</p> + +<p>Par exemple, si une entreprise possède un serveur d'applications +nommé appserver.example.com qui n'est visible que depuis son réseau +interne, et un serveur web public <code>www.example.com</code>, il peut +être souhaitable de fournir une passerelle vers le serveur d'application +à l'adresse <code>http://www.example.com/appserver/</code>. Lorsque le +serveur d'applications présente un lien vers lui-même, ce lien doit être +réécrit pour fonctionner à travers la passerelle. A cet effet, +mod_proxy_html permet de réécrire <code><a +href="http://appserver.example.com/foo/bar.html">foobar</a></code> +en <code><a +href="http://www.example.com/appserver/foo/bar.html">foobar</a></code>, +ce qui permet de rendre le serveur d'applications accessible depuis +l'extérieur.</p> + +<p>mod_proxy_html a été développé à l'origine à WebÞing, dont la <a +href="http://apache.webthing.com/mod_proxy_html/">documentation</a> +détaillée pourra s'avérer utile aux utilisateurs.</p> +</summary> + +<directivesynopsis> +<name>ProxyHTMLMeta</name> +<description>Active ou désactive une préinterprétation supplémentaire +des métadonnées dans les sections HTML <code><head></code>.</description> +<syntax>ProxyHTMLMeta <var>On|Off</var></syntax> +<default>ProxyHTMLMeta Off</default> +<contextlist><context>server config</context> +<context>virtual host</context><context>directory</context> +</contextlist> +<compatibility>Disponible à partir de la version 2.4 du serveur HTTP +Apache ; proposé en tant que module tiers dans les versions 2.x +précédentes.</compatibility> + +<usage> + <p>Cette directive permet d'activer ou désactiver une + préinterprétation supplémentaire des métadonnées dans les sections + HTML <code><head></code>. Si cette préinterprétation n'est pas + requise, définissez ProxyHTMLMeta à Off et les performances + seront légèrement améliorées. Cependant, elle s'avère parfois + nécessaire pour assurer un fonctionnement correct de l'internationalisation.</p> + <p>La directive ProxyHTMLMeta a deux effets. Le premier et le plus + important est la détection des codages de caractères déclarés sous + la forme</p> + <pre><meta http-equiv="Content-Type" content="text/html;charset=<var>foo</var>"></pre> + <p>ou, dans le cas d'un document XHTML, sous la forme d'une + déclaration XML. Elle n'est pas nécessaire si le jeu de caractères + est déclaré explicitement dans un en-tête HTTP (ce qui est + préférable) en provenance du serveur d'arrière-plan, ou si le + document est en <var>utf-8</var> (unicode) ou un de ses + sous-ensembles comme ASCII. Vous pourrez aussi vous en passer + lorsque le document utilise une valeur par défaut déclarée via la + directive <directive + module="mod_xml2enc">xml2EncDefault</directive>, avec le risque de + propager une déclaration incorrecte. Une directive + <directive>ProxyHTMLCharsetOut</directive> permettra d'annuler ce + risque, mais pourra induire une surcharge de traitement supérieure à + celle de ProxyHTMLMeta.</p> + <p>Le deuxième effet est l'interprétation de toutes les déclarations + <code><meta http-equiv=...></code> et leur conversion en + en-têtes HTTP, afin de conserver le but original de cette forme + de métaélément HTML.</p> + + <note type="warning"><title>Avertissement</title> Compte tenu du fait que la + directive ProxyHTMLMeta promeut <strong>tous</strong> les éléments + <code>http-equiv</code> au rang d'en-têtes HTTP, il est conseillé de ne + l'activer que si vous faites autant confiance au contenu HTML qu'à votre + serveur mandataire. Avec cette directive en effet, si ce contenu est géré + par des gens malintentionnés, ces derniers seront en mesure d'injecter des + en-têtes HTTP arbitraires et peut-être malveillants dans les réponses de + votre serveur. + </note> +</usage> +</directivesynopsis> + +<directivesynopsis> +<name>ProxyHTMLEnable</name> +<description>Permet d'activer/désactiver le filtre proxy_html.</description> +<syntax>ProxyHTMLEnable <var>On|Off</var></syntax> +<default>ProxyHTMLEnable Off</default> +<contextlist><context>server config</context> +<context>virtual host</context><context>directory</context> +</contextlist> +<compatibility>Disponible depuis la version 2.4 du serveur HTTP Apache. +Disponible en tant que module tiers dans les versions 2.x antérieures.</compatibility> + +<usage> + <p>Cette directive est un simple commutateur permettant + d'activer/désactiver le filtre proxy_html. Si + <module>mod_xml2enc</module> est chargé, elle va aussi activer + automatiquement le support de l'internationalisation.</p> + <p>Notez que le filtre proxy_html s'agira que si les données sont de + type HTML (Content-Type text/html ou application/xhtml+xml), et si + elles passent par un mandataire. Vous pouvez passer outre ces + contraintes (à vos risques et périls) en définissant la variable + d'environnement <var>PROXY_HTML_FORCE</var>.</p> +</usage> +</directivesynopsis> + +<directivesynopsis> +<name>ProxyHTMLURLMap</name> +<description>Définit une règle de réécriture des liens HTML</description> +<syntax>ProxyHTMLURLMap <var>modèle-source modèle-cible [drapeaux] [cond]</var></syntax> +<contextlist><context>server config</context> +<context>virtual host</context><context>directory</context> +</contextlist> +<compatibility>Disponible depuis la version 2.4 du serveur HTTP Apache. +Disponible en tant que module tiers dans les versions 2.x antérieures.</compatibility> + +<usage> +<p>Il s'agit de la directive la plus importante pour la réécriture des +liens HTML. Lors de l'interprétation d'un document, chaque fois qu'un +lien correspond à <var>modèle-source</var>, la partie du lien concernée +sera réécrite en <var>modèle-cible</var>, en tenant compte des +modifications induites par les drapeaux éventuellement spécifiés et par +la directive <directive module="mod_proxy_html">ProxyHTMLExtended</directive>. +Ne seront considérés comme des liens HTML que les éléments spécifiés via la +directive <directive module="mod_proxy_html">ProxyHTMLLinks</directive>.</p> + +<p>Le troisième argument optionnel permet de définir un des drapeaux +suivants (les drapeaux sont sensibles à la casse) :</p> +<dl> +<dt>h</dt> +<dd><p>Ignore les liens HTML (les traverse sans les modifier)</p></dd> +<dt>e</dt> +<dd><p>Ignore les évènements de scripting (les traverse sans les +modifier)</p></dd> +<dt>c</dt> +<dd><p>Traverse les sections de type style ou script sans les modifier.</p></dd> + +<dt>L</dt> +<dd><p>Last-match. Si cette règle s'applique, aucune autre règle ne sera +prise en compte (notez qu'il s'agit du comportement automatique pour les +liens HTML).</p></dd> +<dt>l</dt> +<dd><p>L'opposé de L. Passe outre le comportement par défaut du +changement unique pour les liens HTML.</p></dd> +<dt>R</dt> +<dd><p>Utilise des expressions rationnelles pour les modèles. +<code>modèle-source</code> est une expression rationnelle, et +<code>modèle-cible</code> une chaîne de remplacement qui peut être basée +elle aussi sur une expression rationnelle. La mémorisation dans les +expressions rationnelles est supportée : vous pouvez utiliser des +parenthèses () dans le <code>modèle-source</code>, et récupérer la +correspondance de leur contenu via les variables $1 à $9 dans le +<code>modèle-cible</code>.</p> + +<p>Si le drapeau R n'est pas fourni, la directive utilisera des chaînes +littérales pour les différents modèles de recherche/remplacement. La +logique de recherche est <em>"commence par"</em> dans les liens HTML, et +<em>"contient"</em> dans les évènements de scripting et les sections de +type style ou script. +</p> +</dd> +<dt>x</dt> +<dd><p>Utilise les expressions rationnelles étendues POSIX. Ne +s'applique qu'avec R.</p></dd> +<dt>i</dt> +<dd><p>Recherche de correspondance sensible à la casse. Ne +s'applique qu'avec R.</p></dd> + +<dt>n</dt> +<dd><p>Désactive la mémorisation dans les expressions rationnelles (pour +améliorer les performances). Ne s'applique qu'avec R.</p></dd> +<dt>s</dt> +<dd><p>Recherche de correspondance dans les expressions rationnelles +basée sur la ligne. Ne s'applique qu'avec R.</p></dd> +<dt>^</dt> +<dd><p>Recherche de correspondance au début seulement. Ne concerne que +les recherches de correspondance par rapport à des chaînes, et ne +s'applique pas aux liens HTML.</p></dd> +<dt>$</dt> +<dd><p>Recherche de correspondance à la fin seulement. Ne concerne que +les recherches de correspondance par rapport à des chaînes, et ne +s'applique pas aux liens HTML.</p></dd> +<dt>V</dt> +<dd><p>Insère des variables d'environnement dans le +<code>modèle-cible</code>. Un <code>modèle-cible</code> de la forme +<code>${varname|default}</code> sera remplacé par la valeur de la +variable d'environnement <code>varname</code>. Si cette dernière n'est +pas définie, <code>modèle-cible</code> sera remplacé par +<code>default</code>. La spécification de <code>|default</code> est +facultative.</p> +<p>NOTE: l'insertion de variables d'environnement n'est possible que si +la directive <directive>ProxyHTMLInterp</directive> a été définie à +<var>On</var>.</p> +</dd> + +<dt>v</dt> +<dd><p>Insère des variables d'environnement dans le +<code>modèle-source</code>. La syntaxe du modèle est identique à la +syntaxe précédente.</p> +<p>NOTE: l'insertion de variables d'environnement n'est possible que si +la directive <directive>ProxyHTMLInterp</directive> a été définie à +<var>On</var>.</p> +</dd> +</dl> + +<p>Le quatrième argument optionnel <strong>cond</strong> définit une +condition qui sera évaluée pour chaque requête, sous réserve que la +directive <directive>ProxyHTMLInterp</directive> ait été définie à +<var>On</var>. Si la condition est évaluée à FALSE, la règle ne sera pas +appliquée à la requête. Si elle est évaluée à TRUE, ou si aucune +condition n'est définie, la règle s'applique.</p> +<p>La <strong>condition</strong> est évaluée par l'<a +href="../expr.html">interpréteur d'expression</a>. La syntaxe simple des +conditions dans mod_proxy_html 3.x pour HTTPD 2.0 et 2.2 est aussi +supportée.</p> +</usage> +</directivesynopsis> + +<directivesynopsis> +<name>ProxyHTMLInterp</name> +<description>Active la réinterprétation des règles +<directive>ProxyHTMLURLMap</directive> pour chaque requête.</description> +<syntax>ProxyHTMLInterp <var>On|Off</var></syntax> +<default>ProxyHTMLInterp Off</default> +<contextlist><context>server config</context> +<context>virtual host</context><context>directory</context> +</contextlist> +<compatibility>Disponible depuis la version 2.4 du serveur HTTP Apache. +Disponible en tant que module tiers dans les versions 2.x antérieures.</compatibility> + +<usage> + <p>Cette directive permet d'activer le réinterprétation pour chaque + requête des modèles source et cible de la directive + <directive>ProxyHTMLURLMap</directive>.</p> + <p>Si la réinterprétation n'est pas activée, toutes les règles sont + précompilées au démarrage du serveur. Si elle est activée, les + règles doivent être recompilées pour chaque requête, ce qui induit + une charge de traitement supplémentaire. Elle ne doit donc être activée que si + cela s'avère nécessaire.</p> +</usage> +</directivesynopsis> + +<directivesynopsis> +<name>ProxyHTMLDocType</name> +<description>Définit une déclaration de type de document HTML ou XHTML.</description> +<syntax>ProxyHTMLDocType <var>HTML|XHTML [Legacy]</var><br/><strong>OU</strong> +<br/>ProxyHTMLDocType <var>fpi [SGML|XML]</var><br/><strong>OU</strong> +<br/>ProxyHTMLDocType <var>html5</var><br/><strong>OU</strong> +<br/>ProxyHTMLDocType <var>auto</var></syntax> +<default>ProxyHTMLDocType auto (2.5/trunk versions); no FPI (2.4.x)</default> +<contextlist><context>server config</context> +<context>virtual host</context><context>directory</context> +</contextlist> +<compatibility>Disponible depuis la version 2.4 du serveur HTTP Apache. +Disponible en tant que module tiers dans les versions 2.x antérieures.</compatibility> + +<usage> +<p>Avec la première syntaxe, les documents seront déclarés de type HTML +4.01 ou XHTML 1.0 selon l'option spécifiée. Cette option détermine aussi +si la syntaxe utilisée en sortie est HTML ou XHTML. Notez que le format +des documents en provenance du serveur d'arrière-plan n'est pas +important, car l'interpréteur le détectera automatiquement. Si le +second argument optionnel est défini à "Legacy", les documents seront +déclarés de type "Transitional" ; cette option peut être nécessaire si +vous mandatez du contenu datant d'avant 1998, ou si vous travaillez avec +des outils de création/publication déficients.</p> +<p>Avec la deuxième syntaxe, cette directive vous permet d'insérer votre +propre FPI (Formal Public Identifier). Le second argument optionnel +détermine si la syntaxe utilisée sera SGML/HTML ou XML/XHTML.</p> +<p>La troisième syntaxe attribue le type HTML 5 aux documents.</p> +<p>La quatrième syntaxe est nouvelle dans la branche trunk de HTTPD et +n'est pas encore disponible dans les versions stables ; elle utilise +l'interpréteur HTML de libxml2 pour déterminer le type de document.</p> +<p>Avec la première syntaxe, mod_proxy_html va aussi mettre le code HTML +en conformité avec le standard spécifié. Il ne pourra pas corriger +toutes les erreurs, mais il va supprimer les éléments et attributs non +conformes. Il peut aussi journaliser les autres erreurs si la directive +<directive module="core">LogLevel</directive> est définie à +Debug.</p> +</usage> +</directivesynopsis> + +<directivesynopsis> +<name>ProxyHTMLFixups</name> +<description>Corrige les erreurs HTML simples.</description> +<syntax>ProxyHTMLFixups <var>[lowercase] [dospath] [reset]</var></syntax> +<contextlist><context>server config</context> +<context>virtual host</context><context>directory</context> +</contextlist> +<compatibility>Disponible depuis la version 2.4 du serveur HTTP Apache. +Disponible en tant que module tiers dans les versions 2.x antérieures.</compatibility> +<usage> +<p>Cette directive accepte un à trois arguments parmi les suivants :</p> +<ul> +<li><code>lowercase</code>Les Urls sont réécrites en minuscules</li> +<li><code>dospath</code>Les slashes inversés dans les URLs sont +remplacés par des slashes directs.</li> +<li><code>reset</code>Annule toute option définie à un niveau supérieur +dans la configuration</li> +</ul> +<p>Cette directive doit être utilisée avec prudence. Elle peut corriger +certaines erreurs de création, mais risque aussi de modifier par erreur +des liens corrects. Ne l'utilisez que si vous êtes sûr que le serveur +d'arrière-plan est déficient.</p> +</usage> +</directivesynopsis> + +<directivesynopsis> +<name>ProxyHTMLExtended</name> +<description>Détermine si l'on doit corriger les liens dans les scripts +en ligne, les feuilles de style et les évènements de type scripting.</description> +<syntax>ProxyHTMLExtended <var>On|Off</var></syntax> +<default>ProxyHTMLExtended Off</default> +<contextlist><context>server config</context> +<context>virtual host</context><context>directory</context> +</contextlist> +<compatibility>Disponible depuis la version 2.4 du serveur HTTP Apache. +Disponible en tant que module tiers dans les versions 2.x antérieures.</compatibility> +<usage> +<p>Si cette directive est définie à <code>Off</code>, les liens HTML +sont réécrits en fonction des directives +<directive>ProxyHTMLURLMap</directive>, mais les liens qui apparaissent +dans le code Javascript et les feuilles de style restent inchangés.</p> +<p>Si elle est définie à <code>On</code>, tous les évènements de type +scripting (définis par la directive +<directive>ProxyHTMLEvents</directive>) et les scripts inclus ou les +feuilles de style sont aussi +traités par les règles <directive>ProxyHTMLURLMap</directive>, en +fonction des drapeaux définis pour chacune d'entre elles. Ne définissez +cette directive à <code>On</code> qu'en cas de nécessité absolue, car la +charge supplémentaire induite impacte les performances.</p> +<p>Vous devez aussi prêter attention aux modèles de comparaison, car +l'interpréteur n'a aucune notion de la forme que pourrait prendre une URL dans un +script embarqué ou une feuille de style. En particulier, la comparaison +étendus du caractère <code>/</code> a de fortes chances d'induire des +correspondances erronées.</p> +</usage> +</directivesynopsis> + +<directivesynopsis> +<name>ProxyHTMLStripComments</name> +<description>Détermine si les commentaires HTML doivent être supprimés.</description> +<syntax>ProxyHTMLStripComments <var>On|Off</var></syntax> +<default>ProxyHTMLStripComments Off</default> +<contextlist><context>server config</context> +<context>virtual host</context><context>directory</context> +</contextlist> +<compatibility>Disponible depuis la version 2.4 du serveur HTTP Apache. +Disponible en tant que module tiers dans les versions 2.x antérieures.</compatibility> +<usage> +<p>Si cette directive est définie à <code>On</code>, mod_proxy_html +supprimera les commentaires HTML. Notez que cela supprimera aussi tout +script ou style inclus dans les commentaires (une monstruosité +introduite en 1995/1996 avec Netscape 2 pour les navigateurs plus +anciens, et encore utilisée de nos jours). Cette directive peut aussi +interférer avec des processeurs basés sur les commentaires comme SSI ou +ESI : assurez-vous d'exécuter ces derniers <em>avant</em> mod_proxy_html +dans la chaîne de filtrage si vous supprimez les commentaires !</p> +</usage> +</directivesynopsis> + +<directivesynopsis> +<name>ProxyHTMLBufSize</name> +<description>Définit l'incrément de la taille du tampon, ainsi que sa +taille initiale, pour la mise en +tampon des scripts en ligne et des feuilles de style.</description> +<syntax>ProxyHTMLBufSize <var>nb-octets</var></syntax> +<contextlist><context>server config</context> +<context>virtual host</context><context>directory</context> +</contextlist> +<compatibility>Disponible depuis la version 2.4 du serveur HTTP Apache. +Disponible en tant que module tiers dans les versions 2.x antérieures.</compatibility> +<usage> +<p>Pour pouvoir interpréter du contenu non HTML (feuilles de style et +scripts) embarqué dans des documents HTML, mod_proxy_html doit le lire +et le mémoriser en entier dans un +tampon. Ce tampon devra être étendu autant que nécessaire afin de +pouvoir accueillir le plus grand script ou la plus grande feuille de +style de la page, selon un incrément de <var>nb-octets</var> que cette +directive permet de définir.</p> +<p>La valeur par défaut est 8192 et sera suffisante pour la plupart des +pages. Cependant, si vous savez que vous allez mandater des +pages contenant des feuilles de style et/ou scripts plus grands que 8k +(cette taille s'entend pour chaque script ou feuilles de style, non pour +leur ensemble), il sera plus efficace de définir une taille de +tampon initiale plus grande afin d'éviter d'avoir à le redimensionner +dynamiquement au cours du traitement d'une requête. +</p> +</usage> +</directivesynopsis> +i +<directivesynopsis> +<name>ProxyHTMLEvents</name> +<description>Spécifie les attributs à traiter comme des évènements de +type scripting.</description> +<syntax>ProxyHTMLEvents <var>attribut [attribut ...]</var></syntax> +<contextlist><context>server config</context> +<context>virtual host</context><context>directory</context> +</contextlist> +<compatibility>Disponible depuis la version 2.4 du serveur HTTP Apache. +Disponible en tant que module tiers dans les versions 2.x antérieures.</compatibility> +<usage> +<p>Cette directive permet de spécifier un ou plusieurs attributs à +traiter comme +des évènements de type scripting et de leur appliquer les règles +<directive>ProxyHTMLURLMap</directive> lorsqu'elles ont été définies. Vous +pouvez spécifier un nombre quelconque d'attributs dans une ou plusieurs +directives <code>ProxyHTMLEvents</code>.</p> +<p>Normalement, cette directive est définie globalement. Si vous +définissez ProxyHTMLEvents à plusieurs niveaux, certains niveaux +l'emportant sur d'autres, vous devrez spécifier un jeu complet +d'évènements pour chaque niveau.</p> +<p>Le fichier <var>proxy-html.conf</var> fournit une configuration par +défaut et définit les évènements selon les standards +HTML 4 et XHTML 1.</p> +</usage> +</directivesynopsis> + +<directivesynopsis> +<name>ProxyHTMLLinks</name> +<description>Spécifie les éléments HTML dont les attributs d'URL doivent +être réécrits.</description> +<syntax>ProxyHTMLLinks <var>élément attribut [attribut2 ...]</var></syntax> +<contextlist><context>server config</context> +<context>virtual host</context><context>directory</context> +</contextlist> +<compatibility>Disponible depuis la version 2.4 du serveur HTTP Apache. +Disponible en tant que module tiers dans les versions 2.x antérieures.</compatibility> +<usage> +<p>Cette directive permet de spécifier les éléments dont les attributs d'URL +doivent être réécrits en utilisant les règles standards <directive +module="mod_proxy_html">ProxyHTMLURLMap</directive>. Vous devez définir une +directive ProxyHTMLLinks pour chaque élément, mais chacune d'entre elles peut +spécifier un nombre quelconque d'attributs</p> <p>Normalement, cette directive +est définie globalement. Si vous définissez ProxyHTMLLinks à plusieurs niveaux, +certains niveaux l'emportant sur d'autres, vous devrez spécifier un jeu complet +de liens pour chaque niveau.</p> <p>Le fichier <var>proxy-html.conf</var> +fournit une configuration par défaut et définit les liens HTML selon les +standards HTML 4 et XHTML 1.</p> +<example> +<title>Exemples issus de proxy-html.conf</title> +<highlight language="config"> +ProxyHTMLLinks a href +ProxyHTMLLinks area href +ProxyHTMLLinks link href +ProxyHTMLLinks img src longdesc usemap +ProxyHTMLLinks object classid codebase data usemap +ProxyHTMLLinks q cite +ProxyHTMLLinks blockquote cite +ProxyHTMLLinks ins cite +ProxyHTMLLinks del cite +ProxyHTMLLinks form action +ProxyHTMLLinks input src usemap +ProxyHTMLLinks head profile +ProxyHTMLLinks base href +ProxyHTMLLinks script src for +</highlight> +</example> +</usage> +</directivesynopsis> + +<directivesynopsis> +<name>ProxyHTMLCharsetOut</name> +<description>Spécifie un jeu de caractères pour la sortie de +mod_proxy_html.</description> +<syntax>ProxyHTMLCharsetOut <var>jeu-de-caractères | *</var></syntax> +<contextlist><context>server config</context> +<context>virtual host</context><context>directory</context> +</contextlist> +<compatibility>Disponible depuis la version 2.4 du serveur HTTP Apache. +Disponible en tant que module tiers dans les versions 2.x antérieures.</compatibility> +<usage> +<p>Cette directive permet de spécifier un jeu de caractères pour la +sortie de mod_proxy_html. Elle ne devrait jamais être utilisée, car tout +changement par rapport à la valeur par défaut <code>UTF-8</code> (Unicode - +utilisé en interne par libxml2) induit une charge supplémentaire de +traitement. La définition spéciale <code>ProxyHTMLCharsetOut *</code> +permet de générer une sortie qui utilisera le même encodage que +l'entrée.</p> +<p>Notez que tout ceci ne fonctionne que si le module +<module>mod_xml2enc</module> est chargé.</p> +</usage> +</directivesynopsis> + + + +</modulesynopsis> + diff --git a/docs/manual/mod/mod_proxy_html.xml.meta b/docs/manual/mod/mod_proxy_html.xml.meta index b4533b110f..cd380113ea 100644 --- a/docs/manual/mod/mod_proxy_html.xml.meta +++ b/docs/manual/mod/mod_proxy_html.xml.meta @@ -8,5 +8,6 @@ <variants> <variant>en</variant> + <variant>fr</variant> </variants> </metafile> diff --git a/docs/manual/mod/mod_proxy_scgi.html b/docs/manual/mod/mod_proxy_scgi.html index 590ef84df5..fd75046f0b 100644 --- a/docs/manual/mod/mod_proxy_scgi.html +++ b/docs/manual/mod/mod_proxy_scgi.html @@ -3,3 +3,7 @@ URI: mod_proxy_scgi.html.en Content-Language: en Content-type: text/html; charset=ISO-8859-1 + +URI: mod_proxy_scgi.html.fr +Content-Language: fr +Content-type: text/html; charset=ISO-8859-1 diff --git a/docs/manual/mod/mod_proxy_scgi.html.fr b/docs/manual/mod/mod_proxy_scgi.html.fr new file mode 100644 index 0000000000..7a6bbfc93a --- /dev/null +++ b/docs/manual/mod/mod_proxy_scgi.html.fr @@ -0,0 +1,227 @@ +<?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> +<meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_proxy_scgi - Serveur Apache HTTP Version 2.5</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.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p> +<p class="apache">Serveur Apache HTTP Version 2.5</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.5</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Module Apache mod_proxy_scgi</h1> +<div class="toplang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_proxy_scgi.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_proxy_scgi.html" title="Français"> fr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Module fournissant le support de la passerelle SCGI à +<code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></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>proxy_scgi_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_proxy_scgi.c</td></tr></table> +<h3>Sommaire</h3> + + <p>Pour pouvoir fonctionner, ce module <em>requiert</em> le + chargement de <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code>. Il fournit le support du + <a href="http://python.ca/scgi/protocol.txt">protocole SCGI, version + 1</a>.</p> + + <p>Ainsi, pour être en mesure de traiter le protocole SCGI, + <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> et <code class="module"><a href="../mod/mod_proxy_scgi.html">mod_proxy_scgi</a></code> + doivent être chargés dans le serveur.</p> + + <div class="warning"><h3>Avertissement</h3> + <p>N'activez pas la fonctionnalité de mandataire avant d'avoir <a href="mod_proxy.html#access">sécurisé votre serveur</a>. Les + serveurs mandataires ouverts sont dangereux non seulement pour + votre réseau, mais aussi pour l'Internet au sens large.</p> + </div> +</div> +<div id="quickview"><h3>Sujets</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#examples">Exemples</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#env">Variables d'environnement</a></li> +</ul><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#proxyscgiinternalredirect">ProxySCGIInternalRedirect</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#proxyscgisendfile">ProxySCGISendfile</a></li> +</ul> +<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_proxy_scgi">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_proxy_scgi">Signaler un bug</a></li></ul><h3>Voir aussi</h3> +<ul class="seealso"> +<li><code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></li> +<li><code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code></li> +<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> + <p>Rappelez-vous, pour que les exemples suivants puissent + fonctionner, vous devez activer <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> et + <code class="module"><a href="../mod/mod_proxy_scgi.html">mod_proxy_scgi</a></code>.</p> + + <div class="example"><h3>Passerelle simple</h3><pre class="prettyprint lang-config">ProxyPass "/scgi-bin/" "scgi://localhost:4000/"</pre> +</div> + + <p>La passerelle à répartition de charge nécessite le chargement du + module <code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code> et d'au moins un module + fournissant un algorithme de répartition de charge, comme + <code class="module"><a href="../mod/mod_lbmethod_byrequests.html">mod_lbmethod_byrequests</a></code> en plus des modules + déjà cités. <code class="module"><a href="../mod/mod_lbmethod_byrequests.html">mod_lbmethod_byrequests</a></code> est le module + par défaut et sera utilisé dans cet exemple de configuration.</p> + + <div class="example"><h3>Passerelle à répartition de charge</h3><pre class="prettyprint lang-config">ProxyPass "/scgi-bin/" "balancer://somecluster/" +<Proxy balancer://somecluster> + BalancerMember scgi://localhost:4000 + BalancerMember scgi://localhost:4001 +</Proxy></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="env" id="env">Variables d'environnement</a></h2> + <p>En plus des directives de configuration qui permettent de + contrôler le comportement de <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code>, une + <dfn>variable d'environnement</dfn> peut aussi + contrôler le fournisseur de protocole SCGI :</p> + <dl> + <dt>proxy-scgi-pathinfo</dt> + <dd>Par défaut, <code class="module"><a href="../mod/mod_proxy_scgi.html">mod_proxy_scgi</a></code> ne créera ni + exportera jamais la variable d'environnement + <var>PATH_INFO</var>. Ceci permet au serveur SCGI d'arrière-plan + de déterminer correctement <var>SCRIPT_NAME</var> et + <var>Script-URI</var>, et d'être en conformité avec la section + 3.3 de la RFC 3875. Si au contraire vous souhaitez que + <code class="module"><a href="../mod/mod_proxy_scgi.html">mod_proxy_scgi</a></code> génère une estimation la plus + précise possible de <var>PATH_INFO</var>, définissez cette + variable d'environnement. La variable doit être définie avant + que la directive <code class="directive">SetEnv</code> ne soit effective. Il est possible + d'utiliser à la place la directive <code class="directive">SetEnvIf</code> : <code>SetEnvIf Request_URI . proxy-scgi-pathinfo</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="proxyscgiinternalredirect" id="proxyscgiinternalredirect">Directive</a> <a name="ProxySCGIInternalRedirect" id="ProxySCGIInternalRedirect">ProxySCGIInternalRedirect</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Active ou désactive les réponses de redirection interne en +provenance du serveur cible.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxySCGIInternalRedirect On|Off|<var>Headername</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ProxySCGIInternalRedirect On</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy_scgi</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Le paramètre <var>Headername</var> est disponible depuis +la version 2.4.13 du serveur HTTP Apache.</td></tr> +</table> + <p>La directive <code class="directive">ProxySCGIInternalRedirect</code> + permet au serveur cible de rediriger en interne la passerelle vers + une URL différente. Cette fonctionnalité trouve son origine dans + <code class="module"><a href="../mod/mod_cgi.html">mod_cgi</a></code> qui redirige la réponse en interne si + l'état de la réponse est <code>OK</code> (<code>200</code>), et si + la réponse contient un en-tête <code>Location</code> (ou un autre + en-tête défini) dont la valeur + débute par un slash (<code>/</code>). Cette valeur est interprétée + comme une nouvelle URL locale vers laquelle Apache httpd effectue sa + redirection.</p> + + <p>De ce point de vue, <code class="module"><a href="../mod/mod_proxy_scgi.html">mod_proxy_scgi</a></code> fait la même + chose que <code class="module"><a href="../mod/mod_cgi.html">mod_cgi</a></code>, mais vous pouvez en plus + désactiver la fonctionnalité ou spécifier l'utilisation d'un en-tête + autre que <code>Location</code>.</p> + + <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config"> ProxySCGIInternalRedirect Off +# Django et certains autres frameworks qualifient pleinement les "URLs +# locales" définies par l'application ; il faut donc utiliser un autre +# en-tête. +<Location /django-app/> + ProxySCGIInternalRedirect X-Location +</Location></pre> +</div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="proxyscgisendfile" id="proxyscgisendfile">Directive</a> <a name="ProxySCGISendfile" id="ProxySCGISendfile">ProxySCGISendfile</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Active l'évaluation du pseudo en-tête de réponse +<var>X-Sendfile</var></td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxySCGISendfile On|Off|<var>nom-en-tête</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ProxySCGISendfile Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy_scgi</td></tr> +</table> + <p>La directive <code class="directive">ProxySCGISendfile</code> permet au + serveur cible SCGI de faire servir les fichiers directement par la + passerelle. Ceci s'avère bénéfique en matière de performances — + httpd peut alors utiliser <code>sendfile</code> ou d'autres + optimisations, ce qui n'est pas possible si les fichiers passent par + le socket du serveur cible. En outre, les fichiers ne sont transmis + qu'une seule fois.</p> + <p>L'argument de la directive + <code class="directive">ProxySCGISendfile</code> détermine le comportement + de la passerelle :</p> + <dl> + <dt><code>Off</code></dt> + <dd>Aucun traitement particulier n'est effectué.</dd> + + <dt><code>On</code></dt> + <dd>La passerelle recherche un en-tête dans la réponse du serveur + cible nommé <code>X-Sendfile</code>, et interprète sa valeur comme + le nom du fichier à servir. L'en-tête est ensuite supprimé de la + réponse finale. Cet argument produit le même effet que + <code>ProxySCGISendfile X-Sendfile</code>.</dd> + + <dt>toute autre valeur</dt> + <dd>Identique à <code>On</code>, mais au lieu de rechercher le nom + d'en-tête codé en dur <code>X-Sendfile</code>, c'est la valeur de + l'argument qui constitue le nom de l'en-tête à rechercher.</dd> + </dl> + + <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config"> # Utilise le nom d'en-tête par défaut (X-Sendfile) + ProxySCGISendfile On + + # Utilise un nom d'en-tête différent + ProxySCGISendfile X-Send-Static</pre> +</div> + +</div> +</div> +<div class="bottomlang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_proxy_scgi.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_proxy_scgi.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/trunk/mod/mod_proxy_scgi.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 2017 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_proxy_scgi.xml.fr b/docs/manual/mod/mod_proxy_scgi.xml.fr new file mode 100644 index 0000000000..2a914cfb26 --- /dev/null +++ b/docs/manual/mod/mod_proxy_scgi.xml.fr @@ -0,0 +1,199 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd"> +<?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?> +<!-- English Revision : 1755335 --> +<!-- French translation : Lucien GENTIS --> +<!-- $LastChangedRevision: 2016071301 $ --> + +<!-- + 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_proxy_scgi.xml.meta"> + +<name>mod_proxy_scgi</name> +<description>Module fournissant le support de la passerelle SCGI à +<module>mod_proxy</module></description> +<status>Extension</status> +<sourcefile>mod_proxy_scgi.c</sourcefile> +<identifier>proxy_scgi_module</identifier> + +<summary> + <p>Pour pouvoir fonctionner, ce module <em>requiert</em> le + chargement de <module>mod_proxy</module>. Il fournit le support du + <a href="http://python.ca/scgi/protocol.txt">protocole SCGI, version + 1</a>.</p> + + <p>Ainsi, pour être en mesure de traiter le protocole SCGI, + <module>mod_proxy</module> et <module>mod_proxy_scgi</module> + doivent être chargés dans le serveur.</p> + + <note type="warning"><title>Avertissement</title> + <p>N'activez pas la fonctionnalité de mandataire avant d'avoir <a + href="mod_proxy.html#access">sécurisé votre serveur</a>. Les + serveurs mandataires ouverts sont dangereux non seulement pour + votre réseau, mais aussi pour l'Internet au sens large.</p> + </note> +</summary> + +<seealso><module>mod_proxy</module></seealso> +<seealso><module>mod_proxy_balancer</module></seealso> + +<section id="examples"><title>Exemples</title> + <p>Rappelez-vous, pour que les exemples suivants puissent + fonctionner, vous devez activer <module>mod_proxy</module> et + <module>mod_proxy_scgi</module>.</p> + + <example><title>Passerelle simple</title> + <highlight language="config"> + ProxyPass "/scgi-bin/" "scgi://localhost:4000/" + </highlight> + </example> + + <p>La passerelle à répartition de charge nécessite le chargement du + module <module>mod_proxy_balancer</module> et d'au moins un module + fournissant un algorithme de répartition de charge, comme + <module>mod_lbmethod_byrequests</module> en plus des modules + déjà cités. <module>mod_lbmethod_byrequests</module> est le module + par défaut et sera utilisé dans cet exemple de configuration.</p> + + <example><title>Passerelle à répartition de charge</title> + <highlight language="config"> +ProxyPass "/scgi-bin/" "balancer://somecluster/" +<Proxy balancer://somecluster> + BalancerMember scgi://localhost:4000 + BalancerMember scgi://localhost:4001 +</Proxy> + </highlight> + </example> +</section> + +<section id="env"><title>Variables d'environnement</title> + <p>En plus des directives de configuration qui permettent de + contrôler le comportement de <module>mod_proxy</module>, une + <dfn>variable d'environnement</dfn> peut aussi + contrôler le fournisseur de protocole SCGI :</p> + <dl> + <dt>proxy-scgi-pathinfo</dt> + <dd>Par défaut, <module>mod_proxy_scgi</module> ne créera ni + exportera jamais la variable d'environnement + <var>PATH_INFO</var>. Ceci permet au serveur SCGI d'arrière-plan + de déterminer correctement <var>SCRIPT_NAME</var> et + <var>Script-URI</var>, et d'être en conformité avec la section + 3.3 de la RFC 3875. Si au contraire vous souhaitez que + <module>mod_proxy_scgi</module> génère une estimation la plus + précise possible de <var>PATH_INFO</var>, définissez cette + variable d'environnement. La variable doit être définie avant + que la directive <directive + mod="mod_env">SetEnv</directive> ne soit effective. Il est possible + d'utiliser à la place la directive <directive + mod="mod_setenvif">SetEnvIf</directive> : <code>SetEnvIf Request_URI . proxy-scgi-pathinfo</code> + </dd> + </dl> +</section> + +<directivesynopsis> +<name>ProxySCGISendfile</name> +<description>Active l'évaluation du pseudo en-tête de réponse +<var>X-Sendfile</var></description> +<syntax>ProxySCGISendfile On|Off|<var>nom-en-tête</var></syntax> +<default>ProxySCGISendfile Off</default> +<contextlist><context>server config</context><context>virtual host</context> +<context>directory</context></contextlist> + +<usage> + <p>La directive <directive>ProxySCGISendfile</directive> permet au + serveur cible SCGI de faire servir les fichiers directement par la + passerelle. Ceci s'avère bénéfique en matière de performances — + httpd peut alors utiliser <code>sendfile</code> ou d'autres + optimisations, ce qui n'est pas possible si les fichiers passent par + le socket du serveur cible. En outre, les fichiers ne sont transmis + qu'une seule fois.</p> + <p>L'argument de la directive + <directive>ProxySCGISendfile</directive> détermine le comportement + de la passerelle :</p> + <dl> + <dt><code>Off</code></dt> + <dd>Aucun traitement particulier n'est effectué.</dd> + + <dt><code>On</code></dt> + <dd>La passerelle recherche un en-tête dans la réponse du serveur + cible nommé <code>X-Sendfile</code>, et interprète sa valeur comme + le nom du fichier à servir. L'en-tête est ensuite supprimé de la + réponse finale. Cet argument produit le même effet que + <code>ProxySCGISendfile X-Sendfile</code>.</dd> + + <dt>toute autre valeur</dt> + <dd>Identique à <code>On</code>, mais au lieu de rechercher le nom + d'en-tête codé en dur <code>X-Sendfile</code>, c'est la valeur de + l'argument qui constitue le nom de l'en-tête à rechercher.</dd> + </dl> + + <example><title>Exemple</title> + <highlight language="config"> + # Utilise le nom d'en-tête par défaut (X-Sendfile) + ProxySCGISendfile On + + # Utilise un nom d'en-tête différent + ProxySCGISendfile X-Send-Static + </highlight> + </example> +</usage> +</directivesynopsis> + +<directivesynopsis> +<name>ProxySCGIInternalRedirect</name> +<description>Active ou désactive les réponses de redirection interne en +provenance du serveur cible.</description> +<syntax>ProxySCGIInternalRedirect On|Off|<var>Headername</var></syntax> +<default>ProxySCGIInternalRedirect On</default> +<contextlist><context>server config</context><context>virtual host</context> +<context>directory</context></contextlist> +<compatibility>Le paramètre <var>Headername</var> est disponible depuis +la version 2.4.13 du serveur HTTP Apache.</compatibility> + +<usage> + <p>La directive <directive>ProxySCGIInternalRedirect</directive> + permet au serveur cible de rediriger en interne la passerelle vers + une URL différente. Cette fonctionnalité trouve son origine dans + <module>mod_cgi</module> qui redirige la réponse en interne si + l'état de la réponse est <code>OK</code> (<code>200</code>), et si + la réponse contient un en-tête <code>Location</code> (ou un autre + en-tête défini) dont la valeur + débute par un slash (<code>/</code>). Cette valeur est interprétée + comme une nouvelle URL locale vers laquelle Apache httpd effectue sa + redirection.</p> + + <p>De ce point de vue, <module>mod_proxy_scgi</module> fait la même + chose que <module>mod_cgi</module>, mais vous pouvez en plus + désactiver la fonctionnalité ou spécifier l'utilisation d'un en-tête + autre que <code>Location</code>.</p> + + <example><title>Exemple</title> + <highlight language="config"> + ProxySCGIInternalRedirect Off +# Django et certains autres frameworks qualifient pleinement les "URLs +# locales" définies par l'application ; il faut donc utiliser un autre +# en-tête. +<Location /django-app/> + ProxySCGIInternalRedirect X-Location +</Location> + </highlight> + </example> +</usage> +</directivesynopsis> + +</modulesynopsis> diff --git a/docs/manual/mod/mod_proxy_scgi.xml.meta b/docs/manual/mod/mod_proxy_scgi.xml.meta index 143cd4fa7d..a125bc5ade 100644 --- a/docs/manual/mod/mod_proxy_scgi.xml.meta +++ b/docs/manual/mod/mod_proxy_scgi.xml.meta @@ -8,5 +8,6 @@ <variants> <variant>en</variant> + <variant>fr</variant> </variants> </metafile> diff --git a/docs/manual/mod/mod_ratelimit.html b/docs/manual/mod/mod_ratelimit.html index 7e6095c685..87ef11a7d6 100644 --- a/docs/manual/mod/mod_ratelimit.html +++ b/docs/manual/mod/mod_ratelimit.html @@ -3,3 +3,7 @@ URI: mod_ratelimit.html.en Content-Language: en Content-type: text/html; charset=ISO-8859-1 + +URI: mod_ratelimit.html.fr +Content-Language: fr +Content-type: text/html; charset=ISO-8859-1 diff --git a/docs/manual/mod/mod_ratelimit.html.fr b/docs/manual/mod/mod_ratelimit.html.fr new file mode 100644 index 0000000000..12ee29c5d0 --- /dev/null +++ b/docs/manual/mod/mod_ratelimit.html.fr @@ -0,0 +1,101 @@ +<?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> +<meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_ratelimit - Serveur Apache HTTP Version 2.5</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.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p> +<p class="apache">Serveur Apache HTTP Version 2.5</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.5</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Module Apache mod_ratelimit</h1> +<div class="toplang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_ratelimit.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_ratelimit.html" title="Français"> fr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Limitation de la bande passante pour les clients</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>ratelimit_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_ratelimit.c</td></tr> +<tr><th><a href="module-dict.html#Compatibility">Compatibilité:</a></th><td><code>rate-initial-burst</code> est disponible à partir de la +version 2.4.24 du serveur HTTP Apache.</td></tr></table> +<h3>Sommaire</h3> + + +<p>Ce module fournit un filtre <code>RATE_LIMIT</code> pour limiter la +bande passante des clients. Cette contrainte s'applique à chaque réponse HTTP au +moment où elle est envoyée au client ; elle n'affecte pas les autres échanges +entre le client et le serveur. La variable d'environnement +<code>rate-limit</code> permet de spécifier, en kb/s, le débit de la +connexion à simuler.</p> + +<p>Optionnellement, il est possible, via la variable d'environnement +<code>rate-initial-burst</code>, de définir une quantité de données en +kOctets à transmettre à pleine vitesse avant de limiter la bande passante à la +valeur voulue.</p> + +<div class="example"><h3>Exemple de configuration</h3><pre class="prettyprint lang-config"><Location "/downloads"> + SetOutputFilter RATE_LIMIT + SetEnv rate-limit 400 + SetEnv rate-initial-burst 512 +</Location></pre> +<div class="warning"> +Si la valeur affectée à <code>rate-limit</code> dépasse la valeur maximale à +affecter à un entier, la limitation de bande passante sera désactivée. Si la +valeur affectée à <code>rate-limit-burst</code> dépasse la valeur maximale à +affecter à un entier, la transmission du burst initial sans limitation de bande +passante sera désactivée. +</div></div> + +</div> +<div id="quickview"><h3 class="directives">Directives</h3> +<p>Ce module ne fournit aucune directive.</p> +<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_ratelimit">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_ratelimit">Signaler un bug</a></li></ul><h3>Voir aussi</h3> +<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_ratelimit.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_ratelimit.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/trunk/mod/mod_ratelimit.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 2017 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_ratelimit.xml.fr b/docs/manual/mod/mod_ratelimit.xml.fr new file mode 100644 index 0000000000..890ddb25bf --- /dev/null +++ b/docs/manual/mod/mod_ratelimit.xml.fr @@ -0,0 +1,74 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd"> +<?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?> +<!-- English Revision : 1774506 --> +<!-- French translation : Lucien GENTIS --> +<!-- $LastChangedRevision: 2017010801 $ --> + +<!-- + 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> is the root tag and must surround all other tags. +The sequence of tags is important and must be followed in order for +the document to validate. --> + +<modulesynopsis metafile="mod_ratelimit.xml.meta"> +<name>mod_ratelimit</name> +<description>Limitation de la bande passante pour les clients</description> +<status>Extension</status> +<sourcefile>mod_ratelimit.c</sourcefile> +<identifier>ratelimit_module</identifier> +<compatibility><code>rate-initial-burst</code> est disponible à partir de la +version 2.4.24 du serveur HTTP Apache.</compatibility> + +<summary> + +<p>Ce module fournit un filtre <code>RATE_LIMIT</code> pour limiter la +bande passante des clients. Cette contrainte s'applique à chaque réponse HTTP au +moment où elle est envoyée au client ; elle n'affecte pas les autres échanges +entre le client et le serveur. La variable d'environnement +<code>rate-limit</code> permet de spécifier, en kb/s, le débit de la +connexion à simuler.</p> + +<p>Optionnellement, il est possible, via la variable d'environnement +<code>rate-initial-burst</code>, de définir une quantité de données en +kOctets à transmettre à pleine vitesse avant de limiter la bande passante à la +valeur voulue.</p> + +<example><title>Exemple de configuration</title> +<highlight language="config"> +<Location "/downloads"> + SetOutputFilter RATE_LIMIT + SetEnv rate-limit 400 + SetEnv rate-initial-burst 512 +</Location> +</highlight> + +<note type="warning"> +Si la valeur affectée à <code>rate-limit</code> dépasse la valeur maximale à +affecter à un entier, la limitation de bande passante sera désactivée. Si la +valeur affectée à <code>rate-limit-burst</code> dépasse la valeur maximale à +affecter à un entier, la transmission du burst initial sans limitation de bande +passante sera désactivée. +</note> + +</example> + +</summary> + +</modulesynopsis> + diff --git a/docs/manual/mod/mod_ratelimit.xml.meta b/docs/manual/mod/mod_ratelimit.xml.meta index 472bc80e47..9cd2c2d9d2 100644 --- a/docs/manual/mod/mod_ratelimit.xml.meta +++ b/docs/manual/mod/mod_ratelimit.xml.meta @@ -8,5 +8,6 @@ <variants> <variant>en</variant> + <variant>fr</variant> </variants> </metafile> diff --git a/docs/manual/mod/mod_reflector.html b/docs/manual/mod/mod_reflector.html index 2d220f6714..788294bf23 100644 --- a/docs/manual/mod/mod_reflector.html +++ b/docs/manual/mod/mod_reflector.html @@ -3,3 +3,7 @@ URI: mod_reflector.html.en Content-Language: en Content-type: text/html; charset=ISO-8859-1 + +URI: mod_reflector.html.fr +Content-Language: fr +Content-type: text/html; charset=ISO-8859-1 diff --git a/docs/manual/mod/mod_reflector.html.fr b/docs/manual/mod/mod_reflector.html.fr new file mode 100644 index 0000000000..7a7416f1bd --- /dev/null +++ b/docs/manual/mod/mod_reflector.html.fr @@ -0,0 +1,129 @@ +<?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> +<meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_reflector - Serveur Apache HTTP Version 2.5</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.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p> +<p class="apache">Serveur Apache HTTP Version 2.5</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.5</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Module Apache mod_reflector</h1> +<div class="toplang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_reflector.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_reflector.html" title="Français"> fr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Renvoie un corps de requête comme réponse via la pile de +filtres en sortie.</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>reflector_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_reflector.c</td></tr> +<tr><th><a href="module-dict.html#Compatibility">Compatibilité:</a></th><td>Versions 2.3 et ultérieures</td></tr></table> +<h3>Sommaire</h3> + + <p>Ce module permet de renvoyer un corps de requête au client, après + l'avoir fait passer par la pile de filtres en sortie. Une chaîne de + filtres configurée de manière appropriée peut être utilisée pour + transformer la requête en réponse. Ce module peut ainsi être utilisé + pour transformer un filtre en sortie en service HTTP.</p> +</div> +<div id="quickview"><h3>Sujets</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#examples">Exemples</a></li> +</ul><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#reflectorheader">ReflectorHeader</a></li> +</ul> +<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_reflector">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_reflector">Signaler un bug</a></li></ul><h3>Voir aussi</h3> +<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> + <dl> + <dt>Service de compression</dt> + <dd>Fait passer le corps de la requête par le filtre DEFLATE pour le + compresser. Cette requête nécessite un en-tête Content-Encoding + contenant la valeur "gzip" pour que le filtre renvoie les données + compressées. + <pre class="prettyprint lang-config"><Location "/compress"> + SetHandler reflector + SetOutputFilter DEFLATE +</Location></pre> + + </dd> + + <dt>Service d'abaissement de l'échantillonnage d'image</dt> + <dd>Fait passer le corps de la requête par un filtre d'abaissement + de l'échantillonnage d'image, et renvoie le résultat au client. + <pre class="prettyprint lang-config"><Location "/downsample"> + SetHandler reflector + SetOutputFilter DOWNSAMPLE +</Location></pre> + + </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="reflectorheader" id="reflectorheader">Directive</a> <a name="ReflectorHeader" id="ReflectorHeader">ReflectorHeader</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Renvoie un en-tête d'entrée dans les en-têtes de sortie</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ReflectorHeader <var>en-tête-entrée</var> <var>[en-tête-sortie]</var></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_reflector</td></tr> +</table> + <p>Cette directive permet de contrôler la répercution des en-têtes + de la requête dans la réponse. Le premier argument correspond au nom + de l'en-tête à copier. Si le second argument (optionnel) est + spécifié, il définit le nom sous lequel l'en-tête sera répercuté + dans la réponse ; dans le cas contraire, c'est le nom de l'en-tête + original qui sera utilisé.</p> + +</div> +</div> +<div class="bottomlang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_reflector.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_reflector.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/trunk/mod/mod_reflector.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 2017 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_reflector.xml.fr b/docs/manual/mod/mod_reflector.xml.fr new file mode 100644 index 0000000000..9899cc4d80 --- /dev/null +++ b/docs/manual/mod/mod_reflector.xml.fr @@ -0,0 +1,89 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd"> +<?xml-stylesheet type="text/xsl" href="../style/manual.en.xsl"?> +<!-- English Revision : 1673892 --> +<!-- French translation : Lucien GENTIS --> +<!-- $LastChangedRevision: 2015041901 $ --> + +<!-- + 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_reflector.xml.meta"> + +<name>mod_reflector</name> +<description>Renvoie un corps de requête comme réponse via la pile de +filtres en sortie.</description> +<status>Base</status> +<sourcefile>mod_reflector.c</sourcefile> +<identifier>reflector_module</identifier> +<compatibility>Versions 2.3 et ultérieures</compatibility> + +<summary> + <p>Ce module permet de renvoyer un corps de requête au client, après + l'avoir fait passer par la pile de filtres en sortie. Une chaîne de + filtres configurée de manière appropriée peut être utilisée pour + transformer la requête en réponse. Ce module peut ainsi être utilisé + pour transformer un filtre en sortie en service HTTP.</p> +</summary> + +<section id="examples"><title>Exemples</title> + <dl> + <dt>Service de compression</dt> + <dd>Fait passer le corps de la requête par le filtre DEFLATE pour le + compresser. Cette requête nécessite un en-tête Content-Encoding + contenant la valeur "gzip" pour que le filtre renvoie les données + compressées. + <highlight language="config"> +<Location "/compress"> + SetHandler reflector + SetOutputFilter DEFLATE +</Location> + </highlight> + </dd> + + <dt>Service d'abaissement de l'échantillonnage d'image</dt> + <dd>Fait passer le corps de la requête par un filtre d'abaissement + de l'échantillonnage d'image, et renvoie le résultat au client. + <highlight language="config"> +<Location "/downsample"> + SetHandler reflector + SetOutputFilter DOWNSAMPLE +</Location> + </highlight> + </dd> + </dl> +</section> + +<directivesynopsis> +<name>ReflectorHeader</name> +<description>Renvoie un en-tête d'entrée dans les en-têtes de sortie</description> +<syntax>ReflectorHeader <var>en-tête-entrée</var> <var>[en-tête-sortie]</var></syntax> +<contextlist><context>server config</context><context>virtual host</context> +<context>directory</context><context>.htaccess</context></contextlist> +<override>Options</override> + +<usage> + <p>Cette directive permet de contrôler la répercution des en-têtes + de la requête dans la réponse. Le premier argument correspond au nom + de l'en-tête à copier. Si le second argument (optionnel) est + spécifié, il définit le nom sous lequel l'en-tête sera répercuté + dans la réponse ; dans le cas contraire, c'est le nom de l'en-tête + original qui sera utilisé.</p> +</usage> +</directivesynopsis> + +</modulesynopsis> diff --git a/docs/manual/mod/mod_reflector.xml.meta b/docs/manual/mod/mod_reflector.xml.meta index d7945b496e..70e22cc937 100644 --- a/docs/manual/mod/mod_reflector.xml.meta +++ b/docs/manual/mod/mod_reflector.xml.meta @@ -8,5 +8,6 @@ <variants> <variant>en</variant> + <variant>fr</variant> </variants> </metafile> diff --git a/docs/manual/mod/mod_reqtimeout.html b/docs/manual/mod/mod_reqtimeout.html index 08f5a21fa3..e44a50bb42 100644 --- a/docs/manual/mod/mod_reqtimeout.html +++ b/docs/manual/mod/mod_reqtimeout.html @@ -3,3 +3,7 @@ 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 diff --git a/docs/manual/mod/mod_reqtimeout.html.fr b/docs/manual/mod/mod_reqtimeout.html.fr new file mode 100644 index 0000000000..dd7b9261f8 --- /dev/null +++ b/docs/manual/mod/mod_reqtimeout.html.fr @@ -0,0 +1,213 @@ +<?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> +<meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_reqtimeout - Serveur Apache HTTP Version 2.5</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.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p> +<p class="apache">Serveur Apache HTTP Version 2.5</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.5</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Module Apache mod_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 de transfert des +données minimum 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></table> +</div> +<div id="quickview"><h3>Sujets</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#examples">Exemples</a></li> +</ul><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#requestreadtimeout">RequestReadTimeout</a></li> +</ul> +<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_reqtimeout">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_reqtimeout">Signaler un bug</a></li></ul><h3>Voir aussi</h3> +<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">Directive</a> <a name="RequestReadTimeout" id="RequestReadTimeout">RequestReadTimeout</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>Désactivée par défaut jusqu'à 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), le socket n'est envoyé 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 + le socket reçu 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/trunk/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 2017 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_reqtimeout.xml.fr b/docs/manual/mod/mod_reqtimeout.xml.fr new file mode 100644 index 0000000000..245b37e92d --- /dev/null +++ b/docs/manual/mod/mod_reqtimeout.xml.fr @@ -0,0 +1,177 @@ +<?xml version="1.0"?> +<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd"> +<?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?> +<!-- English Revision : 1421821 --> +<!-- French translation : Lucien GENTIS --> +<!-- $LastChangedRevision: 2013010301 $ --> + +<!-- + 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 de transfert des +données minimum pour la réception des requêtes +</description> +<status>Extension</status> +<sourcefile>mod_reqtimeout.c</sourcefile> +<identifier>reqtimeout_module</identifier> + +<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>Désactivée par défaut jusqu'à 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), le socket n'est envoyé 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 + le socket reçu 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> diff --git a/docs/manual/mod/mod_reqtimeout.xml.meta b/docs/manual/mod/mod_reqtimeout.xml.meta index ac7d1faf4c..01ba09f783 100644 --- a/docs/manual/mod/mod_reqtimeout.xml.meta +++ b/docs/manual/mod/mod_reqtimeout.xml.meta @@ -8,5 +8,6 @@ <variants> <variant>en</variant> + <variant>fr</variant> </variants> </metafile> diff --git a/docs/manual/mod/mod_request.html b/docs/manual/mod/mod_request.html index 0340c0eb62..62bdbfddf7 100644 --- a/docs/manual/mod/mod_request.html +++ b/docs/manual/mod/mod_request.html @@ -4,6 +4,10 @@ URI: mod_request.html.en Content-Language: en Content-type: text/html; charset=ISO-8859-1 +URI: mod_request.html.fr +Content-Language: fr +Content-type: text/html; charset=ISO-8859-1 + URI: mod_request.html.tr.utf8 Content-Language: tr Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_request.html.fr b/docs/manual/mod/mod_request.html.fr new file mode 100644 index 0000000000..26932a0134 --- /dev/null +++ b/docs/manual/mod/mod_request.html.fr @@ -0,0 +1,138 @@ +<?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> +<meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_request - Serveur Apache HTTP Version 2.5</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.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p> +<p class="apache">Serveur Apache HTTP Version 2.5</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.5</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Module Apache mod_request</h1> +<div class="toplang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_request.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_request.html" title="Français"> fr </a> | +<a href="../tr/mod/mod_request.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>Filtres permettant de traiter et de mettre à disposition +les corps de requêtes HTTP</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>request_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_request.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> +</div> +<div id="quickview"><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#keptbodysize">KeptBodySize</a></li> +</ul> +<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_request">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_request">Signaler un bug</a></li></ul><h3>Voir aussi</h3> +<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="keptbodysize" id="keptbodysize">Directive</a> <a name="KeptBodySize" id="KeptBodySize">KeptBodySize</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Conserve le corps de la requête à concurrence de la taille +maximale spécifiée, pour une utilisation éventuelle par des filtres +comme mod_include.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>KeptBodySize <var>taille maximale en octets</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>KeptBodySize 0</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_request</td></tr> +</table> + <p>Dans une situation normale, les gestionnaires de requête tels que + le gestionnaire par défaut des fichiers statiques suppriment le + corps de la requête s'il n'est pas nécessaire au gestionnaire de + requête. Il en résulte que les filtres comme mod_include sont + limités à des requêtes <code>GET</code> lors de l'inclusion d'autres + URLs en tant que sous-requêtes, et ceci même si la requête originale + était une requête <code>POST</code>, car le corps de la requête a + été supprimé et n'est donc plus disponible une fois le traitement du + filtre mis en oeuvre.</p> + + <p>Lorsque l'argument de cette directive a une valeur supérieure à + zéro, les gestionnaires de requête qui suppriment habituellement les + corps de requête vont alors conserver ces corps de requête, à + concurrence de la taille maximale spécifiée, pour être + éventuellement utilisés par des filtres. Dans le cas du filtre + mod_include, une tentative de requête <code>POST</code> pour un + fichier shtml statique se traduira par des sous-requêtes + <code>POST</code>, et non par des sous-requêtes <code>GET</code> + comme avant.</p> + + <p>Cette fonctionnalité permet de découper des pages web complexes + et des applications web en petits éléments individuels, et de + combiner ces éléments avec la structure de la page web sous-jacente + en utilisant <code class="module"><a href="../mod/mod_include.html">mod_include</a></code>. Les éléments peuvent se + présenter sous la forme de programmes CGI, de langages de scripts, + ou d'URLs issues d'un mandataire inverse dans l'espace d'URL d'un + autre serveur en utilisant <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code>.</p> + + <p><strong>Note :</strong> Chaque requête dont le corps est ainsi + conservé doit être enregistrée temporairement en mémoire vive + jusqu'à la fin du traitement de la requête. Il faut donc s'assurer + que la mémoire RAM du serveur est suffisante pour pouvoir supporter + la charge induite. L'utilisation de cette directive doit être + limitée à certaines portions de votre espace d'URL bien précises qui + le nécessitent, et en spécifiant comme taille maximale une valeur la + plus petite possible, mais tout de même suffisante pour un corps de + requête.</p> + + <p>Si la taille de la requête envoyée par le client dépasse la taille + maximale autorisée par cette directive, le serveur renverra l'erreur + <code>413 Request Entity Too Large</code>.</p> + + +<h3>Voir aussi</h3> +<ul> +<li>la documentation de <a href="mod_include.html">mod_include</a></li> +<li>la documentation de <a href="mod_auth_form.html">mod_auth_form</a></li> +</ul> +</div> +</div> +<div class="bottomlang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_request.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_request.html" title="Français"> fr </a> | +<a href="../tr/mod/mod_request.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/trunk/mod/mod_request.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 2017 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_request.xml.fr b/docs/manual/mod/mod_request.xml.fr new file mode 100644 index 0000000000..744ad895e7 --- /dev/null +++ b/docs/manual/mod/mod_request.xml.fr @@ -0,0 +1,94 @@ +<?xml version="1.0"?> +<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd"> +<?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?> +<!-- English Revision : 772682 --> +<!-- French translation : Lucien GENTIS --> +<!-- $LastChangedRevision: 2009050301 $ --> + +<!-- + 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_request.xml.meta"> + +<name>mod_request</name> +<description>Filtres permettant de traiter et de mettre à disposition +les corps de requêtes HTTP</description> +<status>Base</status> +<sourcefile>mod_request.c</sourcefile> +<identifier>request_module</identifier> +<compatibility>Disponible depuis la version 2.3 d'Apache</compatibility> + +<directivesynopsis> +<name>KeptBodySize</name> +<description>Conserve le corps de la requête à concurrence de la taille +maximale spécifiée, pour une utilisation éventuelle par des filtres +comme mod_include.</description> +<syntax>KeptBodySize <var>taille maximale en octets</var></syntax> +<default>KeptBodySize 0</default> +<contextlist><context>directory</context> +</contextlist> + +<usage> + <p>Dans une situation normale, les gestionnaires de requête tels que + le gestionnaire par défaut des fichiers statiques suppriment le + corps de la requête s'il n'est pas nécessaire au gestionnaire de + requête. Il en résulte que les filtres comme mod_include sont + limités à des requêtes <code>GET</code> lors de l'inclusion d'autres + URLs en tant que sous-requêtes, et ceci même si la requête originale + était une requête <code>POST</code>, car le corps de la requête a + été supprimé et n'est donc plus disponible une fois le traitement du + filtre mis en oeuvre.</p> + + <p>Lorsque l'argument de cette directive a une valeur supérieure à + zéro, les gestionnaires de requête qui suppriment habituellement les + corps de requête vont alors conserver ces corps de requête, à + concurrence de la taille maximale spécifiée, pour être + éventuellement utilisés par des filtres. Dans le cas du filtre + mod_include, une tentative de requête <code>POST</code> pour un + fichier shtml statique se traduira par des sous-requêtes + <code>POST</code>, et non par des sous-requêtes <code>GET</code> + comme avant.</p> + + <p>Cette fonctionnalité permet de découper des pages web complexes + et des applications web en petits éléments individuels, et de + combiner ces éléments avec la structure de la page web sous-jacente + en utilisant <module>mod_include</module>. Les éléments peuvent se + présenter sous la forme de programmes CGI, de langages de scripts, + ou d'URLs issues d'un mandataire inverse dans l'espace d'URL d'un + autre serveur en utilisant <module>mod_proxy</module>.</p> + + <p><strong>Note :</strong> Chaque requête dont le corps est ainsi + conservé doit être enregistrée temporairement en mémoire vive + jusqu'à la fin du traitement de la requête. Il faut donc s'assurer + que la mémoire RAM du serveur est suffisante pour pouvoir supporter + la charge induite. L'utilisation de cette directive doit être + limitée à certaines portions de votre espace d'URL bien précises qui + le nécessitent, et en spécifiant comme taille maximale une valeur la + plus petite possible, mais tout de même suffisante pour un corps de + requête.</p> + + <p>Si la taille de la requête envoyée par le client dépasse la taille + maximale autorisée par cette directive, le serveur renverra l'erreur + <code>413 Request Entity Too Large</code>.</p> + +</usage> + +<seealso>la documentation de <a href="mod_include.html">mod_include</a></seealso> +<seealso>la documentation de <a href="mod_auth_form.html">mod_auth_form</a></seealso> +</directivesynopsis> + +</modulesynopsis> diff --git a/docs/manual/mod/mod_request.xml.meta b/docs/manual/mod/mod_request.xml.meta index 0b2b8c4ac7..61e71b948c 100644 --- a/docs/manual/mod/mod_request.xml.meta +++ b/docs/manual/mod/mod_request.xml.meta @@ -8,6 +8,7 @@ <variants> <variant>en</variant> + <variant>fr</variant> <variant>tr</variant> </variants> </metafile> diff --git a/docs/manual/mod/mod_rewrite.html.fr b/docs/manual/mod/mod_rewrite.html.fr index c697b9f5eb..73cea5c811 100644 --- a/docs/manual/mod/mod_rewrite.html.fr +++ b/docs/manual/mod/mod_rewrite.html.fr @@ -29,6 +29,8 @@ <p><span>Langues Disponibles: </span><a href="../en/mod/mod_rewrite.html" hreflang="en" rel="alternate" title="English"> en </a> | <a href="../fr/mod/mod_rewrite.html" title="Français"> fr </a></p> </div> +<div class="outofdate">Cette traduction peut être périmée. Vérifiez la version + anglaise pour les changements récents.</div> <table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Ce module fournit un moteur de réécriture à base de règles permettant de réécrire les URLs des requêtes à la volée</td></tr> diff --git a/docs/manual/mod/mod_session.html b/docs/manual/mod/mod_session.html index 79b314b8d2..77ecb721cd 100644 --- a/docs/manual/mod/mod_session.html +++ b/docs/manual/mod/mod_session.html @@ -3,3 +3,7 @@ URI: mod_session.html.en Content-Language: en Content-type: text/html; charset=ISO-8859-1 + +URI: mod_session.html.fr +Content-Language: fr +Content-type: text/html; charset=ISO-8859-1 diff --git a/docs/manual/mod/mod_session.html.fr b/docs/manual/mod/mod_session.html.fr new file mode 100644 index 0000000000..ba7882b36b --- /dev/null +++ b/docs/manual/mod/mod_session.html.fr @@ -0,0 +1,618 @@ +<?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> +<meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_session - Serveur Apache HTTP Version 2.5</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.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p> +<p class="apache">Serveur Apache HTTP Version 2.5</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.5</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Module Apache mod_session</h1> +<div class="toplang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_session.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_session.html" title="Français"> fr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Support des sessions</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>session_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_session.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> + + <div class="warning"><h3>Avertissement</h3> + <p>Le module session fait usage des cookies HTTP, et peut à ce + titre être victime d'attaques de type Cross Site Scripting, ou + divulguer des informations à caractère privé aux clients. Veuillez + vous assurer que les risques ainsi encourus ont été pris en compte + avant d'activer le support des sessions sur votre serveur.</p> + </div> + + <p>Ce module fournit le support d'une interface de session pour + chaque utilisateur au niveau du serveur global. Les sessions + permettent de transmettre diverses informations : l'utilisateur + est-il connecté ou non, ou toute autre information qui doit être + conservée d'une requête à l'autre.</p> + + <p>Les sessions peuvent être stockées sur le serveur, ou au niveau + du navigateur. Les sessions peuvent aussi être chiffrées pour une + sécurité accrue. Ces fonctionnalités sont réparties entre différents + modules complémentaires de <code class="module"><a href="../mod/mod_session.html">mod_session</a></code> : + <code class="module"><a href="../mod/mod_session_crypto.html">mod_session_crypto</a></code>, + <code class="module"><a href="../mod/mod_session_cookie.html">mod_session_cookie</a></code> et + <code class="module"><a href="../mod/mod_session_dbd.html">mod_session_dbd</a></code>. Chargez les modules appropriés + en fonction des besoins du serveur (soit statiquement à la + compilation, soit dynamiquement via la directive <code class="directive"><a href="../mod/mod_so.html#loadmodule">LoadModule</a></code>).</p> + + <p>Les sessions peuvent être manipulées par d'autres modules qui + dépendent de la session, ou la session peut être lue et écrite dans + des variables d'environnement et des en-têtes HTTP, selon les + besoins.</p> + +</div> +<div id="quickview"><h3>Sujets</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#whatisasession">Qu'est-ce qu'une session ?</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#whocanuseasession">Qui peut utiliser une session + ?</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#serversession">Stockage des sessions sur le + serveur</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#browsersession">Stockage des sessions au niveau + du navigateur</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#basicexamples">Exemples simples</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sessionprivacy">Confidentialité des + sessions</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#cookieprivacy">Confidentialité du cookie</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#authentication">Support des sessions pour + l'authentification</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#integration">Intégration des sessions avec les + applications externes</a></li> +</ul><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#session">Session</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sessionenv">SessionEnv</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sessionexclude">SessionExclude</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sessionexpiryupdateinterval">SessionExpiryUpdateInterval</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sessionheader">SessionHeader</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sessioninclude">SessionInclude</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sessionmaxage">SessionMaxAge</a></li> +</ul> +<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_session">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_session">Signaler un bug</a></li></ul><h3>Voir aussi</h3> +<ul class="seealso"> +<li><code class="module"><a href="../mod/mod_session_cookie.html">mod_session_cookie</a></code></li> +<li><code class="module"><a href="../mod/mod_session_crypto.html">mod_session_crypto</a></code></li> +<li><code class="module"><a href="../mod/mod_session_dbd.html">mod_session_dbd</a></code></li> +<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="whatisasession" id="whatisasession">Qu'est-ce qu'une session ?</a></h2> + <p>Au coeur de l'interface de session se trouve une table de + paires clé/valeur qui sont accessibles d'une requête du navigateur + à l'autre. Les valeurs de clés peuvent se voir affecter toute chaîne + valide, en fonction des besoins de l'application qui fait usage de + la session.</p> + + <p>Une "session" est une chaîne + <strong>application/x-www-form-urlencoded</strong> qui contient la + paire clé/valeur définie par la <a href="http://www.w3.org/TR/html4/">specification HTML</a>.</p> + + <p>Selon les souhaits de l'administrateur, la session peut être + chiffrée et codée en base64 avant d'être soumise au dispositif de + stockage.</p> + + </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="whocanuseasession" id="whocanuseasession">Qui peut utiliser une session + ?</a></h2> + <p>L'interface de session a été conçue à l'origine pour être + utilisée par d'autres modules du serveur comme + <code class="module"><a href="../mod/mod_auth_form.html">mod_auth_form</a></code> ; les applications à base de + programmes CGI peuvent cependant se voir accorder l'accès au + contenu d'une session via la variable d'environnement + HTTP_SESSION. Il est possible de modifier et/ou de mettre à jour + une session en insérant un en-tête de réponse HTTP contenant les + nouveaux paramètres de session.</p> + + </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="serversession" id="serversession">Stockage des sessions sur le + serveur</a></h2> + <p>Apache peut être configuré pour stocker les sessions + utilisateurs sur un serveur particulier ou un groupe de serveurs. + Cette fonctionnalité est similaire aus sessions disponibles sur + les serveurs d'applications courants.</p> + + <p>Selon la configuration, les sessions sont suivies à + partir d'un identifiant de session stocké dans un cookie, ou + extrait de la chaîne de paramètres de l'URL, comme dans les + requêtes GET courantes.</p> + + <p>Comme le contenu de la session est stocké exclusivement sur le + serveur, il est nécessaire de préserver la confidentialité de ce + contenu. Ceci a des implications en matière de performance et de + consommation de ressources lorsqu'un grand nombre de sessions est + stocké, ou lorsqu'un grand nombre de serveurs doivent se partager + les sessions entre eux.</p> + + <p>Le module <code class="module"><a href="../mod/mod_session_dbd.html">mod_session_dbd</a></code> permet de stocker + les sessions utilisateurs dans une base de données SQL via le + module <code class="module"><a href="../mod/mod_dbd.html">mod_dbd</a></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="browsersession" id="browsersession">Stockage des sessions au niveau + du navigateur</a></h2> + <p>Dans les environnements à haut trafic où le stockage d'une + session sur un serveur consomme trop + de ressources, il est possible de stocker le contenu de la session + dans un cookie au niveau du navigateur client.</p> + + <p>Ceci a pour avantage de ne nécessiter qu'une quantité minimale de + ressources sur le serveur pour suivre les sessions, et évite à + plusieurs serveurs parmi une forêt de serveurs de devoir partager + les informations de session.</p> + + <p>Le contenu de la session est cependant présenté au client, avec + pour conséquence un risque de perte de confidentialité. Le module + <code class="module"><a href="../mod/mod_session_crypto.html">mod_session_crypto</a></code> peut être configuré pour + chiffrer le contenu de la session avant qu'elle soit stockée au + niveau du client.</p> + + <p>Le module <code class="module"><a href="../mod/mod_session_cookie.html">mod_session_cookie</a></code> permet de stocker + les sessions au niveau du navigateur dans un cookie HTTP.+</p> + + </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="basicexamples" id="basicexamples">Exemples simples</a></h2> + + <p>La création d'une session consiste simplement à ouvrir la + session, et à décider de l'endroit où elle doit être stockée. Dans + l'exemple suivant, la session sera stockée au niveau du + navigateur, dans un cookie nommé <code>session</code>.</p> + + <div class="example"><h3>Session stockée au niveau du navigateur</h3><pre class="prettyprint lang-config">Session On +SessionCookieName session path=/</pre> +</div> + + <p>Une session est inutile s'il n'est pas possible d'y lire + ou d'y écrire. L'exemple suivant montre comment des valeurs + peuvent être injectées dans une session à l'aide d'un en-tête de + réponse HTTP prédéterminé nommé + <code>X-Replace-Session</code>.</p> + + <div class="example"><h3>Ecriture dans une session</h3><pre class="prettyprint lang-config">Session On +SessionCookieName session path=/ +SessionHeader X-Replace-Session</pre> +</div> + + <p>L'en-tête doit contenir des paires clé/valeur sous le même + format que celui de la chaîne d'argument d'une URL, comme dans + l'exemple suivant. Donner pour valeur à une clé la chaîne vide a + pour effet de supprimer la clé de la session.</p> + + <div class="example"><h3>Script CGI pour écrire dans une session</h3><pre class="prettyprint lang-sh">#!/bin/bash +echo "Content-Type: text/plain" +echo "X-Replace-Session: key1=foo&key2=&key3=bar" +echo +env</pre> +</div> + + <p>Selon la configuration, les informations de la session peuvent + être extraites de la variable d'environnement HTTP_SESSION. Par + défaut la session est privée, et cette fonctionnalité doit donc + être explicitement activée via la directive <code class="directive"><a href="#sessionenv">SessionEnv</a></code>.</p> + + <div class="example"><h3>Lecture depuis une session</h3><pre class="prettyprint lang-config">Session On +SessionEnv On +SessionCookieName session path=/ +SessionHeader X-Replace-Session</pre> +</div> + + <p>Une fois la lecture effectuée, la variable CGI + <code>HTTP_SESSION</code> doit contenir la valeur + <code>clé1=foo&clé3=bar</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="sessionprivacy" id="sessionprivacy">Confidentialité des + sessions</a></h2> + + <p>En utilisant la fonctionnalité de votre navigateur "Afficher + les cookies", vous pouvez voir une réprésentation de la session + sous forme de texte en clair. Ceci peut poser problème si le + contenu de la session doit être dissimulé à l'utilisateur final, + ou si un tiers accède sans autorisation aux informations de + session.</p> + + <p>A ce titre, le contenu de la session peut être chiffré à l'aide + du module <code class="module"><a href="../mod/mod_session_crypto.html">mod_session_crypto</a></code> avant d'être stocké + au niveau du navigateur.</p> + + <div class="example"><h3>Session chiffrée avant stockage au niveau du + navigateur</h3><pre class="prettyprint lang-config">Session On +SessionCryptoPassphrase secret +SessionCookieName session path=/</pre> +</div> + + <p>La session sera automatiquement déchiffrée à la lecture, et + rechiffrée par Apache lors de la sauvegarde, si bien que + l'application sous-jacente qui utilise la session n'a pas à se + préoccuper de savoir si un chiffrement a été mis en oeuvre ou + non.</p> + + <p>Les sessions stockées sur le serveur plutôt qu'au niveau du + navigateur peuvent aussi être chiffrées, préservant par là-même la + confidentialité lorsque des informations sensibles sont partagées + entre les serveurs web d'une forêt de serveurs à l'aide du module + <code class="module"><a href="../mod/mod_session_dbd.html">mod_session_dbd</a></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="cookieprivacy" id="cookieprivacy">Confidentialité du cookie</a></h2> + + <p>Le mécanisme de cookie HTTP offre aussi des fonctionnalités + quant à la confidentialité, comme la possibilité de + restreindre le transport du cookie aux pages protégées par SSL + seulement, ou l'interdiction pour les scripts java qui + s'exécutent au niveau du navigateur d'obtenir l'accès au contenu + du cookie.</p> + + <div class="warning"><h3>Avertissement</h3> + <p>Certaines fonctionnalités de confidentialité du cookie HTTP ne + sont pas standardisées, ou ne sont pas toujours implémentées au + niveau du navigateur. Les modules de session vous permettent de + définir les paramètres du cookie, mais il n'est pas garanti que la + confidentialité sera respectée par le navigateur. Si la sécurité + est la principale préoccupation, chiffrez le contenu de la session + avec le module <code class="module"><a href="../mod/mod_session_crypto.html">mod_session_crypto</a></code>, ou stockez la + session sur le serveur avec le module + <code class="module"><a href="../mod/mod_session_dbd.html">mod_session_dbd</a></code>.</p> + </div> + + <p>Les paramètres standards du cookie peuvent être spécifiés après + le nom du cookie comme dans l'exemple suivant :</p> + + <div class="example"><h3>Définition des paramètres du cookie</h3><pre class="prettyprint lang-config">Session On +SessionCryptoPassphrase secret +SessionCookieName session path=/private;domain=example.com;httponly;secure;</pre> +</div> + + <p>Dans les cas où le serveur Apache sert de frontal pour des + serveurs d'arrière-plan, il est possible de supprimer les cookies + de session des en-têtes HTTP entrants à l'aide de la directive + <code class="directive"><a href="../mod/mod_session_cookie.html#sessioncookieremove">SessionCookieRemove</a></code>. Ceci + permet d'empêcher les serveurs d'arrière-plan d'accéder au contenu + des cookies de session. + </p> + + </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="authentication" id="authentication">Support des sessions pour + l'authentification</a></h2> + + <p>Comme il est possible de le faire avec de nombreux serveurs + d'applications, les modules d'authentification peuvent utiliser + une session pour stocker le nom d'utilisateur et le mot de passe + après connexion. Le module <code class="module"><a href="../mod/mod_auth_form.html">mod_auth_form</a></code> par + exemple, sauvegarde les nom de connexion et mot de passe de + l'utilisateur dans une session.</p> + + <div class="example"><h3>Authentification à base de formulaire</h3><pre class="prettyprint lang-config">Session On +SessionCryptoPassphrase secret +SessionCookieName session path=/ +AuthFormProvider file +AuthUserFile "conf/passwd" +AuthType form +AuthName "realm" +#...</pre> +</div> + + <p>Pour la documentation et des exemples complets, voir le module + <code class="module"><a href="../mod/mod_auth_form.html">mod_auth_form</a></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="integration" id="integration">Intégration des sessions avec les + applications externes</a></h2> + + <p>Pour que les sessions soient utiles, leur contenu doit être + accessible aux applications externes, et ces dernières doivent + elles-mêmes être capables d'écrire une session.</p> + + <p>L'exemple type est une application qui modifie le mot de passe + d'un utilisateur défini par <code class="module"><a href="../mod/mod_auth_form.html">mod_auth_form</a></code>. Cette + application doit pouvoir extraire les nom d'utilisateur et mot de + passe courants de la session, effectuer les modifications + demandées, puis écrire le nouveau mot de passe dans la session, + afin que la transition vers le nouveau mot de passe soit + transparente.</p> + + <p>Un autre exemple met en jeu une application qui enregistre un + nouvel utilisateur pour la première fois. Une fois + l'enregistrement terminé, le nom d'utilisateur et le mot de passe + sont écrits dans la session, fournissant là aussi une transition + transparente.</p> + + <dl> + <dt>Modules Apache</dt> + <dd>Selon les besoins, les modules du serveur peuvent utiliser + l'API <strong>mod_session.h</strong> pour lire et écrire dans les + sessions. Les modules tels que <code class="module"><a href="../mod/mod_auth_form.html">mod_auth_form</a></code> + utilisent ce mécanisme. + </dd> + + <dt>Programmes CGI et langages de script</dt> + <dd>Les applications qui s'exécutent au sein du serveur web + peuvent éventuellement extraire la valeur de la session de la + variable d'environnement <strong>HTTP_SESSION</strong>. La session + doit être codée sous la forme d'une chaîne + <strong>application/x-www-form-urlencoded</strong> selon les + préconisations de la <a href="http://www.w3.org/TR/html4/">specification HTML</a>. Cette + variable d'environnement est définie via la directive <code class="directive"><a href="#sessionenv">SessionEnv</a></code>. Un script peut écrire + dans la session en renvoyant un en-tête de réponse + <strong>application/x-www-form-urlencoded</strong> dont le nom est + défini via la directive <code class="directive"><a href="#sessionheader">SessionHeader</a></code>. Dans les deux cas, + tout chiffrement ou déchiffrement, ainsi que la lecture ou + l'écriture de ou vers la session à partir du mécanisme de stockage + choisi sont gérés par le module <code class="module"><a href="../mod/mod_session.html">mod_session</a></code> et la + configuration correspondante. + </dd> + + <dt>Applications situées derrière <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></dt> + <dd>Si la directive <code class="directive"><a href="#sessionheader">SessionHeader</a></code> est utilisée pour + définir un en-tête de requête HTTP, la session codée sous la forme + d'une chaîne <strong>application/x-www-form-urlencoded</strong> + sera accessible pour l'application. Si ce même en-tête est fourni + dans la réponse, sa valeur sera utilisée pour remplacer la + session. Comme précédemment, tout chiffrement ou déchiffrement, + ainsi que la lecture ou + l'écriture de ou vers la session à partir du mécanisme de stockage + choisi sont gérés par le module <code class="module"><a href="../mod/mod_session.html">mod_session</a></code> et la + configuration correspondante.</dd> + + <dt>Applications indépendantes</dt> + <dd>Les applications peuvent choisir de manipuler la session en + s'affranchissant du contrôle du serveur HTTP Apache. Dans ce cas, + c'est l'application qui doit prendre en charge la lecture de la + session depuis le mécanisme de stockage choisi, son déchiffrement, + sa mise à jour, son chiffrement et sa réécriture vers le mécanisme + de stockage choisi de manière appropriée.</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="session" id="session">Directive</a> <a name="Session" id="Session">Session</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Ouvre une session pour le contexte courant</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>Session On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>Session 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>AuthConfig</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_session</td></tr> +</table> + <p>La directive <code class="directive">Session</code> permet d'ouvrir une + session pour le contexte ou conteneur courant. Les directives + suivantes permettent de définir où la session sera stockée et + comment sera assurée la confidentialité.</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="sessionenv" id="sessionenv">Directive</a> <a name="SessionEnv" id="SessionEnv">SessionEnv</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit si le contenu de la session doit être enregistré +dans la variable d'environnement <var>HTTP_SESSION</var></td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SessionEnv On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SessionEnv 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>AuthConfig</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_session</td></tr> +</table> + <p>Lorsque la directive <code class="directive">SessionEnv</code> est + définie à <var>On</var>, le contenu de la session est enregistré + dans une variable d'environnement CGI nommée + <var>HTTP_SESSION</var>.</p> + + <p>La chaîne est écrite sous le même format que celui de la chaîne + d'arguments d'une URL, comme dans l'exemple suivant :</p> + + <div class="example"><p><code> + <code>clé1=foo&clé3=bar</code> + </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="sessionexclude" id="sessionexclude">Directive</a> <a name="SessionExclude" id="SessionExclude">SessionExclude</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit les préfixes d'URLs pour lesquels une session sera +ignorée</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SessionExclude <var>chemin</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>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#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_session</td></tr> +</table> + <p>La directive <code class="directive">SessionExclude</code> permet de + définir les préfixes d'URLs pour lesquels la session sera + désactivée. Ceci peut améliorer l'efficacité d'un site web, en + ciblant de manière plus précise l'espace d'URL pour lequel une + session devra être maintenue. Par défaut, toutes les URLs du + contexte ou du conteneur courant sont incluses dans la session. La + directive <code class="directive"><a href="#sessionexclude">SessionExclude</a></code> + l'emporte sur la directive <code class="directive"><a href="#sessioninclude">SessionInclude</a></code>.</p> + + <div class="warning"><h3>Avertissement</h3> + <p>Cette directive a un comportement similaire à celui de l'attribut + <var>chemin</var> des cookies HTTP, mais ne doit pas être confondue + avec cet attribut. En effet, cette directive ne définit pas + l'attribut <var>chemin</var>, qui doit être configuré + séparément.</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="sessionexpiryupdateinterval" id="sessionexpiryupdateinterval">Directive</a> <a name="SessionExpiryUpdateInterval" id="SessionExpiryUpdateInterval">SessionExpiryUpdateInterval</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit le nombre de secondes dont la durée d'expiration d'une +session peut changer sans que cette session soit mise à jour</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SessionExpiryUpdateInterval <var>interval</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SessionExpiryUpdateInterval 0 (mise à jour systématique)</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_session</td></tr> +</table> + <p>La directive <code class="directive">SessionExpiryUpdateInterval</code> + permet d'éviter le coût de l'écriture d'une session pour chaque + requête en n'effectuant cette mise à jour que lorsque la date + d'expiration a changé. Ceci permet d'améliorer les performances d'un + site web ou de réduire la charge d'une base de données lorsqu'on + utilise <code class="module"><a href="../mod/mod_session_dbd.html">mod_session_dbd</a></code>. La session est + systématiquement mise à jour si les données stockées dans la session + ont été modifiées ou si la durée d'expiration a été modifiée d'une + durée supérieure à l'intervalle spécifié.</p> + + <p>Définir l'intervalle à 0 désactive cette directive, et + l'expiration de la session sera alors rafraîchie pour chaque requête.</p> + + <p>Cette directive n'a d'effet que si on l'utilise en combinaison + avec la directive <code class="directive"><a href="#sessionmaxage">SessionMaxAge</a></code> qui active + l'expiration des sessions. Les sessions sans date d'expiration ne + sont écrites que lorsque les données qu'elles renferment ont été + modifiées.</p> + + <div class="warning"><h3>Avertissement</h3> + <p>Comme l'expiration de la session n'est pas systématiquement + rafraîchie à chaque requête, une session peut arriver à expiration + plus tôt d'un nombre de secondes spécifié dans le paramètre + <var>interval</var>. Définir un petit intervalle est en général + assez sur, mais en revenche n'a qu'un effet minime sur la prise en + compte des durées d'expiration.</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="sessionheader" id="sessionheader">Directive</a> <a name="SessionHeader" id="SessionHeader">SessionHeader</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Importation des mises à jour de session depuis l'en-tête de +réponse HTTP spécifié</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SessionHeader <var>en-tête</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>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>AuthConfig</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_session</td></tr> +</table> + <p>La directive <code class="directive">SessionHeader</code> permet de + définir le nom d'un en-tête de réponse HTTP qui, s'il est présent, + sera lu et son contenu écrit dans la session courante.</p> + + <p>Le contenu de l'en-tête doit se présenter sous le même format que + celui de la chaîne d'arguments d'une URL, comme dans l'exemple + suivant :</p> + + <div class="example"><p><code> + <code>clé1=foo&clé2=&clé3=bar</code> + </code></p></div> + + <p>Si une clé a pour valeur la chaîne vide, elle sera supprimée de + la session.</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="sessioninclude" id="sessioninclude">Directive</a> <a name="SessionInclude" id="SessionInclude">SessionInclude</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit les préfixes d'URL pour lesquels une session est +valide</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SessionInclude <var>chemin</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>toutes URLs</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>AuthConfig</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_session</td></tr> +</table> + <p>La directive <code class="directive">SessionInclude</code> permet de + définir les préfixes d'URL spécifiques pour lesquels une session + sera valide. Ceci peut améliorer l'efficacité d'un site web, en + ciblant de manière plus précise l'espace d'URL pour lequel une + session devra être maintenue. Par défaut, toutes les URLs du + contexte ou du conteneur courant sont incluses dans la session.</p> + + <div class="warning"><h3>Avertissement</h3> + <p>Cette directive a un comportement similaire à celui de l'attribut + <var>chemin</var> des cookies HTTP, mais ne doit pas être confondue + avec cet attribut. En effet, cette directive ne définit pas + l'attribut <var>chemin</var>, qui doit être configuré séparément.</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="sessionmaxage" id="sessionmaxage">Directive</a> <a name="SessionMaxAge" id="SessionMaxAge">SessionMaxAge</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit une durée de vie maximale pour la session en +secondes</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SessionMaxAge <var>durée de vie maximale</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SessionMaxAge 0</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>AuthConfig</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_session</td></tr> +</table> + <p>La directive <code class="directive">SessionMaxAge</code> permet de + définir la durée maximale pendant laquelle une session restera + valide. Lorsqu'une session est sauvegardée, cette durée est + réinitialisée et la session peut continuer d'exister. Si la durée + d'une session dépasse cette limite sans qu'une requête au serveur ne + vienne la rafraîchir, la session va passer hors délai et sera + supprimée. Lorsqu'une session est utilisée pour stocker les + informations de connexion d'un utilisateur, ceci aura pour effet de + le déconnecter automatiquement après le délai spécifié.</p> + + <p>Donner à cette directive la valeur 0 empêche l'expiration de la + session.</p> + +</div> +</div> +<div class="bottomlang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_session.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_session.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/trunk/mod/mod_session.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 2017 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_session.xml.fr b/docs/manual/mod/mod_session.xml.fr new file mode 100644 index 0000000000..23acd97197 --- /dev/null +++ b/docs/manual/mod/mod_session.xml.fr @@ -0,0 +1,603 @@ +<?xml version="1.0"?> +<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd"> +<?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?> +<!-- English Revision : 1709121 --> +<!-- French translation : Lucien GENTIS --> +<!-- $LastChangedRevision: 2015101701 $ --> + +<!-- + 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_session.xml.meta"> + +<name>mod_session</name> +<description>Support des sessions</description> +<status>Extension</status> +<sourcefile>mod_session.c</sourcefile> +<identifier>session_module</identifier> +<compatibility>Disponible depuis la version 2.3 d'Apache</compatibility> + +<summary> + <note type="warning"><title>Avertissement</title> + <p>Le module session fait usage des cookies HTTP, et peut à ce + titre être victime d'attaques de type Cross Site Scripting, ou + divulguer des informations à caractère privé aux clients. Veuillez + vous assurer que les risques ainsi encourus ont été pris en compte + avant d'activer le support des sessions sur votre serveur.</p> + </note> + + <p>Ce module fournit le support d'une interface de session pour + chaque utilisateur au niveau du serveur global. Les sessions + permettent de transmettre diverses informations : l'utilisateur + est-il connecté ou non, ou toute autre information qui doit être + conservée d'une requête à l'autre.</p> + + <p>Les sessions peuvent être stockées sur le serveur, ou au niveau + du navigateur. Les sessions peuvent aussi être chiffrées pour une + sécurité accrue. Ces fonctionnalités sont réparties entre différents + modules complémentaires de <module>mod_session</module> : + <module>mod_session_crypto</module>, + <module>mod_session_cookie</module> et + <module>mod_session_dbd</module>. Chargez les modules appropriés + en fonction des besoins du serveur (soit statiquement à la + compilation, soit dynamiquement via la directive <directive + module="mod_so">LoadModule</directive>).</p> + + <p>Les sessions peuvent être manipulées par d'autres modules qui + dépendent de la session, ou la session peut être lue et écrite dans + des variables d'environnement et des en-têtes HTTP, selon les + besoins.</p> + +</summary> +<seealso><module>mod_session_cookie</module></seealso> +<seealso><module>mod_session_crypto</module></seealso> +<seealso><module>mod_session_dbd</module></seealso> + + <section id="whatisasession"><title>Qu'est-ce qu'une session ?</title> + <p>Au coeur de l'interface de session se trouve une table de + paires clé/valeur qui sont accessibles d'une requête du navigateur + à l'autre. Les valeurs de clés peuvent se voir affecter toute chaîne + valide, en fonction des besoins de l'application qui fait usage de + la session.</p> + + <p>Une "session" est une chaîne + <strong>application/x-www-form-urlencoded</strong> qui contient la + paire clé/valeur définie par la <a + href="http://www.w3.org/TR/html4/">specification HTML</a>.</p> + + <p>Selon les souhaits de l'administrateur, la session peut être + chiffrée et codée en base64 avant d'être soumise au dispositif de + stockage.</p> + + </section> + <section id="whocanuseasession"><title>Qui peut utiliser une session + ?</title> + <p>L'interface de session a été conçue à l'origine pour être + utilisée par d'autres modules du serveur comme + <module>mod_auth_form</module> ; les applications à base de + programmes CGI peuvent cependant se voir accorder l'accès au + contenu d'une session via la variable d'environnement + HTTP_SESSION. Il est possible de modifier et/ou de mettre à jour + une session en insérant un en-tête de réponse HTTP contenant les + nouveaux paramètres de session.</p> + + </section> + <section id="serversession"><title>Stockage des sessions sur le + serveur</title> + <p>Apache peut être configuré pour stocker les sessions + utilisateurs sur un serveur particulier ou un groupe de serveurs. + Cette fonctionnalité est similaire aus sessions disponibles sur + les serveurs d'applications courants.</p> + + <p>Selon la configuration, les sessions sont suivies à + partir d'un identifiant de session stocké dans un cookie, ou + extrait de la chaîne de paramètres de l'URL, comme dans les + requêtes GET courantes.</p> + + <p>Comme le contenu de la session est stocké exclusivement sur le + serveur, il est nécessaire de préserver la confidentialité de ce + contenu. Ceci a des implications en matière de performance et de + consommation de ressources lorsqu'un grand nombre de sessions est + stocké, ou lorsqu'un grand nombre de serveurs doivent se partager + les sessions entre eux.</p> + + <p>Le module <module>mod_session_dbd</module> permet de stocker + les sessions utilisateurs dans une base de données SQL via le + module <module>mod_dbd</module>.</p> + + </section> <!-- /serversession --> + + <section id="browsersession"><title>Stockage des sessions au niveau + du navigateur</title> + <p>Dans les environnements à haut trafic où le stockage d'une + session sur un serveur consomme trop + de ressources, il est possible de stocker le contenu de la session + dans un cookie au niveau du navigateur client.</p> + + <p>Ceci a pour avantage de ne nécessiter qu'une quantité minimale de + ressources sur le serveur pour suivre les sessions, et évite à + plusieurs serveurs parmi une forêt de serveurs de devoir partager + les informations de session.</p> + + <p>Le contenu de la session est cependant présenté au client, avec + pour conséquence un risque de perte de confidentialité. Le module + <module>mod_session_crypto</module> peut être configuré pour + chiffrer le contenu de la session avant qu'elle soit stockée au + niveau du client.</p> + + <p>Le module <module>mod_session_cookie</module> permet de stocker + les sessions au niveau du navigateur dans un cookie HTTP.+</p> + + </section> <!-- /browsersession --> + + <section id="basicexamples"><title>Exemples simples</title> + + <p>La création d'une session consiste simplement à ouvrir la + session, et à décider de l'endroit où elle doit être stockée. Dans + l'exemple suivant, la session sera stockée au niveau du + navigateur, dans un cookie nommé <code>session</code>.</p> + + <example><title>Session stockée au niveau du navigateur</title> + <highlight language="config"> +Session On +SessionCookieName session path=/ + </highlight> + </example> + + <p>Une session est inutile s'il n'est pas possible d'y lire + ou d'y écrire. L'exemple suivant montre comment des valeurs + peuvent être injectées dans une session à l'aide d'un en-tête de + réponse HTTP prédéterminé nommé + <code>X-Replace-Session</code>.</p> + + <example><title>Ecriture dans une session</title> + <highlight language="config"> +Session On +SessionCookieName session path=/ +SessionHeader X-Replace-Session + </highlight> + </example> + + <p>L'en-tête doit contenir des paires clé/valeur sous le même + format que celui de la chaîne d'argument d'une URL, comme dans + l'exemple suivant. Donner pour valeur à une clé la chaîne vide a + pour effet de supprimer la clé de la session.</p> + + <example><title>Script CGI pour écrire dans une session</title> + <highlight language="sh"> +#!/bin/bash +echo "Content-Type: text/plain" +echo "X-Replace-Session: key1=foo&key2=&key3=bar" +echo +env + </highlight> + </example> + + <p>Selon la configuration, les informations de la session peuvent + être extraites de la variable d'environnement HTTP_SESSION. Par + défaut la session est privée, et cette fonctionnalité doit donc + être explicitement activée via la directive <directive + module="mod_session">SessionEnv</directive>.</p> + + <example><title>Lecture depuis une session</title> + <highlight language="config"> +Session On +SessionEnv On +SessionCookieName session path=/ +SessionHeader X-Replace-Session + </highlight> + </example> + + <p>Une fois la lecture effectuée, la variable CGI + <code>HTTP_SESSION</code> doit contenir la valeur + <code>clé1=foo&clé3=bar</code>.</p> + + </section> + <section id="sessionprivacy"><title>Confidentialité des + sessions</title> + + <p>En utilisant la fonctionnalité de votre navigateur "Afficher + les cookies", vous pouvez voir une réprésentation de la session + sous forme de texte en clair. Ceci peut poser problème si le + contenu de la session doit être dissimulé à l'utilisateur final, + ou si un tiers accède sans autorisation aux informations de + session.</p> + + <p>A ce titre, le contenu de la session peut être chiffré à l'aide + du module <module>mod_session_crypto</module> avant d'être stocké + au niveau du navigateur.</p> + + <example><title>Session chiffrée avant stockage au niveau du + navigateur</title> + <highlight language="config"> +Session On +SessionCryptoPassphrase secret +SessionCookieName session path=/ + </highlight> + </example> + + <p>La session sera automatiquement déchiffrée à la lecture, et + rechiffrée par Apache lors de la sauvegarde, si bien que + l'application sous-jacente qui utilise la session n'a pas à se + préoccuper de savoir si un chiffrement a été mis en oeuvre ou + non.</p> + + <p>Les sessions stockées sur le serveur plutôt qu'au niveau du + navigateur peuvent aussi être chiffrées, préservant par là -même la + confidentialité lorsque des informations sensibles sont partagées + entre les serveurs web d'une forêt de serveurs à l'aide du module + <module>mod_session_dbd</module>.</p> + + </section> + <section id="cookieprivacy"><title>Confidentialité du cookie</title> + + <p>Le mécanisme de cookie HTTP offre aussi des fonctionnalités + quant à la confidentialité, comme la possibilité de + restreindre le transport du cookie aux pages protégées par SSL + seulement, ou l'interdiction pour les scripts java qui + s'exécutent au niveau du navigateur d'obtenir l'accès au contenu + du cookie.</p> + + <note type="warning"><title>Avertissement</title> + <p>Certaines fonctionnalités de confidentialité du cookie HTTP ne + sont pas standardisées, ou ne sont pas toujours implémentées au + niveau du navigateur. Les modules de session vous permettent de + définir les paramètres du cookie, mais il n'est pas garanti que la + confidentialité sera respectée par le navigateur. Si la sécurité + est la principale préoccupation, chiffrez le contenu de la session + avec le module <module>mod_session_crypto</module>, ou stockez la + session sur le serveur avec le module + <module>mod_session_dbd</module>.</p> + </note> + + <p>Les paramètres standards du cookie peuvent être spécifiés après + le nom du cookie comme dans l'exemple suivant :</p> + + <example><title>Définition des paramètres du cookie</title> + <highlight language="config"> +Session On +SessionCryptoPassphrase secret +SessionCookieName session path=/private;domain=example.com;httponly;secure; + </highlight> + </example> + + <p>Dans les cas où le serveur Apache sert de frontal pour des + serveurs d'arrière-plan, il est possible de supprimer les cookies + de session des en-têtes HTTP entrants à l'aide de la directive + <directive + module="mod_session_cookie">SessionCookieRemove</directive>. Ceci + permet d'empêcher les serveurs d'arrière-plan d'accéder au contenu + des cookies de session. + </p> + + </section> + <section id="authentication"><title>Support des sessions pour + l'authentification</title> + + <p>Comme il est possible de le faire avec de nombreux serveurs + d'applications, les modules d'authentification peuvent utiliser + une session pour stocker le nom d'utilisateur et le mot de passe + après connexion. Le module <module>mod_auth_form</module> par + exemple, sauvegarde les nom de connexion et mot de passe de + l'utilisateur dans une session.</p> + + <example><title>Authentification à base de formulaire</title> + <highlight language="config"> +Session On +SessionCryptoPassphrase secret +SessionCookieName session path=/ +AuthFormProvider file +AuthUserFile "conf/passwd" +AuthType form +AuthName "realm" +#... + </highlight> + </example> + + <p>Pour la documentation et des exemples complets, voir le module + <module>mod_auth_form</module>.</p> + + </section> + + <section id="integration"><title>Intégration des sessions avec les + applications externes</title> + + <p>Pour que les sessions soient utiles, leur contenu doit être + accessible aux applications externes, et ces dernières doivent + elles-mêmes être capables d'écrire une session.</p> + + <p>L'exemple type est une application qui modifie le mot de passe + d'un utilisateur défini par <module>mod_auth_form</module>. Cette + application doit pouvoir extraire les nom d'utilisateur et mot de + passe courants de la session, effectuer les modifications + demandées, puis écrire le nouveau mot de passe dans la session, + afin que la transition vers le nouveau mot de passe soit + transparente.</p> + + <p>Un autre exemple met en jeu une application qui enregistre un + nouvel utilisateur pour la première fois. Une fois + l'enregistrement terminé, le nom d'utilisateur et le mot de passe + sont écrits dans la session, fournissant là aussi une transition + transparente.</p> + + <dl> + <dt>Modules Apache</dt> + <dd>Selon les besoins, les modules du serveur peuvent utiliser + l'API <strong>mod_session.h</strong> pour lire et écrire dans les + sessions. Les modules tels que <module>mod_auth_form</module> + utilisent ce mécanisme. + </dd> + + <dt>Programmes CGI et langages de script</dt> + <dd>Les applications qui s'exécutent au sein du serveur web + peuvent éventuellement extraire la valeur de la session de la + variable d'environnement <strong>HTTP_SESSION</strong>. La session + doit être codée sous la forme d'une chaîne + <strong>application/x-www-form-urlencoded</strong> selon les + préconisations de la <a + href="http://www.w3.org/TR/html4/">specification HTML</a>. Cette + variable d'environnement est définie via la directive <directive + module="mod_session">SessionEnv</directive>. Un script peut écrire + dans la session en renvoyant un en-tête de réponse + <strong>application/x-www-form-urlencoded</strong> dont le nom est + défini via la directive <directive + module="mod_session">SessionHeader</directive>. Dans les deux cas, + tout chiffrement ou déchiffrement, ainsi que la lecture ou + l'écriture de ou vers la session à partir du mécanisme de stockage + choisi sont gérés par le module <module>mod_session</module> et la + configuration correspondante. + </dd> + + <dt>Applications situées derrière <module>mod_proxy</module></dt> + <dd>Si la directive <directive + module="mod_session">SessionHeader</directive> est utilisée pour + définir un en-tête de requête HTTP, la session codée sous la forme + d'une chaîne <strong>application/x-www-form-urlencoded</strong> + sera accessible pour l'application. Si ce même en-tête est fourni + dans la réponse, sa valeur sera utilisée pour remplacer la + session. Comme précédemment, tout chiffrement ou déchiffrement, + ainsi que la lecture ou + l'écriture de ou vers la session à partir du mécanisme de stockage + choisi sont gérés par le module <module>mod_session</module> et la + configuration correspondante.</dd> + + <dt>Applications indépendantes</dt> + <dd>Les applications peuvent choisir de manipuler la session en + s'affranchissant du contrôle du serveur HTTP Apache. Dans ce cas, + c'est l'application qui doit prendre en charge la lecture de la + session depuis le mécanisme de stockage choisi, son déchiffrement, + sa mise à jour, son chiffrement et sa réécriture vers le mécanisme + de stockage choisi de manière appropriée.</dd> + </dl> + + </section> + +<directivesynopsis> +<name>Session</name> +<description>Ouvre une session pour le contexte courant</description> +<syntax>Session On|Off</syntax> +<default>Session Off</default> +<contextlist><context>server config</context> +<context>virtual host</context> +<context>directory</context> +<context>.htaccess</context> +</contextlist> +<override>AuthConfig</override> + +<usage> + <p>La directive <directive>Session</directive> permet d'ouvrir une + session pour le contexte ou conteneur courant. Les directives + suivantes permettent de définir où la session sera stockée et + comment sera assurée la confidentialité.</p> +</usage> +</directivesynopsis> + +<directivesynopsis> +<name>SessionMaxAge</name> +<description>Définit une durée de vie maximale pour la session en +secondes</description> +<syntax>SessionMaxAge <var>durée de vie maximale</var></syntax> +<default>SessionMaxAge 0</default> +<contextlist><context>server config</context> +<context>virtual host</context> +<context>directory</context> +<context>.htaccess</context> +</contextlist> +<override>AuthConfig</override> + +<usage> + <p>La directive <directive>SessionMaxAge</directive> permet de + définir la durée maximale pendant laquelle une session restera + valide. Lorsqu'une session est sauvegardée, cette durée est + réinitialisée et la session peut continuer d'exister. Si la durée + d'une session dépasse cette limite sans qu'une requête au serveur ne + vienne la rafraîchir, la session va passer hors délai et sera + supprimée. Lorsqu'une session est utilisée pour stocker les + informations de connexion d'un utilisateur, ceci aura pour effet de + le déconnecter automatiquement après le délai spécifié.</p> + + <p>Donner à cette directive la valeur 0 empêche l'expiration de la + session.</p> +</usage> +</directivesynopsis> + +<directivesynopsis> +<name>SessionEnv</name> +<description>Définit si le contenu de la session doit être enregistré +dans la variable d'environnement <var>HTTP_SESSION</var></description> +<syntax>SessionEnv On|Off</syntax> +<default>SessionEnv Off</default> +<contextlist><context>server config</context> +<context>virtual host</context> +<context>directory</context> +<context>.htaccess</context> +</contextlist> +<override>AuthConfig</override> + +<usage> + <p>Lorsque la directive <directive>SessionEnv</directive> est + définie à <var>On</var>, le contenu de la session est enregistré + dans une variable d'environnement CGI nommée + <var>HTTP_SESSION</var>.</p> + + <p>La chaîne est écrite sous le même format que celui de la chaîne + d'arguments d'une URL, comme dans l'exemple suivant :</p> + + <example> + <code>clé1=foo&clé3=bar</code> + </example> + +</usage> +</directivesynopsis> + +<directivesynopsis> +<name>SessionHeader</name> +<description>Importation des mises à jour de session depuis l'en-tête de +réponse HTTP spécifié</description> +<syntax>SessionHeader <var>en-tête</var></syntax> +<default>none</default> +<contextlist><context>server config</context> +<context>virtual host</context> +<context>directory</context> +<context>.htaccess</context> +</contextlist> +<override>AuthConfig</override> + +<usage> + <p>La directive <directive>SessionHeader</directive> permet de + définir le nom d'un en-tête de réponse HTTP qui, s'il est présent, + sera lu et son contenu écrit dans la session courante.</p> + + <p>Le contenu de l'en-tête doit se présenter sous le même format que + celui de la chaîne d'arguments d'une URL, comme dans l'exemple + suivant :</p> + + <example> + <code>clé1=foo&clé2=&clé3=bar</code> + </example> + + <p>Si une clé a pour valeur la chaîne vide, elle sera supprimée de + la session.</p> + +</usage> +</directivesynopsis> + +<directivesynopsis> +<name>SessionInclude</name> +<description>Définit les préfixes d'URL pour lesquels une session est +valide</description> +<syntax>SessionInclude <var>chemin</var></syntax> +<default>toutes URLs</default> +<contextlist><context>server config</context> +<context>virtual host</context> +<context>directory</context> +<context>.htaccess</context> +</contextlist> +<override>AuthConfig</override> + +<usage> + <p>La directive <directive>SessionInclude</directive> permet de + définir les préfixes d'URL spécifiques pour lesquels une session + sera valide. Ceci peut améliorer l'efficacité d'un site web, en + ciblant de manière plus précise l'espace d'URL pour lequel une + session devra être maintenue. Par défaut, toutes les URLs du + contexte ou du conteneur courant sont incluses dans la session.</p> + + <note type="warning"><title>Avertissement</title> + <p>Cette directive a un comportement similaire à celui de l'attribut + <var>chemin</var> des cookies HTTP, mais ne doit pas être confondue + avec cet attribut. En effet, cette directive ne définit pas + l'attribut <var>chemin</var>, qui doit être configuré séparément.</p></note> +</usage> +</directivesynopsis> + +<directivesynopsis> +<name>SessionExclude</name> +<description>Définit les préfixes d'URLs pour lesquels une session sera +ignorée</description> +<syntax>SessionExclude <var>chemin</var></syntax> +<default>none</default> +<contextlist><context>server config</context> +<context>virtual host</context> +<context>directory</context> +<context>.htaccess</context> +</contextlist> + +<usage> + <p>La directive <directive>SessionExclude</directive> permet de + définir les préfixes d'URLs pour lesquels la session sera + désactivée. Ceci peut améliorer l'efficacité d'un site web, en + ciblant de manière plus précise l'espace d'URL pour lequel une + session devra être maintenue. Par défaut, toutes les URLs du + contexte ou du conteneur courant sont incluses dans la session. La + directive <directive module="mod_session">SessionExclude</directive> + l'emporte sur la directive <directive + module="mod_session">SessionInclude</directive>.</p> + + <note type="warning"><title>Avertissement</title> + <p>Cette directive a un comportement similaire à celui de l'attribut + <var>chemin</var> des cookies HTTP, mais ne doit pas être confondue + avec cet attribut. En effet, cette directive ne définit pas + l'attribut <var>chemin</var>, qui doit être configuré + séparément.</p></note> +</usage> +</directivesynopsis> + +<directivesynopsis> +<name>SessionExpiryUpdateInterval</name> +<description>Définit le nombre de secondes dont la durée d'expiration d'une +session peut changer sans que cette session soit mise à jour</description> +<syntax>SessionExpiryUpdateInterval <var>interval</var></syntax> +<default>SessionExpiryUpdateInterval 0 (mise à jour systématique)</default> +<contextlist><context>server config</context> +<context>virtual host</context> +<context>directory</context> +<context>.htaccess</context> +</contextlist> + +<usage> + <p>La directive <directive>SessionExpiryUpdateInterval</directive> + permet d'éviter le coût de l'écriture d'une session pour chaque + requête en n'effectuant cette mise à jour que lorsque la date + d'expiration a changé. Ceci permet d'améliorer les performances d'un + site web ou de réduire la charge d'une base de données lorsqu'on + utilise <module>mod_session_dbd</module>. La session est + systématiquement mise à jour si les données stockées dans la session + ont été modifiées ou si la durée d'expiration a été modifiée d'une + durée supérieure à l'intervalle spécifié.</p> + + <p>Définir l'intervalle à 0 désactive cette directive, et + l'expiration de la session sera alors rafraîchie pour chaque requête.</p> + + <p>Cette directive n'a d'effet que si on l'utilise en combinaison + avec la directive <directive + module="mod_session">SessionMaxAge</directive> qui active + l'expiration des sessions. Les sessions sans date d'expiration ne + sont écrites que lorsque les données qu'elles renferment ont été + modifiées.</p> + + <note type="warning"><title>Avertissement</title> + <p>Comme l'expiration de la session n'est pas systématiquement + rafraîchie à chaque requête, une session peut arriver à expiration + plus tôt d'un nombre de secondes spécifié dans le paramètre + <var>interval</var>. Définir un petit intervalle est en général + assez sur, mais en revenche n'a qu'un effet minime sur la prise en + compte des durées d'expiration.</p></note> +</usage> +</directivesynopsis> + +</modulesynopsis> diff --git a/docs/manual/mod/mod_session.xml.meta b/docs/manual/mod/mod_session.xml.meta index 2f03ccac5f..c620b37214 100644 --- a/docs/manual/mod/mod_session.xml.meta +++ b/docs/manual/mod/mod_session.xml.meta @@ -8,5 +8,6 @@ <variants> <variant>en</variant> + <variant>fr</variant> </variants> </metafile> diff --git a/docs/manual/mod/mod_session_cookie.html b/docs/manual/mod/mod_session_cookie.html index b0ee5a4aea..f699710b57 100644 --- a/docs/manual/mod/mod_session_cookie.html +++ b/docs/manual/mod/mod_session_cookie.html @@ -3,3 +3,7 @@ URI: mod_session_cookie.html.en Content-Language: en Content-type: text/html; charset=ISO-8859-1 + +URI: mod_session_cookie.html.fr +Content-Language: fr +Content-type: text/html; charset=ISO-8859-1 diff --git a/docs/manual/mod/mod_session_cookie.html.fr b/docs/manual/mod/mod_session_cookie.html.fr new file mode 100644 index 0000000000..94357316d3 --- /dev/null +++ b/docs/manual/mod/mod_session_cookie.html.fr @@ -0,0 +1,217 @@ +<?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> +<meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_session_cookie - Serveur Apache HTTP Version 2.5</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.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p> +<p class="apache">Serveur Apache HTTP Version 2.5</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.5</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Module Apache mod_session_cookie</h1> +<div class="toplang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_session_cookie.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_session_cookie.html" title="Français"> fr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Support des sessions basé sur les cookies</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>session_cookie_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_session_cookie.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> + + <div class="warning"><h3>Avertissement</h3> + <p>Les modules de session font usage des cookies HTTP, et peuvent + à ce titre être victimes d'attaques de type Cross Site Scripting, + ou divulguer des informations à caractère privé aux clients. + Veuillez vous assurer que les risques ainsi encourus ont été pris + en compte avant d'activer le support des sessions sur votre + serveur.</p> + </div> + + <p>Ce sous-module du module <code class="module"><a href="../mod/mod_session.html">mod_session</a></code> fournit le + support du stockage des sessions utilisateur au niveau du navigateur + distant dans des cookies HTTP.</p> + + <p>L'utilisation de cookies pour stocker les sessions décharge le + serveur ou le groupe de serveurs de la nécessité de stocker les + sessions localement, ou de collaborer pour partager les sessions, et + peut être utile dans les environnements à fort trafic où le stockage + des sessions sur le serveur pourrait s'avérer trop consommateur de + ressources.</p> + + <p>Si la confidentialité de la session doit être préservée, le + contenu de cette dernière peut être chiffré avant d'être enregistré + au niveau du client à l'aide du module + <code class="module"><a href="../mod/mod_session_crypto.html">mod_session_crypto</a></code>.</p> + + <p>Pour plus de détails à propos de l'interface des sessions, voir + la documentation du module <code class="module"><a href="../mod/mod_session.html">mod_session</a></code>.</p> + +</div> +<div id="quickview"><h3>Sujets</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#basicexamples">Exemples simples</a></li> +</ul><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#sessioncookiename">SessionCookieName</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sessioncookiename2">SessionCookieName2</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sessioncookieremove">SessionCookieRemove</a></li> +</ul> +<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_session_cookie">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_session_cookie">Signaler un bug</a></li></ul><h3>Voir aussi</h3> +<ul class="seealso"> +<li><code class="module"><a href="../mod/mod_session.html">mod_session</a></code></li> +<li><code class="module"><a href="../mod/mod_session_crypto.html">mod_session_crypto</a></code></li> +<li><code class="module"><a href="../mod/mod_session_dbd.html">mod_session_dbd</a></code></li> +<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="basicexamples" id="basicexamples">Exemples simples</a></h2> + + <p>Pour créer une session et la stocker dans un cookie nommé + <var>session</var>, configurez-la comme suit :</p> + + <div class="example"><h3>Session stockée au niveau du navigateur</h3><pre class="prettyprint lang-config">Session On +SessionCookieName session path=/</pre> +</div> + + <p>Pour plus d'exemples sur la manière dont une session doit être + configurée pour qu'une application CGI puisse l'utiliser, voir la + section exemples de la documentation du module + <code class="module"><a href="../mod/mod_session.html">mod_session</a></code>.</p> + + <p>Pour des détails sur la manière dont une session peut être + utilisée pour stocker des informations de type nom + d'utilisateur/mot de passe, voir la documentation du module + <code class="module"><a href="../mod/mod_auth_form.html">mod_auth_form</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="sessioncookiename" id="sessioncookiename">Directive</a> <a name="SessionCookieName" id="SessionCookieName">SessionCookieName</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Nom et attributs du cookie RFC2109 dans lequel la session +est stockée</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SessionCookieName <var>nom</var> <var>attributs</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>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#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_session_cookie</td></tr> +</table> + <p>La directive <code class="directive">SessionCookieName</code> permet de + spécifier le nom et les attributs optionnels d'un cookie compatible + RFC2109 dans lequel la session sera stockée. Les cookies RFC2109 + sont définis en utilisant l'en-tête HTTP <code>Set-Cookie</code>. + </p> + + <p>Une liste optionnelle d'attributs peut être spécifiée, comme dans + l'exemple suivant. Ces attributs sont insérés tel quel dans le + cookie, et ne sont pas interprétés par Apache. Assurez-vous que vos + attributs soient définis correctement selon la spécification des + cookies. + </p> + + <div class="example"><h3>Cookie avec attributs</h3><pre class="prettyprint lang-config">Session On +SessionCookieName session path=/private;domain=example.com;httponly;secure;version=1;</pre> +</div> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="sessioncookiename2" id="sessioncookiename2">Directive</a> <a name="SessionCookieName2" id="SessionCookieName2">SessionCookieName2</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Nom et attributs pour le cookie RFC2965 dans lequel est +stockée la session</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SessionCookieName2 <var>nom</var> <var>attributs</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>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#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_session_cookie</td></tr> +</table> + <p>La directive <code class="directive">SessionCookieName2</code> permet de + spécifier le nom et les attributs optionnels d'un cookie compatible + RFC2965 dans lequel la session sera stockée. Les cookies RFC2965 + sont définis en utilisant l'en-tête HTTP + <code>Set-Cookie2</code>. + </p> + + <p>Une liste optionnelle d'attributs peut être spécifiée, comme dans + l'exemple suivant. Ces attributs sont insérés tel quel dans le + cookie, et ne sont pas interprétés par Apache. Assurez-vous que vos + attributs soient définis correctement selon la spécification des + cookies. + </p> + + <div class="example"><h3>Cookie2 avec attributs</h3><pre class="prettyprint lang-config">Session On +SessionCookieName2 session path=/private;domain=example.com;httponly;secure;version=1;</pre> +</div> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="sessioncookieremove" id="sessioncookieremove">Directive</a> <a name="SessionCookieRemove" id="SessionCookieRemove">SessionCookieRemove</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Détermine si les cookies de session doivent être supprimés +des en-têtes HTTP entrants</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SessionCookieRemove On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SessionCookieRemove 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#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_session_cookie</td></tr> +</table> + <p>La directive <code class="directive">SessionCookieRemove</code> permet de + déterminer si les cookies contenant la session doivent être + supprimés des en-têtes pendant le traitement de la requête.</p> + + <p>Dans le cas d'un mandataire inverse où le serveur Apache sert de + frontal à un serveur d'arrière-plan, révéler le contenu du cookie de + session à ce dernier peut conduire à une violation de la + confidentialité. A ce titre, si cette directive est définie à "on", + le cookie de session sera supprimé des en-têtes HTTP entrants.</p> + + +</div> +</div> +<div class="bottomlang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_session_cookie.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_session_cookie.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/trunk/mod/mod_session_cookie.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 2017 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_session_cookie.xml.fr b/docs/manual/mod/mod_session_cookie.xml.fr new file mode 100644 index 0000000000..38630c080b --- /dev/null +++ b/docs/manual/mod/mod_session_cookie.xml.fr @@ -0,0 +1,191 @@ +<?xml version="1.0"?> +<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd"> +<?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?> +<!-- English Revision : 1331227 --> +<!-- French translation : Lucien GENTIS --> +<!-- $LastChangedRevision: 2012050701 $ --> + +<!-- + 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_session_cookie.xml.meta"> + +<name>mod_session_cookie</name> +<description>Support des sessions basé sur les cookies</description> +<status>Extension</status> +<sourcefile>mod_session_cookie.c</sourcefile> +<identifier>session_cookie_module</identifier> +<compatibility>Disponible depuis la version 2.3 d'Apache</compatibility> + +<summary> + <note type="warning"><title>Avertissement</title> + <p>Les modules de session font usage des cookies HTTP, et peuvent + à ce titre être victimes d'attaques de type Cross Site Scripting, + ou divulguer des informations à caractère privé aux clients. + Veuillez vous assurer que les risques ainsi encourus ont été pris + en compte avant d'activer le support des sessions sur votre + serveur.</p> + </note> + + <p>Ce sous-module du module <module>mod_session</module> fournit le + support du stockage des sessions utilisateur au niveau du navigateur + distant dans des cookies HTTP.</p> + + <p>L'utilisation de cookies pour stocker les sessions décharge le + serveur ou le groupe de serveurs de la nécessité de stocker les + sessions localement, ou de collaborer pour partager les sessions, et + peut être utile dans les environnements à fort trafic où le stockage + des sessions sur le serveur pourrait s'avérer trop consommateur de + ressources.</p> + + <p>Si la confidentialité de la session doit être préservée, le + contenu de cette dernière peut être chiffré avant d'être enregistré + au niveau du client à l'aide du module + <module>mod_session_crypto</module>.</p> + + <p>Pour plus de détails à propos de l'interface des sessions, voir + la documentation du module <module>mod_session</module>.</p> + +</summary> +<seealso><module>mod_session</module></seealso> +<seealso><module>mod_session_crypto</module></seealso> +<seealso><module>mod_session_dbd</module></seealso> + + <section id="basicexamples"><title>Exemples simples</title> + + <p>Pour créer une session et la stocker dans un cookie nommé + <var>session</var>, configurez-la comme suit :</p> + + <example><title>Session stockée au niveau du navigateur</title> + <highlight language="config"> +Session On +SessionCookieName session path=/ + </highlight> + </example> + + <p>Pour plus d'exemples sur la manière dont une session doit être + configurée pour qu'une application CGI puisse l'utiliser, voir la + section exemples de la documentation du module + <module>mod_session</module>.</p> + + <p>Pour des détails sur la manière dont une session peut être + utilisée pour stocker des informations de type nom + d'utilisateur/mot de passe, voir la documentation du module + <module>mod_auth_form</module>.</p> + + </section> + +<directivesynopsis> +<name>SessionCookieName</name> +<description>Nom et attributs du cookie RFC2109 dans lequel la session +est stockée</description> +<syntax>SessionCookieName <var>nom</var> <var>attributs</var></syntax> +<default>none</default> +<contextlist><context>server config</context> +<context>virtual host</context> +<context>directory</context> +<context>.htaccess</context> +</contextlist> + +<usage> + <p>La directive <directive>SessionCookieName</directive> permet de + spécifier le nom et les attributs optionnels d'un cookie compatible + RFC2109 dans lequel la session sera stockée. Les cookies RFC2109 + sont définis en utilisant l'en-tête HTTP <code>Set-Cookie</code>. + </p> + + <p>Une liste optionnelle d'attributs peut être spécifiée, comme dans + l'exemple suivant. Ces attributs sont insérés tel quel dans le + cookie, et ne sont pas interprétés par Apache. Assurez-vous que vos + attributs soient définis correctement selon la spécification des + cookies. + </p> + + <example><title>Cookie avec attributs</title> + <highlight language="config"> +Session On +SessionCookieName session path=/private;domain=example.com;httponly;secure;version=1; + </highlight> + </example> + +</usage> +</directivesynopsis> + +<directivesynopsis> +<name>SessionCookieName2</name> +<description>Nom et attributs pour le cookie RFC2965 dans lequel est +stockée la session</description> +<syntax>SessionCookieName2 <var>nom</var> <var>attributs</var></syntax> +<default>none</default> +<contextlist><context>server config</context> +<context>virtual host</context> +<context>directory</context> +<context>.htaccess</context> +</contextlist> + +<usage> + <p>La directive <directive>SessionCookieName2</directive> permet de + spécifier le nom et les attributs optionnels d'un cookie compatible + RFC2965 dans lequel la session sera stockée. Les cookies RFC2965 + sont définis en utilisant l'en-tête HTTP + <code>Set-Cookie2</code>. + </p> + + <p>Une liste optionnelle d'attributs peut être spécifiée, comme dans + l'exemple suivant. Ces attributs sont insérés tel quel dans le + cookie, et ne sont pas interprétés par Apache. Assurez-vous que vos + attributs soient définis correctement selon la spécification des + cookies. + </p> + + <example><title>Cookie2 avec attributs</title> + <highlight language="config"> +Session On +SessionCookieName2 session path=/private;domain=example.com;httponly;secure;version=1; + </highlight> + </example> + +</usage> +</directivesynopsis> + +<directivesynopsis> +<name>SessionCookieRemove</name> +<description>Détermine si les cookies de session doivent être supprimés +des en-têtes HTTP entrants</description> +<syntax>SessionCookieRemove On|Off</syntax> +<default>SessionCookieRemove Off</default> +<contextlist><context>server config</context> +<context>virtual host</context> +<context>directory</context> +<context>.htaccess</context> +</contextlist> + +<usage> + <p>La directive <directive>SessionCookieRemove</directive> permet de + déterminer si les cookies contenant la session doivent être + supprimés des en-têtes pendant le traitement de la requête.</p> + + <p>Dans le cas d'un mandataire inverse où le serveur Apache sert de + frontal à un serveur d'arrière-plan, révéler le contenu du cookie de + session à ce dernier peut conduire à une violation de la + confidentialité. A ce titre, si cette directive est définie à "on", + le cookie de session sera supprimé des en-têtes HTTP entrants.</p> + +</usage> +</directivesynopsis> + +</modulesynopsis> diff --git a/docs/manual/mod/mod_session_cookie.xml.meta b/docs/manual/mod/mod_session_cookie.xml.meta index cf3b2f5726..261119e122 100644 --- a/docs/manual/mod/mod_session_cookie.xml.meta +++ b/docs/manual/mod/mod_session_cookie.xml.meta @@ -8,5 +8,6 @@ <variants> <variant>en</variant> + <variant>fr</variant> </variants> </metafile> diff --git a/docs/manual/mod/mod_session_crypto.html b/docs/manual/mod/mod_session_crypto.html index b6577a8ef7..f0186dec0a 100644 --- a/docs/manual/mod/mod_session_crypto.html +++ b/docs/manual/mod/mod_session_crypto.html @@ -3,3 +3,7 @@ URI: mod_session_crypto.html.en Content-Language: en Content-type: text/html; charset=ISO-8859-1 + +URI: mod_session_crypto.html.fr +Content-Language: fr +Content-type: text/html; charset=ISO-8859-1 diff --git a/docs/manual/mod/mod_session_crypto.html.fr b/docs/manual/mod/mod_session_crypto.html.fr new file mode 100644 index 0000000000..7c5b27e911 --- /dev/null +++ b/docs/manual/mod/mod_session_crypto.html.fr @@ -0,0 +1,292 @@ +<?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> +<meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_session_crypto - Serveur Apache HTTP Version 2.5</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.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p> +<p class="apache">Serveur Apache HTTP Version 2.5</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.5</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Module Apache mod_session_crypto</h1> +<div class="toplang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_session_crypto.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_session_crypto.html" title="Français"> fr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Support du chiffrement des sessions</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>session_crypto_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_session_crypto.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> + + <div class="warning"><h3>Avertissement</h3> + <p>Les modules de session font usage des cookies HTTP, et peuvent + à ce titre être victimes d'attaques de type Cross Site Scripting, + ou divulguer des informations à caractère privé aux clients. + Veuillez vous assurer que les risques ainsi encourus ont été pris + en compte avant d'activer le support des sessions sur votre + serveur.</p> + </div> + + <p>Ce sous-module du module <code class="module"><a href="../mod/mod_session.html">mod_session</a></code> fournit le + support du chiffrement des sessions utilisateur avant de les + enregistrer dans une base de données locale, ou dans un cookie HTTP + au niveau du navigateur distant.</p> + + <p>Il peut contribuer à préserver la confidentialité des sessions + lorsque leur contenu doit rester privé pour + l'utilisateur, ou lorsqu'une protection contre les attaques de type + cross site scripting est nécessaire.</p> + + <p>Pour plus de détails à propos de l'interface des sessions, voir + la documentation du module <code class="module"><a href="../mod/mod_session.html">mod_session</a></code>.</p> + +</div> +<div id="quickview"><h3>Sujets</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#basicusage">Utilisation de base</a></li> +</ul><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#sessioncryptocipher">SessionCryptoCipher</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sessioncryptodriver">SessionCryptoDriver</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sessioncryptopassphrase">SessionCryptoPassphrase</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sessioncryptopassphrasefile">SessionCryptoPassphraseFile</a></li> +</ul> +<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_session_crypto">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_session_crypto">Signaler un bug</a></li></ul><h3>Voir aussi</h3> +<ul class="seealso"> +<li><code class="module"><a href="../mod/mod_session.html">mod_session</a></code></li> +<li><code class="module"><a href="../mod/mod_session_cookie.html">mod_session_cookie</a></code></li> +<li><code class="module"><a href="../mod/mod_session_dbd.html">mod_session_dbd</a></code></li> +<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="basicusage" id="basicusage">Utilisation de base</a></h2> + + <p>Pour créer une session chiffrée et la stocker dans un cookie + nommé <var>session</var>, configurer-la comme suit :</p> + + <div class="example"><h3>Session chiffrée stockée au niveau du + serveur</h3><pre class="prettyprint lang-config">Session On +SessionCookieName session path=/ +SessionCryptoPassphrase secret</pre> +</div> + + <p>La session sera chiffrée avec la clé spécifiée. Il est possible + de configurer plusieurs serveurs pour qu'ils puissent partager des + sessions, en s'assurant que la même clé de chiffrement est + utilisée sur chaque serveur.</p> + + <p>Si la clé de chiffrement est modifiée, les sessions seront + automatiquement invalidées.</p> + + <p>Pour des détails sur la manière dont une session peut être + utilisée pour stocker des informations de type nom + d'utilisateur/mot de passe, voir la documentation du module + <code class="module"><a href="../mod/mod_auth_form.html">mod_auth_form</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="sessioncryptocipher" id="sessioncryptocipher">Directive</a> <a name="SessionCryptoCipher" id="SessionCryptoCipher">SessionCryptoCipher</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>L'algorithme à utiliser pour le chiffrement de la session</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SessionCryptoCipher <var>algorithme</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>aes256</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_session_crypto</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.3.0 du serveur HTTP Apache</td></tr> +</table> + <p>La directive <code class="directive">SessionCryptoCipher</code> permet de + spécifier l'algorithme à utiliser pour le chiffrement. En l'absence + de spécification, l'algorithme par défaut est <code>aes256</code>.</p> + + <p>L'algorithme peut être choisi, en fonction du moteur de chiffrement + utilisé, parmi les valeurs suivantes :</p> + + <ul><li>3des192</li><li>aes128</li><li>aes192</li><li>aes256</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="sessioncryptodriver" id="sessioncryptodriver">Directive</a> <a name="SessionCryptoDriver" id="SessionCryptoDriver">SessionCryptoDriver</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Le pilote de chiffrement à utiliser pour chiffrer les +sessions</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SessionCryptoDriver <var>nom</var> <var>[param[=valeur]]</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>none</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_session_crypto</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.3.0 +d'Apache</td></tr> +</table> + <p>La directive <code class="directive">SessionCryptoDriver</code> permet de + spécifier le nom du pilote à utiliser pour le chiffrement. Si aucun + pilote n'est spécifié, le pilote utilisé par défaut sera le pilote + recommandé compilé avec APR-util.</p> + + <p>Le pilote de chiffrement <var>NSS</var> nécessite certains + paramètres de configuration, qui seront spécifiés comme arguments de + la directive avec des valeurs optionnelles après le nom du + pilote.</p> + + <div class="example"><h3>NSS sans base de données de certificats</h3><pre class="prettyprint lang-config">SessionCryptoDriver nss</pre> +</div> + + <div class="example"><h3>NSS avec base de données de certificats</h3><pre class="prettyprint lang-config">SessionCryptoDriver nss dir=certs</pre> +</div> + + <div class="example"><h3>NSS avec base de données de certificats et + paramètres</h3><pre class="prettyprint lang-config">SessionCryptoDriver nss dir=certs clé3=clé3.db cert7=cert7.db secmod=secmod</pre> +</div> + + <div class="example"><h3>NSS avec chemins contenant des espaces</h3><pre class="prettyprint lang-config">SessionCryptoDriver nss "dir=My Certs" key3=key3.db cert7=cert7.db secmod=secmod</pre> +</div> + + <p>Le pilote de chiffrement <var>NSS</var> peut avoir été configuré + au préalable dans une autre partie du serveur, par exemple depuis + <code class="module"><a href="../mod/mod_nss.html">mod_nss</a></code> ou <code class="module"><a href="../mod/mod_ldap.html">mod_ldap</a></code>. Si c'est le + cas, un avertissement sera enregistré dans le journal, et la + configuration existante s'en trouvera affectée. Pour éviter cet + avertissement, utilisez le paramètre noinit comme suit :</p> + + <div class="example"><h3>NSS avec base de données de certificats</h3><pre class="prettyprint lang-config">SessionCryptoDriver nss noinit</pre> +</div> + + <p>Pour éviter la confusion, assurez-vous que tous les modules + utilisant NSS soient configurés avec des paramètres identiques.</p> + + <p>Le pilote de chiffrement <var>openssl</var> accepte un paramètre + optionnel permettant de spécifier le moteur de chiffrement à + utiliser.</p> + + <div class="example"><h3>OpenSSL avec spécification du moteur de chiffrement</h3><pre class="prettyprint lang-config">SessionCryptoDriver openssl engine=nom-moteur</pre> +</div> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="sessioncryptopassphrase" id="sessioncryptopassphrase">Directive</a> <a name="SessionCryptoPassphrase" id="SessionCryptoPassphrase">SessionCryptoPassphrase</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>La clé utilisée pour chiffrer la session</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SessionCryptoPassphrase <var>secret</var> [ <var>secret</var> ... ] </code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>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#Status">Statut:</a></th><td>Expérimental</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_session_crypto</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.3.0 +d'Apache</td></tr> +</table> + <p>La directive <code class="directive">SessionCryptoPassphrase</code> + permet de spécifier les clés à utiliser pour chiffrer de manière + symétrique le contenu de la session avant de l'enregistrer, ou pour + déchiffrer le contenu de la session après sa lecture.</p> + + <p>L'utilisation de clés longues et composées de caractères vraiment + aléatoires est plus performant en matière de sécurité. Modifier une + clé sur un serveur a pour effet d'invalider toutes les sessions + existantes.</p> + + <p>Il est possible de spécifier plusieurs clés afin de mettre en + oeuvre la rotation de clés. La première clé spécifiée sera utilisée + pour le chiffrement, alors que l'ensemble des clés spécifiées le + sera pour le déchiffrement. Pour effectuer une rotation périodique + des clés sur plusieurs serveurs, ajoutez une nouvelle clé en fin de + liste, puis, une fois la rotation complète effectuée, supprimez la + première clé de la liste.</p> + + <p>Depuis la version 2.4.7, si la valeur de l'argument commence par + <var>exec:</var> , la commande + spécifiée sera exécutée, et la première ligne que cette dernière + renverra sur la sortie standard sera utilisée comme clé.</p> +<div class="example"><pre># clé spécifiée et utilisée en tant que tel +SessionCryptoPassphrase secret + +# exécution de /path/to/program pour générer la clé +SessionCryptoPassphrase exec:/path/to/program + +# exécution de /path/to/program avec un argument pour générer la clé +SessionCryptoPassphrase "exec:/path/to/otherProgram argument1"</pre></div> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="sessioncryptopassphrasefile" id="sessioncryptopassphrasefile">Directive</a> <a name="SessionCryptoPassphraseFile" id="SessionCryptoPassphraseFile">SessionCryptoPassphraseFile</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Le fichier contenant les clés utilisées pour chiffrer la +session</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SessionCryptoPassphraseFile <var>nom-fichier</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>none</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire</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_session_crypto</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.3.0 du serveur HTTP Apache</td></tr> +</table> + <p>La directive <code class="directive">SessionCryptoPassphraseFile</code> + permet de spécifier le nom d'un fichier de configuration contenant + les clés à utiliser pour le chiffrement et le déchiffrement de la + session (une clé par ligne). Le fichier est lu au démarrage du + serveur, et un redémarrage graceful est nécessaire pour prendre en + compte un éventuel changement de clés.</p> + + <p>A la différence de la directive + <code class="directive">SessionCryptoPassphrase</code>, les clés ne sont pas + présentes dans le fichier de configuration de httpd et peuvent être + cachées via une protection appropriée du fichier de clés.</p> + + <p>Il est possible de spécifier plusieurs clés afin de mettre en + oeuvre la rotation de clés. La première clé spécifiée sera utilisée + pour le chiffrement, alors que l'ensemble des clés spécifiées le + sera pour le déchiffrement. Pour effectuer une rotation périodique + des clés sur plusieurs serveurs, ajoutez une nouvelle clé en fin de + liste, puis, une fois la rotation complète effectuée, supprimez la + première clé de la liste.</p> + + +</div> +</div> +<div class="bottomlang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_session_crypto.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_session_crypto.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/trunk/mod/mod_session_crypto.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 2017 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_session_crypto.xml.fr b/docs/manual/mod/mod_session_crypto.xml.fr new file mode 100644 index 0000000000..f5aa8af841 --- /dev/null +++ b/docs/manual/mod/mod_session_crypto.xml.fr @@ -0,0 +1,278 @@ +<?xml version="1.0"?> +<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd"> +<?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?> +<!-- English Revision : 1587097 --> +<!-- French translation : Lucien GENTIS --> +<!-- $LastChangedRevision: 2014042601 $ --> + +<!-- + 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_session_crypto.xml.meta"> + +<name>mod_session_crypto</name> +<description>Support du chiffrement des sessions</description> +<status>Experimental</status> +<sourcefile>mod_session_crypto.c</sourcefile> +<identifier>session_crypto_module</identifier> +<compatibility>Disponible depuis la version 2.3 d'Apache</compatibility> + +<summary> + <note type="warning"><title>Avertissement</title> + <p>Les modules de session font usage des cookies HTTP, et peuvent + à ce titre être victimes d'attaques de type Cross Site Scripting, + ou divulguer des informations à caractère privé aux clients. + Veuillez vous assurer que les risques ainsi encourus ont été pris + en compte avant d'activer le support des sessions sur votre + serveur.</p> + </note> + + <p>Ce sous-module du module <module>mod_session</module> fournit le + support du chiffrement des sessions utilisateur avant de les + enregistrer dans une base de données locale, ou dans un cookie HTTP + au niveau du navigateur distant.</p> + + <p>Il peut contribuer à préserver la confidentialité des sessions + lorsque leur contenu doit rester privé pour + l'utilisateur, ou lorsqu'une protection contre les attaques de type + cross site scripting est nécessaire.</p> + + <p>Pour plus de détails à propos de l'interface des sessions, voir + la documentation du module <module>mod_session</module>.</p> + +</summary> +<seealso><module>mod_session</module></seealso> +<seealso><module>mod_session_cookie</module></seealso> +<seealso><module>mod_session_dbd</module></seealso> + + <section id="basicusage"><title>Utilisation de base</title> + + <p>Pour créer une session chiffrée et la stocker dans un cookie + nommé <var>session</var>, configurer-la comme suit :</p> + + <example><title>Session chiffrée stockée au niveau du + serveur</title> + <highlight language="config"> +Session On +SessionCookieName session path=/ +SessionCryptoPassphrase secret + </highlight> + </example> + + <p>La session sera chiffrée avec la clé spécifiée. Il est possible + de configurer plusieurs serveurs pour qu'ils puissent partager des + sessions, en s'assurant que la même clé de chiffrement est + utilisée sur chaque serveur.</p> + + <p>Si la clé de chiffrement est modifiée, les sessions seront + automatiquement invalidées.</p> + + <p>Pour des détails sur la manière dont une session peut être + utilisée pour stocker des informations de type nom + d'utilisateur/mot de passe, voir la documentation du module + <module>mod_auth_form</module>.</p> + + </section> + +<directivesynopsis> +<name>SessionCryptoDriver</name> +<description>Le pilote de chiffrement à utiliser pour chiffrer les +sessions</description> +<syntax>SessionCryptoDriver <var>nom</var> <var>[param[=valeur]]</var></syntax> +<default>none</default> +<contextlist><context>server config</context> +</contextlist> +<compatibility>Disponible depuis la version 2.3.0 +d'Apache</compatibility> + +<usage> + <p>La directive <directive>SessionCryptoDriver</directive> permet de + spécifier le nom du pilote à utiliser pour le chiffrement. Si aucun + pilote n'est spécifié, le pilote utilisé par défaut sera le pilote + recommandé compilé avec APR-util.</p> + + <p>Le pilote de chiffrement <var>NSS</var> nécessite certains + paramètres de configuration, qui seront spécifiés comme arguments de + la directive avec des valeurs optionnelles après le nom du + pilote.</p> + + <example><title>NSS sans base de données de certificats</title> + <highlight language="config"> + SessionCryptoDriver nss + </highlight> + </example> + + <example><title>NSS avec base de données de certificats</title> + <highlight language="config"> + SessionCryptoDriver nss dir=certs + </highlight> + </example> + + <example><title>NSS avec base de données de certificats et + paramètres</title> + <highlight language="config"> + SessionCryptoDriver nss dir=certs clé3=clé3.db cert7=cert7.db secmod=secmod + </highlight> + </example> + + <example><title>NSS avec chemins contenant des espaces</title> + <highlight language="config"> + SessionCryptoDriver nss "dir=My Certs" key3=key3.db cert7=cert7.db secmod=secmod + </highlight> + </example> + + <p>Le pilote de chiffrement <var>NSS</var> peut avoir été configuré + au préalable dans une autre partie du serveur, par exemple depuis + <module>mod_nss</module> ou <module>mod_ldap</module>. Si c'est le + cas, un avertissement sera enregistré dans le journal, et la + configuration existante s'en trouvera affectée. Pour éviter cet + avertissement, utilisez le paramètre noinit comme suit :</p> + + <example><title>NSS avec base de données de certificats</title> + <highlight language="config"> + SessionCryptoDriver nss noinit + </highlight> + </example> + + <p>Pour éviter la confusion, assurez-vous que tous les modules + utilisant NSS soient configurés avec des paramètres identiques.</p> + + <p>Le pilote de chiffrement <var>openssl</var> accepte un paramètre + optionnel permettant de spécifier le moteur de chiffrement à + utiliser.</p> + + <example><title>OpenSSL avec spécification du moteur de chiffrement</title> + <highlight language="config"> + SessionCryptoDriver openssl engine=nom-moteur + </highlight> + </example> + +</usage> +</directivesynopsis> + +<directivesynopsis> +<name>SessionCryptoPassphrase</name> +<description>La clé utilisée pour chiffrer la session</description> +<syntax>SessionCryptoPassphrase <var>secret</var> [ <var>secret</var> ... ] </syntax> +<default>none</default> +<contextlist><context>server config</context> +<context>virtual host</context> +<context>directory</context> +<context>.htaccess</context> +</contextlist> +<compatibility>Disponible depuis la version 2.3.0 +d'Apache</compatibility> + +<usage> + <p>La directive <directive>SessionCryptoPassphrase</directive> + permet de spécifier les clés à utiliser pour chiffrer de manière + symétrique le contenu de la session avant de l'enregistrer, ou pour + déchiffrer le contenu de la session après sa lecture.</p> + + <p>L'utilisation de clés longues et composées de caractères vraiment + aléatoires est plus performant en matière de sécurité. Modifier une + clé sur un serveur a pour effet d'invalider toutes les sessions + existantes.</p> + + <p>Il est possible de spécifier plusieurs clés afin de mettre en + oeuvre la rotation de clés. La première clé spécifiée sera utilisée + pour le chiffrement, alors que l'ensemble des clés spécifiées le + sera pour le déchiffrement. Pour effectuer une rotation périodique + des clés sur plusieurs serveurs, ajoutez une nouvelle clé en fin de + liste, puis, une fois la rotation complète effectuée, supprimez la + première clé de la liste.</p> + + <p>Depuis la version 2.4.7, si la valeur de l'argument commence par + <var>exec:</var> , la commande + spécifiée sera exécutée, et la première ligne que cette dernière + renverra sur la sortie standard sera utilisée comme clé.</p> +<example><pre> +# clé spécifiée et utilisée en tant que tel +SessionCryptoPassphrase secret + +# exécution de /path/to/program pour générer la clé +SessionCryptoPassphrase exec:/path/to/program + +# exécution de /path/to/program avec un argument pour générer la clé +SessionCryptoPassphrase "exec:/path/to/otherProgram argument1" +</pre></example> + +</usage> +</directivesynopsis> + +<directivesynopsis> +<name>SessionCryptoPassphraseFile</name> +<description>Le fichier contenant les clés utilisées pour chiffrer la +session</description> +<syntax>SessionCryptoPassphraseFile <var>nom-fichier</var></syntax> +<default>none</default> +<contextlist><context>server config</context> +<context>virtual host</context> +<context>directory</context> +</contextlist> +<compatibility>Disponible depuis la version 2.3.0 du serveur HTTP Apache</compatibility> + +<usage> + <p>La directive <directive>SessionCryptoPassphraseFile</directive> + permet de spécifier le nom d'un fichier de configuration contenant + les clés à utiliser pour le chiffrement et le déchiffrement de la + session (une clé par ligne). Le fichier est lu au démarrage du + serveur, et un redémarrage graceful est nécessaire pour prendre en + compte un éventuel changement de clés.</p> + + <p>A la différence de la directive + <directive>SessionCryptoPassphrase</directive>, les clés ne sont pas + présentes dans le fichier de configuration de httpd et peuvent être + cachées via une protection appropriée du fichier de clés.</p> + + <p>Il est possible de spécifier plusieurs clés afin de mettre en + oeuvre la rotation de clés. La première clé spécifiée sera utilisée + pour le chiffrement, alors que l'ensemble des clés spécifiées le + sera pour le déchiffrement. Pour effectuer une rotation périodique + des clés sur plusieurs serveurs, ajoutez une nouvelle clé en fin de + liste, puis, une fois la rotation complète effectuée, supprimez la + première clé de la liste.</p> + +</usage> +</directivesynopsis> + +<directivesynopsis> +<name>SessionCryptoCipher</name> +<description>L'algorithme à utiliser pour le chiffrement de la session</description> +<syntax>SessionCryptoCipher <var>algorithme</var></syntax> +<default>aes256</default> +<contextlist><context>server config</context> +<context>virtual host</context> +<context>directory</context> +<context>.htaccess</context> +</contextlist> +<compatibility>Disponible depuis la version 2.3.0 du serveur HTTP Apache</compatibility> + +<usage> + <p>La directive <directive>SessionCryptoCipher</directive> permet de + spécifier l'algorithme à utiliser pour le chiffrement. En l'absence + de spécification, l'algorithme par défaut est <code>aes256</code>.</p> + + <p>L'algorithme peut être choisi, en fonction du moteur de chiffrement + utilisé, parmi les valeurs suivantes :</p> + + <ul><li>3des192</li><li>aes128</li><li>aes192</li><li>aes256</li></ul> + +</usage> +</directivesynopsis> + +</modulesynopsis> diff --git a/docs/manual/mod/mod_session_crypto.xml.meta b/docs/manual/mod/mod_session_crypto.xml.meta index 330ec8e577..56dc35d438 100644 --- a/docs/manual/mod/mod_session_crypto.xml.meta +++ b/docs/manual/mod/mod_session_crypto.xml.meta @@ -8,5 +8,6 @@ <variants> <variant>en</variant> + <variant>fr</variant> </variants> </metafile> diff --git a/docs/manual/mod/mod_session_dbd.html b/docs/manual/mod/mod_session_dbd.html index a01d8bfa13..c4e0f5df7a 100644 --- a/docs/manual/mod/mod_session_dbd.html +++ b/docs/manual/mod/mod_session_dbd.html @@ -3,3 +3,7 @@ URI: mod_session_dbd.html.en Content-Language: en Content-type: text/html; charset=ISO-8859-1 + +URI: mod_session_dbd.html.fr +Content-Language: fr +Content-type: text/html; charset=ISO-8859-1 diff --git a/docs/manual/mod/mod_session_dbd.html.fr b/docs/manual/mod/mod_session_dbd.html.fr new file mode 100644 index 0000000000..4244a07031 --- /dev/null +++ b/docs/manual/mod/mod_session_dbd.html.fr @@ -0,0 +1,407 @@ +<?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> +<meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_session_dbd - Serveur Apache HTTP Version 2.5</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.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p> +<p class="apache">Serveur Apache HTTP Version 2.5</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.5</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Module Apache mod_session_dbd</h1> +<div class="toplang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_session_dbd.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_session_dbd.html" title="Français"> fr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Support des session basé sur DBD/SQL</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>session_dbd_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_session_dbd.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> + + <div class="warning"><h3>Avertissement</h3> + <p>Les modules de session font usage des cookies HTTP, et peuvent + à ce titre être victimes d'attaques de type Cross Site Scripting, + ou divulguer des informations à caractère privé aux clients. + Veuillez vous assurer que les risques ainsi encourus ont été pris + en compte avant d'activer le support des sessions sur votre + serveur.</p> + </div> + + <p>Ce sous-module du module <code class="module"><a href="../mod/mod_session.html">mod_session</a></code> fournit le + support du stockage des sessions utilisateur dans une base de + données SQL en utilisant le module <code class="module"><a href="../mod/mod_dbd.html">mod_dbd</a></code>.</p> + + <p>Les sessions sont soit <strong>anonymes</strong>, et la session + est alors identifiée par un UUID unique stocké dans un cookie au + niveau du navigateur, soit <strong>propres à l'utilisateur</strong>, + et le session est alors identifiée par l'identifiant de + l'utilisateur connecté.</p> + + <p>Les sessions basées sur SQL sont dissimulées au navigateur, et + permettent ainsi de préserver la confidentialité sans avoir recours + au chiffrement.</p> + + <p>Plusieurs serveurs web d'une forêt de serveurs peuvent choisir de + partager une base de données, et ainsi partager les sessions entre + eux.</p> + + <p>Pour plus de détails à propos de l'interface des sessions, voir + la documentation du module <code class="module"><a href="../mod/mod_session.html">mod_session</a></code>.</p> + +</div> +<div id="quickview"><h3>Sujets</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#dbdconfig">Configuration de DBD</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#anonymous">Sessions anonymes</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#peruser">Sessions propres à un + utilisateur</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#housekeeping">Nettoyage de la base de + données</a></li> +</ul><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#sessiondbdcookiename">SessionDBDCookieName</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sessiondbdcookiename2">SessionDBDCookieName2</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sessiondbdcookieremove">SessionDBDCookieRemove</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sessiondbddeletelabel">SessionDBDDeleteLabel</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sessiondbdinsertlabel">SessionDBDInsertLabel</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sessiondbdperuser">SessionDBDPerUser</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sessiondbdselectlabel">SessionDBDSelectLabel</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sessiondbdupdatelabel">SessionDBDUpdateLabel</a></li> +</ul> +<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_session_dbd">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_session_dbd">Signaler un bug</a></li></ul><h3>Voir aussi</h3> +<ul class="seealso"> +<li><code class="module"><a href="../mod/mod_session.html">mod_session</a></code></li> +<li><code class="module"><a href="../mod/mod_session_crypto.html">mod_session_crypto</a></code></li> +<li><code class="module"><a href="../mod/mod_session_cookie.html">mod_session_cookie</a></code></li> +<li><code class="module"><a href="../mod/mod_dbd.html">mod_dbd</a></code></li> +<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="dbdconfig" id="dbdconfig">Configuration de DBD</a></h2> + + <p>Pour que le module <code class="module"><a href="../mod/mod_session_dbd.html">mod_session_dbd</a></code> puisse être + configuré pour maintenir une session, il faut tout d'abord + configurer le module <code class="module"><a href="../mod/mod_dbd.html">mod_dbd</a></code> pour que le serveur + puisse exécuter des requêtes vers la base de données.</p> + + <p>Quatre types de requêtes sont nécessaires pour maintenir une + session, sélectionner ou mettre à jour une session existante, + insérer une nouvelle session et supprimer une session vide ou + arrivée à expiration. Ces requêtes sont configurées comme dans + l'exemple suivant :</p> + + <div class="example"><h3>Exemple de configuration de DBD</h3><pre class="prettyprint lang-config">DBDriver pgsql +DBDParams "dbname=apachesession user=apache password=xxxxx host=localhost" +DBDPrepareSQL "delete from session where key = %s" deletesession +DBDPrepareSQL "update session set value = %s, expiry = %lld, key = %s where key = %s" updatesession +DBDPrepareSQL "insert into session (value, expiry, key) values (%s, %lld, %s)" insertsession +DBDPrepareSQL "select value from session where key = %s and (expiry = 0 or expiry > %lld)" selectsession +DBDPrepareSQL "delete from session where expiry != 0 and expiry < %lld" cleansession</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="anonymous" id="anonymous">Sessions anonymes</a></h2> + + <p>Les sessions anonymes sont identifiées par un UUID unique, et + stockées dans un cookie au niveau du navigateur. Cette méthode est + similaire à celle utilisée par la plupart des serveurs + d'applications pour stocker les informations de session.</p> + + <p>Pour créer une session anonyme, la stocker dans une table de + base de donnée postgres nommée <var>apachesession</var>, et + sauvegarder l'identifiant de session dans un cookie nommé + <var>session</var>, configurez la session comme suit :</p> + + <div class="example"><h3>Session anonyme basée sur SQL</h3><pre class="prettyprint lang-config">Session On +SessionDBDCookieName session path=/</pre> +</div> + + <p>Pour plus d'exemples sur la manière dont une application CGI + peut accéder aux informations de session, voir la section exemples + de la documentation du module <code class="module"><a href="../mod/mod_session.html">mod_session</a></code>.</p> + + <p>Pour des détails sur la manière dont une session peut être + utilisée pour stocker des informations de type nom + d'utilisateur/mot de passe, voir la documentation du module + <code class="module"><a href="../mod/mod_auth_form.html">mod_auth_form</a></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="peruser" id="peruser">Sessions propres à un + utilisateur</a></h2> + + <p>Les sessions propres à un utilisateur sont identifiées par le + nom de l'utilisateur authentifié avec succès. Ceci permet + d'assurer une confidentialité optimale, car aucun traitement + externe à la session n'existe en dehors du contexte + authentifié.</p> + + <p>Les sessions propres à un utilisateur ne fonctionnent que dans + un environnement d'authentification correctement configuré, qu'il + s'agisse d'une authentification de base, à base de condensés + (digest) ou de certificats client SSL. Suite à des limitations + dues à des dépendances mutuelles, les sessions propres à un + utilisateur ne peuvent pas être utilisées pour stocker les données + d'authentification en provenance d'un module comme + <code class="module"><a href="../mod/mod_auth_form.html">mod_auth_form</a></code>.</p> + + <p>Pour créer une session propre à un utilisateur, la stocker dans + une table de base de données postgres nommée + <var>apachesession</var>, avec comme clé de session l'identifiant + utilisateur, ajoutez les lignes suivantes :</p> + + <div class="example"><h3>Session propre à un utilisateur basée sur SQL</h3><pre class="prettyprint lang-config">Session On +SessionDBDPerUser On</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="housekeeping" id="housekeeping">Nettoyage de la base de + données</a></h2> + <p>Avec le temps, la base de données va commencer à accumuler des + sessions expirées. Pour le moment, le module + <code class="module"><a href="../mod/mod_session_dbd.html">mod_session_dbd</a></code> n'est pas en mesure de gérer + automatiquement l'expiration des sessions.</p> + + <div class="warning"><h3>Avertissement</h3> + <p>L'administrateur devra mettre en oeuvre un traitement externe + via cron pour nettoyer les sessions expirées.</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="sessiondbdcookiename" id="sessiondbdcookiename">Directive</a> <a name="SessionDBDCookieName" id="SessionDBDCookieName">SessionDBDCookieName</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Nom et attributs du cookie RFC2109 qui contient +l'identifiant de session</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SessionDBDCookieName <var>nom</var> <var>attributs</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>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#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_session_dbd</td></tr> +</table> + <p>La directive <code class="directive">SessionDBDCookieName</code> permet + de spécifier le nom et les attributs optionnels d'un cookie + compatible RFC2109 qui contiendra l'identifiant de session. Les + cookies RFC2109 sont définis à l'aide de l'en-tête HTTP + <code>Set-Cookie</code>. + </p> + + <p>Une liste optionnelle d'attributs peut être spécifiée pour ce + cookie, comme dans l'exemple ci-dessous. Ces attributs sont insérés + dans le cookie tel quel, et ne sont pas interprétés par Apache. + Assurez-vous que vos attributs sont définis correctement selon la + spécification des cookies. + </p> + + <div class="example"><h3>Cookie avec attributs</h3><pre class="prettyprint lang-config">Session On +SessionDBDCookieName session path=/private;domain=example.com;httponly;secure;version=1;</pre> +</div> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="sessiondbdcookiename2" id="sessiondbdcookiename2">Directive</a> <a name="SessionDBDCookieName2" id="SessionDBDCookieName2">SessionDBDCookieName2</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Nom et attributs du cookie RFC2965 qui contient +l'identifiant de session</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SessionDBDCookieName2 <var>nom</var> <var>attributs</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>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#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_session_dbd</td></tr> +</table> + <p>La directive <code class="directive">SessionDBDCookieName2</code> permet + de spécifier le nom et les attributs optionnels d'un cookie + compatible RFC2965 qui contiendra l'identifiant de session. Les + cookies RFC2965 sont définis à l'aide de l'en-tête HTTP + <code>Set-Cookie2</code>. + </p> + + <p>Une liste optionnelle d'attributs peut être spécifiée pour ce + cookie, comme dans l'exemple ci-dessous. Ces attributs sont insérés + dans le cookie tel quel, et ne sont pas interprétés par Apache. + Assurez-vous que vos attributs sont définis correctement selon la + spécification des cookies. + </p> + + <div class="example"><h3>Cookie2 avec attributs</h3><pre class="prettyprint lang-config">Session On +SessionDBDCookieName2 session path=/private;domain=example.com;httponly;secure;version=1;</pre> +</div> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="sessiondbdcookieremove" id="sessiondbdcookieremove">Directive</a> <a name="SessionDBDCookieRemove" id="SessionDBDCookieRemove">SessionDBDCookieRemove</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Détermine si les cookies de session doivent être supprimés +des en-têtes HTTP entrants</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SessionDBDCookieRemove On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SessionDBDCookieRemove On</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_session_dbd</td></tr> +</table> + <p>La directive <code class="directive">SessionDBDCookieRemove</code> permet + de déterminer si les cookies contenant l'identifiant de session + doivent être supprimés des en-têtes pendant le traitement de la + requête.</p> + + <p>Dans le cas d'un mandataire inverse où le serveur Apache sert de + frontal à un serveur d'arrière-plan, révéler le contenu du cookie de + session à ce dernier peut conduire à une violation de la + confidentialité. A ce titre, si cette directive est définie à "on", + le cookie de session sera supprimé des en-têtes HTTP entrants.</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="sessiondbddeletelabel" id="sessiondbddeletelabel">Directive</a> <a name="SessionDBDDeleteLabel" id="SessionDBDDeleteLabel">SessionDBDDeleteLabel</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>La requête SQL à utiliser pour supprimer des sessions de la +base de données</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SessionDBDDeleteLabel <var>étiquette</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SessionDBDDeleteLabel deletesession</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_session_dbd</td></tr> +</table> + <p>La directive <code class="directive">SessionDBDDeleteLabel</code> permet + de définir l'étiquette de la requête de suppression à utiliser par + défaut pour supprimer une session vide ou expirée. Cette + étiquette doit avoir été définie au préalable via une directive + <code class="directive"><a href="../mod/mod_dbd.html#dbdpreparesql">DBDPrepareSQL</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="sessiondbdinsertlabel" id="sessiondbdinsertlabel">Directive</a> <a name="SessionDBDInsertLabel" id="SessionDBDInsertLabel">SessionDBDInsertLabel</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>La requête SQL à utiliser pour insérer des sessions dans la +base de données</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SessionDBDInsertLabel <var>étiquette</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SessionDBDInsertLabel insertsession</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_session_dbd</td></tr> +</table> + <p>La directive <code class="directive">SessionDBDInsertLabel</code> permet + de définir l'étiquette de la requête d'insertion par défaut à + charger dans une session. Cette + étiquette doit avoir été définie au préalable via une directive + <code class="directive"><a href="../mod/mod_dbd.html#dbdpreparesql">DBDPrepareSQL</a></code>.</p> + + <p>Si une tentative de mise à jour d'une session ne concerne aucun + enregistrement, c'est cette requête qui sera utilisée pour insérer + la session dans la base de données.</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="sessiondbdperuser" id="sessiondbdperuser">Directive</a> <a name="SessionDBDPerUser" id="SessionDBDPerUser">SessionDBDPerUser</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Active une session propre à un utilisateur</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SessionDBDPerUser On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SessionDBDPerUser 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#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_session_dbd</td></tr> +</table> + <p>La directive <code class="directive">SessionDBDPerUser</code> permet + d'activer une session propre à un utilisateur, dont la clé sera le + nom de l'utilisateur connecté. Si l'utilisateur n'est pas connecté, + la directive sera ignorée.</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="sessiondbdselectlabel" id="sessiondbdselectlabel">Directive</a> <a name="SessionDBDSelectLabel" id="SessionDBDSelectLabel">SessionDBDSelectLabel</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>La requête SQL à utiliser pour sélectionner des sessions +dans la base de données</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SessionDBDSelectLabel <var>étiquette</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SessionDBDSelectLabel selectsession</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_session_dbd</td></tr> +</table> + <p>La directive <code class="directive">SessionDBDSelectLabel</code> permet + de définir l'étiquette de la requête de sélection par défaut à + utiliser pour charger une session. Cette étiquette doit avoir été + définie au préalable via une directive <code class="directive"><a href="../mod/mod_dbd.html#dbdpreparesql">DBDPrepareSQL</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="sessiondbdupdatelabel" id="sessiondbdupdatelabel">Directive</a> <a name="SessionDBDUpdateLabel" id="SessionDBDUpdateLabel">SessionDBDUpdateLabel</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>La requête SQL à utiliser pour mettre à jour des sessions +préexistantes dans la base de données</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SessionDBDUpdateLabel <var>étiquette</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SessionDBDUpdateLabel updatesession</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_session_dbd</td></tr> +</table> + <p>La directive <code class="directive">SessionDBDUpdateLabel</code> permet + de définir l'étiquette de la requête de mise à jour par défaut à + charger dans une session. Cette + étiquette doit avoir été définie au préalable via une directive + <code class="directive"><a href="../mod/mod_dbd.html#dbdpreparesql">DBDPrepareSQL</a></code>.</p> + + <p>Si une tentative de mise à jour d'une session ne concerne aucun + enregistrement, c'est la requête d'insertion qui sera appelée pour + insérer la session dans la base de données. Si la base de données + supporte InsertOrUpdate, modifiez cette requête pour effectuer la + mise à jour en une seule requête au lieu de deux.</p> + + +</div> +</div> +<div class="bottomlang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_session_dbd.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_session_dbd.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/trunk/mod/mod_session_dbd.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 2017 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_session_dbd.xml.fr b/docs/manual/mod/mod_session_dbd.xml.fr new file mode 100644 index 0000000000..c58b31164a --- /dev/null +++ b/docs/manual/mod/mod_session_dbd.xml.fr @@ -0,0 +1,393 @@ +<?xml version="1.0"?> +<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd"> +<?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?> +<!-- English Revision : 1488164 --> +<!-- French translation : Lucien GENTIS --> +<!-- $LastChangedRevision: 2013060101 $ --> + +<!-- + 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_session_dbd.xml.meta"> + +<name>mod_session_dbd</name> +<description>Support des session basé sur DBD/SQL</description> +<status>Extension</status> +<sourcefile>mod_session_dbd.c</sourcefile> +<identifier>session_dbd_module</identifier> +<compatibility>Disponible depuis la version 2.3 d'Apache</compatibility> + +<summary> + <note type="warning"><title>Avertissement</title> + <p>Les modules de session font usage des cookies HTTP, et peuvent + à ce titre être victimes d'attaques de type Cross Site Scripting, + ou divulguer des informations à caractère privé aux clients. + Veuillez vous assurer que les risques ainsi encourus ont été pris + en compte avant d'activer le support des sessions sur votre + serveur.</p> + </note> + + <p>Ce sous-module du module <module>mod_session</module> fournit le + support du stockage des sessions utilisateur dans une base de + données SQL en utilisant le module <module>mod_dbd</module>.</p> + + <p>Les sessions sont soit <strong>anonymes</strong>, et la session + est alors identifiée par un UUID unique stocké dans un cookie au + niveau du navigateur, soit <strong>propres à l'utilisateur</strong>, + et le session est alors identifiée par l'identifiant de + l'utilisateur connecté.</p> + + <p>Les sessions basées sur SQL sont dissimulées au navigateur, et + permettent ainsi de préserver la confidentialité sans avoir recours + au chiffrement.</p> + + <p>Plusieurs serveurs web d'une forêt de serveurs peuvent choisir de + partager une base de données, et ainsi partager les sessions entre + eux.</p> + + <p>Pour plus de détails à propos de l'interface des sessions, voir + la documentation du module <module>mod_session</module>.</p> + +</summary> +<seealso><module>mod_session</module></seealso> +<seealso><module>mod_session_crypto</module></seealso> +<seealso><module>mod_session_cookie</module></seealso> +<seealso><module>mod_dbd</module></seealso> + + <section id="dbdconfig"><title>Configuration de DBD</title> + + <p>Pour que le module <module>mod_session_dbd</module> puisse être + configuré pour maintenir une session, il faut tout d'abord + configurer le module <module>mod_dbd</module> pour que le serveur + puisse exécuter des requêtes vers la base de données.</p> + + <p>Quatre types de requêtes sont nécessaires pour maintenir une + session, sélectionner ou mettre à jour une session existante, + insérer une nouvelle session et supprimer une session vide ou + arrivée à expiration. Ces requêtes sont configurées comme dans + l'exemple suivant :</p> + + <example><title>Exemple de configuration de DBD</title> + <highlight language="config"> +DBDriver pgsql +DBDParams "dbname=apachesession user=apache password=xxxxx host=localhost" +DBDPrepareSQL "delete from session where key = %s" deletesession +DBDPrepareSQL "update session set value = %s, expiry = %lld, key = %s where key = %s" updatesession +DBDPrepareSQL "insert into session (value, expiry, key) values (%s, %lld, %s)" insertsession +DBDPrepareSQL "select value from session where key = %s and (expiry = 0 or expiry > %lld)" selectsession +DBDPrepareSQL "delete from session where expiry != 0 and expiry < %lld" cleansession + </highlight> + </example> + + </section> + + <section id="anonymous"><title>Sessions anonymes</title> + + <p>Les sessions anonymes sont identifiées par un UUID unique, et + stockées dans un cookie au niveau du navigateur. Cette méthode est + similaire à celle utilisée par la plupart des serveurs + d'applications pour stocker les informations de session.</p> + + <p>Pour créer une session anonyme, la stocker dans une table de + base de donnée postgres nommée <var>apachesession</var>, et + sauvegarder l'identifiant de session dans un cookie nommé + <var>session</var>, configurez la session comme suit :</p> + + <example><title>Session anonyme basée sur SQL</title> + <highlight language="config"> +Session On +SessionDBDCookieName session path=/ + </highlight> + </example> + + <p>Pour plus d'exemples sur la manière dont une application CGI + peut accéder aux informations de session, voir la section exemples + de la documentation du module <module>mod_session</module>.</p> + + <p>Pour des détails sur la manière dont une session peut être + utilisée pour stocker des informations de type nom + d'utilisateur/mot de passe, voir la documentation du module + <module>mod_auth_form</module>.</p> + + </section> + + <section id="peruser"><title>Sessions propres à un + utilisateur</title> + + <p>Les sessions propres à un utilisateur sont identifiées par le + nom de l'utilisateur authentifié avec succès. Ceci permet + d'assurer une confidentialité optimale, car aucun traitement + externe à la session n'existe en dehors du contexte + authentifié.</p> + + <p>Les sessions propres à un utilisateur ne fonctionnent que dans + un environnement d'authentification correctement configuré, qu'il + s'agisse d'une authentification de base, à base de condensés + (digest) ou de certificats client SSL. Suite à des limitations + dues à des dépendances mutuelles, les sessions propres à un + utilisateur ne peuvent pas être utilisées pour stocker les données + d'authentification en provenance d'un module comme + <module>mod_auth_form</module>.</p> + + <p>Pour créer une session propre à un utilisateur, la stocker dans + une table de base de données postgres nommée + <var>apachesession</var>, avec comme clé de session l'identifiant + utilisateur, ajoutez les lignes suivantes :</p> + + <example><title>Session propre à un utilisateur basée sur SQL</title> + <highlight language="config"> +Session On +SessionDBDPerUser On + </highlight> + </example> + + </section> + + <section id="housekeeping"><title>Nettoyage de la base de + données</title> + <p>Avec le temps, la base de données va commencer à accumuler des + sessions expirées. Pour le moment, le module + <module>mod_session_dbd</module> n'est pas en mesure de gérer + automatiquement l'expiration des sessions.</p> + + <note type="warning"><title>Avertissement</title> + <p>L'administrateur devra mettre en oeuvre un traitement externe + via cron pour nettoyer les sessions expirées.</p> + </note> + + </section> + +<directivesynopsis> +<name>SessionDBDCookieName</name> +<description>Nom et attributs du cookie RFC2109 qui contient +l'identifiant de session</description> +<syntax>SessionDBDCookieName <var>nom</var> <var>attributs</var></syntax> +<default>none</default> +<contextlist><context>server config</context> +<context>virtual host</context> +<context>directory</context> +<context>.htaccess</context> +</contextlist> + +<usage> + <p>La directive <directive>SessionDBDCookieName</directive> permet + de spécifier le nom et les attributs optionnels d'un cookie + compatible RFC2109 qui contiendra l'identifiant de session. Les + cookies RFC2109 sont définis à l'aide de l'en-tête HTTP + <code>Set-Cookie</code>. + </p> + + <p>Une liste optionnelle d'attributs peut être spécifiée pour ce + cookie, comme dans l'exemple ci-dessous. Ces attributs sont insérés + dans le cookie tel quel, et ne sont pas interprétés par Apache. + Assurez-vous que vos attributs sont définis correctement selon la + spécification des cookies. + </p> + + <example><title>Cookie avec attributs</title> + <highlight language="config"> +Session On +SessionDBDCookieName session path=/private;domain=example.com;httponly;secure;version=1; + </highlight> + </example> + +</usage> +</directivesynopsis> + +<directivesynopsis> +<name>SessionDBDCookieName2</name> +<description>Nom et attributs du cookie RFC2965 qui contient +l'identifiant de session</description> +<syntax>SessionDBDCookieName2 <var>nom</var> <var>attributs</var></syntax> +<default>none</default> +<contextlist><context>server config</context> +<context>virtual host</context> +<context>directory</context> +<context>.htaccess</context> +</contextlist> + +<usage> + <p>La directive <directive>SessionDBDCookieName2</directive> permet + de spécifier le nom et les attributs optionnels d'un cookie + compatible RFC2965 qui contiendra l'identifiant de session. Les + cookies RFC2965 sont définis à l'aide de l'en-tête HTTP + <code>Set-Cookie2</code>. + </p> + + <p>Une liste optionnelle d'attributs peut être spécifiée pour ce + cookie, comme dans l'exemple ci-dessous. Ces attributs sont insérés + dans le cookie tel quel, et ne sont pas interprétés par Apache. + Assurez-vous que vos attributs sont définis correctement selon la + spécification des cookies. + </p> + + <example><title>Cookie2 avec attributs</title> + <highlight language="config"> +Session On +SessionDBDCookieName2 session path=/private;domain=example.com;httponly;secure;version=1; + </highlight> + </example> + +</usage> +</directivesynopsis> + +<directivesynopsis> +<name>SessionDBDCookieRemove</name> +<description>Détermine si les cookies de session doivent être supprimés +des en-têtes HTTP entrants</description> +<syntax>SessionDBDCookieRemove On|Off</syntax> +<default>SessionDBDCookieRemove On</default> +<contextlist><context>server config</context> +<context>virtual host</context> +<context>directory</context> +<context>.htaccess</context> +</contextlist> + +<usage> + <p>La directive <directive>SessionDBDCookieRemove</directive> permet + de déterminer si les cookies contenant l'identifiant de session + doivent être supprimés des en-têtes pendant le traitement de la + requête.</p> + + <p>Dans le cas d'un mandataire inverse où le serveur Apache sert de + frontal à un serveur d'arrière-plan, révéler le contenu du cookie de + session à ce dernier peut conduire à une violation de la + confidentialité. A ce titre, si cette directive est définie à "on", + le cookie de session sera supprimé des en-têtes HTTP entrants.</p> + +</usage> +</directivesynopsis> + +<directivesynopsis> +<name>SessionDBDPerUser</name> +<description>Active une session propre à un utilisateur</description> +<syntax>SessionDBDPerUser On|Off</syntax> +<default>SessionDBDPerUser Off</default> +<contextlist><context>server config</context> +<context>virtual host</context> +<context>directory</context> +<context>.htaccess</context> +</contextlist> + +<usage> + <p>La directive <directive>SessionDBDPerUser</directive> permet + d'activer une session propre à un utilisateur, dont la clé sera le + nom de l'utilisateur connecté. Si l'utilisateur n'est pas connecté, + la directive sera ignorée.</p> + +</usage> +</directivesynopsis> + +<directivesynopsis> +<name>SessionDBDSelectLabel</name> +<description>La requête SQL à utiliser pour sélectionner des sessions +dans la base de données</description> +<syntax>SessionDBDSelectLabel <var>étiquette</var></syntax> +<default>SessionDBDSelectLabel selectsession</default> +<contextlist><context>server config</context> +<context>virtual host</context> +<context>directory</context> +<context>.htaccess</context> +</contextlist> + +<usage> + <p>La directive <directive>SessionDBDSelectLabel</directive> permet + de définir l'étiquette de la requête de sélection par défaut à + utiliser pour charger une session. Cette étiquette doit avoir été + définie au préalable via une directive <directive + module="mod_dbd">DBDPrepareSQL</directive>.</p> + +</usage> +</directivesynopsis> + +<directivesynopsis> +<name>SessionDBDInsertLabel</name> +<description>La requête SQL à utiliser pour insérer des sessions dans la +base de données</description> +<syntax>SessionDBDInsertLabel <var>étiquette</var></syntax> +<default>SessionDBDInsertLabel insertsession</default> +<contextlist><context>server config</context> +<context>virtual host</context> +<context>directory</context> +<context>.htaccess</context> +</contextlist> + +<usage> + <p>La directive <directive>SessionDBDInsertLabel</directive> permet + de définir l'étiquette de la requête d'insertion par défaut à + charger dans une session. Cette + étiquette doit avoir été définie au préalable via une directive + <directive module="mod_dbd">DBDPrepareSQL</directive>.</p> + + <p>Si une tentative de mise à jour d'une session ne concerne aucun + enregistrement, c'est cette requête qui sera utilisée pour insérer + la session dans la base de données.</p> + +</usage> +</directivesynopsis> + +<directivesynopsis> +<name>SessionDBDUpdateLabel</name> +<description>La requête SQL à utiliser pour mettre à jour des sessions +préexistantes dans la base de données</description> +<syntax>SessionDBDUpdateLabel <var>étiquette</var></syntax> +<default>SessionDBDUpdateLabel updatesession</default> +<contextlist><context>server config</context> +<context>virtual host</context> +<context>directory</context> +<context>.htaccess</context> +</contextlist> + +<usage> + <p>La directive <directive>SessionDBDUpdateLabel</directive> permet + de définir l'étiquette de la requête de mise à jour par défaut à + charger dans une session. Cette + étiquette doit avoir été définie au préalable via une directive + <directive module="mod_dbd">DBDPrepareSQL</directive>.</p> + + <p>Si une tentative de mise à jour d'une session ne concerne aucun + enregistrement, c'est la requête d'insertion qui sera appelée pour + insérer la session dans la base de données. Si la base de données + supporte InsertOrUpdate, modifiez cette requête pour effectuer la + mise à jour en une seule requête au lieu de deux.</p> + +</usage> +</directivesynopsis> + +<directivesynopsis> +<name>SessionDBDDeleteLabel</name> +<description>La requête SQL à utiliser pour supprimer des sessions de la +base de données</description> +<syntax>SessionDBDDeleteLabel <var>étiquette</var></syntax> +<default>SessionDBDDeleteLabel deletesession</default> +<contextlist><context>server config</context> +<context>virtual host</context> +<context>directory</context> +<context>.htaccess</context> +</contextlist> + +<usage> + <p>La directive <directive>SessionDBDDeleteLabel</directive> permet + de définir l'étiquette de la requête de suppression à utiliser par + défaut pour supprimer une session vide ou expirée. Cette + étiquette doit avoir été définie au préalable via une directive + <directive module="mod_dbd">DBDPrepareSQL</directive>.</p> + +</usage> +</directivesynopsis> + +</modulesynopsis> diff --git a/docs/manual/mod/mod_session_dbd.xml.meta b/docs/manual/mod/mod_session_dbd.xml.meta index 84eaffc38b..89c4516949 100644 --- a/docs/manual/mod/mod_session_dbd.xml.meta +++ b/docs/manual/mod/mod_session_dbd.xml.meta @@ -8,5 +8,6 @@ <variants> <variant>en</variant> + <variant>fr</variant> </variants> </metafile> diff --git a/docs/manual/mod/mod_slotmem_plain.html b/docs/manual/mod/mod_slotmem_plain.html index 770594429a..d2751d4fdf 100644 --- a/docs/manual/mod/mod_slotmem_plain.html +++ b/docs/manual/mod/mod_slotmem_plain.html @@ -3,3 +3,7 @@ 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 diff --git a/docs/manual/mod/mod_slotmem_plain.html.fr b/docs/manual/mod/mod_slotmem_plain.html.fr new file mode 100644 index 0000000000..e334df8dc5 --- /dev/null +++ b/docs/manual/mod/mod_slotmem_plain.html.fr @@ -0,0 +1,128 @@ +<?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> +<meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_slotmem_plain - Serveur Apache HTTP Version 2.5</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.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p> +<p class="apache">Serveur Apache HTTP Version 2.5</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.5</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Module Apache mod_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 item 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 transfert 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 libre 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>appropriation ou allocation forcée du slot spécifié et marquage 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> +<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_slotmem_plain">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_slotmem_plain">Signaler un bug</a></li></ul><h3>Voir aussi</h3> +<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/trunk/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 2017 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_slotmem_plain.xml.fr b/docs/manual/mod/mod_slotmem_plain.xml.fr new file mode 100644 index 0000000000..1d3b213e5e --- /dev/null +++ b/docs/manual/mod/mod_slotmem_plain.xml.fr @@ -0,0 +1,91 @@ +<?xml version="1.0"?> +<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd"> +<?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?> +<!-- English Revision : 1673947 --> +<!-- French translation : Lucien GENTIS --> +<!-- $LastChangedRevision: 2015050301 $ --> + +<!-- + 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 item 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 transfert 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 libre 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>appropriation ou allocation forcée du slot spécifié et marquage 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> diff --git a/docs/manual/mod/mod_slotmem_plain.xml.meta b/docs/manual/mod/mod_slotmem_plain.xml.meta index f361b7930d..f15ceb5564 100644 --- a/docs/manual/mod/mod_slotmem_plain.xml.meta +++ b/docs/manual/mod/mod_slotmem_plain.xml.meta @@ -8,5 +8,6 @@ <variants> <variant>en</variant> + <variant>fr</variant> </variants> </metafile> diff --git a/docs/manual/mod/mod_slotmem_shm.html b/docs/manual/mod/mod_slotmem_shm.html index b4c9ca4bb1..12d155bcae 100644 --- a/docs/manual/mod/mod_slotmem_shm.html +++ b/docs/manual/mod/mod_slotmem_shm.html @@ -3,3 +3,7 @@ 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 diff --git a/docs/manual/mod/mod_slotmem_shm.html.fr b/docs/manual/mod/mod_slotmem_shm.html.fr new file mode 100644 index 0000000000..75dbae826f --- /dev/null +++ b/docs/manual/mod/mod_slotmem_shm.html.fr @@ -0,0 +1,146 @@ +<?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> +<meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_slotmem_shm - Serveur Apache HTTP Version 2.5</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.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p> +<p class="apache">Serveur Apache HTTP Version 2.5</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.5</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Module Apache mod_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 graceful ou non. Les données sont + stockées et restituées dans/à 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 lecallback 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'item 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 elle est configurée. Les valeurs possibles sont : + <dl> + <dt><code>"none"</code></dt> + <dd><code>Mémoire partagée anonyme et pas de stockage + permanent</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 transfert 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 libre 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>appropriation ou allocation forcée du slot spécifié et marquage 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> +<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_slotmem_shm">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_slotmem_shm">Signaler un bug</a></li></ul><h3>Voir aussi</h3> +<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/trunk/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 2017 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_slotmem_shm.xml.fr b/docs/manual/mod/mod_slotmem_shm.xml.fr new file mode 100644 index 0000000000..c4bdb14629 --- /dev/null +++ b/docs/manual/mod/mod_slotmem_shm.xml.fr @@ -0,0 +1,109 @@ +<?xml version="1.0"?> +<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd"> +<?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?> +<!-- English Revision : 1394079 --> +<!-- French translation : Lucien GENTIS --> +<!-- $LastChangedRevision: 2012100601 $ --> + +<!-- + 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 graceful ou non. Les données sont + stockées et restituées dans/à 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 lecallback 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'item 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 elle est configurée. Les valeurs possibles sont : + <dl> + <dt><code>"none"</code></dt> + <dd><code>Mémoire partagée anonyme et pas de stockage + permanent</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 transfert 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 libre 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>appropriation ou allocation forcée du slot spécifié et marquage 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> diff --git a/docs/manual/mod/mod_slotmem_shm.xml.meta b/docs/manual/mod/mod_slotmem_shm.xml.meta index 7cfbb9afcf..ec491332e7 100644 --- a/docs/manual/mod/mod_slotmem_shm.xml.meta +++ b/docs/manual/mod/mod_slotmem_shm.xml.meta @@ -8,5 +8,6 @@ <variants> <variant>en</variant> + <variant>fr</variant> </variants> </metafile> diff --git a/docs/manual/mod/mod_socache_dbm.html b/docs/manual/mod/mod_socache_dbm.html index 7f8f449bb6..01bfa92b6f 100644 --- a/docs/manual/mod/mod_socache_dbm.html +++ b/docs/manual/mod/mod_socache_dbm.html @@ -3,3 +3,7 @@ URI: mod_socache_dbm.html.en Content-Language: en Content-type: text/html; charset=ISO-8859-1 + +URI: mod_socache_dbm.html.fr +Content-Language: fr +Content-type: text/html; charset=ISO-8859-1 diff --git a/docs/manual/mod/mod_socache_dbm.html.fr b/docs/manual/mod/mod_socache_dbm.html.fr new file mode 100644 index 0000000000..ea0c09dd26 --- /dev/null +++ b/docs/manual/mod/mod_socache_dbm.html.fr @@ -0,0 +1,89 @@ +<?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> +<meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_socache_dbm - Serveur Apache HTTP Version 2.5</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.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p> +<p class="apache">Serveur Apache HTTP Version 2.5</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.5</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Module Apache mod_socache_dbm</h1> +<div class="toplang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_socache_dbm.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_socache_dbm.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 cache d'objets partagés basé sur DBM.</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>socache_dbm_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_socache_dbm.c</td></tr></table> +<h3>Sommaire</h3> + + <p>Le module <code>mod_socache_dbm</code> est un fournisseur de cache + d'objets partagés qui permet la création et l'accès à un cache + maintenu par une base de données DBM. + </p> + + <div class="example"><p><code> + dbm:/chemin/vers/datafile + </code></p></div> + + <p>Si le chemin spécifié n'est pas un chemin absolu, il sera relatif + au chemin défini via la directive <code class="directive"><a href="../mod/core.html#defaultruntimedir">DefaultRuntimeDir</a></code>.</p> + + <p>Vous trouverez des détails à propos des autres fournisseurs de + cache d'objets partagés <a href="../socache.html">ici</a>. + </p> + +</div> +<div id="quickview"><h3 class="directives">Directives</h3> +<p>Ce module ne fournit aucune directive.</p> +<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_socache_dbm">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_socache_dbm">Signaler un bug</a></li></ul><h3>Voir aussi</h3> +<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_socache_dbm.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_socache_dbm.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/trunk/mod/mod_socache_dbm.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 2017 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_socache_dbm.xml.fr b/docs/manual/mod/mod_socache_dbm.xml.fr new file mode 100644 index 0000000000..b30fe746ee --- /dev/null +++ b/docs/manual/mod/mod_socache_dbm.xml.fr @@ -0,0 +1,53 @@ +<?xml version="1.0"?> +<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd"> +<?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?> +<!-- English Revision : 1673947 --> +<!-- French translation : Lucien GENTIS --> +<!-- $LastChangedRevision: 2015050201 $ --> + +<!-- + 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_socache_dbm.xml.meta"> + +<name>mod_socache_dbm</name> +<description>Fournisseur de cache d'objets partagés basé sur DBM.</description> +<status>Extension</status> +<sourcefile>mod_socache_dbm.c</sourcefile> +<identifier>socache_dbm_module</identifier> + +<summary> + <p>Le module <code>mod_socache_dbm</code> est un fournisseur de cache + d'objets partagés qui permet la création et l'accès à un cache + maintenu par une base de données DBM. + </p> + + <example> + dbm:/chemin/vers/datafile + </example> + + <p>Si le chemin spécifié n'est pas un chemin absolu, il sera relatif + au chemin défini via la directive <directive + module="core">DefaultRuntimeDir</directive>.</p> + + <p>Vous trouverez des détails à propos des autres fournisseurs de + cache d'objets partagés <a href="../socache.html">ici</a>. + </p> + +</summary> + +</modulesynopsis> diff --git a/docs/manual/mod/mod_socache_dbm.xml.meta b/docs/manual/mod/mod_socache_dbm.xml.meta index 036b390f96..3c0e26b712 100644 --- a/docs/manual/mod/mod_socache_dbm.xml.meta +++ b/docs/manual/mod/mod_socache_dbm.xml.meta @@ -8,5 +8,6 @@ <variants> <variant>en</variant> + <variant>fr</variant> </variants> </metafile> diff --git a/docs/manual/mod/mod_socache_dc.html b/docs/manual/mod/mod_socache_dc.html index e898ee2a03..56074f7545 100644 --- a/docs/manual/mod/mod_socache_dc.html +++ b/docs/manual/mod/mod_socache_dc.html @@ -3,3 +3,7 @@ URI: mod_socache_dc.html.en Content-Language: en Content-type: text/html; charset=ISO-8859-1 + +URI: mod_socache_dc.html.fr +Content-Language: fr +Content-type: text/html; charset=ISO-8859-1 diff --git a/docs/manual/mod/mod_socache_dc.html.fr b/docs/manual/mod/mod_socache_dc.html.fr new file mode 100644 index 0000000000..180328f32c --- /dev/null +++ b/docs/manual/mod/mod_socache_dc.html.fr @@ -0,0 +1,83 @@ +<?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> +<meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_socache_dc - Serveur Apache HTTP Version 2.5</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.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p> +<p class="apache">Serveur Apache HTTP Version 2.5</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.5</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Module Apache mod_socache_dc</h1> +<div class="toplang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_socache_dc.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_socache_dc.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 cache d'objets partagés basé sur dc.</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>socache_dc_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_socache_dc.c</td></tr></table> +<h3>Sommaire</h3> + + <p>Le module <code class="module"><a href="../mod/mod_socache_dc.html">mod_socache_dc</a></code> est un fournisseur de cache + d'objets partagés qui permet la création et l'accès à un cache + maintenu par les bibliothèques de mise en cache de sessions + distribuées <a href="http://distcache.sourceforge.net/">distcache</a>. + </p> + + <p>Vous trouverez des détails à propos des autres fournisseurs de + cache d'objets partagés <a href="../socache.html">ici</a>. + </p> + +</div> +<div id="quickview"><h3 class="directives">Directives</h3> +<p>Ce module ne fournit aucune directive.</p> +<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_socache_dc">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_socache_dc">Signaler un bug</a></li></ul><h3>Voir aussi</h3> +<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_socache_dc.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_socache_dc.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/trunk/mod/mod_socache_dc.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 2017 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_socache_dc.xml.fr b/docs/manual/mod/mod_socache_dc.xml.fr new file mode 100644 index 0000000000..5b60a7179e --- /dev/null +++ b/docs/manual/mod/mod_socache_dc.xml.fr @@ -0,0 +1,46 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd"> +<?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?> +<!-- English Revision : 1740717 --> +<!-- French translation : Lucien GENTIS --> +<!-- $LastChangedRevision: 2016043001 $ --> + +<!-- + 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_socache_dc.xml.meta"> + +<name>mod_socache_dc</name> +<description>Fournisseur de cache d'objets partagés basé sur dc.</description> +<status>Extension</status> +<sourcefile>mod_socache_dc.c</sourcefile> +<identifier>socache_dc_module</identifier> + +<summary> + <p>Le module <module>mod_socache_dc</module> est un fournisseur de cache + d'objets partagés qui permet la création et l'accès à un cache + maintenu par les bibliothèques de mise en cache de sessions + distribuées <a href="http://distcache.sourceforge.net/">distcache</a>. + </p> + + <p>Vous trouverez des détails à propos des autres fournisseurs de + cache d'objets partagés <a href="../socache.html">ici</a>. + </p> + +</summary> + +</modulesynopsis> diff --git a/docs/manual/mod/mod_socache_dc.xml.meta b/docs/manual/mod/mod_socache_dc.xml.meta index 78c76b73a6..e1f2ad4281 100644 --- a/docs/manual/mod/mod_socache_dc.xml.meta +++ b/docs/manual/mod/mod_socache_dc.xml.meta @@ -8,5 +8,6 @@ <variants> <variant>en</variant> + <variant>fr</variant> </variants> </metafile> diff --git a/docs/manual/mod/mod_socache_memcache.html b/docs/manual/mod/mod_socache_memcache.html index 10fd3e2026..4670c895e4 100644 --- a/docs/manual/mod/mod_socache_memcache.html +++ b/docs/manual/mod/mod_socache_memcache.html @@ -3,3 +3,7 @@ URI: mod_socache_memcache.html.en Content-Language: en Content-type: text/html; charset=ISO-8859-1 + +URI: mod_socache_memcache.html.fr +Content-Language: fr +Content-type: text/html; charset=ISO-8859-1 diff --git a/docs/manual/mod/mod_socache_memcache.html.fr b/docs/manual/mod/mod_socache_memcache.html.fr new file mode 100644 index 0000000000..e9f2604ae7 --- /dev/null +++ b/docs/manual/mod/mod_socache_memcache.html.fr @@ -0,0 +1,135 @@ +<?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> +<meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_socache_memcache - Serveur Apache HTTP Version 2.5</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.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p> +<p class="apache">Serveur Apache HTTP Version 2.5</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.5</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Module Apache mod_socache_memcache</h1> +<div class="toplang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_socache_memcache.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_socache_memcache.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 cache d'objets partagés basé sur Memcache.</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>socache_memcache_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_socache_memcache.c</td></tr></table> +<h3>Sommaire</h3> + + <p>Le module <code>mod_socache_memcache</code> est un fournisseur de cache + d'objets partagés qui permet la création et l'accès à un cache + maintenu par le système de mise en cache d'objets en mémoire + distribuée à hautes performances <a href="http://memcached.org/">memcached</a>. + </p> + + <p>Cette méthode "create" du fournisseur de cache d'objets partagés + requiert une liste de spécifications hôte/port en cache mémoire + séparées par des virgules. Si vous utilisez ce fournisseur en + dans la configuration d'autres modules (comme + <code class="directive"><a href="../mod/mod_ssl.html#sslsessioncache">SSLSessionCache</a></code>), vous devez + fournir la liste des serveurs sous la forme du paramètre optionnel + "arg".</p> + + <pre class="prettyprint lang-config">SSLSessionCache memcache:memcache.example.com:12345,memcache2.example.com:12345</pre> + + + <p>Vous trouverez des détails à propos des autres fournisseurs de + cache d'objets partagés <a href="../socache.html">ici</a>. + </p> + +</div> +<div id="quickview"><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#memcacheconnttl">MemcacheConnTTL</a></li> +</ul> +<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_socache_memcache">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_socache_memcache">Signaler un bug</a></li></ul><h3>Voir aussi</h3> +<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="memcacheconnttl" id="memcacheconnttl">Directive</a> <a name="MemcacheConnTTL" id="MemcacheConnTTL">MemcacheConnTTL</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Durée de conservation des connexions inactives</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>MemcacheConnTTL <em>num[units]</em></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>MemcacheConnTTL 15s</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_socache_memcache</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.17 du serveur HTTP +Apache.</td></tr> +</table> + + <p>Définit la durée pendant laquelle les connexions + inactives avec le(s) serveur(s) memcache seront conservées + (plateformes threadées seulement).</p> + + <p>Les valeurs valides de la directive + <code class="directive">MemcacheConnTTL</code> sont des durées d'une heure + maximum. La valeur 0 signifie une absence de péremption</p> + + <div class="note"><p>L'unité par défaut pour ce délai est la seconde, mais vous + pouvez ajouter un suffixe pour spécifier une unité différente ; ms + pour milliseconde, s pour seconde, min pour minute et h pour heure.. + </p></div> + + <p>Dans les versions antérieures à 2.4.17, ce délai était codé en + dur et sa valeur était 600 microsecondes. La valeur la plus proche + de cette ancienne valeur pour la directive + <code class="directive">MemcacheConnTTL</code> est donc 1ms.</p> + + <div class="example"><pre class="prettyprint lang-config"># Définition d'un délai de 10 minutes +MemcacheConnTTL 10min +# Définition d'un délai de 60 secondes +MemcacheConnTTL 60</pre> +</div> + + +</div> +</div> +<div class="bottomlang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_socache_memcache.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_socache_memcache.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/trunk/mod/mod_socache_memcache.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 2017 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_socache_memcache.xml.fr b/docs/manual/mod/mod_socache_memcache.xml.fr new file mode 100644 index 0000000000..f7c0c1e812 --- /dev/null +++ b/docs/manual/mod/mod_socache_memcache.xml.fr @@ -0,0 +1,103 @@ +<?xml version="1.0"?> +<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd"> +<?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?> +<!-- English Revision : 1700418 --> +<!-- French translation : Lucien GENTIS --> +<!-- $LastChangedRevision: 2015091301 $ --> + +<!-- + 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_socache_memcache.xml.meta"> + +<name>mod_socache_memcache</name> +<description>Fournisseur de cache d'objets partagés basé sur Memcache.</description> +<status>Extension</status> +<sourcefile>mod_socache_memcache.c</sourcefile> +<identifier>socache_memcache_module</identifier> + +<summary> + <p>Le module <code>mod_socache_memcache</code> est un fournisseur de cache + d'objets partagés qui permet la création et l'accès à un cache + maintenu par le système de mise en cache d'objets en mémoire + distribuée à hautes performances <a + href="http://memcached.org/">memcached</a>. + </p> + + <p>Cette méthode "create" du fournisseur de cache d'objets partagés + requiert une liste de spécifications hôte/port en cache mémoire + séparées par des virgules. Si vous utilisez ce fournisseur en + dans la configuration d'autres modules (comme + <directive module="mod_ssl">SSLSessionCache</directive>), vous devez + fournir la liste des serveurs sous la forme du paramètre optionnel + "arg".</p> + + <highlight language="config"> + SSLSessionCache memcache:memcache.example.com:12345,memcache2.example.com:12345 + </highlight> + + <p>Vous trouverez des détails à propos des autres fournisseurs de + cache d'objets partagés <a href="../socache.html">ici</a>. + </p> + +</summary> + +<directivesynopsis> +<name>MemcacheConnTTL</name> +<description>Durée de conservation des connexions inactives</description> +<syntax>MemcacheConnTTL <em>num[units]</em></syntax> +<default>MemcacheConnTTL 15s</default> +<contextlist> +<context>server config</context> +<context>virtual host</context> +</contextlist> +<compatibility>Disponible à partir de la version 2.4.17 du serveur HTTP +Apache.</compatibility> + +<usage> + + <p>Définit la durée pendant laquelle les connexions + inactives avec le(s) serveur(s) memcache seront conservées + (plateformes threadées seulement).</p> + + <p>Les valeurs valides de la directive + <directive>MemcacheConnTTL</directive> sont des durées d'une heure + maximum. La valeur 0 signifie une absence de péremption</p> + + <note><p>L'unité par défaut pour ce délai est la seconde, mais vous + pouvez ajouter un suffixe pour spécifier une unité différente ; ms + pour milliseconde, s pour seconde, min pour minute et h pour heure.. + </p></note> + + <p>Dans les versions antérieures à 2.4.17, ce délai était codé en + dur et sa valeur était 600 microsecondes. La valeur la plus proche + de cette ancienne valeur pour la directive + <directive>MemcacheConnTTL</directive> est donc 1ms.</p> + + <example> + <highlight language="config"> +# Définition d'un délai de 10 minutes +MemcacheConnTTL 10min +# Définition d'un délai de 60 secondes +MemcacheConnTTL 60 + </highlight> + </example> + +</usage> +</directivesynopsis> + +</modulesynopsis> diff --git a/docs/manual/mod/mod_socache_memcache.xml.meta b/docs/manual/mod/mod_socache_memcache.xml.meta index 39453809ee..7b6d723f5b 100644 --- a/docs/manual/mod/mod_socache_memcache.xml.meta +++ b/docs/manual/mod/mod_socache_memcache.xml.meta @@ -8,5 +8,6 @@ <variants> <variant>en</variant> + <variant>fr</variant> </variants> </metafile> diff --git a/docs/manual/mod/mod_socache_shmcb.html b/docs/manual/mod/mod_socache_shmcb.html index 01249eb4f0..1fa64fc1de 100644 --- a/docs/manual/mod/mod_socache_shmcb.html +++ b/docs/manual/mod/mod_socache_shmcb.html @@ -3,3 +3,7 @@ URI: mod_socache_shmcb.html.en Content-Language: en Content-type: text/html; charset=ISO-8859-1 + +URI: mod_socache_shmcb.html.fr +Content-Language: fr +Content-type: text/html; charset=ISO-8859-1 diff --git a/docs/manual/mod/mod_socache_shmcb.html.fr b/docs/manual/mod/mod_socache_shmcb.html.fr new file mode 100644 index 0000000000..0c12ec0961 --- /dev/null +++ b/docs/manual/mod/mod_socache_shmcb.html.fr @@ -0,0 +1,90 @@ +<?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> +<meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_socache_shmcb - Serveur Apache HTTP Version 2.5</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.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p> +<p class="apache">Serveur Apache HTTP Version 2.5</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.5</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Module Apache mod_socache_shmcb</h1> +<div class="toplang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_socache_shmcb.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_socache_shmcb.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 cache d'objets partagés basé sur shmcb.</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>socache_shmcb_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_socache_shmcb.c</td></tr></table> +<h3>Sommaire</h3> + + <p>Le module <code>mod_socache_shmcb</code> est un fournisseur de cache + d'objets partagés qui permet la création et l'accès à un cache + maintenu par un tampon cyclique à hautes performances au sein d'un + segment de mémoire partagée. + </p> + + <div class="example"><p><code> + shmcb:/chemin/vers/datafile(512000) + </code></p></div> + + <p>Si le chemin spécifié n'est pas un chemin absolu, il sera relatif + au chemin défini via la directive <code class="directive"><a href="../mod/core.html#defaultruntimedir">DefaultRuntimeDir</a></code>.</p> + + <p>Vous trouverez des détails à propos des autres fournisseurs de + cache d'objets partagés <a href="../socache.html">ici</a>. + </p> + +</div> +<div id="quickview"><h3 class="directives">Directives</h3> +<p>Ce module ne fournit aucune directive.</p> +<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_socache_shmcb">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_socache_shmcb">Signaler un bug</a></li></ul><h3>Voir aussi</h3> +<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_socache_shmcb.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_socache_shmcb.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/trunk/mod/mod_socache_shmcb.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 2017 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_socache_shmcb.xml.fr b/docs/manual/mod/mod_socache_shmcb.xml.fr new file mode 100644 index 0000000000..d1c6a3289c --- /dev/null +++ b/docs/manual/mod/mod_socache_shmcb.xml.fr @@ -0,0 +1,54 @@ +<?xml version="1.0"?> +<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd"> +<?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?> +<!-- English Revision : 1673947 --> +<!-- French translation : Lucien GENTIS --> +<!-- $LastChangedRevision: 2015050201 $ --> + +<!-- + 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_socache_shmcb.xml.meta"> + +<name>mod_socache_shmcb</name> +<description>Fournisseur de cache d'objets partagés basé sur shmcb.</description> +<status>Extension</status> +<sourcefile>mod_socache_shmcb.c</sourcefile> +<identifier>socache_shmcb_module</identifier> + +<summary> + <p>Le module <code>mod_socache_shmcb</code> est un fournisseur de cache + d'objets partagés qui permet la création et l'accès à un cache + maintenu par un tampon cyclique à hautes performances au sein d'un + segment de mémoire partagée. + </p> + + <example> + shmcb:/chemin/vers/datafile(512000) + </example> + + <p>Si le chemin spécifié n'est pas un chemin absolu, il sera relatif + au chemin défini via la directive <directive + module="core">DefaultRuntimeDir</directive>.</p> + + <p>Vous trouverez des détails à propos des autres fournisseurs de + cache d'objets partagés <a href="../socache.html">ici</a>. + </p> + +</summary> + +</modulesynopsis> diff --git a/docs/manual/mod/mod_socache_shmcb.xml.meta b/docs/manual/mod/mod_socache_shmcb.xml.meta index 087e266715..ddd7d4baff 100644 --- a/docs/manual/mod/mod_socache_shmcb.xml.meta +++ b/docs/manual/mod/mod_socache_shmcb.xml.meta @@ -8,5 +8,6 @@ <variants> <variant>en</variant> + <variant>fr</variant> </variants> </metafile> diff --git a/docs/manual/mod/mod_speling.html b/docs/manual/mod/mod_speling.html index 7cc8d4ee00..8d138c2f9a 100644 --- a/docs/manual/mod/mod_speling.html +++ b/docs/manual/mod/mod_speling.html @@ -4,6 +4,10 @@ URI: mod_speling.html.en Content-Language: en Content-type: text/html; charset=ISO-8859-1 +URI: mod_speling.html.fr +Content-Language: fr +Content-type: text/html; charset=ISO-8859-1 + URI: mod_speling.html.ja.utf8 Content-Language: ja Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_speling.html.fr b/docs/manual/mod/mod_speling.html.fr new file mode 100644 index 0000000000..da47558a59 --- /dev/null +++ b/docs/manual/mod/mod_speling.html.fr @@ -0,0 +1,195 @@ +<?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> +<meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_speling - Serveur Apache HTTP Version 2.5</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.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p> +<p class="apache">Serveur Apache HTTP Version 2.5</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.5</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Module Apache mod_speling</h1> +<div class="toplang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_speling.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_speling.html" title="Français"> fr </a> | +<a href="../ja/mod/mod_speling.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_speling.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>Tente de corriger les erreurs de casse dans les URLs ou les +erreurs d'écriture mineures.</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>speling_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_speling.c</td></tr></table> +<h3>Sommaire</h3> + + + <p>Il arrive que des requêtes pour des documents ne puissent pas + être traitées par le serveur Apache de base à cause d'une erreur + d'orthographe ou de majuscule. Ce module permet de traiter ce + problème en essayant de trouver un document correspondant, même + lorsque tous les autres modules y ont renoncé. Sa méthode de travail + consiste à comparer chaque nom de document du répertoire demandé + avec le document de la requête <strong>sans tenir compte de la + casse</strong>, et en acceptant <strong>jusqu'à une erreur</strong> + (insertion, omission, inversion de caractère ou caractère + erroné). Une liste de tous les documents qui correspondent est alors + élaborée en utilisant cette stratégie.</p> + + <p>Si après le parcours du répertoire,</p> + + <ul> + <li>aucun document correspondant n'a été trouvé, Apache procèdera + normalement et renverra une erreur "document non trouvé".</li> + + <li>un seul document correspondant pratiquement à la requête a + été trouvé, celui-ci est renvoyé sous la forme d'une réponse de + redirection.</li> + + <li>plusieurs documents pouvant correspondre ont été trouvés, une + liste des documents est envoyée au client afin que ce dernier + puisse sélectionner le document correct.</li> + </ul> + +</div> +<div id="quickview"><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#checkbasenamematch">CheckBasenameMatch</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#checkcaseonly">CheckCaseOnly</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#checkspelling">CheckSpelling</a></li> +</ul> +<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_speling">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_speling">Signaler un bug</a></li></ul><h3>Voir aussi</h3> +<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="checkbasenamematch" id="checkbasenamematch">Directive</a> <a name="CheckBasenameMatch" id="CheckBasenameMatch">CheckBasenameMatch</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Vérifie aussi la correspondance des fichiers, même avec des +extensions différentes</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CheckBasenameMatch on|off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>CheckBasenameMatch 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>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_speling</td></tr> +</table> + <p>Cette option n'a aucun effet si + <code class="directive">CheckCaseOnly</code> a été défini.</p> + + <p>Lorsqu'elle est définie, cette directive étend le processus de correction + orthographique à l'extension des noms de fichiers. Par exemple, un fichier + de nom <code>foo.gif</code> sera pris en compte par une requête pour + <code>foo</code> ou <code>foo.jpg</code>. Ceci peut s'avérer + particulièrement utile en conjonction avec les <a href="../content-negotiation.html">MultiViews</a>.</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="checkcaseonly" id="checkcaseonly">Directive</a> <a name="CheckCaseOnly" id="CheckCaseOnly">CheckCaseOnly</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Limite l'action du module aux corrections de +majuscules</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CheckCaseOnly on|off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>CheckCaseOnly 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>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_speling</td></tr> +</table> + <p>Lorsqu'elle est définie à "on", cette directive permet de limiter + l'action du module aux inversions majuscule/minuscule. Les autres + corrections ne sont pas effectuées sauf si la directive + <code class="directive">CheckBasenameMatch</code> est aussi à "on"..</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="checkspelling" id="checkspelling">Directive</a> <a name="CheckSpelling" id="CheckSpelling">CheckSpelling</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Active le module de correction</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CheckSpelling on|off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>CheckSpelling 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>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_speling</td></tr> +</table> + <p>Cette directive permet d'activer ou de désactiver le module de + correction. Lorsqu'il est activé, rappelez-vous que :</p> + + <ul> + <li>le parcours du répertoire nécessaire à la correction aura un + impact sur les performances du serveur lorsque de nombreuses + corrections devront être effectuées au même moment.</li> + + <li>l'arborescence ne doit pas contenir de documents + sensibles qui pourraient être considérés par erreur comme + correspondant à la requête.</li> + + <li>le module ne corrige pas les noms d'utilisateur mal + orthographiés (comme dans + <code>http://mon.serveur/~apahce/</code>), mais seulement les noms + de fichiers ou de répertoires.</li> + + <li>les corrections s'appliquent strictement aux fichiers + existants, si bien qu'une requête pour <code><Location + /status></code> pour être traitée de manière incorrecte comme + une requête pour le fichier négocié "<code>/stats.html</code>".</li> + </ul> + + + <p>mod_speling ne doit pas être activé pour des répertoires où <a href="mod_dav.html">DAV</a> l'est aussi, car il va essayer de + "corriger" les noms des ressources nouvellement créées en fonction + des noms de fichiers existants ; par exemple, lors du chargement + d'un nouveau document <code>doc43.html</code>, il est possible qu'il + redirige vers un document existant <code>doc34.html</code>, ce qui + ne correspond pas à ce que l'on souhaite. + </p> + +</div> +</div> +<div class="bottomlang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_speling.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_speling.html" title="Français"> fr </a> | +<a href="../ja/mod/mod_speling.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_speling.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/trunk/mod/mod_speling.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 2017 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_speling.xml.fr b/docs/manual/mod/mod_speling.xml.fr new file mode 100644 index 0000000000..09327ff265 --- /dev/null +++ b/docs/manual/mod/mod_speling.xml.fr @@ -0,0 +1,167 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd"> +<?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?> +<!-- English Revision : 1732273 --> +<!-- French translation : Lucien GENTIS --> +<!-- $LastChangedRevision: 2016030501 $ --> + +<!-- + 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_speling.xml.meta"> + +<name>mod_speling</name> +<description>Tente de corriger les erreurs de casse dans les URLs ou les +erreurs d'écriture mineures.</description> +<status>Extension</status> +<sourcefile>mod_speling.c</sourcefile> +<identifier>speling_module</identifier> + + + +<summary> + + <p>Il arrive que des requêtes pour des documents ne puissent pas + être traitées par le serveur Apache de base à cause d'une erreur + d'orthographe ou de majuscule. Ce module permet de traiter ce + problème en essayant de trouver un document correspondant, même + lorsque tous les autres modules y ont renoncé. Sa méthode de travail + consiste à comparer chaque nom de document du répertoire demandé + avec le document de la requête <strong>sans tenir compte de la + casse</strong>, et en acceptant <strong>jusqu'à une erreur</strong> + (insertion, omission, inversion de caractère ou caractère + erroné). Une liste de tous les documents qui correspondent est alors + élaborée en utilisant cette stratégie.</p> + + <p>Si après le parcours du répertoire,</p> + + <ul> + <li>aucun document correspondant n'a été trouvé, Apache procèdera + normalement et renverra une erreur "document non trouvé".</li> + + <li>un seul document correspondant pratiquement à la requête a + été trouvé, celui-ci est renvoyé sous la forme d'une réponse de + redirection.</li> + + <li>plusieurs documents pouvant correspondre ont été trouvés, une + liste des documents est envoyée au client afin que ce dernier + puisse sélectionner le document correct.</li> + </ul> + +</summary> + + +<directivesynopsis> +<name>CheckSpelling</name> +<description>Active le module de correction</description> +<syntax>CheckSpelling on|off</syntax> +<default>CheckSpelling Off</default> +<contextlist> +<context>server config</context> +<context>virtual host</context> +<context>directory</context> +<context>.htaccess</context> +</contextlist> +<override>Options</override> + +<usage> + <p>Cette directive permet d'activer ou de désactiver le module de + correction. Lorsqu'il est activé, rappelez-vous que :</p> + + <ul> + <li>le parcours du répertoire nécessaire à la correction aura un + impact sur les performances du serveur lorsque de nombreuses + corrections devront être effectuées au même moment.</li> + + <li>l'arborescence ne doit pas contenir de documents + sensibles qui pourraient être considérés par erreur comme + correspondant à la requête.</li> + + <li>le module ne corrige pas les noms d'utilisateur mal + orthographiés (comme dans + <code>http://mon.serveur/~apahce/</code>), mais seulement les noms + de fichiers ou de répertoires.</li> + + <li>les corrections s'appliquent strictement aux fichiers + existants, si bien qu'une requête pour <code><Location + /status></code> pour être traitée de manière incorrecte comme + une requête pour le fichier négocié "<code>/stats.html</code>".</li> + </ul> + + <!-- XXX: is that really true?! -nd --> + <p>mod_speling ne doit pas être activé pour des répertoires où <a + href="mod_dav.html">DAV</a> l'est aussi, car il va essayer de + "corriger" les noms des ressources nouvellement créées en fonction + des noms de fichiers existants ; par exemple, lors du chargement + d'un nouveau document <code>doc43.html</code>, il est possible qu'il + redirige vers un document existant <code>doc34.html</code>, ce qui + ne correspond pas à ce que l'on souhaite. + </p> +</usage> +</directivesynopsis> + +<directivesynopsis> +<name>CheckCaseOnly</name> +<description>Limite l'action du module aux corrections de +majuscules</description> +<syntax>CheckCaseOnly on|off</syntax> +<default>CheckCaseOnly Off</default> +<contextlist> +<context>server config</context> +<context>virtual host</context> +<context>directory</context> +<context>.htaccess</context> +</contextlist> +<override>Options</override> + +<usage> + <p>Lorsqu'elle est définie à "on", cette directive permet de limiter + l'action du module aux inversions majuscule/minuscule. Les autres + corrections ne sont pas effectuées sauf si la directive + <directive>CheckBasenameMatch</directive> est aussi à "on"..</p> +</usage> +</directivesynopsis> + +<directivesynopsis> +<name>CheckBasenameMatch</name> +<description>Vérifie aussi la correspondance des fichiers, même avec des +extensions différentes</description> +<syntax>CheckBasenameMatch on|off</syntax> +<default>CheckBasenameMatch Off</default> +<contextlist> +<context>server config</context> +<context>virtual host</context> +<context>directory</context> +<context>.htaccess</context> +</contextlist> +<override>Options</override> + +<usage> + <p>Cette option n'a aucun effet si + <directive>CheckCaseOnly</directive> a été défini.</p> + + <p>Lorsqu'elle est définie, cette directive étend le processus de correction + orthographique à l'extension des noms de fichiers. Par exemple, un fichier + de nom <code>foo.gif</code> sera pris en compte par une requête pour + <code>foo</code> ou <code>foo.jpg</code>. Ceci peut s'avérer + particulièrement utile en conjonction avec les <a + href="../content-negotiation.html">MultiViews</a>.</p> + +</usage> +</directivesynopsis> + +</modulesynopsis> diff --git a/docs/manual/mod/mod_speling.xml.meta b/docs/manual/mod/mod_speling.xml.meta index 0ccab96858..2b2546b834 100644 --- a/docs/manual/mod/mod_speling.xml.meta +++ b/docs/manual/mod/mod_speling.xml.meta @@ -8,6 +8,7 @@ <variants> <variant>en</variant> + <variant>fr</variant> <variant outdated="yes">ja</variant> <variant outdated="yes">ko</variant> </variants> diff --git a/docs/manual/mod/mod_ssl.html b/docs/manual/mod/mod_ssl.html index 003e75557c..0c214798bb 100644 --- a/docs/manual/mod/mod_ssl.html +++ b/docs/manual/mod/mod_ssl.html @@ -3,3 +3,7 @@ URI: mod_ssl.html.en Content-Language: en Content-type: text/html; charset=ISO-8859-1 + +URI: mod_ssl.html.fr +Content-Language: fr +Content-type: text/html; charset=ISO-8859-1 diff --git a/docs/manual/mod/mod_ssl.html.fr b/docs/manual/mod/mod_ssl.html.fr new file mode 100644 index 0000000000..d0bb23d170 --- /dev/null +++ b/docs/manual/mod/mod_ssl.html.fr @@ -0,0 +1,3056 @@ +<?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> +<meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_ssl - Serveur Apache HTTP Version 2.5</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.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p> +<p class="apache">Serveur Apache HTTP Version 2.5</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.5</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Module Apache mod_ssl</h1> +<div class="toplang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_ssl.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_ssl.html" title="Français"> fr </a></p> +</div> +<div class="outofdate">Cette traduction peut être périmée. Vérifiez la version + anglaise pour les changements récents.</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Chiffrement de haut niveau basé sur les protocoles Secure +Sockets Layer (SSL) et Transport Layer Security (TLS)</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>ssl_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_ssl.c</td></tr></table> +<h3>Sommaire</h3> + +<p>Ce module fournit le support SSL v3 et TLS v1.x au serveur HTTP +Apache. SSL v2 n'est plus supporté.</p> + +<p>Ce module s'appuie sur <a href="http://www.openssl.org/">OpenSSL</a> +pour fournir le moteur de chiffrement.</p> + +<p>D'autres détails, discussions et exemples sont fournis dans la <a href="../ssl/">documentation SSL</a>.</p> +</div> +<div id="quickview"><h3>Sujets</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#envvars">Variables d'environnement</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#logformats">Formats de journaux +personnalisés</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#notes">Information à propos de la requête</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#expressionparser">Extension pour l'interprétation +des expressions</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#authzproviders">Fournisseurs d'autorisation +disponibles avec Require</a></li> +</ul><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#sslcacertificatefile">SSLCACertificateFile</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sslcacertificatepath">SSLCACertificatePath</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sslcadnrequestfile">SSLCADNRequestFile</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sslcadnrequestpath">SSLCADNRequestPath</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sslcarevocationcheck">SSLCARevocationCheck</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sslcarevocationfile">SSLCARevocationFile</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sslcarevocationpath">SSLCARevocationPath</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sslcertificatechainfile">SSLCertificateChainFile</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sslcertificatefile">SSLCertificateFile</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sslcertificatekeyfile">SSLCertificateKeyFile</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sslciphersuite">SSLCipherSuite</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sslcompression">SSLCompression</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sslcryptodevice">SSLCryptoDevice</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sslengine">SSLEngine</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sslfips">SSLFIPS</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sslhonorcipherorder">SSLHonorCipherOrder</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sslinsecurerenegotiation">SSLInsecureRenegotiation</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sslocspdefaultresponder">SSLOCSPDefaultResponder</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sslocspenable">SSLOCSPEnable</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sslocspoverrideresponder">SSLOCSPOverrideResponder</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sslocspproxyurl">SSLOCSPProxyURL</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sslocsprespondertimeout">SSLOCSPResponderTimeout</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sslocspresponsemaxage">SSLOCSPResponseMaxAge</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sslocspresponsetimeskew">SSLOCSPResponseTimeSkew</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sslocspuserequestnonce">SSLOCSPUseRequestNonce</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sslopensslconfcmd">SSLOpenSSLConfCmd</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#ssloptions">SSLOptions</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sslpassphrasedialog">SSLPassPhraseDialog</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sslprotocol">SSLProtocol</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sslproxycacertificatefile">SSLProxyCACertificateFile</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sslproxycacertificatepath">SSLProxyCACertificatePath</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sslproxycarevocationcheck">SSLProxyCARevocationCheck</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sslproxycarevocationfile">SSLProxyCARevocationFile</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sslproxycarevocationpath">SSLProxyCARevocationPath</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sslproxycheckpeercn">SSLProxyCheckPeerCN</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sslproxycheckpeerexpire">SSLProxyCheckPeerExpire</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sslproxycheckpeername">SSLProxyCheckPeerName</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sslproxyciphersuite">SSLProxyCipherSuite</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sslproxyengine">SSLProxyEngine</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sslproxymachinecertificatechainfile">SSLProxyMachineCertificateChainFile</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sslproxymachinecertificatefile">SSLProxyMachineCertificateFile</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sslproxymachinecertificatepath">SSLProxyMachineCertificatePath</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sslproxyprotocol">SSLProxyProtocol</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sslproxyverify">SSLProxyVerify</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sslproxyverifydepth">SSLProxyVerifyDepth</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sslrandomseed">SSLRandomSeed</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sslrenegbuffersize">SSLRenegBufferSize</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sslrequire">SSLRequire</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sslrequiressl">SSLRequireSSL</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sslsessioncache">SSLSessionCache</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sslsessioncachetimeout">SSLSessionCacheTimeout</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sslsessionticketkeyfile">SSLSessionTicketKeyFile</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sslsessiontickets">SSLSessionTickets</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sslsrpunknownuserseed">SSLSRPUnknownUserSeed</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sslsrpverifierfile">SSLSRPVerifierFile</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sslstaplingcache">SSLStaplingCache</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sslstaplingerrorcachetimeout">SSLStaplingErrorCacheTimeout</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sslstaplingfaketrylater">SSLStaplingFakeTryLater</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sslstaplingforceurl">SSLStaplingForceURL</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sslstaplingrespondertimeout">SSLStaplingResponderTimeout</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sslstaplingresponsemaxage">SSLStaplingResponseMaxAge</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sslstaplingresponsetimeskew">SSLStaplingResponseTimeSkew</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sslstaplingreturnrespondererrors">SSLStaplingReturnResponderErrors</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sslstaplingstandardcachetimeout">SSLStaplingStandardCacheTimeout</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sslstrictsnivhostcheck">SSLStrictSNIVHostCheck</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sslusername">SSLUserName</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sslusestapling">SSLUseStapling</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sslverifyclient">SSLVerifyClient</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sslverifydepth">SSLVerifyDepth</a></li> +</ul> +<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_ssl">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_ssl">Signaler un bug</a></li></ul><h3>Voir aussi</h3> +<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="envvars" id="envvars">Variables d'environnement</a></h2> + +<p>Ce module peut être configuré pour fournir aux espaces de nommage SSI +et CGI de nombreux éléments d'informations concernant SSL par le biais +de variables d'environnement supplémentaires. Par défaut, et ceci pour +des raisons de performances, ces informations ne sont pas fournies (Voir +la directive <code class="directive">SSLOptions</code> StdEnvVars ci-dessous). +Les variables générées se trouvent dans la table ci-dessous. +L'information peut aussi être disponible sous des noms différents à des +fins de compatibilité ascendante. Reportez-vous au chapitre <a href="../ssl/ssl_compat.html">Compatibilité</a> pour plus de détails à +propos des variables de compatibilité.</p> + +<table class="bordered"> + +<tr> + <th><a name="table3">Nom de la variable :</a></th> + <th>Type de valeur :</th> + <th>Description :</th> +</tr> +<tr><td><code>HTTPS</code></td> <td>drapeau</td> +<td>HTTPS est utilisé.</td></tr> +<tr><td><code>SSL_PROTOCOL</code></td> <td>chaîne</td> +<td>La version du protocole SSL (SSLv3, TLSv1, TLSv1.1, TLSv1.2)</td></tr> +<tr><td><code>SSL_SESSION_ID</code></td> <td>chaîne</td> +<td>L'identifiant de session SSL codé en hexadécimal</td></tr> +<tr><td><code>SSL_SESSION_RESUMED</code></td> <td>chaîne</td> +<td>Session SSL initiale ou reprise. Note : plusieurs requêtes peuvent +être servies dans le cadre de la même session SSL (initiale ou reprise) +si les connexions persistantes (HTTP KeepAlive) sont utilisées</td></tr> +<tr><td><code>SSL_SECURE_RENEG</code></td> <td>chaîne</td> +<td><code>true</code> si la renégociation sécurisée est supportée, +<code>false</code> dans le cas contraire</td></tr> +<tr><td><code>SSL_CIPHER</code></td> <td>chaîne</td> +<td>Le nom de l'algorithme de chiffrement</td></tr> +<tr><td><code>SSL_CIPHER_EXPORT</code></td> <td>chaîne</td> +<td><code>true</code> si l'algorithme de chiffrement est un algorithme +exporté</td></tr> +<tr><td><code>SSL_CIPHER_USEKEYSIZE</code></td> <td>nombre</td> +<td>Nombre de bits de chiffrement (réellement utilisés)</td></tr> +<tr><td><code>SSL_CIPHER_ALGKEYSIZE</code></td> <td>nombre</td> +<td>Nombre de bits de chiffrement (possible)</td></tr> +<tr><td><code>SSL_COMPRESS_METHOD</code></td> <td>chaîne</td> +<td>Méthode de compression SSL négociée</td></tr> + +<tr><td><code>SSL_VERSION_INTERFACE</code></td> <td>chaîne</td> +<td>La version du programme mod_ssl</td></tr> +<tr><td><code>SSL_VERSION_LIBRARY</code></td> <td>chaîne</td> +<td>La version du programme OpenSSL</td></tr> +<tr><td><code>SSL_CLIENT_M_VERSION</code></td> <td>chaîne</td> +<td>La version du certificat client</td></tr> +<tr><td><code>SSL_CLIENT_M_SERIAL</code></td> <td>chaîne</td> +<td>Le numéro de série du certificat client</td></tr> +<tr><td><code>SSL_CLIENT_S_DN</code></td> <td>chaîne</td> +<td>Le DN sujet du certificat client</td></tr> +<tr><td><code>SSL_CLIENT_S_DN_</code><em>x509</em></td> <td>chaîne</td> +<td>Elément du DN sujet du client</td></tr> +<tr><td><code>SSL_CLIENT_SAN_Email_</code><em>n</em></td> +<td>chaîne</td> <td>Extensions subjectAltName de type rfc822Name du certificat client</td></tr> +<tr><td><code>SSL_CLIENT_SAN_DNS_</code><em>n</em></td> <td>chaîne</td> +<td>Extensions subjectAltName de type dNSName du certificat client</td></tr> +<tr><td><code>SSL_CLIENT_SAN_OTHER_msUPN_</code><em>n</em></td> +<td>chaîne</td> <td>Extensions subjectAltName de type otherName du +certificat client, forme Microsoft du nom principal de l'utilisateur (OID 1.3.6.1.4.1.311.20.2.3)</td></tr> +<tr><td><code>SSL_CLIENT_I_DN</code></td> <td>chaîne</td> +<td>DN de l'émetteur du certificat du client</td></tr> +<tr><td><code>SSL_CLIENT_I_DN_</code><em>x509</em></td> <td>chaîne</td> +<td>Elément du DN de l'émetteur du certificat du client</td></tr> +<tr><td><code>SSL_CLIENT_V_START</code></td> <td>chaîne</td> +<td>Validité du certificat du client (date de début)</td></tr> +<tr><td><code>SSL_CLIENT_V_END</code></td> <td>chaîne</td> +<td>Validité du certificat du client (date de fin)</td></tr> +<tr><td><code>SSL_CLIENT_V_REMAIN</code></td> <td>chaîne</td> +<td>Nombre de jours avant expiration du certificat du client</td></tr> +<tr><td><code>SSL_CLIENT_A_SIG</code></td> <td>chaîne</td> +<td>Algorithme utilisé pour la signature du certificat du client</td></tr> +<tr><td><code>SSL_CLIENT_A_KEY</code></td> <td>chaîne</td> +<td>Algorithme utilisé pour la clé publique du certificat du client</td></tr> +<tr><td><code>SSL_CLIENT_CERT</code></td> <td>chaîne</td> +<td>Certificat du client au format PEM</td></tr> +<tr><td><code>SSL_CLIENT_CERT_CHAIN_</code><em>n</em></td> +<td>chaîne</td> <td>Certificats de la chaîne de certification du +client au format PEM</td></tr> +<tr><td><code>SSL_CLIENT_CERT_RFC4523_CEA</code></td> <td>chaîne</td> +<td>Numéro de série et fournisseur du certificat. Le format correspond à +celui de la CertificateExactAssertion de la RFC4523</td></tr> +<tr><td><code>SSL_CLIENT_VERIFY</code></td> <td>chaîne</td> +<td><code>NONE</code>, <code>SUCCESS</code>, <code>GENEROUS</code> ou +<code>FAILED:</code><em>raison</em></td></tr> +<tr><td><code>SSL_SERVER_M_VERSION</code></td> <td>chaîne</td> +<td>La version du certificat du serveur</td></tr> +<tr><td><code>SSL_SERVER_M_SERIAL</code></td> <td>chaîne</td> <td> + +The serial of the server certificate</td></tr> +<tr><td><code>SSL_SERVER_S_DN</code></td> <td>chaîne</td> +<td>DN sujet du certificat du serveur</td></tr> +<tr><td><code>SSL_SERVER_S_DN_</code><em>x509</em></td> <td>chaîne</td> +<td>Elément du DN sujet du certificat du serveur</td></tr> +<tr><td><code>SSL_SERVER_SAN_Email_</code><em>n</em></td> +<td>chaîne</td> <td>Extensions subjectAltName de type rfc822Name du +certificat serveur</td></tr> +<tr><td><code>SSL_CLIENT_SAN_DNS_</code><em>n</em></td> <td>chaîne</td> +<td>Extensions subjectAltName de type dNSName du certificat serveur</td></tr> +<tr><td><code>SSL_SERVER_SAN_OTHER_dnsSRV_</code><em>n</em></td> +<td>chaîne</td> <td>Extensions subjectAltName de type otherName du +certificat serveur, sous la forme SRVName (OID 1.3.6.1.5.5.7.8.7, RFC 4985)</td></tr> +<tr><td><code>SSL_SERVER_I_DN</code></td> <td>chaîne</td> +<td>DN de l'émetteur du certificat du serveur</td></tr> +<tr><td><code>SSL_SERVER_I_DN_</code><em>x509</em></td> <td>chaîne</td> +<td>Elément du DN de l'émetteur du certificat du serveur</td></tr> +<tr><td><code>SSL_SERVER_V_START</code></td> <td>chaîne</td> +<td>Validité du certificat du serveur (date de dédut)</td></tr> +<tr><td><code>SSL_SERVER_V_END</code></td> <td>chaîne</td> +<td>Validité du certificat du serveur (date de fin)</td></tr> +<tr><td><code>SSL_SERVER_A_SIG</code></td> <td>chaîne</td> +<td>Algorithme utilisé pour la signature du certificat du serveur</td></tr> +<tr><td><code>SSL_SERVER_A_KEY</code></td> <td>chaîne</td> +<td>Algorithme utilisé pour la clé publique du certificat du serveur</td></tr> +<tr><td><code>SSL_SERVER_CERT</code></td> <td>chaîne</td> +<td>Certificat du serveur au format PEM</td></tr> +<tr><td><code>SSL_SRP_USER</code></td> <td>string</td> +<td>nom d'utilisateur SRP</td></tr> +<tr><td><code>SSL_SRP_USERINFO</code></td> <td>string</td> +<td>informations sur l'utilisateur SRP</td></tr> +<tr><td><code>SSL_TLS_SNI</code></td> <td>string</td> +<td>Contenu de l'extension SNI TLS (si supporté par ClientHello)</td></tr> +</table> + +<p><em>x509</em> spécifie un élément de DN X.509 parmi +<code>C,ST,L,O,OU,CN,T,I,G,S,D,UID,Email</code>. A partir de la version +2.1 d'Apache, <em>x509</em> peut aussi comporter un suffixe numérique +<code>_n</code>. Si le DN en question comporte plusieurs attributs de +noms identiques, ce suffixe constitue un index débutant à zéro et +permettant de sélectionner un +attribut particulier. Par exemple, si le DN sujet du certificat du +serveur comporte deux champs OU, on peut utiliser +<code>SSL_SERVER_S_DN_OU_0</code> et <code>SSL_SERVER_S_DN_OU_1</code> +pour référencer chacun d'entre eux. Un nom de variable sans suffixe +<code>_n</code> est équivalent au même nom avec le suffixe +<code>_0</code>, ce qui correspond au premier attribut (ou au seul) +caractérisant le DN. +Lorsque la table d'environnement est remplie en utilisant l'option +<code>StdEnvVars</code> de la directive <code class="directive"><a href="#ssloptions">SSLOptions</a></code>, le premier attribut (ou le +seul) caractérisant le DN est enregistré avec un nom sans suffixe ; +autrement dit, aucune entrée possédant comme suffixe <code>_0</code> +n'est enregistrée.</p> + +<p>Le format des variables <em>*_DN</em> a changé depuis la version +2.3.11 d'Apache HTTPD. Voir l'option <code>LegacyDNStringFormat</code> +de la directive <code class="directive"><a href="#ssloptions">SSLOptions</a></code> pour +plus de détails.</p> + +<p><code>SSL_CLIENT_V_REMAIN</code> n'est disponible qu'à partir de la +version 2.1.</p> + +<p>Plusieurs variables d'environnement additionnelles peuvent être +utilisées dans les expressions <code class="directive">SSLRequire</code>, ou +dans les formats de journalisation personnalisés :</p> + +<div class="note"><pre>HTTP_USER_AGENT PATH_INFO AUTH_TYPE +HTTP_REFERER QUERY_STRING SERVER_SOFTWARE +HTTP_COOKIE REMOTE_HOST API_VERSION +HTTP_FORWARDED REMOTE_IDENT TIME_YEAR +HTTP_HOST IS_SUBREQ TIME_MON +HTTP_PROXY_CONNECTION DOCUMENT_ROOT TIME_DAY +HTTP_ACCEPT SERVER_ADMIN TIME_HOUR +THE_REQUEST SERVER_NAME TIME_MIN +REQUEST_FILENAME SERVER_PORT TIME_SEC +REQUEST_METHOD SERVER_PROTOCOL TIME_WDAY +REQUEST_SCHEME REMOTE_ADDR TIME +REQUEST_URI REMOTE_USER</pre></div> + +<p>Dans ces contextes, deux formats spéciaux peuvent aussi être utilisés +:</p> + +<dl> + <dt><code>ENV:<em>nom_variable</em></code></dt> + <dd>Correspond à la variable d'environnement standard + <em>nom_variable</em>.</dd> + + <dt><code>HTTP:<em>nom_en-tête</em></code></dt> + <dd>Correspond à la valeur de l'en-tête de requête dont le nom est + <em>nom_en-tête</em>.</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="logformats" id="logformats">Formats de journaux +personnalisés</a></h2> + +<p>Lorsque <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code> est compilé dans le serveur Apache +ou même chargé (en mode DSO), des fonctions supplémentaires sont +disponibles pour le <a href="mod_log_config.html#formats">Format de journal personnalisé</a> du +module <code class="module"><a href="../mod/mod_log_config.html">mod_log_config</a></code>. A ce titre, la fonction de +format d'eXtension ``<code>%{</code><em>nom-var</em><code>}x</code>'' +peut être utilisée pour présenter en extension toute variable fournie +par tout module, et en particulier celles fournies par mod_ssl et que +vous trouverez dans la table ci-dessus.</p> +<p> +A des fins de compatibilité ascendante, il existe une fonction de format +cryptographique supplémentaire +``<code>%{</code><em>nom</em><code>}c</code>''. Vous trouverez toutes +les informations à propos de cette fonction dans le chapitre <a href="../ssl/ssl_compat.html">Compatibilité</a>.</p> +<div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">CustomLog "logs/ssl_request_log" "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"</pre> +</div> +<p>Ces formats sont disponibles même si l'option <code>StdEnvVars</code> de la +directive <code class="directive"><a href="#ssloptions">SSLOptions</a></code> n'a pas été +définie.</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">Information à propos de la requête</a></h2> + +<p><code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code> enregistre des informations à propos de la +requête que l'on peut restituer dans les journaux avec la chaîne de +format <code>%{<em>nom</em>}n</code> via le module +<code class="module"><a href="../mod/mod_log_config.html">mod_log_config</a></code>.</p> + +<p>Les informations enregistrées sont les suivantes :</p> + +<dl> + <dt><code>ssl-access-forbidden</code></dt> + <dd>Cette information contient la valeur <code>1</code> si l'accès a + été refusé suite à une directive <code class="directive">SSLRequire</code> ou + <code class="directive">SSLRequireSSL</code>.</dd> + + <dt><code>ssl-secure-reneg</code></dt> + <dd>Si <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code> a été compilé avec une version + d'OpenSSL qui supporte la renégociation sécurisée, si SSL est utilisé + pour la connexion courante et si le client supporte lui aussi la + renégociation sécurisée, cette information contiendra la valeur + <code>1</code>. Si le client ne supporte pas la renégociation + sécurisée, l'information contiendra la valeur <code>0</code>. Si + <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code> n'a pas été compilé avec une version + d'OpenSSL qui supporte la renégociation sécurisée, ou si SSL n'est pas + utilisé pour la connexion courante, le contenu de l'information ne + sera pas défini.</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="expressionparser" id="expressionparser">Extension pour l'interprétation +des expressions</a></h2> + +<p>Lorsque <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code> est compilé statiquement avec +Apache, ou même chargé dynamiquement (en tant que module DSO), toute <a name="envvars">variable</a> en provenance de <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code> peut +être utilisée pour l'<a href="../expr.html">interprétation des +expression ap_expr</a>. Les variables peuvent être référencées en +utilisant la syntaxe ``<code>%{</code><em>varname</em><code>}</code>''. +A partir de la version 2.4.18, on peut aussi utiliser la syntaxe de +style <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> +``<code>%{SSL:</code><em>varname</em><code>}</code>'', ou la syntaxe de +style fonction ``<code>ssl(</code><em>varname</em><code>)</code>''.</p> +<div class="example"><h3>Exemple (en utilisant <code class="module"><a href="../mod/mod_headers.html">mod_headers</a></code>)</h3><pre class="prettyprint lang-config">Header set X-SSL-PROTOCOL "expr=%{SSL_PROTOCOL}" +Header set X-SSL-CIPHER "expr=%{SSL:SSL_CIPHER}"</pre> +</div> +<p>Cette fonctionnalité est disponible même si l'option +<code>StdEnvVars</code> de la directive <code class="directive"><a href="#ssloptions">SSLOptions</a></code> n'a pas été définie.</p> +</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="section"> +<h2><a name="authzproviders" id="authzproviders">Fournisseurs d'autorisation +disponibles avec Require</a></h2> + + <p><code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code> propose quelques fournisseurs + d'autorisation à utiliser avec la directive <code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code> du module + <code class="module"><a href="../mod/mod_authz_core.html">mod_authz_core</a></code>.</p> + + <h3><a name="reqssl" id="reqssl">Require ssl</a></h3> + + <p>Le fournisseur <code>ssl</code> refuse l'accès si une connexion + n'est pas chiffrée avec SSL. L'effet est similaire à celui de la + directive <code class="directive">SSLRequireSSL</code>.</p> + + + <pre class="prettyprint lang-config">Require ssl</pre> + + + + + + <h3><a name="reqverifyclient" id="reqverifyclient">Require ssl-verify-client</a></h3> + + <p>Le fournisseur <code>ssl</code> autorise l'accès si + l'utilisateur est authentifié via un certificat client valide. Ceci + n'a un effet que si <code>SSLVerifyClient optional</code> est actif.</p> + + <p>Dans l'exemple suivant, l'accès est autorisé si le client est + authentifié via un certificat client ou par nom d'utilisateur/mot de + passe :</p> + + <pre class="prettyprint lang-config">Require ssl-verify-client +Require valid-user</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="sslcacertificatefile" id="sslcacertificatefile">Directive</a> <a name="SSLCACertificateFile" id="SSLCACertificateFile">SSLCACertificateFile</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Fichier contenant une concaténation des certificats de CA +codés en PEM pour l'authentification des clients</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLCACertificateFile <em>chemin-fichier</em></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_ssl</td></tr> +</table> +<p> +Cette directive permet de définir le fichier <em>tout-en-un</em> où vous +pouvez rassembler les certificats des Autorités de Certification (CAs) +pour les clients auxquels vous avez à faire. On les utilise pour +l'authentification des clients. Un tel fichier contient la simple +concaténation des différents fichiers de certificats codés en PEM, par +ordre de préférence. Cette directive peut être utilisée à la place et/ou +en complément de la directive <code class="directive"><a href="#sslcacertificatepath">SSLCACertificatePath</a></code>.</p> +<div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">SSLCACertificateFile /usr/local/apache2/conf/ssl.crt/ca-bundle-client.crt</pre> +</div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="sslcacertificatepath" id="sslcacertificatepath">Directive</a> <a name="SSLCACertificatePath" id="SSLCACertificatePath">SSLCACertificatePath</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Répertoire des certificats de CA codés en PEM pour +l'authentification des clients</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLCACertificatePath <em>chemin-répertoire</em></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_ssl</td></tr> +</table> +<p> +Cette directive permet de définir le répertoire où sont stockés les +certificats des Autorités de Certification (CAs) pour les clients +auxquels vous avez à faire. On les utilise pour vérifier le certificat +du client au cours de l'authentification de ce dernier.</p> +<p> +Les fichiers de ce répertoire doivent être codés en PEM et ils sont +accédés via des noms de fichier sous forme de condensés ou hash. Il ne +suffit donc pas de placer les fichiers de certificats dans ce répertoire +: vous devez aussi créer des liens symboliques nommés +<em>valeur-de-hashage</em><code>.N</code>, et vous devez toujours vous +assurer que ce répertoire contient les liens symboliques appropriés.</p> +<div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">SSLCACertificatePath /usr/local/apache2/conf/ssl.crt/</pre> +</div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="sslcadnrequestfile" id="sslcadnrequestfile">Directive</a> <a name="SSLCADNRequestFile" id="SSLCADNRequestFile">SSLCADNRequestFile</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Fichier contenant la concaténation des certificats de CA +codés en PEM pour la définition de noms de CA acceptables</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLCADNRequestFile <em>chemin-fichier</em></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_ssl</td></tr> +</table> +<p>Lorsque mod_ssl demande un certificat client, une liste de <em>noms +d'Autorités de Certification acceptables</em> est envoyée au client au +cours de la phase d'initialisation de la connexion SSL. Le client peut +alors utiliser cette liste de noms de CA pour sélectionner un certificat +client approprié parmi ceux dont il dispose.</p> + +<p>Si aucune des directives <code class="directive"><a href="#sslcadnrequestpath">SSLCADNRequestPath</a></code> ou <code class="directive"><a href="#sslcadnrequestfile">SSLCADNRequestFile</a></code> n'est définie, la liste +de noms de CsA acceptables envoyée au client est la liste des noms de +tous les certificats de CA spécifiés par les directives <code class="directive"><a href="#sslcacertificatefile">SSLCACertificateFile</a></code> et <code class="directive"><a href="#sslcacertificatepath">SSLCACertificatePath</a></code> ; en d'autres termes, +c'est la liste des noms de CAs qui sera effectivement utilisée pour +vérifier le certificat du client.</p> + +<p>Dans certaines situations, il est utile de pouvoir envoyer +une liste de noms de CA acceptables qui diffère de la liste des CAs +effectivement utilisés pour vérifier le certificat du client ; +considérons par exemple le cas où le certificat du client est signé par +des CAs intermédiaires. On peut ici utiliser les directives <code class="directive"><a href="#sslcadnrequestpath">SSLCADNRequestPath</a></code> et/ou <code class="directive"><a href="#sslcadnrequestfile">SSLCADNRequestFile</a></code>, et les noms de CA +acceptables seront alors extraits de l'ensemble des certificats contenus +dans le répertoire et/ou le fichier définis par cette paire de +directives.</p> + +<p><code class="directive"><a href="#sslcadnrequestfile">SSLCADNRequestFile</a></code> doit +spécifier un fichier <em>tou-en-un</em> contenant une concaténation des +certificats de CA codés en PEM.</p> + +<div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">SSLCADNRequestFile /usr/local/apache2/conf/ca-names.crt</pre> +</div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="sslcadnrequestpath" id="sslcadnrequestpath">Directive</a> <a name="SSLCADNRequestPath" id="SSLCADNRequestPath">SSLCADNRequestPath</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Répertoire contenant des fichiers de certificats de CA +codés en PEM pour la définition de noms de CA acceptables</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLCADNRequestPath <em>chemin-répertoire</em></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_ssl</td></tr> +</table> + +<p>Cette directive optionnelle permet de définir la liste de <em>noms de +CAs acceptables</em> qui sera envoyée au client lorsqu'un certificat de +client est demandé. Voir la directive <code class="directive"><a href="#sslcadnrequestfile">SSLCADNRequestFile</a></code> pour plus de +détails.</p> + +<p>Les fichiers de ce répertoire doivent être codés en PEM et ils sont +accédés via des noms de fichier sous forme de condensés ou hash. Il ne +suffit donc pas de placer les fichiers de certificats dans ce répertoire +: vous devez aussi créer des liens symboliques nommés +<em>valeur-de-hashage</em><code>.N</code>, et vous devez toujours vous +assurer que ce répertoire contient les liens symboliques appropriés.</p> +<div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">SSLCADNRequestPath /usr/local/apache2/conf/ca-names.crt/</pre> +</div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="sslcarevocationcheck" id="sslcarevocationcheck">Directive</a> <a name="SSLCARevocationCheck" id="SSLCARevocationCheck">SSLCARevocationCheck</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Active la vérification des révocations basée sur les CRL</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLCARevocationCheck chain|leaf|none <em>flag</em>s</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SSLCARevocationCheck 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_ssl</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Le paramètre optionnel <em>flag</em>s est disponible à partir de +la version 2.5 du serveur HTTP Apache</td></tr> +</table> +<p> +Active la vérification des révocations basée sur les Listes de +Révocations de Certificats (CRL). Au moins une des directives <code class="directive"><a href="#sslcarevocationfile">SSLCARevocationFile</a></code> ou <code class="directive"><a href="#sslcarevocationpath">SSLCARevocationPath</a></code> doit être définie. +Lorsque cette directive est définie à <code>chain</code> (valeur +recommandée), les vérifications CRL sont effectuées sur tous les +certificats de la chaîne, alors que la valeur <code>leaf</code> limite +la vérification au certificat hors chaîne (la feuille). +</p> +<div class="note"> +<h3>Lorsque la directive est définie à <code>chain</code> ou +<code>leaf</code>, les CRLs doivent être disponibles pour que la +validation réussisse</h3> +<p> +Avant la version 2.3.15, les vérifications CRL dans mod_ssl +réussissaient même si aucune CRL n'était trouvée dans les chemins +définis par les directives <code class="directive"><a href="#sslcarevocationfile">SSLCARevocationFile</a></code> ou <code class="directive"><a href="#sslcarevocationpath">SSLCARevocationPath</a></code>. Le comportement a +changé avec l'introduction de cette directive : lorsque la vérification +est activée, les CRLs <em>doivent</em> être présentes pour que la +validation réussisse ; dans le cas contraire, elle échouera avec une +erreur <code>"CRL introuvable"</code>. +</p> +</div> + +<p>Les <em>drapeau</em>x disponibles sont :</p> +<ul> +<li><code>no_crl_for_cert_ok</code> + <p> + Avant la version 2.3.15, les vérifications CRL dans mod_ssl +réussissaient même si aucune CRL pour le/les certificat(s) vérifié(s) n'était +trouvée dans les chemins définis par les directives <code class="directive"><a href="#sslcarevocationfile">SSLCARevocationFile</a></code> ou <code class="directive"><a href="#sslcarevocationpath">SSLCARevocationPath</a></code>. + </p> + <p> + Ce comportement a changé avec l'introduction de cette directive ; par défaut + avec <code>chain</code> ou <code>leaf</code>, les CRLs doivent être présents + pour que la validation réussisse ; si ce n'est pas le cas, elle échouera + avec une erreur <code>"unable to get certificate CRL"</code>. + </p> + <p> + Le <em>drapeau</em> <code>no_crl_for_cert_ok</code> permet de rétablir le + comportement précédent. + </p> +</li> +</ul> + +<div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">SSLCARevocationCheck chain</pre> +</div> +<div class="example"><h3>Compatibilité avec les versions 2.2</h3><pre class="prettyprint lang-config">SSLCARevocationCheck chain no_crl_for_cert_ok</pre> +</div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="sslcarevocationfile" id="sslcarevocationfile">Directive</a> <a name="SSLCARevocationFile" id="SSLCARevocationFile">SSLCARevocationFile</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Fichier contenant la concaténation des CRLs des CA codés en +PEM pour l'authentification des clients</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLCARevocationFile <em>chemin-fichier</em></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_ssl</td></tr> +</table> +<p> +Cette directive permet de définir le fichier <em>tout-en-un</em> où sont +rassemblées les Listes de Révocation de Certificats (CRLs) des Autorités +de certification (CAs) pour les clients auxquels vous avez à faire. On +les utilise pour l'authentification des clients. Un tel fichier contient +la simple concaténation des différents fichiers de CRLs codés en PEM, +dans l'ordre de préférence. Cette directive peut être utilisée à la +place et/ou en complément de la directive <code class="directive"><a href="#sslcarevocationpath">SSLCARevocationPath</a></code>.</p> +<div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">SSLCARevocationFile /usr/local/apache2/conf/ssl.crl/ca-bundle-client.crl</pre> +</div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="sslcarevocationpath" id="sslcarevocationpath">Directive</a> <a name="SSLCARevocationPath" id="SSLCARevocationPath">SSLCARevocationPath</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Répertoire des CRLs de CA codés en PEM pour +l'authentification des clients</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLCARevocationPath <em>chemin-répertoire</em></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_ssl</td></tr> +</table> +<p> +Cette directive permet de définir le répertoire où sont stockées les +Listes de Révocation de Certificats (CRL) des Autorités de Certification +(CAs) pour les clients auxquels vous avez à faire. On les utilise pour +révoquer les certificats des clients au cours de l'authentification de +ces derniers.</p> +<p> +Les fichiers de ce répertoire doivent être codés en PEM et ils sont +accédés via des noms de fichier sous forme de condensés ou hash. Il ne +suffit donc pas de placer les fichiers de CRL dans ce répertoire +: vous devez aussi créer des liens symboliques nommés +<em>valeur-de-hashage</em><code>.N</code>, et vous devez toujours vous +assurer que ce répertoire contient les liens symboliques appropriés.</p> +<div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">SSLCARevocationPath /usr/local/apache2/conf/ssl.crl/</pre> +</div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="sslcertificatechainfile" id="sslcertificatechainfile">Directive</a> <a name="SSLCertificateChainFile" id="SSLCertificateChainFile">SSLCertificateChainFile</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Fichier contenant les certificats de CA du serveur codés en +PEM</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLCertificateChainFile <em>chemin-fichier</em></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_ssl</td></tr> +</table> +<div class="note"><h3>SSLCertificateChainFile est obsolète</h3> +<p><code>SSLCertificateChainFile</code> est devenue obsolète avec la +version 2.4.8, lorsque la directive +<code class="directive"><a href="#sslcertificatefile">SSLCertificateFile</a></code> a été étendue +pour supporter aussi les certificats de CA intermédiaires dans le +fichier de certificats du serveur.</p> +</div> + +<p> +Cette directive permet de définir le fichier optionnel +<em>tout-en-un</em> où vous pouvez rassembler les certificats des +Autorités de Certification (CA) qui forment la chaîne de certification +du certificat du serveur. Cette chaîne débute par le certificat de la CA +qui a délivré le certificat du serveur et peut remonter jusqu'au +certificat de la CA racine. Un tel fichier contient la simple +concaténation des différents certificats de CA codés en PEM, en général +dans l'ordre de la chaîne de certification.</p> +<p>Elle doit être utilisée à la place et/ou en complément de la +directive <code class="directive"><a href="#sslcacertificatepath">SSLCACertificatePath</a></code> +pour construire explicitement la chaîne de certification du serveur qui +est envoyée au navigateur en plus du certificat du serveur. Elle s'avère +particulièrement utile pour éviter les conflits avec les certificats de +CA lorsqu'on utilise l'authentification du client. Comme le fait de +placer un certificat de CA de la chaîne de certification du serveur dans +la directive <code class="directive"><a href="#sslcacertificatepath">SSLCACertificatePath</a></code> produit le même effet +pour la construction de la chaîne de certification, cette directive a +pour effet colatéral de faire accepter les certificats clients fournis +par cette même CA, au cours de l'authentification du client.</p> +<p> +Soyez cependant prudent : fournir la chaîne de certification ne +fonctionne que si vous utilisez un <em>simple</em> certificat de +serveur RSA <em>ou</em> DSA. Si vous utilisez une paire de certificats +couplés RSA+DSA , cela ne fonctionnera que si les deux certificats +utilisent vraiment <em>la même</em> chaîne de certification. Dans le cas +contraire, la confusion risque de s'installer au niveau des +navigateurs.</p> +<div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">SSLCertificateChainFile /usr/local/apache2/conf/ssl.crt/ca.crt</pre> +</div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="sslcertificatefile" id="sslcertificatefile">Directive</a> <a name="SSLCertificateFile" id="SSLCertificateFile">SSLCertificateFile</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Fichier de données contenant les informations de certificat X.509 du serveur +codées au format PEM</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLCertificateFile <em>chemin-fichier</em></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_ssl</td></tr> +</table> +<p> +Cette directive permet de définir le fichier de données contenant +les informations de certificat +X.509 du serveur codées au format PEM. Ce fichier doit contenir +au minimum un certificat d'entité finale (feuille). +La directive peut être utilisée plusieurs fois (elle référence des +fichiers différents) pour accepter plusieurs algorithmes +d'authentification au niveau du serveur - souvent RSA, DSA et ECC. Le +nombre d'algorithmes supportés dépend de la version d'OpenSSL utilisée +avec mod_ssl : à partir de la version 1.0.0, la commande <code>openssl +list-public-key-algorithms</code> affiche la liste des algorithmes +supportés. Voir aussi la note ci-dessous à propos des limitations des versions +d'OpenSSL antérieures à 1.0.2 et la manière de les contourner. +</p> + +<p>Les fichiers peuvent aussi contenir des certificats de CA +intermédiaires triés depuis la feuille vers la racine. Cette +fonctionnalité est disponible depuis la version 2.4.8 du serveur HTTP +Apache, et rend obsolète la directive <code class="directive"><a href="#sslcertificatechainfile">SSLCertificateChainFile</a></code>. A partir de la +version 1.0.2 d'OpenSSL, il est alors possible de configurer la chaîne +de certification en fonction du certificat.</p> + +<p>Depuis la version 2.4.7 du serveur HTTP Apache, on peut aussi ajouter +des paramètres DH personnalisés et un nom EC +curve pour les clés éphémères à la fin du premier fichier défini par la +directive <code class="directive"><a href="#sslcertificatefile">SSLCertificateFile</a></code>. +Ces paramètres peuvent être générés avec les commandes <code>openssl +dhparam</code> et <code>openssl ecparam</code>, et ils peuvent être +ajoutés tel quel à la fin du premier fichier de certificat. En effet, +seul le premier fichier de certificat défini peut être utilisé pour +enregistrer des paramètres personnalisés, car ces derniers s'appliquent +indépendamment de l'algorithme d'authentification utilisé. +</p> + +<p>Enfin, il est aussi possible d'ajouter la clé privée du certificat de +l'entité finale au fichier de certificat, ce qui permet de se passer +d'une directive <code class="directive"><a href="#sslcertificatekeyfile">SSLCertificateKeyFile</a></code> séparée. Cette +pratique est cependant fortement déconseillée. En effet, les fichiers de +certificats qui contiennent de tels clés embarquées doivent être définis +avant les certificats en utilisant un fichier de clé séparé. En outre, +si la clé est chiffrée, une boîte de dialogue pour entrer le mot de +passe de la clé s'ouvre au démarrage du serveur. +</p> + +<div class="note"> +<h3>Interopérabilité des paramètres DH avec les nombres premiers de +plus de 1024 bits</h3> +<p> +Depuis la version 2.4.7, mod_ssl utilise des +paramètres DH standardisés avec des nombres premiers de 2048, 3072 et +4096 bits, et avec des nombres premiers de 6144 et 8192 bits depuis la +version 2.4.10 (voir <a href="http://www.ietf.org/rfc/rfc3526.txt">RFC +3526</a>), et les fournit aux clients en fonction de la longueur de la +clé du certificat RSA/DSA. En particulier avec les clients basés sur +Java (versions 7 et antérieures), ceci peut provoquer des erreurs au +cours de la négociation - voir cette <a href="../ssl/ssl_faq.html#javadh">réponse de la FAQ SSL</a> pour +contourner les problèmes de ce genre. +</p> +</div> + +<div class="note"> +<h3>Paramètres DH par défaut lorsqu'on utilise plusieurs certificats et une +version d'OpenSSL antérieure à 1.0.2.</h3> +<p> +Lorsqu'on utilise plusieurs certificats pour supporter différents algorithmes +d'authentification (comme RSA, DSA, mais principalement ECC) et une +version d'OpenSSL antérieure à 1.0.2, il est recommandé soit d'utiliser des +paramètres DH spécifiques (solution à privilégier) en les ajoutant au premier +fichier certificat (comme décrit ci-dessus), soit d'ordonner les directives +<code class="directive">SSLCertificateFile</code> de façon à ce que les certificats +RSA/DSA soit placés <strong>après</strong> les certificats ECC. +</p> +<p> +Cette limitation est présente dans les anciennes versions d'OpenSSL qui +présentent toujours le dernier certificat configuré, au lieu +de laisser le serveur HTTP Apache déterminer le certificat sélectionné lors de +la phase de négociation de la connexion (lorsque les paramètres DH doivent être +envoyés à l'hôte distant). +De ce fait, le serveur peut sélectionner des paramètres DH par défaut basés sur +la longueur de la clé du mauvais certificat (les clés ECC sont beaucoup plus +petites que les clés RSA/DSA et leur longueur n'est pas pertinente pour la +sélection des nombres premiers DH). +</p> +<p> +Ce problème peut être résolu en créant et configurant des paramètres DH +spécifiques (comme décrit ci-dessus), car ils l'emportent toujours sur les +paramètres DH par défaut, et vous pourrez ainsi utiliser une longueur spécifique +et appropriée. +</p> +</div> + +<div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">SSLCertificateFile /usr/local/apache2/conf/ssl.crt/server.crt</pre> +</div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="sslcertificatekeyfile" id="sslcertificatekeyfile">Directive</a> <a name="SSLCertificateKeyFile" id="SSLCertificateKeyFile">SSLCertificateKeyFile</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Fichier contenant la clé privée du serveur codée en +PEM</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLCertificateKeyFile <em>chemin-fichier</em></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_ssl</td></tr> +</table> +<p> +Cette directive permet de définir le fichier contenant la clé privée du +serveur codée en PEM. Si la clé privée est +chiffrée, une boîte de dialogue demandant le mot de passe de cette +dernière s'ouvre au démarrage du serveur.</p> + +<p> +Cette directive peut être utilisée plusieurs fois pour référencer +différents noms de fichiers, afin de supporter plusieurs algorithmes +pour l'authentification du serveur. A chaque directive <code class="directive"><a href="#sslcertificatekeyfile">SSLCertificateKeyFile</a></code> doit être associée +une directive <code class="directive">SSLCertificateFile</code> correspondante.</p> + +<p> +La clé privé peut aussi être ajoutée au fichier défini par la directive +<code class="directive"><a href="#sslcertificatefile">SSLCertificateFile</a></code>, mais cette +pratique est fortement déconseillée. En effet, les fichiers de +certificats qui comportent une telle clé doivent être définis après les +certificats en utilisant un fichier de clé séparé.</p> + +<div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">SSLCertificateKeyFile /usr/local/apache2/conf/ssl.key/server.key</pre> +</div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="sslciphersuite" id="sslciphersuite">Directive</a> <a name="SSLCipherSuite" id="SSLCipherSuite">SSLCipherSuite</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Algorithmes de chiffrement disponibles pour la négociation +au cours de l'initialisation de la connexion SSL</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLCipherSuite <em>algorithmes</em></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SSLCipherSuite DEFAULT (dépend de la version d'OpenSSL +installée)</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>AuthConfig</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_ssl</td></tr> +</table> +<p> +Cette directive complexe utilise la chaîne <em>algorithmes</em> +contenant la liste des algorithmes de chiffrement OpenSSL que le client +peut utiliser au cours de la phase d'initialisation de la connexion SSL. +Notez que cette directive peut être utilisée aussi bien dans un contexte +de serveur que dans un contexte de répertoire. Dans un contexte de +serveur, elle s'applique à l'initialisation SSL standard lorsqu'une +connexion est établie. Dans un contexte de répertoire, elle force une +renégociation SSL avec la liste d'algorithmes de chiffrement spécifiée +après la lecture d'une requête HTTP, mais avant l'envoi de la réponse +HTTP.</p> +<p> +La liste d'algorithmes de chiffrement SSL spécifiée par l'argument +<em>algorithmes</em> comporte quatre attributs principaux auxquels +s'ajoutent quelques attributs secondaires :</p> +<ul> +<li><em>Algorithme d'échange de clés</em>:<br /> + RSA, Diffie-Hellman, Elliptic Curve Diffie-Hellman, Secure Remote Password. +</li> +<li><em>Algorithme d'authentification</em>:<br /> + RSA, Diffie-Hellman, DSS, ECDSA, ou none. +</li> +<li><em>Algorithme de chiffrement</em>:<br /> + AES, DES, Triple-DES, RC4, RC2, IDEA, etc... +</li> +<li><em>Algorithme de condensé MAC</em>:<br /> + MD5, SHA ou SHA1, SHA256, SHA384. +</li> +</ul> +<p>L'algorithme de chiffrement peut aussi provenir de l'extérieur. Les +algorithmes SSLv2 ne sont plus supportés. +Pour définir les algorithmes à utiliser, on +peut soit spécifier tous les algorithmes à la fois, soit utiliser des +alias pour spécifier une liste d'algorithmes dans leur ordre de +préférence (voir <a href="#table1">Table 1</a>). Les algorithmes et +alias effectivement disponibles dépendent de la version d'openssl +utilisée. Les versions ultérieures d'openssl sont susceptibles d'inclure +des algorithmes supplémentaires.</p> + +<table class="bordered"> + +<tr><th><a name="table1">Symbole</a></th> <th>Description</th></tr> +<tr><td colspan="2"><em>Algorithme d'échange de clés :</em></td></tr> +<tr><td><code>kRSA</code></td> <td>Echange de clés RSA</td></tr> +<tr><td><code>kDHr</code></td> <td>Echange de clés Diffie-Hellman avec +clé RSA</td></tr> +<tr><td><code>kDHd</code></td> <td>Echange de clés Diffie-Hellman avec +clé DSA</td></tr> +<tr><td><code>kEDH</code></td> <td>Echange de clés Diffie-Hellman +temporaires (pas de certificat)</td> </tr> +<tr><td><code>kSRP</code></td> <td>échange de clés avec mot de passe +distant sécurisé (SRP)</td></tr> +<tr><td colspan="2"><em>Algorithmes d'authentification :</em></td></tr> +<tr><td><code>aNULL</code></td> <td>Pas d'authentification</td></tr> +<tr><td><code>aRSA</code></td> <td>Authentification RSA</td></tr> +<tr><td><code>aDSS</code></td> <td>Authentification DSS</td> </tr> +<tr><td><code>aDH</code></td> <td>Authentification Diffie-Hellman</td></tr> +<tr><td colspan="2"><em>Algorithmes de chiffrement :</em></td></tr> +<tr><td><code>eNULL</code></td> <td>Pas de chiffrement</td> </tr> +<tr><td><code>NULL</code></td> <td>alias pour eNULL</td> </tr> +<tr><td><code>AES</code></td> <td>Chiffrement AES</td> </tr> +<tr><td><code>DES</code></td> <td>Chiffrement DES</td> </tr> +<tr><td><code>3DES</code></td> <td>Chiffrement Triple-DES</td> </tr> +<tr><td><code>RC4</code></td> <td>Chiffrement RC4</td> </tr> +<tr><td><code>RC2</code></td> <td>Chiffrement RC2</td> </tr> +<tr><td><code>IDEA</code></td> <td>Chiffrement IDEA</td> </tr> +<tr><td colspan="2"><em>Algorithmes de condensés MAC </em>:</td></tr> +<tr><td><code>MD5</code></td> <td>Fonction de hashage MD5</td></tr> +<tr><td><code>SHA1</code></td> <td>Fonction de hashage SHA1</td></tr> +<tr><td><code>SHA</code></td> <td>alias pour SHA1</td> </tr> +<tr><td><code>SHA256</code></td> <td>Fonction de hashage SHA256</td> </tr> +<tr><td><code>SHA384</code></td> <td>Fonction de hashage SHA384</td> </tr> +<tr><td colspan="2"><em>Alias :</em></td></tr> +<tr><td><code>SSLv3</code></td> <td>tous les algorithmes de chiffrement +SSL version 3.0</td> </tr> +<tr><td><code>TLSv1</code></td> <td>tous les algorithmes de chiffrement +TLS version 1.0</td> </tr> +<tr><td><code>EXP</code></td> <td>tous les algorithmes de chiffrement +externes</td> </tr> +<tr><td><code>EXPORT40</code></td> <td>tous les algorithmes de chiffrement +externes limités à 40 bits</td> </tr> +<tr><td><code>EXPORT56</code></td> <td>tous les algorithmes de chiffrement +externes limités à 56 bits</td> </tr> +<tr><td><code>LOW</code></td> <td>tous les algorithmes de chiffrement +faibles (non externes, DES simple)</td></tr> +<tr><td><code>MEDIUM</code></td> <td>tous les algorithmes avec +chiffrement 128 bits</td> </tr> +<tr><td><code>HIGH</code></td> <td>tous les algorithmes +utilisant Triple-DES</td> </tr> +<tr><td><code>RSA</code></td> <td>tous les algorithmes +utilisant l'échange de clés RSA</td> </tr> +<tr><td><code>DH</code></td> <td>tous les algorithmes +utilisant l'échange de clés Diffie-Hellman</td> </tr> +<tr><td><code>EDH</code></td> <td>tous les algorithmes +utilisant l'échange de clés Diffie-Hellman temporaires</td> </tr> +<tr><td><code>ECDH</code></td> <td>Echange de clés Elliptic Curve Diffie-Hellman</td> </tr> +<tr><td><code>ADH</code></td> <td>tous les algorithmes +utilisant l'échange de clés Diffie-Hellman anonymes</td> </tr> +<tr><td><code>AECDH</code></td> <td>tous les algorithmes utilisant +l'échange de clés Elliptic Curve Diffie-Hellman</td> </tr> +<tr><td><code>SRP</code></td> <td>tous les algorithmes utilisant +l'échange de clés avec mot de passe distant sécurisé (SRP)</td> </tr> +<tr><td><code>DSS</code></td> <td>tous les algorithmes +utilisant l'authentification DSS</td> </tr> +<tr><td><code>ECDSA</code></td> <td>tous les algorithmes utilisant +l'authentification ECDSA</td> </tr> +<tr><td><code>aNULL</code></td> <td>tous les algorithmes n'utilisant +aucune authentification</td> </tr> +</table> +<p> +Cela devient intéressant lorsque tous ces symboles sont combinés +ensemble pour spécifier les algorithmes disponibles et l'ordre dans +lequel vous voulez les utiliser. Pour simplifier tout cela, vous +disposez aussi d'alias (<code>SSLv3, TLSv1, EXP, LOW, MEDIUM, +HIGH</code>) pour certains groupes d'algorithmes. Ces symboles peuvent +être reliés par des préfixes pour former la chaîne <em>algorithmes</em>. +Les préfixes disponibles sont :</p> +<ul> +<li>none: ajoute l'algorithme à la liste</li> +<li><code>+</code>: déplace les algorithmes qui conviennent à la +place courante dans la liste</li> +<li><code>-</code>: supprime l'algorithme de la liste (peut être rajouté +plus tard)</li> +<li><code>!</code>: supprime définitivement l'algorithme de la liste (ne +peut <strong>plus</strong> y être rajouté plus tard)</li> +</ul> + +<div class="note"> +<h3>Les algorithmes <code>aNULL</code>, <code>eNULL</code> et +<code>EXP</code> sont toujours désactivés</h3> +<p>Depuis la version 2.4.7, les +algorithmes de type null ou destinés à l'exportation sont toujours +désactivés car mod_ssl ajoute obligatoirement +<code>!aNULL:!eNULL:!EXP</code> à toute chaîne d'algorithme de +chiffrement à l'initialisation.</p> +</div> + +<p>Pour vous simplifier la vie, vous pouvez utiliser la commande +``<code>openssl ciphers -v</code>'' qui vous fournit un moyen simple de +créer la chaîne <em>algorithmes</em> avec succès. La chaîne +<em>algorithmes</em> par défaut dépend de la version des bibliothèques +SSL installées. Supposons qu'elle contienne +``<code>RC4-SHA:AES128-SHA:HIGH:MEDIUM:!aNULL:!MD5</code>'', ce qui +stipule de mettre <code>RC4-SHA</code> et <code>AES128-SHA</code> en +premiers, car ces algorithmes présentent un bon compromis entre vitesse +et sécurité. Viennent ensuite les algorithmes de sécurité élevée et +moyenne. En fin de compte, les algorithmes qui n'offrent aucune +authentification sont exclus, comme les algorithmes anonymes +Diffie-Hellman pour SSL, ainsi que tous les algorithmes qui utilisent +<code>MD5</code> pour le hashage, car celui-ci est reconnu comme +insuffisant.</p> +<div class="example"><pre>$ openssl ciphers -v 'RC4-SHA:AES128-SHA:HIGH:MEDIUM:!aNULL:!MD5' +RC4-SHA SSLv3 Kx=RSA Au=RSA Enc=RC4(128) Mac=SHA1 +AES128-SHA SSLv3 Kx=RSA Au=RSA Enc=AES(128) Mac=SHA1 +DHE-RSA-AES256-SHA SSLv3 Kx=DH Au=RSA Enc=AES(256) Mac=SHA1 +... ... ... ... ... +SEED-SHA SSLv3 Kx=RSA Au=RSA Enc=SEED(128) Mac=SHA1 +PSK-RC4-SHA SSLv3 Kx=PSK Au=PSK Enc=RC4(128) Mac=SHA1 +KRB5-RC4-SHA SSLv3 Kx=KRB5 Au=KRB5 Enc=RC4(128) Mac=SHA1</pre></div> +<p>Vous trouverez la liste complète des algorithmes RSA & DH +spécifiques à SSL dans la <a href="#table2">Table 2</a>.</p> +<div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">SSLCipherSuite RSA:!EXP:!NULL:+HIGH:+MEDIUM:-LOW</pre> +</div> +<table class="bordered"> + +<tr><th><a name="table2">Symbole algorithme</a></th> <th>Protocole</th> +<th>Echange de clés</th> <th>Authentification</th> <th>Chiffrement</th> +<th>Condensé MAC</th> <th>Type</th> </tr> +<tr><td colspan="7"><em>Algorithmes RSA :</em></td></tr> +<tr><td><code>DES-CBC3-SHA</code></td> <td>SSLv3</td> <td>RSA</td> <td>RSA</td> <td>3DES(168)</td> <td>SHA1</td> <td /> </tr> +<tr><td><code>IDEA-CBC-SHA</code></td> <td>SSLv3</td> <td>RSA</td> <td>RSA</td> <td>IDEA(128)</td> <td>SHA1</td> <td /> </tr> +<tr><td><code>RC4-SHA</code></td> <td>SSLv3</td> <td>RSA</td> <td>RSA</td> <td>RC4(128)</td> <td>SHA1</td> <td /> </tr> +<tr><td><code>RC4-MD5</code></td> <td>SSLv3</td> <td>RSA</td> <td>RSA</td> <td>RC4(128)</td> <td>MD5</td> <td /> </tr> +<tr><td><code>DES-CBC-SHA</code></td> <td>SSLv3</td> <td>RSA</td> <td>RSA</td> <td>DES(56)</td> <td>SHA1</td> <td /> </tr> +<tr><td><code>EXP-DES-CBC-SHA</code></td> <td>SSLv3</td> <td>RSA(512)</td> <td>RSA</td> <td>DES(40)</td> <td>SHA1</td> <td> export</td> </tr> +<tr><td><code>EXP-RC2-CBC-MD5</code></td> <td>SSLv3</td> <td>RSA(512)</td> <td>RSA</td> <td>RC2(40)</td> <td>MD5</td> <td> export</td> </tr> +<tr><td><code>EXP-RC4-MD5</code></td> <td>SSLv3</td> <td>RSA(512)</td> <td>RSA</td> <td>RC4(40)</td> <td>MD5</td> <td> export</td> </tr> +<tr><td><code>NULL-SHA</code></td> <td>SSLv3</td> <td>RSA</td> <td>RSA</td> <td>None</td> <td>SHA1</td> <td /> </tr> +<tr><td><code>NULL-MD5</code></td> <td>SSLv3</td> <td>RSA</td> <td>RSA</td> <td>None</td> <td>MD5</td> <td /> </tr> +<tr><td colspan="7"><em>Algorithmes Diffie-Hellman :</em></td></tr> +<tr><td><code>ADH-DES-CBC3-SHA</code></td> <td>SSLv3</td> <td>DH</td> <td>None</td> <td>3DES(168)</td> <td>SHA1</td> <td /> </tr> +<tr><td><code>ADH-DES-CBC-SHA</code></td> <td>SSLv3</td> <td>DH</td> <td>None</td> <td>DES(56)</td> <td>SHA1</td> <td /> </tr> +<tr><td><code>ADH-RC4-MD5</code></td> <td>SSLv3</td> <td>DH</td> <td>None</td> <td>RC4(128)</td> <td>MD5</td> <td /> </tr> +<tr><td><code>EDH-RSA-DES-CBC3-SHA</code></td> <td>SSLv3</td> <td>DH</td> <td>RSA</td> <td>3DES(168)</td> <td>SHA1</td> <td /> </tr> +<tr><td><code>EDH-DSS-DES-CBC3-SHA</code></td> <td>SSLv3</td> <td>DH</td> <td>DSS</td> <td>3DES(168)</td> <td>SHA1</td> <td /> </tr> +<tr><td><code>EDH-RSA-DES-CBC-SHA</code></td> <td>SSLv3</td> <td>DH</td> <td>RSA</td> <td>DES(56)</td> <td>SHA1</td> <td /> </tr> +<tr><td><code>EDH-DSS-DES-CBC-SHA</code></td> <td>SSLv3</td> <td>DH</td> <td>DSS</td> <td>DES(56)</td> <td>SHA1</td> <td /> </tr> +<tr><td><code>EXP-EDH-RSA-DES-CBC-SHA</code></td> <td>SSLv3</td> <td>DH(512)</td> <td>RSA</td> <td>DES(40)</td> <td>SHA1</td> <td> export</td> </tr> +<tr><td><code>EXP-EDH-DSS-DES-CBC-SHA</code></td> <td>SSLv3</td> <td>DH(512)</td> <td>DSS</td> <td>DES(40)</td> <td>SHA1</td> <td> export</td> </tr> +<tr><td><code>EXP-ADH-DES-CBC-SHA</code></td> <td>SSLv3</td> <td>DH(512)</td> <td>None</td> <td>DES(40)</td> <td>SHA1</td> <td> export</td> </tr> +<tr><td><code>EXP-ADH-RC4-MD5</code></td> <td>SSLv3</td> <td>DH(512)</td> <td>None</td> <td>RC4(40)</td> <td>MD5</td> <td> export</td> </tr> +</table> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="sslcompression" id="sslcompression">Directive</a> <a name="SSLCompression" id="SSLCompression">SSLCompression</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Permet d'activer la compression au niveau SSL</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLCompression on|off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SSLCompression off</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_ssl</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.3 du serveur HTTP +Apache, si on utilise une version d'OpenSSL 0.9.8 ou supérieure ; +l'utilisation dans un contexte de serveur virtuel n'est disponible que +si on utilise une version d'OpenSSL 1.0.0 ou supérieure. La valeur par +défaut était <code>on</code> dans la version 2.4.3.</td></tr> +</table> +<p>Cette directive permet d'activer la compression au niveau SSL.</p> +<div class="warning"> +<p>L'activation de la compression est à l'origine de problèmes de +sécurité dans la plupart des configurations (l'attaque nommée CRIME).</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="sslcryptodevice" id="sslcryptodevice">Directive</a> <a name="SSLCryptoDevice" id="SSLCryptoDevice">SSLCryptoDevice</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Active l'utilisation d'un accélérateur matériel de +chiffrement</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLCryptoDevice <em>moteur</em></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SSLCryptoDevice builtin</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ssl</td></tr> +</table> +<p> +Cette directive permet d'activer l'utilisation d'une carte accélératrice +de chiffrement qui prendra en compte certaines parties du traitement +relatif à SSL. Cette directive n'est utilisable que si la boîte à +outils SSL à été compilée avec le support "engine" ; les versions 0.9.7 +et supérieures d'OpenSSL possèdent par défaut le support "engine", alors +qu'avec la version 0.9.6, il faut utiliser les distributions séparées +"-engine".</p> + +<p>Pour déterminer les moteurs supportés, exécutez la commande +"<code>openssl engine</code>".</p> + +<div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config"># Pour un accélérateur Broadcom : +SSLCryptoDevice ubsec</pre> +</div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="sslengine" id="sslengine">Directive</a> <a name="SSLEngine" id="SSLEngine">SSLEngine</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Interrupteur marche/arrêt du moteur SSL</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLEngine on|off|optional</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SSLEngine off</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_ssl</td></tr> +</table> +<p> +Cette directive permet d'activer/désactiver le moteur du protocole +SSL/TLS. Elle doit être utilisée dans une section <code class="directive"><a href="../mod/core.html#virtualhost"><VirtualHost></a></code> pour activer +SSL/TLS pour ce serveur virtuel particulier. Par défaut, le moteur du +protocole SSL/TLS est désactivé pour le serveur principal et tous les +serveurs virtuels configurés.</p> +<div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config"><VirtualHost _default_:443> +SSLEngine on +#... +</VirtualHost></pre> +</div> +<p>Depuis la version 2.1 d'Apache, la directive +<code class="directive">SSLEngine</code> peut être définie à +<code>optional</code>, ce qui active le support de <a href="http://www.ietf.org/rfc/rfc2817.txt">RFC 2817</a>, Upgrading to +TLS Within HTTP/1.1. Pour le moment, aucun navigateur web ne supporte +RFC 2817.</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="sslfips" id="sslfips">Directive</a> <a name="SSLFIPS" id="SSLFIPS">SSLFIPS</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Coimmutateur du mode SSL FIPS</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLFIPS on|off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SSLFIPS off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ssl</td></tr> +</table> +<p> +Cette directive permet d'activer/désactiver l'utilisation du drapeau +FIPS_mode de la bibliothèque SSL. Elle doit être définie dans le +contexte du serveur principal, et n'accepte pas les configurations +sources de conflits (SSLFIPS on suivi de SSLFIPS off par exemple). Le +mode s'applique à toutes les opérations de la bibliothèque SSL. +</p> +<p> +Si httpd a été compilé avec une bibliothèque SSL qui ne supporte pas le +drapeau FIPS_mode, la directive <code>SSLFIPS on</code> échouera. +Reportez-vous au document sur la politique de sécurité FIPS 140-2 de la +bibliothèque du fournisseur SSL, pour les prérequis spécifiques +nécessaires à l'utilisation de mod_ssl selon un mode d'opération +approuvé par FIPS 140-2 ; notez que mod_ssl en lui-même n'est pas +validé, mais peut être décrit comme utilisant un module de chiffrement +validé par FIPS 140-2, lorsque tous les composants sont assemblés et mis +en oeuvre selon les recommandations de la politique de sécurité +applicable. +</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="sslhonorcipherorder" id="sslhonorcipherorder">Directive</a> <a name="SSLHonorCipherOrder" id="SSLHonorCipherOrder">SSLHonorCipherOrder</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Option permettant de classer les algorithmes de chiffrement +du serveur par ordre de préférence</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLHonorCipherOrder on|off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SSLHonorCipherOrder off</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_ssl</td></tr> +</table> +<p>Normalement, ce sont les préférences du client qui sont prises en +compte lors du choix d'un algorithme de chiffrement au cours d'une +négociation SSLv3 ou TLSv1. Si cette directive est activée, ce sont les +préférences du serveur qui seront prises en compte à la place.</p> +<div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">SSLHonorCipherOrder on</pre> +</div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="sslinsecurerenegotiation" id="sslinsecurerenegotiation">Directive</a> <a name="SSLInsecureRenegotiation" id="SSLInsecureRenegotiation">SSLInsecureRenegotiation</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Option permettant d'activer le support de la renégociation +non sécurisée</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLInsecureRenegotiation on|off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SSLInsecureRenegotiation off</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_ssl</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible si une version 0.9.8m +ou supérieure d'OpenSSL est utilisée</td></tr> +</table> +<p>Comme il a été spécifié, toutes les versions des protocoles SSL et +TLS (jusqu'à la version 1.2 de TLS incluse) étaient vulnérables à une +attaque de type Man-in-the-Middle (<a href="http://cve.mitre.org/cgi-bin/cvename.cgi?name=CAN-2009-3555">CVE-2009-3555</a>) +au cours d'une renégociation. Cette vulnérabilité permettait à un +attaquant de préfixer la requête HTTP (telle qu'elle était vue du +serveur) avec un texte choisi. Une extension du protocole a été +développée pour corriger cette vulnérabilité, sous réserve qu'elle soit +supportée par le client et le serveur.</p> + +<p>Si <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code> est lié à une version 0.9.8m ou +supérieure d'OpenSSL, par défaut, la renégociation n'est accordée qu'aux +clients qui supportent la nouvelle extension du protocole. Si +cette directive est activée, la renégociation sera accordée aux anciens +clients (non patchés), quoique de manière non sécurisée</p> + +<div class="warning"><h3>Avertissement à propos de la sécurité</h3> +<p>Si cette directive est activée, les connexions SSL seront vulnérables +aux attaques de type préfixe Man-in-the-Middle comme décrit dans <a href="http://cve.mitre.org/cgi-bin/cvename.cgi?name=CAN-2009-3555">CVE-2009-3555</a>.</p> +</div> + +<div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">SSLInsecureRenegotiation on</pre> +</div> + +<p>La variable d'environnement <code>SSL_SECURE_RENEG</code> peut être +utilisée dans un script SSI ou CGI pour déterminer si la renégociation +sécurisée est supportée pour une connexion SSL donnée.</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="sslocspdefaultresponder" id="sslocspdefaultresponder">Directive</a> <a name="SSLOCSPDefaultResponder" id="SSLOCSPDefaultResponder">SSLOCSPDefaultResponder</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit l'URI du répondeur par défaut pour la validation +OCSP</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLOCSDefaultResponder <em>uri</em></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_ssl</td></tr> +</table> +<p>Cette directive permet de définir le répondeur OCSP par défaut. Si la +directive <code class="directive"><a href="#sslocspoverrideresponder">SSLOCSPOverrideResponder</a></code> n'est pas activée, +l'URI spécifié ne sera utilisé que si aucun URI de répondeur n'est +spécifié dans le certificat en cours de vérification.</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="sslocspenable" id="sslocspenable">Directive</a> <a name="SSLOCSPEnable" id="SSLOCSPEnable">SSLOCSPEnable</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Active la validation OCSP de la chaîne de certificats du +client</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLOCSPEnable on|off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SSLOCSPEnable off</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_ssl</td></tr> +</table> +<p>Cette directive permet d'activer la validation OCSP de la chaîne de +certificats du client. Si elle est activée, les certificats de la chaîne +de certificats du client seront validés auprès d'un répondeur OCSP, une +fois la vérification normale effectuée (vérification des CRLs +incluse).</p> + +<p>Le répondeur OCSP utilisé est soit extrait du certificat lui-même, +soit spécifié dans la configuration ; voir les directives <code class="directive"><a href="#sslocspdefaultresponder">SSLOCSPDefaultResponder</a></code> et <code class="directive"><a href="#sslocspoverrideresponder">SSLOCSPOverrideResponder</a></code>.</p> + +<div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">SSLVerifyClient on +SSLOCSPEnable on +SSLOCSPDefaultResponder http://responder.example.com:8888/responder +SSLOCSPOverrideResponder on</pre> +</div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="sslocspoverrideresponder" id="sslocspoverrideresponder">Directive</a> <a name="SSLOCSPOverrideResponder" id="SSLOCSPOverrideResponder">SSLOCSPOverrideResponder</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Force l'utilisation de l'URI du répondeur par défaut pour +la validation OCSP</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLOCSPOverrideResponder on|off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SSLOCSPOverrideResponder off</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_ssl</td></tr> +</table> +<p>Force l'utilisation, au cours d'une validation OCSP de certificat, du +répondeur OCSP par défaut spécifié dans la configuration, que le +certificat en cours de vérification fasse mention d'un répondeur OCSP ou +non.</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="sslocspproxyurl" id="sslocspproxyurl">Directive</a> <a name="SSLOCSPProxyURL" id="SSLOCSPProxyURL">SSLOCSPProxyURL</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Adresse de mandataire à utiliser pour les requêtes OCSP</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLOCSPProxyURL <em>url</em></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_ssl</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.19 du serveur HTTP Apache</td></tr> +</table> +<p>Cette directive permet de définir l'URL d'un mandataire HTTP qui devra être +utilisé pour toutes les requêtes vers un répondeur OCSP.</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="sslocsprespondertimeout" id="sslocsprespondertimeout">Directive</a> <a name="SSLOCSPResponderTimeout" id="SSLOCSPResponderTimeout">SSLOCSPResponderTimeout</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Délai d'attente pour les requêtes OCSP</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLOCSPResponderTimeout <em>secondes</em></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SSLOCSPResponderTimeout 10</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_ssl</td></tr> +</table> +<p>Cette option permet de définir le délai d'attente pour les requêtes à +destination des répondeurs OCSP, lorsque la directive <code class="directive"><a href="#sslocspenable">SSLOCSPEnable</a></code> est à on.</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="sslocspresponsemaxage" id="sslocspresponsemaxage">Directive</a> <a name="SSLOCSPResponseMaxAge" id="SSLOCSPResponseMaxAge">SSLOCSPResponseMaxAge</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Age maximum autorisé pour les réponses OCSP</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLOCSPResponseMaxAge <em>secondes</em></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SSLOCSPResponseMaxAge -1</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_ssl</td></tr> +</table> +<p>Cette option permet de définir l'âge maximum autorisé (la +"fraicheur") des réponses OCSP. La valeur par défault (<code>-1</code>) +signifie qu'aucun âge maximum n'est définit ; autrement dit, les +réponses OCSP sont considérées comme valides tant que la valeur de leur +champ <code>nextUpdate</code> se situe dans le futur.</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="sslocspresponsetimeskew" id="sslocspresponsetimeskew">Directive</a> <a name="SSLOCSPResponseTimeSkew" id="SSLOCSPResponseTimeSkew">SSLOCSPResponseTimeSkew</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Dérive temporelle maximale autorisée pour la validation des +réponses OCSP</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLOCSPResponseTimeSkew <em>secondes</em></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SSLOCSPResponseTimeSkew 300</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_ssl</td></tr> +</table> +<p>Cette option permet de définir la dérive temporelle maximale +autorisée pour les réponses OCSP (lors de la vérification des champs +<code>thisUpdate</code> et <code>nextUpdate</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="sslocspuserequestnonce" id="sslocspuserequestnonce">Directive</a> <a name="SSLOCSPUseRequestNonce" id="SSLOCSPUseRequestNonce">SSLOCSPUseRequestNonce</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Utilisation d'un nombre à usage unique au sein des requêtes +OCSP</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLOCSPUseRequestNonce on|off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SSLOCSPUseRequestNonce on</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_ssl</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.10 du serveur HTTP +Apache</td></tr> +</table> +<p>Cette directive permet de spécifier si les requêtes vers les +répondeurs OCSP doivent contenir un nombre à usage unique ou non. Par +défaut, un nombre à usage unique est toujours présent dans les requêtes +et il est comparé à celui de la réponse. Lorsque le répondeur n'utilise pas de +nombre à usage unique (comme Microsoft OCSP Responder), cette directive +doit être définie à <code>off</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="sslopensslconfcmd" id="sslopensslconfcmd">Directive</a> <a name="SSLOpenSSLConfCmd" id="SSLOpenSSLConfCmd">SSLOpenSSLConfCmd</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Configuration des paramètres d'OpenSSL via son API <em>SSL_CONF</em></td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLOpenSSLConfCmd <em>commande</em> <em>valeur</em></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_ssl</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.4.8 du serveur HTTP +Apache avec OpenSSL 1.0.2 ou supérieur</td></tr> +</table> +<p>Cette directive permet à mod_ssl d'accéder à l'API <em>SSL_CONF</em> +d'OpenSSL. Il n'est ainsi plus nécessaire d'implémenter des +directives supplémentaires pour <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code> lorsque de nouvelles +fonctionnalités sont ajoutées à OpenSSL, ce qui rend la configuration de +ce dernier beaucoup plus souple.</p> + +<p>Le jeu de commandes disponibles pour la directive +<code class="directive">SSLOpenSSLConfCmd</code> dépend de la version d'OpenSSL +utilisée pour <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code> (la version minimale 1.0.2 est un +prérequis). Pour obtenir la liste des commandes supportées, voir la +section <em>Supported configuration file commands</em> de la page de +manuel d'OpenSSL <a href="http://www.openssl.org/docs/man1.0.2/ssl/SSL_CONF_cmd.html#SUPPORTED-CONFIGURATION-FILE-COMMANDS">SSL_CONF_cmd(3)</a>.</p> + +<p>Certaines commandes peuvent remplacer des directives existantes +(comme <code class="directive"><a href="#sslciphersuite">SSLCipherSuite</a></code> ou +<code class="directive"><a href="#sslprotocol">SSLProtocol</a></code>) ; notez cependant +que la syntaxe et/ou les valeurs possibles peuvent différer.</p> + +<div class="example"><h3>Examples</h3><pre class="prettyprint lang-config">SSLOpenSSLConfCmd Options -SessionTicket,ServerPreference +SSLOpenSSLConfCmd ECDHParameters brainpoolP256r1 +SSLOpenSSLConfCmd ServerInfoFile /usr/local/apache2/conf/server-info.pem +SSLOpenSSLConfCmd Protocol "-ALL, TLSv1.2" +SSLOpenSSLConfCmd SignatureAlgorithms RSA+SHA384:ECDSA+SHA256</pre> +</div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ssloptions" id="ssloptions">Directive</a> <a name="SSLOptions" id="SSLOptions">SSLOptions</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Configure différentes options d'exécution du moteur +SSL</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLOptions [+|-]<em>option</em> ...</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>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ssl</td></tr> +</table> +<p> +Cette directive permet de contrôler différentes options d'exécution du +moteur SSL dans un contexte de répertoire. Normalement, si plusieurs +<code>SSLOptions</code> peuvent s'appliquer à un répertoire, c'est la +plus spécifique qui est véritablement prise en compte ; les options ne +se combinent pas entre elles. Elles se combinent cependant entre elles +si elles sont <em>toutes</em> précédées par un symbole plus +(<code>+</code>) ou moins (<code>-</code>). Toute option précédée d'un +<code>+</code> est ajoutée aux options actuellement en vigueur, et toute +option précédée d'un <code>-</code> est supprimée de ces mêmes +options. +</p> +<p> +Les <em>option</em>s disponibles sont :</p> +<ul> +<li><code>StdEnvVars</code> + <p> + Lorsque cette option est activée, le jeu standard de variables + d'environnement SSL relatives à CGI/SSI est créé. Cette option est + désactivée par défaut pour des raisons de performances, car + l'extraction des informations constitue une opération assez coûteuse + en ressources. On n'active donc en général cette option que pour les + requêtes CGI et SSI.</p> +</li> +<li><code>ExportCertData</code> + <p> + Lorsque cette option est activée, des variables d'environnement + CGI/SSI supplémentaires sont créées : <code>SSL_SERVER_CERT</code>, + <code>SSL_CLIENT_CERT</code> et + <code>SSL_CLIENT_CERT_CHAIN_</code><em>n</em> (avec <em>n</em> = + 0,1,2,..). Elles contiennent les certificats X.509 codés en PEM du + serveur et du client pour la connexion HTTPS courante, et peuvent + être utilisées par les scripts CGI pour une vérification de + certificat plus élaborée. De plus, tous les autres certificats de la + chaîne de certificats du client sont aussi fournis. Tout ceci gonfle + un peu l'environnement, et c'est la raison pour laquelle vous ne + devez activer cette option qu'à la demande.</p> +</li> +<li><code>FakeBasicAuth</code> + <p> + Lorsque cette option est activée, le Nom Distinctif (DN) sujet du + certificat client X509 est traduit en un nom d'utilisateur pour + l'autorisation HTTP de base. Cela signifie que les méthodes + d'authentification standard d'Apache peuvent être utilisées pour le + contrôle d'accès. Le nom d'utilisateur est tout simplement le Sujet + du certificat X509 du client (il peut être déterminé en utilisant la + commande OpenSSL <code>openssl x509</code> : <code>openssl x509 + -noout -subject -in </code><em>certificat</em><code>.crt</code>). La + directive optionnelle <code class="directive"><a href="#sslusername">SSLUserName</a></code> permet de spécifier quelle + partie du sujet du certificat est incluse dans le nom d'utilisateur. + Notez qu'aucun mot de passe n'est envoyé par l'utilisateur. Chaque + entrée du fichier des utilisateurs doit comporter ce mot de passe : + ``<code>xxj31ZMTZzkVA</code>'', qui est la version chiffrée en DES + du mot ``<code>password</code>''. Ceux qui travaillent avec un + chiffrement basé sur MD5 (par exemple sous FreeBSD ou BSD/OS, + etc...) doivent utiliser le condensé MD5 suivant pour le même mot : + ``<code>$1$OXLyS...$Owx8s2/m9/gfkcRVXzgoE/</code>''.</p> + + <p>Notez que la directive <code class="directive"><a href="../mod/mod_auth_basic.html#authbasicfake">AuthBasicFake</a></code> du module + <code class="module"><a href="../mod/mod_auth_basic.html">mod_auth_basic</a></code> permet de contrôler à la + fois le nom d'utilisateur et le mot de passe ; elle fournit donc un + mécanisme plus général de simulation d'authentification de base.</p> +</li> +<li><code>StrictRequire</code> + <p> + Cette option <em>force</em> l'interdiction d'accès lorsque + <code>SSLRequireSSL</code> ou <code>SSLRequire</code> a décidé que + l'accès devait être interdit. Par défaut, dans le cas où + une directive ``<code>Satisfy any</code>'' est utilisée, et si + d'autres restrictions d'accès ont été franchies, on passe en général + outre l'interdiction d'accès due à <code>SSLRequireSSL</code> ou + <code>SSLRequire</code> (parce que c'est ainsi que le mécanisme + <code>Satisfy</code> d'Apache doit fonctionner). Pour des + restrictions d'accès plus strictes, vous pouvez cependant utiliser + <code>SSLRequireSSL</code> et/ou <code>SSLRequire</code> en + combinaison avec une option ``<code>SSLOptions + +StrictRequire</code>''. Une directive ``<code>Satisfy Any</code>'' + n'a alors aucune chance d'autoriser l'accès si mod_ssl a décidé de + l'interdire.</p> +</li> +<li><code>OptRenegotiate</code> + <p> + Cette option active la gestion optimisée de la renégociation des + connexions SSL intervenant lorsque les directives SSL sont utilisées + dans un contexte de répertoire. Par défaut un schéma strict est + appliqué, et <em>chaque</em> reconfiguration des paramètres SSL au + niveau du répertoire implique une phase de renégociation SSL + <em>complète</em>. Avec cette option, mod_ssl essaie d'éviter les + échanges non nécessaires en effectuant des vérifications de + paramètres plus granulaires (mais tout de même efficaces). + Néanmoins, ces vérifications granulaires peuvent ne pas correspondre + à ce qu'attend l'utilisateur, et il est donc recommandé de n'activer + cette option que dans un contexte de répertoire.</p> +</li> +<li><code>LegacyDNStringFormat</code> + <p> + Cette option permet d'agir sur la manière dont les valeurs des + variables <code>SSL_{CLIENT,SERVER}_{I,S}_DN</code> sont formatées. + Depuis la version 2.3.11, Apache HTTPD utilise par défaut un format + compatible avec la RFC 2253. Ce format utilise des virgules comme + délimiteurs entre les attributs, permet l'utilisation de caractères + non-ASCII (qui sont alors convertis en UTF8), échappe certains + caractères spéciaux avec des slashes inversés, et trie les attributs + en plaçant l'attribut "C" en dernière position.</p> + + <p>Si l'option <code>LegacyDNStringFormat</code> est présente, c'est + l'ancien format qui sera utilisé : les attributs sont triés avec + l'attribut "C" en première position, les séparateurs sont des + slashes non inversés, les caractères non-ASCII ne sont pas supportés + et le support des caractères spéciaux n'est pas fiable. + </p> +</li> +</ul> +<div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">SSLOptions +FakeBasicAuth -StrictRequire +<Files ~ "\.(cgi|shtml)$"> + SSLOptions +StdEnvVars -ExportCertData +</Files></pre> +</div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="sslpassphrasedialog" id="sslpassphrasedialog">Directive</a> <a name="SSLPassPhraseDialog" id="SSLPassPhraseDialog">SSLPassPhraseDialog</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Méthode utilisée pour entrer le mot de passe pour les clés +privées chiffrées</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLPassPhraseDialog <em>type</em></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SSLPassPhraseDialog builtin</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ssl</td></tr> +</table> +<p> +Lors de son démarrage, Apache doit lire les différents fichiers de +certificats (voir la directive <code class="directive"><a href="#sslcertificatefile">SSLCertificateFile</a></code>) et de clés privées +(voir la directive <code class="directive"><a href="#sslcertificatekeyfile">SSLCertificateKeyFile</a></code>) des serveurs +virtuels où SSL est activé. Comme, pour des raisons de sécurité, les +fichiers de clés privées sont en général chiffrés, mod_ssl doit +demander à l'administrateur un mot de passe pour déchiffrer ces +fichiers. L'argument <em>type</em> permet de choisir la manière dont +cette demande peut être formulée parmi les trois suivantes :</p> +<ul> +<li><code>builtin</code> + <p> + C'est la méthode par défaut, et un dialogue interactive de terminal + s'ouvre au cours du démarrage juste avant qu'Apache ne se détache du + terminal. A ce moment, l'administrateur doit entrer manuellement un + mot de passe pour chaque fichier de clé privée chiffré. Etant donné + qu'il peut y avoir un grand nombre de serveurs virtuels configurés + avec SSL activé, le protocole de réutilisation suivant est utilisé + pour minimiser le dialogue : lorsqu'un fichier de clé privée est + chiffré, tous les mots de passe connus (au début, il n'y en a aucun, + bien entendu) sont essayés. Si l'un de ces mots de passe connus + convient, aucun dialogue ne s'ouvrira pour ce fichier de + clé privée particulier. Si aucun ne convient, un autre mot de passe + sera demandé à partir du terminal et sera mis en mémoire pour le + fichier de clé privée suivant (pour lequel il pourra éventuellement + être réutilisé).</p> + <p> + Cette méthode confère à mod_ssl une grande souplesse (car pour N + fichiers de clé privée chiffrés, vous <em>pouvez</em> utiliser N + mots de passe différents - mais vous devrez alors tous les fournir, + bien entendu), tout en minimisant le dialogue de terminal (vous + pouvez en effet utiliser un seul mot de passe pour les N fichiers de + clé privée et vous n'aurez alors à l'entrer qu'une seule + fois).</p></li> + +<li><code>|/chemin/vers/programme [arguments...]</code> + + <p>Ce mode permet d'utiliser un programme externe qui va se présenter + comme une redirection vers un périphérique d'entrée particulier ; le + texte de prompt standard utilisé pour le mode <code>builtin</code> + est envoyé au programme sur <code>stdin</code>, et celui-ci doit + renvoyer des mots de passe sur <code>stdout</code>. Si + plusieurs mots de passe sont requis (ou si un mot de passe incorrect + a été entré), un texte de prompt supplémentaire sera écrit après le + retour du premier mot de passe, et d'autres mots de passe devront + alors être réécrits.</p></li> + +<li><code>exec:/chemin/vers/programme</code> + <p> + Ici, un programme externe est appelé au démarrage du serveur pour + chaque fichier de clé privée chiffré. Il est + appelé avec un + argument, une chaîne de la forme + "<code>servername:portnumber:index</code>" (index étant un numéro + d'ordre débutant 0), qui indique pour quels serveur, port TCP et + numéro de certificat il doit écrire le mot de + passe correspondant sur <code>stdout</code>. Le but recherché est + l'exécution de vérifications de sécurité préalables permettant de + s'assurer que le système n'est pas victime d'une attaque, et de ne + fournir le mot de passe que si toutes les vérifications ont été + effectuées avec succès.</p> + <p> + Ces vérifications de sécurité, ainsi que la manière dont le mot de + passe est déterminé peuvent être aussi sophistiqués que vous le + désirez. Mod_ssl ne définit que l'interface : un programme + exécutable qui écrit le mot de passe sur <code>stdout</code>. Ni + plus, ni moins ! Ainsi, si vous êtes vraiment paranoïaque en matière + de sécurité, voici votre interface. Tout le reste doit être confié à + l'administrateur à titre d'exercice, car les besoins en sécurité + locale sont très différents.</p> + <p> + L'algorithme de réutilisation est utilisé ici aussi. En d'autres + termes, le programme externe n'est appelé qu'une fois par mot de + passe unique.</p></li> +</ul> +<div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">SSLPassPhraseDialog exec:/usr/local/apache/sbin/pp-filter</pre> +</div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="sslprotocol" id="sslprotocol">Directive</a> <a name="SSLProtocol" id="SSLProtocol">SSLProtocol</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Indique les versions du protocole SSL/TLS +disponibles</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLProtocol [+|-]<em>protocole</em> ...</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SSLProtocol all -SSLv3</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_ssl</td></tr> +</table> +<p> +Cette directive permet de définir quelles versions du protocole SSL/TLS +seront acceptées lors de l'initialisation d'une nouvelle connexion.</p> +<p> +Les <em>protocole</em>s disponibles sont les suivants (sensibles à la +casse) :</p> +<ul> +<li><code>SSLv3</code> + <p> + Il s'agit du protocole Secure Sockets Layer (SSL) version 3.0 de + Netscape Corporation. C'est le successeur de SSLv2 et le + prédécesseur de TLSv1, mais est considéré comme + obsolète dans la <a href="http://www.ietf.org/rfc/rfc7568.txt">RFC + 7568</a></p></li> + +<li><code>TLSv1</code> + <p> + Il s'agit du protocole Transport Layer Security (TLS) version 1.0. + C'est le successeur de SSLv3, et il est défini dans la <a href="http://www.ietf.org/rfc/rfc2246.txt">RFC2246</a>.</p></li> + +<li><code>TLSv1.1</code> (à partir de la version 1.0.1 d'OpenSSL) + <p> + Une révision du protocole TLS 1.0 définie dans la <a href="http://www.ietf.org/rfc/rfc4346.txt">RFC 4346</a>. Il est + supporté par la plupart des clients.</p></li> + +<li><code>TLSv1.2</code> (à partir de la version 1.0.1 d'OpenSSL) + <p> + Une révision du protocole TLS 1.1 définie dans la <a href="http://www.ietf.org/rfc/rfc5246.txt">RFC 5246</a>.</p></li> + +<li><code>all</code> + <p> + C'est un raccourci pour ``<code>+SSLv3 +TLSv1</code>'' ou - à partir + de la version 1.0.1 d'OpenSSL - ``<code>+SSLv3 +TLSv1 +TLSv1.1 + +TLSv1.2</code>'' (sauf si OpenSSL a été compilé avec l'option + ``no-ssl3'', auquel cas <code>all</code> n'inclura pas + <code>+SSLv3</code>).</p></li> +</ul> +<div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">SSLProtocol TLSv1</pre> +</div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="sslproxycacertificatefile" id="sslproxycacertificatefile">Directive</a> <a name="SSLProxyCACertificateFile" id="SSLProxyCACertificateFile">SSLProxyCACertificateFile</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Fichier contenant la concaténation des certificats de CA +codés en PEM pour l'authentification des serveurs distants</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLProxyCACertificateFile <em>file-path</em></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#Override">AllowOverride:</a></th><td>Not applicable</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_ssl</td></tr> +</table> +<p> +Cette directive permet de définir le fichier <em>tout-en-un</em> où sont +stockés les certificats des Autorités de Certification (CA) pour les +<em>serveurs distants</em> auxquels vous avez à faire. On les utilise +lors de l'authentification du serveur distant. Un tel fichier contient +la simple concaténation des différents fichiers de certificats codés en +PEM, classés par ordre de préférence. On peut utiliser cette directive à +la place et/ou en complément de la directive <code class="directive"><a href="#sslproxycacertificatepath">SSLProxyCACertificatePath</a></code>.</p> +<div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">SSLProxyCACertificateFile +/usr/local/apache2/conf/ssl.crt/ca-bundle-serveur.distant.crt</pre> +</div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="sslproxycacertificatepath" id="sslproxycacertificatepath">Directive</a> <a name="SSLProxyCACertificatePath" id="SSLProxyCACertificatePath">SSLProxyCACertificatePath</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Répertoire des certificats de CA codés en PEM pour +l'authentification des serveurs distants</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLProxyCACertificatePath <em>chemin-répertoire</em></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#Override">AllowOverride:</a></th><td>Not applicable</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_ssl</td></tr> +</table> +<p> +Cette directive permet de spécifier le répertoire où sont stockés les +certificats des Autorités de Certification (CAs) pour les serveurs +distants auxquels vous avez à faire. On les utilise pour vérifier le +certificat du serveur distant lors de l'authentification de ce +dernier.</p> +<p> +Les fichiers de ce répertoire doivent être codés en PEM et ils sont +accédés via des noms de fichier sous forme de condensés ou hash. Il ne +suffit donc pas de placer les fichiers de certificats dans ce répertoire +: vous devez aussi créer des liens symboliques nommés +<em>valeur-de-hashage</em><code>.N</code>, et vous devez toujours vous +assurer que ce répertoire contient les liens symboliques appropriés.</p> +<div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">SSLProxyCACertificatePath /usr/local/apache2/conf/ssl.crt/</pre> +</div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="sslproxycarevocationcheck" id="sslproxycarevocationcheck">Directive</a> <a name="SSLProxyCARevocationCheck" id="SSLProxyCARevocationCheck">SSLProxyCARevocationCheck</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Active la vérification des révocations basée sur les CRLs +pour l'authentification du serveur distant</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLProxyCARevocationCheck chain|leaf|none</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SSLProxyCARevocationCheck 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#Override">AllowOverride:</a></th><td>Not applicable</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_ssl</td></tr> +</table> +<p> +Active la vérification des révocations basée sur les Listes de +révocations de Certificats (CRL) pour les <em>serveurs distants</em> +auxquels vous vous connectez. A moins une des directives <code class="directive"><a href="#sslproxycarevocationfile">SSLProxyCARevocationFile</a></code> ou <code class="directive"><a href="#sslproxycarevocationpath">SSLProxyCARevocationPath</a></code> doit être définie. +Lorsque cette directive est définie à <code>chain</code> (valeur +recommandée), les vérifications CRL sont effectuées sur tous les +certificats de la chaîne, alors que la valeur <code>leaf</code> limite +la vérification au certificat hors chaîne (la feuille). +</p> +<div class="note"> +<h3>Lorsque la directive est définie à <code>chain</code> ou +<code>leaf</code>, les CRLs doivent être disponibles pour que la +validation réussisse</h3> +<p> +Avant la version 2.3.15, les vérifications CRL dans mod_ssl +réussissaient même si aucune CRL n'était trouvée dans les chemins +définis par les directives <code class="directive"><a href="#sslproxycarevocationfile">SSLProxyCARevocationFile</a></code> ou <code class="directive"><a href="#sslproxycarevocationpath">SSLProxyCARevocationPath</a></code>. Le comportement a +changé avec l'introduction de cette directive : lorsque la vérification +est activée, les CRLs <em>doivent</em> être présentes pour que la +validation réussisse ; dans le cas contraire, elle échouera avec une +erreur <code>"CRL introuvable"</code>. +</p> +</div> +<div class="example"><h3>Exmple</h3><pre class="prettyprint lang-config">SSLProxyCARevocationCheck chain</pre> +</div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="sslproxycarevocationfile" id="sslproxycarevocationfile">Directive</a> <a name="SSLProxyCARevocationFile" id="SSLProxyCARevocationFile">SSLProxyCARevocationFile</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Fichier contenant la concaténation des CRLs de CA codés en +PEM pour l'authentification des serveurs distants</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLProxyCARevocationFile <em>chemin-fichier</em></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#Override">AllowOverride:</a></th><td>Not applicable</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_ssl</td></tr> +</table> +<p> +Cette directive permet de définir le fichier <em>tout-en-un</em> où sont +rassemblées les Listes de Révocation de Certificats (CRLs) des Autorités +de certification (CAs) pour les <em>serveurs distants</em> auxquels vous +avez à faire. On les utilise pour l'authentification des serveurs +distants. Un tel fichier contient la simple concaténation des différents +fichiers de CRLs codés en PEM, classés par ordre de préférence. Cette +directive peut être utilisée à la place et/ou en complément de la +directive <code class="directive"><a href="#sslproxycarevocationpath">SSLProxyCARevocationPath</a></code>.</p> +<div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">SSLProxyCARevocationFile +/usr/local/apache2/conf/ssl.crl/ca-bundle-serveur.distant.crl</pre> +</div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="sslproxycarevocationpath" id="sslproxycarevocationpath">Directive</a> <a name="SSLProxyCARevocationPath" id="SSLProxyCARevocationPath">SSLProxyCARevocationPath</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Répertoire des CRLs de CA codés en PEM pour +l'authentification des serveurs distants</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLProxyCARevocationPath <em>chemin-répertoire</em></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#Override">AllowOverride:</a></th><td>Not applicable</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_ssl</td></tr> +</table> +<p> +Cette directive permet de définir le répertoire où sont stockées les +Listes de Révocation de Certificats (CRL) des Autorités de Certification +(CAs) pour les serveurs distants auxquels vous avez à faire. On les +utilise pour révoquer les certificats des serveurs distants au cours de +l'authentification de ces derniers.</p> +<p> +Les fichiers de ce répertoire doivent être codés en PEM et ils sont +accédés via des noms de fichier sous forme de condensés ou hash. Il ne +suffit donc pas de placer les fichiers de CRL dans ce répertoire +: vous devez aussi créer des liens symboliques nommés +<em>valeur-de-hashage</em><code>.rN</code>, et vous devez toujours vous +assurer que ce répertoire contient les liens symboliques appropriés.</p> +<div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">SSLProxyCARevocationPath /usr/local/apache2/conf/ssl.crl/</pre> +</div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="sslproxycheckpeercn" id="sslproxycheckpeercn">Directive</a> <a name="SSLProxyCheckPeerCN" id="SSLProxyCheckPeerCN">SSLProxyCheckPeerCN</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Configuration de la vérification du champ CN du certificat +du serveur distant +</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLProxyCheckPeerCN on|off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SSLProxyCheckPeerCN on</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#Override">AllowOverride:</a></th><td>Not applicable</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_ssl</td></tr> +</table> +<p> +Cette directive permet de définir si le champ CN du certificat +du serveur distant doit être comparé au nom de serveur de l'URL de la +requête. S'ils ne correspondent pas, un +code d'état 502 (Bad Gateway) est envoyé. A partir de la version 2.4.5, la +directive <code class="directive"><a href="#sslproxycheckpeername">SSLProxyCheckPeerName</a></code> +l'emporte sur la directive <code>SSLProxyCheckPeerCN</code>. +</p> +<p> +De la version 2.4.5 à la version 2.4.20, spécifier <code>SSLProxyCheckPeerName +off</code> était suffisant pour activer cette fonctionnalité (étant donné que la +valeur par défaut de la directive <code>SSLProxyCheckPeerCN</code> était +<code>on</code>). Avec ces mêmes versions, les deux directives devaient être +définies à <code>off</code> pour éviter la validation du nom de certificat du +serveur distant. De nombreux utilisateurs ont signalé ce comportement comme +étant source de confusion. +</p> +<p> +A partir de la version 2.4.21, toute configuration qui active une des +deux options <code>SSLProxyCheckPeerName</code> ou +<code>SSLProxyCheckPeerCN</code> adopte le nouveau comportement de la +directive <code class="directive"><a href="#sslproxycheckpeername">SSLProxyCheckPeerName</a></code>, alors +que toute configuration qui désactive une des options +<code>SSLProxyCheckPeerName</code> ou <code>SSLProxyCheckPeerCN</code> supprime +toute validation du nom de certificat du serveur distant. Seule la configuration +suivante peut rétablir le comportement traditionnel en matière de comparaison +des CN de certificats dans les versions 2.4.21 et ultérieures. +</p> +<div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">SSLProxyCheckPeerCN on +SSLProxyCheckPeerName off</pre> +</div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="sslproxycheckpeerexpire" id="sslproxycheckpeerexpire">Directive</a> <a name="SSLProxyCheckPeerExpire" id="SSLProxyCheckPeerExpire">SSLProxyCheckPeerExpire</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Configuration de la vérification de l'expiration du +certificat du serveur distant +</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLProxyCheckPeerExpire on|off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SSLProxyCheckPeerExpire on</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#Override">AllowOverride:</a></th><td>Not applicable</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_ssl</td></tr> +</table> +<p> +Cette directive permet de définir si l'expiration du certificat du +serveur distant doit être vérifiée ou non. Si la vérification échoue, un +code d'état 502 (Bad Gateway) est envoyé. +</p> +<div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">SSLProxyCheckPeerExpire on</pre> +</div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="sslproxycheckpeername" id="sslproxycheckpeername">Directive</a> <a name="SSLProxyCheckPeerName" id="SSLProxyCheckPeerName">SSLProxyCheckPeerName</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Configure la vérification du nom d'hôte pour les +certificats serveur distant +</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLProxyCheckPeerName on|off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SSLProxyCheckPeerName on</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#Override">AllowOverride:</a></th><td>Not applicable</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_ssl</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.5 du serveur HTTP +Apache</td></tr> +</table> +<p> +Cette directive permet de configurer la vérification du nom d'hôte pour +les certificats serveur lorsque mod_ssl agit en tant que client SSL. La +vérification réussit si le nom d'hôte de l'URI de la requête correspond à un +des attributs CN du sujet du certificat, ou à l'extension subjectAltName. Si la +vérification échoue, la requête SSL +avorte, et un code d'erreur 502 (Bad Gateway) est renvoyé. +</p> +<p> +Les caractères génériques sont supportés dans certains cas bien spécifiques : +une entrée subjectAltName de type dNSName ou les attributs CN +commençant par <code>*.</code> correspondront à tout nom d'hôte comportant +le même nombre de champs et le même suffixe ; par exemple, +<code>*.example.org</code> correspondra à <code>foo.example.org</code>, +mais pas à <code>foo.bar.example.org</code> car le nombre d'éléments dans les +nom est différent. +</p> +<p> +Cette fonctionnalité a été introduite avec la version 2.4.5 et l'emporte sur la +directive <code class="directive"><a href="#sslproxycheckpeercn">SSLProxyCheckPeerCN</a></code> qui ne +comparait que la valeur exacte du premier attribut CN avec le nom d'hôte. +Cependant, de nombreux utilisateurs étaient déconcertés par le comportement +induit par l'utilisation de ces deux directives individuellement, si bien que ce +comportement a été amélioré avec la version 2.4.21. Voir la description de la +directive <code class="directive"><a href="#sslproxycheckpeercn">SSLProxyCheckPeerCN</a></code> pour le +comportement original et des détails à propos de ces améliorations. +</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="sslproxyciphersuite" id="sslproxyciphersuite">Directive</a> <a name="SSLProxyCipherSuite" id="SSLProxyCipherSuite">SSLProxyCipherSuite</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Algorithmes de chiffrement disponibles pour la négociation +lors de l'initialisation d'une connexion SSL de mandataire</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLProxyCipherSuite <em>algorithmes</em></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SSLProxyCipherSuite ALL:!ADH:RC4+RSA:+HIGH:+MEDIUM:+LOW:+EXP</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#Override">AllowOverride:</a></th><td>Not applicable</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_ssl</td></tr> +</table> +<p>Cette directive est équivalente à la directive <code class="directive"><a href="#sslciphersuite">SSLCipherSuite</a></code>, mais s'applique à une connexion de +mandataire. Veuillez vous reporter à la directive <code class="directive"><a href="#sslciphersuite">SSLCipherSuite</a></code> pour plus d'informations.</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="sslproxyengine" id="sslproxyengine">Directive</a> <a name="SSLProxyEngine" id="SSLProxyEngine">SSLProxyEngine</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Interrupteur marche/arrêt du moteur de mandataire +SSL</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLProxyEngine on|off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SSLProxyEngine off</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#Override">AllowOverride:</a></th><td>Not applicable</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_ssl</td></tr> +</table> +<p> +Cette directive permet d'activer/désactiver l'utilisation du moteur de +protocole SSL/TLS pour le mandataire. On l'utilise en général à +l'intérieur d'une section <code class="directive"><a href="../mod/core.html#virtualhost"><VirtualHost></a></code> pour activer le protocole SSL/TLS +dans le cadre d'un mandataire pour un serveur virtuel particulier. Par +défaut, le moteur de protocole SSL/TLS est désactivé pour la fonction de +mandataire du serveur principal et de tous les serveurs virtuels +configurés.</p> + +<p>Notez que la directive <code class="directive">SSLProxyEngine</code> ne doit +généralement pas être utilisée dans le cadre d'un serveur virtuel qui agit en +tant que mandataire direct (via les directives <code class="directive"><a href="../mod/mod_proxy.html#proxy"><Proxy></a></code> ou <code class="directive"><a href="../mod/mod_proxy.html#proxyrequests">ProxyRequests</a></code>). +<code class="directive">SSLProxyEngine</code> n'est pas nécessaire pour activer un +serveur mandataire direct pour les requêtes SSL/TLS.</p> + +<div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config"><VirtualHost _default_:443> + SSLProxyEngine on + #... +</VirtualHost></pre> +</div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="sslproxymachinecertificatechainfile" id="sslproxymachinecertificatechainfile">Directive</a> <a name="SSLProxyMachineCertificateChainFile" id="SSLProxyMachineCertificateChainFile">SSLProxyMachineCertificateChainFile</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Fichier de certificats de CA encodés PEM concaténés permettant au +mandataire de choisir un certificat</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLProxyMachineCertificateChainFile <em>nom-fichier</em></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#Override">AllowOverride:</a></th><td>Sans objet</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_ssl</td></tr> +</table> +<p> +Cette directive permet de définir le fichier global où est enregistrée +la chaîne de certification pour tous les certificats clients utilisés. +Elle est nécessaire si le serveur distant présente une liste de +certificats de CA qui ne sont pas les signataires directs d'un des +certificats clients configurés. +</p> +<p> +Ce fichier contient tout simplement la concaténation des différents +fichiers de certificats encodés PEM. Au démarrage, chaque certificat +client configuré est examiné et une chaîne de certification est +construite. +</p> +<div class="warning"><h3>Avertissement en matière de sécurité</h3> +<p>Si cette directive est définie, tous les certificats contenus dans le +fichier spécifié seront considérés comme étant de confiance, comme s'ils +étaient aussi désignés dans la directive <code class="directive"><a href="#sslproxycacertificatefile">SSLProxyCACertificateFile</a></code>.</p> +</div> +<div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">SSLProxyMachineCertificateChainFile /usr/local/apache2/conf/ssl.crt/proxyCA.pem</pre> +</div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="sslproxymachinecertificatefile" id="sslproxymachinecertificatefile">Directive</a> <a name="SSLProxyMachineCertificateFile" id="SSLProxyMachineCertificateFile">SSLProxyMachineCertificateFile</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Fichier contenant la concaténation des clés et certificats +clients codés en PEM que le mandataire doit utiliser</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLProxyMachineCertificateFile <em>chemin-fichier</em></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#Override">AllowOverride:</a></th><td>Sans objet</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_ssl</td></tr> +</table> +<p> +Cette directive permet de définir le fichier tout-en-un où sont stockés +les clés et certificats permettant au serveur mandataire de +s'authentifier auprès des serveurs distants. +</p> +<p> +Le fichier spécifié est la simple concaténation des différents fichiers +de certificats codés en PEM, classés par ordre de préférence. Cette +directive s'utilise à la place ou en complément de la directive +<code>SSLProxyMachineCertificatePath</code>. +</p> +<div class="warning"> +<p>Actuellement, les clés privées chiffrées ne sont pas supportées.</p> +</div> +<div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">SSLProxyMachineCertificateFile /usr/local/apache2/conf/ssl.crt/proxy.pem</pre> +</div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="sslproxymachinecertificatepath" id="sslproxymachinecertificatepath">Directive</a> <a name="SSLProxyMachineCertificatePath" id="SSLProxyMachineCertificatePath">SSLProxyMachineCertificatePath</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Répertoire des clés et certificats clients codés en PEM que +le mandataire doit utiliser</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLProxyMachineCertificatePath <em>chemin-répertoire</em></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#Override">AllowOverride:</a></th><td>Sans objet</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_ssl</td></tr> +</table> +<p> +Cette directive permet de définir le répertoire où sont stockés les clés +et certificats permettant au serveur mandataire de s'authentifier auprès +des serveurs distants. +</p> +<p>Les fichiers de ce répertoire doivent être codés en PEM et ils sont +accédés via des noms de fichier sous forme de condensés ou hash. Vous +devez donc aussi créer des liens symboliques nommés +<em>valeur-de-hashage</em><code>.N</code>, et vous devez toujours vous +assurer que ce répertoire contient les liens symboliques appropriés.</p> +<div class="warning"> +<p>Actuellement, les clés privées chiffrées ne sont pas supportées.</p> +</div> +<div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">SSLProxyMachineCertificatePath /usr/local/apache2/conf/proxy.crt/</pre> +</div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="sslproxyprotocol" id="sslproxyprotocol">Directive</a> <a name="SSLProxyProtocol" id="SSLProxyProtocol">SSLProxyProtocol</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit les protocoles SSL disponibles pour la fonction de +mandataire</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLProxyProtocol [+|-]<em>protocole</em> ...</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SSLProxyProtocol all -SSLv3</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#Override">AllowOverride:</a></th><td>Not applicable</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_ssl</td></tr> +</table> + +<p> +Cette directive permet de définir les protocoles SSL que mod_ssl peut +utiliser lors de l'élaboration de son environnement de serveur pour la +fonction de mandataire. Il ne se connectera qu'aux serveurs utilisant un +des protocoles spécifiés.</p> +<p>Veuillez vous reporter à la directive <code class="directive"><a href="#sslprotocol">SSLProtocol</a></code> pour plus d'informations. +</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="sslproxyverify" id="sslproxyverify">Directive</a> <a name="SSLProxyVerify" id="SSLProxyVerify">SSLProxyVerify</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Niveau de vérification du certificat du serveur +distant</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLProxyVerify <em>niveau</em></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SSLProxyVerify 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#Override">AllowOverride:</a></th><td>Not applicable</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_ssl</td></tr> +</table> + +<p>Lorsqu'un mandataire est configuré pour faire suivre les requêtes +vers un serveur SSL distant, cette directive permet de configurer la +vérification du certificat de ce serveur distant.</p> + +<p> +Les valeurs de <em>niveau</em>x disponibles sont les suivantes :</p> +<ul> +<li><strong>none</strong>: + aucun certificat n'est requis pour le serveur distant</li> +<li><strong>optional</strong>: + le serveur distant <em>peut</em> présenter un certificat valide</li> +<li><strong>require</strong>: + le serveur distant <em>doit</em> présenter un certificat valide</li> +<li><strong>optional_no_ca</strong>: + le serveur distant peut présenter un certificat valide<br /> + mais il n'est pas nécessaire qu'il soit vérifiable (avec succès).</li> +</ul> +<p>En pratique, seuls les niveaux <strong>none</strong> et +<strong>require</strong> sont vraiment intéressants, car le niveau +<strong>optional</strong> ne fonctionne pas avec tous les serveurs, et +le niveau <strong>optional_no_ca</strong> va tout à fait à l'encontre de +l'idée que l'on peut se faire de l'authentification (mais peut tout de +même être utilisé pour établir des pages de test SSL, etc...) + +In practice only levels <strong>none</strong> and +<strong>require</strong> are really interesting, because level +<strong>optional</strong> doesn't work with all servers and level +<strong>optional_no_ca</strong> is actually against the idea of +authentication (but can be used to establish SSL test pages, etc.)</p> +<div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">SSLProxyVerify require</pre> +</div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="sslproxyverifydepth" id="sslproxyverifydepth">Directive</a> <a name="SSLProxyVerifyDepth" id="SSLProxyVerifyDepth">SSLProxyVerifyDepth</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Niveau de profondeur maximum dans les certificats de CA +lors de la vérification du certificat du serveur distant</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLProxyVerifyDepth <em>niveau</em></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SSLProxyVerifyDepth 1</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#Override">AllowOverride:</a></th><td>Not applicable</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_ssl</td></tr> +</table> +<p> +Cette directive permet de définir le niveau de profondeur maximum +jusqu'auquel mod_ssl doit aller au cours de sa vérification avant de +décider que le serveur distant ne possède pas de certificat valide.</p> +<p> +La profondeur correspond en fait au nombre maximum de fournisseurs de +certificats intermédiaires, c'est à dire le nombre maximum de +certificats +de CA que l'on peut consulter lors de la vérification du certificat du +serveur distant. Une profondeur de 0 signifie que seuls les certificats +de serveurs distants auto-signés sont acceptés, et la profondeur par +défaut de 1 que le certificat du serveur distant peut être soit +auto-signé, soit signé par une CA connue directement du serveur (en +d'autres termes, le certificat de CA est référencé par la directive +<code class="directive"><a href="#sslproxycacertificatepath">SSLProxyCACertificatePath</a></code>), +etc...</p> +<div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">SSLProxyVerifyDepth 10</pre> +</div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="sslrandomseed" id="sslrandomseed">Directive</a> <a name="SSLRandomSeed" id="SSLRandomSeed">SSLRandomSeed</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Source de déclenchement du Générateur de Nombres +Pseudo-Aléatoires (PRNG)</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLRandomSeed <em>contexte</em> <em>source</em> +[<em>nombre</em>]</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ssl</td></tr> +</table> +<p> +Cette directive permet de définir une ou plusieurs sources de +déclenchement du Générateur de Nombres Pseudo-Aléatoires (PRNG) dans +OpenSSL au démarrage du serveur (si <em>contexte</em> a pour valeur +<code>startup</code>) et/ou juste avant l'établissement d'une nouvelle +connexion SSL (si <em>contexte</em> a pour valeur <code>connect</code>). +Cette directive ne peut être utilisée qu'au niveau du serveur global car +le PRNG est un service global.</p> +<p> +Les différentes valeurs de <em>source</em> disponibles sont :</p> +<ul> +<li><code>builtin</code> + <p>Cette source de déclenchement intégrée est toujours disponible. + Son utilisation consomme un minimum de cycles CPU en cours + d'exécution, et son utilisation ne présente de ce fait aucun + problème. La source utilisée pour déclencher le PRNG contient la + date courante, l'identifiant du processus courant et (si disponible) + un extrait de 1Ko aléatoirement choisi de la structure d'Apache pour + les échanges inter-processus. Ceci présente un inconvénient car le + caractère aléatoire de cette source n'est pas vraiment fort, et au + démarrage (lorsque la structure d'échanges n'est pas encore + disponible), cette source ne produit que quelques octets d'entropie. + Vous devez donc toujours utiliser une source de déclenchement + additionnelle, au moins pour le démarrage.</p></li> +<li><code>file:/chemin/vers/source</code> + <p> + Cette variante utilise un fichier externe + <code>file:/chemin/vers/source</code> comme source de déclenchement + du PRNG. Lorsque <em>nombre</em> est spécifié, seuls les + <em>nombre</em> premiers octets du fichier forment l'entropie (et + <em>nombre</em> est fourni comme premier argument à + <code>/chemin/vers/source</code>). Lorsque <em>nombre</em> n'est pas + spécifié, l'ensemble du fichier forme l'entropie (et <code>0</code> + est fourni comme premier argument à + <code>/chemin/vers/source</code>). Utilisez cette source en + particulier au démarrage, par exemple avec un fichier de + périphérique <code>/dev/random</code> et/ou + <code>/dev/urandom</code> (qui sont en général présent sur les + plate-formes dérivées d'Unix modernes comme FreeBSD et Linux).</p> + <p><em>Soyez cependant prudent</em> : en général, + <code>/dev/random</code> ne fournit que l'entropie dont il dispose + réellement ; en d'autres termes, lorsque vous demandez 512 octets + d'entropie, si le périphérique ne dispose que de 100 octets, deux + choses peuvent se produire : sur certaines plates-formes, vous ne + recevez que les 100 octets, alors que sur d'autres, la lecture se + bloque jusqu'à ce qu'un nombre suffisant d'octets soit disponible + (ce qui peut prendre beaucoup de temps). Il est préférable ici + d'utiliser le périphérique <code>/dev/urandom</code>, car il ne se + bloque jamais et fournit vraiment la quantité de données demandées. + Comme inconvénient, les données reçues ne sont pas forcément de la + meilleure qualité.</p></li> + +<li><code>exec:/chemin/vers/programme</code> + <p> + Cette variante utilise un exécutable externe + <code>/chemin/vers/programme</code> comme source de déclenchement du + PRNG. Lorsque <em>nombre</em> est spécifié, seules les + <em>nombre</em> premiers octets de son flux <code>stdout</code> + forment l'entropie. Lorsque <em>nombre</em> n'est pas spécifié, + l'intégralité des données produites sur <code>stdout</code> forment + l'entropie. N'utilisez cette variante qu'au démarrage où une source + de déclenchement fortement aléatoire est nécessaire, en utilisant + un programme externe (comme dans l'exemple + ci-dessous avec l'utilitaire <code>truerand</code> basé sur la + bibliothèque <em>truerand</em> de AT&T que vous trouverez + dans la distribution de mod_ssl). Bien entendu, l'utilisation de + cette variante dans un contexte "connection" ralentit le serveur de + manière trop importante, et en général, vous devez donc éviter + d'utiliser des programmes externes dans ce contexte.</p></li> +<li><code>egd:/chemin/vers/socket-egd</code> (Unix seulement) + <p>Cette variante utilise le socket de domaine Unix du Démon + Générateur d'Entropie externe ou Entropy Gathering Daemon ou EGD + (voir <a href="http://www.lothar.com/tech/crypto/">http://www.lothar.com/tech + /crypto/</a>) pour déclencher le PRNG. N'utilisez cette variante que + si votre plate-forme ne possède pas de périphérique random ou + urandom.</p></li> +</ul> +<div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">SSLRandomSeed startup builtin +SSLRandomSeed startup file:/dev/random +SSLRandomSeed startup file:/dev/urandom 1024 +SSLRandomSeed startup exec:/usr/local/bin/truerand 16 +SSLRandomSeed connect builtin +SSLRandomSeed connect file:/dev/random +SSLRandomSeed connect file:/dev/urandom 1024</pre> +</div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="sslrenegbuffersize" id="sslrenegbuffersize">Directive</a> <a name="SSLRenegBufferSize" id="SSLRenegBufferSize">SSLRenegBufferSize</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit la taille du tampon de renégociation +SSL</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLRenegBufferSize <var>taille</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SSLRenegBufferSize 131072</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#Override">AllowOverride:</a></th><td>AuthConfig</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_ssl</td></tr> +</table> + +<p>Si une renégociation SSL est requise dans un contexte de répertoire, +par exemple avec l'utilisation de <code class="directive"><a href="#sslverifyclient">SSLVerifyClient</a></code> dans un bloc Directory ou +Location, mod_ssl doit mettre en tampon en mémoire tout corps de requête +HTTP en attendant qu'une nouvelle initialisation de connexion SSL puisse +être effectuée. Cette directive permet de définir la quantité de mémoire +à allouer pour ce tampon.</p> + +<div class="warning"><p> +Notez que dans de nombreuses configurations, le client qui envoie un +corps de requête n'est pas forcément digne de confiance, et l'on doit +par conséquent prendre en considération la possibilité d'une attaque de +type déni de service lorsqu'on modifie la valeur de cette directive. +</p></div> + +<div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">SSLRenegBufferSize 262144</pre> +</div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="sslrequire" id="sslrequire">Directive</a> <a name="SSLRequire" id="SSLRequire">SSLRequire</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>N'autorise l'accès que lorsqu'une expression booléenne +complexe et arbitraire est vraie</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLRequire <em>expression</em></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#Override">AllowOverride:</a></th><td>AuthConfig</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_ssl</td></tr> +</table> +<div class="note"><h3>SSLRequire is obsolète</h3> +<p><code>SSLRequire</code> est obsolète et doit en général être +remplacée par l'expression <a href="mod_authz_core.html#reqexpr">Require</a>. La syntaxe <a href="../expr.html">ap_expr</a> de l'expression <code>Require</code> est +une extension de la syntaxe de <code>SSLRequire</code>, avec les +différences suivantes :</p> + +<p>Avec <code>SSLRequire</code>, les opérateurs de comparaison +<code><</code>, <code><=</code>, ... sont strictement équivalents +aux opérateurs <code>lt</code>, <code>le</code>, ... , et fonctionnent +selon une méthode qui compare tout d'abord la longueur des deux chaînes, +puis l'ordre alphabétique. Les expressions <a href="../expr.html">ap_expr</a>, quant à elles, possèdent deux jeux +d'opérateurs de comparaison : les opérateurs <code><</code>, +<code><=</code>, ... effectuent une comparaison alphabétique de +chaînes, alors que les opérateurs <code>-lt</code>, <code>-le</code>, +... effectuent une comparaison d'entiers. Ces derniers possèdent aussi +des alias sans tiret initial : <code>lt</code>, <code>le</code>, ... +</p> + +</div> + +<p>Cette directive permet de spécifier une condition générale d'accès +qui doit être entièrement satisfaite pour que l'accès soit autorisé. +C'est une directive très puissante, car la condition d'accès spécifiée +est une expression booléenne complexe et arbitraire contenant un nombre +quelconque de vérifications quant aux autorisations d'accès.</p> +<p> +L'<em>expression</em> doit respecter la syntaxe suivante (fournie ici +sous la forme d'une notation dans le style de la grammaire BNF) :</p> +<blockquote> +<pre>expr ::= "<strong>true</strong>" | "<strong>false</strong>" + | "<strong>!</strong>" expr + | expr "<strong>&&</strong>" expr + | expr "<strong>||</strong>" expr + | "<strong>(</strong>" expr "<strong>)</strong>" + | comp + +comp ::= word "<strong>==</strong>" word | word "<strong>eq</strong>" word + | word "<strong>!=</strong>" word | word "<strong>ne</strong>" word + | word "<strong><</strong>" word | word "<strong>lt</strong>" word + | word "<strong><=</strong>" word | word "<strong>le</strong>" word + | word "<strong>></strong>" word | word "<strong>gt</strong>" word + | word "<strong>>=</strong>" word | word "<strong>ge</strong>" word + | word "<strong>in</strong>" "<strong>{</strong>" wordlist "<strong>}</strong>" + | word "<strong>in</strong>" "<strong>PeerExtList(</strong>" word "<strong>)</strong>" + | word "<strong>=~</strong>" regex + | word "<strong>!~</strong>" regex + +wordlist ::= word + | wordlist "<strong>,</strong>" word + +word ::= digit + | cstring + | variable + | function + +digit ::= [0-9]+ +cstring ::= "..." +variable ::= "<strong>%{</strong>" varname "<strong>}</strong>" +function ::= funcname "<strong>(</strong>" funcargs "<strong>)</strong>"</pre> +</blockquote> +<p>Pour <code>varname</code>, toute variable décrite dans <a href="#envvars">Variables d'environnement</a> pourra être utilisée. +Pour <code>funcname</code>, vous trouverez la liste des fonctions +disponibles dans la <a href="../expr.html#functions">documentation +ap_expr</a>.</p> + +<p><em>expression</em> est interprétée et traduite +sous une forme machine interne lors du chargement de la configuration, +puis évaluée lors du traitement de la requête. Dans le contexte des +fichiers .htaccess, <em>expression</em> est interprétée et exécutée +chaque fois que le fichier .htaccess intervient lors du traitement de la +requête.</p> +<div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">SSLRequire ( %{SSL_CIPHER} !~ m/^(EXP|NULL)-/ \ + and %{SSL_CLIENT_S_DN_O} eq "Snake Oil, Ltd." \ + and %{SSL_CLIENT_S_DN_OU} in {"Staff", "CA", "Dev"} \ + and %{TIME_WDAY} -ge 1 and %{TIME_WDAY} -le 5 \ + and %{TIME_HOUR} -ge 8 and %{TIME_HOUR} -le 20 ) \ + or %{REMOTE_ADDR} =~ m/^192\.76\.162\.[0-9]+$/</pre> +</div> + + +<p>La fonction <code>PeerExtList(<em>identifiant objet</em>)</code> +recherche une instance d'extension de certificat X.509 identifiée par +<em>identifiant objet</em> (OID) dans le certificat client. L'expression est +évaluée à true si la partie gauche de la chaîne correspond exactement à +la valeur d'une extension identifiée par cet OID (Si plusieurs +extensions possèdent le même OID, l'une d'entre elles au moins doit +correspondre). +</p> + +<div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">SSLRequire "foobar" in PeerExtList("1.2.3.4.5.6")</pre> +</div> + +<div class="note"><h3>Notes à propos de la fonction PeerExtList</h3> + +<ul> + +<li><p>L'identifiant objet peut être spécifié soit comme un nom +descriptif reconnu par la bibliothèque SSL, tel que +<code>"nsComment"</code>, soit comme un OID numérique tel que +<code>"1.2.3.4.5.6"</code>.</p></li> + +<li><p>Les expressions contenant des types connus de la bibliothèque +SSL sont transformées en chaînes avant comparaison. Pour les extensions +contenant un type non connu de la bibliothèque SSL, mod_ssl va essayer +d'interpréter la valeur s'il s'agit d'un des types ASN.1 primaire UTF8String, +IA5String, VisibleString, ou BMPString. Si l'extension correspond à un +de ces types, la chaîne sera convertie en UTF-8 si nécessaire, puis +comparée avec la partie gauche de l'expression.</p></li> + +</ul> +</div> + + +<h3>Voir aussi</h3> +<ul> +<li><a href="../env.html">Les variables d'environnement dans le +serveur HTTP Apache</a>, pour d'autres exemples. +</li> +<li><a href="mod_authz_core.html#reqexpr">Require expr</a></li> +<li><a href="../expr.html">Syntaxe générale des expressions dans le +serveur HTTP Apache</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="sslrequiressl" id="sslrequiressl">Directive</a> <a name="SSLRequireSSL" id="SSLRequireSSL">SSLRequireSSL</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Interdit l'accès lorsque la requête HTTP n'utilise pas +SSL</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLRequireSSL</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#Override">AllowOverride:</a></th><td>AuthConfig</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_ssl</td></tr> +</table> +<p> +Cette directive interdit l'accès si HTTP sur SSL (c'est à dire HTTPS) +n'est pas activé pour la connexion courante. Ceci est très pratique dans +un serveur virtuel où SSL est activé ou dans un répertoire pour se +protéger des erreurs de configuration qui pourraient donner accès à des +ressources protégées. Lorsque cette directive est présente, toutes les +requêtes qui n'utilisent pas SSL sont rejetées.</p> +<div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">SSLRequireSSL</pre> +</div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="sslsessioncache" id="sslsessioncache">Directive</a> <a name="SSLSessionCache" id="SSLSessionCache">SSLSessionCache</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Type du cache de session SSL global et +inter-processus</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLSessionCache <em>type</em></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SSLSessionCache none</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ssl</td></tr> +</table> +<p> +Cette directive permet de configurer le type de stockage du cache de +session SSL global et inter-processus. Ce cache est une fonctionnalité +optionnelle qui accélère le traitement parallèle des requêtes. Pour ce +qui est des requêtes vers un même processus du serveur (via HTTP +keep-alive), OpenSSL met en cache les informations de session SSL en +interne. Mais comme les clients modernes demandent des images en ligne +et d'autres données via des requêtes parallèles (un nombre de quatre +requêtes parallèles est courant), ces requêtes vont être servies par +<em>plusieurs</em> processus du serveur pré-déclenchés. Ici, un cache +inter-processus permet d'éviter des négociations de session +inutiles.</p> +<p> +Les quatre <em>type</em>s de stockage suivants sont actuellement +supportés :</p> +<ul> +<li><code>none</code> + + <p>Cette valeur désactive le cache de session global et + inter-processus, ce qui va ralentir le serveur de manière sensible + et peut poser problème avec certains navigateurs, en particulier si + les certificats clients sont activés. Cette configuration n'est pas + recommandée.</p></li> + +<li><code>nonenotnull</code> + + <p>Cette valeur désactive tout cache de session global et + inter-processus. Cependant, elle force OpenSSL à envoyer un + identifiant de session non nul afin de s'adapter aux clients bogués + qui en nécessitent un.</p></li> + +<li><code>dbm:/chemin/vers/fichier-données</code> + + <p>Cette valeur utilise un fichier de hashage DBM sur disque local + pour synchroniser les caches OpenSSL locaux en mémoire des processus + du serveur. Ce cache de session peut être sujet à des problèmes de + fiabilité sous forte charge. Pour l'utiliser, le module + <code class="module"><a href="../mod/mod_socache_dbm.html">mod_socache_dbm</a></code> doit être chargé.</p></li> + +<li><code>shmcb:/chemin/vers/fichier-données</code>[<code>(</code><em>nombre</em><code>)</code>] + + <p>Cette valeur utilise un tampon cyclique à hautes performances + (d'une taille d'environ <em>nombre</em> octets) dans un segment de + mémoire partagée en RAM (établi via + <code>/chemin/vers/fichier-données</code>, pour synchroniser les + caches OpenSSL locaux en mémoire des processus du serveur. C'est le + type de cache de session recommandé. Pour l'utiliser, le module + <code class="module"><a href="../mod/mod_socache_shmcb.html">mod_socache_shmcb</a></code> doit être chargé.</p></li> + +<li><code>dc:UNIX:/chemin/vers/socket</code> + + <p>Cette valeur utilise les bibliothèques de mise en cache de + sessions distribuée sur <a href="http://distcache.sourceforge.net/">distcache</a>. + L'argument doit spécifier le serveur ou mandataire à utiliser en + utilisant la syntaxe d'adressage distcache ; par exemple, + <code>UNIX:/chemin/vers/socket</code> spécifie un socket de domaine + Unix (en général un mandataire de dc_client local) ; + <code>IP:serveur.example.com:9001</code> spécifie une adresse IP. + Pour l'utiliser, le module <code class="module"><a href="../mod/mod_socache_dc.html">mod_socache_dc</a></code> doit être + chargé.</p></li> + +</ul> + +<div class="example"><h3>Exemples</h3><pre class="prettyprint lang-config">SSLSessionCache dbm:/usr/local/apache/logs/ssl_gcache_data +SSLSessionCache shmcb:/usr/local/apache/logs/ssl_gcache_data(512000)</pre> +</div> + +<p>Le mutex <code>ssl-cache</code> permet de sérialiser l'accès au cache +de session afin d'éviter toute corruption. Ce mutex peut être configuré +via la directive <code class="directive"><a href="../mod/core.html#mutex">Mutex</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="sslsessioncachetimeout" id="sslsessioncachetimeout">Directive</a> <a name="SSLSessionCacheTimeout" id="SSLSessionCacheTimeout">SSLSessionCacheTimeout</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Nombre de secondes avant l'expiration d'une session SSL +dans le cache de sessions</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLSessionCacheTimeout <em>secondes</em></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SSLSessionCacheTimeout 300</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_ssl</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>S'applique aussi au renouvellement de la session TLS de +la RFC 5077 à partir de la version 2.4.10 du serveur HTTP Apache</td></tr> +</table> +<p> +Cette directive permet de définir la durée de vie en secondes des +informations stockées dans le cache de sessions SSL global et +inter-processus, dans le cache OpenSSL interne en mémoire et pour +les sessions réinitialisées par la reprise de session TLS (RFC 5077). elle peut +être définie à une valeur d'environ 15 à des fins de test, mais à une +valeur très supérieure comme 300 en production.</p> +<div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">SSLSessionCacheTimeout 600</pre> +</div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="sslsessionticketkeyfile" id="sslsessionticketkeyfile">Directive</a> <a name="SSLSessionTicketKeyFile" id="SSLSessionTicketKeyFile">SSLSessionTicketKeyFile</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Clé de chiffrement/déchiffrement permanente pour les +tickets de session TLS</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLSessionTicketKeyFile <em>chemin-fichier</em></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_ssl</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.4.0 du serveur HTTP +Apache, sous réserve que l'on utilise une version 0.9.8h ou supérieure +d'OpenSSL</td></tr> +</table> +<p>Cette directive permet de définir une clé secrète pour le chiffrement +et le déchiffrement des tickets de session TLS selon les préconisations +de la <a href="http://www.ietf.org/rfc/rfc5077.txt">RFC 5077</a>. Elle a +été conçue à l'origine pour les environnements de clusters où les +données des sessions TLS doivent être partagées entre plusieurs noeuds. +Pour les configurations ne comportant qu'une seule instance de httpd, il +est préférable d'utiliser les clés (aléatoires) générées par mod_ssl au +démarrage du serveur.</p> +<p>Le fichier doit contenir 48 octets de données aléatoires créées de +préférence par une source à haute entropie. Sur un système de type UNIX, +il est possible de créer le fichier contenant la clé de la manière +suivante :</p> + +<div class="example"><p><code> +dd if=/dev/random of=/chemin/vers/fichier.tkey bs=1 count=48 +</code></p></div> + +<p>Ces clés doivent être renouvelées fréquemment, car il s'agit du seul +moyen d'invalider un ticket de session existant - OpenSSL ne permet pas +actuellement de spécifier une limite à la durée de +vie des tickets. Une nouvelle clé de ticket ne peut être utilisée qu'après +redémarrage du serveur web. Tous les tickets de session existants +deviennent invalides après le redémarrage du serveur.</p> + +<div class="warning"> +<p>Ce fichier contient des données sensibles et doit donc être protégé +par des permissions similaires à celles du fichier spécifié par la +directive <code class="directive"><a href="#sslcertificatekeyfile">SSLCertificateKeyFile</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="sslsessiontickets" id="sslsessiontickets">Directive</a> <a name="SSLSessionTickets" id="SSLSessionTickets">SSLSessionTickets</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Active ou désactive les tickets de session TLS</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLSessionTickets on|off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SSLSessionTickets on</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_ssl</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.11 du serveur HTTP +Apache, sous réserve d'utiliser OpenSSL version 0.9.8f ou supérieure. +</td></tr> +</table> +<p>Cette directive permet d'activer ou de désactiver l'utilisation des +tickets de session TLS (RFC 5077).</p> +<div class="warning"> +<p>Les tickets de session TLS sont activés par défaut. Les utiliser sans +redémarrer le serveur selon une périodicité appropriée (par exemple +quotidiennement) compromet cependant le niveau de confidentialité.</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="sslsrpunknownuserseed" id="sslsrpunknownuserseed">Directive</a> <a name="SSLSRPUnknownUserSeed" id="SSLSRPUnknownUserSeed">SSLSRPUnknownUserSeed</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Source de randomisation pour utilisateur SRP inconnu</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLSRPUnknownUserSeed <em>secret-string</em></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_ssl</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.4.4 du serveur HTTP +Apache, sous réserve d'utiliser OpenSSL version 1.0.1 ou supérieure.</td></tr> +</table> +<p> +Cette directive permet de définir la source de randomisation à utiliser +pour les utilisateurs SRP inconnus, ceci afin de combler les manques en +cas d'existence d'un tel utilisateur. Elle définit une chaîne secrète. Si +cette directive n'est pas définie, Apache renverra une alerte +UNKNOWN_PSK_IDENTITY aux clients qui fournissent un nom d'utilisateur +inconnu. +</p> +<div class="example"><h3>Exemple</h3><p><code> +SSLSRPUnknownUserSeed "secret" +</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="sslsrpverifierfile" id="sslsrpverifierfile">Directive</a> <a name="SSLSRPVerifierFile" id="SSLSRPVerifierFile">SSLSRPVerifierFile</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Chemin du fichier de vérification SRP</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLSRPVerifierFile <em>file-path</em></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_ssl</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.4.4 du serveur HTTP +Apache, sous réserve d'utiliser OpenSSL version 1.0.1 ou supérieure.</td></tr> +</table> +<p> +Cette directive permet d'activer TLS-SRP et de définir le chemin du +fichier de vérification OpenSSL SRP (Mot de passe distant sécurisé) +contenant les noms d'utilisateurs TLS-SRP, les vérificateurs, les +"grains de sel" (salts), ainsi que les paramètres de groupe.</p> +<div class="example"><h3>Exemple</h3><p><code> +SSLSRPVerifierFile "/path/to/file.srpv" +</code></p></div> +<p> +Le fichier de vérification peut être créé via l'utilitaire en ligne de +commande <code>openssl</code> :</p> +<div class="example"><h3>Création du fichier de vérification SRP</h3><p><code> +openssl srp -srpvfile passwd.srpv -userinfo "some info" -add username +</code></p></div> +<p>La valeur affectée au paramètre optionnel <code>-userinfo</code> est +enregistrée dans la variable d'environnement +<code>SSL_SRP_USERINFO</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="sslstaplingcache" id="sslstaplingcache">Directive</a> <a name="SSLStaplingCache" id="SSLStaplingCache">SSLStaplingCache</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Configuration du cache pour l'agrafage OCSP</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLStaplingCache <em>type</em></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ssl</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible si on utilise OpenSSL version 0.9.8h ou supérieure</td></tr> +</table> +<p>Si <code class="directive"><a href="#sslusestapling">SSLUseStapling</a></code> est à "on", +cette directive permet de configurer le cache destiné à stocker les +réponses OCSP incluses dans la négociation TLS. La configuration d'un +cache est obligatoire pour pouvoir utiliser l'agrafage OCSP. A +l'exception de <code>none</code> et <code>nonenotnull</code>, cette +directive supporte les mêmes types de stockage que la directive +<code class="directive"><a href="#sslsessioncache">SSLSessionCache</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="sslstaplingerrorcachetimeout" id="sslstaplingerrorcachetimeout">Directive</a> <a name="SSLStaplingErrorCacheTimeout" id="SSLStaplingErrorCacheTimeout">SSLStaplingErrorCacheTimeout</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Durée de vie des réponses invalides dans le cache pour +agrafage OCSP</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLStaplingErrorCacheTimeout <em>secondes</em></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SSLStaplingErrorCacheTimeout 600</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_ssl</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible si on utilise OpenSSL version 0.9.8h ou supérieure</td></tr> +</table> +<p>Cette directive permet de définir la durée de vie des réponses +<em>invalides</em> dans le cache pour agrafage OCSP configuré via la +directive <code class="directive"><a href="#sslstaplingcache">SSLStaplingCache</a></code>. Pour +définir la durée de vie des réponses valides, voir la directive +<code class="directive"><a href="#sslstaplingstandardcachetimeout">SSLStaplingStandardCacheTimeout</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="sslstaplingfaketrylater" id="sslstaplingfaketrylater">Directive</a> <a name="SSLStaplingFakeTryLater" id="SSLStaplingFakeTryLater">SSLStaplingFakeTryLater</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Génère une réponse "tryLater" pour les requêtes OCSP échouées</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLStaplingFakeTryLater on|off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SSLStaplingFakeTryLater on</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_ssl</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible si on utilise OpenSSL version 0.9.8h ou supérieure</td></tr> +</table> +<p>Lorsque cette directive est activée, et si une requête vers un +serveur OCSP à des fins d'inclusion dans une négociation TLS échoue, +mod_ssl va générer une réponse "tryLater" pour le client (<code class="directive"><a href="#sslstaplingreturnrespondererrors">SSLStaplingReturnResponderErrors</a></code> doit être +activée).</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="sslstaplingforceurl" id="sslstaplingforceurl">Directive</a> <a name="SSLStaplingForceURL" id="SSLStaplingForceURL">SSLStaplingForceURL</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Remplace l'URI du serveur OCSP spécifié dans l'extension +AIA du certificat</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLStaplingForceURL <em>uri</em></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_ssl</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible si on utilise OpenSSL version 0.9.8h ou supérieure</td></tr> +</table> +<p>Cette directive permet de remplacer l'URI du serveur OCSP extraite de +l'extension authorityInfoAccess (AIA) du certificat. Elle peut s'avérer +utile lorsqu'on passe par un mandataire</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="sslstaplingrespondertimeout" id="sslstaplingrespondertimeout">Directive</a> <a name="SSLStaplingResponderTimeout" id="SSLStaplingResponderTimeout">SSLStaplingResponderTimeout</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Temps d'attente maximum pour les requêtes vers les serveurs +OCSP</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLStaplingResponderTimeout <em>secondes</em></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SSLStaplingResponderTimeout 10</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_ssl</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible si on utilise OpenSSL version 0.9.8h ou supérieure</td></tr> +</table> +<p>Cette directive permet de définir le temps d'attente maximum lorsque +mod_ssl envoie une requête vers un serveur OCSP afin d'obtenir une +réponse destinée à être incluse dans les négociations TLS avec les +clients (<code class="directive"><a href="#sslusestapling">SSLUseStapling</a></code> doit +avoir été activée au préalable).</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="sslstaplingresponsemaxage" id="sslstaplingresponsemaxage">Directive</a> <a name="SSLStaplingResponseMaxAge" id="SSLStaplingResponseMaxAge">SSLStaplingResponseMaxAge</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Age maximum autorisé des réponses OCSP incluses dans la +négociation TLS</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLStaplingResponseMaxAge <em>secondes</em></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SSLStaplingResponseMaxAge -1</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_ssl</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible si on utilise OpenSSL version 0.9.8h ou supérieure</td></tr> +</table> +<p>Cette directive permet de définir l'âge maximum autorisé +("fraîcheur") des réponses OCSP incluses dans la négociation TLS +(<code class="directive"><a href="#sslusestapling">SSLUseStapling</a></code> doit +avoir été activée au préalable). La valeur par défaut (<code>-1</code>) +ne définit aucun âge maximum, ce qui signifie que les réponses OCSP sont +considérées comme valides à partir du moment où le contenu de leur champ +<code>nextUpdate</code> se trouve dans le futur.</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="sslstaplingresponsetimeskew" id="sslstaplingresponsetimeskew">Directive</a> <a name="SSLStaplingResponseTimeSkew" id="SSLStaplingResponseTimeSkew">SSLStaplingResponseTimeSkew</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Durée de vie maximale autorisée des réponses OCSP incluses dans la +négociation TLS</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLStaplingResponseTimeSkew <em>secondes</em></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SSLStaplingResponseTimeSkew 300</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_ssl</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible si on utilise OpenSSL version 0.9.8h ou supérieure</td></tr> +</table> +<p>Cette directive permet de spécifier l'intervalle de temps maximum que +mod_ssl va calculer en faisant la différence entre les contenus des +champs <code>nextUpdate</code> et <code>thisUpdate</code> des réponses +OCSP incluses dans la négociation TLS. Pour pouvoir utiliser cette +directive, <code class="directive"><a href="#sslusestapling">SSLUseStapling</a></code> doit +être à "on".</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="sslstaplingreturnrespondererrors" id="sslstaplingreturnrespondererrors">Directive</a> <a name="SSLStaplingReturnResponderErrors" id="SSLStaplingReturnResponderErrors">SSLStaplingReturnResponderErrors</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Transmet au client les erreurs survenues lors des requêtes +OCSP</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLStaplingReturnResponderErrors on|off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SSLStaplingReturnResponderErrors on</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_ssl</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible si on utilise OpenSSL version 0.9.8h ou supérieure</td></tr> +</table> +<p>Lorsque cette directive est activée, mod_ssl va transmettre au client les +réponses concernant les requêtes OCSP +échouées (comme les réponses avec un état autre que +"successful", les réponses avec un statut de certificat autre que +"good", les réponses +périmées, etc...). Lorsqu'elle est à +<code>off</code>, seules les réponses indiquant un statut de certificat +"good" seront incluses dans les +négociations TLS avec les clients.</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="sslstaplingstandardcachetimeout" id="sslstaplingstandardcachetimeout">Directive</a> <a name="SSLStaplingStandardCacheTimeout" id="SSLStaplingStandardCacheTimeout">SSLStaplingStandardCacheTimeout</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Durée de vie des réponses OCSP dans le cache</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLStaplingStandardCacheTimeout <em>secondes</em></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SSLStaplingStandardCacheTimeout 3600</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_ssl</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible si on utilise OpenSSL version 0.9.8h ou supérieure</td></tr> +</table> +<p>Cette directive permet de définir la durée de vie des réponses OCSP +dans le cache configuré via la directive <code class="directive"><a href="#sslstaplingcache">SSLStaplingCache</a></code>. Elle ne s'applique qu'aux +réponse <em>valides</em>, alors que la directive <code class="directive"><a href="#sslstaplingerrorcachetimeout">SSLStaplingErrorCacheTimeout</a></code> s'applique aux +réponses invalides ou non disponibles. +</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="sslstrictsnivhostcheck" id="sslstrictsnivhostcheck">Directive</a> <a name="SSLStrictSNIVHostCheck" id="SSLStrictSNIVHostCheck">SSLStrictSNIVHostCheck</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Contrôle de l'accès des clients non-SNI à un serveur virtuel à +base de nom. +</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLStrictSNIVHostCheck on|off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SSLStrictSNIVHostCheck off</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_ssl</td></tr> +</table> +<p> +Cette directive permet de contrôler l'accès des clients non-SNI à un serveur +virtuel à base de nom. Si elle est définie à <code>on</code> dans le +serveur virtuel à base de nom par défaut, les +clients non-SNI ne seront autorisés à accéder à aucun serveur virtuel +appartenant à cette combinaison IP/port. Par +contre, si elle est définie à <code>on</code> dans un serveur virtuel +quelconque, les clients non-SNI ne se verront interdire l'accès qu'à ce +serveur. +</p> + +<div class="warning"><p> +Cette option n'est disponible que si httpd a été compilé avec une +version d'OpenSSL supportant SNI. +</p></div> + +<div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">SSLStrictSNIVHostCheck on</pre> +</div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="sslusername" id="sslusername">Directive</a> <a name="SSLUserName" id="SSLUserName">SSLUserName</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Nom de la variable servant à déterminer le nom de +l'utilisateur</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLUserName <em>nom-var</em></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>AuthConfig</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_ssl</td></tr> +</table> +<p> +Cette variable permet de définir le champ "user" de l'objet de la +requête Apache. Ce champ est utilisé par des modules de plus bas niveau +pour identifier l'utilisateur avec une chaîne de caractères. En +particulier, l'utilisation de cette directive peut provoquer la +définition de la variable d'environnement <code>REMOTE_USER</code>. +La valeur de l'argument <em>nom-var</em> peut correspondre à toute <a href="#envvars">variable d'environnement SSL</a>.</p> + +<p>Lorsque l'option <code>FakeBasicAuth</code> est activée, cette +directive contrôle la valeur du nom d'utilisateur contenue dans +l'en-tête d'authentification de base (voir <a href="#ssloptions">SSLOptions</a>).</p> + +<div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">SSLUserName SSL_CLIENT_S_DN_CN</pre> +</div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="sslusestapling" id="sslusestapling">Directive</a> <a name="SSLUseStapling" id="SSLUseStapling">SSLUseStapling</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Active l'ajout des réponses OCSP à la négociation TLS</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLUseStapling on|off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SSLUseStapling off</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_ssl</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible si on utilise OpenSSL version 0.9.8h ou supérieure</td></tr> +</table> +<p>Cette directive permet d'activer l'"Agrafage OCSP" (OCSP stapling) +selon la définition de l'extension TLS "Certificate Status Request" +fournie dans la RFC 6066. Si elle est activée et si le client le +demande, mod_ssl va inclure une réponse OCSP à propos de son propre +certificat dans la négociation TLS. Pour pouvoir activer l'Agrafage +OCSP, il est nécessaire de configurer un <code class="directive"><a href="#sslstaplingcache">SSLStaplingCache</a></code>.</p> + +<p>L'agrafage OCSP dispense le client de requérir le serveur OCSP +directement ; il faut cependant noter que selon les spécifications de la +RFC 6066, la réponse <code>CertificateStatus</code> du serveur ne peut +inclure une réponse OCSP que pour un seul certificat. Pour les +certificats de serveur comportant des certificats de CA intermédiaires +dans leur chaîne (c'est un cas typique de nos jours), l'implémentation +actuelle de l'agrafage OCSP n'atteint que partiellement l'objectif d' +"économie en questions/réponse et en ressources". Pour plus de détails, +voir la <a href="http://www.ietf.org/rfc/rfc6961.txt">RFC 6961</a> (TLS +Multiple Certificate Status Extension). +</p> + +<p>Lorsque l'agrafage OCSP est activé, le mutex +<code>ssl-stapling</code> contrôle l'accès au cache de l'agrafage OCSP +afin de prévenir toute corruption, et le mutex +<code>sss-stapling-refresh</code> contrôle le raffraîchissement des +réponses OCSP. Ces mutex peuvent être configurés via la directive +<code class="directive"><a href="../mod/core.html#mutex">Mutex</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="sslverifyclient" id="sslverifyclient">Directive</a> <a name="SSLVerifyClient" id="SSLVerifyClient">SSLVerifyClient</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Niveau de vérification du certificat client</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLVerifyClient <em>niveau</em></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SSLVerifyClient 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>AuthConfig</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_ssl</td></tr> +</table> +<p> +Cette directive permet de définir le niveau de vérification du +certificat pour l'authentification du client. Notez que cette directive +peut être utilisée à la fois dans les contextes du serveur principal et +du répertoire. Dans le contexte du serveur principal, elle s'applique au +processus d'authentification du client utilisé au cours de la +négociation SSL standard lors de l'établissement d'une connexion. Dans +un contexte de répertoire, elle force une renégociation SSL avec le +niveau de vérification du client spécifié, après la lecture d'une +requête HTTP, mais avant l'envoi de la réponse HTTP.</p> +<p> +Les valeurs de <em>niveau</em> disponibles sont les suivantes :</p> +<ul> +<li><strong>none</strong>: + aucun certificat client n'est requis</li> +<li><strong>optional</strong>: + le client <em>peut</em> présenter un certificat valide</li> +<li><strong>require</strong>: + le client <em>doit</em> présenter un certificat valide</li> +<li><strong>optional_no_ca</strong>: + le client peut présenter un certificat valide, mais il n'est pas + nécessaire que ce dernier soit vérifiable (avec succès). Cette option ne + peut pas être utilisée lors de l'authentification du client.</li> +</ul> +<div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">SSLVerifyClient require</pre> +</div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="sslverifydepth" id="sslverifydepth">Directive</a> <a name="SSLVerifyDepth" id="SSLVerifyDepth">SSLVerifyDepth</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Profondeur maximale des certificats de CA pour la +vérification des certificats clients</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLVerifyDepth <em>nombre</em></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SSLVerifyDepth 1</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>AuthConfig</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_ssl</td></tr> +</table> +<p> +Cette directive permet de spécifier la profondeur maximale à laquelle +mod_ssl va effectuer sa vérification avant de décider que le client ne +possède pas de certificat valide. Notez que cette directive peut être +utilisée à la fois dans les contextes du serveur principal et de +répertoire. Dans le contexte du serveur principal, elle s'applique au +processus d'authentification du client utilisé au cours de la +négociation SSL standard lors de l'établissement d'une connexion. Dans +un contexte de répertoire, elle force une renégociation SSL avec la +profondeur vérification du client spécifiée, après la lecture d'une +requête HTTP, mais avant l'envoi de la réponse HTTP.</p> +<p> +La profondeur correspond au nombre maximum de fournisseurs de +certificats intermédiaires, c'est à dire le nombre maximum de +certificats de CA que l'on est autorisé à suivre lors de la vérification +du certificat du client. Une profondeur de 0 signifie que seuls les +certificats clients auto-signés sont acceptés ; la profondeur par défaut +de 1 signifie que le certificat client peut être soit auto-signé, soit +signé par une CA connue directement du serveur (c'est à dire que le +certificat de la CA doit être référencé par la directive <code class="directive"><a href="#sslcacertificatepath">SSLCACertificatePath</a></code>), etc...</p> +<div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">SSLVerifyDepth 10</pre> +</div> + +</div> +</div> +<div class="bottomlang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_ssl.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_ssl.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/trunk/mod/mod_ssl.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 2017 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_ssl.xml.fr b/docs/manual/mod/mod_ssl.xml.fr new file mode 100644 index 0000000000..db26ac9259 --- /dev/null +++ b/docs/manual/mod/mod_ssl.xml.fr @@ -0,0 +1,3161 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd"> +<?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?> +<!-- English Revision: 1761215:1780210 (outdated) --> +<!-- French translation : Lucien GENTIS --> +<!-- $LastChangedRevision: 2016092401 $ --> + +<!-- + 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_ssl.xml.meta"> + +<name>mod_ssl</name> +<description>Chiffrement de haut niveau basé sur les protocoles Secure +Sockets Layer (SSL) et Transport Layer Security (TLS)</description> +<status>Extension</status> +<sourcefile>mod_ssl.c</sourcefile> +<identifier>ssl_module</identifier> + +<summary> +<p>Ce module fournit le support SSL v3 et TLS v1.x au serveur HTTP +Apache. SSL v2 n'est plus supporté.</p> + +<p>Ce module s'appuie sur <a href="http://www.openssl.org/">OpenSSL</a> +pour fournir le moteur de chiffrement.</p> + +<p>D'autres détails, discussions et exemples sont fournis dans la <a +href="../ssl/">documentation SSL</a>.</p> +</summary> + +<section id="envvars"><title>Variables d'environnement</title> + +<p>Ce module peut être configuré pour fournir aux espaces de nommage SSI +et CGI de nombreux éléments d'informations concernant SSL par le biais +de variables d'environnement supplémentaires. Par défaut, et ceci pour +des raisons de performances, ces informations ne sont pas fournies (Voir +la directive <directive>SSLOptions</directive> StdEnvVars ci-dessous). +Les variables générées se trouvent dans la table ci-dessous. +L'information peut aussi être disponible sous des noms différents à des +fins de compatibilité ascendante. Reportez-vous au chapitre <a +href="../ssl/ssl_compat.html">Compatibilité</a> pour plus de détails à +propos des variables de compatibilité.</p> + +<table border="1"> +<columnspec><column width=".3"/><column width=".2"/><column width=".5"/> +</columnspec> +<tr> + <th><a name="table3">Nom de la variable :</a></th> + <th>Type de valeur :</th> + <th>Description :</th> +</tr> +<tr><td><code>HTTPS</code></td> <td>drapeau</td> +<td>HTTPS est utilisé.</td></tr> +<tr><td><code>SSL_PROTOCOL</code></td> <td>chaîne</td> +<td>La version du protocole SSL (SSLv3, TLSv1, TLSv1.1, TLSv1.2)</td></tr> +<tr><td><code>SSL_SESSION_ID</code></td> <td>chaîne</td> +<td>L'identifiant de session SSL codé en hexadécimal</td></tr> +<tr><td><code>SSL_SESSION_RESUMED</code></td> <td>chaîne</td> +<td>Session SSL initiale ou reprise. Note : plusieurs requêtes peuvent +être servies dans le cadre de la même session SSL (initiale ou reprise) +si les connexions persistantes (HTTP KeepAlive) sont utilisées</td></tr> +<tr><td><code>SSL_SECURE_RENEG</code></td> <td>chaîne</td> +<td><code>true</code> si la renégociation sécurisée est supportée, +<code>false</code> dans le cas contraire</td></tr> +<tr><td><code>SSL_CIPHER</code></td> <td>chaîne</td> +<td>Le nom de l'algorithme de chiffrement</td></tr> +<tr><td><code>SSL_CIPHER_EXPORT</code></td> <td>chaîne</td> +<td><code>true</code> si l'algorithme de chiffrement est un algorithme +exporté</td></tr> +<tr><td><code>SSL_CIPHER_USEKEYSIZE</code></td> <td>nombre</td> +<td>Nombre de bits de chiffrement (réellement utilisés)</td></tr> +<tr><td><code>SSL_CIPHER_ALGKEYSIZE</code></td> <td>nombre</td> +<td>Nombre de bits de chiffrement (possible)</td></tr> +<tr><td><code>SSL_COMPRESS_METHOD</code></td> <td>chaîne</td> +<td>Méthode de compression SSL négociée</td></tr> + +<tr><td><code>SSL_VERSION_INTERFACE</code></td> <td>chaîne</td> +<td>La version du programme mod_ssl</td></tr> +<tr><td><code>SSL_VERSION_LIBRARY</code></td> <td>chaîne</td> +<td>La version du programme OpenSSL</td></tr> +<tr><td><code>SSL_CLIENT_M_VERSION</code></td> <td>chaîne</td> +<td>La version du certificat client</td></tr> +<tr><td><code>SSL_CLIENT_M_SERIAL</code></td> <td>chaîne</td> +<td>Le numéro de série du certificat client</td></tr> +<tr><td><code>SSL_CLIENT_S_DN</code></td> <td>chaîne</td> +<td>Le DN sujet du certificat client</td></tr> +<tr><td><code>SSL_CLIENT_S_DN_</code><em>x509</em></td> <td>chaîne</td> +<td>Elément du DN sujet du client</td></tr> +<tr><td><code>SSL_CLIENT_SAN_Email_</code><em>n</em></td> +<td>chaîne</td> <td>Extensions subjectAltName de type rfc822Name du certificat client</td></tr> +<tr><td><code>SSL_CLIENT_SAN_DNS_</code><em>n</em></td> <td>chaîne</td> +<td>Extensions subjectAltName de type dNSName du certificat client</td></tr> +<tr><td><code>SSL_CLIENT_SAN_OTHER_msUPN_</code><em>n</em></td> +<td>chaîne</td> <td>Extensions subjectAltName de type otherName du +certificat client, forme Microsoft du nom principal de l'utilisateur (OID 1.3.6.1.4.1.311.20.2.3)</td></tr> +<tr><td><code>SSL_CLIENT_I_DN</code></td> <td>chaîne</td> +<td>DN de l'émetteur du certificat du client</td></tr> +<tr><td><code>SSL_CLIENT_I_DN_</code><em>x509</em></td> <td>chaîne</td> +<td>Elément du DN de l'émetteur du certificat du client</td></tr> +<tr><td><code>SSL_CLIENT_V_START</code></td> <td>chaîne</td> +<td>Validité du certificat du client (date de début)</td></tr> +<tr><td><code>SSL_CLIENT_V_END</code></td> <td>chaîne</td> +<td>Validité du certificat du client (date de fin)</td></tr> +<tr><td><code>SSL_CLIENT_V_REMAIN</code></td> <td>chaîne</td> +<td>Nombre de jours avant expiration du certificat du client</td></tr> +<tr><td><code>SSL_CLIENT_A_SIG</code></td> <td>chaîne</td> +<td>Algorithme utilisé pour la signature du certificat du client</td></tr> +<tr><td><code>SSL_CLIENT_A_KEY</code></td> <td>chaîne</td> +<td>Algorithme utilisé pour la clé publique du certificat du client</td></tr> +<tr><td><code>SSL_CLIENT_CERT</code></td> <td>chaîne</td> +<td>Certificat du client au format PEM</td></tr> +<tr><td><code>SSL_CLIENT_CERT_CHAIN_</code><em>n</em></td> +<td>chaîne</td> <td>Certificats de la chaîne de certification du +client au format PEM</td></tr> +<tr><td><code>SSL_CLIENT_CERT_RFC4523_CEA</code></td> <td>chaîne</td> +<td>Numéro de série et fournisseur du certificat. Le format correspond à +celui de la CertificateExactAssertion de la RFC4523</td></tr> +<tr><td><code>SSL_CLIENT_VERIFY</code></td> <td>chaîne</td> +<td><code>NONE</code>, <code>SUCCESS</code>, <code>GENEROUS</code> ou +<code>FAILED:</code><em>raison</em></td></tr> +<tr><td><code>SSL_SERVER_M_VERSION</code></td> <td>chaîne</td> +<td>La version du certificat du serveur</td></tr> +<tr><td><code>SSL_SERVER_M_SERIAL</code></td> <td>chaîne</td> <td> + +The serial of the server certificate</td></tr> +<tr><td><code>SSL_SERVER_S_DN</code></td> <td>chaîne</td> +<td>DN sujet du certificat du serveur</td></tr> +<tr><td><code>SSL_SERVER_S_DN_</code><em>x509</em></td> <td>chaîne</td> +<td>Elément du DN sujet du certificat du serveur</td></tr> +<tr><td><code>SSL_SERVER_SAN_Email_</code><em>n</em></td> +<td>chaîne</td> <td>Extensions subjectAltName de type rfc822Name du +certificat serveur</td></tr> +<tr><td><code>SSL_CLIENT_SAN_DNS_</code><em>n</em></td> <td>chaîne</td> +<td>Extensions subjectAltName de type dNSName du certificat serveur</td></tr> +<tr><td><code>SSL_SERVER_SAN_OTHER_dnsSRV_</code><em>n</em></td> +<td>chaîne</td> <td>Extensions subjectAltName de type otherName du +certificat serveur, sous la forme SRVName (OID 1.3.6.1.5.5.7.8.7, RFC 4985)</td></tr> +<tr><td><code>SSL_SERVER_I_DN</code></td> <td>chaîne</td> +<td>DN de l'émetteur du certificat du serveur</td></tr> +<tr><td><code>SSL_SERVER_I_DN_</code><em>x509</em></td> <td>chaîne</td> +<td>Elément du DN de l'émetteur du certificat du serveur</td></tr> +<tr><td><code>SSL_SERVER_V_START</code></td> <td>chaîne</td> +<td>Validité du certificat du serveur (date de dédut)</td></tr> +<tr><td><code>SSL_SERVER_V_END</code></td> <td>chaîne</td> +<td>Validité du certificat du serveur (date de fin)</td></tr> +<tr><td><code>SSL_SERVER_A_SIG</code></td> <td>chaîne</td> +<td>Algorithme utilisé pour la signature du certificat du serveur</td></tr> +<tr><td><code>SSL_SERVER_A_KEY</code></td> <td>chaîne</td> +<td>Algorithme utilisé pour la clé publique du certificat du serveur</td></tr> +<tr><td><code>SSL_SERVER_CERT</code></td> <td>chaîne</td> +<td>Certificat du serveur au format PEM</td></tr> +<tr><td><code>SSL_SRP_USER</code></td> <td>string</td> +<td>nom d'utilisateur SRP</td></tr> +<tr><td><code>SSL_SRP_USERINFO</code></td> <td>string</td> +<td>informations sur l'utilisateur SRP</td></tr> +<tr><td><code>SSL_TLS_SNI</code></td> <td>string</td> +<td>Contenu de l'extension SNI TLS (si supporté par ClientHello)</td></tr> +</table> + +<p><em>x509</em> spécifie un élément de DN X.509 parmi +<code>C,ST,L,O,OU,CN,T,I,G,S,D,UID,Email</code>. A partir de la version +2.1 d'Apache, <em>x509</em> peut aussi comporter un suffixe numérique +<code>_n</code>. Si le DN en question comporte plusieurs attributs de +noms identiques, ce suffixe constitue un index débutant à zéro et +permettant de sélectionner un +attribut particulier. Par exemple, si le DN sujet du certificat du +serveur comporte deux champs OU, on peut utiliser +<code>SSL_SERVER_S_DN_OU_0</code> et <code>SSL_SERVER_S_DN_OU_1</code> +pour référencer chacun d'entre eux. Un nom de variable sans suffixe +<code>_n</code> est équivalent au même nom avec le suffixe +<code>_0</code>, ce qui correspond au premier attribut (ou au seul) +caractérisant le DN. +Lorsque la table d'environnement est remplie en utilisant l'option +<code>StdEnvVars</code> de la directive <directive +module="mod_ssl">SSLOptions</directive>, le premier attribut (ou le +seul) caractérisant le DN est enregistré avec un nom sans suffixe ; +autrement dit, aucune entrée possédant comme suffixe <code>_0</code> +n'est enregistrée.</p> + +<p>Le format des variables <em>*_DN</em> a changé depuis la version +2.3.11 d'Apache HTTPD. Voir l'option <code>LegacyDNStringFormat</code> +de la directive <directive module="mod_ssl">SSLOptions</directive> pour +plus de détails.</p> + +<p><code>SSL_CLIENT_V_REMAIN</code> n'est disponible qu'à partir de la +version 2.1.</p> + +<p>Plusieurs variables d'environnement additionnelles peuvent être +utilisées dans les expressions <directive>SSLRequire</directive>, ou +dans les formats de journalisation personnalisés :</p> + +<note><pre>HTTP_USER_AGENT PATH_INFO AUTH_TYPE +HTTP_REFERER QUERY_STRING SERVER_SOFTWARE +HTTP_COOKIE REMOTE_HOST API_VERSION +HTTP_FORWARDED REMOTE_IDENT TIME_YEAR +HTTP_HOST IS_SUBREQ TIME_MON +HTTP_PROXY_CONNECTION DOCUMENT_ROOT TIME_DAY +HTTP_ACCEPT SERVER_ADMIN TIME_HOUR +THE_REQUEST SERVER_NAME TIME_MIN +REQUEST_FILENAME SERVER_PORT TIME_SEC +REQUEST_METHOD SERVER_PROTOCOL TIME_WDAY +REQUEST_SCHEME REMOTE_ADDR TIME +REQUEST_URI REMOTE_USER</pre></note> + +<p>Dans ces contextes, deux formats spéciaux peuvent aussi être utilisés +:</p> + +<dl> + <dt><code>ENV:<em>nom_variable</em></code></dt> + <dd>Correspond à la variable d'environnement standard + <em>nom_variable</em>.</dd> + + <dt><code>HTTP:<em>nom_en-tête</em></code></dt> + <dd>Correspond à la valeur de l'en-tête de requête dont le nom est + <em>nom_en-tête</em>.</dd> +</dl> + +</section> + +<section id="logformats"><title>Formats de journaux +personnalisés</title> + +<p>Lorsque <module>mod_ssl</module> est compilé dans le serveur Apache +ou même chargé (en mode DSO), des fonctions supplémentaires sont +disponibles pour le <a +href="mod_log_config.html#formats">Format de journal personnalisé</a> du +module <module>mod_log_config</module>. A ce titre, la fonction de +format d'eXtension ``<code>%{</code><em>nom-var</em><code>}x</code>'' +peut être utilisée pour présenter en extension toute variable fournie +par tout module, et en particulier celles fournies par mod_ssl et que +vous trouverez dans la table ci-dessus.</p> +<p> +A des fins de compatibilité ascendante, il existe une fonction de format +cryptographique supplémentaire +``<code>%{</code><em>nom</em><code>}c</code>''. Vous trouverez toutes +les informations à propos de cette fonction dans le chapitre <a +href="../ssl/ssl_compat.html">Compatibilité</a>.</p> +<example><title>Exemple</title> +<highlight language="config"> +CustomLog "logs/ssl_request_log" "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b" +</highlight> +</example> +<p>Ces formats sont disponibles même si l'option <code>StdEnvVars</code> de la +directive <directive module="mod_ssl">SSLOptions</directive> n'a pas été +définie.</p> +</section> + +<section id="notes"><title>Information à propos de la requête</title> + +<p><module>mod_ssl</module> enregistre des informations à propos de la +requête que l'on peut restituer dans les journaux avec la chaîne de +format <code>%{<em>nom</em>}n</code> via le module +<module>mod_log_config</module>.</p> + +<p>Les informations enregistrées sont les suivantes :</p> + +<dl> + <dt><code>ssl-access-forbidden</code></dt> + <dd>Cette information contient la valeur <code>1</code> si l'accès a + été refusé suite à une directive <directive>SSLRequire</directive> ou + <directive>SSLRequireSSL</directive>.</dd> + + <dt><code>ssl-secure-reneg</code></dt> + <dd>Si <module>mod_ssl</module> a été compilé avec une version + d'OpenSSL qui supporte la renégociation sécurisée, si SSL est utilisé + pour la connexion courante et si le client supporte lui aussi la + renégociation sécurisée, cette information contiendra la valeur + <code>1</code>. Si le client ne supporte pas la renégociation + sécurisée, l'information contiendra la valeur <code>0</code>. Si + <module>mod_ssl</module> n'a pas été compilé avec une version + d'OpenSSL qui supporte la renégociation sécurisée, ou si SSL n'est pas + utilisé pour la connexion courante, le contenu de l'information ne + sera pas défini.</dd> +</dl> + +</section> + +<section id="expressionparser"><title>Extension pour l'interprétation +des expressions</title> + +<p>Lorsque <module>mod_ssl</module> est compilé statiquement avec +Apache, ou même chargé dynamiquement (en tant que module DSO), toute <a +name="envvars">variable</a> en provenance de <module>mod_ssl</module> peut +être utilisée pour l'<a href="../expr.html">interprétation des +expression ap_expr</a>. Les variables peuvent être référencées en +utilisant la syntaxe ``<code>%{</code><em>varname</em><code>}</code>''. +A partir de la version 2.4.18, on peut aussi utiliser la syntaxe de +style <module>mod_rewrite</module> +``<code>%{SSL:</code><em>varname</em><code>}</code>'', ou la syntaxe de +style fonction ``<code>ssl(</code><em>varname</em><code>)</code>''.</p> +<example><title>Exemple (en utilisant <module>mod_headers</module>)</title> +<highlight language="config"> +Header set X-SSL-PROTOCOL "expr=%{SSL_PROTOCOL}" +Header set X-SSL-CIPHER "expr=%{SSL:SSL_CIPHER}" +</highlight> +</example> +<p>Cette fonctionnalité est disponible même si l'option +<code>StdEnvVars</code> de la directive <directive +module="mod_ssl">SSLOptions</directive> n'a pas été définie.</p> +</section> + +<section id="authzproviders"><title>Fournisseurs d'autorisation +disponibles avec Require</title> + + <p><module>mod_ssl</module> propose quelques fournisseurs + d'autorisation à utiliser avec la directive <directive + module="mod_authz_core">Require</directive> du module + <module>mod_authz_core</module>.</p> + + <section id="reqssl"><title>Require ssl</title> + + <p>Le fournisseur <code>ssl</code> refuse l'accès si une connexion + n'est pas chiffrée avec SSL. L'effet est similaire à celui de la + directive <directive>SSLRequireSSL</directive>.</p> + + + <highlight language="config"> + Require ssl +</highlight> + + + </section> + + <section id="reqverifyclient"><title>Require ssl-verify-client</title> + + <p>Le fournisseur <code>ssl</code> autorise l'accès si + l'utilisateur est authentifié via un certificat client valide. Ceci + n'a un effet que si <code>SSLVerifyClient optional</code> est actif.</p> + + <p>Dans l'exemple suivant, l'accès est autorisé si le client est + authentifié via un certificat client ou par nom d'utilisateur/mot de + passe :</p> + + <highlight language="config"> +Require ssl-verify-client +Require valid-user + </highlight> + + </section> + +</section> + +<directivesynopsis> +<name>SSLPassPhraseDialog</name> +<description>Méthode utilisée pour entrer le mot de passe pour les clés +privées chiffrées</description> +<syntax>SSLPassPhraseDialog <em>type</em></syntax> +<default>SSLPassPhraseDialog builtin</default> +<contextlist><context>server config</context></contextlist> + +<usage> +<p> +Lors de son démarrage, Apache doit lire les différents fichiers de +certificats (voir la directive <directive +module="mod_ssl">SSLCertificateFile</directive>) et de clés privées +(voir la directive <directive +module="mod_ssl">SSLCertificateKeyFile</directive>) des serveurs +virtuels où SSL est activé. Comme, pour des raisons de sécurité, les +fichiers de clés privées sont en général chiffrés, mod_ssl doit +demander à l'administrateur un mot de passe pour déchiffrer ces +fichiers. L'argument <em>type</em> permet de choisir la manière dont +cette demande peut être formulée parmi les trois suivantes :</p> +<ul> +<li><code>builtin</code> + <p> + C'est la méthode par défaut, et un dialogue interactive de terminal + s'ouvre au cours du démarrage juste avant qu'Apache ne se détache du + terminal. A ce moment, l'administrateur doit entrer manuellement un + mot de passe pour chaque fichier de clé privée chiffré. Etant donné + qu'il peut y avoir un grand nombre de serveurs virtuels configurés + avec SSL activé, le protocole de réutilisation suivant est utilisé + pour minimiser le dialogue : lorsqu'un fichier de clé privée est + chiffré, tous les mots de passe connus (au début, il n'y en a aucun, + bien entendu) sont essayés. Si l'un de ces mots de passe connus + convient, aucun dialogue ne s'ouvrira pour ce fichier de + clé privée particulier. Si aucun ne convient, un autre mot de passe + sera demandé à partir du terminal et sera mis en mémoire pour le + fichier de clé privée suivant (pour lequel il pourra éventuellement + être réutilisé).</p> + <p> + Cette méthode confère à mod_ssl une grande souplesse (car pour N + fichiers de clé privée chiffrés, vous <em>pouvez</em> utiliser N + mots de passe différents - mais vous devrez alors tous les fournir, + bien entendu), tout en minimisant le dialogue de terminal (vous + pouvez en effet utiliser un seul mot de passe pour les N fichiers de + clé privée et vous n'aurez alors à l'entrer qu'une seule + fois).</p></li> + +<li><code>|/chemin/vers/programme [arguments...]</code> + + <p>Ce mode permet d'utiliser un programme externe qui va se présenter + comme une redirection vers un périphérique d'entrée particulier ; le + texte de prompt standard utilisé pour le mode <code>builtin</code> + est envoyé au programme sur <code>stdin</code>, et celui-ci doit + renvoyer des mots de passe sur <code>stdout</code>. Si + plusieurs mots de passe sont requis (ou si un mot de passe incorrect + a été entré), un texte de prompt supplémentaire sera écrit après le + retour du premier mot de passe, et d'autres mots de passe devront + alors être réécrits.</p></li> + +<li><code>exec:/chemin/vers/programme</code> + <p> + Ici, un programme externe est appelé au démarrage du serveur pour + chaque fichier de clé privée chiffré. Il est + appelé avec un + argument, une chaîne de la forme + "<code>servername:portnumber:index</code>" (index étant un numéro + d'ordre débutant 0), qui indique pour quels serveur, port TCP et + numéro de certificat il doit écrire le mot de + passe correspondant sur <code>stdout</code>. Le but recherché est + l'exécution de vérifications de sécurité préalables permettant de + s'assurer que le système n'est pas victime d'une attaque, et de ne + fournir le mot de passe que si toutes les vérifications ont été + effectuées avec succès.</p> + <p> + Ces vérifications de sécurité, ainsi que la manière dont le mot de + passe est déterminé peuvent être aussi sophistiqués que vous le + désirez. Mod_ssl ne définit que l'interface : un programme + exécutable qui écrit le mot de passe sur <code>stdout</code>. Ni + plus, ni moins ! Ainsi, si vous êtes vraiment paranoïaque en matière + de sécurité, voici votre interface. Tout le reste doit être confié à + l'administrateur à titre d'exercice, car les besoins en sécurité + locale sont très différents.</p> + <p> + L'algorithme de réutilisation est utilisé ici aussi. En d'autres + termes, le programme externe n'est appelé qu'une fois par mot de + passe unique.</p></li> +</ul> +<example><title>Exemple</title> +<highlight language="config"> +SSLPassPhraseDialog exec:/usr/local/apache/sbin/pp-filter +</highlight> +</example> +</usage> +</directivesynopsis> + +<directivesynopsis> +<name>SSLRandomSeed</name> +<description>Source de déclenchement du Générateur de Nombres +Pseudo-Aléatoires (PRNG)</description> +<syntax>SSLRandomSeed <em>contexte</em> <em>source</em> +[<em>nombre</em>]</syntax> +<contextlist><context>server config</context></contextlist> + +<usage> +<p> +Cette directive permet de définir une ou plusieurs sources de +déclenchement du Générateur de Nombres Pseudo-Aléatoires (PRNG) dans +OpenSSL au démarrage du serveur (si <em>contexte</em> a pour valeur +<code>startup</code>) et/ou juste avant l'établissement d'une nouvelle +connexion SSL (si <em>contexte</em> a pour valeur <code>connect</code>). +Cette directive ne peut être utilisée qu'au niveau du serveur global car +le PRNG est un service global.</p> +<p> +Les différentes valeurs de <em>source</em> disponibles sont :</p> +<ul> +<li><code>builtin</code> + <p>Cette source de déclenchement intégrée est toujours disponible. + Son utilisation consomme un minimum de cycles CPU en cours + d'exécution, et son utilisation ne présente de ce fait aucun + problème. La source utilisée pour déclencher le PRNG contient la + date courante, l'identifiant du processus courant et (si disponible) + un extrait de 1Ko aléatoirement choisi de la structure d'Apache pour + les échanges inter-processus. Ceci présente un inconvénient car le + caractère aléatoire de cette source n'est pas vraiment fort, et au + démarrage (lorsque la structure d'échanges n'est pas encore + disponible), cette source ne produit que quelques octets d'entropie. + Vous devez donc toujours utiliser une source de déclenchement + additionnelle, au moins pour le démarrage.</p></li> +<li><code>file:/chemin/vers/source</code> + <p> + Cette variante utilise un fichier externe + <code>file:/chemin/vers/source</code> comme source de déclenchement + du PRNG. Lorsque <em>nombre</em> est spécifié, seuls les + <em>nombre</em> premiers octets du fichier forment l'entropie (et + <em>nombre</em> est fourni comme premier argument à + <code>/chemin/vers/source</code>). Lorsque <em>nombre</em> n'est pas + spécifié, l'ensemble du fichier forme l'entropie (et <code>0</code> + est fourni comme premier argument à + <code>/chemin/vers/source</code>). Utilisez cette source en + particulier au démarrage, par exemple avec un fichier de + périphérique <code>/dev/random</code> et/ou + <code>/dev/urandom</code> (qui sont en général présent sur les + plate-formes dérivées d'Unix modernes comme FreeBSD et Linux).</p> + <p><em>Soyez cependant prudent</em> : en général, + <code>/dev/random</code> ne fournit que l'entropie dont il dispose + réellement ; en d'autres termes, lorsque vous demandez 512 octets + d'entropie, si le périphérique ne dispose que de 100 octets, deux + choses peuvent se produire : sur certaines plates-formes, vous ne + recevez que les 100 octets, alors que sur d'autres, la lecture se + bloque jusqu'à ce qu'un nombre suffisant d'octets soit disponible + (ce qui peut prendre beaucoup de temps). Il est préférable ici + d'utiliser le périphérique <code>/dev/urandom</code>, car il ne se + bloque jamais et fournit vraiment la quantité de données demandées. + Comme inconvénient, les données reçues ne sont pas forcément de la + meilleure qualité.</p></li> + +<li><code>exec:/chemin/vers/programme</code> + <p> + Cette variante utilise un exécutable externe + <code>/chemin/vers/programme</code> comme source de déclenchement du + PRNG. Lorsque <em>nombre</em> est spécifié, seules les + <em>nombre</em> premiers octets de son flux <code>stdout</code> + forment l'entropie. Lorsque <em>nombre</em> n'est pas spécifié, + l'intégralité des données produites sur <code>stdout</code> forment + l'entropie. N'utilisez cette variante qu'au démarrage où une source + de déclenchement fortement aléatoire est nécessaire, en utilisant + un programme externe (comme dans l'exemple + ci-dessous avec l'utilitaire <code>truerand</code> basé sur la + bibliothèque <em>truerand</em> de AT&T que vous trouverez + dans la distribution de mod_ssl). Bien entendu, l'utilisation de + cette variante dans un contexte "connection" ralentit le serveur de + manière trop importante, et en général, vous devez donc éviter + d'utiliser des programmes externes dans ce contexte.</p></li> +<li><code>egd:/chemin/vers/socket-egd</code> (Unix seulement) + <p>Cette variante utilise le socket de domaine Unix du Démon + Générateur d'Entropie externe ou Entropy Gathering Daemon ou EGD + (voir <a + href="http://www.lothar.com/tech/crypto/">http://www.lothar.com/tech + /crypto/</a>) pour déclencher le PRNG. N'utilisez cette variante que + si votre plate-forme ne possède pas de périphérique random ou + urandom.</p></li> +</ul> +<example><title>Exemple</title> +<highlight language="config"> +SSLRandomSeed startup builtin +SSLRandomSeed startup file:/dev/random +SSLRandomSeed startup file:/dev/urandom 1024 +SSLRandomSeed startup exec:/usr/local/bin/truerand 16 +SSLRandomSeed connect builtin +SSLRandomSeed connect file:/dev/random +SSLRandomSeed connect file:/dev/urandom 1024 +</highlight> +</example> +</usage> +</directivesynopsis> + +<directivesynopsis> +<name>SSLSessionCache</name> +<description>Type du cache de session SSL global et +inter-processus</description> +<syntax>SSLSessionCache <em>type</em></syntax> +<default>SSLSessionCache none</default> +<contextlist><context>server config</context></contextlist> + +<usage> +<p> +Cette directive permet de configurer le type de stockage du cache de +session SSL global et inter-processus. Ce cache est une fonctionnalité +optionnelle qui accélère le traitement parallèle des requêtes. Pour ce +qui est des requêtes vers un même processus du serveur (via HTTP +keep-alive), OpenSSL met en cache les informations de session SSL en +interne. Mais comme les clients modernes demandent des images en ligne +et d'autres données via des requêtes parallèles (un nombre de quatre +requêtes parallèles est courant), ces requêtes vont être servies par +<em>plusieurs</em> processus du serveur pré-déclenchés. Ici, un cache +inter-processus permet d'éviter des négociations de session +inutiles.</p> +<p> +Les quatre <em>type</em>s de stockage suivants sont actuellement +supportés :</p> +<ul> +<li><code>none</code> + + <p>Cette valeur désactive le cache de session global et + inter-processus, ce qui va ralentir le serveur de manière sensible + et peut poser problème avec certains navigateurs, en particulier si + les certificats clients sont activés. Cette configuration n'est pas + recommandée.</p></li> + +<li><code>nonenotnull</code> + + <p>Cette valeur désactive tout cache de session global et + inter-processus. Cependant, elle force OpenSSL à envoyer un + identifiant de session non nul afin de s'adapter aux clients bogués + qui en nécessitent un.</p></li> + +<li><code>dbm:/chemin/vers/fichier-données</code> + + <p>Cette valeur utilise un fichier de hashage DBM sur disque local + pour synchroniser les caches OpenSSL locaux en mémoire des processus + du serveur. Ce cache de session peut être sujet à des problèmes de + fiabilité sous forte charge. Pour l'utiliser, le module + <module>mod_socache_dbm</module> doit être chargé.</p></li> + +<li><code>shmcb:/chemin/vers/fichier-données</code>[<code>(</code><em>nombre</em><code>)</code>] + + <p>Cette valeur utilise un tampon cyclique à hautes performances + (d'une taille d'environ <em>nombre</em> octets) dans un segment de + mémoire partagée en RAM (établi via + <code>/chemin/vers/fichier-données</code>, pour synchroniser les + caches OpenSSL locaux en mémoire des processus du serveur. C'est le + type de cache de session recommandé. Pour l'utiliser, le module + <module>mod_socache_shmcb</module> doit être chargé.</p></li> + +<li><code>dc:UNIX:/chemin/vers/socket</code> + + <p>Cette valeur utilise les bibliothèques de mise en cache de + sessions distribuée sur <a + href="http://distcache.sourceforge.net/">distcache</a>. + L'argument doit spécifier le serveur ou mandataire à utiliser en + utilisant la syntaxe d'adressage distcache ; par exemple, + <code>UNIX:/chemin/vers/socket</code> spécifie un socket de domaine + Unix (en général un mandataire de dc_client local) ; + <code>IP:serveur.example.com:9001</code> spécifie une adresse IP. + Pour l'utiliser, le module <module>mod_socache_dc</module> doit être + chargé.</p></li> + +</ul> + +<example><title>Exemples</title> +<highlight language="config"> +SSLSessionCache dbm:/usr/local/apache/logs/ssl_gcache_data +SSLSessionCache shmcb:/usr/local/apache/logs/ssl_gcache_data(512000) +</highlight> +</example> + +<p>Le mutex <code>ssl-cache</code> permet de sérialiser l'accès au cache +de session afin d'éviter toute corruption. Ce mutex peut être configuré +via la directive <directive module="core">Mutex</directive>.</p> +</usage> +</directivesynopsis> + +<directivesynopsis> +<name>SSLSessionCacheTimeout</name> +<description>Nombre de secondes avant l'expiration d'une session SSL +dans le cache de sessions</description> +<syntax>SSLSessionCacheTimeout <em>secondes</em></syntax> +<default>SSLSessionCacheTimeout 300</default> +<contextlist><context>server config</context> +<context>virtual host</context></contextlist> +<compatibility>S'applique aussi au renouvellement de la session TLS de +la RFC 5077 à partir de la version 2.4.10 du serveur HTTP Apache</compatibility> + +<usage> +<p> +Cette directive permet de définir la durée de vie en secondes des +informations stockées dans le cache de sessions SSL global et +inter-processus, dans le cache OpenSSL interne en mémoire et pour +les sessions réinitialisées par la reprise de session TLS (RFC 5077). elle peut +être définie à une valeur d'environ 15 à des fins de test, mais à une +valeur très supérieure comme 300 en production.</p> +<example><title>Exemple</title> +<highlight language="config"> +SSLSessionCacheTimeout 600 +</highlight> +</example> +</usage> +</directivesynopsis> + +<directivesynopsis> +<name>SSLEngine</name> +<description>Interrupteur marche/arrêt du moteur SSL</description> +<syntax>SSLEngine on|off|optional</syntax> +<default>SSLEngine off</default> +<contextlist><context>server config</context> +<context>virtual host</context></contextlist> + +<usage> +<p> +Cette directive permet d'activer/désactiver le moteur du protocole +SSL/TLS. Elle doit être utilisée dans une section <directive +module="core" type="section">VirtualHost</directive> pour activer +SSL/TLS pour ce serveur virtuel particulier. Par défaut, le moteur du +protocole SSL/TLS est désactivé pour le serveur principal et tous les +serveurs virtuels configurés.</p> +<example><title>Exemple</title> +<highlight language="config"> +<VirtualHost _default_:443> +SSLEngine on +#... +</VirtualHost> +</highlight> +</example> +<p>Depuis la version 2.1 d'Apache, la directive +<directive>SSLEngine</directive> peut être définie à +<code>optional</code>, ce qui active le support de <a +href="http://www.ietf.org/rfc/rfc2817.txt">RFC 2817</a>, Upgrading to +TLS Within HTTP/1.1. Pour le moment, aucun navigateur web ne supporte +RFC 2817.</p> +</usage> +</directivesynopsis> + +<directivesynopsis> +<name>SSLFIPS</name> +<description>Coimmutateur du mode SSL FIPS</description> +<syntax>SSLFIPS on|off</syntax> +<default>SSLFIPS off</default> +<contextlist><context>server config</context></contextlist> + +<usage> +<p> +Cette directive permet d'activer/désactiver l'utilisation du drapeau +FIPS_mode de la bibliothèque SSL. Elle doit être définie dans le +contexte du serveur principal, et n'accepte pas les configurations +sources de conflits (SSLFIPS on suivi de SSLFIPS off par exemple). Le +mode s'applique à toutes les opérations de la bibliothèque SSL. +</p> +<p> +Si httpd a été compilé avec une bibliothèque SSL qui ne supporte pas le +drapeau FIPS_mode, la directive <code>SSLFIPS on</code> échouera. +Reportez-vous au document sur la politique de sécurité FIPS 140-2 de la +bibliothèque du fournisseur SSL, pour les prérequis spécifiques +nécessaires à l'utilisation de mod_ssl selon un mode d'opération +approuvé par FIPS 140-2 ; notez que mod_ssl en lui-même n'est pas +validé, mais peut être décrit comme utilisant un module de chiffrement +validé par FIPS 140-2, lorsque tous les composants sont assemblés et mis +en oeuvre selon les recommandations de la politique de sécurité +applicable. +</p> +</usage> +</directivesynopsis> + +<directivesynopsis> +<name>SSLProtocol</name> +<description>Indique les versions du protocole SSL/TLS +disponibles</description> +<syntax>SSLProtocol [+|-]<em>protocole</em> ...</syntax> +<default>SSLProtocol all -SSLv3</default> +<contextlist><context>server config</context> +<context>virtual host</context></contextlist> + +<usage> +<p> +Cette directive permet de définir quelles versions du protocole SSL/TLS +seront acceptées lors de l'initialisation d'une nouvelle connexion.</p> +<p> +Les <em>protocole</em>s disponibles sont les suivants (sensibles à la +casse) :</p> +<ul> +<li><code>SSLv3</code> + <p> + Il s'agit du protocole Secure Sockets Layer (SSL) version 3.0 de + Netscape Corporation. C'est le successeur de SSLv2 et le + prédécesseur de TLSv1, mais est considéré comme + obsolète dans la <a href="http://www.ietf.org/rfc/rfc7568.txt">RFC + 7568</a></p></li> + +<li><code>TLSv1</code> + <p> + Il s'agit du protocole Transport Layer Security (TLS) version 1.0. + C'est le successeur de SSLv3, et il est défini dans la <a + href="http://www.ietf.org/rfc/rfc2246.txt">RFC2246</a>.</p></li> + +<li><code>TLSv1.1</code> (à partir de la version 1.0.1 d'OpenSSL) + <p> + Une révision du protocole TLS 1.0 définie dans la <a + href="http://www.ietf.org/rfc/rfc4346.txt">RFC 4346</a>. Il est + supporté par la plupart des clients.</p></li> + +<li><code>TLSv1.2</code> (à partir de la version 1.0.1 d'OpenSSL) + <p> + Une révision du protocole TLS 1.1 définie dans la <a + href="http://www.ietf.org/rfc/rfc5246.txt">RFC 5246</a>.</p></li> + +<li><code>all</code> + <p> + C'est un raccourci pour ``<code>+SSLv3 +TLSv1</code>'' ou - à partir + de la version 1.0.1 d'OpenSSL - ``<code>+SSLv3 +TLSv1 +TLSv1.1 + +TLSv1.2</code>'' (sauf si OpenSSL a été compilé avec l'option + ``no-ssl3'', auquel cas <code>all</code> n'inclura pas + <code>+SSLv3</code>).</p></li> +</ul> +<example><title>Exemple</title> +<highlight language="config"> +SSLProtocol TLSv1 +</highlight> +</example> +</usage> +</directivesynopsis> + +<directivesynopsis> +<name>SSLCipherSuite</name> +<description>Algorithmes de chiffrement disponibles pour la négociation +au cours de l'initialisation de la connexion SSL</description> +<syntax>SSLCipherSuite <em>algorithmes</em></syntax> +<default>SSLCipherSuite DEFAULT (dépend de la version d'OpenSSL +installée)</default> +<contextlist><context>server config</context> +<context>virtual host</context> +<context>directory</context> +<context>.htaccess</context></contextlist> +<override>AuthConfig</override> + +<usage> +<p> +Cette directive complexe utilise la chaîne <em>algorithmes</em> +contenant la liste des algorithmes de chiffrement OpenSSL que le client +peut utiliser au cours de la phase d'initialisation de la connexion SSL. +Notez que cette directive peut être utilisée aussi bien dans un contexte +de serveur que dans un contexte de répertoire. Dans un contexte de +serveur, elle s'applique à l'initialisation SSL standard lorsqu'une +connexion est établie. Dans un contexte de répertoire, elle force une +renégociation SSL avec la liste d'algorithmes de chiffrement spécifiée +après la lecture d'une requête HTTP, mais avant l'envoi de la réponse +HTTP.</p> +<p> +La liste d'algorithmes de chiffrement SSL spécifiée par l'argument +<em>algorithmes</em> comporte quatre attributs principaux auxquels +s'ajoutent quelques attributs secondaires :</p> +<ul> +<li><em>Algorithme d'échange de clés</em>:<br /> + RSA, Diffie-Hellman, Elliptic Curve Diffie-Hellman, Secure Remote Password. +</li> +<li><em>Algorithme d'authentification</em>:<br /> + RSA, Diffie-Hellman, DSS, ECDSA, ou none. +</li> +<li><em>Algorithme de chiffrement</em>:<br /> + AES, DES, Triple-DES, RC4, RC2, IDEA, etc... +</li> +<li><em>Algorithme de condensé MAC</em>:<br /> + MD5, SHA ou SHA1, SHA256, SHA384. +</li> +</ul> +<p>L'algorithme de chiffrement peut aussi provenir de l'extérieur. Les +algorithmes SSLv2 ne sont plus supportés. +Pour définir les algorithmes à utiliser, on +peut soit spécifier tous les algorithmes à la fois, soit utiliser des +alias pour spécifier une liste d'algorithmes dans leur ordre de +préférence (voir <a href="#table1">Table 1</a>). Les algorithmes et +alias effectivement disponibles dépendent de la version d'openssl +utilisée. Les versions ultérieures d'openssl sont susceptibles d'inclure +des algorithmes supplémentaires.</p> + +<table border="1"> +<columnspec><column width=".5"/><column width=".5"/></columnspec> +<tr><th><a name="table1">Symbole</a></th> <th>Description</th></tr> +<tr><td colspan="2"><em>Algorithme d'échange de clés :</em></td></tr> +<tr><td><code>kRSA</code></td> <td>Echange de clés RSA</td></tr> +<tr><td><code>kDHr</code></td> <td>Echange de clés Diffie-Hellman avec +clé RSA</td></tr> +<tr><td><code>kDHd</code></td> <td>Echange de clés Diffie-Hellman avec +clé DSA</td></tr> +<tr><td><code>kEDH</code></td> <td>Echange de clés Diffie-Hellman +temporaires (pas de certificat)</td> </tr> +<tr><td><code>kSRP</code></td> <td>échange de clés avec mot de passe +distant sécurisé (SRP)</td></tr> +<tr><td colspan="2"><em>Algorithmes d'authentification :</em></td></tr> +<tr><td><code>aNULL</code></td> <td>Pas d'authentification</td></tr> +<tr><td><code>aRSA</code></td> <td>Authentification RSA</td></tr> +<tr><td><code>aDSS</code></td> <td>Authentification DSS</td> </tr> +<tr><td><code>aDH</code></td> <td>Authentification Diffie-Hellman</td></tr> +<tr><td colspan="2"><em>Algorithmes de chiffrement :</em></td></tr> +<tr><td><code>eNULL</code></td> <td>Pas de chiffrement</td> </tr> +<tr><td><code>NULL</code></td> <td>alias pour eNULL</td> </tr> +<tr><td><code>AES</code></td> <td>Chiffrement AES</td> </tr> +<tr><td><code>DES</code></td> <td>Chiffrement DES</td> </tr> +<tr><td><code>3DES</code></td> <td>Chiffrement Triple-DES</td> </tr> +<tr><td><code>RC4</code></td> <td>Chiffrement RC4</td> </tr> +<tr><td><code>RC2</code></td> <td>Chiffrement RC2</td> </tr> +<tr><td><code>IDEA</code></td> <td>Chiffrement IDEA</td> </tr> +<tr><td colspan="2"><em>Algorithmes de condensés MAC </em>:</td></tr> +<tr><td><code>MD5</code></td> <td>Fonction de hashage MD5</td></tr> +<tr><td><code>SHA1</code></td> <td>Fonction de hashage SHA1</td></tr> +<tr><td><code>SHA</code></td> <td>alias pour SHA1</td> </tr> +<tr><td><code>SHA256</code></td> <td>Fonction de hashage SHA256</td> </tr> +<tr><td><code>SHA384</code></td> <td>Fonction de hashage SHA384</td> </tr> +<tr><td colspan="2"><em>Alias :</em></td></tr> +<tr><td><code>SSLv3</code></td> <td>tous les algorithmes de chiffrement +SSL version 3.0</td> </tr> +<tr><td><code>TLSv1</code></td> <td>tous les algorithmes de chiffrement +TLS version 1.0</td> </tr> +<tr><td><code>EXP</code></td> <td>tous les algorithmes de chiffrement +externes</td> </tr> +<tr><td><code>EXPORT40</code></td> <td>tous les algorithmes de chiffrement +externes limités à 40 bits</td> </tr> +<tr><td><code>EXPORT56</code></td> <td>tous les algorithmes de chiffrement +externes limités à 56 bits</td> </tr> +<tr><td><code>LOW</code></td> <td>tous les algorithmes de chiffrement +faibles (non externes, DES simple)</td></tr> +<tr><td><code>MEDIUM</code></td> <td>tous les algorithmes avec +chiffrement 128 bits</td> </tr> +<tr><td><code>HIGH</code></td> <td>tous les algorithmes +utilisant Triple-DES</td> </tr> +<tr><td><code>RSA</code></td> <td>tous les algorithmes +utilisant l'échange de clés RSA</td> </tr> +<tr><td><code>DH</code></td> <td>tous les algorithmes +utilisant l'échange de clés Diffie-Hellman</td> </tr> +<tr><td><code>EDH</code></td> <td>tous les algorithmes +utilisant l'échange de clés Diffie-Hellman temporaires</td> </tr> +<tr><td><code>ECDH</code></td> <td>Echange de clés Elliptic Curve Diffie-Hellman</td> </tr> +<tr><td><code>ADH</code></td> <td>tous les algorithmes +utilisant l'échange de clés Diffie-Hellman anonymes</td> </tr> +<tr><td><code>AECDH</code></td> <td>tous les algorithmes utilisant +l'échange de clés Elliptic Curve Diffie-Hellman</td> </tr> +<tr><td><code>SRP</code></td> <td>tous les algorithmes utilisant +l'échange de clés avec mot de passe distant sécurisé (SRP)</td> </tr> +<tr><td><code>DSS</code></td> <td>tous les algorithmes +utilisant l'authentification DSS</td> </tr> +<tr><td><code>ECDSA</code></td> <td>tous les algorithmes utilisant +l'authentification ECDSA</td> </tr> +<tr><td><code>aNULL</code></td> <td>tous les algorithmes n'utilisant +aucune authentification</td> </tr> +</table> +<p> +Cela devient intéressant lorsque tous ces symboles sont combinés +ensemble pour spécifier les algorithmes disponibles et l'ordre dans +lequel vous voulez les utiliser. Pour simplifier tout cela, vous +disposez aussi d'alias (<code>SSLv3, TLSv1, EXP, LOW, MEDIUM, +HIGH</code>) pour certains groupes d'algorithmes. Ces symboles peuvent +être reliés par des préfixes pour former la chaîne <em>algorithmes</em>. +Les préfixes disponibles sont :</p> +<ul> +<li>none: ajoute l'algorithme à la liste</li> +<li><code>+</code>: déplace les algorithmes qui conviennent à la +place courante dans la liste</li> +<li><code>-</code>: supprime l'algorithme de la liste (peut être rajouté +plus tard)</li> +<li><code>!</code>: supprime définitivement l'algorithme de la liste (ne +peut <strong>plus</strong> y être rajouté plus tard)</li> +</ul> + +<note> +<title>Les algorithmes <code>aNULL</code>, <code>eNULL</code> et +<code>EXP</code> sont toujours désactivés</title> +<p>Depuis la version 2.4.7, les +algorithmes de type null ou destinés à l'exportation sont toujours +désactivés car mod_ssl ajoute obligatoirement +<code>!aNULL:!eNULL:!EXP</code> à toute chaîne d'algorithme de +chiffrement à l'initialisation.</p> +</note> + +<p>Pour vous simplifier la vie, vous pouvez utiliser la commande +``<code>openssl ciphers -v</code>'' qui vous fournit un moyen simple de +créer la chaîne <em>algorithmes</em> avec succès. La chaîne +<em>algorithmes</em> par défaut dépend de la version des bibliothèques +SSL installées. Supposons qu'elle contienne +``<code>RC4-SHA:AES128-SHA:HIGH:MEDIUM:!aNULL:!MD5</code>'', ce qui +stipule de mettre <code>RC4-SHA</code> et <code>AES128-SHA</code> en +premiers, car ces algorithmes présentent un bon compromis entre vitesse +et sécurité. Viennent ensuite les algorithmes de sécurité élevée et +moyenne. En fin de compte, les algorithmes qui n'offrent aucune +authentification sont exclus, comme les algorithmes anonymes +Diffie-Hellman pour SSL, ainsi que tous les algorithmes qui utilisent +<code>MD5</code> pour le hashage, car celui-ci est reconnu comme +insuffisant.</p> +<example> +<pre> +$ openssl ciphers -v 'RC4-SHA:AES128-SHA:HIGH:MEDIUM:!aNULL:!MD5' +RC4-SHA SSLv3 Kx=RSA Au=RSA Enc=RC4(128) Mac=SHA1 +AES128-SHA SSLv3 Kx=RSA Au=RSA Enc=AES(128) Mac=SHA1 +DHE-RSA-AES256-SHA SSLv3 Kx=DH Au=RSA Enc=AES(256) Mac=SHA1 +... ... ... ... ... +SEED-SHA SSLv3 Kx=RSA Au=RSA Enc=SEED(128) Mac=SHA1 +PSK-RC4-SHA SSLv3 Kx=PSK Au=PSK Enc=RC4(128) Mac=SHA1 +KRB5-RC4-SHA SSLv3 Kx=KRB5 Au=KRB5 Enc=RC4(128) Mac=SHA1 +</pre> +</example> +<p>Vous trouverez la liste complète des algorithmes RSA & DH +spécifiques à SSL dans la <a href="#table2">Table 2</a>.</p> +<example><title>Exemple</title> +<highlight language="config"> +SSLCipherSuite RSA:!EXP:!NULL:+HIGH:+MEDIUM:-LOW +</highlight> +</example> +<table border="1"> +<columnspec><column width=".3"/><column width=".1"/><column width=".13"/> +<column width=".1"/><column width=".13"/><column width=".1"/> +<column width=".13"/></columnspec> +<tr><th><a name="table2">Symbole algorithme</a></th> <th>Protocole</th> +<th>Echange de clés</th> <th>Authentification</th> <th>Chiffrement</th> +<th>Condensé MAC</th> <th>Type</th> </tr> +<tr><td colspan="7"><em>Algorithmes RSA :</em></td></tr> +<tr><td><code>DES-CBC3-SHA</code></td> <td>SSLv3</td> <td>RSA</td> <td>RSA</td> <td>3DES(168)</td> <td>SHA1</td> <td></td> </tr> +<tr><td><code>IDEA-CBC-SHA</code></td> <td>SSLv3</td> <td>RSA</td> <td>RSA</td> <td>IDEA(128)</td> <td>SHA1</td> <td></td> </tr> +<tr><td><code>RC4-SHA</code></td> <td>SSLv3</td> <td>RSA</td> <td>RSA</td> <td>RC4(128)</td> <td>SHA1</td> <td></td> </tr> +<tr><td><code>RC4-MD5</code></td> <td>SSLv3</td> <td>RSA</td> <td>RSA</td> <td>RC4(128)</td> <td>MD5</td> <td></td> </tr> +<tr><td><code>DES-CBC-SHA</code></td> <td>SSLv3</td> <td>RSA</td> <td>RSA</td> <td>DES(56)</td> <td>SHA1</td> <td></td> </tr> +<tr><td><code>EXP-DES-CBC-SHA</code></td> <td>SSLv3</td> <td>RSA(512)</td> <td>RSA</td> <td>DES(40)</td> <td>SHA1</td> <td> export</td> </tr> +<tr><td><code>EXP-RC2-CBC-MD5</code></td> <td>SSLv3</td> <td>RSA(512)</td> <td>RSA</td> <td>RC2(40)</td> <td>MD5</td> <td> export</td> </tr> +<tr><td><code>EXP-RC4-MD5</code></td> <td>SSLv3</td> <td>RSA(512)</td> <td>RSA</td> <td>RC4(40)</td> <td>MD5</td> <td> export</td> </tr> +<tr><td><code>NULL-SHA</code></td> <td>SSLv3</td> <td>RSA</td> <td>RSA</td> <td>None</td> <td>SHA1</td> <td></td> </tr> +<tr><td><code>NULL-MD5</code></td> <td>SSLv3</td> <td>RSA</td> <td>RSA</td> <td>None</td> <td>MD5</td> <td></td> </tr> +<tr><td colspan="7"><em>Algorithmes Diffie-Hellman :</em></td></tr> +<tr><td><code>ADH-DES-CBC3-SHA</code></td> <td>SSLv3</td> <td>DH</td> <td>None</td> <td>3DES(168)</td> <td>SHA1</td> <td></td> </tr> +<tr><td><code>ADH-DES-CBC-SHA</code></td> <td>SSLv3</td> <td>DH</td> <td>None</td> <td>DES(56)</td> <td>SHA1</td> <td></td> </tr> +<tr><td><code>ADH-RC4-MD5</code></td> <td>SSLv3</td> <td>DH</td> <td>None</td> <td>RC4(128)</td> <td>MD5</td> <td></td> </tr> +<tr><td><code>EDH-RSA-DES-CBC3-SHA</code></td> <td>SSLv3</td> <td>DH</td> <td>RSA</td> <td>3DES(168)</td> <td>SHA1</td> <td></td> </tr> +<tr><td><code>EDH-DSS-DES-CBC3-SHA</code></td> <td>SSLv3</td> <td>DH</td> <td>DSS</td> <td>3DES(168)</td> <td>SHA1</td> <td></td> </tr> +<tr><td><code>EDH-RSA-DES-CBC-SHA</code></td> <td>SSLv3</td> <td>DH</td> <td>RSA</td> <td>DES(56)</td> <td>SHA1</td> <td></td> </tr> +<tr><td><code>EDH-DSS-DES-CBC-SHA</code></td> <td>SSLv3</td> <td>DH</td> <td>DSS</td> <td>DES(56)</td> <td>SHA1</td> <td></td> </tr> +<tr><td><code>EXP-EDH-RSA-DES-CBC-SHA</code></td> <td>SSLv3</td> <td>DH(512)</td> <td>RSA</td> <td>DES(40)</td> <td>SHA1</td> <td> export</td> </tr> +<tr><td><code>EXP-EDH-DSS-DES-CBC-SHA</code></td> <td>SSLv3</td> <td>DH(512)</td> <td>DSS</td> <td>DES(40)</td> <td>SHA1</td> <td> export</td> </tr> +<tr><td><code>EXP-ADH-DES-CBC-SHA</code></td> <td>SSLv3</td> <td>DH(512)</td> <td>None</td> <td>DES(40)</td> <td>SHA1</td> <td> export</td> </tr> +<tr><td><code>EXP-ADH-RC4-MD5</code></td> <td>SSLv3</td> <td>DH(512)</td> <td>None</td> <td>RC4(40)</td> <td>MD5</td> <td> export</td> </tr> +</table> +</usage> +</directivesynopsis> + +<directivesynopsis> +<name>SSLCertificateFile</name> +<description>Fichier de données contenant les informations de certificat X.509 du serveur +codées au format PEM</description> +<syntax>SSLCertificateFile <em>chemin-fichier</em></syntax> +<contextlist><context>server config</context> +<context>virtual host</context></contextlist> + +<usage> +<p> +Cette directive permet de définir le fichier de données contenant +les informations de certificat +X.509 du serveur codées au format PEM. Ce fichier doit contenir +au minimum un certificat d'entité finale (feuille). +La directive peut être utilisée plusieurs fois (elle référence des +fichiers différents) pour accepter plusieurs algorithmes +d'authentification au niveau du serveur - souvent RSA, DSA et ECC. Le +nombre d'algorithmes supportés dépend de la version d'OpenSSL utilisée +avec mod_ssl : à partir de la version 1.0.0, la commande <code>openssl +list-public-key-algorithms</code> affiche la liste des algorithmes +supportés. Voir aussi la note ci-dessous à propos des limitations des versions +d'OpenSSL antérieures à 1.0.2 et la manière de les contourner. +</p> + +<p>Les fichiers peuvent aussi contenir des certificats de CA +intermédiaires triés depuis la feuille vers la racine. Cette +fonctionnalité est disponible depuis la version 2.4.8 du serveur HTTP +Apache, et rend obsolète la directive <directive +module="mod_ssl">SSLCertificateChainFile</directive>. A partir de la +version 1.0.2 d'OpenSSL, il est alors possible de configurer la chaîne +de certification en fonction du certificat.</p> + +<p>Depuis la version 2.4.7 du serveur HTTP Apache, on peut aussi ajouter +des paramètres DH personnalisés et un nom EC +curve pour les clés éphémères à la fin du premier fichier défini par la +directive <directive module="mod_ssl">SSLCertificateFile</directive>. +Ces paramètres peuvent être générés avec les commandes <code>openssl +dhparam</code> et <code>openssl ecparam</code>, et ils peuvent être +ajoutés tel quel à la fin du premier fichier de certificat. En effet, +seul le premier fichier de certificat défini peut être utilisé pour +enregistrer des paramètres personnalisés, car ces derniers s'appliquent +indépendamment de l'algorithme d'authentification utilisé. +</p> + +<p>Enfin, il est aussi possible d'ajouter la clé privée du certificat de +l'entité finale au fichier de certificat, ce qui permet de se passer +d'une directive <directive +module="mod_ssl">SSLCertificateKeyFile</directive> séparée. Cette +pratique est cependant fortement déconseillée. En effet, les fichiers de +certificats qui contiennent de tels clés embarquées doivent être définis +avant les certificats en utilisant un fichier de clé séparé. En outre, +si la clé est chiffrée, une boîte de dialogue pour entrer le mot de +passe de la clé s'ouvre au démarrage du serveur. +</p> + +<note> +<title>Interopérabilité des paramètres DH avec les nombres premiers de +plus de 1024 bits</title> +<p> +Depuis la version 2.4.7, mod_ssl utilise des +paramètres DH standardisés avec des nombres premiers de 2048, 3072 et +4096 bits, et avec des nombres premiers de 6144 et 8192 bits depuis la +version 2.4.10 (voir <a href="http://www.ietf.org/rfc/rfc3526.txt">RFC +3526</a>), et les fournit aux clients en fonction de la longueur de la +clé du certificat RSA/DSA. En particulier avec les clients basés sur +Java (versions 7 et antérieures), ceci peut provoquer des erreurs au +cours de la négociation - voir cette <a +href="../ssl/ssl_faq.html#javadh">réponse de la FAQ SSL</a> pour +contourner les problèmes de ce genre. +</p> +</note> + +<note> +<title>Paramètres DH par défaut lorsqu'on utilise plusieurs certificats et une +version d'OpenSSL antérieure à 1.0.2.</title> +<p> +Lorsqu'on utilise plusieurs certificats pour supporter différents algorithmes +d'authentification (comme RSA, DSA, mais principalement ECC) et une +version d'OpenSSL antérieure à 1.0.2, il est recommandé soit d'utiliser des +paramètres DH spécifiques (solution à privilégier) en les ajoutant au premier +fichier certificat (comme décrit ci-dessus), soit d'ordonner les directives +<directive>SSLCertificateFile</directive> de façon à ce que les certificats +RSA/DSA soit placés <strong>après</strong> les certificats ECC. +</p> +<p> +Cette limitation est présente dans les anciennes versions d'OpenSSL qui +présentent toujours le dernier certificat configuré, au lieu +de laisser le serveur HTTP Apache déterminer le certificat sélectionné lors de +la phase de négociation de la connexion (lorsque les paramètres DH doivent être +envoyés à l'hôte distant). +De ce fait, le serveur peut sélectionner des paramètres DH par défaut basés sur +la longueur de la clé du mauvais certificat (les clés ECC sont beaucoup plus +petites que les clés RSA/DSA et leur longueur n'est pas pertinente pour la +sélection des nombres premiers DH). +</p> +<p> +Ce problème peut être résolu en créant et configurant des paramètres DH +spécifiques (comme décrit ci-dessus), car ils l'emportent toujours sur les +paramètres DH par défaut, et vous pourrez ainsi utiliser une longueur spécifique +et appropriée. +</p> +</note> + +<example><title>Exemple</title> +<highlight language="config"> +SSLCertificateFile /usr/local/apache2/conf/ssl.crt/server.crt +</highlight> +</example> +</usage> +</directivesynopsis> + +<directivesynopsis> +<name>SSLCertificateKeyFile</name> +<description>Fichier contenant la clé privée du serveur codée en +PEM</description> +<syntax>SSLCertificateKeyFile <em>chemin-fichier</em></syntax> +<contextlist><context>server config</context> +<context>virtual host</context></contextlist> + +<usage> +<p> +Cette directive permet de définir le fichier contenant la clé privée du +serveur codée en PEM. Si la clé privée est +chiffrée, une boîte de dialogue demandant le mot de passe de cette +dernière s'ouvre au démarrage du serveur.</p> + +<p> +Cette directive peut être utilisée plusieurs fois pour référencer +différents noms de fichiers, afin de supporter plusieurs algorithmes +pour l'authentification du serveur. A chaque directive <directive +module="mod_ssl">SSLCertificateKeyFile</directive> doit être associée +une directive <directive>SSLCertificateFile</directive> correspondante.</p> + +<p> +La clé privé peut aussi être ajoutée au fichier défini par la directive +<directive module="mod_ssl">SSLCertificateFile</directive>, mais cette +pratique est fortement déconseillée. En effet, les fichiers de +certificats qui comportent une telle clé doivent être définis après les +certificats en utilisant un fichier de clé séparé.</p> + +<example><title>Exemple</title> +<highlight language="config"> +SSLCertificateKeyFile /usr/local/apache2/conf/ssl.key/server.key +</highlight> +</example> +</usage> +</directivesynopsis> + +<directivesynopsis> +<name>SSLCertificateChainFile</name> +<description>Fichier contenant les certificats de CA du serveur codés en +PEM</description> +<syntax>SSLCertificateChainFile <em>chemin-fichier</em></syntax> +<contextlist><context>server config</context> +<context>virtual host</context></contextlist> + +<usage> +<note><title>SSLCertificateChainFile est obsolète</title> +<p><code>SSLCertificateChainFile</code> est devenue obsolète avec la +version 2.4.8, lorsque la directive +<directive module="mod_ssl">SSLCertificateFile</directive> a été étendue +pour supporter aussi les certificats de CA intermédiaires dans le +fichier de certificats du serveur.</p> +</note> + +<p> +Cette directive permet de définir le fichier optionnel +<em>tout-en-un</em> où vous pouvez rassembler les certificats des +Autorités de Certification (CA) qui forment la chaîne de certification +du certificat du serveur. Cette chaîne débute par le certificat de la CA +qui a délivré le certificat du serveur et peut remonter jusqu'au +certificat de la CA racine. Un tel fichier contient la simple +concaténation des différents certificats de CA codés en PEM, en général +dans l'ordre de la chaîne de certification.</p> +<p>Elle doit être utilisée à la place et/ou en complément de la +directive <directive module="mod_ssl">SSLCACertificatePath</directive> +pour construire explicitement la chaîne de certification du serveur qui +est envoyée au navigateur en plus du certificat du serveur. Elle s'avère +particulièrement utile pour éviter les conflits avec les certificats de +CA lorsqu'on utilise l'authentification du client. Comme le fait de +placer un certificat de CA de la chaîne de certification du serveur dans +la directive <directive +module="mod_ssl">SSLCACertificatePath</directive> produit le même effet +pour la construction de la chaîne de certification, cette directive a +pour effet colatéral de faire accepter les certificats clients fournis +par cette même CA, au cours de l'authentification du client.</p> +<p> +Soyez cependant prudent : fournir la chaîne de certification ne +fonctionne que si vous utilisez un <em>simple</em> certificat de +serveur RSA <em>ou</em> DSA. Si vous utilisez une paire de certificats +couplés RSA+DSA , cela ne fonctionnera que si les deux certificats +utilisent vraiment <em>la même</em> chaîne de certification. Dans le cas +contraire, la confusion risque de s'installer au niveau des +navigateurs.</p> +<example><title>Exemple</title> +<highlight language="config"> +SSLCertificateChainFile /usr/local/apache2/conf/ssl.crt/ca.crt +</highlight> +</example> +</usage> +</directivesynopsis> + +<directivesynopsis> +<name>SSLCACertificatePath</name> +<description>Répertoire des certificats de CA codés en PEM pour +l'authentification des clients</description> +<syntax>SSLCACertificatePath <em>chemin-répertoire</em></syntax> +<contextlist><context>server config</context> +<context>virtual host</context></contextlist> + +<usage> +<p> +Cette directive permet de définir le répertoire où sont stockés les +certificats des Autorités de Certification (CAs) pour les clients +auxquels vous avez à faire. On les utilise pour vérifier le certificat +du client au cours de l'authentification de ce dernier.</p> +<p> +Les fichiers de ce répertoire doivent être codés en PEM et ils sont +accédés via des noms de fichier sous forme de condensés ou hash. Il ne +suffit donc pas de placer les fichiers de certificats dans ce répertoire +: vous devez aussi créer des liens symboliques nommés +<em>valeur-de-hashage</em><code>.N</code>, et vous devez toujours vous +assurer que ce répertoire contient les liens symboliques appropriés.</p> +<example><title>Exemple</title> +<highlight language="config"> +SSLCACertificatePath /usr/local/apache2/conf/ssl.crt/ +</highlight> +</example> +</usage> +</directivesynopsis> + +<directivesynopsis> +<name>SSLCACertificateFile</name> +<description>Fichier contenant une concaténation des certificats de CA +codés en PEM pour l'authentification des clients</description> +<syntax>SSLCACertificateFile <em>chemin-fichier</em></syntax> +<contextlist><context>server config</context> +<context>virtual host</context></contextlist> + +<usage> +<p> +Cette directive permet de définir le fichier <em>tout-en-un</em> où vous +pouvez rassembler les certificats des Autorités de Certification (CAs) +pour les clients auxquels vous avez à faire. On les utilise pour +l'authentification des clients. Un tel fichier contient la simple +concaténation des différents fichiers de certificats codés en PEM, par +ordre de préférence. Cette directive peut être utilisée à la place et/ou +en complément de la directive <directive +module="mod_ssl">SSLCACertificatePath</directive>.</p> +<example><title>Exemple</title> +<highlight language="config"> +SSLCACertificateFile /usr/local/apache2/conf/ssl.crt/ca-bundle-client.crt +</highlight> +</example> +</usage> +</directivesynopsis> + +<directivesynopsis> +<name>SSLCADNRequestFile</name> +<description>Fichier contenant la concaténation des certificats de CA +codés en PEM pour la définition de noms de CA acceptables</description> +<syntax>SSLCADNRequestFile <em>chemin-fichier</em></syntax> +<contextlist><context>server config</context> +<context>virtual host</context></contextlist> + +<usage> +<p>Lorsque mod_ssl demande un certificat client, une liste de <em>noms +d'Autorités de Certification acceptables</em> est envoyée au client au +cours de la phase d'initialisation de la connexion SSL. Le client peut +alors utiliser cette liste de noms de CA pour sélectionner un certificat +client approprié parmi ceux dont il dispose.</p> + +<p>Si aucune des directives <directive +module="mod_ssl">SSLCADNRequestPath</directive> ou <directive +module="mod_ssl">SSLCADNRequestFile</directive> n'est définie, la liste +de noms de CsA acceptables envoyée au client est la liste des noms de +tous les certificats de CA spécifiés par les directives <directive +module="mod_ssl">SSLCACertificateFile</directive> et <directive +module="mod_ssl">SSLCACertificatePath</directive> ; en d'autres termes, +c'est la liste des noms de CAs qui sera effectivement utilisée pour +vérifier le certificat du client.</p> + +<p>Dans certaines situations, il est utile de pouvoir envoyer +une liste de noms de CA acceptables qui diffère de la liste des CAs +effectivement utilisés pour vérifier le certificat du client ; +considérons par exemple le cas où le certificat du client est signé par +des CAs intermédiaires. On peut ici utiliser les directives <directive +module="mod_ssl">SSLCADNRequestPath</directive> et/ou <directive +module="mod_ssl">SSLCADNRequestFile</directive>, et les noms de CA +acceptables seront alors extraits de l'ensemble des certificats contenus +dans le répertoire et/ou le fichier définis par cette paire de +directives.</p> + +<p><directive module="mod_ssl">SSLCADNRequestFile</directive> doit +spécifier un fichier <em>tou-en-un</em> contenant une concaténation des +certificats de CA codés en PEM.</p> + +<example><title>Exemple</title> +<highlight language="config"> +SSLCADNRequestFile /usr/local/apache2/conf/ca-names.crt +</highlight> +</example> +</usage> +</directivesynopsis> + +<directivesynopsis> +<name>SSLCADNRequestPath</name> +<description>Répertoire contenant des fichiers de certificats de CA +codés en PEM pour la définition de noms de CA acceptables</description> +<syntax>SSLCADNRequestPath <em>chemin-répertoire</em></syntax> +<contextlist><context>server config</context> +<context>virtual host</context></contextlist> + +<usage> + +<p>Cette directive optionnelle permet de définir la liste de <em>noms de +CAs acceptables</em> qui sera envoyée au client lorsqu'un certificat de +client est demandé. Voir la directive <directive +module="mod_ssl">SSLCADNRequestFile</directive> pour plus de +détails.</p> + +<p>Les fichiers de ce répertoire doivent être codés en PEM et ils sont +accédés via des noms de fichier sous forme de condensés ou hash. Il ne +suffit donc pas de placer les fichiers de certificats dans ce répertoire +: vous devez aussi créer des liens symboliques nommés +<em>valeur-de-hashage</em><code>.N</code>, et vous devez toujours vous +assurer que ce répertoire contient les liens symboliques appropriés.</p> +<example><title>Exemple</title> +<highlight language="config"> +SSLCADNRequestPath /usr/local/apache2/conf/ca-names.crt/ +</highlight> +</example> +</usage> +</directivesynopsis> + +<directivesynopsis> +<name>SSLCARevocationPath</name> +<description>Répertoire des CRLs de CA codés en PEM pour +l'authentification des clients</description> +<syntax>SSLCARevocationPath <em>chemin-répertoire</em></syntax> +<contextlist><context>server config</context> +<context>virtual host</context></contextlist> + +<usage> +<p> +Cette directive permet de définir le répertoire où sont stockées les +Listes de Révocation de Certificats (CRL) des Autorités de Certification +(CAs) pour les clients auxquels vous avez à faire. On les utilise pour +révoquer les certificats des clients au cours de l'authentification de +ces derniers.</p> +<p> +Les fichiers de ce répertoire doivent être codés en PEM et ils sont +accédés via des noms de fichier sous forme de condensés ou hash. Il ne +suffit donc pas de placer les fichiers de CRL dans ce répertoire +: vous devez aussi créer des liens symboliques nommés +<em>valeur-de-hashage</em><code>.N</code>, et vous devez toujours vous +assurer que ce répertoire contient les liens symboliques appropriés.</p> +<example><title>Exemple</title> +<highlight language="config"> +SSLCARevocationPath /usr/local/apache2/conf/ssl.crl/ +</highlight> +</example> +</usage> +</directivesynopsis> + +<directivesynopsis> +<name>SSLCARevocationFile</name> +<description>Fichier contenant la concaténation des CRLs des CA codés en +PEM pour l'authentification des clients</description> +<syntax>SSLCARevocationFile <em>chemin-fichier</em></syntax> +<contextlist><context>server config</context> +<context>virtual host</context></contextlist> + +<usage> +<p> +Cette directive permet de définir le fichier <em>tout-en-un</em> où sont +rassemblées les Listes de Révocation de Certificats (CRLs) des Autorités +de certification (CAs) pour les clients auxquels vous avez à faire. On +les utilise pour l'authentification des clients. Un tel fichier contient +la simple concaténation des différents fichiers de CRLs codés en PEM, +dans l'ordre de préférence. Cette directive peut être utilisée à la +place et/ou en complément de la directive <directive +module="mod_ssl">SSLCARevocationPath</directive>.</p> +<example><title>Exemple</title> +<highlight language="config"> +SSLCARevocationFile /usr/local/apache2/conf/ssl.crl/ca-bundle-client.crl +</highlight> +</example> +</usage> +</directivesynopsis> + +<directivesynopsis> +<name>SSLCARevocationCheck</name> +<description>Active la vérification des révocations basée sur les CRL</description> +<syntax>SSLCARevocationCheck chain|leaf|none <em>flag</em>s</syntax> +<default>SSLCARevocationCheck none</default> +<contextlist><context>server config</context> +<context>virtual host</context></contextlist> +<compatibility>Le paramètre optionnel <em>flag</em>s est disponible à partir de +la version 2.5 du serveur HTTP Apache</compatibility> + +<usage> +<p> +Active la vérification des révocations basée sur les Listes de +Révocations de Certificats (CRL). Au moins une des directives <directive +module="mod_ssl">SSLCARevocationFile</directive> ou <directive +module="mod_ssl">SSLCARevocationPath</directive> doit être définie. +Lorsque cette directive est définie à <code>chain</code> (valeur +recommandée), les vérifications CRL sont effectuées sur tous les +certificats de la chaîne, alors que la valeur <code>leaf</code> limite +la vérification au certificat hors chaîne (la feuille). +</p> +<note> +<title>Lorsque la directive est définie à <code>chain</code> ou +<code>leaf</code>, les CRLs doivent être disponibles pour que la +validation réussisse</title> +<p> +Avant la version 2.3.15, les vérifications CRL dans mod_ssl +réussissaient même si aucune CRL n'était trouvée dans les chemins +définis par les directives <directive +module="mod_ssl">SSLCARevocationFile</directive> ou <directive +module="mod_ssl">SSLCARevocationPath</directive>. Le comportement a +changé avec l'introduction de cette directive : lorsque la vérification +est activée, les CRLs <em>doivent</em> être présentes pour que la +validation réussisse ; dans le cas contraire, elle échouera avec une +erreur <code>"CRL introuvable"</code>. +</p> +</note> + +<p>Les <em>drapeau</em>x disponibles sont :</p> +<ul> +<li><code>no_crl_for_cert_ok</code> + <p> + Avant la version 2.3.15, les vérifications CRL dans mod_ssl +réussissaient même si aucune CRL pour le/les certificat(s) vérifié(s) n'était +trouvée dans les chemins définis par les directives <directive +module="mod_ssl">SSLCARevocationFile</directive> ou <directive +module="mod_ssl">SSLCARevocationPath</directive>. + </p> + <p> + Ce comportement a changé avec l'introduction de cette directive ; par défaut + avec <code>chain</code> ou <code>leaf</code>, les CRLs doivent être présents + pour que la validation réussisse ; si ce n'est pas le cas, elle échouera + avec une erreur <code>"unable to get certificate CRL"</code>. + </p> + <p> + Le <em>drapeau</em> <code>no_crl_for_cert_ok</code> permet de rétablir le + comportement précédent. + </p> +</li> +</ul> + +<example><title>Exemple</title> +<highlight language="config"> +SSLCARevocationCheck chain +</highlight> +</example> +<example><title>Compatibilité avec les versions 2.2</title> +<highlight language="config"> +SSLCARevocationCheck chain no_crl_for_cert_ok +</highlight> +</example> +</usage> +</directivesynopsis> + +<directivesynopsis> +<name>SSLVerifyClient</name> +<description>Niveau de vérification du certificat client</description> +<syntax>SSLVerifyClient <em>niveau</em></syntax> +<default>SSLVerifyClient none</default> +<contextlist><context>server config</context> +<context>virtual host</context> +<context>directory</context> +<context>.htaccess</context></contextlist> +<override>AuthConfig</override> + +<usage> +<p> +Cette directive permet de définir le niveau de vérification du +certificat pour l'authentification du client. Notez que cette directive +peut être utilisée à la fois dans les contextes du serveur principal et +du répertoire. Dans le contexte du serveur principal, elle s'applique au +processus d'authentification du client utilisé au cours de la +négociation SSL standard lors de l'établissement d'une connexion. Dans +un contexte de répertoire, elle force une renégociation SSL avec le +niveau de vérification du client spécifié, après la lecture d'une +requête HTTP, mais avant l'envoi de la réponse HTTP.</p> +<p> +Les valeurs de <em>niveau</em> disponibles sont les suivantes :</p> +<ul> +<li><strong>none</strong>: + aucun certificat client n'est requis</li> +<li><strong>optional</strong>: + le client <em>peut</em> présenter un certificat valide</li> +<li><strong>require</strong>: + le client <em>doit</em> présenter un certificat valide</li> +<li><strong>optional_no_ca</strong>: + le client peut présenter un certificat valide, mais il n'est pas + nécessaire que ce dernier soit vérifiable (avec succès). Cette option ne + peut pas être utilisée lors de l'authentification du client.</li> +</ul> +<example><title>Exemple</title> +<highlight language="config"> +SSLVerifyClient require +</highlight> +</example> +</usage> +</directivesynopsis> + +<directivesynopsis> +<name>SSLVerifyDepth</name> +<description>Profondeur maximale des certificats de CA pour la +vérification des certificats clients</description> +<syntax>SSLVerifyDepth <em>nombre</em></syntax> +<default>SSLVerifyDepth 1</default> +<contextlist><context>server config</context> +<context>virtual host</context> +<context>directory</context> +<context>.htaccess</context></contextlist> +<override>AuthConfig</override> + +<usage> +<p> +Cette directive permet de spécifier la profondeur maximale à laquelle +mod_ssl va effectuer sa vérification avant de décider que le client ne +possède pas de certificat valide. Notez que cette directive peut être +utilisée à la fois dans les contextes du serveur principal et de +répertoire. Dans le contexte du serveur principal, elle s'applique au +processus d'authentification du client utilisé au cours de la +négociation SSL standard lors de l'établissement d'une connexion. Dans +un contexte de répertoire, elle force une renégociation SSL avec la +profondeur vérification du client spécifiée, après la lecture d'une +requête HTTP, mais avant l'envoi de la réponse HTTP.</p> +<p> +La profondeur correspond au nombre maximum de fournisseurs de +certificats intermédiaires, c'est à dire le nombre maximum de +certificats de CA que l'on est autorisé à suivre lors de la vérification +du certificat du client. Une profondeur de 0 signifie que seuls les +certificats clients auto-signés sont acceptés ; la profondeur par défaut +de 1 signifie que le certificat client peut être soit auto-signé, soit +signé par une CA connue directement du serveur (c'est à dire que le +certificat de la CA doit être référencé par la directive <directive +module="mod_ssl">SSLCACertificatePath</directive>), etc...</p> +<example><title>Exemple</title> +<highlight language="config"> +SSLVerifyDepth 10 +</highlight> +</example> +</usage> +</directivesynopsis> + +<directivesynopsis> +<name>SSLSRPVerifierFile</name> +<description>Chemin du fichier de vérification SRP</description> +<syntax>SSLSRPVerifierFile <em>file-path</em></syntax> +<contextlist><context>server config</context> +<context>virtual host</context></contextlist> +<compatibility>Disponible depuis la version 2.4.4 du serveur HTTP +Apache, sous réserve d'utiliser OpenSSL version 1.0.1 ou supérieure.</compatibility> + +<usage> +<p> +Cette directive permet d'activer TLS-SRP et de définir le chemin du +fichier de vérification OpenSSL SRP (Mot de passe distant sécurisé) +contenant les noms d'utilisateurs TLS-SRP, les vérificateurs, les +"grains de sel" (salts), ainsi que les paramètres de groupe.</p> +<example><title>Exemple</title> +SSLSRPVerifierFile "/path/to/file.srpv" +</example> +<p> +Le fichier de vérification peut être créé via l'utilitaire en ligne de +commande <code>openssl</code> :</p> +<example><title>Création du fichier de vérification SRP</title> +openssl srp -srpvfile passwd.srpv -userinfo "some info" -add username +</example> +<p>La valeur affectée au paramètre optionnel <code>-userinfo</code> est +enregistrée dans la variable d'environnement +<code>SSL_SRP_USERINFO</code>.</p> + +</usage> +</directivesynopsis> + +<directivesynopsis> +<name>SSLSRPUnknownUserSeed</name> +<description>Source de randomisation pour utilisateur SRP inconnu</description> +<syntax>SSLSRPUnknownUserSeed <em>secret-string</em></syntax> +<contextlist><context>server config</context> +<context>virtual host</context></contextlist> +<compatibility>Disponible depuis la version 2.4.4 du serveur HTTP +Apache, sous réserve d'utiliser OpenSSL version 1.0.1 ou supérieure.</compatibility> + +<usage> +<p> +Cette directive permet de définir la source de randomisation à utiliser +pour les utilisateurs SRP inconnus, ceci afin de combler les manques en +cas d'existence d'un tel utilisateur. Elle définit une chaîne secrète. Si +cette directive n'est pas définie, Apache renverra une alerte +UNKNOWN_PSK_IDENTITY aux clients qui fournissent un nom d'utilisateur +inconnu. +</p> +<example><title>Exemple</title> +SSLSRPUnknownUserSeed "secret" +</example> +</usage> +</directivesynopsis> + +<directivesynopsis> +<name>SSLOptions</name> +<description>Configure différentes options d'exécution du moteur +SSL</description> +<syntax>SSLOptions [+|-]<em>option</em> ...</syntax> +<contextlist><context>server config</context> +<context>virtual host</context> +<context>directory</context> +<context>.htaccess</context></contextlist> +<override>Options</override> + +<usage> +<p> +Cette directive permet de contrôler différentes options d'exécution du +moteur SSL dans un contexte de répertoire. Normalement, si plusieurs +<code>SSLOptions</code> peuvent s'appliquer à un répertoire, c'est la +plus spécifique qui est véritablement prise en compte ; les options ne +se combinent pas entre elles. Elles se combinent cependant entre elles +si elles sont <em>toutes</em> précédées par un symbole plus +(<code>+</code>) ou moins (<code>-</code>). Toute option précédée d'un +<code>+</code> est ajoutée aux options actuellement en vigueur, et toute +option précédée d'un <code>-</code> est supprimée de ces mêmes +options. +</p> +<p> +Les <em>option</em>s disponibles sont :</p> +<ul> +<li><code>StdEnvVars</code> + <p> + Lorsque cette option est activée, le jeu standard de variables + d'environnement SSL relatives à CGI/SSI est créé. Cette option est + désactivée par défaut pour des raisons de performances, car + l'extraction des informations constitue une opération assez coûteuse + en ressources. On n'active donc en général cette option que pour les + requêtes CGI et SSI.</p> +</li> +<li><code>ExportCertData</code> + <p> + Lorsque cette option est activée, des variables d'environnement + CGI/SSI supplémentaires sont créées : <code>SSL_SERVER_CERT</code>, + <code>SSL_CLIENT_CERT</code> et + <code>SSL_CLIENT_CERT_CHAIN_</code><em>n</em> (avec <em>n</em> = + 0,1,2,..). Elles contiennent les certificats X.509 codés en PEM du + serveur et du client pour la connexion HTTPS courante, et peuvent + être utilisées par les scripts CGI pour une vérification de + certificat plus élaborée. De plus, tous les autres certificats de la + chaîne de certificats du client sont aussi fournis. Tout ceci gonfle + un peu l'environnement, et c'est la raison pour laquelle vous ne + devez activer cette option qu'à la demande.</p> +</li> +<li><code>FakeBasicAuth</code> + <p> + Lorsque cette option est activée, le Nom Distinctif (DN) sujet du + certificat client X509 est traduit en un nom d'utilisateur pour + l'autorisation HTTP de base. Cela signifie que les méthodes + d'authentification standard d'Apache peuvent être utilisées pour le + contrôle d'accès. Le nom d'utilisateur est tout simplement le Sujet + du certificat X509 du client (il peut être déterminé en utilisant la + commande OpenSSL <code>openssl x509</code> : <code>openssl x509 + -noout -subject -in </code><em>certificat</em><code>.crt</code>). La + directive optionnelle <directive + module="mod_ssl">SSLUserName</directive> permet de spécifier quelle + partie du sujet du certificat est incluse dans le nom d'utilisateur. + Notez qu'aucun mot de passe n'est envoyé par l'utilisateur. Chaque + entrée du fichier des utilisateurs doit comporter ce mot de passe : + ``<code>xxj31ZMTZzkVA</code>'', qui est la version chiffrée en DES + du mot ``<code>password</code>''. Ceux qui travaillent avec un + chiffrement basé sur MD5 (par exemple sous FreeBSD ou BSD/OS, + etc...) doivent utiliser le condensé MD5 suivant pour le même mot : + ``<code>$1$OXLyS...$Owx8s2/m9/gfkcRVXzgoE/</code>''.</p> + + <p>Notez que la directive <directive + module="mod_auth_basic">AuthBasicFake</directive> du module + <module>mod_auth_basic</module> permet de contrôler à la + fois le nom d'utilisateur et le mot de passe ; elle fournit donc un + mécanisme plus général de simulation d'authentification de base.</p> +</li> +<li><code>StrictRequire</code> + <p> + Cette option <em>force</em> l'interdiction d'accès lorsque + <code>SSLRequireSSL</code> ou <code>SSLRequire</code> a décidé que + l'accès devait être interdit. Par défaut, dans le cas où + une directive ``<code>Satisfy any</code>'' est utilisée, et si + d'autres restrictions d'accès ont été franchies, on passe en général + outre l'interdiction d'accès due à <code>SSLRequireSSL</code> ou + <code>SSLRequire</code> (parce que c'est ainsi que le mécanisme + <code>Satisfy</code> d'Apache doit fonctionner). Pour des + restrictions d'accès plus strictes, vous pouvez cependant utiliser + <code>SSLRequireSSL</code> et/ou <code>SSLRequire</code> en + combinaison avec une option ``<code>SSLOptions + +StrictRequire</code>''. Une directive ``<code>Satisfy Any</code>'' + n'a alors aucune chance d'autoriser l'accès si mod_ssl a décidé de + l'interdire.</p> +</li> +<li><code>OptRenegotiate</code> + <p> + Cette option active la gestion optimisée de la renégociation des + connexions SSL intervenant lorsque les directives SSL sont utilisées + dans un contexte de répertoire. Par défaut un schéma strict est + appliqué, et <em>chaque</em> reconfiguration des paramètres SSL au + niveau du répertoire implique une phase de renégociation SSL + <em>complète</em>. Avec cette option, mod_ssl essaie d'éviter les + échanges non nécessaires en effectuant des vérifications de + paramètres plus granulaires (mais tout de même efficaces). + Néanmoins, ces vérifications granulaires peuvent ne pas correspondre + à ce qu'attend l'utilisateur, et il est donc recommandé de n'activer + cette option que dans un contexte de répertoire.</p> +</li> +<li><code>LegacyDNStringFormat</code> + <p> + Cette option permet d'agir sur la manière dont les valeurs des + variables <code>SSL_{CLIENT,SERVER}_{I,S}_DN</code> sont formatées. + Depuis la version 2.3.11, Apache HTTPD utilise par défaut un format + compatible avec la RFC 2253. Ce format utilise des virgules comme + délimiteurs entre les attributs, permet l'utilisation de caractères + non-ASCII (qui sont alors convertis en UTF8), échappe certains + caractères spéciaux avec des slashes inversés, et trie les attributs + en plaçant l'attribut "C" en dernière position.</p> + + <p>Si l'option <code>LegacyDNStringFormat</code> est présente, c'est + l'ancien format qui sera utilisé : les attributs sont triés avec + l'attribut "C" en première position, les séparateurs sont des + slashes non inversés, les caractères non-ASCII ne sont pas supportés + et le support des caractères spéciaux n'est pas fiable. + </p> +</li> +</ul> +<example><title>Exemple</title> +<highlight language="config"> +SSLOptions +FakeBasicAuth -StrictRequire +<Files ~ "\.(cgi|shtml)$"> + SSLOptions +StdEnvVars -ExportCertData +</Files> +</highlight> +</example> +</usage> +</directivesynopsis> + +<directivesynopsis> +<name>SSLRequireSSL</name> +<description>Interdit l'accès lorsque la requête HTTP n'utilise pas +SSL</description> +<syntax>SSLRequireSSL</syntax> +<contextlist><context>directory</context> +<context>.htaccess</context></contextlist> +<override>AuthConfig</override> + +<usage> +<p><!-- XXX: I think the syntax is wrong --> +Cette directive interdit l'accès si HTTP sur SSL (c'est à dire HTTPS) +n'est pas activé pour la connexion courante. Ceci est très pratique dans +un serveur virtuel où SSL est activé ou dans un répertoire pour se +protéger des erreurs de configuration qui pourraient donner accès à des +ressources protégées. Lorsque cette directive est présente, toutes les +requêtes qui n'utilisent pas SSL sont rejetées.</p> +<example><title>Exemple</title> +<highlight language="config"> +SSLRequireSSL +</highlight> +</example> +</usage> +</directivesynopsis> + +<directivesynopsis> +<name>SSLRequire</name> +<description>N'autorise l'accès que lorsqu'une expression booléenne +complexe et arbitraire est vraie</description> +<syntax>SSLRequire <em>expression</em></syntax> +<contextlist><context>directory</context> +<context>.htaccess</context></contextlist> +<override>AuthConfig</override> + +<usage> +<note><title>SSLRequire is obsolète</title> +<p><code>SSLRequire</code> est obsolète et doit en général être +remplacée par l'expression <a +href="mod_authz_core.html#reqexpr">Require</a>. La syntaxe <a +href="../expr.html">ap_expr</a> de l'expression <code>Require</code> est +une extension de la syntaxe de <code>SSLRequire</code>, avec les +différences suivantes :</p> + +<p>Avec <code>SSLRequire</code>, les opérateurs de comparaison +<code><</code>, <code><=</code>, ... sont strictement équivalents +aux opérateurs <code>lt</code>, <code>le</code>, ... , et fonctionnent +selon une méthode qui compare tout d'abord la longueur des deux chaînes, +puis l'ordre alphabétique. Les expressions <a +href="../expr.html">ap_expr</a>, quant à elles, possèdent deux jeux +d'opérateurs de comparaison : les opérateurs <code><</code>, +<code><=</code>, ... effectuent une comparaison alphabétique de +chaînes, alors que les opérateurs <code>-lt</code>, <code>-le</code>, +... effectuent une comparaison d'entiers. Ces derniers possèdent aussi +des alias sans tiret initial : <code>lt</code>, <code>le</code>, ... +</p> + +</note> + +<p>Cette directive permet de spécifier une condition générale d'accès +qui doit être entièrement satisfaite pour que l'accès soit autorisé. +C'est une directive très puissante, car la condition d'accès spécifiée +est une expression booléenne complexe et arbitraire contenant un nombre +quelconque de vérifications quant aux autorisations d'accès.</p> +<p> +L'<em>expression</em> doit respecter la syntaxe suivante (fournie ici +sous la forme d'une notation dans le style de la grammaire BNF) :</p> +<blockquote> +<pre> +expr ::= "<strong>true</strong>" | "<strong>false</strong>" + | "<strong>!</strong>" expr + | expr "<strong>&&</strong>" expr + | expr "<strong>||</strong>" expr + | "<strong>(</strong>" expr "<strong>)</strong>" + | comp + +comp ::= word "<strong>==</strong>" word | word "<strong>eq</strong>" word + | word "<strong>!=</strong>" word | word "<strong>ne</strong>" word + | word "<strong><</strong>" word | word "<strong>lt</strong>" word + | word "<strong><=</strong>" word | word "<strong>le</strong>" word + | word "<strong>></strong>" word | word "<strong>gt</strong>" word + | word "<strong>>=</strong>" word | word "<strong>ge</strong>" word + | word "<strong>in</strong>" "<strong>{</strong>" wordlist "<strong>}</strong>" + | word "<strong>in</strong>" "<strong>PeerExtList(</strong>" word "<strong>)</strong>" + | word "<strong>=~</strong>" regex + | word "<strong>!~</strong>" regex + +wordlist ::= word + | wordlist "<strong>,</strong>" word + +word ::= digit + | cstring + | variable + | function + +digit ::= [0-9]+ +cstring ::= "..." +variable ::= "<strong>%{</strong>" varname "<strong>}</strong>" +function ::= funcname "<strong>(</strong>" funcargs "<strong>)</strong>" +</pre> +</blockquote> +<p>Pour <code>varname</code>, toute variable décrite dans <a +href="#envvars">Variables d'environnement</a> pourra être utilisée. +Pour <code>funcname</code>, vous trouverez la liste des fonctions +disponibles dans la <a href="../expr.html#functions">documentation +ap_expr</a>.</p> + +<p><em>expression</em> est interprétée et traduite +sous une forme machine interne lors du chargement de la configuration, +puis évaluée lors du traitement de la requête. Dans le contexte des +fichiers .htaccess, <em>expression</em> est interprétée et exécutée +chaque fois que le fichier .htaccess intervient lors du traitement de la +requête.</p> +<example><title>Exemple</title> +<highlight language="config"> +SSLRequire ( %{SSL_CIPHER} !~ m/^(EXP|NULL)-/ \ + and %{SSL_CLIENT_S_DN_O} eq "Snake Oil, Ltd." \ + and %{SSL_CLIENT_S_DN_OU} in {"Staff", "CA", "Dev"} \ + and %{TIME_WDAY} -ge 1 and %{TIME_WDAY} -le 5 \ + and %{TIME_HOUR} -ge 8 and %{TIME_HOUR} -le 20 ) \ + or %{REMOTE_ADDR} =~ m/^192\.76\.162\.[0-9]+$/ +</highlight> +</example> + + +<p>La fonction <code>PeerExtList(<em>identifiant objet</em>)</code> +recherche une instance d'extension de certificat X.509 identifiée par +<em>identifiant objet</em> (OID) dans le certificat client. L'expression est +évaluée à true si la partie gauche de la chaîne correspond exactement à +la valeur d'une extension identifiée par cet OID (Si plusieurs +extensions possèdent le même OID, l'une d'entre elles au moins doit +correspondre). +</p> + +<example><title>Exemple</title> +<highlight language="config"> +SSLRequire "foobar" in PeerExtList("1.2.3.4.5.6") +</highlight> +</example> + +<note><title>Notes à propos de la fonction PeerExtList</title> + +<ul> + +<li><p>L'identifiant objet peut être spécifié soit comme un nom +descriptif reconnu par la bibliothèque SSL, tel que +<code>"nsComment"</code>, soit comme un OID numérique tel que +<code>"1.2.3.4.5.6"</code>.</p></li> + +<li><p>Les expressions contenant des types connus de la bibliothèque +SSL sont transformées en chaînes avant comparaison. Pour les extensions +contenant un type non connu de la bibliothèque SSL, mod_ssl va essayer +d'interpréter la valeur s'il s'agit d'un des types ASN.1 primaire UTF8String, +IA5String, VisibleString, ou BMPString. Si l'extension correspond à un +de ces types, la chaîne sera convertie en UTF-8 si nécessaire, puis +comparée avec la partie gauche de l'expression.</p></li> + +</ul> +</note> + +</usage> +<seealso><a href="../env.html">Les variables d'environnement dans le +serveur HTTP Apache</a>, pour d'autres exemples. +</seealso> +<seealso><a href="mod_authz_core.html#reqexpr">Require expr</a></seealso> +<seealso><a href="../expr.html">Syntaxe générale des expressions dans le +serveur HTTP Apache</a> +</seealso> +</directivesynopsis> + +<directivesynopsis> +<name>SSLRenegBufferSize</name> +<description>Définit la taille du tampon de renégociation +SSL</description> +<syntax>SSLRenegBufferSize <var>taille</var></syntax> +<default>SSLRenegBufferSize 131072</default> +<contextlist><context>directory</context> +<context>.htaccess</context></contextlist> +<override>AuthConfig</override> + +<usage> + +<p>Si une renégociation SSL est requise dans un contexte de répertoire, +par exemple avec l'utilisation de <directive +module="mod_ssl">SSLVerifyClient</directive> dans un bloc Directory ou +Location, mod_ssl doit mettre en tampon en mémoire tout corps de requête +HTTP en attendant qu'une nouvelle initialisation de connexion SSL puisse +être effectuée. Cette directive permet de définir la quantité de mémoire +à allouer pour ce tampon.</p> + +<note type="warning"><p> +Notez que dans de nombreuses configurations, le client qui envoie un +corps de requête n'est pas forcément digne de confiance, et l'on doit +par conséquent prendre en considération la possibilité d'une attaque de +type déni de service lorsqu'on modifie la valeur de cette directive. +</p></note> + +<example><title>Exemple</title> +<highlight language="config"> +SSLRenegBufferSize 262144 +</highlight> +</example> +</usage> +</directivesynopsis> + +<directivesynopsis> +<name>SSLStrictSNIVHostCheck</name> +<description>Contrôle de l'accès des clients non-SNI à un serveur virtuel à +base de nom. +</description> +<syntax>SSLStrictSNIVHostCheck on|off</syntax> +<default>SSLStrictSNIVHostCheck off</default> +<contextlist><context>server config</context> +<context>virtual host</context></contextlist> + +<usage> +<p> +Cette directive permet de contrôler l'accès des clients non-SNI à un serveur +virtuel à base de nom. Si elle est définie à <code>on</code> dans le +serveur virtuel à base de nom par défaut, les +clients non-SNI ne seront autorisés à accéder à aucun serveur virtuel +appartenant à cette combinaison IP/port. Par +contre, si elle est définie à <code>on</code> dans un serveur virtuel +quelconque, les clients non-SNI ne se verront interdire l'accès qu'à ce +serveur. +</p> + +<note type="warning"><p> +Cette option n'est disponible que si httpd a été compilé avec une +version d'OpenSSL supportant SNI. +</p></note> + +<example><title>Exemple</title> +<highlight language="config"> +SSLStrictSNIVHostCheck on +</highlight> +</example> +</usage> +</directivesynopsis> + +<directivesynopsis> +<name>SSLProxyMachineCertificatePath</name> +<description>Répertoire des clés et certificats clients codés en PEM que +le mandataire doit utiliser</description> +<syntax>SSLProxyMachineCertificatePath <em>chemin-répertoire</em></syntax> +<contextlist><context>server config</context> <context>virtual host</context> +<context>proxy section</context></contextlist> +<override>Sans objet</override> + +<usage> +<p> +Cette directive permet de définir le répertoire où sont stockés les clés +et certificats permettant au serveur mandataire de s'authentifier auprès +des serveurs distants. +</p> +<p>Les fichiers de ce répertoire doivent être codés en PEM et ils sont +accédés via des noms de fichier sous forme de condensés ou hash. Vous +devez donc aussi créer des liens symboliques nommés +<em>valeur-de-hashage</em><code>.N</code>, et vous devez toujours vous +assurer que ce répertoire contient les liens symboliques appropriés.</p> +<note type="warning"> +<p>Actuellement, les clés privées chiffrées ne sont pas supportées.</p> +</note> +<example><title>Exemple</title> +<highlight language="config"> +SSLProxyMachineCertificatePath /usr/local/apache2/conf/proxy.crt/ +</highlight> +</example> +</usage> +</directivesynopsis> + + +<directivesynopsis> +<name>SSLProxyMachineCertificateFile</name> +<description>Fichier contenant la concaténation des clés et certificats +clients codés en PEM que le mandataire doit utiliser</description> +<syntax>SSLProxyMachineCertificateFile <em>chemin-fichier</em></syntax> +<contextlist><context>server config</context> <context>virtual host</context> +<context>proxy section</context></contextlist> +<override>Sans objet</override> + +<usage> +<p> +Cette directive permet de définir le fichier tout-en-un où sont stockés +les clés et certificats permettant au serveur mandataire de +s'authentifier auprès des serveurs distants. +</p> +<p> +Le fichier spécifié est la simple concaténation des différents fichiers +de certificats codés en PEM, classés par ordre de préférence. Cette +directive s'utilise à la place ou en complément de la directive +<code>SSLProxyMachineCertificatePath</code>. +</p> +<note type="warning"> +<p>Actuellement, les clés privées chiffrées ne sont pas supportées.</p> +</note> +<example><title>Exemple</title> +<highlight language="config"> +SSLProxyMachineCertificateFile /usr/local/apache2/conf/ssl.crt/proxy.pem +</highlight> +</example> +</usage> +</directivesynopsis> + +<directivesynopsis> +<name>SSLProxyMachineCertificateChainFile</name> +<description>Fichier de certificats de CA encodés PEM concaténés permettant au +mandataire de choisir un certificat</description> +<syntax>SSLProxyMachineCertificateChainFile <em>nom-fichier</em></syntax> +<contextlist><context>server config</context> <context>virtual host</context> +<context>proxy section</context></contextlist> +<override>Sans objet</override> + +<usage> +<p> +Cette directive permet de définir le fichier global où est enregistrée +la chaîne de certification pour tous les certificats clients utilisés. +Elle est nécessaire si le serveur distant présente une liste de +certificats de CA qui ne sont pas les signataires directs d'un des +certificats clients configurés. +</p> +<p> +Ce fichier contient tout simplement la concaténation des différents +fichiers de certificats encodés PEM. Au démarrage, chaque certificat +client configuré est examiné et une chaîne de certification est +construite. +</p> +<note type="warning"><title>Avertissement en matière de sécurité</title> +<p>Si cette directive est définie, tous les certificats contenus dans le +fichier spécifié seront considérés comme étant de confiance, comme s'ils +étaient aussi désignés dans la directive <directive +module="mod_ssl">SSLProxyCACertificateFile</directive>.</p> +</note> +<example><title>Exemple</title> +<highlight language="config"> +SSLProxyMachineCertificateChainFile /usr/local/apache2/conf/ssl.crt/proxyCA.pem +</highlight> +</example> +</usage> +</directivesynopsis> + +<directivesynopsis> +<name>SSLProxyVerify</name> +<description>Niveau de vérification du certificat du serveur +distant</description> +<syntax>SSLProxyVerify <em>niveau</em></syntax> +<default>SSLProxyVerify none</default> +<contextlist><context>server config</context> <context>virtual host</context> +<context>proxy section</context></contextlist> +<override>Not applicable</override> + +<usage> + +<p>Lorsqu'un mandataire est configuré pour faire suivre les requêtes +vers un serveur SSL distant, cette directive permet de configurer la +vérification du certificat de ce serveur distant.</p> + +<p> +Les valeurs de <em>niveau</em>x disponibles sont les suivantes :</p> +<ul> +<li><strong>none</strong>: + aucun certificat n'est requis pour le serveur distant</li> +<li><strong>optional</strong>: + le serveur distant <em>peut</em> présenter un certificat valide</li> +<li><strong>require</strong>: + le serveur distant <em>doit</em> présenter un certificat valide</li> +<li><strong>optional_no_ca</strong>: + le serveur distant peut présenter un certificat valide<br /> + mais il n'est pas nécessaire qu'il soit vérifiable (avec succès).</li> +</ul> +<p>En pratique, seuls les niveaux <strong>none</strong> et +<strong>require</strong> sont vraiment intéressants, car le niveau +<strong>optional</strong> ne fonctionne pas avec tous les serveurs, et +le niveau <strong>optional_no_ca</strong> va tout à fait à l'encontre de +l'idée que l'on peut se faire de l'authentification (mais peut tout de +même être utilisé pour établir des pages de test SSL, etc...) + +In practice only levels <strong>none</strong> and +<strong>require</strong> are really interesting, because level +<strong>optional</strong> doesn't work with all servers and level +<strong>optional_no_ca</strong> is actually against the idea of +authentication (but can be used to establish SSL test pages, etc.)</p> +<example><title>Exemple</title> +<highlight language="config"> +SSLProxyVerify require +</highlight> +</example> +</usage> +</directivesynopsis> + +<directivesynopsis> +<name>SSLProxyVerifyDepth</name> +<description>Niveau de profondeur maximum dans les certificats de CA +lors de la vérification du certificat du serveur distant</description> +<syntax>SSLProxyVerifyDepth <em>niveau</em></syntax> +<default>SSLProxyVerifyDepth 1</default> +<contextlist><context>server config</context> <context>virtual host</context> +<context>proxy section</context></contextlist> +<override>Not applicable</override> + +<usage> +<p> +Cette directive permet de définir le niveau de profondeur maximum +jusqu'auquel mod_ssl doit aller au cours de sa vérification avant de +décider que le serveur distant ne possède pas de certificat valide.</p> +<p> +La profondeur correspond en fait au nombre maximum de fournisseurs de +certificats intermédiaires, c'est à dire le nombre maximum de +certificats +de CA que l'on peut consulter lors de la vérification du certificat du +serveur distant. Une profondeur de 0 signifie que seuls les certificats +de serveurs distants auto-signés sont acceptés, et la profondeur par +défaut de 1 que le certificat du serveur distant peut être soit +auto-signé, soit signé par une CA connue directement du serveur (en +d'autres termes, le certificat de CA est référencé par la directive +<directive module="mod_ssl">SSLProxyCACertificatePath</directive>), +etc...</p> +<example><title>Exemple</title> +<highlight language="config"> +SSLProxyVerifyDepth 10 +</highlight> +</example> +</usage> +</directivesynopsis> + +<directivesynopsis> +<name>SSLProxyCheckPeerExpire</name> +<description>Configuration de la vérification de l'expiration du +certificat du serveur distant +</description> +<syntax>SSLProxyCheckPeerExpire on|off</syntax> +<default>SSLProxyCheckPeerExpire on</default> +<contextlist><context>server config</context> <context>virtual host</context> +<context>proxy section</context></contextlist> +<override>Not applicable</override> + +<usage> +<p> +Cette directive permet de définir si l'expiration du certificat du +serveur distant doit être vérifiée ou non. Si la vérification échoue, un +code d'état 502 (Bad Gateway) est envoyé. +</p> +<example><title>Exemple</title> +<highlight language="config"> +SSLProxyCheckPeerExpire on +</highlight> +</example> +</usage> +</directivesynopsis> + +<directivesynopsis> +<name>SSLProxyCheckPeerCN</name> +<description>Configuration de la vérification du champ CN du certificat +du serveur distant +</description> +<syntax>SSLProxyCheckPeerCN on|off</syntax> +<default>SSLProxyCheckPeerCN on</default> +<contextlist><context>server config</context> <context>virtual host</context> +<context>proxy section</context></contextlist> +<override>Not applicable</override> + +<usage> +<p> +Cette directive permet de définir si le champ CN du certificat +du serveur distant doit être comparé au nom de serveur de l'URL de la +requête. S'ils ne correspondent pas, un +code d'état 502 (Bad Gateway) est envoyé. A partir de la version 2.4.5, la +directive <directive module="mod_ssl">SSLProxyCheckPeerName</directive> +l'emporte sur la directive <code>SSLProxyCheckPeerCN</code>. +</p> +<p> +De la version 2.4.5 à la version 2.4.20, spécifier <code>SSLProxyCheckPeerName +off</code> était suffisant pour activer cette fonctionnalité (étant donné que la +valeur par défaut de la directive <code>SSLProxyCheckPeerCN</code> était +<code>on</code>). Avec ces mêmes versions, les deux directives devaient être +définies à <code>off</code> pour éviter la validation du nom de certificat du +serveur distant. De nombreux utilisateurs ont signalé ce comportement comme +étant source de confusion. +</p> +<p> +A partir de la version 2.4.21, toute configuration qui active une des +deux options <code>SSLProxyCheckPeerName</code> ou +<code>SSLProxyCheckPeerCN</code> adopte le nouveau comportement de la +directive <directive module="mod_ssl">SSLProxyCheckPeerName</directive>, alors +que toute configuration qui désactive une des options +<code>SSLProxyCheckPeerName</code> ou <code>SSLProxyCheckPeerCN</code> supprime +toute validation du nom de certificat du serveur distant. Seule la configuration +suivante peut rétablir le comportement traditionnel en matière de comparaison +des CN de certificats dans les versions 2.4.21 et ultérieures. +</p> +<example><title>Exemple</title> +<highlight language="config"> +SSLProxyCheckPeerCN on +SSLProxyCheckPeerName off +</highlight> +</example> +</usage> +</directivesynopsis> + +<directivesynopsis> +<name>SSLProxyCheckPeerName</name> +<description>Configure la vérification du nom d'hôte pour les +certificats serveur distant +</description> +<syntax>SSLProxyCheckPeerName on|off</syntax> +<default>SSLProxyCheckPeerName on</default> +<contextlist><context>server config</context> <context>virtual host</context> +<context>proxy section</context></contextlist> +<override>Not applicable</override> +<compatibility>Disponible à partir de la version 2.4.5 du serveur HTTP +Apache</compatibility> + +<usage> +<p> +Cette directive permet de configurer la vérification du nom d'hôte pour +les certificats serveur lorsque mod_ssl agit en tant que client SSL. La +vérification réussit si le nom d'hôte de l'URI de la requête correspond à un +des attributs CN du sujet du certificat, ou à l'extension subjectAltName. Si la +vérification échoue, la requête SSL +avorte, et un code d'erreur 502 (Bad Gateway) est renvoyé. +</p> +<p> +Les caractères génériques sont supportés dans certains cas bien spécifiques : +une entrée subjectAltName de type dNSName ou les attributs CN +commençant par <code>*.</code> correspondront à tout nom d'hôte comportant +le même nombre de champs et le même suffixe ; par exemple, +<code>*.example.org</code> correspondra à <code>foo.example.org</code>, +mais pas à <code>foo.bar.example.org</code> car le nombre d'éléments dans les +nom est différent. +</p> +<p> +Cette fonctionnalité a été introduite avec la version 2.4.5 et l'emporte sur la +directive <directive module="mod_ssl">SSLProxyCheckPeerCN</directive> qui ne +comparait que la valeur exacte du premier attribut CN avec le nom d'hôte. +Cependant, de nombreux utilisateurs étaient déconcertés par le comportement +induit par l'utilisation de ces deux directives individuellement, si bien que ce +comportement a été amélioré avec la version 2.4.21. Voir la description de la +directive <directive module="mod_ssl">SSLProxyCheckPeerCN</directive> pour le +comportement original et des détails à propos de ces améliorations. +</p> +</usage> +</directivesynopsis> + +<directivesynopsis> +<name>SSLProxyEngine</name> +<description>Interrupteur marche/arrêt du moteur de mandataire +SSL</description> +<syntax>SSLProxyEngine on|off</syntax> +<default>SSLProxyEngine off</default> +<contextlist><context>server config</context> <context>virtual host</context> +<context>proxy section</context></contextlist> +<override>Not applicable</override> + +<usage> +<p> +Cette directive permet d'activer/désactiver l'utilisation du moteur de +protocole SSL/TLS pour le mandataire. On l'utilise en général à +l'intérieur d'une section <directive module="core" +type="section">VirtualHost</directive> pour activer le protocole SSL/TLS +dans le cadre d'un mandataire pour un serveur virtuel particulier. Par +défaut, le moteur de protocole SSL/TLS est désactivé pour la fonction de +mandataire du serveur principal et de tous les serveurs virtuels +configurés.</p> + +<p>Notez que la directive <directive>SSLProxyEngine</directive> ne doit +généralement pas être utilisée dans le cadre d'un serveur virtuel qui agit en +tant que mandataire direct (via les directives <directive module="mod_proxy" +type="section">Proxy</directive> ou <directive +module="mod_proxy">ProxyRequests</directive>). +<directive>SSLProxyEngine</directive> n'est pas nécessaire pour activer un +serveur mandataire direct pour les requêtes SSL/TLS.</p> + +<example><title>Exemple</title> +<highlight language="config"> +<VirtualHost _default_:443> + SSLProxyEngine on + #... +</VirtualHost> +</highlight> +</example> +</usage> +</directivesynopsis> + +<directivesynopsis> +<name>SSLProxyProtocol</name> +<description>Définit les protocoles SSL disponibles pour la fonction de +mandataire</description> +<syntax>SSLProxyProtocol [+|-]<em>protocole</em> ...</syntax> +<default>SSLProxyProtocol all -SSLv3</default> +<contextlist><context>server config</context> <context>virtual host</context> +<context>proxy section</context></contextlist> +<override>Not applicable</override> + +<usage> +<!-- XXX Why does this have an override and not .htaccess context? --> +<p> +Cette directive permet de définir les protocoles SSL que mod_ssl peut +utiliser lors de l'élaboration de son environnement de serveur pour la +fonction de mandataire. Il ne se connectera qu'aux serveurs utilisant un +des protocoles spécifiés.</p> +<p>Veuillez vous reporter à la directive <directive +module="mod_ssl">SSLProtocol</directive> pour plus d'informations. +</p> +</usage> +</directivesynopsis> + +<directivesynopsis> +<name>SSLProxyCipherSuite</name> +<description>Algorithmes de chiffrement disponibles pour la négociation +lors de l'initialisation d'une connexion SSL de mandataire</description> +<syntax>SSLProxyCipherSuite <em>algorithmes</em></syntax> +<default>SSLProxyCipherSuite ALL:!ADH:RC4+RSA:+HIGH:+MEDIUM:+LOW:+EXP</default> +<contextlist><context>server config</context> <context>virtual host</context> +<context>proxy section</context></contextlist> +<override>Not applicable</override> + +<usage> +<p>Cette directive est équivalente à la directive <directive +module="mod_ssl">SSLCipherSuite</directive>, mais s'applique à une connexion de +mandataire. Veuillez vous reporter à la directive <directive +module="mod_ssl">SSLCipherSuite</directive> pour plus d'informations.</p> +</usage> + +</directivesynopsis> +<directivesynopsis> +<name>SSLProxyCACertificatePath</name> +<description>Répertoire des certificats de CA codés en PEM pour +l'authentification des serveurs distants</description> +<syntax>SSLProxyCACertificatePath <em>chemin-répertoire</em></syntax> +<contextlist><context>server config</context> <context>virtual host</context> +<context>proxy section</context></contextlist> +<override>Not applicable</override> + +<usage> +<p> +Cette directive permet de spécifier le répertoire où sont stockés les +certificats des Autorités de Certification (CAs) pour les serveurs +distants auxquels vous avez à faire. On les utilise pour vérifier le +certificat du serveur distant lors de l'authentification de ce +dernier.</p> +<p> +Les fichiers de ce répertoire doivent être codés en PEM et ils sont +accédés via des noms de fichier sous forme de condensés ou hash. Il ne +suffit donc pas de placer les fichiers de certificats dans ce répertoire +: vous devez aussi créer des liens symboliques nommés +<em>valeur-de-hashage</em><code>.N</code>, et vous devez toujours vous +assurer que ce répertoire contient les liens symboliques appropriés.</p> +<example><title>Exemple</title> +<highlight language="config"> +SSLProxyCACertificatePath /usr/local/apache2/conf/ssl.crt/ +</highlight> +</example> +</usage> +</directivesynopsis> + +<directivesynopsis> +<name>SSLProxyCACertificateFile</name> +<description>Fichier contenant la concaténation des certificats de CA +codés en PEM pour l'authentification des serveurs distants</description> +<syntax>SSLProxyCACertificateFile <em>file-path</em></syntax> +<contextlist><context>server config</context> <context>virtual host</context> +<context>proxy section</context></contextlist> +<override>Not applicable</override> + +<usage> +<p> +Cette directive permet de définir le fichier <em>tout-en-un</em> où sont +stockés les certificats des Autorités de Certification (CA) pour les +<em>serveurs distants</em> auxquels vous avez à faire. On les utilise +lors de l'authentification du serveur distant. Un tel fichier contient +la simple concaténation des différents fichiers de certificats codés en +PEM, classés par ordre de préférence. On peut utiliser cette directive à +la place et/ou en complément de la directive <directive +module="mod_ssl">SSLProxyCACertificatePath</directive>.</p> +<example><title>Exemple</title> +<highlight language="config"> +SSLProxyCACertificateFile +/usr/local/apache2/conf/ssl.crt/ca-bundle-serveur.distant.crt +</highlight> +</example> +</usage> +</directivesynopsis> + +<directivesynopsis> +<name>SSLProxyCARevocationPath</name> +<description>Répertoire des CRLs de CA codés en PEM pour +l'authentification des serveurs distants</description> +<syntax>SSLProxyCARevocationPath <em>chemin-répertoire</em></syntax> +<contextlist><context>server config</context> <context>virtual host</context> +<context>proxy section</context></contextlist> +<override>Not applicable</override> + +<usage> +<p> +Cette directive permet de définir le répertoire où sont stockées les +Listes de Révocation de Certificats (CRL) des Autorités de Certification +(CAs) pour les serveurs distants auxquels vous avez à faire. On les +utilise pour révoquer les certificats des serveurs distants au cours de +l'authentification de ces derniers.</p> +<p> +Les fichiers de ce répertoire doivent être codés en PEM et ils sont +accédés via des noms de fichier sous forme de condensés ou hash. Il ne +suffit donc pas de placer les fichiers de CRL dans ce répertoire +: vous devez aussi créer des liens symboliques nommés +<em>valeur-de-hashage</em><code>.rN</code>, et vous devez toujours vous +assurer que ce répertoire contient les liens symboliques appropriés.</p> +<example><title>Exemple</title> +<highlight language="config"> +SSLProxyCARevocationPath /usr/local/apache2/conf/ssl.crl/ +</highlight> +</example> +</usage> +</directivesynopsis> + +<directivesynopsis> +<name>SSLProxyCARevocationFile</name> +<description>Fichier contenant la concaténation des CRLs de CA codés en +PEM pour l'authentification des serveurs distants</description> +<syntax>SSLProxyCARevocationFile <em>chemin-fichier</em></syntax> +<contextlist><context>server config</context> <context>virtual host</context> +<context>proxy section</context></contextlist> +<override>Not applicable</override> + +<usage> +<p> +Cette directive permet de définir le fichier <em>tout-en-un</em> où sont +rassemblées les Listes de Révocation de Certificats (CRLs) des Autorités +de certification (CAs) pour les <em>serveurs distants</em> auxquels vous +avez à faire. On les utilise pour l'authentification des serveurs +distants. Un tel fichier contient la simple concaténation des différents +fichiers de CRLs codés en PEM, classés par ordre de préférence. Cette +directive peut être utilisée à la place et/ou en complément de la +directive <directive +module="mod_ssl">SSLProxyCARevocationPath</directive>.</p> +<example><title>Exemple</title> +<highlight language="config"> +SSLProxyCARevocationFile +/usr/local/apache2/conf/ssl.crl/ca-bundle-serveur.distant.crl +</highlight> +</example> +</usage> +</directivesynopsis> + +<directivesynopsis> +<name>SSLProxyCARevocationCheck</name> +<description>Active la vérification des révocations basée sur les CRLs +pour l'authentification du serveur distant</description> +<syntax>SSLProxyCARevocationCheck chain|leaf|none</syntax> +<default>SSLProxyCARevocationCheck none</default> +<contextlist><context>server config</context> <context>virtual host</context> +<context>proxy section</context></contextlist> +<override>Not applicable</override> + +<usage> +<p> +Active la vérification des révocations basée sur les Listes de +révocations de Certificats (CRL) pour les <em>serveurs distants</em> +auxquels vous vous connectez. A moins une des directives <directive +module="mod_ssl">SSLProxyCARevocationFile</directive> ou <directive +module="mod_ssl">SSLProxyCARevocationPath</directive> doit être définie. +Lorsque cette directive est définie à <code>chain</code> (valeur +recommandée), les vérifications CRL sont effectuées sur tous les +certificats de la chaîne, alors que la valeur <code>leaf</code> limite +la vérification au certificat hors chaîne (la feuille). +</p> +<note> +<title>Lorsque la directive est définie à <code>chain</code> ou +<code>leaf</code>, les CRLs doivent être disponibles pour que la +validation réussisse</title> +<p> +Avant la version 2.3.15, les vérifications CRL dans mod_ssl +réussissaient même si aucune CRL n'était trouvée dans les chemins +définis par les directives <directive +module="mod_ssl">SSLProxyCARevocationFile</directive> ou <directive +module="mod_ssl">SSLProxyCARevocationPath</directive>. Le comportement a +changé avec l'introduction de cette directive : lorsque la vérification +est activée, les CRLs <em>doivent</em> être présentes pour que la +validation réussisse ; dans le cas contraire, elle échouera avec une +erreur <code>"CRL introuvable"</code>. +</p> +</note> +<example><title>Exmple</title> +<highlight language="config"> +SSLProxyCARevocationCheck chain +</highlight> +</example> +</usage> +</directivesynopsis> + +<directivesynopsis> +<name>SSLUserName</name> +<description>Nom de la variable servant à déterminer le nom de +l'utilisateur</description> +<syntax>SSLUserName <em>nom-var</em></syntax> +<contextlist><context>server config</context> +<context>directory</context> +<context>.htaccess</context></contextlist> +<override>AuthConfig</override> + +<usage> +<p> +Cette variable permet de définir le champ "user" de l'objet de la +requête Apache. Ce champ est utilisé par des modules de plus bas niveau +pour identifier l'utilisateur avec une chaîne de caractères. En +particulier, l'utilisation de cette directive peut provoquer la +définition de la variable d'environnement <code>REMOTE_USER</code>. +La valeur de l'argument <em>nom-var</em> peut correspondre à toute <a +href="#envvars">variable d'environnement SSL</a>.</p> + +<p>Lorsque l'option <code>FakeBasicAuth</code> est activée, cette +directive contrôle la valeur du nom d'utilisateur contenue dans +l'en-tête d'authentification de base (voir <a +href="#ssloptions">SSLOptions</a>).</p> + +<example><title>Exemple</title> +<highlight language="config"> +SSLUserName SSL_CLIENT_S_DN_CN +</highlight> +</example> +</usage> +</directivesynopsis> + +<directivesynopsis> +<name>SSLHonorCipherOrder</name> +<description>Option permettant de classer les algorithmes de chiffrement +du serveur par ordre de préférence</description> +<syntax>SSLHonorCipherOrder on|off</syntax> +<default>SSLHonorCipherOrder off</default> +<contextlist><context>server config</context> +<context>virtual host</context></contextlist> + +<usage> +<p>Normalement, ce sont les préférences du client qui sont prises en +compte lors du choix d'un algorithme de chiffrement au cours d'une +négociation SSLv3 ou TLSv1. Si cette directive est activée, ce sont les +préférences du serveur qui seront prises en compte à la place.</p> +<example><title>Exemple</title> +<highlight language="config"> +SSLHonorCipherOrder on +</highlight> +</example> +</usage> +</directivesynopsis> + +<directivesynopsis> +<name>SSLCryptoDevice</name> +<description>Active l'utilisation d'un accélérateur matériel de +chiffrement</description> +<syntax>SSLCryptoDevice <em>moteur</em></syntax> +<default>SSLCryptoDevice builtin</default> +<contextlist><context>server config</context></contextlist> + +<usage> +<p> +Cette directive permet d'activer l'utilisation d'une carte accélératrice +de chiffrement qui prendra en compte certaines parties du traitement +relatif à SSL. Cette directive n'est utilisable que si la boîte à +outils SSL à été compilée avec le support "engine" ; les versions 0.9.7 +et supérieures d'OpenSSL possèdent par défaut le support "engine", alors +qu'avec la version 0.9.6, il faut utiliser les distributions séparées +"-engine".</p> + +<p>Pour déterminer les moteurs supportés, exécutez la commande +"<code>openssl engine</code>".</p> + +<example><title>Exemple</title> +<highlight language="config"> +# Pour un accélérateur Broadcom : +SSLCryptoDevice ubsec +</highlight> +</example> +</usage> +</directivesynopsis> + +<directivesynopsis> +<name>SSLOCSPEnable</name> +<description>Active la validation OCSP de la chaîne de certificats du +client</description> +<syntax>SSLOCSPEnable on|off</syntax> +<default>SSLOCSPEnable off</default> +<contextlist><context>server config</context> +<context>virtual host</context></contextlist> + +<usage> +<p>Cette directive permet d'activer la validation OCSP de la chaîne de +certificats du client. Si elle est activée, les certificats de la chaîne +de certificats du client seront validés auprès d'un répondeur OCSP, une +fois la vérification normale effectuée (vérification des CRLs +incluse).</p> + +<p>Le répondeur OCSP utilisé est soit extrait du certificat lui-même, +soit spécifié dans la configuration ; voir les directives <directive +module="mod_ssl">SSLOCSPDefaultResponder</directive> et <directive +module="mod_ssl">SSLOCSPOverrideResponder</directive>.</p> + +<example><title>Exemple</title> +<highlight language="config"> +SSLVerifyClient on +SSLOCSPEnable on +SSLOCSPDefaultResponder http://responder.example.com:8888/responder +SSLOCSPOverrideResponder on +</highlight> +</example> +</usage> +</directivesynopsis> + +<directivesynopsis> +<name>SSLOCSPDefaultResponder</name> +<description>Définit l'URI du répondeur par défaut pour la validation +OCSP</description> +<syntax>SSLOCSDefaultResponder <em>uri</em></syntax> +<contextlist><context>server config</context> +<context>virtual host</context></contextlist> + +<usage> +<p>Cette directive permet de définir le répondeur OCSP par défaut. Si la +directive <directive +module="mod_ssl">SSLOCSPOverrideResponder</directive> n'est pas activée, +l'URI spécifié ne sera utilisé que si aucun URI de répondeur n'est +spécifié dans le certificat en cours de vérification.</p> +</usage> +</directivesynopsis> + +<directivesynopsis> +<name>SSLOCSPOverrideResponder</name> +<description>Force l'utilisation de l'URI du répondeur par défaut pour +la validation OCSP</description> +<syntax>SSLOCSPOverrideResponder on|off</syntax> +<default>SSLOCSPOverrideResponder off</default> +<contextlist><context>server config</context> +<context>virtual host</context></contextlist> + +<usage> +<p>Force l'utilisation, au cours d'une validation OCSP de certificat, du +répondeur OCSP par défaut spécifié dans la configuration, que le +certificat en cours de vérification fasse mention d'un répondeur OCSP ou +non.</p> +</usage> +</directivesynopsis> + +<directivesynopsis> +<name>SSLOCSPResponseTimeSkew</name> +<description>Dérive temporelle maximale autorisée pour la validation des +réponses OCSP</description> +<syntax>SSLOCSPResponseTimeSkew <em>secondes</em></syntax> +<default>SSLOCSPResponseTimeSkew 300</default> +<contextlist><context>server config</context> +<context>virtual host</context></contextlist> + +<usage> +<p>Cette option permet de définir la dérive temporelle maximale +autorisée pour les réponses OCSP (lors de la vérification des champs +<code>thisUpdate</code> et <code>nextUpdate</code>).</p> +</usage> +</directivesynopsis> + +<directivesynopsis> +<name>SSLOCSPResponseMaxAge</name> +<description>Age maximum autorisé pour les réponses OCSP</description> +<syntax>SSLOCSPResponseMaxAge <em>secondes</em></syntax> +<default>SSLOCSPResponseMaxAge -1</default> +<contextlist><context>server config</context> +<context>virtual host</context></contextlist> + +<usage> +<p>Cette option permet de définir l'âge maximum autorisé (la +"fraicheur") des réponses OCSP. La valeur par défault (<code>-1</code>) +signifie qu'aucun âge maximum n'est définit ; autrement dit, les +réponses OCSP sont considérées comme valides tant que la valeur de leur +champ <code>nextUpdate</code> se situe dans le futur.</p> +</usage> +</directivesynopsis> + +<directivesynopsis> +<name>SSLOCSPResponderTimeout</name> +<description>Délai d'attente pour les requêtes OCSP</description> +<syntax>SSLOCSPResponderTimeout <em>secondes</em></syntax> +<default>SSLOCSPResponderTimeout 10</default> +<contextlist><context>server config</context> +<context>virtual host</context></contextlist> + +<usage> +<p>Cette option permet de définir le délai d'attente pour les requêtes à +destination des répondeurs OCSP, lorsque la directive <directive +module="mod_ssl">SSLOCSPEnable</directive> est à on.</p> +</usage> +</directivesynopsis> + +<directivesynopsis> +<name>SSLOCSPUseRequestNonce</name> +<description>Utilisation d'un nombre à usage unique au sein des requêtes +OCSP</description> +<syntax>SSLOCSPUseRequestNonce on|off</syntax> +<default>SSLOCSPUseRequestNonce on</default> +<contextlist><context>server config</context> +<context>virtual host</context></contextlist> +<compatibility>Disponible à partir de la version 2.4.10 du serveur HTTP +Apache</compatibility> + +<usage> +<p>Cette directive permet de spécifier si les requêtes vers les +répondeurs OCSP doivent contenir un nombre à usage unique ou non. Par +défaut, un nombre à usage unique est toujours présent dans les requêtes +et il est comparé à celui de la réponse. Lorsque le répondeur n'utilise pas de +nombre à usage unique (comme Microsoft OCSP Responder), cette directive +doit être définie à <code>off</code>.</p> +</usage> +</directivesynopsis> + +<directivesynopsis> +<name>SSLOCSPProxyURL</name> +<description>Adresse de mandataire à utiliser pour les requêtes OCSP</description> +<syntax>SSLOCSPProxyURL <em>url</em></syntax> +<contextlist><context>server config</context> +<context>virtual host</context></contextlist> +<compatibility>Disponible à partir de la version 2.4.19 du serveur HTTP Apache</compatibility> + +<usage> +<p>Cette directive permet de définir l'URL d'un mandataire HTTP qui devra être +utilisé pour toutes les requêtes vers un répondeur OCSP.</p> +</usage> +</directivesynopsis> + +<directivesynopsis> +<name>SSLInsecureRenegotiation</name> +<description>Option permettant d'activer le support de la renégociation +non sécurisée</description> +<syntax>SSLInsecureRenegotiation on|off</syntax> +<default>SSLInsecureRenegotiation off</default> +<contextlist><context>server config</context> +<context>virtual host</context></contextlist> +<compatibility>Disponible si une version 0.9.8m +ou supérieure d'OpenSSL est utilisée</compatibility> + +<usage> +<p>Comme il a été spécifié, toutes les versions des protocoles SSL et +TLS (jusqu'à la version 1.2 de TLS incluse) étaient vulnérables à une +attaque de type Man-in-the-Middle (<a +href="http://cve.mitre.org/cgi-bin/cvename.cgi?name=CAN-2009-3555">CVE-2009-3555</a>) +au cours d'une renégociation. Cette vulnérabilité permettait à un +attaquant de préfixer la requête HTTP (telle qu'elle était vue du +serveur) avec un texte choisi. Une extension du protocole a été +développée pour corriger cette vulnérabilité, sous réserve qu'elle soit +supportée par le client et le serveur.</p> + +<p>Si <module>mod_ssl</module> est lié à une version 0.9.8m ou +supérieure d'OpenSSL, par défaut, la renégociation n'est accordée qu'aux +clients qui supportent la nouvelle extension du protocole. Si +cette directive est activée, la renégociation sera accordée aux anciens +clients (non patchés), quoique de manière non sécurisée</p> + +<note type="warning"><title>Avertissement à propos de la sécurité</title> +<p>Si cette directive est activée, les connexions SSL seront vulnérables +aux attaques de type préfixe Man-in-the-Middle comme décrit dans <a +href="http://cve.mitre.org/cgi-bin/cvename.cgi?name=CAN-2009-3555">CVE-2009-3555</a>.</p> +</note> + +<example><title>Exemple</title> +<highlight language="config"> +SSLInsecureRenegotiation on +</highlight> +</example> + +<p>La variable d'environnement <code>SSL_SECURE_RENEG</code> peut être +utilisée dans un script SSI ou CGI pour déterminer si la renégociation +sécurisée est supportée pour une connexion SSL donnée.</p> + +</usage> +</directivesynopsis> + +<directivesynopsis> +<name>SSLUseStapling</name> +<description>Active l'ajout des réponses OCSP à la négociation TLS</description> +<syntax>SSLUseStapling on|off</syntax> +<default>SSLUseStapling off</default> +<contextlist><context>server config</context> +<context>virtual host</context></contextlist> +<compatibility>Disponible si on utilise OpenSSL version 0.9.8h ou supérieure</compatibility> + +<usage> +<p>Cette directive permet d'activer l'"Agrafage OCSP" (OCSP stapling) +selon la définition de l'extension TLS "Certificate Status Request" +fournie dans la RFC 6066. Si elle est activée et si le client le +demande, mod_ssl va inclure une réponse OCSP à propos de son propre +certificat dans la négociation TLS. Pour pouvoir activer l'Agrafage +OCSP, il est nécessaire de configurer un <directive +module="mod_ssl">SSLStaplingCache</directive>.</p> + +<p>L'agrafage OCSP dispense le client de requérir le serveur OCSP +directement ; il faut cependant noter que selon les spécifications de la +RFC 6066, la réponse <code>CertificateStatus</code> du serveur ne peut +inclure une réponse OCSP que pour un seul certificat. Pour les +certificats de serveur comportant des certificats de CA intermédiaires +dans leur chaîne (c'est un cas typique de nos jours), l'implémentation +actuelle de l'agrafage OCSP n'atteint que partiellement l'objectif d' +"économie en questions/réponse et en ressources". Pour plus de détails, +voir la <a href="http://www.ietf.org/rfc/rfc6961.txt">RFC 6961</a> (TLS +Multiple Certificate Status Extension). +</p> + +<p>Lorsque l'agrafage OCSP est activé, le mutex +<code>ssl-stapling</code> contrôle l'accès au cache de l'agrafage OCSP +afin de prévenir toute corruption, et le mutex +<code>sss-stapling-refresh</code> contrôle le raffraîchissement des +réponses OCSP. Ces mutex peuvent être configurés via la directive +<directive module="core">Mutex</directive>. +</p> +</usage> +</directivesynopsis> + +<directivesynopsis> +<name>SSLStaplingCache</name> +<description>Configuration du cache pour l'agrafage OCSP</description> +<syntax>SSLStaplingCache <em>type</em></syntax> +<contextlist><context>server config</context></contextlist> +<compatibility>Disponible si on utilise OpenSSL version 0.9.8h ou supérieure</compatibility> + +<usage> +<p>Si <directive module="mod_ssl">SSLUseStapling</directive> est à "on", +cette directive permet de configurer le cache destiné à stocker les +réponses OCSP incluses dans la négociation TLS. La configuration d'un +cache est obligatoire pour pouvoir utiliser l'agrafage OCSP. A +l'exception de <code>none</code> et <code>nonenotnull</code>, cette +directive supporte les mêmes types de stockage que la directive +<directive module="mod_ssl">SSLSessionCache</directive>.</p> + +</usage> +</directivesynopsis> + +<directivesynopsis> +<name>SSLStaplingResponseTimeSkew</name> +<description>Durée de vie maximale autorisée des réponses OCSP incluses dans la +négociation TLS</description> +<syntax>SSLStaplingResponseTimeSkew <em>secondes</em></syntax> +<default>SSLStaplingResponseTimeSkew 300</default> +<contextlist><context>server config</context> +<context>virtual host</context></contextlist> +<compatibility>Disponible si on utilise OpenSSL version 0.9.8h ou supérieure</compatibility> + +<usage> +<p>Cette directive permet de spécifier l'intervalle de temps maximum que +mod_ssl va calculer en faisant la différence entre les contenus des +champs <code>nextUpdate</code> et <code>thisUpdate</code> des réponses +OCSP incluses dans la négociation TLS. Pour pouvoir utiliser cette +directive, <directive module="mod_ssl">SSLUseStapling</directive> doit +être à "on".</p> +</usage> +</directivesynopsis> + +<directivesynopsis> +<name>SSLStaplingResponderTimeout</name> +<description>Temps d'attente maximum pour les requêtes vers les serveurs +OCSP</description> +<syntax>SSLStaplingResponderTimeout <em>secondes</em></syntax> +<default>SSLStaplingResponderTimeout 10</default> +<contextlist><context>server config</context> +<context>virtual host</context></contextlist> +<compatibility>Disponible si on utilise OpenSSL version 0.9.8h ou supérieure</compatibility> + +<usage> +<p>Cette directive permet de définir le temps d'attente maximum lorsque +mod_ssl envoie une requête vers un serveur OCSP afin d'obtenir une +réponse destinée à être incluse dans les négociations TLS avec les +clients (<directive module="mod_ssl">SSLUseStapling</directive> doit +avoir été activée au préalable).</p> +</usage> +</directivesynopsis> + +<directivesynopsis> +<name>SSLStaplingResponseMaxAge</name> +<description>Age maximum autorisé des réponses OCSP incluses dans la +négociation TLS</description> +<syntax>SSLStaplingResponseMaxAge <em>secondes</em></syntax> +<default>SSLStaplingResponseMaxAge -1</default> +<contextlist><context>server config</context> +<context>virtual host</context></contextlist> +<compatibility>Disponible si on utilise OpenSSL version 0.9.8h ou supérieure</compatibility> + +<usage> +<p>Cette directive permet de définir l'âge maximum autorisé +("fraîcheur") des réponses OCSP incluses dans la négociation TLS +(<directive module="mod_ssl">SSLUseStapling</directive> doit +avoir été activée au préalable). La valeur par défaut (<code>-1</code>) +ne définit aucun âge maximum, ce qui signifie que les réponses OCSP sont +considérées comme valides à partir du moment où le contenu de leur champ +<code>nextUpdate</code> se trouve dans le futur.</p> +</usage> +</directivesynopsis> + +<directivesynopsis> +<name>SSLStaplingStandardCacheTimeout</name> +<description>Durée de vie des réponses OCSP dans le cache</description> +<syntax>SSLStaplingStandardCacheTimeout <em>secondes</em></syntax> +<default>SSLStaplingStandardCacheTimeout 3600</default> +<contextlist><context>server config</context> +<context>virtual host</context></contextlist> +<compatibility>Disponible si on utilise OpenSSL version 0.9.8h ou supérieure</compatibility> + +<usage> +<p>Cette directive permet de définir la durée de vie des réponses OCSP +dans le cache configuré via la directive <directive +module="mod_ssl">SSLStaplingCache</directive>. Elle ne s'applique qu'aux +réponse <em>valides</em>, alors que la directive <directive +module="mod_ssl">SSLStaplingErrorCacheTimeout</directive> s'applique aux +réponses invalides ou non disponibles. +</p> +</usage> +</directivesynopsis> + +<directivesynopsis> +<name>SSLStaplingReturnResponderErrors</name> +<description>Transmet au client les erreurs survenues lors des requêtes +OCSP</description> +<syntax>SSLStaplingReturnResponderErrors on|off</syntax> +<default>SSLStaplingReturnResponderErrors on</default> +<contextlist><context>server config</context> +<context>virtual host</context></contextlist> +<compatibility>Disponible si on utilise OpenSSL version 0.9.8h ou supérieure</compatibility> + +<usage> +<p>Lorsque cette directive est activée, mod_ssl va transmettre au client les +réponses concernant les requêtes OCSP +échouées (comme les réponses avec un état autre que +"successful", les réponses avec un statut de certificat autre que +"good", les réponses +périmées, etc...). Lorsqu'elle est à +<code>off</code>, seules les réponses indiquant un statut de certificat +"good" seront incluses dans les +négociations TLS avec les clients.</p> +</usage> +</directivesynopsis> + +<directivesynopsis> +<name>SSLStaplingFakeTryLater</name> +<description>Génère une réponse "tryLater" pour les requêtes OCSP échouées</description> +<syntax>SSLStaplingFakeTryLater on|off</syntax> +<default>SSLStaplingFakeTryLater on</default> +<contextlist><context>server config</context> +<context>virtual host</context></contextlist> +<compatibility>Disponible si on utilise OpenSSL version 0.9.8h ou supérieure</compatibility> + +<usage> +<p>Lorsque cette directive est activée, et si une requête vers un +serveur OCSP à des fins d'inclusion dans une négociation TLS échoue, +mod_ssl va générer une réponse "tryLater" pour le client (<directive +module="mod_ssl">SSLStaplingReturnResponderErrors</directive> doit être +activée).</p> +</usage> +</directivesynopsis> + +<directivesynopsis> +<name>SSLStaplingErrorCacheTimeout</name> +<description>Durée de vie des réponses invalides dans le cache pour +agrafage OCSP</description> +<syntax>SSLStaplingErrorCacheTimeout <em>secondes</em></syntax> +<default>SSLStaplingErrorCacheTimeout 600</default> +<contextlist><context>server config</context> +<context>virtual host</context></contextlist> +<compatibility>Disponible si on utilise OpenSSL version 0.9.8h ou supérieure</compatibility> + +<usage> +<p>Cette directive permet de définir la durée de vie des réponses +<em>invalides</em> dans le cache pour agrafage OCSP configuré via la +directive <directive module="mod_ssl">SSLStaplingCache</directive>. Pour +définir la durée de vie des réponses valides, voir la directive +<directive module="mod_ssl">SSLStaplingStandardCacheTimeout</directive>.</p> +</usage> +</directivesynopsis> + +<directivesynopsis> +<name>SSLStaplingForceURL</name> +<description>Remplace l'URI du serveur OCSP spécifié dans l'extension +AIA du certificat</description> +<syntax>SSLStaplingForceURL <em>uri</em></syntax> +<contextlist><context>server config</context> +<context>virtual host</context></contextlist> +<compatibility>Disponible si on utilise OpenSSL version 0.9.8h ou supérieure</compatibility> + +<usage> +<p>Cette directive permet de remplacer l'URI du serveur OCSP extraite de +l'extension authorityInfoAccess (AIA) du certificat. Elle peut s'avérer +utile lorsqu'on passe par un mandataire</p> +</usage> +</directivesynopsis> + +<directivesynopsis> +<name>SSLSessionTicketKeyFile</name> +<description>Clé de chiffrement/déchiffrement permanente pour les +tickets de session TLS</description> +<syntax>SSLSessionTicketKeyFile <em>chemin-fichier</em></syntax> +<contextlist><context>server config</context> +<context>virtual host</context></contextlist> +<compatibility>Disponible depuis la version 2.4.0 du serveur HTTP +Apache, sous réserve que l'on utilise une version 0.9.8h ou supérieure +d'OpenSSL</compatibility> + +<usage> +<p>Cette directive permet de définir une clé secrète pour le chiffrement +et le déchiffrement des tickets de session TLS selon les préconisations +de la <a href="http://www.ietf.org/rfc/rfc5077.txt">RFC 5077</a>. Elle a +été conçue à l'origine pour les environnements de clusters où les +données des sessions TLS doivent être partagées entre plusieurs noeuds. +Pour les configurations ne comportant qu'une seule instance de httpd, il +est préférable d'utiliser les clés (aléatoires) générées par mod_ssl au +démarrage du serveur.</p> +<p>Le fichier doit contenir 48 octets de données aléatoires créées de +préférence par une source à haute entropie. Sur un système de type UNIX, +il est possible de créer le fichier contenant la clé de la manière +suivante :</p> + +<example> +dd if=/dev/random of=/chemin/vers/fichier.tkey bs=1 count=48 +</example> + +<p>Ces clés doivent être renouvelées fréquemment, car il s'agit du seul +moyen d'invalider un ticket de session existant - OpenSSL ne permet pas +actuellement de spécifier une limite à la durée de +vie des tickets. Une nouvelle clé de ticket ne peut être utilisée qu'après +redémarrage du serveur web. Tous les tickets de session existants +deviennent invalides après le redémarrage du serveur.</p> + +<note type="warning"> +<p>Ce fichier contient des données sensibles et doit donc être protégé +par des permissions similaires à celles du fichier spécifié par la +directive <directive module="mod_ssl">SSLCertificateKeyFile</directive>.</p> +</note> +</usage> +</directivesynopsis> + +<directivesynopsis> +<name>SSLCompression</name> +<description>Permet d'activer la compression au niveau SSL</description> +<syntax>SSLCompression on|off</syntax> +<default>SSLCompression off</default> +<contextlist><context>server config</context> +<context>virtual host</context></contextlist> +<compatibility>Disponible à partir de la version 2.4.3 du serveur HTTP +Apache, si on utilise une version d'OpenSSL 0.9.8 ou supérieure ; +l'utilisation dans un contexte de serveur virtuel n'est disponible que +si on utilise une version d'OpenSSL 1.0.0 ou supérieure. La valeur par +défaut était <code>on</code> dans la version 2.4.3.</compatibility> + +<usage> +<p>Cette directive permet d'activer la compression au niveau SSL.</p> +<note type="warning"> +<p>L'activation de la compression est à l'origine de problèmes de +sécurité dans la plupart des configurations (l'attaque nommée CRIME).</p> +</note> +</usage> +</directivesynopsis> + +<directivesynopsis> +<name>SSLSessionTickets</name> +<description>Active ou désactive les tickets de session TLS</description> +<syntax>SSLSessionTickets on|off</syntax> +<default>SSLSessionTickets on</default> +<contextlist><context>server config</context> +<context>virtual host</context></contextlist> +<compatibility>Disponible à partir de la version 2.4.11 du serveur HTTP +Apache, sous réserve d'utiliser OpenSSL version 0.9.8f ou supérieure. +</compatibility> + +<usage> +<p>Cette directive permet d'activer ou de désactiver l'utilisation des +tickets de session TLS (RFC 5077).</p> +<note type="warning"> +<p>Les tickets de session TLS sont activés par défaut. Les utiliser sans +redémarrer le serveur selon une périodicité appropriée (par exemple +quotidiennement) compromet cependant le niveau de confidentialité.</p> +</note> +</usage> +</directivesynopsis> + +<directivesynopsis> +<name>SSLOpenSSLConfCmd</name> +<description>Configuration des paramètres d'OpenSSL via son API <em>SSL_CONF</em></description> +<syntax>SSLOpenSSLConfCmd <em>commande</em> <em>valeur</em></syntax> +<contextlist><context>server config</context> +<context>virtual host</context></contextlist> +<compatibility>Disponible depuis la version 2.4.8 du serveur HTTP +Apache avec OpenSSL 1.0.2 ou supérieur</compatibility> + +<usage> +<p>Cette directive permet à mod_ssl d'accéder à l'API <em>SSL_CONF</em> +d'OpenSSL. Il n'est ainsi plus nécessaire d'implémenter des +directives supplémentaires pour <module>mod_ssl</module> lorsque de nouvelles +fonctionnalités sont ajoutées à OpenSSL, ce qui rend la configuration de +ce dernier beaucoup plus souple.</p> + +<p>Le jeu de commandes disponibles pour la directive +<directive>SSLOpenSSLConfCmd</directive> dépend de la version d'OpenSSL +utilisée pour <module>mod_ssl</module> (la version minimale 1.0.2 est un +prérequis). Pour obtenir la liste des commandes supportées, voir la +section <em>Supported configuration file commands</em> de la page de +manuel d'OpenSSL <a +href="http://www.openssl.org/docs/man1.0.2/ssl/SSL_CONF_cmd.html#SUPPORTED-CONFIGURATION-FILE-COMMANDS">SSL_CONF_cmd(3)</a>.</p> + +<p>Certaines commandes peuvent remplacer des directives existantes +(comme <directive module="mod_ssl">SSLCipherSuite</directive> ou +<directive module="mod_ssl">SSLProtocol</directive>) ; notez cependant +que la syntaxe et/ou les valeurs possibles peuvent différer.</p> + +<example><title>Examples</title> +<highlight language="config"> +SSLOpenSSLConfCmd Options -SessionTicket,ServerPreference +SSLOpenSSLConfCmd ECDHParameters brainpoolP256r1 +SSLOpenSSLConfCmd ServerInfoFile /usr/local/apache2/conf/server-info.pem +SSLOpenSSLConfCmd Protocol "-ALL, TLSv1.2" +SSLOpenSSLConfCmd SignatureAlgorithms RSA+SHA384:ECDSA+SHA256 +</highlight> +</example> +</usage> +</directivesynopsis> + +</modulesynopsis> diff --git a/docs/manual/mod/mod_ssl.xml.meta b/docs/manual/mod/mod_ssl.xml.meta index 388e2f7025..be20a51f56 100644 --- a/docs/manual/mod/mod_ssl.xml.meta +++ b/docs/manual/mod/mod_ssl.xml.meta @@ -8,5 +8,6 @@ <variants> <variant>en</variant> + <variant outdated="yes">fr</variant> </variants> </metafile> diff --git a/docs/manual/mod/mod_substitute.html b/docs/manual/mod/mod_substitute.html index 4d0f620a72..e54d340aa5 100644 --- a/docs/manual/mod/mod_substitute.html +++ b/docs/manual/mod/mod_substitute.html @@ -3,3 +3,7 @@ URI: mod_substitute.html.en Content-Language: en Content-type: text/html; charset=ISO-8859-1 + +URI: mod_substitute.html.fr +Content-Language: fr +Content-type: text/html; charset=ISO-8859-1 diff --git a/docs/manual/mod/mod_substitute.html.fr b/docs/manual/mod/mod_substitute.html.fr new file mode 100644 index 0000000000..c251ee2be6 --- /dev/null +++ b/docs/manual/mod/mod_substitute.html.fr @@ -0,0 +1,234 @@ +<?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> +<meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_substitute - Serveur Apache HTTP Version 2.5</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.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p> +<p class="apache">Serveur Apache HTTP Version 2.5</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.5</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Module Apache mod_substitute</h1> +<div class="toplang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_substitute.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_substitute.html" title="Français"> fr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Effectue des opérations de recherche/remplacement sur les +corps de réponses</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>substitute_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_substitute.c</td></tr></table> +<h3>Sommaire</h3> + + <p><code class="module"><a href="../mod/mod_substitute.html">mod_substitute</a></code> fournit un mécanisme permettant + d'effectuer des substitutions de chaînes fixes ou d'expressions + rationnelles sur les corps de réponses.</p> +</div> +<div id="quickview"><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#substitute">Substitute</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#substituteinheritbefore">SubstituteInheritBefore</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#substitutemaxlinelength">SubstituteMaxLineLength</a></li> +</ul> +<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_substitute">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_substitute">Signaler un bug</a></li></ul><h3>Voir aussi</h3> +<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="substitute" id="substitute">Directive</a> <a name="Substitute" id="Substitute">Substitute</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Modèle de substition dans le contenu de la +réponse</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>Substitute <var>s/modèle/substitution/[infq]</var></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#Override">AllowOverride:</a></th><td>FileInfo</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_substitute</td></tr> +</table> + <p>La directive <code class="directive">Substitute</code> permet de + spécifier un modèle de recherche/remplacement à appliquer au corps + de la réponse.</p> + + <p>La signification du modèle peut être modifiée via toute + combinaison de ces drapeaux :</p> + + <dl> + <dt><code>i</code></dt> + <dd>Effectue une comparaison sans tenir compte de la casse.</dd> + <dt><code>n</code></dt> + <dd>Par défaut, le modèle est traité en tant qu'expression + rationnelle. Le drapeau <code>n</code> force le traitement du + modèle en tant que chaîne fixe.</dd> + <dt><code>f</code></dt> + + <dd>Avec le drapeau <code>f</code>, <code>mod_substitute</code> met à plat le + résultat d'une substitution (les conteneurs ou buckets ne sont + pas dissociés), ce qui permet à d'éventuelles substitutions + ultérieures de s'effectuer sur cette dernière. C'est le + comportement par défaut.</dd> + <dt><code>q</code></dt> + + <dd>Avec le drapeau <code>q</code>, <code>mod_substitute</code> dissocie les + conteneurs (ou buckets) après chaque substitution. Ceci peut + améliorer la rapidité de la réponse et diminuer la quantité de + mémoire utilisée, mais ne doit être utilisé que s'il n'existe + aucune possibilité pour que le résultat d'une substitution ne + corresponde au modèle ou à l'expression rationnelle d'une + substitution ultérieure.</dd> + </dl> + + <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config"><Location "/"> + AddOutputFilterByType SUBSTITUTE text/html + Substitute "s/foo/bar/ni" +</Location></pre> +</div> + + <p>Si le modèle ou la chaîne de substitution contient un caractère + slash '/', il faut utiliser un autre délimiteur :</p> + + <div class="example"><h3>Exemple d'utilisation d'un délimiteur + alternatif</h3><pre class="prettyprint lang-config"><Location "/"> + AddOutputFilterByType SUBSTITUTE text/html + Substitute "s|<BR */?>|<br />|i" +</Location></pre> +</div> + + <p>Lorsqu'on utilise des expressions rationnelles, on peut insérer + des références arrières dans les opérations de comparaison et de + substitution, comme illustré dans l'exemple suivant :</p> + <div class="example"><h3>Exemple d'utilisation de références arrières et de captures</h3><pre class="prettyprint lang-config"><Location "/"> + AddOutputFilterByType SUBSTITUTE text/html + # "foo=k,bar=k" -> "foo/bar=k" + Substitute "s|foo=(\w+),bar=\1|foo/bar=$1" +</Location></pre> +</div> + + <p>Un scénario courant d'utilisation de <code>mod_substitute</code> + est la situation où un serveur frontal mandate des requêtes pour un + serveur d'arrière-plan qui renvoie des documents HTML contenant des + URLs intégrées codées en dur qui font référence à ce serveur + d'arrière-plan. Ces URLs ne fonctionnent pas pour l'utilisateur + final car le serveur d'arrière-plan est hors d'atteinte.</p> + + <p>On peut, dans ce cas, utiliser <code>mod_substitute</code> pour + réécrire ces URLs afin qu'elles soit utilisables dans la partie + située derrière le mandataire :</p> + + <div class="example"><h3>Réécriture des URLs intégrées à un contenu mandaté</h3><pre class="prettyprint lang-config">ProxyPass "/blog/" "http://internal.blog.example.com" +ProxyPassReverse "/blog/" "http://internal.blog.example.com/" + +Substitute "s|http://internal.blog.example.com/|http://www.example.com/blog/|i"</pre> +</div> + + <p>La directive <code class="directive"><a href="../mod/mod_proxy.html#proxypassreverse">ProxyPassReverse</a></code> modifie tout en-tête + <code>Location</code> (redirection) envoyé par le serveur + d'arrière-plan et, dans cet exemple, la directive + <code class="directive">Substitute</code> se charge à son tour de la modification de + la réponse HTML.</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="substituteinheritbefore" id="substituteinheritbefore">Directive</a> <a name="SubstituteInheritBefore" id="SubstituteInheritBefore">SubstituteInheritBefore</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Modifie l'ordre de fusion des modèles hérités</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SubstituteInheritBefore on|off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SubstituteInheritBefore on</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#Override">AllowOverride:</a></th><td>FileInfo</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_substitute</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.17 du serveur HTTP +Apache</td></tr> +</table> + <p>Cette directive permet de définir si l'on applique les modèles +<code class="directive"><a href="#substitute">Substitute</a></code> hérités en premier +(valeur <code>on</code>), ou après ceux du +contexte courant (valeur <code>off</code>). Sa valeur est maintenant +définie par défaut à <code>on</code> ; il est cependant possible de +restaurer le comportement des versions 2.4 et antérieures du serveur qui +était équivalent à une définition à <code>off</code> de cette directive. +La valeur de la directive <code class="directive">SubstituteInheritBefore</code> est +elle-même héritée, et les contextes qui en héritent (ceux qui ne +définissent pas explicitement leur propre directive +<code class="directive">SubstituteInheritBefore</code>) appliqueront donc +l'ordre de fusion défini le plus proche.</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="substitutemaxlinelength" id="substitutemaxlinelength">Directive</a> <a name="SubstituteMaxLineLength" id="SubstituteMaxLineLength">SubstituteMaxLineLength</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit la longueur de ligne maximale</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SubstituteMaxLineLength <var>octets</var>(b|B|k|K|m|M|g|G)</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SubstituteMaxLineLength 1m</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#Override">AllowOverride:</a></th><td>FileInfo</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_substitute</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.11 du serveur HTTP +Apache</td></tr> +</table> + <p>La taille de la ligne traitée par <code class="module"><a href="../mod/mod_substitute.html">mod_substitute</a></code> + est limitée afin de restreindre l'utilisation des ressources + mémoire. La directive <code class="directive">SubstituteMaxLineLength</code> + permet de définir cette limite. La valeur de la limite peut être + spécifiée sous la forme d'un nombre d'octets, et peut être suffixée + par une des lettres <code>b</code>, <code>B</code>, <code>k</code>, + <code>K</code>, <code>m</code>, <code>M</code>, <code>g</code> ou + <code>G</code> pour fournir une valeur respectivement en octets, + kiloOctets, mégaOctets ou gigaOctets.</p> + + <div class="example"><h3>Example</h3><pre class="prettyprint lang-config"><Location "/"> + AddOutputFilterByType SUBSTITUTE text/html + SubstituteMaxLineLength 10m + Substitute "s/foo/bar/ni" +</Location></pre> +</div> + + +</div> +</div> +<div class="bottomlang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_substitute.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_substitute.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/trunk/mod/mod_substitute.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 2017 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_substitute.xml.fr b/docs/manual/mod/mod_substitute.xml.fr new file mode 100644 index 0000000000..776944e28b --- /dev/null +++ b/docs/manual/mod/mod_substitute.xml.fr @@ -0,0 +1,211 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd"> +<?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?> +<!-- English Revision : 1743798 --> +<!-- French translation : Lucien GENTIS --> +<!-- $LastChangedRevision: 2016052101 $ --> + +<!-- + 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_substitute.xml.meta"> + +<name>mod_substitute</name> +<description>Effectue des opérations de recherche/remplacement sur les +corps de réponses</description> +<status>Extension</status> +<sourcefile>mod_substitute.c</sourcefile> +<identifier>substitute_module</identifier> + +<summary> + <p><module>mod_substitute</module> fournit un mécanisme permettant + d'effectuer des substitutions de chaînes fixes ou d'expressions + rationnelles sur les corps de réponses.</p> +</summary> + +<directivesynopsis> +<name>Substitute</name> +<description>Modèle de substition dans le contenu de la +réponse</description> +<syntax>Substitute <var>s/modèle/substitution/[infq]</var></syntax> +<contextlist><context>directory</context> +<context>.htaccess</context></contextlist> +<override>FileInfo</override> + +<usage> + <p>La directive <directive>Substitute</directive> permet de + spécifier un modèle de recherche/remplacement à appliquer au corps + de la réponse.</p> + + <p>La signification du modèle peut être modifiée via toute + combinaison de ces drapeaux :</p> + + <dl> + <dt><code>i</code></dt> + <dd>Effectue une comparaison sans tenir compte de la casse.</dd> + <dt><code>n</code></dt> + <dd>Par défaut, le modèle est traité en tant qu'expression + rationnelle. Le drapeau <code>n</code> force le traitement du + modèle en tant que chaîne fixe.</dd> + <dt><code>f</code></dt> + <!-- Paragraphe suivant à améliorer par un connaisseur de ce + module --> + <dd>Avec le drapeau <code>f</code>, <code>mod_substitute</code> met à plat le + résultat d'une substitution (les conteneurs ou buckets ne sont + pas dissociés), ce qui permet à d'éventuelles substitutions + ultérieures de s'effectuer sur cette dernière. C'est le + comportement par défaut.</dd> + <dt><code>q</code></dt> + <!-- Paragraphe suivant à améliorer par un connaisseur de ce + module --> + <dd>Avec le drapeau <code>q</code>, <code>mod_substitute</code> dissocie les + conteneurs (ou buckets) après chaque substitution. Ceci peut + améliorer la rapidité de la réponse et diminuer la quantité de + mémoire utilisée, mais ne doit être utilisé que s'il n'existe + aucune possibilité pour que le résultat d'une substitution ne + corresponde au modèle ou à l'expression rationnelle d'une + substitution ultérieure.</dd> + </dl> + + <example><title>Exemple</title> + <highlight language="config"> +<Location "/"> + AddOutputFilterByType SUBSTITUTE text/html + Substitute "s/foo/bar/ni" +</Location> + </highlight> + </example> + + <p>Si le modèle ou la chaîne de substitution contient un caractère + slash '/', il faut utiliser un autre délimiteur :</p> + + <example><title>Exemple d'utilisation d'un délimiteur + alternatif</title> + <highlight language="config"> +<Location "/"> + AddOutputFilterByType SUBSTITUTE text/html + Substitute "s|<BR */?>|<br />|i" +</Location> + </highlight> + </example> + + <p>Lorsqu'on utilise des expressions rationnelles, on peut insérer + des références arrières dans les opérations de comparaison et de + substitution, comme illustré dans l'exemple suivant :</p> + <example><title>Exemple d'utilisation de références arrières et de captures</title> + <highlight language="config"> +<Location "/"> + AddOutputFilterByType SUBSTITUTE text/html + # "foo=k,bar=k" -> "foo/bar=k" + Substitute "s|foo=(\w+),bar=\1|foo/bar=$1" +</Location> + </highlight> + </example> + + <p>Un scénario courant d'utilisation de <code>mod_substitute</code> + est la situation où un serveur frontal mandate des requêtes pour un + serveur d'arrière-plan qui renvoie des documents HTML contenant des + URLs intégrées codées en dur qui font référence à ce serveur + d'arrière-plan. Ces URLs ne fonctionnent pas pour l'utilisateur + final car le serveur d'arrière-plan est hors d'atteinte.</p> + + <p>On peut, dans ce cas, utiliser <code>mod_substitute</code> pour + réécrire ces URLs afin qu'elles soit utilisables dans la partie + située derrière le mandataire :</p> + + <example><title>Réécriture des URLs intégrées à un contenu mandaté</title> + <highlight language="config"> +ProxyPass "/blog/" "http://internal.blog.example.com" +ProxyPassReverse "/blog/" "http://internal.blog.example.com/" + +Substitute "s|http://internal.blog.example.com/|http://www.example.com/blog/|i" + </highlight> + </example> + + <p>La directive <directive + module="mod_proxy">ProxyPassReverse</directive> modifie tout en-tête + <code>Location</code> (redirection) envoyé par le serveur + d'arrière-plan et, dans cet exemple, la directive + <directive>Substitute</directive> se charge à son tour de la modification de + la réponse HTML.</p> + +</usage> +</directivesynopsis> + +<directivesynopsis> +<name>SubstituteMaxLineLength</name> +<description>Définit la longueur de ligne maximale</description> +<syntax>SubstituteMaxLineLength <var>octets</var>(b|B|k|K|m|M|g|G)</syntax> +<default>SubstituteMaxLineLength 1m</default> +<contextlist><context>directory</context> +<context>.htaccess</context></contextlist> +<override>FileInfo</override> +<compatibility>Disponible à partir de la version 2.4.11 du serveur HTTP +Apache</compatibility> + +<usage> + <p>La taille de la ligne traitée par <module>mod_substitute</module> + est limitée afin de restreindre l'utilisation des ressources + mémoire. La directive <directive>SubstituteMaxLineLength</directive> + permet de définir cette limite. La valeur de la limite peut être + spécifiée sous la forme d'un nombre d'octets, et peut être suffixée + par une des lettres <code>b</code>, <code>B</code>, <code>k</code>, + <code>K</code>, <code>m</code>, <code>M</code>, <code>g</code> ou + <code>G</code> pour fournir une valeur respectivement en octets, + kiloOctets, mégaOctets ou gigaOctets.</p> + + <example><title>Example</title> + <highlight language="config"> +<Location "/"> + AddOutputFilterByType SUBSTITUTE text/html + SubstituteMaxLineLength 10m + Substitute "s/foo/bar/ni" +</Location> + </highlight> + </example> + +</usage> +</directivesynopsis> + +<directivesynopsis> +<name>SubstituteInheritBefore</name> +<description>Modifie l'ordre de fusion des modèles hérités</description> +<syntax>SubstituteInheritBefore on|off</syntax> +<default>SubstituteInheritBefore on</default> +<contextlist><context>directory</context> +<context>.htaccess</context></contextlist> +<override>FileInfo</override> +<compatibility>Disponible à partir de la version 2.4.17 du serveur HTTP +Apache</compatibility> + +<usage> + <p>Cette directive permet de définir si l'on applique les modèles +<directive module="mod_substitute">Substitute</directive> hérités en premier +(valeur <code>on</code>), ou après ceux du +contexte courant (valeur <code>off</code>). Sa valeur est maintenant +définie par défaut à <code>on</code> ; il est cependant possible de +restaurer le comportement des versions 2.4 et antérieures du serveur qui +était équivalent à une définition à <code>off</code> de cette directive. +La valeur de la directive <directive>SubstituteInheritBefore</directive> est +elle-même héritée, et les contextes qui en héritent (ceux qui ne +définissent pas explicitement leur propre directive +<directive>SubstituteInheritBefore</directive>) appliqueront donc +l'ordre de fusion défini le plus proche.</p> +</usage> +</directivesynopsis> + +</modulesynopsis> diff --git a/docs/manual/mod/mod_substitute.xml.meta b/docs/manual/mod/mod_substitute.xml.meta index f9dbd2933f..c991ba2149 100644 --- a/docs/manual/mod/mod_substitute.xml.meta +++ b/docs/manual/mod/mod_substitute.xml.meta @@ -8,5 +8,6 @@ <variants> <variant>en</variant> + <variant>fr</variant> </variants> </metafile> diff --git a/docs/manual/mod/mod_suexec.html b/docs/manual/mod/mod_suexec.html index f5d06c2916..7bf30c42b7 100644 --- a/docs/manual/mod/mod_suexec.html +++ b/docs/manual/mod/mod_suexec.html @@ -4,6 +4,10 @@ URI: mod_suexec.html.en Content-Language: en Content-type: text/html; charset=ISO-8859-1 +URI: mod_suexec.html.fr +Content-Language: fr +Content-type: text/html; charset=ISO-8859-1 + URI: mod_suexec.html.ja.utf8 Content-Language: ja Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_suexec.html.fr b/docs/manual/mod/mod_suexec.html.fr new file mode 100644 index 0000000000..db9b4c3dbf --- /dev/null +++ b/docs/manual/mod/mod_suexec.html.fr @@ -0,0 +1,114 @@ +<?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> +<meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_suexec - Serveur Apache HTTP Version 2.5</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.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p> +<p class="apache">Serveur Apache HTTP Version 2.5</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.5</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Module Apache mod_suexec</h1> +<div class="toplang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_suexec.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_suexec.html" title="Français"> fr </a> | +<a href="../ja/mod/mod_suexec.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_suexec.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/mod_suexec.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 l'exécution des scripts CGI sous l'utilisateur et +le groupe spécifiés</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>suexec_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_suexec.c</td></tr></table> +<h3>Sommaire</h3> + + <p>Ce module, en combinaison avec son programme support + <code class="program"><a href="../programs/suexec.html">suexec</a></code>, permet l'exécution des scripts CGI sous + l'utilisateur et le groupe spécifiés.</p> +</div> +<div id="quickview"><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#suexecusergroup">SuexecUserGroup</a></li> +</ul> +<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_suexec">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_suexec">Signaler un bug</a></li></ul><h3>Voir aussi</h3> +<ul class="seealso"> +<li><a href="../suexec.html">Support de SuEXEC</a></li> +<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="suexecusergroup" id="suexecusergroup">Directive</a> <a name="SuexecUserGroup" id="SuexecUserGroup">SuexecUserGroup</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>L'utilisateur et le groupe sous lesquels les programmes CGI +doivent s'exécuter</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SuexecUserGroup <em>Utilisateur Groupe</em></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_suexec</td></tr> +</table> + <p>La directive <code class="directive">SuexecUserGroup</code> permet de + spécifier l'utilisateur et le groupe sous lesquels les programmes + CGI doivent s'exécuter. Les requêtes non CGI seront toujours + traitées avec l'utilisateur spécifié par la directive <code class="directive"><a href="../mod/mod_unixd.html#user">User</a></code>.</p> + + <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">SuexecUserGroup nobody nogroup</pre> +</div> + + <p>Le démarrage va échouer si cette + directive est spécifiée et si la fonctionnalité suEXEC est + désactivée.</p> + + +<h3>Voir aussi</h3> +<ul> +<li><code class="directive"><a href="../mod/mod_unixd.html#suexec">Suexec</a></code></li> +</ul> +</div> +</div> +<div class="bottomlang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_suexec.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_suexec.html" title="Français"> fr </a> | +<a href="../ja/mod/mod_suexec.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_suexec.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/mod_suexec.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/trunk/mod/mod_suexec.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 2017 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_suexec.xml.fr b/docs/manual/mod/mod_suexec.xml.fr new file mode 100644 index 0000000000..84aa964720 --- /dev/null +++ b/docs/manual/mod/mod_suexec.xml.fr @@ -0,0 +1,76 @@ +<?xml version="1.0"?> +<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd"> +<?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?> +<!-- English Revision : 1584572 --> +<!-- French translation : Lucien GENTIS --> +<!-- $LastChangedRevision: 2014040501 $ --> + +<!-- + 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_suexec.xml.meta"> + +<name>mod_suexec</name> +<description>Permet l'exécution des scripts CGI sous l'utilisateur et +le groupe spécifiés</description> +<status>Extension</status> +<sourcefile>mod_suexec.c</sourcefile> +<identifier>suexec_module</identifier> + + +<summary> + <p>Ce module, en combinaison avec son programme support + <program>suexec</program>, permet l'exécution des scripts CGI sous + l'utilisateur et le groupe spécifiés.</p> +</summary> + +<seealso><a href="../suexec.html">Support de SuEXEC</a></seealso> + +<directivesynopsis> + +<name>SuexecUserGroup</name> +<description>L'utilisateur et le groupe sous lesquels les programmes CGI +doivent s'exécuter</description> +<syntax>SuexecUserGroup <em>Utilisateur Groupe</em></syntax> +<contextlist><context>server config</context> +<context>virtual host</context></contextlist> + +<usage> + <p>La directive <directive>SuexecUserGroup</directive> permet de + spécifier l'utilisateur et le groupe sous lesquels les programmes + CGI doivent s'exécuter. Les requêtes non CGI seront toujours + traitées avec l'utilisateur spécifié par la directive <directive + module="mod_unixd">User</directive>.</p> + + <example> + <title>Exemple</title> + <highlight language="config"> + SuexecUserGroup nobody nogroup + </highlight> + </example> + + <p>Le démarrage va échouer si cette + directive est spécifiée et si la fonctionnalité suEXEC est + désactivée.</p> + +</usage> + +<seealso><directive module="mod_unixd">Suexec</directive></seealso> +</directivesynopsis> + +</modulesynopsis> + diff --git a/docs/manual/mod/mod_suexec.xml.meta b/docs/manual/mod/mod_suexec.xml.meta index 06bed1af5c..e906e43a73 100644 --- a/docs/manual/mod/mod_suexec.xml.meta +++ b/docs/manual/mod/mod_suexec.xml.meta @@ -8,6 +8,7 @@ <variants> <variant>en</variant> + <variant>fr</variant> <variant outdated="yes">ja</variant> <variant outdated="yes">ko</variant> <variant outdated="yes">tr</variant> diff --git a/docs/manual/mod/mod_unixd.html b/docs/manual/mod/mod_unixd.html index 11eeb7437c..991efe3af1 100644 --- a/docs/manual/mod/mod_unixd.html +++ b/docs/manual/mod/mod_unixd.html @@ -4,6 +4,10 @@ URI: mod_unixd.html.en Content-Language: en Content-type: text/html; charset=ISO-8859-1 +URI: mod_unixd.html.fr +Content-Language: fr +Content-type: text/html; charset=ISO-8859-1 + URI: mod_unixd.html.tr.utf8 Content-Language: tr Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_unixd.html.fr b/docs/manual/mod/mod_unixd.html.fr new file mode 100644 index 0000000000..7f8b1aca7c --- /dev/null +++ b/docs/manual/mod/mod_unixd.html.fr @@ -0,0 +1,226 @@ +<?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> +<meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_unixd - Serveur Apache HTTP Version 2.5</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.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p> +<p class="apache">Serveur Apache HTTP Version 2.5</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.5</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Module Apache mod_unixd</h1> +<div class="toplang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_unixd.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_unixd.html" title="Français"> fr </a> | +<a href="../tr/mod/mod_unixd.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>Sécurité de base (nécessaire) pour les plates-formes de la +famille Unix.</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>unixd_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_unixd.c</td></tr></table> +</div> +<div id="quickview"><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#chrootdir">ChrootDir</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#group">Group</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#suexec">Suexec</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#user">User</a></li> +</ul> +<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_unixd">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_unixd">Signaler un bug</a></li></ul><h3>Voir aussi</h3> +<ul class="seealso"> +<li><a href="../suexec.html">Support de suEXEC</a></li> +<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="chrootdir" id="chrootdir">Directive</a> <a name="ChrootDir" id="ChrootDir">ChrootDir</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Répertoire dans lequel Apache doit se positionner au +démarrage après avoir effectué un chroot(8).</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ChrootDir <var>chemin-répertoire</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>none</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>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td><code class="module"><a href="../mod/mod_unixd.html">mod_unixd</a></code></td></tr> +</table> + <p>Cette directive + permet de faire en sorte que le serveur effectue un + <var>chroot(8)</var> vers le répertoire spécifié après le démarrage, + mais avant d'accepter les requêtes en provenance du réseau.</p> + <p>Notez que l'exécution du serveur dans un environnement chroot + n'est pas simple et nécessite une configuration particulière, en + particulier si vous utilisez des scripts CGI ou PHP. Il est + conseillé de se familiariser avec l'opération chroot avant d'essayer + d'utiliser cette fonctionnalité.</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="group" id="group">Directive</a> <a name="Group" id="Group">Group</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Groupe sous lequel le serveur va traiter les +requêtes</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>Group <var>groupe unix</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>Group #-1</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>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_unixd</td></tr> +</table> + <p>La directive <code class="directive">Group</code> permet de définir le + groupe sous lequel le serveur va traiter les requêtes. Pour pouvoir + utiliser cette directive, le serveur doit avoir été démarré par + <code>root</code>. Si vous démarrez le serveur en tant + qu'utilisateur non root, celui-ci ne pourra pas adopter le groupe + spécifié comme groupe d'exécution, et continuera à s'exécuter sous + le groupe de l'utilisateur qui l'aura lancé. <var>groupe unix</var> + peut se présenter sous la forme :</p> + + <dl> + <dt>d'un nom de groupe</dt> + <dd>Référence le groupe spécifié par son nom.</dd> + + <dt>du caractère <code>#</code> suivi d'un numéro de groupe.</dt> + <dd>Référence le groupe spécifié par son numéro.</dd> + </dl> + + <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">Group www-group</pre> +</div> + + <p>Il est conseillé de créer un groupe dédié à l'exécution du + serveur. Certains administrateurs utilisent l'utilisateur + <code>nobody</code>, mais ce n'est pas toujours souhaitable ou même + possible.</p> + + <div class="warning"><h3>Sécurité</h3> + <p>Ne définissez pas la directive <code class="directive">Group</code> (ou + <code class="directive"><a href="#user">User</a></code>) à + <code>root</code> à moins de savoir exactement ce que vous faites + ainsi que les dangers encourus.</p> + </div> + + +<h3>Voir aussi</h3> +<ul> +<li><code class="directive"><a href="../mod/mod_privileges.html#vhostgroup">VHostGroup</a></code></li> +<li><code class="directive"><a href="../mod/mod_suexec.html#suexecusergroup">SuexecUserGroup</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="suexec" id="suexec">Directive</a> <a name="Suexec" id="Suexec">Suexec</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Active ou désactive la fonctionnalité suEXEC</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>Suexec On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>On si le binaire suexec existe avec les mode et propriétaire +appropriés, Off dans le cas contraire</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>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_unixd</td></tr> +</table> + <p>Lorsque cette directive est définie à On, le démarrage échouera si + le binaire suexec n'existe pas, ou possède un propriétaire ou mode + fichier invalide.</p> + <p>Lorsque cette directive est définie à Off, suEXEC sera désactivé, + même si le binaire suexec existe et possède un propriétaire et mode + fichier valides.</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="user" id="user">Directive</a> <a name="User" id="User">User</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>L'utilisateur sous lequel le serveur va traiter les +requêtes</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>User <var>utilisateur unix</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>User #-1</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>Base</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_unixd</td></tr> +</table> + <p>La directive <code class="directive">User</code> permet de définir + l'utilisateur sous lequel le serveur va traiter les requêtes. Pour + pouvoir utiliser cette directive, le serveur doit avoir été démarré + par <code>root</code>. Si vous démarrez le serveur en tant + qu'utilisateur non root, celui-ci ne pourra pas adopter + l'utilisateur avec privilèges restreints comme utilisateur + d'exécution, et continuera à s'exécuter sous + l'utilisateur qui l'aura lancé. Si vous démarrez le serveur en tant + que <code>root</code>, il est normal que le processus parent + continue à s'exécuter sous root. <var>utilisateur unix</var> peut se + présenter sous la forme :</p> + + <dl> + <dt>d'un nom d'utilisateur</dt> + <dd>Référence l'utilisateur spécifié par son nom.</dd> + + <dt>le caractère # suivi d'un numéro d'utilisateur.</dt> + <dd>Référence l'utilisateur spécifié par son numéro.</dd> + </dl> + + <p>L'utilisateur ne doit pas posséder de privilèges qui lui + permettent d'accéder à des fichiers qui ne doivent pas être visibles + du monde extérieur, et parallèlement, l'utilisateur ne doit pas + exécuter de code dont l'usage soit destiné à un usage autre que les + requêtes HTTP. Il est conseillé de créer un utilisateur et un groupe + dédiés à l'exécution du serveur. Certains administrateurs utilisent + l'utilisateur <code>nobody</code>, mais ce n'est pas toujours + souhaitable, car l'utilisateur <code>nobody</code> peut avoir + diverses utilisations dans le système.</p> + + <div class="warning"><h3>Sécurité</h3> + <p>Ne définissez pas la directive <code class="directive">Group</code> (ou + <code class="directive"><a href="#user">User</a></code>) à + <code>root</code> à moins de savoir exactement ce que vous faites + ainsi que les dangers encourus.</p> + </div> + + +<h3>Voir aussi</h3> +<ul> +<li><code class="directive"><a href="../mod/mod_privileges.html#vhostuser">VHostUser</a></code></li> +<li><code class="directive"><a href="../mod/mod_suexec.html#suexecusergroup">SuexecUserGroup</a></code></li> +</ul> +</div> +</div> +<div class="bottomlang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_unixd.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_unixd.html" title="Français"> fr </a> | +<a href="../tr/mod/mod_unixd.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/trunk/mod/mod_unixd.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 2017 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_unixd.xml.fr b/docs/manual/mod/mod_unixd.xml.fr new file mode 100644 index 0000000000..5629a2cc9a --- /dev/null +++ b/docs/manual/mod/mod_unixd.xml.fr @@ -0,0 +1,176 @@ +<?xml version="1.0"?> +<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd"> +<?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?> +<!-- English Revision : 1584572 --> +<!-- French translation : Lucien GENTIS --> +<!-- $LastChangedRevision: 2014040501 $ --> + +<!-- + 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_unixd.xml.meta"> + +<name>mod_unixd</name> +<description>Sécurité de base (nécessaire) pour les plates-formes de la +famille Unix.</description> +<status>Base</status> +<sourcefile>mod_unixd.c</sourcefile> +<identifier>unixd_module</identifier> + +<seealso><a href="../suexec.html">Support de suEXEC</a></seealso> + +<directivesynopsis> +<name>Group</name> +<description>Groupe sous lequel le serveur va traiter les +requêtes</description> +<syntax>Group <var>groupe unix</var></syntax> +<default>Group #-1</default> +<contextlist><context>server config</context></contextlist> + +<usage> + <p>La directive <directive>Group</directive> permet de définir le + groupe sous lequel le serveur va traiter les requêtes. Pour pouvoir + utiliser cette directive, le serveur doit avoir été démarré par + <code>root</code>. Si vous démarrez le serveur en tant + qu'utilisateur non root, celui-ci ne pourra pas adopter le groupe + spécifié comme groupe d'exécution, et continuera à s'exécuter sous + le groupe de l'utilisateur qui l'aura lancé. <var>groupe unix</var> + peut se présenter sous la forme :</p> + + <dl> + <dt>d'un nom de groupe</dt> + <dd>Référence le groupe spécifié par son nom.</dd> + + <dt>du caractère <code>#</code> suivi d'un numéro de groupe.</dt> + <dd>Référence le groupe spécifié par son numéro.</dd> + </dl> + + <example><title>Exemple</title> + <highlight language="config"> + Group www-group + </highlight> + </example> + + <p>Il est conseillé de créer un groupe dédié à l'exécution du + serveur. Certains administrateurs utilisent l'utilisateur + <code>nobody</code>, mais ce n'est pas toujours souhaitable ou même + possible.</p> + + <note type="warning"><title>Sécurité</title> + <p>Ne définissez pas la directive <directive>Group</directive> (ou + <directive module="mod_unixd">User</directive>) à + <code>root</code> à moins de savoir exactement ce que vous faites + ainsi que les dangers encourus.</p> + </note> + +</usage> +<seealso><directive module="mod_privileges">VHostGroup</directive></seealso> +<seealso><directive module="mod_suexec">SuexecUserGroup</directive></seealso> +</directivesynopsis> + +<directivesynopsis> +<name>User</name> +<description>L'utilisateur sous lequel le serveur va traiter les +requêtes</description> +<syntax>User <var>utilisateur unix</var></syntax> +<default>User #-1</default> +<contextlist><context>server config</context></contextlist> + +<usage> + <p>La directive <directive>User</directive> permet de définir + l'utilisateur sous lequel le serveur va traiter les requêtes. Pour + pouvoir utiliser cette directive, le serveur doit avoir été démarré + par <code>root</code>. Si vous démarrez le serveur en tant + qu'utilisateur non root, celui-ci ne pourra pas adopter + l'utilisateur avec privilèges restreints comme utilisateur + d'exécution, et continuera à s'exécuter sous + l'utilisateur qui l'aura lancé. Si vous démarrez le serveur en tant + que <code>root</code>, il est normal que le processus parent + continue à s'exécuter sous root. <var>utilisateur unix</var> peut se + présenter sous la forme :</p> + + <dl> + <dt>d'un nom d'utilisateur</dt> + <dd>Référence l'utilisateur spécifié par son nom.</dd> + + <dt>le caractère # suivi d'un numéro d'utilisateur.</dt> + <dd>Référence l'utilisateur spécifié par son numéro.</dd> + </dl> + + <p>L'utilisateur ne doit pas posséder de privilèges qui lui + permettent d'accéder à des fichiers qui ne doivent pas être visibles + du monde extérieur, et parallèlement, l'utilisateur ne doit pas + exécuter de code dont l'usage soit destiné à un usage autre que les + requêtes HTTP. Il est conseillé de créer un utilisateur et un groupe + dédiés à l'exécution du serveur. Certains administrateurs utilisent + l'utilisateur <code>nobody</code>, mais ce n'est pas toujours + souhaitable, car l'utilisateur <code>nobody</code> peut avoir + diverses utilisations dans le système.</p> + + <note type="warning"><title>Sécurité</title> + <p>Ne définissez pas la directive <directive>Group</directive> (ou + <directive module="mod_unixd">User</directive>) à + <code>root</code> à moins de savoir exactement ce que vous faites + ainsi que les dangers encourus.</p> + </note> + +</usage> +<seealso><directive module="mod_privileges">VHostUser</directive></seealso> +<seealso><directive module="mod_suexec">SuexecUserGroup</directive></seealso> +</directivesynopsis> + +<directivesynopsis> +<name>ChrootDir</name> +<description>Répertoire dans lequel Apache doit se positionner au +démarrage après avoir effectué un chroot(8).</description> +<syntax>ChrootDir <var>chemin-répertoire</var></syntax> +<default>none</default> +<contextlist><context>server config</context></contextlist> +<modulelist><module>mod_unixd</module></modulelist> + +<usage> + <p>Cette directive + permet de faire en sorte que le serveur effectue un + <var>chroot(8)</var> vers le répertoire spécifié après le démarrage, + mais avant d'accepter les requêtes en provenance du réseau.</p> + <p>Notez que l'exécution du serveur dans un environnement chroot + n'est pas simple et nécessite une configuration particulière, en + particulier si vous utilisez des scripts CGI ou PHP. Il est + conseillé de se familiariser avec l'opération chroot avant d'essayer + d'utiliser cette fonctionnalité.</p> +</usage> +</directivesynopsis> + +<directivesynopsis> +<name>Suexec</name> +<description>Active ou désactive la fonctionnalité suEXEC</description> +<syntax>Suexec On|Off</syntax> +<default>On si le binaire suexec existe avec les mode et propriétaire +appropriés, Off dans le cas contraire</default> +<contextlist><context>server config</context></contextlist> + +<usage> + <p>Lorsque cette directive est définie à On, le démarrage échouera si + le binaire suexec n'existe pas, ou possède un propriétaire ou mode + fichier invalide.</p> + <p>Lorsque cette directive est définie à Off, suEXEC sera désactivé, + même si le binaire suexec existe et possède un propriétaire et mode + fichier valides.</p> +</usage> +</directivesynopsis> + +</modulesynopsis> diff --git a/docs/manual/mod/mod_unixd.xml.meta b/docs/manual/mod/mod_unixd.xml.meta index d4be6af810..a29d129e5f 100644 --- a/docs/manual/mod/mod_unixd.xml.meta +++ b/docs/manual/mod/mod_unixd.xml.meta @@ -8,6 +8,7 @@ <variants> <variant>en</variant> + <variant>fr</variant> <variant outdated="yes">tr</variant> </variants> </metafile> diff --git a/docs/manual/mod/mod_userdir.html b/docs/manual/mod/mod_userdir.html index b6960e7bef..d9693b7b30 100644 --- a/docs/manual/mod/mod_userdir.html +++ b/docs/manual/mod/mod_userdir.html @@ -4,6 +4,10 @@ URI: mod_userdir.html.en Content-Language: en Content-type: text/html; charset=ISO-8859-1 +URI: mod_userdir.html.fr +Content-Language: fr +Content-type: text/html; charset=ISO-8859-1 + URI: mod_userdir.html.ja.utf8 Content-Language: ja Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_userdir.html.fr b/docs/manual/mod/mod_userdir.html.fr new file mode 100644 index 0000000000..419abe703e --- /dev/null +++ b/docs/manual/mod/mod_userdir.html.fr @@ -0,0 +1,228 @@ +<?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> +<meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_userdir - Serveur Apache HTTP Version 2.5</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.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p> +<p class="apache">Serveur Apache HTTP Version 2.5</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.5</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Module Apache mod_userdir</h1> +<div class="toplang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_userdir.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_userdir.html" title="Français"> fr </a> | +<a href="../ja/mod/mod_userdir.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_userdir.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/mod_userdir.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> +</div> +<div class="outofdate">Cette traduction peut être périmée. Vérifiez la version + anglaise pour les changements récents.</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Répertoires propres à un utilisateur</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>userdir_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_userdir.c</td></tr></table> +<h3>Sommaire</h3> + +<p>Ce module permet l'accès aux répertoires propres à un utilisateur en +utilisant la syntaxe <code>http://example.com/~utilisateur/</code>.</p> +</div> +<div id="quickview"><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#userdir">UserDir</a></li> +</ul> +<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_userdir">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_userdir">Signaler un bug</a></li></ul><h3>Voir aussi</h3> +<ul class="seealso"> +<li><a href="../urlmapping.html">Mise en correspondance des URLs +avec le système de fichiers</a></li> +<li><a href="../howto/public_html.html">Tutoriel +public_html</a></li> +<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="userdir" id="userdir">Directive</a> <a name="UserDir" id="UserDir">UserDir</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Chemin des répertoires propres à un +utilisateur</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>UserDir <em>nom-répertoire</em> [<em>nom-répertoire</em>] ... +</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_userdir</td></tr> +</table> + + <p>La directive <code class="directive">UserDir</code> permet de définir le + répertoire réel du répertoire home d'un utilisateur à utiliser à la + réception d'une requête pour un document de cet utilisateur. + <em>nom-répertoire</em> peut se présenter sous la forme suivante + :</p> + + <ul> + <li>Le nom d'un répertoire ou un modèle tel que ceux présentés + ci-dessous.</li> + + <li>Le mot-clé <code>disabled</code>. <em>Toutes</em> les + traductions nom d'utilisateur vers répertoire sont alors + désactivées, à l'exception de celles comportant le mot-clé + <code>enabled</code> (voir ci-dessous).</li> + + <li>Le mot-clé <code>disabled</code> suivi d'une liste de noms + d'utilisateurs séparés par des espaces. Les noms d'utilisateurs + apparaissant dans une telle liste ne feront <em>jamais</em> + l'objet d'une traduction vers un répertoire, même dans le cas où + ils apparaîtront dans une clause <code>enabled</code>.</li> + + <li>Le mot-clé <code>enabled</code> suivi d'une liste de noms + d'utilisateurs séparés par des espaces. Les noms d'utilisateurs + apparaissant dans une telle liste seront traduits en répertoires + même dans le cas où une clause disable globale est active, mais + pas s'ils apparaissent aussi dans une clause + <code>disabled</code>.</li> + </ul> + + <p>Si aucun mot-clé <code>enabled</code> ou <code>disabled</code> + n'apparait dans la directive <code class="directive">Userdir</code>, l'argument est + traité en tant que modèle de fichier, et utilisé pour traduire le + nom d'utilisateur en une spécification de répertoire. Une requête + pour <code>http://www.example.com/~bob/un/deux.html</code> sera + traduite en :</p> + + <table> + <tr><th>Directive Userdir utilisée</th> + <th>Chemin traduit</th></tr> + <tr><td>UserDir public_html</td> + <td>~bob/public_html/un/deux.html</td></tr> + <tr><td>UserDir /usr/web</td> + <td>/usr/web/bob/un/deux.html</td></tr> + <tr><td>UserDir /home/*/www</td> + <td>/home/bob/www/un/deux.html</td></tr> + </table> + + <p>Les directives suivantes vont envoyer des redirections au client + :</p> + + <table> + <tr><th>Directive Userdir utilisée</th> + <th>Chemin traduit</th></tr> + <tr><td>UserDir http://www.example.com/utilisateurs</td> + <td>http://www.example.com/utilisateurs/bob/un/deux.html</td></tr> + <tr><td>UserDir http://www.example.com/*/usr</td> + <td>http://www.example.com/bob/usr/un/deux.html</td></tr> + <tr><td>UserDir http://www.example.com/~*/</td> + <td>http://www.example.com/~bob/un/deux.html</td></tr> + </table> + + <div class="note"> + <strong>Soyez prudent avec cette directive ; par exemple, + <code>"UserDir ./"</code> ferait correspondre + <code>"/~root"</code> à <code>"/"</code> - ce qui n'est + probablement pas souhaité. Il est fortement recommandé d'inclure + une déclaration "<code>UserDir disabled root</code>" dans votre + configuration. Voir aussi la directive <code class="directive"><a href="../mod/core.html#directory">Directory</a></code> et la page <a href="../misc/security_tips.html">Conseils en matière de + sécurité</a> pour plus d'informations.</strong> + </div> + + <p>Exemples supplémentaires :</p> + + <p>Pour permettre à quelques utilisateurs et seulement à ceux-ci de + posséder des répertoires <code>UserDir</code>, utilisez la + configuration suivante :</p> + + <pre class="prettyprint lang-config">UserDir disabled +UserDir enabled user1 user2 user3</pre> + + + <p>Pour permettre à la plupart des utilisateurs de posséder des + répertoires <code>UserDir</code>, mais l'interdire à quelques uns, + utilisez la configuration suivante :</p> + + <pre class="prettyprint lang-config">UserDir disabled utilisateur4 utilisateur5 utilisateur6</pre> + + + <p>Il est aussi possible de spécifier des répertoires utilisateurs + alternatifs. Si vous utilisez une commande comme :</p> + + <pre class="prettyprint lang-config">UserDir "public_html" "/usr/web" "http://www.example.com/"</pre> + + + <p>Avec une requête pour + <code>http://www.example.com/~bob/un/deux.html</code>, le serveur + tentera tout d'abord de trouver la page à + <code>~bob/public_html/un/deux.html</code>, puis à + <code>/usr/web/bob/un/deux.html</code>, et enfin il enverra une + redirection vers + <code>http://www.example.com/bob/un/deux.html</code>.</p> + + <p>Si vous spécifiez une redirection, elle doit être la dernière + alternative de la liste. Apache httpd ne pouvant pas déterminer si la + redirection a réussi, si cette dernière ne se trouve pas en fin de + liste, c'est cette alternative qui sera toujours utilisée.</p> + + <p>La substitution de répertoire utilisateur n'est pas activée par + défaut depuis la version 2.1.4. Dans les versions précédentes, + <code>UserDir public_html</code> était sous-entendu si aucune + directive <code class="directive">UserDir</code> + n'était présente.</p> + + <div class="note"><h3>Détails à propos de la fusion</h3> + <p>Lorsqu'on passe du contexte global au contexte de serveur + virtuel, les listes d'utilisateurs spécifiques activés ou désactivés + sont remplacées par les listes du contexte, et non fusionnées.</p></div> + + +<h3>Voir aussi</h3> +<ul> +<li> + <a href="../howto/public_html.html">Tutoriel sur les répertoires web + utilisateur</a> +</li> +</ul> +</div> +</div> +<div class="bottomlang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_userdir.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_userdir.html" title="Français"> fr </a> | +<a href="../ja/mod/mod_userdir.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../ko/mod/mod_userdir.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | +<a href="../tr/mod/mod_userdir.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/trunk/mod/mod_userdir.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 2017 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_userdir.xml.fr b/docs/manual/mod/mod_userdir.xml.fr new file mode 100644 index 0000000000..006550bb90 --- /dev/null +++ b/docs/manual/mod/mod_userdir.xml.fr @@ -0,0 +1,188 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd"> +<?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?> +<!-- English Revision: 1673657:1745711 (outdated) --> +<!-- French translation : Lucien GENTIS --> +<!-- $LastChangedRevision: 2015042601 $ --> + +<!-- + 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_userdir.xml.meta"> + +<name>mod_userdir</name> +<description>Répertoires propres à un utilisateur</description> +<status>Base</status> +<sourcefile>mod_userdir.c</sourcefile> +<identifier>userdir_module</identifier> + +<summary> +<p>Ce module permet l'accès aux répertoires propres à un utilisateur en +utilisant la syntaxe <code>http://example.com/~utilisateur/</code>.</p> +</summary> + +<seealso><a href="../urlmapping.html">Mise en correspondance des URLs +avec le système de fichiers</a></seealso> +<seealso><a href="../howto/public_html.html">Tutoriel +public_html</a></seealso> + +<directivesynopsis> + +<name>UserDir</name> +<description>Chemin des répertoires propres à un +utilisateur</description> +<syntax>UserDir <em>nom-répertoire</em> [<em>nom-répertoire</em>] ... +</syntax> +<contextlist><context>server config</context> +<context>virtual host</context></contextlist> + +<usage> + + <p>La directive <directive>UserDir</directive> permet de définir le + répertoire réel du répertoire home d'un utilisateur à utiliser à la + réception d'une requête pour un document de cet utilisateur. + <em>nom-répertoire</em> peut se présenter sous la forme suivante + :</p> + + <ul> + <li>Le nom d'un répertoire ou un modèle tel que ceux présentés + ci-dessous.</li> + + <li>Le mot-clé <code>disabled</code>. <em>Toutes</em> les + traductions nom d'utilisateur vers répertoire sont alors + désactivées, à l'exception de celles comportant le mot-clé + <code>enabled</code> (voir ci-dessous).</li> + + <li>Le mot-clé <code>disabled</code> suivi d'une liste de noms + d'utilisateurs séparés par des espaces. Les noms d'utilisateurs + apparaissant dans une telle liste ne feront <em>jamais</em> + l'objet d'une traduction vers un répertoire, même dans le cas où + ils apparaîtront dans une clause <code>enabled</code>.</li> + + <li>Le mot-clé <code>enabled</code> suivi d'une liste de noms + d'utilisateurs séparés par des espaces. Les noms d'utilisateurs + apparaissant dans une telle liste seront traduits en répertoires + même dans le cas où une clause disable globale est active, mais + pas s'ils apparaissent aussi dans une clause + <code>disabled</code>.</li> + </ul> + + <p>Si aucun mot-clé <code>enabled</code> ou <code>disabled</code> + n'apparait dans la directive <directive>Userdir</directive>, l'argument est + traité en tant que modèle de fichier, et utilisé pour traduire le + nom d'utilisateur en une spécification de répertoire. Une requête + pour <code>http://www.example.com/~bob/un/deux.html</code> sera + traduite en :</p> + + <table> + <tr><th>Directive Userdir utilisée</th> + <th>Chemin traduit</th></tr> + <tr><td>UserDir public_html</td> + <td>~bob/public_html/un/deux.html</td></tr> + <tr><td>UserDir /usr/web</td> + <td>/usr/web/bob/un/deux.html</td></tr> + <tr><td>UserDir /home/*/www</td> + <td>/home/bob/www/un/deux.html</td></tr> + </table> + + <p>Les directives suivantes vont envoyer des redirections au client + :</p> + + <table> + <tr><th>Directive Userdir utilisée</th> + <th>Chemin traduit</th></tr> + <tr><td>UserDir http://www.example.com/utilisateurs</td> + <td>http://www.example.com/utilisateurs/bob/un/deux.html</td></tr> + <tr><td>UserDir http://www.example.com/*/usr</td> + <td>http://www.example.com/bob/usr/un/deux.html</td></tr> + <tr><td>UserDir http://www.example.com/~*/</td> + <td>http://www.example.com/~bob/un/deux.html</td></tr> + </table> + + <note> + <strong>Soyez prudent avec cette directive ; par exemple, + <code>"UserDir ./"</code> ferait correspondre + <code>"/~root"</code> à <code>"/"</code> - ce qui n'est + probablement pas souhaité. Il est fortement recommandé d'inclure + une déclaration "<code>UserDir disabled root</code>" dans votre + configuration. Voir aussi la directive <directive + module="core">Directory</directive> et la page <a + href="../misc/security_tips.html">Conseils en matière de + sécurité</a> pour plus d'informations.</strong> + </note> + + <p>Exemples supplémentaires :</p> + + <p>Pour permettre à quelques utilisateurs et seulement à ceux-ci de + posséder des répertoires <code>UserDir</code>, utilisez la + configuration suivante :</p> + + <highlight language="config"> +UserDir disabled +UserDir enabled user1 user2 user3 + </highlight> + + <p>Pour permettre à la plupart des utilisateurs de posséder des + répertoires <code>UserDir</code>, mais l'interdire à quelques uns, + utilisez la configuration suivante :</p> + + <highlight language="config"> + UserDir disabled utilisateur4 utilisateur5 utilisateur6 + </highlight> + + <p>Il est aussi possible de spécifier des répertoires utilisateurs + alternatifs. Si vous utilisez une commande comme :</p> + + <highlight language="config"> + UserDir "public_html" "/usr/web" "http://www.example.com/" + </highlight> + + <p>Avec une requête pour + <code>http://www.example.com/~bob/un/deux.html</code>, le serveur + tentera tout d'abord de trouver la page à + <code>~bob/public_html/un/deux.html</code>, puis à + <code>/usr/web/bob/un/deux.html</code>, et enfin il enverra une + redirection vers + <code>http://www.example.com/bob/un/deux.html</code>.</p> + + <p>Si vous spécifiez une redirection, elle doit être la dernière + alternative de la liste. Apache httpd ne pouvant pas déterminer si la + redirection a réussi, si cette dernière ne se trouve pas en fin de + liste, c'est cette alternative qui sera toujours utilisée.</p> + + <p>La substitution de répertoire utilisateur n'est pas activée par + défaut depuis la version 2.1.4. Dans les versions précédentes, + <code>UserDir public_html</code> était sous-entendu si aucune + directive <directive>UserDir</directive> + n'était présente.</p> + + <note><title>Détails à propos de la fusion</title> + <p>Lorsqu'on passe du contexte global au contexte de serveur + virtuel, les listes d'utilisateurs spécifiques activés ou désactivés + sont remplacées par les listes du contexte, et non fusionnées.</p></note> + +</usage> + +<seealso> + <a href="../howto/public_html.html">Tutoriel sur les répertoires web + utilisateur</a> +</seealso> + +</directivesynopsis> +</modulesynopsis> + + diff --git a/docs/manual/mod/mod_userdir.xml.meta b/docs/manual/mod/mod_userdir.xml.meta index 115e61df95..174168e57d 100644 --- a/docs/manual/mod/mod_userdir.xml.meta +++ b/docs/manual/mod/mod_userdir.xml.meta @@ -8,6 +8,7 @@ <variants> <variant>en</variant> + <variant outdated="yes">fr</variant> <variant outdated="yes">ja</variant> <variant outdated="yes">ko</variant> <variant outdated="yes">tr</variant> diff --git a/docs/manual/mod/mod_usertrack.html b/docs/manual/mod/mod_usertrack.html index 63ee8b409a..abed042ff5 100644 --- a/docs/manual/mod/mod_usertrack.html +++ b/docs/manual/mod/mod_usertrack.html @@ -3,3 +3,7 @@ URI: mod_usertrack.html.en Content-Language: en Content-type: text/html; charset=ISO-8859-1 + +URI: mod_usertrack.html.fr +Content-Language: fr +Content-type: text/html; charset=ISO-8859-1 diff --git a/docs/manual/mod/mod_usertrack.html.fr b/docs/manual/mod/mod_usertrack.html.fr new file mode 100644 index 0000000000..234be995ac --- /dev/null +++ b/docs/manual/mod/mod_usertrack.html.fr @@ -0,0 +1,251 @@ +<?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> +<meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_usertrack - Serveur Apache HTTP Version 2.5</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.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p> +<p class="apache">Serveur Apache HTTP Version 2.5</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.5</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Module Apache mod_usertrack</h1> +<div class="toplang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_usertrack.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_usertrack.html" title="Français"> fr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td> +Journalisation <em>Clickstream</em> des liens parcourus par un +utilisateur sur un site +</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>usertrack_module</td></tr> +<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_usertrack.c</td></tr></table> +<h3>Sommaire</h3> + + <p>Ce module permet de suivre le parcours d'un utilisateur à travers + votre site web en faisant appel aux cookies de navigateur.</p> +</div> +<div id="quickview"><h3>Sujets</h3> +<ul id="topics"> +<li><img alt="" src="../images/down.gif" /> <a href="#logging">Journalisation</a></li> +</ul><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#cookiedomain">CookieDomain</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#cookieexpires">CookieExpires</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#cookiename">CookieName</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#cookiestyle">CookieStyle</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#cookietracking">CookieTracking</a></li> +</ul> +<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_usertrack">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_usertrack">Signaler un bug</a></li></ul><h3>Voir aussi</h3> +<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="logging" id="logging">Journalisation</a></h2> + + + <p><code class="module"><a href="../mod/mod_usertrack.html">mod_usertrack</a></code> définit un cookie qui peut être + journalisé via les formats configurables du module + <code class="module"><a href="../mod/mod_log_config.html">mod_log_config</a></code> :</p> + + <pre class="prettyprint lang-config">LogFormat "%{Apache}n %r %t" usertrack +CustomLog "logs/clickstream.log" usertrack</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="cookiedomain" id="cookiedomain">Directive</a> <a name="CookieDomain" id="CookieDomain">CookieDomain</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Le domaine auquel le cookie traceur +s'applique</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CookieDomain <em>domaine</em></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>FileInfo</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_usertrack</td></tr> +</table> + + <p>Cette directive permet de définir le domaine auquel le cookie + traceur s'applique. Si elle n'est pas présente, aucun domaine n'est + inclus dans le champ d'en-tête cookie.</p> + + <p>La chaîne dommaine <strong>doit</strong> commencer par un point, + et <strong>doit</strong> comporter au moins un point entouré + d'autres caractères. Par exemple, <code>.example.com</code> est + une chaîne valide, mais <code>www.example.com</code> et + <code>.com</code> ne le sont pas.</p> + + <div class="note">La plupart des navigateurs utilisés actuellement n'autorisent + pas la définition de cookies pour un domaine racine de deux niveaux, + tel que <code>.co.uk</code>, bien qu'un tel domaine remplisse les + conditions de validité décrites ci-dessus.<br /> + + Ces domaines sont équivalents à des domaines racines comme + <code>.com</code>, et autoriser de tels cookies peut constituer un + risque en matière de sécurité. Ainsi, si vous vous situez sous un + domaine racine de deux niveaux, vous devez encore utiliser votre + domaine véritable, comme vous le feriez avec tout autre domaine + racine (par exemple <code>.example.co.uk</code>). + </div> + + <pre class="prettyprint lang-config">CookieDomain .example.com</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="cookieexpires" id="cookieexpires">Directive</a> <a name="CookieExpires" id="CookieExpires">CookieExpires</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Durée avant expiration du cookie traceur</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CookieExpires <em>durée</em></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>FileInfo</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_usertrack</td></tr> +</table> + <p>Lorsqu'elle est utilisée, cette directive définit une durée avant + l'expiration du cookie généré par le module usertrack. La + <em>durée</em> peut être spécifiée sous la forme d'un nombre de + secondes, ou sous une forme du + style "2 weeks 3 days 7 hours". les termes valides sont : years, + months, weeks, days, hours, minutes et seconds. Si la durée est + spécifiée dans un format autre qu'un nombre de secondes, elle doit + être entourée de guillemets.</p> + + <p>Si cette directive est absente, la durée de vie des cookies est + limitée à la session actuelle du navigateur.</p> + + <pre class="prettyprint lang-config">CookieExpires "3 weeks"</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="cookiename" id="cookiename">Directive</a> <a name="CookieName" id="CookieName">CookieName</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Nom du cookie traceur</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CookieName <em>symbole</em></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>CookieName Apache</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>FileInfo</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_usertrack</td></tr> +</table> + <p>Cette directive vous permet de modifier le nom du cookie que ce + module utilise pour sa journalisation. Le nom par défaut du cookie + est "<code>Apache</code>".</p> + + <p>Vous devez spécifier un nom de cookie valide ; les résultats sont + imprévisibles si vous utilisez un nom contenant des caractères + inhabituels. Les caractères valides font partie des intervales A-Z, + a-z, 0-9, "_", et "-".</p> + + <pre class="prettyprint lang-config">CookieName clicktrack</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="cookiestyle" id="cookiestyle">Directive</a> <a name="CookieStyle" id="CookieStyle">CookieStyle</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Format du champ d'en-tête cookie</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CookieStyle + <em>Netscape|Cookie|Cookie2|RFC2109|RFC2965</em></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>CookieStyle Netscape</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>FileInfo</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_usertrack</td></tr> +</table> + <p>Cette directive permet de contrôler le format du champ d'en-tête + cookie. Les trois formats autorisés sont :</p> + + <ul> + <li><strong>Netscape</strong> : il s'agit du format original, mais + est maintenant obsolète. C'est le format par défaut et il + correspond à la syntaxe historique utilisée par Apache.</li> + + <li><strong>Cookie</strong> ou <strong>RFC2109</strong> : c'est la + syntaxe qui remplace la syntaxe Netscape.</li> + + <li><strong>Cookie2</strong> ou <strong>RFC2965</strong> : c'est + la syntaxe de cookie la plus actuelle.</li> + </ul> + + <p>Tous les clients ne supportent pas l'ensemble de ces formats, + mais il est conseillé d'utiliser le plus récent qui sera en général + supporté par le navigateur de votre utilisateur. A l'heure où ce + document est écrit, la plupart des navigateurs supportent ces trois + formats, <code>Cookie2</code> étant le format recommandé.</p> + + <pre class="prettyprint lang-config">CookieStyle Cookie2</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="cookietracking" id="cookietracking">Directive</a> <a name="CookieTracking" id="CookieTracking">CookieTracking</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Active le cookie traceur</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CookieTracking on|off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>CookieTracking 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>FileInfo</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_usertrack</td></tr> +</table> + <p>Lorsque le module <code class="module"><a href="../mod/mod_usertrack.html">mod_usertrack</a></code> est chargé, et + si <code>CookieTracking on</code> est définie, Apache enverra un + cookie traceur pour toute nouvelle requête. Cette directive peut + être utilisée pour activer ou désactiver ce comportement pour un + serveur virtuel ou un répertoire. Par défaut, l'activation de + <code class="module"><a href="../mod/mod_usertrack.html">mod_usertrack</a></code> ne suffit <strong>pas</strong> pour + activer les cookies.</p> + + <pre class="prettyprint lang-config">CookieTracking on</pre> + + + +</div> +</div> +<div class="bottomlang"> +<p><span>Langues Disponibles: </span><a href="../en/mod/mod_usertrack.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mod_usertrack.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/trunk/mod/mod_usertrack.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 2017 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_usertrack.xml.fr b/docs/manual/mod/mod_usertrack.xml.fr new file mode 100644 index 0000000000..0791ac78ea --- /dev/null +++ b/docs/manual/mod/mod_usertrack.xml.fr @@ -0,0 +1,235 @@ +<?xml version="1.0"?> +<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd"> +<?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?> +<!-- English Revision : 1674195 --> +<!-- French translation : Lucien GENTIS --> +<!-- $LastChangedRevision: 2015042601 $ --> + +<!-- + 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_usertrack.xml.meta"> +<name>mod_usertrack</name> +<description> +Journalisation <em>Clickstream</em> des liens parcourus par un +utilisateur sur un site +</description> +<status>Extension</status> +<sourcefile>mod_usertrack.c</sourcefile> +<identifier>usertrack_module</identifier> + +<summary> + <p>Ce module permet de suivre le parcours d'un utilisateur à travers + votre site web en faisant appel aux cookies de navigateur.</p> +</summary> + + +<section id="logging"> +<title>Journalisation</title> + + <p><module>mod_usertrack</module> définit un cookie qui peut être + journalisé via les formats configurables du module + <module>mod_log_config</module> :</p> + + <highlight language="config"> +LogFormat "%{Apache}n %r %t" usertrack +CustomLog "logs/clickstream.log" usertrack + </highlight> + + +</section> + +<directivesynopsis> +<name>CookieDomain</name> +<description>Le domaine auquel le cookie traceur +s'applique</description> +<syntax>CookieDomain <em>domaine</em></syntax> +<contextlist> +<context>server config</context> +<context>virtual host</context> +<context>directory</context> +<context>.htaccess</context> +</contextlist> +<override>FileInfo</override> + +<usage> + + <p>Cette directive permet de définir le domaine auquel le cookie + traceur s'applique. Si elle n'est pas présente, aucun domaine n'est + inclus dans le champ d'en-tête cookie.</p> + + <p>La chaîne dommaine <strong>doit</strong> commencer par un point, + et <strong>doit</strong> comporter au moins un point entouré + d'autres caractères. Par exemple, <code>.example.com</code> est + une chaîne valide, mais <code>www.example.com</code> et + <code>.com</code> ne le sont pas.</p> + + <note>La plupart des navigateurs utilisés actuellement n'autorisent + pas la définition de cookies pour un domaine racine de deux niveaux, + tel que <code>.co.uk</code>, bien qu'un tel domaine remplisse les + conditions de validité décrites ci-dessus.<br /> + + Ces domaines sont équivalents à des domaines racines comme + <code>.com</code>, et autoriser de tels cookies peut constituer un + risque en matière de sécurité. Ainsi, si vous vous situez sous un + domaine racine de deux niveaux, vous devez encore utiliser votre + domaine véritable, comme vous le feriez avec tout autre domaine + racine (par exemple <code>.example.co.uk</code>). + </note> + + <highlight language="config"> + CookieDomain .example.com + </highlight> +</usage> +</directivesynopsis> + + +<directivesynopsis> +<name>CookieExpires</name> +<description>Durée avant expiration du cookie traceur</description> +<syntax>CookieExpires <em>durée</em></syntax> +<contextlist> +<context>server config</context> +<context>virtual host</context> +<context>directory</context> +<context>.htaccess</context> +</contextlist> +<override>FileInfo</override> + +<usage> + <p>Lorsqu'elle est utilisée, cette directive définit une durée avant + l'expiration du cookie généré par le module usertrack. La + <em>durée</em> peut être spécifiée sous la forme d'un nombre de + secondes, ou sous une forme du + style "2 weeks 3 days 7 hours". les termes valides sont : years, + months, weeks, days, hours, minutes et seconds. Si la durée est + spécifiée dans un format autre qu'un nombre de secondes, elle doit + être entourée de guillemets.</p> + + <p>Si cette directive est absente, la durée de vie des cookies est + limitée à la session actuelle du navigateur.</p> + + <highlight language="config"> + CookieExpires "3 weeks" + </highlight> +</usage> +</directivesynopsis> + +<directivesynopsis> +<name>CookieName</name> +<description>Nom du cookie traceur</description> +<syntax>CookieName <em>symbole</em></syntax> +<default>CookieName Apache</default> +<contextlist> +<context>server config</context> +<context>virtual host</context> +<context>directory</context> +<context>.htaccess</context> +</contextlist> +<override>FileInfo</override> + +<usage> + <p>Cette directive vous permet de modifier le nom du cookie que ce + module utilise pour sa journalisation. Le nom par défaut du cookie + est "<code>Apache</code>".</p> + + <p>Vous devez spécifier un nom de cookie valide ; les résultats sont + imprévisibles si vous utilisez un nom contenant des caractères + inhabituels. Les caractères valides font partie des intervales A-Z, + a-z, 0-9, "_", et "-".</p> + + <highlight language="config"> + CookieName clicktrack + </highlight> +</usage> + +</directivesynopsis> + +<directivesynopsis> +<name>CookieStyle</name> +<description>Format du champ d'en-tête cookie</description> +<syntax>CookieStyle + <em>Netscape|Cookie|Cookie2|RFC2109|RFC2965</em></syntax> +<default>CookieStyle Netscape</default> +<contextlist> +<context>server config</context> +<context>virtual host</context> +<context>directory</context> +<context>.htaccess</context> +</contextlist> +<override>FileInfo</override> + +<usage> + <p>Cette directive permet de contrôler le format du champ d'en-tête + cookie. Les trois formats autorisés sont :</p> + + <ul> + <li><strong>Netscape</strong> : il s'agit du format original, mais + est maintenant obsolète. C'est le format par défaut et il + correspond à la syntaxe historique utilisée par Apache.</li> + + <li><strong>Cookie</strong> ou <strong>RFC2109</strong> : c'est la + syntaxe qui remplace la syntaxe Netscape.</li> + + <li><strong>Cookie2</strong> ou <strong>RFC2965</strong> : c'est + la syntaxe de cookie la plus actuelle.</li> + </ul> + + <p>Tous les clients ne supportent pas l'ensemble de ces formats, + mais il est conseillé d'utiliser le plus récent qui sera en général + supporté par le navigateur de votre utilisateur. A l'heure où ce + document est écrit, la plupart des navigateurs supportent ces trois + formats, <code>Cookie2</code> étant le format recommandé.</p> + + <highlight language="config"> + CookieStyle Cookie2 + </highlight> +</usage> +</directivesynopsis> + + + +<directivesynopsis> +<name>CookieTracking</name> +<description>Active le cookie traceur</description> +<syntax>CookieTracking on|off</syntax> +<default>CookieTracking off</default> +<contextlist> +<context>server config</context> +<context>virtual host</context> +<context>directory</context> +<context>.htaccess</context> +</contextlist> +<override>FileInfo</override> + +<usage> + <p>Lorsque le module <module>mod_usertrack</module> est chargé, et + si <code>CookieTracking on</code> est définie, Apache enverra un + cookie traceur pour toute nouvelle requête. Cette directive peut + être utilisée pour activer ou désactiver ce comportement pour un + serveur virtuel ou un répertoire. Par défaut, l'activation de + <module>mod_usertrack</module> ne suffit <strong>pas</strong> pour + activer les cookies.</p> + + <highlight language="config"> + CookieTracking on + </highlight> + +</usage> +</directivesynopsis> + +</modulesynopsis> diff --git a/docs/manual/mod/mod_usertrack.xml.meta b/docs/manual/mod/mod_usertrack.xml.meta index ee41117f20..8a7ae2254a 100644 --- a/docs/manual/mod/mod_usertrack.xml.meta +++ b/docs/manual/mod/mod_usertrack.xml.meta @@ -8,5 +8,6 @@ <variants> <variant>en</variant> + <variant>fr</variant> </variants> </metafile> diff --git a/docs/manual/mod/mod_vhost_alias.html b/docs/manual/mod/mod_vhost_alias.html index 62ad4bdf81..de993fc29b 100644 --- a/docs/manual/mod/mod_vhost_alias.html +++ b/docs/manual/mod/mod_vhost_alias.html @@ -4,6 +4,10 @@ URI: mod_vhost_alias.html.en 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 diff --git a/docs/manual/mod/mod_vhost_alias.html.fr b/docs/manual/mod/mod_vhost_alias.html.fr new file mode 100644 index 0000000000..c1c97cf001 --- /dev/null +++ b/docs/manual/mod/mod_vhost_alias.html.fr @@ -0,0 +1,385 @@ +<?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> +<meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mod_vhost_alias - Serveur Apache HTTP Version 2.5</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.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p> +<p class="apache">Serveur Apache HTTP Version 2.5</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.5</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Module Apache mod_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>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 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>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_vhost_alias">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_vhost_alias">Signaler un bug</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> +<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") peux ê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 partir</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 aussi 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">Directive</a> <a name="VirtualDocumentRoot" id="VirtualDocumentRoot">VirtualDocumentRoot</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">Directive</a> <a name="VirtualDocumentRootIP" id="VirtualDocumentRootIP">VirtualDocumentRootIP</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">Directive</a> <a name="VirtualScriptAlias" id="VirtualScriptAlias">VirtualScriptAlias</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">Directive</a> <a name="VirtualScriptAliasIP" id="VirtualScriptAliasIP">VirtualScriptAliasIP</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/trunk/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 2017 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mod_vhost_alias.xml.fr b/docs/manual/mod/mod_vhost_alias.xml.fr new file mode 100644 index 0000000000..7ccf03727e --- /dev/null +++ b/docs/manual/mod/mod_vhost_alias.xml.fr @@ -0,0 +1,361 @@ +<?xml version="1.0"?> +<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd"> +<?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?> +<!-- English Revision : 1673945 --> +<!-- French translation : Lucien GENTIS --> +<!-- $LastChangedRevision: 2015041801 $ --> + +<!-- + 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") peux ê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 partir</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 aussi 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> + diff --git a/docs/manual/mod/mod_vhost_alias.xml.meta b/docs/manual/mod/mod_vhost_alias.xml.meta index 4296658747..519409a51f 100644 --- a/docs/manual/mod/mod_vhost_alias.xml.meta +++ b/docs/manual/mod/mod_vhost_alias.xml.meta @@ -8,6 +8,7 @@ <variants> <variant>en</variant> + <variant>fr</variant> <variant outdated="yes">tr</variant> </variants> </metafile> |