From d6139939af5bf84916a37db8ff106dad82ff81ad Mon Sep 17 00:00:00 2001 From: Lucien Gentis Date: Sat, 30 Jan 2016 16:49:19 +0000 Subject: [PATCH] XML updates. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.4.x@1727729 13f79535-47bb-0310-9956-ffa450edef68 --- docs/manual/mod/mod_proxy_scgi.xml.fr | 102 +++---- docs/manual/mod/mod_setenvif.xml.fr | 205 +++++++------- docs/manual/mod/mod_so.xml.fr | 151 ++++++----- docs/manual/new_features_2_4.xml.fr | 371 +++++++++++++------------- 4 files changed, 420 insertions(+), 409 deletions(-) diff --git a/docs/manual/mod/mod_proxy_scgi.xml.fr b/docs/manual/mod/mod_proxy_scgi.xml.fr index 97d5ef9a9d..820195efe6 100644 --- a/docs/manual/mod/mod_proxy_scgi.xml.fr +++ b/docs/manual/mod/mod_proxy_scgi.xml.fr @@ -1,7 +1,7 @@ - + - + @@ -25,7 +25,7 @@ mod_proxy_scgi -Module fournissant le support de la passerelle SCGI à +Module fournissant le support de la passerelle SCGI à mod_proxy Extension mod_proxy_scgi.c @@ -38,15 +38,15 @@ protocole SCGI, version 1.

-

Ainsi, pour être en mesure de traiter le protocole SCGI, +

Ainsi, pour être en mesure de traiter le protocole SCGI, mod_proxy et mod_proxy_scgi - doivent être chargés dans le serveur.

+ doivent être chargés dans le serveur.

Avertissement -

N'activez pas la fonctionnalité de mandataire avant d'avoir sécurisé votre serveur. Les +

N'activez pas la fonctionnalité de mandataire avant d'avoir sécurisé votre serveur. Les serveurs mandataires ouverts sont dangereux non seulement pour - votre réseau, mais aussi pour l'Internet au sens large.

+ votre réseau, mais aussi pour l'Internet au sens large.

@@ -64,14 +64,14 @@ -

La passerelle à répartition de charge nécessite le chargement du +

La passerelle à répartition de charge nécessite le chargement du module mod_proxy_balancer et d'au moins un module - fournissant un algorithme de répartition de charge, comme + fournissant un algorithme de répartition de charge, comme mod_lbmethod_byrequests en plus des modules - déjà cités. mod_lbmethod_byrequests est le module - par défaut et sera utilisé dans cet exemple de configuration.

+ déjà cités. mod_lbmethod_byrequests est le module + par défaut et sera utilisé dans cet exemple de configuration.

- Passerelle à répartition de charge + Passerelle à répartition de charge ProxyPass "/scgi-bin/" "balancer://somecluster/" <Proxy "balancer://somecluster"> @@ -84,23 +84,23 @@ ProxyPass "/scgi-bin/" "balancer://somecluster/"
Variables d'environnement

En plus des directives de configuration qui permettent de - contrôler le comportement de mod_proxy, une + contrôler le comportement de mod_proxy, une variable d'environnement peut aussi - contrôler le fournisseur de protocole SCGI :

+ contrôler le fournisseur de protocole SCGI :

proxy-scgi-pathinfo
-
Par défaut, mod_proxy_scgi ne créera ni +
Par défaut, mod_proxy_scgi ne créera ni exportera jamais la variable d'environnement - PATH_INFO. Ceci permet au serveur SCGI d'arrière-plan - de déterminer correctement SCRIPT_NAME et - Script-URI, et de rester en conformité avec la section + PATH_INFO. Ceci permet au serveur SCGI d'arrière-plan + de déterminer correctement SCRIPT_NAME et + Script-URI, et de rester en conformité avec la section 3.3 de la RFC 3875. Si au contraire vous souhaitez que - mod_proxy_scgi génère une estimation la plus - précise possible de PATH_INFO, définissez cette - variable d'environnement. La variable doit être définie avant + mod_proxy_scgi génère une estimation la plus + précise possible de PATH_INFO, définissez cette + variable d'environnement. La variable doit être définie avant que la directive SetEnv ne soit effective. Il est possible - d'utiliser à la place la directive SetEnvIf : SetEnvIf Request_URI . proxy-scgi-pathinfo
@@ -108,9 +108,9 @@ ProxyPass "/scgi-bin/" "balancer://somecluster/" ProxySCGISendfile -Active l'évaluation du pseudo en-tête de réponse +Active l'évaluation du pseudo en-tête de réponse X-Sendfile -ProxySCGISendfile On|Off|nom-en-tête +ProxySCGISendfile On|Off|nom-en-tête ProxySCGISendfile Off server configvirtual host directory @@ -118,39 +118,39 @@ ProxyPass "/scgi-bin/" "balancer://somecluster/"

