Avoir la trace des fichiers PHP sollicités

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

  • [Problème] Avoir la trace des fichiers PHP sollicités

    Bonjour,

    J’administre au mieux le site www.admlarochelle.com sous Joomla 3.9.8. J’utilise le composant AllEvents qui n’est pas plus suivit malheureusement. Nos bénévoles ne sont pas toujours très a laise avec leurs navigateurs et je souhaite simplifier la création d’un évènement AllEvents. Il faudrait donc que je modifie un ou plusieurs fichiers PHP ou XML je ne sais pas, car je ne suis pas développeur.

    Ma question est la suivante ; il faudrait je puisse connaître les fichiers sollicités lors de la création d'un évènement AllEvents (components/com_allevents) afin d’y regarder de plus près et de les éditer et modifier … Comment je peux faire , si vous avez bien-sur d’autre suggestions je vous en remercie … Pour information, j’ai écris à Emmanuel Lecoester, sans réponse. Je comprends ...

    Cordialement,

  • #2
    Envoyé par phelibre Voir le message
    Bonjour,

    J’administre au mieux le site www.admlarochelle.com sous Joomla 3.9.8. J’utilise le composant AllEvents qui n’est pas plus suivit malheureusement. Nos bénévoles ne sont pas toujours très a laise avec leurs navigateurs et je souhaite simplifier la création d’un évènement AllEvents. Il faudrait donc que je modifie un ou plusieurs fichiers PHP ou XML je ne sais pas, car je ne suis pas développeur.

    Ma question est la suivante ; il faudrait je puisse connaître les fichiers sollicités lors de la création d'un évènement AllEvents (components/com_allevents) afin d’y regarder de plus près et de les éditer et modifier … Comment je peux faire , si vous avez bien-sur d’autre suggestions je vous en remercie … Pour information, j’ai écris à Emmanuel Lecoester, sans réponse. Je comprends ...

    Cordialement,
    Bonjour

    Emmanuel a fait le choix de ne plus supporter AE et comme tu le mentionnés aussi c'est un choix respectable.

    Pour ta question la réponse n'est pas française : impossible.

    Très simplement parce que php permet d'inclure des fichiers (require ou include) ainsi que d'en lire (file_get_content et d'autres) et il n'y a pas de logs à ce niveau.

    Maintenant tout n'est pas perdu loin de là car tu peux utiliser un outil nommé xdebug pour suivre l'exécution à la trace mais cet outil est loin d'être simple à appréhender.

    Bonne chasse.
    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


    • #3
      Bonjour,

      Il s'agit d'un cours de debugging ?

      Pour info, personnellement, je fais tout cela en local, sur une PC windows 10 (2 écrans), en utilisant uWamp https://www.uwamp.com/fr/ et NetBeans IDE https://netbeans.org/features/php/

      Après, une fois la sauvegarde de votre site montée en local, le but du "jeu" est de mettre de passer en mode debug et de mettre des points d'arrêt (breakpoint) au bon endroit. Cela vous donne la pile d'appel (call stack). Bref, c'est un métier

      Pascal
      If anything can go wrong, it will...If I can help, I will ..https://conseilgouz.com

      Commentaire


      • #4
        Autre piste : mettez votre site en mode debug avec rapport d'erreur sur "développement" et plantez votre site en mettant une instruction invalide (appel à une procédure qui n'existe pas, par exemple) dans une des fichiers PHP finaux d'affichage (en général, un fichier dans le répertoire views d'un composant). Cela vous donne aussi la pile d'appel, mais, c'est moins beau.

        Conseil: comme précédemment, faites cela en local.

        Pascal
        If anything can go wrong, it will...If I can help, I will ..https://conseilgouz.com

        Commentaire


        • #5
          Merci pmleconte mais je travail déjà sur un serveur local bien-sur (Macmin) Si je comprends bien il n'y a pas de commande PHP qui permet de tracer l'activité PHP !

          Merci,
          Dernière édition par phelibre à 02/07/2019, 16h51

          Commentaire


          • #6
            Il existe une commande PHP debug_print_backtrace https://www.php.net/manual/en/functi...-backtrace.php
            Elle permet d'avoir le stack des appels d'une fonction.
            Je n'ai pas encore testé,mais, peut-être la solution.

            Pascal
            If anything can go wrong, it will...If I can help, I will ..https://conseilgouz.com

            Commentaire


            • #7
              Je viens d'ajouter debug_print_backtrace(); dans un de mes modules et cela donne bien le stack.

              Par exemple,
              Code:
              #0 CGParallaxViewPage->display() called at [C:\UwAmp\www\conseil2\libraries\src\MVC\Controller\BaseController.php:672]
              #1 Joomla\CMS\MVC\Controller\BaseController->display(, ) called at [C:\UwAmp\www\conseil2\components\com_cgparallax\controller.php:21]
              #2 CGParallaxController->display() called at [C:\UwAmp\www\conseil2\libraries\src\MVC\Controller\BaseController.php:710]
              #3 Joomla\CMS\MVC\Controller\BaseController->execute() called at [C:\UwAmp\www\conseil2\components\com_cgparallax\cgparallax.php:15]
              #4 require_once(C:\UwAmp\www\conseil2\components\com_cgparallax\cgparallax.php) called at [C:\UwAmp\www\conseil2\libraries\src\Component\ComponentHelper.php:402]
              #5 Joomla\CMS\Component\ComponentHelper::executeComponent(C:\UwAmp\www\conseil2/components/com_cgparallax/cgparallax.php) called at [C:\UwAmp\www\conseil2\libraries\src\Component\ComponentHelper.php:377]
              #6 Joomla\CMS\Component\ComponentHelper::renderComponent(com_cgparallax) called at [C:\UwAmp\www\conseil2\libraries\src\Application\SiteApplication.php:194]
              #7 Joomla\CMS\Application\SiteApplication->dispatch() called at [C:\UwAmp\www\conseil2\libraries\src\Application\SiteApplication.php:233]
              #8 Joomla\CMS\Application\SiteApplication->doExecute() called at [C:\UwAmp\www\conseil2\libraries\src\Application\CMSApplication.php:196]
              #9 Joomla\CMS\Application\CMSApplication->execute() called at [C:\UwAmp\www\conseil2\index.php:49]
              Reste à le mettre au bon endroit.

              Pascal
              If anything can go wrong, it will...If I can help, I will ..https://conseilgouz.com

              Commentaire


              • #8
                Hello

                Pascal, si tu as le temps un de ces jours regarde xdebug.

                Tu mets un point d'entrée puis tu fais du pas à pas. Redoutable mais pas aisé à mettre en œuvre la première fois.

                Je l'utilise dans les projets laravel pour contrôler l'exécution de mon code, l'optimiser, rechercher des fonctionnalités inattendues, afficher le contenu de variables, etc.

                Sur ce forum roland_d_alsace est un gros utilisateur de xdebug dans le cadre de son propre développement joomla.
                Dernière édition par cavo789 à 03/07/2019, 13h13
                pmleconte 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


                • #9
                  Merci à tous, je vais prendre mon temps pour tenter d'essayer de faire quelques choses (>

                  Commentaire


                  • #10
                    salut,

                    regardes l'url non réecrite et tu trouveras ce que tu cherches.

                    Regardes dans le dossier views du composant.

                    tu y trouveras des sous dossiers et avec dans chaque un dossier tmpl.
                    Ce sont les fichiers appellés pour chacune des vues de ton composant.

                    Dans le cas du composant contenu tu as la structures suivante:

                    /components/com_content/views qui contient les sous dossiers suivants:
                    archives : le contenu de ce dossier sert à gérer les archives et à afficher celles ci

                    donc en copiant le contenu du dossier /components/com_content/views/archives/tmpl
                    dans le dossier /templates/[nom du template]/html/com_content/archives et en modifiant ces fichiers, tes modifs passeront les mises à jour du système.

                    on doit obtenir la structure suivante /templates/[nom du template]/html/com_content/archives/default.php
                    C'est le principe de surcharge de module ou composant

                    article : le contenu de ce dossiser sert pour l'affichage des articles

                    Le fichier generalement s appelle default.php. Cela permet de modifier la vue par défaut de tout ton site.

                    Si tu souhaites modifier une partie de ton site, renommes le fichier default.php en autre_chose.php.

                    tu pourras selectionner cette vue (autre_chose) dans les paramètres d affichage du lien de menu.

                    Ce principes fonctionnes aussi bien en facade qu en admin.
                    Dernière édition par lefabdu51 à 03/07/2019, 13h17

                    Commentaire


                    • #11
                      Merci lefabdu51

                      Commentaire


                      • #12
                        Avec ta méthode lefabdu51 j'ai modifié mon fichier défaut.php (com_allevents/views/eventform/tmpl) comme je l'ai souhaité Il me reste une modification de libellé, j'aurai aimé également que le titre qui sera modifié en Qui (Évènement sera modifié en Permanence) soit rempli automatiquement avec le nom du user qui c'est bien-sur logé au part avant ...

                        Si vous avez un tuyau merci ...
                        Fichiers joints

                        Commentaire


                        • #13
                          bonjour,
                          sans voir le fichier, dur de répondre.
                          Quand au titre, il s'agit du titre de l'évenement?
                          Et doit il avoir une valeur par défaut ?

                          ​​​​​​​désolé mais la je ne vois pas ce que tu veux faire....

                          Commentaire


                          • #14
                            Plus précisément dans la rubrique Titre ( difficilement modifiable : assignation je pense ) j'aurai aimé voir pré rempli l'identifiant du bénévole connecté pour plus de convivialité

                            Autrement j'ai un décalage de 2 heures entre la saisie et l'affichage dans le planning ! Joomla est sur le fuseau de Paris soit h+2 sur greenwich et donc le planning affiche en h-2 !!! Comprend pas ...
                            Fichiers joints

                            Commentaire


                            • #15
                              peut tu m envoyer le fichier php utilisé pour ta surcharge afin que je rajoutes le code pour ton titre ?
                              il faut recuperer le champ, modifier son type pour hidden et lui attribuer une valeur par défaut.
                              Code:
                              qui ? <?php echo $this->user->name ; >
                              et pour le champ
                              <input type="hidden" name="nomduchamp" value="<?php echo $this->user->name" />

                              Commentaire

                              Annonce

                              Réduire
                              Aucune annonce pour le moment.

                              Partenaire de l'association

                              Réduire

                              Hébergeur Web PlanetHoster
                              Travaille ...
                              X