Tout le monde connaît les petites fenêtres d’informations qui s’affichent sur nos écrans, les notifications, et elles sont en grande partie envoyées par Internet, depuis des applications backend, pour être reçues sur nos téléphones, tablettes ou ordinateurs.
Les notifications qu’on appelle push (poussée) sont celles qui ont été envoyées par un serveur, alors que les autres ne sont lancées que par les applications de nos appareils. L’avantage de la notification push est qu’elle peut se recevoir tout le temps, même si l’application est fermée.
Pour envoyer des notifications push, les développeurs doivent passer par les services de notifications push (PNS) de Google, Apple ou Microsoft, qui sont gratuits. Le rôle du PNS est de sécuriser les appareils en étant responsable des notifications. Il distribue des jetons d’accès (access token) dans les applications installées, et achemine les notifications envoyées par les serveurs jusqu’aux appareils. Ça permet de s’assurer que l’appareil n’a le droit de recevoir des notifications que de la part d’une application backend autorisée.

Un PNS envoie une notification vers une seule plateforme. Il faudra par exemple contacter deux PNS pour envoyer une notification sur un téléphone Android et Apple. Pour ne pas développer une application backend compatible multi-PNS, on utilisera un service cloud qui s’occupera de contacter les différents PNS. Par exemple Azure Notification Hub, ou Amazon SNS application-to-person (A2P).
Les offres cloud sont scalable en s’adaptant à des milliards de notifications, et apportent d’autres fonctionnalités. Leurs logiques métier permettent d’envoyer des notifications vers un seul appareil, mais aussi à des groupes d’appareils. L’application backend a seulement besoin d’envoyer une notification sur ce groupe pour que le service s’occupe d’envoyer toutes les notifications.
Les PNS ont évolué depuis leurs créations. En 2023, Google a abandonné son ancienne méthode d’autorisation (clé d’API) pour l’accès du backend, et demande maintenant une autorisation OAuth (jeton d’accès à courte durée de vie). Et en 2020, Apple a changé son protocole de communication en HTTP/2 avec les serveurs. Une raison en plus d’utiliser les services cloud.