Seidor
personas riendo

05 juin 2024

Applications web progressives et mise en œuvre dans Drupal 9

Internet a été construit pour la première fois dans le but d'améliorer la communication pour les militaires et les scientifiques pendant les années 1960. Bientôt, le Web s'est transformé en un phénomène révolutionnaire autour des années 1990 et a été imparable depuis lors. Bien que le but du web ait continué à changer, l'un des objectifs qui est resté constant a été la commodité.

Le besoin de confort a généré de nombreuses formes innovantes d'accès à Internet. Les applications mobiles natives et les applications web sont deux de ces technologies qui ont rendu la navigation sur Internet facile et pratique. Dans cet article, nous parlerons des applications web progressives et de la manière dont vous pouvez les implémenter avec Drupal en utilisant le module d'applications web progressives de Drupal. Mais avant de plonger dans tout cela, examinons les caractéristiques des applications natives et web et comment les applications web progressives comblent les lacunes.

Caractéristiques des applications mobiles natives

  • Ce sont des applications spécifiques à la plateforme. Cela signifie également qu'elles doivent être reconstruites pour chaque nouvelle plateforme (iOS, Android).
  • Ils doivent être téléchargés.
  • Généralement super rapides.
  • Riches en caractéristiques et fonctionnalités.
  • Ils peuvent s'intégrer parfaitement à n'importe quel appareil et en faire partie intégrante.
  • Ils peuvent travailler hors ligne.
  • Ils peuvent facilement accéder aux données de l'appareil, au matériel de l'appareil et au système de fichiers local.
  • Plus coûteux à développer, maintenir et mettre à jour.
  • Ils sont préapprouvés pour des raisons de sécurité et peuvent être téléchargés dans les magasins d'applications.
  • Difficiles à suivre pour les moteurs de recherche.

Caractéristiques des applications web

  • Ils ne dépendent pas de la plateforme. Tout ce dont ils ont besoin est un navigateur pour y accéder. Ils sont compatibles avec la plupart des navigateurs modernes. Il n'est pas nécessaire de les télécharger.
  • Il n'y a pas de SDK particulier pour les développer. Le frontend est développé en utilisant HTML, CSS, JavaScript et une pile LAMP ou MEAN pour le backend.
  • Il n'est pas nécessaire de les mettre à jour. Coûts de développement et de maintenance réduits.
  • Bien qu'ils nécessitent une authentification, la sécurité est un problème car ils peuvent être vulnérables à un accès non autorisé.
  • Ne fonctionnent pas hors ligne et peuvent être plus lentes que les applications mobiles natives.
  • Ils n'apparaissent pas dans les magasins d'applications, ce qui peut rendre leur découverte plus difficile.

Qu'est-ce que les applications web progressives et comment comblent-elles le vide ?

En résumé, les applications web natives sont très performantes mais manquent de portée. Alors que les applications web ont une portée plus large mais manquent de capacités. Et c'est là que les applications web progressives entrent en jeu pour combler les lacunes.

Les Progressive Web Apps sont une combinaison idéale des avantages des applications natives et des applications web. En utilisant des capacités web modernes, les applications web progressives (PWA) peuvent offrir aux utilisateurs des expériences similaires à celles d'une application. Elles combinent les fonctionnalités offertes par la plupart des navigateurs modernes avec les avantages des expériences mobiles. Il est possible de créer des applications similaires aux applications natives, extrêmement complexes et installables. Maintenant que Web Assembly est compatible avec la plupart des navigateurs, les PWA peuvent être créées dans les langues choisies par le développeur, ce qui augmente largement la portée et la flexibilité des fonctionnalités qu'elles peuvent offrir.

Caractéristiques des applications web progressives

Ils sont indépendants de la plateforme et de l'appareil. Ils fonctionnent merveilleusement bien sur n'importe quel navigateur.

  • Ils se chargent rapidement et sont extrêmement fiables (même avec une faible vitesse Internet). Le défilement est très fluide et sans à-coups.
  • Ils peuvent également travailler hors ligne.
  • Des notifications push natives similaires à celles des applications peuvent être activées.
  • Ils peuvent accéder au matériel et aux données de l'appareil comme des applications natives.
  • Des raccourcis peuvent être ajoutés à l'écran d'accueil de l'utilisateur (au lieu de les télécharger)
  • Sans besoin d'installations complexes. Ils peuvent partager les URL facilement.
  • Responsive sur tous les appareils.
  • Ils sont plus faciles et rapides à développer. La maintenance est également simple.


Avant de parler du module PWA dans Drupal, examinons les exigences minimales pour créer une PWA :

  • Doit être exécuté sur HTTPS.
  • Il doit inclure un travailleur de service : le Service Worker est un script (javascript) qui s'exécute sur https dans le navigateur et fournit un accès au navigateur. Il offre des fonctionnalités natives similaires aux applications, telles que la livraison de contenu hors ligne, les notifications push, etc.
  • Il doit avoir un manifeste d'application web, qui est un fichier JSON contenant des métadonnées avec des informations sur l'application web, telles que le nom, la description, l'auteur et plus encore. Cela est également utile pour l'optimisation des moteurs de recherche.

Le module PWA Drupal : comment créer des applications web progressives avec Drupal 9 (et 8)

Le module Drupal PWA est facile à installer et est livré avec Service Worker (pour la mise en cache et d'autres capacités similaires aux applications hors ligne) et Manifest.js que nous pouvons configurer. Cependant, nous devons nous assurer d'avoir SSL installé avant de commencer le processus d'installation de PWA. Si notre exigence est extrêmement spécifique avec des tonnes de personnalisations, nous pouvons développer la PWA en utilisant des frameworks frontaux comme Angular ou React et personnaliser notre propre Service Worker.