Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 02-01-2008 08:09:30

Mr.MoOx
Administrateur
Lieu: Toulouse
Date d'inscription: 27-03-2007
Messages: 1444
Site web

Compresseur de codes (CSS et Javascript)

Salut à tous,

Je viens une fois de plus vous solliciter afin de développer au mieux un compresseur de codes css et javascript (et pourquoi pas autre choses mais là je vois pas trop smile )

Je code donc actuellement un package de classe permettant de gérer la compression et la mise en cache de codes (dans un 2nd temps).
Ceci permet un gain de bande passante donc c'est tout bénéf' pour tous le monde (clients qui télécharge moins, et donc serveur qui envoit moins), et si tous ça est bien développé ça sera top!

Je me base en fait sur un controller qui se chargera automatiquement de tout ça en définissant uniquement une route dans le front controller (et ouais il n'y aura que ça à faire (ou presque)!)
Je ne vais pas recréer la roue et je compte donc m'appuyer sur des codes existants pour la compression en elle même.
En ce qui concerne les CSS je pensais utiliser CSSTidy qui m'a l'air assez puissant (codé en PHP4, es ce un problème?)
Pour le javascript, je voulais utiliser JSmin (pour minimisé) ou le fameux packer (utilisé par jQuery pour la version minimisé+packé, utile lorsque l'on a pas accès à la compression gzip).

Pour la mise en cache je comptais faire un simple test sur le fait que le fichier ai changé ou pas (avec un hash? jdis ça j'ai jamais utilisé les hash sur fichiers) et me basé sur Zend_Cache si possible (c'est pas trop lourd?).

Que pensez vous de tout ça?

Hors ligne

 

#2 02-01-2008 11:54:32

TiTerm
Membre
Date d'inscription: 01-07-2007
Messages: 175

Re: Compresseur de codes (CSS et Javascript)

Je suis en train de bosser sur la même chose.
Je peux déjà te faire part des idées que je creuse et écueils potentiels que j'ai identifié.

1/ Je souhaite conserver la liberté de codage, je ne veux donc pas imposer de méthode pour appeler un css ou un js. J'envisage donc de faire un parsing du code html en fin de génération pour récupérer les appels aux script externes css et js.

2/ Je souhaite réduire le nombre de hit css et js a 2 max (1 pour chacun), le temps de résolution dns à souvent un cout plus important que le temps de transfert en lui même. Néanmoins, je veux pouvoir converser un nombre de fichiers sources css et js libre (pour des raisons de maintenance et de clarté). Pour cela, je compte  effectuer la concaténation de tous les css et de tous les js. C'est, à priori sans soucis pour le JS, c'est plus délicat pour les CSS (du fait que les chemins indiqués au sein d'un css sont relatif à l'emplacement du fichier css lui même, il faut donc possiblement faire une mise a jours des path).

3/Je n'ai pas spécialement identifié les algos à utiliser pour le css ou le js, je verrai plutôt une interface dans laquelle on pourra implémenter ou utiliser ce que l'on souhaite. Si demain un algo révolutionnaire sort, cela ne remettra pas en cause la classe.

4/ Il faut envisager la possibilité que les css/js puissent être générés par des scripts php.

5/ Quid des cas ou le js charge d’autre JS (ex : scriptaculous)

5/ La mise en cache doit impérativement faire partie de la classe dès le départ. Pour moi, le but est d'améliorer les perfs d'affichage chez l'utilisateur mais aussi de faire baisser la charge serveur (et donc de servir plus d'utilisateur). Le surcoût de la gestion des js/css par un contrôleur n'est pas viable amha s'il a lieu systématiquement.
J'envisage donc d'avoir plusieurs phases distinctes.
-    Analyse et maj du source html pour recherche des css/js.
-    Vérification des dates de modifications des sources js/css
-    Si cache dispo, on sert le css/js avec un max-age de 1an, sinon on poursuit
-    Concaténation, compression et mise en cache dans un fichier  nommé avec la date de dernière modif la plus récente. (prévoir le nettoyage des entrées du cache).
De ce fait, pour éviter une surcharge CPU, je souhaite que les css et js soit vu comme des ressources statiques et servis par apache comme tels (les performances pour servir une ressource statique sont sans commune mesure avec une ressource php, gain en cpu et en ram).
Je pense donc plutôt a un plugin ou un filtre en post-traitement plutôt qu’à un controleur dédié.

Ex :
Source html avant traitement
<script src=’js/monjs1.js’ type=’text/js’>
<script src=’js/monjs2.js’ type=’text/js’>
<style src=’css/moncss1.css’ type=text/css">
<style src=’css/moncss2.css’ type=text/css">

Source html en sortie
<script src=’cache/js/jscache5515151511.js’ type=’text/js’>
<style src=’cache/css/csscache5521212121.css’ type=text/css">
(Le numéro correspond au timestamp du fichier le plus récent.)

6/ Concernant la compression. Le fait d’effectuer une concaténation devrait apporter un léger gain. Il est plus efficace de compresser unseul gros fichier que plusieurs petits.
Concernant le transport, la compression d’une ressource statique peut etre fait par apache qui s’occupe aussi de la négociation (gzip/pas gzip) voir le module gzip de apache. (Dans mon cas, la compression est effectuée par des proxy hardware). En revanche, on peut effectuer un travail sur les sources afin de maximiser la compression en passant un algo type jsmin ou yiu compressor. L’intéret est que c’est juste de la réécriture. Il n’y a donc pas besoin de javascript pour décompresser le truc coté client et c’est autant de gagner en temps de rendu coté client.

7/ Bien configurer apache pour que le max-age soit important pour cette zone de cache. Le nom de la ressource étant unique, il n’y a aucun interret à la faire recharger par le client.

Hors ligne

 

#3 02-01-2008 13:53:46

Mr.MoOx
Administrateur
Lieu: Toulouse
Date d'inscription: 27-03-2007
Messages: 1444
Site web

Re: Compresseur de codes (CSS et Javascript)

Je commente...
Perso, je pense que rajouté 'compresse' ou 'cp' ou 'min' ou un petit truc devant ton url de css/js n'est pas très méchant (ah oui faut une 'tite route en plus) pour compressé ton code.