La directive ProxySCGISendfile permet au serveur cible SCGI de faire servir les fichiers directement par la - passerelle. Ceci s'avère bénéfique en - matière de performances — + passerelle. Ceci s'avère bénéfique en + matière de performances — httpd peut alors utiliser sendfile ou d'autres optimisations, ce qui n'est pas possible si les fichiers passent par la socket du serveur cible. En outre, les fichiers ne sont transmis qu'une seule fois.

L'argument de la directive - ProxySCGISendfile détermine le comportement + ProxySCGISendfile détermine le comportement de la passerelle :

Off
-
Aucun traitement particulier n'est effectué.
+
Aucun traitement particulier n'est effectué.
On
-
La passerelle recherche un en-tête dans la réponse du serveur - cible nommé X-Sendfile, et interprète sa valeur comme - le nom du fichier à servir. L'en-tête est ensuite supprimé de la - réponse finale. Cet argument produit le même effet que +
La passerelle recherche un en-tête dans la réponse du serveur + cible nommé X-Sendfile, et interprète sa valeur comme + le nom du fichier à servir. L'en-tête est ensuite supprimé de la + réponse finale. Cet argument produit le même effet que ProxySCGISendfile X-Sendfile.
toute autre valeur
-
Identique à On, mais au lieu de rechercher le nom - d'en-tête codé en dur X-Sendfile, c'est la - valeur de l'argument qui constitue le nom de l'en-tête - à rechercher.
+
Identique à On, mais au lieu de rechercher le nom + d'en-tête codé en dur X-Sendfile, c'est la + valeur de l'argument qui constitue le nom de l'en-tête + à rechercher.
Exemple - # Utilise le nom d'en-tête par défaut (X-Sendfile) + # Utilise le nom d'en-tête par défaut (X-Sendfile) ProxySCGISendfile On - # Utilise un nom d'en-tête différent + # Utilise un nom d'en-tête différent ProxySCGISendfile X-Send-Static @@ -159,7 +159,7 @@ ProxyPass "/scgi-bin/" "balancer://somecluster/" ProxySCGIInternalRedirect -Active ou désactive les réponses de redirection interne en +Active ou désactive les réponses de redirection interne en provenance du serveur cible. ProxySCGIInternalRedirect On|Off|Headername ProxySCGIInternalRedirect On @@ -171,26 +171,26 @@ la version 2.4.13 du serveur HTTP Apache.

La directive ProxySCGIInternalRedirect permet au serveur cible de rediriger en interne la passerelle vers - une URL différente. Cette fonctionnalité trouve son origine dans - mod_cgi qui redirige la réponse en interne si - l'état de la réponse est OK (200), et si - la réponse contient un en-tête Location - (ou un autre en-tête défini) dont la valeur - débute par un slash (/). Cette valeur est interprétée + une URL différente. Cette fonctionnalité trouve son origine dans + mod_cgi qui redirige la réponse en interne si + l'état de la réponse est OK (200), et si + la réponse contient un en-tête Location + (ou un autre en-tête défini) dont la valeur + débute par un slash (/). Cette valeur est interprétée comme une nouvelle URL locale vers laquelle Apache httpd effectue sa redirection.

-

De ce point de vue, mod_proxy_scgi fait la même +

De ce point de vue, mod_proxy_scgi fait la même chose que mod_cgi, mais vous pouvez en plus - désactiver la fonctionnalité ou spécifier - l'utilisation d'un en-tête autre que Location.

+ désactiver la fonctionnalité ou spécifier + l'utilisation d'un en-tête autre que Location.

