Le fonctionnement du cache Diverses manières de présenter En 5 Versions François Daniel Giezendanner, SEM (Service Ecoles et Medias) - DIP - Genève, 5.

Slides:



Advertisements
Présentations similaires
Créer un site web en équipe
Advertisements

Chapitre annexe. Récursivité
DTD Sylvain Salvati
Story-board version 1.1 Statut : à valider Rédacteur : Nicole Djuissi
Module 6 : Gestion et analyse du système DNS
Tutoriel SPIP Rédacteur.
Autorisations Utilisation eCATT
Gestion des partenaires. Ce panel de choix doit être adapté à lajout dun partenaire: Dans Cocolight / Coconut il faudrait avoir 2 possibilités : 1er Niveau:
Créer un document LES FONCTIONS ENREGISTRER LES FORMATS Retour au menu principal.
Gestion de la communication par établissement sur le site ville
La sauvegarde des fichiers Dominique Dupont Suzanne Isacchi Maurice Chapelle Georges Planté-Longchamp.
Cours de programmation
Cours 7 - Les pointeurs, l'allocation dynamique, les listes chaînées
SECURITE DU SYSTEME D’INFORMATION (SSI)
Bibliothèque Patchouli
Créer une animation simple Gif avec ImageReady.
FAIRE SON RAPPORT MENSUEL EN LIGNE ET PRENDRE DU BON TEMPS Lion Roland Pelletier District U-3.
La technologie au collège et le B2i
Autodesk® Revit® Building 9
Algorithmique et Programmation
1 Sécurité Informatique : Proxy Présenter par : Mounir GRARI.
Rédacteur 1. Sommaire Connexion Interface SPIP Menu SPIP Rédiger un article Interface de création dun article Fonctionnalités de base Statut de larticle.
18/05/ Utiliser le cahier de texte en ligne avec lapplication SPIP Adresse du site du lycée :
Les instructions PHP pour l'accès à une base de données MySql
Auto Exterior Scoop SQP PROCESSUS 24 juillet 2006 Version validée V01.
Création d'un diaporama Création d'un diaporama
28 novembre 2012 Grégory Petit
1 CLUB DES UTILISATEURS SAS DE QUÉBEC COMMENT TRANSFORMER UN PROGRAMME SAS EN TÂCHE PLANIFIÉE SOUS WINDOWS Présentation de Jacques Pagé STRiCT Technologies.
ASP.NET Par: Hugo St-Louis. C ARACTÉRISTIQUES A SP. NET Évolution, successeur plus flexible quASP (Active Server Pages). Pages web dynamiques permettant.
Utilisation de SPIP comme rédacteur
Les Fonctions. Définir une fonction Sections de code indépendantes que lon peut appeler à nimporte quel moment et dans nimporte quel ordre. Bout de code.
Introduction à la programmation I Fonctions Structures de contrôle Structures de données (arrays simples et indexés) Variables locales et globales.
1. 2 PLAN DE LA PRÉSENTATION - SECTION 1 : Code HTML - SECTION 2.1. : CSS (Méthode 1) - SECTION 2.2. : CSS (Méthode 2) - SECTION 3 : JavaScript - SECTION.
François Daniel Giezendanner, SEM (Service Ecoles et Medias) - DIP - Genève, 4-5 Théodore-de-Bèze, 1205 CH-Genève Tél: / ,
Boucles et Balises SPIP 1.7.2
SPIP : Fonctionnement d’un SITE DYNAMIQUE avec CACHE
Boucles et Balises SPIP 2.0.6
Les Boucles et Balises SPIP 2.0.6
Les Boucles et Balises SPIP Prendre en compte les éléments et relations : Maîtriser la syntaxe et exploiter les générateurs de boucles et balises.
François Daniel Giezendanner, SEM (Service Ecoles et Medias) - DIP - Genève, 4-5 Théodore-de-Bèze, 1205 CH-Genève Tél: / ,
LAssistant Dreamweaver pour SPIP « Ce fichier PowerPoint est téléchargeable à ladresse : »
Feuilles de Styles en Cascade
Installer SPIP sur un serveur
Création d’un site internet en XHTML + L’hébergement By Reyne & Archinard.
Date : Juillet 2014 Formation : TAI Formateur : Tayeb BENDJELTI
Un site sous SPIP Un nouveau système de publication sur le net Collège Charles Rieu A.T.I. Pélofi Stéphane.
PHP 5° PARTIE : LES COOKIES
D1 - 13/04/2015 Petite présentation de SPIP 17 octobre 2007 Philippe Giron Tisserand du site Internet diocésain.
LES INFOS de Philippe et Patrick Journal d'informations en ligne Infospp.free.fr Mai 2006.
Xi HUA Wenyun DAI Morgane GIRONA
POWERPOINT.
PHP 6° PARTIE : LES SESSIONS 1.Introduction 2.Identificateur de session 3.Variables de session 4.Client / Serveur 5.Principe 6.Ouverture de session 7.Enregistrement.
Lancez la commande JDPRINT pour lancer l’outil d’impression
Initiation au JavaScript
En route vers le déploiement . . .
PRINCIPE DE FONCTIONNEMENT DE PHP/MYSQL et SPIP Michaël Vilbenoit - Formateur TICE Conseiller de Bassin pour les TICE
1 ::: GUIDELINE BACK OFFICE SITE UNIVERS INFIRMIER À l’attention de Audrey Vesque et Delio Prudente MARDI 25 JUIN 2013.
Support.ebsco.com Didacticiel Mon EBSCOhost Didacticiel.
1 Tutoriel SPIP Rédacteur. 2 Sommaire Connexion Interface SPIP Menu SPIP Rédiger un article Interface de création d’un article Fonctionnalités de base.
Nassim Bouaziz Mariève Bureau
CPI/BTS 2 Programmation Web Les sites dynamiques Prog Web CPI/BTS2 – M. Dravet – 02/10/2003 Dernière modification: 02/10/2003.
Centre d’échange d’informations sur la Convention sur la Diversité Biologique Bienvenue dans le cours sur l’ajout d’une Actualité sur un site web développé.
Utilisation de SPIP comme rédacteur 12 avril 2007 Présenté par Stéphane Lavoie.
Chaîne de requêteCookieSession Sauvegarder un état via l'url Sauvegarder l'état La technique consiste à passer des informations via l'URL sous la forme:
TD N°5: Une GPAO pour l’usine Odyssée
WINDOWS SEVEN.
GUIDE D’UTILISATION SITE STE BATHILDE. Sommaire 1.Connexion - La page d’accueil 2.Gérer les articles: - Création - Modification - Suppression 3.Gérer.
Scénario Les scénarios permettent de modifier la position, taille … des calques au cours du temps. Son fonctionnement est très proche de celui de Macromedia.
TD N°5: Une GPAO pour l’usine Odyssée. Lancement du logiciel Logiciel « Usine Odyssée 7 » disponible dans … Entrer votre nom et un nom d’entreprise de.
Transcription de la présentation:

