[SPIP Zone] Plugin Diapo (et autres?) : insertion CSS/JS inutile ?

Bonsoir,

Je vois qu'avec le plugin diapo #INSERT_HEAD insère diapo.css et diapo.js sur chaque page du site, même si le plugin est seulement utilisé sur une vingtaine de pages.

Beaucoup de visiteurs probablement ne vont même pas sur une page qui utilise diapo pendant leur visite, mais ils chargent quand même les fichiers.

Je me demande s'il y a une façon de faire pour ne charger ces fichiers que sur les pages utiles ? Peut-être la question touche d'autres plugin aussi...

Est-ce quelqu'un a une idée ?

Paolo

Paolo a écrit :

Bonsoir,

Je vois qu'avec le plugin diapo #INSERT_HEAD insère diapo.css et diapo.js sur chaque page du site, même si le plugin est seulement utilisé sur une vingtaine de pages.

Beaucoup de visiteurs probablement ne vont même pas sur une page qui utilise diapo pendant leur visite, mais ils chargent quand même les fichiers.

Je me demande s'il y a une façon de faire pour ne charger ces fichiers que sur les pages utiles ? Peut-être la question touche d'autres plugin aussi...

Est-ce quelqu'un a une idée ?
  
#INSERT_HEAD ?
si ca marche depuis un modèle, on peut effectivement faire beaucoup mieux !
@++

Paolo a écrit :

Bonsoir,

Je vois qu'avec le plugin diapo #INSERT_HEAD insère diapo.css et diapo.js sur chaque page du site, même si le plugin est seulement utilisé sur une vingtaine de pages.
[...]
Peut-être la question touche d'autres plugin aussi...

Ah tiens, merci de l'occasion : j'avais effectivement exactement la même question avec la lame Glossaire interne du Couteau Suisse.

Il y a un certain nombre de pages (sommaire, moult articles, etc) qui n'ont pas forcément de mots liés au glossaire. Et pourtant il me semble que javascript et autre sont insérés partout non ?

Par contre là, c'est plus compliqué car ce n'est pas un modèle.

--
Vincent

> Je vois qu'avec le plugin diapo #INSERT_HEAD insère diapo.css et diapo.js sur
> chaque page du site, même si le plugin est seulement utilisé sur une vingtaine
> de pages.
> [...]
> Peut-être la question touche d'autres plugin aussi...

Ah tiens, merci de l'occasion : j'avais effectivement exactement la même
question avec la lame Glossaire interne du Couteau Suisse.

