]> granicus.if.org Git - apache/blob - docs/manual/mod/mod_expires.xml.fr
Merge in APR[-util] macros from branches/trunk-buildconf-noapr
[apache] / docs / manual / mod / mod_expires.xml.fr
1 <?xml version="1.0"?>
2 <!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
3 <?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?>
4 <!-- English Revision : 1330988 -->
5 <!-- French translation : Lucien GENTIS -->
6 <!-- Reviewed by : Vincent Deffontaines -->
7
8 <!--
9  Licensed to the Apache Software Foundation (ASF) under one or more
10  contributor license agreements.  See the NOTICE file distributed with
11  this work for additional information regarding copyright ownership.
12  The ASF licenses this file to You under the Apache License, Version 2.0
13  (the "License"); you may not use this file except in compliance with
14  the License.  You may obtain a copy of the License at
15
16      http://www.apache.org/licenses/LICENSE-2.0
17
18  Unless required by applicable law or agreed to in writing, software
19  distributed under the License is distributed on an "AS IS" BASIS,
20  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
21  See the License for the specific language governing permissions and
22  limitations under the License.
23 -->
24
25 <modulesynopsis metafile="mod_expires.xml.meta">
26
27 <name>mod_expires</name>
28 <description>G&eacute;n&eacute;ration des en-t&ecirc;tes HTTP <code>Expires</code> et
29 <code>Cache-Control</code> en fonction de crit&egrave;res sp&eacute;cifi&eacute;s par
30 l'utilisateur</description>
31 <status>Extension</status>
32 <sourcefile>mod_expires.c</sourcefile>
33 <identifier>expires_module</identifier>
34
35 <summary>
36     <p>Ce module permet de contr&ocirc;ler la d&eacute;finition de l'en-t&ecirc;te HTTP
37     <code>Expires</code> et la directive <code>max-age</code> de
38     l'en-t&ecirc;te HTTP <code>Cache-Control</code> dans les r&eacute;ponses du
39     serveur. La date d'expiration peut &ecirc;tre d&eacute;finie soit par rapport &agrave;
40     la date de derni&egrave;re modification du fichier source, soit
41     par rapport &agrave; l'heure d'acc&egrave;s du client.</p>
42
43     <p>Ces en-t&ecirc;tes HTTP permettent d'informer le client quant &agrave; la
44     validit&eacute; et &agrave; la persistence du document. S'il est pr&eacute;sent dans le
45     cache, et tant qu'il n'est pas arriv&eacute; &agrave; expiration, le document sera
46     servi &agrave; partir de ce dernier, plut&ocirc;t qu'&agrave; partir du document source.
47     Apr&egrave;s expiration, la copie du document dans le cache sera consid&eacute;r&eacute;e
48     comme "expir&eacute;e" et donc invalide, et une nouvelle copie devra &ecirc;tre
49     obtenue &agrave; partir du document source.</p>
50
51     <p>Pour modifier les directives de contr&ocirc;le du cache autres
52     que <code>max-age</code> (voir la <a
53     href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.9">RFC
54     2616 section 14.9</a>), vous pouvez utiliser la directive <directive
55     module="mod_headers">Header</directive>.</p>
56
57     <p>Lorsque l'en-t&ecirc;te <code>Expires</code> est d&eacute;j&agrave; pr&eacute;sent dans la
58     r&eacute;ponse g&eacute;n&eacute;r&eacute;e par le serveur, par exemple s'il a &eacute;t&eacute; cr&eacute;&eacute; par un
59     script CGI ou un serveur original via un serveur mandataire, ce
60     module n'ajoute aucun en-t&ecirc;te <code>Expires</code> ou
61     <code>Cache-Control</code>.</p>
62 </summary>
63
64 <section id="AltSyn"><title>Autre syntaxe de d&eacute;finition de
65 l'intervalle</title>
66     <p>Pour une syntaxe plus lisible, on peut aussi utiliser les
67     directives <directive
68     module="mod_expires">ExpiresDefault</directive> et <directive
69     module="mod_expires">ExpiresByType</directive> comme suit :</p>
70
71     <highlight language="config">
72 ExpiresDefault "<var>base</var>  [plus <var>num</var> <var>type</var>] [<var>num</var> <var>type</var>] ..."
73 ExpiresByType type/encoding "<var>base</var>  [plus <var>num</var> <var>type</var>] [<var>num</var> <var>type</var>] ..."
74     </highlight>
75
76     <p>o&ugrave; <var>base</var> peut &ecirc;tre :</p>
77
78     <ul>
79       <li><code>access</code></li>
80
81       <li><code>now</code> (&eacute;quivalent &agrave;
82       '<code>access</code>')</li>
83
84       <li><code>modification</code></li>
85     </ul>
86
87     <p>Le mot-cl&eacute; <code>plus</code> est optionnel. <var>num</var> doit
88     correspondre &agrave; une valeur enti&egrave;re [compatible avec
89     <code>atoi()</code>], et <var>type</var> peut &ecirc;tre choisi parmi :</p>
90
91     <ul>
92       <li><code>years</code></li>
93       <li><code>months</code></li>
94       <li><code>weeks</code></li>
95       <li><code>days</code></li>
96       <li><code>hours</code></li>
97       <li><code>minutes</code></li>
98       <li><code>seconds</code></li>
99     </ul>
100
101     <p>Par exemple, pour faire expirer par d&eacute;faut les documents 1 mois
102     apr&egrave;s leur acc&egrave;s, on peut utiliser une des directives suivantes :</p>
103     <highlight language="config">
104 ExpiresDefault "access plus 1 month"
105 ExpiresDefault "access plus 4 weeks"
106 ExpiresDefault "access plus 30 days"
107     </highlight>
108
109
110     <p>La date d'expiration peut &ecirc;tre d&eacute;finie plus pr&eacute;cis&eacute;ment en
111     ajoutant plusieurs clauses '<var>num</var> <var>type</var>' :</p>
112
113     <highlight language="config">
114 ExpiresByType text/html "access plus 1 month 15 days 2 hours"
115 ExpiresByType image/gif "modification plus 5 hours 3 minutes"
116     </highlight>
117
118     <p>Notez que si vous utilisez une configuration bas&eacute;e sur la date de
119     modification, l'en-t&ecirc;te Expires ne sera pas ajout&eacute; &agrave; un contenu qui
120     ne provient pas directement d'un fichier sur disque ; et ceci tout
121     simplement parce que ce type de contenu ne poss&egrave;de pas de date de
122     modification.</p>
123 </section>
124
125 <directivesynopsis>
126 <name>ExpiresActive</name>
127 <description>Active la g&eacute;n&eacute;ration d'en-t&ecirc;tes
128 <code>Expires</code></description>
129 <syntax>ExpiresActive On|Off</syntax>
130 <default>ExpiresActive Off</default>
131 <contextlist><context>server config</context>
132 <context>virtual host</context><context>directory</context>
133 <context>.htaccess</context></contextlist>
134 <override>Indexes</override>
135
136 <usage>
137     <p>Cette directive permet d'activer ou de d&eacute;sactiver la g&eacute;n&eacute;ration
138     des en-t&ecirc;tes <code>Expires</code> et <code>Cache-Control</code> pour
139     les documents concern&eacute;s ; en d'autres termes, si cette directive se
140     trouve dans un fichier <code>.htaccess</code>, par exemple, elle ne
141     s'applique qu'aux documents g&eacute;n&eacute;r&eacute;s &agrave; partir du r&eacute;pertoire
142     consid&eacute;r&eacute;. Si elle est d&eacute;finie &agrave; <code>Off</code>, les en-t&ecirc;tes ne
143     seront g&eacute;n&eacute;r&eacute;s pour aucun document du domaine consid&eacute;r&eacute; (sauf
144     surcharge de la configuration &agrave; un niveau inf&eacute;rieur, comme un
145     fichier <code>.htaccess</code> qui l'emporterait sur le fichier de
146     configuration du serveur). Si elle est d&eacute;finie &agrave; <code>On</code>,
147     les en-t&ecirc;tes seront ajout&eacute;s aux documents servis en fonction des
148     crit&egrave;res d&eacute;finis par les directives <directive
149     module="mod_expires">ExpiresByType</directive> et <directive
150     module="mod_expires">ExpiresDefault</directive> (<em>voir plus
151     loin</em>).</p>
152
153     <p>Notez que cette directive ne permet pas de garantir qu'un en-t&ecirc;te
154     <code>Expires</code> ou <code>Cache-Control</code> sera g&eacute;n&eacute;r&eacute;. Si
155     les crit&egrave;res ne sont pas respect&eacute;s, aucun en-t&ecirc;te ne sera g&eacute;n&eacute;r&eacute;, et
156     la directive produira le m&ecirc;me effet que si elle n'avait pas &eacute;t&eacute;
157     d&eacute;finie.</p>
158  </usage>
159 </directivesynopsis>
160
161 <directivesynopsis>
162 <name>ExpiresByType</name>
163 <description>D&eacute;finition de la valeur de l'en-t&ecirc;te <code>Expires</code>
164 en fonction du type MIME</description>
165 <syntax>ExpiresByType <var>type MIME</var>
166 <var>&lt;code&gt;secondes</var></syntax>
167 <contextlist><context>server config</context><context>virtual host</context>
168 <context>directory</context><context>.htaccess</context></contextlist>
169 <override>Indexes</override>
170
171 <usage>
172     <p>Cette directive permet de d&eacute;finir la valeur de l'en-t&ecirc;te
173     <code>Expires</code> et de la directive <code>max-age</code> de
174     l'en-t&ecirc;te <code>Cache-Control</code> g&eacute;n&eacute;r&eacute;s pour les documents du
175     type MIME sp&eacute;cifi&eacute; (par exemple, <code>text/html</code>). Le second
176     argument d&eacute;finit le nombre de secondes qui seront ajout&eacute;es &agrave; un
177     temps de base pour calculer la date d'expiration.
178     <code>Cache-Control: max-age</code> se calcule en soustrayant la
179     date de la requ&ecirc;te de la date d'expiration et s'exprime en
180     secondes.</p>
181
182     <p>Le champ <code><var>&lt;code&gt;</var></code> permet de sp&eacute;cifier
183     quel temps doit &ecirc;tre utilis&eacute; comme temps de base; <code>M</code>
184     signifie que c'est la date
185     de derni&egrave;re modification du fichier qui doit &ecirc;tre utilis&eacute;e comme
186     temps de base, alors que <code>A</code> signifie que c'est le moment
187     o&ugrave; le client a acc&eacute;d&eacute; au document qui doit &ecirc;tre utilis&eacute; comme temps
188     de base.</p>
189
190     <p>La diff&eacute;rence d'effet est subtile. Si on utilise <code>M</code>,
191     toutes les copies existantes du document dans tous les caches
192     expireront au m&ecirc;me moment, ce qui peut convenir par exemple pour une
193     notice hebdomadaire qui correspond toujours &agrave; la m&ecirc;me URL. Si on
194     utilise <code>A</code>, la date d'expiration sera diff&eacute;rente pour
195     chaque client, ce qui peut convenir pour des fichiers d'images qui
196     ne changent pas tr&egrave;s souvent, et en particulier pour un ensemble de
197     documents en relation qui se r&eacute;f&egrave;rent tous aux m&ecirc;mes images (ces
198     images sont alors acc&eacute;d&eacute;es de mani&egrave;re r&eacute;p&eacute;titive dans un intervalle
199     de temps assez court).</p>
200
201     <example><title>Exemple :</title>
202       <highlight language="config">
203 # active la g&eacute;n&eacute;ration des en-t&ecirc;tes Expires
204 ExpiresActive On
205 # les images GIF expirent au bout d'un mois dans le cache du
206 # client
207 ExpiresByType image/gif A2592000
208 # les documents HTML restent valables une semaine apr&egrave;s leur date
209 # de derni&egrave;re modification
210 ExpiresByType text/html M604800
211       </highlight>
212     </example>
213
214     <p>Notez que cette directive ne produit d'effet que si
215     <code>ExpiresActive On</code> a &eacute;t&eacute; sp&eacute;cifi&eacute;. Elle l'emporte, mais
216     <em>seulement</em> pour le type MIME sp&eacute;cifi&eacute;, sur toute date
217     d'expiration d&eacute;finie par la directive <directive
218     module="mod_expires">ExpiresDefault</directive>.</p>
219
220     <p>Vous pouvez aussi d&eacute;finir le mode de calcul de la date
221     d'expiration en utilisant une <a href="#AltSyn">syntaxe
222     alternative</a>, comme d&eacute;crit plus haut dans ce document.</p>
223 </usage>
224 </directivesynopsis>
225
226 <directivesynopsis>
227 <name>ExpiresDefault</name>
228 <description>Mode de calcul par d&eacute;faut de la date
229 d'expiration</description>
230 <syntax>ExpiresDefault <var>&lt;code&gt;secondes</var></syntax>
231 <contextlist><context>server config</context><context>virtual host</context>
232 <context>directory</context><context>.htaccess</context></contextlist>
233 <override>Indexes</override>
234
235 <usage>
236     <p>Cette directive permet de d&eacute;finir le mode de calcul par d&eacute;faut de
237     la date d'expiration pour tous les documents du domaine consid&eacute;r&eacute;.
238     Elle peut &ecirc;tre annul&eacute;e pour certains types de documents par la
239     directive <directive
240     module="mod_expires">ExpiresByType</directive>. Voir la description
241     de cette derni&egrave;re directive pour plus de d&eacute;tails &agrave; propos de la
242     syntaxe de l'argument, ainsi que la description de la <a
243     href="#AltSyn">syntaxe alternative</a>.</p>
244 </usage>
245 </directivesynopsis>
246 </modulesynopsis>
247