Jump to content

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.

Link to comment
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 ?

Link to comment
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 :)
Link to comment
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 ;-)

Link to comment
Share on other sites

  • 2 weeks later...

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 ;-)
Link to comment
Share on other sites

  • 3 months later...
  • 3 weeks later...

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

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...