]> granicus.if.org Git - apache/blob - docs/manual/mod/mod_xml2enc.html.fr
Rebuild.
[apache] / docs / manual / mod / mod_xml2enc.html.fr
1 <?xml version="1.0" encoding="ISO-8859-1"?>
2 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3 <html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head>
4 <meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type" />
5 <!--
6         XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
7               This file is generated from xml source: DO NOT EDIT
8         XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
9       -->
10 <title>mod_xml2enc - Serveur Apache HTTP Version 2.4</title>
11 <link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
12 <link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
13 <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" />
14 <script src="../style/scripts/prettify.min.js" type="text/javascript">
15 </script>
16
17 <link href="../images/favicon.ico" rel="shortcut icon" /></head>
18 <body>
19 <div id="page-header">
20 <p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.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>
21 <p class="apache">Serveur Apache HTTP Version 2.4</p>
22 <img alt="" src="../images/feather.png" /></div>
23 <div class="up"><a href="./"><img title="&lt;-" alt="&lt;-" src="../images/left.gif" /></a></div>
24 <div id="path">
25 <a href="http://www.apache.org/">Apache</a> &gt; <a href="http://httpd.apache.org/">Serveur HTTP</a> &gt; <a href="http://httpd.apache.org/docs/">Documentation</a> &gt; <a href="../">Version 2.4</a> &gt; <a href="./">Modules</a></div>
26 <div id="page-content">
27 <div id="preamble"><h1>Module Apache mod_xml2enc</h1>
28 <div class="toplang">
29 <p><span>Langues Disponibles: </span><a href="../en/mod/mod_xml2enc.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
30 <a href="../fr/mod/mod_xml2enc.html" title="Français">&nbsp;fr&nbsp;</a></p>
31 </div>
32 <table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Support avancé de l'internationalisation et des jeux de
33 caractères pour les modules de filtrage basés sur libxml2</td></tr>
34 <tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Base</td></tr>
35 <tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>xml2enc_module</td></tr>
36 <tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_xml2enc.c</td></tr>
37 <tr><th><a href="module-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.4 du serveur HTTP Apache.
38 Disponible en tant que module tiers dans les versions 2.2.x</td></tr></table>
39 <h3>Sommaire</h3>
40
41     <p>Ce module fournit un support avancé de l'internationalisation
42     pour les modules de filtrage supportant les balises (markup-aware)
43     comme <code class="module"><a href="../mod/mod_proxy_html.html">mod_proxy_html</a></code>. Il est capable de détecter
44     automatiquement l'encodage des données en entrée et de s'assurer
45     qu'elle sont traitées correctement par l'interpréteur <a href="http://xmlsoft.org/">libxml2</a>, y compris la conversion en
46     Unicode (UTF-8) si nécessaire. Il peut aussi convertir les données
47     dans l'encodage de votre choix après le traitement des balises, et
48     s'assurera que le <var>jeu de caractères</var> approprié sera défini
49     dans l'en-tête HTTP <var>Content-Type</var>.</p>
50 </div>
51 <div id="quickview"><h3>Sujets</h3>
52 <ul id="topics">
53 <li><img alt="" src="../images/down.gif" /> <a href="#usage">Utilisation</a></li>
54 <li><img alt="" src="../images/down.gif" /> <a href="#api">API de programmation</a></li>
55 <li><img alt="" src="../images/down.gif" /> <a href="#sniffing">Détection et encodage</a></li>
56 <li><img alt="" src="../images/down.gif" /> <a href="#output">Codage en sortie</a></li>
57 <li><img alt="" src="../images/down.gif" /> <a href="#alias">Codages non supportés</a></li>
58 </ul><h3 class="directives">Directives</h3>
59 <ul id="toc">
60 <li><img alt="" src="../images/down.gif" /> <a href="#xml2encalias">xml2EncAlias</a></li>
61 <li><img alt="" src="../images/down.gif" /> <a href="#xml2encdefault">xml2EncDefault</a></li>
62 <li><img alt="" src="../images/down.gif" /> <a href="#xml2startparse">xml2StartParse</a></li>
63 </ul>
64 <h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&amp;list_id=144532&amp;product=Apache%20httpd-2&amp;query_format=specific&amp;order=changeddate%20DESC%2Cpriority%2Cbug_severity&amp;component=mod_xml2enc">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&amp;component=mod_xml2enc">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
65 <ul class="seealso">
66 <li><a href="#comments_section">Commentaires</a></li></ul></div>
67 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
68 <div class="section">
69 <h2><a name="usage" id="usage">Utilisation</a></h2>
70     <p>Il existe deux scénarios d'utilisation : le cas des modules
71     programmés pour travailler avec mod_xml2enc ; et les autres :</p>
72     <dl>
73     <dt>Modules de filtrages programmés pour mod_xml2enc</dt><dd>
74     <p>Les modules comme <code class="module"><a href="../mod/mod_proxy_html.html">mod_proxy_html</a></code> versions 3.1 et
75     supérieures utilisent la fonction optionnelle
76     <code>xml2enc_charset</code> pour déterminer la valeur de l'argument
77     "jeu de caractères" à transmettre à l'interpréteur libxml2, et
78     disposent de la fonction optionnelle <code>xml2enc_filter</code>
79     pour effectuer un encodage ultérieur éventuel. L'utilisation de
80     mod_xml2enc avec un module préprogrammé à cet effet ne nécessite
81     aucune configuration : ce dernier configurera mod_xml2enc pour vous
82     (sachant que vous pouvez tout de même le personnaliser via les
83     directives de configuration ci-dessous).</p>
84     </dd>
85     <dt>Modules de filtrages non programmés pour mod_xml2enc</dt><dd>
86     <p>Pour utiliser mod_xml2enc avec un module basé sur libxml2 qui n'a
87     pas été explicitement programmé pour mod_xml2enc, vous devrez
88     configurer la chaîne de filtrage vous-même. Ainsi, pour utiliser
89     mod_xml2enc avec un filtre <strong>foo</strong> fourni par un module
90     <strong>mod_foo</strong> et pour
91     améliorer le support i18n de ce dernier avec HTML et XML, vous
92     pouvez utiliser les directives suivantes :</p>
93     <pre><code>
94     FilterProvider iconv    xml2enc Content-Type $text/html
95     FilterProvider iconv    xml2enc Content-Type $xml
96     FilterProvider markup   foo Content-Type $text/html
97     FilterProvider markup   foo Content-Type $xml
98     FilterChain     iconv markup
99     </code></pre>
100     <p><strong>mod_foo</strong> supportera alors tout jeu de caractère supporté soit par
101     libxml2, soit par apr_xlate/iconv, soit par les deux.</p>
102     </dd></dl>
103 </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
104 <div class="section">
105 <h2><a name="api" id="api">API de programmation</a></h2>
106     <p>Les programmeurs de modules de filtrage basés sur libxml2 sont
107     encouragés à les préprogrammer pour mod_xml2enc, afin de fournir un
108     support i18n solide aux utilisateurs sans avoir à réinventer la
109     roue. L'API de programmation est décrite dans
110     <var>mod_xml2enc.h</var>, et <code class="module"><a href="../mod/mod_proxy_html.html">mod_proxy_html</a></code> est un
111     exemple de son utilisation.</p>
112 </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
113 <div class="section">
114 <h2><a name="sniffing" id="sniffing">Détection et encodage</a></h2>
115     <p>A la différence de <code class="module"><a href="../mod/mod_charset_lite.html">mod_charset_lite</a></code>, mod_xml2enc
116     est conçu pour travailler avec des données dont l'encodage ne peut
117     pas être connu, et donc configuré, à l'avance. Il utilise donc les
118     techniques de 'reniflage' suivantes pour détecter le type d'encodage
119     des données HTTP :</p>
120     <ol>
121         <li>Si l'en-tête HTTP <var>Content-Type</var> contient un
122         paramètre <var>charset</var>, c'est ce dernier qui sera utilisé.</li>
123         <li>Si les données commancent par une balise XML concernant
124         l'ordre des octets (BOM) ou par une déclaration d'encodage XML,
125         c'est celle-ci qui sera utilisée.</li>
126         <li>Si un type d'encodage est déclaré dans un élément HTML
127         <code>&lt;META&gt;</code>, c'est ce dernier qui sera utilisé.</li>
128         <li>Si aucun des éléments précédents n'est trouvé, c'est la
129         valeur par défaut définie par la directive
130         <code class="directive">xml2EncDefault</code> qui sera utilisée.</li>
131     </ol>
132     <p>Les conditions sont testées dans cet ordre . Dès qu'une règle
133     s'applique, elle est utilisée et la détection est terminée.</p>
134 </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
135 <div class="section">
136 <h2><a name="output" id="output">Codage en sortie</a></h2>
137 <p><a href="http://xmlsoft.org/">libxml2</a> utilise toujours UTF-8
138 (Unicode) en interne, et les modules de filtrage basés sur libxml2
139 utiliseront cet encodage en sortie par défaut. mod_xml2enc peut modifier
140 l'encodage en sortie via l'API, mais il n'y a actuellement aucun moyen de le
141 configurer directement.</p>
142 <p>La modification de l'encodage en sortie ne devrait (du moins en théorie)
143 jamais être nécessaire, et est même déconseillée à cause de la charge de
144 traitement supplémentaire imposée au serveur par une conversion non
145 nécessaire.</p>
146 </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
147 <div class="section">
148 <h2><a name="alias" id="alias">Codages non supportés</a></h2>
149 <p>Si vous travaillez avec des encodages non supportés par aucune des
150 méthodes de conversion disponibles sur votre plateforme, vous pouvez
151 tout de même leur associer un alias vers un code supporté via la
152 directive <code class="directive">xml2EncAlias</code>.</p>
153 </div>
154 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
155 <div class="directive-section"><h2><a name="xml2encalias" id="xml2encalias">Directive</a> <a name="xml2EncAlias" id="xml2EncAlias">xml2EncAlias</a></h2>
156 <table class="directive">
157 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit des alias pour les valeurs d'encodage</td></tr>
158 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>xml2EncAlias <var>jeu-de-caractères alias [alias ...]</var></code></td></tr>
159 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur</td></tr>
160 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr>
161 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_xml2enc</td></tr>
162 </table>
163     <p>Cette directive de niveau serveur permet de définir un ou
164     plusieurs alias pour un encodage. Elle permet au support d'encodage de
165     libxml2 de traiter en interne des encodages non reconnus par libxml2
166     en utilisant la table de conversion pour un encodage reconnu. Elle
167     permet d'atteindre deux objectifs : supporter des jeux (ou noms) de
168     caractères non reconnus par libxml2 ou iconv, et éviter une
169     conversion pour un encodage lorsque cela n'est pas nécessaire.</p>
170
171 </div>
172 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
173 <div class="directive-section"><h2><a name="xml2encdefault" id="xml2encdefault">Directive</a> <a name="xml2EncDefault" id="xml2EncDefault">xml2EncDefault</a></h2>
174 <table class="directive">
175 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit un encodage par défaut à utiliser lorsqu'aucune
176 information ne peut être <a href="#sniffing">automatiquement détectée</a></td></tr>
177 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>xml2EncDefault <var>nom</var></code></td></tr>
178 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
179 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr>
180 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_xml2enc</td></tr>
181 <tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.4.0 du serveur HTTP Apache
182 ; disponible depuis un module tiers dans les versions antérieures.</td></tr>
183 </table>
184     <p>Si vous traitez des données dont l'encodage est connu, mais ne
185     contenant aucune information à propos de ce dernier, vous pouvez
186     définir une valeur par défaut afin d'aider mod_xml2enc à traiter
187     correctement les données. Par exemple, pour définir la valeur par
188     défaut Latin1 (<var>iso-8859-1</var> specifiée dans HTTP/1.0),
189     utilisez :</p>
190     <pre class="prettyprint lang-config">xml2EncDefault iso-8859-1</pre>
191
192
193 </div>
194 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
195 <div class="directive-section"><h2><a name="xml2startparse" id="xml2startparse">Directive</a> <a name="xml2StartParse" id="xml2StartParse">xml2StartParse</a></h2>
196 <table class="directive">
197 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Indique à l'interpréteur à partir de quelle balise il doit
198 commencer son traitement.</td></tr>
199 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>xml2StartParse <var>élément [élément ...]</var></code></td></tr>
200 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
201 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr>
202 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_xml2enc</td></tr>
203 </table>
204     <p>Cette directive permet de spécifier à partir de quelle balise,
205     parmi les éléments spécifiés, l'interpréteur de balise doit
206     commencer son traitement. Ccei permet de contourner le problème des
207     serveurs d'arrière-plan qui insèrent des éléments non conformes en
208     début de données, ce qui a pour effet de perturber l'interpréteur (<a href="http://bahumbug.wordpress.com/2006/10/12/mod_proxy_html-revisited/">voir un exemple ici</a>).</p>
209     <p>Elle ne doit être utilisée ni pour les documents XML, ni pour les
210     documents HTML correctement formatés.</p>
211
212 </div>
213 </div>
214 <div class="bottomlang">
215 <p><span>Langues Disponibles: </span><a href="../en/mod/mod_xml2enc.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
216 <a href="../fr/mod/mod_xml2enc.html" title="Français">&nbsp;fr&nbsp;</a></p>
217 </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&amp;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>
218 <script type="text/javascript"><!--//--><![CDATA[//><!--
219 var comments_shortname = 'httpd';
220 var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_xml2enc.html';
221 (function(w, d) {
222     if (w.location.hostname.toLowerCase() == "httpd.apache.org") {
223         d.write('<div id="comments_thread"><\/div>');
224         var s = d.createElement('script');
225         s.type = 'text/javascript';
226         s.async = true;
227         s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier;
228         (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s);
229     }
230     else { 
231         d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>');
232     }
233 })(window, document);
234 //--><!]]></script></div><div id="footer">
235 <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>
236 <p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.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[//><!--
237 if (typeof(prettyPrint) !== 'undefined') {
238     prettyPrint();
239 }
240 //--><!]]></script>
241 </body></html>