filter.html.fr 16 KB
Newer Older
powelld's avatar
powelld committed
<?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>Filtres - Serveur Apache HTTP Version 2.4</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 id="manual-page"><div id="page-header">
<p class="menu"><a href="./mod/">Modules</a> | <a href="./mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="./glossary.html">Glossaire</a> | <a href="./sitemap.html">Plan du site</a></p>
<p class="apache">Serveur Apache HTTP Version 2.4</p>
<img alt="" src="./images/feather.png" /></div>
<div class="up"><a href="./"><img title="&lt;-" alt="&lt;-" src="./images/left.gif" /></a></div>
<div id="path">
<a href="http://www.apache.org/">Apache</a> &gt; <a href="http://httpd.apache.org/">Serveur HTTP</a> &gt; <a href="http://httpd.apache.org/docs/">Documentation</a> &gt; <a href="./">Version 2.4</a></div><div id="page-content"><div id="preamble"><h1>Filtres</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="./en/filter.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
<a href="./es/filter.html" hreflang="es" rel="alternate" title="Espaol">&nbsp;es&nbsp;</a> |
<a href="./fr/filter.html" title="Franais">&nbsp;fr&nbsp;</a> |
<a href="./ja/filter.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="./ko/filter.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="./tr/filter.html" hreflang="tr" rel="alternate" title="Trke">&nbsp;tr&nbsp;</a></p>
</div>

    <p>Ce document dcrit l'utilisation des filtres avec Apache.</p>
  </div>
<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><ul id="toc"><li><img alt="" src="./images/down.gif" /> <a href="#intro">Le filtrage avec Apache 2</a></li>
<li><img alt="" src="./images/down.gif" /> <a href="#smart">Filtrage intelligent</a></li>
<li><img alt="" src="./images/down.gif" /> <a href="#service">Prsentation des filtres en tant que service HTTP</a></li>
<li><img alt="" src="./images/down.gif" /> <a href="#using">Utilisation des filtres</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="intro" id="intro">Le filtrage avec Apache 2</a></h2>
    
    <table class="related"><tr><th>Modules Apparents</th><th>Directives Apparentes</th></tr><tr><td><ul><li><code class="module"><a href="./mod/mod_filter.html">mod_filter</a></code></li><li><code class="module"><a href="./mod/mod_deflate.html">mod_deflate</a></code></li><li><code class="module"><a href="./mod/mod_ext_filter.html">mod_ext_filter</a></code></li><li><code class="module"><a href="./mod/mod_include.html">mod_include</a></code></li><li><code class="module"><a href="./mod/mod_charset_lite.html">mod_charset_lite</a></code></li><li><code class="module"><a href="./mod/mod_reflector.html">mod_reflector</a></code></li><li><code class="module"><a href="./mod/mod_buffer.html">mod_buffer</a></code></li><li><code class="module"><a href="./mod/mod_data.html">mod_data</a></code></li><li><code class="module"><a href="./mod/mod_ratelimit.html">mod_ratelimit</a></code></li><li><code class="module"><a href="./mod/mod_reqtimeout.html">mod_reqtimeout</a></code></li><li><code class="module"><a href="./mod/mod_request.html">mod_request</a></code></li><li><code class="module"><a href="./mod/mod_sed.html">mod_sed</a></code></li><li><code class="module"><a href="./mod/mod_substitute.html">mod_substitute</a></code></li><li><code class="module"><a href="./mod/mod_xml2enc.html">mod_xml2enc</a></code></li><li><code class="module"><a href="./mod/mod_proxy_html.html">mod_proxy_html</a></code></li></ul></td><td><ul><li><code class="directive"><a href="./mod/mod_filter.html#filterchain">FilterChain</a></code></li><li><code class="directive"><a href="./mod/mod_filter.html#filterdeclare">FilterDeclare</a></code></li><li><code class="directive"><a href="./mod/mod_filter.html#filterprotocol">FilterProtocol</a></code></li><li><code class="directive"><a href="./mod/mod_filter.html#filterprovider">FilterProvider</a></code></li><li><code class="directive"><a href="./mod/mod_mime.html#addinputfilter">AddInputFilter</a></code></li><li><code class="directive"><a href="./mod/mod_mime.html#addoutputfilter">AddOutputFilter</a></code></li><li><code class="directive"><a href="./mod/mod_mime.html#removeinputfilter">RemoveInputFilter</a></code></li><li><code class="directive"><a href="./mod/mod_mime.html#removeoutputfilter">RemoveOutputFilter</a></code></li><li><code class="directive"><a href="./mod/mod_reflector.html#reflectorheader">ReflectorHeader</a></code></li><li><code class="directive"><a href="./mod/mod_ext_filter.html#extfilterdefine">ExtFilterDefine</a></code></li><li><code class="directive"><a href="./mod/mod_ext_filter.html#extfilteroptions">ExtFilterOptions</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></ul></td></tr></table>

