Discussion:
[SPIP Zone] Insert body
l***@free.fr
2015-07-28 12:21:12 UTC
Permalink
Bonjour,

Les outils d'audit de performance de sites suggèrent en général de mettre un maximum de scripts javascript en toute fin de la page, au plus près de la balise de fermeture du "body".

Dans SPIP, je ne vois pas de balise ou pipeline du style "insert_body" qui le ferait.
Le pendant de #INSERT_HEAD et #INSERT_HEAD_CSS en quelques sortes.

Cette absence est-elle un choix technique ?
La préconisation vous semble-t-elle pertinente ?

Ou bien est-ce dans la "liste de courses" ?
Avec une priorité basse ?
Ou bien imminente ?

D'avance merci.

Luc
----
spip-***@rezo.net - http://listes.rezo.net/mailman/listinfo/spip-zone
Gilles Vincent
2015-07-28 14:55:13 UTC
Permalink
Ce point a été abordé il y a longtemps par Cédric :
Le principal problÚme de ce type d'optimisation est sa faisabilité
Voir http://blog.spip.net/SPIP-et-la-gestion-de-la-performance.html
et
http://letrainde13h37.fr/18/performance-web-pieges-optimisation-a-posteriori/

Une alternative est d'utiliser jQl (chargeur Asynchrone pour jQuery) qui
permet de charger les librairies de maniÚre différée :
http://www.yterium.net/jQl-an-asynchronous-jQuery-Loader
http://fr.slideshare.net/Yterium/jql-jquery-async-loader

A lire aussi : les échanges abordés sur ce fil de discussion :
http://thread.gmane.org/gmane.comp.web.spip.zone/36819

Cédric avait fourni un morceau de code intéressant :
https://gist.github.com/tech-nova/85ce2dd05e3596571369

En tout cas c'est dans les éléments à l'étude pour plus tard
https://core.spip.net/issues/3229


.Gilles
Post by l***@free.fr
Bonjour,
Les outils d'audit de performance de sites suggÚrent en général de mettre
un maximum de scripts javascript en toute fin de la page, au plus prÚs de
la balise de fermeture du "body".
Dans SPIP, je ne vois pas de balise ou pipeline du style "insert_body" qui le ferait.
Le pendant de #INSERT_HEAD et #INSERT_HEAD_CSS en quelques sortes.
Cette absence est-elle un choix technique ?
La préconisation vous semble-t-elle pertinente ?
Ou bien est-ce dans la "liste de courses" ?
Avec une priorité basse ?
Ou bien imminente ?
D'avance merci.
Luc
----
Cédric Morin
2015-07-28 19:40:22 UTC
Permalink
Bonjour,

la recommandation de mettre les scripts en pied de page est de plus en
plus discutable avec la disparition des plus vieux navigateurs et le
comportement des navigateurs les plus récents.
Par ailleurs c'est très lourd à maintenir et réaliser dans un CMS dans
lequel les pages sont constituées de morceaux de squelettes qui peuvent
parfois arriver avec un bout de javascript, ce qui va casser si jQuery
n'est pas encore chargé.

jQL est un outil de chargement asynchrone alternatif, qui permet de
conserver ce fonctionnement des scripts contenus dans la page, du moment
qu'ils sont encapsulés dans un jQuery(function(){ .. });
http://www.yterium.net/jQl-an-asynchronous-jQuery-Loader

A partir de SPIP 3.1 il sera possible d'activer le chargement du script
compacté/minifié par SPIP au moyen de la directive
define('_JS_ASYNC_LOAD',true);
dans mes_options.php, sans avoir besoin de modifier #INSER_HEAD ni sa
position.

Cette méthode est compatible avec la plupart des plugins, mais suppose
que l'on fasse attention aux scripts qu'on ajoute dans son squelette.
C'est pourquoi elle n'est pas activable par interface, car elle suppose
un peu de connaissances techniques et la rendre plus simple d'accès
serait contre-productif, à mon avis.
--
Cédric
Post by l***@free.fr
Bonjour,
Les outils d'audit de performance de sites suggèrent en général de mettre un maximum de scripts javascript en toute fin de la page, au plus près de la balise de fermeture du "body".
Dans SPIP, je ne vois pas de balise ou pipeline du style "insert_body" qui le ferait.
Le pendant de #INSERT_HEAD et #INSERT_HEAD_CSS en quelques sortes.
Cette absence est-elle un choix technique ?
La préconisation vous semble-t-elle pertinente ?
Ou bien est-ce dans la "liste de courses" ?
Avec une priorité basse ?
Ou bien imminente ?
D'avance merci.
Luc
----
----
spip-***@rezo.net - http://listes.rezo.net/mailman/listinfo/spip-zone
luc.tech
2015-07-31 17:37:01 UTC
Permalink
Merci Gilles et Cédric pour vos réponses.
Ca n'est donc pas aussi évident et simple que cela...
Je vais me mettre à niveau en explorant vos pistes.

Et atendre la 3.1!
Post by l***@free.fr
Bonjour,
la recommandation de mettre les scripts en pied de page est de plus en
plus discutable avec la disparition des plus vieux navigateurs et le
comportement des navigateurs les plus récents.
Par ailleurs c'est très lourd à maintenir et réaliser dans un CMS dans
lequel les pages sont constituées de morceaux de squelettes qui peuvent
parfois arriver avec un bout de javascript, ce qui va casser si jQuery
n'est pas encore chargé.
jQL est un outil de chargement asynchrone alternatif, qui permet de
conserver ce fonctionnement des scripts contenus dans la page, du
moment qu'ils sont encapsulés dans un jQuery(function(){ .. });
http://www.yterium.net/jQl-an-asynchronous-jQuery-Loader
A partir de SPIP 3.1 il sera possible d'activer le chargement du
script compacté/minifié par SPIP au moyen de la directive
define('_JS_ASYNC_LOAD',true);
dans mes_options.php, sans avoir besoin de modifier #INSER_HEAD ni sa
position.
Cette méthode est compatible avec la plupart des plugins, mais suppose
que l'on fasse attention aux scripts qu'on ajoute dans son squelette.
C'est pourquoi elle n'est pas activable par interface, car elle
suppose un peu de connaissances techniques et la rendre plus simple
d'accès serait contre-productif, à mon avis.
----
spip-***@rezo.net - http://listes.rezo.net/mailman/listinfo/spip-zone
Loading...