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
8 <title>Détails sur le fonctionnement des serveurs virtuels - 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" />
12 <link href="../images/favicon.ico" rel="shortcut icon" /></head>
13 <body id="manual-page"><div id="page-header">
14 <p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p>
15 <p class="apache">Serveur Apache HTTP Version 2.3</p>
16 <img alt="" src="../images/feather.gif" /></div>
17 <div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div>
19 <a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.3</a> > <a href="./">Serveurs virtuels</a></div><div id="page-content"><div id="preamble"><h1>Détails sur le fonctionnement des serveurs virtuels</h1>
21 <p><span>Langues Disponibles: </span><a href="../en/vhosts/details.html" hreflang="en" rel="alternate" title="English"> en </a> |
22 <a href="../fr/vhosts/details.html" title="Français"> fr </a> |
23 <a href="../ko/vhosts/details.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
24 <a href="../tr/vhosts/details.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
28 <p>Le code gérant les serveurs virtuels a été réécrit à partir de
29 zéro dans <strong>Apache 1.3</strong>. Ce document vise à expliquer
30 dans le détail comment Apache procède lors du choix de l'utilisation
31 d'un serveur virtuel en fonction d'une requête reçue. L'apparition
32 de la directive <code class="directive"><a href="../mod/core.html#namevirtualhost">NameVirtualHost</a></code>
33 a rendu beaucoup plus facile et plus sûre la configuration des
34 serveurs virtuels par rapport aux versions précédant la 1.3.</p>
36 <p>Si vous voulez juste <cite>que ça marche</cite> sans en
37 comprendre le fonctionnement, voici <a href="examples.html">quelques
41 <div id="quickview"><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#configparsing">Interprétation des fichiers
42 de configuration</a></li>
43 <li><img alt="" src="../images/down.gif" /> <a href="#hostmatching">Choix du serveur virtuel</a></li>
44 <li><img alt="" src="../images/down.gif" /> <a href="#tips">Trucs et astuces</a></li>
46 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
48 <h2><a name="configparsing" id="configparsing">Interprétation des fichiers
49 de configuration</a></h2>
51 <p>Un <em>serveur principal (main_server)</em> contient toutes
52 les définitions qui apparaissent en dehors des sections
53 <code><VirtualHost></code>. Les serveurs virtuels, aussi
54 appelés <em>vhosts</em> (pour virtual hosts), sont définis par les
55 sections <code class="directive"><a href="../mod/core.html#virtualhost"><VirtualHost></a></code>.</p>
58 <code class="directive"><a href="../mod/mpm_common.html#listen">Listen</a></code>,
59 <code class="directive"><a href="../mod/core.html#servername">ServerName</a></code>,
60 <code class="directive"><a href="../mod/core.html#serverpath">ServerPath</a></code>,
61 et <code class="directive"><a href="../mod/core.html#serveralias">ServerAlias</a></code>
62 peuvent être placées n'importe où dans le cadre de définition d'un
63 serveur. Cependant, chaque fois que l'une d'elles est lue, elle écrase
64 ses instances précédentes (dans le contexte du même serveur).</p>
66 <p>La valeur par défaut du champ <code>Listen</code> pour le serveur
67 principal est de 80. Le serveur principal n'a pas de valeur par
68 défaut pour <code>ServerPath</code> ni pour <code>ServerAlias</code>.
69 La valeur par défaut de <code>ServerName</code> est déduite à partir
70 de l'adresses IP du serveur.</p>
72 <p>La directive Listen associée au serveur principal a deux utilités.
73 La première détermine le port réseau sur lequel Apache va écouter.
74 La deuxième spécifie le port qui sera utilisé dans les URIs absolus
75 lors des redirections.</p>
77 <p>À la différence du serveur principal, les ports des serveurs
78 virtuels <em>n</em>'affectent <em>pas</em> les ports sur lesquels
79 Apache se met à l'écoute.</p>
81 <p>Chaque adresse incluse dans une directive <code>VirtualHost</code>
82 peut disposer d'un port optionnel. Si le port n'est pas précisé, il
83 prend par défaut la dernière valeur de <code>Listen</code> lue dans
84 la configuration du serveur principal. Le port particulier
85 <code>*</code> représente un joker qui correspond à tous les ports.
86 L'ensemble des adresses (y compris les résultats multiples
87 <code>A</code> issus des requêtes DNS) est appelé <em>jeu
88 d'adresses</em> du serveur virtuel.</p>
90 <p>À moins qu'une directive
91 <code class="directive"><a href="../mod/core.html#namevirtualhost">NameVirtualHost</a></code> ne soit utilisée
92 pour une adresse IP spécifique, le premier serveur virtuel avec
93 cette adresse est considéré comme un <em>serveur virtuel par-IP</em>.
94 L'adresse IP peut également prendre la valeur joker <code>*</code>.</p>
96 <p>Dans les cas où l'on souhaite utiliser un <em>serveur virtuel
97 par nom</em>, la directive <code>NameVirtualHost</code> <em>doit</em>
98 apparaître avec l'adresse IP choisie. En d'autres termes, vous devez
99 spécifier dans votre fichier de configuration l'adresse IP des noms
100 de domaine (CNAME) de vos serveurs virtuels par nom au moyen de
101 la directive <code>NameVirtualHost</code>.</p>
103 <p>On peut utiliser plusieurs directives <code>NameVirtualHost</code>
104 pour un groupe de directives <code>VirtualHost</code>, mais seule
105 une directive <code>NameVirtualHost</code> doit être utilisée pour
106 chaque couple IP:port donné.</p>
108 <p>L'ordre d'apparition des directives <code>NameVirtualHost</code>
109 et <code>VirtualHost</code> est sans importance, ce qui fait que
110 les deux exemples suivants ont des effets identiques (seul l'ordre
111 des directives <code>VirtualHost</code> pour <em>un</em> jeu
112 d'adresses est important, voir ci-dessous) :</p>
115 <td><div class="example"><p><code>
116 NameVirtualHost 111.22.33.44<br />
117 <VirtualHost 111.22.33.44><br />
120 </VirtualHost><br />
121 <VirtualHost 111.22.33.44><br />
124 </VirtualHost><br />
126 NameVirtualHost 111.22.33.55<br />
127 <VirtualHost 111.22.33.55><br />
130 </VirtualHost><br />
131 <VirtualHost 111.22.33.55><br />
135 </code></p></div></td>
136 <td><div class="example"><p><code>
137 <VirtualHost 111.22.33.44><br />
139 </VirtualHost><br />
140 <VirtualHost 111.22.33.55><br />
143 </VirtualHost><br />
144 <VirtualHost 111.22.33.44><br />
147 </VirtualHost><br />
148 <VirtualHost 111.22.33.55><br />
151 </VirtualHost><br />
153 NameVirtualHost 111.22.33.44<br />
154 NameVirtualHost 111.22.33.55<br />
156 </code></p></div></td>
160 <p>(Il est conseillé d'adopter le choix de gauche pour faciliter
161 la lisibilité des fichiers de configuration.)</p>
163 <p>Après la lecture de la directive <code>VirtualHost</code>, le
164 serveur virtuel se voit attribuer une valeur <code>Listen</code>
165 par défaut qui est la valeur du port associé au premier nom spécifié
166 dans sa directive <code>VirtualHost</code>.</p>
168 <p>La liste complète des noms d'une directive <code>VirtualHost</code>
169 est gérée exactement comme des <code>ServerAlias</code> (mais ne
170 sont pas écrasés par d'autres <code>ServerAlias</code>) si tous
171 les noms sont résolus dans ce jeu d'adresse. À noter que les états
172 <code>Listen</code> de ce serveur virtuel sont sans incidence sur
173 les ports attibués au jeu d'adresses.</p>
175 <p>Pendant la phase d'initialisation, une liste de chaque adresse
176 IP est générée et introduite dans une table de 'hash'. Si une
177 adresse IP est utilisée dans une directive <code>NameVirtualHost</code>,
178 cette liste contient les noms des serveurs virtuels pour cette
179 adresse. Si aucun serveur virtuel n'est défini pour cette adresse,
180 la directive <code>NameVirtualHost</code> est ignorée et un message
181 est envoyé au journal d'erreurs. Quand un serveur virtuel par IP
182 est utilisé, la table de 'hash' reste vide.</p>
184 <p>La fonction de 'hash' étant rapide, le temps d'exécution d'un
185 'hash' sur une adresse IP lors d'une requête est minimale et
186 quasiment imperceptible. De plus, la table est optimisée pour les
187 adresses IP dont le dernier octet est le seul à changer.</p>
189 <p>Pour chaque serveur virtuel, diverses valeurs sont initialisées
190 par défaut. En particulier :</p>
193 <li>Dans le cas où un serveur virtuel ne contient pas de directives
194 <code class="directive"><a href="../mod/core.html#serveradmin">ServerAdmin</a></code>,
195 <code class="directive"><a href="../mod/core.html#resourceconfig">ResourceConfig</a></code>,
196 <code class="directive"><a href="../mod/core.html#accessconfig">AccessConfig</a></code>,
197 <code class="directive"><a href="../mod/core.html#timeout">Timeout</a></code>,
198 <code class="directive"><a href="../mod/core.html#keepalivetimeout">KeepAliveTimeout</a></code>,
199 <code class="directive"><a href="../mod/core.html#keepalive">KeepAlive</a></code>,
200 <code class="directive"><a href="../mod/core.html#maxkeepaliverequests">MaxKeepAliveRequests</a></code>,
201 <code class="directive"><a href="../mod/core.html#receivebuffersize">ReceiveBufferSize</a></code>,
202 ou <code class="directive"><a href="../mod/core.html#sendbuffersize">SendBufferSize</a></code>,
203 alors la valeur de chacun de ces paramètres est héritée de celle du
204 serveur principal. (C'est à dire, héritée de la valeur finale après
205 lecture de la configuration du serveur principal.)</li>
207 <li>Les permissions par défaut sur les répertoires de chaque
208 serveur virtuel sont assemblées avec celles du serveur principal.
209 Elles concernent également toutes les informations de configuration
210 par répertoire pour tous les modules.</li>
212 <li>Les configurations par serveur pour chaque module sont assemblées
213 à partir de celles du serveur principal.</li>
216 <p>L'essentiel des valeurs de configuration des serveurs virtuels
217 provient de valeurs par défaut issues du serveur principal.
218 Mais la position dans le fichier de configuration des directives
219 du serveur principal n'a pas d'importance -- l'ensemble de la
220 configuration du serveur principal est lu avant que ces valeurs par
221 défaut soient appliquées aux serveur virtuels. Ainsi, même si la
222 définition d'une valeur apparaît après celle d'un serveur virtuel,
223 cette valeur peut affecter la definition du serveur virtuel.</p>
225 <p>Dans le cas où le serveur principal n'a pas de <code>ServerName</code>
226 à ce stade, le nom de la machine sur laquelle tourne le programme
227 <code class="program"><a href="../programs/httpd.html">httpd</a></code> est utilisé à sa place. Nous appellerons
228 <em>jeu d'adresses du serveur principal</em>, les adresses IP
229 renvoyées par une résolution DNS sur le <code>ServerName</code>
230 du serveur principal.</p>
232 <p>Pour tous les champs <code>ServerName</code> non définis, dans
233 le cas d'une configuration en serveur virtuel par nom, la valeur
234 adoptée par défaut est la première adresse donnée dans la section
235 <code>VirtualHost</code> qui définit le serveur virtuel.</p>
237 <p>Si un serveur virtuel contient la valeur magique
238 <code>_default_</code>, il fonctionne sur le même <code>ServerName</code>
239 que le serveur principal.</p>
241 </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
242 <div class="section">
243 <h2><a name="hostmatching" id="hostmatching">Choix du serveur virtuel</a></h2>
245 <p>À la réception d'une requête, le serveur procède comme suit pour
246 déterminer quel serveur virtuel utiliser :</p>
248 <h3><a name="hashtable" id="hashtable">Vérification dans la table de hash</a></h3>
250 <p>Après que le client se soit connecté, l'adresse
251 IP à laquelle le client s'est connecté est recherchée dans la
252 table de hash IP interne.</p>
254 <p>Si la résolution de l'adresse IP n'aboutit pas (adresse IP non
255 trouvée), la requête est servie par le serveur virtuel
256 <code>_default_</code> s'il est défini pour le port correspondant
257 à la requête. Sinon, elle est servie par le serveur principal.</p>
259 <p>Si l'adresse IP n'est pas trouvée dans la table de hash, la
260 recherche du numéro de port peut aussi se terminer par une
261 correspondance à un <code>NameVirtualHost *</code> qui est géré
262 ensuite comme les autres serveur virtuels par noms.</p>
264 <p>Si une liste est bien trouvée dans la table pour l'adresse
265 IP recherchée, l'étape suivante est de déterminer s'il s'agit
266 d'un serveur virtuel par nom ou par IP.</p>
270 <h3><a name="ipbased" id="ipbased">Serveur virtuel par IP</a></h3>
272 <p>Si l'entrée trouvée dispose d'une liste de noms vide, c'est
273 qu'il s'agit d'un serveur virtuel par IP, et aucun autre choix
274 n'est plus à faire ; la requête est servie par ce serveur virtuel.</p>
278 <h3><a name="namebased" id="namebased">Serveur virtuel par nom</a></h3>
280 <p>Si l'entrée trouvée correspond à un serveur virtuel par nom,
281 la liste de noms contient au moins une structure de serveurs
282 virtuels. Les serveurs virtuels se présentent dans cette liste
283 dans le même ordre que la lecture des directives <code>VirtualHost</code>
284 dans le fichier de configuration.</p>
286 <p>Le premier serveur virtuel de cette liste (donc, le premier
287 serveur virtuel attribué à une adresse IP donnée dans le fichier
288 de configuration) se voit attribuer la plus grande priorité, ce
289 qui signifie que c'est lui qui traite les requêtes présentant un
290 nom de serveur invalide ou ne présentant pas de champ
291 <code>Host:</code> dans l'en-tête.</p>
293 <p>Si un champ <code>Host:</code> est transmis dans l'en-tête de
294 la requête, son occurrence est recherchée dans la liste et le
295 premier serveur virtuel qui présente un <code>ServerName</code>
296 ou un <code>ServerAlias</code> correspondant est choisi pour
297 servir la requête. Il est possible que le champ <code>Host:</code>
298 contienne un numéro de port, mais Apache utilise toujours le
299 port sur lequel il a effectivement reçu la requête.</p>
301 <p>Dans le cas où le client a envoyé une requête en HTTP/1.0 sans
302 un champ d'en-tête <code>Host:</code>, il est impossible de
303 déterminer le serveur auquel le client veut se connecter ; l'URI
304 de la requête est recherché dans tous les <code>ServerPath</code>
305 existants. Le premier chemin trouvé est utilisé et la requête est
306 servie par le serveur virtuel correspondant.</p>
308 <p>Si aucun serveur virtuel n'est trouvé, la requête est servie
309 par le premier serveur virtuel qui écoute sur le port demandé et
310 qui est sur la liste associée à l'adresse IP vers laquelle la
311 requête a été envoyée (comme déjà précisé ci-avant).</p>
315 <h3><a name="persistent" id="persistent">Connexions persistantes</a></h3>
317 <p>La recherche par adresse IP décrite ci-avant n'est faite
318 qu'<em>une fois</em> pour chaque session TCP/IP, alors que la
319 recherche par nom est réalisée pour <em>chaque</em> requête au
320 cours d'une connexion persistante (KeepAlive). En d'autres termes,
321 il est possible pour un client de faire des requêtes sur
322 différents serveurs virtuels par nom, au cours d'une unique
323 connexion persistante.</p>
327 <h3><a name="absoluteURI" id="absoluteURI">URI absolu</a></h3>
329 <p>Au cas où l'URI de la requête est absolu, et que son nom de
330 serveur et son port correspondent au serveur principal (ou l'un
331 des serveurs virtuels configurés), <em>et</em> qu'ils correspondent
332 à l'adresse et au port de la requête, alors l'URI est amputé
333 de son préfixe protocole/nom de serveur/port et traité par le
334 serveur correspondant (principal ou virtuel). Si cette correspondance
335 n'existe pas, l'URI reste inchangé et la requête est considérée
336 comme une requête d'un serveur mandataire (proxy).</p>
339 <h3><a name="observations" id="observations">Observations</a></h3>
342 <li>Les serveurs virtuels par nom et par IP n'interfèrent
343 jamais entre eux. Les serveurs virtuels par IP ne sont joignables
344 qu'au travers de leur(s) adresse(s) IP propre(s), en aucun
345 cas par aucune autre adresse. Les serveurs virtuels par nom
346 ne sont accessibles que par leur(s) adresse(s) IP qui ne peuvent
347 être définies qu'au moyen de la directive
348 <code>NameVirtualHost</code>.</li>
350 <li>Les vérifications sur <code>ServerAlias</code> et
351 <code>ServerPath</code> ne sont jamais réalisées pour les
352 serveurs virtuels par IP.</li>
354 <li>L'ordre dans lequel sont agencés dans le fichier de
355 configuration le serveur virtuel <code>_default_</code>, les
356 serveurs virtuels par nom et par IP, et la directive
357 <code>NameVirtualHost</code> est sans incidence sur le
358 fonctionnement. Seul l'ordre des serveurs virtuels par nom
359 pour une adresse donnée a une importance. Le serveur virtuel
360 par nom qui est présent en premier dans la configuration se
361 voit attribué la priorité la plus haute pour les requêtes
362 arrivant sur son jeu d'adresses IP.</li>
364 <li>Pour des raisons de sécurité, le numéro de port présenté
365 dans le champ d'en-tête <code>Host:</code> n'est jamais utilisé
366 pour les tests de correspondances. Apache ne prend en compte
367 que le numéro de port sur lequel le client a envoyé la requête.</li>
369 <li>Si une directive <code>ServerPath</code> existe, et se
370 trouve être préfixe d'une autre directive <code>ServerPath</code>
371 qui apparaît plus loin dans la configuration, la première
372 sera toujours utilisée et la deuxième jamais. (Ceci ne se
373 produit que dans le cas où aucun champ <code>Host:</code>
374 n'a été présenté par le client pour distinguer les deux.)</li>
376 <li>Dans le cas où deux serveurs virtuels par IP ont une
377 adresse en commun, le serveur virtuel qui apparaît en premier
378 dans la configuration est toujours choisi. Ce genre de chose
379 peut arriver par inadvertance. Le serveur envoie une alerte
380 dans le journal d'erreurs si ce cas se présente.</li>
382 <li>Le serveur virtuel <code>_default_</code> ne sert la requête
383 que si aucun autre serveur virtuel travaillant sur l'adresse
384 IP <em>et</em> le port demandés n'est trouvé. La requête n'est
385 traitée que si le numéro de port qui a reçu la requête est
386 associé au serveur virtuel <code>_default_</code> (qui par
387 défaut, correspond à <code>Listen</code>). Un port joker peut
388 être spécifié (<em>comme dans</em> <code>_default_:*</code>)
389 pour récupérer les requêtes sur tous les ports ouverts. Ceci
390 est également applicable aux serveurs virtuels
391 <code>NameVirtualHost *</code>.</li>
393 <li>Le serveur principal ne sert à servir les requêtes que
394 lorsque l'adresse IP et le port demandés par le client ne
395 correspondent à aucun serveur virtuel (y compris un serveur
396 virtuel <code>_default_</code>). En d'autres termes, le serveur
397 principal n'est utile que pour les combinaisons adresse/port
398 non spécifiées (sauf quand un serveur virtuel <code>_default_</code>
399 correspond au port).</li>
401 <li>Ni les serveurs virtuels <code>_default_</code>, ni le
402 serveur principal ne sont utilisés pour traiter une requête
403 avec un champ d'en-tête <code>Host:</code> manquant ou vide
404 lorsque l'adresse (et le port) de connexion correspondent à
405 des serveurs virtuels par nom, par exemple, dans une directive
406 <code>NameVirtualHost</code>.</li>
408 <li>Il ne faut jamais employer de noms DNS dans des directives
409 <code>VirtualHost</code>, car cela oblige le serveur a s'appuyer
410 sur le DNS au moment du démarrage. De plus, vous vous exposez
411 à des problèmes de sécurité si vous n'avez pas la maîtrise du
412 DNS pour la totalité de vos domaines. Voir la documentation
413 <a href="../dns-caveats.html">disponible ici</a>, ainsi que
414 les deux points précisés ci-après.</li>
416 <li>Un nom de serveur <code>ServerName</code> devrait toujours
417 être indiqué pour chaque serveur virtuel. Sans cela, une
418 résolution DNS est nécessaire pour chaque serveur virtuel.</li>
422 </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
423 <div class="section">
424 <h2><a name="tips" id="tips">Trucs et astuces</a></h2>
426 <p>En plus des points évoqués sur la page des
427 <a href="../dns-caveats.html#tips">problèmes liés au DNS</a>,
428 voici quelques points intéressants :</p>
431 <li>Toujours positionner les définitions relatives au serveur
432 principal avant toute définition <code>VirtualHost</code>.
433 (Ceci améliore grandement la lisibilité de la configuration
434 -- la manière dont la configuration est interprétée après la
435 lecture des fichiers ne met pas en évidence le fait que les
436 définitions positionnées avant et surtout après les serveurs
437 virtuels peuvent impacter le fonctionnement des serveurs virtuels.)</li>
439 <li>Toujours regrouper les définitions <code>NameVirtualHost</code>
440 et <code>VirtualHost</code> dans la configuration pour une
441 meilleure lisibilité.</li>
443 <li>Éviter les <code>ServerPaths</code> qui sont préfixes
444 d'autres <code>ServerPaths</code>. Si cela ne peut être évité,
445 veillez à ce que le serveur virtuel contenant le préfixe le plus
446 long (donc le plus précis) apparaisse dans le fichier de
447 configuration avant le plus court. (<em>par exemple</em>,
448 "ServerPath /abc" est à spécifier après "ServerPath /abc/def").</li>
452 <div class="bottomlang">
453 <p><span>Langues Disponibles: </span><a href="../en/vhosts/details.html" hreflang="en" rel="alternate" title="English"> en </a> |
454 <a href="../fr/vhosts/details.html" title="Français"> fr </a> |
455 <a href="../ko/vhosts/details.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
456 <a href="../tr/vhosts/details.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
457 </div><div id="footer">
458 <p class="apache">Copyright 2008 The Apache Software Foundation.<br />Authorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
459 <p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div>