Le fonctionnement du cache Diverses manières de présenter En 5 Versions François Daniel Giezendanner, SEM (Service Ecoles et Medias) - DIP - Genève, 5 rue des Gazomètres, 1205 CH-Genève Tél: / , - Tél: / , - Cours « Squelettes SPIP » - Mardi 21 avril et Mardi 5 mai 2009, 8h00-18h00

Le fonctionnement du cache Version 1

Lappel dune page spécifique se fait par lintermédiaire du moteur php de SPIP. Par exemple, pour appeler larticle n°5, lURL correspondante est : Le principe de fonctionnement du cache Ou plus simplement depuis SPIP 1.9 :

#CACHE{24*3600} Fichier appelé : page=article&id_article=5 1. Lutilisateur appelle la page : /spip.php?page=article&id_article=5 2. SPIP vérifie dans le dossier de cache /tmp/cache/ Sil existe déjà le fichier correspondant dossier /tmp/cache/ article5.php

Fichier appelé : page=article&id_article=5 1. Lutilisateur appelle la page : /spip.php?page=article&id_article=5 2. SPIP vérifie dans le dossier de cache /tmp/cache/ Sil existe déjà le fichier correspondant 1. Le fichier appelé est donc article.html, avec en paramètre id_article=5. 1. Le fichier appelé est donc article.html, avec en paramètre id_article=5. article5.php dossier /tmp/cache/ #CACHE{24*3600}

