fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis<?xml version="1.0" encoding="ISO-8859-1" ?>
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis<!DOCTYPE manualpage SYSTEM "/style/manualpage.dtd">
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis<?xml-stylesheet type="text/xsl" href="/style/manual.fr.xsl"?>
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis<!-- French translation : Lucien GENTIS -->
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis<!-- Reviewed by : Vincent Deffontaines -->
5d01f40ffd657dd2ac567aacd93cabd162ddfa79coar<!-- English Revision: 1364312:1673932 (outdated) -->
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis<!--
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis Licensed to the Apache Software Foundation (ASF) under one or more
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis contributor license agreements. See the NOTICE file distributed with
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis this work for additional information regarding copyright ownership.
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis The ASF licenses this file to You under the Apache License, Version 2.0
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis (the "License"); you may not use this file except in compliance with
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis the License. You may obtain a copy of the License at
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis http://www.apache.org/licenses/LICENSE-2.0
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis Unless required by applicable law or agreed to in writing, software
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis distributed under the License is distributed on an "AS IS" BASIS,
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis See the License for the specific language governing permissions and
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis limitations under the License.
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis-->
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis<manualpage metafile="content-negotiation.xml.meta">
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis<title>N&eacute;gociation de contenu</title>
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis<summary>
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis <p>Apache HTTPD supporte la n&eacute;gociation de
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis contenu telle qu'elle est d&eacute;crite
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis dans la sp&eacute;cification HTTP/1.1. Il peut choisir la meilleure repr&eacute;sentation
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis d'une ressource en fonction des pr&eacute;f&eacute;rences du navigateur pour ce qui
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis concerne le type de media, les langages, le jeu de caract&egrave;res et son
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis encodage. Il impl&eacute;mente aussi quelques fonctionnalit&eacute;s pour traiter de
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis mani&egrave;re plus intelligente les requ&ecirc;tes en provenance de navigateurs qui
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis envoient des informations de n&eacute;gociation incompl&egrave;tes.</p>
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis <p>La n&eacute;gociation de contenu est assur&eacute;e par le module
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis <module>mod_negotiation</module> qui est compil&eacute; par d&eacute;faut
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis dans le serveur.</p>
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis</summary>
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis<section id="about"><title>&Agrave; propos de la n&eacute;gociation de contenu</title>
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis <p>Une ressource peut &ecirc;tre disponible selon diff&eacute;rentes repr&eacute;sentations.
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis Par exemple, elle peut &ecirc;tre disponible en diff&eacute;rents langages ou pour
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis diff&eacute;rents types de m&eacute;dia, ou une combinaison des deux.
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis Pour faire le meilleur choix, on peut fournir &agrave; l'utilisateur une page
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis d'index, et le laisser choisir. Cependant, le serveur peut souvent faire
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis ce choix automatiquement. Ceci est possible car les navigateurs peuvent
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis envoyer des informations sur les
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis repr&eacute;sentations qu'ils pr&eacute;f&egrave;rent &agrave; l'int&eacute;rieur de chaque requ&ecirc;te.
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis Par exemple, un navigateur peut indiquer
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis qu'il pr&eacute;f&egrave;re voir les informations en fran&ccedil;ais, mais qu'en cas
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis d'impossibilit&eacute; l'anglais peut convenir. Les navigateurs indiquent leurs
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis pr&eacute;f&eacute;rences &agrave; l'aide d'en-t&ecirc;tes dans la requ&ecirc;te. Pour ne demander que des
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis repr&eacute;sentations en fran&ccedil;ais, le navigateur peut utiliser l'en-t&ecirc;te :</p>
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis<example>Accept-Language: fr</example>
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis <p>Notez qu'il ne sera tenu compte de cette pr&eacute;f&eacute;rence que s'il existe un
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis choix de repr&eacute;sentations et que ces derni&egrave;res varient en fonction
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis du langage.</p>
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis <p>&Agrave; titre d'exemple d'une requ&ecirc;te plus complexe, ce navigateur a &eacute;t&eacute;
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis configur&eacute; pour accepter le fran&ccedil;ais et l'anglais, avec une pr&eacute;f&eacute;rence pour
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis le fran&ccedil;ais, et accepter diff&eacute;rents types de m&eacute;dia, avec une pr&eacute;f&eacute;rence
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis pour HTML par rapport &agrave; au texte plat ("plain text") ou autres types de fichiers texte, et
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis avec une pr&eacute;f&eacute;rence pour GIF ou JPEG par rapport &agrave; tout autre type de
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis m&eacute;dia, mais autorisant tout autre type de m&eacute;dia en dernier ressort :</p>
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis<example>
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis Accept-Language: fr; q=1.0, en; q=0.5<br />
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis Accept: text/html; q=1.0, text/*; q=0.8, image/gif; q=0.6, image/jpeg; q=0.6, image/*; q=0.5, */*; q=0.1
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis</example>
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis <p>httpd supporte la n&eacute;gociation de contenu "server driven" (telle qu'elle
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis est d&eacute;finie dans la sp&eacute;cification HTTP/1.1), o&ugrave; c'est le serveur qui
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis d&eacute;cide quelle est la meilleure repr&eacute;sentation &agrave; retourner pour la ressource
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis demand&eacute;e. Il supporte enti&egrave;rement les en-t&ecirc;tes de requ&ecirc;te
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis <code>Accept</code>, <code>Accept-Language</code>,
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis <code>Accept-Charset</code> et <code>Accept-Encoding</code>.
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis httpd supporte aussi la n&eacute;gociation de contenu transparente, qui est un
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis protocole de n&eacute;gociation exp&eacute;rimental d&eacute;fini dans les RFC 2295 et 2296.
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis Il ne supporte pas la n&eacute;gociation de fonctionnalit&eacute; (feature negotiation)
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis telle qu'elle est d&eacute;finie dans ces RFCs.</p>
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis <p>Une <strong>ressource</strong> est une entit&eacute; conceptuelle identifi&eacute;e
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis par une URI (RFC 2396). Un serveur HTTP comme le serveur HTTP Apache
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis propose l'acc&egrave;s &agrave; des
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis <strong>repr&eacute;sentations</strong> de la ressource &agrave; l'int&eacute;rieur de son
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis espace de nommage, chaque repr&eacute;sentation &eacute;tant compos&eacute;e d'une s&eacute;quence
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis d'octets avec la d&eacute;finition d'un type de media, d'un jeu de caract&egrave;res,
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis d'un encodage, etc... A un instant donn&eacute;, chaque ressource peut &ecirc;tre
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis associ&eacute;e avec z&eacute;ro, une ou plusieurs repr&eacute;sentations. Si plusieurs
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis repr&eacute;sentations sont disponibles, la ressource est qualifi&eacute;e de
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis <strong>n&eacute;gociable</strong> et chacune de ses repr&eacute;sentations se nomme
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis <strong>variante</strong>. Les diff&eacute;rences entre les
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis variantes disponibles d'une ressource n&eacute;gociable constituent les
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis <strong>dimensions</strong> de la n&eacute;gociation.</p>
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis</section>
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis<section id="negotiation"><title>La n&eacute;gociation avec httpd</title>
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis <p>Afin de n&eacute;gocier une ressource, on doit fournir au serveur des
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis informations &agrave; propos de chacune des variantes. Il y a deux mani&egrave;res
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis d'accomplir ceci :</p>
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis <ul>
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis <li>Utiliser une liste de correspondances de type ("type-map") (<em>c'est &agrave; dire</em>
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis un fichier <code>*.var</code>) qui nomme explicitement les fichiers
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis contenant les variantes, ou</li>
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis <li>Utiliser une recherche "multivues", o&ugrave; le serveur effectue une
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis recherche de correspondance sur un motif de nom de fichier implicite et
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis fait son choix parmi les diff&eacute;rents r&eacute;sultats.</li>
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis </ul>
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis <section id="type-map"><title>Utilisation d'un fichier de
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis correspondances de types (type-map)</title>
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis <p>Une liste de correspondances de types est un document associ&eacute; au
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis gestionnaire <code>type-map</code> (ou, dans un souci de compatibilit&eacute;
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis ascendante avec des configurations de httpd plus anciennes, le
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis <glossary>type MIME</glossary>
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis <code>application/x-type-map</code>). Notez que pour utiliser cette
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis fonctionnalit&eacute;, vous devez, dans le fichier de configuration, d&eacute;finir un
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis gestionnaire qui associe un suffixe de fichier &agrave; une <code>type-map</code>;
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis ce qui se fait simplement en ajoutant</p>
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis
ad338079daa7c8b4d59efe1c1ff40cdd6f7e2f5algentis<highlight language="config">AddHandler type-map .var</highlight>
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis <p>dans le fichier de configuration du serveur.</p>
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis <p>Les fichiers de correspondances de types doivent poss&eacute;der le m&ecirc;me nom que
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis la ressource qu'ils d&eacute;crivent, avec pour extension
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis <code>.var</code>. Dans l'exemple ci-dessous, la ressource a pour
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis nom <code>foo</code>, et le fichier de correspondances se nomme donc
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis <code>foo.var</code>.</p>
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis <p>Ce fichier doit comporter une entr&eacute;e pour chaque variante
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis disponible; chaque entr&eacute;e consiste en une ligne contigu&euml; d'en-t&ecirc;tes au
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis format HTTP. les entr&eacute;es sont s&eacute;par&eacute;es par des lignes vides. Les lignes
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis vides &agrave; l'int&eacute;rieur d'une entr&eacute;e sont interdites. Par convention, le
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis fichier de correspondances de types d&eacute;bute par une entr&eacute;e concernant l'entit&eacute;
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis consid&eacute;r&eacute;e dans son ensemble (bien que ce ne soit pas obligatoire, et
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis ignor&eacute; si pr&eacute;sent). Un exemple de fichier de
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis correspondance de types est fourni
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis ci-dessous.</p>
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis <p>Les URIs de ce fichier sont relatifs &agrave; la localisation du fichier
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis de correspondances de types. En g&eacute;n&eacute;ral, ces fichiers se trouveront dans le
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis m&ecirc;me r&eacute;pertoire que le fichier de correspondances de types, mais ce
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis n'est pas obligatoire. Vous pouvez utiliser des URIs absolus ou
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis relatifs pour tout fichier situ&eacute; sur le m&ecirc;me serveur que le fichier
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis de correspondances.</p>
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis<example>
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis URI: foo<br />
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis<br />
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis URI: foo.en.html<br />
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis Content-type: text/html<br />
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis Content-language: en<br />
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis<br />
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis URI: foo.fr.de.html<br />
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis Content-type: text/html;charset=iso-8859-2<br />
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis Content-language: fr, de<br />
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis</example>
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis <p>Notez aussi qu'un fichier de correspondances de types prend le pas sur
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis les extensions de noms de fichiers, m&ecirc;me si les Multivues sont activ&eacute;es.
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis Si les variantes sont de qualit&eacute;s diff&eacute;rentes, on doit l'indiquer
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis &agrave; l'aide du param&egrave;tre "qs" &agrave; la suite du type de m&eacute;dia, comme pour cette
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis image
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis (disponible aux formats JPEG, GIF, ou ASCII-art) : </p>
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis<example>
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis URI: foo<br />
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis<br />
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis URI: foo.jpeg<br />
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis Content-type: image/jpeg; qs=0.8<br />
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis<br />
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis URI: foo.gif<br />
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis Content-type: image/gif; qs=0.5<br />
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis<br />
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis URI: foo.txt<br />
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis Content-type: text/plain; qs=0.01<br />
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis</example>
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis <p>Les valeurs de qs peuvent varier de 0.000 &agrave; 1.000. Notez que toute
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis variante poss&eacute;dant une valeur de qs de 0.000 ne sera jamais choisie.
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis Les variantes qui n'ont pas de param&egrave;tre qs d&eacute;fini se voient attribuer
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis une valeur de 1.0. Le param&egrave;tre qs indique la qualit&eacute; relative de la
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis variante compar&eacute;e &agrave; celle des autres variantes disponibles, sans tenir
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis compte des capacit&eacute;s du client. Par exemple, un fichier JPEG poss&egrave;de
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis en g&eacute;n&eacute;ral une qualit&eacute; sup&eacute;rieure &agrave; celle d'un fichier ASCII s'il
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis repr&eacute;sente une photographie. Cependant, si la ressource repr&eacute;sent&eacute;e est
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis &agrave; un ASCII art original, la repr&eacute;sentation ASCII sera de meilleure qualit&eacute;
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis que la repr&eacute;sentation JPEG. Ainsi une valeur de qs est associ&eacute;e &agrave; une
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis variante en fonction de la nature de la ressource qu'elle repr&eacute;sente.</p>
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis <p>La liste compl&egrave;te des en-t&ecirc;tes reconnus est disponible dans la
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis documentation sur les <a
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis href="mod/mod_negotiation.html#typemaps">correspondances de types du
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis module mod_negotiation</a>.</p>
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis</section>
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis<section id="multiviews"><title>Multivues (option Multiviews)</title>
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis <p><code>MultiViews</code> est une option qui s'applique &agrave; un r&eacute;pertoire,
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis ce qui signifie qu'elle peut &ecirc;tre activ&eacute;e &agrave; l'aide d'une directive
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis <directive module="core">Options</directive> &agrave; l'int&eacute;rieur d'une section
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis <directive module="core"
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis type="section">Directory</directive>, <directive module="core"
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis type="section">Location</directive> ou <directive module="core"
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis type="section">Files</directive> dans
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis <code>httpd.conf</code>, ou (si <directive
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis module="core">AllowOverride</directive> est correctement positionn&eacute;e) dans
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis des fichiers
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis <code>.htaccess</code>. Notez que <code>Options All</code>
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis n'active pas <code>MultiViews</code>; vous devez activer cette option en
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis la nommant explicitement.</p>
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis <p>L'effet de <code>MultiViews</code> est le suivant : si le serveur re&ccedil;oit
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis une requ&ecirc;te pour <code>/tel/r&eacute;pertoire/foo</code>, si
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis <code>MultiViews</code> est activ&eacute;e pour
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis <code>/tel/r&eacute;pertoire</code>, et si
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis <code>/tel/r&eacute;pertoire/foo</code> n'existe <em>pas</em>, le serveur parcourt
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis le r&eacute;pertoire &agrave; la recherche de fichiers nomm&eacute;s foo.*, et simule
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis litt&eacute;ralement une correspondance de types (type map) qui liste tous ces
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis fichiers, en leur associant les m&ecirc;mes types de m&eacute;dia et encodages de
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis contenu qu'ils auraient eu si le client avait demand&eacute; l'acc&egrave;s &agrave; l'un
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis d'entre eux par son nom. Il choisit ensuite ce qui correspond le mieux
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis aux besoins du client.</p>
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis <p><code>MultiViews</code> peut aussi s'appliquer &agrave; la recherche du fichier
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis nomm&eacute; par la directive <directive
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis module="mod_dir">DirectoryIndex</directive>, si le serveur tente d'indexer
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis un r&eacute;pertoire. Si les fichiers de configuration sp&eacute;cifient</p>
ad338079daa7c8b4d59efe1c1ff40cdd6f7e2f5algentis<highlight language="config">DirectoryIndex index</highlight>
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis <p>le serveur va choisir entre <code>index.html</code>
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis et <code>index.html3</code> si les deux fichiers sont pr&eacute;sents. Si aucun
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis n'est pr&eacute;sent, mais <code>index.cgi</code> existe,
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis le serveur l'ex&eacute;cutera.</p>
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis <p>Si, parcequ'elle n'est pas reconnue par <code>mod_mime</code>,
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis l'extension d'un des fichiers du r&eacute;pertoire ne permet pas de
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis d&eacute;terminer son jeu de caract&egrave;res, son type de contenu, son langage, ou son
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis encodage, alors
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis le r&eacute;sultat d&eacute;pendra de la d&eacute;finition de la directive <directive
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis module="mod_mime">MultiViewsMatch</directive>. Cette directive d&eacute;termine
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis si les gestionnaires (handlers), les filtres, et autres types d'extensions
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis peuvent participer &agrave; la n&eacute;gociation MultiVues.</p>
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis</section>
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis</section>
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis<section id="methods"><title>Les m&eacute;thodes de n&eacute;gociation</title>
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis <p>Une fois obtenue la liste des variantes pour une ressource donn&eacute;e,
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis httpd dispose de deux m&eacute;thodes pour choisir la meilleure variante &agrave;
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis retourner, s'il y a lieu, soit &agrave; partir d'un fichier de
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis correspondances de types, soit en se basant sur les noms de fichiers du
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis r&eacute;pertoire. Il n'est pas n&eacute;cessaire de conna&icirc;tre en d&eacute;tails comment la
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis n&eacute;gociation fonctionne r&eacute;ellement pour pouvoir utiliser les fonctionnalit&eacute;s
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis de n&eacute;gociation de contenu de httpd. La suite de ce document explique
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis cependant les m&eacute;thodes utilis&eacute;es pour ceux ou celles qui sont
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis int&eacute;ress&eacute;s(&eacute;es). </p>
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis <p>Il existe deux m&eacute;thodes de n&eacute;gociation :</p>
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis <ol>
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis <li><strong>La n&eacute;gociation effectu&eacute;e par le serveur selon l'algorithme
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis de httpd</strong> est normalement utilis&eacute;e. l'algorithme de
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis httpd est
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis expliqu&eacute; plus en d&eacute;tails ci-dessous. Quand cet algorithme est utilis&eacute;,
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis httpd peut parfois "bricoler" le facteur de qualit&eacute; (qs) d'une dimension
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis particuli&egrave;re afin d'obtenir un meilleur r&eacute;sultat.
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis La mani&egrave;re dont httpd peut modifier les facteurs de qualit&eacute; est
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis expliqu&eacute;e plus en d&eacute;tails ci-dessous.</li>
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis <li><strong>La n&eacute;gociation de contenu transparente</strong> est utilis&eacute;e
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis quand le navigateur le demande explicitement selon le m&eacute;canisme d&eacute;fini
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis dans la RFC 2295. Cette m&eacute;thode de n&eacute;gociation donne au navigateur le
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis contr&ocirc;le total du choix de la meilleure variante; le r&eacute;sultat d&eacute;pend
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis cependant de la sp&eacute;cificit&eacute; des algorithmes utilis&eacute;s par le navigateur.
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis Au cours du processus de n&eacute;gociation transparente, le navigateur peut
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis demander &agrave; httpd d'ex&eacute;cuter l'"algorithme de s&eacute;lection de variante &agrave;
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis distance" d&eacute;fini dans la RFC 2296.</li>
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis </ol>
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis<section id="dimensions"><title>Les dimensions de la n&eacute;gociation</title>
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis <table>
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis <columnspec><column width=".15"/><column width=".85"/></columnspec>
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis <tr valign="top">
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis <th>Dimension</th>
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis <th>Notes</th>
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis </tr>
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis <tr valign="top">
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis <td>Type de m&eacute;dia</td>
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis <td>Le navigateur affiche ses pr&eacute;f&eacute;rences &agrave; l'aide du champ d'en-t&ecirc;te
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis <code>Accept</code>. Chaque type de m&eacute;dia peut se voir associ&eacute; un facteur de
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis qualit&eacute;. La description de la variante peut aussi avoir un facteur de
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis qualit&eacute; (le param&egrave;tre "qs").</td>
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis </tr>
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis <tr valign="top">
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis <td>Langage</td>
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis <td>Le navigateur affiche ses pr&eacute;f&eacute;rences &agrave; l'aide du champ d'en-t&ecirc;te
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis <code>Accept-Language</code>. Chaque langue peut se voir associ&eacute; un facteur de
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis qualit&eacute;. Les variantes peuvent &ecirc;tre associ&eacute;es avec z&eacute;ro, un ou
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis plusieurs langages.</td>
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis </tr>
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis <tr valign="top">
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis <td>Encoding</td>
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis <td>Le navigateur affiche ses pr&eacute;f&eacute;rences &agrave; l'aide du champ d'en-t&ecirc;te
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis <code>Accept-Encoding</code>. Chaque encodage peut se voir associ&eacute; un facteur de
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis qualit&eacute;.</td>
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis </tr>
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis <tr valign="top">
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis <td>Charset</td>
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis <td>Le navigateur affiche ses pr&eacute;f&eacute;rences &agrave; l'aide du champ d'en-t&ecirc;te
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis <code>Accept-Charset</code>. Chaque jeu de caract&egrave;re peut se voir associ&eacute; un facteur de
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis qualit&eacute;. Les variantes peuvent pr&eacute;ciser un jeu de caract&egrave;res comme
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis param&egrave;tre du type de m&eacute;dia.</td>
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis </tr>
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis </table>
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis</section>
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis<section id="algorithm"><title>L'algorithme de n&eacute;gociation de
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentishttpd</title>
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis <p>httpd peut utiliser l'algorithme suivant pour choisir la "meilleure"
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis variante (s'il y en a une) &agrave; retourner au navigateur. Cet algorithme n'est pas
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis configurable. Il fonctionne comme suit :</p>
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis <ol>
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis <li>En premier lieu, pour chaque dimension de la n&eacute;gociation, consulter
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis le champ d'en-t&ecirc;te <em>Accept*</em> appropri&eacute; et assigner une qualit&eacute; &agrave;
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis chaque variante. Si l'en-t&ecirc;te <em>Accept*</em> pour toute dimension
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis implique que la variante n'est pas acceptable, &eacute;liminer cette derni&egrave;re.
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis S'il ne reste plus de variante, aller &agrave; l'&eacute;tape 4.</li>
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis <li>
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis Choisir la "meilleure" variante par &eacute;limination. Chacun des tests
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis suivants est effectu&eacute; dans cet ordre. Toute variante non s&eacute;lectionn&eacute;e
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis &agrave; l'issue d'un test est &eacute;limin&eacute;e. Apr&egrave;s chaque test, s'il reste une
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis seule variante, choisir cette derni&egrave;re comme celle qui correspond le
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis mieux puis aller &agrave; l'&eacute;tape 3. S'il reste plusieurs variantes, passer
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis au test suivant.
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis <ol>
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis <li>Multiplier le facteur de qualit&eacute; de l'en-t&ecirc;te
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis <code>Accept</code> par le facteur de qualit&eacute; "qs" pour le type de
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis m&eacute;dia de ces variantes, et choisir la variante qui poss&egrave;de la valeur
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis la plus importante.</li>
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis <li>S&eacute;lectionner les variantes qui poss&egrave;dent le facteur de qualit&eacute;
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis de langage le plus haut.</li>
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis <li>S&eacute;lectionner les variantes dont le langage correspond le mieux,
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis en se basant sur l'ordre des langages de l'en-t&ecirc;te
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis <code>Accept-Language</code> (s'il existe), ou de la directive
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis <code>LanguagePriority</code> (si elle existe).</li>
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis <li>S&eacute;lectionner les variantes poss&eacute;dant le param&egrave;tre de m&eacute;dia
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis "level" le plus &eacute;lev&eacute; (utilis&eacute; pour pr&eacute;ciser la version des types de
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis m&eacute;dia text/html).</li>
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis <li>S&eacute;lectionner les variantes poss&eacute;dant le param&egrave;tre de m&eacute;dia
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis "charset" (jeu de caract&egrave;res) qui correspond le mieux, en se basant
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis sur la ligne d'en-t&ecirc;te <code>Accept-Charset</code> . Le jeu de
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis caract&egrave;res ISO-8859-1 est acceptable sauf s'il est explicitement
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis exclus. Les variantes avec un type de m&eacute;dia <code>text/*</code>
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis mais non explicitement associ&eacute;es avec un jeu de caract&egrave;res
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis particulier sont suppos&eacute;es &ecirc;tre en ISO-8859-1.</li>
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis <li>S&eacute;lectionner les variantes dont le param&egrave;tre de m&eacute;dia "charset"
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis associ&eacute; n'est <em>pas</em> ISO-8859-1. S'il n'en existe pas,
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis s&eacute;lectionner toutes les variantes.</li>
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis <li>S&eacute;lectionner les variantes avec le meilleur encodage. S'il existe
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis des variantes avec un encodage acceptable pour le client,
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis s&eacute;lectionner celles-ci. Sinon, s'il existe des variantes encod&eacute;es et
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis des variantes non encod&eacute;es, ne s&eacute;lectionner que les variantes non
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis encod&eacute;es. Si toutes les variantes sont encod&eacute;es ou si aucune
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis ne l'est, s&eacute;lectionner toutes les variantes.</li>
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis <li>S&eacute;lectionner les variantes dont le contenu a la longueur
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis la plus courte.</li>
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis <li>S&eacute;lectionner la premi&egrave;re des variantes restantes. Il s'agira
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis soit de la premi&egrave;re variante list&eacute;e dans le fichier de
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis correspondances de types, soit, quand les variantes sont lues depuis
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis le r&eacute;pertoire, la premi&egrave;re par ordre alphab&eacute;tique quand elles sont
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis tri&eacute;es selon le code ASCII.</li>
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis </ol>
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis </li>
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis <li>L'algorithme a maintenant s&eacute;lectionn&eacute; une variante consid&eacute;r&eacute;e comme
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis la "meilleure", il la retourne donc au client en guise de r&eacute;ponse.
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis L'en-t&ecirc;te HTTP <code>Vary</code> de la r&eacute;ponse est renseign&eacute; de fa&ccedil;on &agrave;
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis indiquer les dimensions de la n&eacute;gociation (les navigateurs et les caches
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis peuvent utiliser cette information lors de la mise en cache de la
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis ressource). Travail termin&eacute;.</li>
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis <li>Le passage par cette &eacute;tape signifie qu'aucune variante n'a &eacute;t&eacute;
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis s&eacute;lectionn&eacute;e (parcequ'aucune n'est acceptable pour le navigateur).
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis Envoyer une r&eacute;ponse avec un code de statut 406 (qui signifie "Aucune
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis repr&eacute;sentation acceptable") et un corps comportant un document HTML qui
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis affiche les variantes disponibles. Renseigner aussi l'en-t&ecirc;te HTTP
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis <code>Vary</code> de fa&ccedil;on &agrave; indiquer les dimensions de la variante.</li>
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis </ol>
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis</section>
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis</section>
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis<section id="better"><title>Ajustement des valeurs de qualit&eacute;</title>
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis <p>Parfois httpd modifie les valeurs de qualit&eacute; par rapport &agrave; celles qui
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis d&eacute;couleraient d'une stricte interpr&eacute;tation de l'algorithme de n&eacute;gociation
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis de httpd ci-dessus, ceci pour am&eacute;liorer les r&eacute;sultats de l'algorithme pour
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis les navigateurs qui envoient des informations incompl&egrave;tes ou inappropri&eacute;es.
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis Certains des navigateurs les plus populaires envoient des informations dans
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis l'en-t&ecirc;te <code>Accept</code> qui, sans ce traitement, provoqueraient la
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis s&eacute;lection d'une variante inappropri&eacute;e dans de nombreux cas. Quand un
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis navigateur envoie des informations compl&egrave;tes et correctes ces ajustements
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis ne sont pas effectu&eacute;s.</p>
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis<section id="wildcards"><title>Types de m&eacute;dia et caract&egrave;res g&eacute;n&eacute;riques</title>
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis <p>L'en-t&ecirc;te de requ&ecirc;te <code>Accept:</code> indique les types de m&eacute;dia
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis souhait&eacute;s. Il peut aussi contenir des types de m&eacute;dia avec caract&egrave;res
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis g&eacute;n&eacute;riques, comme "image/*" ou "*/*" o&ugrave; * correspond &agrave; n'importe quelle
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis cha&icirc;ne de caract&egrave;res. Ainsi une requ&ecirc;te contenant :</p>
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis<example>Accept: image/*, */*</example>
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis <p>indiquerait que tout type de m&eacute;dia est acceptable, avec une pr&eacute;f&eacute;rence
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis pour les types commen&ccedil;ant par "image/".
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis Certains navigateurs ajoutent par d&eacute;faut des types de m&eacute;dia avec caract&egrave;res
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis g&eacute;n&eacute;riques aux types explicitement nomm&eacute;s qu'ils peuvent g&eacute;rer.
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis Par exemple :</p>
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis<example>
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis Accept: text/html, text/plain, image/gif, image/jpeg, */*
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis</example>
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis <p>Ceci indique que les types explicitement list&eacute;s sont pr&eacute;f&eacute;r&eacute;s, mais
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis qu'une repr&eacute;sentation avec un type diff&eacute;rent de ces derniers conviendra
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis aussi. Les valeurs de qualit&eacute;s explicites,
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis afin de pr&eacute;ciser ce que veut vraiment le navigateur, s'utilisent
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis comme suit :</p>
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis<example>
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis Accept: text/html, text/plain, image/gif, image/jpeg, */*; q=0.01
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis</example>
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis <p>Les types explicites n'ont pas de facteur de qualit&eacute;, la valeur par
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis d&eacute;faut de leur pr&eacute;f&eacute;rence est donc de 1.0 (la plus haute). Le type avec
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis caract&egrave;res g&eacute;n&eacute;riques */* se voit attribuer une pr&eacute;f&eacute;rence basse de 0.01,
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis si bien que les types autres que ceux explicitement list&eacute;s ne seront retourn&eacute;s
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis que s'il n'existe pas de variante correspondant &agrave; un type explicitement
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis list&eacute;.</p>
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis <p>Si l'en-t&ecirc;te <code>Accept:</code> ne contient <em>pas</em> aucun
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis facteur de qualit&eacute;, httpd positionne la valeur de qualit&eacute; de
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis "*/*", si present, &agrave; 0.01 pour simuler l'effet d&eacute;sir&eacute;. Il positionne aussi
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis la valeur de qualit&eacute; des types avec caract&egrave;res g&eacute;n&eacute;riques au format
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis "type/*" &agrave; 0.02 (ils sont donc pr&eacute;f&eacute;r&eacute;s &agrave; ceux correspondant &agrave; "*/*"). Si
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis un type de m&eacute;dia dans l'en-t&ecirc;te <code>Accept:</code> contient un facteur de
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis qualit&eacute;, ces valeurs sp&eacute;ciales ne seront <em>pas</em> appliqu&eacute;es, de fa&ccedil;on
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis &agrave; ce que les requ&ecirc;tes de navigateurs qui envoient les informations
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis explicites &agrave; prendre en compte fonctionnent comme souhait&eacute;.</p>
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis</section>
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis<section id="exceptions"><title>Exceptions dans la n&eacute;gociation du
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentislangage</title>
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis <p>A partir de la version 2.0 de httpd, certaines exceptions ont &eacute;t&eacute;
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis ajout&eacute;es &agrave; l'algorithme de n&eacute;gociation afin de m&eacute;nager une issue de secours
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis quand la n&eacute;gociation ne trouve aucun langage correspondant.</p>
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis <p>Quand un client demande une page sur votre serveur, si ce dernier ne
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis parvient pas &agrave; trouver une page dont la langue corresponde &agrave; l'en-t&ecirc;te
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis <code>Accept-language</code> envoy&eacute; par le navigateur, il enverra au client
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis une r&eacute;ponse "Aucune variante acceptable" ou "Plusieurs choix possibles".
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis Pour &eacute;viter ces
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis messages d'erreur, il est possible de configurer httpd de fa&ccedil;on &agrave; ce que,
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis dans ces cas, il ignore l'en-t&ecirc;te <code>Accept-language</code> et fournisse
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis tout de m&ecirc;me un document, m&ecirc;me s'il ne correspond pas exactement &agrave; la
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis demande explicite du client. La directive <directive
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis module="mod_negotiation">ForceLanguagePriority</directive>
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis peut &ecirc;tre utilis&eacute;e pour &eacute;viter ces messages d'erreur et leur substituer une
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis page dont le langage sera d&eacute;termin&eacute; en fonction du contenu de la directive
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis <directive module="mod_negotiation">LanguagePriority</directive>.</p>
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis <p>Le serveur va aussi essayer d'&eacute;tendre sa recherche de correspondance aux
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis sous-ensembles de langages quand aucune correspondance exacte ne peut &ecirc;tre
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis trouv&eacute;e. Par exemple, si un client demande des documents poss&eacute;dant le
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis langage <code>en-GB</code>, c'est &agrave; dire anglais britannique, le standard
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis HTTP/1.1 n'autorise normalement pas le serveur &agrave; faire correspondre cette
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis demande &agrave; un document dont le langage est simplement <code>en</code>.
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis (Notez qu'inclure <code>en-GB</code> et non <code>en</code> dans l'en-t&ecirc;te
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis <code>Accept-Language</code> constitue une quasi-erreur de configuration,
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis car il est tr&egrave;s peu probable qu'un lecteur qui comprend l'anglais
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis britannique, ne comprenne pas l'anglais en g&eacute;n&eacute;ral. Malheureusement, de
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis nombreux clients ont r&eacute;ellement des configurations par d&eacute;faut de ce type.)
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis Cependant, si aucune autre correspondance de langage n'est possible, et que le
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis serveur est sur le point de retourner une erreur "Aucune variable
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis acceptable" ou de choisir le langage d&eacute;fini par la directive <directive
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis module="mod_negotiation">LanguagePriority</directive>, le serveur ignorera
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis la sp&eacute;cification du sous-ensemble de langage et associera la demande en
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis <code>en-GB</code> &agrave; des documents en <code>en</code>. Implicitement,
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis httpd ajoute le langage parent &agrave; la liste de langues accept&eacute;s par le
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis client avec une valeur de qualit&eacute; tr&egrave;s basse. Notez cependant que si le
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis client demande "en-GB; q=0.9, fr; q=0.8", et le serveur dispose de
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis documents estampill&eacute;s "en" et "fr", alors c'est le document "fr" qui sera
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis retourn&eacute;, tout ceci dans un souci de compatibilit&eacute; avec la sp&eacute;cification
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis HTTP/1.1 et afin de fonctionner efficacement avec les clients
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis correctement configur&eacute;s.</p>
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis <p>Pour supporter les techniques avanc&eacute;es (comme les cookies ou les chemins
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis d'URL sp&eacute;ciaux) afin de d&eacute;terminer le langage pr&eacute;f&eacute;r&eacute; de l'utilisateur, le
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis module <module>mod_negotiation</module> reconna&icirc;t la
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis <a href="env.html">variable d'environnement</a>
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis <code>prefer-language</code>
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis depuis la version 2.0.47 de httpd. Si elle est d&eacute;finie et contient un
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis symbole de langage appropri&eacute;, <module>mod_negotiation</module> va essayer
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis de s&eacute;lectionner une variante correspondante. S'il n'existe pas de telle
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis variante, le processus normal de n&eacute;gociation sera lanc&eacute;.</p>
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis <example><title>Exemple</title>
ad338079daa7c8b4d59efe1c1ff40cdd6f7e2f5algentis <highlight language="config">
ad338079daa7c8b4d59efe1c1ff40cdd6f7e2f5algentisSetEnvIf Cookie "language=(.+)" prefer-language=$1
ad338079daa7c8b4d59efe1c1ff40cdd6f7e2f5algentisHeader append Vary cookie
ad338079daa7c8b4d59efe1c1ff40cdd6f7e2f5algentis </highlight>
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis </example>
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis</section>
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis</section>
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis<section id="extensions"><title>Extensions &agrave; la n&eacute;gociation de contenu
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentistransparente</title>
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis<p>httpd &eacute;tend le protocole de n&eacute;gociation de contenu transparente (RFC
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis2295) comme suit. Un nouvel &eacute;l&eacute;ment <code>{encodage ..}</code> est utilis&eacute; dans
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentisles listes de variantes pour marquer celles qui ne sont disponibles qu'avec un
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentisencodage de contenu sp&eacute;cifique. L'impl&eacute;mentation de l'algorithme
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentisRVSA/1.0 (RFC 2296) est &eacute;tendue &agrave; la reconnaissance de variantes encod&eacute;es dans
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentisla liste, et &agrave; leur utilisation en tant que variantes candidates &agrave; partir du
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentismoment o&ugrave; leur encodage satisfait au contenu de l'en-t&ecirc;te de requ&ecirc;te
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis<code>Accept-Encoding</code>. L'impl&eacute;mentation RVSA/1.0 n'arrondit pas les
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentisfacteurs de qualit&eacute; calcul&eacute;s &agrave; 5 d&eacute;cimales avant d'avoir choisi la meilleure
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentisvariante.</p>
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis</section>
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis<section id="naming"><title>Remarques &agrave; propos des liens hypertextes et des
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentisconventions de nommage</title>
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis <p>Si vous utilisez la n&eacute;gociation de langage, vous avez le choix entre
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis diff&eacute;rentes conventions de nommage, car les fichiers peuvent poss&eacute;der
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis plusieurs extensions, et l'ordre dans lequel ces derni&egrave;res apparaissent
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis est en g&eacute;n&eacute;ral sans rapport (voir la documentation sur le module <a
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis href="mod/mod_mime.html#multipleext">mod_mime</a>
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis pour plus de d&eacute;tails).</p>
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis <p>Un fichier type poss&egrave;de une extension li&eacute;e au type MIME
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis (<em>par exemple</em>, <code>html</code>), mais parfois aussi une
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis extension li&eacute;e &agrave; l'encodage (<em>par exemple</em>, <code>gz</code>),
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis et bien s&ucirc;r une extension li&eacute;e au langage
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis (<em>par exemple</em>, <code>en</code>) quand plusieurs variantes de
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis langage sont disponibles pour ce fichier.</p>
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis <p>Exemples :</p>
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis <ul>
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis <li>foo.en.html</li>
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis <li>foo.html.en</li>
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis <li>foo.en.html.gz</li>
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis </ul>
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis <p>Ci-dessous d'autres exemples de noms de fichiers avec des liens
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis hypertextes valides et invalides :</p>
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis <table border="1" cellpadding="8" cellspacing="0">
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis <columnspec><column width=".2"/><column width=".2"/>
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis <column width=".2"/></columnspec>
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis <tr>
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis <th>Nom fichier</th>
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis <th>lien valide</th>
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis <th>Lien invalide</th>
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis </tr>
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis <tr>
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis <td><em>foo.html.en</em></td>
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis <td>foo<br />
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis foo.html</td>
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis <td>-</td>
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis </tr>
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis <tr>
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis <td><em>foo.en.html</em></td>
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis <td>foo</td>
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis <td>foo.html</td>
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis </tr>
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis <tr>
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis <td><em>foo.html.en.gz</em></td>
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis <td>foo<br />
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis foo.html</td>
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis <td>foo.gz<br />
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis foo.html.gz</td>
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis </tr>
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis <tr>
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis <td><em>foo.en.html.gz</em></td>
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis <td>foo</td>
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis <td>foo.html<br />
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis foo.html.gz<br />
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis foo.gz</td>
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis </tr>
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis <tr>
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis <td><em>foo.gz.html.en</em></td>
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis <td>foo<br />
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis foo.gz<br />
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis foo.gz.html</td>
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis <td>foo.html</td>
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis </tr>
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis <tr>
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis <td><em>foo.html.gz.en</em></td>
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis <td>foo<br />
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis foo.html<br />
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis foo.html.gz</td>
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis <td>foo.gz</td>
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis </tr>
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis </table>
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis <p>En regardant la table ci-dessus, vous remarquerez qu'il est toujours
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis possible d'utiliser le nom de fichier sans extension dans un lien
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis (<em>par exemple</em>, <code>foo</code>). L'avantage est de pouvoir
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis dissimuler le type r&eacute;el du fichier associ&eacute; &agrave; un document et de pouvoir
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis le modifier
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis ult&eacute;rieurement, <em>par exemple</em>, de <code>html</code> &agrave;
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis <code>shtml</code> ou <code>cgi</code> sans avoir &agrave;
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis mettre &agrave; jour aucun lien.</p>
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis <p>Si vous souhaitez continuer &agrave; utiliser un type MIME dans vos liens
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis (<em>par exemple </em> <code>foo.html</code>), l'extension li&eacute;e au langage
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis (y compris une extension li&eacute;e &agrave; l'encodage s'il en existe une)
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis doit se trouver &agrave; droite de l'extension li&eacute;e au type MIME
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis (<em>par exemple</em>, <code>foo.html.en</code>).</p>
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis</section>
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis<section id="caching"><title>Remarque sur la mise en cache</title>
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis <p>Quand un cache stocke une repr&eacute;sentation, il l'associe avec l'URL de la
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis requ&ecirc;te. Lorsque cette URL est &agrave; nouveau demand&eacute;e, le cache peut utiliser
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis la repr&eacute;sentation stock&eacute;e. Cependant, si la ressource est n&eacute;gociable au
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis niveau du serveur, il se peut que seule la premi&egrave;re variante demand&eacute;e soit
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis mise en cache et de ce fait, la correspondance positive du cache peut
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis entra&icirc;ner une r&eacute;ponse inappropri&eacute;e. Pour
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis &eacute;viter ceci, httpd marque par
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis d&eacute;faut toutes les r&eacute;ponses qui sont retourn&eacute;es apr&egrave;s une n&eacute;gociation de
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis contenu comme "non-cachables" par les clients HTTP/1.0. httpd supporte
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis aussi les fonctionnalit&eacute;s du protocole HTTP/1.1 afin de permettre la mise
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis en cache des r&eacute;ponses n&eacute;goci&eacute;es.</p>
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis <p>Pour les requ&ecirc;tes en provenance d'un client compatible HTTP/1.0
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis (un navigateur ou un cache), la directive <directive
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis module="mod_negotiation">CacheNegotiatedDocs</directive> peut &ecirc;tre utilis&eacute;e
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis pour permettre la mise en cache des r&eacute;ponses qui ont fait l'objet d'une
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis n&eacute;gociation. Cette directive peut intervenir dans la configuration au
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis niveau du serveur ou de l'h&ocirc;te virtuel, et n'accepte aucun argument. Elle
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis n'a aucun effet sur les requ&ecirc;tes en provenance de clients HTTP/1.1.</p>
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis <p>Pour les clients HTTP/1.1, httpd envoie un en-t&ecirc;te de r&eacute;ponse HTTP
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis <code>Vary</code> afin d'indiquer les dimensions de la n&eacute;gociation pour
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis cette r&eacute;ponse. Les caches peuvent
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis utiliser cette information afin de d&eacute;terminer
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis si une requ&ecirc;te peut &ecirc;tre servie &agrave; partir de la copie locale. Pour inciter
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis un cache &agrave; utiliser la copie locale sans tenir compte des dimensions de la
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis n&eacute;gociation, d&eacute;finissez la
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis <a href="env.html#special">variable d'environnement</a>
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis <code>force-no-vary</code>.</p>
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis</section>
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis
fc18300f84cb9535e8ccf81dfb8b700012878af4lgentis</manualpage>