Exemple ProxySCGIInternalRedirect Off # Django et certains autres frameworks qualifient pleinement les "URLs -# locales" définies par l'application ; il faut donc utiliser un autre -# en-tête. +# locales" définies par l'application ; il faut donc utiliser un autre +# en-tête. <Location /django-app/> ProxySCGIInternalRedirect X-Location </Location> diff --git a/docs/manual/mod/mod_setenvif.xml.fr b/docs/manual/mod/mod_setenvif.xml.fr index ad6d904334..8fa85d0a78 100644 --- a/docs/manual/mod/mod_setenvif.xml.fr +++ b/docs/manual/mod/mod_setenvif.xml.fr @@ -1,7 +1,7 @@ - + - + @@ -25,26 +25,26 @@ mod_setenvif -Permet de définir des variables d'environnement en fonction -de caractéristiques de la requête +Permet de définir des variables d'environnement en fonction +de caractéristiques de la requête Base mod_setenvif.c setenvif_module -

Le module mod_setenvif vous permet de définir +

Le module mod_setenvif vous permet de définir des variables d'environnement internes en fonction du fait que telle ou telle - caractéristique de la requête correspond ou non aux expressions - rationnelles que vous spécifiez. Ces variables d'environnement - peuvent être utilisées par d'autres parties du serveur pour prendre - des décisions quant aux actions à entreprendre, et pour déterminer - si les scripts CGI et les pages SSI doivent pouvoir y accéder.

- -

Les directives sont interprétées selon l'ordre dans lequel elles - apparaîssent dans les fichiers de configuration. Ainsi, des - séquences plus complexes peuvent être utilisées, comme dans cet - exemple qui définit netscape si le navigateur est Mozilla et non + caractéristique de la requête correspond ou non aux expressions + rationnelles que vous spécifiez. Ces variables d'environnement + peuvent être utilisées par d'autres parties du serveur pour prendre + des décisions quant aux actions à entreprendre, et pour déterminer + si les scripts CGI et les pages SSI doivent pouvoir y accéder.

+ +

Les directives sont interprétées selon l'ordre dans lequel elles + apparaîssent dans les fichiers de configuration. Ainsi, des + séquences plus complexes peuvent être utilisées, comme dans cet + exemple qui définit netscape si le navigateur est Mozilla et non MSIE.

@@ -53,16 +53,16 @@ BrowserMatch MSIE !netscape

