summaryrefslogtreecommitdiff
path: root/docs/manual/mod/mod_so.html.fr
blob: 0d40cf62d1eeb976e2c239c10a18fd761ef13489 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head>
<meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type" />
<!--
        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
              This file is generated from xml source: DO NOT EDIT
        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
      -->
<title>mod_so - Serveur Apache HTTP Version 2.5</title>
<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
<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" />
<script src="../style/scripts/prettify.min.js" type="text/javascript">
</script>

<link href="../images/favicon.ico" rel="shortcut icon" /></head>
<body>
<div id="page-header">
<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>
<p class="apache">Serveur Apache HTTP Version 2.5</p>
<img alt="" src="../images/feather.png" /></div>
<div class="up"><a href="./"><img title="&lt;-" alt="&lt;-" src="../images/left.gif" /></a></div>
<div id="path">
<a href="http://www.apache.org/">Apache</a> &gt; <a href="http://httpd.apache.org/">Serveur HTTP</a> &gt; <a href="http://httpd.apache.org/docs/">Documentation</a> &gt; <a href="../">Version 2.5</a> &gt; <a href="./">Modules</a></div>
<div id="page-content">
<div id="preamble"><h1>Module Apache mod_so</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_so.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
<a href="../fr/mod/mod_so.html" title="Fran&#231;ais">&nbsp;fr&nbsp;</a> |
<a href="../ja/mod/mod_so.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/mod/mod_so.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../tr/mod/mod_so.html" hreflang="tr" rel="alternate" title="T&#252;rk&#231;e">&nbsp;tr&nbsp;</a></p>
</div>
<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Chargement de modules ou de code ex&#233;cutable au cours du
d&#233;marrage ou du red&#233;marrage du serveur</td></tr>
<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur&#160;de&#160;Module:</a></th><td>so_module</td></tr>
<tr><th><a href="module-dict.html#SourceFile">Fichier&#160;Source:</a></th><td>mod_so.c</td></tr>
<tr><th><a href="module-dict.html#Compatibility">Compatibilit&#233;:</a></th><td>Sous Windows, c'est un module de base (toujours
inclus)</td></tr></table>
<h3>Sommaire</h3>


    <p>Sur les syst&#232;mes d'exploitation s&#233;lectionn&#233;s, ce module peut &#234;tre
    utilis&#233; pour charger des modules dans le serveur HTTP Apache en cours d'ex&#233;cution
    gr&#226;ce au m&#233;canisme des <a href="../dso.html">Dynamic Shared Object ou Objets Partag&#233;s
    Dynamiquement</a> (DSO), et &#233;vite ainsi de devoir effectuer une
    recompilation.</p>

    <p>Sous Unix, le code charg&#233; provient en g&#233;n&#233;ral de fichiers objet
    partag&#233;s poss&#232;dant en g&#233;n&#233;ral l'extension <code>.so</code>, alors
    que sous Windows, l'extension peut &#234;tre soit <code>.so</code>, soit
    <code>.dll</code>.</p>

    <div class="warning"><h3>Avertissement</h3>
    <p>En g&#233;n&#233;ral, les modules compil&#233;s pour une version majeure du
    serveur HTTP Apache ne fonctionneront pas avec une autre (par
    exemple de 1.3 &#224; 2.0 ou 2.0 &#224; 2.2). D'une version majeure &#224; l'autre,
    il y a souvent des modifications d'API qui n&#233;cessitent des
    modifications du module pour qu'il puisse fonctionner avec la
    nouvelle version.</p>
    </div>
</div>
<div id="quickview"><h3>Sujets</h3>
<ul id="topics">
<li><img alt="" src="../images/down.gif" /> <a href="#windows">Cr&#233;ation de modules chargeables pour
Windows</a></li>
</ul><h3 class="directives">Directives</h3>
<ul id="toc">
<li><img alt="" src="../images/down.gif" /> <a href="#loadfile">LoadFile</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#loadmodule">LoadModule</a></li>
</ul>
<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__&amp;list_id=144532&amp;product=Apache%20httpd-2&amp;query_format=specific&amp;order=changeddate%20DESC%2Cpriority%2Cbug_severity&amp;component=mod_so">Probl&#232;mes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&amp;component=mod_so">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
<ul class="seealso">
<li><a href="#comments_section">Commentaires</a></li></ul></div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="windows" id="windows">Cr&#233;ation de modules chargeables pour
Windows</a><a title="Lien permanent" href="#windows" class="permalink">&para;</a></h2>

    <div class="note"><h3>Note</h3>
    <p>Sous Windows, o&#249; les modules chargeables poss&#232;dent en g&#233;n&#233;ral
    l'extension de nom de fichier <code>.dll</code>, les modules Apache
    httpd se nomment <code>mod_nom-module.so</code>, tout comme sur les
    autres plates-formes. Vous trouverez cependant encore des modules
    tiers, comme PHP par exemple, qui continuent d'utiliser la
    convention de nommage avec extension <code>.dll</code>.</p>

    <p>Bien que <code>mod_so</code> puisse encore charger des modules
    poss&#232;dant un nom du style <code>ApacheModuleFoo.dll</code>,
    il est pr&#233;f&#233;rable d'utiliser la
    nouvelle convention de nommage ; si vous modifiez votre module
    chargeable pour la version 2.0, veuillez aussi modifier son nom pour
    respecter cette nouvelle convention.</p></div>

    <p>Les API des modules Apache httpd sous Unix et Windows sont identiques.
    Alors que certains modules s'appuient sur certains
    aspects de l'architecture Unix non pr&#233;sents dans Windows, et ne
    fonctionneront donc pas sur cette derni&#232;re plate-forme, de nombreux
    modules fonctionnent sous Windows avec peu ou pas de modification
    par rapport &#224; leur version Unix.</p>

    <p>Lorsqu'un module fonctionne, il peut &#234;tre ajout&#233; au serveur de
    deux mani&#232;res. Sous Unix, il peut &#234;tre compil&#233; dans le serveur.
    Comme Apache httpd pour Windows ne dispose pas du programme
    <code>Configure</code> propre &#224; Apache httpd pour Unix, le fichier source
    du module doit &#234;tre ajout&#233; au fichier projet Apache de base, et ses
    symboles ajout&#233;s au fichier <code>os\win32\modules.c</code>.</p>

    <p>La seconde m&#233;thode consiste &#224; compiler le module en tant que DLL,
    &#224; savoir une biblioth&#232;que partag&#233;e qui pourra &#234;tre charg&#233;e dans le
    serveur en cours d'ex&#233;cution via la directive
    <code class="directive">LoadModule</code>. Ces modules DLL
    peuvent &#234;tre distribu&#233;s et ex&#233;cut&#233;s sur toute installation d'Apache
    httpd pour Windows, sans avoir &#224; recompiler le serveur.</p>

    <p>Pour cr&#233;er un module DLL, il est n&#233;cessaire d'apporter une l&#233;g&#232;re
    modification &#224; son fichier source : l'enregistrement du module doit
    &#234;tre export&#233; depuis la DLL (qui sera elle-m&#234;me cr&#233;&#233;e plus tard ;
    voir plus loin). Pour ce faire, ajoutez la macro
    <code>AP_MODULE_DECLARE_DATA</code> (d&#233;finie dans les fichiers
    d'en-t&#234;tes d'Apache httpd) &#224; la d&#233;finition de l'enregistrement de votre
    module. Par exemple, si votre module est d&#233;clar&#233; comme suit :</p>

