Skip to main content

Qu’est-ce qu’une Notification

Le système de Notification de Laravel permet d’envoyer des notifications via plusieurs canaux (mail, SMS, Slack, base…) avec une API unifiée. Différences Mail vs Notification Pour envoyer la même information sur plusieurs canaux (ex. confirmation de paiement), Notification est adaptée.

Créer une Notification

Utilisez make:notification.
Le fichier est créé dans app/Notifications/. Il expose via() et les méthodes de génération de message par canal.

Envoi

Trait Notifiable

App\Models\User inclut le trait Notifiable par défaut. Envoyez avec notify().
Notifiable peut être ajouté à n’importe quel modèle, pas seulement User.

Façade Notification

Pour plusieurs destinataires simultanément :
Pour ignorer la queue :

Spécifier les canaux

via() retourne les canaux à utiliser.
Vous pouvez changer selon les préférences utilisateur.
Principaux canaux :

Canal e-mail

toMail() retourne un MailMessage.
Méthodes principales : Pour une erreur, error() colore le bouton en rouge.

E-mails en Markdown

Générez avec --markdown.
Utilisez markdown() dans toMail.

Canal base de données

Le canal database enregistre les notifications en base, pour affichage dans votre UI.

Table

toArray()

Ces données sont sérialisées en JSON dans la colonne data de notifications.

Lire les notifications

Via la relation notifications du trait.
Non lues :

Marquer comme lues

Notifications en queue

Pour les traitements longs, implémentez ShouldQueue et utilisez le trait Queueable. Ils sont inclus par défaut par make:notification.
Un simple notify() met alors automatiquement en file.
Envoi différé :

Envoi vers plusieurs canaux

Il suffit de retourner plusieurs canaux dans via() et de définir les méthodes correspondantes.

Notifications à la demande

Pour envoyer à quelqu’un sans compte : Notification::route().

Récapitulatif

Dernière modification le 13 juillet 2026