1 <?xml version="1.0" encoding="ISO-8859-1" ?>
2 <!DOCTYPE manualpage SYSTEM "./style/manualpage.dtd">
3 <?xml-stylesheet type="text/xsl" href="./style/manual.fr.xsl"?>
4 <!-- French translation : Lucien GENTIS -->
5 <!-- Reviewed by : Vincent Deffontaines -->
6 <!-- English Revision : 1174747 -->
9 Licensed to the Apache Software Foundation (ASF) under one or more
10 contributor license agreements. See the NOTICE file distributed with
11 this work for additional information regarding copyright ownership.
12 The ASF licenses this file to You under the Apache License, Version 2.0
13 (the "License"); you may not use this file except in compliance with
14 the License. You may obtain a copy of the License at
16 http://www.apache.org/licenses/LICENSE-2.0
18 Unless required by applicable law or agreed to in writing, software
19 distributed under the License is distributed on an "AS IS" BASIS,
20 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
21 See the License for the specific language governing permissions and
22 limitations under the License.
25 <manualpage metafile="mpm.xml.meta">
27 <title>Modules multi-processus (MPMs)</title>
30 <p>Ce document décrit ce qu'est un Module Multi-Processus, ainsi
31 que la manière dont ces modules sont utilisés par le serveur HTTP Apache.</p>
34 <section id="introduction"><title>Introduction</title>
36 <p>La conception du serveur HTTP Apache en fait un serveur web puissant et
37 flexible pouvant fonctionner sur une très grande variété de
38 plateformes et toute une gamme d'environnements différents. Plateformes
39 différentes et environnements différents signifient souvent fonctionnalités
40 différentes, ou utilisation de différentes méthodes pour
41 implémenter la même fonctionnalité le plus efficacement possible.
42 Apache httpd s'est toujours accomodé d'une grande variété d'environnements
43 grâce à sa conception modulaire. Cette conception autorise le webmaster
44 à choisir quelles fonctionnalités seront incluses
45 dans le serveur en sélectionnant les modules à charger soit à la
46 compilation, soit à l'exécution.</p>
48 <p>Le serveur HTTP Apache 2.0 a étendu cette conception modulaire aux
50 élémentaires d'un serveur web. Le serveur est fourni avec une variété de
51 Modules Multi-Processus (MPMs) qui
52 sont responsables de l'association aux ports réseau de la machine,
53 acceptent les requêtes, et se chargent de répartir ces dernières
54 entre les différents processus enfants.</p>
56 <p>L'extension de la conception modulaire à ce niveau du serveur
57 comporte deux avantages importants :</p>
60 <li>Apache httpd peut supporter plus proprement et efficacement une grande
61 variété de systèmes d'exploitation. En particulier, la version Windows
62 du serveur est maintenant beaucoup plus efficace, depuis que
63 <module>mpm_winnt</module> peut utiliser les fonctionnalités réseau
64 natives à la place de la couche POSIX utilisée par
65 Apache httpd 1.3. Cet avantage s'étend aussi aux systèmes d'exploitation
66 qui implémentent des MPMs spécialisés.</li>
68 <li>le serveur est plus à même de répondre aux besoins d'un site
69 particulier. Par exemple, les sites qui sont très sollicités peuvent
70 utiliser un MPM threadé comme
71 <module>worker</module> ou <module>event</module>, tandis que les sites
72 qui privilégient la stabilité ou la compatibilité avec des logiciels
73 plus anciens peuvent utiliser un module comme
74 <module>prefork</module>.</li>
77 <p>Du point de vue de l'utilisateur, les MPMs ne sont pas différents des
78 autres modules Apache httpd. La principale différence réside dans le fait qu'un
79 et un seul MPM à la fois doit être chargé
80 lorsque le serveur s'exécute. La liste des
81 MPMs disponibles est fournie dans <a href="mod/">l'index des
86 <section id="defaults"><title>MPM par défaut</title>
88 <p>La table suivante fournit la liste des MPMs par défaut pour divers
89 systèmes d'exploitation. Il s'agit du MPM qui sera utilisé si
90 vous n'en spécifiez pas un autre à la compilation.</p>
92 <table border="1" style="zebra">
93 <columnspec><column width=".2"/><column width=".2"/></columnspec>
94 <tr><td>Netware</td><td><module>mpm_netware</module></td></tr>
95 <tr><td>OS/2</td><td><module>mpmt_os2</module></td></tr>
96 <tr><td>Unix</td><td><module>prefork</module>, <module>worker</module>,
97 ou <module>event</module>, selon les possibilités de la plate-forme</td></tr>
98 <tr><td>Windows</td><td><module>mpm_winnt</module></td></tr>
102 <section id="static"><title>Compiler un module MPM en tant que module
105 <p>Les modules MPM peuvent être compilés en tant que modules
106 statiques sur toutes les plates-formes. A la compilation d'Apache, un
107 seul module MPM doit être choisi pour être compilé et lié avec le
108 serveur. La recompilation du serveur sera donc nécessaire si vous
109 souhaitez changer de module MPM.</p>
111 <p>Pour choisir un module MPM autre que le MPM par défaut,
113 <code>--with-mpm=<em>NOM</em></code> du script
114 <program>configure</program>. <em>NOM</em> est le nom
115 du MPM désiré.</p>
117 <p>Une fois le serveur compilé, il est possible de savoir quel MPM
118 a été choisi à l'aide de la commande <code>./httpd -l</code>.
119 Cette commande fournit la liste de tous les modules compilés
120 avec le serveur, y compris le MPM.</p>
124 <section id="dynamic"><title>Compiler un module MPM en tant que module
125 DSO (Dynamic Shared Object)</title>
127 <p>Sous Unix et les plates-formes similaires, les modules MPM
128 peuvent être compilés en tant que modules DSO et chargés
129 dynamiquement dans le serveur comme tout module DSO. Compiler les
130 modules MPM en tant que modules DSO permet de changer de MPM en
131 modifiant la directive <directive
132 module="mod_so">LoadModule</directive> concernée, sans avoir à
133 recompiler le serveur.</p>
135 <p>Cette fonctionnalité est activée via l'option
136 <code>--enable-mpms-shared</code> du script
137 <program>configure</program>. Si on ajoute l'argument
138 <code><em>all</em></code>, tous les modules MPM disponibles sur la
139 plate-forme considérée seront installés. Cet argument peut aussi
140 contenir une liste de modules MPM à installer.</p>
142 <p>Le module MPM par défaut, sélectionné automatiquement ou spécifié
143 via l'option <code>--with-mpm</code> du script
144 <program>configure</program>, sera chargé via une directive
145 <directive module="mod_so">LoadModule</directive> du fichier de
146 configuration du serveur généré. Pour choisir un autre module MPM,
147 vous devrez donc modifier cette directive</p>