| <?xml version="1.0" encoding="UTF-8" ?> |
| <!DOCTYPE manualpage SYSTEM "./style/manualpage.dtd"> |
| <?xml-stylesheet type="text/xsl" href="./style/manual.fr.xsl"?> |
| <!-- French translation : Lucien GENTIS --> |
| <!-- Reviewed by : Vincent Deffontaines --> |
| <!-- English Revision: 1726940 --> |
| |
| <!-- |
| 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 |
| |
| http://www.apache.org/licenses/LICENSE-2.0 |
| |
| 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>Modules multiprocessus (MPMs) chargeables à l'exécution</dt> |
| <dd>Plusieurs MPMs peuvent maintenant être <a |
| href="mpm.html#dynamic">compilés en tant que modules |
| chargeables</a>. Le choix du MPM à utiliser s'effectue |
| à l'exécution via la directive <directive |
| module="mod_so">LoadModule</directive>.</dd> |
| |
| <dt>MPM Event</dt> |
| <dd>Le <a href="mod/event.html">MPM Event</a> n'en est plus au 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>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>Sections de configuration au niveau requête</dt> |
| <dd>Les sections <directive module="core">If</directive>, |
| <directive module="core" type="section">ElseIf</directive> et |
| <directive module="core" type="section">Else</directive> |
| permettent de définir une configuration en fonction de critères |
| liés à la requête.</dd> |
| |
| <dt>Interpréteur d'expressions à usage général</dt> |
| <dd>Un nouvel interpréteur d'expressions permet de spécifier des |
| <a href="expr.html">conditions complexes</a> via des directives à |
| syntaxe commune comme <directive |
| module="mod_setenvif">SetEnvIfExpr</directive>, <directive |
| module="mod_rewrite">RewriteCond</directive>, <directive |
| module="mod_headers">Header</directive>, |
| <directive module="core" type="section">If</directive>, etc... |
| </dd> |
| |
| <dt>KeepAliveTimeout en millisecondes</dt> |
| <dd>Il est maintenant possible de définir la directive <directive |
| module="core">KeepAliveTimeout</directive> en millisecondes. |
| </dd> |
| |
| <dt>Directive NameVirtualHost</dt> |
| <dd>Cette directive n'est plus nécessaire et est maintenant obsolète.</dd> |
| |
| <dt>Directives autorisées dans les fichiers <code>.htaccess</code></dt> |
| <dd>La nouvelle directive <directive |
| module="core">AllowOverrideList</directive> permet de contrôler de |
| manière plus précise la liste des directives autorisées dans les |
| fichiers <code>.htaccess</code>.</dd> |
| |
| <dt>Variables dans les fichiers de configuration</dt> |
| <dd>La directive <directive module="core">Define</directive> |
| permet de définir des variables dans les fichiers de |
| configuration, améliorant ainsi la clareté de la présentation si |
| la même valeur est utilisée en plusieurs points de la |
| configuration. |
| </dd> |
| |
| <dt>Diminution de la mémoire utilisée</dt> |
| <dd>Bien qu'elle propose de nombreuses nouvelles fonctionnalités, |
| la version 2.4.x tend à utiliser moins de mémoire que la version |
| 2.2.x.</dd> |
| |
| </dl> |
| </section> |
| |
| <section id="newmods"> |
| <title>Nouveau modules</title> |
| <dl> |
| |
| <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_proxy_express</module></dt> |
| <dd>Ajoute à <module>mod_proxy</module> la configuration dynamique |
| de mandataires inverses en masse.</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_heartmonitor</module>, |
| <module>mod_lbmethod_heartbeat</module></dt> |
| <dd>Permet à <module>mod_proxy_balancer</module> de répartir la |
| charge en fonction du nombre de connexions actives sur les |
| serveurs d'arrière-plan.</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> |
| |
| <dt><module>mod_sed</module></dt> |
| <dd>Une amélioration de <module>mod_substitute</module> qui permet |
| d'éditer le corps de la réponse avec toute la puissance de la |
| commande sed.</dd> |
| |
| <dt><module>mod_auth_form</module></dt> |
| <dd>Implémente une authentification à base de formulaire.</dd> |
| |
| <dt><module>mod_session</module></dt> |
| <dd>Permet de conserver les données de sessions des clients sous |
| forme de cookies ou dans une base de données.</dd> |
| |
| <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_lua</module></dt> |
| <dd>Embarque le langage <a href="http://www.lua.org/">Lua</a> dans |
| httpd pour la configuration et les fonctions logiques courantes |
| (Expérimental).</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_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_ratelimit</module></dt> |
| <dd>Permet de limiter la bande passante pour certains |
| clients.</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_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_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_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_macro</module> (disponible à partir de la version 2.4.5)</dt> |
| <dd>Permet d'utiliser des macros au sein des fichiers de |
| configuration.</dd> |
| |
| <dt><module>mod_proxy_wstunnel</module> (disponible à partir de la version 2.4.5)</dt> |
| <dd>Support des tunnels web-socket.</dd> |
| |
| <dt><module>mod_authnz_fcgi</module> (disponible à partir de la version 2.4.10)</dt> |
| <dd>Permet aux applications d'autorisation FastCGI d'authentifier |
| et/ou autoriser les clients.</dd> |
| |
| <dt><module>mod_http2</module> (disponible à partir de la |
| version 2.4.17)</dt> |
| <dd>Support de la couche transport HTTP/2.</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> |
| |
| <dd>Le support des clés EC a été ajouté à celui des clés RSA et |
| DSA.</dd> |
| |
| <dd>Support de TLS-SRP (disponible à partir de la version 2.4.4).</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> |
| |
| <dd>Il est maintenant possible de configurer l'adresse source dans |
| les requêtes mandatées.</dd> |
| |
| <dd>Support des sockets de type Unix vers le serveur |
| d'arrière-plan (disponible à partir de la version 2.4.7).</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>Le filtre CACHE du module <module>mod_cache</module> peut être |
| inséré à un certain point de la chaîne de filtrage pour contrôler |
| plus finement la mise en cache. |
| </dd> |
| |
| <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 |
| HIT/MISS/REVALIDATE dans un en-tête X-Cache.</dd> |
| |
| <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_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> |
| <dd>Possibilité d'utiliser des expressions booléennes complexes |
| dans la directive <directive |
| module="mod_rewrite">RewriteCond</directive>.</dd> |
| <dd>Possibilité d'utiliser des requêtes SQL en tant que fonctions |
| dans la directive <directive |
| module="mod_rewrite">RewriteMap</directive>.</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> |
| |
| <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_auth_basic</module></dt> |
| <dd>Nouveau mécanisme générique permettant d'effectuer une |
| authentification basique (disponible à partir de la version 2.4.5).</dd> |
| |
| </dl> |
| </section> |
| |
| <section id="programs"> |
| <title>Améliorations des programmes</title> |
| <dl> |
| <dt><program>fcgistarter</program></dt> |
| <dd>Nouvel utilitaire pour le démarrage des démons |
| FastCGI.</dd> |
| <dt><program>htcacheclean</program></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> |
| |
| <dt><program>rotatelogs</program></dt> |
| <dd>Possibilité de créer un lien vers le fichier journal |
| courant.</dd> |
| <dd>Possibilité d'invoquer un script personnalisé après la |
| rotation.</dd> |
| |
| <dt><program>htpasswd</program>, <program>htdbm</program></dt> |
| <dd>Support de l'algorithme bcrypt (disponible à partir de la |
| version 2.4.4). |
| </dd> |
| </dl> |
| </section> |
| |
| <section id="documentation"> |
| <title>Documentation</title> |
| <dl> |
| <dt>mod_rewrite</dt> |
| <dd>La documentation du module <module>mod_rewrite</module> a |
| été réorganisée et presque entièrement réécrite en mettant |
| l'accent sur les exemples et l'utilisation courante, ainsi que |
| sur l'incitation à utiliser d'autres solutions lorsque cela |
| s'avère plus approprié. Le document <a href="rewrite/">Rewrite |
| Guide</a> constitue maintenant une section de premier niveau ; |
| il est mieux organisé et contient beaucoup plus de détails.</dd> |
| |
| <dt>mod_ssl</dt> |
| <dd>La documentation du module <module>mod_ssl</module> a été |
| grandement améliorée, avec plus d'exemples et un niveau "Bien |
| démarrer" qui s'ajoutent aux détails techniques déjà présents |
| dans la précédente documentation.</dd> |
| |
| <dt>Caching Guide</dt> |
| <dd>Le <a href="caching.html">Guide de la mise en cache</a> a |
| été réécrit afin de bien faire la différence entre les |
| fonctionnalités de mise en cache de la RFC2616 HTTP/1.1 fournies |
| par le module <module>mod_cache</module>, et la mise en cache |
| générique de type clé/valeur fournie par l'interface <a |
| href="socache.html">socache</a>, mais aussi pour couvrir la mise |
| en cache spécialisée fournie par des mécanismes tels que ceux du |
| module <module>mod_file_cache</module>.</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 |
| est décrite dans <var>ap_expr.h</var>. Il s'agit d'une adaptation de |
| l'analyseur qu'on trouvait auparavant dans <module>mod_ssl</module>.</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> |
| |
| <dd>Le fichier d'en-têtes <var>ap_socache.h</var> fournit une |
| 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> |