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
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
|
<?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_sed - 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_sed</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_sed.html" hreflang="en" rel="alternate" title="English"> en </a> |
<a href="../fr/mod/mod_sed.html" title="Français"> fr </a></p>
</div>
<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Filtre les contenus en entrée (requêtes) et en sortie
(réponses) en utilisant la syntaxe de <code>sed</code></td></tr>
<tr><th><a href="module-dict.html#Status">Statut:</a></th><td /></tr>
<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>sed_module</td></tr>
<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_sed.c sed0.c sed1.c regexp.c regexp.h sed.h</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_sed.html">mod_sed</a></code> est un filtre de contenu "in-process". Le
filtre <code class="module"><a href="../mod/mod_sed.html">mod_sed</a></code> 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>,
<code class="module"><a href="../mod/mod_sed.html">mod_sed</a></code> 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. <code class="module"><a href="../mod/mod_sed.html">mod_sed</a></code> peut être
utilisé comme filtre en entrée ou en sortie. <code class="module"><a href="../mod/mod_sed.html">mod_sed</a></code>
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 <code class="module"><a href="../mod/mod_sed.html">mod_sed</a></code> 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 <code class="module"><a href="../mod/mod_sed.html">mod_sed</a></code> 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="https://blogs.oracle.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>
</div>
<div id="quickview"><h3>Sujets</h3>
<ul id="topics">
<li><img alt="" src="../images/down.gif" /> <a href="#sampleconf">Exemple de configuration</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#sed_commands">Commandes sed</a></li>
</ul><h3 class="directives">Directives</h3>
<ul id="toc">
<li><img alt="" src="../images/down.gif" /> <a href="#inputsed">InputSed</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#outputsed">OutputSed</a></li>
</ul>
<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="sampleconf" id="sampleconf">Exemple de configuration</a></h2>
<div class="example"><h3>Ajout d'un filtre en sortie</h3><pre class="prettyprint lang-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></pre>
</div>
<div class="example"><h3>Ajout d'un filtre en entrée</h3><pre class="prettyprint lang-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></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="sed_commands" id="sed_commands">Commandes sed</a></h2>
<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>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="inputsed" id="inputsed">Directive</a> <a name="InputSed" id="InputSed">InputSed</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Commande sed à exécuter pour le filtrage des données d'une
requête (en général des données <code>POST</code>)</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>InputSed <var>commande-sed</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#Status">Statut:</a></th><td /></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_sed</td></tr>
</table>
<p>La directive <code class="directive">InputSed</code> 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>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="outputsed" id="outputsed">Directive</a> <a name="OutputSed" id="OutputSed">OutputSed</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Commande sed pour le filtrage des contenus de type
réponse</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>OutputSed <var>commande-sed</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#Status">Statut:</a></th><td /></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_sed</td></tr>
</table>
<p>La directive <code class="directive">OutputSed</code> permet de spécifier
la commande <code>sed</code> à exécuter dans le cadre du traitement
d'une réponse.
</p>
</div>
</div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_sed.html" hreflang="en" rel="alternate" title="English"> en </a> |
<a href="../fr/mod/mod_sed.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_sed.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 2016 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>
|