Lorsque le serveur cherche un chemin via une sous-requête interne (par exemple la + ref="subrequest">sous-requête interne (par exemple la recherche d'un DirectoryIndex), ou lorsqu'il génère un - listing du contenu d'un répertoire via le module - mod_autoindex, la sous-requête n'hérite pas des - variables d'environnement spécifiques à la requête. En outre, à cause + module="mod_dir">DirectoryIndex), ou lorsqu'il génère un + listing du contenu d'un répertoire via le module + mod_autoindex, la sous-requête n'hérite pas des + variables d'environnement spécifiques à la requête. En outre, à cause des phases de l'API auxquelles mod_setenvif prend part, les directives SetEnvIf ne sont pas évaluées - séparément dans la sous-requête.

+ module="mod_setenvif">SetEnvIf ne sont pas évaluées + séparément dans la sous-requête.

@@ -71,8 +71,8 @@ serveur HTTP Apache BrowserMatch -Définit des variables d'environnement en fonction du -contenu de l'en-tête HTTP User-Agent +Définit des variables d'environnement en fonction du +contenu de l'en-tête HTTP User-Agent BrowserMatch regex [!]env-variable[=valeur] [[!]env-variable[=valeur]] ... server config @@ -83,16 +83,16 @@ contenu de l'en-tête HTTP User-Agent

La directive BrowserMatch est un cas particulier de la directive SetEnvIf, qui définit des variables - d'environnement en fonction du contenu de l'en-tête de requête HTTP - User-Agent. Les deux lignes suivantes produisent le même + module="mod_setenvif">SetEnvIf, qui définit des variables + d'environnement en fonction du contenu de l'en-tête de requête HTTP + User-Agent. Les deux lignes suivantes produisent le même effet :

-BrowserMatchNoCase Robot is_a_robot -SetEnvIfNoCase User-Agent Robot is_a_robot +BrowserMatch Robot is_a_robot +SetEnvIf User-Agent Robot is_a_robot -

Quelques exemples supplémentaires :

+

Quelques exemples supplémentaires :

BrowserMatch ^Mozilla forms jpeg=yes browser=netscape BrowserMatch "^Mozilla/[2-3]" tables agif frames javascript @@ -103,8 +103,8 @@ BrowserMatch MSIE !javascript BrowserMatchNoCase -Définit des variables d'environnement en fonction du -contenu de l'en-tête HTTP User-Agent sans tenir compte de la +Définit des variables d'environnement en fonction du +contenu de l'en-tête HTTP User-Agent sans tenir compte de la casse BrowserMatchNoCase regex [!]env-variable[=valeur] [[!]env-variable[=valeur]] ... @@ -116,9 +116,9 @@ casse

La directive BrowserMatchNoCase est - identique sur le plan sémantique à la directive BrowserMatch. Elle permet - cependant une comparaison insensible à la casse. Par exemple :

+ cependant une comparaison insensible à la casse. Par exemple :

BrowserMatchNoCase mac platform=macintosh BrowserMatchNoCase win platform=windows @@ -128,7 +128,7 @@ BrowserMatchNoCase win platform=windows BrowserMatchNoCase sont des cas particuliers des directives SetEnvIf et SetEnvIfNoCase. - Ainsi, les deux lignes suivantes produisent le même effet :

+ Ainsi, les deux lignes suivantes produisent le même effet :

BrowserMatchNoCase Robot is_a_robot SetEnvIfNoCase User-Agent Robot is_a_robot @@ -138,8 +138,8 @@ SetEnvIfNoCase User-Agent Robot is_a_robot SetEnvIf -Définit des variables d'environnement en fonction des -attributs de la requête +Définit des variables d'environnement en fonction des +attributs de la requête SetEnvIf attribut regex [!]env-variable[=valeur] [[!]env-variable[=valeur]] ... @@ -149,73 +149,73 @@ attributs de la requête
FileInfo -

La directive SetEnvIf permet de définir +

La directive SetEnvIf permet de définir des variables d'environnement en fonction des attributs de la - requête. L'attribut spécifié comme premier argument peut - se présenter sous l'une des quatre formes suivantes :

+ requête. L'attribut spécifié comme premier argument peut + se présenter sous l'une des quatre formes suivantes :

    -
  1. Un champ d'en-tête de requête HTTP (voir la Un champ d'en-tête de requête HTTP (voir la RFC2616 pour - plus d'information à leur propos) ; par exemple : Host, + plus d'information à leur propos) ; par exemple : Host, User-Agent, Referer, ou Accept-Language. Il est possible d'utiliser une - expression rationnelle pour spécifier un jeu d'en-têtes de - requête.
  2. + expression rationnelle pour spécifier un jeu d'en-têtes de + requête. -
  3. Une des caractéristiques de la requête suivantes : +
  4. Une des caractéristiques de la requête suivantes :
      -
    • Remote_Host - le nom d'hôte (s'il est disponible) - du client qui effectue la requête
    • +
    • Remote_Host - le nom d'hôte (s'il est disponible) + du client qui effectue la requête
    • Remote_Addr - l'adresse IP du client qui effectue - la requête
    • + la requête -
    • Server_Addr - l'adresse IP du serveur qui a reçu - la requête (uniquement à partir des versions supérieures à +
    • Server_Addr - l'adresse IP du serveur qui a reçu + la requête (uniquement à partir des versions supérieures à 2.0.43)
    • -
    • Request_Method - Le nom de la méthode HTTP - utilisée (GET, POST, et +
    • Request_Method - Le nom de la méthode HTTP + utilisée (GET, POST, et cetera...)
    • Request_Protocol - le nom et la version du - protocole utilisé pour la requête (par exemple "HTTP/0.9", + protocole utilisé pour la requête (par exemple "HTTP/0.9", "HTTP/1.1", etc...)
    • -
    • Request_URI - la ressource demandée dans la ligne - de requête HTTP -- en général la partie de l'URL suivant le - protocole et le nom du serveur, sans la chaîne d'arguments. Voir +
    • Request_URI - la ressource demandée dans la ligne + de requête HTTP -- en général la partie de l'URL suivant le + protocole et le nom du serveur, sans la chaîne d'arguments. Voir la directive RewriteCond du module mod_rewrite pour plus d'informations sur la - manière de mettre en correspondance votre chaîne d'arguments.
    • + manière de mettre en correspondance votre chaîne d'arguments.
  5. Le nom d'une variable d'environnement parmi la liste de celles qui -sont associées à la requête. Ceci permet à la directive +sont associées à la requête. Ceci permet à la directive SetEnvIf d'effectuer des tests en fonction du -résultat de comparaisons précédentes. Seules les variables -d'environnement définies par des directives -SetEnvIf[NoCase] précédentes sont disponibles pour -effectuer des tests de cette manière. 'Précédentes' signifie qu'elles se -trouvent à un niveau plus global de la configuration (par exemple au +résultat de comparaisons précédentes. Seules les variables +d'environnement définies par des directives +SetEnvIf[NoCase] précédentes sont disponibles pour +effectuer des tests de cette manière. 'Précédentes' signifie qu'elles se +trouvent à un niveau plus global de la configuration (par exemple au niveau du serveur principal), ou plus haut chronologiquement dans le contexte de la directive. Les variables d'environnement ne seront prises -en compte que si aucune correspondance n'a été trouvée parmi les -caractéristiques de la requête, et si attribut n'a pas été -spécifié sous la forme d'une expression rationnelle.
  6. +en compte que si aucune correspondance n'a été trouvée parmi les +caractéristiques de la requête, et si attribut n'a pas été +spécifié sous la forme d'une expression rationnelle.

Le second argument (regex) est une expression rationnelle. Si regex -correspond à l'attribut, les arguments suivants sont évalués.

+correspond à l'attribut, les arguments suivants sont évalués.

-

Le reste des arguments constitue les noms des variables à définir, -ainsi que les valeurs optionnelles qui doivent leur être affectées. Ils -peuvent se présenter sous les formes suivantes :

+

Le reste des arguments constitue les noms des variables à définir, +ainsi que les valeurs optionnelles qui doivent leur être affectées. Ils +peuvent se présenter sous les formes suivantes :

  1. nom-variable, or
  2. @@ -225,15 +225,16 @@ peuvent se présenter sous les formes suivantes :

  3. nom-variable=valeur
-

Dans la première forme, la valeur sera définie à "1". Dans la - seconde forme, la variable sera supprimée si elle a été définie au - préalable, et dans la troisième forme, la variable sera définie à la - valeur littérale spécifiée par valeur. Depuis - la version 2.0.51, Apache httpd reconnaît les occurrences de variables - $1..$9 à l'intérieur de +

Dans la première forme, la valeur sera définie à "1". Dans la + seconde forme, la variable sera supprimée si elle a été définie au + préalable, et dans la troisième forme, la variable sera définie à la + valeur littérale spécifiée par valeur. Depuis + la version 2.0.51, Apache httpd reconnaît les occurrences de variables + $1..$9 à l'intérieur de valeur, et les remplace par les - sous-expressions entre parenthèses correspondantes de - regex.

+ sous-expressions entre parenthèses correspondantes de + regex. $0 permet d'accéder à l'ensemble de la chaîne + qui correspond à ce modèle.

SetEnvIf Request_URI "\.gif$" object_is_image=gif @@ -243,32 +244,34 @@ SetEnvIf Request_URI "\.xbm$" object_is_image=xbm SetEnvIf Referer www\.mydomain\.example\.com intra_site_referral SetEnvIf object_is_image xbm XBIT_PROCESSING=1 + +SetEnvIf Request_URI "\.(.*)$" EXTENSION=$1 SetEnvIf ^TS ^[a-z] HAVE_TS -

Les trois premières lignes définissent la variable +

Les trois premières lignes définissent la variable d'environnement objet_est_une_image si l'objet de la - requête est un fichier image, et la quatrième définit la variable - référant_intra_site si la page référante se trouve + requête est un fichier image, et la quatrième définit la variable + référant_intra_site si la page référante se trouve quelque part dans le site web www.mon-domaine.example.com.

-

La dernière ligne définit la variable d'environnement - HAVE_TS si la requête contient un en-tête dont le nom - commence par "TS" et dont la valeur commence par tout caractère du +

La dernière ligne définit la variable d'environnement + HAVE_TS si la requête contient un en-tête dont le nom + commence par "TS" et dont la valeur commence par tout caractère du jeu [a-z].

Les variables d'environnement et le -serveur HTTP Apache pour des exemples supplémentaires. +serveur HTTP Apache pour des exemples supplémentaires.
SetEnvIfExpr -Définit des variables d'environnement en fonction d'une expression ap_expr +Définit des variables d'environnement en fonction d'une expression ap_expr SetEnvIfExpr expr [!]env-variable[=valeur] [[!]env-variable[=valeur]] ... @@ -279,10 +282,10 @@ serveur HTTP Apache pour des exemples supplémentaires.

La directive SetEnvIfExpr permet de - définir des variables d'environnement en fonction d'une expression + définir des variables d'environnement en fonction d'une expression If ap_expr. Cette - expression est évaluée à l'exécution, et utilise les variables - d'environnement env-variable de la même manière que la + expression est évaluée à l'exécution, et utilise les variables + d'environnement env-variable de la même manière que la directive SetEnvIf.

@@ -290,11 +293,11 @@ serveur HTTP Apache pour des exemples supplémentaires.

Dans cet exemple, la variable d'environnement - iso_delivered est définie chaque fois que notre + iso_delivered est définie chaque fois que notre application tente de l'envoyer via X-Sendfile.

-

Il pourrait être plus utile de définir une variable rfc1918 si - l'adresse IP distante est une adresse privée au sens de la RFC 1918 +

Il pourrait être plus utile de définir une variable rfc1918 si + l'adresse IP distante est une adresse privée au sens de la RFC 1918 :

@@ -303,17 +306,17 @@ serveur HTTP Apache pour des exemples supplémentaires.
Les expressions dans le serveur HTTP -Apache, pour une référence complète et davantage d'exemples. +Apache, pour une référence complète et davantage d'exemples. La directive If permet d'obtenir des résultats +type="section">If permet d'obtenir des résultats similaires. mod_filter
SetEnvIfNoCase -Définit des variables d'environnement en fonction des -attributs de la requête sans tenir compte de la casse +Définit des variables d'environnement en fonction des +attributs de la requête sans tenir compte de la casse SetEnvIfNoCase attribut regex [!]env-variable[=valeur] [[!]env-variable[=valeur]] ... @@ -325,19 +328,19 @@ attributs de la requête sans tenir compte de la casse

La directive SetEnvIfNoCase est identique - d'un point de vue sémantique à la directive SetEnvIf, et ne s'en distingue que par le fait que la comparaison des expressions rationnelles est - effectuée sans tenir compte de la casse. Par exemple :

+ effectuée sans tenir compte de la casse. Par exemple :

SetEnvIfNoCase Host Example\.Org site=apache -

Cette ligne va définir la variable d'environnement +

Cette ligne va définir la variable d'environnement site avec la valeur "example" si le champ - d'en-tête de requête HTTP Host: est présent et contient + d'en-tête de requête HTTP Host: est présent et contient Example.Org, example.org, ou une autre - combinaison des mêmes caractères, sans tenir compte de la casse.

+ combinaison des mêmes caractères, sans tenir compte de la casse.

diff --git a/docs/manual/mod/mod_so.xml.fr b/docs/manual/mod/mod_so.xml.fr index 23ac6986ee..3e9b02d9dd 100644 --- a/docs/manual/mod/mod_so.xml.fr +++ b/docs/manual/mod/mod_so.xml.fr @@ -1,7 +1,7 @@ - + - + @@ -25,8 +25,8 @@ mod_so -Chargement de modules ou de code exécutable au cours du -démarrage ou du redémarrage du serveur +Chargement de modules ou de code exécutable au cours du +démarrage ou du redémarrage du serveur Extension mod_so.c so_module @@ -35,33 +35,33 @@ inclus) -

Sur les systèmes d'exploitation sélectionnés, ce module peut être - utilisé pour charger des modules dans le serveur HTTP Apache en cours d'exécution - grâce au mécanisme des Dynamic Shared Object ou Objets Partagés - Dynamiquement (DSO), et évite ainsi de devoir effectuer une +

Sur les systèmes d'exploitation sélectionnés, ce module peut être + utilisé pour charger des modules dans le serveur HTTP Apache en cours d'exécution + grâce au mécanisme des Dynamic Shared Object ou Objets Partagés + Dynamiquement (DSO), et évite ainsi de devoir effectuer une recompilation.

-

Sous Unix, le code chargé provient en général de fichiers objet - partagés possèdant en général l'extension .so, alors - que sous Windows, l'extension peut être soit .so, soit +

Sous Unix, le code chargé provient en général de fichiers objet + partagés possèdant en général l'extension .so, alors + que sous Windows, l'extension peut être soit .so, soit .dll.

Avertissement -

En général, les modules compilés pour une version majeure du +

En général, les modules compilés pour une version majeure du serveur HTTP Apache ne fonctionneront pas avec une autre (par - exemple de 1.3 à 2.0 ou 2.0 à 2.2). D'une version majeure à l'autre, - il y a souvent des modifications d'API qui nécessitent des + exemple de 1.3 à 2.0 ou 2.0 à 2.2). D'une version majeure à l'autre, + il y a souvent des modifications d'API qui nécessitent des modifications du module pour qu'il puisse fonctionner avec la nouvelle version.

-
Création de modules chargeables pour +<section id="windows"><title>Création de modules chargeables pour Windows Note -

Sous Windows, où les modules chargeables possèdent en général +

Sous Windows, où les modules chargeables possèdent en général l'extension de nom de fichier .dll, les modules Apache httpd se nomment mod_nom-module.so, tout comme sur les autres plates-formes. Vous trouverez cependant encore des modules @@ -69,40 +69,40 @@ Windows convention de nommage avec extension .dll.

Bien que mod_so puisse encore charger des modules - possèdant un nom du style ApacheModuleFoo.dll, - il est préférable d'utiliser la + possèdant un nom du style ApacheModuleFoo.dll, + il est préférable d'utiliser la nouvelle convention de nommage ; si vous modifiez votre module chargeable pour la version 2.0, veuillez aussi modifier son nom pour respecter cette nouvelle convention.

Les API des modules Apache httpd sous Unix et Windows sont identiques. Alors que certains modules s'appuient sur certains - aspects de l'architecture Unix non présents dans Windows, et ne - fonctionneront donc pas sur cette dernière plate-forme, de nombreux + aspects de l'architecture Unix non présents dans Windows, et ne + fonctionneront donc pas sur cette dernière plate-forme, de nombreux modules fonctionnent sous Windows avec peu ou pas de modification - par rapport à leur version Unix.

+ par rapport à leur version Unix.

-

Lorsqu'un module fonctionne, il peut être ajouté au serveur de - deux manières. Sous Unix, il peut être compilé dans le serveur. +

Lorsqu'un module fonctionne, il peut être ajouté au serveur de + deux manières. Sous Unix, il peut être compilé dans le serveur. Comme Apache httpd pour Windows ne dispose pas du programme - Configure propre à Apache httpd pour Unix, le fichier source - du module doit être ajouté au fichier projet Apache de base, et ses - symboles ajoutés au fichier os\win32\modules.c.

- -

La seconde méthode consiste à compiler le module en tant que DLL, - à savoir une bibliothèque partagée qui pourra être chargée dans le - serveur en cours d'exécution via la directive - LoadModule. Ces modules DLL - peuvent être distribués et exécutés sur toute installation d'Apache - httpd pour Windows, sans avoir à recompiler le serveur.

- -

Pour créer un module DLL, il est nécessaire d'apporter une légère - modification à son fichier source : l'enregistrement du module doit - être exporté depuis la DLL (qui sera elle-même créée plus tard ; + Configure propre à Apache httpd pour Unix, le fichier source + du module doit être ajouté au fichier projet Apache de base, et ses + symboles ajoutés au fichier os\win32\modules.c.

+ +

La seconde méthode consiste à compiler le module en tant que DLL, + à savoir une bibliothèque partagée qui pourra être chargée dans le + serveur en cours d'exécution via la directive + LoadModule. Ces modules DLL + peuvent être distribués et exécutés sur toute installation d'Apache + httpd pour Windows, sans avoir à recompiler le serveur.

+ +

Pour créer un module DLL, il est nécessaire d'apporter une légère + modification à son fichier source : l'enregistrement du module doit + être exporté depuis la DLL (qui sera elle-même créée plus tard ; voir plus loin). Pour ce faire, ajoutez la macro - AP_MODULE_DECLARE_DATA (définie dans les fichiers - d'en-têtes d'Apache httpd) à la définition de l'enregistrement de votre - module. Par exemple, si votre module est déclaré comme suit :

+ AP_MODULE_DECLARE_DATA (définie dans les fichiers + d'en-têtes d'Apache httpd) à la définition de l'enregistrement de votre + module. Par exemple, si votre module est déclaré comme suit :

module foo_module; @@ -114,35 +114,35 @@ Windows

Notez que cette macro ne sera prise en compte que sous Windows, - si bien que le module poura être utilisé sans changement sous Unix, - si besoin est. Alternativement, si vous êtes familier avec les + si bien que le module poura être utilisé sans changement sous Unix, + si besoin est. Alternativement, si vous êtes familier avec les fichiers .DEF, vous pouvez les utiliser pour exporter l'enregistrement du module.

-

Maintenant, nous sommes prêts à créer une DLL contenant notre - module. Il va falloir pour cela la lier avec la bibliothèque - d'export libhttpd.lib qui a été créée au cours de la compilation de - la bibliothèque partagée libhttpd.dll. Il sera peut-être aussi - nécessaire de modifier la configuration du compilateur pour - s'assurer que les fichiers d'en-têtes d'Apache httpd seront correctement - localisés. Vous trouverez cette bibliothèque à la racine du - répertoire des modules de votre serveur. Il est souhaitable +

Maintenant, nous sommes prêts à créer une DLL contenant notre + module. Il va falloir pour cela la lier avec la bibliothèque + d'export libhttpd.lib qui a été créée au cours de la compilation de + la bibliothèque partagée libhttpd.dll. Il sera peut-être aussi + nécessaire de modifier la configuration du compilateur pour + s'assurer que les fichiers d'en-têtes d'Apache httpd seront correctement + localisés. Vous trouverez cette bibliothèque à la racine du + répertoire des modules de votre serveur. Il est souhaitable d'utiliser un fichier de module .dsp existant dans l'arborescence afin de s'assurer que l'environnement de compilation est - correctement configuré, mais vous pouvez aussi comparer les options - de compilation et d'édition de liens à votre fichier .dsp.

+ correctement configuré, mais vous pouvez aussi comparer les options + de compilation et d'édition de liens à votre fichier .dsp.

-

Ceci devrait créer une version DLL de votre module. Il vous - suffit maintenant de l'enregistrer dans le répertoire - modules à la racine de votre serveur, et d'utiliser la +

Ceci devrait créer une version DLL de votre module. Il vous + suffit maintenant de l'enregistrer dans le répertoire + modules à la racine de votre serveur, et d'utiliser la directive LoadModule pour la charger.

LoadFile -Liaison du fichier objet ou de la bibliothèque -spécifié +Liaison du fichier objet ou de la bibliothèque +spécifié LoadFile nom-fichier [nom-fichier] ... server config @@ -151,17 +151,20 @@ spécifié -

La directive LoadFile permet de lier le fichier objet ou la - bibliothèque spécifié au serveur lors du démarrage ou du redémarrage +

La directive LoadFile permet de lier le fichier + objet ou la bibliothèque spécifié au serveur lors du + démarrage ou du redémarrage de ce dernier ; ceci permet d'ajouter tout code additionnel - nécessaire au fonctionnement d'un module. + nécessaire au fonctionnement d'un module. nom-fichier est soit un chemin absolu, soit un chemin - relatif au répertoire défini par la directive ServerRoot.

-

Par exemple:

+

Par exemple :

- LoadFile libexec/libxmlparse.so + +LoadFile "libexec/libxmlparse.so" +
@@ -169,7 +172,7 @@ spécifié LoadModule Liaison avec le serveur du fichier objet ou de la -bibliothèque spécifié, et ajout de ce dernier à la liste des modules +bibliothèque spécifié, et ajout de ce dernier à la liste des modules actifs LoadModule module nom-fichier @@ -178,20 +181,22 @@ actifs -

La directive LoadModule permet de lier le fichier objet ou la - bibliothèque nom-fichier avec le serveur, et d'ajouter la - structure de module nommée module à la liste des modules +

La directive LoadModule permet de lier le fichier objet ou la + bibliothèque nom-fichier avec le serveur, et d'ajouter la + structure de module nommée module à la liste des modules actifs. module est le nom de la variable externe de type - module dans le fichier, et est référencé comme module dans le fichier, et est référencé comme Identificateur de - module dans la documentation des modules. Exemple :

+ module dans la documentation des modules.

+ +

Par exemple :

- LoadModule status_module modules/mod_status.so +LoadModule status_module "modules/mod_status.so" -

charge le module spécifié depuis le sous-répertoire des modules - situé à la racine du serveur.

+

charge le module spécifié depuis le sous-répertoire des modules + situé à la racine du serveur.

diff --git a/docs/manual/new_features_2_4.xml.fr b/docs/manual/new_features_2_4.xml.fr index 20f60744a6..23a5e9524b 100644 --- a/docs/manual/new_features_2_4.xml.fr +++ b/docs/manual/new_features_2_4.xml.fr @@ -1,9 +1,9 @@ - + - +