| <?xml version="1.0"?> |
| <!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd"> |
| <?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?> |
| <!-- English Revision: 1901510 --> |
| <!-- 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_sed.xml.meta"> |
| |
| <name>mod_sed</name> |
| <description>Filtre les contenus en entrée (requêtes) et en sortie |
| (réponses) en utilisant la syntaxe de <code>sed</code></description> |
| <status>Expérimental</status> |
| <sourcefile>mod_sed.c sed0.c sed1.c regexp.c regexp.h sed.h</sourcefile> |
| <identifier>sed_module</identifier> |
| <compatibility>Disponible depuis la version 2.3 d'Apache</compatibility> |
| |
| <summary> |
| <p><module>mod_sed</module> est un filtre de contenu "in-process". Le |
| filtre <module>mod_sed</module> fournit les commandes d'édition de |
| <code>sed</code> implémentées par le programme <code>sed</code> de |
| Solaris 10 comme décrit dans la <a |
| href="http://www.gnu.org/software/sed/manual/sed.txt">page de |
| manuel</a>. Cependant, à la différence de <code>sed</code>, |
| <module>mod_sed</module> ne reçoit pas de données sur son entrée |
| standard. Au lieu de cela, le filtre agit sur les données échangées |
| entre le client et le serveur. <module>mod_sed</module> peut être |
| utilisé comme filtre en entrée ou en sortie. <module>mod_sed</module> |
| est un filtre de contenu, ce qui signifie qu'on ne peut pas l'utiliser |
| pour modifier les en-têtes http du client ou du serveur. |
| </p> |
| <p> |
| Le filtre en sortie <module>mod_sed</module> accepte un tronçon de |
| données, exécute le script <code>sed</code> sur ces données, puis génère |
| une sortie qui est transmise au filtre suivant dans la chaîne. |
| </p> |
| |
| <p> |
| Le filtre en entrée <module>mod_sed</module> reçoit des données en |
| provenance du filtre suivant dans la chaîne, exécute les scripts |
| <code>sed</code>, et renvoie les données générées au filtre appelant |
| dans la chaîne de filtrage. |
| </p> |
| |
| <p> |
| Les filtres en entrée ou en sortie ne traitent les données que si des |
| caractères newline sont détectés dans le contenu à filtrer. A la fin des |
| données, ce qui reste est traité comme la dernière ligne. Les lignes d'une |
| taille supérieure à 8 Mo provoquent une erreur. |
| </p> |
| |
| </summary> |
| |
| <section id="sampleconf"><title>Exemple de configuration</title> |
| <example><title>Ajout d'un filtre en sortie</title> |
| <highlight language="config"> |
| # Dans l'exemple suivant, le filtre sed va remplacer la chaîne |
| # "monday" par "MON" et la chaîne "sunday" par "SUN" dans les |
| # documents html avant de les envoyer au client. |
| <Directory "/var/www/docs/sed"> |
| AddOutputFilter Sed html |
| OutputSed "s/monday/MON/g" |
| OutputSed "s/sunday/SUN/g" |
| </Directory> |
| </highlight> |
| </example> |
| |
| <example><title>Ajout d'un filtre en entrée</title> |
| <highlight language="config"> |
| # Dans l'exemple suivant, le filtre sed va remplacer la chaîne |
| # "monday" par "MON" et la chaîne "sunday" par "SUN" dans les |
| # données POST envoyées à PHP. |
| <Directory "/var/www/docs/sed"> |
| AddInputFilter Sed php |
| InputSed "s/monday/MON/g" |
| InputSed "s/sunday/SUN/g" |
| </Directory> |
| </highlight> |
| </example> |
| </section> |
| <section id="sed_commands"><title>Commandes sed</title> |
| <p> |
| Vous trouverez tous les détails à propos de la commande |
| <code>sed</code> dans sa <a href="http://www.gnu.org/software/sed/manual/sed.txt">page |
| de manuel</a>. |
| </p> |
| <dl> |
| <dt><code>b</code></dt> |
| <dd>Saut vers le label spécifié (similaire à goto).</dd> |
| <dt><code>h</code></dt> |
| <dd>Copie la ligne courante dans le tampon.</dd> |
| <dt><code>H</code></dt> |
| <dd>Ajoute la ligne courante au tampon.</dd> |
| <dt><code>g</code></dt> |
| <dd>Copie le contenu du tampon dans la ligne courante.</dd> |
| <dt><code>G</code></dt> |
| <dd>Ajoute le contenu du tampon à la ligne courante.</dd> |
| <dt><code>x</code></dt> |
| <dd>Echange les contenus du tampon et de la ligne courante.</dd> |
| </dl> |
| </section> |
| |
| <directivesynopsis> |
| <name>OutputSed</name> |
| <description>Commande sed pour le filtrage des contenus de type |
| réponse</description> |
| <syntax>OutputSed <var>commande-sed</var></syntax> |
| <contextlist><context>directory</context><context>.htaccess</context> |
| </contextlist> |
| |
| <usage> |
| <p>La directive <directive>OutputSed</directive> permet de spécifier |
| la commande <code>sed</code> à exécuter dans le cadre du traitement |
| d'une réponse. |
| </p> |
| </usage> |
| </directivesynopsis> |
| |
| <directivesynopsis> |
| <name>InputSed</name> |
| <description>Commande sed à exécuter pour le filtrage des données d'une |
| requête (en général des données <code>POST</code>)</description> |
| <syntax>InputSed <var>commande-sed</var></syntax> |
| <contextlist><context>directory</context><context>.htaccess</context> |
| </contextlist> |
| |
| <usage> |
| <p>La directive <directive>InputSed</directive> permet de spécifier |
| la commande sed à exécuter pour le filtrage des données (en général |
| des données <code>POST</code>) d'une requête. |
| </p> |
| </usage> |
| </directivesynopsis> |
| |
| </modulesynopsis> |