Option SPIP : servir les fichiers statiques

Un peu étrange pour résultat, mais pour avoir une vue complète il faudrait tester via un service qui compare depuis plusieurs localisations différentes et analyser les résultats pour chaque localisation pertinente (rien ne sert de tester les perfs depuis le canada pour site de vente local).
edit: qand tu dis « j’ai testé » j’ai imaginé toi seule derrière ta machine, mais en fait ce n’était peut être pas le cas. Ne pas tenir compte du message si j’ai écrit dans le vent :slight_smile:

Sinon, une autre alternative au CDN est de se placer derrière un reverse proxy comme Cloudflare. De facto, toutes les requêtes passent par le proxy et il est facile de configurer des règles de cache sans toucher à SPIP.
Evidemment, il faut être prêt à accepter les inconvénients d’une telle solution (à mettre en regard des avantages) qui n’est pas généralisable ni souhaitable pour tout le monde.

1 « J'aime »

C’est vrai qu’il est rare de parler d’optimisation du service des pages ici.

j’ai imaginé toi seule derrière ta machine
? nocomprendo

J’ai utilisé Lighthouse pour comparer et voir que ça n’est pas probant.
Il y a un petit temps de latence plus élevé avec le site et son CDN sûrement dû aux 2 connexions, qui impacte l’affichage.
Et même la mise en cache via .htaccess ne semble pas utile.
A savoir que j’ai le plugin cachecool et sur le serveur opcache géré par le plugin Memoization, ça dépote !
Bien sûr, les fichiers js et css sont compressés via la config SPIP en deux fichiers et chargés avec un preload ou prefetch. Même si ils sont toujours trop lourd, notamment à cause de JQuery dont il faut que j’arrive à me débarrasser.

Comme c’est un site boutique, j’ai veillé à ce que les pages contenant des conditions de session soient en PHP et les fragments sont en <INCLURE>

Après, je teste et reteste pour que ce soit efficace, mais il y a sûrement moyen de mieux optimiser car je tâtonne, toute idée est bienvenue, si cela ne fait pas dépendre d’un service externe comme cloudflare.

Les reverses proxy sont effectivement une alternative intéressante.

Merci @Graphie, même si je trouve étonnant d’aller faire ici de la publicité pour des services privés, même gratuits :confused:

Oui, tu as raison, c’est expurgé :yum:

Personnellement je préfère utiliser https://pagespeed.web.dev/ (lighthouse en ligne) car j’ai plus de répétabilité sur mes tests que sur ma connexion locale (parfois ça varie beaucoup en fonction du moment de la journée) et il te donne aussi ce que voient les autres users.
Mais oui normalement avec lighthouse tu devrais pouvoir mesurer si c’est mieux / moins bien.

Mais c’est bizarre que ça soit plus lent avec un CDN… Il faudrait bien vérifier que tu n’as pas de cache manquant sur ton CDN. Quand ton utilisateur se connecte à ton site, tes ressources devraient pointer sur www.leCDN.com/monsite/lienfichierJS.js (enfin un truc dans ce genre) plutôt que www.monsite.fr/local/lienfichierJS.js. Mais, encore faut-il que le CDN ait bien la ressource en question. Sinon, ça te fait un « cache manquant » et le CDN doit aller piocher la ressource chez toi puis la resservir à l’utilisateur. Là c’est plus lent, c’est indéniable. Mais le coup d’après, le 2ème visiteur qui va redemander www.leCDN.com/monsite/lienfichierJS.js va lui être servi directement par le CDN car il a déjà la ressource en stock. Et là, normalement c’est quand même plus rapide que n’importe quel site (spip/WP, ce que tu veux) chez un hébergeur standard.

Autre point à vérifier (je me suis fait avoir par le passé). Bien vérifier que tu pars d’un cache navigateur vierge sinon ça te fausse les tests. Et vérifier aussi que la configuration du cache sur tes ressources est OK - pas en nocache par exemple :sweat_smile: (mais tu semble avoir vérifié ce point déjà).

Pour le reste, ma foi il n’y a pas l’air d’avoir grand chose à gratter tu as déjà mis pas mal de choses en place.
Et oui, pouvoir virer la dépence jQuery de l’espace public de spip ça serait :heart_eyes:

cpol0

Bonjour @cpol0
Merci de tes retours
Bien sur j’utilise aussi pagespeed, parce que oui, ça me permet aussi d’avoir le retour GG des visites sur les 28 derniers jours, sur le site en prod. Et oui, le cache doit être vide, et j’ai un navigateur dédié à ces tests uniquement que je réinitialise au besoin. Penser à revérifie en live sur un vrai téléphone, pas sur l’interface navigateur de bureau qui peut jouer des tours avec APCu.
Grace à cela le site est presque à 100/100 partout et a encore gagné en CLS et LCP grace au suivi des recommandation et au plugin HTMLMinifier bien configuré.
Le point absolument nécessaire est la gestion du cache des sessions distinct avec du code PHP.
Après, je fais avec ce que j’ai, c’est à dire que je tatonne et que je suis limitée par la nécessité du SEO notamment le nom des fichiers images qui est perdu si on utilise un crop dessus.