1 <?xml version="1.0" encoding="ISO-8859-1" ?>
2 <!DOCTYPE manualpage SYSTEM "./style/manualpage.dtd">
3 <?xml-stylesheet type="text/xsl" href="./style/manual.fr.xsl"?>
4 <!-- French translation : Lucien GENTIS -->
5 <!-- Reviewed by : Vincent Deffontaines -->
6 <!-- English Revision: 420990 -->
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 <manualpage metafile="handler.xml.meta">
27 <title>Utilisation des gestionnaires d'Apache (handlers)</title>
30 <p>Ce document décrit l'utilisation des gestionnaires d'Apache (handlers).</p>
33 <section id="definition">
34 <title>Qu'est-ce qu'un gestionnaire ?</title>
37 <module>mod_actions</module>
38 <module>mod_asis</module>
39 <module>mod_cgi</module>
40 <module>mod_imagemap</module>
41 <module>mod_info</module>
42 <module>mod_mime</module>
43 <module>mod_negotiation</module>
44 <module>mod_status</module>
47 <directive module="mod_actions">Action</directive>
48 <directive module="mod_mime">AddHandler</directive>
49 <directive module="mod_mime">RemoveHandler</directive>
50 <directive module="core">SetHandler</directive>
55 <p>Un "gestionnaire" est une représentation interne à Apache de l'action
56 qui doit être entreprise quand un fichier est appelé. En général, les
57 fichiers ont des gestionnaires implicites, basés sur le type du fichier.
58 Normalement, tous les fichiers sont traités simplement par le serveur,
59 mais certains types de fichiers sont "gérés" séparément.</p>
61 <p>Les gestionnaires peuvent aussi être configurés explicitement,
62 soit en fonction des extensions des noms de fichier, soit en fonction
64 sans faire référence au type de fichier. Ceci a le double avantage d'être
65 une solution plus élégante, et aussi d'autoriser à associer à la fois
66 un type <strong>et</strong> un gestionnaire avec un fichier. (Voir aussi <a
67 href="mod/mod_mime.html#multipleext">Fichiers avec extensions
70 <p>Les gestionnaires peuvent être soit partie intégrante
71 du serveur ou inclus dans un module, soit ajoutés à l'aide de la directive
72 <directive module="mod_actions">Action</directive>. Les gestionnaires
73 intégrés dans la distribution standard se présentent comme suit :</p>
76 <li><strong>default-handler</strong>: envoie le fichier en utilisant
77 le <code>default_handler()</code>, qui est le gestionnaire utilisé par
78 défaut pour traiter les contenus statiques. (core)</li>
80 <li><strong>send-as-is</strong>: envoie les fichiers avec en-têtes HTTP
81 tels quels. (<module>mod_asis</module>)</li>
83 <li><strong>cgi-script</strong>: traite le fichier comme un
84 script CGI. (<module>mod_cgi</module>)</li>
86 <li><strong>imap-file</strong>: Traite le fichier comme un ensemble
87 de règles de descriptions d'images (imagemap).
88 (<module>mod_imagemap</module>)</li>
90 <li><strong>server-info</strong>: Extrait des informations sur la
91 configuration du serveur. (<module>mod_info</module>)</li>
93 <li><strong>server-status</strong>: Rédige un rapport sur le statut
94 du serveur. (<module>mod_status</module>)</li>
96 <li><strong>type-map</strong>: Traite le fichier comme une description
97 de type pour la négociation du contenu.
98 (<module>mod_negotiation</module>)</li>
101 <section id="examples">
102 <title>Exemples</title>
104 <section id="example1">
105 <title>Modification d'un contenu statique à l'aide d'un script CGI</title>
107 <p>Les directives suivantes vont faire en sorte que les requêtes pour
108 des fichiers possédant une extension <code>html</code> déclenchent
109 l'exécution du script CGI <code>footer.pl</code>.</p>
112 Action add-footer /cgi-bin/footer.pl<br/>
113 AddHandler add-footer .html
116 <p>À ce moment-là, le script CGI se charge d'envoyer le document
117 initialement demandé (référencé par la variable d'environnement
118 <code>PATH_TRANSLATED</code>) et d'effectuer tous ajout ou modification
122 <section id="example2">
123 <title>Fichiers avec en-têtes HTTP</title>
125 <p>Les directives suivantes vont activer le gestionnaire
126 <code>send-as-is</code>, qui est utilisé pour les fichiers qui possèdent
127 leurs propres en-têtes HTTP. Tous les fichiers situés dans le répertoire
128 <code>/web/htdocs/asis/</code> seront traités par le gestionnaire
129 <code>send-as-is</code>, sans tenir compte de l'extension
130 de leur nom de fichier.</p>
133 <Directory /web/htdocs/asis><br/>
134 SetHandler send-as-is<br/>
140 <section id="programmer">
141 <title>Note du développeur</title>
143 <p>Pour implémenter la fonctionnalité des gestionnaires, l'
144 <a href="developer/API.html">API Apache</a> a fait l'objet d'un ajout
145 que vous pourriez être amené à utiliser.
147 Plus précisément, un nouvel enregistrement a été ajouté à la structure
148 <code>request_rec</code> :</p>
154 <p>Si vous voulez que votre module déclenche l'utilisation d'un
155 gestionnaire, il vous suffit de définir <code>r->handler</code> avec
156 le nom du gestionnaire à n'importe quel moment avant l'étape
157 <code>invoke_handler</code>
158 de la requête. Les gestionnaires sont implémentés comme auparavant,
159 quoique l'on utilise le nom du gestionnaire à la place d'un type
160 de contenu. Bien que ce ne soit pas obligatoire, la convention de nommage
161 des gestionnaires stipule l'utilisation d'un mot composé séparé par des
162 tirets, sans slashes, afin de ne pas interférer avec l'espace de nommage
163 des types de média.</p>