Bug pour générer un fichier Sitemap

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

  • #16
    Envoyé par lendrevi Voir le message
    @ manu93fr,

    Que de bavardage pour ne rien dire. Peut-être que l'on peut passer au fond de mon problème puisque tu dis m'aider.
    Ai-je bien répondu à tes questions ? Cela me semble plus important.
    j'ai dejà fait ma ptite contribution mais encore faut il être un peu patient .... et coté "bavardage pour ne rien dire", tu as raison, j'arrête de ce pas ce "bavardage" inutile et stérile avec toi .... j'ai déjà mal à la tête

    ps: tu as vu ... j'ai mis un smiley ... donc pas agressif ...
    Ce forum, vous l'aimez ? il vous a sauvé la vie ? Vous y apprenez chaque jour ? Alors adhérez à l'AFUJ https://www.joomla.fr/association/adherer
    Cette année, le JoomlaDay FR a lieu à Bruxelles, les 20 et 21 mai 2022, plus d'infos et inscriptions : www.joomladay.fr

    Commentaire


    • #17
      @ manu93fr,

      Je t'ai fait remarquer que nos 2 posts se sont croisés et que cette réponse de ma part " ... que de bavardage pour ne rien dire ..." a été écrite avant de recevoir tes derniers conseils. Merci donc de bien vouloir en tenir compte.
      Mais c'est très bien ainsi, tu as raison et ne perds pas de temps à intervenir ainsi dans mes demandes d'aide.
      Ceci ne fait que confirmer ce que je pense de toi : tu as un fichu caractère. Tes interventions semblent signées d'un garde chiourme au fond d'une prison, et non d'un modérateur de l'open source !

      Commentaire


      • #18
        Voici ce qu'un spécialiste du langage php m'a conseillé d'écrire en lieu et place de mon instruction bloquante :

        Code PHP:
          $site = SITE;  $xml = <<<xml  <?xml version="1.0" encoding="utf-8"?>  <sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">  <sitemap>  <loc>{$site}/sitemaps/sitemap.xml</loc>  </sitemap>  xml;  file_put_contents('sitemaps/sitemap-index.xml', $xml);
        Après un nouveau test, cette écriture me donne l'erreur :

        --> 0 - syntax error, unexpected '<<' (T_SL)

        D'après ce spécialiste, la version de php fournie par mon hébergeur O2switch -cf. 7.2.25- n'autoriserait pas l'utilisation de la notation herecode (celle qui permet l'écriture de "<<<xml").
        Je viens donc de soumettre cette remarque à mon hébergeur, et j'attends sa réponse.

        Commentaire


        • #19
          Bonjour,

          Pourquoi tant d'agressivité. Manu ne l'a jamais été.

          Quand j'ai un problème de ce type, je simplifie ou j'éclate mon code pour isoler le problème.
          J'ai un doute sur la forme d'une chaîne, je la remplace par une autre forme.
          Je doute que mon serveur accepte les chaines heredoc (et non herecode ), je la remplace pour tester

          Devant ce genre de souci, un développeur est seul devant son code dans son environnement
          UP, le plugin universel à découvrir sur https//up.lomart.fr
          bgMax
          , AdminOrder, MetaData, Zoom, ArtPlug, Custom, Memo, Filter, ... sur http://lomart.fr/extensions

          Commentaire


          • #20
            Bonjour

            Visiteur merci de veiller à respecter tes interlocuteurs. Je ne vois aucune agressivité dans les messages de Manu. La seule personne qui a fait montre de sentiments peu collégial, c'est toi.

            Si tu veux recevoir de l'aide, le respect de l'autre est déjà un bon point de départ.

            Pour ton problème, je rejoins Loïc : à un moment donné, on simplifie son code. Es-tu certain de la ligne qui provoque l'erreur ? (tu n'as pas dis plus haut avoir mis la ligne en commentaire pour confirmer que cela fonctionne).

            Heredoc ? Pourquoi ? Tu fais juste une concaténation d'une chaîne de caractères et d'une variable. C'est une des choses les plus simples en programmation à faire; nul besoin de compliquer la chose en utilisant des heredoc.

            Commente et simplifie et tu trouveras assez vite où était l'erreur.

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


            • #21
              Envoyé par lomart Voir le message
              Bonjour,

              Pourquoi tant d'agressivité. Manu ne l'a jamais été.

              Quand j'ai un problème de ce type, je simplifie ou j'éclate mon code pour isoler le problème.
              J'ai un doute sur la forme d'une chaîne, je la remplace par une autre forme.
              Je doute que mon serveur accepte les chaines heredoc (et non herecode ), je la remplace pour tester

              Devant ce genre de souci, un développeur est seul devant son code dans son environnement
              Bonjour, et merci pour votre contribution,

              Je ne pense pas être agressif, mais peut-être un peu susceptible ! Je n'aime pas être pris pour un idiot, voire même un maladroit. Je pense être appliqué et réfléchi, tout au moins je m'y efforce.
              Il n'est pas interdit à quiconque d'être respectueux d'autrui. Bien au contraire.
              Quand je réponds à des demandes sur ce forum, je m'interdis tout jugement de valeur sur le demandeur. Simple politesse.

              Je partage tout à fait vos conseils de développeur. Et j'en applique tout autant. Croyez-moi, depuis que je suis tombé sur cette erreur, je n'ai de cesse de tenter d'autres écritures, d'éclater mon code, etc...
              Quant à cette réflexion sur la "notion heredoc", elle n'émane pas de moi (j'en ignorais l'existence) mais d'un spécialiste php. Je l'ai rapporté tel quel ici (merci pour le correctif "heredoc" et non "herecode" comme il me l'avait écrit). Je n'ai jamais utilisé de telles écritures.

              Commentaire


              • #22
                Envoyé par cavo789 Voir le message
                Bonjour

                Visiteur merci de veiller à respecter tes interlocuteurs. Je ne vois aucune agressivité dans les messages de Manu. La seule personne qui a fait montre de sentiments peu collégial, c'est toi.

                Si tu veux recevoir de l'aide, le respect de l'autre est déjà un bon point de départ.

                Pour ton problème, je rejoins Loïc : à un moment donné, on simplifie son code. Es-tu certain de la ligne qui provoque l'erreur ? (tu n'as pas dis plus haut avoir mis la ligne en commentaire pour confirmer que cela fonctionne).

                Heredoc ? Pourquoi ? Tu fais juste une concaténation d'une chaîne de caractères et d'une variable. C'est une des choses les plus simples en programmation à faire; nul besoin de compliquer la chose en utilisant des heredoc.

                Commente et simplifie et tu trouveras assez vite où était l'erreur.

                Bonne journée.
                Bonjour,

                Dans mon post #9 de cette discussion, j'ai bien précisé au n°5 de mes réponses que j'avais pratiqué une documentation de toutes mes ignes puis relâché progressivement pour comprendre quelle instruction de mon script générait l'erreur.
                Et j'ai montré cette instruction (tentative d'écriture d'une ligne dans le sitemap.xml).
                ps: je ne suis jamais irrespectueux sur ce forum. Je t'invite à vérifier les nombreux posts et les aides que l'ai pu apporter moi-même sur ce forum

                Commentaire


                • #23
                  <BIG TROLL - START>

                  Envoyé par manu93fr Voir le message
                  Bonsoir,
                  qui dit php ... suppose écrire un script avec les bonnes instructions suivant la version de php du serveur

                  Questions :
                  - quelle est la version exacte de php sur ton serveur ?
                  - tu as écris toi même ce script ou tu l'as "récuperée" quelque part ?
                  - si tu es sur un site Joomla, pourquoi utiliser un tel script ? tu as des extensions pour cela ... sauf si tu as une raison précise que je ne connais pas
                  - peut on avoir l'intégralité du code ? (pour trouver une éventuelle erreur)

                  si personne ne peut t'aider ...... il faudrait peut être t'orienter sur un forum dédié a PHP
                  Visiteur
                  Je ne vois nulle part, dans l'intervention de Manu, la moindre agressivité, ni dans le fond, ni dans la forme (y a même un smiley )

                  Apparemment ce bug dans ton code t'énerve (je peux comprendre) au point de prêter de fausses intentions aux intervenants (ça je comprends moins).

                  Il ne faut pas oublier que les messages qu'on lit se teintent toujours de l'état d'esprit dans lequel on se trouve, d'où parfois une mauvaise interprétation des intentions.

                  Donc en cette période de fêtes, je ne saurai trop te conseiller de manger un peu (beaucoup) de chocolat, c'est bon pour l'humeur comme pour le cerveau

                  </BIG TROLL - END>
                  Je préfère éclairer que briller.” - “J'ai peut-être l'air froid, mais je suis pas givré.- "ça dépend ça dépasse"
                  Ne m'envoyez pas de message privé pour résoudre vos problèmes sans y avoir été invité.
                  Dolmenhir : tailleur de site web depuis 1997. Spécialiste Joomla depuis 2005. https://www.dolmenhir.fr

                  Commentaire


                  • #24
                    Hello Visiteur

                    A part le fait que tu n'utilises pas les fonctions standard offertes par Joomla pour les query en base je ne vois rien d'anormal et mon PHPStorm non plus.

                    Comme je n'ai pas de réponse à ta question, j'ai une alternative : JSitemapPro. tu peux générer le sitemap pour les URL que tu souhaites (comme j'en ai qqes milliers je fais çà par requete SQL). Cà marche c'est fonctionnel et la version pro te permet de suivre bien d'autres choses.

                    Manu

                    Commentaire


                    • #25
                      Envoyé par elecoest Voir le message
                      Hello Visiteur

                      A part le fait que tu n'utilises pas les fonctions standard offertes par Joomla pour les query en base je ne vois rien d'anormal et mon PHPStorm non plus.

                      Comme je n'ai pas de réponse à ta question, j'ai une alternative : JSitemapPro. tu peux générer le sitemap pour les URL que tu souhaites (comme j'en ai qqes milliers je fais çà par requete SQL). Cà marche c'est fonctionnel et la version pro te permet de suivre bien d'autres choses.

                      Manu
                      Bonjour,
                      Je te remercie pour ce conseil concernant JSitemapPro.
                      Je viens justement de résoudre mon problème en travaillant en 2 étapes :
                      1. j'ai simplifié mon script pour qu'il ne génère pas la 1ère ligne de tout sitemap,
                      2. après exécution du scipt, il me reste ensuite à ajouter avec un éditeur de texte la 1ère ligne manquante dans chacun des sitemaps.
                      nb : idem pour le sitemap.index
                      Après vérification, mes quelques 500000 urls sont ok.

                      ps: je suis surpris par ta remarque selon laquelle je n'utilise pas les fonctions standard offertes par Joomla pour les query en base : j'utilise ici "mysqli" qui est un standard au-delà de Joomla. Et sans problème. Et avec l'avantage de pouvoir faire tout contrôle de bonne écriture par des tests préalables avec "phpMyadmin sur ma bdd (avec un simple copier/coller de ma requête mysqli).
                      Mais je suis conscient qu'il existe bien d'autres méthodes, et notamment des méthodes propres à Joomla.

                      Bons vœux pour 2020 !

                      Commentaire


                      • #26
                        juste qu'au lieu d'écrire

                        $conn = mysqli_connect('... mes données personnelles de connexion à la BDD...');
                        $req = "SELECT nom, prenom, profession, specialite, code_profession, b5, mode_exercice, cp_ville, a3 FROM table WHERE ((cp_ville > ' ') AND (a3 = 'C') AND !((code_profession = '60') AND (b5 = 'S')) OR (code_profession = '86') OR (code_profession = '50') OR (code_profession = '21') OR (code_profession = '28') OR (code_profession = '98'))";


                        j'aurais fait :


                        $db = JFactory::getDbo(); $query = $db->getQuery(true); $req = "SELECT nom, prenom, profession, specialite, code_profession, b5, mode_exercice, cp_ville, a3 FROM table WHERE ((cp_ville > ' ') AND (a3 = 'C') AND !((code_profession = '60') AND (b5 = 'S')) OR (code_profession = '86') OR (code_profession = '50') OR (code_profession = '21') OR (code_profession = '28') OR (code_profession = '98'))"; $db->setQuery($req);
                        $results = $db->loadObjectList(); ...

                        Commentaire

                        Annonce

                        Réduire
                        Aucune annonce pour le moment.

                        Partenaire de l'association

                        Réduire

                        Hébergeur Web PlanetHoster
                        Travaille ...
                        X