This file is generated from xml source: DO NOT EDIT
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-->
-<title>Support des objets dynamiques partagés (DSO) - Serveur HTTP Apache Version 2.4</title>
+<title>Prise en charge des objets dynamiques partagés (DSO) - Serveur HTTP Apache Version 2.4</title>
<link href="./style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
<link href="./style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
<link href="./style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="./style/css/prettify.css" />
<img alt="" src="./images/feather.png" /></div>
<div class="up"><a href="./"><img title="<-" alt="<-" src="./images/left.gif" /></a></div>
<div id="path">
-<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="./">Version 2.4</a></div><div id="page-content"><div id="preamble"><h1>Support des objets dynamiques partagés (DSO)</h1>
+<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="./">Version 2.4</a></div><div id="page-content"><div id="preamble"><h1>Prise en charge des objets dynamiques partagés (DSO)</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="./en/dso.html" hreflang="en" rel="alternate" title="English"> en </a> |
<a href="./fr/dso.html" title="Français"> fr </a> |
<table class="related"><tr><th>Modules Apparentés</th><th>Directives Apparentées</th></tr><tr><td><ul><li><code class="module"><a href="./mod/mod_so.html">mod_so</a></code></li></ul></td><td><ul><li><code class="directive"><a href="./mod/mod_so.html#loadmodule">LoadModule</a></code></li></ul></td></tr></table>
- <p>Le support DSO pour le chargement de modules individuels d'Apache
+ <p>La prise en charge de DSO pour le chargement de modules individuels d'Apache
httpd est
assuré par un module nommé <code class="module"><a href="./mod/mod_so.html">mod_so</a></code> qui doit être compilé
statiquement dans le coeur d'Apache httpd. Il s'agit du seul module avec le
module peut être chargé en mémoire au
démarrage ou redémarrage du serveur à l'aide de
la directive <code class="directive"><a href="./mod/mod_so.html#loadmodule">LoadModule</a></code> du module
- <code class="module"><a href="./mod/mod_so.html">mod_so</a></code>, placée
+ <code class="module"><a href="./mod/mod_so.html">mod_so</a></code> placée
dans votre fichier <code>httpd.conf</code>.</p>
<p>La compilation en mode DSO peut être désactivée pour certains
modules via l'option <code>--enable-mods-static</code> du script
du script <code class="program"><a href="./programs/configure.html">configure</a></code> installe les fichiers d'en-têtes
d'Apache httpd et positionne, pour la plateforme de compilation, les drapeaux du compilateur et de
l'éditeur de liens à l'intérieur du programme
- <code class="program"><a href="./programs/apxs.html">apxs</a></code>, qui sera utilisé pour la construction de fichiers DSO.
+ <code class="program"><a href="./programs/apxs.html">apxs</a></code> qui sera utilisé pour la construction de fichiers DSO.
Il est ainsi possible d'utiliser le programme <code class="program"><a href="./programs/apxs.html">apxs</a></code>
pour compiler ses sources de modules Apache httpd sans avoir besoin de
l'arborescence des sources de la distribution d'Apache, et sans avoir à
- régler les drapeaux du compilateur et de l'éditeur de liens pour le support DSO.</p>
+ régler les drapeaux du compilateur et de l'éditeur de liens pour la prise en charge de DSO.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section">
<h2><a name="usage" id="usage">Mode d'emploi succinct</a></h2>
</li>
<li>
- <p>Configure le serveur HTTP Apache avec tous les modules
+ <p>Configurer le serveur HTTP Apache avec tous les modules
activés. Seul un jeu de modules de base sera chargé au
démarrage du serveur. Vous pouvez modifier ce jeu de modules
chargés au démarrage en activant ou désactivant les directives <code class="directive"><a href="./mod/mod_so.html#loadmodule">LoadModule</a></code> correspondantes dans le
<div class="section">
<h2><a name="background" id="background">Les dessous du fonctionnement des DSO</a></h2>
- <p>Les clônes modernes d'UNIX proposent un mécanisme
+ <p>Les clones modernes d'UNIX proposent un mécanisme
appelé édition de liens et chargement dynamiques d'
<em>Objets Dynamiques Partagés</em> (DSO), qui permet de construire un
morceau de programme dans un format spécial pour le rendre chargeable
<p>Ce chargement peut s'effectuer de deux manières : automatiquement par
un programme système appelé <code>ld.so</code> quand un programme
exécutable est démarré, ou manuellement à partir du programme en cours
- d'exécution via sa propre interface système vers le chargeur Unix à l'aide
+ d'exécution à l’aide de sa propre interface système vers le chargeur Unix à l'aide
des appels système <code>dlopen()/dlsym()</code>.</p>
<p>Dans la première méthode, les DSO sont en général appelés
et le lien avec le programme exécutable est établi à la compilation en
ajoutant <code>-lfoo</code> à la commande de l'éditeur de liens. Les
références à la bibliothèque sont ainsi codées en dur dans le fichier du
- programme exécutable de façon à ce qu'au démarrage du programme, le
+ programme exécutable de façon qu'au démarrage du programme, le
chargeur Unix soit capable de localiser <code>libfoo.so</code> dans
<code>/usr/lib</code>, dans des chemins codés en dur à l'aide d'options de
l'éditeur de liens comme <code>-R</code> ou dans des chemins définis par la
<p>Finalement, pour tirer profit de l'API des DSO, le programme exécutable
doit résoudre certains symboles du DSO à l'aide de l'appel système
<code>dlsym()</code> pour une utilisation ultérieure dans les tables de
- distribution, <em>etc...</em> En d'autres termes, le programme exécutable doit
+ distribution, <em>etc.</em> En d'autres termes, le programme exécutable doit
résoudre manuellement tous les symboles dont il a besoin pour pouvoir les
utiliser.
Avantage d'un tel mécanisme : les modules optionnels du programme n'ont pas
<p>Bien que ce mécanisme DSO paraisse évident, il comporte au moins une
étape difficile : la résolution des symboles depuis le programme exécutable
pour le DSO lorsqu'on utilise un DSO pour étendre les fonctionnalités d'un
- programme (la seconde méthode). Pourquoi ? Parce que la "résolution
- inverse" des symboles DSO à partir du jeu de symboles du programme
+ programme (la seconde méthode). Pourquoi ? Parce que la « résolution
+ inverse » des symboles DSO à partir du jeu de symboles du programme
exécutable dépend de la conception de la bibliothèque (la bibliothèque n'a
aucune information sur le programme qui l'utilise) et n'est ni standardisée
ni disponible sur toutes les plateformes. En pratique, les symboles globaux
<code class="program"><a href="./programs/configure.html">configure</a></code> à la compilation. Par exemple,
on peut ainsi exécuter différentes instances du serveur
(standard et version SSL, version minimale et version dynamique
- [mod_perl, mod_php], <em>etc...</em>) à partir d'une seule installation
+ [mod_perl, mod_php], <em>etc.</em>) à partir d'une seule installation
d'Apache httpd.</li>
<li>Le paquetage du serveur peut être facilement étendu avec des modules
avantage pour les mainteneurs de paquetages destinés aux distributions,
car ils peuvent créer un paquetage Apache httpd de base, et des paquetages
additionnels contenant des extensions telles que PHP, mod_perl, mod_fastcgi,
- <em>etc...</em></li>
+ <em>etc.</em></li>
<li>Une facilité de prototypage des modules Apache httpd, car la paire
DSO/<code class="program"><a href="./programs/apxs.html">apxs</a></code> vous permet d'une part de travailler en
position (PIC).
Il y a deux solutions pour utiliser un autre type de code : soit le
coeur d'Apache httpd contient déjà lui-même une référence au code, soit vous
- chargez le code vous-même via <code>dlopen()</code>.</li>
+ chargez le code vous-même à l’aide de <code>dlopen()</code>.</li>
</ul>
</div></div>
This file is generated from xml source: DO NOT EDIT
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-->
-<title>Apache et les variables d'environnement - Serveur HTTP Apache Version 2.4</title>
+<title>Apache httpd et les variables d'environnement - Serveur HTTP Apache Version 2.4</title>
<link href="./style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
<link href="./style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
<link href="./style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="./style/css/prettify.css" />
<img alt="" src="./images/feather.png" /></div>
<div class="up"><a href="./"><img title="<-" alt="<-" src="./images/left.gif" /></a></div>
<div id="path">
-<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="./">Version 2.4</a></div><div id="page-content"><div id="preamble"><h1>Apache et les variables d'environnement</h1>
+<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="./">Version 2.4</a></div><div id="page-content"><div id="preamble"><h1>Apache httpd et les variables d'environnement</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="./en/env.html" hreflang="en" rel="alternate" title="English"> en </a> |
<a href="./fr/env.html" title="Français"> fr </a> |
contrôlées par le système d'exploitation sous-jacent et définies
avant le démarrage du serveur. Leurs valeurs peuvent être utilisées
directement dans les fichiers de configuration, et peuvent
- éventuellement être transmises aux scripts CGI et SSI via la
+ éventuellement être transmises aux scripts CGI et SSI à l’aide de la
directive PassEnv.</p>
<p>Le second type correspond aux variables nommées appelées aussi
d'environnement</em>, il ne faut pas les confondre avec les variables
d'environnement contrôlées par le système d'exploitation sous-jacent.
En fait, ces variables sont stockées et manipulées dans une structure
- interne à Apache. Elles ne deviennent de véritables variables
+ interne à Apache httpd. Elles ne deviennent de véritables variables
d'environnement du système d'exploitation que lorsqu'elles sont mises à la
disposition de scripts CGI et de scripts inclus côté serveur (SSI). Si vous
souhaitez manipuler l'environnement du système d'exploitation sous lequel
<p>La méthode la plus élémentaire pour définir une variable
- d'environnement au niveau d'Apache consiste à utiliser la directive
+ d'environnement au niveau d'Apache httpd consiste à utiliser la directive
inconditionnelle <code class="directive"><a href="./mod/mod_env.html#setenv">SetEnv</a></code>. Les variables peuvent aussi être transmises depuis
l'environnement du shell à partir duquel le serveur a été démarré en
utilisant la directive
<p>Finalement, le module <code class="module"><a href="./mod/mod_unique_id.html">mod_unique_id</a></code> définit la variable
d'environnement <code>UNIQUE_ID</code> pour chaque requête à une valeur
- qui est garantie unique parmi "toutes" les requêtes sous des
+ qui est garantie unique parmi « toutes » les requêtes sous des
conditions très spécifiques.</p>
<p>En plus de l'ensemble des variables d'environnement internes à la
- configuration d'Apache et de celles transmises depuis le shell,
+ configuration d'Apache httpd et de celles transmises depuis le shell,
les scripts CGI et les pages SSI
se voient affectés un ensemble de variables
d'environnement contenant des méta-informations à propos de la requête
<code>suexec.c</code>.</li>
<li>Pour des raisons de portabilité, les noms des variables
- d'environnement ne peuvent contenir que des lettres, des chiffres, et
- le caractère "sousligné". En outre, le premier caractère ne doit pas
+ d'environnement ne peuvent contenir que des lettres, des chiffres et
+ le caractère « souligné ». En outre, le premier caractère ne doit pas
être un chiffre. Les caractères qui ne satisfont pas à ces conditions
- seront remplacés par un caractère "sousligné" quand ils seront
+ seront remplacés par un caractère « souligné » quand ils seront
transmis aux scripts CGI et aux pages SSI.</li>
<li>Les contenus d'en-têtes HTTP transmis aux scripts de type
- CGI ou autre via des variables d'environnement constituent un
+ CGI ou autre à l’aide de variables d'environnement constituent un
cas particulier (voir plus loin). Leur nom est converti en
majuscules et seuls les tirets sont remplacés par des
- caractères '_' ("souligné") ; si le format du nom de l'en-tête
+ caractères '_' (« souligné ») ; si le format du nom de l'en-tête
n'est pas valide, celui-ci est ignoré. Voir <a href="#fixheader">plus loin</a> pour une solution de
contournement du problème.</li>
<li>Lorsque le serveur cherche un chemin via une <a class="glossarylink" href="./glossary.html#subrequest" title="voir glossaire">sous-requête</a> interne (par exemple la
recherche d'un <code class="directive"><a href="./mod/mod_dir.html#directoryindex">DirectoryIndex</a></code>), ou lorsqu'il génère un
- listing du contenu d'un répertoire via le module
+ listing du contenu d'un répertoire à l’aide du module
<code class="module"><a href="./mod/mod_autoindex.html">mod_autoindex</a></code>, 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 <code class="module"><a href="./mod/mod_setenvif.html">mod_setenvif</a></code> prend
principales utilisations des variables d'environnement. Comme indiqué
plus haut, l'environnement transmis aux scripts CGI comprend des
méta-informations standards à propos de la requête, en plus des
- variables définies dans la configuration d'Apache. Pour plus de
+ variables définies dans la configuration d'Apache httpd. Pour plus de
détails, se référer au
<a href="howto/cgi.html">tutoriel CGI</a>.</p>
et peuvent utiliser des variables d'environnement dans les éléments
de contrôle de flux pour rendre certaines parties d'une page
conditionnelles en fonction des caractéristiques de la requête.
- Apache fournit aussi les variables d'environnement CGI standards
+ Apache httpd fournit aussi les variables d'environnement CGI standards
aux pages SSI
comme indiqué plus haut. Pour plus de détails, se référer au
<a href="howto/ssi.html">tutoriel SSI</a>.</p>
variables d'environnement à l'aide des directives
<code>Require env</code> et <code>Require not env</code>.
En association avec la directive
- <code class="directive"><a href="./mod/mod_setenvif.html#setenvif">SetEnvIf</a></code>, ceci confère une
+ <code class="directive"><a href="./mod/mod_setenvif.html#setenvif">SetEnvIf</a></code>, cela confère une
grande souplesse au contrôle d'accès au serveur en fonction des
caractéristiques du client. Par exemple, vous pouvez utiliser ces
directives pour interdire l'accès depuis un navigateur particulier
en fonction de l'état de variables d'environnement en utilisant la
forme conditionnelle de la directive
<code class="directive"><a href="./mod/mod_log_config.html#customlog">CustomLog</a></code>. En
- association avec la directive <code class="directive"><a href="./mod/mod_setenvif.html#setenvif">SetEnvIf</a></code>, ceci confère une grande souplesse au contrôle
+ association avec la directive <code class="directive"><a href="./mod/mod_setenvif.html#setenvif">SetEnvIf</a></code>, cela confère une grande souplesse au contrôle
du traçage des requêtes. Par exemple, vous pouvez choisir de ne pas
tracer les requêtes pour des noms de fichiers se terminant par
<code>gif</code>, ou encore de ne tracer que les requêtes des clients
<p>La directive <code class="directive"><a href="./mod/mod_headers.html#header">Header</a></code>
peut se baser sur la présence ou l'absence d'une variable
d'environnement pour décider si un certain en-tête HTTP sera placé
- dans la réponse au client. Ceci permet, par exemple, de n'envoyer un
+ dans la réponse au client. Cela permet, par exemple, de n'envoyer un
certain en-tête de réponse que si un en-tête correspondant est présent
dans la requête du client.</p>
<p>Des problèmes d'interopérabilité ont conduit à l'introduction de
- mécanismes permettant de modifier le comportement d'Apache lorsqu'il
+ mécanismes permettant de modifier le comportement d'Apache httpd lorsqu'il
dialogue avec certains clients. Afin de rendre ces mécanismes aussi
souples que possible, ils sont invoqués en définissant des variables
d'environnement, en général à l'aide de la directive
<h3><a name="downgrade" id="downgrade">downgrade-1.0</a></h3>
- <p>Ceci force le traitement d'une requête comme une requête HTTP/1.0
+ <p>Cela force le traitement d'une requête comme une requête HTTP/1.0
même si elle a été rédigée dans un langage plus récent.</p>
<h3><a name="gzip-only-text-html" id="gzip-only-text-html">gzip-only-text/html</a></h3>
- <p>Positionnée à "1", cette variable désactive le filtre en sortie
+ <p>Positionnée à « 1 », cette variable désactive le filtre en sortie
<code>DEFLATE</code> fourni par le module <code class="module"><a href="./mod/mod_deflate.html">mod_deflate</a></code> pour les
types de contenu autres que <code>text/html</code>. Si vous préférez
utiliser des fichiers compressés statiquement,
<code class="module"><a href="./mod/mod_negotiation.html">mod_negotiation</a></code> évalue aussi la variable (non
seulement pour gzip, mais aussi pour tous les encodages autres que
- "identity").</p>
+ « identity »).</p>
<h3><a name="no-gzip" id="no-gzip">no-gzip</a></h3>
<h3><a name="no-cache" id="no-cache">no-cache</a></h3>
- <p><em>Disponible dans les versions 2.2.12 et ultérieures d'Apache</em></p>
+ <p><em>Disponible dans les versions 2.2.12 et ultérieures d'Apache httpd</em></p>
<p>Lorsque cette variable est définie,
<code class="module"><a href="./mod/mod_cache.html">mod_cache</a></code> ne sauvegardera pas de réponse
susceptible d'être mise en cache. Cette variable d'environnement
n'a aucune incidence sur le fait qu'une réponse déjà enregistrée
- dans la cache soit utilisée ou non pour la requête courante.</p>
+ dans le cache soit utilisée ou non pour la requête courante.</p>
<p><em>Disponible dans les versions postérieures à 2.0.54</em></p>
- <p>Quand Apache génère une redirection en réponse à une requête client,
+ <p>Quand Apache httpd génère une redirection en réponse à une requête client,
la réponse inclut un texte destiné à être affiché au cas où le client ne
suivrait pas, ou ne pourrait pas suivre automatiquement la redirection.
- Habituellement, Apache marque ce texte en accord avec le jeu de caractères
+ Habituellement, Apache httpd marque ce texte en accord avec le jeu de caractères
qu'il utilise, à savoir ISO-8859-1.</p>
<p> Cependant, si la redirection fait référence à une page qui utilise un
jeu de caractères différent, certaines versions de navigateurs obsolètes
essaieront d'utiliser le jeu de caractères du texte de la redirection
plutôt que celui de la page réelle.
- Ceci peut entraîner, par exemple, un rendu incorrect du Grec.</p>
- <p>Si cette variable d'environnement est définie, Apache omettra le jeu de
+ Cela peut entraîner, par exemple, un rendu incorrect du Grec.</p>
+ <p>Si cette variable d'environnement est définie, Apache httpd omettra le jeu de
caractères pour le texte de la redirection, et les navigateurs obsolètes
précités utiliseront correctement celui de la page de destination.</p>
CGI</a></h3>
- <p>Avec la version 2.4, Apache est plus strict avec la conversion
+ <p>Avec la version 2.4, Apache httpd est plus strict avec la conversion
des en-têtes HTTP en variables d'environnement dans
<code class="module"><a href="./mod/mod_cgi.html">mod_cgi</a></code> et d'autres modules : dans les versions
- précédentes, tout caractère invalide dans les noms d'en-têtes
+ précédentes, tout caractère non valable dans les noms d'en-têtes
était tout simplement remplacé par un caractère '_', ce qui
pouvait exposer à des attaques de type cross-site-scripting via
injection d'en-têtes (voir <a href="http://events.ccc.de/congress/2007/Fahrplan/events/2212.en.html">Bogues
du Web inhabituelles</a>, planche 19/20).</p>
- <p>Si vous devez supporter un client qui envoie des en-têtes non
+ <p>Si vous devez prendre en charge un client qui envoie des en-têtes non
conformes et si ceux-ci ne peuvent pas être corrigés, il existe
une solution de contournement simple mettant en jeu les modules
<code class="module"><a href="./mod/mod_setenvif.html">mod_setenvif</a></code> et <code class="module"><a href="./mod/mod_headers.html">mod_headers</a></code>,
- <h3><a name="image-theft" id="image-theft">Prévention du "Vol d'image"</a></h3>
+ <h3><a name="image-theft" id="image-theft">Prévention du « Vol d'image »</a></h3>
<p>Cet exemple montre comment empêcher les utilisateurs ne faisant pas