<div class="example"><p><code>
    module foo_module;
</code></p></div>

    <p>Remplacez cette ligne par :</p>
<div class="example"><p><code>
    module AP_MODULE_DECLARE_DATA foo_module;
</code></p></div>

    <p>Notez que cette macro ne sera prise en compte que sous Windows,
    si bien que le module poura &#234;tre utilis&#233; sans changement sous Unix,
    si besoin est. Alternativement, si vous &#234;tes familier avec les
    fichiers <code>.DEF</code>, vous pouvez les utiliser pour exporter
    l'enregistrement du module.</p>

    <p>Maintenant, nous sommes pr&#234;ts &#224; cr&#233;er une DLL contenant notre
    module. Il va falloir pour cela la lier avec la biblioth&#232;que
    d'export libhttpd.lib qui a &#233;t&#233; cr&#233;&#233;e au cours de la compilation de
    la biblioth&#232;que partag&#233;e libhttpd.dll. Il sera peut-&#234;tre aussi
    n&#233;cessaire de modifier la configuration du compilateur pour
    s'assurer que les fichiers d'en-t&#234;tes d'Apache httpd seront correctement
    localis&#233;s. Vous trouverez cette biblioth&#232;que &#224; la racine du
    r&#233;pertoire des modules de votre serveur. Il est souhaitable
    d'utiliser un fichier de module .dsp existant dans l'arborescence
    afin de s'assurer que l'environnement de compilation est
    correctement configur&#233;, mais vous pouvez aussi comparer les options
    de compilation et d'&#233;dition de liens &#224; votre fichier .dsp.</p>

    <p>Ceci devrait cr&#233;er une version DLL de votre module. Il vous
    suffit maintenant de l'enregistrer dans le r&#233;pertoire
    <code>modules</code> &#224; la racine de votre serveur, et d'utiliser la
    directive <code class="directive">LoadModule</code> pour la charger.</p>

