Option SPIP : servir les fichiers statiques

contrib.spip.net en a un avec

//static-contrib.spip.net

Tu as des exemples précis JLuc ?

Le 09/09/2017 à 13:08, Pierre KUHN a écrit :

contrib.spip.net <http://contrib.spip.net> en a un avec
//static-contrib.spip.net
Tu as des exemples précis JLuc ?

Le problème semble venir des urls de webfonts qui, dans les css,
commencent toutes par ../ un peu comme on trouve là par exemple :
https://zone.spip.org/trac/spip-zone/browser/plugins/info_sites/branches/v0/css/bootstrap.css#L263
ou là
https://zone.spip.org/trac/spip-zone/browser/plugins/sociaux/branches/v1/css/sociaux.css

JL

Et sur un cdn cela te donne qu’elle urls dans la cs charger ?

Pour les explications https://zone.spip.org/trac/spip-zone/changeset/95385

Le 09/09/2017 à 14:28, Pierre KUHN a écrit :

Et sur un cdn cela te donne qu'elle urls dans la cs charger ?

Que conseilles tu comme cdn ?
JL

Pour les explications https://zone.spip.org/trac/spip-zone/changeset/95385

Le 9 septembre 2017 à 14:18, JLuc <jluc@no-log.org <mailto:jluc@no-log.org>> a écrit :

    Le 09/09/2017 à 13:08, Pierre KUHN a écrit :

        contrib.spip.net <http://contrib.spip.net> <http://contrib.spip.net> en a un avec
        //static-contrib.spip.net <http://static-contrib.spip.net>
        Tu as des exemples précis JLuc ?

    Le problème semble venir des urls de webfonts qui, dans les css,
    commencent toutes par ../ un peu comme on trouve là par exemple :
    https://zone.spip.org/trac/spip-zone/browser/plugins/info_sites/branches/v0/css/bootstrap.css#L263
    <https://zone.spip.org/trac/spip-zone/browser/plugins/info_sites/branches/v0/css/bootstrap.css#L263>
    ou là
    https://zone.spip.org/trac/spip-zone/browser/plugins/sociaux/branches/v1/css/sociaux.css
    <https://zone.spip.org/trac/spip-zone/browser/plugins/sociaux/branches/v1/css/sociaux.css>

    JL

    _______________________________________________
    liste spip
    spip@rezo.net <mailto:spip@rezo.net> - désabonnement : envoyer un mail à spip-off@rezo.net <mailto:spip-off@rezo.net>

    Archives : https://www.mail-archive.com/spip@rezo.net/maillist.html
    <https://www.mail-archive.com/spip@rezo.net/maillist.html>

    Infos : http://listes.rezo.net/mailman/listinfo/spip

    Documentation de SPIP : http://www.spip.net/

    Irc : de l'aide à toute heure : http://spip.net/irc

--

Pierre KUHN
http://www.voisins-spipeurs.net

perso je suis sur amazon https://aws.amazon.com/fr/cloudfront/

Je le configure et vérifie bien ce que ça donne (voir le site via cette url) avant de le mettre dans spip

Le 09/09/2017 à 14:18, JLuc a écrit :

Le 09/09/2017 à 13:08, Pierre KUHN a écrit :

contrib.spip.net <http://contrib.spip.net> en a un avec
//static-contrib.spip.net
Tu as des exemples précis JLuc ?

Le problème semble venir des urls de webfonts qui, dans les css,
commencent toutes par ../ un peu comme on trouve là par exemple :
https://zone.spip.org/trac/spip-zone/browser/plugins/info_sites/branches/v0/css/bootstrap.css#L263
ou là
https://zone.spip.org/trac/spip-zone/browser/plugins/sociaux/branches/v1/css/sociaux.css

Par ailleurs, je vois que les urls des background-images ne sont pas transformées
par ce paramètre, du moins celles issues de la fonction responsive_logo de z-core
(ce qui est semble une lacune)

JLuc

Background dans le fichier css ? cela dépend comment tu les inclus aussi.

... Et concrètement, après avoir renseigné //static.lesite.com dans le champ URL ressources, SPIP fait quoi ?
Il modifie automatiquement les chemins vers les images / css / js ?

Le 09/09/2017 à 13:08, Pierre KUHN a écrit :

contrib.spip.net <http://contrib.spip.net> en a un avec

//static-contrib.spip.net

Oui dans les fichiers css ça le fait.

Bonjour ,
je remets la question à l’ordre du jour , je ne trouve pas de doc sur ce sujet CDN avec Optimisations et compression> URL ressources
comment fait-on en pratique ?
1/On s’abonne à Amazon CloudFront CDN - Plans et tarification - Essayer gratuitement
2/ on met quoi (fichiers) et où ?
3/ on indique quoi dans « URL ressources »
merci !

Non, il suffit de mettre en place un domaine dédié à ça, cf le log de commit qui introduit la modification Amelioration : on peut definir une URL statique pour servir les ressources (images, js) sans cookie. · f98e75c987 - compresseur - SPIP on GIT et c’est tout.

Mais, à ce jour cela n’a plus vraiment d’intérêt à partir où ton site est servi en http2 cf [spip-dev] Mise en place d'un CDN ? - #2 par azerttyu

bonjour,
merci , j’ai fait un test de 15 jours avec CDN77 et l’avantage n’a pas été éloquent à priori - j’ai laissé tomber - ce qui correspond avec ce que vous dites et aussi [spip-dev] Mise en place d'un CDN ?.

merci bien. cordialement

J’ai testé aujourd’hui le CDN sur un double site de dev pour savoir si ça permettait un gain de service des pages, bah, c’est même moins rapide que le site en prod ! Voila, ça, c’est fait au moins.

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.