[APACHE DOCUMENTATION]

Apache HTTP Server Version 1.3

Module mod_imap

Ce module est implémenté dans le fichier mod_imap.c, et est compilé par défaut. Il gère les fichiers de type .map, en remplaçant les fonctionnalités du programme CGI imagemap. Tout répertoire ou type de document configuré pour utiliser le gestionnaire (handler) imap-file (soit via une déclaration AddHandler ou SetHandler) sera traité par ce module.

Résumé

Ce module fait partie de la distribution standard d'Apache. La directive suivante activera le traitement des fichiers terminant par .map au titre de fichiers "imagemap" :
AddHandler imap-file map
Notez que l'écriture suivante est toujours reconnue :
AddType application/x-httpd-imap map
Cependant, nous essayons d'éliminer le principe des "types MIME magiques" et cette méthode est aujourd'hui déconseillée.

Nouvelles fonctionnalités

Le module "imagemap" propose certaines nouvelles fonctionnalités qui n'étaient pas disponibles avec d'anciennes versions de programmes de mapping d'image.

Directives de configuration

Directive : ImapMenu

Syntaxe : ImapMenu {none, formatted, semi-formatted, unformatted}
Contexte : configuration serveur, hôtes virtuels, répertoire, .htaccess
Surcharge : Indexes
Module : mod_imap.c
Compatibilité : ImapMenu est disponible à partir de la version 1.1 d'Apache.

La directive ImapMenu détermine l'action exécutée si le fichier "imagemap" est requis sans coordonnées valides.

none
Si ImapMenu est associé à none, aucun menu n'est généré, et l'action par default est exécutée.
formatted
Un menu formatted est le menu le plus simple. Les commentaires du fichier "imagemap" sont ignorés. Une en-tête de premier niveau est affichée, puis une règle horizontale, puis chacun des liens sur une ligne séparée. Le menu à une apparence finie, proche de celle obtenue par un indexage de répertoire.
semiformatted
Dans un menu semiformatted, les commentaires sont affichés, à la place ou ils interviennent dans le fichier "imagemap". Les lignes vides sont transformées en balises HTML
. Aucune en-tête, ni règle horizontale n'est affichée, mais à part cela, le menu à la même apparence qu'un menu formatted.
unformatted
Les commentaires sont affichés, les lignes vides sont ignorées. Rien n'est affiché qui n'est pas explicitement inscrit dans le fichier "imagemap". Tout retour ligne et en-têtes doivent être inclus à titre de commentaires dans le fichier "imagemap". Ceci donne une plus grande souplesse quant à l'apparence de vos menus, mais demande que vous traitiez vos fichiers de mapping comme des fichiers HTML plutôt que plaintext.

Directive : ImapDefault

Syntax: ImapDefault {error, nocontent, map, referer, URL}
Context: configuration serveur, hôtes virtuels, répertoire, .htaccess
Override: Indexes
Module: mod_imap.c
Compatibility: ImapDefault est disponible à partir de la version 1.1 d'Apache.

La directive ImapDefault définit l'action default par défaut utilisée pour les fichiers "imagemap". Sa valeur est surchargée par une directive default à l'intérieur du fichier "imagemap" lui-même. Si aucune spécification du défaut n'est faite, l'action par défaut (le défaut du défaut !) est nocontent, ce qui signifie qu'une réponse de code 204 No Content sera renvoyée au client. Dans ce cas, le client devrait continuer d'afficher la page originale.

Directive : ImapBase

Syntaxe : ImapBase {map, referer, URL}
Contexte : configuration serveur, hôtes virtuels, répertoire, .htaccess
Surcharge : Indexes
Module : mod_imap.c
Compatibilité : ImapBase est disponible à partir de la version 1.1 d'Apache.

La directive ImapBase définit le code base par défaut utilisé dans les fichiers "imagemap". Sa valeur est surchargée par une directive base dans le fichier "imagemap" lui-même. Si aucune directive de ce type n'est spécifiée, la base par défaut (encore le défaut du défaut !) sera http://votre.serveur/.


Fichiers Imagemap

Les lignes d'un fichier imagemap peuvent être de plusieurs formats :
directive valeur [x,y ...]
directive valeur "Texte menu" [x,y ...]
directive valeur x,y ... "Texte menu"
La directive est l'une parmi base, default, poly, circle, rect, ou point. La valeur est une URL absolue ou relative, ou encore l'une des valeurs spéciales listées ci-après. Les coordonnées sont des paires x,y séparées par des espaces. Le texte entre guillemets sera utilisé comme texte de l'item de menu lorsqu'un menu "imagemap" est généré. Les lignes débutant par un caractère '#' sont traitées comme des commentaires.

Directives de fichier "imagemap"

