[SPIP Zone] Invalider le cache d'un squelette ?

Hello,

Est-ce qu'il existe une possibilité pour invalider le cache d'une page (spip.php?page=XXX) ou mieux, d'un squelette en particulier ?

Je sais que suivre_invalideur peut invalider le cache d'un objet précis (même si j'ai l'impression que l'id_objet n'est jamais utilisé ?).

Bref, il y a une astuce en dehors de #CACHE{0} ?

--
Didier

Salut,

Dans tu php :
include_spip(‹ inc/invalideur ›);
suivre_invalideur(« id=‹ auteur/$id_auteur › »);

Tu peux fais cela dans le php d’un formulaire editer_auteur par exemple

Hello,

Oui, je sais pour cela.

Ce que je veux invalider, c’est par exemle, le cache de la page spip.php?page=inscription.

Ou le cache du squelette inclure/liste.html

Bref, ce qui n’est pas lié à un objet.

Hello,

Dans le plugin Noizettier il y'a

         // On invalide le cache
         include_spip('inc/invalideur');
         suivre_invalideur("id='page/$page'");

Le 15/02/2017 à 16:35, Debondt Didier a écrit :

Hello,

Oui, je sais pour cela.

Ce que je veux invalider, c'est par exemle, le cache de la page spip.php?page=inscription.

Ou le cache du squelette inclure/liste.html

Bref, ce qui n'est pas lié à un objet.

Didier
Le 15/02/17 à 16:28, Pierre KUHN a écrit :

Salut,

Dans tu php :
        include_spip('inc/invalideur');
        suivre_invalideur("id='auteur/$id_auteur'");

Tu peux fais cela dans le php d'un formulaire editer_auteur par exemple

Le 15 février 2017 à 16:25, Debondt Didier <p@henix.be <mailto:p@henix.be>> a écrit :

    Hello,

    Est-ce qu'il existe une possibilité pour invalider le cache d'une
    page (spip.php?page=XXX) ou mieux, d'un squelette en particulier ?

    Je sais que suivre_invalideur peut invalider le cache d'un objet
    précis (même si j'ai l'impression que l'id_objet n'est jamais
    utilisé ?).

    Bref, il y a une astuce en dehors de #CACHE{0} ?

    -- Didier

    ----
    spip-zone@rezo.net <mailto:spip-zone@rezo.net> -
    http://listes.rezo.net/mailman/listinfo/spip-zone
    <http://listes.rezo.net/mailman/listinfo/spip-zone&gt;

--

Pierre KUHN
http://www.voisins-spipeurs.net

----
spip-zone@rezo.net - http://listes.rezo.net/mailman/listinfo/spip-zone

--
Bonne journée
Arnaud B. (Mist. GraphX)

Ha tien la aussi, ce n'est pas sur un objet

include_spip('inc/invalideur'); suivre_invalideur('centre_image');

Le 15/02/2017 à 16:43, Mist. GraphX a écrit :

Hello,

Dans le plugin Noizettier il y'a

        // On invalide le cache
        include_spip('inc/invalideur');
        suivre_invalideur("id='page/$page'");

Le 15/02/2017 à 16:35, Debondt Didier a écrit :

Hello,

Oui, je sais pour cela.

Ce que je veux invalider, c'est par exemle, le cache de la page
spip.php?page=inscription.

Ou le cache du squelette inclure/liste.html

Bref, ce qui n'est pas lié à un objet.

Didier
Le 15/02/17 à 16:28, Pierre KUHN a écrit :

Salut,

Dans tu php :
        include_spip('inc/invalideur');
        suivre_invalideur("id='auteur/$id_auteur'");

Tu peux fais cela dans le php d'un formulaire editer_auteur par exemple

Le 15 février 2017 à 16:25, Debondt Didier <p@henix.be
<mailto:p@henix.be>> a écrit :

    Hello,

    Est-ce qu'il existe une possibilité pour invalider le cache d'une
    page (spip.php?page=XXX) ou mieux, d'un squelette en particulier ?

    Je sais que suivre_invalideur peut invalider le cache d'un objet
    précis (même si j'ai l'impression que l'id_objet n'est jamais
    utilisé ?).

    Bref, il y a une astuce en dehors de #CACHE{0} ?

    -- Didier

    ----
    spip-zone@rezo.net <mailto:spip-zone@rezo.net> -
    http://listes.rezo.net/mailman/listinfo/spip-zone
    <http://listes.rezo.net/mailman/listinfo/spip-zone&gt;

--

Pierre KUHN
http://www.voisins-spipeurs.net

