14-03-2011, 03:01 AM
Mais ça, c'est comme tout : si on veut être sérieux, on s'en donne les moyens.
Et ça n'est pas forcément excessif. Il faut juste investir son argent dans les bons services.
Pour ceux qui ont un hébergement mutualisé, c'est un minimum que celui-ci doit propose mod_deflate (compression Gzip). Sans ça il est inutile d'optimiser : le Gzip est la principale source de gain lors d'un chargement. Vouloir optimiser sans compression, ça revient à passer le balai dans le désert…
Après, il faut utiliser tout ce qui permet de paralléliser le chargement des pages. Un navigateur peut charger 2 ressources simultanément par domaine : il faut donc multiplier les domaines depuis lesquelles ont charge.
Ça inclut les librairies Javascript qu'on peut charger depuis les serveurs de Google (Google Libraries API). Ces ressources sont déjà dans le cache de milliers d'utilisateurs (et bientôt dans celui de vos joueurs !) et sont compressées. Le tout gratuitement !
Ça inclut le service Amazon S3 qui permet de stocker des quantités de ressources à moindre frais et de les servir rapidement grâce à un cache efficace et des serveurs géographiquement proches.
Ainsi, en chargeant jQuery et jQuery UI (par exemple) chez Google (depuis le domaine ajax.googleapis.com) et nos images depuis Amazon S3 (depuis le domaine mygame.s3.amazonaws.com), on permet au navigateur de charger en même temps les feuilles de styles (hébergée sur notre propre serveur, dans l'exemple).
N'oubliez pas de mettre les inclusions de scripts en bas de la page (car leur téléchargement empêche de récupérer le reste de la page et de commencer à l'afficher).
On peut également utiliser les attributs async et defer pour charger les scripts de manière asynchrone.
À ceux qui ont peur de se rendre dépendant de Google en utilisant leurs API, il existe un moyen simple d'éviter tout problème (bien que ce soit très improbable) :
Sephi-Chan
Et ça n'est pas forcément excessif. Il faut juste investir son argent dans les bons services.
Pour ceux qui ont un hébergement mutualisé, c'est un minimum que celui-ci doit propose mod_deflate (compression Gzip). Sans ça il est inutile d'optimiser : le Gzip est la principale source de gain lors d'un chargement. Vouloir optimiser sans compression, ça revient à passer le balai dans le désert…
Après, il faut utiliser tout ce qui permet de paralléliser le chargement des pages. Un navigateur peut charger 2 ressources simultanément par domaine : il faut donc multiplier les domaines depuis lesquelles ont charge.
Ça inclut les librairies Javascript qu'on peut charger depuis les serveurs de Google (Google Libraries API). Ces ressources sont déjà dans le cache de milliers d'utilisateurs (et bientôt dans celui de vos joueurs !) et sont compressées. Le tout gratuitement !
Ça inclut le service Amazon S3 qui permet de stocker des quantités de ressources à moindre frais et de les servir rapidement grâce à un cache efficace et des serveurs géographiquement proches.
Ainsi, en chargeant jQuery et jQuery UI (par exemple) chez Google (depuis le domaine ajax.googleapis.com) et nos images depuis Amazon S3 (depuis le domaine mygame.s3.amazonaws.com), on permet au navigateur de charger en même temps les feuilles de styles (hébergée sur notre propre serveur, dans l'exemple).
N'oubliez pas de mettre les inclusions de scripts en bas de la page (car leur téléchargement empêche de récupérer le reste de la page et de commencer à l'afficher).
On peut également utiliser les attributs async et defer pour charger les scripts de manière asynchrone.
À ceux qui ont peur de se rendre dépendant de Google en utilisant leurs API, il existe un moyen simple d'éviter tout problème (bien que ce soit très improbable) :
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.js"></script>
<script>window.jQuery || document.write('<script src="javascript/jquery-1.5.1.min.js"></script>');</script>
Sephi-Chan