]> granicus.if.org Git - apache/blob - docs/manual/mod/mod_negotiation.html.fr
ye gods what have I done
[apache] / docs / manual / mod / mod_negotiation.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         XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
5               This file is generated from xml source: DO NOT EDIT
6         XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
7       -->
8 <title>mod_negotiation - Serveur Apache HTTP</title>
9 <link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
10 <link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
11 <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" />
12 <script src="../style/scripts/prettify.js" type="text/javascript">
13 </script>
14
15 <link href="../images/favicon.ico" rel="shortcut icon" /></head>
16 <body>
17 <div id="page-header">
18 <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>
19 <p class="apache">Serveur Apache HTTP Version 2.5</p>
20 <img alt="" src="../images/feather.gif" /></div>
21 <div class="up"><a href="./"><img title="&lt;-" alt="&lt;-" src="../images/left.gif" /></a></div>
22 <div id="path">
23 <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.5</a> &gt; <a href="./">Modules</a></div>
24 <div id="page-content">
25 <div id="preamble"><h1>Module Apache mod_negotiation</h1>
26 <div class="toplang">
27 <p><span>Langues Disponibles: </span><a href="../en/mod/mod_negotiation.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
28 <a href="../fr/mod/mod_negotiation.html" title="Français">&nbsp;fr&nbsp;</a> |
29 <a href="../ja/mod/mod_negotiation.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a></p>
30 </div>
31 <table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Effectue la <a href="../content-negotiation.html">négociation de
32 contenu</a></td></tr>
33 <tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Base</td></tr>
34 <tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>negotiation_module</td></tr>
35 <tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_negotiation.c</td></tr></table>
36 <h3>Sommaire</h3>
37
38     <p>La négociation de contenu, ou plus précisément la sélection de
39     contenu, est la sélection parmi plusieurs documents disponibles, du
40     document qui "colle" au plus près des possibilités du client. Pour y
41     parvenir, deux méthodes sont employées.</p>
42
43     <ul>
44       <li>Une table de correspondances de types (un fichier associé au
45       gestionnaire <code>type-map</code>) qui contient une liste
46       explicite des fichiers contenant les différentes variantes.</li>
47
48       <li>Une recherche multivues (Multiviews) (activée par l'<code class="directive"><a href="../mod/core.html#options">Options</a></code> <code>Multiviews</code>), où le
49       serveur effectue une recherche de correspondance de modèle de nom
50       de fichier implicite, et fait son choix parmi les résultats.</li>
51     </ul>
52 </div>
53 <div id="quickview"><h3 class="directives">Directives</h3>
54 <ul id="toc">
55 <li><img alt="" src="../images/down.gif" /> <a href="#cachenegotiateddocs">CacheNegotiatedDocs</a></li>
56 <li><img alt="" src="../images/down.gif" /> <a href="#forcelanguagepriority">ForceLanguagePriority</a></li>
57 <li><img alt="" src="../images/down.gif" /> <a href="#languagepriority">LanguagePriority</a></li>
58 </ul>
59 <h3>Sujets</h3>
60 <ul id="topics">
61 <li><img alt="" src="../images/down.gif" /> <a href="#typemaps">Tables de correspondances de types</a></li>
62 <li><img alt="" src="../images/down.gif" /> <a href="#multiviews">Multivues</a></li>
63 </ul><h3>Voir aussi</h3>
64 <ul class="seealso">
65 <li><code class="directive"><a href="../mod/core.html#options">Options</a></code></li>
66 <li><code class="module"><a href="../mod/mod_mime.html">mod_mime</a></code></li>
67 <li><a href="../content-negotiation.html">Négociation de
68 contenu</a></li>
69 <li><a href="../env.html">Variables d'environnement</a></li>
70 </ul><ul class="seealso"><li><a href="#comments_section">Commentaires</a></li></ul></div>
71 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
72 <div class="section">
73 <h2><a name="typemaps" id="typemaps">Tables de correspondances de types</a></h2>
74     <p>Une table de correspondances de types possède un format similaire
75     à celui des en-têtes de messagerie RFC822. Elle contient des
76     descriptions de documents séparées par des lignes vides, toute ligne
77     commençant par un dièse ('#') étant considérée comme un
78     commentaire. Une description de document comporte plusieurs
79     enregistrements d'en-têtes ; chaque enregistrement peut être réparti
80     sur plusieurs lignes à condition que les lignes supplémentaires
81     commencent par un ou plusieurs espaces. Lors du traitement, les
82     espaces de début de ligne seront supprimés et les lignes
83     concaténées. L'enregistrement d'un en-tête comprend un mot-clé qui
84     se termine toujours par un caractère "deux-points" ':', suivi d'une
85     valeur. Les espaces sont autorisés entre le nom d'en-tête et sa
86     valeur, ainsi qu'entre les différents éléments de la valeur. Les
87     en-têtes autorisés sont :</p>
88
89     <dl>
90       <dt><code>Content-Encoding:</code></dt>
91       <dd>Le codage du fichier. Apache ne reconnaît que les codages
92       définis par une directive <code class="directive"><a href="../mod/mod_mime.html#addencoding">AddEncoding</a></code>. Sont normalement inclus
93       les codages <code>x-compress</code> pour les fichiers compressés
94       avec compress, et <code>x-gzip</code> pour les fichiers compressés
95       avec gzip. Le préfixe <code>x-</code> est ignoré lors des
96       comparaisons de codages.</dd>
97
98       <dt><code>Content-Language:</code></dt>
99       <dd>Le(s) langage(s) de la variante, sous la forme d'un symbole de
100       langage Internet standard (<a href="http://www.ietf.org/rfc/rfc1766.txt">RFC 1766</a>). Par
101       exemple, <code>en</code> correspond à l'anglais. Si la variante
102       contient plusieurs langages, ils sont séparés par des
103       virgules.</dd>
104
105       <dt><code>Content-Length:</code></dt>
106       <dd>La taille du fichier en octets. Si cet en-tête n'est pas
107       présent, c'est la taille réelle du fichier qui est utilisée.</dd>
108
109       <dt><code>Content-Type:</code></dt>
110
111       <dd>
112         Le <a class="glossarylink" href="../glossary.html#mime-type" title="voir glossaire">type MIME</a> du document
113         avec des paramètres optionnels. Les paramètres sont séparés du
114         type de médium ainsi qu'entre eux par un point-virgule, et
115         possèdent la syntaxe <code>nom=valeur</code>. Les paramètres
116         courants sont :
117
118         <dl>
119           <dt><code>level</code></dt>
120           <dd>un entier spécifiant la version du type de média. Pour
121           <code>text/html</code>, la valeur par défaut est 2, sinon
122           0.</dd>
123
124           <dt><code>qs</code></dt>
125           <dd>un nombre en virgule flottante de 0[.000] à 1[.000], indiquant la
126           "qualité" relative de la variante courante par rapport aux
127           autres variantes disponibles, indépendamment des possibilités
128           du client. Par exemple, un fichier jpeg est en général une
129           source de qualité supérieure à un fichier ascii s'il est censé
130           représenter une image. Cependant, si la ressource représentée
131           est une image ascii, un fichier ascii possèdera une qualité
132           supérieure à un fichier jpeg. Toutes les valeurs de
133           <code>qs</code> sont donc spécifiques à une certaine
134           ressource.</dd>
135         </dl>
136
137         <div class="example"><h3>Exemple</h3><p><code>
138           Content-Type: image/jpeg; qs=0.8
139         </code></p></div>
140       </dd>
141
142       <dt><code>URI:</code></dt>
143       <dd>l'URI du fichier contenant la variante (du type de médium
144       donné, codé selon le codage de contenu donné). Cet URI est
145       considéré comme relatif au fichier de correspondances ; il doit
146       être situé sur le même serveur, et doit faire référence au
147       fichier auquel le client se verrait accorder l'accès s'il était
148       requis directement.</dd>
149
150       <dt><code>Body:</code></dt>
151       <dd>Le contenu réel de la ressource
152       peut être inclus dans la table de correspondances en utilisant
153       l'en-tête Body. Cet en-tête doit contenir une chaîne désignant un
154       délimiteur pour le contenu du corps. Les lignes suivantes du
155       fichier de correspondances de types seront alors considérées comme
156       parties du corps de la ressource jusqu'à ce que le délimiteur soit
157       détecté.
158
159       <div class="example"><h3>Exemple:</h3><p><code>
160         Body:----xyz----<br />
161         &lt;html&gt;<br />
162         &lt;body&gt;<br />
163         &lt;p&gt;Contenu de la page.&lt;/p&gt;<br />
164         &lt;/body&gt;<br />
165         &lt;/html&gt;<br />
166         ----xyz----
167       </code></p></div>
168       </dd>
169     </dl>
170
171     <p>Considérons une ressource, <code>document.html</code>, disponible
172     en anglais, en français et en allemand. Les fichiers correspondants
173     se nomment respectivement <code>document.html.en</code>,
174     <code>document.html.fr</code>, et <code>document.html.de</code>. Le
175     fichier de correspondances de types se nommera
176     <code>document.html.var</code> et contiendra ce qui suit :</p>
177
178     <div class="example"><p><code>
179     URI: document.html<br />
180     <br />
181     Content-language: en<br />
182     Content-type: text/html<br />
183     URI: document.html.en<br />
184     <br />
185     Content-language: fr<br />
186     Content-type: text/html<br />
187     URI: document.html.fr<br />
188     <br />
189     Content-language: de<br />
190     Content-type: text/html<br />
191     URI: document.html.de<br />
192     <br />
193
194     </code></p></div>
195
196     <p>Ces quatre fichiers doivent se trouver dans le même répertoire,
197     et le fichier <code>.var</code> doit être associé au gestionnaire
198     <code>type-map</code> via une directive <code class="directive"><a href="../mod/mod_mime.html#addhandler">AddHandler</a></code> :</p>
199
200     <pre class="prettyprint lang-config">
201     AddHandler type-map .var
202     </pre>
203
204
205     <p>A l'arrivée d'une requête pour la ressource
206     <code>document.html</code>, le fichier
207     <code>document.html.var</code> sera consulté, et la variante de
208     <code>document.html</code> qui correspond le mieux à la préference
209     de langage spécifiée dans l'en-tête de la requête de l'utilisateur
210     <code>Accept-Language</code> sera choisie.</p>
211 </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
212 <div class="section">
213 <h2><a name="multiviews" id="multiviews">Multivues</a></h2>
214     <p>Une recherche Multivues est activée par l'<code class="directive"><a href="../mod/core.html#options">Options</a></code> <code>Multiviews</code>. Si le
215     serveur reçoit une requête pour <code>/un/répertoire/foo</code>, et
216     si <code>/un/répertoire/foo</code> n'existe pas, le serveur parcourt
217     le répertoire à la recherche de tous les fichiers de nom
218     <code>foo.*</code>, et simule véritablement une correspondance de
219     type qui nomme tous ces fichiers en leur assignant les mêmes type
220     de média et codage de contenu qu'ils auraient eus si le client avait
221     requis l'un d'entre eux avec son nom complet. Il choisit ensuite le
222     fichier qui correspond le mieux au profile du client, puis renvoie
223     le document.</p>
224
225     <p>La directive <code class="directive"><a href="../mod/mod_mime.html#multiviewsmatch">MultiviewsMatch</a></code> définit si Apache doit
226     prendre en compte les fichiers qui ne comportent pas de métadonnées
227     de négociation de contenu lors du choix du fichier à servir.</p>
228 </div>
229 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
230 <div class="directive-section"><h2><a name="CacheNegotiatedDocs" id="CacheNegotiatedDocs">CacheNegotiatedDocs</a> <a name="cachenegotiateddocs" id="cachenegotiateddocs">Directive</a></h2>
231 <table class="directive">
232 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Permet la mise en cache au niveau des serveurs mandataires
233 des documents dont le contenu a été négocié</td></tr>
234 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CacheNegotiatedDocs On|Off</code></td></tr>
235 <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>CacheNegotiatedDocs Off</code></td></tr>
236 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
237 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr>
238 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_negotiation</td></tr>
239 </table>
240     <p>Si elle est définie à "on", cette directive permet la mise en
241     cache au niveau des serveurs mandataires des documents dont le
242     contenu a été négocié. Le processus de mise en cache sera alors plus
243     efficace, mais des clients se trouvant derrière le mandataire
244     seront alors susceptibles de se voir servir des versions de
245     documents qui ne correspondent pas forcément à leurs attentes.</p>
246
247     <p>Cette directive ne s'applique qu'aux requêtes en provenance de
248     navigateurs HTTP/1.0. HTTP/1.1 fournit un bien meilleur contrôle de
249     la mise en cache des documents au contenu négocié, et cette
250     directive n'a aucun effet sur les réponses aux requêtes
251     HTTP/1.1.</p>
252
253
254 </div>
255 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
256 <div class="directive-section"><h2><a name="ForceLanguagePriority" id="ForceLanguagePriority">ForceLanguagePriority</a> <a name="forcelanguagepriority" id="forcelanguagepriority">Directive</a></h2>
257 <table class="directive">
258 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Action à entreprendre si un document acceptable unique
259 n'est pas trouvé</td></tr>
260 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ForceLanguagePriority None|Prefer|Fallback [Prefer|Fallback]</code></td></tr>
261 <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ForceLanguagePriority Prefer</code></td></tr>
262 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
263 <tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>FileInfo</td></tr>
264 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr>
265 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_negotiation</td></tr>
266 </table>
267     <p>La directive <code class="directive">ForceLanguagePriority</code> utilise
268     le langage défini par la directive <code class="directive"><a href="#languagepriority">LanguagePriority</a></code> pour terminer
269     la négociation lorsque le serveur n'est pas en mesure de trouver une
270     solution satisfaisante unique.</p>
271
272     <p><code>ForceLanguagePriority Prefer</code> utilise la directive
273     <code>LanguagePriority</code> pour servir le résultat d'un choix
274     unique, au lieu de renvoyer un résultat HTTP 300 (MULTIPLE CHOICES),
275     lorsque que plusieurs choix équivalents sont disponibles. Par
276     exemple, avec les deux directives ci-dessous, si l'en-tête
277     <code>Accept-Language</code> de l'utilisateur assigne à
278     <code>en</code> et <code>de</code> une qualité de <code>.500</code>
279     (les deux langages sont également acceptables), alors c'est la
280     première variante acceptable de langue <code>en</code> qui sera
281     servie.</p>
282
283     <pre class="prettyprint lang-config">
284 LanguagePriority en fr de
285 ForceLanguagePriority Prefer
286     </pre>
287
288
289     <p><code>ForceLanguagePriority Fallback</code> utilise la directive
290     <code class="directive"><a href="#languagepriority">LanguagePriority</a></code>
291     pour servir un résultat valide, au lieu de renvoyer un résultat HTTP
292     406 (NOT ACCEPTABLE). Avec les deux directives ci-dessous, si
293     l'en-tête <code>Accept-Language</code> de l'utilisateur ne mentionne
294     que les réponses de langage <code>es</code>, et si aucune variante
295     dans cette langue n'est trouvée, c'est la première variante de la
296     liste définie par la directive <code class="directive"><a href="#languagepriority">LanguagePriority</a></code> qui sera servie.</p>
297
298     <pre class="prettyprint lang-config">
299 LanguagePriority en fr de
300 ForceLanguagePriority Fallback
301     </pre>
302
303
304     <p>Les deux options, <code>Prefer</code> et <code>Fallback</code>,
305     peuvent être spécifiées, de façon à ce que la variante servie soit
306     la première variante qui convient définie par la directive
307     <code class="directive"><a href="#languagepriority">LanguagePriority</a></code> si
308     plusieurs variantes sont également acceptables, ou le premier
309     document disponible si aucune variante ne convient à la liste de
310     langages acceptables fournie par le client.</p>
311
312 <h3>Voir aussi</h3>
313 <ul>
314 <li><code class="directive"><a href="../mod/mod_mime.html#addlanguage">AddLanguage</a></code></li>
315 </ul>
316 </div>
317 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
318 <div class="directive-section"><h2><a name="LanguagePriority" id="LanguagePriority">LanguagePriority</a> <a name="languagepriority" id="languagepriority">Directive</a></h2>
319 <table class="directive">
320 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>L'ordre de priorité des variantes de langages pour les
321 cas où le client n'a pas formulé de préférences</td></tr>
322 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>LanguagePriority <var>langage-MIME</var> [<var>langage-MIME</var>]
323 ...</code></td></tr>
324 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
325 <tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>FileInfo</td></tr>
326 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr>
327 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_negotiation</td></tr>
328 </table>
329     <p>La directive <code class="directive">LanguagePriority</code> permet de
330     définir, au cours du traitement d'une requête Multivues, l'ordre de
331     priorité des variantes de langages pour les cas
332     où le client n'a pas formulé de préférences. La liste énumère les
333     <var>langages-MIME</var> dans un ordre de préférences
334     décroissantes.</p>
335
336     <pre class="prettyprint lang-config">
337       LanguagePriority en fr de
338     </pre>
339
340
341     <p>Dans le cas d'une requête pour <code>foo.html</code>, si
342     <code>foo.html.fr</code> et <code>foo.html.de</code> existent, et si
343     le client n'a pas formulé de préférences, c'est le fichier
344     <code>foo.html.fr</code> qui sera renvoyé.</p>
345
346     <p>Notez que cette directive n'a d'effet que si le 'meilleur'
347     langage n'a pas pu être déterminé d'une autre manière ou si la
348     valeur de la directive  <code class="directive"><a href="#forcelanguagepriority">ForceLanguagePriority</a></code> est
349     différente de <code>None</code>. En général, c'est le client qui
350     détermine le langage préféré, non le serveur.</p>
351
352 <h3>Voir aussi</h3>
353 <ul>
354 <li><code class="directive"><a href="../mod/mod_mime.html#addlanguage">AddLanguage</a></code></li>
355 </ul>
356 </div>
357 </div>
358 <div class="bottomlang">
359 <p><span>Langues Disponibles: </span><a href="../en/mod/mod_negotiation.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
360 <a href="../fr/mod/mod_negotiation.html" title="Français">&nbsp;fr&nbsp;</a> |
361 <a href="../ja/mod/mod_negotiation.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a></p>
362 </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>
363 <script type="text/javascript"><!--//--><![CDATA[//><!--
364 var comments_shortname = 'httpd';
365 var comments_identifier = 'http://httpd.apache.org/docs/trunk/mod/mod_negotiation.html';
366 (function(w, d) {
367     if (w.location.hostname.toLowerCase() == "httpd.apache.org") {
368         d.write('<div id="comments_thread"><\/div>');
369         var s = d.createElement('script');
370         s.type = 'text/javascript';
371         s.async = true;
372         s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier;
373         (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s);
374     }
375     else {
376         d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>');
377     }
378 })(window, document);
379 //--><!]]></script></div><div id="footer">
380 <p class="apache">Copyright 2013 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
381 <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[//><!--
382 if (typeof(prettyPrint) !== 'undefined') {
383     prettyPrint();
384 }
385 //--><!]]></script>
386 </body></html>