Pour ce genre de cas on peut utiliser le pipeline affichage_final, à
condition de faire encore plus attention à utiliser des fonctions
rapides (car ça s'exécute à chaque hit).

-- Fil

Stephane wrote:

#INSERT_HEAD ?

Je veux dire que pour d'autres plugins je suis obligé de maintenir la balise #INSERT_HEAD dans le squelette article.html. Et alors diapo m'insère ses fichiers sur chaque page. Si je n'avais pas #INSERT_HEAD je pourrais gérer l'insertion de diapo.css et diapo.js avec un mot-clé par ex. Ça je sais faire.

Eventuellement une option pour sauter diapo_pipelines.php si on veut gérer l'insertion soi-même ... ?

si ca marche depuis un modèle, on peut effectivement faire beaucoup mieux !

ça veut dire que moi je peux faire mieux, ou diapo peut faire mieux ?

merci,
Paolo

Ou peut-on avoir des informations sur le pipeline affichage_final car cela
m'intéresse ?

Cordialement,

Xavier BUROT
http://xebiaut.free.fr/

-----Message d'origine-----
De : spip-zone-bounces@rezo.net [mailto:spip-zone-bounces@rezo.net] De la
part de Fil
Envoyé : mardi 8 avril 2008 15:03
À : Vincent Finkelstein
Cc : Liste [spip-zone]
Objet : Re: [SPIP Zone] Plugin Couteau Suisse : insertion CSS/JS inutile ?

> Je vois qu'avec le plugin diapo #INSERT_HEAD insère diapo.css et

diapo.js sur

> chaque page du site, même si le plugin est seulement utilisé sur une

vingtaine

> de pages.
> [...]
> Peut-être la question touche d'autres plugin aussi...

Ah tiens, merci de l'occasion : j'avais effectivement exactement la même
question avec la lame Glossaire interne du Couteau Suisse.

Pour ce genre de cas on peut utiliser le pipeline affichage_final, à
condition de faire encore plus attention à utiliser des fonctions
rapides (car ça s'exécute à chaque hit).

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

ça veut dire que moi je peux faire mieux, ou diapo peut faire mieux ?

ça veut dire peut être que les developpeurs de plugins devraient à minima utiliser cfg
pour permettre d'utiliser le pipeline insert head à bon escient et suivant les besoins d'un site

à ce propos il y a... Insérer un plugin dans une rubrique spécifique. - SPIP-Contrib ...rubrique spécifique

++
touti

Xebiaut a écrit :

Ou peut-on avoir des informations sur le pipeline affichage_final car cela
m'intéresse ?

Cordialement,

Sur doc.spip.org :
affichage_final / effectuer des calculs supplémentaires sur le contenu de la page calculée, juste avant son affichage. Hors cache, donc.

Comme paramètre c'est affichage_final($page).
C'est exécuté à chaque page, sans cache. Donc comme l'a dit Fil, faut pas faire des calculs lourds, et si possible ajouter un test rapide pour ne faire le calcul que si vraiment on en a besoin.

--
Vincent

Le 9 avr. 08 à 09:20, Vincent Finkelstein a écrit :

Xebiaut a écrit :

Ou peut-on avoir des informations sur le pipeline affichage_final car cela
m'intéresse ?

Sur doc.spip.org :
affichage_final / effectuer des calculs supplémentaires sur le contenu
de la page calculée, juste avant son affichage. Hors cache, donc.

Comme paramètre c'est affichage_final($page).
C'est exécuté à chaque page, sans cache. Donc comme l'a dit Fil, faut
pas faire des calculs lourds, et si possible ajouter un test rapide pour
ne faire le calcul que si vraiment on en a besoin.

Peut-être faudrait-il plutôt réfléchir à une solution plus générique que #INSERT_HEAD de chargement à la volée - si nécessaire uniquement - de fichiers CSS ou JS.

-Nicolas

--
Nicolas "Brush" HOIZEY
Weblog : http://www.gasteroprod.com/
Photos : http://www.gasteroprod.com/photos/
Clever Age : http://www.clever-age.com/

Nicolas Hoizey a écrit :

Le 9 avr. 08 à 09:20, Vincent Finkelstein a écrit :

Xebiaut a écrit :

Ou peut-on avoir des informations sur le pipeline affichage_final car cela
m'intéresse ?

Sur doc.spip.org :
affichage_final / effectuer des calculs supplémentaires sur le contenu
de la page calculée, juste avant son affichage. Hors cache, donc.

Comme paramètre c'est affichage_final($page).
C'est exécuté à chaque page, sans cache. Donc comme l'a dit Fil, faut
pas faire des calculs lourds, et si possible ajouter un test rapide pour
ne faire le calcul que si vraiment on en a besoin.

Peut-être faudrait-il plutôt réfléchir à une solution plus générique que #INSERT_HEAD de chargement à la volée - si nécessaire uniquement - de fichiers CSS ou JS.

-Nicolas

N'y a-t-il pas eu déjà des travaux dans SPIP 1.93 sur ce point ?
J'aurais pensé à deux appels (deux pipelines) pour cette balise :
  header_pre_page
  header_post_page
pour permettre aux plugins d'insérer ou non en fonction des éléments détectés des éléments dans le header
Mais il me semble avoir vu passé qq chose dans ce sens, au moins en ce qui concerne javascript...

Pat

Paolo a écrit :

Stephane wrote:
  

#INSERT_HEAD ?
    
pfff, n'importe quoi !
je lis la doc de travers et je dis des betises.
Comme le disais Fil, il faut faire un repérage rapide avec affichage_final et n'inserer les js et css que si le modele est utilisé

Je veux dire que pour d'autres plugins je suis obligé de maintenir la balise #INSERT_HEAD dans le squelette article.html. Et alors diapo m'insère ses fichiers sur chaque page. Si je n'avais pas #INSERT_HEAD je pourrais gérer l'insertion de diapo.css et diapo.js avec un mot-clé par ex. Ça je sais faire.

Eventuellement une option pour sauter diapo_pipelines.php si on veut gérer l'insertion soi-même ... ?
  
oui ca c'est jouable (aussi, en plus)

si ca marche depuis un modèle, on peut effectivement faire beaucoup mieux !
    
ça veut dire que moi je peux faire mieux, ou diapo peut faire mieux ?
  
ca veut dire qu'il faut améliorer diapo... je regarde ca à l'occasion, mais si il y a des volontaires, n'hésitez pas.
Par contre, je ne tiens pas à avoir une dépendance à CFG, donc la configuration doit etre optionnelle

@++

toutati a écrit :

ça veut dire que moi je peux faire mieux, ou diapo peut faire mieux ?
    
ça veut dire peut être que les developpeurs de plugins devraient à minima utiliser cfg
  
ben non, c'est pas genial d'avoir des dépendances.
Il faut à minima avoir des configs dans mes_options ou en meta mais pouvoir s'appuyer sur CFG si il est la.

@++

> Je vois qu'avec le plugin diapo #INSERT_HEAD insère diapo.css et diapo.js sur
> chaque page du site, même si le plugin est seulement utilisé sur une vingtaine
> de pages.

Fil wrote:

Pour ce genre de cas on peut utiliser le pipeline affichage_final, à
condition de faire encore plus attention à utiliser des fonctions
rapides (car ça s'exécute à chaque hit).

En cherchant un peu dans les archives, je trouve mention d'un pipeline "verifie_js_necessaire", et il semble que thickbox2 utilise ça pour n'insérer son code que sur les pages utiles.

Est-ce aussi une piste à prendre, ou est-ce déconseillé ?

merci,
Paolo

Bonjour

En cherchant un peu dans les archives, je trouve mention d'un pipeline
"verifie_js_necessaire", et il semble que thickbox2 utilise ça pour n'insérer
son code que sur les pages utiles.

Si ce pipeline existe bien, pourras tu l'ajouter dans
http://doc.spip.org/@Tuto-Se-servir-des-points-d-entree avec une
explication ?

Cette page a besoin qu'on l'aide et de tendresse :slight_smile:

Km