PWA et Joomla, quelqu'un a essayé ?

Réduire
X
 
  • Filtrer
  • Heure
  • Afficher
Tout effacer
nouveaux messages

  • [Problème] PWA et Joomla, quelqu'un a essayé ?

    Bonjour

    PWA - Application Web Progressive - permettrai si j'ai bien compris, de pouvoir utiliser une application sur mobile sans passer par les stores (APlle, Android qui sont payants) et en ayant un rendu responsive adapté au mobile.
    J'ai vu qu'il y avait sur GitHub https://github.com/techjoomla/joomla-pwa mais ça m'a pas l'air d'être utilisé. Quelqu'un aurait-il essayé ?
    Sinon il y a une application payante sur extension https://extensions.joomla.org/extension/progressive-web-application-pwa/ et c'est tout ce que j'ai trouvé.
    Des infos ou idées pour mettre (facilement cette fonctionnalité sur un site joomla ?

    Cordialement

  • #2
    Bonjour,

    Selon mon avis, une PWA n'est pas une réelle application mais un ensemble de fonctions destiné à obtenir un résultat similaire.
    C'est un peu comme concevoir un site web autrement en incluant :
    - la consultation offline permettant de lire les pages téléchargées en dehors de connexion internet donc rapidité de chargement
    - un affichage fullscreen avec le look & feel d'une application, l'installation en prime (notamment sous android).
    - le push pour notifier ( installation script serveur via le site ou via un webservice comme onesignal )
    ...

    J'ai déjà développé des PWA on peut transformer le front ou recréer un accès front avec une API (authentification et consultation).
    C'est dans les mêmes conditions que j'ai également réussi à créer des applications hybrides (sous phonegap/cordova/ionic) donc fonctionnant sous IOS et ANDROID.

    Le seul regret, c'est les fortes limitations des PWA notamment de la part d'Apple, cela évolue bien depuis juin de l'année dernière mais pas assez vite. Par exemple, j'ai eu un mal fou à recréer un enregistreur car les fonctions étaient désactivés en pwa. (voir point 3 sur "can i use" : https://caniuse.com/#feat=stream ) donc obligé d'afficher dans le navigateur safari (donc l'url visible).

    Avec un peu de travail, on peut détecter et afficher une bannière pour inviter les personnes à "installer" la pwa (sous android) ou ajouter à leur page d'accueil (sous ios).

    Si je devais être simpliste, il s'agit d'un fichier manifest.json posé à la racine et déclaré dans les pages du sites via un plugin ou dans le template

    Code PHP:

    $document
    ->addHeadLink("manifest.json"'manifest''rel'); 
    voir : https://docs.joomla.org/Service_Workers
    exemple où comment transformer le front en pwa : https://www.pwabuilder.com/

    Après le contenu du fichier manifest, meta-données et services worker peuvent être géré en backend via un développement d'extensions.

    Il y a deux ans, Anibal Sanchez avait publié un travail à partir de workbox : https://developers.google.com/web/tools/workbox/
    GitHub is where people build software. More than 100 million people use GitHub to discover, fork, and contribute to over 420 million projects.

    C'est le cas également de Juan Sebastian de Colombie, il illustre ce que je viens d'écrire (manifest et ajout dans template) : https://github.com/JuanSeBestia/PWA_yoomla

    On peut retrouver les solutions plus complètes sur la JED mais la plus avancée (et gratuite) reste celle de Tbela99 qu'il nomme GZIP :
    Optimize any Joomla website and/or turn it into a Progressive Web Application - tbela99/gzip


    En effet, on peut considérer que les fonctions de pwa augmentent la performance d'un site donc le plugin a été travaillé dans l'amélioration du front mais cela va au delà
    joomla, extension, Cache, Site Performance, Core Enhancements, Security Tools, Performance


    Télécharger et installer la dernière release, vous pouvez utiliser la fonction "installer à partir du web" dans joomla
    puis rechercher "GZIP". Installer l'extension Gzip ( éventuellement "Http Server Timing headers" du même auteur).

    Le plugin doit être éditer pour être activé, les paramètres sont nombreux.
    Optimize any Joomla website and/or turn it into a Progressive Web Application - tbela99/gzip


    Je vous invite à étudier chaque onglet du plugin GZIP afin de vous familiariser avec tous les paramètres...
    N'oubliez pas de tester avec Lighthouse dans chrome afin de vérifier que ce soit actif. N'oubliez pas de créer votre compte sur onesignal.
    Dans l'onglet "service worker", vous pouvez modifier les paramètres du manifest, ce serait mieux de commencer par cet onglet

    En résumé, utilisez l'extension GZIP comme base de travail sur un site joomla de base pour apprendre à transformer votre front en pwa, lighthouse pour tester. Rechercher les informations existantes pour comprendre chaque élément et n'hésitez pas à partager le résultat de vos recherches.
    Je ne peux pas tout vous expliquer en une seule fois mais c'est sincèrement passionnant !!
    Ne travaillez jamais avec un site en production à moins d'être certains de comprendre ce que vous faites.

    Bon courage !
    Dernière édition par daneel à 06/09/2019, 17h33
    jfque aime ceci.
    Joomla User Group (JUG) Lille : https://www.facebook.com/groups/JUGLille/

    Commentaire


    • #3
      Merci beaucoup pour cette réponse ultra détaillée, je vais regarder à tête reposée. Je laisse pour l'instant le sujet ouvert, si ça inspire un commentaire à quelqu'un ....

      Commentaire

      Annonce

      Réduire
      Aucune annonce pour le moment.

      Partenaire de l'association

      Réduire

      Hébergeur Web PlanetHoster
      Travaille ...
      X