[spip-dev] ?var_mode=preview ne recalcule plus les CSS en 3.1 (le faisait en 2.1)

Bonjour,

J'avais besoin de tester des changements sur une CSS sur un contenu non publié.
En 2.1, ?var_mode=preview recalculait les CSS du site
En 3.1, ?var_mode=preview ne recalcule plus les CSS
Je suis obligé de passer par ?var_mode=recalcul pour tester.

Une raison à ce changement de comportement ?

Hello,

tout à fait, le changement a été introduit en 3.0 :
en version SPIP < 3 var_mode=preview entrainait un recalcul du squelette (recompilation), car le var_mode était pris en compte dans le code généré. On générait donc une version spécifique du squelette pour afficher le preview, ce qui était lourd.

en version SPIP >=3 le code du squelette est commun au preview et à l'affichage normal, le var_mode est pris en compte dans une fonction appelée par le squelette.
Du coup le preview se génère par un simple calcul de la page, sans recompilation, ce qui est plus rapide.

Je ne vois pas trop de bonne raison pour que l'on revienne en arrière sur ce point, car le besoin que tu décris est marginal et surtout ne correspond pas à la fonction preview qui sert à voir du contenu et pas à développer les squelettes.

Cédric Morin a écrit le 16/09/2015 20:05 :

Je ne vois pas trop de bonne raison pour que l'on revienne en arrière
sur ce point, car le besoin que tu décris est marginal et surtout ne
correspond pas à la fonction preview qui sert à voir du contenu et pas à
développer les squelettes.

Y'a un truc que je n'ai pas testé, mais j'ai du mal à voir comment ça marcherait, c'est :
?var_mode=preview&var_mode=recalcul
Pouvoir passer plusieurs var_mode pourrait être utile :
?var_mode=preview,recalcul

quant au côté marginal, j'ai quand même eu le cas sur 2 sites différents en moins d'une semaine :
- stylage d'un menu alors que le contenu n'était pas encore en place
- sur un site en prod, ajout d'une composition supplémentaire, et nécessiter de la tester sans la publier.

Et bien sûr, pas question de désactiver temporairement le cache :wink:

J'ai déjà essayé, seul le premier est pris en compte.

Comme quoi, le besoin n'est pas forcément si marginla (on est deux,
donc... si?)

En fait, avec des css générées par less, on a besoin du recalcul, et
il arrive que parfois on est aussi dans un cas où on se retrouve
aussi en mode preview.

Et, la désactivation du cache n'est de toute façon pas toujours très
efficace.

Cela m'oblige à effectuer d'abord un recalcul, puis un preview... un
peu longuet.

Bonne nuit
G

Hop,

Hello,

tout à fait, le changement a été introduit en 3.0 :
en version SPIP < 3 var_mode=preview entrainait un recalcul du squelette
(recompilation), car le var_mode était pris en compte dans le code
généré. On générait donc une version spécifique du squelette pour
afficher le preview, ce qui était lourd.

en version SPIP >=3 le code du squelette est commun au preview et à
l'affichage normal, le var_mode est pris en compte dans une fonction
appelée par le squelette.
Du coup le preview se génère par un simple calcul de la page, sans
recompilation, ce qui est plus rapide.

J'ai créé un ticket pour ne pas oublier de documenter ça si ce n'est pas déjà fait :

Je ne vois pas trop de bonne raison pour que l'on revienne en arrière
sur ce point, car le besoin que tu décris est marginal et surtout ne
correspond pas à la fonction preview qui sert à voir du contenu et pas à
développer les squelettes.

+1