Development

sfBookFRcreationProjet

You must first sign up to be able to contribute.

Version 6 (modified by benoitMorin, 11 years ago)
--

Créer un projet et utiliser les commandes 'Symfony'

Présentation

Ce chapitre décrit la structure logique d'un projet Symfony et détaille l'utilisation des commandes symfony pour initialiser cette dernière.

Introduction

Un projet symfony est un ensemble de services et d'opérations disponibles pour un nom de domaine donné et partageant le même modèle objet.

Au sein d'un projet, les opérations sont groupées logiquement en applications (une application peut normalement fonctionner indépendamment des autres applications du même projet).

D'une manière générale, un projet sera composé deux applications utilisant la même base de données : une application "front-office" et une application "back-office". Mais il possible d'imaginer un projet constitué de plusieurs "mini-sites", chaque site étant une application différente. Notez que des liens entre applications ne sont à envisager que dans des cas absolus.

Une application est composée de un ou plusieurs modules. Chaque module représentent un groupement d'une ou plusieurs pages traitant d'un même sujet (par exemple : module "accueil", "articles", "aide", "panier", "compte utilisateur" etc...).

Les modules possèdent des actions. Ces dernières représentent les fonctions accessibles depuis un module, par exemple, un module de panier d'une boutique en ligne possèdera les actions "ajouter dans le panier", "voire le panier" et "mettre à jour le panier". Parler d'actions est presque parler de pages dans une application web classique.

Au démarrage d'un projet, il est possible de regrouper toutes les actions dans un unique module de manière à conserver une structure de fichier simple, mais lorsque l'application se complexifie, il est fortement recommandé d'organiser ces actions en modules.

Il est possible d'exécuter une application dans des environnements applicatifs variés en utilisant par exemple des configurations ou des base de données différentes par environnement. Par défaut, chaque nouvelle application possède trois environnements : un environnement de développement, de test et de production. Il est tout à fait possible de définir autant d'environnement que nécessaire, leurs différences résidant dans leurs configurations respectives.

Par exemple : un environnement de test tracera les logs d'alertes et d'erreurs tandis qu'un environnement de production ne tracera qu'uniquement les logs d'erreurs. Le système de cache est souvent désactivé dans l'environnement de développement et est activé dans celui de test et de production. Les environnements de développement et de test peuvent nécessiter un accès à une base de données distincte de celle de production. Tous ces environnements peuvent cohabiter ensemble sur une même machine, bien que généralement, un serveur de production ne contient que l'environnement de production.

Note: If you use symfony from a sandbox, you don't need to setup a project nor an application, since the sandbox already has one 'sf_sandbox' project and one 'frontend' application. You don't need to setup the web server either, since your application is in the web/ root directory.

Attachments