[spip-dev] jQuery version minified

Bonjour,

à propos de la lib jQuery, comment se fait-il que spip intègre systématiquement la version full plutôt que la version minified ?
Et peut-on avantageusement et sans bug faire soi même le remplacement, même avec la "compression" (un bien grand mot) activée ?

Bonne journée à tous.

Bonjour,
SPIP embarque son propre système de minification+concatenation.
En gardant la version complète, on peut ainsi bénéficier de sa lisibilité pendant le developement du site.
Lorsqu'on passe en production, il suffit d'activer le compresseur de js (et de css aussi) pour que tous les js soient minifiés et assemblés en un seul script.
Il est préférable de garder la version full, du coup.
Il me semble que la minification de SPIP sur le jquery déjà minifié pose des problèmes.

Cédric

cedric.morin@yterium.com a écrit :

Il me semble que la minification de SPIP sur le jquery déjà minifié pose des problèmes.

Je confirme, j'ai abandonné cette piste-là qui bug systématiquement.

A bientôt
    Simon

Il me semble que la minification de SPIP sur le jquery déjà minifié pose
des problèmes.

Je confirme, j'ai abandonné cette piste-là qui bug systématiquement.

ça révèle un bug sous-jacent qu'il faudrait comprendre ; peux-tu faire
un ticket ?

-- Fil

C'est bien là où j'ai un doute. Que ça concatène, soit, je l'ai remarqué et apprécié.

Par contre la minification, là j'ai un doute. Pour dire ça, je suis passé par ce site : http://websiteoptimization.com/services/analyze/ et quand je vois la taille du js généré par spip j'ai comme un doute. Avec certes une paire de plugin, j'ai un fichier dans /local/cache-js/xxxxxxxxxxxxxxxxxxxxxxx.js qui pèse 181 528 octets et ce site me dit qu'on aurait pu gagner un bon 130 000 octets en compressant. Même sous firebug, on le voit aussi que le fichier passé par le compresseur est malgré tout lisible (des retours chariot à foison).

C'est un mauvais réglage de ma part où un truc qui marche pas comme ça devrait, voilà la question bonus ?

Bonjour,
SPIP embarque son propre système de minification+concatenation.

C'est bien là où j'ai un doute. Que ça concatène, soit, je l'ai remarqué et apprécié.

Par contre la minification, là j'ai un doute. Pour dire ça, je suis passé par ce site : Analyze - WebSiteOptimization.com et quand je vois la taille du js généré par spip j'ai comme un doute. Avec certes une paire de plugin, j'ai un fichier dans /local/cache-js/xxxxxxxxxxxxxxxxxxxxxxx.js qui pèse 181 528 octets et ce site me dit qu'on aurait pu gagner un bon 130 000 octets en compressant. Même sous firebug, on le voit aussi que le fichier passé par le compresseur est malgré tout lisible (des retours chariot à foison).

Attention a ne pas confondre compression gzip (apache) et minification... (spip ici)

C'est un mauvais réglage de ma part où un truc qui marche pas comme ça devrait, voilà la question bonus ?

La minification de SPIP repose sur une librairie que l'on a comparé avec les autres minifieurs disponibles.
Il y en a qui sont très légèrement plus efficace, mais ça se joue à quelques pourcents.

Une fois gzip par apache, tout cela se vaut carrèment, avec l'avantage d'avoir un minifueur dynamique qui fait tout cela à la volée, et s'applique donc à tous les scripts js, alors que ton jquery minifié ne prend pas en compte les plugins jquery supplémentaires.

Cédric

Pas forcément besoin de gzip sur Apache: la fonction de minification/concaténation fournit par ailleurs la version .gz des fichiers javascript et css. Un rewriterule conditionnel dans .htaccess permet de les utiliser:
http://www.paris-beyrouth.org/tutoriaux-spip/article/objectif-pagespeed-100-100-avec

Quand je vois les optimisations que je parviens à obtenir avec SPIP sur des serveurs sur lesquels j'ai des droits très restreints, généralement en moins de cinq minutes, je trouve qu'il s'en sort particulièrement bien, avec une économie de moyens absolument remarquable. En comparaison, faire passer les évaluations d'optimisation sur la page d'accueil du Monde (quelques millions d'euros de développement: 23 fichiers jascript différents, 8 feuilles CSS, mauvaise indication du cache, images sans indication des dimensions...).

ARNO*

Fil a écrit :

Il me semble que la minification de SPIP sur le jquery déjà minifié pose
des problèmes.
      
Je confirme, j'ai abandonné cette piste-là qui bug systématiquement.
    

