On Tuesday 13 November 2001 18:46, you wrote:
> Hum ... a mon tour de foutre la merde ;)
> Le pbm de tous ces 'trucs' php-nuke et consorts, c'est que pour chaque
> requête d'une page, on sorte l'attirail php-mysql .....
> S'est sympa au début, après ça rame quand le site commence à débourrer

non, le cache est fait pour cela.

spip accède à la database une fois pour générer la page, qui sera ensuite une 
page statique.

En fait, SPIP est plus subtil encore.  Puisque la page "statique" mémorisée 
dans le cache est la page résultant de l'interpétation des méta-tags SPIP.

Donc tout ce qui est accès a la database, par exemple pour un erticle tu mets 
#TITRE<BR>#TEXTE, ca génère des accès à la base, et SPIP va méoriser dans le 
cache l'état de la page après interprétation de ces méta-tags soit :
Ceci est le titre<BR>... et le texte de mon superbe article.

Là ou SPIP est subtil, c'est que ce sont ces métatags qui sont 
pré-interprêtés dans la cache, pas le reste. Donc si tu fais :

<? Ici du code PHP ?>
#TITRE<BR>#TEXTE

Voici ce que va contenir le cache :
<? Ici du code PHP ?>
Ceci est le titre<BR>... et le texte de mon superbe article.

Cela te permet donc d'avoir des pages qui sont toujours dynamiques, mais dont 
les accès à la database sont précalculés, ou même, si tu le désires, de ne 
pas cacher les accès à la database (il suffit de faire l'appel dans du code 
PHP au lieu d'un métatag SPIP).

D'autres subtilités sont intéressantes. PAr exemple l'indexation dans le 
moteur de recherche se fait à la 1ere consultation d'une page pésente dans le 
cache. Cela permet de répartir les calculs :

1ere visite : précalcul dans le cache
2nde visite : indexation

J'ajoute qu'avec spip tu détermine a chaque type de page la durée de vie dans 
le cache. Ainsi sur linuxfrench, les backends et le sommaire ont une durée de 
vie d'1h, les pages intériures : 12h, la pages des archives 24h.

bien sur, l'ajout d'un msg dans un forum cause le recalcul de la page, 
l'administrateur peut aussi faire recalculer une page.


Vous souhaitez acquerir votre Pack ou des Services MandrakeSoft?
Rendez-vous sur "http://www.mandrakestore.com";

Répondre à