J’ai remarqué un truc que je n’avais jamais noté : sur un site avec compresseur activé, les css / js minifiés concaténés appelés dans /local/cache-* varient en fonction du compte avec lequel je suis connecté, ou pas connecté.
Un css / js par auteur, en gros.
Pourtant quand je compare (diff) les fichiers générés, ils sont identiques à part des blocs de commentaires qui sont présents avec des hashs différents au dessus de chaque fragment de code concaténé.
Par exemple, dans un /local/cache-css/xxx.css j’ai : /* local/cache-css/cssdyn-multilang_css-de2e8327.css?1739462548 */
et dans un autre /local/cache-css/yyy.css : /* local/cache-css/cssdyn-multilang_css-2c3aafe6.css?1739462453 */
Le reste (codes css et js purs) est strictement identique, le poids du fichier idem à l’octet près.
Mais comme le nom final du fichier concaténé est basé sur le contenu du fichier, il change.
1/ Est ce normal que j’ai deux hashs différents dans ces commentaires en fonction de la session ? Ça peut être lié à un truc dans mes squelettes, une #SESSION ou autre ?
2/ Est ce qu’il y a un moyen de supprimer simplement tous les commentaires des css / js concaténés avant de calculer le nom du fichier final ?
Comme ça, les fichiers seraient réellement identiques en fonction de la session.
En remontant à la source, ce sont en fait les produire_fond_statique() utilisés dans des plugins qui génèrent des noms de fichiers différents en fonction de la session, mais aux contenus strictement identiques.
produire_fond_statique() récupère son contexte comme ça : $contexte_implicite = calculer_contexte_implicite();
Et bingo, j’ai une petite différence de contexte entre loggé / non loggé.
Dans un cas (loggé) j’ai : ['marqueur' => ":accesrestreint_zones_autorisees=40,109"]
et dans l’autre (non loggé) j’ai : ['marqueur' => ":accesrestreint_zones_autorisees="]
Avec ça, j’ai bien des fichiers identiques, servis à tout le monde.
Donc à priori si tous les visiteurs utilisent bien le même css compilé, gain de CPU (calcul), disque et de bande passante non ?