ça révèle un bug sous-jacent qu'il faudrait comprendre ; peux-tu faire
un ticket ?

-- Fil
  

Malheureusement j’ai fait ces tests il y a bien longtemps (spip 1.9.2 et 2.0.x) et je n’ai plus du tout en tête les symptômes de l’erreur (si ce n’est que les scripts jQuery cassaient d’une manière ou d’une autre).
Je suis aujourd’hui dans l’incapacité de reproduire par manque de temps…

Ah, et puis je n’ai pour le moment aucune idée de comment faire un ticket, ça serait possible d’avoir une aide pour y arriver quelque-part ?

http://trac.rezo.net/trac/spip/

Cliquer sur [Login]
ensuite sur [s'inscrire]

Après avoir reçu les identifiants, revenir pour faire un nouveau ticket.

Paolo

Paolo a écrit :

Et bien voilà, je comprends mieux ... j'étais omnubilé par une version minifiée "standard" et celle généré par spip. En jetant un oeil au source du compresseur, je pense que c'est fil qui m'a fait une farce, avec la modif ligne 154 du class.JavascriptPacker.php ... effectivement on perd pas grand chose à les garder les /n

Et puis tel un chevalier blanc, arno est arrivé, superbe article sur Paris-Beyrouth, exactement ce sur quoi j'aime m'attarder.

Un grand merci à tous pour ces explications.

A la limite une petite dernière, à propos du fait de servir du contenu gzippé. Tous les navigateurs courants l'acceptent ? Des robots comme celui qui sert http://websiteoptimization.com/services/analyze/ je suppose restent sur la version non compressée.

Bonne journée.

Je ne sais pas à 100%, mais je ne pense pas qu'ils sont reliés.

Paolo

Paolo a écrit :

Il était je crois envisagé de mettre en place le plugin "tickets" en remplacement des tickets du Trac, ce serait sans doute plus simple pour les nouveaux...

-Nicolas

Cela a été évoque, mais pour les plugins uniquement. Pour le core ça ne me parait pas pertinent pour le moment.

Cédric

La minification de SPIP repose sur une librairie que l'on a comparé avec les autres minifieurs disponibles.
Il y en a qui sont très légèrement plus efficace, mais ça se joue à quelques pourcents.

Une fois gzip par apache, tout cela se vaut carrèment, avec l'avantage d'avoir un minifueur dynamique qui fait tout cela à la volée, et s'applique donc à tous les scripts js, alors que ton jquery minifié ne prend pas en compte les plugins jquery supplémentaires.

Et bien voilà, je comprends mieux ... j'étais omnubilé par une version minifiée "standard" et celle généré par spip. En jetant un oeil au source du compresseur, je pense que c'est fil qui m'a fait une farce, avec la modif ligne 154 du class.JavascriptPacker.php ... effectivement on perd pas grand chose à les garder les /n

Et puis tel un chevalier blanc, arno est arrivé, superbe article sur Paris-Beyrouth, exactement ce sur quoi j'aime m'attarder.

On va dire ça ...
Optimiser un site donne c'est facile...

Mais au passage, ça fait quand même deux ans que certains bossent sur ce sujet dans Spip, et essayent surtout d'y intégrer des solutions clés en main simples d'utilisation comme le compresseur/compacteur, et d'autres a venir.

On a commence, Page speed n'existait même pas encore, et si Spip s'en tire bien aujourd'hui, c'est pas vraiment par hasard. La prochaine fois je ferais un bel article moi aussi ...

Cédric

Surtout pas ! Tu écris du beau code, c'est tout aussi important et apprécié.

Paolo

Hé ho, j'ai rien dit, moi. Je ne vois pas l'intérêt de me reprocher d'avoir pondu une doc.

A*

C'est juste une idée pour uniformiser et faire en sorte que les débutants s'y retrouvent, puisqu'ils connaissent l'interface de SPIP.

-Nicolas

Optimiser un site donne c'est facile...

Euh facile, facile, c'est vite dit. Changer ses plaquettes de frein aussi c'est facile, régler une parabole sur le toit aussi, tout est facile dès l'instant qu'on sait comment faire.

Mais au passage, ça fait quand même deux ans que certains bossent sur ce
sujet dans Spip, et essayent surtout d'y intégrer des solutions clés en
main simples d'utilisation comme le compresseur/compacteur, et d'autres
a venir.

Et c'est ça qu'est bien. Mais du coup, bah on finit par chercher la petite bête en se disant, peut-être qu'on peut faire un poil plus, quitte à le faire à la main (je sais c'est mal, ça serait mieux dans le core) ... faut bien qu'on s'occupe nous aussi :wink: