]> granicus.if.org Git - apache/blob - docs/manual/new_features_2_4.xml.fr
Help doc writer to spot places where:
[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: 1855701 -->
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>Support des serveur FastCGI d'arrière-plan pour
116       <module>mod_proxy</module>.</dd>
117
118       <dt><module>mod_proxy_scgi</module></dt>
119       <dd>Support des serveurs SCGI d'arrière-plan 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_http2</module> (disponible à partir de la version 2.4.19)</dt>
214       <dd>Support du protocole HTTP/2 pour <module>mod_proxy</module></dd>
215
216       <dt><module>mod_proxy_hcheck</module> (disponible à partir de la version 2.4.21)</dt>
217       <dd>Support d'un bilan de santé dynamique indépendant pour les serveurs
218       d'arrière-plan mandatés distants.</dd>
219
220       <dt><module>mod_brotli</module> (disponible à partir de la version 2.4.26)</dt>
221       <dd>Support de l'algorithme de compression Brotli.</dd>
222
223       <dt><module>mod_md</module> (disponible à partir de la version 2.4.30)</dt>
224       <dd>Automatisation de l'obtention de certificats via le protocole ACME.</dd>
225
226       <dt><module>mod_socache_redis</module> (disponible à partir de la version 2.4.39)</dt>
227       <dd>Supporte le fournisseur de cache d'objets partagés basé sur <a
228       href="http://redis.io/">Redis</a>.</dd>
229
230     </dl>
231   </section>
232
233   <section id="module">
234     <title>Améliorations des modules</title>
235     <dl>
236       <dt><module>mod_ssl</module></dt>
237
238       <dd><module>mod_ssl</module> peut maintenant vérifier la
239       validité des certificats clients en se connectant à
240       un serveur OCSP. Il est possible de définir un
241       répondeur par défaut, et de choisir si l'on
242       préfère le répondeur désigné
243       dans le certificat client.</dd>
244
245         <dd>En outre, <module>mod_ssl</module> supporte maintenant
246         l'estampillage OCSP (OCSP stapling), qui permet au serveur
247         d'attester la validité de son certificat auprès du client au
248         cours de la phase de négociation de la connexion.</dd>
249
250       <dd>Enfin, <module>mod_ssl</module> peut maintenant être configuré pour
251       que celui-ci partage les données de session SSL entre les serveurs
252       via memcached.</dd>
253
254       <dd>Le support des clés EC a été ajouté à celui des clés RSA et
255       DSA.</dd>
256
257       <dd>Support de TLS-SRP (disponible à partir de la version 2.4.4).</dd>
258
259       <dt><module>mod_proxy</module></dt>
260
261       <dd>La directive <directive
262       module="mod_proxy">ProxyPass</directive> est maintenant configurée
263       de manière optimale dans les sections <directive
264       module="core">Location</directive> ou <directive
265       module="core">LocationMatch</directive>, et offre un gain de
266       performances important par rapport à la syntaxe traditionnelle à
267       deux paramètres lorsqu'elle est présente en grand nombre.</dd>
268
269       <dd>Il est maintenant possible de configurer l'adresse source dans
270       les requêtes mandatées.</dd>
271
272       <dd>Support des sockets de type Unix vers le serveur
273       d'arrière-plan (disponible à partir de la version 2.4.7).</dd>
274
275       <dt><module>mod_proxy_balancer</module></dt>
276
277       <dd>Le gestionnaire de répartition de charge propose de nouvelles
278       fonctionnalités. Ainsi, les possibilités de configuration des
279       membres du groupe de répartition de charge pendant l'exécution ont
280       été améliorées (possibilité d'ajout d'un membre supplémentaire).</dd>
281
282       <dd>Configuration à l'exécution d'un sous-ensemble de paramètres
283       de répartition de charge.</dd>
284
285       <dd>Les membres du groupe de répartition peuvent être définis à
286       'Drain' de façon à ce qu'ils ne répondent qu'aux sessions
287       persistantes existantes, ce qui permet de les mettre hors ligne en
288       douceur.</dd>
289
290       <dd>Les règlages du répartiteur de charge peuvent être rendus
291       persistants après redémarrage.</dd>
292
293       <dt><module>mod_cache</module></dt>
294
295       <dd>Le filtre CACHE du module <module>mod_cache</module> peut être
296       inséré à un certain point de la chaîne de filtrage pour contrôler
297       plus finement la mise en cache.
298       </dd>
299
300       <dd><module>mod_cache</module> peut maintenant mettre en cache des
301       requêtes HEAD.</dd>
302
303       <dd>Chaque fois que cela est possible, les directives de
304       <module>mod_cache</module> peuvent maintenant être définies au
305       niveau du répertoire, et non plus seulement au niveau du serveur
306       principal.</dd>
307
308       <dd>L'URL de base des URLs en cache peut être personnalisée de
309       façon à ce qu'un cluster de caches puisse partager le même préfixe
310       d'URL.</dd>
311
312       <dd><module>mod_cache</module> peut maintenant servir du contenu
313       non mis à jour lorsqu'un serveur d'arrière-plan n'est pas
314       disponible (erreur 5xx).</dd>
315
316       <dd><module>mod_cache</module> peut maintenant insérer
317       HIT/MISS/REVALIDATE dans un en-tête X-Cache.</dd>
318
319       <dt><module>mod_include</module></dt>
320       <dd>Support de l'attribut 'onerror' dans un élément 'include',
321       permettant de renvoyer un message d'erreur personnalisé à la place
322       du message d'erreur par défaut.</dd>
323
324       <dt><module>mod_cgi</module>, <module>mod_include</module>,
325           <module>mod_isapi</module>, ...</dt>
326       <dd>La traduction des en-têtes en variables d'environnement est
327       plus stricte qu'avant, ce qui permet de diminuer l'exposition aux attaques
328       de type cross-site-scripting via injection d'en-têtes. Les
329       en-têtes contenant des caractères invalides (comme les caractères
330       de soulignement) sont maintenant ignorés. Le document <a
331       href="env.html">Les variables d'environnement dans Apache</a>
332       présente quelques pistes pour contourner ce problème avec les
333       clients anciens qui nécessitent de tels en-têtes (Ceci affecte
334       tous les modules qui utilisent ces variables d'environnement).</dd>
335
336       <dt><module>mod_authz_core</module> Conteneurs de logique d'autorisation</dt>
337
338       <dd>La directive <directive
339       module="mod_authz_core">Require</directive> et les directives de
340       conteneurs associées, comme <directive module="mod_authz_core"
341       type="section">RequireAll</directive>, permettent de définir une
342       logique d'autorisation avancée.</dd>
343
344       
345
346       <dt><module>mod_rewrite</module></dt>
347       <dd>La directive <directive
348       module="mod_rewrite">RewriteRule</directive> dispose maintenant
349       des drapeaux <code>[QSD]</code> (Query String Discard) et
350       <code>[END]</code> qui permettent de simplifier les scénarios de
351       réécriture courants.</dd>
352       <dd>Possibilité d'utiliser des expressions booléennes complexes
353       dans la directive <directive
354       module="mod_rewrite">RewriteCond</directive>.</dd>
355       <dd>Possibilité d'utiliser des requêtes SQL en tant que fonctions
356       dans la directive <directive
357       module="mod_rewrite">RewriteMap</directive>.</dd>
358
359       <dt><module>mod_ldap</module>, <module>mod_authnz_ldap</module></dt>
360       <dd><module>mod_authnz_ldap</module> ajoute le support des
361       groupes imbriqués.</dd>
362       <dd><module>mod_ldap</module> apporte les directives <directive
363       module="mod_ldap">LDAPConnectionPoolTTL</directive> et <directive
364       module="mod_ldap">LDAPTimeout</directive>, ainsi que d'autres
365       améliorations dans le traitement des délais. Ceci s'avère utile
366       pour les configurations où un pare-feu à mémoire d'état (stateful)
367       rejète les connexions inactives vers le serveur LDAP.</dd>
368       <dd><module>mod_ldap</module> propose la directive <directive
369       module="mod_ldap">LDAPLibraryDebug</directive> qui permet de
370       journaliser les informations de débogage fournies par la boîte à
371       outils LDAP utilisée.</dd>
372
373       <dt><module>mod_info</module></dt>
374       <dd><module>mod_info</module> est maintenant capable d'afficher la
375       configuration préinterprétée sur stdout au cours du démarrage du
376       serveur.</dd>
377
378       <dt><module>mod_auth_basic</module></dt>
379       <dd>Nouveau mécanisme générique permettant d'effectuer une
380       authentification basique (disponible à partir de la version 2.4.5).</dd>
381
382     </dl>
383   </section>
384
385   <section id="programs">
386     <title>Améliorations des programmes</title>
387     <dl>
388         <dt><program>fcgistarter</program></dt>
389         <dd>Nouvel utilitaire pour le démarrage des démons
390         FastCGI.</dd>
391         <dt><program>htcacheclean</program></dt>
392         <dd>Les URLs présentes dans le cache peuvent maintenant être
393         affichées, accompagnées éventuellement de leurs métadonnées.</dd>
394         <dd>Possibilité de supprimer explicitement des URLs individuelles
395         présentes dans le cache.</dd>
396         <dd>Les tailles de fichiers peuvent maintenant être arrondies au
397         multiple de la taille de bloc donnée, les limites de taille
398         collant de ce fait d'avantage à la taille réelle sur disque.</dd>
399         <dd>La taille du cache peut maintenant être limitée par le
400         nombre d'inodes, en plus de la possibilité de limitation par la
401         taille des fichiers.</dd>
402
403         <dt><program>rotatelogs</program></dt>
404         <dd>Possibilité de créer un lien vers le fichier journal
405         courant.</dd>
406         <dd>Possibilité d'invoquer un script personnalisé après la
407         rotation.</dd>
408
409         <dt><program>htpasswd</program>, <program>htdbm</program></dt>
410         <dd>Support de l'algorithme bcrypt (disponible à partir de la
411         version 2.4.4).
412         </dd>
413     </dl>
414   </section>
415
416   <section id="documentation">
417     <title>Documentation</title>
418     <dl>
419         <dt>mod_rewrite</dt>
420         <dd>La documentation du module <module>mod_rewrite</module> a
421         été réorganisée et presque entièrement réécrite en mettant
422         l'accent sur les exemples et l'utilisation courante, ainsi que
423         sur l'incitation à utiliser d'autres solutions lorsque cela
424         s'avère plus approprié. Le document <a href="rewrite/">Rewrite
425         Guide</a> constitue maintenant une section de premier niveau ;
426         il est mieux organisé et contient beaucoup plus de détails.</dd>
427
428         <dt>mod_ssl</dt>
429         <dd>La documentation du module <module>mod_ssl</module> a été
430         grandement améliorée, avec plus d'exemples et un niveau "Bien
431         démarrer" qui s'ajoutent aux détails techniques déjà présents
432         dans la précédente documentation.</dd>
433
434         <dt>Caching Guide</dt>
435         <dd>Le <a href="caching.html">Guide de la mise en cache</a> a
436         été réécrit afin de bien faire la différence entre les
437         fonctionnalités de mise en cache de la RFC2616 HTTP/1.1 fournies
438         par le module <module>mod_cache</module>, et la mise en cache
439         générique de type clé/valeur fournie par l'interface <a
440         href="socache.html">socache</a>, mais aussi pour couvrir la mise
441         en cache spécialisée fournie par des mécanismes tels que ceux du
442         module <module>mod_file_cache</module>.</dd>
443     </dl>
444     </section>
445
446   <section id="developer">
447     <title>Modifications concernant les développeur de modules</title>
448     <dl>
449       <dt>Ajout de code pour la vérification de la configuration</dt>
450
451       <dd>Une nouvelle fonction, <code>check_config</code>, a été ajoutée et
452       s'exécute entre les fonctions <code>pre_config</code> et
453       <code>open_logs</code>. Elle s'exécute aussi avant la fonction
454       <code>test_config</code> si l'option <code>-t</code> est passée au
455       démon <program>httpd</program>. La fonction <code>check_config</code>
456       permet aux modules de vérifier l'interdépendance des valeurs des
457       directives de configuration et d'ajuster ces valeurs, alors que les
458       messages du serveur peuvent encore être affichés sur la console.
459       L'utilisateur est ainsi averti des erreurs de configuration avant que la
460       fonction du noyau <code>open_logs</code> ne redirige les sorties de la
461       console vers le journal des erreurs.</dd>
462
463       <dt>Ajout d'un analyseur syntaxique d'expressions</dt>
464       <dd>Nous disposons à présent d'un analyseur générique d'expressions, dont l'API
465       est décrite dans <var>ap_expr.h</var>. Il s'agit d'une adaptation de
466       l'analyseur qu'on trouvait auparavant dans <module>mod_ssl</module>.</dd>
467
468       <dt>Conteneurs de logique d'autorisation</dt>
469
470       <dd>Afin de fournir une logique d'autorisation avancée via des
471       directives telles que <directive module="mod_authz_core"
472       type="section">RequireAll</directive>, les modules d'autorisation
473       s'enregistrent maintenant en tant
474       que fournisseur par le biais de ap_register_auth_provider().</dd>
475
476       <dt>Interface de mise en cache des petits objets</dt>
477
478       <dd>Le fichier d'en-têtes <var>ap_socache.h</var> fournit une
479       interface à base de fournisseur pour la mise en cache des petits
480       objets de données, en s'inspirant de
481       l'implémentation précédente
482       du cache de session par <module>mod_ssl</module>. Sont supportés
483       actuellement : les fournisseurs utilisant un tampon cyclique en
484       mémoire partagée, les fichiers dbm sur disque, et les caches
485       distribués de type memcache.</dd>
486
487       <dt>Ajout du point d'ancrage Cache Status</dt>
488
489       <dd>Le module <module>mod_cache</module> inclut maintenant un
490       nouveau point d'ancrage, <code>cache_status</code>, qui est appelé
491       lorsque la décision à propos de la mise en cache est connue. Il en
492       existe une implémentation par défaut qui ajoute les en-têtes
493       optionnels <code>X-Cache</code> et <code>X-Cache-Detail</code> à
494       la réponse.</dd>
495
496
497     </dl>
498     <p>La documentation du développeur contient une <a
499     href="developer/new_api_2_4.html">liste détaillée des modifications
500     de l'API</a>.</p>
501   </section>
502
503 </manualpage>