Créer un gestionnaire de collections avec Symfony3

Installer FOSUserBundle

Testez gratuitement nos 1324 formations

pendant 10 jours !

Tester maintenant Afficher tous les abonnements
Un utilisateur peut être identifié au sein de l'application. Suivez donc le principe de la sécurité avec un jeton d'identification.
07:11

Transcription

Vous devez gérer des utilisateurs, voilà le plus simple, utilisez le fos-user-bundle, friend of Samfony user-bundle, le meilleur bundle des gestions de l’utilisateur qui existent. Pourquoi ? Parce qu'il est complet, vous avez rien à coder de particulier, tout est déjà prêt pour vous. En plus, il est compatible avec Symfony 3. Alors, on va regarder sur la page de documentation Symfony, vous garderez cette page de coté, vous pourrez la relire tranquillement et regarder un petit peu tout ce qui est proposé, essentiellement en bas, parce qu'en bas vous aurez les Nexts Steps les étapes suivants, que vous pourrez réaliser tranquillement, c'est à dire remplacer les templates de base. Il y a beaucoup, beaucoup de choses, que vous pourrez faire avec FOSUserBundle, vous verrez qu'il y a beaucoup de possibilités pour venir écraser ce qui existe de base. Mais vous allez voir que déjà dès le départ, c'est génial. Alors, je vous montre un peu ce qu'il faudra faire de votre coté, pour que ça fonctionne; La première chose, vous l'installez : composer requière friendsofsymfony/user-bundle et ici entre guillemet on va mettre 2.0@dev. Et en vous en ça, vous allez l'installer. Une fois qu'il sera installé, vous penserez bien dans votre AppKernel à venir le renseigner, FosUserBundle, FosUserBundle, comme ça vous allez l'activer ce Bundle. Il est activé, c'est bon, on peut passer à la suite, la suite c'est simplement aller mettre à jour votre security.yml. Ici dans votre security.yml il y a plein de petites choses à modifier, vous mettrez plus tranquillement pour voir une vérité. Mais dans le concret on ajoute des rôles de hiérarchie, de la hiérarchie de ROLE, ici : ROLE_ADMIN, ROLE_USER, ROLE_SUPER_ADMIN, ROLE_ADMIN, ça c'est bon, c'est fait, c'est nickel. Le ROLE_USER sera automatique, comme quelqu'un est authentifié l'aura, le ROLE_USER. On va mettre un nom codeur pour le mot de passe, s'est basé sur les modèles de FOS. On va mettre ensuite ici un provider, pour le fos_user.bundle, avec fos_user.user_provider.username. Ça c'est ce qui vous permet de générer les clés. Le firewalls on va le faire évoluer un petit peu aussi le Pattern, le Form_logn et cette partie-là rajoutée, logout à true, anonymous à true et ensuite pour l'access _control il y a des routes, par défaut logins, register, resetting, qu'il faut placer en Role ANONYMOUSLY, parce qu'il faut que les gens puissent y accéder. Et enfin Item, qu'on avait fait au début, en ROLE_ADMIN pour le moment. Alors on peut le mettre en ROLE_USER, tiens un lien. Pour le mettre en ROLE_USER, je suis-là, ça sera beaucoup plus sympa. Si ça c'est fait, on peut passer encore à la suite, dans le Routing. Vous allez rajouter ici les routes de FOS_USER, c'est obligatoire, pour que ça fonctionne, il faut rajouter tous les routes de FOS_USER qui vous permettront d'avoir le formulaire pour s’authentifier, le formulaire pour resete et le password, pour le remettre à zéro, le formulaire pour s'inscrire, génial, il y a déjà tout. Ensuite, dans la Config vous allez ici venir ajouter cette partie de configuration : fos_user, db_driver orm, firewall_name main. Ça se relie à votre Main_firewall. Et enfin la user_class AppBundle/Entity/User, mais on ne l'a pas encore cette classe, donc on va la créer, on créera une classe très simple dans les Entités, qui s'appelle User, qui ne va pas faire grande chose, mais qui va se baser, qui va étendre le BaseUser, qui sera en fait : FosUserBundleModelUser. Vous oubliez pas de faire ça, c'est très important. Le nom de la Table c'est ce que vous voulez, mais ici Fos_User c'est plus simple pour se remplir, c'est du Fos. Et un ID, ici est auto généré, tout le reste, ça proviendra directement du constructeur parant et de l'Entité Parant, qui définit déjà tout ce que vous devez avoir de base, c'est à dire le user name, l’émail, le fait que le compte soit inable pas, le salte pour protejer le password, le password etc, etc. Donc là on a déjà beaucoup d'informations. Bon, une fois que vous aurez fait ça, il resterait une dernière commande, c'est la mise à jour de shéma de la base. En lançant cette mise à jour vous allez avoir un update, vous remarquez qu'ici on force la mise à jour de la base de données, on a un nouveau shéma, donc il va être scanné ce schéma il va être enserré en base. A la fin vous pouvez souffler un petit peu, et normalement vous devriez avoir fos_user, dans votre base de données et ce fos_user, si vous regardez sa structure, vous devriez bien à voir tous les champs, qui permettent de gérer un utilisateur. Elle n'est pas belle la vie, allez je vous montre comment ça marche maintenant. Une fois que vous avez installé tout configuré, pour charger la page, vous devriez pas avoir de problème. Vous vous rendez sur Items, ça, ça fonctionne, puis enfin vous vous rendez sur Item. Et là vous allez voir c'est génial, on doit être authentifié, donc comment on doit être authentifié ? On est redirigé à la Route de login. Et si j'ai envie de m’inscrire, j'ai une route, c'est la route Register, qu'on a là, qui permet de s'inscrire. C'est parfait, on peut tout faire. Si vous voulez essayer de créer un compte, vous essayez : test@test.com, password, test aussi, allez on confirme, on registère. Voilà, on va être dirigé vers la confirmation, pensez bien que tous ces templates-là vous pourrez les mettre à jour, plus tard, ah. Donc là on va simplement revenir en arrière, et maintenant regardez j'ai le droit d’accéder Item, parce que je suis authentifié, génial. Pensez que le lien pour le ce logout, il se trouve aussi ici, directement dans la barre de Debug. Bah, vous pourrez aussi l’intégrer, ah directement. Donc là si je logoute et que je retourne sur Item, maintenant je vais pouvoir m'identifier : test, c'est l'utilisateur, le user name c'est parti, on s'authentifie. Maintenant on est bien authentifié en test. Bon bah écoutez, c'est nickel, ça veut dire que là avec cette technique-là vous avez toute une possibilité et bien de venir travailler des utilisateurs avec un seul Bundle et c'est suffisant. Si vous voulez revoir toutes les étapes, n’hésitez pas regardez la doc, ce n'est qu'une succession, je voulais faire en vidéo, parce que c'est quand même plus simple, quand on a quelqu'un qui l'explique, plutôt que de tout lire. C'est comme ça que ça marche, ah il faut juste venir différencier les différents informations. Pensez à autre chose aussi, ici , il y a les rôles, bon, pour le moment on n'en a pas, c'est le role_user de base. Mais on a la possibilité de s'amuser avec ça. Pensez que vous pouvez aussi au travers de la console venir créer des utilisateurs. Il y a une commande pour créer des utilisateurs, qui existent en console, bah, on va remonter un petit peu. Une fois que vous avez installé Fos, vous pouvez activer ou désactiver des utilisateurs, et surtout vous pouvez les promote ou les demote, c'est à dire ajouter ou supprimer un rôle en utilisateur. Ça ça vous le permet, si non faudra que dès une action, faire quelque chose de propre pour ajouter des Roles. Sur votre utilisateur vous avez des méthodes pour ajouter des Roles. Si vous regardez addrole, voilà, ça vous permet d'ajouter un rôle à l’utilisateur, vous le récupérez en base et vous faites là un role. Allez, maintenant on va voir comment et bien on va pouvoir s'amuser un petit peu avec cet utilisateur. Est-ce que je peux avoir un bouton quelque part pour travailler dessus ? Et est-ce que je peux le vérifier dans le template ?

Créer un gestionnaire de collections avec Symfony3

Développez une application de gestion de ressources avec Symfony. Prenez en main le DQL (Doctrine Query Language) ainsi que les formulaires, la sécurité, les tests, etc.

2h12 (25 vidéos)
bon tuto
baptiste f.

Votre video est au top, un grand merci pour votre travail.

 
Logiciel :
Spécial abonnés
Date de parution :19 avr. 2016

Votre formation est disponible en ligne avec option de téléchargement. Bonne nouvelle : vous ne devez pas choisir entre les deux. Dès que vous achetez une formation, vous disposez des deux options de consultation !

Le téléchargement vous permet de consulter la formation hors ligne et offre une interface plus conviviale. Si vous travaillez sur différents ordinateurs ou que vous ne voulez pas regarder la formation en une seule fois, connectez-vous sur cette page pour consulter en ligne les vidéos de la formation. Nous vous souhaitons un excellent apprentissage avec cette formation vidéo.

N'hésitez pas à nous contacter si vous avez des questions !