Menu

Envoyer une notification anonyme avec Laravel

Publié en Janvier 2021 - Développement web, Logiciel Libre

envoyer-notification-anonyme-laravel

Commençons directement avec un exemple concret. Vous souhaitez publier automatiquement les articles de votre blog sur votre compte Twitter. Vous pouvez pour cela utiliser l'extension Twitter notification channel développé par la communauté Laravel.

Le système de notifications de Laravel permet d'envoyer des notifications à des utilisateurs, ou plus largement, à une classe qui utilise le trait Notifiable.

Dans notre exemple, nous ne souhaitons pas envoyer une notification à un utilisateur en particulier mais simplement publier le message sur Twitter.

Entre en scène les "notifiables anonymes". Cette fonctionnalité n'est pas réellement documentée telle quelle mais elle permet d'envoyer une notification sans préciser d'information particulière qui serait en rapport à un utilisateur et s'utilise comme suit.

Notification::send(
    new AnonymousNotifiable(),
    new PublishArticleNotification($article),
);

On peut voir dans cet exemple de code qu'aucun utilisateur réel n'est donné à la notification, c'est un utilisateur anonyme.

L'avantage de cette technique est de pouvoir utiliser toute la puissance des notifications de Laravel même en ayant pas un utilisateur ciblé. Si vous souhaitez publier un message sur votre page Facebook, rien de plus simple, vous pouvez utiliser l'extension FacebookPoster notification channel et ajouter un nouveau canal à la classe PublishArticleNotification.

Nous utilisons notamment cette fonctionnalité pour publier les décès quotidiens sur les comptes Twitter et Facebook du site deces-en-france.fr.

La classe Notifiable est disponible depuis Laravel 5.5.