Aller au contenu principal

Étudiants

Notifications push - Documentation

Recevoir les menus et événements par notification sur son téléphone.

MARIAM peut envoyer des notifications push directement dans le navigateur — sur Android, iOS (Safari 16.4+) et desktop — sans application native à installer.

S’abonner

Rendez-vous sur la page /notifications depuis le menu du site. Acceptez la demande d’autorisation du navigateur, puis choisissez vos préférences :

  • Menu du jour — rappel quotidien avec le menu publié.
  • Événements — alerte J-7 et J-1 avant chaque événement.
  • Notifications test — envoyez-vous une notification pour vérifier que tout fonctionne.

L’abonnement se fait en un clic ; aucun compte n’est nécessaire.

Compatibilité

PlateformeSupport
Android (Chrome, Edge, Firefox)Complet
iOS / iPadOS (Safari 16.4+)Complet (nécessite d’ajouter le site à l’écran d’accueil)
Desktop (Chrome, Edge, Firefox)Complet

Sur iOS, les notifications push ne fonctionnent que si le site est installé en tant que PWA (« Ajouter à l’écran d’accueil »).

Fonctionnement technique

Web Push & VAPID

Les notifications utilisent le protocole Web Push (RFC 8030) avec authentification VAPID. Le serveur génère une paire de clés VAPID ; la clé publique est transmise au navigateur lors de l’abonnement, la clé privée signe les messages côté serveur.

Service Worker

Un Service Worker intercepte les messages push en arrière-plan. L’architecture utilise un SW minimal en développement et Workbox injectManifest en production pour le cache des assets.

Scheduler

Le backend exécute un cron APScheduler (chaque minute) qui :

  1. Détecte les menus publiés du jour et envoie le rappel quotidien.
  2. Vérifie les événements à J-7 et J-1 et envoie les alertes correspondantes.
  3. Nettoie les abonnements expirés ou invalides.

Un verrou distribué Redis garantit qu’une seule instance exécute le scheduler en environnement multi-conteneur.