Comprendre le Mode Hors Ligne et la Mise en Cache
Comment LobbyFlight fonctionne hors ligne et comment la mise en cache assure l'affichage continu
Comprendre le Mode Hors Ligne et la Mise en Cache
LobbyFlight est conçu pour un fonctionnement 24h/24, 7j/7 dans les halls d'hôtel. Le système de mise en cache intelligent garantit que votre affichage continue à montrer les informations de vol même pendant les interruptions réseau.
Fonctionnement du Mode Hors Ligne
Architecture Service Worker
LobbyFlight utilise un Service Worker - une technologie JavaScript qui s'exécute en arrière-plan et gère la mise en cache.
Avantages :
Qu'est-ce qui est mis en cache ?
| Contenu | Durée de stockage | Fréquence de mise à jour |
| --------- | ------------------- | ------------------------- |
| Fichiers app (HTML, CSS, JS) | Jusqu'à mise à jour | À la version app |
|---|---|---|
| Données de vol | 6 heures | Toutes les 5 minutes |
| Données météo | 2 heures | Toutes les 30 minutes |
| Logo et images | Illimité | Sur changement |
| Configuration | 24 heures | Sur changement |
Comportement Hors Ligne
Quand Internet est Perdu
- Le Service Worker intercepte les requêtes
- Les données en cache sont livrées
- L'utilisateur ne remarque rien
- Barre de statut orange : "Mode hors ligne"
- Les données de vol en cache continuent à s'afficher
- L'heure de dernière mise à jour est affichée
- Avertissement : "Les données peuvent être obsolètes"
- L'affichage continue de fonctionner
- Les utilisateurs sont informés
- Données en cache marquées comme périmées
- Indication claire affichée
- Le système continue de tenter la reconnexion
Reconnexion Automatique
Le système essaie continuellement de restaurer la connexion :
// Logique de reconnexion
function tryReconnect() {
fetch('/api/health')
.then(() => {
showNotification('Connexion restaurée')
refreshData()
})
.catch(() => {
attempts++
const delay = attempts < 30 ? 1000 :
attempts < 60 ? 5000 : 30000
setTimeout(tryReconnect, delay)
})
}Gestion du Cache
Nettoyage Automatique
Le Service Worker effectue un nettoyage automatique :
À la mise à jour de l'app :
Vider le Cache Manuellement
Méthode 1 : Via les DevTools du Navigateur
Méthode 2 : Via la Console JavaScript
// Vider tous les caches
caches.keys().then(names => {
names.forEach(name => caches.delete(name))
})
// Ré-enregistrer le Service Worker
navigator.serviceWorker.getRegistration().then(reg => {
reg.unregister()
window.location.reload()
})Méthode 3 : Actualisation Forcée
Gestion de la Taille du Cache
Limites du navigateur :
Utilisation typique de LobbyFlight :
Dépannage des Problèmes Hors Ligne
Problème : Anciennes Données Affichées
Symptômes :
Diagnostic :
Solutions :
Problème : Mode Hors Ligne Malgré Internet
Symptômes :
Diagnostic :
Solutions :
Problème : Service Worker Ne Charge Pas
Symptômes :
Diagnostic :
// Exécutez dans la Console
navigator.serviceWorker.getRegistrations().then(regs => {
console.log('SWs enregistrés:', regs)
})Solutions :
Problème : Cache Trop Volumineux
Symptômes :
Diagnostic :
// Vérifier la taille du cache
navigator.storage.estimate().then(estimate => {
console.log(`Utilisé: ${estimate.usage / 1024 / 1024}Mo`)
console.log(`Quota: ${estimate.quota / 1024 / 1024}Mo`)
})Solutions :
Bonnes Pratiques pour le Fonctionnement Hors Ligne
Configuration Optimale
Pour réseau stable :
Pour réseau instable :
Préparation pour le Hors Ligne
Avant le déploiement :
Maintenance régulière :
Surveillance
À surveiller :
Seuils d'alerte :