mpm.xml.fr revision 41326e4d330eb9bdf4af7ab021f3ae2cc1fb0146
08cb74ca432a8c24e39f17dedce527e6a47b8001jerenkrantz<!DOCTYPE manualpage SYSTEM "/style/manualpage.dtd">
7e79e8fd53348f9fc6e8009a4a2522425ab6f08ffielding<?xml-stylesheet type="text/xsl" href="/style/manual.fr.xsl"?>
ce9621257ef9e54c1bbe5ad8a5f445a1f211c2dcnd<!-- French translation : Lucien GENTIS -->
ce9621257ef9e54c1bbe5ad8a5f445a1f211c2dcnd<!-- Reviewed by : Vincent Deffontaines -->
ce9621257ef9e54c1bbe5ad8a5f445a1f211c2dcnd<!-- English Revision: 1395555:1602764 (outdated) -->
09fe0b69d3d1e8c8041c9ce99ee77b8b44b5e3b1fielding Licensed to the Apache Software Foundation (ASF) under one or more
ce9621257ef9e54c1bbe5ad8a5f445a1f211c2dcnd contributor license agreements. See the NOTICE file distributed with
ce9621257ef9e54c1bbe5ad8a5f445a1f211c2dcnd this work for additional information regarding copyright ownership.
ce9621257ef9e54c1bbe5ad8a5f445a1f211c2dcnd The ASF licenses this file to You under the Apache License, Version 2.0
ce9621257ef9e54c1bbe5ad8a5f445a1f211c2dcnd (the "License"); you may not use this file except in compliance with
ce9621257ef9e54c1bbe5ad8a5f445a1f211c2dcnd the License. You may obtain a copy of the License at
9d129b55f5a43abf43865c6b0eb6dd19bc22aba8ianh Unless required by applicable law or agreed to in writing, software
9d129b55f5a43abf43865c6b0eb6dd19bc22aba8ianh distributed under the License is distributed on an "AS IS" BASIS,
9d129b55f5a43abf43865c6b0eb6dd19bc22aba8ianh WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
09fe0b69d3d1e8c8041c9ce99ee77b8b44b5e3b1fielding See the License for the specific language governing permissions and
09fe0b69d3d1e8c8041c9ce99ee77b8b44b5e3b1fielding limitations under the License.
09fe0b69d3d1e8c8041c9ce99ee77b8b44b5e3b1fielding<p>Ce document décrit ce qu'est un Module Multi-Processus, ainsi
2d71630471d1c23f0137309e3c3957c633ecbfd6rbbque la manière dont ces modules sont utilisés par le serveur HTTP Apache.</p>
09fe0b69d3d1e8c8041c9ce99ee77b8b44b5e3b1fielding<section id="introduction"><title>Introduction</title>
09fe0b69d3d1e8c8041c9ce99ee77b8b44b5e3b1fielding <p>La conception du serveur HTTP Apache en fait un serveur web puissant et
51af95bb51b5084e883bad250b2afa2838e9ceebfielding flexible pouvant fonctionner sur une très grande variété de
d4f1d9c1ff112a8ab9bee31f196973761329b236rbb plateformes et toute une gamme d'environnements différents. Plateformes
7fae9cc4639013f3c04c085547256c68814aee8ftrawick différentes et environnements différents signifient souvent fonctionnalités
7fae9cc4639013f3c04c085547256c68814aee8ftrawick différentes, ou utilisation de différentes méthodes pour
7fae9cc4639013f3c04c085547256c68814aee8ftrawick implémenter la même fonctionnalité le plus efficacement possible.
7fae9cc4639013f3c04c085547256c68814aee8ftrawick Apache httpd s'est toujours accomodé d'une grande variété d'environnements
09fe0b69d3d1e8c8041c9ce99ee77b8b44b5e3b1fielding grâce à sa conception modulaire. Cette conception autorise le webmaster
09fe0b69d3d1e8c8041c9ce99ee77b8b44b5e3b1fielding à choisir quelles fonctionnalités seront incluses
09fe0b69d3d1e8c8041c9ce99ee77b8b44b5e3b1fielding dans le serveur en sélectionnant les modules à charger soit à la
09fe0b69d3d1e8c8041c9ce99ee77b8b44b5e3b1fielding compilation, soit à l'exécution.</p>
09fe0b69d3d1e8c8041c9ce99ee77b8b44b5e3b1fielding <p>Le serveur HTTP Apache 2.0 a étendu cette conception modulaire aux
09fe0b69d3d1e8c8041c9ce99ee77b8b44b5e3b1fielding fonctions les plus
09fe0b69d3d1e8c8041c9ce99ee77b8b44b5e3b1fielding élémentaires d'un serveur web. Le serveur est fourni avec une variété de
09fe0b69d3d1e8c8041c9ce99ee77b8b44b5e3b1fielding Modules Multi-Processus (MPMs) qui
09fe0b69d3d1e8c8041c9ce99ee77b8b44b5e3b1fielding sont responsables de l'association aux ports réseau de la machine,
09fe0b69d3d1e8c8041c9ce99ee77b8b44b5e3b1fielding acceptent les requêtes, et se chargent de répartir ces dernières
785be1b6298010956622771c870ab3cd8ca57a2faaron entre les différents processus enfants.</p>
785be1b6298010956622771c870ab3cd8ca57a2faaron <p>L'extension de la conception modulaire à ce niveau du serveur
09fe0b69d3d1e8c8041c9ce99ee77b8b44b5e3b1fielding comporte deux avantages importants :</p>
09fe0b69d3d1e8c8041c9ce99ee77b8b44b5e3b1fielding <li>Apache httpd peut supporter plus proprement et efficacement une grande
09fe0b69d3d1e8c8041c9ce99ee77b8b44b5e3b1fielding variété de systèmes d'exploitation. En particulier, la version Windows
09fe0b69d3d1e8c8041c9ce99ee77b8b44b5e3b1fielding du serveur est maintenant beaucoup plus efficace, depuis que
09fe0b69d3d1e8c8041c9ce99ee77b8b44b5e3b1fielding <module>mpm_winnt</module> peut utiliser les fonctionnalités réseau
09fe0b69d3d1e8c8041c9ce99ee77b8b44b5e3b1fielding natives à la place de la couche POSIX utilisée par
785be1b6298010956622771c870ab3cd8ca57a2faaron Apache httpd 1.3. Cet avantage s'étend aussi aux systèmes d'exploitation
785be1b6298010956622771c870ab3cd8ca57a2faaron qui implémentent des MPMs spécialisés.</li>
785be1b6298010956622771c870ab3cd8ca57a2faaron <li>le serveur est plus à même de répondre aux besoins d'un site
785be1b6298010956622771c870ab3cd8ca57a2faaron particulier. Par exemple, les sites qui sont très sollicités peuvent
785be1b6298010956622771c870ab3cd8ca57a2faaron utiliser un MPM threadé comme
09fe0b69d3d1e8c8041c9ce99ee77b8b44b5e3b1fielding <module>worker</module> ou <module>event</module>, tandis que les sites
09fe0b69d3d1e8c8041c9ce99ee77b8b44b5e3b1fielding qui privilégient la stabilité ou la compatibilité avec des logiciels
f4b96a996afbc46872f57ad1450e6ee1c8f13707jorton plus anciens peuvent utiliser un module comme
09fe0b69d3d1e8c8041c9ce99ee77b8b44b5e3b1fielding <p>Du point de vue de l'utilisateur, les MPMs ne sont pas différents des
09fe0b69d3d1e8c8041c9ce99ee77b8b44b5e3b1fielding autres modules Apache httpd. La principale différence réside dans le fait qu'un
09fe0b69d3d1e8c8041c9ce99ee77b8b44b5e3b1fielding et un seul MPM à la fois doit être chargé
09fe0b69d3d1e8c8041c9ce99ee77b8b44b5e3b1fielding lorsque le serveur s'exécute. La liste des
09fe0b69d3d1e8c8041c9ce99ee77b8b44b5e3b1fielding MPMs disponibles est fournie dans <a href="mod/">l'index des
09fe0b69d3d1e8c8041c9ce99ee77b8b44b5e3b1fielding<section id="defaults"><title>MPM par défaut</title>
09fe0b69d3d1e8c8041c9ce99ee77b8b44b5e3b1fielding<p>La table suivante fournit la liste des MPMs par défaut pour divers
09fe0b69d3d1e8c8041c9ce99ee77b8b44b5e3b1fieldingsystèmes d'exploitation. Il s'agit du MPM qui sera utilisé si
09fe0b69d3d1e8c8041c9ce99ee77b8b44b5e3b1fieldingvous n'en spécifiez pas un autre à la compilation.</p>
09fe0b69d3d1e8c8041c9ce99ee77b8b44b5e3b1fielding<columnspec><column width=".2"/><column width=".2"/></columnspec>
09fe0b69d3d1e8c8041c9ce99ee77b8b44b5e3b1fielding<tr><td>Netware</td><td><module>mpm_netware</module></td></tr>
09fe0b69d3d1e8c8041c9ce99ee77b8b44b5e3b1fielding<tr><td>OS/2</td><td><module>mpmt_os2</module></td></tr>
09fe0b69d3d1e8c8041c9ce99ee77b8b44b5e3b1fielding<tr><td>Unix</td><td><module>prefork</module>, <module>worker</module>,
09fe0b69d3d1e8c8041c9ce99ee77b8b44b5e3b1fieldingou <module>event</module>, selon les possibilités de la plate-forme</td></tr>
09fe0b69d3d1e8c8041c9ce99ee77b8b44b5e3b1fielding<tr><td>Windows</td><td><module>mpm_winnt</module></td></tr>
09fe0b69d3d1e8c8041c9ce99ee77b8b44b5e3b1fielding<note><p>Ici, 'Unix' sous-entend les systèmes d'exploitation de type
09fe0b69d3d1e8c8041c9ce99ee77b8b44b5e3b1fieldingUnix, comme Linux, BSD, Solaris, Mac OS X, etc...</p></note>
09fe0b69d3d1e8c8041c9ce99ee77b8b44b5e3b1fielding<p>Dans le cas des systèmes d'exploitation de type Unix, le choix du MPM
09fe0b69d3d1e8c8041c9ce99ee77b8b44b5e3b1fieldingà installer est orienté par deux questions :</p>
09fe0b69d3d1e8c8041c9ce99ee77b8b44b5e3b1fielding<p>1. Est-ce que le système supporte les threads ?</p>
09fe0b69d3d1e8c8041c9ce99ee77b8b44b5e3b1fielding<p>2. Est-ce que le système supporte le polling thread-safe (et en
09fe0b69d3d1e8c8041c9ce99ee77b8b44b5e3b1fieldingparticulier les fonctions kqueue et epoll) ?</p>
09fe0b69d3d1e8c8041c9ce99ee77b8b44b5e3b1fielding<p>Si la réponse aux deux questions est 'oui', le MPM par défaut sera
09fe0b69d3d1e8c8041c9ce99ee77b8b44b5e3b1fielding<p>Si la réponse à la première question est 'oui', et la réponse à la
09fe0b69d3d1e8c8041c9ce99ee77b8b44b5e3b1fieldingdeuxième 'non', le MPM par défaut sera <module>worker</module>.</p>
09fe0b69d3d1e8c8041c9ce99ee77b8b44b5e3b1fielding<p>Si la réponse aux deux questions est 'non', le MPM par défaut sera
09fe0b69d3d1e8c8041c9ce99ee77b8b44b5e3b1fielding<p>En pratique, cela signifie que le MPM par défaut sera presque
09fe0b69d3d1e8c8041c9ce99ee77b8b44b5e3b1fieldingtoujours <module>event</module> car tous les systèmes d'exploitation
09fe0b69d3d1e8c8041c9ce99ee77b8b44b5e3b1fieldingmodernes satisfont aux deux conditions.</p>
09fe0b69d3d1e8c8041c9ce99ee77b8b44b5e3b1fielding<section id="static"><title>Compiler un module MPM en tant que module
09fe0b69d3d1e8c8041c9ce99ee77b8b44b5e3b1fieldingstatique</title>
09fe0b69d3d1e8c8041c9ce99ee77b8b44b5e3b1fielding <p>Les modules MPM peuvent être compilés en tant que modules
09fe0b69d3d1e8c8041c9ce99ee77b8b44b5e3b1fieldingstatiques sur toutes les plates-formes. A la compilation d'Apache, un
09fe0b69d3d1e8c8041c9ce99ee77b8b44b5e3b1fieldingseul module MPM doit être choisi pour être compilé et lié avec le
09fe0b69d3d1e8c8041c9ce99ee77b8b44b5e3b1fieldingserveur. La recompilation du serveur sera donc nécessaire si vous
09fe0b69d3d1e8c8041c9ce99ee77b8b44b5e3b1fieldingsouhaitez changer de module MPM.</p>
09fe0b69d3d1e8c8041c9ce99ee77b8b44b5e3b1fielding <p>Pour choisir un module MPM autre que le MPM par défaut,
09fe0b69d3d1e8c8041c9ce99ee77b8b44b5e3b1fielding utiliser l'argument
09fe0b69d3d1e8c8041c9ce99ee77b8b44b5e3b1fielding <program>configure</program>. <em>NOM</em> est le nom
09fe0b69d3d1e8c8041c9ce99ee77b8b44b5e3b1fielding du MPM désiré.</p>
785be1b6298010956622771c870ab3cd8ca57a2faaron <p>Une fois le serveur compilé, il est possible de savoir quel MPM
6b38fca3ec543a0f72efd5683e91a0b30fc752d1trawick a été choisi à l'aide de la commande <code>/httpd -l</code>.
09fe0b69d3d1e8c8041c9ce99ee77b8b44b5e3b1fielding Cette commande fournit la liste de tous les modules compilés
8a261a9f7d18d1e862d63f68e93f288d3e1f0d94trawick avec le serveur, y compris le MPM.</p>
58fd79b56eb624bf011772994e9761d3c2e228c1orlikowski<section id="dynamic"><title>Compiler un module MPM en tant que module
6b38fca3ec543a0f72efd5683e91a0b30fc752d1trawickDSO (Dynamic Shared Object)</title>
09fe0b69d3d1e8c8041c9ce99ee77b8b44b5e3b1fielding <p>Sous Unix et les plates-formes similaires, les modules MPM
6b38fca3ec543a0f72efd5683e91a0b30fc752d1trawick peuvent être compilés en tant que modules DSO et chargés
785be1b6298010956622771c870ab3cd8ca57a2faaron dynamiquement dans le serveur comme tout module DSO. Compiler les
09fe0b69d3d1e8c8041c9ce99ee77b8b44b5e3b1fielding modules MPM en tant que modules DSO permet de changer de MPM en
6b38fca3ec543a0f72efd5683e91a0b30fc752d1trawick modifiant la directive <directive
6b38fca3ec543a0f72efd5683e91a0b30fc752d1trawick module="mod_so">LoadModule</directive> concernée, sans avoir à
e160b861b50a3a8dcc013b8cd3ef849fe777e52fgregames recompiler le serveur.</p>
e160b861b50a3a8dcc013b8cd3ef849fe777e52fgregames <p>Cette fonctionnalité est activée via l'option
e160b861b50a3a8dcc013b8cd3ef849fe777e52fgregames <program>configure</program>. Si on ajoute l'argument
e160b861b50a3a8dcc013b8cd3ef849fe777e52fgregames <code><em>all</em></code>, tous les modules MPM disponibles sur la
e160b861b50a3a8dcc013b8cd3ef849fe777e52fgregames plate-forme considérée seront installés. Cet argument peut aussi
e160b861b50a3a8dcc013b8cd3ef849fe777e52fgregames contenir une liste de modules MPM à installer.</p>
e160b861b50a3a8dcc013b8cd3ef849fe777e52fgregames <p>Le module MPM par défaut, sélectionné automatiquement ou spécifié
6b38fca3ec543a0f72efd5683e91a0b30fc752d1trawick <program>configure</program>, sera chargé via une directive
560f6ac786d611b858b2bad932713d9e971f0716trawick <directive module="mod_so">LoadModule</directive> du fichier de
560f6ac786d611b858b2bad932713d9e971f0716trawick configuration du serveur généré. Pour choisir un autre module MPM,
560f6ac786d611b858b2bad932713d9e971f0716trawick vous devrez donc modifier cette directive</p>
7bf77d70b6830636bc36e6b76a228c301be23ff7brianp</manualpage>