gzip sur jquery

Eléphant du PHP | 422 Messages

28 déc. 2010, 16:17

hello

sur le site de jquery il propose la version mini qui est gzippé. lorsque l'on click ca l'ouvre et l'outils de chrome montre bien que c'est gzippé :) mais moi je récupère la version dégzippé :/ dans mon navigateur.

donc je me suis dit gzip toi même :)

et normalement ca donne un truc du genre

if(extension_loaded('zlib') ) ob_start('ob_gzhandler');

code  ...

donc la j'ai fait
if(extension_loaded('zlib') ) ob_start('ob_gzhandler');
jquery javascript ...
ob_end_flush();
mais rien à faire ca veux pas :/

une idée ????
toujours faire une recherche sur http://www.php.net et/ou sur http://www.google.fr :)
utiliser http://ideone.com/ pour vos codes :)

Eléphant du PHP | 422 Messages

28 déc. 2010, 16:59

j'ai tenter un truc comme ca (qui fonctionne pour les CSS) mais pas pour le JS !!!!!

<?php

if(extension_loaded('zlib')){
    ob_start('ob_gzhandler');
}
header("Content-type: application/javascript");
header ('cache-control: must-revalidate');
$offset = 60 * 60 * 24;
$expire = 'expires: ' . gmdate ('D, d M Y H:i:s', time() + $offset) . ' GMT';
header ($expire);
 
// list JS files to be included
include 'jquery-1.4.4.js';

if(extension_loaded('zlib')){ob_end_flush();}
?>
mais non ca veux pas :/
toujours faire une recherche sur http://www.php.net et/ou sur http://www.google.fr :)
utiliser http://ideone.com/ pour vos codes :)

Eléphant du PHP | 275 Messages

28 déc. 2010, 17:40

Ben, ton navigateur deszippe le bordel pour pouvoir l'exploiter !

Eléphant du PHP | 422 Messages

28 déc. 2010, 17:48

hello

mais non, regarde sur l'image (en dessous) style.php est compressé mais pas js.php !! (foncé = uploader , claire = taille une fois décompressé)

Image

++
toujours faire une recherche sur http://www.php.net et/ou sur http://www.google.fr :)
utiliser http://ideone.com/ pour vos codes :)

Eléphant du PHP | 422 Messages

28 déc. 2010, 18:03

bon alors avec un autre JS ca marche

mais impossible avec jquery mini ou pas !

:cry: je comprend pas ....
toujours faire une recherche sur http://www.php.net et/ou sur http://www.google.fr :)
utiliser http://ideone.com/ pour vos codes :)

Eléphant du PHP | 422 Messages

28 déc. 2010, 18:16

j'ai supprimé des lignes dans le fichier js de jquery et au bout de x lignes supprimer ca compresse 8-|

aaarrrggggg !!!! ca ménerve

je comprend pas pourquoi ... #-o
toujours faire une recherche sur http://www.php.net et/ou sur http://www.google.fr :)
utiliser http://ideone.com/ pour vos codes :)

Eléphant du PHP | 256 Messages

28 déc. 2010, 23:30

Bonjour,

On ne peut récupérer qu'une version décompressée de JQuery, me semble-t-il.

Ensuite, le serveur, s'il est correctement configuré, envoie aux navigateurs une version "zippée" de la bibliothèque.

Cordialement,

Gaspard

ViPHP
ViPHP | 3607 Messages

29 déc. 2010, 10:06


Eléphant du PHP | 422 Messages

29 déc. 2010, 10:26

hello

la version dev fait dans les 180K
la version mini fait dans les 80K
la version mini gzipé fait dans les 26K !!!! c'est ca que je n'arrive pas à faire !!

je vais essayer avec une autre version de php, je verrais bien.

++
toujours faire une recherche sur http://www.php.net et/ou sur http://www.google.fr :)
utiliser http://ideone.com/ pour vos codes :)

Eléphant du PHP | 256 Messages

29 déc. 2010, 10:49

Bonjour,

Oui, mais http://code.jquery.com/jquery-1.4.4.min.js est une version "minifiée", pas compressée stricto sensu.

En fait, j'avais cherché pendant des heures, sachant que je ne suis pas doué (!), et j'en avais conclu que c'était le serveur qui compressait le fichier (grâce à la configuration du mode Gzip sous Apache), comme l'avait confirmé les Headers de mes pages.

Enfin, sinon, le plus simple est d'appeler la bibliothèque avec un code comme...
<script type="text/javascript" src="http://code.jquery.com/jquery-latest.min.js"></script>
(qui me parait plus rapide que les versions proposées par Google)

Comme JQuery est répandu, il y a de fortes chances que le navigateur du client connaisse déjà cette version, et ne la recharge pas. :mrgreen:

Cordialement,

Gaspard

Eléphant du PHP | 422 Messages

29 déc. 2010, 11:11

hello

oui je sais que c'est une version minimisé.
C'est juste que je comprend pas ce qui fait que php n'arrive pas à compressé (gzippé) ce fichier. Dans l'entete HTTP il ajoute bien que c'est gzipé, mais dans les stats non. Est ce que c'est chrome qui bug ... ?
Ca marche pas non plus avec la version non minimisé !!

en passant par le php.ini et en activant zlib.output_compression = On c'est la même chose ca marche pour le reste mais pas pour jquery #-o

ca fait :twisted:
toujours faire une recherche sur http://www.php.net et/ou sur http://www.google.fr :)
utiliser http://ideone.com/ pour vos codes :)

Eléphant du PHP | 422 Messages

29 déc. 2010, 11:53

alors je sais toujours pas pourquoi ca marche pas via PHP mais en passant par apache avec le mod_deflate d'activé etc ca fonctionne


Mais pourquoi PHP est il aussi méchant ..... #-o

donc une solution consiste à compresser directe dans Apache mais bon ... ca explique pas pourquoi en php ca marche pas !

Image
toujours faire une recherche sur http://www.php.net et/ou sur http://www.google.fr :)
utiliser http://ideone.com/ pour vos codes :)

ViPHP
ViPHP | 3607 Messages

29 déc. 2010, 12:01

Je ne comprend pas pourquoi tu t'embêtes...
Alors que sur http://jquery.com/ tu peux télécharger la version gzippée...?

Eléphant du PHP | 422 Messages

29 déc. 2010, 12:10

hello

non c'est côté serveur (jquery) que la compression est faite et nos navigateur décompresse directement et affiche une version décompressé (js minimisé ou non)

donc la solution est de faire comme à proposé Gaspard en récupérant directement le js depuis un serveur de jquery.


Ensuite je m'embète car ca m'amuse de trouvé pourquoi, en l’occurrence j'ai pas trouvé :D mais j'ai avancé.
La question est pourquoi PHP n'arrive pas à compresser ce foutu fichier :/ Grrr

je peux mettre un zip des fichiers si une personne veux tester chez lui ?

++
toujours faire une recherche sur http://www.php.net et/ou sur http://www.google.fr :)
utiliser http://ideone.com/ pour vos codes :)

Eléphant du PHP | 422 Messages

29 déc. 2010, 16:58

en faisant cette méthode
$s = file_get_contents('sha256.min.js');

header("Content-Encoding: gzip");
echo gzencode($s, 1, FORCE_GZIP);
ca marche pas non plus pour Jquery (et mootools aussi en passant marche pas )


Rebondissement !!!! chrome me chie dans les bottes ^^
j'ai compressé directe le fichier et je le balance sans gzencode().

si je zap le header("Content-Encoding: gzip"); le navigateur m'affiche une soupe de caractère incompréhensible => ouaiss
si je remet header("Content-Encoding: gzip"); c'est en claire

et chrome ne dit jamais qu'il décompresse ! alors qu'il le fait cqfd

++
toujours faire une recherche sur http://www.php.net et/ou sur http://www.google.fr :)
utiliser http://ideone.com/ pour vos codes :)