
Je reçois beaucoup de mails concernant mon nouveau site et certains sont intrigués par mon système de minifying du Javascript et du CSS. Je vais faire un bref point descriptif sur son fonctionnement même si je vous fournirai les sources bientôt c'est promis 
Alors tout d'abord j'ai une classe qui liste les différents scripts que j'utilise. Rien n'est directement mis dans l'entête du layout (corps de la page).
Cette classe sera appelée afin de générer le header avec la balise script pour le Javacript et link pour le CSS.
Par exemple sur mon site cela donne :
Comme vous pouvez le voir l'attribut src est assez spécial ainsi que son contenu.
http://static.crazyws.fr/inc/crazy.minify/?g=js&h=www.crazyws.fr

Le paramètre g concerne le type (pour cet exemple js comme javascript) et h concerne l'host pour la sélection des scripts (tous ne sont pas chargés suivant la page et le domaine).
Le script appelé est une classe PHP qui va générer l'entête d'un fichier javascript ou css qui peut être encodé en Gzip suivant si on choisit ou non de compresser les scripts. Voici l'entête HTTP du script en exemple :

Le Content-Length ne pèse que 200Ko car celui-ci est compressé. Normalement il pèserait plus de 2Mo!
Le système de compression est donc relativement intéressant pour réduire les temps de chargement du site.
Un autre point intéressant dans ma classe concerne l'obfuscation du code javascript.
Je ne ais pas m'étaler sur ce point, vous aurez juste à jeter un œil au code source si vous êtes curieux pour tout comprendre 
Autre point essentiel concerne la gestion du cache du côté du serveur Apache.
Voici ma configuration de gestion du cache :
ExpiresActive On
ExpiresDefault A1
ExpiresByType text/html A1
ExpiresByType image/gif A604800
ExpiresByType image/jpeg A604800
ExpiresByType image/png A604800
ExpiresByType text/css A7200
ExpiresByType text/javascript A7200
ExpiresByType application/x-javascript A7200
ExpiresDefault A29030400
Header append Cache-Control "max-age=29030400, public"
ExpiresDefault A604800
Header append Cache-Control "max-age=604800, public"
Header append Cache-Control "max-age=7200, public"
Header append Cache-Control "max-age=7200, private"
Header append Cache-Control "max-age=1, private, must-revalidate"
Grâce à ce système mon Page Speed a vu son score augmenter :

Voilà les explications en attendant que je vous fournisse mes sources.
Si vous avez des questions, n'hésitez pas!