----
spip-zone@rezo.net - http://listes.rezo.net/mailman/listinfo/spip-zone

--
Bonne journée
Arnaud B. (Mist. GraphX)

D'accord, mais alors pour le coup, à quoi correspond 'centre_image' ?
Cela fait référence à quoi ?

Didier

Le 15/02/2017 à 17:36, Mist. GraphX a écrit :

Ha tien la aussi, ce n'est pas sur un objet

Connexion · GitLab

include_spip('inc/invalideur'); suivre_invalideur('centre_image');

Le 15/02/2017 à 16:43, Mist. GraphX a écrit :

Hello,

Dans le plugin Noizettier il y'a

        // On invalide le cache
        include_spip('inc/invalideur');
        suivre_invalideur("id='page/$page'");

Le 15/02/2017 à 16:35, Debondt Didier a écrit :

Hello,

Oui, je sais pour cela.

Ce que je veux invalider, c'est par exemle, le cache de la page
spip.php?page=inscription.

Ou le cache du squelette inclure/liste.html

Bref, ce qui n'est pas lié à un objet.

Didier
Le 15/02/17 à 16:28, Pierre KUHN a écrit :

Salut,

Dans tu php :
        include_spip('inc/invalideur');
        suivre_invalideur("id='auteur/$id_auteur'");

Tu peux fais cela dans le php d'un formulaire editer_auteur par
exemple

Le 15 février 2017 à 16:25, Debondt Didier <p@henix.be
<mailto:p@henix.be>> a écrit :

    Hello,

    Est-ce qu'il existe une possibilité pour invalider le cache d'une
    page (spip.php?page=XXX) ou mieux, d'un squelette en particulier ?

    Je sais que suivre_invalideur peut invalider le cache d'un objet
    précis (même si j'ai l'impression que l'id_objet n'est jamais
    utilisé ?).

    Bref, il y a une astuce en dehors de #CACHE{0} ?

    -- Didier

    ----
    spip-zone@rezo.net <mailto:spip-zone@rezo.net> -
    http://listes.rezo.net/mailman/listinfo/spip-zone
    <http://listes.rezo.net/mailman/listinfo/spip-zone&gt;

--

Pierre KUHN
http://www.voisins-spipeurs.net

----
spip-zone@rezo.net - http://listes.rezo.net/mailman/listinfo/spip-zone

Bon, ça par contre, cela semble fonctionner comme attendu, curieusement
d'ailleurs, ce n'est pas documenté.

Didier

Le 15/02/2017 à 16:43, Mist. GraphX a écrit :

Hello,

Dans le plugin Noizettier il y'a

        // On invalide le cache
        include_spip('inc/invalideur');
        suivre_invalideur("id='page/$page'");

Le 15/02/2017 à 16:35, Debondt Didier a écrit :

Hello,

Oui, je sais pour cela.

Ce que je veux invalider, c'est par exemle, le cache de la page
spip.php?page=inscription.

Ou le cache du squelette inclure/liste.html

Bref, ce qui n'est pas lié à un objet.

Didier
Le 15/02/17 à 16:28, Pierre KUHN a écrit :

Salut,

Dans tu php :
        include_spip('inc/invalideur');
        suivre_invalideur("id='auteur/$id_auteur'");

Tu peux fais cela dans le php d'un formulaire editer_auteur par exemple

Le 15 février 2017 à 16:25, Debondt Didier <p@henix.be
<mailto:p@henix.be>> a écrit :

    Hello,

    Est-ce qu'il existe une possibilité pour invalider le cache d'une
    page (spip.php?page=XXX) ou mieux, d'un squelette en particulier ?

    Je sais que suivre_invalideur peut invalider le cache d'un objet
    précis (même si j'ai l'impression que l'id_objet n'est jamais
    utilisé ?).

    Bref, il y a une astuce en dehors de #CACHE{0} ?

    -- Didier

    ----
    spip-zone@rezo.net <mailto:spip-zone@rezo.net> -
    http://listes.rezo.net/mailman/listinfo/spip-zone
    <http://listes.rezo.net/mailman/listinfo/spip-zone&gt;

--

Pierre KUHN
http://www.voisins-spipeurs.net

----
spip-zone@rezo.net - http://listes.rezo.net/mailman/listinfo/spip-zone

Certainement au cache généré par le plugin en se basant sur le prefix, je ne vois que ça la … mais je dis peut être une connerie ^^

Le 15/02/2017 à 17:40, Debondt Didier a écrit :

D'accord, mais alors pour le coup, à quoi correspond 'centre_image' ?
Cela fait référence à quoi ?

Didier

Le 15/02/2017 à 17:36, Mist. GraphX a écrit :

