]> granicus.if.org Git - apache/blob - docs/manual/new_features_2_4.xml.fr
Merge in APR[-util] macros from branches/trunk-buildconf-noapr
[apache] / docs / manual / new_features_2_4.xml.fr
1 <?xml version="1.0" encoding="UTF-8" ?>
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: 1787943 -->
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 <manualpage metafile="new_features_2_4.xml.meta">
26
27 <title>Vue d'ensemble des nouvelles fonctionnalités de la version 2.4 du
28 serveur HTTP Apache</title>
29
30 <summary>
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>
36 </summary>
37
38   <section id="core">
39     <title>Améliorations du noyau</title>
40     <dl>
41       <dt>Modules multiprocessus (MPMs) chargeables à l'exécution</dt>
42       <dd>Plusieurs MPMs peuvent maintenant être <a
43       href="mpm.html#dynamic">compilés en tant que modules
44       chargeables</a>. Le choix du MPM à utiliser s'effectue
45       à l'exécution via la directive <directive
46       module="mod_so">LoadModule</directive>.</dd>
47
48       <dt>MPM Event</dt>
49       <dd>Le <a href="mod/event.html">MPM Event</a> n'en est plus au stade expérimental et est
50       maintenant pleinement supporté.</dd>
51
52       <dt>Support du mode asynchrone</dt>
53       <dd>Le support des lectures/écritures asynchrones pour les MPMs et
54       les plateformes qui l'implémentent a été amélioré.</dd>
55
56       <dt>Configuration du niveau de journalisation (LogLevel) par
57       module et par répertoire</dt>
58       <dd>La directive <directive module="core">LogLevel</directive>
59       peut maintenant être définie par module et par répertoire. Les
60       nouveaux niveaux <code>trace1</code> à <code>trace8</code> ont été
61       ajoutés au dessus du niveau de journalisation <code>debug</code>.</dd>
62
63       <dt>Sections de configuration au niveau requête</dt>
64       <dd>Les sections <directive module="core">If</directive>,
65       <directive module="core" type="section">ElseIf</directive> et
66       <directive module="core" type="section">Else</directive>
67       permettent de définir une configuration en fonction de critères
68       liés à la requête.</dd>
69
70       <dt>Interpréteur d'expressions à usage général</dt>
71       <dd>Un nouvel interpréteur d'expressions permet de spécifier des
72       <a href="expr.html">conditions complexes</a> via des directives à
73       syntaxe commune comme <directive
74       module="mod_setenvif">SetEnvIfExpr</directive>, <directive
75       module="mod_rewrite">RewriteCond</directive>, <directive
76       module="mod_headers">Header</directive>,
77       <directive module="core" type="section">If</directive>, etc...
78       </dd>
79
80       <dt>KeepAliveTimeout en millisecondes</dt>
81       <dd>Il est maintenant possible de définir la directive <directive
82       module="core">KeepAliveTimeout</directive> en millisecondes.
83       </dd>
84
85       <dt>Directive NameVirtualHost</dt>
86       <dd>Cette directive n'est plus nécessaire et est maintenant obsolète.</dd>
87
88       <dt>Directives autorisées dans les fichiers <code>.htaccess</code></dt>
89       <dd>La nouvelle directive <directive
90       module="core">AllowOverrideList</directive> permet de contrôler de
91       manière plus précise la liste des directives autorisées dans les
92       fichiers <code>.htaccess</code>.</dd>
93
94       <dt>Variables dans les fichiers de configuration</dt>
95       <dd>La directive <directive module="core">Define</directive>
96       permet de définir des variables dans les fichiers de
97       configuration, améliorant ainsi la clareté de la présentation si
98       la même valeur est utilisée en plusieurs points de la
99       configuration.
100       </dd>
101
102       <dt>Diminution de la mémoire utilisée</dt>
103       <dd>Bien qu'elle propose de nombreuses nouvelles fonctionnalités,
104       la version 2.4.x tend à utiliser moins de mémoire que la version
105       2.2.x.</dd>
106
107     </dl>
108   </section>
109
110   <section id="newmods">
111     <title>Nouveau modules</title>
112     <dl>      
113
114       <dt><module>mod_proxy_fcgi</module></dt>
115       <dd>Mise à disposition du protocole FastCGI pour
116       <module>mod_proxy</module>.</dd>
117
118       <dt><module>mod_proxy_scgi</module></dt>
119       <dd>Mise à disposition du protocole SCGI pour
120       <module>mod_proxy</module>.</dd>
121
122       <dt><module>mod_proxy_express</module></dt>
123       <dd>Ajoute à <module>mod_proxy</module> la configuration dynamique
124       de mandataires inverses en masse.</dd>
125
126       <dt><module>mod_remoteip</module></dt>
127       <dd>Remplace l'adresse IP distante et le nom d'hôte apparents du
128       client pour la requête courante par la liste d'adresses IP
129       présentée par un mandataire ou un répartiteur de charge via les
130       en-têtes de la requête.</dd>
131
132       <dt><module>mod_heartmonitor</module>,
133           <module>mod_lbmethod_heartbeat</module></dt>
134       <dd>Permet à <module>mod_proxy_balancer</module> de répartir la
135       charge en fonction du nombre de connexions actives sur les
136       serveurs d'arrière-plan.</dd>
137
138       <dt><module>mod_proxy_html</module></dt>
139       <dd>Anciennement module tiers, il supporte la correction des liens
140       HTML dans une situation de mandat inverse, où le serveur
141       d'arrière-plan génère des URLs qui ne sont pas valides du point de
142       vue des clients du mandataire.</dd>
143
144       <dt><module>mod_sed</module></dt>
145       <dd>Une amélioration de <module>mod_substitute</module> qui permet
146       d'éditer le corps de la réponse avec toute la puissance de la
147       commande sed.</dd>
148
149       <dt><module>mod_auth_form</module></dt>
150       <dd>Implémente une authentification à base de formulaire.</dd>
151
152       <dt><module>mod_session</module></dt>
153       <dd>Permet de conserver les données de sessions des clients sous
154       forme de cookies ou dans une base de données.</dd>
155
156       <dt><module>mod_allowmethods</module></dt>
157       <dd>Permet de restreindre l'utilisation de
158       certaines méthodes HTTP sans interférer avec l'authentification et
159       l'autorisation.</dd>      
160
161       <dt><module>mod_lua</module></dt>
162       <dd>Embarque le langage <a href="http://www.lua.org/">Lua</a> dans
163       httpd pour la configuration et les fonctions logiques courantes
164       (Expérimental).</dd>
165
166       <dt><module>mod_log_debug</module></dt>
167       <dd>Permet d'introduire une journalisation personnalisée à
168       différentes phases du traitement de la requête.</dd>
169
170       <dt><module>mod_buffer</module></dt>
171       <dd>Fournit un tampon pour les piles des filtres en entrée et en
172       sortie.</dd>
173
174       <dt><module>mod_data</module></dt>
175       <dd>Convertit un corps de réponse en URL de type données RFC2397.</dd>
176
177       <dt><module>mod_ratelimit</module></dt>
178       <dd>Permet de limiter la bande passante pour certains
179       clients.</dd>
180
181       <dt><module>mod_request</module></dt>
182       <dd>Fournit des filtres permettant de gérer et de mettre à
183       disposition les corps des requêtes HTTP.</dd>
184
185       <dt><module>mod_reflector</module></dt>
186       <dd>Permet de renvoyer comme réponse le corps de la requête via la
187       pile du filtre de sortie.</dd>
188       
189       <dt><module>mod_slotmem_shm</module></dt>
190       <dd>Met à disposition un fournisseur de mémoire partagée à base de
191       slots (du style tableau de bord).</dd>
192
193       <dt><module>mod_xml2enc</module></dt>
194       <dd>Anciennement module tiers, il supporte l'internationalisation
195       dans les modules de filtrage basés sur libxml2 (support du
196       markup)</dd>
197
198       <dt><module>mod_macro</module> (disponible à partir de la version 2.4.5)</dt>
199       <dd>Permet d'utiliser des macros au sein des fichiers de
200       configuration.</dd>
201
202       <dt><module>mod_proxy_wstunnel</module> (disponible à partir de la version 2.4.5)</dt>
203       <dd>Support des tunnels web-socket.</dd>
204
205       <dt><module>mod_authnz_fcgi</module> (disponible à partir de la version 2.4.10)</dt>
206       <dd>Permet aux applications d'autorisation FastCGI d'authentifier
207       et/ou autoriser les clients.</dd>
208
209       <dt><module>mod_http2</module> (disponible à partir de la
210       version 2.4.17)</dt>
211       <dd>Support de la couche transport HTTP/2.</dd>
212
213       <dt><module>mod_proxy_hcheck</module> (disponible à partir de la version 2.4.21)</dt>
214       <dd>Support d'un bilan de santé dynamique indépendant pour les serveurs
215       d'arrière-plan mandatés distants.</dd>
216
217     </dl>
218   </section>
219
220   <section id="module">
221     <title>Améliorations des modules</title>
222     <dl>
223       <dt><module>mod_ssl</module></dt>
224
225       <dd><module>mod_ssl</module> peut maintenant vérifier la
226       validité des certificats clients en se connectant à
227       un serveur OCSP. Il est possible de définir un
228       répondeur par défaut, et de choisir si l'on
229       préfère le répondeur désigné
230       dans le certificat client.</dd>
231
232         <dd>En outre, <module>mod_ssl</module> supporte maintenant
233         l'estampillage OCSP (OCSP stapling), qui permet au serveur
234         d'attester la validité de son certificat auprès du client au
235         cours de la phase de négociation de la connexion.</dd>
236
237       <dd>Enfin, <module>mod_ssl</module> peut maintenant être configuré pour
238       que celui-ci partage les données de session SSL entre les serveurs
239       via memcached.</dd>
240
241       <dd>Le support des clés EC a été ajouté à celui des clés RSA et
242       DSA.</dd>
243
244       <dd>Support de TLS-SRP (disponible à partir de la version 2.4.4).</dd>
245
246       <dt><module>mod_proxy</module></dt>
247
248       <dd>La directive <directive
249       module="mod_proxy">ProxyPass</directive> est maintenant configurée
250       de manière optimale dans les sections <directive
251       module="core">Location</directive> ou <directive
252       module="core">LocationMatch</directive>, et offre un gain de
253       performances important par rapport à la syntaxe traditionnelle à
254       deux paramètres lorsqu'elle est présente en grand nombre.</dd>
255
256       <dd>Il est maintenant possible de configurer l'adresse source dans
257       les requêtes mandatées.</dd>
258
259       <dd>Support des sockets de type Unix vers le serveur
260       d'arrière-plan (disponible à partir de la version 2.4.7).</dd>
261
262       <dt><module>mod_proxy_balancer</module></dt>
263
264       <dd>Le gestionnaire de répartition de charge propose de nouvelles
265       fonctionnalités. Ainsi, les possibilités de configuration des
266       membres du groupe de répartition de charge pendant l'exécution ont
267       été améliorées (possibilité d'ajout d'un membre supplémentaire).</dd>
268
269       <dd>Configuration à l'exécution d'un sous-ensemble de paramètres
270       de répartition de charge.</dd>
271
272       <dd>Les membres du groupe de répartition peuvent être définis à
273       'Drain' de façon à ce qu'ils ne répondent qu'aux sessions
274       persistantes existantes, ce qui permet de les mettre hors ligne en
275       douceur.</dd>
276
277       <dd>Les règlages du répartiteur de charge peuvent être rendus
278       persistants après redémarrage.</dd>
279
280       <dt><module>mod_cache</module></dt>
281
282       <dd>Le filtre CACHE du module <module>mod_cache</module> peut être
283       inséré à un certain point de la chaîne de filtrage pour contrôler
284       plus finement la mise en cache.
285       </dd>
286
287       <dd><module>mod_cache</module> peut maintenant mettre en cache des
288       requêtes HEAD.</dd>
289
290       <dd>Chaque fois que cela est possible, les directives de
291       <module>mod_cache</module> peuvent maintenant être définies au
292       niveau du répertoire, et non plus seulement au niveau du serveur
293       principal.</dd>
294
295       <dd>L'URL de base des URLs en cache peut être personnalisée de
296       façon à ce qu'un cluster de caches puisse partager le même préfixe
297       d'URL.</dd>
298
299       <dd><module>mod_cache</module> peut maintenant servir du contenu
300       non mis à jour lorsqu'un serveur d'arrière-plan n'est pas
301       disponible (erreur 5xx).</dd>
302
303       <dd><module>mod_cache</module> peut maintenant insérer
304       HIT/MISS/REVALIDATE dans un en-tête X-Cache.</dd>
305
306       <dt><module>mod_include</module></dt>
307       <dd>Support de l'attribut 'onerror' dans un élément 'include',
308       permettant de renvoyer un message d'erreur personnalisé à la place
309       du message d'erreur par défaut.</dd>
310
311       <dt><module>mod_cgi</module>, <module>mod_include</module>,
312           <module>mod_isapi</module>, ...</dt>
313       <dd>La traduction des en-têtes en variables d'environnement est
314       plus stricte qu'avant, ce qui permet de diminuer l'exposition aux attaques
315       de type cross-site-scripting via injection d'en-têtes. Les
316       en-têtes contenant des caractères invalides (comme les caractères
317       de soulignement) sont maintenant ignorés. Le document <a
318       href="env.html">Les variables d'environnement dans Apache</a>
319       présente quelques pistes pour contourner ce problème avec les
320       clients anciens qui nécessitent de tels en-têtes (Ceci affecte
321       tous les modules qui utilisent ces variables d'environnement).</dd>
322
323       <dt><module>mod_authz_core</module> Conteneurs de logique d'autorisation</dt>
324
325       <dd>La directive <directive
326       module="mod_authz_core">Require</directive> et les directives de
327       conteneurs associées, comme <directive module="mod_authz_core"
328       type="section">RequireAll</directive>, permettent de définir une
329       logique d'autorisation avancée.</dd>
330
331       
332
333       <dt><module>mod_rewrite</module></dt>
334       <dd>La directive <directive
335       module="mod_rewrite">RewriteRule</directive> dispose maintenant
336       des drapeaux <code>[QSD]</code> (Query String Discard) et
337       <code>[END]</code> qui permettent de simplifier les scénarios de
338       réécriture courants.</dd>
339       <dd>Possibilité d'utiliser des expressions booléennes complexes
340       dans la directive <directive
341       module="mod_rewrite">RewriteCond</directive>.</dd>
342       <dd>Possibilité d'utiliser des requêtes SQL en tant que fonctions
343       dans la directive <directive
344       module="mod_rewrite">RewriteMap</directive>.</dd>
345
346       <dt><module>mod_ldap</module>, <module>mod_authnz_ldap</module></dt>
347       <dd><module>mod_authnz_ldap</module> ajoute le support des
348       groupes imbriqués.</dd>
349       <dd><module>mod_ldap</module> apporte les directives <directive
350       module="mod_ldap">LDAPConnectionPoolTTL</directive> et <directive
351       module="mod_ldap">LDAPTimeout</directive>, ainsi que d'autres
352       améliorations dans le traitement des délais. Ceci s'avère utile
353       pour les configurations où un pare-feu à mémoire d'état (stateful)
354       rejète les connexions inactives vers le serveur LDAP.</dd>
355       <dd><module>mod_ldap</module> propose la directive <directive
356       module="mod_ldap">LDAPLibraryDebug</directive> qui permet de
357       journaliser les informations de débogage fournies par la boîte à
358       outils LDAP utilisée.</dd>
359
360       <dt><module>mod_info</module></dt>
361       <dd><module>mod_info</module> est maintenant capable d'afficher la
362       configuration préinterprétée sur stdout au cours du démarrage du
363       serveur.</dd>
364
365       <dt><module>mod_auth_basic</module></dt>
366       <dd>Nouveau mécanisme générique permettant d'effectuer une
367       authentification basique (disponible à partir de la version 2.4.5).</dd>
368
369     </dl>
370   </section>
371
372   <section id="programs">
373     <title>Améliorations des programmes</title>
374     <dl>
375         <dt><program>fcgistarter</program></dt>
376         <dd>Nouvel utilitaire pour le démarrage des démons
377         FastCGI.</dd>
378         <dt><program>htcacheclean</program></dt>
379         <dd>Les URLs présentes dans le cache peuvent maintenant être
380         affichées, accompagnées éventuellement de leurs métadonnées.</dd>
381         <dd>Possibilité de supprimer explicitement des URLs individuelles
382         présentes dans le cache.</dd>
383         <dd>Les tailles de fichiers peuvent maintenant être arrondies au
384         multiple de la taille de bloc donnée, les limites de taille
385         collant de ce fait d'avantage à la taille réelle sur disque.</dd>
386         <dd>La taille du cache peut maintenant être limitée par le
387         nombre d'inodes, en plus de la possibilité de limitation par la
388         taille des fichiers.</dd>
389
390         <dt><program>rotatelogs</program></dt>
391         <dd>Possibilité de créer un lien vers le fichier journal
392         courant.</dd>
393         <dd>Possibilité d'invoquer un script personnalisé après la
394         rotation.</dd>
395
396         <dt><program>htpasswd</program>, <program>htdbm</program></dt>
397         <dd>Support de l'algorithme bcrypt (disponible à partir de la
398         version 2.4.4).
399         </dd>
400     </dl>
401   </section>
402
403   <section id="documentation">
404     <title>Documentation</title>
405     <dl>
406         <dt>mod_rewrite</dt>
407         <dd>La documentation du module <module>mod_rewrite</module> a
408         été réorganisée et presque entièrement réécrite en mettant
409         l'accent sur les exemples et l'utilisation courante, ainsi que
410         sur l'incitation à utiliser d'autres solutions lorsque cela
411         s'avère plus approprié. Le document <a href="rewrite/">Rewrite
412         Guide</a> constitue maintenant une section de premier niveau ;
413         il est mieux organisé et contient beaucoup plus de détails.</dd>
414
415         <dt>mod_ssl</dt>
416         <dd>La documentation du module <module>mod_ssl</module> a été
417         grandement améliorée, avec plus d'exemples et un niveau "Bien
418         démarrer" qui s'ajoutent aux détails techniques déjà présents
419         dans la précédente documentation.</dd>
420
421         <dt>Caching Guide</dt>
422         <dd>Le <a href="caching.html">Guide de la mise en cache</a> a
423         été réécrit afin de bien faire la différence entre les
424         fonctionnalités de mise en cache de la RFC2616 HTTP/1.1 fournies
425         par le module <module>mod_cache</module>, et la mise en cache
426         générique de type clé/valeur fournie par l'interface <a
427         href="socache.html">socache</a>, mais aussi pour couvrir la mise
428         en cache spécialisée fournie par des mécanismes tels que ceux du
429         module <module>mod_file_cache</module>.</dd>
430     </dl>
431     </section>
432
433   <section id="developer">
434     <title>Modifications concernant les développeur de modules</title>
435     <dl>
436       <dt>Ajout de code pour la vérification de la configuration</dt>
437
438       <dd>Une nouvelle fonction, <code>check_config</code>, a été ajoutée et
439       s'exécute entre les fonctions <code>pre_config</code> et
440       <code>open_logs</code>. Elle s'exécute aussi avant la fonction
441       <code>test_config</code> si l'option <code>-t</code> est passée au
442       démon <program>httpd</program>. La fonction <code>check_config</code>
443       permet aux modules de vérifier l'interdépendance des valeurs des
444       directives de configuration et d'ajuster ces valeurs, alors que les
445       messages du serveur peuvent encore être affichés sur la console.
446       L'utilisateur est ainsi averti des erreurs de configuration avant que la
447       fonction du noyau <code>open_logs</code> ne redirige les sorties de la
448       console vers le journal des erreurs.</dd>
449
450       <dt>Ajout d'un analyseur syntaxique d'expressions</dt>
451       <dd>Nous disposons à présent d'un analyseur générique d'expressions, dont l'API
452       est décrite dans <var>ap_expr.h</var>. Il s'agit d'une adaptation de
453       l'analyseur qu'on trouvait auparavant dans <module>mod_ssl</module>.</dd>
454
455       <dt>Conteneurs de logique d'autorisation</dt>
456
457       <dd>Afin de fournir une logique d'autorisation avancée via des
458       directives telles que <directive module="mod_authz_core"
459       type="section">RequireAll</directive>, les modules d'autorisation
460       s'enregistrent maintenant en tant
461       que fournisseur par le biais de ap_register_auth_provider().</dd>
462
463       <dt>Interface de mise en cache des petits objets</dt>
464
465       <dd>Le fichier d'en-têtes <var>ap_socache.h</var> fournit une
466       interface à base de fournisseur pour la mise en cache des petits
467       objets de données, en s'inspirant de
468       l'implémentation précédente
469       du cache de session par <module>mod_ssl</module>. Sont supportés
470       actuellement : les fournisseurs utilisant un tampon cyclique en
471       mémoire partagée, les fichiers dbm sur disque, et les caches
472       distribués de type memcache.</dd>
473
474       <dt>Ajout du point d'ancrage Cache Status</dt>
475
476       <dd>Le module <module>mod_cache</module> inclut maintenant un
477       nouveau point d'ancrage, <code>cache_status</code>, qui est appelé
478       lorsque la décision à propos de la mise en cache est connue. Il en
479       existe une implémentation par défaut qui ajoute les en-têtes
480       optionnels <code>X-Cache</code> et <code>X-Cache-Detail</code> à
481       la réponse.</dd>
482
483
484     </dl>
485     <p>La documentation du développeur contient une <a
486     href="developer/new_api_2_4.html">liste détaillée des modifications
487     de l'API</a>.</p>
488   </section>
489
490 </manualpage>