</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<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">&para;</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Liaison du fichier objet ou de la biblioth&#232;que
sp&#233;cifi&#233;</td></tr>
<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>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_so</td></tr>
</table>

    <p>La directive <code class="directive">LoadFile</code> permet de lier le fichier
    objet ou la biblioth&#232;que sp&#233;cifi&#233; au serveur lors du
    d&#233;marrage ou du red&#233;marrage
    de ce dernier ; ceci permet d'ajouter tout code additionnel
    n&#233;cessaire au fonctionnement d'un module.
    <em>nom-fichier</em> est soit un chemin absolu, soit un chemin
    relatif au r&#233;pertoire d&#233;fini par la directive <a href="core.html#serverroot">ServerRoot</a>.</p>

    <p>Par exemple:</p>

    <pre class="prettyprint lang-config">LoadFile "libexec/libxmlparse.so"</pre>



</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<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">&para;</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Liaison avec le serveur du fichier objet ou de la
biblioth&#232;que sp&#233;cifi&#233;, et ajout de ce dernier &#224; la liste des modules
actifs</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>LoadModule <em>module nom-fichier</em></code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_so</td></tr>
</table>
    <p>La directive <code class="directive">LoadModule</code> permet de lier le fichier objet ou la
    biblioth&#232;que <em>nom-fichier</em> avec le serveur, et d'ajouter la
    structure de module nomm&#233;e <em>module</em> &#224; la liste des modules
    actifs. <em>module</em> est le nom de la variable externe de type
    <code>module</code> dans le fichier, et est r&#233;f&#233;renc&#233; comme <a href="module-dict.html#ModuleIdentifier">Identificateur de
    module</a> dans la documentation des modules.</p>

    <p>Par exemple :</p>

    <pre class="prettyprint lang-config">LoadModule "status_module modules/mod_status.so"</pre>


    <p>charge le module sp&#233;cifi&#233; depuis le sous-r&#233;pertoire des modules
    situ&#233; &#224; la racine du serveur.</p>

</div>
</div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_so.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
<a href="../fr/mod/mod_so.html" title="Fran&#231;ais">&nbsp;fr&nbsp;</a> |
<a href="../ja/mod/mod_so.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/mod/mod_so.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../tr/mod/mod_so.html" hreflang="tr" rel="alternate" title="T&#252;rk&#231;e">&nbsp;tr&nbsp;</a></p>
</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&amp;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>
<script type="text/javascript"><!--//--><![CDATA[//><!--
var comments_shortname = 'httpd';
var comments_identifier = 'http://httpd.apache.org/docs/trunk/mod/mod_so.html';
(function(w, d) {
    if (w.location.hostname.toLowerCase() == "httpd.apache.org") {
        d.write('<div id="comments_thread"><\/div>');
        var s = d.createElement('script');
        s.type = 'text/javascript';
        s.async = true;
        s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier;
        (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s);
    }
    else {
        d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>');
    }
})(window, document);
//--><!]]></script></div><div id="footer">
<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autoris&#233; sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<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[//><!--
if (typeof(prettyPrint) !== 'undefined') {
    prettyPrint();
}
//--><!]]></script>
</body></html>