2 <!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
3 <?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?>
4 <!-- English Revision: 1673892:1793934 (outdated) -->
5 <!-- French translation : Lucien GENTIS -->
6 <!-- Reviewed by : Vincent Deffontaines -->
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
16 http://www.apache.org/licenses/LICENSE-2.0
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.
25 <modulesynopsis metafile="mod_example_hooks.xml.meta">
27 <name>mod_example_hooks</name>
28 <description>Illustration de l'API des modules Apache</description>
29 <status>Experimental</status>
30 <sourcefile>mod_example_hooks.c</sourcefile>
31 <identifier>example_hooks_module</identifier>
34 <p>Certains fichiers situés dans le répertoire
35 <code>modules/examples</code> de l'arborescence de la
36 distribution d'Apache sont fournis à titre d'exemples pour ceux qui
37 souhaitent écrire des modules qui utilisent l'API d'Apache.</p>
39 <p>Le fichier principal est <code>mod_example_hooks.c</code>, qui
40 constitue une illustration exhaustive des différents mécanismes et
41 syntaxes d'appels. En aucun cas un module additionnel n'aura à
42 inclure des routines pour tous les appels - il n'en nécessitera au
43 contraire qu'un petit nombre !</p>
45 <p>Le module example_hooks fonctionne réellement. Si vous le chargez dans
46 votre serveur, activez le gestionnaire "example-hooks-handler" dans une
47 section location, et essayez d'accéder à la zone du site web
48 correspondante, vous verrez s'afficher certaines sorties que le
49 module example_hooks produit au cours des différents appels.</p>
52 <section id="compiling"><title>Compilation du module example_hooks</title>
54 <p>Pour inclure le module example_hooks dans votre serveur, effectuez les
55 étapes suivantes :</p>
58 <li>Exécutez <program>configure</program> avec l'option
59 <code>--enable-example-hooks</code>.</li>
61 <li>Compilez le serveur (exécutez la commande
62 "<code>make</code>").</li>
65 <p>Pour ajouter votre propre module :</p>
68 <li><code>cp modules/examples/mod_example_hooks.c
69 modules/nouveau_module/<em>mod_monexemple.c</em></code></li>
71 <li>Modifiez le fichier.</li>
73 <li>Créez <code>modules/nouveau_module/config.m4</code>.
75 <li>Ajoutez <code>APACHE_MODPATH_INIT(nouveau_module)</code>.</li>
76 <li>Copiez la ligne APACHE_MODULE contenant "example_hooks" depuis
77 <code>modules/examples/config.m4</code>.</li>
78 <li>Remplacez le premier argument "example-hooks" par
79 <em>monexemple</em>.</li>
80 <li>Remplacez le second argument par une brève description de
81 votre module. Cette description sera utilisée par la commande
82 <code>configure --help</code>.</li>
83 <li>Si la compilation de votre module nécessite des drapeaux
84 de compilation C, des drapeaux d'édition de liens, ou de
85 bibliothèques supplémentaires, ajoutez les respectivement à
86 CFLAGS, LDFLAGS et LIBS. Reportez-vous aux fichiers
87 <code>config.m4</code> des répertoires des autres modules pour
89 <li>Ajoutez <code>APACHE_MODPATH_FINISH</code>.</li>
93 <li>Créez le fichier
94 <code>module/nouveau_module/Makefile.in</code>.
95 Si la compilation de votre module ne nécessite pas d'instructions
96 particulières, ce fichier ne doit contenir que la ligne
97 <code>include $(top_srcdir)/build/special.mk</code>.</li>
99 <li>Exécutez ./buildconf à la racine du répertoire.</li>
101 <li>Compilez le serveur après avoir exécuté la commande configure
102 avec l'option --enable-monexemple.</li>
107 <section id="using"><title>Utilisation du module
108 <code>mod_example_hooks</code></title>
110 <p>Pour activer le module example_hooks, ajoutez à votre fichier
111 <code>httpd.conf</code> un bloc du style :</p>
112 <highlight language="config">
113 <Location "/example-hooks-info">
114 SetHandler example-hooks-handler
118 <p>Vous pouvez aussi ajouter ce qui suit dans un fichier <a
119 href="core.html#accessfilename"><code>.htaccess</code></a>, puis
120 accéder au fichier "test.example" à partir du répertoire
123 <highlight language="config">
124 AddHandler example-hooks-handler .example
128 <p>Après avoir rechargé la configuration ou redémarré votre serveur,
129 vous devriez pouvoir accéder à ce fichier et voir s'afficher ce qui
130 a été décrit plus haut.</p>
135 <description>Directive de démonstration pour illustrer l'API des modules
137 <syntax>Example</syntax>
138 <contextlist><context>server config</context>
139 <context>virtual host</context><context>directory</context>
140 <context>.htaccess</context></contextlist>
143 <p>La directive <directive>Example</directive> n'a pour fonction que
144 de définir un drapeau de démonstration que le gestionnaire de
145 contenu du module example_hooks va afficher. Elle ne possède aucun
146 argument. Si vous naviguez vers une URL à laquelle le gestionnaire
147 de contenu example_hooks s'applique, vous verrez s'afficher les routines
148 du module, ainsi que l'ordre dans lequel elles ont été appelées pour
149 servir le document demandé. On peut observer l'effet de cette
150 directive dans la phrase "<code>Example
151 directive declared here: YES/NO</code>".</p>