1 <?xml version="1.0" encoding="ISO-8859-1" ?>
2 <!DOCTYPE manualpage SYSTEM "./style/manualpage.dtd">
3 <?xml-stylesheet type="text/xsl" href="./style/manual.fr.xsl"?>
4 <!-- French translation : Lucien GENTIS -->
5 <!-- Reviewed by : Vincent Deffontaines -->
6 <!-- English Revision : 1088588 -->
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
16 http://www.apache.org/licenses/LICENSE-2.0
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.
25 <manualpage metafile="new_features_2_4.xml.meta">
27 <title>Vue d'ensemble des nouvelles fonctionnalités de la version 2.4 du
28 serveur HTTP Apache</title>
31 <p>Ce document décrit certaines modifications majeures entre les versions
32 2.2 et 2.4 du serveur HTTP Apache. Pour les nouvelles fonctionnalités
33 ajoutées depuis la version 2.0, se référer au document
34 <a href="new_features_2_2.html">nouvelles fonctionnalités
35 de la version 2.2</a>.</p>
39 <title>Améliorations du noyau</title>
41 <dt>KeepAliveTimeout en millisecondes</dt>
43 <dd>La directive <directive module="core"
44 >KeepAliveTimeout</directive> permet dorénavant de
45 préciser une durée de vie en millisecondes.
48 <dt>MPMs chargeables</dt>
49 <dd>On peut maintenant compiler plusieurs MPMs en tant que modules
50 chargeables. La configuration du MPM choisi s'effectue à
51 l'exécution.</dd>
53 <dt>Configuration du niveau de journalisation (LogLevel) par
54 module et par répertoire</dt>
55 <dd>La directive <directive module="core">LogLevel</directive>
56 peut maintenant être définie par module et par répertoire. Les
57 nouveaux niveaux <code>trace1</code> à <code>trace8</code> ont été
58 ajoutés au dessus du niveau de journalisation <code>debug</code>.</dd>
61 <dd>Le MPM Event est sorti du mode expérimental pour être
62 pleinement supporté.</dd>
64 <dt>Support du mode asynchrone</dt>
65 <dd>Le support des lectures/écritures asynchrones pour les MPMs et
66 les plateformes qui l'implémentent a été amélioré.</dd>
68 <dt>Sections de configuration au niveau de la requête</dt>
69 <dd>Les sections <<directive module="core">If</directive>>
70 permettent de définir une configuration en fonction de critères
71 liés à la requête.</dd>
76 <section id="newmods">
77 <title>Nouveau modules</title>
79 <dt><module>mod_allowmethods</module></dt>
80 <dd>Nouveau module permettant de restreindre l'utilisation de
81 certaines méthodes HTTP sans interférer avec l'authentification et
84 <dt><module>mod_buffer</module></dt>
85 <dd>Fournit un tampon pour les piles des filtres en entrée et en
88 <dt><module>mod_lua</module></dt>
89 <dd>Embarque le langage <a href="http://www.lua.org/">Lua</a> dans
90 httpd pour la configuration et les fonctions logiques courantes.</dd>
92 <dt><module>mod_proxy_fcgi</module></dt>
93 <dd>Mise à disposition du protocole FastCGI pour
94 <module>mod_proxy</module>.</dd>
96 <dt><module>mod_proxy_scgi</module></dt>
97 <dd>Mise à disposition du protocole SCGI pour
98 <module>mod_proxy</module>.</dd>
100 <dt><module>mod_ratelimit</module></dt>
101 <dd>Permet de limiter le taux de bande passante pour certains
104 <dt><module>mod_reflector</module></dt>
105 <dd>Permet de renvoyer comme réponse le corps de la requête via la
106 pile du filtre de sortie.</dd>
108 <dt><module>mod_remoteip</module></dt>
109 <dd>Remplace l'adresse IP distante et le nom d'hôte apparents du
110 client pour la requête courante par la liste d'adresses IP
111 présentée par un mandataire ou un répartiteur de charge via les
112 en-têtes de la requête.</dd>
114 <dt><module>mod_reqtimeout</module></dt>
115 <dd>Définit le délai d'expiration et le taux de données minimum
116 pour la réception des requêtes.</dd>
118 <dt><module>mod_request</module></dt>
119 <dd>Fournit des filtres permettant de gérer et de mettre à
120 disposition les corps des requêtes HTTP.</dd>
122 <dt><module>mod_slotmem_shm</module></dt>
123 <dd>Met à disposition un fournisseur de mémoire partagée à base de
124 slots (du style tableau de bord).</dd>
129 <section id="module">
130 <title>Améliorations des modules</title>
132 <dt><module>mod_ssl</module></dt>
134 <dd><module>mod_ssl</module> peut maintenant vérifier la
135 validité des certificats clients en se connectant à
136 un serveur OCSP. Il est possible de définir un
137 répondeur par défaut, et de choisir si l'on
138 préfère le répondeur désigné
139 dans le certificat client lui-même.</dd>
141 <dd><module>mod_ssl</module> supporte aussi maintenant le lien
142 OCSP, par lequel le serveur obtient activement une vérification
143 OCSP de son certificat et la transmet au client durant la phase
144 de négociation de la connexion.</dd>
146 <dd>On peut maintenant configurer <module>mod_ssl</module> pour
147 que celui-ci partage les données de session SSL entre les serveurs
150 <dt><module>mod_proxy</module></dt>
152 <dd>La directive <directive
153 module="mod_proxy">ProxyPass</directive> est maintenant configurée
154 de la manière la plus optimale dans les sections <directive
155 module="core">Location</directive> ou <directive
156 module="core">LocationMatch</directive>, et offre un gain de
157 performances important par rapport à la syntaxe traditionnelle à
158 deux paramètres lorsqu'elle est présente en grand nombre.</dd>
160 <dt><module>mod_proxy_balancer</module></dt>
162 <dd>D'avantage de possibilités de modifier la configuration à
163 l'exécution des membres de groupes de répartition de charge via le
164 gestionnaire de répartition de charge.</dd>
166 <dd>Le gestionnaire de répartition de charge permet d'ajouter des
167 membres de groupes de répartition de charge supplémentaires à
168 l'exécution.</dd>
170 <dd>Configuration à l'exécution d'un sous-ensemble de paramètres
171 de répartition de charge.</dd>
173 <dt><module>mod_cache</module></dt>
175 <dd><module>mod_cache</module> peut maintenant mettre en cache des
176 requêtes HEAD.</dd>
178 <dd>Chaque fois que cela est possible, les directives de
179 <module>mod_cache</module> peuvent maintenant être définies au
180 niveau du répertoire, et non plus seulement au niveau du serveur
183 <dd>L'URL de base des URLs en cache peut être personnalisée de
184 façon à ce qu'un cluster de caches puisse partager le même préfixe
187 <dd><module>mod_cache</module> peut maintenant servir du contenu
188 non mis à jour lorsqu'un serveur d'arrière-plan n'est pas
189 disponible (erreur 5xx).</dd>
191 <dd><module>mod_cache</module> peut maintenant insérer
192 HIT/MISS/REVALIDATE dans un en-tête X-Cache.</dd>
194 <dt><module>mod_include</module></dt>
195 <dd>Support de l'attribut 'onerror' dans un élément 'include',
196 permettant de servir un message d'erreur personnalisé à la place
197 du message d'erreur par défaut.</dd>
199 <dt><module>mod_cgi</module>, <module>mod_include</module>,
200 <module>mod_isapi</module>, ...</dt>
201 <dd>La traduction des en-têtes en variables d'environnement est
202 plus stricte qu'avant, ce qui permet de diminuer l'exposition aux attaques
203 de type cross-site-scripting via injection d'en-têtes. Les
204 en-têtes contenant des caractères invalides (comme les caractères
205 de soulignement) sont maintenant ignorés. Le document <a
206 href="env.html">Les variables d'environnement dans Apache</a>
207 présentent quelques pistes pour contourner ce problème avec les
208 clients anciens qui nécessitent de tels en-têtes (Ceci affecte
209 tous les modules qui utilisent ces variables d'environnement).</dd>
211 <dt><module>mod_authz_core</module>Conteneurs de logique d'autorisation</dt>
213 <dd>La directive <directive
214 module="mod_authz_core">Require</directive> et les directives de
215 conteneurs associées, comme <directive module="mod_authz_core"
216 type="section">RequireAll</directive>, permettent de définir une
217 logique d'autorisation avancée.</dd>
219 <dt><module>mod_info</module></dt>
220 <dd><module>mod_info</module> est maintenant capable d'afficher la
221 configuration préinterprétée sur stdout au cours du démarrage du
224 <dt><module>mod_rewrite</module></dt>
225 <dd>La directive <directive
226 module="mod_rewrite">RewriteRule</directive> dispose maintenant
227 des drapeaux <code>[QSD]</code> (Query String Discard) et
228 <code>[END]</code> qui permettent de simplifier les scénarios de
229 réécriture courants.</dd>
234 <section id="programs">
235 <title>Améliorations des programmes</title>
238 <dd>Utilitaire pour le démarrage des démons FastCGI</dd>
239 <dt>htcacheclean</dt>
240 <dd>Les URLs présentes dans le cache peuvent maintenant être
241 affichées, accompagnées éventuellement de leurs métadonnées.</dd>
242 <dd>Permet d'effacer explicitement des URLs individuelles
243 présentes dans le cache.</dd>
244 <dd>Les tailles de fichiers peuvent maintenant être arrondies au
245 multiple de la taille de bloc donnée, les limites de taille
246 collant de ce fait d'avantage à la taille réelle sur disque.</dd>
247 <dd>La taille du cache peut maintenant être limitée par le
248 nombre d'inodes, en plus de la possibilité de limitation par la
249 taille des fichiers.</dd>
253 <section id="developer">
254 <title>Modifications pour le développeur de modules</title>
256 <dt>Ajout de code pour la vérification de la configuration</dt>
258 <dd>Une nouvelle fonction, <code>check_config</code>, a été ajoutée et
259 s'exécute entre les fonctions <code>pre_config</code> et
260 <code>open_logs</code>. Elle s'exécute aussi avant la fonction
261 <code>test_config</code> si l'option <code>-t</code> est passée au
262 démon <program>httpd</program>. La fonction <code>check_config</code>
263 permet aux modules de vérifier l'interdépendance des valeurs des
264 directives de configuration et d'ajuster ces valeurs, alors que les
265 messages du serveur peuvent encore être affichés sur la console.
266 L'utilisateur est ainsi averti des erreurs de configuration avant que la
267 fonction du noyau <code>open_logs</code> ne redirige les sorties de la
268 console vers le journal des erreurs.</dd>
270 <dt>Ajout d'un analyseur syntaxique d'expressions</dt>
271 <dd>Nous disposons à présent d'un analyseur générique d'expressions, dont l'API
272 est décrite dans <var>ap_expr.h</var>. Il s'agit d'une adaptation de
273 l'analyseur qu'on trouvait auparavant dans <module>mod_include</module>.</dd>
275 <dt>Conteneurs de logique d'autorisation</dt>
277 <dd>Afin de fournir une logique d'autorisation avancée via des
278 directives telles que <directive module="mod_authz_core"
279 type="section">RequireAll</directive>, les modules d'autorisation
280 s'enregistrent maintenant en tant
281 que fournisseur par le biais de ap_register_auth_provider().</dd>
283 <dt>Interface de mise en cache des petits objets</dt>
285 <dd>Le fichier d'en-têtes <var>ap_socache.h</var> fournit une
286 interface à base de fournisseur pour la mise en cache des petits
287 objets de données, en s'inspirant de
288 l'implémentation précédente
289 du cache de session par <module>mod_ssl</module>. Sont supportés
290 actuellement : les fournisseurs utilisant un tampon cyclique en
291 mémoire partagée, les fichiers dbm sur disque, et les caches
292 distribués de type memcache.</dd>
294 <dt>Ajout du point d'ancrage Cache Status</dt>
296 <dd>Le module <module>mod_cache</module> inclut maintenant un
297 nouveau point d'ancrage, <code>cache_status</code>, qui est appelé
298 lorsque la décision à propos de la mise en cache est connue. Il en
299 existe une implémentation par défaut qui ajoute les en-têtes
300 optionnels <code>X-Cache</code> et <code>X-Cache-Detail</code> à
301 la réponse.</dd>
305 <p>La documentation du développeur contient une <a
306 href="developer/new_api_2_4.html">liste détaillée des modifications