Bonjour,
J'ai problème de vitesse de chargement de mon site web, et souhaite savoir s'il existe un element cakephp qui permettent de compresser un ficheir css ou js et de le charger dans le layout par défaut..??
Cordialement,

The-Devil

5 réponses


Maenhyr
Réponse acceptée

Salut, il est peu recommandé de proposer les fichiers LESS directement à l'utilisateur et de le compiler en JS. Le mieux est de travailler avec tes fichiers Less en local, et de générer tes fichiers CSS minifiés pour la production. Tu ne proposes que les fichiers CSS aux visiteurs. Voici un utilitaire qui devrait te permettre de générer le fichier css à la volée, à chaque sauvegarde de ton fichier less: http://crunchapp.net/.

De la même manière, tu peux te créer un fichier libs.min.js regroupant tes fichiers JS(jquery, bootstrap). Ces fichiers ne seront pas modifiés et cela te permettra d'économiser des requêtes HTTP et donc avoir un gain de performance.

Pour compresser ton css tu peux utiliser un générateur comme celui-ci http://www.cleancss.com/?lang=fr sinon tu peux décider d'utiliser un css personnelle pour une seule et unique vue grâce à la méthode "fetch"
http://book.cakephp.org/2.0/en/views.html#using-blocks-for-script-and-css-files

Et est-il possible de compresser le js ? et le less ? Sinoon, j'utilise déjà le fetch pour appliquer un design à une vue bien précise.
Mais mon problème se situe dans le chargment des scripts.. une page de mon site prend 8secondes pour se charger..ce qui est trop.
J'utilise le bootstrap de twitter et je chArge les ficheir comme ceci:

<?php echo $this->Html->script(array(
        'jquery_1.9.1.min',
        'bootstrap.min',
        'less'
        )); ?>

    <?php echo $this->fetch('script');?>

Et en ce qui concerne les css/less je les charges comme suit:

<!-- Le styles -->
    <link rel="stylesheet/less" href="<?php echo $this->Html->url('/css/responsive.less'); ?>">
    <link rel="stylesheet/less" href="<?php echo $this->Html->url('/css/bootstrap.less'); ?>">
   <?php echo $this->Html->css(array('zoombox',
       'bootstrap-responsive'));?>

Merci encore.

Cordialement,
The-DEVIL

Regarde le plugin "Combinator"

Bonjour,

Désolé pour mon absence de quelques jours sur le topic..j'avais zappé.
Je vais donc testé les 2 solutions proposés plus haut.

Merci à tous.