Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/nicolasvauchenet/cours_nodejs

Support de cours Node.js
https://github.com/nicolasvauchenet/cours_nodejs

course nodejs

Last synced: 16 days ago
JSON representation

Support de cours Node.js

Awesome Lists containing this project

README

        

# Construire des Applications Web Modernes avec Node.js et Express.js

## Partie 1 : Introduction à Node.js et Fondamentaux

### 1. Introduction à Node.js

- Historique de Node.js
- Pourquoi Node.js ? Contextes d'utilisation
- Installation et configuration de l'environnement de développement

### 2. Fondamentaux de Node.js

- 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

### 3. Comprendre les API et REST

- 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

### 4. Modules et Dépendances 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

### 5. Introduction à Express.js

- Introduction au framework Express
- Création d'une application simple avec Express : Routes et Middleware
- Utilisation de Middleware tiers

### Projet Fil Rouge - Partie 1

- Présentation du projet fil rouge
- Initialisation du projet et création d'une application Node.js basique
- Réflexion sur l'architecture de l'application et définition des routes API
- Mise en place de la documentation pour l'API du projet fil rouge

## Partie 2 : Bases de Données, Gestion des Données et Sécurité

### 6. Bases de données SQL, NoSQL et MongoDB

- 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

### 7. Gestion des données de requête et réponses HTTP

- 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

### 8. Gestion des bases de données avec Node.js

- 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

### 9. Authentification et Sécurité

- Introduction à l'authentification dans les applications web
- Mise en place d'une authentification simple avec Express et JWT (JSON Web Tokens)

### 10. Gestion des Erreurs et Tests automatisés

- 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

### Projet Fil Rouge - Partie 2

- Intégration de la base de données MongoDB au projet
- Implémentation des fonctionnalités de base de l'API (CRUD)
- Début de l'implémentation de l'authentification

## Partie 3 : Déploiement et Industrialisation

### 11. Évolutions de Node.js

- 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

### 12. Optimisation et Bonnes Pratiques

- 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

### 13. Déploiement d'une application Node.js

- 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

### 14. Industrialisation et CI/CD

- 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

### Projet Fil Rouge - Partie 3

- Finalisation des fonctionnalités de l'API
- Tests unitaires et d'intégration
- Préparation pour le déploiement