summaryrefslogtreecommitdiff
path: root/docs/manual/handler.html.fr
blob: 580857d6b60207cc83dacd9395037bd1468b65b7 (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
<?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><!--
        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
              This file is generated from xml source: DO NOT EDIT
        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
      -->
<title>Utilisation des gestionnaires apache - Serveur Apache HTTP</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 href="./images/favicon.ico" rel="shortcut icon" /></head>
<body id="manual-page"><div id="page-header">
<p class="menu"><a href="./mod/">Modules</a> | <a href="./mod/directives.html">Directives</a> | <a href="./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.0</p>
<img alt="" src="./images/feather.gif" /></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.0</a></div><div id="page-content"><div id="preamble"><h1>Utilisation des gestionnaires apache</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="./en/handler.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
<a href="./es/handler.html" hreflang="es" rel="alternate" title="Español">&nbsp;es&nbsp;</a> |
<a href="./fr/handler.html" title="Français">&nbsp;fr&nbsp;</a> |
<a href="./ja/handler.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="./ko/handler.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="./ru/handler.html" hreflang="ru" rel="alternate" title="Russian">&nbsp;ru&nbsp;</a></p>
</div>

    <p>Ce document décrit l'utilisation des gestionnaires (Handlers) Apache.</p>
  </div>
<div id="quickview"><ul id="toc"><li><img alt="" src="./images/down.gif" /> <a href="#definition">Qu'est ce qu'un Gestionnaire&nbsp;?</a></li>
<li><img alt="" src="./images/down.gif" /> <a href="#examples">Exemples</a></li>
<li><img alt="" src="./images/down.gif" /> <a href="#programmer">Note aux programmeurs</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="definition" id="definition">Qu'est ce qu'un Gestionnaire&nbsp;?</a></h2>
    
    <table class="related"><tr><th>Modules Apparentés</th><th>Directives Apparentées</th></tr><tr><td><ul><li><code class="module"><a href="./mod/mod_actions.html">mod_actions</a></code></li><li><code class="module"><a href="./mod/mod_asis.html">mod_asis</a></code></li><li><code class="module"><a href="./mod/mod_cgi.html">mod_cgi</a></code></li><li><code class="module"><a href="./mod/mod_imap.html">mod_imap</a></code></li><li><code class="module"><a href="./mod/mod_info.html">mod_info</a></code></li><li><code class="module"><a href="./mod/mod_mime.html">mod_mime</a></code></li><li><code class="module"><a href="./mod/mod_negotiation.html">mod_negotiation</a></code></li><li><code class="module"><a href="./mod/mod_status.html">mod_status</a></code></li></ul></td><td><ul><li><code class="directive"><a href="./mod/mod_actions.html#action">Action</a></code></li><li><code class="directive"><a href="./mod/mod_mime.html#addhandler">AddHandler</a></code></li><li><code class="directive"><a href="./mod/mod_mime.html#removehandler">RemoveHandler</a></code></li><li><code class="directive"><a href="./mod/core.html#sethandler">SetHandler</a></code></li></ul></td></tr></table>


    <p>Un Gestionnaire "handler" est une représentation interne à 
    Apache, qui décrit quoi faire quand un fichier est appelé. De 
    manière générale, les fichiers disposent d'un gestionnaire 
    implicite en fonction de leurs types. Le fonctionnement standard 
    est de simplement servir le fichier tel qu'il est demandé, mais 
    certains types de fichiers peuvent être gérés différemment.</p>
    
    <p>Depuis Apache 1.1, il est possible de forcer l'utilisation 
    des gestionnaires. Ils peuvent être spécifiés pour des fichiers 
    présentant une certaine extension ou présents dans un certain 
    répertoire, et peuvent être utilisés indépendamment des types 
    des fichiers. Cette technique est avantageuse, d'abord parce 
    que plus élégante, mais aussi parce qu'on peut ainsi associer 
    un type de fichier <strong>et</strong> un gestionnaire à un 
    fichier. (Voir aussi&nbsp;: <a href="mod/mod_mime.html#multipleext">Fichiers à Extensions Multiples</a>.)</p>

    <p>Les gestionnaires peuvent être intégrés au serveur, ou inclus 
    dans un module, ou encore être configurés au moyen de la directive 
    <code class="directive"><a href="./mod/mod_actions.html#action">Action</a></code>. Les 
    gestionnaires fournis par défaut dans la distribution d'Apache 
    se présentent comme suit&nbsp;:</p>

    <ul>
      <li><strong>default-handler</strong>&nbsp;: Envoie le fichier en 
      utilisant <code>default_handler()</code> qui est le 
      gestionnaire utilisé par défaut pour gérer les contenus 
      statiques. (noyau d'Apache)</li>

      <li><strong>send-as-is</strong>&nbsp;: Envoie le fichier avec les 
      en-têtes HTTP tels quels. (<code class="module"><a href="./mod/mod_asis.html">mod_asis</a></code>)</li>

      <li><strong>cgi-script</strong>&nbsp;: Traite le fichier comme un 
      script CGI. (<code class="module"><a href="./mod/mod_cgi.html">mod_cgi</a></code>)</li>

      <li><strong>imap-file</strong>&nbsp;: Traite le fichier comme un 
      ensemble de règles imagemap. NdT&nbsp;: ces fonctionnalités sont 
      désuètes, et sont réalisées à présent coté client. 
      (<code class="module"><a href="./mod/mod_imap.html">mod_imap</a></code>)</li>

      <li><strong>server-info</strong>&nbsp;: Envoie les informations 
      de configuration du serveur. (<code class="module"><a href="./mod/mod_info.html">mod_info</a></code>)</li>

      <li><strong>server-status</strong>&nbsp;: Envoie les informations sur 
      le fonctionnement et la charge du serveur. 
      (<code class="module"><a href="./mod/mod_status.html">mod_status</a></code>)</li>

      <li><strong>type-map</strong>&nbsp;: Traite le fichier comme un 
      fichier de types pour la négociation de contenu. 
      (<code class="module"><a href="./mod/mod_negotiation.html">mod_negotiation</a></code>)</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="examples" id="examples">Exemples</a></h2>
    

    <h3><a name="example1" id="example1">Modifier un contenu statique au moyen d'un script CGI</a></h3>
      

      <p>Les directives ci-après provoquent l'exécution du script 
      CGI <code>footer.pl</code> à chaque requête de fichier 
      présentant l'extension <code>html</code>.</p>
      
      <div class="example"><p><code>
        Action add-footer /cgi-bin/footer.pl<br />
        AddHandler add-footer .html
      </code></p></div>

      <p>Le travail du script CGI est alors d'envoyer le document 
      demandé (désigné au moyen de la variable d'environnement 
      <code>PATH_TRANSLATED</code>) en lui faisant subir au préalable 
      les transformations désirées.</p>

    
    <h3><a name="example2" id="example2">Fichiers contenant des en-têtes HTTP</a></h3>
      

      <p>Les directives ci-après activent le gestionnaire 
      <code>send-as-is</code>, utilisé pour gérer les fichiers 
      qui contiennent leurs propres en-têtes HTTP. Tous les fichiers 
      contenus dans le répertoire <code>/web/htdocs/asis/</code> 
      seront traités par le gestionnaire <code>send-as-is</code>, 
      sans tenir compte de leurs extensions.</p>

      <div class="example"><p><code>
        &lt;Directory /web/htdocs/asis&gt;<br />
        SetHandler send-as-is<br />
        &lt;/Directory&gt;
      </code></p></div>

    
  </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section">
<h2><a name="programmer" id="programmer">Note aux programmeurs</a></h2>
    

    <p>L'<a href="developer/API.html">API d'Apache</a> a été modifiée 
    lors de l'implémentation des gestionnaires&nbsp;; cette modification 
    peut se révéler intéressante. Un nouvel enregistrement a été ajouté 
    à la structure <code>request_rec</code>&nbsp;:</p>
    
    <div class="example"><p><code>
      char *handler
    </code></p></div>

    <p>Pour qu'un module utilise un gestionnaire, il suffit d'affecter 
    <code>r-&gt;handler</code> avec le nom du gestionnaire avant 
    l'étape <code>invoke_handler</code> de la requête. Les 
    gestionnaires fonctionnent comme auparavant, bien que leurs noms 
    soient nécessaires au lieu d'un type de contenu. Bien qu'elle ne 
    soit pas nécessaire, la convention de nommage des gestionnaires 
    demande l'utilisation de mots séparés par des tirets, ne contenant 
    aucun slash, afin de ne pas interférer avec l'espace de nommage 
    des types de médias.</p>
  </div></div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="./en/handler.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
<a href="./es/handler.html" hreflang="es" rel="alternate" title="Español">&nbsp;es&nbsp;</a> |
<a href="./fr/handler.html" title="Français">&nbsp;fr&nbsp;</a> |
<a href="./ja/handler.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="./ko/handler.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="./ru/handler.html" hreflang="ru" rel="alternate" title="Russian">&nbsp;ru&nbsp;</a></p>
</div><div id="footer">
<p class="apache">Copyright 2006 The Apache Software Foundation.<br />Autorisé 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/directives.html">Directives</a> | <a href="./faq/">FAQ</a> | <a href="./glossary.html">Glossaire</a> | <a href="./sitemap.html">Plan du site</a></p></div>
</body></html>