#code #web #javascript

Il est possible d’envoyer des Push Notifications sur le web, tout comme sur des applications natives standards.

Les Push Notifications sont la combinaison deux technologies : les Push Messages (envoi d’événements d’un serveur vers un navigateur web) et les Notifications (affichage d’une “notification” par l’OS).

Il est possible d’afficher une notification sans Push Message, et, dans le cas des applis, il est possible de recevoir un Push Message sans afficher de Notification. Ce sont donc deux parties séparées, bien que souvent utilisées ensemble. C’est pourquoi on parle de Push Notification quand les deux sont utilisés ensemble.

Pour envoyer une Push Notification sur le web, il faut : 1. Demander la permission a l’utilisateur via l’API JavaScript Notification.requestPermission() 2. Authentifier l’utilisateur auprès d’un Push Service, ce qui est réalisé via la Push API. Si l’inscription est réussie, le navigateur reçois un objet PushSubsription 3. Envoyer les données contenues dans PushSubsription sur le serveur, et les enregistrer dans une database 4. Le webserver n’envoie pas de push notification directement au client, il doit passer par le Push Service, en lui envoyant le contenu de la notifications, ainsi qu’un identifiant du client 5. Côté client, un service worker doit être configuré pour recevoir le push message et déclencher une notification, même si l’utilisateur ne se trouve pas actuellement sur le site web.

La push notification ne peut être reçue seulement si le navigateur est ouvert. Si ce n’est pas le cas, la notification a une durée de vie limitée configurable (time-to-live)

Ce processus a été standardisé par une Internet Engineering Task Force : Generic Event Delivering Using HTTP Push