====== Grunt ======
===== Abstract ====
Grunt est un "task runner" il permet l'**automatisation de tâche récurrentes** telle que uglify ou less. Il permet aussi de créer des process (deploiement, developpement, ...).
Grunt offre un watcher, c'est à dire un **service temps reel** qui detecte des modifications de code et executes des tâches à la volé (très utile pour less).
La documentation officielle de Grunt est disponible [[http://gruntjs.com/getting-started|ici]]
===== Tasks =====
^ Module ^ Task |
^ Less | css-preprocessor, convertis les fichiers Less depuis le dossier less/ vers public/css |
^ Uglify | Minifieur JS, concatene et reduis au maximum les fichiers javascript depuis js/ vers public/js |
^ Watch | watcher, il scrute les modifications de code dans les dossiers js/ et less/ afin d'executer les tâches relatives aux scripts et styles |
^ Bower | gestionnaire de libraire css, execute bower et install les dépendances demandées dans js/lib |
^ SiteMap | genère la sitemap du site depuis les PHP present dans le dossier public/ |
^ composer | gestionnaire de modules PHP, execute composer et install les modultes dans vendor/ |
===== Commandes =====
==== watcher ====
grunt watcher
lance la tâche : **Watch**
==== Build ====
grunt build
lance les tâches : **composer:install**, **bower**, **less**, **uglify**
==== Deploiement ====
grunt deploy
lance les tâches : **composer:update**, **bower**, **less**, **uglify**, **sitemap**