Hardware FixRecommendedDevice not working? Your driver may be the problemCheck updates for common hardware issues.Fix DriversHalloween DealsAmazon USHalloween week deals: useful picks before month-endAmazon US: current deals, useful picks and tech finds.Check DealsWindows FixRecommendedWindows errors stealing your time? Find the fix fastScan stability, cleanup and performance issues.Fix Now×
FREEDOM251

Freedom251 › Blog › cache navigateur

Mon app servait une ancienne version après le déploiement : le rôle possible du service worker et de `published: false`

By Freedom251 Team · · 6 min read

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Un service worker peut expliquer pourquoi une application continue d’afficher d’anciens fichiers après un déploiement, mais les éléments disponibles ne prouvent pas que `published: false` en soit la cause dans cet incident. Cette valeur apparaît dans un récit distinct sur la publication d’articles importés, pas comme un réglage de service worker. Pour distinguer un worker jamais mis à jour, un worker en attente, un ancien cache d’assets ou un artefact mal publié, il faut comparer ce que le navigateur et le serveur ont réellement utilisé.

Pourquoi une application peut-elle encore servir une ancienne version après un déploiement ?

Un service worker déjà actif ne cède normalement pas la place au nouveau dès que le déploiement a lieu. Le navigateur installe le nouveau worker en parallèle; en règle générale, il attend ensuite que les pages contrôlées par l’ancien worker se ferment avant d’activer le nouveau. Chrome décrit ce cycle de vie, et MDN explique le fonctionnement des service workers.

As an Amazon Associate I earn from qualifying purchases.

Il faut aussi distinguer le worker du document déjà ouvert. L’activation d’un nouveau worker ne réécrit pas rétroactivement la page chargée dans un onglet existant. Un utilisateur qui garde l’application ouverte longtemps peut donc continuer à voir un ancien document, tandis qu’une visite nouvellement ouverte est contrôlée par le worker plus récent.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Quatre pistes à départager

Hypothèse Indice à rechercher Ce que cela suggère
Le worker n’a pas été mis à jour Le contenu du script réellement servi, ses imports, le scope et les requêtes de vérification Le navigateur peut encore recevoir l’ancien script, ou ne pas avoir vérifié la mise à jour comme prévu.
Le nouveau worker attend registration.waiting, les clients encore contrôlés et les onglets restés ouverts Le worker a pu s’installer sans devenir actif.
Le worker renvoie un ancien asset Le gestionnaire fetch, l’URL de la ressource et les caches de Cache Storage Une stratégie de cache peut continuer à sélectionner une ressource ancienne après l’activation.
La livraison ou le build est incorrect Artefact attendu, manifeste de précache, script publié et contenu effectivement servi Le problème peut se trouver avant même le cycle de vie du worker.

Ces mécanismes rendent le service worker plausible comme piste, mais ne permettent pas d’attribuer à lui seul une panne particulière ni de vérifier ici une durée de trois semaines.

Comment vérifier si le nouveau service worker est installé ou en attente

Dans les navigateurs concernés, inspectez l’enregistrement du service worker et notez ses états, son URL et son scope. Le navigateur expose notamment les propriétés active, waiting et installing sur l’enregistrement. Observez également si updatefound se déclenche. La méthode ServiceWorkerRegistration.update(), documentée par MDN, permet de demander une vérification; elle est notamment utile dans une application monopage où les navigations sont rares.

  1. Relevez l’URL et le scope de l’enregistrement pour confirmer que vous examinez le worker qui contrôle la page concernée.
  2. Consignez registration.active, registration.waiting et registration.installing, puis observez si une mise à jour est détectée.
  3. Déclenchez une vérification contrôlée avec registration.update() et suivez le résultat de l’installation. Une promesse d’installation qui échoue — par exemple parce que cache.addAll() ne peut pas récupérer un asset attendu — n’aboutit pas à un nouveau worker actif.
  4. Comparez le script de worker réellement servi en production à l’artefact attendu, octet par octet ou à l’aide de leur empreinte; vérifiez aussi ses scripts importés et les en-têtes HTTP Cache-Control.

Une vérification manuelle qui ne révèle aucun nouveau worker n’a pas la même signification qu’un worker présent dans waiting ou qu’une installation qui échoue. Il faut relever l’état observé plutôt que supposer que « le cache » explique tout.

Rank #2
Sale
HTML and CSS: Design and Build Websites
  • HTML CSS Design and Build Web Sites
  • Comes with secure packaging
  • It can be a gift option

Pourquoi vider le cache ne suffit-il pas toujours ?

Le Cache API utilisé par un service worker est distinct du cache HTTP du navigateur. Vider ou contourner le cache HTTP ne supprime donc pas nécessairement les entrées conservées dans Cache Storage. Une stratégie Cache First peut continuer à renvoyer une ressource stockée, et l’application doit appliquer sa stratégie de mise à jour et supprimer explicitement les anciens caches qu’elle ne veut plus conserver. MDN décrit l’API Cache.

