mod_negotiation.html.fr revision 564ee5b847469eb8a61120179ce70a0213965785
<?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><!--
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
This file is generated from xml source: DO NOT EDIT
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-->
<title>mod_negotiation - 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.gif" /></div>
<div class="up"><a href="./"><img title="&lt;-" alt="&lt;-" src="/images/left.gif" /></a></div>
<div id="path">
<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>
<div id="page-content">
<div id="preamble"><h1>Module Apache mod_negotiation</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="/en/mod/mod_negotiation.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
<a href="/fr/mod/mod_negotiation.html" title="Fran�ais">&nbsp;fr&nbsp;</a> |
<a href="/ja/mod/mod_negotiation.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a></p>
</div>
<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
contenu</a></td></tr>
<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Base</td></tr>
<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur�de�Module:</a></th><td>negotiation_module</td></tr>
<tr><th><a href="module-dict.html#SourceFile">Fichier�Source:</a></th><td>mod_negotiation.c</td></tr></table>
<h3>Sommaire</h3>
<p>La n�gociation de contenu, ou plus pr�cis�ment la s�lection de
contenu, est la s�lection parmi plusieurs documents disponibles, du
document qui "colle" au plus pr�s des possibilit�s du client. Pour y
parvenir, deux m�thodes sont employ�es.</p>
<ul>
<li>Une table de correspondances de types (un fichier associ� au
gestionnaire <code>type-map</code>) qui contient une liste
explicite des fichiers contenant les diff�rentes variantes.</li>
<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
serveur effectue une recherche de correspondance de mod�le de nom
de fichier implicite, et fait son choix parmi les r�sultats.</li>
</ul>
</div>
<div id="quickview"><h3 class="directives">Directives</h3>
<ul id="toc">
<li><img alt="" src="/images/down.gif" /> <a href="#cachenegotiateddocs">CacheNegotiatedDocs</a></li>
<li><img alt="" src="/images/down.gif" /> <a href="#forcelanguagepriority">ForceLanguagePriority</a></li>
<li><img alt="" src="/images/down.gif" /> <a href="#languagepriority">LanguagePriority</a></li>
</ul>
<h3>Sujets</h3>
<ul id="topics">
<li><img alt="" src="/images/down.gif" /> <a href="#typemaps">Tables de correspondances de types</a></li>
<li><img alt="" src="/images/down.gif" /> <a href="#multiviews">Multivues</a></li>
</ul><h3>Voir aussi</h3>
<ul class="seealso">
<li><code class="directive"><a href="/mod/core.html#options">Options</a></code></li>
<li><code class="module"><a href="/mod/mod_mime.html">mod_mime</a></code></li>
<li><a href="/content-negotiation.html">N�gociation de
contenu</a></li>
<li><a href="/env.html">Variables d'environnement</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="directive-section"><h2><a name="cachenegotiateddocs" id="cachenegotiateddocs">Directive</a> <a name="CacheNegotiatedDocs" id="CacheNegotiatedDocs">CacheNegotiatedDocs</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Permet la mise en cache au niveau des serveurs mandataires
des documents dont le contenu a �t� n�goci�</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CacheNegotiatedDocs On|Off</code></td></tr>
<tr><th><a href="directive-dict.html#Default">D�faut:</a></th><td><code>CacheNegotiatedDocs Off</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_negotiation</td></tr>
</table>
<p>Si elle est d�finie � "on", cette directive permet la mise en
cache au niveau des serveurs mandataires des documents dont le
contenu a �t� n�goci�. Le processus de mise en cache sera alors plus
efficace, mais des clients se trouvant derri�re le mandataire
seront alors susceptibles de se voir servir des versions de
documents qui ne correspondent pas forc�ment � leurs attentes.</p>
<p>Cette directive ne s'applique qu'aux requ�tes en provenance de
navigateurs HTTP/1.0. HTTP/1.1 fournit un bien meilleur contr�le de
la mise en cache des documents au contenu n�goci�, et cette
directive n'a aucun effet sur les r�ponses aux requ�tes
HTTP/1.1.</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="forcelanguagepriority" id="forcelanguagepriority">Directive</a> <a name="ForceLanguagePriority" id="ForceLanguagePriority">ForceLanguagePriority</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Action � entreprendre si un document acceptable unique
n'est pas trouv�</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ForceLanguagePriority None|Prefer|Fallback [Prefer|Fallback]</code></td></tr>
<tr><th><a href="directive-dict.html#Default">D�faut:</a></th><td><code>ForceLanguagePriority Prefer</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, r�pertoire, .htaccess</td></tr>
<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>FileInfo</td></tr>
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_negotiation</td></tr>
</table>
<p>La directive <code class="directive">ForceLanguagePriority</code> utilise
le langage d�fini par la directive <code class="directive"><a href="#languagepriority">LanguagePriority</a></code> pour terminer
la n�gociation lorsque le serveur n'est pas en mesure de trouver une
solution satisfaisante unique.</p>
<p><code>ForceLanguagePriority Prefer</code> utilise la directive
<code>LanguagePriority</code> pour servir le r�sultat d'un choix
unique, au lieu de renvoyer un r�sultat HTTP 300 (MULTIPLE CHOICES),
lorsque que plusieurs choix �quivalents sont disponibles. Par
exemple, avec les deux directives ci-dessous, si l'en-t�te
<code>Accept-Language</code> de l'utilisateur assigne �
<code>en</code> et <code>de</code> une qualit� de <code>.500</code>
(les deux langages sont �galement acceptables), alors c'est la
premi�re variante acceptable de langue <code>en</code> qui sera
servie.</p>
<pre class="prettyprint lang-config">LanguagePriority en fr de
ForceLanguagePriority Prefer</pre>
<p><code>ForceLanguagePriority Fallback</code> utilise la directive
<code class="directive"><a href="#languagepriority">LanguagePriority</a></code>
pour servir un r�sultat valide, au lieu de renvoyer un r�sultat HTTP
406 (NOT ACCEPTABLE). Avec les deux directives ci-dessous, si
l'en-t�te <code>Accept-Language</code> de l'utilisateur ne mentionne
que les r�ponses de langage <code>es</code>, et si aucune variante
dans cette langue n'est trouv�e, c'est la premi�re variante de la
liste d�finie par la directive <code class="directive"><a href="#languagepriority">LanguagePriority</a></code> qui sera servie.</p>
<pre class="prettyprint lang-config">LanguagePriority en fr de
ForceLanguagePriority Fallback</pre>
<p>Les deux options, <code>Prefer</code> et <code>Fallback</code>,
peuvent �tre sp�cifi�es, de fa�on � ce que la variante servie soit
la premi�re variante qui convient d�finie par la directive
<code class="directive"><a href="#languagepriority">LanguagePriority</a></code> si
plusieurs variantes sont �galement acceptables, ou le premier
document disponible si aucune variante ne convient � la liste de
langages acceptables fournie par le client.</p>
<h3>Voir aussi</h3>
<ul>
<li><code class="directive"><a href="/mod/mod_mime.html#addlanguage">AddLanguage</a></code></li>
</ul>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="languagepriority" id="languagepriority">Directive</a> <a name="LanguagePriority" id="LanguagePriority">LanguagePriority</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>L'ordre de priorit� des variantes de langages pour les
cas o� le client n'a pas formul� de pr�f�rences</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>LanguagePriority <var>langage-MIME</var> [<var>langage-MIME</var>]
...</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, r�pertoire, .htaccess</td></tr>
<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>FileInfo</td></tr>
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_negotiation</td></tr>
</table>
<p>La directive <code class="directive">LanguagePriority</code> permet de
d�finir, au cours du traitement d'une requ�te Multivues, l'ordre de
priorit� des variantes de langages pour les cas
o� le client n'a pas formul� de pr�f�rences. La liste �num�re les
<var>langages-MIME</var> dans un ordre de pr�f�rences
d�croissantes.</p>
<pre class="prettyprint lang-config">LanguagePriority en fr de</pre>
<p>Dans le cas d'une requ�te pour <code>foo.html</code>, si
<code>foo.html.fr</code> et <code>foo.html.de</code> existent, et si
le client n'a pas formul� de pr�f�rences, c'est le fichier
<code>foo.html.fr</code> qui sera renvoy�.</p>
<p>Notez que cette directive n'a d'effet que si le 'meilleur'
langage n'a pas pu �tre d�termin� d'une autre mani�re ou si la
valeur de la directive <code class="directive"><a href="#forcelanguagepriority">ForceLanguagePriority</a></code> est
diff�rente de <code>None</code>. En g�n�ral, c'est le client qui
d�termine le langage pr�f�r�, non le serveur.</p>
<h3>Voir aussi</h3>
<ul>
<li><code class="directive"><a href="/mod/mod_mime.html#addlanguage">AddLanguage</a></code></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="typemaps" id="typemaps">Tables de correspondances de types</a></h2>
<p>Une table de correspondances de types poss�de un format similaire
� celui des en-t�tes de messagerie RFC822. Elle contient des
descriptions de documents s�par�es par des lignes vides, toute ligne
commen�ant par un di�se ('#') �tant consid�r�e comme un
commentaire. Une description de document comporte plusieurs
enregistrements d'en-t�tes ; chaque enregistrement peut �tre r�parti
sur plusieurs lignes � condition que les lignes suppl�mentaires
commencent par un ou plusieurs espaces. Lors du traitement, les
espaces de d�but de ligne seront supprim�s et les lignes
concat�n�es. L'enregistrement d'un en-t�te comprend un mot-cl� qui
se termine toujours par un caract�re "deux-points" ':', suivi d'une
valeur. Les espaces sont autoris�s entre le nom d'en-t�te et sa
valeur, ainsi qu'entre les diff�rents �l�ments de la valeur. Les
en-t�tes autoris�s sont :</p>
<dl>
<dt><code>Content-Encoding:</code></dt>
<dd>Le codage du fichier. Apache ne reconna�t que les codages
d�finis par une directive <code class="directive"><a href="/mod/mod_mime.html#addencoding">AddEncoding</a></code>. Sont normalement inclus
les codages <code>x-compress</code> pour les fichiers compress�s
avec compress, et <code>x-gzip</code> pour les fichiers compress�s
avec gzip. Le pr�fixe <code>x-</code> est ignor� lors des
comparaisons de codages.</dd>
<dt><code>Content-Language:</code></dt>
<dd>Le(s) langage(s) de la variante, sous la forme d'un symbole de
langage Internet standard (<a href="http://www.ietf.org/rfc/rfc1766.txt">RFC 1766</a>). Par
exemple, <code>en</code> correspond � l'anglais. Si la variante
contient plusieurs langages, ils sont s�par�s par des
virgules.</dd>
<dt><code>Content-Length:</code></dt>
<dd>La taille du fichier en octets. Si cet en-t�te n'est pas
pr�sent, c'est la taille r�elle du fichier qui est utilis�e.</dd>
<dt><code>Content-Type:</code></dt>
<dd>
Le <a class="glossarylink" href="/glossary.html#mime-type" title="voir glossaire">type MIME</a> du document
avec des param�tres optionnels. Les param�tres sont s�par�s du
type de m�dium ainsi qu'entre eux par un point-virgule, et
poss�dent la syntaxe <code>nom=valeur</code>. Les param�tres
courants sont :
<dl>
<dt><code>level</code></dt>
<dd>un entier sp�cifiant la version du type de m�dia. Pour
<code>text/html</code>, la valeur par d�faut est 2, sinon
0.</dd>
<dt><code>qs</code></dt>
<dd>un nombre en virgule flottante de 0[.000] � 1[.000], indiquant la
"qualit�" relative de la variante courante par rapport aux
autres variantes disponibles, ind�pendamment des possibilit�s
du client. Par exemple, un fichier jpeg est en g�n�ral une
source de qualit� sup�rieure � un fichier ascii s'il est cens�
repr�senter une image. Cependant, si la ressource repr�sent�e
est une image ascii, un fichier ascii poss�dera une qualit�
sup�rieure � un fichier jpeg. Toutes les valeurs de
<code>qs</code> sont donc sp�cifiques � une certaine
ressource.</dd>
</dl>
<div class="example"><h3>Exemple</h3><p><code>
Content-Type: image/jpeg; qs=0.8
</code></p></div>
</dd>
<dt><code>URI:</code></dt>
<dd>l'URI du fichier contenant la variante (du type de m�dium
donn�, cod� selon le codage de contenu donn�). Cet URI est
consid�r� comme relatif au fichier de correspondances ; il doit
�tre situ� sur le m�me serveur, et doit faire r�f�rence au
fichier auquel le client se verrait accorder l'acc�s s'il �tait
requis directement.</dd>
<dt><code>Body:</code></dt>
<dd>Le contenu r�el de la ressource
peut �tre inclus dans la table de correspondances en utilisant
l'en-t�te Body. Cet en-t�te doit contenir une cha�ne d�signant un
d�limiteur pour le contenu du corps. Les lignes suivantes du
fichier de correspondances de types seront alors consid�r�es comme
parties du corps de la ressource jusqu'� ce que le d�limiteur soit
d�tect�.
<div class="example"><h3>Exemple:</h3><p><code>
Body:----xyz----<br />
&lt;html&gt;<br />
&lt;body&gt;<br />
&lt;p&gt;Contenu de la page.&lt;/p&gt;<br />
&lt;/body&gt;<br />
&lt;/html&gt;<br />
----xyz----
</code></p></div>
</dd>
</dl>
<p>Consid�rons une ressource, <code>document.html</code>, disponible
en anglais, en fran�ais et en allemand. Les fichiers correspondants
se nomment respectivement <code>document.html.en</code>,
<code>document.html.fr</code>, et <code>document.html.de</code>. Le
fichier de correspondances de types se nommera
<code>document.html.var</code> et contiendra ce qui suit :</p>
<div class="example"><p><code>
URI: document.html<br />
<br />
Content-language: en<br />
Content-type: text/html<br />
URI: document.html.en<br />
<br />
Content-language: fr<br />
Content-type: text/html<br />
URI: document.html.fr<br />
<br />
Content-language: de<br />
Content-type: text/html<br />
URI: document.html.de<br />
<br />
</code></p></div>
<p>Ces quatre fichiers doivent se trouver dans le m�me r�pertoire,
et le fichier <code>.var</code> doit �tre associ� au gestionnaire
<code>type-map</code> via une directive <code class="directive"><a href="/mod/mod_mime.html#addhandler">AddHandler</a></code> :</p>
<pre class="prettyprint lang-config">AddHandler type-map .var</pre>
<p>A l'arriv�e d'une requ�te pour la ressource
<code>document.html.var</code>, la variante de
<code>document.html</code> qui correspond le mieux � la pr�ference
de langage sp�cifi�e dans l'en-t�te de la requ�te de l'utilisateur
<code>Accept-Language</code> sera choisie.</p>
<p>Si <code>Multiviews</code> est activ�e, et si <code class="directive"><a href="/mod/mod_mime.html#multiviewsmatch">MultiviewsMatch</a></code> est d�finie �
"handlers" ou "any", une requ�te pour <code>document.html</code> va
rechercher <code>document.html.var</code>, et continuer la
n�gociation avec le gestionnaire explicite type-map.</p>
<p>D'autres directives de configuration, comme <code class="directive"><a href="/mod/mod_alias.html#alias">Alias</a></code>, peuvent �tre utilis�es pour
associer <code>document.html</code> avec
<code>document.html.var</code>.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div>
<div class="section">
<h2><a name="multiviews" id="multiviews">Multivues</a></h2>
<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
serveur re�oit une requ�te pour <code>/un/r�pertoire/foo</code>, et
si <code>/un/r�pertoire/foo</code> n'existe pas, le serveur parcourt
le r�pertoire � la recherche de tous les fichiers de nom
<code>foo.*</code>, et simule v�ritablement une correspondance de
type qui nomme tous ces fichiers en leur assignant les m�mes type
de m�dia et codage de contenu qu'ils auraient eus si le client avait
requis l'un d'entre eux avec son nom complet. Il choisit ensuite le
fichier qui correspond le mieux au profile du client, puis renvoie
le document.</p>
<p>La directive <code class="directive"><a href="/mod/mod_mime.html#multiviewsmatch">MultiviewsMatch</a></code> d�finit si Apache doit
prendre en compte les fichiers qui ne comportent pas de m�tadonn�es
de n�gociation de contenu lors du choix du fichier � servir.</p>
</div>
</div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="/en/mod/mod_negotiation.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
<a href="/fr/mod/mod_negotiation.html" title="Fran�ais">&nbsp;fr&nbsp;</a> |
<a href="/ja/mod/mod_negotiation.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</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&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>
<script type="text/javascript"><!--//--><![CDATA[//><!--
var comments_shortname = 'httpd';
var comments_identifier = 'http://httpd.apache.org/docs/trunk/mod/mod_negotiation.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 2015 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>