# Zend_Application_Resource_Frontcontroller

Probablement la ressource que vous allez le plus communément charger avec `Zend_Application` sera la ressource de contrôleur frontal qui fournit la possibilité de configurer `Zend_Controller_Front`. Cette ressource permet de spécifier n'importe quel paramètre du contrôleur frontal, de spécifier les plugins à initialiser, et bien plus...

Une fois initialisée, la ressource assigne la propriété `$frontController` du fichier d'initialisation à l'instance `Zend_Controller_Front`.

Les clés de configuration disponibles incluent les suivantes et sont sensibles à la casse :

- controllerDirectory : une chaîne de caractères spécifiant un seul dossier de contrôleurs, ou un tableau associant un nom de module et un dossier de contrôleurs.

- moduleControllerDirectoryName : une chaîne de caractères indiquant un sous-dossier dans ce module qui contient les contrôleurs.

- moduleDirectory : un dossier dans lequel tous les modules peuvent être trouvés.

- defaultControllerName : nom du contrôleur par défaut (normalement "index").

- defaultAction : nom de l'action par défaut (normalement "index").

- defaultModule : nom du module par défaut (normalement "default").

- baseUrl : URL de base explicite vers l'application (normalement auto-détecté).

- plugins : tableau de nom de classe de plugins de contrôleurs. La ressource instanciera chaque classe (sans arguments de contructeur) et les enregistrera dans le contrôleur frontal.

- params : tableau de paires clés / valeurs à enregistrer dans le contrôleur frontal.

Si une clé non-connue est fournie, elle sera enregistrée comme paramètre du contrôleur frontal en la fournissant à `setParam()`.

## Exemple de configuration d'une ressource de contrôleur frontal

Voici un extrait de configuration INI montrant comment configurer la ressource de contrôleur frontal.

    [production]
    resources.frontController.controllerDirectory = APPLICATION_PATH "/controllers"
    resources.frontController.moduleControllerDirectoryName = "actions"
    resources.frontController.moduleDirectory = APPLICATION_PATH "/modules"
    resources.frontController.defaultControllerName = "site"
    resources.frontController.defaultAction = "home"
    resources.frontController.defaultModule = "static"
    resources.frontController.baseUrl = "/subdir"
    resources.frontController.plugins.foo = "My_Plugin_Foo"
    resources.frontController.plugins.bar = "My_Plugin_Bar"
    resources.frontController.env = APPLICATION_ENV

## Récupération de votre contrôleur frontal à partir de votre initialiseur

Une fois la ressource de contrôleur frontal initialisée, vous pouvez récupérer l'instance via la propriété `$frontController` de votre initialiseur.

    $bootstrap->bootstrap('frontController');
    $front = $bootstrap->frontController;