#Rendu IIM Symfony2 module 1
Date de rendu : 02/01/2014 00:00:00
Sauf exception vous avez tous besoin de loguer et permettre l’inscription d’utilisateurs, FOSUserBundle est fait pour ça.
N’oubliez pas de sécuriser vos routes non public dans security.yml avec le ROLE_USER
.
Il est donc obligatoire de l’implémenter, idem pour SonataAdminBundle, accessible pas un User ayant le ROLE_ADMIN
, il doit donc servir qu’a l’administrateur, pas aux Users de base.
Repartez de l’ArticleController, la présence de doctrine directement dans le Controller est éliminatoire, tout comme la présence de new TrucType
, vous devez mettre vos FormType en service comme vu en cours.
Vous devez donc utiliser un Manager (en service) qui extends du Manager de base. Si requêtes il y a, ce sera en QueryBuilder dans le Repository de votre entité, le Manager récupérera la QueryBuilder et envoit le résultat, regardez les slides du cours sur les QueryBuilder et Manager, tout y est, je viens de le mettre à jour pour plus de clarté.
Pour ceux ayant de l’upload à faire, VichUploaderBundle le fera à votre place, normalement ceux en ayant besoin l’on déjà installé en fin de TD, à défaut il est très simple à installer et la doc est sur le GitHub comme tout Bundle Symfony2. Ne touchez pas à l’autoloader.
Pour ceux devant afficher des images, utilisez LiipImagineBundle, https://packagist.org/packages/liip/imagine-bundle, il ajoutera une gestion de filtre et de cache.
A part Anyssa, ne touchez pas à Gaufrette, ne l’installez pas et utiliser le FileSystemStorage
.
Pour ceux uploadant des fichiers autre que des images, utilisez {{asset('dossierdemonupload/toto.mp3') }}
qui ira chercher le fichier dans le dossier public web
.
Vous devez avoir à la racine de votre projet un dossier README contenant toute la doc d’install et la description fonctionnelle et technique détaillé de votre projet.
Vous devez déjà m’envoyer par mail la description fonctionnelle.
Je dois pouvoir prendre votre rendu, et faire :
php composer.phar install
app/console assetic:dump
app/console doctrine:schema:create
ça doit marcher du premier coup, donc testez le chez vous de cette manière avant de le rendre.
Donnez-moi quand même un .sql, histoire que je n’ai pas à créer des users ou autre data moi-même.
Pour ceux qui veulent s'en passer, en bonus, on peut faire mieux avec les DoctrineFixture : http://symfony.com/fr/doc/current/bundles/DoctrineFixturesBundle/index.html
Rendre le projet sur un repo GitHub est facultatif mais fortement conseillé, attention de ne pas versionner les vendor
, app/cache
, app/logs
et le composer.phar
, verifiez votre .gitignore
, on l'a vu en cours et Sf2 vous en a généré un.
A defaut envoyer votre rendu par email en archive, qui sera donc trés légére.
Attention aux environements, vous travaillez en environnement de dev et quand vous lancez les commande elles se font en dev par defaut.
Pour tester en environement de prod faite pour les assets app/console assetic:dump --env=prod
et remplacez app_dev.php
par app.php
dans votre URL pour tester (cf les slides en ligne).
Faites moi un design correct aussi, Twitter Bootstrap conseillé