Progressive Web Apps : l'avenir du web qui fonctionne comme une app
Une PWA (Progressive Web App) réunit le meilleur du site web et de l'application : accessible depuis un simple navigateur, mais installable sur l'écran d'accueil, capable de fonctionner hors ligne et d'envoyer des notifications. Cela paraît magique, et c'est moins compliqué qu'il n'y paraît.
Avant les PWA, il fallait choisir entre deux options : un site web, facile d'accès et gratuit mais limité, ou une application native, puissante mais qu'il faut télécharger et qui occupe de la place. La PWA combine les avantages des deux.
Comment fonctionne-t-elle ? C'est toujours un site web (HTML, CSS, JavaScript), mais optimisé pour se comporter comme une application. Il y a d'abord un fichier manifest, un fichier JSON qui déclare « je suis une application : voici mon nom, mon icône, ma couleur ». En visitant le site sur mobile, le navigateur propose de l'installer, et elle apparaît sur l'écran d'accueil. Il y a ensuite les service workers, du code JavaScript qui tourne en arrière-plan : ils mettent des données en cache local, font fonctionner le site hors ligne et gèrent les notifications. C'est la mécanique invisible qui rend tout cela possible.
Au premier chargement, la PWA télécharge les fichiers essentiels et les conserve en cache. À la prochaine ouverture, l'affichage est instantané, et même sans connexion le site reste utilisable, car tout est déjà en local.
« Une PWA, c'est un site web qui ressemble à une application et se comporte comme telle, sans passer par un store. »
Les avantages sont nombreux. C'est accessible : on saisit l'URL et on installe, sans store ni processus d'approbation, et sans commission de 30 % prélevée par les plateformes. C'est léger : quelques mégaoctets contre plus d'une centaine pour une application native, et les mises à jour sont automatiques à la prochaine ouverture. Cela fonctionne hors ligne : l'interface reste utilisable sans connexion, et un formulaire rempli s'enverra dès le retour du réseau. C'est enfin moins coûteux à développer : une seule base de code pour tous les appareils, sans version iOS et Android séparées. Les notifications push, elles aussi, fonctionnent comme sur une application native.
Il existe cependant des limites. Une PWA n'accède pas à autant de ressources qu'une application native : pas de caméra en arrière-plan, pas de certains capteurs. Elle est plus limitée, mais couvre largement 90 % des usages. Le support varie aussi selon les navigateurs : certaines fonctions marchent mieux sur les uns que sur les autres. La découverte diffère également : une application native se trouve sur un store, une PWA via un moteur de recherche, ce qui est à la fois un atout (facile à trouver) et un inconvénient (absente des listes de recommandations des stores).
Les grandes entreprises l'ont compris : plusieurs services majeurs proposent aujourd'hui une PWA, parce que c'est plus simple à maintenir qu'une application sur deux plateformes. Pour les développeurs aussi, c'est intéressant : on part d'un site web moderne, on ajoute un manifest et un service worker, et l'on obtient une PWA. C'est l'évolution naturelle d'un site web classique, et l'avenir du web.