- Ajout d'un bouton pour forcer la mise à jour (si coupure internet pdt le dl, il faut tout désinstaller et re-instalter...).

- Pour les grandes bibli, ajouter un visuel que l'appli est en train de charger les données en cache
This commit is contained in:
mathieu
2026-09-10 17:58:27 +02:00
parent e2254e700d
commit dbb103f6db
7 changed files with 108 additions and 178 deletions
+21
View File
@@ -0,0 +1,21 @@
// Échappatoire manuelle au comportement par défaut du service worker (qui attend la fermeture
// de TOUS les onglets avant d'activer une nouvelle version — voir js/mise-a-jour.js) : on
// désinscrit le worker et on vide le Cache Storage qu'il a rempli, puis on recharge. La page
// suivante repart de zéro et réenregistre un worker propre sur les fichiers actuels du serveur.
//
// ⚠️ Ne touche PAS à IndexedDB (cache-hors-ligne.js) : ces instantanés sont les données de
// lecture hors-ligne de l'utilisateur, pas du code périmé — les effacer n'aiderait à rien ici
// et ferait perdre la seule consultation possible sans réseau.
export async function forcerMiseAJour() {
if ('serviceWorker' in navigator) {
const enregistrements = await navigator.serviceWorker.getRegistrations();
await Promise.all(enregistrements.map(enregistrement => enregistrement.unregister()));
}
if ('caches' in self) {
const cles = await caches.keys();
await Promise.all(cles.map(cle => caches.delete(cle)));
}
window.location.reload();
}