Skip to content
This repository has been archived by the owner on Nov 28, 2021. It is now read-only.

Bien commencer

Arthur Puyou edited this page Jul 8, 2013 · 22 revisions

Étape 1 : cloner le dépot GIT

Pour utiliser le modèle des Pull Requests, vous devez faire un fork du dépôt dans votre compte github, en cliquant sur le bouton Fork en haut à droite du dépôt https://github.com/simde-utc/portail

Ensuite tapez la commande :

$ git clone git@github.com:*votre_username_github*/portail.git

Félicitations, vous avez le code !

Étape 2 : préparer votre espace de travail

Toutes les commandes sont a taper à la racine du dépôt.

Récupérer le code symfony :

$ git submodule update --init

Fixer les permissions :

$ mkdir log cache
$ php symfony project:permissions

À faire après un clone et après toute installation de plugin :

$ php symfony plugin:publish-assets

Créer le fichier de configuration principal du site :

$ cp config/app.dist.yml config/app.yml

Ouvrir ce fichier et changer les paramètres qui doivent l'être.

Vider le cache (à faire régulièrement) :

$ php symfony cc

Étape 3 : le Virtual Host

Voici un exemple de fichier de configuration pour apache :

$ cat /etc/apache2/sites-available/simde 
 <VirtualHost *:80>
    ServerAdmin mattgu74@gmail.com
    DocumentRoot "/home/.../simde/web"
    ServerName simde
    DirectoryIndex frontend_dev.php
  <Directory "/home/.../simde">
    AllowOverride All
    Allow from All
  </Directory>
  Alias /sf /home/.../simde/lib/vendor/symfony/data/web/sf
  <Directory "/home/.../simde/lib/vendor/symfony/data/web/sf">
    AllowOverride All
    Allow from All
  </Directory>
</VirtualHost>

Permettre de se connecter au site en tapant http://simde dans un navigateur :

$ cat /etc/hosts
...
127.0.0.1    simde
...

N'oubliez pas d'activer le Virtual Host :

$ sudo a2ensite simde

Puis de recharger la configuration d'Apache :

$ sudo /etc/init.d/apache2 reload

Étape 4 : la base de données

Le schéma se trouve dans config/doctrine/schema.yml

Configurer sa connexion

Les identifiants de connexion à la base se trouvent dans config/databases.yml

Un fichier d'exemple est donné : databases.dist.yml

$ cp config/databases.dist.yml config/databases.yml

Il vous suffit d'éditer la configuration pour votre base de données (il faut créer la base soi-même au préalable, symfony ne le fera pas tout seul).

Générer le code symfony

symfony génère des classes PHP à partir du fichier schema.yml. Pour générer ce code (models, forms, filters) :

$ php symfony doctrine:build --all-classes

Générer les tables dans la base de données

Une fois que la base a été créée, on peut créer l'ensemble des tables avec la commande :

$ php symfony doctrine:migrate

Cette commande permettra aussi de mettre à jour la structure des tables lorsqu'un autre développeur effectue des changements sur le modèle.

Charger les données test

Le projet comporte quelques données de test pour ne pas commencer avec un site vide :

$ php symfony doctrine:data-load data/dump/dump_20121118.sql

Note : il semble que cette commande ne fonctionne pas systématiquement. Si ce n'est pas le cas, on peut simplement la remplacer par :

$ mysql -u simde -p portail1 < data/dump/dump_20121118.sql

simde est l'utilisateur MySQL, portail1 le nom de la base et le mot de passe doit être tapé.

Étape 5 : créer son premier module

Pour générer un module lié à une table il suffit d'exécuter la commande suivante, qui va créer plusieurs actions pour lister la table, voir un élément, éditer un élément, ajouter un élément et supprimer un élément.

$ php symfony doctrine:generate-module frontend module Objet

Vous pouvez aussi générer un module vide :

$ php symfony generate:module frontend module

N'oubliez pas de lire Convention et règles !

Clone this wiki locally