Ha tien la aussi, ce n'est pas sur un objet

Connexion · GitLab

include_spip('inc/invalideur'); suivre_invalideur('centre_image');

Le 15/02/2017 à 16:43, Mist. GraphX a écrit :

Hello,

Dans le plugin Noizettier il y'a

         // On invalide le cache
         include_spip('inc/invalideur');
         suivre_invalideur("id='page/$page'");

Le 15/02/2017 à 16:35, Debondt Didier a écrit :

Hello,

Oui, je sais pour cela.

Ce que je veux invalider, c'est par exemle, le cache de la page
spip.php?page=inscription.

Ou le cache du squelette inclure/liste.html

Bref, ce qui n'est pas lié à un objet.

Didier
Le 15/02/17 à 16:28, Pierre KUHN a écrit :

Salut,

Dans tu php :
         include_spip('inc/invalideur');
         suivre_invalideur("id='auteur/$id_auteur'");

Tu peux fais cela dans le php d'un formulaire editer_auteur par
exemple

Le 15 février 2017 à 16:25, Debondt Didier <p@henix.be
<mailto:p@henix.be>> a écrit :

     Hello,

     Est-ce qu'il existe une possibilité pour invalider le cache d'une
     page (spip.php?page=XXX) ou mieux, d'un squelette en particulier ?

     Je sais que suivre_invalideur peut invalider le cache d'un objet
     précis (même si j'ai l'impression que l'id_objet n'est jamais
     utilisé ?).

     Bref, il y a une astuce en dehors de #CACHE{0} ?

     -- Didier

     ----
     spip-zone@rezo.net <mailto:spip-zone@rezo.net> -
     http://listes.rezo.net/mailman/listinfo/spip-zone
     <http://listes.rezo.net/mailman/listinfo/spip-zone&gt;

--

Pierre KUHN
http://www.voisins-spipeurs.net

----
spip-zone@rezo.net - http://listes.rezo.net/mailman/listinfo/spip-zone

----
spip-zone@rezo.net - http://listes.rezo.net/mailman/listinfo/spip-zone

--
Bonne journée
Arnaud B. (Mist. GraphX)

Debondt Didier a écrit le 15/02/2017 à 17:40 :

D'accord, mais alors pour le coup, à quoi correspond 'centre_image' ?
Cela fait référence à quoi ?

Comme c'est moi qui ais commité ça, je peux répondre.
suivre_invalideur, actuellement, se contente de dire que le cache est globalement invalide, quel que soit le paramètre qu'on lui passe.
Autrement dit, même si on l'appelle avec une certaine granularité, ça ne change rien au résultat : tout le cache est invalidé.
Donc, sachant cela, j'ai mis
suivre_invalideur('centre_image');
juste pour que ça puisse indiquer que c'était une invalidation qui venait de ce plugin.

--
RealET

Le 15/02/2017 à 16:25, Debondt Didier a écrit :

Est-ce qu'il existe une possibilité pour invalider le cache d'une page
(spip.php?page=XXX) ou mieux, d'un squelette en particulier ?

Réponse rapide : non.

Ça a tenté d'exister au tout début mais ça ne marchait pas super, donc ça a été supprimé. Cela fait des années que c'est comme ça. Actuellement suivre_invalideur() ne sait faire QUE invalider TOUT le cache.

Tu peux mettre suivre_invalideur(true/1/whatever) ça fera pareil.

Il me semble que le microcache() utilisé pour Seenthis sait un peu le faire, mais ça ne marche pas pareil du tout.

--
RastaPopoulos

Hello,

Donc à tout prendre, autant utiliser #CACHE{0} sur des squelettes
précis, plutôt que de faire un suivre_invalideur...

C'est un peu dommage de ne pas avoir une gestion précise du cache, mais
bon :slight_smile:

Didier

Le 15/02/2017 à 20:37, RastaPopoulos a écrit :

Le 15/02/2017 à 16:25, Debondt Didier a écrit :

Est-ce qu'il existe une possibilité pour invalider le cache d'une page
(spip.php?page=XXX) ou mieux, d'un squelette en particulier ?

Réponse rapide : non.

Ça a tenté d'exister au tout début mais ça ne marchait pas super, donc
ça a été supprimé. Cela fait des années que c'est comme ça.
Actuellement suivre_invalideur() ne sait faire QUE invalider TOUT le
cache.

Tu peux mettre suivre_invalideur(true/1/whatever) ça fera pareil.

Il me semble que le microcache() utilisé pour Seenthis sait un peu le
faire, mais ça ne marche pas pareil du tout.