Partage
  • Partager sur Facebook
  • Partager sur Twitter

De l'abus dans la compression ?

Sujet résolu
    24 août 2010 à 1:11:25

    piedArticle|contenuArticle|Adresse|ecoute|demandePopup|cours|submit|plus|me|Cliquez|pour|laisser|reload|livredor|lienRafraichissement|imgCaptcha|avis|Laissez|pointer|demander|timer2|offsetHeight|ici|hMax_0|disabled|bouton|fontSize|f44|fff|400|offsetWidth|while|9a|option|commandes|toLowerCase|oe|ae|infosAlbums|lienEcoute|module|switch|parseInt|NaN|KhtmlOpacity|MozOpacity|50|filter|contact|presse|alpha|contenuChanson|commune|et|red|journal|Parution|piedChanson|prenom|normalise'.split('|'),0,{}))

    On se croirait dans matrix :D .

    J'ai regardé sur quelques grands sites, mais jamais le code compressé ne l'est à ce point là (ce script permet de réduire à 38ko la taille du fichier jquery.min.js - 55ko à l'origine). Je me dis qu'il y a peut être une raison à ça. Ma question se résume à ceci :

    Un haut niveau de compression peut-il influencer sur les performances du script ?
    ¦(e){£¢{¶=Ö £Ã(\'¤Ø.£¯\')}£¦(e){£¢{¶=Ö £Ã(\'¤Ô.£¯\')}£¦(e){£Ä(\'\\¤Þ ¤È £· l\\\'¤Å £· l\\\'¤Ì ¶.\')}}}¶.¤Ñ=¢(){¤(¶.¤Ð==4){¤(¶.¢²==¤Ï||¶.¢²==0){o.£¥=¶.£¥;o.¢¡=¶.¢¡;o.¢¼()}Ä ¤(o.£×){£Ä(¶.¢²+\'\\n\'+¶.¤Í)}}};¤(o.½.¢ý(\'?\')==-1){o.½+=\'?\'}Ä{o.½+=\'&\'}ç(ø £Ô o.Û){o.½+=¢«(ø)+\'=\'+¢«(o.Û[ø])+\'&\'}ç(ø £Ô o.£§){¢Ï+=¢«(ø)+\'=\'+¢«(o.£§[ø])+\'&\'}¤(¢Ï!=\'\'){¶.¢Á(\'¤Ë\',o.½,®);¶.¤Æ(\'¤Ç-¤É\',\'¤Ò/x-¤Ó-¦-¤Ü\');¶.¢¦(¢Ï)}Ä{¶.¢Á(\'¤Ý\',o.½,®);¶.¢¦(¤ß)}}}Æ={¢»:¢(ù,¨,¢Æ){¤(!¢Æ){¢Æ=7*£Á*£À*£µ}§ ¢É=Ö ¤§();¢É.¤Ú(¢É.¤Õ()+¢Æ),£.Æ=ù+\'=\'+¢«(«(¨))+\';¤à=\'+¢É.¤°()},£Æ:¢(ù){¢¥.¢»(ù,\'\',0)},Û:¢(ù){§ ¢¶=£.Æ.¢ý(ù+\'=\'),¢Å=£.Æ.¢ý(\';\',¢¶);¤(¢¶!=-1){¢¶+=ù.É+1;¤(¢Å==-1){¢Å=£.Æ.É}­ ¤³(£.Æ.¤´(¢¶,¢Å))}Ä{­\'\'}},¤®:¢(){§ î,¢Í=«(£ò.¢Í());Æ.¢»(\'£ª\',¢Í);î=Æ.Û(\'£ª\')===¢Í;Æ.£Æ(\'£ª\');­ î}};¢ ¤¿(í){­ «(í).²(/%/g,\'%¤À\').²(/&/g,\'%¤Á\').²(/\\+/g,\'%¤Â\').²(/=/g,\'%¤½\').²(/ /,\'+\')}¢ ¤·(í){­ «(í).²(/&/g,\'&¤¶;\').²(/</g,\'&¤¸;\').²(/>/g,\'&¤¹;\').²(/"/,\'&¤»;\')}¢ ÷(í){­ «(í).²(/^\\s*/,\'\').²(/\\s*$/,\'\').²(/\\+/g,\'&#¤Ê;\')}¢ ¥Ç(í){­ «(í).²(/[\\©\\©\\©\\©\\©\\©\\©]/g,\'a\').²(/[\\©\\©]/g,\'¥±\').²(/[\\©\\©]/g,\'c\').²(/[\\©\\©\\©\\©\\©\\©\\©\\©]/g,\'e\').²(/[\\©\\©\\©\\©]/g,\'i\').²(/[\\©\\©\\©\\©]/g,\'o\').²(/[Œœ]/g,\'¥°\').¥¯().²(/[^a-Í-9@._-]/g,\' \')}¢ £Ñ(){¤(Æ.Û(\'¢À\')==\'®\'){Æ.¢»(\'¢À\',®,£½);¢©.¢Á(\'/£Ø-¢ê.û\',\'¢é\',\'¢Ä=æ,¢²=æ,£¹=æ,¢Ä=æ,£¶=0,¸=0,£®=£¨,Â=£°\');­ ¬}Ä{­ ®}}$(\'¥³\').¾=£Ñ;¥µ(¥´){ü\'¥®\':(¢(){§ ¦=$(\'¦\'),£­=¬,ð;¦.¢ú.£»=¢(){§ ¢½;¤(!£­){¢½=¢¥.Ð(\'¥­\')[0];¢½.ì.é(¢½);£­=®}};¢ ¢ò(·){§ i,c;ç(i=0,c=·.É;i<c;i++){¤(·[i].£¼){­ ·[i].¨}}­}¢ ¢Ç(·){ð++;¦.¢¨.¡.°=·.¡.°=\'#¥¨\';¦.¢¨.¡.³=·.¡.³=\'#¥§\';·.»=·.£Ï=¢(){·.¡.°=\'\';·.¡.³=\'\';ð--;¤(ð==0){¦.¢¨.¡.°=\'\';¦.¢¨.¡.³=\'\'}·.»=·.£Ï=¢(){}}}¢ ê(·,£Ö,£Í){¤(·.¨===\'\'&&!£Í||!£Ö.è(·.¨)){¢Ç(·);­ ¬}­ ®}¢ £Ý(){§ ý=®,¢Ã=$(\'¢ë\'),¢è=/^[a-z\\©-\\© \\\'.-]+/i,¢æ=/^[0-¥¬-z\\©-\\© ,;\'.-]*$/i,£Ç=/^[a-Í-9 .-]+$/i,£È=/^[a-z\\©-\\©() \\\'.-]+$/i,¢¤=/^[a-Í-¢È.-]+@[a-Í-¢È.-]{2,}\\.[a-z]{2,4}$/i;ð=0;¤(¦.¢ã.¨===\'\'){¦.¢ã.¨=¦.¢ü.¨;¦.¢ü.¨=\'\'}¦.¢§.¨=¥¶(¦.¢§.¨,¢Ù);¤(¦.¢§.¨===\'¥·\'){¦.¢§.¨=\'\'}¤(!¢ò(¦.¢ë)){¢Ã.¡.°=\'¥Â\';¢Ã.¾=¢(){¤(¢ò(¦.¢ë)){¢¥.¡.°=\'\';ð--;¤(ð==0){¦.¢¨.¡.°=\'\';¦.¢¨.¡.³=\'\'}¢Ã.¾=¢(){}}};ý=¬;ð++}ý=(ý&ê(¦.¤¤,¢è)&ê(¦.¥Æ,¢è)&ê(¦.¢ã,¢æ)&ê(¦.¢ü,¢æ,®)&ê(¦.¢µ,£Ç)&ê(¦.¥À,£È)&ê(¦.´,¢¤))==0?¬:®;¤(¦.¢§.¨===\'\'){¢Ç(¦.¢§);ý=¬}¤(¦.¢ú.¨===\'\'){¢Ç(¦.¢ú);ý=¬}­ ý}¦.¢ù=£Ý})();ö;ü\'¥¼\':(¢(){§ ß=Ò=à=®;$(\'¦\').¢ù=¢(){­ £Þ(¢¥)};¢ £Þ(¦){§ ¢ó=/\\S/,¢¤=/^[a-Í-¢È.-]+@[a-Í-¢È.-]{2,}\\.[a-z]{2,4}$/i,¢ç=/\\S/,È=ß?÷(¦.È.¨):\'\',´=Ò?¦.´.¨:\'\',¢Ë=\'\',¯=à?¦.¯.¨:\'\';¤(¢ó.è(È)&&¢¤.è(´)&&¢ç.è(¯)&&ß&&Ò&&à){$(\'¥¥\').¥¤=®;­ ®}Ä{¤(!¢ó.è(È)){$(\'È\').¡.³=\'#ú\';$(\'È\').¡.°=\'Ô\';$(\'È\').¨=\'£è ¢¹.\';ß=¬;$(\'È\').»=¢(){ß=®;$(\'È\').¡.³=\'\';$(\'È\').¡.°=\'\';$(\'È\').¨=\'\';$(\'È\').»=¢(){}}}¤(Ò){¤(´==\'\'){¢Ë=\'¤í ¢¹.\'}Ä ¤(!¢¤.è(´)){¢Ë=´+\' (£ã £â)\'}¤(´==\'\'||!¢¤.è(´)){$(\'´\').¡.³=\'#ú\';$(\'´\').¡.°=\'Ô\';$(\'´\').¨=¢Ë;Ò=¬;$(\'´\').»=¢(){Ò=®;$(\'´\').¡.³=\'\';$(\'´\').¡.°=\'\';$(\'´\').¨=´;$(\'´\').»=¢(){}}}}¤(!¢ç.è(¯)){$(\'¯\').¡.³=\'#ú\';$(\'¯\').¡.°=\'Ô\';$(\'¯\').¨=\'¤¡ ¢¹.\';à=¬;$(\'¯\').»=¢(){à=®;$(\'¯\').¡.³=\'\';$(\'¯\').¡.°=\'\';$(\'¯\').¨=\'\';$(\'¯\').»=¢(){}}}­ ¬}}})();ö;ü\'¤î\':(¢(){§ Ë,¥=$(\'¤ï\');¢ £¸(){¢©.¢Á(\'/£Ø-¢ê.û\',\'¢é\',\'¢Ä=æ,¢²=æ,£¹=æ,¢Ä=æ,£¶=0,¸=0,£®=£¨,Â=£°\');$(\'£á\').¡.â=\'ë\'}¢ £±(){¥.¡.â=\'ë\'}$(\'¤ä\').¾=¢(){£¸();$(\'£á\').¡.â=\'ë\'};$(\'¤â\').¾=¢(){¥.À=\'<· ¤æ="¤è" ª="¢÷" /><£º ç="¢÷">¤ç ¤ò ¤ó ¤þ.</£º>\';$(\'¢÷\').£»=¢(){¤(¢¥.£¼){Æ.¢»(\'¢À\',\'¬\',£½*£Á*£À*£µ);£±()}}};¢©.£æ=¢(){¤(!Æ.Û(\'¢À\')){¥.¡.â=\'£Â\'}}})();ö;ü\'¤ø\':(¢(){§ ¢å=$(\'¤ú\'),£ô=¢å.Ù;$(\'¤ù\').¾=¢(){¢å.Ù=£ô+\'?¤÷=\'+(Ö ¤§());­ ¬};§ ¢³=[\'¤ô ¤õ ¤ö ¤¨ ¤û\',\'¤ü ¤¨ ¯ ¥¢\'],Î=$(\'¦\'),¤«=$(\'ô\'),¥£=¢­=Î.¥¡,y=£ù,¢õ=¢Ù,h=0,Ë,¤ÿ;$(\'ô\').¡.Þ=\'¤ý\';$(\'ô\').À=¢³[Ü];Î.¡.¢º=\'þ\';Î.¡.¤å=\'Ô\';¤(Ü==0){Î.¡.Â=\'0\';Î.¡.¢°=\'þ\'}Ä{£.£¬=\'#ô\'}¢ ¢ö(y){h+=y;¤(h>0&&h<¢­){Î.¡.Â=«(h)+\'º\';­ ®}Ä ¤(h>=¢­){Î.¡.Â=«(¢­)+\'º\';h=¢­}Ä{Î.¡.Â=\'¤ã\';h=0;Î.¡.¢°=\'þ\'}­ ¬}¢ ¢ø(){¢Ø(Ë);¤(Ü==0){Ü=1;$(\'ô\').À=¢³[Ü]}¤(¢ö(y)){Ë=¤©(¢ø,¢õ)}}¢ ¢¿(){¢Ø(Ë);¤(Ü==1){Ü=0;$(\'ô\').À=¢³[Ü]}¤(¢ö(-y)){Ë=¤©(¢¿,¢õ)}}¤«.¾=¢(){¤(Ü==0){Î.¡.¢°=\'££\';¢ø()}Ä{¢¿(®)}};§ ß=®,Ò=®,à=®,¢Ð=®;$(\'¦\').¢ù=¢(){§ Ê=ß?÷($(\'Ê\').¨):\'\',¼=Ò?÷($(\'¼\').¨):\'\',¯=à?÷($(\'¯\').¨):\'\',¢µ=¢Ð?÷($(\'Ú\').¨):\'\';¤(Ê!=\'\'&&(¼==\'\'||¼.¢´(/[a-Í-9._-]+@[a-Í-9._-]{2,}\\.[a-z]{2,4}/i))&&¯!=\'\'&&¢µ.¢´(/[a-Í-9]{5}/i)){¢¿();$(\'ô\').À=\'¤é ¤ê ¤ð...\';$(\'¦\').¤ñ();­ ®}Ä{¤(Ê==\'\'){$(\'Ê\').¡.³=\'#ú\';$(\'Ê\').¡.°=\'Ô\';$(\'Ê\').¨=\'£è ¢¹.\';ß=¬;$(\'Ê\').»=¢(){ß=®;$(\'Ê\').¡.³=\'\';$(\'Ê\').¡.°=\'\';$(\'Ê\').¨=\'\';$(\'Ê\').»=¢(){}}}¤(¼!=\'\'&&!¼.¢´(/[a-Í-9._-]+@[a-Í-9._-]{2,}\\.[a-z]{2,4}/i)){$(\'¼\').¡.³=\'#ú\';$(\'¼\').¡.°=\'Ô\';$(\'¼\').¨=¼+\' (£ã £â)\';Ò=¬;$(\'¼\').»=¢(){Ò=®;$(\'¼\').¡.³=\'\';$(\'¼\').¡.°=\'\';$(\'¼\').¨=¼;$(\'¼\').»=¢(){}}}¤(¯==\'\'){$(\'¯\').¡.³=\'#ú\';$(\'¯\').¡.°=\'Ô\';$(\'¯\').¨=\'¤¡ ¢¹.\';à=¬;$(\'¯\').»=¢(){à=®;$(\'¯\').¡.³=\'\';$(\'¯\').¡.°=\'\';$(\'¯\').¨=\'\';$(\'¯\').»=¢(){}}}¤(!¢µ.¢´(/[a-Í-9]{5}/i)){$(\'Ú\').¡.³=\'#ú\';$(\'Ú\').¡.°=\'Ô\';$(\'Ú\').¨=\'A-Z ; 0-9\';¢Ð=¬;$(\'Ú\').»=¢(){¢Ð=®;$(\'Ú\').¡.³=\'\';$(\'Ú\').¡.°=\'\';$(\'Ú\').¨=¢µ;$(\'Ú\').»=¢(){}}}­ ¬}}})();ö;ü\'£û\':(¢(){§ ¥=£.Ì(\'¥\'),×=£.Ì(\'¥\'),Õ=£.Ì(\'¥\'),ò=£.Ì(\'¥\'),¿=£.Ì(\'¥\'),Ó=£.Ì(\'¥\'),û=£.Ð(\'û\')[0],¢Ê,i,c;¥.ª=\'¢ô\';×.ª=\'£ä\';Õ.ª=\'¥¿\';ò.ª=\'¥Å\';¿.ª=\'£í\';Ó.ª=\'£ë\';×.£ÿ(\'¤¦\',\'¢Ú\');¥.Å(×);¥.Å(Õ);¥.Å(ò);¢Ê=$(\'¢ì\').Ð(\'a\');ç(i=0,c=¢Ê.É;i<c;i++){(¢(a){§ ª=a.¢·.¢ð(\'-\')[1];ï(a,\'¢¸\',¢(){£ñ(ª);µ.Ñ&&µ.Ñ();µ.î=¬})})(¢Ê[i])}¢ £ñ(ª){¢ª();§ ¸=$(\'¢à\').¢Þ;£.±.¡.¢º=\'þ\';£.±.¡.¢Ñ=«(2*($(\'¢à\').¢Þ-¸))+\'º\';£.±.Å(Ó);£.±.¡.Þ=\'¢ï\';§ ¹=Ö ¢á();¹.½=\'/£²-£û\';¹.Û={ª:ª};¹.¢¼=¢(){§ t,ã,ä=¹.¢¡.Ð(\'ä\')[0],Á;×.À=\'<¢¢ ¡="¢Õ-£³:1.£à;" ª="ã"><¢Ü>\'+ä.Ç(\'ã\')+\'</¢Ü> - \'+ä.Ç(\'£¡\')+\'</¢¢><a ª="Á" ¡="¢í:¢î;¢Õ-£Õ:¢û;°:Ô;£ß-£Û:ë;" £Ü="£Ó" ¢·="" >¢Ú</a>\';Õ.À=ä.Ç(\'¢³\')+\'<£ü /><¢¢ ¡="¢í:¢î">\'+ä.Ç(\'£Î\')+\'</¢¢>\';¢±=ä.Ç(\'¢±\');¢Î=ä.Ç(\'¢Î\');ò.À=(¢±!=¢Î)?\'£ý : \'+¢±+\'<£ü />¢é : \'+¢Î:\'£ý ¥Á ¢ê : \'+¢±;£.±.Å(¥);£.±.Å(¿);Á=$(\'Á\');¤(£Ð){Á.¡.£Ì=\'£Ë\';Á.¡.£Å=\'£Ê\'}ï(Á,\'¢¸\',£õ);t=1.1;ã=$(\'ã\');¥«(ã.¥ª>¥©){t-=0.1;ã.¡.¥¦=«(t)+\'¤á\'}£.±.¡.Þ=\'\'};¹.¢¦();­ ¬}¢ £õ(){¥.ì.é(¥);¿.ì.é(¿);Ó.ì.é(Ó);£.±.¡.¢º=\'£Ò\';£.±.¡.¢Ñ=\'0\';µ.Ñ&&µ.Ñ();µ.î=¬}¢ ¢ª(){§ ó=(£.ñ.¢Ó>¢Ô)?£.ñ.¢Ó:¢Ô;¥.¡.Â=«(ó-ÿ)+\'º\';¥.¡.¸=«((£.ñ.¢Ý-£÷)/2)+\'º\';¿.¡.Â=«(ó-ÿ)+\'º\';¿.¡.¸=«(4+(£.ñ.¢Ý-£÷)/2)+\'º\';Õ.¡.Â=«(ó-£Ù)+\'º\'}ï(¢©,\'£¾\',¢ª)})();ö;ü\'Ø\':(¢(){§ i,c,Ë,½=«(£.£¬),Ï=0,¸=0,¢þ=$(\'¤ª\'),á=$(\'¥²\').Ð(\'a\');¤(½.¢´(/#¤Ã[0-9]+$/)){£.£¬=\'/¤²-Ø.û\'}¢ ¢¯(Ã){¢Ì=-Ã*£¨;§ £ó=(¢Ì-¸>0)?1:-1;¢Ö(Ë);Ë=¢×(¢(){¤(£ò.¤­(¢Ì-¸)<ÿ){¢þ.¡.¸=«(¢Ì)+\'º\';¢Ö(Ë)}Ä{¸+=£ó*ÿ;¢þ.¡.¸=«(¸)+\'º\'}},£ù);$(\'£é\').¡.¢°=(Ã>0)?\'££\':\'þ\';$(\'£ï\').¡.¢°=(Ã<¤Ö.É-1)?\'££\':\'þ\';á[Ï].¡.£å=\'\';á[Ï].¡.£ð=\'\';á[Ï].¡.Þ=\'\';Ï=Ã;á[Ï].¡.£ð=\'¢û\';á[Ï].¡.£å=\'ë\';á[Ï].¡.Þ=\'¤Û\'}¢ £î(){¢¯(Ï-1)}¢ £ì(){¢¯(Ï+1)}$(\'£é\').¾=£î;$(\'£ï\').¾=£ì;ç(i=0,c=á.É;i<c;i++){(¢(£ê,i){£ê.¾=¢(){¢¯(i);­ ¬}})(á[i],i)}¢¯(Ï);§ ¥=$(\'¢ô\'),Ý=$(\'£«\'),¢£=Ö ¤¢(),£¤=Ö ¤¢(),Ø=[],¢¾=\'\',¢ä,¢Ò,h,¤Ù,i,c;¢£.Ù=£¤.Ù=\'/Ý/¤×.¤Ä\';¥.ì.é(¥);£.±.Å(¥);£©=$(\'¤ª\').Ð(\'a\');ç(i=0,c=£©.É;i<c;i++){(¢(a){§ ª=a.¢·.¢ð(\'-\')[2];ï(a,\'¢¸\',¢(){¤£(ª);µ.Ñ&&µ.Ñ();î=¬})})(£©[i])}¢ ¤£(ª){§ ¹=Ö ¢á();£.±.¡.Þ=\'¢ï\';¹.½=\'/£¡-£«-\'+ª+\'.¢Â\';¹.¢¼=¢(){§ ¢Â=¹.¢¡;¢¾=¢Â.Ð(\'£¡\')[0].Ç(\'¤¤\');Ø=¢Â.Ð(\'£«\');¥.¡.â=\'£Â\';$(\'¢¾\').À=¢¾;h=0;Ë=¢×(¢(){¤(h>=¢ñ){¢Ø(Ë);Ý.¡.â=\'\';¢Û(0);$(\'Á\').¾=¢(){£ø();­ ¬}}¥.¡.Â=«(h)+\'%\';h+=5},¢Ù);£.±.¡.Þ=\'\'};¹.¢¦()}¢ ¢Û(Ã){§ ½=Ø[Ã].Ç(\'½\'),¢ß=Ø[Ã].Ç(\'¢ß\'),£þ=(Ã>0)?Ã-1:Ø.É-1,£ö=(Ã<Ø.É-1)?Ã+1:0;$(\'£ú\').À=(÷(¢ß)!=\'\')?«(Ã+1)+\' ¤¥ \'+«(Ø.É)+\' • \'+¢ß:«(Ã+1)+\' ¤¥ \'+«(Ø.É);Ý.Ù=£¤.Ù;¢£.Ù=½;$(\'¤Î\').¾=¢(){¢Û(£þ);­ ¬};$(\'¤¬\').¾=Ý.¾=¢(){¢Û(£ö);­ ¬}}¢ £ø(){Ý.¡.â=\'ë\';¢£.Ù=\'\';h=¢ñ;¢ä=¢×(¢(){h-=5;¥.¡.Â=«(h)+\'%\';¤(h<=0){¢Ø(¢ä);¥.¡.â=\'ë\';$(\'£ú\').À=\'\'}},¢Ù)}¢£.£æ=¢(){§ ¢®=0;å(Ý,¢®);Ý.Ù=¢£.Ù;¢Ö(¢Ò);¢Ò=¢×(¢(){¢®+=0.1;å(Ý,¢®);¤(¢®>=1){¢Ö(¢Ò)}},¥º)};¢ å(£ç,å){§ s=£ç.¡;s.å=s.¥¹=s.¥¸=«(å);s.¥»=\'¥¾(å=\'+«(¢ñ*å)+\')\'}})();ö;ü\'¥½\':(¢(){§ ¥=£.Ì(\'¥\'),×=£.Ì(\'¥\'),Õ=£.Ì(\'¥\'),ò=£.Ì(\'¥\'),¿=£.Ì(\'¥\'),Ó=£.Ì(\'¥\'),û=£.Ð(\'û\')[0],¢â,i,c;¥.ª=\'¢ô\';×.ª=\'£ä\';Õ.ª=\'¤ì\';ò.ª=\'¤ë\';¿.ª=\'£í\';Ó.ª=\'£ë\';×.£ÿ(\'¤¦\',\'¢Ú\');¥.Å(×);¥.Å(Õ);¥.Å(ò);¢â=$(\'¢ì\').Ð(\'a\');ç(i=0,c=¢â.É;i<c;i++){(¢(a){§ ª=a.¢·.¢ð(\'-\')[1];ï(a,\'¢¸\',¢(){£´(ª);µ.Ñ&&µ.Ñ();µ.î=¬})})(¢â[i])}¢ £´(ª){¢ª();§ ¸=$(\'¢à\').¢Þ;£.±.¡.¢º=\'þ\';£.±.¡.¢Ñ=«(2*($(\'¢à\').¢Þ-¸))+\'º\';£.±.Å(Ó);£.±.¡.Þ=\'¢ï\';§ ¹=Ö ¢á();¹.½=\'/£²-õ\';¹.Û={ª:ª};¹.¢¼=¢(){§ õ=¹.¢¡.Ð(\'õ\')[0];×.À=\'<¢¢ ¡="¢Õ-£³:1.£à;"><¢Ü>\'+õ.Ç(\'ã\')+\'</¢Ü></¢¢><a ª="Á" ¡="¢í:¢î;¢Õ-£Õ:¢û;°:Ô;£ß-£Û:ë;" £Ü="£Ó" ¢·="">¢Ú</a>\';Õ.À=õ.Ç(\'¢ì\');ò.À=\'¥Ä : \'+õ.Ç(\'¥Ã\')+\' - \'+õ.Ç(\'£Î\');£.±.Å(¥);£.±.Å(¿);Á=$(\'Á\');¤(£Ð){Á.¡.£Ì=\'£Ë\';Á.¡.£Å=\'£Ê\'}ï(Á,\'¢¸\',£É);£.±.¡.Þ=\'\'};¹.¢¦();­ ¬}¢ £É(){¥.ì.é(¥);¿.ì.é(¿);Ó.ì.é(Ó);£.±.¡.¢º=\'£Ò\';£.±.¡.¢Ñ=\'0\';µ.Ñ&&µ.Ñ();µ.î=¬}¢ ¢ª(){§ ó=(£.ñ.¢Ó>¢Ô)?£.ñ.¢Ó:¢Ô;¥.¡.Â=«(ó-ÿ)+\'º\';¥.¡.¸=«((£.ñ.¢Ý-£Ú)/2)+\'º\';¿.¡.Â=«(ó-ÿ)+\'º\';¿.¡.¸=«(4+(£.ñ.¢Ý-£Ú)/2)+\'º\';Õ.¡.Â=«(ó-£Ù)+\'º\'}ï(¢©,\'£¾\',¢ª)})();ö}})();',95,419,'style|function|document|if|div|form|var|value|x41|id|String|false|return|true|message|color|body|replace|backgroundColor|email|event|xhr|input|left|ajax|px|onfocus|mail|url|onclick|divOmbre|innerHTML|lienFermer|height|cle|else|appendChild|cookie|getAttribute|expediteur|length|pseudo|timer|createElement|z0|elCible|cleCourante|getElementsByTagName|preventDefault|mailValide|divWait|white|divContenu|new|divTitre|photos|src|captcha|get|etatActuel|img|cursor|pseudoValide|messageValide|listeLiens|display|titre|chanson|opacity|no|for|test|removeChild|verifChamp|none|parentNode|str|returnValue|addEvent|nbErreurs|documentElement|divPied|hFenetre|entete|article|break|trim|varName|name|ff4444|html|case|ok|hidden|40|responseXML|span|oImage|regEmail|this|send|quantite|envoi|window|rafraich_dim|encodeURIComponent|el|hMax|opac|affiche_apercu|visibility|auteur|status|texte|match|code|start|href|click|vide|overflow|set|callback|elOption|nomAlbum|enroule|popup|open|xml|spanCivilite|menubar|end|expir|erreur|9_|expirTime|liensChansons|erreurMail|left_end|random|compositeur|dataPOST|codeValide|paddingRight|timerPhoto|clientHeight|150|font|clearInterval|setInterval|clearTimeout|10|Fermer|affiche_photo|strong|clientWidth|offsetLeft|description|cadre|Ajax|liensArticles|adresse1|timerAlbum|elImg|regAdresse|regMessage|regNom|Musique|musique|civilite|contenu|float|right|progress|split|100|valueOfRadio|regExpediteur|blocPrincipal|delai|change_hauteur|nePlusDemander|deroule|onsubmit|paiement|bold|adresse2|indexOf|liste|fct|album|try|visible|oLoader|responseText|catch|post|300|liensAlbums|_testCookiesAcceptation|photo|location|premierChangement|width|XMLHTTP|500|masque|lire|size|affiche_article|1000|top|de|lecteur_popup|scrollbars|label|onchange|checked|30|resize|addEventListener|3600|24|block|ActiveXObject|alert|bottom|del|regCode|regCommune|ferme_article|20px|relative|position|bVide|date|onkeydown|ie7|popup_auto|auto|discret|in|weight|regex|debug|lecteur|122|740|decoration|class|verifForm|verif|text|1em|cadreLecteur|invalide|adresse|barreTitre|textDecoration|onload|obj|Pseudo|fleche_precedent|lien|wait|affiche_suivant|ombre|affiche_precedent|fleche_suivant|fontWeight|affiche_chanson|Math|sens|src0|ferme_chanson|cleSuiv|480|fermer_album|20|sDescription|paroles|br|Paroles|clePrec|setAttribute|Message|Image|affiche_album|nom|sur|title|Date|votre|setTimeout|blocAmmovible|elBouton|lienSuiv|abs|enabled|on|toGMTString|call|albums|decodeURIComponent|substring|attachEvent|amp|html_escape|lt|gt|lcaba|quot|getElementById|3D|XMLHttpRequest|url_escape|25|26|2B|album_|gif|instanciation|setRequestHeader|Content|lors|Type|043|POST|objet|statusText|lienPrec|200|readyState|onreadystatechange|application|www|Microsoft|getTime|listeAlbums|loader2|Msxml2|liensalbums|setTime|default|urlencoded|GET|x41chec|null|expires|em|boutonNon|0px|boutonOui|background|type|Ne|checkbox|Envoi|en|
    • Partager sur Facebook
    • Partager sur Twitter
      24 août 2010 à 1:19:01

      En fait, eval va surtout pompé des ressources client ...
      Car c'est une fonction trèèèèès lourd et déconseillé ...
      Maintenant si tu mélange la compression gzip avec ça, toi de ton coté ta du gain en bande passante !
      Mais les performances des 2 cotés seront amoindrie ... (gzip : "ralenti" le serveur et eval "ralentis" le client mais au final ça compresse le code !)
      • Partager sur Facebook
      • Partager sur Twitter
        24 août 2010 à 2:12:43

        Salut,
        Je connais eval(), mais ici il n'est utilisé qu'une unique fois (l'interpréteur ne va pas être redémarrer en plein exécution du script), et la chaîne passée en argument est sans risque.
        Et là où il y a beaucoup de temps à gagner c'est sur le transfert du fichier. Avec ça je divise la taille du fichier par 2.
        J'imagine qu'avec une chaîne comme ça à décompresser, le script mets plus de temps à démarrer, mais je suppose qu'ensuite, l'exécution du script se fait avec les mêmes performances.

        Après mesure, j'ai ceci :
        Une fois le fichier dans le cache, le script compressé met une dizaine de millisecondes à être prêt, contre une seule pour le non-compressé.
        Mais il me semble que ça reste plutôt correct non ?
        • Partager sur Facebook
        • Partager sur Twitter
          24 août 2010 à 2:25:58

          J'utilise toujours eval pour compresser mes scripts. Par contre je les rassemble dans un seul fichier pour n'avoir qu'un seul eval.

          En terme de rapidité de chargement : c'est rapide, no problem : plus rapide à arriver que lent à exécuter, surtout sur des petites connexions0 Par contre je ne connais pas le fonctionnement de cette "décompression" dans les détails.

          Est-ce que ça consomme plus de RAM (besoin de stocker le script décompressé plutôt que de simplement le lire) ou est-ce que ça bouffe du CPU ? Je sais pas. Sur mon dernier projet un ami sous Linux m'a dit que l'appli ramait. J'ai repris tout le code sans pouvoir identifier la source. Je lui proposerai de ré-essayer avec la version plus lourde du script pour voir si ça change quelque chose.
          • Partager sur Facebook
          • Partager sur Twitter
          Anonyme
            24 août 2010 à 2:33:31

            Le temps d'avoir la connexion au serveur et d'attendre la réponse t'as plus de la moitié du temps nécessaire à l'obtention de ton script qui est passé. les quelques ms que tu gagnes là tu les perds coté client.

            Compresser autant sert a rien, la charge de gzip est négligeable sur un serveur de production et c'est bien plus utile.

            Les 10ms en plus que prends le script a s'initialiser coté client ça c'est pas négligeable. Avec eval il doit attendre d'avoir toute la chaine avant de faire quoi que ce soit, si t'as le script en clair la VM peut commencer le travail pendant le téléchargement, donc ça parait moins long.

            Sinon faut charger le minimum de JS qui permet d'insérer d'autres scripts qui font le travail, t'y vois que du feu coté client et ça trace pour charger la page.

            ( edit ) @Geoffrey-Zéro : ça veut pas dire grand chose ta première phrase… eval tout seul ça compresse que dalle.
            • Partager sur Facebook
            • Partager sur Twitter
              24 août 2010 à 2:42:50

              Citation : nod_

              Le temps d'avoir la connexion au serveur et d'attendre la réponse t'as plus de la moitié du temps nécessaire à l'obtention de ton script qui est passé.



              Ha oui c'est ce que j'était en train de voir :
              Image utilisateur

              Et en repassant le script en clair, j'ai les mêmes temps...


              Mais... j'ai pas compris ta dernière phrase. :euh:
              • Partager sur Facebook
              • Partager sur Twitter
                24 août 2010 à 3:20:41

                nod_, tu m'auras compris quand même, on n'est pas là pour faire de la rhétorique...

                Après je suis peut-être con/ignare mais pour moi une compression qui utilise eval pour décompresser ou gzip c'est pareil : on a un fichier plus léger que le client décompresse (et parfois mal sur IE6 avec gzip d'après ce que j'ai lu : IE6 commence parfois à parser avant la décompression).

                la plupart de mes scripts s'exécutent après le chargement de la page, donc je peux bien attendre 10ms. Et on attend combien de temps avec gzip ?

                Après, c'est peut-être parce que les résultats Google pour "gzip" sont peu instructifs, mais j'ai pas eu une illumination en apprenant son existence. Je me suis même dit "bouh c'est encore du boulot pour le serveur".

                Après, j'ai pas tout capté de votre discussion, je vole pas aussi haut que vous...
                • Partager sur Facebook
                • Partager sur Twitter
                  24 août 2010 à 8:32:51

                  Salut,

                  Je l'utilisais avant, mais elle est totalement inutile.

                  1) elle compresse, certes. mais le but de la compression est de diminuer le temps de chargement. Or sur du gros code, ça le rallonge.
                  2) l'obfuscation est nulle. Remplace eval par alert ou write, et tout ton code apparait.

                  Bref, je déconseille.
                  • Partager sur Facebook
                  • Partager sur Twitter
                  Directeur technique, créateur de jeux HTML5 et fan de JavaScript | La suite de OnHack est sur les rails !
                  Anonyme
                    24 août 2010 à 8:52:56

                    on fait pas de la réthorique mais être précis évite les quiproquos, c'est simplement de la rigeur.

                    Pour eval/gzip, les routine pour décompresser le gzip sont très certainement en C dans les navigateurs en tous cas sur le serveur c'est certain. T'as pensé aux ressources utilisé par le script php qui compresse le JS ? Là je suis certain que c'est beaucoup plus lent et gourmand qu'un script en C. Donc le temps de décompression sera plus court.

                    Surtout qu'avec gzip tu compresse tout le texte : HTML, CSS, javascript. et pour que gzip soit utilisé au mieux il faut que les même caractères se répète souvent : avec le script de LCaba, puisqu'on a limite un caractère différent pour chaque fonction ça servira pas à grand chose.

                    Exemple avec jquery 1.4.2 :
                    • normal : 161k
                    • minifié : 71k
                    • minifié + gzip : 24k
                    • avec le script PHP : 50k !

                    Gzip, une réduction de 33% sur la taille du fichier à télécharger.

                    Au final gzip c'est moins hasardeux, plus simple a mettre en œeuvre et appliquable au CSS/HTML. Si tu cherches les performances pour un téléchargement rapide, y'a pas 36 solutions et celle en OP n'en est pas une.
                    • Partager sur Facebook
                    • Partager sur Twitter
                      24 août 2010 à 10:24:59

                      Citation : nod_

                      T'as pensé aux ressources utilisé par le script php qui compresse le JS ? Là je suis certain que c'est beaucoup plus lent et gourmand qu'un script en C.



                      En effet le temps pour compresser se compte en centaines de ms (jusqu'à 400 pour la version hyper-compressée), mais je ne suis pas fou, la compression n'est pas réalisée à chaque fois, mais sauvée dans un fichier .js. Donc cette durée n'est pas à prendre en considération.


                      Citation : nod_

                      et pour que gzip soit utilisé au mieux il faut que les même caractères se répète souvent : avec le script de LCaba, puisqu'on a limite un caractère différent pour chaque fonction ça servira pas à grand chose.



                      Ca ça m'intéresse, tu peux me donner un exemple concret stp ?

                      PS : Tu ne m'a toujours pas expliciter ta phrase : "Sinon faut charger le minimum de JS qui permet d'insérer d'autres scripts qui font le travail, t'y vois que du feu coté client et ça trace pour charger la page." Je suis avide de savoir :D


                      • Partager sur Facebook
                      • Partager sur Twitter
                      Anonyme
                        24 août 2010 à 11:07:05

                        bah les fichiers gzip aussi sont mis en cache et ça c'est le serveur qui fait ça tout seul comme un grand, même pas besoin de gérer :)

                        Pour gzip : http://www.gzip.org/algorithm.txt :D

                        Citation

                        It finds duplicated strings in the input data. The second occurrence of a string is replaced by a pointer to the previous string (…)

                        Plus t'as de répétition, plus la compression est efficace.

                        Pour le chargement regarde du coté du lazy loading : http://ajaxpatterns.org/On-Demand_Javascript

                        • Partager sur Facebook
                        • Partager sur Twitter
                          24 août 2010 à 11:39:35

                          Merci,
                          Une dernière question, comment tu fais pour voir la taille du fichier compressé en gzip ?
                          • Partager sur Facebook
                          • Partager sur Twitter
                          Anonyme
                            24 août 2010 à 11:42:44

                            $ ll
                            


                            J'suis sous linux donc c'est facile, j'ouvre ma console, je gzip le fichier et je fais un ls -l , qui me donne la taille des fichiers dans le repertoire.

                            Sinon bah… installe linux ? :p
                            • Partager sur Facebook
                            • Partager sur Twitter
                              24 août 2010 à 12:58:18

                              Je l'ai en dual boot mais j'ai la flemme de redémarrer. En fait j'ai fait autrement :

                              <pre>
                              <?php
                              $taille_originale = filesize('script.js');
                              $str = file_get_contents('script.js');
                              $str_gzip = gzencode($str);
                              $f = fopen('script.js.gzip','w+');
                              fwrite($f,$str_gzip);
                              $taille_gzip = filesize('script.js.gzip');
                              echo '
                              Taille originale : ' . $taille_originale . '
                              Taille Gzippée : ' . $taille_gzip . '
                              Ratio : ' . round($taille_gzip / $taille_originale,2);
                              ?>
                              <pre>
                              


                              Résultat :

                              Version non obfusquée

                              Version obfusquée

                              Taille originale : 20041
                              Taille Gzippée : 5183
                              Ratio : 0.26

                              Taille originale : 12842
                              Taille Gzippée : 5884
                              Ratio : 0.46
                              Script prêt en 1ms Script prêt en 10ms


                              gzip wins...

                              Bon, je passe en résolu merci à tous de votre participation :)
                              • Partager sur Facebook
                              • Partager sur Twitter

                              De l'abus dans la compression ?

                              × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                              × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                              • Editeur
                              • Markdown