SPIP-Contrib

SPIP-Contrib

عربي | Deutsch | English | Español | français | italiano

273 Plugins, 191 contribs sur SPIP-Zone, 41 visiteurs en ce moment

Accueil du site > Documentation > Tutoriaux pour le code de SPIP > SPIP 1.9 - Comment fonctionnent les appels d’une page de la partie publique (...)

SPIP 1.9 - Comment fonctionnent les appels d’une page de la partie publique ?

4 mars 2006 – par Cedric Morin – <blink style='color:red;'>public|spip|ecrire:commentaires</blink>

Pour la partie privée, la notion de performance est secondaire car elle ne génére pas un trafic important.

Pour la partie publique, il faut imperativement optimiser la performance pour pouvoir servir un maximum de hit simultanes, tout en acceptant un certain nombre de fonctionnalités

L’organisation des fichiers n’est plus forcément dictée par une logique fonctionelle, mais aussi par une contrainte d’optimisation des chargements de fichier.

Le but est de ne charger que ce qui est strictement nécessaire.

Comment cela fonctionne-t-il ?

Le visiteur interroge une url titre.html

  • GET titre.html réalisé par le navigateur
  • SPIP regarde si le fichier CACHE/a/titre_jdsjfdfjskfl14564.gz
    • le nom a/titre_jdsjfdfjskfl14564.gz est calculé a partir de l’url, du dossier_squelette. C’est le $chemin_cache
      • les opérations de cette étape sont traitée dans ecrire/public/cache.php
  • si la page en cache n’existe pas ou est perimée
    • si le squelette compilé CACHE/squelette/titre.php n’est pas disponible
      • phase de COMPILATION du squelette
        • le squelette titre.html est chargé
        • il est compilé dans CACHE/squelette/titre.php
          • transformation des boucles, balises … en code php
    • Phase de CALCUL du squelette compilé CACHE/squelette/titre.php
      • le fichier php est executé pour produire le fichier CACHE/a/titre_jdsjfdfjskfl14564.gz a jour
  • le fichier CACHE/a/titre_jdsjfdfjskfl14564.gz est evalué pour prendre en compte le code php restant (code php inclus dans les squelettes notamment)
    • Opérations réalisés par les scripts de ecrire/public/
  • un post rendu est réalise pour certaines operations spéciales (ex:surligner les mots de var_recherche pour servir une page apres une recherche)

Les accès à la base de données n’interviennent qu’a compilation/calcul. Ces accès sont couteux, et ils sont donc à éviter dès que la page calculée est en page.

Bon a savoir !

  • La requête var_mode=calcul provoque un CALCUL du squelette compilé présent en cache
  • La requête var_mode=recalcul provoque une COMPILATION du squelette puis son CALCUL

Les invalideurs

Ils sont gérés dans une table spip_cache
Tout un tas d’invalideur existent, liés chacun a un type d’évènement.
Ils servent à invalider toutes les pages liées à l’invalideur
Lorsque l’évènement propre à l’invalideur - un nouveau message dans un forum pour un invalideur forum - arrive, toutes les pages liées sont supprimées du cache.

Dixit _fil_, ca gagne a être connu, mais c’est pas encore super clair pour moi … Donc je vous en dis pas plus pour le moment !

Les subtilités du cache

Dans la 1.9, la gestion du cache prend en compte l’url par laquelle la page est demandée, le nom du fichier fond (une même page peut donc être servie par des fonds différents sans problème de cache), le dossier squelette (permet de personnaliser tout le design du site en fonction du profil utilisateur (cookie, navigateur, utilisateur identifié, adresse IP...).
Applications pratiques :
Proposer des habillages différents du site en fonction du nom de domaine par lequel il est appelé, pour un site multi-enseignes par exemple
Proposer des fonctions supplémentaires sur un site « corporate » pour les personnes qui surfent depuis l’adresse IP de la sociéte
Restreindre l’accès du site à une partie des visiteurs

Retour en haut de la page

Vos commentaires

  • Le 14 avril 2007 à 18:56, par Bernt En réponse à : SPIP 1.9 - Comment fonctionnent les appels d’une page de la partie publique ?

    Depuis mon passage en version 1.9, je suis souvent obligé de vider le cache de mon routeur pour accéder à mon site.

    Par ailleurs, une fois que j’ai vidé mon routeur, je suis aussi obligé de vider le cache de spip car je m’aperçois que des pages sont mal calculées.

    Qui a déjà rencontré ce problème ?

    Cordialement. BS

    Répondre à ce message

  • Le 28 mars 2006 à 18:17, par Loiseau2nuit En réponse à : SPIP 1.9 - Comment fonctionnent les appels d’une page de la partie publique ?

    Les subtilités du cache

    Dans la 1.9, la gestion du cache prend en compte l’url par laquelle la page est demandée, le nom du fichier fond (une même page peut donc être servie par des fonds différents sans problème de cache), le dossier squelette (permet de personnaliser tout le design du site en fonction du profil utilisateur (cookie, navigateur, utilisateur identifié, adresse IP...).

    Quelqu’un pourrait -il développer un peu ce passage ci SVP ? J’avoue être super séduit par l’idée mais ne voit pas trop comment la mettre en place...

    Répondre à ce message

Répondre à cet article

Qui êtes-vous ?

Pour afficher votre trombine avec votre message, enregistrez-la d'abord sur gravatar.com (gratuit et indolore) et n'oubliez pas d'indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici Les choses à faire avant de poser une question (Prolégomènes aux rapports de bugs. )
Ajouter un document

Retour en haut de la page

Ça discute par ici

  • Squelettes « Chez nous »

    17 avril 2008 – 26 <blink style='color:red;'>public|spip|ecrire:commentaires</blink>

    Jeu de squelettes prêts à l’emploi pour site de maison : visite des lieux, présentation des habitants, chronique et livre d’or.

  • Formidable, le générateur de formulaires

    23 janvier – 55 <blink style='color:red;'>public|spip|ecrire:commentaires</blink>

    Un générateur de formulaires facilement configurable pour les non-informaticiens et facilement extensible pour les développeurs. Introduction L’objectif était de créer un plugin permettant de générer des formulaires. Historiquement, 2 plugins avaient (...)

  • Transaction : créer des formulaires avec paiement en ligne

    13 mars 2011 – 33 <blink style='color:red;'>public|spip|ecrire:commentaires</blink>

    Transaction est une extension du plugin de création de formulaires Formidable pour concevoir des formulaires de paiement en ligne et les connecter aux principales API bancaires françaises. Présentation Transaction introduit 3 nouveaux types de (...)

  • Plugin SPIP-Géoportail

    17 août 2010 – 169 <blink style='color:red;'>public|spip|ecrire:commentaires</blink>

    Plugin pour l’intégration d’objets géographiques dans SPIP avec l’API Géoportail. Affichage de cartes Géoportail, OpenStreetMap (OSM), Google Maps ou Yahoo !... Préambule : Travaillant sur un projet utilisant SPIP et le Géoportail, il nous a semblé (...)

  • Navigation AJAX

    31 janvier – 13 <blink style='color:red;'>public|spip|ecrire:commentaires</blink>

    Ce plugin permet de modifier automatiquement une parties des liens internes de manière à ce qu’ils ne déclenchent pas un chargement complet de la page cible, mais un chargement en AJAX de certains éléments spécifiés à l’avance. Il permet aussi de (...)