Service Workers
JavaScript 🔴 SeniorDéfinition
Proxy programmable entre l'app et le réseau, tournant en arrière-plan. Intercepte les requêtes fetch pour implémenter du cache offline, des push notifications et la synchronisation en arrière-plan.
Analogie
Un concierge d'hôtel qui intercepte ton courrier : il peut te le remettre du stock (cache) sans appeler le facteur (réseau).
Exemple de code
// sw.js
self.addEventListener('fetch', (e) => {
e.respondWith(
caches.match(e.request)
.then(cached => cached || fetch(e.request))
);
});
// Registration
navigator.serviceWorker.register('/sw.js');
Cas d'usage
PWA offline-first, cache intelligent, push notifications, background sync.
Anti-pattern
Cacher agressivement sans stratégie d'invalidation, affichant des données périmées a l'infini.