Joomladay francophone 2018 à Paris 18 et 19 mai

Optimisation avec SmartOptimizer (concatenation,embedding,minify,cache,compression)

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

  • [Astuce] Optimisation avec SmartOptimizer (concatenation,embedding,minify,cache,compression)

    Bonjour,

    Voici une solution "tout en un" pour optimiser les chargement de vos sites.

    SmartOptimizer est développé sous licence GPL par Ali Farhadi

    Ce script tout en un permet d'obtenir en moyenne un score YSlow de 80 (hors pub google et autres flash)

    Télécharger: SmartOptimizer v1.7 beta

    Extraire l'archive dans votre site root.

    Si vous avez le mod_rewrite activé, ajoutez ceci dans votre .htaccess juste après la ligne "RewriteEngine On":
    Code:
    <IfModule mod_expires.c>
    <FilesMatch "\.(gif|jpg|jpeg|png|swf|css|js|html?|xml|txt|ico)$">
    ExpiresActive On
    ExpiresDefault "access plus 10 years"
    </FilesMatch>
    </IfModule>
    <IfModule mod_rewrite.c>
    RewriteEngine On
    
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*\.(js|css))$ smartoptimizer/?$1
    
    <IfModule mod_expires.c>
    RewriteCond %{REQUEST_FILENAME} -f
    RewriteRule ^(.*\.(js|css|html?|xml|txt))$ smartoptimizer/?$1
    </IfModule>
    
    <IfModule !mod_expires.c>
    RewriteCond %{REQUEST_FILENAME} -f
    RewriteRule ^(.*\.(gif|jpg|jpeg|png|swf|css|js|html?|xml|txt|ico))$ smartoptimizer/?$1
    </IfModule>
    </IfModule>
    <FilesMatch "\.(gif|jpg|jpeg|png|swf|css|js|html?|xml|txt|ico)$">
    FileETag none
    </FilesMatch>
    Ensuite n'oubliez pas de verifier le fichier /smartoptimizer/configuration.php
    Et ajustez les options selon vos besoins.

    Mais comment être sur que le script est actif ?
    Allez voir dans /smartoptimizer/cache si de fichiers y sont, alors c'est bon.

    Si vous avez des questions, pas de soucis.

    NOTA: Si vous avez une popup du type "Smartoptimizer error" : File is out of base directory "
    Rien de grave, avant tout, pour savoir quel fichier fait son intérréssant, il faut faire une petite modification dans le index.php de smartoptimizer

    Trouver:
    Code:
    if (strpos(realpath($fileDir), realpath($settings['baseDir'])) !== 0) debugExit("File is out of base directory.");
    Remplacer par:
    Code:
    if (strpos(realpath($fileDir), realpath($settings['baseDir'])) !== 0) debugExit("File is out of base directory." . $query);
    Ensuite la popup dans l'administration donnera le nom du fichier en question.

    En général ceci n'est pas du à smartoptimizer, mais au fichier (module/composant) qui comporte un appel de fichier avec un lien relatif inexact.

    ATTENTION: Si vous avez déjà vous même compressé quelques un de vos scripts (avec packer par exemple) il est fort probable que ceux ci ne fonctionne plus car il sont recompacté avec smartoptimizer, veillez donc bien à remmetre les sources originales avant d'installer smartoptimizer !

    Et dé-p.a.c.k.e.r...c'est facile http://dean.edwards.name/packer/ et de toute façon eval( c'est mal...
    Dernière édition par Sirius à 09/04/2010, 09h15
    Apprendre à apprendre........
    www.octeam.fr
    Pas de support par MP

  • #2
    ok... pour compléter ton message :

    le yslow peut se déterminer grace au petit add-on pour firefox de yahoo téléchargeable sur http://developer.yahoo.com/yslow/


    Pour le programme smartoptimizer, c'est une compression gzip (jusqu'a 80%) pour les fichiers css et javascript. Alors si votre site n'est pas optimisé de ce coté là, ce script php va améliorer sensiblement la rapidité de chargement des pages.

    L'adresse du site : http://farhadi.ir/works/smartoptimizer
    Joomla User Group (JUG) Lille : https://www.facebook.com/groups/JUGLille/

    Commentaire


    • #3
      Tout à fait Daneel, merci pour le lien du site je l'avait omis !

      Effectivement l'extension YSlow pour Firefox peut être installé, à condition d'avoir installé Firebug au préalable.

      http://getfirebug.com/

      Pour la compression gzip, depuis la 1.7 de smartoptimizer vous pouvez ajuster le taux de compression de 1 à 9 dans la configuration.

      Je recommande de mettre à 6, ce qui est le meilleur compromis taux/charge cpu.
      Apprendre à apprendre........
      www.octeam.fr
      Pas de support par MP

      Commentaire


      • #4
        Allez comme on est dans l'optimisation...

        Ce serait intéressant de comparer la performance avec speedy plugin qui existe également pour joomla 1.5

        http://www.fijiwebdesign.com/downloa...etails/gid,61/

        Ce plugin optimise également avec de la compression gzip mais il faut que le module Tidy Extension soit activé sur ton serveur.

        EDIT : Je te mets le plugin PHP Speedy en pièce jointe à ce message et je donne un lien pour installer tidy sur ton serveur si ce n'est déjà fait : http://michel.petit9.free.fr/article/decouvrir-tidy/
        Fichiers joints
        Dernière édition par daneel à 20/12/2008, 23h18
        Joomla User Group (JUG) Lille : https://www.facebook.com/groups/JUGLille/

        Commentaire


        • #5
          Merci a vous deux c'est justement ce que je cherchais je vais tester cela en complément de zend optimizer et mod_fastcgi pour les scripts
          Impression textile

          Commentaire


          • #6
            Performance Grade: F (33)

            bonjour,
            suite à la lecture de vos post, j'ai installé YSlow et j'obtien F(33). Mais je ne sais pas comment l'interpréter.
            A quoi correspont le F et le 33?
            merci
            Miecaze
            C'est pas facile, mais avec un peu d'effort j'y arrive....

            Commentaire


            • #7
              Bonjour,

              C'est simple le site est trés trés lent.
              Je pense que tu dois avoir des visiteurs qui n'attendent pas la fin de chargement de la page.

              Cordialement,
              Stéphane

              Commentaire


              • #8
                pas cool....

                ah oui là c'est pas cool du tout.... bon je vais voir comment arranger ça
                merci
                Miecaze
                C'est pas facile, mais avec un peu d'effort j'y arrive....

                Commentaire


                • #9
                  un léger mieux

                  suite à l'installation de SmartOptimizer v1.7 beta et l'activation de Gzip dans la configuration de mon site je passe de F33 à F49.... donc c'est mieux!!

                  Mais je reste à la lettre F et n'atteins pas des score de 80!!! mais le temps de chargement est de 4s ...

                  Alors deux questions :
                  • à partir de quel stade le chargement devient critique?
                  • et comment y remédier?

                  merci
                  Dernière édition par miecaze à 30/12/2008, 15h51
                  Miecaze
                  C'est pas facile, mais avec un peu d'effort j'y arrive....

                  Commentaire


                  • #10
                    Envoyé par miecaze Voir le message
                    à partir de quel stade le chargement devient critique?
                    3 secondes est la limite grand max avant qu'un visiteur ne décroche.

                    Envoyé par miecaze Voir le message
                    et comment y remédier?
                    J'ai consulté votre site:

                    - Etes vous certain d'avoir copier le code que je fournis correctement dans votre htaccess, car tous vos scripts *.js ne sont pas gzippé en particulier mootools.

                    - Savez vous que vous pouvez desactiver le plugin jceutilities sur la page d'accueil si vous avez sa dernière version ? ( la 2.1.7)

                    - Vous pouvez également ajouter
                    Code:
                    <?php flush(); ?>
                    juste après la balise de fermeture </head> dans le code de votre template (index.php)
                    Dernière édition par Sirius à 30/12/2008, 18h14
                    Apprendre à apprendre........
                    www.octeam.fr
                    Pas de support par MP

                    Commentaire


                    • #11
                      je comprend pas tout....

                      Merci à toi Sirius pour ces coup de pouce!!!

                      alors dans l'ordre
                      Etes vous certain d'avoir copier le code que je fournis correctement dans votre htaccess, car tous vos scripts *.js ne sont pas gzippé en particulier mootools.
                      oui, je l'avais copier à la fin, là je l'ai copié au début... va savoir s'il y a une différence?

                      - Savez vous que vous pouvez desactiver le plugin jceutilities sur la page d'accueil si vous avez sa dernière version ? ( la 2.1.7)
                      j'ai complètement désativé ce plugin (je ne me souviens plus pourquoi je l'avais installé....)

                      Vous pouvez également ajouter
                      Code:

                      <?php flush(); ?>

                      juste après la balise de fermeture </head> dans le code de votre template (index.php)
                      c'est fait, à quoi ça sert?

                      sinon, le résultat est certes meilleur en terme d'indicateur YSlow mais variable d'un chargement à l'autre..... de D67 à B88
                      Concernant le temps de chargement, variable aussi : de 2s à plus de 15s ...

                      Donc les résultat est mitigé bon
                      Ce qui me gène c'est que ce soit aléatoire, à moins que j'ai fais une boulette!!!
                      Miecaze
                      C'est pas facile, mais avec un peu d'effort j'y arrive....

                      Commentaire


                      • #12
                        C'est bon tu es dans les clous là

                        Après c'est selon le type d'hébergement...

                        Le php flush vide les buffers de sortie de PHP et tous ceux que PHP utilisait (CGI, un serveur web, etc.). Cette fonction envoie réellement toutes les données préparées vers l'utilisateur.
                        Dernière édition par Sirius à 30/12/2008, 16h38
                        Apprendre à apprendre........
                        www.octeam.fr
                        Pas de support par MP

                        Commentaire


                        • #13
                          bon, merci encore pour ces explications.

                          je vais laisser couler un peu d'eau sous les pont, et je penses que je paufinerai tout ça la semaine prochaine, ou le mois prochain, ou l'année prochaine ... enfin bientôt
                          Miecaze
                          C'est pas facile, mais avec un peu d'effort j'y arrive....

                          Commentaire


                          • #14
                            Hello !

                            Je teste smartoptimizer, ça a l'air de fonctionner...
                            Mais comment être sur que le script est actif ?

                            Je n'avais pas le cache et la compression Gzip actifs dans la configuration globale de Joomla! non plus, là j'ai tout activé, ça a l'air de tenir

                            En gros, la vitesse du site est quasi doublée chez moi !
                            Je n'ai pas testé le speedyplugin, à voir aussi...
                            Enjoy J!

                            Commentaire


                            • #15
                              Envoyé par crony Voir le message
                              Mais comment être sur que le script est actif ?
                              Allez voir dans /smartoptimizer/cache

                              Si de fichiers y sont, alors c'est bon, le script bosse

                              Et puis la vitesse de chargement parle d'elle même.

                              Ceci dit, c'est facilement vérifiable à l'aide de l'extension YSlow, comme nous l'avons mentionné plus haut.
                              Apprendre à apprendre........
                              www.octeam.fr
                              Pas de support par MP

                              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
                              Travaille ...
                              X