[script] Mise en cache des pages PHP
-

petitchevalroux - WRInaute discret

- Messages: 190
- Inscription: 31 Mai 2006
Re: [script] Mise en cache des pages PHP
Sauf qu'il manque encore le gz, et le 304 voir le expire mais c'est vrai que par rapport au code de se feed c'est top 
-

Greendog - WRInaute occasionnel

- Messages: 482
- Inscription: 18 Mar 2008
Re: [script] Mise en cache des pages PHP
La méthode de kitten13 est sympa, par contre je suis embêté avec les membres.
La construction du cache se lance si la page n'existe pas ou si elle a expiré, malheureusement si c'est un membre qui créé le cache, et bien quand on regarde la page mise en cache on se retrouve avec son profil d'affiché sur la page. XD
En gros j'aimerai bien lancer le cache, qu'importe la personne (membre ou visiteur), je tenterai bien de lancer le cache après l'affichage du header mais si je le coupe avant la fin de ma page, le code 'normal' va reprendre sa route ?
La construction du cache se lance si la page n'existe pas ou si elle a expiré, malheureusement si c'est un membre qui créé le cache, et bien quand on regarde la page mise en cache on se retrouve avec son profil d'affiché sur la page. XD
En gros j'aimerai bien lancer le cache, qu'importe la personne (membre ou visiteur), je tenterai bien de lancer le cache après l'affichage du header mais si je le coupe avant la fin de ma page, le code 'normal' va reprendre sa route ?
-

petitchevalroux - WRInaute discret

- Messages: 190
- Inscription: 31 Mai 2006
Re: [script] Mise en cache des pages PHP
Sinon une des solutions utilisées pour ton problème de membre c'est de faire la personnalisation des pages classique en JS et de ne pas cacher les pages trop personnalisé : Liste des articles de l'utilisateur ... Tout ce qui touche à de l'admin en gros.
Bon courage
Bon courage
-

Greendog - WRInaute occasionnel

- Messages: 482
- Inscription: 18 Mar 2008
Re: [script] Mise en cache des pages PHP
Merci du conseil petitchevalroux. 
Je ne connais pas trop le JS, j'ai donc fait avec les moyens du bord.
Finalement vu que c'est une minorité de personnes (les membres) qui font vivre le site, je leur laisse le full acces 'en live' et pour tous les visiteurs sur les pages où ça ne change pas des masses ou qui consomme pas mal de ressource -> le cache.
Je ne connais pas trop le JS, j'ai donc fait avec les moyens du bord.
Finalement vu que c'est une minorité de personnes (les membres) qui font vivre le site, je leur laisse le full acces 'en live' et pour tous les visiteurs sur les pages où ça ne change pas des masses ou qui consomme pas mal de ressource -> le cache.
-

petitchevalroux - WRInaute discret

- Messages: 190
- Inscription: 31 Mai 2006
Re: [script] Mise en cache des pages PHP
Ah oui c'est une troisième solution à laquelle je n'avais pas pensé bien joué 
- thetyty
- Nouveau WRInaute

- Messages: 1
- Inscription: 29 Aoû 2009
Re: [script] Mise en cache des pages PHP
Bonjour,
le sujet est fermé depuis quelques temps mais j'aurai une question. Le système de cache est super mais dans une de mes pages je créé une image antispam classique mais du coup il me la met dans le cache...
Donc ce que je souhaiterai savoir c'est si on peut ne pas mettre une petite partie hors cache sachant que cette partie est entre les ob_start(); et le ob_end_flush();
Merci si quelqu'un voit ce message et peut y répondre.
le sujet est fermé depuis quelques temps mais j'aurai une question. Le système de cache est super mais dans une de mes pages je créé une image antispam classique mais du coup il me la met dans le cache...
Donc ce que je souhaiterai savoir c'est si on peut ne pas mettre une petite partie hors cache sachant que cette partie est entre les ob_start(); et le ob_end_flush();
Merci si quelqu'un voit ce message et peut y répondre.
- Furinkazan
- Nouveau WRInaute

- Messages: 14
- Inscription: 2 Nov 2009
Re: [script] Mise en cache des pages PHP
Regarde le manuel de la fonction ob_start() : http://php.net/manual/en/function.ob-start.php
Tant que j'y suis, j'ai une question : comment éviter la création intempestive de caches ? Je m'explique :
Nos pages mises en cache sont de la forme .../index.php?page=x avec x qui varie de 1 à n. La mise en cache doit se faire uniquement si la page existe. Il faut donc ajouter un test.
Le problème c'est que dans mon cas, je fais un test du style :
if($_GET[page] est correct)
on affiche la page
else
on affiche index.php?page=1
Le pb ici c'est qu'il y a tout de même création en cache de la page non autorisée par exemple avec x > n. Vous me direz de faire ce test avant le traitement du cache, mais le souci c'est qu'il doit se faire justement en cache, car je ne connais pas avant le nombre de pages.
Si quelqu'un a compris qq chose et à une solution, je suis preneur !!
Tant que j'y suis, j'ai une question : comment éviter la création intempestive de caches ? Je m'explique :
Nos pages mises en cache sont de la forme .../index.php?page=x avec x qui varie de 1 à n. La mise en cache doit se faire uniquement si la page existe. Il faut donc ajouter un test.
Le problème c'est que dans mon cas, je fais un test du style :
if($_GET[page] est correct)
on affiche la page
else
on affiche index.php?page=1
Le pb ici c'est qu'il y a tout de même création en cache de la page non autorisée par exemple avec x > n. Vous me direz de faire ce test avant le traitement du cache, mais le souci c'est qu'il doit se faire justement en cache, car je ne connais pas avant le nombre de pages.
Si quelqu'un a compris qq chose et à une solution, je suis preneur !!
- Furinkazan
- Nouveau WRInaute

