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 !

    https://youtu.be/hPoqAWoTldk
    herve aime ceci.
    Cette année, le JoomlaDay FR aura lieu à Bruxelles (date à préciser suite au report "COVID-19", probablement après l'été. Évènement à ne pas rater. Plus d'infos sur https://www.joomladay.fr

    Un message d’erreur sur votre site Joomla ... ayez le reflexe de consulter lla 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 : https://www.joomla.fr/association/adherer

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

  • #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 ?
    @+
    Campagne de soutien à Joomla jusqu'à fin juin https://community.joomla.org/sponsorship-campaigns.html

    Commentaire


    • #3
      Si. Envoyé début de semaine
      Cette année, le JoomlaDay FR aura lieu à Bruxelles (date à préciser suite au report "COVID-19", probablement après l'été. Évènement à ne pas rater. Plus d'infos sur https://www.joomladay.fr

      Un message d’erreur sur votre site Joomla ... ayez le reflexe de consulter lla 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 : https://www.joomla.fr/association/adherer

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

      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)
        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)
        Développeur de marknotes, logiciel de gestion de prises de notes avec interface web et de multiples convertisseur https://github.com/cavo789/marknotes
        Mes logiciels OpenSource : https://www.avonture.be

        Cette année, le JoomlaDay 2020 FR aura lieu à Bruxelles les 2 et 3 octobre 2020. Plus d'infos sur https://www.joomladay.fr

        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

          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/
            Cette année, le JoomlaDay FR aura lieu à Bruxelles (date à préciser suite au report "COVID-19", probablement après l'été. Évènement à ne pas rater. Plus d'infos sur https://www.joomladay.fr

            Un message d’erreur sur votre site Joomla ... ayez le reflexe de consulter lla 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 : https://www.joomla.fr/association/adherer

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

            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

                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.

                    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.

                        Commentaire

                        Annonce

                        Réduire
                        1 sur 2 < >

                        C'est [Réglé] et on n'en parle plus ?

                        A quoi ça sert ?
                        La mention [Réglé] permet aux visiteurs d'identifier rapidement les messages qui ont trouvé une solution.

                        Merci donc d'utiliser cette fonctionnalité afin de faciliter la navigation et la recherche d'informations de tous sur le forum.

                        Si vous deviez oublier de porter cette mention, nous nous permettrons de le faire à votre place... mais seulement une fois
                        Comment ajouter la mention [Réglé] à votre discussion ?
                        1 - Aller sur votre discussion et éditer votre premier message :


                        2 - Cliquer sur la liste déroulante Préfixe.

                        3 - Choisir le préfixe [Réglé].


                        4 - Et voilà… votre discussion est désormais identifiée comme réglée.

                        2 sur 2 < >

                        Assistance au forum - Outil de publication d'infos de votre site

                        Compatibilité: PHP 4.1,PHP4, 5, 6DEV MySQL 3.2 - 5.5 MySQLi from 4.1 ( @ >=PHP 4.4.9)

                        Support Version de Joomla! : | J!3.0 | J!2.5.xx | J!1.7.xx | J!1.6.xx | J1.5.xx | J!1.0.xx |

                        Version française (FR) D'autres versions sont disponibles depuis la version originale de FPA

                        UTILISER À VOS PROPRES RISQUES :
                        L'exactitude et l'exhaustivité de ce script ainsi que la documentation ne sont pas garanties et aucune responsabilité ne sera acceptée pour tout dommage, questions ou confusion provoquée par l'utilisation de ce script.

                        Problèmes connus :
                        FPA n'est actuellement pas compatible avec des sites Joomla qui ont eu leur fichier configuration.php déplacé en dehors du répertoire public_html.

                        Installation :

                        1. Téléchargez l'archive souhaitée : http://afuj.github.io/FPA/

                        Archive zip : https://github.com/AFUJ/FPA/zipball/master

                        2. Décompressez le fichier de package téléchargé sur votre propre ordinateur (à l'aide de WinZip ou d'un outil de décompression natif).

                        3. Lisez le fichier LISEZMOI inclus pour toutes les notes de versions spécifiques.

                        4. LIRE le fichier de documentation inclus pour obtenir des instructions d'utilisation détaillées.

                        5. Téléchargez le script fpa-fr.php à la racine de votre site Joomla!. C'est l'endroit que vous avez installé Joomla et ce n'est pas la racine principale de votre serveur. Voir les exemples ci-dessous.

                        6. Exécutez le script via votre navigateur en tapant: http:// www. votresite .com/ fpa-fr.php
                        et remplacer www. votresite .com par votre nom de domaine


                        Exemples:
                        Joomla! est installé dans votre répertoire web et vous avez installé la version française du fichier FPA:
                        Télécharger le script fpa-fr.php dans: /public_html/
                        Pour executer le script: http://www..com/fpa-fr.php

                        Joomla! est installé dans un sous-répertoire nommé "cms" et vous avez installé la version française du fichier FPA:
                        Télécharger le script fpa-fr.php dans: /public_html/cms/
                        Pour executer le script: http://www..com/cms/fpa-fr.php

                        En raison de la nature très sensible de l'information affichée par le script FPA, il doit être retiré immédiatement du serveur après son utilisation.

                        Pour supprimer le script de votre site, utilisez le lien de script de suppression fourni en haut de la page du script. Si le lien de suppression échoue pour supprimer le script, utilisez votre programme FTP pour le supprimer manuellement ou changer le nom une fois que le script a généré les données du site et le message publié sur le forum. Si le script est toujours présent sur le site, il peut être utilisé pour recueillir suffisamment d'informations pour pirater votre site. Le retrait du script empêche des étrangers de l'utiliser pour jeter un oeil à la façon dont votre site est structuré et de détecter les défauts qui peuvent être utilisé à vos dépends.
                        Voir plus
                        Voir moins

                        Partenaire de l'association

                        Réduire

                        Hébergeur Web PlanetHoster
                        Travaille ...
                        X