{"id":24575,"date":"2021-05-21T12:20:00","date_gmt":"2021-05-21T09:20:00","guid":{"rendered":"https:\/\/themewp.inform.click\/?p=24575"},"modified":"2021-10-18T02:15:00","modified_gmt":"2021-10-17T23:15:00","slug":"enregistrement-de-l-utilisateur-et-systeme-de-connexion-dans-laravel","status":"publish","type":"post","link":"https:\/\/themewp.inform.click\/fr\/enregistrement-de-l-utilisateur-et-systeme-de-connexion-dans-laravel\/","title":{"rendered":"Enregistrement de l&rsquo;utilisateur et syst\u00e8me de connexion dans Laravel"},"content":{"rendered":"<p>Laravel fournit un syst\u00e8me int\u00e9gr\u00e9 d&rsquo;enregistrement et de connexion des utilisateurs. La plupart des d\u00e9veloppeurs ne connaissent pas ce syst\u00e8me int\u00e9gr\u00e9 (j&rsquo;\u00e9tais aussi l&rsquo;un d&rsquo;entre eux). Quand j&rsquo;ai d\u00e9couvert cette fonctionnalit\u00e9, j&rsquo;ai \u00e9t\u00e9 surpris. Cela permet de gagner beaucoup de temps en cr\u00e9ant un syst\u00e8me de connexion et d&rsquo;enregistrement \u00e0 partir de z\u00e9ro.<\/p>\n<p>Dans cet article, nous \u00e9tudions le syst\u00e8me d&rsquo;enregistrement et de connexion des utilisateurs dans Laravel &#8211; la fonctionnalit\u00e9 int\u00e9gr\u00e9e fournie par Laravel lui-m\u00eame.<\/p>\n<p>Comme nous le savons tous, le processus de connexion et d&rsquo;enregistrement a un flux ci-dessous qui doit g\u00e9n\u00e9ralement \u00eatre int\u00e9gr\u00e9.<\/p>\n<ul>\n<li>L&rsquo;utilisateur cr\u00e9e un compte<\/li>\n<li>Le lien de confirmation sera envoy\u00e9 sur l&rsquo;adresse e-mail de l&rsquo;utilisateur<\/li>\n<li>Une fois que l&rsquo;utilisateur a cliqu\u00e9 sur le lien de confirmation, il est activ\u00e9 sur votre syst\u00e8me.<\/li>\n<li>L&rsquo;utilisateur se connecte \u00e0 votre site Web et peut acc\u00e9der aux pages<\/li>\n<\/ul>\n<p>Toutes les \u00e9tapes ci-dessus sont couvertes dans Laravel. Vous n&rsquo;avez pas besoin d&rsquo;\u00e9crire de code pour construire ce syst\u00e8me de cr\u00e9ation d&rsquo;utilisateurs.<\/p>\n<p>Cela dit, jetons un coup d&rsquo;\u0153il au syst\u00e8me d&rsquo;enregistrement et de connexion des utilisateurs dans Laravel<\/p>\n<h3>Commencer<\/h3>\n<p>Pour commencer, vous devez \u00eatre pr\u00eat avec le projet Laravel. Si vous ne l&rsquo;avez pas, cr\u00e9ez-le en ex\u00e9cutant la commande\u00a0:<\/p>\n<pre><code>composer create-project --prefer-dist laravel\/laravel laravel-dev<\/code><\/pre>\n<p>Ici &lsquo;laravel-dev&rsquo; est le nom du projet Laravel. L&rsquo;utilisateur peut modifier ce nom.<\/p>\n<p>Ensuite, vous devez int\u00e9grer l&rsquo;authentification Laravel. Rendez-vous dans le r\u00e9pertoire racine du projet dans le terminal et ex\u00e9cutez les commandes ci-dessous une par une\u00a0:<\/p>\n<pre><code>composer require laravel\/ui --dev\nphp artisan ui vue --auth\nnpm install &amp;&amp; npm run dev\n<\/code><\/pre>\n<p>Ces commandes cr\u00e9eront des contr\u00f4leurs d&rsquo;authentification comme <code>LoginController.php<\/code>, <code>RegisterController.php<\/code>, etc que vous trouverez dans le <code>app\/Http\/Controllers\/Auth<\/code>r\u00e9pertoire. Il cr\u00e9e \u00e9galement une vue <code>login.blade.php<\/code>, <code>register.blade.php<\/code>sous <code>resources\/view\/auth<\/code>r\u00e9pertoire.<\/p>\n<p>Les commandes ci-dessus cr\u00e9ent \u00e9galement un <code>app.blade.php<\/code>fichier sous <code>resources\/views\/layouts<\/code>r\u00e9pertoire. Cette vue est une mise en page de base pour l&rsquo;application. Il utilise le framework CSS Bootstrap mais l&rsquo;utilisateur peut le personnaliser et modifier le design.<\/p>\n<p>Ex\u00e9cutez la commande de migration qui cr\u00e9era une table &lsquo;users&rsquo; dans votre base de donn\u00e9es.<\/p>\n<pre><code>php artisan migrate<\/code><\/pre>\n<p>Maintenant, si vous ex\u00e9cutez le projet Laravel sur le navigateur, vous verrez les liens pour la connexion et le formulaire d&rsquo;inscription.<\/p>\n<p><a href=\"https:\/\/themewp.inform.click\/wp-content\/uploads\/2021\/04\/post-20530-608200a2d1ee4.png\" data-rel=\"lightbox\"><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/themewp.inform.click\/wp-content\/uploads\/2021\/04\/post-20530-608200a2d1ee4.png\" alt=\"Enregistrement de l&#039;utilisateur et syst\u00e8me de connexion dans Laravel\" ><\/a><\/p>\n<p>A ce stade, les utilisateurs peuvent cr\u00e9er leur compte et se connecter au site. Mais comme je l&rsquo;ai mentionn\u00e9 ci-dessus, avant qu&rsquo;un utilisateur puisse acc\u00e9der au syst\u00e8me, il doit avoir confirm\u00e9 son compte.<\/p>\n<p>Dans l&rsquo;\u00e9tape suivante, nous verrons comment effectuer le processus de v\u00e9rification des e-mails d&rsquo;un utilisateur.<\/p>\n<h3>v\u00e9rification de l&rsquo;E-mail<\/h3>\n<p>Lors de la cr\u00e9ation d&rsquo;un syst\u00e8me d&rsquo;enregistrement, lors de l&rsquo;inscription de l&rsquo;utilisateur, vous envoyez un lien d&rsquo;activation aux utilisateurs. Ce lien d&rsquo;activation sera utilis\u00e9 pour v\u00e9rifier le compte utilisateur. Une fois, l&rsquo;utilisateur clique sur un lien d&rsquo;activation puis nous rendons cet utilisateur actif. En d&rsquo;autres termes, apr\u00e8s avoir v\u00e9rifi\u00e9 le compte, l&rsquo;utilisateur peut parcourir les pages de votre application.<\/p>\n<p>Laravel fournit un syst\u00e8me int\u00e9gr\u00e9 de processus de v\u00e9rification des e-mails pour un utilisateur nouvellement enregistr\u00e9. En utilisant ce syst\u00e8me, un utilisateur enregistr\u00e9 recevra un e-mail avec un lien d&rsquo;activation. Lors de l&rsquo;activation du compte, l&rsquo;utilisateur pourra acc\u00e9der au syst\u00e8me.<\/p>\n<p>Ouvrez le <code>AppUser.php<\/code>fichier et assurez-vous que le mod\u00e8le \u00ab\u00a0utilisateur\u00a0\u00bb impl\u00e9mente le <code>IlluminateContractsAuthMustVerifyEmail<\/code>contrat.<\/p>\n<pre><code>&lt;?php\n\u00a0\nnamespace App;\n\u00a0\nuse IlluminateContractsAuthMustVerifyEmail;\nuse IlluminateFoundationAuthUser as Authenticatable;\nuse IlluminateNotificationsNotifiable;\n\u00a0\nclass User extends Authenticatable implements MustVerifyEmail\n{\n\u00a0\u00a0\u00a0\u00a0...\n\u00a0\u00a0\u00a0\u00a0...\n}<\/code><\/pre>\n<p>Comment \u00e7a marche? Si vous v\u00e9rifiez le fichier de migration, la table &lsquo;users&rsquo; contient une <code>email_verified_at<\/code>colonne. Cette colonne servira \u00e0 v\u00e9rifier si l&rsquo;utilisateur a activ\u00e9 son compte ou non. Si le compte est activ\u00e9, cette colonne doit avoir la date et l&rsquo;heure d&rsquo;activation.<\/p>\n<p>Lorsque vous ex\u00e9cutez la commande d&rsquo;authentification, elle cr\u00e9e une <code>AuthVerificationController<\/code>classe dont la logique est \u00e9crite pour envoyer des liens de v\u00e9rification et v\u00e9rifier les e-mails. Le d\u00e9veloppeur peut v\u00e9rifier ce fichier. Pour enregistrer les routes n\u00e9cessaires pour ce contr\u00f4leur, \u00e9crivez les routes ci-dessous dans le <code>routes\/web.php<\/code>fichier.<\/p>\n<pre><code>Auth::routes(['verify' =&gt; true]);<\/code><\/pre>\n<p>L&rsquo;utilisateur peut prot\u00e9ger ses routes qui devraient \u00eatre derri\u00e8re la connexion. Pour prot\u00e9ger les routes, vous devez appliquer <code>middleware('verified')<\/code>\u00e0 ces routes. Apr\u00e8s cela, ces routes prot\u00e9g\u00e9es ne sont accessibles que par des comptes v\u00e9rifi\u00e9s.<\/p>\n<p>Vous pouvez \u00e9crire le code pour prot\u00e9ger la route comme suit\u00a0:<\/p>\n<pre><code>Route::get('profile', function() {\n\u00a0\u00a0\u00a0\u00a0return '&lt;h1&gt;This is profile page&lt;\/h1&gt;';\n})-&gt;middleware('verified');<\/code><\/pre>\n<p>Si vous souhaitez savoir o\u00f9 rediriger l&rsquo;utilisateur apr\u00e8s v\u00e9rification, ouvrez le <code>AuthVerificationController<\/code>fichier. Le fichier a la variable <code>$redirectTo<\/code>qui sera utilis\u00e9e pour la redirection. Modifiez cet itin\u00e9raire selon vos besoins.<\/p>\n<pre><code>protected $redirectTo = '\/home';<\/code><\/pre>\n<h3>Connexion et inscription de l&rsquo;utilisateur<\/h3>\n<p>Vous \u00eates maintenant pr\u00eat \u00e0 tester le syst\u00e8me de connexion et d&rsquo;enregistrement des utilisateurs. Comme nous traitons du processus d&rsquo;inscription, votre syst\u00e8me devrait pouvoir envoyer un e-mail. Vous pouvez utiliser le serveur SMTP de Gmail pour envoyer des e-mails. Pour plus de d\u00e9tails, lisez notre article <a href=\"https:\/\/themewp.inform.click\/fr\/envoi-d-e-mails-via-le-serveur-smtp-de-gmail-dans-laravel\/\" title=\"Envoi d'e-mails via le serveur SMTP de Gmail dans Laravel\" >Envoi d&rsquo;e-mails via le serveur SMTP de Gmail dans Laravel<\/a>.<\/p>\n<p>D\u00e9marrez le serveur de d\u00e9veloppement local \u00e0 l&rsquo;aide de la commande\u00a0:<\/p>\n<pre><code>php artisan serve<\/code><\/pre>\n<p>Cr\u00e9ez un compte d&rsquo;utilisateur sur la page d&rsquo;inscription ici \u2013 <a href=\"http:\/\/localhost:8000\/register\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">http:\/\/localhost:8000\/register<\/a><\/p>\n<p><a href=\"https:\/\/themewp.inform.click\/wp-content\/uploads\/2021\/04\/post-20530-608200a2d1ee4.png\" data-rel=\"lightbox\"><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/themewp.inform.click\/wp-content\/uploads\/2021\/04\/post-20530-608200a2d1ee4.png\" alt=\"Enregistrement de l&#039;utilisateur et syst\u00e8me de connexion dans Laravel\" ><\/a><\/p>\n<p>Lors de la soumission d&rsquo;un formulaire, vous obtiendrez le lien de v\u00e9rification sur votre e-mail comme suit\u00a0:<\/p>\n<p><a href=\"https:\/\/themewp.inform.click\/wp-content\/uploads\/2021\/04\/post-20530-608200a2d1ee4.png\" data-rel=\"lightbox\"><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/themewp.inform.click\/wp-content\/uploads\/2021\/04\/post-20530-608200a2d1ee4.png\" alt=\"Enregistrement de l&#039;utilisateur et syst\u00e8me de connexion dans Laravel\" ><\/a><\/p>\n<p>Veuillez noter que Laravel vous permet de vous connecter \u00e0 votre compte m\u00eame si vous n&rsquo;avez pas encore v\u00e9rifi\u00e9 le compte. Mais vous ne pouvez pas acc\u00e9der \u00e0 la route prot\u00e9g\u00e9e.<\/p>\n<p>J&rsquo;ai ajout\u00e9 un middleware pour la route <code>profile<\/code>. Sans v\u00e9rifier le compte, si vous essayez de visiter la page <a href=\"http:\/\/localhost:8000\/profile\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">http:\/\/localhost:8000\/profile<\/a>, il redirigera vers l&rsquo; URL <a href=\"http:\/\/localhost:8000\/email\/verify\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">http:\/\/localhost:8000\/email\/verify<\/a>.<\/p>\n<p><a href=\"https:\/\/themewp.inform.click\/wp-content\/uploads\/2021\/04\/post-20530-608200a2d1ee4.png\" data-rel=\"lightbox\"><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/themewp.inform.click\/wp-content\/uploads\/2021\/04\/post-20530-608200a2d1ee4.png\" alt=\"Enregistrement de l&#039;utilisateur et syst\u00e8me de connexion dans Laravel\" ><\/a><\/p>\n<p>Allez-y et v\u00e9rifiez votre compte. V\u00e9rifiez le tableau \u00ab\u00a0utilisateurs\u00a0\u00bb dans la base de donn\u00e9es et vous verrez la <code>email_verified_at<\/code>colonne remplie la date et l&rsquo;heure d&rsquo;activation. Cela signifie que vous avez v\u00e9rifi\u00e9 votre compte avec succ\u00e8s. Vous devriez maintenant pouvoir acc\u00e9der aux routes prot\u00e9g\u00e9es.<\/p>\n<p>J&rsquo;esp\u00e8re que vous comprenez comment utiliser le syst\u00e8me d&rsquo;enregistrement et de connexion des utilisateurs dans Laravel. S&rsquo;il vous pla\u00eet partager vos pens\u00e9es et suggestions dans le commentaire ci-dessous.<\/p>\n<h4>Articles Li\u00e9s<\/h4>\n<ul>\n<li><a href=\"https:\/\/themewp.inform.click\/fr\/integration-de-la-passerelle-de-paiement-authorize-net-dans-laravel\/\" title=\"Int\u00e9gration de la passerelle de paiement Authorize.Net dans Laravel\">Int\u00e9gration de la passerelle de paiement Authorize.Net dans Laravel<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/fr\/comment-creer-un-blog-avec-laravel\/\" title=\"Comment cr\u00e9er un blog avec Laravel\">Comment cr\u00e9er un blog avec Laravel<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/fr\/comment-creer-un-pot-de-miel-pour-lutter-contre-le-spam-de-formulaire-dans-laravel\/\" title=\"Comment cr\u00e9er un pot de miel pour lutter contre le spam de formulaire dans Laravel\">Comment cr\u00e9er un pot de miel pour lutter contre le spam de formulaire dans Laravel<\/a><\/li>\n<\/ul>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">Source d&rsquo;enregistrement:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/artisansweb.net\" class=\"external external_icon\">artisansweb.net<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Dans cet article, nous \u00e9tudions l&rsquo;enregistrement des utilisateurs et le syst\u00e8me de connexion dans Laravel. Laravel fournit ce syst\u00e8me sur l&rsquo;installation. Nous avons juste besoin d&rsquo;\u00e9tendre cette<\/p>\n","protected":false},"author":1,"featured_media":22293,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[497],"tags":[844],"class_list":["post-24575","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-laravel2-4","tag-affiai-fr"],"_links":{"self":[{"href":"https:\/\/themewp.inform.click\/fr\/wp-json\/wp\/v2\/posts\/24575","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/themewp.inform.click\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/themewp.inform.click\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/fr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/fr\/wp-json\/wp\/v2\/comments?post=24575"}],"version-history":[{"count":0,"href":"https:\/\/themewp.inform.click\/fr\/wp-json\/wp\/v2\/posts\/24575\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/fr\/wp-json\/wp\/v2\/media\/22293"}],"wp:attachment":[{"href":"https:\/\/themewp.inform.click\/fr\/wp-json\/wp\/v2\/media?parent=24575"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/themewp.inform.click\/fr\/wp-json\/wp\/v2\/categories?post=24575"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/themewp.inform.click\/fr\/wp-json\/wp\/v2\/tags?post=24575"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}