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
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
|
<?xml version="1.0"?>
<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
<?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?>
<!-- English Revision: 1673892 -->
<!-- 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_charset_lite.xml.meta">
<name>mod_charset_lite</name>
<description>Spécifie dans quel jeu de caractère doivent s'effectuer les
traductions ou les réencodages</description>
<status>Extension</status>
<sourcefile>mod_charset_lite.c</sourcefile>
<identifier>charset_lite_module</identifier>
<summary>
<p>Le module <module>mod_charset_lite</module> permet au serveur de
modifier le jeu de caractères des réponses avant de les envoyer aux
clients. Dans un environnement EBCDIC, Apache traduit toujours les
contenus au protocole HTTP (par exemples les en-têtes de réponses)
de la page de code de la locale du processus Apache vers ISO-8859-1,
mais pas le corps des réponses. Dans tous les environnements, on
peut utiliser <module>mod_charset_lite</module> pour spécifier que
les corps des réponses doivent être traduits. Par exemple, si les
fichiers sont stockés sous forme EBCDIC,
<module>mod_charset_lite</module> pourra les traduire en ISO-8859-1
avant de les envoyer au client.</p>
<p>Ce module fournit quelques procédés de configuration implémentés
par Apache version russe, ainsi que son module
<code>mod_charset</code> associé.</p>
</summary>
<section id="problems"><title>Problèmes courants</title>
<section><title>Noms de jeux de caractères non valides</title>
<p>Les noms des jeux de caractères passés en paramètres aux
directives <directive
module="mod_charset_lite">CharsetSourceEnc</directive> et
<directive module="mod_charset_lite">CharsetDefault</directive>
doivent être reconnus par le mécanisme de traduction utilisé par
<glossary>APR</glossary> sur le système où
<module>mod_charset_lite</module> est utilisé. Ces noms de jeux de
caractères ne sont pas standardisés, et sont en général différents
des valeurs qui leur correspondent dans les en-têtes HTTP.
Actuellement, APR ne peut utiliser que iconv(3) ; vous pouvez donc
tester facilement vos noms de jeux de caractères en utilisant le
programme iconv(1), de la manière suivante :</p>
<example>
iconv -f valeur-charsetsourceenc -t valeur-charsetdefault
</example>
</section>
<section><title>Incompatibilité entre le jeu de caractères du
contenu et les règles de traduction</title>
<p>Si les règles de traduction ne peuvent s'appliquer au contenu,
la traduction peut échouer avec des conséquences diverses, comme
:</p>
<ul>
<li>Le mécanisme de traduction peut renvoyer un mauvais code de
retour, et la connexion sera interrompue.</li>
<li>Le mécanisme de traduction peut insérer silencieusement des
caractères spéciaux (par exemple des points d'interrogation) dans
le tampon de sortie lorsqu'il n'est pas en mesure de traduire le
tampon d'entrée.</li>
</ul>
</section>
</section>
<directivesynopsis>
<name>CharsetSourceEnc</name>
<description>Jeu de caractères source des fichiers</description>
<syntax>CharsetSourceEnc <var>jeu de caractères</var></syntax>
<contextlist><context>server config</context>
<context>virtual host</context><context>directory</context>
<context>.htaccess</context>
</contextlist>
<override>FileInfo</override>
<usage>
<p>La directive <directive>CharsetSourceEnc</directive>
spécifie un jeu de caractères source pour les fichiers situés dans
le conteneur associé.</p>
<p>La valeur de l'argument <var>jeu de caractères</var> doit être
un nom de jeu de caractères valide du point de vue du support des
jeux de caractères dans <glossary>APR</glossary>. En général, cela
implique qu'elle doit être reconnue par iconv.</p>
<example><title>Exemple</title>
<highlight language="config">
<Directory "/export/home/trawick/apacheinst/htdocs/convert">
CharsetSourceEnc UTF-16BE
CharsetDefault ISO-8859-1
</Directory>
</highlight>
</example>
<p>Les noms de jeux de caractères de cet exemple sont reconnus par
le mécanisme de traduction d'iconv sous Solaris 8.</p>
<note>
Spécifier le même jeu de caractères pour les deux directives
<directive module="mod_charset_lite">CharsetSourceEnc</directive>
et <directive module="mod_charset_lite">CharsetDefault</directive>
désactive la traduction. Le jeu de caractères ne doit pas forcément
correspondre au jeu de caractères de la réponse, mais il doit être
valide du point de vue du système.
</note>
</usage>
</directivesynopsis>
<directivesynopsis>
<name>CharsetDefault</name>
<description>Jeu de caractère vers lequel la traduction doit
s'effectuer</description>
<syntax>CharsetDefault <var>jeu de caractères</var></syntax>
<contextlist><context>server config</context>
<context>virtual host</context><context>directory</context>
<context>.htaccess</context>
</contextlist>
<override>FileInfo</override>
<usage>
<p>La directive <directive>CharsetDefault</directive>
spécifie le jeu de caractères vers lequel le contenu situé dans le
conteneur associé devra être traduit.</p>
<p>La valeur de l'argument <var>jeu de caractères</var> doit être
un nom de jeu de caractères valide du point de vue du support des
jeux de caractères dans <glossary>APR</glossary>. En général, cela
implique qu'elle doit être reconnue par iconv.</p>
<example><title>Exemple</title>
<highlight language="config">
<Directory "/export/home/trawick/apacheinst/htdocs/convert">
CharsetSourceEnc UTF-16BE
CharsetDefault ISO-8859-1
</Directory>
</highlight>
</example>
<note>
Spécifier le même jeu de caractères pour les deux directives
<directive module="mod_charset_lite">CharsetSourceEnc</directive>
et <directive module="mod_charset_lite">CharsetDefault</directive>
désactive la traduction. Le jeu de caractères ne doit pas forcément
correspondre au jeu de caractères de la réponse, mais il doit être
valide du point de vue du système.
</note>
</usage>
</directivesynopsis>
<directivesynopsis>
<name>CharsetOptions</name>
<description>Précise les détails de la traduction du jeu de
caractères</description>
<syntax>CharsetOptions <var>option</var> [<var>option</var>] ...</syntax>
<default>CharsetOptions ImplicitAdd</default>
<contextlist><context>server config</context>
<context>virtual host</context><context>directory</context>
<context>.htaccess</context>
</contextlist>
<override>FileInfo</override>
<usage>
<p>La directive <directive>CharsetOptions</directive>
précise certains détails du comportement du module
<module>mod_charset_lite</module>. <var>Option</var> accepte les
valeurs suivantes :</p>
<dl>
<dt><code>ImplicitAdd | NoImplicitAdd</code></dt>
<dd>Le mot-clé <code>ImplicitAdd</code> indique que
<module>mod_charset_lite</module> doit insérer son filtre de
manière implicite lorsque la configuration indique que le jeu de
caractère du contenu doit être traduit. Si la chaîne de filtrage
est configurée de manière explicite via la directive <directive
module="mod_mime">AddOutputFilter</directive>, l'option
<code>NoImplicitAdd</code> doit être utilisée afin que
<module>mod_charset_lite</module> n'ajoute pas son propre
filtre.</dd>
<dt><code>TranslateAllMimeTypes | NoTranslateAllMimeTypes</code></dt>
<dd>Normalement, <module>mod_charset_lite</module> n'effectuera
une traduction qu'en présence d'un petit nombre de types MIME
parmi tous les types possibles. Lorsque l'option
<code>TranslateAllMimeTypes</code> est utilisée pour une section
de configuration donnée, la traduction est effectuée sans se
préoccuper du type MIME.</dd>
</dl>
</usage>
</directivesynopsis>
</modulesynopsis>
|