Development

Documentation/fr_FR/book/trunk/cli

You must first sign up to be able to contribute.

Version 1 (modified by clochix, 11 years ago)
translation creation

Cette partie de la documentation est en cours de traduction. Cela signifie qu'elle est traduite de manière soit incomplète, soit inexacte. En attendant que cette traduction soit terminée, vous pouvez consulter la version en anglais pour des informations plus fiables.

l'interface en ligne de commande

Introduction

L'interface en ligne de commande de symfony (CLI) permet d'exécuter de nombreuses tâches utiles lors du développement et de la maintenance d'une application web.

Pake

Pour les tâches courantes, Symfony utilise un Pake, un utilitaire PHP similaire à Rake en Ruby, et équivalent à la commande make. Il permet d'automatiser des tâches d'administration. Pake utilise un fichier de configuration, pakefile.php. Dans Symfony, Pake est appelé en tapant simplement symfony en ligne de commande.

Il est à noter que l'interface en ligne de commande ne fonctionnera qu'appelée depuis le répertoire racine du projet racine.

Les commandes de base

    $ symfony -V

Retourne la version de symfony

    $ symfony

Retourne la liste de toutes les tâche disponibles.

La commande symfony prend en paramètre un nom de tâche, celle-ci pouvant nécessiter des options supplémentaires. Le modèle de syntaxe est

    $ symfony [options] <TACHE> [paramètres]

Certaines tâches peuvent également être appelées via un raccourcis. Par exemple

    $ symfony cc
    // a le même effet que
    $ symfony clear-cache

En cas d'erreur à l'exécution de la têche, vous pouvez utiliser l'option -t pour obtenir plus de détails et la pile des appels.

Les tâches

Générer la structure du projet

    $ symfony init-project <PROJECT_NAME>

Initialise un nouveau projet symfony (raccourcis: new)

    $ symfony init-app <APPLICATION_NAME>

Initialise une nouvelle application (raccourcis: app)

    $ symfony init-module <APPLICATION_NAME> <MODULE_NAME>

Initialise un nouveau module (raccourcis: module)

    $ symfony init-batch <SKELETON_NAME> [...]

Initialise un nouveau traitement batch (raccourcis: batch). Il faut choisir le squelette à utiliser et suivre les instructions.

    $ symfony init-controller <APPLICATION_NAME> <ENVIRONMENT_NAME> [<SCRIPT_NAME>] [true|false]

Initialise un nouveau contrôleur (raccourcis: controller). Le nom du script par défaut doit respecter les conventions de nommage de symfony.

Vous trouverez plus de détail sur ces commandes dans le chapitre sur la création de projets.

Générer le modèle

    $ symfony propel-build-model

Crée les classes Propel à partir des fichiers schema (YAML ou XML) du répertoire config/.

Les paramètres de connection utilisés par les commandes suivantes sont extraits du fichier de configuration config/propel.ini.

    $ symfony propel-build-sql

Génère dans le fichier data/schema.sql les instructions SQL pour créer les tables décrites dans schema.yml.

    $ symfony propel-build-db

Crée une nouvelle base de données à partir des informations de connection.

    $ symfony propel-insert-sql

Exécute les instructions du fichier data/schema.sql pour créer les tables dans la base.

    $ symfony propel-build-all

Exécute successivement propel-build-model, propel-build-sql et propel-insert-sql.

    $ symfony propel-load-data  <APPLICATION_NAME> [<ENVIRONMENT_NAME>] [<FIXTURES_DIR_OR_FILE>]

Charge les données dans les tables. Si aucun fichier ou répertoire n'est indiqué, les données seront chargées à partir des fichiers contenus dans data/fixtures/. L'environnement par défaut est dev. Le chemin du répertoire contenant les données à charger est relatif au répertoire data du projet, par exemple fixtures (par defaut) ou testdata ou juste un fichier : fixtures/file.yml.

    $ symfony propel-build-all-load  <APPLICATION_NAME> [<ENVIRONMENT_NAME>] [<FIXTURES_DIR_OR_FILE>]

Exécute successivement propel-build-all puis propel-load-data. Les arguments sont les mêmes que pour propel-load-data.

    $ symfony propel-build-schema

Crée un fichier schema.yml à partir d'une base de données existante.

    $ symfony propel-build-schema xml

