Jump to content
Sign in to follow this  
alain56

Page speed : combine external javascript ?

Recommended Posts

Salut :)
j'utilise l'outil pagespeed, et j'aimerais "résoudre" l'étape "combine external javascript".
Mais je ne vois pas trop comment faire. Je me doute que l'idéal est de tout regrouper dans 1 seul fichier .js, mais n'est-ce pas trop compliqué à faire ? Et est-ce que ça en vaut la peine ? (j'ai vu ce post ici et ça à l'air assez galère de tout regrouper dans un seul fichier sans que ça ne plante quelque part...)
merci de votre aide.

Share this post


Link to post
Share on other sites

Il me semble que la v1.4 va résoudre ça d'un seul coup, en tout cas pour les modules bien codés.

Share this post


Link to post
Share on other sites

Bonjour

Ce n'est pas en soi une obligation, d'autant si vous utilisez (par ex.) des scripts hébergés à l'extérieur (de plus en plus de webmasters utilisent par ex. les scripts JQuery hébergés chez Google API, ce qui permet d'alléger le serveur et d'améliorer les temps de réponse... mais ne "colle" pas à certaines préconisations des outils comme PageSpeed ou YSlow)

Je n'ai pas encore regardé la v1.4 mais s'ils regroupent les scripts dans une file de chargement (à la manière de Wordpress et de son "enqueue_script") alors oui, ça devrait solutionner le problème :)

Je pense que vous avez déjà compressé les fichiers ?

Share this post


Link to post
Share on other sites

Merci à vous 2 pour ces réponses :)


Cobolian :
Il me semble que la v1.4 va résoudre ça d’un seul coup, en tout cas pour les modules bien codés.

Effectivement, pour les modules bien codés ;-) Et je suis pas sur qu'après toutes les modifs faites ça marche toujours...


Cédric Girard :
des scripts hébergés à l’extérieur (de plus en plus de webmasters utilisent par ex. les scripts JQuery hébergés chez Google API

Je ne connaissais pas. Je vais me renseigner la dessus.
Sinon vous dites aussi :
Je pense que vous avez déjà compressé les fichiers ?

Pouvez-vous m'expliquez comment faire ça ? Et une fois les fichiers .js compressés, faut-il changer dans les fichiers .php ou autre les liens appelant les fichiers .js ?
Merci encore :)

Share this post


Link to post
Share on other sites

Non, je parle au niveau serveur (via le htaccess) d'activer la compression gzip (possible chez la plupart des hébergeurs : ils ont tout à y gagner !)

On peut également (en plus de cela) minifier les fichiers JS et CSS, ce qui permet de gagner quelques Ko supplémentaires. Mais le top c'est la compression en direct sur le serveur, qui "sert" alors à la volée les fichier en gzip aux navigateurs.

Par ex. sur http://www.mastermateriel.com/ j'ai optimisé au maximum tous les éléments liés à la vitesse de chargement (je n'ai pas minifié JS et CSS car j'apporte relativement régulièrement de menues modifications, et dans ce cas c'est pénible). Bilan : un score de 89/100 sur YSlow ;-)


Voici un exemple de ce que l'on peut rajouter au htaccess pour la compression gzip :

#Compression MOD_DEFLATE
SetOutputFilter DEFLATE
AddOutputFilterByType DEFLATE text/html text/css text/plain text/xml application/x-javascript application/x-httpd-php
#Pour les navigateurs incompatibles
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4\.0[678] no-gzip
BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
BrowserMatch \bMSI[E] !no-gzip !gzip-only-text/html
#ne pas mettre en cache si ces fichiers le sont déjà
SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png)$ no-gzip
#les proxies doivent donner le bon contenu
Header append Vary User-Agent env=!dont-vary




ATTENTION : je ne teste pas la présence des modules ! En principe ça fonctionne chez OVH et Phpnet.org (deux hébergeurs que je connais) ; sur du Premium chez Phpnet.org il faut simplement demander au support d'activer tous les modules au niveau d'Apache ;-)

Share this post


Link to post
Share on other sites

Désolé de ne répondre que maintenant mais j'ai du m'absenter.
Ceci étant dit, merci Cedric pour ces précisions.
Je vais regarder ça au niveau du htaccess (je suis chez OVH, donc ça devrait être OK).
Par contre tu dis :

ATTENTION : je ne teste pas la présence des modules !

Tu pourrais préciser stp ?
Merci encore ;-)

Share this post


Link to post
Share on other sites

Bonjour

Je parlais de la présence des modules au niveau du serveur Apache (mod_rewrite et compagnie), pas des modules sur la boutique ;-)

Share this post


Link to post
Share on other sites

OK, merci encore :)
Je regarde tout ça, et je fais un retour dès que possible.

Share this post


Link to post
Share on other sites

Et donc pour la 1.3.1.1 ? une idée ? Car c'est toujours pareil, passez en 1.4 , c'est mieux, c'est joli etc etc... mais pour les anciens users tjs en 1.3.1 ?

Share this post


Link to post
Share on other sites

Bonjour

Pour une 1.3.x ça fonctionne comme j'ai dit (le besoin de regrouper les scripts en footer en chargement asynchrone est à mon avis secondaire... Déjà en les compressant et en forçant le cache navigateur, ça accélère franchement les performances !)

Share this post


Link to post
Share on other sites

Bonsoir, je suis débutant, et je voudrais exploiter la mise en cache du navigateur (coté client) mais je ne sais pas trop comment m'y prendre, j'ai cherché sur le forum, je sais quel fichiers je dois indiquer dans le htacces (pagespeed) mais je ne sais pas comment. Pourriez vous me montrer ce que je dois écrire dans le htacces. Voici le bout de code correspondant de mon htacces. Voici mon site http://www.cashmedia.be, il y a encore de nombreuses améliorations à faire, soyez genti ;)

ExpiresActive On
ExpiresByType image/gif "access plus 1 month"
ExpiresByType image/jpeg "access plus 1 month"
ExpiresByType image/png "access plus 1 month"
ExpiresByType text/css "access plus 1 month"
ExpiresByType text/javascript "access plus 1 week"
ExpiresByType application/javascript "access plus 1 week"
ExpiresByType application/x-javascript "access plus 1 week"
ExpiresByType image/x-icon "access plus 1 year"


FileETag INode MTime Size

AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE text/javascript
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/x-javascript

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.
Sign in to follow this  

×
×
  • Create New...

Important Information

Cookies ensure the smooth running of our services. Using these, you accept the use of cookies. Learn More