Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2144 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Mise en cache et page dynamique

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Mise en cache et page dynamique

n°1322865
fluminis
Posté le 10-03-2006 à 16:04:47  profilanswer
 

Bonjour,
 
Depuis quelques temps je tente de me documenter sur la mise en cache des pages afin d'accelerer mon site.
mais je ne comprends pas bien comment je peux appliquer ça à mon site, je m'explique :
 
en gros, avec la mise en place d'un cache :
1. si la page existe dans le cache
2.   la renvoyer a l'utilisateur
3. sinon
4.   l'executer
5.   la mettre en cache
6.   la renvoyer a l'utilisateur
 
bien, mais sur mes pages, j'ai des liens du genre : "mon profil" ou "modifier mon commentaire" qui n'apparaissent que si l'utilisateur est logué ou si le message qu'il voit lui appartient. Pour l'instant, je n'ai pas de cache donc je fais dans ma page php des tests un peu partout là où j'ai ce genre de lien à afficher, mais si la page est en cache, alors je ne fais plus ces tests...
 
Comment dois-je procceder pour mettre en place un systeme de cache à votre avis ?


---------------
http://poemes.iceteapeche.com - http://www.simuland.net
mood
Publicité
Posté le 10-03-2006 à 16:04:47  profilanswer
 

n°1322882
anapajari
s/travail/glanding on hfr/gs;
Posté le 10-03-2006 à 16:22:11  profilanswer
 

utilise smarty, ça fera tout a ta place [:spamafote]
 
A pis adoDB( ou une autre librairie d'abstraction) pour mettre en cache les résultats de tes requetes!

n°1322915
fluminis
Posté le 10-03-2006 à 16:34:12  profilanswer
 

hum... j'ai déjà passé pas mal d'heures à lire la documentation de smarty, j'y retourne de ce pas pour continuer à la lire voir si je ne suis pas passé à coté de quelque chose.
mais je ne comprends pas comment un systeme de cache peut fonctionner avec l'exemple que j'ai mis plus haut :
utilisateur A voit page index => hop mise en cache de la page avec le message "welcome A"
utilisateur B voit page index => il recupere le cache... mais il voit "welcome A" à la place de welcome B
je dois surement comprendre quelque chose de travers ...


---------------
http://poemes.iceteapeche.com - http://www.simuland.net
n°1322931
anapajari
s/travail/glanding on hfr/gs;
Posté le 10-03-2006 à 16:44:28  profilanswer
 

Citation :

Le cache est utilisée pour accélérer l'appel de display() ou de fetch() en sauvegardant leur résultat dans un fichier. Si un fichier de cache est disponible lors d'un appel, il sera affiché sans qu'il ne soit nécessaire de regénérer le résultat. Le système de cache peut accélérer les traitements de façon impressionnante, en particulier les templates dont la compilation est très longue. Comme le résultat de display() ou de fetch()est dans le cache, un fichier de cache peut être composé de plusieurs fichiers de templates, plusieurs fichiers de configuration, etc.


Le reste ici

n°1322956
fluminis
Posté le 10-03-2006 à 17:03:32  profilanswer
 

merci bien je regarde ça


---------------
http://poemes.iceteapeche.com - http://www.simuland.net
n°1322962
omega2
Posté le 10-03-2006 à 17:09:16  profilanswer
 

fluminis > D'aprés ce que je sais de smarty, ca permet de mettre une partie de la page en cache.
En gros, si sur ta page d'acceuil t'as 50% de la page qui est constitué par les 5 derniéres news et que tu ne rajoutes une news qu'une fois par semaine, alors t'as tout intéret à mettre en cache cette partie là et à ne rendre invalide cette mise en cache que quand tu rajouteras une nouvelle news.
De cette maniére, t'auras au moins la moité de ta page d'acceuil qui est en cache.
 
En faisant ça pour chaque élément de la page qui ne bouge pas souvent, tu peux avoir en cache un grand pourcentage de ta page. Evidement, ca veut dire qu'il faut reconstituer la page à l'arrivé

n°1322970
j_lecruel
☀ ☁ ☂
Posté le 10-03-2006 à 17:15:37  profilanswer
 

Juste une petite intervention, si je peux me permettre, concernant l'utilisation des moteurs de templates tels que Smarty.
 
http://www.phppatterns.com/docs/de [...] =templates


---------------
♈ ♋ ♌ ♍ ♎ ♏ - Agora Fidelio | Galerie d'art Toulousaine
n°1322990
anapajari
s/travail/glanding on hfr/gs;
Posté le 10-03-2006 à 17:35:38  profilanswer
 

j_lecruel a écrit :

Juste une petite intervention, si je peux me permettre, concernant l'utilisation des moteurs de templates tels que Smarty.
 
http://www.phppatterns.com/docs/de [...] =templates


Article très interessant  :jap:  
 
D'ailleurs je suis totalement d'accord avec la conclusion:

Citation :

“In short, the point of template engines should be to separate your business logic from your presentation logic, not separate your PHP code from your HTML code.”


 
Reste que dans ce topic précis, le point était sur la mise en cache et je ne citais smarty que comme un moyen d'éviter de ré-inventer la roue!
 
Reste qu'il est toujours plus instructif de tout faire soi-même, après ça dépend des contraintes de temps par exemple. Et puis j'ai du mal a croire que la V1 d'un système de cache d'un developpeur isolé puisse rivaliser d'entrée en termes de performance!

n°1322994
j_lecruel
☀ ☁ ☂
Posté le 10-03-2006 à 17:38:47  profilanswer
 

En même temps, conseiller Smarty pour la mise en cache (donc pour améliorer les performances) alors que l'utilisation de ce même Smarty va les lui plomber...
 
 
 
... quoi... moi,  anti-templates engine ?


---------------
♈ ♋ ♌ ♍ ♎ ♏ - Agora Fidelio | Galerie d'art Toulousaine
n°1323012
anapajari
s/travail/glanding on hfr/gs;
Posté le 10-03-2006 à 18:14:05  profilanswer
 

j_lecruel a écrit :

En même temps, conseiller Smarty pour la mise en cache (donc pour améliorer les performances) alors que l'utilisation de ce même Smarty va les lui plomber...
 
 
 
... quoi... moi,  anti-templates engine ?


 
Alors la par contre je m'outre!!! ;)
Smarty ne plombe pas les perfs. Encore une fois je demande a voir qui est le plus perfomant entre un truc perso et la mise en case de smarty!
 
Mais on s'arrete on tiens un bon troll "pour ou contre l'utilisation des templates!"

mood
Publicité
Posté le 10-03-2006 à 18:14:05  profilanswer
 

n°1323048
fluminis
Posté le 10-03-2006 à 19:29:23  profilanswer
 

j_lecruel a écrit :

Juste une petite intervention, si je peux me permettre, concernant l'utilisation des moteurs de templates tels que Smarty.
 
http://www.phppatterns.com/docs/de [...] =templates


 
Tanks a lot !
Quel article tres interessant !
 

Citation :

Reste que dans ce topic précis, le point était sur la mise en cache et je ne citais smarty que comme un moyen d'éviter de ré-inventer la roue!  
 
Reste qu'il est toujours plus instructif de tout faire soi-même, après ça dépend des contraintes de temps par exemple. Et puis j'ai du mal a croire que la V1 d'un système de cache d'un developpeur isolé puisse rivaliser d'entrée en termes de performance!


 
Je suis loin d'être mancho ;) et j'adore réinventer la roue pour savoir comment ça marche. Du point du vu des perfs, je suis d'accord que mon systeme perso ne concurrencera pas un systeme tel que Smarty qui a fait ses preuves. Mais ça ne fait rien, j'ai envie de le faire moi même.
Et c'est clair que j'ai surtout besoin de la mise en cache plus que de la fonctionnalité moteur de template.
Smarty imbrique les deux, mais est ce une obligation ?
Peut-etre que l'utilisation de fonctions ob_start et autre pour recupérer le contenu de mes pages et les mettre en dur qq part me suffirait...
mais j'en reviens encore à mon probleme... si a quelques endrois dans la page je dois faire des tests dependant du user visualisant la page alors je ne peux pas mettre en cache ces parties...


---------------
http://poemes.iceteapeche.com - http://www.simuland.net
n°1323052
Djebel1
Nul professionnel
Posté le 10-03-2006 à 19:35:48  profilanswer
 

non, tu ne pourras jamais mettre en cache un élément de la page qui varie à chaque visite (typiquement, "bonjour Bidule" ). Ce qui est on-ne-peut-plus logique ;)
donc il faut mettre en cache uniquement les parties dont les mises à jour sont rares

