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 : 1189549 -->
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 les modifications majeures apportées par
32 la version 2.4 du serveur HTTP Apache. Pour les nouvelles fonctionnalités
33 ajoutées par la version 2.2, 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>
42 <dd>La directive <directive module="core"
43 >KeepAliveTimeout</directive> permet dorénavant de
44 préciser une durée de vie en millisecondes.
47 <dt>Modules multiprocessus (MPMs) chargeables</dt>
48 <dd>On peut maintenant compiler plusieurs MPMs en tant que modules
49 chargeables. Le choix du MPM à utiliser s'effectue à
50 l'exécution.</dd>
52 <dt>Configuration du niveau de journalisation (LogLevel) par
53 module et par répertoire</dt>
54 <dd>La directive <directive module="core">LogLevel</directive>
55 peut maintenant être définie par module et par répertoire. Les
56 nouveaux niveaux <code>trace1</code> à <code>trace8</code> ont été
57 ajoutés au dessus du niveau de journalisation <code>debug</code>.</dd>
60 <dd>Le MPM Event est sorti du stade expérimental et est
61 maintenant pleinement supporté.</dd>
63 <dt>Support du mode asynchrone</dt>
64 <dd>Le support des lectures/écritures asynchrones pour les MPMs et
65 les plateformes qui l'implémentent a été amélioré.</dd>
67 <dt>Sections de configuration au niveau de la requête</dt>
68 <dd>Les sections <<directive module="core">If</directive>>
69 permettent de définir une configuration en fonction de critères
70 liés à la requête.</dd>
72 <dt>NameVirtualHost directive</dt>
73 <dd>Cette directive obsolète n'est plus utile.</dd>
78 <section id="newmods">
79 <title>Nouveau modules</title>
81 <dt><module>mod_allowmethods</module></dt>
82 <dd>Permet de restreindre l'utilisation de
83 certaines méthodes HTTP sans interférer avec l'authentification et
86 <dt><module>mod_buffer</module></dt>
87 <dd>Fournit un tampon pour les piles des filtres en entrée et en
90 <dt><module>mod_data</module></dt>
91 <dd>Convertit un corps de réponse en URL de type données RFC2397.</dd>
93 <dt><module>mod_lua</module></dt>
94 <dd>Embarque le langage <a href="http://www.lua.org/">Lua</a> dans
95 httpd pour la configuration et les fonctions logiques courantes.</dd>
97 <dt><module>mod_proxy_express</module></dt>
98 <dd>Ajoute à <module>mod_proxy</module> la configuration dynamique
99 de mandataires inverses en masse.</dd>
101 <dt><module>mod_proxy_fcgi</module></dt>
102 <dd>Mise à disposition du protocole FastCGI pour
103 <module>mod_proxy</module>.</dd>
105 <dt><module>mod_proxy_scgi</module></dt>
106 <dd>Mise à disposition du protocole SCGI pour
107 <module>mod_proxy</module>.</dd>
109 <dt><module>mod_ratelimit</module></dt>
110 <dd>Permet de limiter la bande passante pour certains
113 <dt><module>mod_reflector</module></dt>
114 <dd>Permet de renvoyer comme réponse le corps de la requête via la
115 pile du filtre de sortie.</dd>
117 <dt><module>mod_remoteip</module></dt>
118 <dd>Remplace l'adresse IP distante et le nom d'hôte apparents du
119 client pour la requête courante par la liste d'adresses IP
120 présentée par un mandataire ou un répartiteur de charge via les
121 en-têtes de la requête.</dd>
123 <dt><module>mod_reqtimeout</module></dt>
124 <dd>Définit la durée de vie et le taux de transfert de données minimum
125 pour la réception des requêtes.</dd>
127 <dt><module>mod_request</module></dt>
128 <dd>Fournit des filtres permettant de gérer et de mettre à
129 disposition les corps des requêtes HTTP.</dd>
131 <dt><module>mod_slotmem_shm</module></dt>
132 <dd>Met à disposition un fournisseur de mémoire partagée à base de
133 slots (du style tableau de bord).</dd>
135 <dt><module>mod_log_debug</module></dt>
136 <dd>Permet d'introduire une journalisation personnalisée à
137 différentes phases du traitement de la requête.</dd>
139 <dt><module>mod_xml2enc</module></dt>
140 <dd>Anciennement module tiers, il supporte l'internationalisation
141 dans les modules de filtrage basés sur libxml2 (support du
145 <dt><module>mod_proxy_html</module></dt>
146 <dd>Anciennement module tiers, il supporte la correction des liens
147 HTML dans une situation de mandat inverse, où le serveur
148 d'arrière-plan génère des URLs qui ne sont pas valides du point de
149 vue des clients du mandataire.</dd>
154 <section id="module">
155 <title>Améliorations des modules</title>
157 <dt><module>mod_ssl</module></dt>
159 <dd><module>mod_ssl</module> peut maintenant vérifier la
160 validité des certificats clients en se connectant à
161 un serveur OCSP. Il est possible de définir un
162 répondeur par défaut, et de choisir si l'on
163 préfère le répondeur désigné
164 dans le certificat client.</dd>
166 <dd>En outre, <module>mod_ssl</module> supporte maintenant
167 l'estampillage OCSP (OCSP stapling), qui permet au serveur
168 d'attester la validité de son certificat auprès du client au
169 cours de la phase de négociation de la connexion.</dd>
171 <dd>Enfin, <module>mod_ssl</module> peut maintenant être configuré pour
172 que celui-ci partage les données de session SSL entre les serveurs
175 <dt><module>mod_proxy</module></dt>
177 <dd>La directive <directive
178 module="mod_proxy">ProxyPass</directive> est maintenant configurée
179 de manière optimale dans les sections <directive
180 module="core">Location</directive> ou <directive
181 module="core">LocationMatch</directive>, et offre un gain de
182 performances important par rapport à la syntaxe traditionnelle à
183 deux paramètres lorsqu'elle est présente en grand nombre.</dd>
185 <dt><module>mod_proxy_balancer</module></dt>
187 <dd>Le gestionnaire de répartition de charge propose de nouvelles
188 fonctionnalités. Ainsi, les possibilités de configuration des
189 membres du groupe de répartition de charge pendant l'exécution ont
190 été améliorées (possibilité d'ajout d'un membre supplémentaire).</dd>
192 <dd>Configuration à l'exécution d'un sous-ensemble de paramètres
193 de répartition de charge.</dd>
195 <dd>Les membres du groupe de répartition peuvent être définis à
196 'Drain' de façon à ce qu'ils ne répondent qu'aux sessions
197 persistantes existantes, ce qui permet de les mettre hors ligne en
200 <dd>Les règlages du répartiteur de charge peuvent être rendus
201 persistants après redémarrage.</dd>
203 <dt><module>mod_cache</module></dt>
205 <dd><module>mod_cache</module> peut maintenant mettre en cache des
206 requêtes HEAD.</dd>
208 <dd>Chaque fois que cela est possible, les directives de
209 <module>mod_cache</module> peuvent maintenant être définies au
210 niveau du répertoire, et non plus seulement au niveau du serveur
213 <dd>L'URL de base des URLs en cache peut être personnalisée de
214 façon à ce qu'un cluster de caches puisse partager le même préfixe
217 <dd><module>mod_cache</module> peut maintenant servir du contenu
218 non mis à jour lorsqu'un serveur d'arrière-plan n'est pas
219 disponible (erreur 5xx).</dd>
221 <dd><module>mod_cache</module> peut maintenant insérer
222 HIT/MISS/REVALIDATE dans un en-tête X-Cache.</dd>
224 <dt><module>mod_include</module></dt>
225 <dd>Support de l'attribut 'onerror' dans un élément 'include',
226 permettant de renvoyer un message d'erreur personnalisé à la place
227 du message d'erreur par défaut.</dd>
229 <dt><module>mod_cgi</module>, <module>mod_include</module>,
230 <module>mod_isapi</module>, ...</dt>
231 <dd>La traduction des en-têtes en variables d'environnement est
232 plus stricte qu'avant, ce qui permet de diminuer l'exposition aux attaques
233 de type cross-site-scripting via injection d'en-têtes. Les
234 en-têtes contenant des caractères invalides (comme les caractères
235 de soulignement) sont maintenant ignorés. Le document <a
236 href="env.html">Les variables d'environnement dans Apache</a>
237 présente quelques pistes pour contourner ce problème avec les
238 clients anciens qui nécessitent de tels en-têtes (Ceci affecte
239 tous les modules qui utilisent ces variables d'environnement).</dd>
241 <dt><module>mod_authz_core</module>Conteneurs de logique d'autorisation</dt>
243 <dd>La directive <directive
244 module="mod_authz_core">Require</directive> et les directives de
245 conteneurs associées, comme <directive module="mod_authz_core"
246 type="section">RequireAll</directive>, permettent de définir une
247 logique d'autorisation avancée.</dd>
249 <dt><module>mod_info</module></dt>
250 <dd><module>mod_info</module> est maintenant capable d'afficher la
251 configuration préinterprétée sur stdout au cours du démarrage du
254 <dt><module>mod_rewrite</module></dt>
255 <dd>La directive <directive
256 module="mod_rewrite">RewriteRule</directive> dispose maintenant
257 des drapeaux <code>[QSD]</code> (Query String Discard) et
258 <code>[END]</code> qui permettent de simplifier les scénarios de
259 réécriture courants.</dd>
264 <section id="programs">
265 <title>Améliorations des programmes</title>
268 <dd>Utilitaire pour le démarrage des démons FastCGI</dd>
269 <dt>htcacheclean</dt>
270 <dd>Les URLs présentes dans le cache peuvent maintenant être
271 affichées, accompagnées éventuellement de leurs métadonnées.</dd>
272 <dd>Possibilité de supprimer explicitement des URLs individuelles
273 présentes dans le cache.</dd>
274 <dd>Les tailles de fichiers peuvent maintenant être arrondies au
275 multiple de la taille de bloc donnée, les limites de taille
276 collant de ce fait d'avantage à la taille réelle sur disque.</dd>
277 <dd>La taille du cache peut maintenant être limitée par le
278 nombre d'inodes, en plus de la possibilité de limitation par la
279 taille des fichiers.</dd>
283 <section id="developer">
284 <title>Modifications concernant les développeur de modules</title>
286 <dt>Ajout de code pour la vérification de la configuration</dt>
288 <dd>Une nouvelle fonction, <code>check_config</code>, a été ajoutée et
289 s'exécute entre les fonctions <code>pre_config</code> et
290 <code>open_logs</code>. Elle s'exécute aussi avant la fonction
291 <code>test_config</code> si l'option <code>-t</code> est passée au
292 démon <program>httpd</program>. La fonction <code>check_config</code>
293 permet aux modules de vérifier l'interdépendance des valeurs des
294 directives de configuration et d'ajuster ces valeurs, alors que les
295 messages du serveur peuvent encore être affichés sur la console.
296 L'utilisateur est ainsi averti des erreurs de configuration avant que la
297 fonction du noyau <code>open_logs</code> ne redirige les sorties de la
298 console vers le journal des erreurs.</dd>
300 <dt>Ajout d'un analyseur syntaxique d'expressions</dt>
301 <dd>Nous disposons à présent d'un analyseur générique d'expressions, dont l'API
302 est décrite dans <var>ap_expr.h</var>. Il s'agit d'une adaptation de
303 l'analyseur qu'on trouvait auparavant dans <module>mod_ssl</module>.</dd>
305 <dt>Conteneurs de logique d'autorisation</dt>
307 <dd>Afin de fournir une logique d'autorisation avancée via des
308 directives telles que <directive module="mod_authz_core"
309 type="section">RequireAll</directive>, les modules d'autorisation
310 s'enregistrent maintenant en tant
311 que fournisseur par le biais de ap_register_auth_provider().</dd>
313 <dt>Interface de mise en cache des petits objets</dt>
315 <dd>Le fichier d'en-têtes <var>ap_socache.h</var> fournit une
316 interface à base de fournisseur pour la mise en cache des petits
317 objets de données, en s'inspirant de
318 l'implémentation précédente
319 du cache de session par <module>mod_ssl</module>. Sont supportés
320 actuellement : les fournisseurs utilisant un tampon cyclique en
321 mémoire partagée, les fichiers dbm sur disque, et les caches
322 distribués de type memcache.</dd>
324 <dt>Ajout du point d'ancrage Cache Status</dt>
326 <dd>Le module <module>mod_cache</module> inclut maintenant un
327 nouveau point d'ancrage, <code>cache_status</code>, qui est appelé
328 lorsque la décision à propos de la mise en cache est connue. Il en
329 existe une implémentation par défaut qui ajoute les en-têtes
330 optionnels <code>X-Cache</code> et <code>X-Cache-Detail</code> à
331 la réponse.</dd>
335 <p>La documentation du développeur contient une <a
336 href="developer/new_api_2_4.html">liste détaillée des modifications