2. La première tâche du moteur php de SPIP consiste à vérifier dans le dossier /CACHE sur votre serveur, sil existe déjà un fichier correspondant à cet article. 2. La première tâche du moteur php de SPIP consiste à vérifier dans le dossier /CACHE sur votre serveur, sil existe déjà un fichier correspondant à cet article. Fichier appelé : page=article&id_article=5 1. Lutilisateur appelle la page : /spip.php?page=article&id_article=5 2. SPIP vérifie dans le dossier de cache /tmp/cache/ Sil existe déjà le fichier correspondant article5.php dossier /tmp/cache/ #CACHE{24*3600}

2bis. Si un tel fichier existe dans le dossier de cache /tmp, le moteur php de SPIP vérifie sa date de création. Si ce fichier est suffisamment récent, il le retourne directement à lutilisateur. Le processus de consultation est alors terminé. 2bis. Si un tel fichier existe dans le dossier de cache /tmp, le moteur php de SPIP vérifie sa date de création. Si ce fichier est suffisamment récent, il le retourne directement à lutilisateur. Le processus de consultation est alors terminé. Fichier appelé : page=article&id_article=5 1. Lutilisateur appelle la page : /spip.php?page=article&id_article=5 2. SPIP vérifie dans le dossier de cache /tmp/cache/ Sil existe déjà le fichier correspondant article5.php dossier /tmp/cache/ #CACHE{24*3600}

Fichier appelé : page=article&id_article=5 1. Lutilisateur appelle la page : /spip.php?page=article&id_article=5 article5.html 2. SPIP vérifie dans le dossier de cache /tmp/cache/ Sil existe déjà le fichier correspondant /tmp 3. Sil nexiste pas un tel fichier dans le cache /tmp (première visite sur cet article, par exemple), ou si son âge est trop ancien, Le moteur php de SPIP démarre le calcul de cette page. 3. Sil nexiste pas un tel fichier dans le cache /tmp (première visite sur cet article, par exemple), ou si son âge est trop ancien, Le moteur php de SPIP démarre le calcul de cette page. article5.php #CACHE{24*3600}

Fichier appelé : page=article&id_article=5 1. Lutilisateur appelle la page : /spip.php?page=article&id_article=5 article5.html 2. SPIP vérifie dans le dossier de cache /tmp /cache/ Sil existe déjà le fichier correspondant /tmp 4. La page article.html est alors chargée et analysée. Elle contient la mise en page correspondant à ce type de document. Il sagit de HTML complété dindications permettant de placer les éléments tirés de la base de données. En fonction des éléments requis par article.html, SPIP va chercher les informations nécessaires tirées de la base de données mySQL et les insérer aux endroits prévus. 4. La page article.html est alors chargée et analysée. Elle contient la mise en page correspondant à ce type de document. Il sagit de HTML complété dindications permettant de placer les éléments tirés de la base de données. En fonction des éléments requis par article.html, SPIP va chercher les informations nécessaires tirées de la base de données mySQL et les insérer aux endroits prévus. article5.php #CACHE{24*3600}

Fichier appelé : page=article&id_article=5 1. Lutilisateur appelle la page : /spip.php?page=article&id_article=5 article5.html 2. SPIP vérifie dans le dossier de cache /tmp Sil existe déjà le fichier correspondant 5. Un fichier est ainsi fabriqué par le moteur php de SPIP, à partir de la description contenue dans article.html, avec les éléments tirés de la base de données pour lid_article=5. Ce fichier est alors sauvegardé dans le dossier de cache /tmp et renvoyé au visiteur. article5.php dossier /tmp/cache/ #CACHE{24*3600}

