You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
<p>Configure le serveur HTTP Apache avec tous les modules
112
+
<p>Configurer le serveur HTTP Apache avec tous les modules
113
113
activés. Seul un jeu de modules de base sera chargé au
114
114
démarrage du serveur. Vous pouvez modifier ce jeu de modules
115
115
chargés au démarrage en activant ou désactivant les directives <codeclass="directive"><ahref="./mod/mod_so.html#loadmodule">LoadModule</a></code> correspondantes dans le
@@ -164,7 +164,7 @@ $ apxs -cia mod_foo.c
164
164
<divclass="section">
165
165
<h2><aname="background"id="background">Les dessous du fonctionnement des DSO</a></h2>
166
166
167
-
<p>Les clônes modernes d'UNIX proposent un mécanisme
167
+
<p>Les clones modernes d'UNIX proposent un mécanisme
168
168
appelé édition de liens et chargement dynamiques d'
169
169
<em>Objets Dynamiques Partagés</em> (DSO), qui permet de construire un
170
170
morceau de programme dans un format spécial pour le rendre chargeable
@@ -173,7 +173,7 @@ $ apxs -cia mod_foo.c
173
173
<p>Ce chargement peut s'effectuer de deux manières : automatiquement par
174
174
un programme système appelé <code>ld.so</code> quand un programme
175
175
exécutable est démarré, ou manuellement à partir du programme en cours
176
-
d'exécution via sa propre interface système vers le chargeur Unix à l'aide
176
+
d'exécution à l’aide de sa propre interface système vers le chargeur Unix à l'aide
177
177
des appels système <code>dlopen()/dlsym()</code>.</p>
178
178
179
179
<p>Dans la première méthode, les DSO sont en général appelés
@@ -184,7 +184,7 @@ $ apxs -cia mod_foo.c
184
184
et le lien avec le programme exécutable est établi à la compilation en
185
185
ajoutant <code>-lfoo</code> à la commande de l'éditeur de liens. Les
186
186
références à la bibliothèque sont ainsi codées en dur dans le fichier du
187
-
programme exécutable de façon à ce qu'au démarrage du programme, le
187
+
programme exécutable de façon qu'au démarrage du programme, le
188
188
chargeur Unix soit capable de localiser <code>libfoo.so</code> dans
189
189
<code>/usr/lib</code>, dans des chemins codés en dur à l'aide d'options de
190
190
l'éditeur de liens comme <code>-R</code> ou dans des chemins définis par la
@@ -228,7 +228,7 @@ $ apxs -cia mod_foo.c
228
228
<p>Finalement, pour tirer profit de l'API des DSO, le programme exécutable
229
229
doit résoudre certains symboles du DSO à l'aide de l'appel système
230
230
<code>dlsym()</code> pour une utilisation ultérieure dans les tables de
231
-
distribution, <em>etc...</em> En d'autres termes, le programme exécutable doit
231
+
distribution, <em>etc.</em> En d'autres termes, le programme exécutable doit
232
232
résoudre manuellement tous les symboles dont il a besoin pour pouvoir les
233
233
utiliser.
234
234
Avantage d'un tel mécanisme : les modules optionnels du programme n'ont pas
@@ -240,8 +240,8 @@ $ apxs -cia mod_foo.c
240
240
<p>Bien que ce mécanisme DSO paraisse évident, il comporte au moins une
241
241
étape difficile : la résolution des symboles depuis le programme exécutable
242
242
pour le DSO lorsqu'on utilise un DSO pour étendre les fonctionnalités d'un
243
-
programme (la seconde méthode). Pourquoi ? Parce que la "résolution
244
-
inverse" des symboles DSO à partir du jeu de symboles du programme
243
+
programme (la seconde méthode). Pourquoi ? Parce que la « résolution
244
+
inverse » des symboles DSO à partir du jeu de symboles du programme
245
245
exécutable dépend de la conception de la bibliothèque (la bibliothèque n'a
246
246
aucune information sur le programme qui l'utilise) et n'est ni standardisée
247
247
ni disponible sur toutes les plateformes. En pratique, les symboles globaux
@@ -272,15 +272,15 @@ $ apxs -cia mod_foo.c
272
272
<codeclass="program"><ahref="./programs/configure.html">configure</a></code> à la compilation. Par exemple,
273
273
on peut ainsi exécuter différentes instances du serveur
274
274
(standard et version SSL, version minimale et version dynamique
275
-
[mod_perl, mod_php], <em>etc...</em>) à partir d'une seule installation
275
+
[mod_perl, mod_php], <em>etc.</em>) à partir d'une seule installation
276
276
d'Apache httpd.</li>
277
277
278
278
<li>Le paquetage du serveur peut être facilement étendu avec des modules
279
279
tiers, même après l'installation. Ceci présente un gros
280
280
avantage pour les mainteneurs de paquetages destinés aux distributions,
281
281
car ils peuvent créer un paquetage Apache httpd de base, et des paquetages
282
282
additionnels contenant des extensions telles que PHP, mod_perl, mod_fastcgi,
283
-
<em>etc...</em></li>
283
+
<em>etc.</em></li>
284
284
285
285
<li>Une facilité de prototypage des modules Apache httpd, car la paire
286
286
DSO/<codeclass="program"><ahref="./programs/apxs.html">apxs</a></code> vous permet d'une part de travailler en
@@ -319,7 +319,7 @@ $ apxs -cia mod_foo.c
319
319
position (PIC).
320
320
Il y a deux solutions pour utiliser un autre type de code : soit le
321
321
coeur d'Apache httpd contient déjà lui-même une référence au code, soit vous
322
-
chargez le code vous-même via <code>dlopen()</code>.</li>
322
+
chargez le code vous-même à l’aide de <code>dlopen()</code>.</li>
0 commit comments