JoomlaDay Virtuel > 12.06.2020 > Webservices : un nouveau Monde s'ouvre avec J!4

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

  • JoomlaDay Virtuel > 12.06.2020 > Webservices : un nouveau Monde s'ouvre avec J!4

    Bonjour à tous,

    En mai/juin 2020, l'AFUJ organise (en bonus) un JoomlaDay Virtuel, histoire de s'occuper intelligemment en attendant le JoomlaDay physique qui a dû être reporté à cet automne à cause du COVID-19

    Toute la programmation est dispo sur https://www.joomladay.fr/virtuel

    Pour chaque session, je crée donc ici sur le forum un Sujet dédié afin de faciliter les échanges et de permettre des questions-réponses, même pour celles et ceux qui suivront les sessions en différé.

    A bientôt !

    herve aime ceci.
    Présentations : slides.woluweb.be | Coordonnées complètes : www.woluweb.be

    Un message d’erreur sur votre site Joomla... ayez le reflexe de consulter la base de connaissance : https://kb.joomla.fr

    Ce forum, vous l'aimez ? Il vous a sauvé la vie ? Vous y apprenez régulièrement ? Alors adhérer à l'AFUJ, l'Association Francophone des Utilisateurs de Joomla : https://www.joomla.fr/association/adherer

  • #2
    Bonjour,
    Sympa, je n'avai pas vu passé. Il n'y a pas de lettre d'infos pour les milliers d'utilisateurs de Joomla ?
    @+
    Faciliter l'adoption du meilleur du Libre auprès du grand public https://clibre.eu/ - Connaissez-vous des communicants ... pour promouvoir joomla ? https://forum.joomla.fr/forum/th%C3%...mouvoir-joomla

    Commentaire


    • #3
      Si. Envoyé début de semaine
      Présentations : slides.woluweb.be | Coordonnées complètes : www.woluweb.be

      Un message d’erreur sur votre site Joomla... ayez le reflexe de consulter la base de connaissance : https://kb.joomla.fr

      Ce forum, vous l'aimez ? Il vous a sauvé la vie ? Vous y apprenez régulièrement ? Alors adhérer à l'AFUJ, l'Association Francophone des Utilisateurs de Joomla : https://www.joomla.fr/association/adherer

      Commentaire


      • #4
        Bonsoir

        Merci à Alexandre Elisé pour sa préparation et sa présentation.

        L'ouverture de son site Joomla au travers d'un API REST est une fabuleuse évolution du CMS. C'est vraiment un point de rupture puisque cela explose les possibilités comme obtenir la liste de ses utilisateurs, de ses articles, produits, ... depuis une application tierce. Rien n'empêche donc p.ex. un tableur de faire une requête "Donne-moi la liste des articles" à un son site Joomla et d'en obtenir une liste sans même à avoir à programmer ou créer un script php sur son site. "Donne-moi ..." mais aussi "Crée ..." puisqu'avec un appel de type PUT (ou POST) on peut créer ou mettre à jour un contenu existant sur son site.

        Fabuleuse ouverture !

        Toutefois, à mon sens, il est un peu usurpé de parler de "service web". Pour moi, un service web est un ensemble de méthodes qui sont documentées (au travers d'un fichier XML avec une extension particulière (un fichier .wsdl)) qui décrit; dans ce seul fichier, toutes les méthodes, les propriétés attendues; le type, ... Contrairement à un appel JSON API qui est "caché" (il faut connaître le nom de la fonction, il faut connaître la liste des paramètres, il faut savoir à quoi correspond le paramètre nommé p.ex. "sid", ...); un fichier wsdl décrit (peut décrire) totalement ce qui est possible et comment faire et les appels et quels sont les retours qui seront envoyés (telle structure, avec telle donnée, ...).

        Un service web est donc plus évolué mais surtout terriblement plus robuste.

        Pour avoir développé et des API REST et un service web, pour moi, il n'y a pas photo entre les deux. Voici un exemple : le service web de la Commission Européenne qui permet à tout un chacun de vérifier si un numéro de TVA européen est valide : https://ec.europa.eu/taxation_custom...atService.wsdl (à première lecture, le fichier semble hyper complexe mais à longueur de pratique, il dit exactement ce qu'il fait, ce qu'il a besoin et ce qu'il donne comme résultat).

        Next step donc pour J4 un vrai service web ? ;-)
        wabaw aime ceci.
        Christophe (cavo789)
        Mon blog, on y parle Docker, PHP, WSL, Markdown et plein d'autres choses : https://www.avonture.be
        Logiciel gratuit de scan antivirus : https://github.com/cavo789/aesecure_quickscan (plus de 45.000 virus détectés, 700.000 fichiers sur liste blanche)​

        Commentaire


        • #5
          Salut cavo789 ,

          Merci pour ton retour d'expérience. Personnellement je n'ai pas le souvenir d'avoir jamais utilisé SOAP ou WSDL pour être honnête. Mais a priori, le choix qu'a fait les membres de l'équipe du cceur de Joomla! pour Joomla! 4 utiliser REST avec JSON-API est pour avoir un standard du web découplé et facilement interchangeable. Avec SOAP ou WSDL dans l'exemple que tu as donné, trop de details sont donnés dans le web service. comme par exemple les contraintes de validation ou du nombre d'occurences d'un parametres qui decrivent des cas particuliers. C'est à priori plus robuste comme tu le suggère, mais au détriment de la flexibilité. On peut avoir un mix des deux avec GraphQL https://graphql.org/ ou Vulcain https://github.com/dunglas/vulcain peut-être. Mais c'est à voir. Pas testé ces technologies pour l'instant. Il ya aussi cet article du JDN qui parait intéressant et qui parle de SOAP et REST. https://www.journaldunet.fr/web-tech...s-differences/
          Bon week-end
          A tantôt
          Salut Super Joomleurs-euses! C'est Alex le fana des webservices
          Vous pouvez en savoir plus sur https://alexandre-elise.fr

          Commentaire


          • #6
            Pour ceux qui s'intéressent aux webservices de Joomla4, ce mardi en fin de journée George Wilson (release lead de Joomla4 et par ailleurs très impliqué dans la mise en place des webservices) donne une session sur le sujet.
            Inscription (gratuite) sur https://joomlalondon.co.uk/
            Présentations : slides.woluweb.be | Coordonnées complètes : www.woluweb.be

            Un message d’erreur sur votre site Joomla... ayez le reflexe de consulter la base de connaissance : https://kb.joomla.fr

            Ce forum, vous l'aimez ? Il vous a sauvé la vie ? Vous y apprenez régulièrement ? Alors adhérer à l'AFUJ, l'Association Francophone des Utilisateurs de Joomla : https://www.joomla.fr/association/adherer

            Commentaire


            • #7
              Hello.

              Après avoir vu la vidéo, voici un tout premier avis à chaud.

              Je suis assez surpris que le coreteam de Joomla ait choisi de lier le token à un user.

              Quand on a des sites avec des profils membres très complet (de nombreux champs obligatoires), ceci nécessite de créer un ou plusieurs membre "bidon" pour cela. C'est contraignant.
              De + ceci ne me parait pas très logique.

              En général (ce qui se fait par ailleurs), on créer des "connecteurs" avec des droits, connecteurs qui n'ont rien à voir avec les users.

              Quand on crée un webservice pour des applications clientes, cela me parait trop contraignant d'attribuer un compte user à chaque instance de l'appli qui consomme le WebService..

              Mais c'est déjà super d'avoir en natif dans le framework ce nouvel outil qui manquait très cruellement à Joomla (et à moi en particulier).

              Le reste semble avoir la plupart des fonctionnalités nécessaires, mais il va falloir approfondir.

              Pour répondre cavo789 /Christophe, je pense que le xml descriptif de l'API REST lié à chaque composant peut être facilement codé dans le plugin du composant en question (voir la doc : https://docs.joomla.org/J4.x:Adding_...omla_Component).

              Ce xml est effectivement très utile, il est effectivement généralement fournit par la plupart des API REST, et permet par exemple à certains environnements de développement de générer automatiquement les bases des classes clientes.

              Il est donc fort probable que le plugin de type webservices de com_content évolua en ce sens, une fois la partie du framework concernant cette fonctionnalité sera stabilisé.

              @suivre et @approfondir (cela fera un bon devoir de vacances ).
              Dernière édition par roland_d_alsace à 14/06/2020, 20h11
              A tous les utilisateurs de Joomla du très Grand Est de la France et du Jura suisse
              Rejoignez le Joomla Users Groupe Alsace...
              roland_d_alsace va-t-il devenir roland_du_grand_est ?

              Commentaire


              • #8
                Bonjour roland_d_alsace,

                Merci pour ta participation et ton retour d'expérience. Pour ce qui est du choix des tokens liés aux utilisateurs. Ce qu'il faut savoir c'est que ce n'est pas imposé.
                Il s'agit juste du plugin de type authentication qui gère l'authentification par token.
                Il y a aussi un deuxième plugin associés aux token qui est un plugin de type utilisateur liés aux token.
                Vous pouvez tout à fait créer votre propre plugin d'authentication (par exemple OAuth) pour gérer les cas d'utilisations dont vous avez parlé
                https://docs.joomla.org/J4.x:Creatin...gin_for_Joomla

                Cordialement
                Salut Super Joomleurs-euses! C'est Alex le fana des webservices
                Vous pouvez en savoir plus sur https://alexandre-elise.fr

                Commentaire


                • #9
                  Bonjour et merci pour ta réponse.

                  Ok, il y aurait donc un système d'authentification spécifique aux webservices qui est indépendant de l'authentification pour l'application site et administration.
                  J'e renterais dans le code lors de mes "devoir de vacances" évoqués ci-dessus pour voir ce point.

                  J'ai vu d'ailleurs un point important de l’approche par le coreteam : les webservices sont en fait un nouveau type d'application (le 5ème du framework avec administrator, site, cli et installation)


                  alexandreelise : ton lien renvoie vers la page "de base" de création d'un plugin pour J4 et des quelques nouveautés des plugins par rapport à J3. Mais qui n'évoque en rien l'authentification et les droits pour l'accès à l'API REST.
                  Dernière édition par roland_d_alsace à 15/06/2020, 08h00
                  A tous les utilisateurs de Joomla du très Grand Est de la France et du Jura suisse
                  Rejoignez le Joomla Users Groupe Alsace...
                  roland_d_alsace va-t-il devenir roland_du_grand_est ?

                  Commentaire


                  • #10
                    Bonjour roland_d_alsace ,

                    Effectivement le lien renvoie vers la documentation des plugins dans Joomla! 4 car comme indiqué dans ma réponse la gestion de l'authentification est tout simplement un plugin de type api-authentication et qui est autorisé créer un token par plg_user_token. Tout cela utilise les ACL par défaut de Joomla! avec une nouvelle permission API Login permission.
                    Si vous ne trouvez rien dans la documentation officielle vous êtes libre de rajouter cette entrée specifique à la documentation officielle. C'est ça l'esprit Joomla!.
                    Pour les développeurs et développeuses avancé-es vous pouvez tout simplement utiliser votre débogueur préféré et plonger aux tréfonds du code source de Joomla! 4.
                    Autre chose. Comme vous l'avez si bien dit et remarqué, il ya un nouveau type d'application dans Joomla! 4 il s'agit du type "api" c'est un router special qui gère ce type. et qui peut etre étentdu grâce à des plugins de type "webservices",encore une fois l'utilisation de plugins d'où le lien sur les plugins que j'ai donné dans ma réponse précédente.
                    Les plugins dans Joomla! sont un moyen très puissant d'augmenter et d'etendre les fonctionnalités de n'importe quelle extension. Y compris vos propres extensions.
                    https://docs.joomla.org/J4.x:Adding_...omla_Component

                    Bien à vous.
                    Salut Super Joomleurs-euses! C'est Alex le fana des webservices
                    Vous pouvez en savoir plus sur https://alexandre-elise.fr

                    Commentaire


                    • #11
                      Envoyé par alexandreelise Voir le message
                      Bonjour roland_d_alsace ,

                      Effectivement le lien renvoie vers la documentation des plugins dans Joomla! 4 car comme indiqué dans ma réponse la gestion de l'authentification est tout simplement un plugin de type api-authentication
                      OK merci de l'info.
                      J'ai du rater quelque chose dans ton exposé, car je n'avait pas noté qu'il y avait une nouvelle catégorie de plugin de type api-authentication, et donc obligatoirement de nouveaux évènements.
                      Mais comme dit je n'ai pas encore pris de temps de rentrer dans cette partie de code de J4.

                      Envoyé par alexandreelise Voir le message
                      Bonjour roland_d_alsace ,

                      ...
                      Les plugins dans Joomla! sont un moyen très puissant d'augmenter et d'etendre les fonctionnalités de n'importe quelle extension. Y compris vos propres extensions.

                      Bien à vous.
                      Ne t’inquiètes pas, on est quand même quelques uns sur ce forum à déjà connaitre (un peu) Joomla ​ , sa programmation, mais aussi la programmation d'applications qui consomment du REST ou du SOAP.

                      De + ce n'est pas un apprenti Joomleur qui va s'attaquer à l'API REST de J4.
                      C'est quand même réservé (un peu) aux développeurs qui savent ce qu'ils vont en faire.

                      Et dans la mesure du possible je crois bien que l'on on essaie tous ici de participer, chacun avec ses moyens et sa disponibilité à la communauté, au développement et à la promotion de Joomla.​

                      Envoie nous un peu de soleil STP
                      @+
                      Dernière édition par roland_d_alsace à 15/06/2020, 18h19
                      A tous les utilisateurs de Joomla du très Grand Est de la France et du Jura suisse
                      Rejoignez le Joomla Users Groupe Alsace...
                      roland_d_alsace va-t-il devenir roland_du_grand_est ?

                      Commentaire


                      • #12
                        roland_d_alsace
                        Pour ce qui est du soleil j'en ai même deux à vous envoyer.
                        Le premier c'est ça https://github.com/alexandreelise/plg_system_jxj

                        et le deuxième, plus connu venant tout droit de la Martinique c'est
                        Course de Yoles rondes. Embarcations made in Martinique.

                        Happy coding! Super Joomlers!
                        roland_d_alsace aime ceci.
                        Salut Super Joomleurs-euses! C'est Alex le fana des webservices
                        Vous pouvez en savoir plus sur https://alexandre-elise.fr

                        Commentaire

                        Annonce

                        Réduire
                        Aucune annonce pour le moment.

                        Partenaire de l'association

                        Réduire

                        Hébergeur Web PlanetHoster
                        Travaille ...
                        X