Carnet Wiki

Version 6 — October 2018 — 176.153.xx.xx

Suite à mes recherches sur l’optimisation pour page speed, j’ai fais quelques tests :

-  Mettre async à l’appel du js dans la fonction : function compresseur_ecrire_balise_js_dist

chemin : plugins-dist/compresseur/inc/compresseur.php

<cadre class=“php ”>
>
function compresseur_ecrire_balise_js_dist(&$flux, $pos, $src, $comments = “”)
$src = timestamp($src);
// option chargement JS async par jQl
if (defined(’_JS_ASYNC_LOAD’) and !test_espace_prive())
lire_fichier(find_in_path(“lib/jQl/jQl.min.js”), $jQl);
if ($jQl)
$comments .= “

”;
else
$comments .= “

”;

else
$comments .= “

”;

$flux = substr_replace($flux, $comments, $pos, );

return $flux;

Mon résultat sur page speed s’est amélioré (un peu) mais cette modification à “cassé” la page d’admin “vider le cache” : dans les blocs Images calculées automatiquement et images pour responsive, il n’y avait plus de texte ni bouton vider.

-  Mettre define(’_JS_ASYNC_LOAD’,true) ; dans le fichier mes_options (config) : pas de chargement asynchrone pour mon site

Info : https://www.spip.net/fr_article5713.html
Il est également possible d’activer via la constante _JS_ASYNC_LOAD un chargement asynchrone du JavaScript compressé de l’espace public par l’intermédiaire de la bibliothèque jQL intégrée au compresseur. Il faut que les scripts « inline » soient compatibles.

-  Essayer l’astuce de https://gist.github.com/tech-nova/85ce2dd05e3596571369

J’ai copié dans config le fichier jQl.min.js (qui se trouve dans plugins-dist/compresseur /lib/jQl) et ajouté dans mes_options :

<cadre class=“php ”>
>
function compresseur_ecrire_balise_js(&$flux, $pos, $src, $comments = “”)
if (file_exists($src) AND $t = @filemtime($src))
$src = “$src?$t”;
if (test_espace_prive())
$comments .= “

”;
else
lire_fichier(basename(dirname(__FILE__)) . “/jQl.min.js”, $jQl);
$comments .= “

”;

$flux = substr_replace($flux, $comments, $pos, );
return $flux;

Résultat : chargement asynchrone du js donc amélioration du score page speed.

Par contre, il me semble que le plugin image responsive ne fonctionne plus comme avant (https://www.paris-beyrouth.org/Plugin-SPIP-Image-responsive)

Info : Le principe de ce plugin consiste à afficher (ou non) une vignette de l’image, puis à charger (dès que Javascript se déclenche) l’image définitive aux bonnes dimensions et à la bonne résolution.