[script] Mise en cache des pages PHP
Consultez la formation au référencement naturel Google de WebRankInfo / Ranking Metrics
Bonjour,
Je suis en train de tester un sysytème de mise en cache, de page dynamique, ca marche très bien, par contre je ne sais pas comment gérer certaines pages qui on un espace perso.
Si une personne se log, et se promène sur le site, il y a des pages qui sont mise en cache avec sa session, en fait, je pense qu'il n'est pas possible de metre en cache les pages contenant un espace perso, ou alors faire un système "si logué" on ne lit pas le cache. Je me trompe??
Je suis en train de tester un sysytème de mise en cache, de page dynamique, ca marche très bien, par contre je ne sais pas comment gérer certaines pages qui on un espace perso.
Si une personne se log, et se promène sur le site, il y a des pages qui sont mise en cache avec sa session, en fait, je pense qu'il n'est pas possible de metre en cache les pages contenant un espace perso, ou alors faire un système "si logué" on ne lit pas le cache. Je me trompe??
- radiotrance
- WRInaute occasionnel

- Messages: 156
- Inscription: Dim Juil 10, 2005 11:24
Grand merci pour le script de mise en cache, je suis en train de faire une page qui parse 2 fichiers rss distant et du coup grâce au cache je n'ai plus a refaire les opérations a chaque visite de la page.
Mon correspondant gagne en ressources, moi aussi, mais surtout le temps de chargement est minime, et ça c'est le top.
En tout cas merci pour tes astuces c'est sympa de faire partager.
Mon correspondant gagne en ressources, moi aussi, mais surtout le temps de chargement est minime, et ça c'est le top.
En tout cas merci pour tes astuces c'est sympa de faire partager.
C'est marrant j'ai mis un système dans ce genre y'a pas longtemps à cause justement des connexions multiples dans la base !
Un grand merci à toi fandecine, pour le partage de ton script ! :respect:
Sinon j'ai lu ici où là que c'était surtout pour les dédiés... C'est marrant j'aurais dis le contraire !
Sachant justement que les mutualisés brident le nombre des requêtes (en général une dizaine simultanées, voir moins)... La mise en cache ne peut être que bénéfique ?
Sinon pour la mise à jour du cache, j'opte plus pour la fonction unlink()
Du genre :
Voilà ensuite il suffit simplement d'appeler cette fonction avant la requête de modif ou d'ajout correspondant !
edit : Ha oui une chtite reco. s'impose !
Un grand merci à toi fandecine, pour le partage de ton script ! :respect:
Sinon j'ai lu ici où là que c'était surtout pour les dédiés... C'est marrant j'aurais dis le contraire !
Sachant justement que les mutualisés brident le nombre des requêtes (en général une dizaine simultanées, voir moins)... La mise en cache ne peut être que bénéfique ?
Sinon pour la mise à jour du cache, j'opte plus pour la fonction unlink()
Du genre :
- Code: Tout sélectionner
function miseAjour($doc)
{
// l'attribut $doc sera le fichier éventuel qui a été mis en cache
if(file_exists($doc))
{
echo "le fichier <b>".$doc." a été supprimé</b><br />\n";
unlink($doc);
}
else
{
echo "le fichier n'existe pas il vient d'être créée en cache<br />\n";
}
}
Voilà ensuite il suffit simplement d'appeler cette fonction avant la requête de modif ou d'ajout correspondant !
edit : Ha oui une chtite reco. s'impose !
j'ai un problème en utilisant ce script
Le cache est bien créé mais lorsque je veux visualiser de nouveau la page (une fois le cache créé), voici le message que j'ai :
Je ne comprend pas du tout
Le cache est bien créé mais lorsque je veux visualiser de nouveau la page (une fois le cache créé), voici le message que j'ai :
- Code: Tout sélectionner
Parse error: syntax error, unexpected T_STRING in /home/sciencee/www/essai/cache-definition-science-1.html on line 1
Je ne comprend pas du tout
medium69 a écrit:j'ai un problème en utilisant ce script![]()
Le cache est bien créé mais lorsque je veux visualiser de nouveau la page (une fois le cache créé), voici le message que j'ai :
- Code: Tout sélectionner
Parse error: syntax error, unexpected T_STRING in /home/sciencee/www/essai/cache-definition-science-1.html on line 1
Je ne comprend pas du tout
En fait je viens de comprendre :
J'ai cela en début de page :
- Code: Tout sélectionner
<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
ceci
- Code: Tout sélectionner
<?xml version="1.0" encoding="iso-8859-1"?>
est interprété comme étant du PHP
En l'enlevant cela résoud tout
Bonjour à tous,
Je cherchais à faire aussi un système de cache pour un de mes sites. En cherchant je suis tombé sur un article du JounalDuNet, ou plutôt DirectionPHP :
http://developpeur.journaldunet.com/tutoriel/php/050131-php-directionphp-cache-1.shtml
Mais leur fichiers étaient bugués, j'ai corrigés ça et je leur ai posté ici :
http://forumdeveloppeur.journaldunet.com/viewtopic.php?p=1777#1777
voilà, ça peut servir !
Je cherchais à faire aussi un système de cache pour un de mes sites. En cherchant je suis tombé sur un article du JounalDuNet, ou plutôt DirectionPHP :
http://developpeur.journaldunet.com/tutoriel/php/050131-php-directionphp-cache-1.shtml
Mais leur fichiers étaient bugués, j'ai corrigés ça et je leur ai posté ici :
http://forumdeveloppeur.journaldunet.com/viewtopic.php?p=1777#1777
voilà, ça peut servir !
-

