1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
|
<?xml version="1.0"?>
<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
<?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?>
<!-- English Revision : 734331 -->
<!-- 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://docs.sun.com/app/docs/doc/816-5165/sed-1b?a=view">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.
</p>
<p>Vous trouverez sur le <a
href="http://blogs.sun.com/basant/entry/using_mod_sed_to_filter">blog de
l'auteur</a> un article en forme de tutoriel, ainsi que les raisons pour
lesquelles ce filtre est plus puissant qu'une simple
recherche/remplacement de chaîne ou d'expression rationnelle.</p>
</summary>
<section id="sampleconf"><title>Exemple de configuration</title>
<example><title>Ajout d'un filtre en sortie</title>
# 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.<br />
<indent>
<Directory "/var/www/docs/sed"> <br />
<indent>
AddOutputFilter Sed html <br />
OutputSed "s/monday/MON/g" <br />
OutputSed "s/sunday/SUN/g" <br />
</indent>
</Directory> <br />
</indent>
</example>
<example><title>Ajout d'un filtre en entrée</title>
# 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.<br />
<indent>
<Directory "/var/www/docs/sed"> <br />
<indent>
AddInputFilter Sed php <br />
InputSed "s/monday/MON/g" <br />
InputSed "s/sunday/SUN/g" <br />
</indent>
</Directory> <br />
</indent>
</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://docs.sun.com/app/docs/doc/816-5165/sed-1b?a=view">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>
|