]> granicus.if.org Git - apache/blob - docs/manual/mod/mod_session.html.fr
Fix xml validation error
[apache] / docs / manual / mod / mod_session.html.fr
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3 <html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head>
4 <meta content="text/html; charset=UTF-8" http-equiv="Content-Type" />
5 <!--
6         XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
7               This file is generated from xml source: DO NOT EDIT
8         XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
9       -->
10 <title>mod_session - Serveur HTTP Apache Version 2.5</title>
11 <link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
12 <link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
13 <link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" />
14 <script src="../style/scripts/prettify.min.js" type="text/javascript">
15 </script>
16
17 <link href="../images/favicon.ico" rel="shortcut icon" /></head>
18 <body>
19 <div id="page-header">
20 <p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/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>
21 <p class="apache">Serveur HTTP Apache Version 2.5</p>
22 <img alt="" src="../images/feather.png" /></div>
23 <div class="up"><a href="./"><img title="&lt;-" alt="&lt;-" src="../images/left.gif" /></a></div>
24 <div id="path">
25 <a href="http://www.apache.org/">Apache</a> &gt; <a href="http://httpd.apache.org/">Serveur HTTP</a> &gt; <a href="http://httpd.apache.org/docs/">Documentation</a> &gt; <a href="../">Version 2.5</a> &gt; <a href="./">Modules</a></div>
26 <div id="page-content">
27 <div id="preamble"><h1>Module Apache mod_session</h1>
28 <div class="toplang">
29 <p><span>Langues Disponibles: </span><a href="../en/mod/mod_session.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
30 <a href="../fr/mod/mod_session.html" title="Français">&nbsp;fr&nbsp;</a></p>
31 </div>
32 <table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Support des sessions</td></tr>
33 <tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
34 <tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>session_module</td></tr>
35 <tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_session.c</td></tr>
36 <tr><th><a href="module-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.3 d'Apache</td></tr></table>
37 <h3>Sommaire</h3>
38
39     <div class="warning"><h3>Avertissement</h3>
40       <p>Le module session fait usage des cookies HTTP, et peut à ce
41       titre être victime d'attaques de type Cross Site Scripting, ou
42       divulguer des informations à caractère privé aux clients. Veuillez
43       vous assurer que les risques ainsi encourus ont été pris en compte
44       avant d'activer le support des sessions sur votre serveur.</p>
45     </div>
46
47     <p>Ce module fournit le support d'une interface de session pour
48     chaque utilisateur au niveau du serveur global. Les sessions
49     permettent de transmettre diverses informations  : l'utilisateur
50     est-il connecté ou non, ou toute autre information qui doit être
51     conservée d'une requête à l'autre.</p>
52
53     <p>Les sessions peuvent être stockées sur le serveur, ou au niveau
54     du navigateur. Les sessions peuvent aussi être chiffrées pour une
55     sécurité accrue. Ces fonctionnalités sont réparties entre différents
56     modules complémentaires de <code class="module"><a href="../mod/mod_session.html">mod_session</a></code> :
57     <code class="module"><a href="../mod/mod_session_crypto.html">mod_session_crypto</a></code>,
58     <code class="module"><a href="../mod/mod_session_cookie.html">mod_session_cookie</a></code> et
59     <code class="module"><a href="../mod/mod_session_dbd.html">mod_session_dbd</a></code>. Chargez les modules appropriés
60     en fonction des besoins du serveur (soit statiquement à la
61     compilation, soit dynamiquement via la directive <code class="directive"><a href="../mod/mod_so.html#loadmodule">LoadModule</a></code>).</p>
62
63     <p>Les sessions peuvent être manipulées par d'autres modules qui
64     dépendent de la session, ou la session peut être lue et écrite dans
65     des variables d'environnement et des en-têtes HTTP, selon les
66     besoins.</p>
67
68 </div>
69 <div id="quickview"><h3>Sujets</h3>
70 <ul id="topics">
71 <li><img alt="" src="../images/down.gif" /> <a href="#whatisasession">Qu'est-ce qu'une session ?</a></li>
72 <li><img alt="" src="../images/down.gif" /> <a href="#whocanuseasession">Qui peut utiliser une session
73     ?</a></li>
74 <li><img alt="" src="../images/down.gif" /> <a href="#serversession">Stockage des sessions sur le
75     serveur</a></li>
76 <li><img alt="" src="../images/down.gif" /> <a href="#browsersession">Stockage des sessions au niveau
77     du navigateur</a></li>
78 <li><img alt="" src="../images/down.gif" /> <a href="#basicexamples">Exemples simples</a></li>
79 <li><img alt="" src="../images/down.gif" /> <a href="#sessionprivacy">Confidentialité des
80     sessions</a></li>
81 <li><img alt="" src="../images/down.gif" /> <a href="#cookieprivacy">Confidentialité du cookie</a></li>
82 <li><img alt="" src="../images/down.gif" /> <a href="#authentication">Support des sessions pour
83     l'authentification</a></li>
84 <li><img alt="" src="../images/down.gif" /> <a href="#integration">Intégration des sessions avec les
85     applications externes</a></li>
86 </ul><h3 class="directives">Directives</h3>
87 <ul id="toc">
88 <li><img alt="" src="../images/down.gif" /> <a href="#session">Session</a></li>
89 <li><img alt="" src="../images/down.gif" /> <a href="#sessionenv">SessionEnv</a></li>
90 <li><img alt="" src="../images/down.gif" /> <a href="#sessionexclude">SessionExclude</a></li>
91 <li><img alt="" src="../images/down.gif" /> <a href="#sessionexpiryupdateinterval">SessionExpiryUpdateInterval</a></li>
92 <li><img alt="" src="../images/down.gif" /> <a href="#sessionheader">SessionHeader</a></li>
93 <li><img alt="" src="../images/down.gif" /> <a href="#sessioninclude">SessionInclude</a></li>
94 <li><img alt="" src="../images/down.gif" /> <a href="#sessionmaxage">SessionMaxAge</a></li>
95 </ul>
96 <h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&amp;list_id=144532&amp;product=Apache%20httpd-2&amp;query_format=specific&amp;order=changeddate%20DESC%2Cpriority%2Cbug_severity&amp;component=mod_session">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&amp;component=mod_session">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
97 <ul class="seealso">
98 <li><code class="module"><a href="../mod/mod_session_cookie.html">mod_session_cookie</a></code></li>
99 <li><code class="module"><a href="../mod/mod_session_crypto.html">mod_session_crypto</a></code></li>
100 <li><code class="module"><a href="../mod/mod_session_dbd.html">mod_session_dbd</a></code></li>
101 <li><a href="#comments_section">Commentaires</a></li></ul></div>
102 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
103 <div class="section">
104 <h2><a name="whatisasession" id="whatisasession">Qu'est-ce qu'une session ?</a><a title="Lien permanent" href="#whatisasession" class="permalink">&para;</a></h2>
105       <p>Au coeur de l'interface de session se trouve une table de
106       paires clé/valeur qui sont accessibles d'une requête du navigateur
107       à l'autre. Les valeurs de clés peuvent se voir affecter toute chaîne
108       valide, en fonction des besoins de l'application qui fait usage de
109       la session.</p>
110
111       <p>Une "session" est une chaîne
112       <strong>application/x-www-form-urlencoded</strong> qui contient la
113       paire clé/valeur définie par la <a href="http://www.w3.org/TR/html4/">specification HTML</a>.</p>
114
115       <p>Selon les souhaits de l'administrateur, la session peut être
116       chiffrée et codée en base64 avant d'être soumise au dispositif de
117       stockage.</p>
118
119     </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
120 <div class="section">
121 <h2><a name="whocanuseasession" id="whocanuseasession">Qui peut utiliser une session
122     ?</a><a title="Lien permanent" href="#whocanuseasession" class="permalink">&para;</a></h2>
123       <p>L'interface de session a été conçue à l'origine pour être
124       utilisée par d'autres modules du serveur comme
125       <code class="module"><a href="../mod/mod_auth_form.html">mod_auth_form</a></code> ; les applications à base de
126       programmes CGI peuvent cependant se voir accorder l'accès au
127       contenu d'une session via la variable d'environnement
128       HTTP_SESSION. Il est possible de modifier et/ou de mettre à jour
129       une session en insérant un en-tête de réponse HTTP contenant les
130       nouveaux paramètres de session.</p>
131
132     </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
133 <div class="section">
134 <h2><a name="serversession" id="serversession">Stockage des sessions sur le
135     serveur</a><a title="Lien permanent" href="#serversession" class="permalink">&para;</a></h2>
136       <p>Apache peut être configuré pour stocker les sessions
137       utilisateurs sur un serveur particulier ou un groupe de serveurs.
138       Cette fonctionnalité est similaire aus sessions disponibles sur
139       les serveurs d'applications courants.</p>
140
141       <p>Selon la configuration, les sessions sont suivies à
142       partir d'un identifiant de session stocké dans un cookie, ou
143       extrait de la chaîne de paramètres de l'URL, comme dans les
144       requêtes GET courantes.</p>
145
146       <p>Comme le contenu de la session est stocké exclusivement sur le
147       serveur, il est nécessaire de préserver la confidentialité de ce
148       contenu. Ceci a des implications en matière de performance et de
149       consommation de ressources lorsqu'un grand nombre de sessions est
150       stocké, ou lorsqu'un grand nombre de serveurs doivent se partager
151       les sessions entre eux.</p>
152
153       <p>Le module <code class="module"><a href="../mod/mod_session_dbd.html">mod_session_dbd</a></code> permet de stocker
154       les sessions utilisateurs dans une base de données SQL via le
155       module <code class="module"><a href="../mod/mod_dbd.html">mod_dbd</a></code>.</p>
156
157     </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
158 <div class="section">
159 <h2><a name="browsersession" id="browsersession">Stockage des sessions au niveau
160     du navigateur</a><a title="Lien permanent" href="#browsersession" class="permalink">&para;</a></h2>
161       <p>Dans les environnements à haut trafic où le stockage d'une
162       session sur un serveur consomme trop
163       de ressources, il est possible de stocker le contenu de la session
164       dans un cookie au niveau du navigateur client.</p>
165
166       <p>Ceci a pour avantage de ne nécessiter qu'une quantité minimale de
167       ressources sur le serveur pour suivre les sessions, et évite à
168       plusieurs serveurs parmi une forêt de serveurs de devoir partager
169       les informations de session.</p>
170
171       <p>Le contenu de la session est cependant présenté au client, avec
172       pour conséquence un risque de perte de confidentialité. Le module
173       <code class="module"><a href="../mod/mod_session_crypto.html">mod_session_crypto</a></code> peut être configuré pour
174       chiffrer le contenu de la session avant qu'elle soit stockée au
175       niveau du client.</p>
176
177       <p>Le module <code class="module"><a href="../mod/mod_session_cookie.html">mod_session_cookie</a></code> permet de stocker
178       les sessions au niveau du navigateur dans un cookie HTTP.+</p>
179
180     </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
181 <div class="section">
182 <h2><a name="basicexamples" id="basicexamples">Exemples simples</a><a title="Lien permanent" href="#basicexamples" class="permalink">&para;</a></h2>
183
184       <p>La création d'une session consiste simplement à ouvrir la
185       session, et à décider de l'endroit où elle doit être stockée. Dans
186       l'exemple suivant, la session sera stockée au niveau du
187       navigateur, dans un cookie nommé <code>session</code>.</p>
188
189       <div class="example"><h3>Session stockée au niveau du navigateur</h3><pre class="prettyprint lang-config">Session On
190 SessionCookieName session path=/</pre>
191 </div>
192
193       <p>Une session est inutile s'il n'est pas possible d'y lire
194       ou d'y écrire. L'exemple suivant montre comment des valeurs
195       peuvent être injectées dans une session à l'aide d'un en-tête de
196       réponse HTTP prédéterminé nommé
197       <code>X-Replace-Session</code>.</p>
198
199       <div class="example"><h3>Ecriture dans une session</h3><pre class="prettyprint lang-config">Session On
200 SessionCookieName session path=/
201 SessionHeader X-Replace-Session</pre>
202 </div>
203
204       <p>L'en-tête doit contenir des paires clé/valeur sous le même
205       format que celui de la chaîne d'argument d'une URL, comme dans
206       l'exemple suivant. Donner pour valeur à une clé la chaîne vide a
207       pour effet de supprimer la clé de la session.</p>
208
209       <div class="example"><h3>Script CGI pour écrire dans une session</h3><pre class="prettyprint lang-sh">#!/bin/bash
210 echo "Content-Type: text/plain"
211 echo "X-Replace-Session: key1=foo&amp;key2=&amp;key3=bar"
212 echo
213 env</pre>
214 </div>
215
216       <p>Selon la configuration, les informations de la session peuvent
217       être extraites de la variable d'environnement HTTP_SESSION. Par
218       défaut la session est privée, et cette fonctionnalité doit donc
219       être explicitement activée via la directive <code class="directive"><a href="#sessionenv">SessionEnv</a></code>.</p>
220
221       <div class="example"><h3>Lecture depuis une session</h3><pre class="prettyprint lang-config">Session On
222 SessionEnv On
223 SessionCookieName session path=/
224 SessionHeader X-Replace-Session</pre>
225 </div>
226
227       <p>Une fois la lecture effectuée, la variable CGI
228       <code>HTTP_SESSION</code> doit contenir la valeur
229       <code>clé1=foo&amp;clé3=bar</code>.</p>
230
231     </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
232 <div class="section">
233 <h2><a name="sessionprivacy" id="sessionprivacy">Confidentialité des
234     sessions</a><a title="Lien permanent" href="#sessionprivacy" class="permalink">&para;</a></h2>
235
236       <p>En utilisant la fonctionnalité de votre navigateur "Afficher
237       les cookies", vous pouvez voir une réprésentation de la session
238       sous forme de texte en clair. Ceci peut poser problème si le
239       contenu de la session doit être dissimulé à l'utilisateur final,
240       ou si un tiers accède sans autorisation aux informations de
241       session.</p>
242
243       <p>A ce titre, le contenu de la session peut être chiffré à l'aide
244       du module <code class="module"><a href="../mod/mod_session_crypto.html">mod_session_crypto</a></code> avant d'être stocké
245       au niveau du navigateur.</p>
246
247       <div class="example"><h3>Session chiffrée avant stockage au niveau du
248       navigateur</h3><pre class="prettyprint lang-config">Session On
249 SessionCryptoPassphrase secret
250 SessionCookieName session path=/</pre>
251 </div>
252
253       <p>La session sera automatiquement déchiffrée à la lecture, et
254       rechiffrée par Apache lors de la sauvegarde, si bien que
255       l'application sous-jacente qui utilise la session n'a pas à se
256       préoccuper de savoir si un chiffrement a été mis en oeuvre ou
257       non.</p>
258
259       <p>Les sessions stockées sur le serveur plutôt qu'au niveau du
260       navigateur peuvent aussi être chiffrées, préservant par là-même la
261       confidentialité lorsque des informations sensibles sont partagées
262       entre les serveurs web d'une forêt de serveurs à l'aide du module
263       <code class="module"><a href="../mod/mod_session_dbd.html">mod_session_dbd</a></code>.</p>
264
265     </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
266 <div class="section">
267 <h2><a name="cookieprivacy" id="cookieprivacy">Confidentialité du cookie</a><a title="Lien permanent" href="#cookieprivacy" class="permalink">&para;</a></h2>
268
269       <p>Le mécanisme de cookie HTTP offre aussi des fonctionnalités
270       quant à la confidentialité, comme la possibilité de
271       restreindre le transport du cookie aux pages protégées par SSL
272       seulement, ou l'interdiction pour les scripts java qui
273       s'exécutent au niveau du navigateur d'obtenir l'accès au contenu
274       du cookie.</p>
275
276       <div class="warning"><h3>Avertissement</h3>
277       <p>Certaines fonctionnalités de confidentialité du cookie HTTP ne
278       sont pas standardisées, ou ne sont pas toujours implémentées au
279       niveau du navigateur. Les modules de session vous permettent de
280       définir les paramètres du cookie, mais il n'est pas garanti que la
281       confidentialité sera respectée par le navigateur. Si la sécurité
282       est la principale préoccupation, chiffrez le contenu de la session
283       avec le module <code class="module"><a href="../mod/mod_session_crypto.html">mod_session_crypto</a></code>, ou stockez la
284       session sur le serveur avec le module
285       <code class="module"><a href="../mod/mod_session_dbd.html">mod_session_dbd</a></code>.</p>
286       </div>
287
288       <p>Les paramètres standards du cookie peuvent être spécifiés après
289       le nom du cookie comme dans l'exemple suivant :</p>
290
291       <div class="example"><h3>Définition des paramètres du cookie</h3><pre class="prettyprint lang-config">Session On
292 SessionCryptoPassphrase secret
293 SessionCookieName session path=/private;domain=example.com;httponly;secure;</pre>
294 </div>
295
296       <p>Dans les cas où le serveur Apache sert de frontal pour des
297       serveurs d'arrière-plan, il est possible de supprimer les cookies
298       de session des en-têtes HTTP entrants à l'aide de la directive
299       <code class="directive"><a href="../mod/mod_session_cookie.html#sessioncookieremove">SessionCookieRemove</a></code>. Ceci
300       permet d'empêcher les serveurs d'arrière-plan d'accéder au contenu
301       des cookies de session.
302       </p>
303
304     </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
305 <div class="section">
306 <h2><a name="authentication" id="authentication">Support des sessions pour
307     l'authentification</a><a title="Lien permanent" href="#authentication" class="permalink">&para;</a></h2>
308
309       <p>Comme il est possible de le faire avec de nombreux serveurs
310       d'applications, les modules d'authentification peuvent utiliser
311       une session pour stocker le nom d'utilisateur et le mot de passe
312       après connexion. Le module <code class="module"><a href="../mod/mod_auth_form.html">mod_auth_form</a></code> par
313       exemple, sauvegarde les nom de connexion et mot de passe de
314       l'utilisateur dans une session.</p>
315
316       <div class="example"><h3>Authentification à base de formulaire</h3><pre class="prettyprint lang-config">Session On
317 SessionCryptoPassphrase secret
318 SessionCookieName session path=/
319 AuthFormProvider file
320 AuthUserFile "conf/passwd"
321 AuthType form
322 AuthName "realm"
323 #...</pre>
324 </div>
325
326       <p>Pour la documentation et des exemples complets, voir le module
327       <code class="module"><a href="../mod/mod_auth_form.html">mod_auth_form</a></code>.</p>
328
329     </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
330 <div class="section">
331 <h2><a name="integration" id="integration">Intégration des sessions avec les
332     applications externes</a><a title="Lien permanent" href="#integration" class="permalink">&para;</a></h2>
333
334       <p>Pour que les sessions soient utiles, leur contenu doit être
335       accessible aux applications externes, et ces dernières doivent
336       elles-mêmes être capables d'écrire une session.</p>
337
338       <p>L'exemple type est une application qui modifie le mot de passe
339       d'un utilisateur défini par <code class="module"><a href="../mod/mod_auth_form.html">mod_auth_form</a></code>. Cette
340       application doit pouvoir extraire les nom d'utilisateur et mot de
341       passe courants de la session, effectuer les modifications
342       demandées, puis écrire le nouveau mot de passe dans la session,
343       afin que la transition vers le nouveau mot de passe soit
344       transparente.</p>
345
346       <p>Un autre exemple met en jeu une application qui enregistre un
347       nouvel utilisateur pour la première fois. Une fois
348       l'enregistrement terminé, le nom d'utilisateur et le mot de passe
349       sont écrits dans la session, fournissant là aussi une transition
350       transparente.</p>
351
352       <dl>
353       <dt>Modules Apache</dt>
354       <dd>Selon les besoins, les modules du serveur peuvent utiliser
355       l'API <strong>mod_session.h</strong> pour lire et écrire dans les
356       sessions. Les modules tels que <code class="module"><a href="../mod/mod_auth_form.html">mod_auth_form</a></code>
357       utilisent ce mécanisme.
358       </dd>
359
360       <dt>Programmes CGI et langages de script</dt>
361       <dd>Les applications qui s'exécutent au sein du serveur web
362       peuvent éventuellement extraire la valeur de la session de la
363       variable d'environnement <strong>HTTP_SESSION</strong>. La session
364       doit être codée sous la forme d'une chaîne
365       <strong>application/x-www-form-urlencoded</strong> selon les
366       préconisations de la <a href="http://www.w3.org/TR/html4/">specification HTML</a>. Cette
367       variable d'environnement est définie via la directive <code class="directive"><a href="#sessionenv">SessionEnv</a></code>. Un script peut écrire
368       dans la session en renvoyant un en-tête de réponse
369       <strong>application/x-www-form-urlencoded</strong> dont le nom est
370       défini via la directive <code class="directive"><a href="#sessionheader">SessionHeader</a></code>. Dans les deux cas,
371       tout chiffrement ou déchiffrement, ainsi que la lecture ou
372       l'écriture de ou vers la session à partir du mécanisme de stockage
373       choisi sont gérés par le module <code class="module"><a href="../mod/mod_session.html">mod_session</a></code> et la
374       configuration correspondante.
375       </dd>
376       
377       <dt>Applications situées derrière <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></dt>
378       <dd>Si la directive <code class="directive"><a href="#sessionheader">SessionHeader</a></code> est utilisée pour
379       définir un en-tête de requête HTTP, la session codée sous la forme
380       d'une chaîne <strong>application/x-www-form-urlencoded</strong>
381       sera accessible pour l'application. Si ce même en-tête est fourni
382       dans la réponse, sa valeur sera utilisée pour remplacer la
383       session. Comme précédemment, tout chiffrement ou déchiffrement,
384       ainsi que la lecture ou
385       l'écriture de ou vers la session à partir du mécanisme de stockage
386       choisi sont gérés par le module <code class="module"><a href="../mod/mod_session.html">mod_session</a></code> et la
387       configuration correspondante.</dd>
388       
389       <dt>Applications indépendantes</dt>
390       <dd>Les applications peuvent choisir de manipuler la session en
391       s'affranchissant du contrôle du serveur HTTP Apache. Dans ce cas,
392       c'est l'application qui doit prendre en charge la lecture de la
393       session depuis le mécanisme de stockage choisi, son déchiffrement,
394       sa mise à jour, son chiffrement et sa réécriture vers le mécanisme
395       de stockage choisi de manière appropriée.</dd>
396       </dl>
397
398     </div>
399 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
400 <div class="directive-section"><h2><a name="session" id="session">Directive</a> <a name="Session" id="Session">Session</a><a title="Lien permanent" href="#session" class="permalink">&para;</a></h2>
401 <table class="directive">
402 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Ouvre une session pour le contexte courant</td></tr>
403 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>Session On|Off</code></td></tr>
404 <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>Session Off</code></td></tr>
405 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr>
406 <tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>AuthConfig</td></tr>
407 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
408 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_session</td></tr>
409 </table>
410     <p>La directive <code class="directive">Session</code> permet d'ouvrir une
411     session pour le contexte ou conteneur courant. Les directives
412     suivantes permettent de définir où la session sera stockée et
413     comment sera assurée la confidentialité.</p>
414
415 </div>
416 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
417 <div class="directive-section"><h2><a name="sessionenv" id="sessionenv">Directive</a> <a name="SessionEnv" id="SessionEnv">SessionEnv</a><a title="Lien permanent" href="#sessionenv" class="permalink">&para;</a></h2>
418 <table class="directive">
419 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit si le contenu de la session doit être enregistré
420 dans la variable d'environnement <var>HTTP_SESSION</var></td></tr>
421 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SessionEnv On|Off</code></td></tr>
422 <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SessionEnv Off</code></td></tr>
423 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr>
424 <tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>AuthConfig</td></tr>
425 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
426 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_session</td></tr>
427 </table>
428     <p>Lorsque la directive <code class="directive">SessionEnv</code> est
429     définie à <var>On</var>, le contenu de la session est enregistré
430     dans une variable d'environnement CGI nommée
431     <var>HTTP_SESSION</var>.</p>
432
433     <p>La chaîne est écrite sous le même format que celui de la chaîne
434     d'arguments d'une URL, comme dans l'exemple suivant :</p>
435
436     <div class="example"><p><code>
437       <code>clé1=foo&amp;clé3=bar</code>
438     </code></p></div>
439
440
441 </div>
442 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
443 <div class="directive-section"><h2><a name="sessionexclude" id="sessionexclude">Directive</a> <a name="SessionExclude" id="SessionExclude">SessionExclude</a><a title="Lien permanent" href="#sessionexclude" class="permalink">&para;</a></h2>
444 <table class="directive">
445 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit les préfixes d'URLs pour lesquels une session sera
446 ignorée</td></tr>
447 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SessionExclude <var>chemin</var></code></td></tr>
448 <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>none</code></td></tr>
449 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr>
450 <tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>AuthConfig</td></tr>
451 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
452 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_session</td></tr>
453 </table>
454     <p>La directive <code class="directive">SessionExclude</code> permet de
455     définir les préfixes d'URLs pour lesquels la session sera
456     désactivée. Ceci peut améliorer l'efficacité d'un site web, en
457     ciblant de manière plus précise l'espace d'URL pour lequel une
458     session devra être maintenue. Par défaut, toutes les URLs du
459     contexte ou du conteneur courant sont incluses dans la session. La
460     directive <code class="directive"><a href="#sessionexclude">SessionExclude</a></code>
461     l'emporte sur la directive <code class="directive"><a href="#sessioninclude">SessionInclude</a></code>.</p>
462
463     <div class="warning"><h3>Avertissement</h3>
464     <p>Cette directive a un comportement similaire à celui de l'attribut
465     <var>chemin</var> des cookies HTTP, mais ne doit pas être confondue
466     avec cet attribut. En effet, cette directive ne définit pas
467     l'attribut <var>chemin</var>, qui doit être configuré
468     séparément.</p></div>
469
470 </div>
471 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
472 <div class="directive-section"><h2><a name="sessionexpiryupdateinterval" id="sessionexpiryupdateinterval">Directive</a> <a name="SessionExpiryUpdateInterval" id="SessionExpiryUpdateInterval">SessionExpiryUpdateInterval</a><a title="Lien permanent" href="#sessionexpiryupdateinterval" class="permalink">&para;</a></h2>
473 <table class="directive">
474 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit le nombre de secondes dont la durée d'expiration d'une
475 session peut changer sans que cette session soit mise à jour</td></tr>
476 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SessionExpiryUpdateInterval <var>interval</var></code></td></tr>
477 <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SessionExpiryUpdateInterval 0 (mise à jour systématique)</code></td></tr>
478 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr>
479 <tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>AuthConfig</td></tr>
480 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
481 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_session</td></tr>
482 </table>
483     <p>La directive <code class="directive">SessionExpiryUpdateInterval</code>
484     permet d'éviter le coût de l'écriture d'une session pour chaque
485     requête en n'effectuant cette mise à jour que lorsque la date
486     d'expiration a changé. Ceci permet d'améliorer les performances d'un
487     site web ou de réduire la charge d'une base de données lorsqu'on
488     utilise <code class="module"><a href="../mod/mod_session_dbd.html">mod_session_dbd</a></code>. La session est
489     systématiquement mise à jour si les données stockées dans la session
490     ont été modifiées ou si la durée d'expiration a été modifiée d'une
491     durée supérieure à l'intervalle spécifié.</p>
492
493     <p>Définir l'intervalle à 0 désactive cette directive, et
494     l'expiration de la session sera alors rafraîchie pour chaque requête.</p>
495
496     <p>Cette directive n'a d'effet que si on l'utilise en combinaison
497     avec la directive <code class="directive"><a href="#sessionmaxage">SessionMaxAge</a></code> qui active
498     l'expiration des sessions. Les sessions sans date d'expiration ne
499     sont écrites que lorsque les données qu'elles renferment ont été
500     modifiées.</p>
501
502     <div class="warning"><h3>Avertissement</h3>
503     <p>Comme l'expiration de la session n'est pas systématiquement
504     rafraîchie à chaque requête, une session peut arriver à expiration
505     plus tôt d'un nombre de secondes spécifié dans le paramètre
506     <var>interval</var>. Définir un petit intervalle est en général
507     assez sur, mais en revenche n'a qu'un effet minime sur la prise en
508     compte des durées d'expiration.</p></div>
509
510 </div>
511 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
512 <div class="directive-section"><h2><a name="sessionheader" id="sessionheader">Directive</a> <a name="SessionHeader" id="SessionHeader">SessionHeader</a><a title="Lien permanent" href="#sessionheader" class="permalink">&para;</a></h2>
513 <table class="directive">
514 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Importation des mises à jour de session depuis l'en-tête de
515 réponse HTTP spécifié</td></tr>
516 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SessionHeader <var>en-tête</var></code></td></tr>
517 <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>none</code></td></tr>
518 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr>
519 <tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>AuthConfig</td></tr>
520 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
521 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_session</td></tr>
522 </table>
523     <p>La directive <code class="directive">SessionHeader</code> permet de
524     définir le nom d'un en-tête de réponse HTTP qui, s'il est présent,
525     sera lu et son contenu écrit dans la session courante.</p>
526
527     <p>Le contenu de l'en-tête doit se présenter sous le même format que
528     celui de la chaîne d'arguments d'une URL, comme dans l'exemple
529     suivant :</p>
530
531     <div class="example"><p><code>
532       <code>clé1=foo&amp;clé2=&amp;clé3=bar</code>
533     </code></p></div>
534
535     <p>Si une clé a pour valeur la chaîne vide, elle sera supprimée de
536     la session.</p>
537
538
539 </div>
540 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
541 <div class="directive-section"><h2><a name="sessioninclude" id="sessioninclude">Directive</a> <a name="SessionInclude" id="SessionInclude">SessionInclude</a><a title="Lien permanent" href="#sessioninclude" class="permalink">&para;</a></h2>
542 <table class="directive">
543 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit les préfixes d'URL pour lesquels une session est
544 valide</td></tr>
545 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SessionInclude <var>chemin</var></code></td></tr>
546 <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>toutes URLs</code></td></tr>
547 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr>
548 <tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>AuthConfig</td></tr>
549 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
550 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_session</td></tr>
551 </table>
552     <p>La directive <code class="directive">SessionInclude</code> permet de
553     définir les préfixes d'URL spécifiques pour lesquels une session
554     sera valide. Ceci peut améliorer l'efficacité d'un site web, en
555     ciblant de manière plus précise l'espace d'URL pour lequel une
556     session devra être maintenue. Par défaut, toutes les URLs du
557     contexte ou du conteneur courant sont incluses dans la session.</p>
558
559     <div class="warning"><h3>Avertissement</h3>
560     <p>Cette directive a un comportement similaire à celui de l'attribut
561     <var>chemin</var> des cookies HTTP, mais ne doit pas être confondue
562     avec cet attribut. En effet, cette directive ne définit pas
563     l'attribut <var>chemin</var>, qui doit être configuré séparément.</p></div>
564
565 </div>
566 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
567 <div class="directive-section"><h2><a name="sessionmaxage" id="sessionmaxage">Directive</a> <a name="SessionMaxAge" id="SessionMaxAge">SessionMaxAge</a><a title="Lien permanent" href="#sessionmaxage" class="permalink">&para;</a></h2>
568 <table class="directive">
569 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit une durée de vie maximale pour la session en
570 secondes</td></tr>
571 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SessionMaxAge <var>durée de vie maximale</var></code></td></tr>
572 <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SessionMaxAge 0</code></td></tr>
573 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr>
574 <tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>AuthConfig</td></tr>
575 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
576 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_session</td></tr>
577 </table>
578     <p>La directive <code class="directive">SessionMaxAge</code> permet de
579     définir la durée maximale pendant laquelle une session restera
580     valide. Lorsqu'une session est sauvegardée, cette durée est
581     réinitialisée et la session peut continuer d'exister. Si la durée
582     d'une session dépasse cette limite sans qu'une requête au serveur ne
583     vienne la rafraîchir, la session va passer hors délai et sera
584     supprimée. Lorsqu'une session est utilisée pour stocker les
585     informations de connexion d'un utilisateur, ceci aura pour effet de
586     le déconnecter automatiquement après le délai spécifié.</p>
587
588     <p>Donner à cette directive la valeur 0 empêche l'expiration de la
589     session.</p>
590
591 </div>
592 </div>
593 <div class="bottomlang">
594 <p><span>Langues Disponibles: </span><a href="../en/mod/mod_session.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
595 <a href="../fr/mod/mod_session.html" title="Français">&nbsp;fr&nbsp;</a></p>
596 </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>
597 <script type="text/javascript"><!--//--><![CDATA[//><!--
598 var comments_shortname = 'httpd';
599 var comments_identifier = 'http://httpd.apache.org/docs/trunk/mod/mod_session.html';
600 (function(w, d) {
601     if (w.location.hostname.toLowerCase() == "httpd.apache.org") {
602         d.write('<div id="comments_thread"><\/div>');
603         var s = d.createElement('script');
604         s.type = 'text/javascript';
605         s.async = true;
606         s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier;
607         (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s);
608     }
609     else {
610         d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>');
611     }
612 })(window, document);
613 //--><!]]></script></div><div id="footer">
614 <p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
615 <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[//><!--
616 if (typeof(prettyPrint) !== 'undefined') {
617     prettyPrint();
618 }
619 //--><!]]></script>
620 </body></html>