summaryrefslogtreecommitdiffstats
path: root/docs/manual/mod/mod_example_hooks.xml.fr
blob: f9a363fc33019eeb7437e8c032a2c1d010913bf0 (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
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
<?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?>
<!-- English Revision: 1793934 -->
<!-- French translation : Lucien GENTIS -->
<!-- Reviewed by : Vincent Deffontaines -->

<!--
 Licensed to the Apache Software Foundation (ASF) under one or more
 contributor license agreements.  See the NOTICE file distributed with
 this work for additional information regarding copyright ownership.
 The ASF licenses this file to You under the Apache License, Version 2.0
 (the "License"); you may not use this file except in compliance with
 the License.  You may obtain a copy of the License at

     http://www.apache.org/licenses/LICENSE-2.0

 Unless required by applicable law or agreed to in writing, software
 distributed under the License is distributed on an "AS IS" BASIS,
 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 See the License for the specific language governing permissions and
 limitations under the License.
-->

<modulesynopsis metafile="mod_example_hooks.xml.meta">

<name>mod_example_hooks</name>
<description>Illustration de l'API des modules Apache</description>
<status>Experimental</status>
<sourcefile>mod_example_hooks.c</sourcefile>
<identifier>example_hooks_module</identifier>

<summary>
    <p>Certains fichiers situés dans le répertoire
    <code>modules/examples</code> de l'arborescence de la
    distribution d'Apache sont fournis à titre d'exemples pour ceux qui
    souhaitent écrire des modules qui utilisent l'API d'Apache.</p>

    <p>Le fichier principal est <code>mod_example_hooks.c</code>, qui
    constitue une illustration exhaustive des différents mécanismes et
    syntaxes d'appels. En aucun cas un module additionnel n'aura à
    inclure des routines pour tous les appels - il n'en nécessitera au
    contraire qu'un petit nombre !</p>

    <p>Le module example_hooks fonctionne réellement. Si vous le chargez dans
    votre serveur, activez le gestionnaire "example-hooks-handler" dans une
    section location, et essayez d'accéder à la zone du site web
    correspondante, vous verrez s'afficher certaines sorties que le
    module example_hooks produit au cours des différents appels.</p>
</summary>

<section id="compiling"><title>Compilation du module example_hooks</title>

    <p>Pour inclure le module example_hooks dans votre serveur, effectuez les
    étapes suivantes :</p>

    <ol>
      <li>Exécutez <program>configure</program> avec l'option
      <code>--enable-example-hooks</code>.</li>

      <li>Compilez le serveur (exécutez la commande
      "<code>make</code>").</li>
    </ol>

    <p>Pour ajouter votre propre module :</p>

    <ol type="A">
      <li><code>cp modules/examples/mod_example_hooks.c
      modules/nouveau_module/<em>mod_monexemple.c</em></code></li>

      <li>Modifiez le fichier.</li>

      <li>Créez <code>modules/nouveau_module/config.m4</code>.
        <ol>
          <li>Ajoutez <code>APACHE_MODPATH_INIT(nouveau_module)</code>.</li>
          <li>Copiez la ligne APACHE_MODULE contenant "example_hooks" depuis
	  <code>modules/examples/config.m4</code>.</li>
          <li>Remplacez le premier argument "example-hooks" par
	  <em>monexemple</em>.</li>
          <li>Remplacez le second argument par une brève description de
	  votre module. Cette description sera utilisée par la commande
	  <code>configure --help</code>.</li>
          <li>Si la compilation de votre module nécessite des drapeaux
	  de compilation C, des drapeaux d'édition de liens, ou de
	  bibliothèques supplémentaires, ajoutez les respectivement à
	  CFLAGS, LDFLAGS et LIBS. Reportez-vous aux fichiers
	  <code>config.m4</code> des répertoires des autres modules pour
	  plus d'exemples.</li>
          <li>Ajoutez <code>APACHE_MODPATH_FINISH</code>.</li>
        </ol>
      </li>

      <li>Créez le fichier
      <code>module/nouveau_module/Makefile.in</code>.
      Si la compilation de votre module ne nécessite pas d'instructions
      particulières, ce fichier ne doit contenir que la ligne
      <code>include $(top_srcdir)/build/special.mk</code>.</li>

      <li>Exécutez ./buildconf à la racine du répertoire.</li>

      <li>Compilez le serveur après avoir exécuté la commande configure
      avec l'option --enable-monexemple.</li>

    </ol>
</section>

<section id="using"><title>Utilisation du module
<code>mod_example_hooks</code></title>

    <p>Pour activer le module example_hooks, ajoutez à votre fichier
    <code>httpd.conf</code> un bloc du style :</p>
<highlight language="config">
&lt;Location "/example-hooks-info"&gt;
   SetHandler example-hooks-handler
&lt;/Location&gt;
</highlight>

    <p>Vous pouvez aussi ajouter ce qui suit dans un fichier <a
    href="core.html#accessfilename"><code>.htaccess</code></a>, puis
    accéder au fichier "test.example" à partir du répertoire
    correspondant :</p>

<highlight language="config">
   AddHandler example-hooks-handler .example
   </highlight>


    <p>Après avoir rechargé la configuration ou redémarré votre serveur,
    vous devriez pouvoir accéder à ce fichier et voir s'afficher ce qui
    a été décrit plus haut.</p>
</section>

<directivesynopsis>
<name>Example</name>
<description>Directive de démonstration pour illustrer l'API des modules
Apache</description>
<syntax>Example</syntax>
<contextlist><context>server config</context>
<context>virtual host</context><context>directory</context>
<context>.htaccess</context></contextlist>
<override>Options</override>

<usage>
    <p>La directive <directive>Example</directive> n'a pour fonction que
    de définir un drapeau de démonstration que le gestionnaire de
    contenu du module example_hooks va afficher. Elle ne possède aucun
    argument. Si vous naviguez vers une URL à laquelle le gestionnaire
    de contenu example_hooks s'applique, vous verrez s'afficher les routines
    du module, ainsi que l'ordre dans lequel elles ont été appelées pour
    servir le document demandé. On peut observer l'effet de cette
    directive dans la phrase "<code>Example
    directive declared here: YES/NO</code>".</p>
</usage>
</directivesynopsis>

</modulesynopsis>