Nous allons ici détailler les problèmes rencontrés lors du développement de cette application, ainsi que les points positifs qui nous ont poussé à sélectionner, avec notre client, ce choix technique.
Fais-moi rêver
- Un manifest
- Un service worker
Un site camouflé
Ainsi, alors qu’en pratique, notre site est bel et bien lancé dans un navigateur (Chrome, Safari, et Firefox, supportent ce format), l’illusion est totale. Fini les bordures et les barres de recherches propres à chaque navigateur, et fini les raccourcis non personnalisables. L’utilisateur verra le logo de notre application mêlé à sa liste d’applications favorites.

« J’ai plus internet, je fais quoi ? »
Sorcellerie me direz-vous. Et bien non, un système de mise en cache conformément à une série de règles stipulées dans le fichier de configuration du service worker va permettre de servir le site avec uniquement du contenu rapatrié en local.
Ainsi, il est possible de demander à notre application de rapatrier dès que possible, tous les éléments graphiques (images, fonts, etc) nécessaires à la navigation de base. Mais surtout, le service worker va nous permettre de mettre en cache le contenu d’appels API distants.

Raoul vs internet
Il n’aura fallu à Raoul que le temps de se loguer, alors que son train passe dans un souterrain, et que sa connexion disparait. Alors, un bandeau apparait : « Votre connexion a disparu » et Raoul peut maintenant naviguer dans le cadre des données qui ont été rappatriées. Selon la politique temporelle stipulée dans le service worker, Raoul pourrait ne pas récupérer de connexion pendant des semaines, et toujours naviguer dans son application, au contenu périmé certes, mais l’expérience utilisateur reste intacte.
OK, je la télécharge où ton application ?
Et voilà, en un clic, le travail est fait, un rêve pour l’utilisateur.
Trop émergent pour IOS
En effet, Apple, réticent à l’idée qu’une application puisse ne pas passer par leur processus de validation, et par un téléchargement via leur store, n’offre pas toutes les facilités aux développeurs de PWA.
Parmi ces difficultés, nous en noterons 2 essentielles :
- Sur IOS, une PWA ne peut tourner que sur safari
- Safari sur IOS ne supporte pas les push notifications
Le problème des push notifications semblerait être dans la roadmap d’Apple pour les prochaines versions d’IOS, mais aucun changement n’a été constaté à ce jour.

Alors, finalement, c’est mieux qu’une application native ?
Il est sûr que les PWA ont encore de beaux jours devant elles, et que nous assisterons peut être dans le futur à une généralisation de celles-ci dans nos catalogues d’application, alors que la technologie continuera d’évoluer.
Commentaires récents