Amélioration de la détection du fonctionnement hors connexion des progressive web apps

Penny McLachlan
Penny McLachlan

Les progressive web apps (PWA) sont un modèle qui permet de créer des applications modernes installables à l'aide de la technologie Web pour les appareils mobiles et de bureau.

L'un des critères pour créer une expérience Web moderne, et non des PWA, est que l'application doit continuer à fonctionner même si l'appareil est hors connexion. Cela signifie qu'aucun écran Chrome Dino ne s'affiche si l'utilisateur perd l'accès au réseau sur son appareil.

L'objectif de tous les critères des PWA est de garantir aux utilisateurs une expérience de haute qualité et compétitive lorsqu'ils naviguent sur le Web. Chrome effectue des vérifications par rapport aux critères des PWA avant d'activer la capacité d'installation d'une PWA.

Seules les applications qui répondent à tous les critères fondamentaux d'installation des progressive web apps, y compris la compatibilité avec un mode hors connexion, peuvent être installées sur l'appareil depuis Chrome.

Logique de détection hors connexion précédente

La vérification de l'utilisation hors connexion fait partie des critères d'installation des PWA depuis plusieurs années. Jusqu'à récemment, Chrome ne permettait pas de simuler des requêtes via le service worker. Il était donc impossible de vérifier complètement le comportement hors connexion correct.

Schéma de service worker

Cela signifie que Chrome n'avait pas pu vérifier si le gestionnaire d'événements fetch renvoyait une ressource valide avec HTTP 200 lors de la vérification hors connexion. Chrome a seulement vérifié si le service worker possédait bien un gestionnaire fetch.

Mise à jour de la logique de détection hors connexion

Chrome 89 a ajouté la possibilité d'exécuter des requêtes hors connexion simulées via le service worker, ce qui permet d'améliorer la logique de détection hors connexion afin de mieux refléter la compatibilité hors connexion réelle de l'application.

Nous avions prévu d'utiliser cette nouvelle fonctionnalité pour nous assurer que les PWA fournissaient une page valide en mode hors connexion, mais nous avons mis ces plans en attente. La vérification de l'installation continue de réussir si la page comporte un service worker qui inclut un gestionnaire d'événements fetch.

Quel impact pour les développeurs ?

Bien qu'aucune modification ne soit requise pour le moment, nous vous recommandons vivement de proposer une expérience hors connexion, car nous prévoyons d'utiliser la logique mise à jour pour rechercher une page valide à l'avenir.

C'est à vous de décider du type d'expérience hors connexion que vous souhaitez proposer. D'un côté, l'utilisateur offre une expérience hors connexion entièrement fonctionnelle. Cela signifie que toutes les ressources et données nécessaires sont mises en cache à l'avance, et que les données sont synchronisées avec votre serveur lorsque l'utilisateur est à nouveau en ligne. La mise en cache des ressources contribue également à améliorer les métriques principales Web Vitals, car elle élimine le besoin de télécharger des ressources à partir du réseau à chaque fois. À l'autre bout du spectre se trouve une page de remplacement hors connexion personnalisée.

L'avertissement qui s'affiche dans l'onglet Problèmes des outils pour les développeurs sera supprimé vers Chrome 90.