Module pour executer du code PHP

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

  • [RÉGLÉ] Module pour executer du code PHP

    Bonjour à tous

    J'ai développé un logiciel qui doit aller se connecter et chercher des informations sur mon site web.

    Pour l'instant j'ai crée un article (nommé controle) qui contient le code PHP suivant

    Code PHP:
    {source}<?php

    $id 
    $_GET['identif'];
    $info $_GET['information'];
    if ( 
    $id == 1234 ) {
     echo 
    '#Retour'+$informationderetour+'Retour#';
    }
    ?>{/source}
    Mon logiciel quant à lui se connecte sur le site avec l'URL suivante:
    Code:
    http://www.monsite-joomla.fr/index.php/controle?identif=1234&information=Machine"
    Ensuite il lit ce qui est retourné par le serveur.

    Le problème c'est que cette solution n'est pas satisfaisante car je suis obligé de trouver l'information de retour du serveur dans tout un fatras de données. De plus pour avoir accès à cet article je suis obligé de créer un menu qui est visible sur le site ce qui ne me convient pas.

    En me renseignant j'ai vu qu'on pouvait développer des modules et j'ai récupéré un modèle de module (mod_capsule) par contre j'ai du mal à comprendre comment l'utiliser.

    Merci d'avance pour toute aide

  • #2
    Bonjour

    Mod_capsule a été développé par un ami ;-) Est-ce celui de Incode.be que tu as utilisé ?

    Son mode d'emploi : https://docplayer.fr/5501014-Creatio...a-de-base.html

    Site originel : https://www.incode.be/joomla (le PDF n'y est plus accessible visiblement)

    Bonne journée.
    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

    Commentaire


    • #3
      Oui c'est bien celui là et effectivement le pdf d'explication n'est plus disponible.
      Je vais regarder le mode d'emploi sur l'autre lien
      Merci

      Commentaire


      • #4
        Envoyé par Remi45 Voir le message
        Bonjour à tous

        J'ai développé un logiciel qui doit aller se connecter et chercher des informations sur mon site web.

        ...

        Le problème c'est que cette solution n'est pas satisfaisante car je suis obligé de trouver l'information de retour du serveur dans tout un fatras de données. De plus pour avoir accès à cet article je suis obligé de créer un menu qui est visible sur le site ce qui ne me convient pas.

        En me renseignant j'ai vu qu'on pouvait développer des modules et j'ai récupéré un modèle de module (mod_capsule) par contre j'ai du mal à comprendre comment l'utiliser.

        Merci d'avance pour toute aide
        Hello.

        Quel type de logiciel ?
        Et ce logiciel doit se connecter avec un compte utilisateur Joomla (gestion des droits ?).

        Si oui, ton logiciel doit se comporter comme un humain et remplir la form de login.
        Ensuite il doit récupérer et renvoyer le cookie d'identification à chaque requette http.

        Cela fonctionne sans problème.

        Sinon, si tu n'as pas besoin de te logger, et que tu veux récupérer des informations, le plus simple est de créer un petit composant qui te renvoie une page avec un template en raw, avec les informations souhaitées (par exemple du csv) c'est prévu par le noyau de joomla.

        Si tu veux des informations déjà prévues (liste des articles par exemple), il te suffira de créer une nouvelle vue view.raw.php au lieu du classique view.html.php avec le template de vue adéquat bien sûr.
        Mais en s'inspirant du view.html.php et de ses template c'est assez simple.

        Dans l'url tu rajoute &format=raw et au lieu d'afficher du html tu as ce que tu a prévu en raw (du csv en general).

        Avec le raw tu n'auras que la partie composant, donc pas les modules, etc... donc que les lignes (de csv ou autre) que tu auras générée dans ton template de vue et rien d'autre.

        Ragarde comment cela marche avec le format d'affichage 'feed' qui sort du xml (pour un flux rss).

        Par exemple :
        http://url_de_ton_site/index.php?opt...ed&format=feed

        Tu verra qu'ace ce format d'affichage feed qu'il n'y a pas non plus ce que tu appelles le "fatra de données" et qu'on a juste du xml propre.

        La vue ici étant en /component/com_content/views/feature/view.feed.php


        Mais Joomla 4 devrait nous apporter (enfin) un webservice, se sera alors encore bien plus simple.
        Dernière édition par roland_d_alsace à 20/12/2018, 09h38 Raison: correction sur la vue feed qui sort du xml pour un flux rss
        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


        • #5
          Envoyé par roland_d_alsace Voir le message

          Quel type de logiciel ?
          Et ce logiciel doit se connecter avec un compte utilisateur Joomla (gestion des droits ?).

          Si oui, ton logiciel doit se comporter comme un humain et remplir la form de login.
          Ensuite il doit récupérer et renvoyer le cookie d'identification à chaque requette http.

          Cela fonctionne sans problème.
          Le logiciel ne se connecte pas comme utilisateur joomla. C'est un logiciel en java qui doit juste se connecter au site lors de son activation pour avoir une clef d'activation. J'envoie des informations sur la machine où le logiciel a été et un identifiant que l'utilisateur a obtenu après s'être inscrit sur le site. Coté serveur je vérifie que l'identifiant existe et ensuite je délivre une clef qui débloque les fonctionnalités du logiciel.


          Envoyé par roland_d_alsace Voir le message
          Sinon, si tu n'as pas besoin de te logger, et que tu veux récupérer des informations, le plus simple est de créer un petit composant qui te renvoie une page avec un template en raw, avec les informations souhaitées (par exemple du csv) c'est prévu par le noyau de joomla.

          Oui c'est ce qu'il me faut. Où est ce que je peux trouver la doc pour faire ce type de composant
          Dernière édition par Remi45 à 19/12/2018, 21h39

          Commentaire


          • #6
            Envoyé par Remi45 Voir le message
            Oui c'est ce qu'il me faut. Où est ce que je peux trouver la doc pour faire ce type de composant
            C'est une vue "standard".

            Si tu as le livre de Marc (Studer) "Développer des extensions pour joomla", il évoque sommairement les types de vues disponibles dans le framework (voici un extrait de la page 195) :
            • html (implicite) : type mime "text/html" précisant un format html
            • feed : xml pour flux rss
            • raw : mime "text/html" sans informations additionnelle
            • xml : mime "application/xml"
            • json : mime "application/json"
            • image : mime "image/png"
            • opensearch : mime application/opensearchdescription+xml"
            • error : mime "text/html" avec les information d'arreur du contexte
            Le type est indiqué dans la variable d'url "format"
            Et chaque url de la forme http://..../index.php?option=com_nom...ant&format=raw chargera la vue view.raw.php, idem pour json qui charge le fichier view.json.php (voir chemin ci-dessus en #4)
            Il faut bien sûr que la vue du type format demandé existe bien sinon l'internaute aura une 404.

            Implicitement si format n'est pas donné c'est view.html.php qui est chargé (c'est défini dans le contrôleur général il me semble, si le type de format implicite n'est pas changé dans le constructeur de la classe dérivée du contrôleur).

            Pour la doc, il faudra mettre un peu la main dans la mécanique, mais ce n'est pas le + compliqué vu qu'il n'y a pas de mise en page spécifique (et donc pas d'appel aux classes JForm, Jhtml, etc... du framework).
            Il suffit de t'inspirer d'une vue html ou de la vue feed comme je te l'indique ci-dessus, de changer le type en raw, et de virer tout le html, la pagination,etc....

            Tu peux même faire l'affichage directement dans le view.xxx.php sans passer par un ou des fichiers de template de vue (sous dossier /tmpl du dossier de la vue), car cela ne présente qu'assez peu d’intérêt de pouvoir overrider un affichage raw ou json.

            Franchement une fois que tu as pigé le système, ce n'est pas + compliqué que ce que tu envisageais de faire, et surtout bien + propre, plus facile à maintenir et à faire évoluer.

            Ainsi par exemple, le type de vue json est souvent utilisé pour répondre à des requêtes Ajax.
            Fait une recherche sur le nom de fichier view.raw.php dans l'arborescence de ton site (kunena en utilise par exemple), sinon sur view.json.php
            Dernière édition par roland_d_alsace à 20/12/2018, 09h54
            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


            • #7
              J'ai trouvé un site qui m'a bien aidé http://docteurjoomla.com/nos-tutorie...oomla-partie-1
              Et avec format=raw ça fonctionne parfaitement
              Par contre je n'arrive pas à mettre le préfixe réglé. A la fin de l'édition il me refuse le droit de sauvegarder
              Dernière édition par Remi45 à 20/12/2018, 21h14

              Commentaire


              • #8
                Pourtant il est bien à sa place sur le premier message.
                Lorsque l'on se cogne la tête contre un pot et que cela sonne creux, ça n'est pas forcément le pot qui est vide.
                Confucius

                Commentaire


                • #9
                  Envoyé par lesoutier Voir le message
                  Pourtant il est bien à sa place sur le premier message.
                  Effectivement il y a du avoir un micmac quand j'ai fait la manipulation mais au final ça a fonctionné. Les joies de l'informatique

                  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