<p>La chane de filtrage est disponible depuis la version 2.0 d'Apache,
et permet aux applications de traiter les donnes en entre et en sortie
d'une manire hautement flexible et configurable, quelle que soit la
provenance de ces donnes.  Il est possible de pr-traiter les donnes
en entre, et post-traiter les donnes en sortie, selon
vos souhaits.
Ces traitements sont tout  fait indpendants des traditionnelles phases
de traitement des requtes.</p>
<p class="figure">
<img src="images/filter_arch.png" width="569" height="392" alt="les filtres peuvent s'enchaner, perpendiculairement au traitement des requtes" />
</p>
<p>Voici quelques exemples de filtrage avec la distribution standard d'Apache:</p>
<ul>
<li><code class="module"><a href="./mod/mod_include.html">mod_include</a></code>, implmente les inclusions ct serveur.</li>
<li><code class="module"><a href="./mod/mod_ssl.html">mod_ssl</a></code>, implmente le cryptage SSL (https).</li>
<li><code class="module"><a href="./mod/mod_deflate.html">mod_deflate</a></code>, implmente la compression/dcompression
 la vole.</li>
<li><code class="module"><a href="./mod/mod_charset_lite.html">mod_charset_lite</a></code>, transcodage entre diffrents
jeux de caractres.</li>
<li><code class="module"><a href="./mod/mod_ext_filter.html">mod_ext_filter</a></code>, utilisation d'un programme externe
comme filtre.</li>
</ul>
<p>Apache utilise aussi plusieurs filtres en interne pour accomplir des tches
comme le dcoupage des grosses requtes (chunking) et la gestion des
requtes portant sur une partie d'un fichier (byte-range).</p>

<p>Un grand choix d'applications sont implmentes par des modules de filtrage
tiers disponibles  <a href="http://modules.apache.org/">modules.apache.org</a> entre autres.
En voici quelques exemples :</p>

<ul>
<li>Traitement et rcriture HTML et XML</li>
<li>Transformations XSLT et inclusions XML (XIncludes)</li>
<li>Support de l'espace de nommage XML</li>
<li>Gestion du chargement de fichier et dcodage des formulaires HTML</li>
<li>Traitement d'image</li>
<li>Protection des applications vulnrables comme les scripts PHP</li>
<li>Edition de texte par Chercher/Remplacer</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="smart" id="smart">Filtrage intelligent</a></h2>

<p class="figure">
<img src="images/mod_filter_new.png" width="423" height="331" alt="Le filtrage intelligent applique diffrents fournisseurs de filtrage en fonction de l'tat du traitement de la requte" />
</p>
<p><code class="module"><a href="./mod/mod_filter.html">mod_filter</a></code>, inclus dans les version 2.1 et suprieures
d'Apache, permet de configurer la chane de filtrage dynamiquement
 l'excution.
Ainsi par exemple, vous pouvez dfinir un proxy pour rcrire du code HTML
avec un filtre HTML et traiter des images JPEG avec un filtre totalement
spar, bien que le proxy ne possde aucune information prliminaire
sur ce que le serveur  l'origine des donnes  filtrer va envoyer.
Ceci fonctionne grce  l'utilisation d'un gestionnaire de filtre,
qui distribue les tches  diffrents fournisseurs de filtrage en fonction
du contenu rel  filtrer  l'excution.  Tout filtre peut se voir soit
insr directement dans la chane et lanc inconditionnellement, soit
utilis comme un fournisseur de filtrage et insr dynamiquement.
Par exemple,</p>
<ul>
<li>un filtre de traitement HTML sera lanc uniquement si le contenu est
de type text/html ou application/xhtml+xml</li>
<li>Un filtre de compression sera lanc uniquement si les donnes en entre
sont de type compressible et non dj compresses</li>
<li>Un filtre de conversion de jeux de caractres ne sera insr que si
le document texte n'est pas dj dans le jeu de caractres voulu</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="service" id="service">Prsentation des filtres en tant que service HTTP</a></h2>


<p>Les filtres permettent de traiter les requtes des clients avant
traitement par le serveur, ainsi que les contenus issus du serveur avant de les renvoyer
au client. Le module <code class="module"><a href="./mod/mod_reflector.html">mod_reflector</a></code> permet aussi
d'utiliser les filtres pour traiter les requtes des clients avant de
les renvoyer directement  ces derniers.</p>

<p>Le module <code class="module"><a href="./mod/mod_reflector.html">mod_reflector</a></code> reoit les requtes POST des
clients, et en rpercute le corps dans la requte POST constituant la
rponse, lors de l'envoi de cette dernire au client en passant  travers la
pile de filtres en sortie.</p>

<p>Cette technique peut tre utilise comme alternative  un service web
s'excutant  l'intrieur de la pile d'un serveur d'applications, o un
filtre en sortie effectue la transformation requise sur le corps de la
requte. Par exemple, on peut utiliser le module
<code class="module"><a href="./mod/mod_deflate.html">mod_deflate</a></code> pour fournir un service gnral de
compression ; un filtre de transformation d'images peut aussi se voir
mu en service de transformation d'images.</p>

</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section">
<h2><a name="using" id="using">Utilisation des filtres</a></h2>

<p>Il y a deux manires d'utiliser le filtrage : Simple et Dynamique.
En gnral, vous utiliserez l'une ou l'autre mthode; le mlange des deux
peut avoir des consquences inattendues (bien que le filtrage simple en entre
puisse tre associ sans problme avec le filtrage simple ou dynamique
en sortie).</p>
<p>La mthode Simple est la seule permettant de configurer les filtres
en entre, et suffit pour les filtres en sortie pour lesquels vous avez besoin
d'une chane de filtres statique.
Les directives correspondantes sont
    <code class="directive"><a href="./mod/core.html#setinputfilter">SetInputFilter</a></code>,
    <code class="directive"><a href="./mod/core.html#setoutputfilter">SetOutputFilter</a></code>,
    <code class="directive"><a href="./mod/mod_mime.html#addinputfilter">AddInputFilter</a></code>,
    <code class="directive"><a href="./mod/mod_mime.html#addoutputfilter">AddOutputFilter</a></code>,
    <code class="directive"><a href="./mod/mod_mime.html#removeinputfilter">RemoveInputFilter</a></code>, et
    <code class="directive"><a href="./mod/mod_mime.html#removeoutputfilter">RemoveOutputFilter</a></code>.</p>

<p>La mthode Dynamique permet une configuration dynamique des filtres en
sortie  la fois statique et flexible, comme discut dans la page
<code class="module"><a href="./mod/mod_filter.html">mod_filter</a></code>.
Les directives correspondantes sont
    <code class="directive"><a href="./mod/mod_filter.html#filterchain">FilterChain</a></code>,
    <code class="directive"><a href="./mod/mod_filter.html#filterdeclare">FilterDeclare</a></code>, et
    <code class="directive"><a href="./mod/mod_filter.html#filterprovider">FilterProvider</a></code>.</p>

<p>Une autre directive <code class="directive"><a href="./mod/mod_filter.html#addoutputfilterbytype">AddOutputFilterByType</a></code> est encore supporte,
mais obsolte. Utilisez la
configuration dynamique  la place.</p>

  </div></div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="./en/filter.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
<a href="./es/filter.html" hreflang="es" rel="alternate" title="Espaol">&nbsp;es&nbsp;</a> |
<a href="./fr/filter.html" title="Franais">&nbsp;fr&nbsp;</a> |
<a href="./ja/filter.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="./ko/filter.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="./tr/filter.html" hreflang="tr" rel="alternate" title="Trke">&nbsp;tr&nbsp;</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&amp;A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
<script type="text/javascript"><!--//--><![CDATA[//><!--
var comments_shortname = 'httpd';
var comments_identifier = 'http://httpd.apache.org/docs/2.4/filter.html';
(function(w, d) {
    if (w.location.hostname.toLowerCase() == "httpd.apache.org") {
        d.write('<div id="comments_thread"><\/div>');
        var s = d.createElement('script');
        s.type = 'text/javascript';
        s.async = true;
        s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier;
        (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s);
    }
    else { 
        d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>');
    }
})(window, document);
//--><!]]></script></div><div id="footer">
<p class="apache">Copyright 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/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="./glossary.html">Glossaire</a> | <a href="./sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
    prettyPrint();
}
//--><!]]></script>
</body></html>