Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Newer
Older
100755 175 lines (137 sloc) 7.552 kB
47b6a32 [doc-fr][1.4] bad encoding, getting-started/04-Project-Setup rev:en/2…
forresst authored
1 Installation du Projet
505f37f @fabpot [doc] [1.3, 1.4] moved all the documentation to 1.4
fabpot authored
2 =============
3
4 Dans symfony, les **applications** partageant le même modèle de données sont regroupés dans des
5 **projets**. Pour la plupart des projets, vous avez deux applications différentes : un
6 frontend et un backend.
7
8 Création du projet
9 ----------------
10
11 Depuis le répertoire `sfproject/`, exécuter la tâche symfony `generate:project` pour
12 créer le projet symfony:
13
14 $ php lib/vendor/symfony/data/bin/symfony generate:project PROJECT_NAME
15
16 Sur Windows:
17
18 c:\> php lib\vendor\symfony\data\bin\symfony generate:project PROJECT_NAME
19
20 La tâche `generate:project` génére la structure par défaut des répertoires et
3130825 [doc-fr][1.4] Update doc in french, getting-started/04-Project-Setup …
forresst authored
21 les fichiers nécessaires pour un projet symfony :
505f37f @fabpot [doc] [1.3, 1.4] moved all the documentation to 1.4
fabpot authored
22
23 | Répertoire | Description
24 | ----------- | ----------------------------------
25 | `apps/` | Accueille toutes les applications du projet
26 | `cache/` | Les fichiers mis en cache par le framework
27 | `config/` | Les fichiers de configuration du projet
94adfca [doc] [1.4] added missing data/ folder in chapter 4 of getting starte…
hugo.hamon authored
28 | `data/` | Les fichiers de données comme les jeux de données initiales
505f37f @fabpot [doc] [1.3, 1.4] moved all the documentation to 1.4
fabpot authored
29 | `lib/` | Les bibliothèque et les classes du projet
30 | `log/` | Les fichiers log du framework
31 | `plugins/` | Les plugins installés
32 | `test/` | Les fichiers de test unitaire et fonctionnel
33 | `web/` | Le répertoire racine Web (voir ci-dessous)
34
35 >**NOTE**
94adfca [doc] [1.4] added missing data/ folder in chapter 4 of getting starte…
hugo.hamon authored
36 >Pourquoi symfony génère autant de dossiers ? L'un des principaux avantages d'un
37 >framework full-stack consiste à normaliser les développements. Grâce à
631cfc3 [doc-fr][1.4] Update doc in french, getting-started/04-Project-Setup …
forresst authored
38 >la structure par défaut des fichiers et des répertoires de symfony, tout développeur ayant
39 >une certaine connaissance de symfony peut prendre en charge la maintenance d'un projet symfony.
40 >En quelques minutes, il sera capable de parcourir le code, de corriger des
94adfca [doc] [1.4] added missing data/ folder in chapter 4 of getting starte…
hugo.hamon authored
41 >bugs et d'ajouter de nouvelles fonctionnalités.
42
631cfc3 [doc-fr][1.4] Update doc in french, getting-started/04-Project-Setup …
forresst authored
43 La tâche `generate:project` a également créé un raccourci `symfony` dans le
44 répertoire racine du projet pour diminuer le nombre de caractères que vous allez écrire
45 lors de l'exécution d'une tâche.
505f37f @fabpot [doc] [1.3, 1.4] moved all the documentation to 1.4
fabpot authored
46
47 Ainsi, à partir de maintenant, au lieu d'utiliser le chemin complet pour le programme
48 symfony, vous pouvez utiliser le raccourci `symfony`.
3129c59 [doc][1.4] Refs #8173 Moved Getting Started section "Installation Ver…
hal authored
49
50 ### Vérification de l'installation
51
52 Maintenant que symfony est correctement installé, vérifiez la en utilisant la
53 ligne de commande de symfony pour afficher la version de symfony (notez que le `V` est en majuscule) :
54
55 $ cd ../..
56 $ php lib/vendor/symfony/data/bin/symfony -V
57
58 Sur Windows:
59
60 c:\> cd ..\..
61 c:\> php lib\vendor\symfony\data\bin\symfony -V
62
63 L'option `-V` affiche également le chemin vers le répertoire d'installation de symfony,
64 qui est stocké dans `config/ProjectConfiguration.class.php`.
65
66 Si le chemin de symfony est absolue (ce qui ne devrait pas l'être par défaut si vous
67 suivez les instructions ci-dessus), changez-le de sorte qu'il soit lu comme l'exemple suivant
68 pour une meilleure portabilité :
69
70 [php]
71 // config/ProjectConfiguration.class.php
72 require_once dirname(__FILE__).'/../lib/vendor/symfony/lib/autoload/sfCoreAutoload.class.php';
73
74 De cette façon, vous pouvez déplacer le répertoire du projet n'importe où sur votre machine ou
75 une autre, et cela fonctionnera bien.
76
77 >**TIP**
78 >Si vous êtes curieux de savoir ce que cet outil en ligne de commande peut faire pour vous, tapez
79 >`symfony` pour lister les options et les tâches disponibles :
80 >
81 > $ php lib/vendor/symfony/data/bin/symfony
82 >
83 >Sur Windows:
84 >
85 > c:\> php lib\vendor\symfony\data\bin\symfony
86 >
87 >La ligne de commande symfony est le meilleur ami du développeur. Il fournit de nombreux
88 >utilitaires qui permettent d'améliorer votre productivité sur les activités quotidiennes comme
89 >le vidage du cache, la génération de code, et bien plus encore.
505f37f @fabpot [doc] [1.3, 1.4] moved all the documentation to 1.4
fabpot authored
90
91 Configuration de la base de données
92 ------------------------
93
94 Le framework Symfony supporte toutes les [PDO](http://www.php.net/PDO)-soutenus
95 par des bases de données (MySQL, PostgreSQL, SQLite, Oracle, MSSQL, ...) hors de la boîte. Au
96 sommet de PDO, symfony est livré avec deux outils ORM: Propel et Doctrine.
97
98 Lorsque vous créez un nouveau projet, Doctrine est activé par défaut. La configuration
99 de la base de données employée par Doctrine est aussi simple en utilisant la tâche `configure:database`:
100
101 $ php symfony configure:database "mysql:host=localhost;dbname=dbname" root mYsEcret
102
103 La tâche `configure:database` comporte 3 arguments: le
104 [~PDO DSN~](http://www.php.net/manual/en/pdo.drivers.php), le nom de l'utilisateur, et
105 le mot de passe pour accéder à la base de données. Si vous n'avez pas besoin d'un mot de passe pour
106 accéder à votre base de donnée sur le serveur de développement, omettez simplement le troisième argument.
107
108 >**TIP**
109 >Si vous souhaitez utiliser Propel au lieu de Doctrine, ajoutez --orm=Propel lors de la création
110 >du projet avec la tâche `generate:project`. Et si vous ne voulez pas utiliser un
111 >ORM, passer juste --orm=none.
112
113 Création de l'application
114 --------------------
115
116 Maintenant, créez l'application frontend en exécutant la tâche `generate:app` :
117
118 $ php symfony generate:app frontend
119
120 >**TIP**
121 >Parce que le raccourci symfony est exécutable, les utilisateurs Unix peuvent remplacer toutes
122 >les occurrences de '`php symfony`' par '`./symfony`' à partir de maintenant.
123 >
124 >Sur Windows vous pouvez copier le fichier '`symfony.bat`' vers votre projet et utilisez
125 >'`symfony`' à la place de '`php symfony`' :
126 >
127 > c:\> copy lib\vendor\symfony\data\bin\symfony.bat .
128
129 Basé sur le nom de l'application donné en *argument*, la tâche `generate:app`
130 crée par défaut la structure du répertoire nécessaire à l'application sous le
131 répertoire `apps/frontend/` :
132
133 | Répertoire | Description
134 | ------------ | -------------------------------------
135 | `config/` | Les fichiers de configuration de l'application
136 | `lib/` | Les bibliothèques et les classes de l'application
137 | `modules/` | Le code de l'application (MVC)
138 | `templates/` | Les fichiers template globaux
139
140 >**SIDEBAR**
141 >Securité
142 >
143 >Par défaut, la tâche `generate:app` a sécurisé notre application sur les deux vulnérabilités
144 >les plus répandues que l'on trouve sur le web. C'est vrai, symfony
145 >prend automatiquement des mesures de ~sécurité|Sécurité~ à notre place.
146 >
3130825 [doc-fr][1.4] Update doc in french, getting-started/04-Project-Setup …
forresst authored
147 >Pour prévenir des attaques ~XSS~, l'output escaping a été activé; et pour prévenir
505f37f @fabpot [doc] [1.3, 1.4] moved all the documentation to 1.4
fabpot authored
148 >des attaques ~CSRF~, un secret CSRF a été créé aléatoirement.
149 >
150 >Bien sûr, vous pouvez modifier ces paramètres grâce aux *options* suivantes :
151 >
152 > * `--escaping-strategy`: Active ou désactive l'output escaping
153 > * `--csrf-secret`: active les jetons de session dans les formulaires
154 >
155 >Si vous ne savez rien sur
52a6894 [doc-fr][1.4] update doc in french, getting-started/04-Project-Setup …
forresst authored
156 >[XSS](http://fr.wikipedia.org/wiki/Cross-site_scripting) ou
157 >[CSRF](http://fr.wikipedia.org/wiki/Cross-site_request_forgery), prenez le temps d'en
158 >apprendre d'avantage sur ces failles de sécurité.
505f37f @fabpot [doc] [1.3, 1.4] moved all the documentation to 1.4
fabpot authored
159
160 Droits sur les répertoires structurés
161 --------------------------
162
163 Avant d'essayer d'accéder à votre projet nouvellement créé, vous devez configurer l'écriture
164 sur les répertoires `cache/` et `log/` à des niveaux appropriés,
165 afin que votre serveur web puisse écrire dedans :
166
167 $ chmod 777 cache/ log/
168
169 >**SIDEBAR**
170 >Conseils pour les personnes utilisant un outil de SCM
171 >
172 >symfony écrit seulement dans deux répertoires du projet symfony :
173 >`cache/` et `log/`. Le contenu de ces répertoires peut-être ignoré
174 >par votre SCM (En utilisant la propriété `svn:ignore`, si vous utilisez Subversion
175 >par exemple).
Something went wrong with that request. Please try again.