Chez Agaetis nous pensons que les PW A sont une alternative performante à une partie des applications natives. Ce sont des programmes que l’on peut installer sur un ordinateur, un smartphone, aussi appelés client lourd (ex : Word ou WhatsApp).
Pourquoi une alternative ? Elles ne demandent pas de processus d’installation, de mises à jour manuelles et fonctionnent sur tous les appareils quel que soit le système d’exploitation.
Notre site web est désormais une « Progressive web App » (PWA), un cas concret parfait pour expliquer la technique et détailler les avantages et inconvénients.
Le terme PWA désigne un concept ou une norme d’applications web, poussé par Google. À l’origine, la légende dit que Steve Jobs est le premier à en avoir eu l’idée peu après l’apparition de l’IPhone en 2007. Mais c’est bien un concept poussé par Google de nos jours avant tout, à travers Chrome (en réalité Chromium et tous ses dérivés évidemment). Le concept est encore très récent mais se développe de plus en plus, Firefox et Safari implémentent d’ailleurs les mêmes fonctionnalités pour suivre.
Des PWA de sites connus ? Twitter, Spotify, Instagram ou encore Pinterest. Chacun de ces sites a communiqué une amélioration des taux de conversion suite à l’implémentation . Pourquoi ? Parce qu’une PWA c’est avant tout un cache sur l’appareil de l’utilisateur, il y a donc un gain de performances. Mais c’est aussi bien plus que cela !
Concrètement, on installe la PWA sur un PC ou un smartphone et elle peut fonctionner hors ligne. Préalablement il faut accéder au site pour qu’il soit mis en cache, ce n’est pas magique !
N’étant pas réellement installée, la PWA prend moins d’espace pour son fonctionnement et s’exécute plus rapidement. On ajoute une simple icône qui permet de pointer vers la web app. Elle donne l’impression d’utiliser une application native alors qu’elle fonctionne à travers le navigateur. La PWA n’a pas besoin d’être téléchargée ou maintenue à jour.
Un site qui implémente la norme PWA a l’autre particularité de pouvoir accéder aux commandes « natives » de nos systèmes d’exploitation, comme la caméra sur smartphone, le Bluetooth, ou encore les notifications . Il est nécessaire de donner l’autorisation au préalable tout comme une application native.
N’importe quel site ou application Web peut être converti en PWA : un WordPress, une application React ou encore un site PHP « old school » (MVC). Cet ajout est plus utile pour une application web que l’on souhaite rendre accessible sur mobile, plutôt que pour un site vitrine. On note tout de même un gain de performance important sur les pages déjà parcourues, plus la possibilité de pouvoir « sauvegarder » un article ou une offre pour y accéder en hors ligne (pour le lire dans le métro par exemple).
Pour mieux comprendre voici un exemple concret avec ce site, qui vient tout juste de devenir une PWA.
La première fois que vous accédez au site, il est chargé normalement comme tout autre site Web. Cependant à la fin de ce chargement initial, un fichier spécial appelé « service-worker.js » va être téléchargé et activé dans votre navigateur . C’est ce fichier qui opère la « magie » pour que les PWA soient possibles.
Si vous rafraîchissez la page, votre navigateur va retélécharger tous les fichiers qui la composent depuis notre serveur. Cette fois-ci le service-worker enregistrera la plupart de ces fichiers dans votre navigateur. Nous gardons toujours la main sur la configuration et ce qu’il doit enregistrer de façon transparente et invisible pour vous.
C’est là qu’il va devenir utile, si vous rafraîchissez la page encore une fois, les fichiers du site seront servis depuis le service-worker et non plus depuis le serveur. Vous permettant ainsi de gagner toute la latence induite par une requête sur Internet. Pour un seul fichier le résultat peut sembler maigre, mais si votre navigateur a besoin de 10 fichiers interdépendants, ou plus comme ici, vous gagnez rapidement 1 seconde sur le chargement de la page ! C’est à partir de là que le mode hors ligne est rendu possible.
À noter qu’en parallèle, le service-worker va effectuer les vraies requêtes sur notre serveur pour récupérer d’éventuels changements de contenu et au cas échéant, mettre à jour son cache. Vous aurez ainsi accès aux nouveautés au prochain rafraîchissement (ou lorsque vous réaccéderez aux pages correspondantes). Si le site en lui-même est modifié il vous affichera un message vous informant qu’une mise à jour est disponible.
Maintenant que les fichiers sont mis en cache, si vous perdez la connexion, la page sera toujours accessible même si vous la rafraîchissez ou si vous avez fermé l’onglet et le rouvrez. Vous pouvez essayer vous-même en déconnectant volontairement votre ordinateur/smartphone (mode avion par exemple). Si vous avez parcouru plusieurs pages du site ainsi que la page d’accueil, vous pourrez faire de même hors connexion, y compris en ayant éteint votre appareil entre temps !
Vous pouvez utiliser cette fonctionnalité à votre avantage en parcourant les pages ou articles que vous souhaitez lire plus tard. Chargez juste leur page et ils seront accessibles en hors ligne.
Le cache a néanmoins une limite de taille : s’il manque une page c’est que vous en avez parcouru beaucoup et que celle-ci a été écrasée. Il y a également une limite de temps de 30 jours, au-delà les enregistrements sont supprimés.
Les PWA sont donc installables, c’est ce qui les distingue des sit es utilisant les service-worker seuls. Sur Chrome et ses dérivés sur PC (Opéra, Brave, Edge, etc…), une petite icône est présente à cet effet, à droite de la barre d’url. Il suffit de cliquer dessus pour voir le site avec une icône séparée sur la barre des tâches :
Ici, le petit plus à côté de l'étoile
Pour la désinstaller il suffit d’aller dans les paramètres de cette fenêtre, vous ne pouvez pas le faire depuis Windows (pour l’instant en tout cas).
Sur mobile ou d’autres navigateurs comme Firefox, cherchez dans le menu quelque chose comme
« Ajouter à l’écran d’accueil »
ou « installer l’application » et vous aurez le même rendu.
Cette partie est plus subjective, nous pensons que les PWA ont beaucoup de potentiel pour simplifier le développement d’applications multiplateformes. Voici notre point de vue sur les PWA face aux clients lourds sous la forme avantages/inconvénients.
Depuis quelques années, on a constaté l’apparition d’outils éditeurs de texte en ligne, à travers Google drive d’abord, puis avec la suite Office, elle aussi entièrement disponible en ligne (à travers Office 365). En plus d’être accessibles très rapidement sans demander d’installation spécifique, ils sont gratuits et déjà en train de tuer la suite office classique. Chez Agaetis tout passe maintenant par ces outils sur le Web ! Signe de plus que les PWA sont des concurrents sérieux aux applications natives, notamment grâce au fonctionnement hors-ligne, maintenant possible.
Dernier argument en leur faveur, depuis mai 2019 environ, il est possible d’ajouter une PWA sur le Google Store après quelques manipulations assez simples, d’ailleurs Google priorise les PWA sur ChromeOS face aux applications Android depuis quelque temps. De même sur l’Apple Store (après des manipulations un peu plus complexes) et c’est sur le Store Microsoft depuis quelque temps déjà (pour Windows 10). Et d’ailleurs depuis le début de cette année, Bing, le moteur de recherche de Microsoft, indexe tout seul les PWA pour pouvoir les ajouter automatiquement dans leur store dans un futur proche. Que demander de plus ?
Alors qu’en pensez-vous ? N’hésitez pas à nous donner votre avis !
Merci de nous avoir contactés.
Nous reviendrons vers vous dès que possible.
Oups ! Une erreur s'est produite lors de l'envoi de votre message.
Veuillez réessayer plus tard.