Par Maxime Luce
Introduction
Les projets Web étaient simples, mais dans les projets modernes on trouve énormément de JavaScript et de librairies. Tâches récurrentes:
- Gestion des dépendances: récupération et mise à jour
- Compilation (LESS, TypeScript, CoffeeScript), minification, tests, linting
- Développement
Pour l’automatisation, on utilise Node.JS, avec son NPM pour la gestion des packages. On ajoute en plus Bower, Grunt (concurrent: Gulp), et Yeoman.
Bower
“A package manager for the Web”. Créé par Twitter. C’est l’équivalent de NPM pour les librairies Web. Utilisé pour installer et mettre à jour les librairies, et assurer l’intégrité des versions.
Il y a un registre de librairies JS/CSS, les versions sont enregistrées dans un fichier bower.json. L’arbre des dépendances est à plat, du coup Bower demande notre avis quand plusieurs bibliothèques ont besoin d’une version différente de la même bibliothèque.
Grunt
“The JavaScript task runner”. Gestionnaire de tâches Node.JS: il automatise les tâches récurrentes. Il y a énormément de tâches disponibles dans NPM, et on peut créer les siennes en JS.
Les tâches sont configurées dans un fichier Grunfile.js.
Yeoman
Gestionnaire de template de projets: pour la création de projets et d’éléments. Comme les modèles Yeoman mettent en oeuvre les bonnes pratiques, il nous force à utiliser ces bonnes pratiques.
Comme pour Grunt, les générateurs sont dans NPM. Il utilise Bower pour la gestion des dépendances et Grunt pour les tâches de compilation.
Comments