Pour ce qui ai des regroupements de fichiers je suis contre. Ca va dans l'encontre de la modularité
Personnellement, je ne vois pas trop à quoi servent ces optimisations, surtout compresser les fichiers css en 1 seul, imaginons que dans 2 fichiers css je déclare le meme bloc pour le paramétrer différemment, bin c'est fichu sad.
Puis quand tu as une page qui utilise 1.css et 2.css et que un autre utilise 2.css et 3.css et que une autre (encore) utilise 1.css et 3.css, ben ta méthode fait plutot perdre du temps... Faut penser au cache client!

>>Il faut envisager la possibilité que les css/js puissent être générés par des scripts php.
Ben la, tu configure ça directe sur le serveur/htaccess...

>>Vérification des dates de modifications des sources js/css.
Je pensais pas à ca. Car c'est pas forcément fiable. Un hash du ficheir ne serait t-il pas mieux?

>>Je pense donc plutôt a un plugin ou un filtre en post-traitement plutôt qu’à un controleur dédié.
Ben pas moi car le principe n'est pas le même. Moi c'est un controleur qui compresse puis basta. Pas de parsing ou de truc freseestyle. C'est toi qui gère si tu veux compressé ceci ou cela> Pas de mauvaise surprise.

Hors ligne

 

#4 02-01-2008 14:53:17

TiTerm
Membre
Date d'inscription: 01-07-2007
Messages: 175

Re: Compresseur de codes (CSS et Javascript)

je ne faisais part que de mes idées, rien de plus. On a pas forcement la même approche et c'est bien là l'intérêt non ?

Ajouter une route de plus ou de moins n'as que peu de conséquence sur le routage. On est d accord la dessus.
En revanche, servir via un MVC une ressource statique type css ou js n'est pas du tout la même chanson. Fait quelques benchs si tu veux t'en assurer. La conso ram et la conso cpu n'ont vraiment rien a voir et je ne serait pas surpris du tout qu'il y a un ratio de 100 mini entre une page css servi par apache et une page css servir par un MVC.

