]> granicus.if.org Git - apache/blob - docs/manual/mpm.xml.fr
57622ff69db68104fb83be25c79dc046e248fa91
[apache] / docs / manual / mpm.xml.fr
1 <?xml version="1.0" ?>
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 : 1602764 -->
7
8 <!--
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
15
16      http://www.apache.org/licenses/LICENSE-2.0
17
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.
23 -->
24
25 <manualpage metafile="mpm.xml.meta">
26
27   <title>Modules multi-processus (MPMs)</title>
28
29 <summary>
30 <p>Ce document d&eacute;crit ce qu'est un Module Multi-Processus, ainsi
31 que la mani&egrave;re dont ces modules sont utilis&eacute;s par le serveur HTTP Apache.</p>
32 </summary>
33
34 <section id="introduction"><title>Introduction</title>
35
36     <p>La conception du serveur HTTP Apache en fait un serveur web puissant et
37     flexible pouvant fonctionner sur une tr&egrave;s grande vari&eacute;t&eacute; de
38     plateformes et toute une gamme d'environnements diff&eacute;rents. Plateformes
39     diff&eacute;rentes et environnements diff&eacute;rents signifient souvent fonctionnalit&eacute;s
40     diff&eacute;rentes, ou utilisation de diff&eacute;rentes m&eacute;thodes pour
41     impl&eacute;menter la m&ecirc;me fonctionnalit&eacute; le plus efficacement possible.
42     Apache httpd s'est toujours accomod&eacute; d'une grande vari&eacute;t&eacute; d'environnements
43     gr&acirc;ce &agrave; sa conception modulaire. Cette conception autorise le webmaster
44     &agrave; choisir quelles fonctionnalit&eacute;s seront incluses
45     dans le serveur en s&eacute;lectionnant les modules &agrave; charger soit &agrave; la
46     compilation, soit &agrave; l'ex&eacute;cution.</p>
47
48     <p>Le serveur HTTP Apache 2.0 a &eacute;tendu cette conception modulaire aux
49     fonctions les plus
50     &eacute;l&eacute;mentaires d'un serveur web. Le serveur est fourni avec une vari&eacute;t&eacute; de
51     Modules Multi-Processus (MPMs) qui
52     sont responsables de l'association aux ports r&eacute;seau de la machine,
53     acceptent les requ&ecirc;tes, et se chargent de r&eacute;partir ces derni&egrave;res
54     entre les diff&eacute;rents processus enfants.</p>
55
56     <p>L'extension de la conception modulaire &agrave; ce niveau du serveur
57     comporte deux avantages importants :</p>
58
59     <ul>
60       <li>Apache httpd peut supporter plus proprement et efficacement une grande
61       vari&eacute;t&eacute; de syst&egrave;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&eacute;s r&eacute;seau
64       natives &agrave; la place de la couche POSIX utilis&eacute;e par
65       Apache httpd 1.3. Cet avantage s'&eacute;tend aussi aux syst&egrave;mes d'exploitation
66       qui impl&eacute;mentent des MPMs sp&eacute;cialis&eacute;s.</li>
67
68       <li>le serveur est plus &agrave; m&ecirc;me de r&eacute;pondre aux besoins d'un site
69       particulier. Par exemple, les sites qui sont tr&egrave;s sollicit&eacute;s peuvent
70       utiliser un MPM thread&eacute; comme
71       <module>worker</module> ou <module>event</module>, tandis que les sites
72       qui privil&eacute;gient la stabilit&eacute; ou la compatibilit&eacute; avec des logiciels
73       plus anciens peuvent utiliser un module comme
74       <module>prefork</module>.</li>
75     </ul>
76
77     <p>Du point de vue de l'utilisateur, les MPMs ne sont pas diff&eacute;rents des
78     autres modules Apache httpd. La principale diff&eacute;rence r&eacute;side dans le fait qu'un
79     et un seul MPM &agrave; la fois doit &ecirc;tre charg&eacute;
80     lorsque le serveur s'ex&eacute;cute. La liste des
81     MPMs disponibles est fournie dans <a href="mod/">l'index des
82     modules</a>.</p>
83
84 </section>
85
86 <section id="defaults"><title>MPM par d&eacute;faut</title>
87
88 <p>La table suivante fournit la liste des MPMs par d&eacute;faut pour divers
89 syst&egrave;mes d'exploitation.  Il s'agit du MPM qui sera utilis&eacute; si
90 vous n'en sp&eacute;cifiez pas un autre &agrave; la compilation.</p>
91
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&eacute;s de la plate-forme</td></tr>
98 <tr><td>Windows</td><td><module>mpm_winnt</module></td></tr>
99 </table>
100
101 <note><p>Ici, 'Unix' sous-entend les syst&egrave;mes d'exploitation de type
102 Unix, comme Linux, BSD, Solaris, Mac OS X, etc...</p></note>
103
104 <p>Dans le cas des syst&egrave;mes d'exploitation de type Unix, le choix du MPM
105 &agrave; installer est orient&eacute; par deux questions :</p>
106 <p>1. Est-ce que le syst&egrave;me supporte les threads ?</p>
107 <p>2. Est-ce que le syst&egrave;me supporte le polling thread-safe (et en
108 particulier les fonctions kqueue et epoll) ?</p>
109
110 <p>Si la r&eacute;ponse aux deux questions est 'oui', le MPM par d&eacute;faut sera
111 <module>event</module>.</p>
112
113 <p>Si la r&eacute;ponse &agrave; la premi&egrave;re question est 'oui', et la r&eacute;ponse &agrave; la
114 deuxi&egrave;me 'non', le MPM par d&eacute;faut sera <module>worker</module>.</p>
115
116 <p>Si la r&eacute;ponse aux deux questions est 'non', le MPM par d&eacute;faut sera
117 <module>prefork</module>.</p>
118
119 <p>En pratique, cela signifie que le MPM par d&eacute;faut sera presque
120 toujours <module>event</module> car tous les syst&egrave;mes d'exploitation
121 modernes satisfont aux deux conditions.</p>
122
123 </section>
124
125 <section id="static"><title>Compiler un module MPM en tant que module
126 statique</title>
127
128     <p>Les modules MPM peuvent &ecirc;tre compil&eacute;s en tant que modules
129 statiques sur toutes les plates-formes. A la compilation d'Apache, un
130 seul module MPM doit &ecirc;tre choisi pour &ecirc;tre compil&eacute; et li&eacute; avec le
131 serveur. La recompilation du serveur sera donc n&eacute;cessaire si vous
132 souhaitez changer de module MPM.</p>
133
134     <p>Pour choisir un module MPM autre que le MPM par d&eacute;faut,
135     utiliser l'argument
136       <code>--with-mpm=<em>NOM</em></code> du script
137       <program>configure</program>. <em>NOM</em> est le nom
138       du MPM d&eacute;sir&eacute;.</p>
139
140     <p>Une fois le serveur compil&eacute;, il est possible de savoir quel MPM
141     a &eacute;t&eacute; choisi &agrave; l'aide de la commande <code>./httpd -l</code>.
142     Cette commande fournit la liste de tous les modules compil&eacute;s
143     avec le serveur, y compris le MPM.</p>
144
145 </section>
146
147 <section id="dynamic"><title>Compiler un module MPM en tant que module
148 DSO (Dynamic Shared Object)</title>
149
150     <p>Sous Unix et les plates-formes similaires, les modules MPM
151     peuvent &ecirc;tre compil&eacute;s en tant que modules DSO et charg&eacute;s
152     dynamiquement dans le serveur comme tout module DSO. Compiler les
153     modules MPM en tant que modules DSO permet de changer de MPM en
154     modifiant la directive <directive
155     module="mod_so">LoadModule</directive> concern&eacute;e, sans avoir &agrave;
156     recompiler le serveur.</p>
157
158     <highlight language="config">
159     LoadModule mpm_prefork_module modules/mod_mpm_prefork.so
160     </highlight>
161
162     <p>Toute tentative de charger plusieurs modules MPM via la directive
163     <directive module="mod_so">LoadModule</directive> emp&ecirc;chera le
164     serveur de d&eacute;marrer et affichera l'erreur suivante :</p>
165
166     <example>AH00534: httpd: Configuration error: More than one MPM
167     loaded.</example>
168
169     <p>Cette fonctionnalit&eacute; est activ&eacute;e via l'option
170     <code>--enable-mpms-shared</code> du script
171     <program>configure</program>. Si on ajoute l'argument
172     <code><em>all</em></code>, tous les modules MPM disponibles sur la
173     plate-forme consid&eacute;r&eacute;e seront install&eacute;s. Cet argument peut aussi
174     contenir une liste de modules MPM &agrave; installer.</p>
175
176     <p>Le module MPM par d&eacute;faut, s&eacute;lectionn&eacute; automatiquement ou sp&eacute;cifi&eacute;
177     via l'option <code>--with-mpm</code> du script
178     <program>configure</program>, sera charg&eacute; via une directive
179     <directive module="mod_so">LoadModule</directive> du fichier de
180     configuration du serveur g&eacute;n&eacute;r&eacute;. Pour choisir un autre module MPM,
181     vous devrez donc modifier cette directive</p>
182
183 </section>
184
185 </manualpage>