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 <meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type" />
6 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
7 This file is generated from xml source: DO NOT EDIT
8 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
10 <title>mod_so - Serveur Apache HTTP Version 2.5</title>
11 <link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
12 <link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
13 <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" />
14 <script src="../style/scripts/prettify.min.js" type="text/javascript">
17 <link href="../images/favicon.ico" rel="shortcut icon" /></head>
19 <div id="page-header">
20 <p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.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>
21 <p class="apache">Serveur Apache HTTP Version 2.5</p>
22 <img alt="" src="../images/feather.png" /></div>
23 <div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div>
25 <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>
26 <div id="page-content">
27 <div id="preamble"><h1>Module Apache mod_so</h1>
29 <p><span>Langues Disponibles: </span><a href="../en/mod/mod_so.html" hreflang="en" rel="alternate" title="English"> en </a> |
30 <a href="../fr/mod/mod_so.html" title="Français"> fr </a> |
31 <a href="../ja/mod/mod_so.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
32 <a href="../ko/mod/mod_so.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
33 <a href="../tr/mod/mod_so.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
35 <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
36 démarrage ou du redémarrage du serveur</td></tr>
37 <tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
38 <tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>so_module</td></tr>
39 <tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_so.c</td></tr>
40 <tr><th><a href="module-dict.html#Compatibility">Compatibilité:</a></th><td>Sous Windows, c'est un module de base (toujours
41 inclus)</td></tr></table>
45 <p>Sur les systèmes d'exploitation sélectionnés, ce module peut être
46 utilisé pour charger des modules dans le serveur HTTP Apache en cours d'exécution
47 grâce au mécanisme des <a href="../dso.html">Dynamic Shared Object ou Objets Partagés
48 Dynamiquement</a> (DSO), et évite ainsi de devoir effectuer une
51 <p>Sous Unix, le code chargé provient en général de fichiers objet
52 partagés possèdant en général l'extension <code>.so</code>, alors
53 que sous Windows, l'extension peut être soit <code>.so</code>, soit
54 <code>.dll</code>.</p>
56 <div class="warning"><h3>Avertissement</h3>
57 <p>En général, les modules compilés pour une version majeure du
58 serveur HTTP Apache ne fonctionneront pas avec une autre (par
59 exemple de 1.3 à 2.0 ou 2.0 à 2.2). D'une version majeure à l'autre,
60 il y a souvent des modifications d'API qui nécessitent des
61 modifications du module pour qu'il puisse fonctionner avec la
65 <div id="quickview"><h3>Sujets</h3>
67 <li><img alt="" src="../images/down.gif" /> <a href="#windows">Création de modules chargeables pour
69 </ul><h3 class="directives">Directives</h3>
71 <li><img alt="" src="../images/down.gif" /> <a href="#loadfile">LoadFile</a></li>
72 <li><img alt="" src="../images/down.gif" /> <a href="#loadmodule">LoadModule</a></li>
74 <h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_so">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_so">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
76 <li><a href="#comments_section">Commentaires</a></li></ul></div>
77 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
79 <h2><a name="windows" id="windows">Création de modules chargeables pour
80 Windows</a><a title="Lien permanent" href="#windows" class="permalink">¶</a></h2>
82 <div class="note"><h3>Note</h3>
83 <p>Sous Windows, où les modules chargeables possèdent en général
84 l'extension de nom de fichier <code>.dll</code>, les modules Apache
85 httpd se nomment <code>mod_nom-module.so</code>, tout comme sur les
86 autres plates-formes. Vous trouverez cependant encore des modules
87 tiers, comme PHP par exemple, qui continuent d'utiliser la
88 convention de nommage avec extension <code>.dll</code>.</p>
90 <p>Bien que <code>mod_so</code> puisse encore charger des modules
91 possèdant un nom du style <code>ApacheModuleFoo.dll</code>,
92 il est préférable d'utiliser la
93 nouvelle convention de nommage ; si vous modifiez votre module
94 chargeable pour la version 2.0, veuillez aussi modifier son nom pour
95 respecter cette nouvelle convention.</p></div>
97 <p>Les API des modules Apache httpd sous Unix et Windows sont identiques.
98 Alors que certains modules s'appuient sur certains
99 aspects de l'architecture Unix non présents dans Windows, et ne
100 fonctionneront donc pas sur cette dernière plate-forme, de nombreux
101 modules fonctionnent sous Windows avec peu ou pas de modification
102 par rapport à leur version Unix.</p>
104 <p>Lorsqu'un module fonctionne, il peut être ajouté au serveur de
105 deux manières. Sous Unix, il peut être compilé dans le serveur.
106 Comme Apache httpd pour Windows ne dispose pas du programme
107 <code>Configure</code> propre à Apache httpd pour Unix, le fichier source
108 du module doit être ajouté au fichier projet Apache de base, et ses
109 symboles ajoutés au fichier <code>os\win32\modules.c</code>.</p>
111 <p>La seconde méthode consiste à compiler le module en tant que DLL,
112 à savoir une bibliothèque partagée qui pourra être chargée dans le
113 serveur en cours d'exécution via la directive
114 <code class="directive">LoadModule</code>. Ces modules DLL
115 peuvent être distribués et exécutés sur toute installation d'Apache
116 httpd pour Windows, sans avoir à recompiler le serveur.</p>
118 <p>Pour créer un module DLL, il est nécessaire d'apporter une légère
119 modification à son fichier source : l'enregistrement du module doit
120 être exporté depuis la DLL (qui sera elle-même créée plus tard ;
121 voir plus loin). Pour ce faire, ajoutez la macro
122 <code>AP_MODULE_DECLARE_DATA</code> (définie dans les fichiers
123 d'en-têtes d'Apache httpd) à la définition de l'enregistrement de votre
124 module. Par exemple, si votre module est déclaré comme suit :</p>
126 <div class="example"><p><code>
130 <p>Remplacez cette ligne par :</p>
131 <div class="example"><p><code>
132 module AP_MODULE_DECLARE_DATA foo_module;
135 <p>Notez que cette macro ne sera prise en compte que sous Windows,
136 si bien que le module poura être utilisé sans changement sous Unix,
137 si besoin est. Alternativement, si vous êtes familier avec les
138 fichiers <code>.DEF</code>, vous pouvez les utiliser pour exporter
139 l'enregistrement du module.</p>
141 <p>Maintenant, nous sommes prêts à créer une DLL contenant notre
142 module. Il va falloir pour cela la lier avec la bibliothèque
143 d'export libhttpd.lib qui a été créée au cours de la compilation de
144 la bibliothèque partagée libhttpd.dll. Il sera peut-être aussi
145 nécessaire de modifier la configuration du compilateur pour
146 s'assurer que les fichiers d'en-têtes d'Apache httpd seront correctement
147 localisés. Vous trouverez cette bibliothèque à la racine du
148 répertoire des modules de votre serveur. Il est souhaitable
149 d'utiliser un fichier de module .dsp existant dans l'arborescence
150 afin de s'assurer que l'environnement de compilation est
151 correctement configuré, mais vous pouvez aussi comparer les options
152 de compilation et d'édition de liens à votre fichier .dsp.</p>
154 <p>Ceci devrait créer une version DLL de votre module. Il vous
155 suffit maintenant de l'enregistrer dans le répertoire
156 <code>modules</code> à la racine de votre serveur, et d'utiliser la
157 directive <code class="directive">LoadModule</code> pour la charger.</p>
160 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
161 <div class="directive-section"><h2><a name="loadfile" id="loadfile">Directive</a> <a name="LoadFile" id="LoadFile">LoadFile</a><a title="Lien permanent" href="#loadfile" class="permalink">¶</a></h2>
162 <table class="directive">
163 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Liaison du fichier objet ou de la bibliothèque
165 <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>
166 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
167 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
168 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_so</td></tr>
171 <p>La directive <code class="directive">LoadFile</code> permet de lier le fichier
172 objet ou la bibliothèque spécifié au serveur lors du
173 démarrage ou du redémarrage
174 de ce dernier ; ceci permet d'ajouter tout code additionnel
175 nécessaire au fonctionnement d'un module.
176 <em>nom-fichier</em> est soit un chemin absolu, soit un chemin
177 relatif au répertoire défini par la directive <a href="core.html#serverroot">ServerRoot</a>.</p>
181 <pre class="prettyprint lang-config">LoadFile "libexec/libxmlparse.so"</pre>
186 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
187 <div class="directive-section"><h2><a name="loadmodule" id="loadmodule">Directive</a> <a name="LoadModule" id="LoadModule">LoadModule</a><a title="Lien permanent" href="#loadmodule" class="permalink">¶</a></h2>
188 <table class="directive">
189 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Liaison avec le serveur du fichier objet ou de la
190 bibliothèque spécifié, et ajout de ce dernier à la liste des modules
192 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>LoadModule <em>module nom-fichier</em></code></td></tr>
193 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
194 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
195 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_so</td></tr>
197 <p>La directive <code class="directive">LoadModule</code> permet de lier le fichier objet ou la
198 bibliothèque <em>nom-fichier</em> avec le serveur, et d'ajouter la
199 structure de module nommée <em>module</em> à la liste des modules
200 actifs. <em>module</em> est le nom de la variable externe de type
201 <code>module</code> dans le fichier, et est référencé comme <a href="module-dict.html#ModuleIdentifier">Identificateur de
202 module</a> dans la documentation des modules.</p>
206 <pre class="prettyprint lang-config">LoadModule "status_module modules/mod_status.so"</pre>
209 <p>charge le module spécifié depuis le sous-répertoire des modules
210 situé à la racine du serveur.</p>
214 <div class="bottomlang">
215 <p><span>Langues Disponibles: </span><a href="../en/mod/mod_so.html" hreflang="en" rel="alternate" title="English"> en </a> |
216 <a href="../fr/mod/mod_so.html" title="Français"> fr </a> |
217 <a href="../ja/mod/mod_so.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
218 <a href="../ko/mod/mod_so.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
219 <a href="../tr/mod/mod_so.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
220 </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>
221 <script type="text/javascript"><!--//--><![CDATA[//><!--
222 var comments_shortname = 'httpd';
223 var comments_identifier = 'http://httpd.apache.org/docs/trunk/mod/mod_so.html';
225 if (w.location.hostname.toLowerCase() == "httpd.apache.org") {
226 d.write('<div id="comments_thread"><\/div>');
227 var s = d.createElement('script');
228 s.type = 'text/javascript';
230 s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier;
231 (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s);
234 d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>');
236 })(window, document);
237 //--><!]]></script></div><div id="footer">
238 <p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
239 <p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.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[//><!--
240 if (typeof(prettyPrint) !== 'undefined') {