Concernant la concaténation des fichiers, je me suis peut être mal exprimé, mais telle que je l'envisage, elle serait dynamique. Donc, a priori, je ne voie pas pb de modularité.
Quand à paramétrer le même bloc différemment dans 2 fichiers, je doit bien avouer que je ne te suis pas. Si tu choisis de charger 2 fichiers css, il n'y aura aucune différence d'un point de vue DOM si tu charges un fichier équivalent a la concaténation des 2 même fichiers (au pb de path près que j'ai déjà évoqué si les 2 fichiers ne sont pas dans le même répertoire que le fichiers concaténé). Les dernières règles définies ont toujours préséance. Ce qui est surchargé dans un cas l'est de la même façon dans l'autre.
Quand a utiliser N fichiers css avec les N combinaisons possible entre les pages. Tout est affaire de balancier.
D'un coté tu vas avoir n requete dns avec n hits serveur mais des transferts plus petit, d'un autre tu n'auras qu'une requete dns avec 1 hits serveur et un transfert plus gros. En haut débit, la seconde méthode donne de meilleur résultat d'après mes tests.

Pourquoi penses-tu que les dates de modif ne sont pas fiable ? Sauf a explicitement restaurer une date antérieure par un outils externe, quand tu mets a jours un fichier, la date est aussi mis a jours. Faire un hash d'un fichier pour voir s'il a été modifié est certes encore plus fiable, mais extrêmement coûteux, et le surcout est-il réellement justifiable ?

>>Ben pas moi car le principe n'est pas le même. Moi c'est un controleur qui compresse puis basta. Pas de parsing ou de truc freseestyle. C'est toi qui gère si tu veux compressé ceci ou cela> Pas de mauvaise surprise.

J'ai un peu de mal a comprendre ta démarche. Tu postes sur un forum public et cette phrase ne me donne pas l'impression que tu soit disposer à échanger des points de vues. Mais peut etre que j'interprète mal tes propos.

Hors ligne

 

#5 02-01-2008 15:08:15

Mr.MoOx
Administrateur
Lieu: Toulouse
Date d'inscription: 27-03-2007
Messages: 1444
Site web

Re: Compresseur de codes (CSS et Javascript)

>> Mais peut etre que j'interprète mal tes propos
Ouais c'est que je suis bourrin des fois dans ce que je dis.
En effet c'est vrai que je me suis mal exprimé sur certains points et sur les autres ben je disais des trucs bêtes (avec du recul).

Ben en fait après t'avoir bien relu (j'étais mal réveillé faut croire), je m'aperçois que ton approche n'est pas mal non plus. Il y'a en effet plus de logique que moi dedans.
Je vais repenser à ma solution et voir si ça vaut toujours le coup.

Moi je pensais plus à faire un compresseur simple mais efficace. Peut être à coupler avec ta solution ca donnerais bien smile

Hors ligne

 

#6 02-01-2008 15:22:45

TiTerm
Membre
Date d'inscription: 01-07-2007
Messages: 175

Re: Compresseur de codes (CSS et Javascript)

Np.
Pour l'instant, je n'ai fais que des tests et un squelette général. Je n'ai donc rien de concret à montrer pour l'instant. Néanmoins, je te tiens au courant quand j'aurai avancé un peu ou si je trouve d'autre truc sur le sujet.

Hors ligne

 

#7 03-01-2008 00:08:34

Julien
Membre
Date d'inscription: 16-03-2007
Messages: 501

Re: Compresseur de codes (CSS et Javascript)

Vous devriez lire ceci
Certaines de vos idées y sont traitées, d'autres non.

C'est un document vraiment très intéressant, lisez le carrément en entier et à tête reposée smile

Hors ligne

 

#8 03-01-2008 08:23:39

TiTerm
Membre
Date d'inscription: 01-07-2007
Messages: 175

