HTML, CSS, Jpeg, Gif, PNG,JavaScript...

La documentation Drupal 6 n'est plus maintenue et en cours de dépublication.


Consultez le guide utilisateur Drupal en français directement sur drupal.org.

La position habituelle est de considérer que la bande passante est libérée. Erreur !

La bande passante est plus maltraitée que jamais. 2 facteurs :

  • la taille des fichiers,
  • le nombre de fichiers.

La bande passante corrige facilement le problème posé par les fichiers lourds. Mais ces mêmes fichiers ont progressé en même temps que la bande passante.

Par contre, la bande passante a un impact limité sur le problème du nombre de fichiers. Pour chaque fichier nécessaire à l'affichage de votre page, un navigateur va émettre une requête HTTP GET. Ces requêtes seront chacunes traitées individuellement par le serveur.

Pour chaque requête, le serveur préparera un environnement
d'exécution (réservation mémoire, variables d'environnement, communication inter-processus, etc.) qu'il devra ensuite nettoyer pour permettre la réception de nouvelles requêtes. Ces temps de fonctionnement sont incompressibles. Quelle que soit la taille des informations, il existe toujours une durée minimum de traitement.

Cette durée de traitement a un impact important sur le transfert de petits fichiers.

Or, les pages web sont de plus en plus peuplées de fichiers :

  • images de fond,
  • images,
  • scripts javascript,
  • feuilles de styles CSS,
  • objets Flash,
  • applets Java,
  • icône Favicon,
  • ...

Celles ou ceux qui m'auront suivi jusque là se seront sans doute posé la question : il s'agit d'une situation générale, en quoi cela concerne-t-il Drupal précisément ?

La solution que je vais présenter permet d'alléger les fichiers CSS dans un thème sous Drupal.

Prenons une page au hasard de Drupal.org : http://drupal.org/node/100748
(le sujet importe peu).

Une analyse des fichiers nécessaires à cette page donne les résultats suivants :

  • 1 fichier html : 16,17 Kio,
  • 9 feuilles CSS : 44,63
    Kio,
  • 12 images de fond : 3,14 Kio,
  • 4 images : 4,38 Kio.

Le tout nous donne 68,32 Kio pour 26 fichiers. Les feuilles de style représentent un tiers des fichiers téléchargés et 65% du volume total !

Commentaires