Progressive Web App (PWA) : explications et cas pratique

26 novembre 2020

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.

Qu’est-ce qu’une Progressive Web App ?

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 !


Une PWA, c’est un site web installable qui peut fonctionner en hors ligne

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).

Exemple concret avec le site d’Agaetis

Pour mieux comprendre voici un exemple concret avec ce site, qui vient tout juste de devenir une PWA.


Première connexion sur le site : ce qu’il se passe dans les coulisses

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.


Chaque page que vous parcourez au préalable est mise en cache et accessible en hors ligne

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.


N’hésitez pas à « l’installer » sur votre appareil !

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

On obtient une fenêtre avec le site, vous pouvez l’ouvrir depuis Windows comme n’importe quelle application (depuis la barre de recherche).

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).

Ici, en haut à droite de la fenêtre

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.

Pourquoi les « Progressives Web Apps » sont probablement une bonne alternative aux applications natives ?

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.


Avantages des PWA face aux applications natives

  • Le défaut principal des applications natives : elles demandent à être téléchargées et installées. Or la capacité de stockage peut être rapidement limitée, surtout sur smartphone… les Messengers qui font 500Mo, non merci ! Le problème ne se pose pas avec les PWA bien conçues. On parle d’une réduction de taille d’un rapport de 1 à 20 ou 25 en moyenne.
  • De la même manière les clients lourds demandent à être mis à jour manuellement (et jusqu’à peu sur Android il était nécessaire de retélécharger l’entièreté de l’application à chaque fois), c’est laborieux et ça consomme de la data, encore une fois gênant, surtout sur mobile ! Vous l’aurez compris les PWA sont majoritairement orientées mobile first. En parallèle ce système de mise à jour peut gêner les développements, les utilisateurs choisissant de garder une ancienne version (problématiques de rétrocompatibilité).
  • Les applications natives posent de nombreux problèmes pour les développeurs et/ou les entreprises qui les créent, puisqu’il faut quasiment les développer en autant de fois qu’il y a de systèmes d’exploitation (Android, iOS, Windows, Mac, ChromeOS, etc…). C’est ici le gros avantage du Web sur le reste, au niveau technique, d’autant plus que la tendance est au remplacement justement à cause de ces contraintes économiques.

Quelques inconvénients des PWA

  • Les PWA peuvent fonctionner en hors ligne mais restent plutôt orientées sur un mode connecté (cette innovation vient du Web, ce n’est pas pour rien). Il faut s’y être connecté au moins une fois pour que le mode hors-ligne fonctionne. Cela peut être une limite à l’installation depuis un « store », mais il faut également être connecté pour télécharger une application donc en soi rien de vraiment problématique. En revanche, d’un point de vue développeur il faut posséder un serveur pour la rendre accessible, alors qu’une application mobile n’a pas cette contrainte.
  • Elles ne sont pas encore entièrement implémentées comme il faut d’un point de vue des API natives (les accès hardware), surtout sur les navigateurs autres que Chrome et ses dérivés. Pour l’instant, il est encore un peu risqué pour une entreprise de se lancer sur une PWA en souhaitant toutes les fonctionnalités d’une application native. Mais dans un futur assez proche cela ne devrait plus être le cas et le problème ne se pose que si l’on souhaite faire appel à des fonctionnalités spécifiques (téléphonie, NFC notamment). Il faut garder en tête que cette technologie est encore en partie expérimentale. Dans notre cas, il nous a fallu participer à la librairie  next-pwa  pour l’implémenter.
  • Côté performances, il est évident que rien ne vaut une application native. Mais rares sont les cas d’usage sur mobile qui requièrent autant de performances au point que ça pose un réel problème.

En conclusion

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 !

Ressources Agaetis

