PWA (Progressive Web App)
Définition simple, avantages et explications pour comprendre ces applications web qui révolutionnent l'expérience mobile.
Qu'est-ce qu'une PWA ?
PWA signifie Progressive Web App. C'est un site web qui se comporte comme une application mobile native.
En termes simples : une PWA est un site web que vous pouvez "installer" sur votre téléphone, qui fonctionne hors-ligne, et qui offre une expérience utilisateur proche d'une véritable application. Mais contrairement à une app traditionnelle, vous n'avez pas besoin de passer par l'App Store ou Google Play.
Ma PWA
Installée sur l'écran d'accueil
Rapide comme une app native
Les 3 piliers d'une PWA
Les visiteurs peuvent ajouter votre site à l'écran d'accueil de leur téléphone comme une application classique, sans passer par un store.
Grâce aux Service Workers, le site peut fonctionner même sans connexion internet, ou en afficher une version allégée.
Les PWA sont conçues pour être extrêmement rapides, avec un chargement instantané même en réseau lent.
PWA vs Application native
| Critère | PWA | Application native |
|---|---|---|
| Installation | Directe depuis le navigateur | Via App Store / Google Play |
| Découverte | Par les moteurs de recherche (SEO) | Par recherche dans les stores |
| Mise à jour | Instantanée (à chaque visite) | Validation par le store + téléchargement |
| Coût de développement | Un seul code (web) | iOS + Android (deux codes) |
| Accès aux fonctionnalités | La plupart (appareil photo, notifications) | Toutes (Bluetooth, NFC, etc.) |
| Stockage | Limite variable selon navigateur | Espace dédié important |
Comment ça marche techniquement ?
HTTPS obligatoire
Pour des raisons de sécurité, une PWA doit obligatoirement être servie en HTTPS.
Service Worker
C'est le cœur technique de la PWA. Un script qui tourne en arrière-plan, indépendant de la page, et qui gère le cache, les requêtes réseau et les notifications.
Manifest.json
Un fichier qui définit l'apparence de l'application (nom, icône, thème, orientation) quand elle est installée sur l'écran d'accueil.
{
"name": "Ma PWA",
"short_name": "PWA",
"start_url": "/",
"display": "standalone",
"theme_color": "#2563eb"
}
Cache et mode hors-ligne
Le Service Worker met en cache les ressources essentielles (HTML, CSS, images) pour que le site fonctionne même sans connexion.
Les avantages des PWA
- Pas d'installation lourde (quelques Mo max)
- Pas besoin de mettre à jour manuellement
- Utilisation sans connexion
- Icône sur l'écran d'accueil
- Notifications push
- Expérience fluide et rapide
- Un seul développement (web)
- Pas de commission sur les stores (30%)
- Meilleur référencement (c'est un site web)
- Taux de conversion amélioré
- Mises à jour instantanées
- Accessible à tous, sans store
Exemples de PWA célèbres
Leur PWA a augmenté de 104% le taux de conversion sur les nouveaux utilisateurs. L'application est 4x plus rapide que leur app native.
Consommation de données réduite de 70%, chargement 30% plus rapide, engagement augmenté de 65%.
Temps de chargement de 3 à 0,8 secondes, sessions 43% plus longues, 100% d'augmentation des impressions.
Leur PWA permet d'écouter de la musique sur navigateur avec une expérience quasi-native, disponible sur tous les appareils.
La PWA de Uber (m.uber.com) se charge en 3 secondes même en réseau 2G, accessible sans installation.
Augmentation de 60% du temps passé sur le site, 40% d'engagement en plus.
Les limites des PWA
- Support iOS limité : Safari sur iPhone supporte les PWA mais avec des restrictions (pas de notifications push, stockage limité).
- Visibilité dans les stores : Bien que Google Play les accepte, l'App Store reste réticent.
- Fonctionnalités matérielles : Pas d'accès à toutes les API natives (Bluetooth, NFC, etc.).
- Découverte : Les utilisateurs n'ont pas le réflexe d'"installer" un site web.
- Batterie : Les Service Workers peuvent consommer plus d'énergie s'ils sont mal optimisés.
Démonstration
Site démo
Ceci est une simulation de PWA
Sur un vrai site compatible PWA, ce bouton déclencherait l'installation.
Critères PWA remplis
- HTTPS
- Manifest.json
- Service Worker
- Responsive
- Rapide
Score Lighthouse
Performance PWA