Fichier appelé : page=article&id_article=5 1. Lutilisateur appelle la page : /spip.php?page=article&id_article=5 article5.html 2. SPIP vérifie dans le dossier de cache /tmp Sil existe déjà le fichier correspondant Lors dune visite suivante, si le délai entre les deux visites est suffisamment court, cest donc ce nouveau fichier stocké dans le cache /tmp qui est retourné, sans avoir à faire un nouveau calcul à partir de la base de données. En cas de plantage de la base de données, cest forcément le fichier en cache qui est retourné, même sil est « trop âgé ». Lors dune visite suivante, si le délai entre les deux visites est suffisamment court, cest donc ce nouveau fichier stocké dans le cache /tmp qui est retourné, sans avoir à faire un nouveau calcul à partir de la base de données. En cas de plantage de la base de données, cest forcément le fichier en cache qui est retourné, même sil est « trop âgé ». article5.php dossier /tmp/cache/ #CACHE{24*3600}

Fichier appelé : page=article&id_article=5 1. Lutilisateur appelle la page : /spip.php?page=article&id_article=5 article5.html 2. SPIP vérifie dans le dossier de cache /tmp Sil existe déjà le fichier correspondant Remarque. On voit ici que chaque page du site est mise en cache individuellement, et chaque re-calcul est provoqué par les visites du site. Il ny a pas, en particulier, un re-calcul de toutes les pages du site dun seul coup à échéance régulière (ce genre de « grosse manoeuvre » ayant le bon goût de surcharger le serveur et de le faire parfois planter). Remarque. On voit ici que chaque page du site est mise en cache individuellement, et chaque re-calcul est provoqué par les visites du site. Il ny a pas, en particulier, un re-calcul de toutes les pages du site dun seul coup à échéance régulière (ce genre de « grosse manoeuvre » ayant le bon goût de surcharger le serveur et de le faire parfois planter). article5.php dossier /tmp/cache/ #CACHE{24*3600}

Le fonctionnement du cache Version 2

Le fonctionnement du cache Version 3

Dans le dossier tmp/ sont stockés tous les fichiers temporaires : /cache/ : de caches des pages html affichées pour le site; /dump/ : de sauvegarde de la base de données (import /export); /upload/ : des arborescences de documents disponibles dans l espace privé. /visites/ : relatifs aux statistiques de consultation; *.log : de logs d exécution du site. Le dossier tmp/ peut être vidé à tout moment. Dans le dossier tmp/ sont stockés tous les fichiers temporaires : /cache/ : de caches des pages html affichées pour le site; /dump/ : de sauvegarde de la base de données (import /export); /upload/ : des arborescences de documents disponibles dans l espace privé. /visites/ : relatifs aux statistiques de consultation; *.log : de logs d exécution du site. Le dossier tmp/ peut être vidé à tout moment. Roles des répertoires et fichiers de tmp/

Le principe de fonctionnement du cache, de manière simplifiée Par défaut, une page est considérée comme trop vieille au bout de 3600 secondes Une fois que vous aurez compris le langage SPIP, vous pourrez modifier ce délai en vous servant de la balise #CACHE (cf. plus loin).

Le principe de fonctionnement du cache, de manière simplifiée Le système de cache permet : de stocker chaque page temporairement et ainsi déviter de provoquer des appels à la base de données à chaque visite.

tmp/cache/ est le dossier où sont placés les fichiers créés par le moteur SPIP pour le cache selon l'algorithme précédemment décrit et selon un délai fixé par linstruction #CACHE{86400} (86400 s) placée au début de chaque fichier html du squelette (ici s = 24 h x 3600 s/h). tmp/cache/ est le dossier où sont placés les fichiers créés par le moteur SPIP pour le cache selon l'algorithme précédemment décrit et selon un délai fixé par linstruction #CACHE{86400} (86400 s) placée au début de chaque fichier html du squelette (ici s = 24 h x 3600 s/h). Le principe de fonctionnement du cache, de manière simplifiée On peut aussi écrire linstruction (une balise SPIP) : #CACHE{24 * 3600} ou #CACHE{3 * 24 * 3600} placée au début de chaque squelette rubrique.html, article.html, breve.html, etc. On peut aussi écrire linstruction (une balise SPIP) : #CACHE{24 * 3600} ou #CACHE{3 * 24 * 3600} placée au début de chaque squelette rubrique.html, article.html, breve.html, etc. /cache/

