filter.xml.fr revision 48a1e7c75bdf156529582b537a3bfc13a4f73634
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore<!DOCTYPE manualpage SYSTEM "/style/manualpage.dtd">
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore<?xml-stylesheet type="text/xsl" href="/style/manual.fr.xsl"?>
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore<!-- French translation : Lucien GENTIS -->
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore<!-- Reviewed by : Vincent Deffontaines -->
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore<!--English Revision : 659902 -->
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore Licensed to the Apache Software Foundation (ASF) under one or more
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore contributor license agreements. See the NOTICE file distributed with
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore this work for additional information regarding copyright ownership.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore The ASF licenses this file to You under the Apache License, Version 2.0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore (the "License"); you may not use this file except in compliance with
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore the License. You may obtain a copy of the License at
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore Unless required by applicable law or agreed to in writing, software
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore distributed under the License is distributed on an "AS IS" BASIS,
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore See the License for the specific language governing permissions and
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore limitations under the License.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore <p>Ce document décrit l'utilisation des filtres avec Apache.</p>
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore </modulelist>
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore <directivelist>
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore <directive module="mod_filter">FilterChain</directive>
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore <directive module="mod_filter">FilterDeclare</directive>
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore <directive module="mod_filter">FilterProtocol</directive>
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore <directive module="mod_filter">FilterProvider</directive>
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore <directive module="mod_mime">AddInputFilter</directive>
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore <directive module="mod_mime">AddOutputFilter</directive>
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore <directive module="mod_mime">RemoveInputFilter</directive>
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore <directive module="mod_mime">RemoveOutputFilter</directive>
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore <directive module="mod_ext_filter">ExtFilterDefine</directive>
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore <directive module="mod_ext_filter">ExtFilterOptions</directive>
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore <directive module="core">SetInputFilter</directive>
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore <directive module="core">SetOutputFilter</directive>
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore </directivelist>
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore<p>La chaîne de filtrage est disponible depuis la version 2.0 d'Apache,
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amoreet permet aux applications de traiter les données en entrée et en sortie
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amored'une manière hautement flexible et configurable, quelle que soit la
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amoreprovenance de ces données. Il est possible de pré-traiter les données
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amoreen entrée, et post-traiter les données en sortie, comme souhaité.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'AmoreCes traitements sont tout à fait indépendants des traditionnelles phases
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amorede traitement des requêtes.</p>
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore<img src="images/filter_arch.png" width="569" height="392" alt=
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore"les filtres peuvent s'enchaîner, perpendiculairement au traitement
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amoredes requêtes"
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore<p>Voici quelques exemples de filtrage avec la distribution standard d'Apache:</p>
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore<li><module>mod_include</module>, implémente les inclusions côté serveur.</li>
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore<li><module>mod_ssl</module>, implémente le cryptage SSL (https).</li>
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore<li><module>mod_deflate</module>, implémente la compression/décompression
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amoreà la volée.</li>
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore<li><module>mod_charset_lite</module>, transcodage entre différents
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amorejeux de caractères.</li>
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore<li><module>mod_ext_filter</module>, utilisation d'un programme externe
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amorecomme filtre.</li>
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore<p>Apache utilise aussi plusieurs filtres en interne pour accomplir des tâches
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amorecomme le découpage des grosses requêtes (chunking) et la gestion des
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amorerequêtes portant sur une partie d'un fichier (byte-range).</p>
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore<p>Un grand choix d'applications sont implémentées par des modules de filtrage
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amoretiers disponibles à <a
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amorehref="http://modules.apache.org/">modules.apache.org</a> entre autres.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'AmoreEn voici quelques exemples :</p>
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore<li>Traitement et réécriture HTML et XML</li>
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore<li>Transformations XSLT et inclusions XML (XIncludes)</li>
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore<li>Gestion du chargement de fichier et décodage des formulaires HTML</li>
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore<li>Protection des applications vulnérables comme les scripts PHP</li>
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore<li>Edition de texte par Chercher/Remplacer</li>
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore<img src="images/mod_filter_new.png" width="423" height="331"
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amorealt="Le filtrage intelligent applique différents fournisseurs de filtrage en
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amorefonction de l'état du traitement de la requête"/>
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore<p><module>mod_filter</module>, inclus dans les version 2.1 et supérieures
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amored'Apache, permet de configurer la chaîne de filtrage dynamiquement
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amoreà l'exécution.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'AmoreAinsi par exemple, vous pouvez définir un proxy pour réécrire du code HTML
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amoreavec un filtre HTML et traiter des images JPEG avec un filtre totalement
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amoreséparé, bien que le proxy ne possède aucune information préliminaire
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amoresur ce que le serveur à l'origine des données à filtrer va envoyer.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'AmoreCeci fonctionne grâce à l'utilisation d'un gestionnaire de filtre,
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amorequi distribue les tâches à différents fournisseurs de filtrage en fonction
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amoredu contenu réel à filtrer à l'exécution. Tout filtre peut se voir soit
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amoreinséré directement dans la chaîne et lancé inconditionnellement, soit
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amoreutilisé comme un fournisseur de filtrage et inséré dynamiquement.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'AmorePar exemple,</p>
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore<li>un filtre de traitement HTML sera lancé uniquement si le contenu est
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amorede type text/html ou application/xhtml+xml</li>
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore<li>Un filtre de compression sera lancé uniquement si les données en entrée
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amoresont de type compressible et non déjà compressées</li>
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore<li>Un filtre de conversion de jeux de caractères ne sera inséré que si
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amorele document texte n'est pas déjà dans le jeu de caractères voulu</li>
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore<p>Il y a deux manières d'utiliser le filtrage : Simple et Dynamique.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'AmoreEn général, vous utiliserez l'une ou l'autre méthode; le mélange des deux
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amorepeut avoir des conséquences inattendues (bien que le filtrage simple en entrée
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amorepuisse être associé sans problème avec le filtrage simple ou dynamique
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amoreen sortie).</p>
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore<p>La méthode Simple est la seule permettant de configurer les filtres
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amoreen entrée, et suffit pour les filtres en sortie pour lesquels vous avez besoin
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amored'une chaîne de filtres statique.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'AmoreLes directives correspondantes sont
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore <directive module="core">SetInputFilter</directive>,
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore <directive module="core">SetOutputFilter</directive>,
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore <directive module="mod_mime">AddInputFilter</directive>,
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore <directive module="mod_mime">AddOutputFilter</directive>,
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore <directive module="mod_mime">RemoveInputFilter</directive>, et
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore <directive module="mod_mime">RemoveOutputFilter</directive>.</p>
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore<p>La méthode Dynamique permet une configuration dynamique des filtres en
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amoresortie à la fois statique et flexible, comme discuté dans la page
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'AmoreLes directives correspondantes sont
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore <directive module="mod_filter">FilterChain</directive>,
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore <directive module="mod_filter">FilterDeclare</directive>, et
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore <directive module="mod_filter">FilterProvider</directive>.</p>
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amoremodule="core">AddOutputFilterByType</directive> est encore supportée,
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amoremais peut poser des problèmes et est maintenant obsolète. Utilisez la
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amoreconfiguration dynamique à la place.</p>