1 <?xml version="1.0" encoding="ISO-8859-1"?>
2 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3 <html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head><!--
4 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
5 This file is generated from xml source: DO NOT EDIT
6 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
8 <title>mod_so - Serveur Apache HTTP</title>
9 <link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
10 <link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
11 <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" />
12 <script src="../style/scripts/prettify.js" type="text/javascript">
15 <link href="../images/favicon.ico" rel="shortcut icon" /></head>
17 <div id="page-header">
18 <p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p>
19 <p class="apache">Serveur Apache HTTP Version 2.5</p>
20 <img alt="" src="../images/feather.gif" /></div>
21 <div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div>
23 <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.5</a> > <a href="./">Modules</a></div>
24 <div id="page-content">
25 <div id="preamble"><h1>Module Apache mod_so</h1>
27 <p><span>Langues Disponibles: </span><a href="../en/mod/mod_so.html" hreflang="en" rel="alternate" title="English"> en </a> |
28 <a href="../fr/mod/mod_so.html" title="Français"> fr </a> |
29 <a href="../ja/mod/mod_so.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
30 <a href="../ko/mod/mod_so.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
31 <a href="../tr/mod/mod_so.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
33 <table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Chargement de modules ou de code exécutable au cours du
34 démarrage ou du redémarrage du serveur</td></tr>
35 <tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
36 <tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>so_module</td></tr>
37 <tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_so.c</td></tr>
38 <tr><th><a href="module-dict.html#Compatibility">Compatibilité:</a></th><td>Sous Windows, c'est un module de base (toujours
39 inclus)</td></tr></table>
43 <p>Sur les systèmes d'exploitation sélectionnés, ce module peut être
44 utilisé pour charger des modules dans le serveur HTTP Apache en cours d'exécution
45 grâce au mécanisme des <a href="../dso.html">Dynamic Shared Object ou Objets Partagés
46 Dynamiquement</a> (DSO), et évite ainsi de devoir effectuer une
49 <p>Sous Unix, le code chargé provient en général de fichiers objet
50 partagés possèdant en général l'extension <code>.so</code>, alors
51 que sous Windows, l'extension peut être soit <code>.so</code>, soit
52 <code>.dll</code>.</p>
54 <div class="warning"><h3>Avertissement</h3>
55 <p>En général, les modules compilés pour une version majeure du
56 serveur HTTP Apache ne fonctionneront pas avec une autre (par
57 exemple de 1.3 à 2.0 ou 2.0 à 2.2). D'une version majeure à l'autre,
58 il y a souvent des modifications d'API qui nécessitent des
59 modifications du module pour qu'il puisse fonctionner avec la
63 <div id="quickview"><h3 class="directives">Directives</h3>
65 <li><img alt="" src="../images/down.gif" /> <a href="#loadfile">LoadFile</a></li>
66 <li><img alt="" src="../images/down.gif" /> <a href="#loadmodule">LoadModule</a></li>
70 <li><img alt="" src="../images/down.gif" /> <a href="#windows">Création de modules chargeables pour
72 </ul><ul class="seealso"><li><a href="#comments_section">Commentaires</a></li></ul></div>
73 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
75 <h2><a name="windows" id="windows">Création de modules chargeables pour
78 <div class="note"><h3>Note</h3>
79 <p>Sous Windows, où les modules chargeables possèdent en général
80 l'extension de nom de fichier <code>.dll</code>, les modules Apache
81 httpd se nomment <code>mod_nom-module.so</code>, tout comme sur les
82 autres plates-formes. Vous trouverez cependant encore des modules
83 tiers, comme PHP par exemple, qui continuent d'utiliser la
84 convention de nommage avec extension <code>.dll</code>.</p>
86 <p>Bien que <code>mod_so</code> puisse encore charger des modules
87 possèdant un nom du style <code>ApacheModuleFoo.dll</code>,
88 il est préférable d'utiliser la
89 nouvelle convention de nommage ; si vous modifiez votre module
90 chargeable pour la version 2.0, veuillez aussi modifier son nom pour
91 respecter cette nouvelle convention.</p></div>
93 <p>Les API des modules Apache httpd sous Unix et Windows sont identiques.
94 Alors que certains modules s'appuient sur certains
95 aspects de l'architecture Unix non présents dans Windows, et ne
96 fonctionneront donc pas sur cette dernière plate-forme, de nombreux
97 modules fonctionnent sous Windows avec peu ou pas de modification
98 par rapport à leur version Unix.</p>
100 <p>Lorsqu'un module fonctionne, il peut être ajouté au serveur de
101 deux manières. Sous Unix, il peut être compilé dans le serveur.
102 Comme Apache httpd pour Windows ne dispose pas du programme
103 <code>Configure</code> propre à Apache httpd pour Unix, le fichier source
104 du module doit être ajouté au fichier projet Apache de base, et ses
105 symboles ajoutés au fichier <code>os\win32\modules.c</code>.</p>
107 <p>La seconde méthode consiste à compiler le module en tant que DLL,
108 à savoir une bibliothèque partagée qui pourra être chargée dans le
109 serveur en cours d'exécution via la directive
110 <code><code class="directive">LoadModule</code></code>. Ces modules DLL
111 peuvent être distribués et exécutés sur toute installation d'Apache
112 httpd pour Windows, sans avoir à recompiler le serveur.</p>
114 <p>Pour créer un module DLL, il est nécessaire d'apporter une légère
115 modification à son fichier source : l'enregistrement du module doit
116 être exporté depuis la DLL (qui sera elle-même créée plus tard ;
117 voir plus loin). Pour ce faire, ajoutez la macro
118 <code>AP_MODULE_DECLARE_DATA</code> (définie dans les fichiers
119 d'en-têtes d'Apache httpd) à la définition de l'enregistrement de votre
120 module. Par exemple, si votre module est déclaré comme suit :</p>
122 <div class="example"><p><code>
126 <p>Remplacez cette ligne par :</p>
127 <div class="example"><p><code>
128 module AP_MODULE_DECLARE_DATA foo_module;
131 <p>Notez que cette macro ne sera prise en compte que sous Windows,
132 si bien que le module poura être utilisé sans changement sous Unix,
133 si besoin est. Alternativement, si vous êtes familier avec les
134 fichiers <code>.DEF</code>, vous pouvez les utiliser pour exporter
135 l'enregistrement du module.</p>
137 <p>Maintenant, nous sommes prêts à créer une DLL contenant notre
138 module. Il va falloir pour cela la lier avec la bibliothèque
139 d'export libhttpd.lib qui a été créée au cours de la compilation de
140 la bibliothèque partagée libhttpd.dll. Il sera peut-être aussi
141 nécessaire de modifier la configuration du compilateur pour
142 s'assurer que les fichiers d'en-têtes d'Apache httpd seront correctement
143 localisés. Vous trouverez cette bibliothèque à la racine du
144 répertoire des modules de votre serveur. Il est souhaitable
145 d'utiliser un fichier de module .dsp existant dans l'arborescence
146 afin de s'assurer que l'environnement de compilation est
147 correctement configuré, mais vous pouvez aussi comparer les options
148 de compilation et d'édition de liens à votre fichier .dsp.</p>
150 <p>Ceci devrait créer une version DLL de votre module. Il vous
151 suffit maintenant de l'enregistrer dans le répertoire
152 <code>modules</code> à la racine de votre serveur, et d'utiliser la
153 directive <code class="directive">LoadModule</code> pour la charger.</p>
156 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
157 <div class="directive-section"><h2><a name="LoadFile" id="LoadFile">LoadFile</a> <a name="loadfile" id="loadfile">Directive</a></h2>
158 <table class="directive">
159 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Liaison du fichier objet ou de la bibliothèque
161 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>LoadFile <em>nom-fichier</em> [<em>nom-fichier</em>] ...</code></td></tr>
162 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur</td></tr>
163 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
164 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_so</td></tr>
167 <p>La directive LoadFile permet de lier le fichier objet ou la
168 bibliothèque spécifié au serveur lors du démarrage ou du redémarrage
169 de ce dernier ; ceci permet d'ajouter tout code additionnel
170 nécessaire au fonctionnement d'un module.
171 <em>nom-fichier</em> est soit un chemin absolu, soit un chemin
172 relatif au répertoire défini par la directive <a href="core.html#serverroot">ServerRoot</a>.</p>
176 <pre class="prettyprint lang-config">LoadFile libexec/libxmlparse.so</pre>
181 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
182 <div class="directive-section"><h2><a name="LoadModule" id="LoadModule">LoadModule</a> <a name="loadmodule" id="loadmodule">Directive</a></h2>
183 <table class="directive">
184 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Liaison avec le serveur du fichier objet ou de la
185 bibliothèque spécifié, et ajout de ce dernier à la liste des modules
187 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>LoadModule <em>module nom-fichier</em></code></td></tr>
188 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur</td></tr>
189 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
190 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_so</td></tr>
192 <p>La directive LoadModule permet de lier le fichier objet ou la
193 bibliothèque <em>nom-fichier</em> avec le serveur, et d'ajouter la
194 structure de module nommée <em>module</em> à la liste des modules
195 actifs. <em>module</em> est le nom de la variable externe de type
196 <code>module</code> dans le fichier, et est référencé comme <a href="module-dict.html#ModuleIdentifier">Identificateur de
197 module</a> dans la documentation des modules. Exemple :</p>
199 <pre class="prettyprint lang-config">
200 LoadModule status_module modules/mod_status.so
204 <p>charge le module spécifié depuis le sous-répertoire des modules
205 situé à la racine du serveur.</p>
209 <div class="bottomlang">
210 <p><span>Langues Disponibles: </span><a href="../en/mod/mod_so.html" hreflang="en" rel="alternate" title="English"> en </a> |
211 <a href="../fr/mod/mod_so.html" title="Français"> fr </a> |
212 <a href="../ja/mod/mod_so.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
213 <a href="../ko/mod/mod_so.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
214 <a href="../tr/mod/mod_so.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
215 </div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
216 <script type="text/javascript"><!--//--><![CDATA[//><!--
217 var comments_shortname = 'httpd';
218 var comments_identifier = 'http://httpd.apache.org/docs/trunk/mod/mod_so.html';
220 if (w.location.hostname.toLowerCase() == "httpd.apache.org") {
221 d.write('<div id="comments_thread"><\/div>');
222 var s = d.createElement('script');
223 s.type = 'text/javascript';
225 s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier;
226 (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s);
229 d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>');
231 })(window, document);
232 //--><!]]></script></div><div id="footer">
233 <p class="apache">Copyright 2013 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
234 <p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
235 if (typeof(prettyPrint) !== 'undefined') {