Optimisation de site (cache, compression, etc...)

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

  • [Suggestion] Optimisation de site (cache, compression, etc...)

    Hello à tous,

    Je m'amuse depuis quelques jours a optimiser un de mes sites pour améliorer ses performances de chargement et au fur et a mesure des test des questions me viennent, d'où mon post.
    ( Je précise que c'est plutôt un sujet qui m'intéresse personnellement mais qui n'a pas grand intérêt pour le site puisque pas d'enjeu de référencement et pas grand besoin non plus pour ses utilisateurs, bref....)

    Pour info : mon site : joomla 5.2, template astroid framework qui utilise aussi sppagebuilder.

    Mes questions portent plutot sur les systèmes de mise en cache, optimisation/compression des ressources (pas sur le seo).
    J'obtiens d'ailleurs de bon résultats dans google page speed mais l'idée c'est de comprendre comment bien procéder et j'aime bien comprendre le fond des choses !!

    Voici mes questions :

    1. Compression/optimisation des css, javascript, etc....

    Le framework astroid propose des options lazyload, mais aussi : minify css, minify js, minify html.
    Sppagebuilder propose également quelques options dans ce style.
    Je teste également jch optimize qui propose les mêmes options ( et d'autres)
    Mon serveur propose pagespeed qui l'air de faire des truc plus ou moins semblables !!

    Je voulais savoir quel est la meilleure façon de procéder car il me semble que si j'active tout, il va y avoir des conflits ?

    La j'ai activer tout sur astroid et j'ai un bon resultat, si j'active jch optimize en plus, j'ai de moins bon résultat, ce qui viendrai conforter ma 1ere idée des conflits....

    Du coup je me demande quelle est la meilleur méthode en théori et en pratique. A mon sens, il faudrait un seul module qui prend la mains sur les autres pour éviter les conflits. par exemple je desactive tout sauf jch ou je laisse astroid tout gerer.

    Est-ce que la bonne démarche ?

    Quelle différence entre utiliser des plug/extension joomla et le faire au niveau du serveur ? je me dit que peut-être les extensions sont plus adaptés à joomla mais au final ne font-ils pas la même chose ?


    2. Gestion du cache.

    Un peu les même questions.

    Joomla propose un cache natif avec deux composant ( system >> cache et cache du navigateur), jch optimize a une fonction cache et d'autres appli/plugin également.
    Mon serveur (o2switch) propose aussi xtremecache, litecache (ls cache).

    Je suppose que si j'active tout ca va pas le faire....

    Donc que conseillerez-vous de faire ?

    Et pour comprendre : quelle différence entre une gestion par plugin (donc native) ou une gestion coté serveur ?


    3. Compression gzip / brotli.

    Il y a t-il une différence entre activer dans joomla, le faire dans le htacess ou dans mon admin ?


    Merci de vos éclaircissements !!!



    Fichiers joints

  • #2
    Bonjour,
    Premiere chose à savoir sur le cache. La tu a accès au niveau supérieur de ton infrastructure, donc le mieux est de le gérer directement au niveau du serveur. Plus tu remontes dans ta pile AMP, plus tu auras de gain au niveau performance.

    Tu utilise les options fournies par Joomla quand tu est sur un hebergement mutualisé, ou tu n'as pas accès au serveur principalement.

    Une autre grosse difference est la gestion de celui ci. Si tu utilise joomla, tu peut le vider en quelques clics. Si tu travailles au niveau du serveur il faudras passer par un script.

    Un parametre a prendre en compte aussi, c'est la frequence de mise à jour de tes pages. Si tu as des pages dynamique qui ont des parties qui s actualise souvent (ex un site qui affiche le cours d'une action en bourse en plus d articles fixe), tu auras plutot interet à utiliser le cache Joomla qui est prevu pour du contenu dynamique. au contraire si tu n as que des pages statiques, utilise le cache de ton serveur.

    Si tu comptes utiliser un cache serveur pour du contenu dynamique, il faut que la durée de vie des fichiers soit très courte (5minutes), sinon tu risque d avoir des incoherences entre ce qui sera affiché et ce qui devrais être affiché.

    En résumé, plus de performance au niveau du serveur, au prix de la simplicité de gestion.

    Dernier point: pour utiliser un cache, il faut que la fréquentation du site le justifie.

    Mon second conseil est d'utiliser qu'un seul outil de mise en cache (joomla ou serveur) sinon tu auras l'effet inverse de ce que tu souhaites.

    De même pour la minification des fichiers. Personnellement, je laisserait le template s'en charger car c'est son rôle. De même, il ne faut utiliser qu'un seul outil pour eviter les conflits.
    De plus, Il faut activer ces options après avoir terminer la mise en place de la charte graphique, sinon tu vas avoir du mal a retrouver tes petits (faire une recherche dans un fichier d'une seule ligne crée à partir de plusieurs fichiers, c est loin d'être évident).
    herve aime ceci.

    Commentaire


    • #3
      Hello,

      Merci de tes infos.

      Pour ma part, c'est un site statique a 95% il va changer 3 fois par an donc je pense que le cache serveur ca doit etre ok !
      Sur 02switch, il ya une option vider le cache dans cpanel dans ca pourrait aider, a peine plus complique.

      Je regarde tout ca de plus pres, merci en tout cas !

      A bientot

      Commentaire


      • #4
        Une autre spécificité du cache joomla que j ai oublié de te faire part, c est la possibilité ne ne cacher que certains modules. en cas de contenu dynamique, cela permet d actualiser les parties du site qui doivent l'être

        Commentaire


        • #5
          yes merci ca je savais !!

          Commentaire


          • #6
            Alors clairement
            - ne pas utiliser JCH Optimize (autant à l'époque de Joomla 3, pourquoi pas. Mais avec J4 et J5 ce n'est plus utile. Et surtout c'est un bazar pour être sûr de ne pas créer d'effets de bord)
            - par contre, sur tous les sites où j'ai mis en place LiteSpeed, ça pulse ! Clairement on est à un autre niveau : ça devient de l'instantané
            Fred2FR3 aime ceci.
            Présentations : slides.woluweb.be | Coordonnées complètes : www.woluweb.be

            Un message d’erreur sur votre site Joomla... ayez le reflexe de consulter la base de connaissance : https://kb.joomla.fr

            Ce forum, vous l'aimez ? Il vous a sauvé la vie ? Vous y apprenez régulièrement ? Alors adhérer à l'AFUJ, l'Association Francophone des Utilisateurs de Joomla : https://www.joomla.fr/association/adherer

            Commentaire


            • #7
              Bonjour
              C'est vrai qu'il est nécessaire de faire périodiquement une révision en fonction de l’évolution.
              En résumé si j'ai bien compris : qu'en général, il faut d'abords mettre en oeuvre les fonctionnalités du serveur (si possible) puis ceux de joomla puis des extensions sur des cas précis en ne l'activant qu'une seule fois.

              3. Compression gzip / brotli
              c'est quoi brotli ?

              Là j'ai un doute car sur ce forum j'avais noté daneel que gzip (configuration joomla) sur un mutu était intéressant !?
              Mais c'est vrai qu'il y a aussi le fichier htaccess optimisé, plus performant ? Ce que j'ai mis (à noter qu'il y a plus d'élément que sur le gzip mais que j'avais noté il y a pas mal d'année comme intéressant) :
              Code:
               <IfModule mod_deflate.c>
                AddOutputFilterByType DEFLATE text/plain text/xml text/css application/xml application/xhtml+xml application/rss+xml application/javascript application/x-javascript image/svg+xml
              </IfModule>
              
              <IfModule mod_gzip.c>
               mod_gzip_on Yes
               mod_gzip_dechunk Yes
               mod_gzip_keep_workfiles No
               mod_gzip_can_negotiate Yes
               mod_gzip_add_header_count Yes
               mod_gzip_send_vary Yes
               mod_gzip_min_http 1000
               mod_gzip_minimum_file_size 300
               mod_gzip_maximum_file_size 512000
               mod_gzip_maximum_inmem_size 60000
               mod_gzip_handle_methods GET
               mod_gzip_item_include file \.(html?|txt|css|js|php|pl|xml|rb|py|svg|scgz)$
               mod_gzip_item_include mime ^text/plain$
               mod_gzip_item_include mime ^text/xml$
               mod_gzip_item_include mime ^text/css$
               mod_gzip_item_include mime ^application/xml$
               mod_gzip_item_include mime ^application/xhtml+xml$
               mod_gzip_item_include mime ^application/rss+xml$
               mod_gzip_item_include mime ^application/javascript$
               mod_gzip_item_include mime ^application/x-javascript$
               mod_gzip_item_include mime ^image/svg+xml$
               mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.*
               mod_gzip_item_include handler ^cgi-script$
               mod_gzip_item_include handler ^server-status$
               mod_gzip_item_include handler ^server-info$
               mod_gzip_item_include handler ^application/x-httpd-php
               mod_gzip_item_exclude mime ^image/.*
              </IfModule>
              
              [B] => Mise en cache des médias statiques[/B]
              <IfModule mod_expires.c>
               # Enable expiration control
               ExpiresActive On
              
              # CSS and JS expiration:
               ExpiresByType text/css "now plus 1 year"
               ExpiresByType application/javascript "now plus 1 year"
               ExpiresByType application/x-javascript "now plus 1 year"
              
              # Image files expiration: 1 month after request
               ExpiresByType image/bmp "now plus 1 year"
               ExpiresByType image/gif "now plus 1 year"
               ExpiresByType image/jpeg "now plus 1 month"
               ExpiresByType image/jp2 "now plus 1 month"
               ExpiresByType image/pipeg "now plus 1 month"
               ExpiresByType image/png "now plus 1 month"
               ExpiresByType image/svg+xml "now plus 1 month"
               ExpiresByType image/tiff "now plus 1 month"
               ExpiresByType image/vnd.microsoft.icon "now plus 1 month"
               ExpiresByType image/x-icon "now plus 1 month"
               ExpiresByType image/ico "now plus 1 month"
               ExpiresByType image/icon "now plus 1 month"
               ExpiresByType image/webp "now plus 1 month"
               ExpiresByType text/ico "now plus 1 month"
               ExpiresByType application/ico "now plus 1 month"
               ExpiresByType image/vnd.wap.wbmp "now plus 1 month"
               ExpiresByType application/vnd.wap.wbxml "now plus 1 month"
               ExpiresByType application/smil "now plus 1 month"
              
               # Font files expiration: 1 week after request
               ExpiresByType application/vnd.ms-fontobject "now plus 1 week"
               ExpiresByType application/x-font-ttf "now plus 1 week"
               ExpiresByType application/x-font-opentype "now plus 1 week"
               ExpiresByType application/x-font-woff "now plus 1 week"
               ExpiresByType font/woff2 "now plus 1 week"
               ExpiresByType image/svg+xml "now plus 1 week"
              
              # Audio files expiration: 1 month after request
               ExpiresByType audio/ogg "now plus 1 month"
               ExpiresByType application/ogg "now plus 1 month"
               ExpiresByType audio/basic "now plus 1 month"
               ExpiresByType audio/mid "now plus 1 month"
               ExpiresByType audio/midi "now plus 1 month"
               ExpiresByType audio/mpeg "now plus 1 month"
               ExpiresByType audio/mp3 "now plus 1 month"
               ExpiresByType audio/x-aiff "now plus 1 month"
               ExpiresByType audio/x-mpegurl "now plus 1 month"
               ExpiresByType audio/x-pn-realaudio "now plus 1 month"
               ExpiresByType audio/x-wav "now plus 1 month"
              
              # Movie files expiration: 1 month after request
               ExpiresByType application/x-shockwave-flash "now plus 1 month"
               ExpiresByType x-world/x-vrml "now plus 1 month"
               ExpiresByType video/x-msvideo "now plus 1 month"
               ExpiresByType video/mpeg "now plus 1 month"
               ExpiresByType video/mp4 "now plus 1 month"
               ExpiresByType video/quicktime "now plus 1 month"
               ExpiresByType video/x-la-asf "now plus 1 month"
               ExpiresByType video/x-ms-asf "now plus 1 month"
              </IfModule>
              
              [B]=> Active une fonctionnalité appelée HSTS (HTTP Strict Transport Security) . plus rapide, en particulier sur les connexions à haute latence telles que l'Internet mobile ou par satellite.[/B]
              
               <IfModule mod_headers.c>
                En-tête toujours défini Strict-Transport-Security "max-age=31536000" env=HTTPS
               </IfModule>
              ​
              Faciliter l'adoption du meilleur du Libre auprès du grand public https://clibre.eu/ - Connaissez-vous des communicants ... pour promouvoir joomla ? https://forum.joomla.fr/forum/th%C3%...mouvoir-joomla

              Commentaire


              • #8
                Envoyé par woluweb Voir le message
                Alors clairement
                - ne pas utiliser JCH Optimize (autant à l'époque de Joomla 3, pourquoi pas. Mais avec J4 et J5 ce n'est plus utile. Et surtout c'est un bazar pour être sûr de ne pas créer d'effets de bord)
                - par contre, sur tous les sites où j'ai mis en place LiteSpeed, ça pulse ! Clairement on est à un autre niveau : ça devient de l'instantané
                Hello,

                Ok merci des infos !
                Du coup tu fais comment pour mettre litespeed sous joomla stp ?

                Merci

                Commentaire


                • #9
                  Envoyé par mat321$ Voir le message

                  Hello,

                  Ok merci des infos !
                  Du coup tu fais comment pour mettre litespeed sous joomla stp ?

                  Merci
                  Il faut un serveur compatible (O2Switch ou PlanetHoster p ex).

                  Et il faut installer l'extension : ("step 2" sur https://www.litespeedtech.com/produc...ation/download )
                  Puis on peut configurer (j'ai parfois des besoins spécifiques où je veux qu'il y ait un cache même pour les utilisateurs connectés, ou encore un cache partout sauf sur telle ou telle page ou telle extension etc).
                  Présentations : slides.woluweb.be | Coordonnées complètes : www.woluweb.be

                  Un message d’erreur sur votre site Joomla... ayez le reflexe de consulter la base de connaissance : https://kb.joomla.fr

                  Ce forum, vous l'aimez ? Il vous a sauvé la vie ? Vous y apprenez régulièrement ? Alors adhérer à l'AFUJ, l'Association Francophone des Utilisateurs de Joomla : https://www.joomla.fr/association/adherer

                  Commentaire


                  • #10
                    Hello,
                    En plus simple et pour découvrir les joies du cache LS, j'ai install une ubuntu 22.04 avec Cyberpanel sur un Kimsufi. En quelques clics j'avais OpenLiteSpeed installé et un control panel exploitable.

                    En savoir plus : https://cyberpanel.net/KnowledgeBase...ll-cyberpanel/

                    Je précise que c'est un panel cité sur le site officiel OLS, et, le seul gratuit (avec options payantes) :
                    Cliquez sur l'image pour l'afficher en taille normale  Nom : ols+cyberpanelpng.png  Affichages : 0  Taille : 24,9 Ko  ID : 2067101


                    Cela vaut la peine d’être essayé !
                    C'est tout simplement bluffant, ca décoiffe, ca rox !

                    En ce qui me concerne, je suis conquis et je travail pour me passer d'apache et du control panel sous Debian 12 & 13
                    Dernière édition par Fred2FR3 à 08/01/2025, 21h58
                    daneel aime ceci.

                    Commentaire


                    • #11
                      bonjour, pour info:

                      Commentaire


                      • #12
                        je travail pour me passer d'apache
                        tu commptes le remplacer par quoi au juste?

                        Commentaire


                        • #13
                          Envoyé par mat321$ Voir le message

                          Hello,

                          Ok merci des infos !
                          Du coup tu fais comment pour mettre litespeed sous joomla stp ?

                          Merci
                          Pour te rassurer mat321$ : moi je suis bêtement sur un serveur mutualisé et je ne dois donc PAS configurer le serveur comme expliqué par Fred ci-dessus.
                          Mais effectivement, quand tu gères toi-même ton serveur, c'est à toi d'installer le côté serveur de LiteSpeed
                          Présentations : slides.woluweb.be | Coordonnées complètes : www.woluweb.be

                          Un message d’erreur sur votre site Joomla... ayez le reflexe de consulter la base de connaissance : https://kb.joomla.fr

                          Ce forum, vous l'aimez ? Il vous a sauvé la vie ? Vous y apprenez régulièrement ? Alors adhérer à l'AFUJ, l'Association Francophone des Utilisateurs de Joomla : https://www.joomla.fr/association/adherer

                          Commentaire

                          Annonce

                          Réduire
                          Aucune annonce pour le moment.

                          Partenaire de l'association

                          Réduire

                          Hébergeur Web PlanetHoster
                          Travaille ...
                          X