- Historique de Node.js
- Pourquoi Node.js ? Contextes d'utilisation
- Installation et configuration de l'environnement de développement
- Le modèle événementiel et non-bloquant (Event Loop)
- Le Global Object, les Modules et NPM (Node Package Manager)
- Création d'un petit serveur HTTP
- Introduction aux API
- La norme REST et le modèle de maturité de Richardson
- La documentation d'API avec Swagger
- Création d'une API REST simple avec Node.js
- Introduction aux Modules avec JavaScript ES6
- Les Modules natifs de Node.js
- Gestion des dépendances avec NPM
- Utilisation de Nodemon.js pour le développement d'applications Node.js
- Dépendances Node.js pour la création d'API REST
- Introduction au framework Express
- Création d'une application simple avec Express : Routes et Middleware
- Utilisation de Middleware tiers
- Introduction aux bases de données (SQL, NoSQL)
- Petit détour sur la modélisation des données et la conception de schémas
- Présentation de MongoDB
- Présentation de MongoDB Atlas
- Utilisation de MongoDB et MongoDB Atlas
- Traitement des données de requête (Query strings, Paramètres d'URL, Corps de la requête)
- Introduction à la validation des données
- Création et envoi de réponses HTTP
- Introduction aux ORM (Object-Relational Mapping) : Avantages et cas d'utilisation
- Mongoose pour interagir avec MongoDB
- Sequelize pour interagir avec des bases de données SQL
- Introduction à l'authentification dans les applications web
- Mise en place d'une authentification simple avec Express et JWT (JSON Web Tokens)
- Gestion des erreurs dans une application Express
- Introduction aux tests unitaires et d'intégration (Jest, Mocha, Chai)
- Introduction à la couverture de code
- Utilisation de Jest pour les tests unitaires
- Utilisation de Mocha et Chai pour les tests d'intégration
- Présentation des dernières évolutions de Node.js
- Utilisation de fonctionnalités avancées (Async/Await, ES Modules)
- Introduction à TypeScript
- Utilisation de TypeScript avec Node.js
- Introduction à Nest.js
- Optimisation des performances des applications Node.js
- Bonnes pratiques de développement avec Node.js
- Introduction à la gestion de la configuration avec dotenv
- Introduction à la gestion des logs avec Winston
- Introduction au déploiement
- Options de déploiement (Heroku, AWS, Azure, Google Cloud, Digital Ocean)
- Mise en production d'une application Node.js avec Heroku
- Introduction à l'industrialisation des applications Node.js
- Mise en place de l'intégration continue (CI) avec GitHub Actions
- Mise en place de la livraison continue (CD) avec GitHub Actions
- Introduction à Docker et Kubernetes