Google Search s'appuie désormais sur l'API Service Worker pour les recherches répétées
Et promet d'obtenir des résultats parfois deux fois plus vite

Le , par Stéphane le calme, Chroniqueur Actualités
Google Search utilise désormais Service Worker pour mettre en cache les recherches répétées, en chargeant les résultats deux fois plus rapidement. Dion Almaer, directeur de l’ingénierie chez Google, et Ben Galbraith, directeur principal du produit chez Google, ont parlé de cette nouveauté la semaine à Pluralsight Live, à Salt Lake City, dans l’Utah.

Pour rappel, un Service Worker est un script chargé parallèlement aux scripts de votre page et qui va s'exécuter en dehors du contexte de votre page web. Bien que le Service Worker n'ait pas accès au DOM ou aux interactions avec l'utilisateur, il va pouvoir communiquer avec vos scripts via l'API postMessage. Il se place en proxy de votre Web App, interceptant toutes les requêtes serveur et propose par exemple d'y répondre avec un cache ou en récupérant des données du LocalStorage ou d'IndexedDB. Il rend donc votre application disponible offline.


Pour faire plus simple, un Service Worker est un script que votre navigateur exécute en arrière-plan, séparé d'une page Web, ouvrant la porte à des fonctionnalités qui ne nécessitent pas d'interaction avec une page Web ou un utilisateur. Aujourd'hui, ils incluent déjà des fonctionnalités telles que les notifications push et la synchronisation en arrière-plan. À l'avenir, les Service Worker pourront prendre en charge d'autres fonctions, telles que la synchronisation périodique ou le geofencing.

Pendant l’édition 2018 de sa conférence I/O dédiée aux développeurs qui s’est tenue début mai, Google a expliqué que :

« L’introduction de l’API Service Worker est l’une des améliorations les plus significatives du Web de l’histoire récente. Il libère les développeurs du cycle de vie limité des pages, travaillant en arrière-plan pour intercepter les requêtes réseau et gérer les événements entrants pour permettre aux applications Web de fonctionner hors connexion. Avec les Service Worker, votre site peut recevoir des notifications push, synchroniser les données en arrière-plan, etc.


« Apple a déployé un support pour Service Worker dans Safari 11.1 sur iOS et MacOS en mars et Microsoft Edge a déployé un support pour Service Worker la semaine dernière, ce qui signifie que tous les principaux navigateurs modernes prennent désormais en charge la norme. L'utilisation de Service Worker peut être un grand changement pour votre architecture. Pour simplifier, nous avons créé Workbox, qui regroupe de nombreux modèles de travail de service courants et puissants dans une API conviviale. Nous venons de publier la version 3 de cette bibliothèque, construite autour de modules vous permettant d'utiliser uniquement les fonctionnalités dont vous avez besoin ».

Le fait que Google Search utilise également cette API est plutôt logique si on suit le raisonnement de Google quant à l’évolution du Web que Service Worker peut apporter.

« La mission de Google Search est de vous fournir des résultats pertinents aussi rapidement que possible », a déclaré Almaer sur scène. « Ils ont donc investi dans le plus grand déploiement de Service Worker, probablement en étant capable de travailler à la volée et d'obtenir des résultats parfois deux fois plus rapides ».

Les pré-requis pour utiliser Service Worker (développeurs)

Support du navigateur

Les options du navigateur augmentent. Les Service Worker sont pris en charge par Chrome, Firefox et Opera. Microsoft Edge affiche désormais un support public. Il est important de suivre les progrès de tous les navigateurs par rapport aux Service Worker, ceux-ci embarquant diverses fonctionnalités qui ne sont pas forcément prises par les mêmes versions de navigateur. Un peu comme le CSS3 ; lorsque les navigateurs l’ont supporté, certaines fonctionnalités ont pris du temps pour être supportées par les navigateurs à l’instar de la propriété border-radius qui permet de manière très intuitive d'arrondir un ou plusieurs angles d'un élément en indiquant la valeur de l'arrondi souhaité.

Vous avez besoin de HTTPS

Au cours du développement, vous pourrez utiliser Service Worker via localhost, mais pour le déployer sur un site, vous devrez avoir une configuration HTTPS sur votre serveur.

À l'aide de Service Worker, vous pouvez pirater les connexions, fabriquer et filtrer les réponses. Aussi, Matt Gaunt, un ingénieur qui contribue à WebFundamentals, recommande d’enregistrer vos Service Worker uniquement sur des pages servies via HTTPS. Aussi, le navigateur va reconnaître que le Service Worker qu’il reçoit n'a pas été falsifié pendant son parcours sur le réseau.

Source : Google, blog développeurs Google, évolution de la prise en charge des propriétés Service Worker en fonction des navigateurs

Et vous ?

Avez-vous déjà utilisé l'API Service Worker ? Pour quel type de développement ?
Qu'en avez-vous pensé ?
Service Worker, une étape nécessaire dans l'évolution du Web moderne ? Pourquoi ?

Voir aussi :

Google achète des données chez Mastercard pour lier les annonces en ligne aux achats en magasin, afin de fournir des annonces plus pertinentes
Le lazy loading d'images et iframes débarque dans Chrome Canary, pour des vitesses de chargement de pages Web en hausse de 18 à 35 %
Comme Firefox et Chrome, Microsoft Edge se dote du support de WebAuthn, la norme de sécurité visant à mettre fin aux mots de passe sur le Web
Chrome 68 devient la première version du navigateur à marquer les sites HTTP comme étant non sécurisés, et s'accompagne d'autres fonctionnalités
Apple a officiellement commencé le travail pour prendre en charge les Service Workers dans Webkit, bientôt le support des PWA sur Safari ?


Vous avez aimé cette actualité ? Alors partagez-la avec vos amis en cliquant sur les boutons ci-dessous :
Contacter le responsable de la rubrique Accueil