Pushover - Envoyer des notifications push depuis Drupal 8

Posté le Vendredi 6 octobre 2017 - 06:46
Exemple notification Pushover depuis Drupal 8

Pour d'autres raisons j'ai utilisé le service de Pushover, qui permet d'envoyer des notifications push vers son téléphone mobile. Dans le principe, vous installer l'application sur votre téléphone / tablette (android ou apple) et via une api vous pourrez envoyer une notifications vers un, ou l'ensemble de vos devices.

J'ai aussi créé un module pour intégrer le service et ainsi pouvoir envoyer une notification push depuis son site Drupal 8. Quelle utilité ? À vous de voir, je l'ai personnellement utilisé pour recevoir une notification push en cas de nouveau commentaire ou bien d'alerte critique sur le site.

Le module est sur Github : https://github.com/kgaut/drupal-pushover, on peut l'installer via composer :

# Ajout du dépot
composer config repositories.drupal-pushover vcs https://github.com/kgaut/drupal-pushover
# Téléchargement du module
composer require drupal/pushover

Une fois installé on le configure via le formulaire dans Configuration / Services Web / Pushover Configuration

pushover-drupal-configuration.jpg

Le code pour déclencher une notification est le suivant :

\Drupal::service('pushover.sender')->sendNotification($title, $message, $url = NULL, $url_title = NULL);

Un exemple d'intégration pour envoyer une notification lors d'un nouveau commentaire :

/**
 * Implements hook_HOOK_insert().
 *
 * Send Pushover notification on new comment.
 *
 * @param \Drupal\comment\Entity\Comment $comment
 */
function kgaut_comment_insert(\Drupal\comment\Entity\Comment $comment) {
  $node = $comment->getCommentedEntity();
  $author = $comment->getAuthorName();
  $title = t('Nouveau commentaire sur Kgaut.NET');
  $description = t('@name à posté un nouveau commentaire sur « @post_title »', [
    '@name' => $author,
    '@post_title' => $node->label(),
  ]);
  $url = $node->url('canonical',['absolute' => TRUE]);
  \Drupal::service('pushover.sender')->sendNotification($title, $description, $url, t('Voir le post'));
}

Et voila le résultat :

pushover-notification-small.png

Bon évidement, on doit aussi pouvoir trouver des usages utiles :)

Ça n'est pas du drupal, mais j'ai aussi ajouté une notification quand quelqu'un se connecte en ssh sur mon serveur, je partagerai peut-être le script en question un de ces 4 !

 

Ajouter un commentaire

Ne sera pas publié

HTML restreint

  • Balises HTML autorisées : <a href hreflang> <em> <strong> <cite> <blockquote cite> <code> <ul type> <ol start type> <li> <dl> <dt> <dd> <h2 id> <h3 id> <h4 id> <h5 id> <h6 id>
  • Les lignes et les paragraphes vont à la ligne automatiquement.
  • Les adresses de pages web et les adresses courriel se transforment en liens automatiquement.
CAPTCHA
Désolé, pour ça, mais c'est le seul moyen pour éviter le spam...