Cet article nécessite une relecture rédactionnelle. Voici comment vous pouvez aider.
Les applications web modernes peuvent fonctionner quand le réseau n'est pas fiable, ou même inexistant. Finies les pages blanches d'erreur de connexion ou les dinosaures qui courent dans le désert. Un séparation claire entre l'affichage (UI) et le contenu ainsi qu'un cache hors-ligne et des services workers, vous permettent de stocker les données de l'application et ses dépendances pour les futures utilisations.
Les concepts de base, concernant l'indépendance au réseau, c'est la capacité de :
- Re-visiter un site et accèder à son contenu même quand le réseau n'est pas disponible.
- Naviguer dans tout type de contenu que l'utilisateur a visité au moins une fois auparavant, même dans une situation comme une mauvaise connectivité.
- Contrôler ce qui est affiché à l'utilisateur dans les cas d'absence de connexion.
Guides
- Utiliser les service workers
- Un guide simple pour débutant à l'API Service Worker.
- Utiliser IndexedDB
- Les bases concernant IndexedDB, expliquées en détails.
- Utiliser l'API Web Storage
- L'API Web Storage en toute simplicité.
- Chargement rapide des applications web avec l'architecture App Shell
- Un guide pour utiliser le coding pattern App Shell pour créer des applications qui se chargent rapidement.
Technologies
Technologie | Description | Résumé du support | Dernière spécification |
---|---|---|---|
Service workers | JavaScript fonctionne dans un contexte de travail particulier qui est lancé par le navigateur dans certaines circonstances comme la récupération (fetch) et l'envoi (push) d'évènements. Ceci permet au service worker d'intercepter des réponses et de les personnaliser, de toute les façons que vous le souhaitez, par exemple mettre en cache des ressources pour un usage hors-ligne avant qu'elle ne soit servies. | Expérimental : Chrome et Firefox (plus de détails) | Service Workers |
IndexedDB | Un système de base de données transactionnelle qui permet un stockage complexe de données coté client, contrôlable par JavaScript. | Répandu dans les navigateurs modernes (plus de détails) | Indexed Database API |
Web Storage | Une API simple de stockage de clé/valeurs côté client. | Répandu (plus de détails) | Web Storage (Second edition) |
Outils
- localForage
- Une simple petite bibliothèque Javascript pour rendre vraiment simple la création d'un stockage de données côté client ; utilise par défaut IndexedDB, et se tourne vers Web SQL/Web Storage si nécessaire.
- ServiceWorkerWare
- Un micro-framework similaire à Express pour le développement simple d'un service worker.
- oghliner
- Pas seulement un template mais un outil permettant de déployer des applications web hors-ligne sur GitHub Pages.
- sw-precache
- Un module Node pour générer le code d'un service worker qui va mettre en pré-cache des ressources spécifiques.
- upup
- Un petit script qui vous assure que votre site est toujours présent pour vos utilisateurs.
Voir aussi
- The service worker cookbook
- Une série de très bonnes ressources concernant les services workers, montrant comment implémenter une application web hors-ligne, et plus encore.