4 septembre 2025
Le contexte du projet : Un prototype de stylo connecté destiné au secteur de la santé avait rencontré un vif succès auprès du marché. Face à une demande croissante, le client devait passer à une phase d’ industrialisation afin de répondre aux attentes tout en respectant les réglementations strictes en matière de données de santé ( Hébergement de Données de Santé – HDS ). L’objectifs : L’objectif principal était de transformer un prototype en solution industrialisée en : définissant les critères de sélection et les options technologiques, garantissant la conformité aux réglementations de santé, et assurant la montée en charge (scale-up) pour répondre à la demande croissante. Durée de mission : Mission en plusieurs phases : cadrage, tests techniques, mise en conformité et accompagnement au scale-up industriel. Mise en œuvre : Agaetis a déployé une approche complète combinant expertise IoT et réglementaire : Définition des critères de sélection : cadrage des besoins fonctionnels et techniques. Évaluation technologique : étude des solutions potentielles et tests de leur adéquation. Mise en conformité HDS : accompagnement dans la sélection de l’hébergement et structuration du modèle de données. Développement et industrialisation : assistance dans l’implémentation des composants techniques et préparation à la montée en charge. Résultats obtenus : Accélération de la production : industrialisation réussie permettant de répondre rapidement à la demande. Conformité assurée : solution alignée sur les exigences HDS et réglementations de santé. Innovation valorisée : passage du prototype au produit commercialisable sur le marché santé. Flexibilité opérationnelle : architecture et modèle de données prêts à évoluer avec les usages. Facteurs clés de succès : Expertise pointue en IoT santé et données réglementées . Approche sur mesure intégrant la dimension technique et humaine. Collaboration rapprochée avec les équipes du client. Vision orientée impact concret et mise sur le marché rapide. Et vous ? Vous vous interrogez sur : l’industrialisation de vos prototypes IoT santé, la conformité réglementaire (HDS, ISO, etc.) de vos solutions, ou la préparation de vos innovations pour passer du prototype au scale-up industriel ? 👉 Contactez nos experts pour transformer vos prototypes IoT en solutions santé industrialisées et conformes.
Aérospacial Ariane Space
par David Walter 4 septembre 2025
Le contexte du projet : Groupe Aérospatial souhaitait optimiser le temps de contrôle dimensionnel des réservoirs de son lanceur spatial. Les méthodes traditionnelles, longues et peu satisfaisantes, ralentissaient la production et augmentaient les risques d’erreurs. Le besoin était de développer une application de contrôle qualité et dimensionnel intégrant de nouveaux moyens de mesure plus rapides et précis. L’objectifs : L’objectif principal était de concevoir et déployer une application installée sur un PC concentrateur capable de : lancer différents programmes de contrôle dimensionnel, intégrer des technologies de mesure avancées (profilomètres lasers, trackers laser), et améliorer la précision et la répétabilité des contrôles. Durée de mission : Mission de plusieurs mois, de la conception logicielle à la formation des équipes, en passant par l’intégration et les tests. Mise en œuvre : Agaetis a déployé une approche technique et collaborative : Développement de l’application : architecture logicielle adaptée aux besoins d’intégration industrielle. Collecte et traitement des données : intégration des mesures issues des machines à commande numérique, trackers laser et profilomètres. Optimisation des processus : automatisation des contrôles pour gagner en rapidité et réduire les erreurs. Accompagnement & formation : transfert de compétences aux équipes internes pour assurer la continuité. Résultats obtenus : Temps de contrôle réduit : amélioration notable de la productivité. Précision accrue : fiabilisation des mesures grâce à l’intégration de nouvelles technologies. Réduction des erreurs : contrôles plus rapides et répétables. Compétences préservées : maintien de la connaissance technique dans l’organisation. Facteurs clés de succès : Expertise technique d’Agaetis en développement industriel et IoT . Grande flexibilité dans la collaboration avec le client. Intégration fluide des données issues de différents équipements. Approche orientée impact et résultats mesurables. Et vous ? Vous vous interrogez sur : l’optimisation de vos processus de contrôle industriel, l’intégration de nouvelles technologies de mesure, ou la digitalisation de vos applications qualité ? 👉 Contactez nos experts pour moderniser vos contrôles industriels et accroître votre performance opérationnelle.
Show More