Re: Compresseur de codes (CSS et Javascript)

J'avais lu cet article mais il me semble qu'il y a vraiment très longtemps...
Il couvre bien plus de domaine que la partie que l'on discute traiter ici. C'est beaucoup plus général mais toujours d'actualité.

On pourrait à la limite ouvrir un autre thread voir une section pour traiter des différentes méthodes d'optimisation. Je suis assez porté sur le sujet smile...
Mais si certaines techniques sont valable pour tous les sites, d'autre sont très dépendante de la nature du site. Cela reste néanmoins un sujet passionnant et sujet à fortes discussions...

Hors ligne

 

#9 03-01-2008 09:18:51

Mr.MoOx
Administrateur
Lieu: Toulouse
Date d'inscription: 27-03-2007
Messages: 1444
Site web

Re: Compresseur de codes (CSS et Javascript)

Merci pour le [ju]lien smile

Hors ligne

 

#10 07-01-2008 10:23:47

Isilgawen
Membre
Lieu: Limoges
Date d'inscription: 23-03-2007
Messages: 106

Re: Compresseur de codes (CSS et Javascript)

Ca me plait pas mal ton approche Titerm. En revanche pourquoi parser le output html en post dispatch, j'ai peur que cela prenne de la ressource serveur pour pas grand chose. Il serait peut être plus judicieux de demander via le/les controlleurs les fichiers css et js à inclure au doc ...

Hors ligne

 

#11 07-01-2008 11:19:30

TiTerm
Membre
Date d'inscription: 01-07-2007
Messages: 175

Re: Compresseur de codes (CSS et Javascript)

Pourquoi pas, Isigawen. Mon idée de base était de pouvoir faire ça sans avoir à modifier quoique ce soit au code déjà existant et indirectement, pour être sur que tout soit bien pris automatiquement.
D'un autre coté, faire un appel explicite via un view helper par exemple permettrait de mieux maîtriser ce qu'on souhaite inclure dans la moulinette mais implique une modif du code existant.

Pour reprendre ta proposition, ce que je ferais, c'est peut être un mix des deux. Via un fichier de conf, on choisira soit d'effectuer un parsing automatique, soit de gérer manuellement ce que l'on souhaite mouliner.
Çà me permettra de faire une inclusion rapide a l'existant et en cas de besoin ou sur les futurs site, de gérer le truc manuellement.
Je pense même ajouter dans le même ordre d'idée un helper qui permettrai d'exclure de la moulinette en mode parsing un script donné.

Concernant les perfs du parsing, par expérience, le coût est vraiment très très faible.

Hors ligne

 

#12 07-01-2008 14:14:06

Isilgawen
Membre
Lieu: Limoges
Date d'inscription: 23-03-2007
Messages: 106

Re: Compresseur de codes (CSS et Javascript)

Good smile tiens nous au courant ca m'interesse pas mal, et si besoin d'aide hésite pas ...

Dernière modification par Isilgawen (07-01-2008 14:21:39)

Hors ligne

 

#13 07-01-2008 14:58:12

Mr.MoOx
Administrateur
Lieu: Toulouse
Date d'inscription: 27-03-2007
Messages: 1444
Site web

Re: Compresseur de codes (CSS et Javascript)

Je commence à trouver cool ta solution TiTerm.
Par contre j'ai une remarque concernant le fait de regoruper tout les fichiers en 1. On perds l'avantage du cache client si on les regroupe tous dans le cas ou l'on n'inclu pas forcement tous les fichiers dans toutes les pages (ce qui m'arrive perso très souvent car j'ai pleins de css (je trouve ca plus facile pour maintenir)).

