Partage
  • Partager sur Facebook
  • Partager sur Twitter

Optimisation de script

Sujet résolu
    18 août 2006 à 15:23:06

    Salut tout le monde !

    Je travaille actuellement sur mon futur système de news, en m'inspirant fortement du tuto "<lien="http://www.siteduzero.com/tuto-3-1822-1-creer-un-systeme-de-news-complet.html">Créer un système de news complet</lien>".

    Bref, le modifiant un peu, je me pose certaines questions quant à la rapidité du script.

    Problème n°1


    Tout d'abord, j'afficherai sur ma page d'accueil seulement les titres, date et auteur des news.
    Pointer sur le titre de la news affichera en "infobulle" (c'est juste un span caché en fait, mais chut faut pas le dire) le début de ma news (130 premiers caractères).
    Pour l'instant ce que je fais, c'est qu'au début de mon script je fais une requête avec les infos dont j'ai besoin, y compris le contenu de la news.
    Je raccourci ensuite ce contenu grâce à la fonction substr, puis je fais ma boucle.

    Mais dans l'optique d'alléger le script, je me suis dit qu'appeler tout le contenu pour finalement n'en afficher que 130 caractères était inutile.
    Et donc je cherche un moyen de faire mieux. J'ai pensé à rajouter un champ "contenu_raccourci" à ma table news, pour inscrire directement le début à part, mais ça me paraît un peu tiré par les cheveux :p

    Problème n°2


    Deuxième chose, pour faciliter la vie à mes newsers qui n'y connaîtraient rien en xhtml, je voudrais mettre en place un système de bbcode (light hein, pas complet ^^) et de smileys.
    Les 6 regex (pour le bbcode) et les str_replace (pour les smileys) sont faîtes, mais je me demande comment les mettre en place au mieux.
    Je veux dire par là que le chargement de l'accueil doit être le plus rapide possible (tant pis pour le newser si ça met 0.5 secondes de plus pour poster la news.
    La logique me dit qu'il faut les appliquer avant l'inscription dans la bdd, afin de ne pas les appeler à chaque visualisation de news.

    Mais pour la modification comment faire pour que le bbcode/smileys réapparaissent en tant que texte et non pas en tant que code xhtml ?
    Faire les preg/str_replace à l'inverse ? N'est-ce pas trop lourd ?

    Voilà, merci d'avance de votre aide ;)
    • Partager sur Facebook
    • Partager sur Twitter
      18 août 2006 à 15:27:37

      Citation

      Mais dans l'optique d'alléger le script, je me suis dit qu'appeler tout le contenu pour finalement n'en afficher que 130 caractères était inutile.

      C'est la solution la plus simple, et à priori la plus rapide. Garde ça comme ça.

      Pour ta deuxième solution, moi je préfèrerais la simplicité à la rapidité : si tu as seulement 6 regexp, exécute-les à l'affichage, c'est vraiment rapide.
      Si un jour tu passes vers un système plus lourd, tu pourras penser à mettre en cache ou je sais pas quoi, mais actuellement ça complexifierait le script pour pas grand chose.
      • Partager sur Facebook
      • Partager sur Twitter
        18 août 2006 à 15:30:18

        Bonjour, pour ton premier problème va voir dans la doc de MySQL tu dois pouvoir trouver ton bonheur j'en suis sûr!
        Pour ton deuxième problème c'est toute la question du bbcode, tu as aussi une autre alternative qui est de faire un champ dans ta bdd qui contiendrais le méssage non parsé mais la ça demande une grosse bdd au cas où le site soit très important et que tu est des tonnes et de tonnes de news sa fait que tu double la taille de ta table presque, donc bof! :D
        En gros à toi de choisir, sinon la meilleur solution c'est le xml/xsl (le Zcode est fait comme ça).

        Au revoir.
        • Partager sur Facebook
        • Partager sur Twitter
        Anonyme
          18 août 2006 à 15:34:39

          POur ta question 1, c'est très simple en SQL ;)
          SELECT LEFT(ton_champs, 130) AS ton_champs FROM tatable

          Ca selectionnera les 130 premiers caractère de ton champs en partant de la gauche.
          • Partager sur Facebook
          • Partager sur Twitter
            18 août 2006 à 15:42:20

            bluestorm > Nan en fait je n'ai pas enlevé cette fonctionnalité, et je ne le souhaite pas, mais je voudrais trouver un moyen plus léger quoi ^^

            Pour ce qui est du deuxième problème, j'ai seulement 6 regex, mais aussi pas mal de str_replace (une quarantaine...), c'est pour ça que je me posais la question.

            the angel > c'est vrai que cette alternative est intéressante seulement si on a peu de news, parce que bon je me vois mal doubler la taille de ma bdd, surtout que les sauvegardes à dl avec un 56k, bof quoi ^^

            edit : Yondaime, je t'aime ^^ : Problèem n°1 résolu :)
            • Partager sur Facebook
            • Partager sur Twitter
              19 août 2006 à 18:32:47

              Up : je pourrais avoir d'autres avis sur mon 2ème prob ?

              Mici :)
              • Partager sur Facebook
              • Partager sur Twitter
              Anonyme
                19 août 2006 à 18:34:29

                Pour ton deuxième problème, tu dois faire comme tu l'as dit.
                • Partager sur Facebook
                • Partager sur Twitter
                  20 août 2006 à 12:49:45

                  Oki, donc je fais avant l'inscription dans la bdd, et je les remets en bbcode lors de la modif :)

                  Merci :)
                  • Partager sur Facebook
                  • Partager sur Twitter

                  Optimisation de script

                  × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                  × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                  • Editeur
                  • Markdown