# Termes utilisés pour décrire les directives Apache

Chaque directive de configuration d'Apache est décrite selon un format de présentation commun ressemblant à ceci :

  Syntaxe: nomDirective arguments
  Défaut: `nomDirective valeursParDéfaut`
  Contexte: listeDeContextes
  Surcharge: DirectivesSurchargées
  Statut: statut
  Module: nomModule
  Compatibilité: notes concernant la compatibilité

Chacun des attributs possibles pour les directives, avec toutes leurs valeurs possibles sont décrites dans ce document.

## Termes employés pour les directives

- Syntaxe
- Défaut
- Contexte
- Surcharge
- Statut
- Module
- Compatibilité

## Syntaxe

Indique le format dans laquelle la directive doit être inscrite dans les fichiers de configuration. Cette syntaxe est très spécifique pour chaque directive, et est décrite en détail dans la définition de la directive. Généralement, le nom de la directive est suivi d'un ou de plusieurs arguments. Les arguments optionnels sont entourés de crochets Quand un argument peut prendre plus d'une valeur possible, les valeurs possibles sont séparées par une barre verticale. Les valeurs littérales sont affichée avec la fontes par défaut, tandis qur les type d'arguments pour lesquels une substitution doit être faite sont en italique. Les diretrives pouvant avoir un nombre variable d'arguments se terminent avec "..." indiquant que le dernier argument se répète.

## Défaut

Si la directive a une valeur par défaut (c-à-d., si elle n'apparait pas du tout dans le fichier de configuration, le serveur Apache se comportera comme si cette directive avait été écrite en mentionnant cette valeur), elle est spécifiée ici. Si aucune valeur n'est définie par défaut, cette section précisera "Non précisé".

## Contexte

Indique là ou l'implantation de la directive dans le fichier de configuration est licite. Il est exprimé comme une liste séparée par des virgules, et pouvant contenir les éléments suivants :

configuration serveur
  La directive peut être utilisée dans le fichier de configuration du serveur (ex., `httpd.conf`, `srm.conf`, et `access.conf`), mais dans aucune des sections intérieures des containers `<VirtualHost>` ni <Directory>. Elle n'est pas permise dans aucun des fichiers `.htaccess`.
hôte virtuel
  Dans ce contexte, la directive peut apparaître dans les containers `<VirtualHost>` écrits dans les fichiers de configuration du serveur.
répertoire
  La directive peut apparaître dans les containers `<Directory>` écrits dans les fichiers de configuration du serveur.
.htaccess
  La directive peut apparaître dans les fichiers `.htaccess` situé dans chacun des répertoires. Elle peut ou ne pas être interprétée, suivant la configuration des directives de surcharge.

Les directives ne sont autorisées que dans les contextes cités ; si vous essayez de les écrire ailleurs, vous provoquerez une erreur de configuration qui soit conduira le serveur à ignorer les requêtes dans le contexte spécifié, soit peut empêcher le serveur de fonctionner -- c-à-d., le serveur refusera de démarrer.

Les emplacements valides pour les directives sont le résultat d'un OU booléen de tous les contextes cités. En d'autres termes, une directive marquée comma étant valide dans le contexte "`configuration serveur, .htaccess`" peut être utilisée dans le fichier `httpd.conf` et dans les fichiers `.htaccess`, mais pas dans le container <Directory> ni <VirtualHost>.

## Surcharge

Cet attribut de directive précise quelle surcharge doit être permise pour que la directive puisse être interprétée lorsqu'elle apparaît dans un fichier `.htaccess`. Si le contexte de directive ne permet pas une écriture dans les fichiers `.htaccess`, cet attribut doit mentionner "Non applicable".

Les surcharges sont gérées par la directive `AllowOverrides`, et ont une portée définie, par exemple un répertoire donné et tous ses descendants, sauf si la configuration de surcharge est changée à un endroit de la descendance par une directive `AllowOverrides` d'un niveau inférieur. La documentation pour cette directive liste aussi les noms possibles de surcharges disponibles.

## Statut

Indique à quel module du serveur Apache Web la directive est rattachée ; en d'autres termes, vous devrez peut être recompiler le serveur en précisant un ensemble plus large de modules pour pouvoir bénéficier de cette fonctionnalité. Les valeurs possibles pour cet attribut sont :

Noyau
  Il s'agit d'une directive du noyau d'Apache et est de ce fait toujours disponible.
Base
  La directive est implémentée dans un module d'Apache faisant partie de l'ensemble de compilation de base, et est normalement disponible sauf si vous avez explicitement enlevé ce module à la compilation.
Extension
  La directive est implémentée par un module faisant partie de l'Apache Server Kit, mais ce module n'est pas compilé par défaut. Pour activer cette directive, et rendre opérationnelle cette fonctionnalité, vous devrez modifier le fichier de configuration de compilation et recompiler Apache.
Expérimental
  Le statut "Experimental" indique que la directive est disponible dans le Kit Apache, mais que vous ne pouvez l'utiliser qu'à vos risques et périls. La directive est documenté dans un souci d'exhaustivité mais n'est pas forcément supportée. Le module qui donne accès à cette directive peut être ou ne pas être compilé par défaut ; reportez vous en tête de la page qui décrit la directive et le module pour toute remarque concernant sa disponibilité.

## Module

Donne simplement le nom du module ou est implémentée cette fonctionnalité.

## Compatibilité

Si la directive ne faisait pas partie de la version 1 d'Apache, le numéro indique la version dans laquelle elle a été introduite. Si la directive a le même nom qu'une ancienne directive du serveur HTTPd du NCSA, toute différence de comportement y sera mentionnée. Dans les autres cas, cette rubrique affichera "Pas de remarques sur compatiblité."