-
Notifications
You must be signed in to change notification settings - Fork 23
Bien commencer
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 !
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
$ chmod a+rwX plugins/sfTCPDFPlugin/lib/tcpdf/cache/
À 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.
Notamment les variables current_semestre
et dossier_assos
.
Il est recommandé de faire pointer cette dernière dans un sous-dossier documents
de data
.
Vider le cache (à faire régulièrement) :
$ php symfony cc
Voici un exemple de fichier de configuration pour apache :
$ cat /etc/apache2/sites-available/simde
<VirtualHost *:80>
ServerAdmin me@domain.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
Le schéma se trouve dans config/doctrine/schema.yml
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).
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
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.
Le projet comporte quelques données de test pour ne pas commencer avec un site vide :
$ mysql -usimde -p portail < data/dump/dump_20121118.sql
$ mysql -usimde -p portail < data/dump/treso_20130602.sql
simde
est l'utilisateur MySQL, portail
le nom de la base et le mot de passe doit être tapé.
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 !