Faudrait penser à une options qui permet de regrouper certains mais pas tous. Mais ca ne va plus dans le sens de ton automatisation (à moi qu'on se base sur une détails dans le nom du fichier?)
Perso j'ai dév un truc qui me permet de faire (dans un controller): 

Code:

$this->view->addCss('mon.css');

Il serait pas mal de faire des "blocks":

Code:

$this->view->addCss('mon.css','pack1'); 
$this->view->addCss('mon2.css','pack1'); //regrouper avec celui du dessus
$this->view->addCss('mon.css','alone'); //seul pour optimiser le cache client

.

Hors ligne

 

#14 07-01-2008 17:18:19

TiTerm
Membre
Date d'inscription: 01-07-2007
Messages: 175

Re: Compresseur de codes (CSS et Javascript)

MoOx, au début, je faisais aussi plusieurs css et plusieurs js. Et en fonction des besoins, j'incluais ou pas ce qu'il fallait.
Depuis, et après pas mal d'analyse et de test divers. On se rend compte qu'un seul css et un seul JS est plus efficace. Ce sont des sources qui évolue rarement. Une fois chargés par le client, il sont valable pour tous le site et pour les visites futurs. Si en plus on joue sur du cache avec un nom unique, on peut mettre un max age d'un an et tant que il n'y a pas de modif des sources, le nom ne change pas, et donc pendant un an potentiellement, il ne seront pas rechargés. C'est de l'optimisation long terme smile basé sur le principe que le mec vas revenir sur le site une autre fois ou vas au moins surfer sur plusieurs page durant sa session.
C'est vrai que si le mec charge une page et se barre, il a chargé tous les css et les js mais il avait qu'à pas partir d'abord.

J'aime bien ton idée de regroupe dans des blocks. Je la note smile

Hors ligne

 

#15 07-01-2008 17:31:33

Phoenix17
Membre
Lieu: Nancy
Date d'inscription: 09-04-2007
Messages: 73
Site web

Re: Compresseur de codes (CSS et Javascript)

En effet, le mieux pour optimiser les requêtes http, c'est de n'avoir qu'un seul fichier js, et un seul fichier css.

Mais c'est a double tranchant car qui dit un js et un css, dit plus lourd car tout est regroupé.

Il y a un outil qui s'inclu à Firebug pour firefox : 'YSlow', et on voit bien que la note de performance baisse selon le nombre de fichier js et css à charger.

Quant à l'attribution des css via $this->view->..., donc via le controller, je ne suit pas spécialement d'accord dans le principe. Pour moi, ce n'est pas au controller de définir quel fichier css doit être chargé, c'est plutôt dans la vue qu'il faut faire ça.

Le principe même du mvc étant de séparer les couches, l'équipe 'webdesign => views' doit pouvoir ajouter un css, un js, etc... sans pour autant avoir besoin de demander à l'équipe 'controller' de s'en occuper, enfin, c'est mon point de vue wink

Hors ligne

 

#16 07-01-2008 17:49:59

Mr.MoOx
Administrateur
Lieu: Toulouse
Date d'inscription: 27-03-2007
Messages: 1444
Site web

Re: Compresseur de codes (CSS et Javascript)

@Titerm: Je prends l'expemple du site que je fais pour ma boite.  Pour l'instant si je prends le code CSS que j'ai j'en ai autant en commun (pour le design global du site) que pour ma page d'accueil. Et nou savons tous que Google ne nous renvoi pas forcément sur la page d'accueil d'un site. Dans le cas où un internaute arrive d'un page quelconque et qu'il navigue sur quelques pages (qui elles aussi auront un code css spécifique peut être aussi grand que le design commun) il aura charger un bon paquet de codes CSS pour rien.
Ceci est bien sur à prendre en compte uniquement pour les site qui ont un design complexe.

De même pour les Javascript. Sur ma page portfolio, j'aurais un code spécifique qui sera complètement inutile sur les autres pages de mon site. Ce cas peut se reproduire pour d'autres pages ayant un comportement bien particulier.

Bien entendu ce genre de cas n'arrive pas pour des sites "basiques"... A méditer.

Sinon à part ça, j'aimerais bien que tu fournisse ton squelette. Ca serait pas bête de bosser en commun. Je me propose de bosser sur la partie compression.

@Phoenix17: Comme tu le dis, c'est à la vue de gérer les CSS. C'est bien pour cela que je fais $this->view->addXXX() plutot que $this->addXXX() au niveau du controller. On peut donc utiliser $this->addXXX() directement depuis la vue...
Dans la même optique je suppose que très souvent tu fais des $this->view->data = 'quelques choses' dans tes controller. Ca se recoupe non?

Question à part est il bete/pas malin/pas judicieux d'utiliser un script PHP4 et de faire une interface pour le ZF? Sachant que ce code PHP4 (http://csstidy.sourceforge.net/) est pas mal du tout.

Hors ligne

 

#17 07-01-2008 18:14:07

Phoenix17
Membre
Lieu: Nancy
Date d'inscription: 09-04-2007
Messages: 73
Site web

Re: Compresseur de codes (CSS et Javascript)

Oui en effet, avec un peu de recul j'ai peut-être parlé un peu vite smile

Pour csstidy je suis pas certain que ce soit une bonne idée, m'enfin, tu peut tjrs tester..

Pour du css, il y a toujours ces quelques lignes qui peuvent te permettre de minifier / optimiser (un minimum) tes fichiers css :

Code:

// Supprime les commentaires
$data = preg_replace("/\/\*(.*?)\*\//s", ' ', $data);
        
// Supprime les sauts de ligne, space et tabulation
$data = preg_replace("/(\s{2,}|[\r\n|\n|\t|\r])/", ' ', $data);
        
// Regles de jointures
$data = preg_replace('/([,|;|:|{|}]) /', '\\1', $data);
$data = str_replace(' {', '{', $data);
        
// Supprime le ; pour le dernier attribut
$data = str_replace(';}', '}', $data);
$data = str_replace(' }', '}', $data);

C'est loin d'être complet mais c'est déjà ça big_smile

Hors ligne

 

#18 07-01-2008 18:17:04

Mr.MoOx
Administrateur
Lieu: Toulouse
Date d'inscription: 27-03-2007
Messages: 1444
Site web

Re: Compresseur de codes (CSS et Javascript)

Merci masi t'inkiète pas les rudiments de ce genre je les connais wink
Je me suis porté sur CSSTidy car il ne fait pas que minimiser le code. Il est bien plus puissant que cela et n'utilise aucune expressions régulières (les traitements sont donc plus rapide!)

Hors ligne

 

#19 07-01-2008 18:26:22

Phoenix17
Membre
Lieu: Nancy
Date d'inscription: 09-04-2007
Messages: 73
Site web

Re: Compresseur de codes (CSS et Javascript)

Sans regexp ? Comment alors ?

En effet ça à l'air bien plus puissant, maintenant, je pense qu'il y a certains trucs qu'il faut régler en amont.

Par exemple, ce genre de chose : "margin:1px 1px 1px 1px; becomes margin:1px;". C'est cool, ça mâche le boulot, mais selon moi, c'est au mec qui fait le css de le faire à la base.

Hors ligne

 

#20 07-01-2008 18:42:48

Mr.MoOx
Administrateur
Lieu: Toulouse
Date d'inscription: 27-03-2007
Messages: 1444
Site web

Re: Compresseur de codes (CSS et Javascript)

Sans regex = parsing du fichier.
En même temps je me fou à moitié de savoir comment ça marche tant que ça marche big_smile. C'est le but de la POO ^^

Sinon pour le coup du margin tu as bien raison. Mais il arrive des fois de coder du CSS pas forcément optimisé. CSSTidy est là pour le faire à notre place smile

Hors ligne

 

#21 09-01-2008 02:13:52

Phoenix17
Membre
Lieu: Nancy
Date d'inscription: 09-04-2007
Messages: 73
Site web

Re: Compresseur de codes (CSS et Javascript)

Sinon, outre la minimisation des fichiers, connaissez-vous un petit script permettant de faire l'effet inverse ?

Cad récupérer, à partir d'un fichier minimiser, un code formater, indenté... ?

J'ai rien dit ! http://quickhighlighter.com et http://www.prettyprinter.de/module.php? … ttyPrinter smile

Dernière modification par Phoenix17 (09-01-2008 02:24:07)

Hors ligne

 

#22 09-01-2008 09:05:55

TiTerm
Membre
Date d'inscription: 01-07-2007
Messages: 175

Re: Compresseur de codes (CSS et Javascript)

Réponse avec un peu de retard...

@MoOx: La concaténation a ses avantages et ses inconvénients. Il faut faire des tests empiriques pour voir selon les cas de figure ce qui sera le mieux pour chaque site. Mais si on gère des blocks comme tu l'as suggéré, le pb sera gérable. Sur un de nos sites, a un moment, on avait un css global et un css par section de jeux. On a fini par gérer ca autrement et n'avoir qu'un seul css global. En faisant une analyse réseau, on se rendait compte que le coût réseau (dns + protocole http) pour 2 scripts css était très largement supérieur au coût de transfert des données. Et une fois le coût réseau absorbé, il n'y avait pas grande différence entre un transfert de 1ko ou 5ko.
De tte facon, la gestion de css distinct sera obligatoire à cause des médias (css pour impression par exemple).
C'est pour toute ces raisons que je disais au début que pour la partie css, c'était pas si facile que ca. Il y a beaucoup de choses auxquelles  il faut penser. Je pense que le plus sage est d'abord de s'attaquer au js cas c'est beaucoup plus simple. Une fois le mécanisme en place, l'étendre ou l'adapter pour le css.

Je n'ai rien de vraiment propre a présenter, mais je vais essayer de faire une synthèse présentable asap (il faut que je finisse un autre truc avant).

Concernant la compression. Autant je n'ai aucun apriori sur un système de minify (supression des blancs, des commentaires, etc..), autant un truc qui vas trop loin genre optimisation de css, je ne suis pas trop pour. Parfois pour ne pas dire souvent, les css sont vraiment touchy et une syntaxe passe pour un navigateur et pas une autre, c'est relativement complexe a mettre en oeuvre, et si tu te choppes des bugs suite a une optimisations automatique, ca risque d'étre très galère a en trouver la cause. C'est pour cela que je pensais plutot a faire une interface vers un système de compression externe, libre a chacun par la suite d'adapter le système qu'il souhaites  via l'interface. Quitte à fournir 1 ou 2 système de base avec leur adaptations.

NB. Quand j'ai parlé de helper pour la gestion des blocs ou autre, je pensais bien sur a des helpers de vue, pas de controlleur.

Hors ligne

 

#23 09-01-2008 09:33:45

Mr.MoOx
Administrateur
Lieu: Toulouse
Date d'inscription: 27-03-2007
Messages: 1444
Site web

Re: Compresseur de codes (CSS et Javascript)

Message reçu et pris en compte. Merci des infos.

C'est pour cela que je pensais plutot a faire une interface vers un système de compression externe, libre a chacun par la suite d'adapter le système qu'il souhaites  via l'interface. Quitte à fournir 1 ou 2 système de base avec leur adaptations.

On a la même idée smile

Hors ligne

 

#24 07-02-2008 07:22:25

lidodo
Nouveau membre
Lieu: Nantes -> Pau
Date d'inscription: 13-07-2007
Messages: 3
Site web

Re: Compresseur de codes (CSS et Javascript)

C'est sujet qui m'intéresse pas mal donc j'ai effectuer quelques recherches.
Durant mes recherches j'ai trouvé php-speedy http://aciddrop.com/php-speedy/.
En espérant que cela vous sera utile

Hors ligne

 

#25 07-02-2008 08:52:24

TiTerm
Membre
Date d'inscription: 01-07-2007
Messages: 175

Re: Compresseur de codes (CSS et Javascript)

Après un rapide coup d'œil, ça a pas l'air mal du tout. Le seul truc que je n'ai pas vu fonctionner correctement, c'est la gestion des 304 mais encore une fois, c'est juste un coup d'œil.
En tout cas, ça peut être une très bonne base.

Merci pour ce lien.

Hors ligne

 

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 Rickard Andersson
Traduction par punbb.fr

Graphisme réalisé par l'agence Rodolphe Eveilleau
Développement par Kitpages