- Messages: 14
- Inscription: 2 Nov 2009
Re: [script] Mise en cache des pages PHP
Bon, j'ai finalement trouvé une solution. J'avais tout simplement mal conçu le site. Sinon, si ça intéresse quelqu'un, j'ai mis en place un système de templates avec caches (ou sans cache). Le tout en MVC (Model, View, Controller) qui marche nickel.
- Furinkazan
- Nouveau WRInaute

- Messages: 14
- Inscription: 2 Nov 2009
Re: [script] Mise en cache des pages PHP
Je défini un template avec ou sans cache dans un fichier exemple.php. Ce template est effectivement un objet qui contient ce que l'on veut par exemple :
- le fichier template associé $exemple->setTemplate($_PATH_TO_TPL."exemple.tpl.php");
- un titre : $exemple->set('title', "le titre");
- un array de trucs : $exemple->set('list', array("lien1", "lien2", "lien3"));
- ...
Dans ce fichier on effectue les traitements. (le Controlleur). Par exemple les if ( isset ( $_POST['valid'] ) ) ...
Le template associé ne contient que les balises <div> et autres dans un fichier exemple.tpl.php. (Le Modèle).
Dans ce fichier on affiche les objets contenus dans le template. Par exemple le titre : <DIV id="titre"><?=$title?></DIV>
Le style est dans un fichier css. (la Vue).
Si c'est un template avec cache, bein on affiche le cache au lieu de faire le traitement du Controlleur.
Je posterais ici un exemple simple sous peu pour plus de détails.
- le fichier template associé $exemple->setTemplate($_PATH_TO_TPL."exemple.tpl.php");
- un titre : $exemple->set('title', "le titre");
- un array de trucs : $exemple->set('list', array("lien1", "lien2", "lien3"));
- ...
Dans ce fichier on effectue les traitements. (le Controlleur). Par exemple les if ( isset ( $_POST['valid'] ) ) ...
Le template associé ne contient que les balises <div> et autres dans un fichier exemple.tpl.php. (Le Modèle).
Dans ce fichier on affiche les objets contenus dans le template. Par exemple le titre : <DIV id="titre"><?=$title?></DIV>
Le style est dans un fichier css. (la Vue).
Si c'est un template avec cache, bein on affiche le cache au lieu de faire le traitement du Controlleur.
Je posterais ici un exemple simple sous peu pour plus de détails.
-

spout - WRInaute accro

- Messages: 4110
- Inscription: 14 Mai 2003
Re: [script] Mise en cache des pages PHP
@Furinkazan
Comme ce système de templates: http://www.massassi.com/php/articles/template_engines/
Mais tu as juste le V et C de MVC, c'est pour ça que je m'étonnais de MVC
N.B.: évite les short tags <?=$title;?> préfère plutôt <?php echo $title;?>
Comme ce système de templates: http://www.massassi.com/php/articles/template_engines/
Mais tu as juste le V et C de MVC, c'est pour ça que je m'étonnais de MVC
N.B.: évite les short tags <?=$title;?> préfère plutôt <?php echo $title;?>
-

screuscreu - WRInaute impliqué

- Messages: 968
- Inscription: 14 Jan 2008
Re: [script] Mise en cache des pages PHP
spout a écrit:N.B.: évite les short tags <?=$title;?> préfère plutôt <?php echo $title;?>
Et pourquoi donc ? Y a t'il une différence de vitesse ? des bugs ou autres ?
Ou juste un code pas forcement portable sur d'autres serveurs pas configurés pour comprendre les short tags ?
- Furinkazan
- Nouveau WRInaute

- Messages: 14
- Inscription: 2 Nov 2009
Re: [script] Mise en cache des pages PHP
spout a écrit:@Furinkazan
Comme ce système de templates: http://www.massassi.com/php/articles/template_engines/
Ouais en fait je me suis basé sur ce site pour mes templates, en l'améliorant un peu ^^.
spout a écrit:Mais tu as juste le V et C de MVC, c'est pour ça que je m'étonnais de MVC
N.B.: évite les short tags <?=$title;?> préfère plutôt <?php echo $title;?>
Bein non, j'ai : un fichier .tpl.php (le modèle), un fichier .php (le controlleur) et un fichier .css (la vue) ...
J'ai bien séparé la mise en forme, le traitement des données et le design.
Lectures recommandées sur ce thème :
- [script] Mise en cache des pages PHP - V2
- Problème de mise en cache de pages PHP
- [tutoriel] Mise en cache en PHP, la version complète.
- Mise en cache PHP et librairie GD, est ce correct svp ?
- Utilisation intensive de la mise en cache des pages PHP.
- Mise en cache des pages php : mon alternative hérétique !
- [script] php class cache : accélérez vos pages !
- Recherche script d'annuaire PHP avec lien caché
- Mise en place d'un script de news php dans wordpress
- Comment lancer un script php à parrtir d'un autre script php ?
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités
