{"id":16139,"date":"2023-11-22T20:23:34","date_gmt":"2023-11-22T20:23:34","guid":{"rendered":"https:\/\/www.directimpactsolutions.com\/notifications-laravel-pour-des-emails-simplifies\/"},"modified":"2025-05-01T04:43:02","modified_gmt":"2025-05-01T04:43:02","slug":"notifications-laravel-pour-des-emails-simplifies","status":"publish","type":"post","link":"https:\/\/www.directimpactsolutions.com\/fr\/notifications-laravel-pour-des-emails-simplifies\/","title":{"rendered":"Notifications Laravel pour des emails simplifi\u00e9s"},"content":{"rendered":"<p>Si vous envisagez d&rsquo;envoyer des emails via Laravel, vous tomberez certainement sur des informations concernant <a href=\"https:\/\/laravel.com\/docs\/10.x\/mail\" target=\"_blank\" rel=\"noreferrer noopener\">Laravel Mail<\/a>. Et pour cause : c&rsquo;est une solution puissante pour l&rsquo;envoi d&#8217;emails. Toutefois, notre exp\u00e9rience a r\u00e9v\u00e9l\u00e9 une m\u00e9thode encore plus simple : les <a href=\"https:\/\/laravel.com\/docs\/10.x\/notifications\" target=\"_blank\" rel=\"noreferrer noopener\">Notifications Laravel<\/a>.<\/p><p>Elles ne sont pas seulement faciles \u00e0 utiliser, mais elles contribuent \u00e9galement \u00e0 harmoniser les communications sortantes de votre syst\u00e8me. \u00c0 mon sens, il est regrettable que les notifications Laravel ne soient pas davantage mises en lumi\u00e8re. Pourquoi opter pour les notifications ? Explorons ensemble leurs avantages.<\/p><h2 class=\"wp-block-heading\" id=\"What-is-a-Notification?\" style=\"font-style:normal;font-weight:400\">Qu&rsquo;est-ce qu&rsquo;une notification ?<\/h2><p>Pour rester simple, les notifications sont des messages de base.<\/p><p>Nous cr\u00e9ons typiquement une notification pour chaque type de message qui peut \u00eatre produit par un syst\u00e8me (ex : UserRegistered, InvoicePaid, etc.).<\/p><h2 class=\"wp-block-heading\" id=\"Why-Use-Laravel-Notifications?\" style=\"font-style:normal;font-weight:400\">Pourquoi utiliser les notifications Laravel ?<\/h2><p>Au-del\u00e0 de leur simplicit\u00e9, il y a un certain nombre de raisons de consid\u00e9rer l&rsquo;utilisation des notifications lorsque vous avez besoin d&rsquo;envoyer un email, y compris :<\/p><h3 class=\"wp-block-heading has-ast-global-color-2-color has-text-color\" id=\"Template-Driven-Designs\">Conceptions bas\u00e9es sur des mod\u00e8les<\/h3><p>Votre d\u00e9ploiement Laravel dispose d\u00e9j\u00e0 de mod\u00e8les int\u00e9gr\u00e9s pour les notifications de email.<\/p><p>Ces mod\u00e8les devraient couvrir \u00e0 la fois les email HTML et ceux en texte brut, et ils ont l&rsquo;air bien sans aucune modification. J&rsquo;ai visualis\u00e9 certaines de ces notifications de base sur un certain nombre de clients de messagerie diff\u00e9rents, et j&rsquo;ai \u00e9t\u00e9 impressionn\u00e9 par l&rsquo;ensemble.<\/p><p>Si vous utilisez des mod\u00e8les standard, vous n&rsquo;avez pas besoin de cr\u00e9er un nouveau fichier pour repr\u00e9senter la vue de votre courrier \u00e9lectronique. Il vous suffit d&rsquo;invoquer les fonctions qui d\u00e9terminent l&rsquo;objet et le contenu de votre message. Vous pouvez \u00e9galement personnaliser le style de ces mod\u00e8les.<\/p><p>Si vous avez besoin de quelque chose de plus sophistiqu\u00e9 que la simple sp\u00e9cification d&rsquo;une ligne d&rsquo;objet, du texte du corps et d&rsquo;un bouton d&rsquo;action, ces notifications de email peuvent \u00eatre d\u00e9velopp\u00e9es via Markdown. Le langage Markdown disponible est assez complet et fournit des composants permettant de g\u00e9rer des t\u00e2ches plus avanc\u00e9es, comme l&rsquo;affichage d&rsquo;un tableau.<\/p><h3 class=\"wp-block-heading has-ast-global-color-2-color has-text-color\" id=\"Standardization-of-Communications\">Normalisation des communications<\/h3><p>Bien que cet article soit principalement ax\u00e9 sur l&rsquo;utilisation des notifications pour l&rsquo;envoi de courriels, il convient de souligner que les notifications peuvent \u00e9galement servir \u00e0 d&rsquo;autres fins. Elles peuvent envoyer des SMS par l&rsquo;interm\u00e9diaire de Vonage ou Twilio, envoyer des notifications dans Slack et avoir diverses autres utilisations. En fait, vous pouvez cr\u00e9er votre propre canal de notification ou utiliser ceux que d&rsquo;autres membres de la communaut\u00e9 ont cr\u00e9\u00e9s sur le site Web <a href=\"https:\/\/laravel-notification-channels.com\/\" target=\"_blank\" rel=\"noreferrer noopener\">Laravel Notification Channels<\/a>.<\/p><p>\u00c0 mon humble avis, les notifications sont d&rsquo;autant plus utiles.<\/p><p>Une fois que votre projet commence \u00e0 utiliser les notifications, il peut standardiser la fa\u00e7on dont toutes les communications du syst\u00e8me sont g\u00e9r\u00e9es.<\/p><h3 class=\"wp-block-heading has-ast-global-color-2-color has-text-color\" id=\"Queueable\">Mise en file d&rsquo;attente<\/h3><p>Les notifications Laravel s&rsquo;int\u00e8grent parfaitement avec le syst\u00e8me de mise en file d&rsquo;attente de <a href=\"https:\/\/laravel.com\/docs\/10.x\/queues\" target=\"_blank\" rel=\"noreferrer noopener\">Laravel Queues<\/a>, am\u00e9liorant ainsi significativement l&rsquo;exp\u00e9rience utilisateur de votre site. Gr\u00e2ce \u00e0 cette fonctionnalit\u00e9, vos utilisateurs n&rsquo;ont pas besoin d&rsquo;attendre la fin d&rsquo;un processus pour continuer leur navigation.<\/p><p>Prenons un exemple : les administrateurs souhaitant \u00eatre inform\u00e9s de chaque nouvelle inscription sur leur site. Imaginons que vous soyez un nouvel utilisateur s&rsquo;inscrivant sur ce site. Id\u00e9alement, vous ne devriez pas attendre que les notifications par email \u00e0 l&rsquo;administrateur soient compl\u00e8tement envoy\u00e9es avant de pouvoir vous connecter. En mettant ces emails de notification en file d&rsquo;attente, ils sont exp\u00e9di\u00e9s d\u00e8s que possible, sans retarder votre acc\u00e8s.<\/p><h3 class=\"wp-block-heading has-ast-global-color-2-color has-text-color\" id=\"Storable\">Centralisation et Tra\u00e7abilit\u00e9 des Communications<\/h3><p>Ce point co\u00efncide avec le th\u00e8me de la normalisation des communications. Tirant parti du fait que les notifications peuvent \u00eatre envoy\u00e9es \u00e0 de nombreux canaux diff\u00e9rents, il existe un canal de notification permettant d&rsquo;\u00e9crire des notifications dans la base de donn\u00e9es. Cela peut s&rsquo;av\u00e9rer utile si les utilisateurs de votre syst\u00e8me ont besoin de savoir quelles communications ont \u00e9t\u00e9 envoy\u00e9es. Cette fonctionnalit\u00e9 permet \u00e9galement de renvoyer ces notifications.<\/p><h2 class=\"wp-block-heading\" id=\"How-to-Use-Laravel-Notifications\" style=\"font-style:normal;font-weight:400\">Comment utiliser les notifications Laravel<\/h2><p>Bien que l&rsquo;\u00e9tendue de ce sujet puisse couvrir pas mal de choses, je veux illustrer \u00e0 quel point ces notifications peuvent \u00eatre simples, donc je n&rsquo;irai pas trop en profondeur.<\/p><h3 class=\"wp-block-heading has-ast-global-color-2-color has-text-color\" id=\"Creating-a-New-Notification\">Cr\u00e9er une nouvelle notification<\/h3><p>En ex\u00e9cutant la commande suivante \u00e0 partir de votre ligne de commande (dans le contexte de votre r\u00e9pertoire de projet)<\/p><pre class=\"wp-block-code\"><code><code>php artisan make:notification YourNotificationName -m<\/code><\/code><\/pre><p>cr\u00e9era un nouveau fichier \u2019<strong>VotreNomDeNotification.php<\/strong>\u2019 dans \u2019<strong>app\/Notifications<\/strong>\u2019 qui contiendra tout l&rsquo;\u00e9chafaudage de base pour vous.<\/p><p>La structure de ce fichier est relativement simple ; elle comprend deux types de fonctions principales. L&rsquo;une de ces fonctions s&rsquo;appelle \u2019<strong>via<\/strong>\u2019, et les autres sont nomm\u00e9es en fonction de leur type de canal de notification.<\/p><p>La fonction \u2019<strong>via<\/strong>\u2019 renvoie un tableau de tous les canaux de notification dans lesquels votre notification sera envoy\u00e9e. Vous pouvez vous contenter d&rsquo;une notification simple :<\/p><pre class=\"wp-block-code\"><code><code>return &#91;'mail'];<\/code><\/code><\/pre><p>Ou peut-\u00eatre voulez-vous que votre notification soit envoy\u00e9e par courrier et enregistr\u00e9e dans la base de donn\u00e9es :<\/p><pre class=\"wp-block-code\"><code><code>return &#91;'mail','database'];<\/code><\/code><\/pre><p>Quels que soient les canaux que vous choisissez, ils doivent avoir une <strong>fonction correspondante<\/strong>.<br\/>Par exemple, si je dois envoyer cette notification particuli\u00e8re par e-mail, j&rsquo;aurais alors besoin d&rsquo;une fonction <strong>toMail<\/strong> :<\/p><pre class=\"wp-block-code\"><code><code>public function toMail($notifiable) { return (new MailMessage) -&gt;subject('Subject of the Email') -&gt;line('The introduction to the notification.') -&gt;action('Notification Action', url('\/')) ; }<\/code><\/code><\/pre><h3 class=\"wp-block-heading has-ast-global-color-2-color has-text-color\" id=\"Sending-a-Notification\">Notification via Email avec Laravel<\/h3><p>Laravel inclut un trait \u2018notifiable\u2019 qui est souvent d\u00e9j\u00e0 int\u00e9gr\u00e9 dans votre table \u2018users\u2019.<br\/>Si tel est le cas, Laravel peut automatiquement consulter cette table pour y trouver le champ \u2019email\u2019, permettant ainsi de contacter l\u2019utilisateur par email.<\/p><p>\u00c0 condition que l&rsquo;utilisateur poss\u00e8de une adresse email et que votre syst\u00e8me soit configur\u00e9 pour l&rsquo;envoi d&#8217;emails, adresser un email \u00e0 cet utilisateur devient un processus remarquablement simple :<\/p><pre class=\"wp-block-code\"><code><code>$user-&gt;notify((new YourNotificationName())<\/code><\/code><\/pre><h3 class=\"wp-block-heading has-ast-global-color-2-color has-text-color\" id=\"Customizing-Templates\">Personnalisation des mod\u00e8les<\/h3><p>Si vous souhaitez modifier l&rsquo;aspect des notifications par courriel en HTML\/texte brut, il vous suffit de publier les ressources correspondantes :<\/p><pre class=\"wp-block-code\"><code><code>php artisan vendor:publish --tag=laravel-notifications<\/code><\/code><\/pre><p>L&rsquo;ex\u00e9cution de cette commande exposera les mod\u00e8les dans votre r\u00e9pertoire \u2018<strong>resources\/views\/vendor\/notifications<\/strong>\u2019.<\/p><h2 class=\"wp-block-heading\" id=\"Conclusion\" style=\"font-style:normal;font-weight:400\">Conclusion<\/h2><p>Si, comme moi, vous privil\u00e9giez la concision et l&rsquo;efficacit\u00e9 dans vos emails (et autres formes de notifications), les capacit\u00e9s offertes par les notifications de Laravel devraient largement r\u00e9pondre \u00e0 vos besoins. Je vous encourage vivement \u00e0 les exp\u00e9rimenter, \u00e9tant donn\u00e9 leur simplicit\u00e9 d&rsquo;utilisation. C&rsquo;est l&rsquo;occasion parfaite de mettre en lumi\u00e8re cette fonctionnalit\u00e9 souvent sous-estim\u00e9e de Laravel.<\/p>","protected":false},"excerpt":{"rendered":"<p>Si vous envisagez d&rsquo;envoyer des emails via Laravel, vous tomberez certainement sur des informations concernant Laravel Mail. Et pour cause : c&rsquo;est une solution puissante pour l&rsquo;envoi d&#8217;emails. Toutefois, notre exp\u00e9rience a r\u00e9v\u00e9l\u00e9 une m\u00e9thode encore plus simple : les Notifications Laravel. Elles ne sont pas seulement faciles \u00e0 utiliser, mais elles contribuent \u00e9galement \u00e0 &hellip;<\/p>\n<p class=\"read-more\"> <a class=\"\" href=\"https:\/\/www.directimpactsolutions.com\/fr\/notifications-laravel-pour-des-emails-simplifies\/\"> <span class=\"screen-reader-text\">Notifications Laravel pour des emails simplifi\u00e9s<\/span> Lire la suite >><\/a><\/p>\n","protected":false},"author":7,"featured_media":16021,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"inline_featured_image":false,"_uag_custom_page_level_css":"","site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"","footnotes":""},"categories":[37],"tags":[],"class_list":["post-16139","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-web"],"uagb_featured_image_src":{"full":["https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2023\/11\/Laravel-Notifications_FR-min-scaled.jpg",2560,1706,false],"thumbnail":["https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2023\/11\/Laravel-Notifications_FR-min-150x150.jpg",150,150,true],"medium":["https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2023\/11\/Laravel-Notifications_FR-min-300x200.jpg",300,200,true],"medium_large":["https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2023\/11\/Laravel-Notifications_FR-min-768x512.jpg",768,512,true],"large":["https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2023\/11\/Laravel-Notifications_FR-min-1024x682.jpg",1024,682,true],"1536x1536":["https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2023\/11\/Laravel-Notifications_FR-min-1536x1024.jpg",1536,1024,true],"2048x2048":["https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2023\/11\/Laravel-Notifications_FR-min-2048x1365.jpg",2048,1365,true],"woocommerce_thumbnail":["https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2023\/11\/Laravel-Notifications_FR-min-300x300.jpg",300,300,true],"woocommerce_single":["https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2023\/11\/Laravel-Notifications_FR-min-600x400.jpg",600,400,true],"woocommerce_gallery_thumbnail":["https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2023\/11\/Laravel-Notifications_FR-min-100x100.jpg",100,100,true]},"uagb_author_info":{"display_name":"Matt Leering","author_link":"https:\/\/www.directimpactsolutions.com\/fr\/author\/matt-leering\/"},"uagb_comment_info":0,"uagb_excerpt":"Si vous envisagez d&rsquo;envoyer des emails via Laravel, vous tomberez certainement sur des informations concernant Laravel Mail. Et pour cause : c&rsquo;est une solution puissante pour l&rsquo;envoi d&#8217;emails. Toutefois, notre exp\u00e9rience a r\u00e9v\u00e9l\u00e9 une m\u00e9thode encore plus simple : les Notifications Laravel. Elles ne sont pas seulement faciles \u00e0 utiliser, mais elles contribuent \u00e9galement \u00e0\u2026","_links":{"self":[{"href":"https:\/\/www.directimpactsolutions.com\/fr\/wp-json\/wp\/v2\/posts\/16139","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.directimpactsolutions.com\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.directimpactsolutions.com\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.directimpactsolutions.com\/fr\/wp-json\/wp\/v2\/users\/7"}],"replies":[{"embeddable":true,"href":"https:\/\/www.directimpactsolutions.com\/fr\/wp-json\/wp\/v2\/comments?post=16139"}],"version-history":[{"count":4,"href":"https:\/\/www.directimpactsolutions.com\/fr\/wp-json\/wp\/v2\/posts\/16139\/revisions"}],"predecessor-version":[{"id":21091,"href":"https:\/\/www.directimpactsolutions.com\/fr\/wp-json\/wp\/v2\/posts\/16139\/revisions\/21091"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.directimpactsolutions.com\/fr\/wp-json\/wp\/v2\/media\/16021"}],"wp:attachment":[{"href":"https:\/\/www.directimpactsolutions.com\/fr\/wp-json\/wp\/v2\/media?parent=16139"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.directimpactsolutions.com\/fr\/wp-json\/wp\/v2\/categories?post=16139"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.directimpactsolutions.com\/fr\/wp-json\/wp\/v2\/tags?post=16139"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}