Crée un fichier schema.xml à partir d'une base de données existante.

Vous trouverez plus d'information sur ces commandes dans le chapitre sur le modèle de données.

Les outils de développement

    $ symfony clear-cache [<APPLICATION_NAME>] [template|config]

Efface toutes des informations du cache (raccourcis: cc). Plus de détails dans le chapitre sur le cache.

    $ symfony clear-controllers

Efface tous les contrôleurs à part ceux utilisés dans l'environnement de production. Une commande utile par exemple avant un déploiement en production.

    $ symfony fix-perms

Fixes directories permissions, to change to 777 the directories that need to be writable. The permission can be broken if you use a checkout from a SVN repository.

    $ symfony test <APPLICATION_NAME>

Launches the test suite for an application (find more in the [unit test chapter](test_unit_testing.txt)).

    $ symfony freeze
    $ symfony unfreeze

Copies all the necessary symfony libraries into the data/, lib/ and web/sf/ directories of your project. Your project then becomes a kind of sandbox, i.e. a standalone application with no dependence and ready to be transferred to production via FTP. Works fine with PEAR installations as well as symbolic links. Unfreeze your project with the unfreeze task.

    $ symfony sync <ENVIRONMENT_NAME> [go]

Synchronises the current project with another machine (find more in the [deployment chapter](deployment.txt)).

Project administration

    $ symfony disable <APPLICATION_NAME> <ENVIRONMENT_NAME>

Forwards the user to the unavailable module and action in your settings.yml file and acts in the same way as if you had set the unavaiable setting in your settings.yml file. The advantage over the setting is that you can disable a single application for a single environment, and not only the whole project.

    $ symfony enable <APPLICATION_NAME> <ENVIRONMENT_NAME>

Enables the application and clears the cache.

    $ symfony purge-logs

Clears the logs files in the log directory in applications and environments where the logging.yml specifies purge: on (which is the default value).

    $ symfony rotate-log <APPLICATION_NAME> <ENVIRONMENT_NAME>

Forces a rotation of a log file if rotate is enabled for the log file in logging.yml. The rotation parameters are the period (the number of days a single log file lasts) and the history (the number of backup log files kept). Here is an example of logging.yml withrotation configutation:

    prod:
      rotate:  on
      period:  7       ## Log files are rotated every 7 days by default
      history: 10      ## A maximum history of 10 log files is kepts   

Génération de l'administration et des échafaudages

    $ symfony propel-generate-crud <APPLICATION_NAME> <MODULE_NAME> <CLASS_NAME>
    $ symfony propel-init-crud <APPLICATION_NAME> <MODULE_NAME> <CLASS_NAME>

Generates a new Propel CRUD module based on a class from the model. The generate version copies the code from the framework to a new module, the init verson creates an empty module that inherits from the one in the framework. In this case, the generated code is visible only in the cache/ folder (the generated actions and templates inherit from the framework).

    $ symfony propel-init-admin <APPLICATION_NAME> <MODULE_NAME> <CLASS_NAME>

Initializes a new Propel admin module based on a class from the model

Find more about these commands in the [scaffolding](scaffolding.txt) and [generator chapter](generator.txt).

Gestion des Plugin

    $ symfony plugin-install [local|global] <CHANNEL_NAME>/<PLUGIN_NAME>

Installe un nouveau plugin.

    $ symfony plugin-upgrade [local|global] <CHANNEL_NAME>/<PLUGIN_NAME>

Met à jour un plugin existant.

    $ symfony plugin-upgrade-all

Met à jour tous les plugins installés.

    $ symfony plugin-uninstall [local|global] <CHANNEL_NAME>/<PLUGIN_NAME>

Supprime un plugin.

La création, l'installation et la gestion des plugins sont décrits dans le chapitre sur les plugins.

La complétion automatique

Le wiki de symfony propose des fichiers fournis par des utilisateurs pour permettre la complétion automatique des commandes symfony dans certains interpréteurs de commandes:

* [Bash completion](http://www.symfony-project.com/trac/wiki/BashCompletion) * [Zsh completion](http://www.symfony-project.com/trac/wiki/ZshCompletion)

[1]: http://www.pake-project.org/ "Pake"

[2]: http://rake.rubyforge.org/ "Rake"

[3]: http://nanoserv.si.kz/ "Nanoserv"