new_features_2_4.xml.fr revision 98857218d3269556b5cf0e923a8292e2c9f82abf
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!-- French translation : Lucien GENTIS -->
<!-- Reviewed by : Vincent Deffontaines -->
<!-- English Revision : 1202456 -->
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License. You may obtain a copy of the License at
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<manualpage metafile="new_features_2_4.xml.meta">
<title>Vue d'ensemble des nouvelles fonctionnalités de la version 2.4 du
serveur HTTP Apache</title>
<summary>
<p>Ce document décrit les modifications majeures apportées par
la version 2.4 du serveur HTTP Apache. Pour les nouvelles fonctionnalités
ajoutées par la version 2.2, se référer au document
<a href="new_features_2_2.html">Nouvelles fonctionnalités
de la version 2.2</a>.</p>
</summary>
<section id="core">
<title>Améliorations du noyau</title>
<dl>
<dt>KeepAliveTimeout en millisecondes</dt>
<dd>La directive <directive module="core"
>KeepAliveTimeout</directive> permet dorénavant de
préciser une durée de vie en millisecondes.
</dd>
<dt>Modules multiprocessus (MPMs) chargeables</dt>
<dd>On peut maintenant compiler plusieurs MPMs en tant que modules
chargeables. Le choix du MPM à utiliser s'effectue à
l'exécution.</dd>
<dt>Configuration du niveau de journalisation (LogLevel) par
module et par répertoire</dt>
<dd>La directive <directive module="core">LogLevel</directive>
peut maintenant être définie par module et par répertoire. Les
nouveaux niveaux <code>trace1</code> à <code>trace8</code> ont été
ajoutés au dessus du niveau de journalisation <code>debug</code>.</dd>
<dt>MPM Event</dt>
<dd>Le MPM Event est sorti du stade expérimental et est
maintenant pleinement supporté.</dd>
<dt>Support du mode asynchrone</dt>
<dd>Le support des lectures/écritures asynchrones pour les MPMs et
les plateformes qui l'implémentent a été amélioré.</dd>
<dt>Sections de configuration au niveau de la requête</dt>
<dd>Les sections <<directive module="core">If</directive>>
permettent de définir une configuration en fonction de critères
liés à la requête.</dd>
<dt>NameVirtualHost directive</dt>
<dd>Cette directive obsolète n'est plus utile.</dd>
</dl>
</section>
<section id="newmods">
<title>Nouveau modules</title>
<dl>
<dt><module>mod_allowmethods</module></dt>
<dd>Permet de restreindre l'utilisation de
certaines méthodes HTTP sans interférer avec l'authentification et
l'autorisation.</dd>
<dt><module>mod_buffer</module></dt>
<dd>Fournit un tampon pour les piles des filtres en entrée et en
sortie.</dd>
<dt><module>mod_data</module></dt>
<dd>Convertit un corps de réponse en URL de type données RFC2397.</dd>
<dt><module>mod_lua</module></dt>
httpd pour la configuration et les fonctions logiques courantes.</dd>
<dt><module>mod_proxy_express</module></dt>
<dd>Ajoute à <module>mod_proxy</module> la configuration dynamique
de mandataires inverses en masse.</dd>
<dt><module>mod_proxy_fcgi</module></dt>
<dd>Mise à disposition du protocole FastCGI pour
<module>mod_proxy</module>.</dd>
<dt><module>mod_proxy_scgi</module></dt>
<dd>Mise à disposition du protocole SCGI pour
<module>mod_proxy</module>.</dd>
<dt><module>mod_ratelimit</module></dt>
<dd>Permet de limiter la bande passante pour certains
clients.</dd>
<dt><module>mod_reflector</module></dt>
<dd>Permet de renvoyer comme réponse le corps de la requête via la
pile du filtre de sortie.</dd>
<dt><module>mod_remoteip</module></dt>
<dd>Remplace l'adresse IP distante et le nom d'hôte apparents du
client pour la requête courante par la liste d'adresses IP
présentée par un mandataire ou un répartiteur de charge via les
en-têtes de la requête.</dd>
<dt><module>mod_reqtimeout</module></dt>
<dd>Définit la durée de vie et le taux de transfert de données minimum
pour la réception des requêtes.</dd>
<dt><module>mod_request</module></dt>
<dd>Fournit des filtres permettant de gérer et de mettre à
disposition les corps des requêtes HTTP.</dd>
<dt><module>mod_slotmem_shm</module></dt>
<dd>Met à disposition un fournisseur de mémoire partagée à base de
slots (du style tableau de bord).</dd>
<dt><module>mod_log_debug</module></dt>
<dd>Permet d'introduire une journalisation personnalisée à
différentes phases du traitement de la requête.</dd>
<dt><module>mod_xml2enc</module></dt>
<dd>Anciennement module tiers, il supporte l'internationalisation
dans les modules de filtrage basés sur libxml2 (support du
markup)</dd>
<dt><module>mod_proxy_html</module></dt>
<dd>Anciennement module tiers, il supporte la correction des liens
HTML dans une situation de mandat inverse, où le serveur
d'arrière-plan génère des URLs qui ne sont pas valides du point de
vue des clients du mandataire.</dd>
</dl>
</section>
<section id="module">
<title>Améliorations des modules</title>
<dl>
<dt><module>mod_ssl</module></dt>
<dd><module>mod_ssl</module> peut maintenant vérifier la
validité des certificats clients en se connectant à
un serveur OCSP. Il est possible de définir un
répondeur par défaut, et de choisir si l'on
préfère le répondeur désigné
dans le certificat client.</dd>
<dd>En outre, <module>mod_ssl</module> supporte maintenant
l'estampillage OCSP (OCSP stapling), qui permet au serveur
d'attester la validité de son certificat auprès du client au
cours de la phase de négociation de la connexion.</dd>
<dd>Enfin, <module>mod_ssl</module> peut maintenant être configuré pour
que celui-ci partage les données de session SSL entre les serveurs
via memcached.</dd>
<dt><module>mod_proxy</module></dt>
<dd>La directive <directive
module="mod_proxy">ProxyPass</directive> est maintenant configurée
de manière optimale dans les sections <directive
module="core">Location</directive> ou <directive
module="core">LocationMatch</directive>, et offre un gain de
performances important par rapport à la syntaxe traditionnelle à
deux paramètres lorsqu'elle est présente en grand nombre.</dd>
<dt><module>mod_proxy_balancer</module></dt>
<dd>Le gestionnaire de répartition de charge propose de nouvelles
fonctionnalités. Ainsi, les possibilités de configuration des
membres du groupe de répartition de charge pendant l'exécution ont
été améliorées (possibilité d'ajout d'un membre supplémentaire).</dd>
<dd>Configuration à l'exécution d'un sous-ensemble de paramètres
de répartition de charge.</dd>
<dd>Les membres du groupe de répartition peuvent être définis à
'Drain' de façon à ce qu'ils ne répondent qu'aux sessions
persistantes existantes, ce qui permet de les mettre hors ligne en
douceur.</dd>
<dd>Les règlages du répartiteur de charge peuvent être rendus
persistants après redémarrage.</dd>
<dt><module>mod_cache</module></dt>
<dd><module>mod_cache</module> peut maintenant mettre en cache des
requêtes HEAD.</dd>
<dd>Chaque fois que cela est possible, les directives de
<module>mod_cache</module> peuvent maintenant être définies au
niveau du répertoire, et non plus seulement au niveau du serveur
principal.</dd>
<dd>L'URL de base des URLs en cache peut être personnalisée de
façon à ce qu'un cluster de caches puisse partager le même préfixe
d'URL.</dd>
<dd><module>mod_cache</module> peut maintenant servir du contenu
non mis à jour lorsqu'un serveur d'arrière-plan n'est pas
disponible (erreur 5xx).</dd>
<dd><module>mod_cache</module> peut maintenant insérer
<dt><module>mod_include</module></dt>
<dd>Support de l'attribut 'onerror' dans un élément 'include',
permettant de renvoyer un message d'erreur personnalisé à la place
du message d'erreur par défaut.</dd>
<dt><module>mod_cgi</module>, <module>mod_include</module>,
<module>mod_isapi</module>, ...</dt>
<dd>La traduction des en-têtes en variables d'environnement est
plus stricte qu'avant, ce qui permet de diminuer l'exposition aux attaques
de type cross-site-scripting via injection d'en-têtes. Les
en-têtes contenant des caractères invalides (comme les caractères
de soulignement) sont maintenant ignorés. Le document <a
href="env.html">Les variables d'environnement dans Apache</a>
présente quelques pistes pour contourner ce problème avec les
clients anciens qui nécessitent de tels en-têtes (Ceci affecte
tous les modules qui utilisent ces variables d'environnement).</dd>
<dt><module>mod_authz_core</module>Conteneurs de logique d'autorisation</dt>
<dd>La directive <directive
module="mod_authz_core">Require</directive> et les directives de
conteneurs associées, comme <directive module="mod_authz_core"
type="section">RequireAll</directive>, permettent de définir une
logique d'autorisation avancée.</dd>
<dt><module>mod_info</module></dt>
<dd><module>mod_info</module> est maintenant capable d'afficher la
configuration préinterprétée sur stdout au cours du démarrage du
serveur.</dd>
<dt><module>mod_rewrite</module></dt>
<dd>La directive <directive
module="mod_rewrite">RewriteRule</directive> dispose maintenant
des drapeaux <code>[QSD]</code> (Query String Discard) et
<code>[END]</code> qui permettent de simplifier les scénarios de
réécriture courants.</dd>
<dt><module>mod_ldap</module>, <module>mod_authnz_ldap</module></dt>
<dd><module>mod_authnz_ldap</module> ajoute le support des
groupes imbriqués.</dd>
<dd><module>mod_ldap</module> apporte les directives <directive
module="mod_ldap">LDAPConnectionPoolTTL</directive> et <directive
module="mod_ldap">LDAPTimeout</directive>, ainsi que d'autres
améliorations dans le traitement des délais. Ceci s'avère utile
pour les configurations où un pare-feu à mémoire d'état (stateful)
rejète les connexions inactives vers le serveur LDAP.</dd>
<dd><module>mod_ldap</module> propose la directive <directive
module="mod_ldap">LDAPLibraryDebug</directive> qui permet de
journaliser les informations de débogage fournies par la boîte à
outils LDAP utilisée</dd>
</dl>
</section>
<section id="programs">
<title>Améliorations des programmes</title>
<dl>
<dt>fcgistarter</dt>
<dd>Utilitaire pour le démarrage des démons FastCGI</dd>
<dt>htcacheclean</dt>
<dd>Les URLs présentes dans le cache peuvent maintenant être
affichées, accompagnées éventuellement de leurs métadonnées.</dd>
<dd>Possibilité de supprimer explicitement des URLs individuelles
présentes dans le cache.</dd>
<dd>Les tailles de fichiers peuvent maintenant être arrondies au
multiple de la taille de bloc donnée, les limites de taille
collant de ce fait d'avantage à la taille réelle sur disque.</dd>
<dd>La taille du cache peut maintenant être limitée par le
nombre d'inodes, en plus de la possibilité de limitation par la
taille des fichiers.</dd>
</dl>
</section>
<section id="developer">
<title>Modifications concernant les développeur de modules</title>
<dl>
<dt>Ajout de code pour la vérification de la configuration</dt>
<dd>Une nouvelle fonction, <code>check_config</code>, a été ajoutée et
s'exécute entre les fonctions <code>pre_config</code> et
<code>open_logs</code>. Elle s'exécute aussi avant la fonction
<code>test_config</code> si l'option <code>-t</code> est passée au
démon <program>httpd</program>. La fonction <code>check_config</code>
permet aux modules de vérifier l'interdépendance des valeurs des
directives de configuration et d'ajuster ces valeurs, alors que les
messages du serveur peuvent encore être affichés sur la console.
L'utilisateur est ainsi averti des erreurs de configuration avant que la
fonction du noyau <code>open_logs</code> ne redirige les sorties de la
console vers le journal des erreurs.</dd>
<dt>Ajout d'un analyseur syntaxique d'expressions</dt>
<dd>Nous disposons à présent d'un analyseur générique d'expressions, dont l'API
l'analyseur qu'on trouvait auparavant dans <module>mod_ssl</module>.</dd>
<dd>L'analyseur d'expressions permet de spécifier des <a
href="expr.html">conditions complexes</a> dans des directives
comme <directive module="mod_setenvif">SetEnvIfExpr</directive>,
<directive module="mod_rewrite">RewriteCond</directive> et
<directive module="mod_headers">Header</directive>.
</dd>
<dt>Conteneurs de logique d'autorisation</dt>
<dd>Afin de fournir une logique d'autorisation avancée via des
directives telles que <directive module="mod_authz_core"
type="section">RequireAll</directive>, les modules d'autorisation
s'enregistrent maintenant en tant
que fournisseur par le biais de ap_register_auth_provider().</dd>
<dt>Interface de mise en cache des petits objets</dt>
interface à base de fournisseur pour la mise en cache des petits
objets de données, en s'inspirant de
l'implémentation précédente
du cache de session par <module>mod_ssl</module>. Sont supportés
actuellement : les fournisseurs utilisant un tampon cyclique en
mémoire partagée, les fichiers dbm sur disque, et les caches
distribués de type memcache.</dd>
<dt>Ajout du point d'ancrage Cache Status</dt>
<dd>Le module <module>mod_cache</module> inclut maintenant un
nouveau point d'ancrage, <code>cache_status</code>, qui est appelé
lorsque la décision à propos de la mise en cache est connue. Il en
existe une implémentation par défaut qui ajoute les en-têtes
optionnels <code>X-Cache</code> et <code>X-Cache-Detail</code> à
la réponse.</dd>
</dl>
<p>La documentation du développeur contient une <a
href="developer/new_api_2_4.html">liste détaillée des modifications
de l'API</a>.</p>
</section>
</manualpage>