Le principe de fonctionnement du cache, de manière simplifiée Vider le cache manuellement : Voir en ligne Le système de cache « construit » et stocke chaque page à des intervalles réguliers fixés par linstruction #CACHE{86400} dans le répertoire tmp/cache/. Il évite ainsi son recalcul à chaque visite d'un utilisateur : La base de données n'est pas sollicitée à chaque visite. La charge sur le serveur est réduite et la vitesse d'affichage des pages très largement accélérée. Le site sous SPIP reste consultable même lorsque la base mySQL est en panne. Le dossier tmp/cache/ peut être vidé à tout moment.

Le fonctionnement du cache Version 4

#CACHE{24*3600} Fichier appelé : page=article&id_article=5 1. Lutilisateur appelle la page : /spip.php?page=article& id_article=5 2. SPIP vérifie dans le dossier de cache /tmp/cache/ Sil existe déjà le fichier correspondant dossier /tmp/cache/ article.php Gérer le cache (1/5)

Gérer le cache (2/5) Lorsquune page est demandée à SPIP, par exemple lURL Dans notre exemple nous avions fixé des #CACHE{0} ; doù un recalcul systématique des pages à chaque consultation du site. Si ce délai nest pas dépassé, SPIP affiche le fichier présent dans le CACHE. Si ce délai est dépassé, SPIP recalcule le fichier comme indiqué ci-dessus. Si ce fichier existe, SPIP compare lâge du fichier caché aux $delais fixés dans le fichier dappel tutoriel.php3. SPIP regarde dans son sous-répertoire tmp/cache/ si ce fichier existe : Si ce fichier nexiste pas, SPIP calcule ce fichier en se connectant à la base de données pour y lire les informations requises, dépose le résultat du calcul dans le /tmp/cache et laffiche à l écran de lutilisateur.

La page « id_article=5 » est demandée à SPIP, c est à dire lURL spip.php?page=article& id_article=5, La page « id_article=5 » est demandée à SPIP, c est à dire lURL spip.php?page=article& id_article=5, Non : Délai dépassé Non : Délai dépassé Calcule id_article=5 en intégrant les éléments de la base de données Non Consulte CACHE : Existence fichier id_article=5 ? Mise en CACHE Affiche article12.html Oui $delais < Age-Fichier ? Affiche article5.html Fichier Existe ? Oui : Délai Non-dépassé Oui : Délai Non-dépassé (3/5)

La page « id_article=5 » est demandée à SPIP, c est à dire article&id_article=5, Non : Délai dépassé Non : Délai dépassé Calcule id_article=5 en intégrant les éléments de la base de données Non Consulte CACHE : Existence fichier id_article=5 ? Mise en CACHE Affiche article12.html Oui $delais < Age-Fichier ? Affiche article5.html Fichier Existe ? Oui : Délai Non-dépassé Oui : Délai Non-dépassé Schéma ou Organigramme ? Chacun choisit le «langage» qui lui convient ! Schéma ou Organigramme ? Chacun choisit le «langage» qui lui convient ! Distinguer : le Squelette HTML en amont du CACHE du Fichier HTML calculé pour le CACHE et lECRAN

Passons à #CACHE{3600} ; (cest en secondes) : Notre page web nest donc recalculée que si, lorsquun visiteur la demande, sa version cachée date de plus dune heure (soit 3600 s.). Sinon, SPIP lit simplement le contenu du fichier caché, et renvoie le résultat sans se connecter à la base de données (sauf pour y insérer un «hit» dans les statistiques). Pour développer en mode local : #CACHE{0} ; Pour la consultation en mode serveur : #CACHE{24*3600} ; ou plus : #CACHE{72*3600} ; (soit 3 jours par exemple) Gérer le cache (5/5) Réglage du délai :

Le fonctionnement du cache Version 5