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 ?
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(){ .. });
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
luc.tech@free.fr a écrit :
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 ?
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!
Le 28/07/2015 21:40, Cédric Morin a écrit :
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(){ .. }); jQl an asynchronous jQuery Loader - yterium.net
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.