Development

Documentation/fr_FR/book/trunk/file_structure (diff)

You must first sign up to be able to contribute.

Changes between Version 5 and Version 6 of Documentation/fr_FR/book/trunk/file_structure

Show
Ignore:
Author:
xavier (IP: 82.125.245.97)
Timestamp:
12/27/06 00:29:06 (10 years ago)
Comment:

translation completed ?

Legend:

Unmodified
Added
Removed
Modified
  • Documentation/fr_FR/book/trunk/file_structure

    v5 v6  
    110110Les classes d'une application ne peuvent pas accéder aux méthodes ou aux attributs d'autres applications du même projet. Notez également que les liens hypertexte entre deux applications d'un même projet doivent être écrits sous forme absolue. 
    111111 
    112 == Module tree structure == 
    113  
    114 Each application contains one or more modules. Each module has its own subdirectory in the modules directory, and the name of this directory is chosen during the setup
    115  
    116 This is the typical tree structure of a module
     112== Arborescence d'un module == 
     113 
     114Chaque application contient un ou plusieurs modules. Chaque module a son propre sous-dossier dans le dossier {{{modules}}}, et le nom de ce dossier est choisi lors de la création du module
     115 
     116Voici l'arborescence typique d'un module
    117117 
    118118{{{ 
    126126}}} 
    127127 
    128 The actions directory generally contains a single class named actions.class.php, in which you can store all the actions of the module. Different actions of a module can also be written in separate files. 
    129  
    130 The config directory can contain custom configuration files with local parameters for the module. 
    131  
    132 The lib directory contains classes and libraries specific to the module. 
    133  
    134 The templates directory contains the templates corresponding to the actions of the module. A default template is created during module setup, called indexSuccess.php
    135  
    136 And the validate directory is dedicated to configuration files used for form validation
    137  
    138 The directories config, lib and validate are empty for a new module. 
    139  
    140 == Web tree structure == 
    141  
    142 There are very few constraints for the web directory, but following a few basic naming conventions will provide default behaviors and useful shortcuts in the templates. 
    143  
    144 Conventionally, the static files are distributed in the following directories
    145  
    146  * css/: stylesheets with a .css extension 
    147  * js/: javascripts with a .js extension 
    148  * images/: images with a .jpg, .png or .gif format 
    149  
    150 The files uploaded by the users have to be stored in the uploads directory. Even though, most of the time, the uploads directory contains images, it is distinct from the image directory so that the synchronization of the development and production environments does not affect the uploaded images. 
    151  
    152 == Tree structure customization == 
    153  
    154 Even if it is highly recommended to keep the default tree structure, it is possible to modify it for specific needs, for instance in order to match the requirements of a client who already has its own tree structure and coding conventions. 
    155  
    156 Every path to a key directory is determined by a parameter ending with _dir. These parameters are defined in the framework, in a file called $pear_data_dir/symfony/config/constants.php, used by every symfony project. To customize the tree structure of an application, you simply need to override these settings. For that, use the config.php file located in the apps/myapp/config/ directory (for an application-wide directory structure), or the config/config.php (for a project-wide structure). 
    157  
    158 You will probably have to copy the default configuration from the symfony directory if you need to modify it. Here is an extract of the default configuration
     128Le dossier {{{actions}}} contient en général une unique classe nommée {{{actions.class.php}}}, dans laquelle vous pouvez placer toutes les actions du module. Des actions différentes d'un même module peuvent également être écrites dans des fichiers séparés. 
     129 
     130Le dossier {{{config}}} peut contenir des fichiers de configuration personnalisés avec des paramètres locaux au module. 
     131 
     132Le dossier {{{lib}}} contient des classes et des librairies spécifiques au module. 
     133 
     134Le dossier {{{templates}}} contient les templates correspondant aux actions du module. Un template par défaut est créé au cours de la création du module, il est appelé {{{indexSuccess.php}}}
     135 
     136Enfin, le dossier {{{validate}}} est dédié aux fichiers de configuration utilisés pour la validation des formulaires
     137 
     138Les dossiers {{{config}}}, {{{lib}}} et {{{validate}}} sont vides pour chaque nouveau module. 
     139 
     140== Arborescence Web == 
     141 
     142Il y a très peu de contraintes sur le dossier {{{web}}}, mais le respect de quelques conventions de nommage permet d'utiliser certains comportements et raccourcis utiles dans les templates. 
     143 
     144Par convention, les fichiers statiques sont répartis dans les dossiers suivants
     145 
     146 * {{{css/}}}: feuilles de styles avec une extension .css 
     147 * {{{js/}}}: javascripts avec une extension .js 
     148 * {{{images/}}}: images au format .jpg, .png ou .gif 
     149 
     150Les fichiers uploadés par les utilisateurs doivent être enregistrés dans le dossier {{{uploads}}}. Même si, la plupart du temps, ce dossier {{{uploads}}} contient des images, il est distinct du dossier des images, de telle sorte que la synchronisation des environnements de production et de développement n'a aucune conséquence sur les images uploadées. 
     151 
     152== Paramétrage de l'arborescence == 
     153 
     154Même s'il est fortement recommandé de conserver l'arborescence par défaut, il est possible de la modifier pour répondre à des besoins spécifiques, par exemple afin de s'adapter aux exigences d'un client habitué à une arborescence et des conventions de codage données. 
     155 
     156Chaque chemin vers un dossier clé est détermimé par un paramètre se terminant par le suffixe {{{_dir}}}. Ces paramètres sont définis dans le framework, dans un fichier nommé {{{$pear_data_dir/symfony/config/constants.php}}}, et utilisé par chaque projet Symfony. Afin de personnaliser l'arboresence de l'application, vous devez simplement surcharger ces réglages en utilisant le fichier {{{config.php}}} situé dans le dossier {{{apps/myapp/config/}}} (pour une structure de dossiers spécifique à une application), ou le fichier {{{config/config.php}}} (pour un paramétrage à l'échelle du projet). 
     157 
     158Vous voudrez sans doute copier la configuration depuis le dossier de Symfony, si vous souhaitez la modifier. Voici un extrait de cette  configuration par défaut
    159159 
    160160{{{ 
    182182}}} 
    183183 
    184 Names and paths are both defined here. While this file is not that easy to read, it is easy to modify
    185  
    186     '''Important''': It is strongly recommended to use these parameters (via the sfConfig object) instead of their values when building and coding a project. That way, the applications created can be independent of the tree structure, more particularly for the first level directories. 
     184Les noms et les chemins sont définis ici. Même si ce fichier n'est pas de lecture aisée, il est facile à modifier
     185 
     186    '''Important''' : Il est fortement recommandé d'employer ces paramètres (accessibles via l'objet sfConfig) au lieu de leurs valeurs lorsque vous développez un projet. De cette manière, les applications créées sont indépendantes de l'arborescence, en particulier pour le premier niveau de dossiers. 
    187187 
    188188{{{ 
    189189     [php] 
    190      // always prefer 
     190     // préférez toujours 
    191191     if(file_exists(sfConfig::get('sf_log_dir').'myLogFile.log')) 
    192      // instead of 
     192     // plutôt que 
    193193     if(file_exists('/home/myproject/log/myLogFile.log')) 
    194194}}} 
    195195 
    196196 
    197 For instance, if you want your file structure to look like this (it is a standard shared host structure)
     197Par exemple, si vous souhaitez que votre arborescence ressemble à ceci (il s'agit d'une arborescente standard pour un hébergement mutualisé)
    198198 
    199199{{{ 
    221221}}} 
    222222 
    223 Change the SF_ROOT_DIR constant defined in the index.php (and the other front controllers) from
     223Changez la constante SF_ROOT_DIR, définie dans le {{{index.php}}} (et les autres contrôleurs) en remplaçant
    224224 
    225225{{{ 
    227227}}} 
    228228 
    229 to 
     229par 
    230230 
    231231{{{ 
    233233}}} 
    234234 
    235 Then add the following lines to your config/config.php
     235Puis ajoutez les lignes suivantes à votre {{{config/config.php}}}
    236236 
    237237{{{