Service worker

Un service worker est un script exécuté par le navigateur en arrière-plan d’un site ou d’une PWA : il met en cache les ressources, permet le fonctionnement hors ligne et reçoit les notifications push.

Mise en contexte

C’est la brique qui transforme un site en application installable. Le service worker intercepte les requêtes : si le réseau répond, il sert le contenu frais ; sinon, il sert ce qu’il a en cache et met en attente les actions à synchroniser.

Nous le configurons selon l’usage : consultation hors ligne d’un catalogue, saisie de terrain synchronisée au retour du réseau, mises à jour transparentes de l’application. Par exemple, la plateforme de transport à la demande de L’agence Écomobilité permet aux transporteurs de saisir sans réseau continu, la synchronisation se faisant ensuite.

Un service worker mal réglé sert des contenus périmés : sa stratégie de cache est testée en recette, en conditions réelles de réseau.

Questions fréquentes

  • Oui, Safari le prend en charge pour le cache, le hors-ligne et, depuis iOS 16.4, les notifications push d’une application installée sur l’écran d’accueil.

  • Le service worker détecte une nouvelle version au chargement et l’installe en arrière-plan. Nous affichons une invitation à recharger quand une mise à jour est prête, pour ne jamais interrompre une saisie.

Poser ma question

Une question sur ce sujet ?

Nous écrire