Projet Webmaster PHP

Portail Php


Optimiser ses scripts


C'est la règle 6 des propositions de YSLOW pour améliorer la vitesse d'un site, il s'agit de gérer correctement la position des scripts dans ses pages web.

La règle précédente préconisait d'optimiser les feuilles de styles en les positionnant en haut de page, cette règle ci propose l'inverse.

Le constat fait par Yahoo est que le serveur ne parallélise pas le téléchargement de composants, s'il il est sollicité pour télécharger un script, il ne va pas commencer le téléchargement d'autres script, même en parallèle sur d'autres serveur (pour les images par exemple). Le téléchargement de script bloque ainsi le téléchargement d'autres composants.



Positionner ses script en bas de page

En positionnant le téléchargement des scripts en bas de page, la priorité est ainsi donné à l'affichage de la page côté client. Cependant une petite difficulté existe car certains éléments des scripts peuvent éventuellement participer à l'affichage, notamment l'instruction document.write.
Il convient alors d'être attentif à l'affichage correct, tant sous Internet Explorer, que Firefox ou Google Chrome.
Dans cette préconisation, tous les scripts liés aux statistiques de visites, ou aux scripts de contrôle de saisie de formulaire peuvent être positionnés ainsi en bas de page, sans oublier toute fois de regrouper ses scripts pour limiter les requêtes au serveur.



Paralléliser le chargement

Afin de permettre de paralléliser le chargement de compostant, il ne faut pas séparer les composants semblables.

Il sera ainsi plus rapide, car fait en parallèle, de charger 3 feuilles de styles puis 3 scripts, plutôt que d'appeler une feuille de style, et un script, trois fois.

Cette préconisation semble facile à respecter, pourtant avec les pages dynamiques, les templates et les includes imbriqués des headers selon le navigateur, il peut être complexe de réaliser ce qui semble simple dans le résultat.
La lecture de la page résultat en html et selon IE, Firefox et Chrome, voire Safari devrait être le meilleur test