Composants d'une application Web
- Structurer un projet d'application Web.
- HTML5, les frameworks (bootstrap, foundation...).
- CSS3, automatisation avec LESS ou SASS.
- JavaScript, normaliser le code en modules (API CommonJS et AMD).
- "SuperSet JavaScript" : simplifier le développement avec TypeScript.
- Organiser le développement JavaScript.
- Optimiser l'empreinte des ressources.
Travaux pratiques
Migrer une application Web en utilisant le développement modulaire JavaScript. Développer un Framework CSS avec SASS.
Choisir l'environnement de développement
- Offre du marché (SublimeText, Eclipse...).
- Choisir et configuer son IDE (extensions...).
- Quelles fonctionnalités attendre, "live Template", "code snippet" ?.
- Les solutions pour développer en ligne (Cloud 9...).
- Les environnements pré-intégrés (PrePros).
Travaux pratiques
Découverte des différentes plates-formes. Personnaliser l'IDE SublimeText.
"Versionner" avec GIT
- Gestion de source : centralisée versus distribuée.
- Concepts de base, initialiser un repository.
- Organiser les branches de développement.
Travaux pratiques
Mise en place d'un processus de développement en branches.
Node.js comme utilitaire de développement
- Présentation de Node.js. Le Node Package Manager
- Les modules indispensables pour le développeur.
- Npm et Bower, objectifs et confusion.
- Gestion des dépendances. Créer un package npm.
Travaux pratiques
Créer un module pour configurer les dépendances du projet.
Automatisation des tâches avec Gulp
- Présentation : automatisation des tâches.
- Définition des types de tâches : créer une commande.
- Structure d'un fichier gulptfile.js.
- Les contributions indispensables.
- Créer un "Build" efficace avec Gulp.
Travaux pratiques
Configurer et utiliser Gulp.
Intégration des tests automatisés
- Utilitaires de test : Jasmine, Mocha...
- Recommandation pour l'écriture des tests unitaires.
- Karma : présentation et configuration.
- Générer les rapports de test et de couverture du code.
- End to End Testing : interface utilisateur.
Travaux pratiques
Tests unitaires avec Jasmine. Automatisation avec Karma et Istanbul.
Créer un template de projet
- Présentation, avantage et inconvénient du scaffolding.
- Quels utilitaires : Yeoman, Lineman ?
- Les générateurs de Yo. Création de générateur.