Chapitre 2
Chapitre 2
Développement du système de
communication et d‘alerte au profit de la
sécurité publique -Chapitre02-
Année Universitaire
2024/2025
Table des matières
Nomenclature vi
ii
EMP Sommaire
Bibliographie 30
iii
Liste des figures
iv
Liste des tableaux
v
Nomenclature
vi
Chapitre I
I.1 Introduction
L’essor des architectures distribuées et des applications en temps réel a conduit à une
évolution significative des systèmes de notification. Ceux-ci jouent un rôle clé dans la
transmission efficace et fiable d’informations aux utilisateurs finaux, qu’il s’agisse de noti-
fications mobiles, de mises à jour système ou d’alertes critiques. Cependant, la conception
d’un système de notification performant repose sur l’intégration de plusieurs composants
interdépendants : un message broker assurant l’acheminement des messages, un serveur
de notification chargé de leur traitement et de leur distribution, ainsi qu’un client lourd
permettant leur réception et leur affichage sur les terminaux utilisateurs.
Ce chapitre se consacre à l’étude approfondie des systèmes de notification existants, en
mettant en lumière leurs avantages et leurs limites. Dans un premier temps, une analyse
critique des solutions actuellement disponibles est menée, mettant en évidence les défis
liés à leur adoption et leurs éventuelles inadéquations aux besoins spécifiques d’un projet
donné. Ensuite, une présentation détaillée des principaux composants d’un système de
notification est réalisée, en s’appuyant sur une comparaison des technologies utilisées pour
leur mise en œuvre. Enfin, une synthèse des choix technologiques retenus est proposée,
justifiant les décisions prises en fonction des critères de performance, de scalabilité et de
flexibilité.
L’objectif de cette étude est d’identifier les solutions les plus adaptées pour construire
un système de notification robuste et évolutif, répondant aux exigences des applications
modernes nécessitant des communications fiables et en temps réel.
I.2.1 Introduction
2
EMP [Link]́néralités sur les systèmes de notification
Pourtant, derrière cette apparente ubiquité se cache une réalité plus nuancée : tous ces
systèmes ne se valent pas. Leur efficacité, leur pertinence contextuelle et leur résonance
auprès des utilisateurs divergent radicalement selon leur conception, leur implémentation
et leur finalité. Certains parviennent à captiver avec une discrète élégance, tandis que
d’autres, par leur intrusivité ou leur manque de finesse, risquent de susciter l’indifférence,
voire l’exaspération.
C’est dans cette optique que cette section entreprend une exploration rigoureuse des ar-
chitectures notificationnelles dominantes, en dévoilant leurs rouages techniques, leurs fon-
dements algorithmiques et leurs répercussions comportementales. Nous ne nous contente-
rons pas d’un simple inventaire descriptif ; nous ambitionnons plutôt de mener une analyse
approfondie, juxtaposant les forces et les faiblesses intrinsèques de chaque approche, afin
d’en révéler les subtilités opérationnelles et les implications ergonomiques. Notre démarche
s’articulera selon une progression méthodique :
- Critique raisonnée : Réflexion approfondie sur les écueils fréquents, les dilemmes
éthiques (notamment en matière de respect de la vie privée) et les arbitrages néces-
saires entre sollicitation et discrétion.
En menant cette investigation, nous cherchons non seulement à élucider les déterminants
d’un système de notification réussi, mais aussi à anticiper les évolutions futures dans un
paysage où l’attention devient une ressource toujours plus rare et précieuse. Ce faisant,
nous posons les jalons d’une réflexion plus large sur l’équilibre délicat entre technologie,
utilité et expérience humaine.
I.2.2 ntfy
3
EMP [Link]́néralités sur les systèmes de notification
utilisateur, Ntfy garantit un contrôle total, une sécurité des données renforcée et une
conformité avec des réglementations telles que le GDPR et l’HIPAA.
Au cœur de son fonctionnement, Ntfy adopte un modèle de publication-abonnement
(pub/sub), où les messages sont envoyés à un sujet spécifique et reçus de manière asyn-
chrone par les abonnés. Cette architecture permet une communication efficace et en temps
réel sans nécessiter de connexions persistantes, optimisant ainsi l’utilisation des ressources.
Ntfy se distingue par sa flexibilité et sa facilité d’intégration, en prenant en charge des
protocoles web standards tels que les APIs RESTful HTTP, les WebSockets et MQTT,
éliminant ainsi la nécessité de bibliothèques propriétaires. Cette approche agnostique en
termes de plateformes permet un déploiement sur des applications web, des appareils
mobiles, des interfaces en ligne de commande (CLI ) et des systèmes IoT.
Les caractéristiques architecturales et opérationnelles de Ntfy offrent plusieurs avan-
tages significatifs :
— CI/CD et automatisation : Permet d’envoyer des alertes en temps réel sur l’état
des builds, les échecs de déploiement et les résultats des tests, facilitant ainsi des
réponses rapides dans les pipelines de développement logiciel.
4
EMP [Link]́néralités sur les systèmes de notification
— HTTP(S) API :
La méthode la plus simple et la plus largement supportée pour publier des messages
consiste à envoyer une requête POST contenant une charge utile, qui peut inclure
du texte, du JSON ou des métadonnées.
5
EMP [Link]́néralités sur les systèmes de notification
— MQTT :
Ce protocole de messagerie pub/sub léger est optimisé pour les appareils IoT à
faible bande passante et est largement utilisé dans les environnements domotiques,
l’automatisation industrielle et les systèmes de télémétrie. Il permet une intégration
transparente avec des plateformes comme Home Assistant, OpenHAB et d’autres
écosystèmes IoT.
— Serveur public : Une version hébergée de Ntfy ([Link]) qui permet aux utilisateurs
d’envoyer et de recevoir des messages sans nécessiter la mise en place d’une infra-
structure propre. Elle constitue une solution rapide et pratique, adaptée aux usages
personnels et aux petites applications.
I.2.3 Gotify
Gotify est un serveur de notifications push open-source conçu pour les utilisateurs
souhaitant un contrôle total sur leur infrastructure de notification sans dépendre de ser-
vices tiers. Contrairement aux alternatives basées sur le cloud telles que Firebase Cloud
Messaging (FCM) et Apple Push Notification Service (APNS), Gotify est entièrement
auto-hébergé, garantissant la confidentialité des données, la sécurité et la conformité avec
les politiques organisationnelles et les réglementations en vigueur. Il offre un mécanisme
6
EMP [Link]́néralités sur les systèmes de notification
léger mais efficace pour les notifications en temps réel, ce qui le rend idéal pour les pi-
pelines DevOps, la surveillance des systèmes, les applications IoT et l’amélioration de la
productivité personnelle.
Principes de conception et objectifs
Gotify a été développé avec un fort accent sur la simplicité, la faible consommation de
ressources et la facilité d’intégration. Les principaux objectifs du système sont les suivants :
— Léger et efficace : Développé en Go, Gotify est optimisé pour une utilisation mini-
male de la mémoire et du processeur, ce qui le rend adapté aussi bien aux serveurs
haute performance qu’aux appareils à ressources limitées.
7
EMP [Link]́néralités sur les systèmes de notification
— Abonné aux messages (Message Subscriber ) : Des clients tels que des navigateurs
web, des applications mobiles ou des outils CLI s’abonnent à des flux de messages
spécifiques et reçoivent des notifications push en temps réel via des WebSockets ou
des requêtes API périodiques.
— WebSockets pour les mises à jour en temps réel : Les clients peuvent établir une
connexion WebSocket avec le serveur Gotify afin de recevoir instantanément des
notifications sans avoir besoin d’un sondage constant.
— Sondage via API : Pour les clients ne prenant pas en charge les WebSockets, Go-
tify propose des points d’accès API permettant de récupérer périodiquement les
messages stockés.
Grâce à ces mécanismes de transport, Gotify garantit une livraison efficace des notifi-
cations, indépendamment des contraintes réseau ou des capacités des clients.
Fonctionnalités de sécurité et mécanismes d’authentification
La sécurité est un aspect fondamental de la conception de Gotify, garantissant que
les notifications restent protégées contre tout accès non autorisé. La plateforme intègre
plusieurs fonctionnalités de sécurité :
— Authentification basée sur des jetons API : Les émetteurs et les abonnés s’authen-
tifient à l’aide de jetons API, garantissant que seules les entités autorisées peuvent
envoyer ou recevoir des messages.
— Contrôle d’accès basé sur les rôles (RBAC ) : Gotify prend en charge plusieurs
utilisateurs avec des autorisations distinctes, permettant aux administrateurs de
définir des niveaux d’accès pour différentes applications.
8
EMP [Link]́néralités sur les systèmes de notification
être sécurisée via HTTPS et TLS, empêchant les attaques de type écoute clandestine
et man-in-the-middle.
— Déploiement basé sur Docker : Gotify propose une image Docker officielle, permet-
tant des déploiements rapides et évolutifs dans des environnements conteneurisés.
— Intégration avec un proxy inverse : Il peut être combiné avec Nginx, Apache ou
Traefik pour la terminaison SSL, l’équilibrage de charge et la gestion des accès.
Le système est conçu pour gérer efficacement un volume modéré de messages, ce qui le
rend adapté aux déploiements de petite et moyenne échelle.
Cas d’utilisation et applications
La polyvalence de Gotify lui permet d’être appliqué dans divers domaines, notamment :
— IoT et domotique
I.2.4 Slack
Slack est une plateforme de collaboration et de messagerie basée sur le cloud qui fournit
une communication en temps réel, le partage de fichiers et l’intégration avec des services
tiers. Elle est largement utilisée dans les environnements d’entreprise, les équipes de dé-
veloppement et les configurations de travail à distance pour optimiser la communication
interne et l’automatisation des flux de travail. Contrairement aux systèmes de notifica-
tion auto-hébergés tels que Gotify, Slack fonctionne comme un service géré, offrant une
infrastructure évolutive avec de vastes capacités d’intégration.
Principales fonctionnalités et philosophie de conception
9
EMP [Link]́néralités sur les systèmes de notification
Slack est conçu pour améliorer la collaboration en équipe grâce à des canaux de commu-
nication structurés et des fonctionnalités d’automatisation. Ses principes fondamentaux
incluent :
— Communication basée sur les canaux : Les messages sont organisés en canaux, qui
peuvent être publics, privés ou des messages directs, permettant des discussions
structurées et contextualisées.
— Files d’attente et traitement des messages : Slack utilise des systèmes de traitement
distribué des messages pour gérer efficacement un volume élevé de communications.
— Stockage et indexation des données : Les messages et fichiers partagés sont stockés
de manière sécurisée avec une indexation consultable, permettant une récupération
et une référence aisées.
10
EMP [Link]́néralités sur les systèmes de notification
— Messagerie en temps réel via WebSockets : Assure des mises à jour instantanées
des messages sur les clients connectés.
— Web API basée sur HTTP : Permet aux applications d’envoyer et de récupérer
des messages de manière programmatique.
— Commandes Slash et interactions avec des bots : Offre une communication interac-
tive via des automatisations basées sur des bots et des déclencheurs par commandes.
Sécurité et authentification
Slack intègre des fonctionnalités de sécurité avancées pour garantir une communication
sécurisée et la protection des données :
— Authentification via OAuth 2.0 : Assure un contrôle d’accès sécurisé pour les
applications et intégrations tierces.
— CI/CD et pipelines DevOps : Fournit des notifications automatisées sur les builds
et les déploiements pour les équipes de développement logiciel.
11
EMP [Link]́néralités sur les systèmes de notification
I.2.5 Rpush
Rpush est un service de notifications push open-source pour les applications Ruby,
offrant une solution flexible et évolutive pour envoyer des notifications vers plusieurs pla-
teformes, y compris Apple Push Notification Service (APNS ), Firebase Cloud Messaging
(FCM ) et d’autres services tiers. Contrairement aux services de notifications gérés, Rpush
permet un contrôle total de l’infrastructure de messagerie, ce qui le rend adapté aux ap-
plications nécessitant confidentialité, personnalisation et intégration directe avec une base
de données.
Principales fonctionnalités et philosophie de conception
Rpush est conçu pour s’intégrer de manière transparente avec Ruby on Rails et d’autres
applications basées sur Ruby, offrant :
— Files d’attente de messages : Les notifications sont mises en file d’attente et traitées
de manière asynchrone pour éviter les goulots d’étranglement dans l’application.
— Stockage persistant : Utilise ActiveRecord ou d’autres bases de données basées sur
ORM pour stocker les notifications et permettre le suivi et les mécanismes de relance.
— Travailleurs de livraison : Des processus en arrière-plan récupèrent les notifications
en file d’attente et les envoient aux services push correspondants.
— Mécanisme de retour d’information : Reçoit des retours d’APNS/FCM concer-
nant les jetons d’appareils invalides ou expirés, optimisant ainsi la distribution des
12
EMP [Link]́néralités sur les systèmes de notification
messages.
— GCM (Legacy Google Cloud Messaging ) : Compatible avec les anciens appa-
reils Android utilisant encore GCM.
Sécurité et authentification
Rpush intègre des mesures de sécurité avancées pour garantir l’intégrité des notifications
envoyées :
— Chiffrement TLS : Assure une communication sécurisée avec les serveurs APNS et
FCM.
— Authentification par certificat : Utilise des certificats APNS délivrés par Apple
pour la messagerie iOS.
— OAuth 2.0 pour FCM : Requiert des clés API et des jetons d’authentification
pour l’envoi de notifications.
— Notifications d’applications mobiles : Envoie des alertes et des mises à jour aux
utilisateurs sur les appareils iOS et Android.
13
EMP [Link]́néralités sur les systèmes de notification
Stratégies de déploiement
Rpush peut être déployé dans différentes configurations en fonction des besoins d’évo-
lutivité et d’infrastructure :
— Mode autonome : Fonctionne comme une tâche en arrière-plan au sein d’une appli-
cation Ruby.
Iris Server est un serveur de notification open-source avancé conçu pour la messagerie
et l’alerte haute performance. Il est conçu pour gérer des charges de travail de notifications
en temps réel et à grande échelle, ce qui en fait un choix privilégié pour les applications
d’entreprise, les systèmes de surveillance et les architectures pilotées par les événements.
En prenant en charge plusieurs protocoles de communication et en garantissant des me-
sures de sécurité robustes, Iris Server fournit une infrastructure de notification évolutive
et fiable.
Principales fonctionnalités et philosophie de conception
Iris Server est conçu pour offrir un système de notification flexible, modulaire et efficace
avec les caractéristiques clés suivantes :
— Messagerie multi-canaux : Prend en charge les emails, les SMS, les notifications
push et la messagerie en temps réel via WebSockets et MQTT.
— Architecture pilotée par les événements : S’intègre avec des sources d’événements
telles que les outils de surveillance, les journaux d’application et les infrastructures
cloud.
14
EMP [Link]́néralités sur les systèmes de notification
Sécurité et authentification
Iris Server intègre plusieurs couches de sécurité pour protéger la communication et
garantir l’intégrité des données :
15
EMP [Link]́néralités sur les systèmes de notification
— Authentification par clé API : Contrôle l’accès aux points de terminaison API.
— OAuth 2.0 et JWT : Prend en charge l’authentification basée sur des jetons pour
les intégrations externes.
— Contrôle d’accès basé sur les rôles (RBAC ) : Restreint l’accès en fonction des
rôles et des permissions des utilisateurs.
— DevOps et pipelines CI/CD : Notifie les équipes sur l’état des déploiements, les
échecs de compilation et les résultats des tests.
Stratégies de déploiement
Iris Server peut être déployé selon différentes approches en fonction des besoins en
infrastructure :
— Intégration serverless : Peut être intégré avec AWS Lambda, Google Cloud Func-
tions ou Azure Functions pour une exécution pilotée par les événements.
Pushover for Desktop est un système de notification optimisé et efficace, conçu pour
les utilisateurs nécessitant des alertes en temps réel sur leur ordinateur. Il offre un moyen
16
EMP [Link]́néralités sur les systèmes de notification
simple mais puissant de recevoir des notifications provenant de diverses applications, ser-
vices et flux d’automatisation directement sur les environnements de bureau. L’application
de bureau Pushover étend les fonctionnalités de sa version mobile tout en garantissant
une compatibilité multiplateforme fluide et une livraison fiable des messages.
Principales fonctionnalités et philosophie de conception
Pushover for Desktop est conçu pour offrir une expérience de notification légère et
hautement réactive avec les caractéristiques clés suivantes :
— Notifications push instantanées : Livre les messages en temps réel aux utilisateurs
de bureau, garantissant des mises à jour et alertes opportunes.
— Support multiplateforme : Disponible sur Windows, macOS et Linux via une inter-
face web et des intégrations natives.
— Intégration avec des services tiers : Fonctionne de manière fluide avec des outils
d’automatisation comme IFTTT, Zapier et des plateformes de surveillance telles
que Nagios et Prometheus.
— Priorisation et personnalisation des messages : Prend en charge les notifications
normales, prioritaires et d’urgence, permettant aux utilisateurs de gérer efficacement
les niveaux d’alerte.
— Communication sécurisée et fiable : Utilise le chiffrement TLS pour la transmission
des données et un système de mise en file d’attente basé sur le cloud pour garantir
une livraison fiable.
17
EMP [Link]́néralités sur les systèmes de notification
— REST API : Permet aux applications d’envoyer des notifications via des requêtes
HTTP(S) POST avec des charges utiles structurées.
— WebSockets : Fournit une connexion persistante pour la livraison instantanée des
messages push aux clients de bureau.
— Passerelle Email-to-Push : Convertit les emails en notifications push pour les
utilisateurs souhaitant recevoir des alertes basées sur les emails.
Sécurité et authentification
Pour garantir la confidentialité et la sécurité des données, Pushover for Desktop implé-
mente les mesures suivantes :
Stratégies de déploiement
Pushover for Desktop peut être déployé de plusieurs manières pour répondre aux dif-
férents besoins des utilisateurs :
— Accès via le web : Aucune installation requise ; les utilisateurs peuvent recevoir des
notifications via le client web Pushover.
— Applications de bureau natives : Offrent des fonctionnalités supplémentaires telles
que les notifications dans la barre système et la mise en cache des messages hors
ligne.
18
EMP [Link]́néralités sur les systèmes de notification
— Intégration pilotée par API : Permet aux entreprises et aux développeurs d’intégrer
Pushover dans leurs applications pour une gestion fluide des notifications sur bureau.
Pour assurer une comparaison structurée, les critères suivants sont utilisés :
— Adéquation aux cas d’usage : Adaptation aux usages personnels, aux environne-
ments d’entreprise, à l’IoT ou à l’automatisation DevOps.
Le tableau suivant fournit une vue d’ensemble des performances de chaque système de
notification selon ces critères.
19
EMP [Link]́néralités sur les systèmes de notification
Scalabilité et performance Les systèmes comme Iris Server et Slack offrent une haute
scalabilité grâce à leur architecture distribuée et à leur infrastructure de niveau entreprise.
En revanche, les solutions auto-hébergées comme Gotify et Rpush conviennent mieux aux
déploiements de plus petite envergure avec des besoins de messagerie modérés.
Sécurité et confidentialité Pour les organisations mettant la sécurité et la conformité
au premier plan, ntfy et Iris Server offrent des mécanismes de chiffrement et d’authenti-
fication avancés. Les solutions basées sur le cloud comme Slack et Pushover reposent sur
l’authentification OAuth et le chiffrement TLS, mais peuvent ne pas convenir aux envi-
ronnements hautement sensibles où la souveraineté des données est un critère critique.
Intégration et extensibilité Slack et Pushover offrent des intégrations poussées avec des
applications tierces, ce qui les rend idéaux pour l’automatisation des processus métier et
la collaboration en entreprise. Gotify et Rpush, bien qu’efficaces, offrent une extensibilité
plus limitée et nécessitent une personnalisation supplémentaire pour des flux de travail
avancés.
Adéquation aux cas d’usage
Usage personnel et petites équipes : Gotify et ntfy sont idéaux pour les particuliers
ou petites équipes cherchant une solution simple et auto-hébergée.
Communication et collaboration en entreprise : Slack excelle dans les environnements
de travail collaboratif avec des fonctionnalités de messagerie intégrées.
Notifications mobiles : Rpush est spécifiquement conçu pour les applications mobiles,
avec une intégration native aux services APNS et FCM.
Automatisation IoT et surveillance système : ntfy et Pushover conviennent parfaite-
ment aux flux d’automatisation et aux alertes d’infrastructure.
Déploiements à grande échelle : Iris Server est optimal pour les organisations ayant
des exigences de haute disponibilité et de messagerie distribuée.
20
EMP [Link]́néralités sur les systèmes de notification
Le message broker agit comme un intermédiaire entre les éditeurs et les abonnés de
messages, assurant un acheminement et une livraison efficaces des messages. Il fonctionne
selon les principes des modèles de messagerie publish-subscribe (pub/sub) ou point-to-point,
en fonction des exigences du système.
Architecture et Conception Un message broker adopte généralement une architecture
distribuée afin de garantir la tolérance aux pannes, l’évolutivité et une haute disponibilité.
Parmi les message brokers les plus couramment utilisés, on trouve RabbitMQ, Apache
Kafka et NATS. Ces brokers gèrent les files d’attente de messages et les topics, permettant
ainsi une communication asynchrone entre les composants distribués.
— Message Queuing : Les messages sont temporairement stockés dans des files d’at-
tente jusqu’à ce qu’ils soient traités ou consommés par les abonnés.
— Topic-based Routing : Dans un modèle pub/sub, les messages sont classés sous
des topics, permettant à plusieurs consommateurs de recevoir des mises à jour en
fonction de leur abonnement.
21
EMP [Link]́néralités sur les systèmes de notification
— AMQP (Advanced Message Queuing Protocol) : Utilisé par RabbitMQ pour une
messagerie robuste et de niveau entreprise.
Fonctionnement d’un Message Broker Un message broker fonctionne selon les étapes
suivantes :
3. Le broker distribue ensuite le message aux abonnés qui se sont inscrits à ce topic ou
à cette file d’attente.
4. Si un abonné est hors ligne, le broker peut persister le message jusqu’à ce que
l’abonné se reconnecte.
— Réception des Messages : Accepte les messages provenant de diverses sources telles
que les APIs, les événements système ou les actions des utilisateurs.
— Gestion des Files d’Attente : Travaille en collaboration avec le message broker pour
gérer la priorité, l’expiration et la relance des messages.
22
EMP [Link]́néralités sur les systèmes de notification
— [Link] Core avec SignalR : Fournit des notifications en temps réel sur des
architectures évolutives.
— Java Spring Boot avec intégration Kafka : Utilisé pour les systèmes de mes-
sagerie d’entreprise.
Un thick client, également appelé heavy client, est une application logicielle installée
sur l’appareil d’un utilisateur qui interagit directement avec le notification server pour
recevoir et traiter les notifications.
Caractéristiques et Architecture Contrairement aux thin clients, qui reposent sur des
interfaces web, les thick clients possèdent des capacités de traitement intégrées, offrant
des avantages tels que :
— Support Hors Ligne : Peut mettre en file d’attente et stocker localement les messages
lorsque l’appareil est déconnecté.
— Interface Utilisateur Avancée : Offre une expérience plus riche et interactive par
rapport aux notifications basées sur le web.
— Faible Latence : Établit des connexions persistantes avec le notification server pour
une récupération rapide des messages.
Technologies et Plateformes Les thick clients sont développés en utilisant des techno-
logies spécifiques aux plateformes ou des technologies multiplateformes :
23
EMP [Link]́néralités sur les systèmes de notification
— Clients Mobiles : Construits avec Kotlin (Android), Swift (iOS) ou Flutter pour
une prise en charge multiplateforme.
— Appareils IoT : Utilisent des frameworks pour systèmes embarqués comme FreeR-
TOS et Zephyr RTOS pour les notifications push.
24
EMP [Link]́néralités sur les systèmes de notification
Un notification server est chargé de recevoir les messages du message broker, de les
traiter et de déterminer la méthode de livraison appropriée. Il joue un rôle central dans
la gestion des préférences utilisateur, la priorisation des messages et l’assurance d’une
livraison en temps opportun via divers canaux.
Firebase Cloud Messaging (FCM) FCM est un service de notifications push basé sur
le cloud, proposé par Google. Il permet aux développeurs d’envoyer des messages aux
applications Android, iOS et web. FCM prend en charge la messagerie bidirectionnelle
(upstream et downstream) et s’intègre à d’autres services Google Cloud pour l’analyse
avancée et le ciblage des utilisateurs.
OneSignal OneSignal est une plateforme multi-supports permettant l’envoi de notifica-
tions push, de messages intégrés aux applications et d’e-mails. Elle offre des fonctionnalités
de segmentation, d’automatisation et de tests A/B pour optimiser la livraison des mes-
sages et l’engagement des utilisateurs.
Apache Pulsar Apache Pulsar est un système de messagerie distribué conçu pour les
environnements cloud-native. Il prend en charge la diffusion d’événements et le modèle
publish-subscribe, tout en offrant des fonctionnalités avancées telles que la multi-locataires,
la réplication géographique et le stockage hiérarchisé.
Airship (anciennement Urban Airship) Airship est une plateforme de distribution de
notifications offrant des capacités de messagerie en temps réel sur mobile, web, e-mail
et SMS. Elle propose des fonctionnalités avancées de personnalisation et d’analyse pour
améliorer l’engagement des utilisateurs.
Les thick clients sont des applications installées sur les appareils des utilisateurs qui
maintiennent une connexion persistante avec le notification server pour recevoir et traiter
les notifications. Ils offrent des fonctionnalités avancées telles que le stockage hors ligne
des messages, une interface utilisateur personnalisable et une récupération des messages
à faible latence.
Clients basés sur [Link] [Link] est un framework permettant de développer
des applications de bureau multiplateformes à l’aide des technologies web. Il permet de
créer des applications de notification avec une interface utilisateur avancée et une prise
en charge hors ligne.
25
EMP [Link]́néralités sur les systèmes de notification
26
EMP [Link]́néralités sur les systèmes de notification
WPF/WPFUI a été retenu pour le développement du client, car il permet une person-
nalisation approfondie de l’interface utilisateur, une intégration native avec Windows et
une gestion efficace des threads pour garantir la réactivité de l’application.
Les choix technologiques adoptés reposent sur des critères techniques précis :
I.7 Conclusion
L’analyse des systèmes de notification existants a mis en évidence les atouts et les
limites des solutions actuellement disponibles sur le marché. Bien que des plateformes
comme Firebase Cloud Messaging ou OneSignal offrent des services performants, leur
dépendance à des infrastructures tierces et leurs restrictions en matière de personnalisation
constituent des freins pour certaines applications critiques. De même, les choix de message
broker doivent être adaptés aux besoins spécifiques du système : RabbitMQ s’impose
comme une solution idéale pour les architectures nécessitant une livraison garantie et un
contrôle précis des messages, tandis que Kafka est plus adapté au streaming d’événements
à grande échelle.
L’étude des composants a permis d’établir des critères précis pour le choix des techno-
logies les plus adaptées à un système de notification performant. L’implémentation d’un
serveur de notification en [Link] Core garantit une personnalisation avancée et une
intégration fluide avec des systèmes existants. Pour le développement du client lourd,
WPF/WPFUI s’est révélé être un choix pertinent en raison de ses capacités avancées en
matière d’interface utilisateur et de gestion des notifications en temps réel.
Ainsi, l’architecture définie offre un équilibre optimal entre performance, évolutivité
et maı̂trise technologique. Les choix effectués permettent de construire un système de
notification robuste, adapté aux exigences des applications modernes nécessitant des in-
27
EMP [Link]́néralités sur les systèmes de notification
teractions en temps réel, tout en assurant un contrôle total sur la gestion et la distribution
des messages. Ce cadre théorique pose les bases du chapitre suivant, qui détaillera la mise
en œuvre technique de l’architecture retenue et son intégration au sein d’un environnement
applicatif concret.
28
Bibliographie
30