Bonjour à tous,
Loin de moi l'idée de vouloir concurrencer l'excellent script que vous propose fandecine, je souhaite juste vous présenter la solution de cache que je viens de mettre en place pour le site que je gère : jpcache v2.
Très simple à mettre en place, cette solution offre des gains d'utilisation de ressources assez impressionnants. Il n'est en place que depuis deux jours sur mon site, donc je ne peux pas vous donner un feedback perso (je ne sais même pas comment réaliser des benchmarks sur mon serveur BD... ), mais une petite recherche sur Google donne rapidement une idée des capacités de la bête.
De plus, jpcache utilise gzip pour encoder le contenu et alléger la taille des informations qu'il envoie au navigateur.
l'url : http://www.jpcache.com/
Traduction partielle du readme ( - pour les non-anglophiles) :
Voilà, je rajouterais une petite précision perso, j'ai eu un problème dans mon cas car j'ai une css pour ie et une autre pour tous les autres navigateurs.
J'ai donc créer deux tables pour stocker le cache dans ma BD car si la page a été mise en cache sous Firefox, et qu'elle est appellée après depuis IE, elle aura le css de firefox, comme tout est mis en cache.
Donc c'set juste une petite condition à rajouter :
Profitez-en bien !
Loin de moi l'idée de vouloir concurrencer l'excellent script que vous propose fandecine, je souhaite juste vous présenter la solution de cache que je viens de mettre en place pour le site que je gère : jpcache v2.
Très simple à mettre en place, cette solution offre des gains d'utilisation de ressources assez impressionnants. Il n'est en place que depuis deux jours sur mon site, donc je ne peux pas vous donner un feedback perso (je ne sais même pas comment réaliser des benchmarks sur mon serveur BD... ), mais une petite recherche sur Google donne rapidement une idée des capacités de la bête.
De plus, jpcache utilise gzip pour encoder le contenu et alléger la taille des informations qu'il envoie au navigateur.
l'url : http://www.jpcache.com/
Traduction partielle du readme ( - pour les non-anglophiles) :
Pré-requis :
- PHP 4.1.0+ avec Zlib activé
- MySQL si vous utilisez la version SQL
Vous pouvez choisir entre stockage dans la BD ou dans des fichiers.
Installation :
0) Télécharger à l'adresse http://sourceforge.net/project/showfile ... _id=173955
1) Décider si vous utilisez le stockage MySQL ou fichier
2) Copier le dossier jpcache à la racine de votre site web
3) Modifier jpcache.php : supprimer $includedir qui ne sert à rien si vous copier le dossier tel quel.
4) Modifier jpcache-config.php pour les paramètres de configuration :
- décommenter le paramètre JPCACHE_TYPE correspondant à l'utilisation que vous faire (MysQL ou fichier)
- si vous choisissez le mode fichier pensez à renseigner correctement $JPCACHE_DIR, dossier qui contiendra les fichiers générés et à donner à Apache les droits d'écriture dessus
- si vous choisissez le mode SQL, renseigner les paramètres de connexion à la base (host, database, username, passwd, table). Vous trouverez dans le dossier jpcache, le fichier script.sql qui contient la requete a éxécuter pour créer la table (donc juste un copier-coller à faire sous phpMyAdmin).
5) Vous pouvez facilement tester jpcache, en créant un fichier test.php dans le dossier jpcache :
Code:<?php require "jpcache.php"; echo time(); phpinfo(); ?>
Appelez la page dans votre navigateur, puis actualisez, si la date affichée n'a pas changé, c'est bon, jpcache fonctionne.
5) Pour mettre en place jpcache sur votre site, il suffit de rajouter au début de chaque page php :
Code:<? $cachetimeout=600; require "/path/to/jpcache/jpcache.php" ?>
$cachetimeout étant la durée en secondes pendant laquelle la page est conservée dans le cache.
- si elle est égale à -1, la page ne sera jamais mise en cache, mais le contenu sera envoyé en compressé, ce qui est déjà un gain de bande passante et de temps de chargement.
- si elle est égale à 0, le cache de cette page n'expirera jamais. Ce qui est très utile pour les pages statiques très lourdes.
Il est possible de mettre en cache la valeur des POST avec la page, d'activer/désactiver le cache, la compression des pages, le mode debug, très simplement dans jpcache-config, c'est juste des variables à passer à 0 (off) ou 1(on).
Voilà, je rajouterais une petite précision perso, j'ai eu un problème dans mon cas car j'ai une css pour ie et une autre pour tous les autres navigateurs.
J'ai donc créer deux tables pour stocker le cache dans ma BD car si la page a été mise en cache sous Firefox, et qu'elle est appellée après depuis IE, elle aura le css de firefox, comme tout est mis en cache.
Donc c'set juste une petite condition à rajouter :
Code:
if (ereg("MSIE", getenv("HTTP_USER_AGENT"))){
$JPCACHE_DB_TABLE = "cache_ie"; // Table that holds the data - IE pages
}
else{
$JPCACHE_DB_TABLE = "cache_moz"; // Table that holds the data - Moz pages
}
Profitez-en bien !