PGénéral

PWA (Progressive Web App)

Définition complète et explications détaillées

Une PWA, ou application web progressive, est un site web qui utilise des technologies navigateur standard pour se comporter comme une application : installable sur l'écran d'accueil, capable de fonctionner hors ligne et d'envoyer des notifications, tout en restant accessible depuis une simple adresse web.

Le contraste avec une application native est net. Une application native se télécharge depuis un store, pèse plusieurs dizaines de mégaoctets, se met à jour via ce store et suppose une validation par Apple ou Google. Une PWA se charge depuis le web, se met à jour comme un site, ne paie aucune commission de store — mais accède à moins de fonctions de l'appareil.

Comment ça marche

Trois éléments sont nécessaires. Le manifeste, un fichier JSON qui déclare le nom, les icônes, les couleurs et le mode d'affichage : c'est lui qui rend le site installable. Le service worker, un script exécuté en arrière-plan par le navigateur, qui intercepte les requêtes réseau et sert des ressources depuis un cache : c'est lui qui permet le hors-ligne et la rapidité perçue. Et HTTPS, obligatoire pour que le service worker s'active.

Sur un projet moderne, ces fichiers ne s'écrivent pas à la main : les frameworks proposent des modules qui les génèrent à la compilation et gèrent les stratégies de cache.

À quoi ça sert concrètement

  • Consulter l'application en réseau dégradé ou sans connexion (chantier, sous-sol, transports)
  • Installer un raccourci plein écran sans passer par un store ni une procédure de validation
  • Envoyer des notifications push, avec un support plus tardif et plus restreint sur iOS
  • Accélérer les visites répétées grâce au cache des ressources statiques
  • Maintenir une seule base de code pour le web, Android et iOS

Les pièges

Le cache est à la fois l'intérêt et le danger principal. Une stratégie trop agressive laisse des utilisateurs bloqués sur une version périmée pendant des jours, avec des bugs déjà corrigés. Prévoyez dès le départ un mécanisme de mise à jour et de purge.

Côté iOS, le support a longtemps été partiel : installation via le menu de partage, quotas de stockage plus stricts, éviction des données après une période d'inactivité. Vérifiez le comportement réel sur un iPhone, pas seulement dans un émulateur. Enfin, une PWA n'apparaît pas dans les stores : si votre acquisition passe par l'App Store, ce canal disparaît.

Quand la choisir, quand l'éviter

La PWA est pertinente pour un outil métier interne, un catalogue consulté en mobilité, un média, un formulaire de terrain, ou quand le budget ne permet pas deux applications natives. Évitez-la si vous avez besoin de performances graphiques poussées, de capteurs avancés, d'achats intégrés, ou si la présence dans les stores est un levier commercial assumé.

👉 Versionnez explicitement votre service worker et affichez un bandeau « nouvelle version disponible » avec un bouton de rechargement : c'est la parade la plus fiable aux utilisateurs coincés sur du cache ancien.
Explorez les PWA comme alternative aux applications natives.

Termes associés