What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Examinez le gestionnaire fetch pour déterminer si l’application utilise Cache First, Network First ou Stale While Revalidate. Vérifiez aussi les chemins du shell applicatif, les noms de caches par version et le code du cycle activate qui nettoie les caches obsolètes. Comparez enfin l’URL précise de l’asset livré : un ancien document encore ouvert et un ancien fichier encore sélectionné par le worker sont deux situations différentes.

Le navigateur a-t-il réellement vérifié le script du worker ?

Les navigateurs vérifient le script du worker lors d’une navigation dans son scope. La vérification compare le contenu du script; une application monopage, avec peu de navigations, peut donc bénéficier d’un appel contrôlé à registration.update() pour provoquer une vérification. Les détails dépendent toutefois du navigateur et de la configuration.

Le paramètre updateViaCache détermine le recours au cache HTTP lors des vérifications du script principal et des scripts chargés avec importScripts(). MDN distingue les valeurs imports, all et none dans sa documentation de updateViaCache. Chrome précise que, depuis Chrome 68, le comportement par défaut contourne le cache HTTP pour le script principal du worker; cela ne permet pas de généraliser à tous les navigateurs, aux scripts importés ou à la configuration de cette application. Chrome détaille ce comportement.

Rank #4
Sale
Web Design with HTML, CSS, JavaScript and jQuery Set
  • Brand: Wiley
  • Set of 2 Volumes
  • A handy two-book set that uniquely combines related technologies Highly visual format and accessible language makes these books highly effective learning tools Perfect for beginning web designers and front-end developers
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

`published: false` bloque-t-il le déploiement ou la mise à jour du worker ?

Un billet de l’Afrotomation Blog publié le 1 août 2026 décrit un cas où des articles importés depuis RSS contenaient un front matter dans body_markdown. La valeur published: false dans ce bloc prévalait sur le champ de publication de l’API; l’auteur explique avoir dû réécrire le front matter du corps pour publier les articles. Le billet de l’Afrotomation Blog concerne donc la publication de contenu éditorial.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Ce récit ne montre pas que la même valeur commande un build d’application, la génération d’un worker, un manifeste de précache ou la livraison de fichiers statiques. Pour établir un lien dans un incident donné, il faudrait suivre le champ à travers la source de données, la conversion du front matter, le filtrage des pages, la génération du manifeste de précache et la publication de l’artefact. Sans ces traces, il serait injustifié de conclure que le worker a servi l’ancienne version à cause de published: false.

Comment enquêter sur l’incident, étape par étape

  1. Confirmez ce qui a été publié. Comparez l’artefact de build attendu, le manifeste, le script de worker et le contenu effectivement servi en production. Vérifiez les octets ou l’empreinte du script, ses imports et les en-têtes de réponse.
  2. Relevez l’état des enregistrements. Dans les navigateurs concernés, consignez l’URL, le scope, les états active, waiting et installing, ainsi que tout événement updatefound. Un appel contrôlé à update() aide à distinguer l’absence de vérification d’un échec d’installation.
  3. Vérifiez le succès de l’installation. Examinez les erreurs de récupération des ressources attendues et les promesses d’installation, notamment celles qui utilisent cache.addAll(). Un échec empêche le nouveau worker de devenir actif.
  4. Suivez la réponse servie à chaque asset. Inspectez le code fetch, la stratégie de cache, les caches par version et leur nettoyage dans activate. Ne confondez pas Cache Storage avec le cache HTTP.
  5. Segmentez les utilisateurs selon leurs sessions. Comparez ceux qui ont gardé un document ouvert avec ceux qui ont fermé puis rouvert l’application. Cette distinction aide à repérer un ancien document encore contrôlé, plutôt qu’un asset ancien sélectionné par le worker.
  6. Tracez le champ éditorial si nécessaire. Si published: false demeure une hypothèse, suivez-le dans toutes les étapes du build et de la publication jusqu’au manifeste et à l’artefact livré. Le champ n’explique l’incident que si ce chemin démontre qu’il a réellement influencé la livraison.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

cache navigateurCache Storagedébogage webdéploiement webservice worker

Leave a Reply

Your email address will not be published. Required fields are marked *

Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Recommended PC Tool
Recommended PC Tool
Windows Errors? Fix Them Before They SpreadFree repair scan
Crashes, No Sound, or Screen Glitches?Free driver scan

Two free Windows tools

One Free Minute Could Fix That PC

Before you go - each of these free tools takes about a minute and tackles what quietly slows a Windows PC down.

Special offer. View Outbyte info, uninstall instructions, EULA, and Privacy Policy.