Six directives sont autorisées dans un fichier "imagemap". Les directives peuvent être inscrites dans n'importe quel ordre, mais seront interprétées dans l'ordre où elles seront trouvées dans le fichier.
Directive : base
A le même effet qu'une balise <BASE href="valeur">. Les URL relatives trouvées dans le fichier "imagemap" seront prises relativement à cette valeur. La directive base surcharge une directive ImapBase inscrite dans un fichier .htaccess ou dans les fichiers de configuration du serveur. En l'absence d'une directive ImapBase, la base est par défaut http://votre.serveur/.
base_uri est synonyme de base. Notez que le slash final mentionné dans l'URL est significatif.

Directive : default
L'action à entreprendre si les coordonnées fournies ne correspondent à aucune zone poly, circle ou rect définie, et aucune directive point n'est définie. Par défaut, Default prend la valeur nocontent en l'absence de toute inscription d'une directive ImapDefault, ce qui provoque l'envoi d'une réponse de code 204 No Content au client. Le client continuera de voir la page originale.

Directive : poly
Définit un polygone de trois à cent points, et qui encadre une zone active qui sera excitée si les coordonnées fournies sont à l'intérieur.

Directive : circle
Définit une zone active circulaire par son centre et un point du cercle. Cette zone est excitée si les coordonnées fournies tombent à l'intérieur du cercle.

Directive : rect
Définit une zone active rectangulaire par ses deux coins extrêmes. Cette zone est excitée si les coordonnées fournies tombent à l'intérieur du rectangle.

Directive : point
Définit un point sensible sur l'image. Le point sensible sollicité est celui qui est le plus proche de celui avec les coordonnées fournies sauf si une quelconque autre directive est satisfaite. Note que default ne sera pas considérée si une directive point est mentionnée et que des coordonnées valides (dans l'image dans ce cas) sont données.

RdT : Notez que dans ce cas, le point unique défini est effectivement le plus proche de tous les autres points de l'image !

Valeurs

Les valeurs associées à chacune des directives peuvent être les suivantes :
une URL
L'URL peut être absolue ou relative. Les URL relatives peuvent contenir la syntaxe '..' et seront résolues relativement à la base.
La base elle-même ne sera pas résolue par rapport à la valeur courante. Pourtant, une expression base mailto: fonctionnera correctement.

map
Equivalent à l'URL du fichier "imagemap" lui même. Aucune coordonnée n'est utilisée dans ce cas de figure, et un menu sera donc généré sauf si ImapMenu vaut 'none'.

menu
Synonyme de map.

referer
Equivaut à l'URL du document inscrit dans le champ "Referer:". Utilise la valeur par défaut http://votre.serveur/ si aucun champ Referer: n'était présent dans l'en-tête.

nocontent
Renvoie une réponse de code 204 No Content, pour indiquer au client de conserver la même page affichée. Valide pour toutes les directives sauf base.

error
Renvoie un message d'erreur 500 Server Error. Valide pour toutes les directive sauf base, mais somme toute assez maladroite dans un autre contexte que default.

Coordonnées

0,0 200,200
Une coordonnée consiste en une valeur x et une valeur y séparées par une virgule. Les couples de coordonnées sont séparés les uns des autres par un espace. Pour rester conforme à la façon dont Lynx traite les "imagemaps", si des coordonnées arrivent avec une valeur de 0,0, alors on considère qu'aucune coordonnée n'a été sélectionnée.

Texte entre guillemets

"Texte menu"
A la suite de la valeur ou des coordonnées, la ligne peut éventuellement contenir un texte entre guillemets. Cette chaîne sera utilisée comme étiquette de l'item de menu lorsqu'un menu "imagemap" est généré :
<a href="http://foo.com/">Texte menu</a>
si ce texte n'est pas mentionné, c'est le nom du lien qui sera utilisé comme étiquette par défaut :
<a href="http://foo.com/">http://foo.com</a>
Il est impossible d'échapper des guillemets (littéraux) à l'intérieur de ce texte.

Exemple de fichier Map

#Les commentaires sont affichés dans un menu 'unformatted' ou 'semiformatted'.
#et peuvent contenir des balises HTML. <hr>
base referer
poly map "J'peux avoir un menu, siou plait?" 0,0 0,10 10,10 10,0
rect .. 0,0 77,27 "le répertoire du Referer"
circle http://www.inetnebr.com/lincoln/feedback/ 195,0 305,27
rect another_file "dans le répertoire du Referer" 306,0 419,27
point http://www.zyzzyva.com/ 100,100
point http://www.tripod.com/ 200,200
rect mailto:nate@tripod.com 100,150 200,0 "Ca plante ?"

Référencer votre fichier "imagemap"

<A HREF="/maps/imagmap1.map">
<IMG ISMAP SRC="/images/imagemap1.gif">
</A>


Apache HTTP Server Version 1.3

Index Home