François Schreuer

Pages personnelles

29 septembre 2003
Accueil  > Webdesign  > Des scripts complets  > Gestion d’un cache

Gestion d’un cache

PHP est un langage merveilleux qui permet bien des fantaisies dans la conception d’un site web. Il est cependant grévé d’un défaut majeur : il est extrêmement lent à s’exécuter (du fait qu’il n’est pas compilé). Et il est très peu agréable de devoir attendre plusieurs secondes l’affichage d’une page web. Pour tout dire, c’est même là un excellent moyen de perdre des dizaines de visiteurs.

Pour remédier à ce problème, une solution peut être tout simplement de précalculer certaines pages ou parties de pages complexes et ne devant pas faire l’objet d’une mise à jour permanente (pas question par exemple de précalculer l’affichage de l’heure courante). De telle façon, plutôt que de recalculer à chaque requête l’intégralité d’une page (et de faire des appels à la base de données), on renverra simplement au visiteur un résultat stocké dans un cache.

Le script qui suit gère l’utilisation d’un tel cache, pour stocker les pages précalculées et les renvoyer sous certaines conditions (ou les recalculer si nécessaire, par exemple si la durée de validité de la page précalculée est écoulée). Ce script est inspiré du système de cache fonctionnant dans SPIP mais utilise directement des scripts PHP (et ne passe donc pas par l’intermédiaire du langage propre à SPIP). Pour une explication du cache de SPIP, voyez l’article sur le sujet dans la documentation offcielle.

Installer le script

- Créez un répertoire à la racine de votre site dans lequel seront stockés les fichiers précalculés (par exemple « CACHE »). Conférez à ce répertoire les droits décriture (chmod 777). Vous pouvez interdire l’accès HTTP à ce répertoire si vous le souhaitez (avec un fichier .htaccess contenant l’instruction « deny from all »).

- Créez le fichier cache.inc.php à la racine de votre site. Voici son code :

- Configurez le script, en réglant les constantes : l’URL de la racine de votre site, le nom du répertoire de cache et la durée de validité par défaut (si aucune n’est définie par le fichier appelant).

- Pour chaque page que vous souhaitez précalculer, créez deux fichiers. Le premier sera le script PHP proprement dit, nous l’appelons par exemple calcul-page.php. Le second sera le fichier d’appel, il se présentera sous la forme suivante :

https://francois.schreuer.org/webdesign/scripts/gestion_d_un_cache
CCCQ Liège
Dernière mise à jour du site : 16 août 2019 | Administration du site |