Patrice A. - Modérateur

- Messages: 2413
- Inscription: Ven Fév 11, 2005 19:36
J'utilise intensivement ce script sur l'ensemble de mes sites, encore merci. 
Bonjour à tous,
Juste un petit mot pour dire que je ne sais pas pourquoi (ils ne m'ont pas prévenu par email) mais journaldunet a enlevé mon post où il y avait la correction de leur fichier.
Toujours est-il que j'avais fait des fichiers de corrections, les voici :
http://www.1max2web.com/cache_php/listing_1.html
http://www.1max2web.com/cache_php/listing_2.html
http://www.1max2web.com/cache_php/listing_3.html
http://www.1max2web.com/cache_php/listing_4.html
http://www.1max2web.com/cache_php/inc_cache.html
Ils n'ont pas dû aimer mon post
Pour les explications c'est toujours par là http://developpeur.journaldunet.com/tutoriel/php/050131-php-directionphp-cache-1.shtml que cela se passe ...
Juste un petit mot pour dire que je ne sais pas pourquoi (ils ne m'ont pas prévenu par email) mais journaldunet a enlevé mon post où il y avait la correction de leur fichier.
Toujours est-il que j'avais fait des fichiers de corrections, les voici :
http://www.1max2web.com/cache_php/listing_1.html
http://www.1max2web.com/cache_php/listing_2.html
http://www.1max2web.com/cache_php/listing_3.html
http://www.1max2web.com/cache_php/listing_4.html
http://www.1max2web.com/cache_php/inc_cache.html
Ils n'ont pas dû aimer mon post
Pour les explications c'est toujours par là http://developpeur.journaldunet.com/tutoriel/php/050131-php-directionphp-cache-1.shtml que cela se passe ...
- ShePaKoiFer
- Nouveau WRInaute
- Messages: 12
- Inscription: Jeu Oct 16, 2003 23:41
Bonjour,
Je me permet de faire remonter ce topic, avec peut etre une idée pertinante, à vous de me le dire.
Le point noir de ce script est l'effacement automatique des pages en cache.
Admettons que par la premiere visite de la page, le visite provoque la mise en cache. Ceux qui visiterons cette meme page ultérieurement bénéficirons de la page en cache. Mais si il y a modification de cette page, on restera alors sur la premiere version. Alors pourquoi ne pas comparer la page qui est en cache avec celle où se trouve le visiteur.
J'ignore peut etre que la comparaison serait très lourde niveau ressource serveur, mais au moins ca automatisement le refraichissement du cache.
Nous pouvons également rajouter un compteur de hit avant comparaison de la page et interpoler cette condition avec la condition du temps comme c'est acquis sur le script.
Autre chose, une page de mon site se compose de la facon suivante :
1 fichier php pour le haut de page
1 fichier php pour le pied de page
et entre les deux, le contenu de la page.
La problématique est que le script de ce topic est en deux partie. Si je met la premiere partie sur le "haut de page" et la seconde en "pied de page" j'hérite évidement d'une erreur (car la conditon dans la premiere partie reste en suspend).
Si tu avais une solution de type jpcache (ou l'on appel la page contenant les fonctions necessaire à mettre la page en cache) à me proposer je t'en serais reconnaissant.
Sinon félicitation pour ce script, cela m'a permis d'y voir plus clair dans le codage d'un système de cache et surtout d'y apprendre de nouvelle fonction.
Cordialement,
Je me permet de faire remonter ce topic, avec peut etre une idée pertinante, à vous de me le dire.
Le point noir de ce script est l'effacement automatique des pages en cache.
Admettons que par la premiere visite de la page, le visite provoque la mise en cache. Ceux qui visiterons cette meme page ultérieurement bénéficirons de la page en cache. Mais si il y a modification de cette page, on restera alors sur la premiere version. Alors pourquoi ne pas comparer la page qui est en cache avec celle où se trouve le visiteur.
J'ignore peut etre que la comparaison serait très lourde niveau ressource serveur, mais au moins ca automatisement le refraichissement du cache.
Nous pouvons également rajouter un compteur de hit avant comparaison de la page et interpoler cette condition avec la condition du temps comme c'est acquis sur le script.
Autre chose, une page de mon site se compose de la facon suivante :
1 fichier php pour le haut de page
1 fichier php pour le pied de page
et entre les deux, le contenu de la page.
La problématique est que le script de ce topic est en deux partie. Si je met la premiere partie sur le "haut de page" et la seconde en "pied de page" j'hérite évidement d'une erreur (car la conditon dans la premiere partie reste en suspend).
Si tu avais une solution de type jpcache (ou l'on appel la page contenant les fonctions necessaire à mettre la page en cache) à me proposer je t'en serais reconnaissant.
Sinon félicitation pour ce script, cela m'a permis d'y voir plus clair dans le codage d'un système de cache et surtout d'y apprendre de nouvelle fonction.
Cordialement,
ShePaKoiFer a écrit:Bonjour,
Le point noir de ce script est l'effacement automatique des pages en cache.
Admettons que par la premiere visite de la page, le visite provoque la mise en cache. Ceux qui visiterons cette meme page ultérieurement bénéficirons de la page en cache. Mais si il y a modification de cette page, on restera alors sur la premiere version. Alors pourquoi ne pas comparer la page qui est en cache avec celle où se trouve le visiteur.
J'ignore peut etre que la comparaison serait très lourde niveau ressource serveur, mais au moins ca automatisement le refraichissement du cache.
Salut ShePaKoiFer,
En fait je ne raisone pas comment cela pour le changement de contenu, je vois ça du côté administration. A chaque changement de contenu je supprime le cache correspondant comme le prochain internaute aurra bien la dernière version.J'ai aussi un script en admin pour effacer tout le cahce (au cas où). Aprés cela dépend beaucoup du type de site et de la fréquence de rafraichissement du contenu je pense.
Sinon je ne comprends pas trop ton problème par rapport à tes includes, parce que le script est fait en sorte justement (si tu le place en haut de tous tes includes et de ta page) de ne pas executer le reste du code si il trouve la page en cahce et sinon il execute la page et la met en cache.
Enfin je ne sais pas si je réponds à ta question ou si j'ai mal compris, n'hésites pas si c'est le cas
A +
- ShePaKoiFer
- Nouveau WRInaute
- Messages: 12
- Inscription: Jeu Oct 16, 2003 23:41
A chaque changement de contenu je supprime le cache correspondant comme le prochain internaute aurra bien la dernière version.
Cet action est automatique ?
Tu met à jour ta base de donnée qui par conséquence efface ton fichier cache corresponsant
OU
Tu accède à ton repertoire cache par ton panel d'administration et tu efface maneul le fichier cache ?
Sinon je ne comprends pas trop ton problème par rapport à tes includes, parce que le script est fait en sorte justement (si tu le place en haut de tous tes includes et de ta page) de ne pas executer le reste du code si il trouve la page en cahce et sinon il execute la page et la met en cache.
Je viens de trouver la solution en t'exposant le problème en détail
- radiotrance
- WRInaute occasionnel

- Messages: 156
- Inscription: Dim Juil 10, 2005 11:24
Cet action est automatique ?
Tu met à jour ta base de donnée qui par conséquence efface ton fichier cache corresponsant
OU
Tu accède à ton repertoire cache par ton panel d'administration et tu efface maneul le fichier cache ?
Perso moi c'est dans le script, chaque fois qu'un commentaire et posté ou que le contenu de la page a changé, connaissant le nom du fichier cache, ca se surprime tout seul en faisant un petit unlink().
ShePaKoiFer a écrit:Cet action est automatique ?
Tu met à jour ta base de donnée qui par conséquence efface ton fichier cache corresponsant
OU
Tu accède à ton repertoire cache par ton panel d'administration et tu efface maneul le fichier cache ?
Oui pour moi c'est aussi automatiquement, mais ce n'est effectivement pas grand chose comme le dit radiotrance juste un unlink sur le fichier correspondant !!!
Voilou voilà, donc en fait il n'y a aucun problème quoi !
Bonjour,
J'ai testé le code, le souci c'est que je sais pas si ça fonctionne... j'ai rafraichi la page, dur de savoir si ça va plus vite...
j'ai un dossier cache avec un fichier cache-index.php à l'intérieur.. ça veut dire que ça fonctionne ou pas ? parce que sur la page d'accueil, j'ai toujours l'url du site en index.php et non pas index.html
J'ai testé le code, le souci c'est que je sais pas si ça fonctionne... j'ai rafraichi la page, dur de savoir si ça va plus vite...
j'ai un dossier cache avec un fichier cache-index.php à l'intérieur.. ça veut dire que ça fonctionne ou pas ? parce que sur la page d'accueil, j'ai toujours l'url du site en index.php et non pas index.html
Formation recommandée sur ce thème :
Formation Référencement naturel Google : apprenez une méthode efficace pour optimiser à fond le référencement naturel dans Google de façon durable... Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.
Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.
Lectures recommandées sur ce thème :
- Les albums web Picasa passent à 1 Go de stockage
- Le cache de Google : description, explications
- Photos satellite des incendies en Grèce dans Google Earth
- L'algorithme de Google en résumé (mars 2003)
- Ajouter un Gadget Google sur son site
- Google Desktop pour Mac OS X
- Picasa Web Albums en français
- Google Pack s'enrichit de 2 nouveaux logiciels gratuits
- Explications sur le Crawl Caching Proxy de Google
- Nouvel article : "Google en résumé"




le forum