n°1323124
nargy
Posté le 10-03-2006 à 22:46:13  profilanswer
 

De la même veine: quelqu un a t il essayé les <<server side includes>>? Pour des petits sites ça apporte peut être quelque gains de performance? Je nai jamais bidouillé des server side includes que sur des pages d erreur apache.

n°1323779
fluminis
Posté le 12-03-2006 à 18:35:36  profilanswer
 

Djebel1 a écrit :

non, tu ne pourras jamais mettre en cache un élément de la page qui varie à chaque visite (typiquement, "bonjour Bidule" ). Ce qui est on-ne-peut-plus logique ;)
donc il faut mettre en cache uniquement les parties dont les mises à jour sont rares


 
C'est vrai je suis bete :)
 
Par contre, je peux surement tricher un peu et mettre le lien visible pour tout le monde et si l'utilisateur n'a pas le droit d'effectuer cette action il aurra le droit à un beau message du genre "vous n'etes pas authorisé à faire... ".
De cette manière, je pourrai mettre quasiment toute ma page en cache...


---------------
http://poemes.iceteapeche.com - http://www.simuland.net
n°1323787
Djebel1
Nul professionnel
Posté le 12-03-2006 à 19:32:24  profilanswer
 

ouais enfin mettre toute la page en cache à l'exeption d'une ligne, c'est pas la mort non plus ^^


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Mise en cache et page dynamique

 

Sujets relatifs
[Résolu] Imprimer l'image d'arriere plan d'une page phpCombien de résultats par page
[VB Word] Copier une page vers un nouveau documentne pas utiliser index.html comme page d'accueil ?
afficher une base de donnée page par pagereload d'une page par une autre
[PHP] Mise en place d'un WEBFTPappeler / afficher une page php dans une autre
[ RESOLU ] lien particulier dans la pageFaciliter les mise à jours de mon site
Plus de sujets relatifs à : Mise en cache et page dynamique


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR