Skip to content

Instantly share code, notes, and snippets.

@NicolasBadey
Last active January 1, 2016 01:08
Show Gist options
  • Save NicolasBadey/8070529 to your computer and use it in GitHub Desktop.
Save NicolasBadey/8070529 to your computer and use it in GitHub Desktop.
Rendu IIM Symfony2 module 1

#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é

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment