Nous mettrons à jour notre Politique de confidentialité prochainement. En voici un aperçu.

Découvrir API Platform

Gérer les utilisateurs avec FOSUserBundle

Testez gratuitement nos 1341 formations

pendant 10 jours !

Tester maintenant Afficher tous les abonnements
Vous allez installer le plug-in FOSUserBundle. Très répandu, ce module vous permet de gérer les utilisateurs d'applications, en toute simplicité.
07:02

Transcription

Il existe des plug-ins qui sont fortement intéressants et qui vont nous permettre de travailler et d'apporter plus de fonctionnalités à notre API Plateform de base. Le premier va nous permettre de voir comment on intègre un bundle mais il y a plein de bundles qui existent. En réalité, vous pouvez utiliser tous les bundles qui existent pour Symphonie 3. FOSUser Bundle est un bundle qui va vous permettre d'obtenir la gestion des utilisateurs. Bien sûr, l'installation est un petit peu longue, il y a pas mal de choses à faire. On vous montre quelques informations, on vous dit comment l'utiliser. Il va falloir, quoiqu'il arrive, pour l'utiliser, l'installer. Il faut installer ce plug-in et une fois qu'il sera installé vous allez pouvoir très facilement utiliser la gestion des utilisateurs puisque vous allez avoir un User Manager qui va vous permettre de créer, de supprimer, de faire ce que vous voulez. Comment est-ce qu'on va installer un bundle sur API Platform ? Eh bien, on va simplement aller sur le FOSUser Bundle et puis, par exemple, pour celui-là, on va l'installer. Ça va être très simple, on va suivre la documentation de l'installation et, pour avoir la documentation, on a un lien, ici. Comment on démarre ? C'est assez simple, on va faire une installation avec composant. Vous allez utiliser cette commande qui est la commande d'installation. On va utiliser la commande d'installation pour faire un Require au travers du « composer » du « User Bundle » et puis après, on va avoir un peu de configuration, il va falloir rajouter le bundle, une fois installé, à notre application, ensuite, il va falloir créer une classe utilisateur, et sur cette partie-là, sur la création de la classe utilisateur, on vous met déjà, ici, ce qu'on appelle un « bridge », c'est-à-dire une entité particulière que l'on va pouvoir créer et cette entité va être déjà créée pour vous. Donc il faudra utiliser celle-ci et pas celle de la documentation. L'idée c'est d'avoir cette installation qui se termine. Dès qu'elle va être terminée, on va pouvoir enchaîner sur la configuration, c'est toujours comme ça que vous devez faire. Vous devez attendre qu'un plug-in termine son installation pour pouvoir enchaîner. Si vous venez faire le Require qui se trouve ici et que vous enregistrez avant d'avoir fait l'installation, vous risquez d'avoir un petit problème. Maintenant, ça s'est installé, aucun problème, on va pouvoir enchaîner, on va aller dans notre AppKernel qui est toujours ouvert, et on va rajouter FOSUser Bundle. Une fois que s'est fait, il faut créer une nouvelle identité User. Nous, cette entité User, en réalité, on l'a déjà. On va simplement adapter, avec ce qu'on nous propose, c'est-à-dire récupérer cette partie-là qui est l'exemple qu'on nous propose. On va tout récupérer, tout ce qui se trouve là et on va venir remplacer notre code, ici. Vraiment tout notre code, on va remonter jusqu'en haut, on va supprimer ça et on va le remplacer par leurs informations. Vous remarquerez qu'ici on a déjà le « fullname » donc, ce que l'on va faire c'est que la getFullname qu'on a là, on a plus besoin de l'utiliser, on va simplement la supprimer. Comme ça, on pourra récupérer les informations facilement. Bien sûr, il va falloir mettre à jour notre schéma de base de données. Pour mettre à jour la base de données, vous vous souvenez ? On a ici une méthode qui est « schema:update », on va utiliser « update -- force », ça va mettre à jour directement. On vous dit, par contre, que là, vous avez un petit problème, le « db_driver » n'est pas configuré, il faut absolument configurer cette partie-là. Ce n'est pas très grave, on va descendre un petit peu, il y a de la configuration à rajouter, évidemment. La configuration à ajouter, on vous dit qu'il va il y avoir un petit peu de configuration au niveau de la table, etc. Regardez tout en haut, vous verrez qu'ici, il y a de la normalisation, pas mal d'information ajoutée automatiquement, vous allez avoir besoin de récupérer quelques petites informations pour que doctrine puisse fonctionner proprement, il lui faut, en l'occurrence, le « table », que le « table » n'est pas ajouté d'origine, donc vous allez lui mettre que la table, c'est FOSUser pour stocker votre utilisateur et vous allez avoir besoin, en descendant encore un petit peu, d'ajouter des configurations parce que pour FOSUser, il vous faut tout cette configuration-là. Donc, dans le « config.yml », vous allez rajouter ça, simplement en disant que le « db_driver », c'est l'« orm », c'est l'entité « AppBundle\Entity\User », le « firewall » on va le laisser comme ça et vous allez simplement relancer. Là, il va vous dire que vous avez besoin d'une adresse, le FOSUser Email etc adresse, donc là, c'est des paramètres que vous allez devoir référencer aussi. Le « from_email » qu'on a là, vous pouvez mettre les valeurs en dur, si vous le souhaitez, on peut mettre « test@test », et pour le « sender », pareil, « test@test ». L'idée étant simplement d'installer sur Bundle et de faire en sorte que ce Bundle fonctionne, là, on va simplement retourner sur la console et on relance. Vous verrez que c'est un petit peu du pas à pas, vous allez avoir besoin, à chaque fois, de récupérer des informations. Si vous avez les mêmes erreurs que moi, elle seront logiques. C'est tout simplement parce que vous allez essayer de référencer des informations sur votre utilisateur et vous avez déjà des informations en base. Le plus simple pour vous va être de supprimer la base. De faire un « database:drop », ça va supprimer votre base, toujours pareil, avec « --force ». vous allez devoir recréer la base de données, avec Create, à ce moment-là, vous allez pouvoir repousser le schéma. Pour cette fois-ci, vous pourrez carrément faire un « schéma:create ». Il y a un petit peu, à chaque fois, de fonctionnalités à remettre en place, mais c'est normal, quand vous allez installer un bundle, c'est toujours ce qu'il va se passer. Vous devriez vous retrouver avec le UserID, ici, cette table FOSUSer qui va apporter beaucoup de fonctionnalités. La dernière chose qu'on va devoir mettre en place, ça va être le « firewall » qui, pour le moment, n'existe pas, il y a un « firewall » chez eux, il y a un « access control » sur pas mal de choses, on est pas obligés de le mettre en place réellement parce qu'avec les rôles, etc, ce sont des choses que vous pouvez voir plus tard. Mais en tout cas, ici, on va déjà pouvoir faire de la gestion d'utilisateur, maintenant, je vais vous montrer comment créer comment manager ces utilisateurs, on a surtout à utiliser FOSUser Bundle avec API Platform. Rechargez également votre doc API, parce que, pour le coup, elle va changer un petit peu, les « user » vont changer un petit peu, vous verrez que dans « User », vous allez récupérer « email », « fullname » et « username » en « Get », et le poste va changer un petit peu aussi, parce que, pour le poste, il y a aura pas mal de choses à fournir si l'on veut en créer un, tout ça, c'est des enveloppes, cette enveloppe a changé, il faut vraiment que vous regardiez comment ça a été fait. parce que c'est un petit peu différent. En tout cas, maintenant, vous bénéficiez d'un bundle pour gérer les utilisateurs et l'installation d'un plug-in d'un bundle, ce n'est pas compliqué.

Découvrir API Platform

Prenez en main le framework API Platform. Voyez comment effectuer sa configuration, créer des services web de données, et réalisez ainsi efficacement une application complète.

3h24 (54 vidéos)
Aucun commentaire n´est disponible actuellement
 

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 !