Installer Gulp pour optimiser vos assets

Voyons ensemble comment utiliser Gulp. Cet outil va vous permettre de transformer vos fichiers de développement, de type feuilles de styles ou javascripts en fichiers de production optimisés. Et ceci, en exécutant différents traitements que vous lui aurez demander d’appliquer à ces fichiers de développement.

Vous l’aurez compris, c’est de Front-End dont il sera question dans cet article.

Vous utilisez peut-être déjà des outils similaires tels que Grunt pour faire ce type de traitement. Le principal avantage de Gulp sur ce dernier est qu’il est nettement moins verbeux et de configuration plus aisée.

Installer node.js

Avant toute chose, il est nécessaire d’avoir node.js installé sur votre machine. Si ce n’est pas le cas, vous devrez le faire avant de suivre le reste de ce tutoriel.

Le fichier package.json

Dans un dossier test que vous appelez ‘monprojet’ (ou n’importe quoi d’autre qui vous passe par la tête), créer un fichier package.json. Typiquement, ce fichier va permettre de donner à npm d’identifier le projet et de gérer ses dépendances.

Exemple:

Pour ce qui nous intéresse, contentez-vous pour l’instant de créer un fichier package.json, contenant uniquement un objet js vide :

 Ajouter Gulp à votre projet

Vous pouvez maintenant installer Gulp dans votre dossier ‘monprojet’.

Un dossier ‘node_modules’ a été ajouté dans votre dossier ‘monprojet’. Si vous ouvrez le fichier package.json, vous verrez ceci:

Installer des plugins

Notre task runner fonctionne avec des petits plugins, dédiés chacun à une tâche spécifique.  Dans notre exemple, nous allons utiliser les suivants:

  • gulp-less : sert à transformer nos fichiers de styles .less en fichiers .css, exploitables par les navigateurs
  • gulp-minify-css: sert à compresser nos fichiers .css, en supprimant tous les espaces inutiles
  • gulp-autoprefixer : sert à ajouter automatiquement les préfixes navigateurs aux règles css

Maintenant que vous savez à quoi servent ces plugins, nous pouvons les ‘installer’ (en d’autres termes, les télécharger dans le dossier ‘node_modules’) :

Si vous ouvrez votre fichier package.json, vous verrez que les nouvelles dépendances de développement sont bien notifiées (et donc exploitables par npm).

Le fichier gulpfile.js

Ca y est, nous arrivons à la partie la plus intéressante du tutorial :). Mettons la main à la pâte.

Dans votre dossier ‘monprojet’, créez un fichier nommé gulpfile.js. Comme vous l’aurez sans doute compris, c’est ce même fichier que gulp va chercher dans votre dossier de travail pour effectuer ses traitements.

Récupérer les plugins

Premièrement, nous allons appeler les modules, que nous allons stocker dans des variables, de manière à les exploiter plus loin dans le code (de gulpfile.js).

Créer votre première tâche

Nous allons créer notre première tâche. Pour ceci, préparer le terrain en créant un dossier ‘css/less’, dans lequel nous mettrons notre fichier de style ‘styles.less’. Créez également un dossier ‘min’ dans le dossier ‘css’, qui servira a accueillir notre fichier traité.

Le fichier styles.less contient le code suivant:

 

Ensuite ajoutons notre tâche, je vous expliquerai ensuite comment tout ça fonctionne.

Voici la manière dont le code suivant est interprété:

1. gulp.task(‘css’, [...]) : On enregistre une nouvelle tâche qui s’appelle ‘css’.

2. gulp.src : On appelle le fichier source ‘css/less/styles.less’, qui va être l’objet des traitements qui suivent

3. pipe() : va permettre de chaîner, de faire se suivre, les différents traitements

4. Ensuite on appelle les plugins less, puis autoprefixer et minifycss

5. Enfin, on sauve le fichier css dans le dossier ‘css/min’

Et voilà! Pour lancer ce traitement, il vous suffit de vous placer dans votre dossier ‘monsite’ et de taper

Vérifiez ensuite que tout a fonctionné en ouvrant le fichier destination:

Créer la ‘default task’

La tâche “default” est, comme son nom l’indique, la tâche qui se lancera par défaut quand vous taperez “gulp” dans votre shell.

Dans notre code, elle va faire appel à la tâche enregistrée sous le nom ‘css’ . Ensuite, elle va “écouter” tout changement du fichier .less et lancer cette même tâche ‘css’ à chaque fois que vous enregistrerez une modification du fichier styles.less.

Plus besoin de taper gulp css à chaque modification du fichier less. Le task runner vérifie automatiquement toute modification du fichier pour vous et fait ce que vous lui avez demandé :) . Pour arrêter cette tâche, il vous suffira de faire ‘ctrl-c’.

Le code:

Voici le fichier gulpfile.js complet:

Lancer la tâche ‘default’

Maintenant, vous n’avez plus qu’à taper ‘gulp’ depuis votre dossier ‘monprojet’ pour que cette tâche s’exécute. Vous pouvez ensuite faire autant de modifications que vous voulez sur votre fichier less. Chaque sauvegarde de ce fichier sera automatiquement répercutée sur votre fichier .css correspondant.

Pour aller plus loin

Pour rester simples, nous n’avons pas parlé de ce que nous pouvions faire avec les fichiers javascripts. Je vous invite à faire des recherches dans ce sens pour pouvoir gérer tout aussi facilement ces derniers!

 

A très bientôt pour de nouveaux articles traitant spécifiquement de Laravel :-)

 

 

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *