-
Filière :
Développement logiciel
-
Sous-filière :
Technos Web (PHP, JS...)
-
Référence
API-NJS
-
Durée
4 jours (28 h)
-
Prix par personne HT
3 150 € HT
Description
Au-delà de vous faire découvrir l’écosystème NodeJS, cette formation vous propose une approche structurée pour développer des applications maintenables, fiables, performantes, sécurisées et testables.
Vous découvrirez les bases solides, les outils adaptés, et les bonnes pratiques (architecture, tests, sécurité, qualité). Le tout, alternant théorie et exercices concrets, pour vous rendre rapidement autonome.
À la fin, vous aurez en main une vraie boîte à outils pour développer des APIs NodeJS — de la conception jusqu’au déploiement.
Objectifs pédagogiques
- Apprendre à concevoir et développer des applications NodeJS maintenables, fiables, sécurisées et performantes
- Découvrir les pratiques JavaScript et NodeJS les mieux éprouvées
- Apprendre à tester vos applications NodeJS
- Apprendre à utiliser le framework web ExpressJS
- Penser et développer de façon asynchrone.
Public cible
- Développeurs
- Architectes
Pré-requis
- Connaissances en développement Web : JavaScript / HTTP
- Être curieux des technologies Web
Modalités d'évaluation
L’évaluation des acquis se fait tout au long de la session au travers d’ateliers de mise en pratique des notions et concepts abordés pendant la formation.
Programme de la formation
JavaScript
- L’histoire de JavaScript
- Introduction au langage, ses propriétés et ses spécificités
- Intérêts de l’utilisation du JavaScript
- Exercice : Prise en main et familiarisation avec le langage
JavaScript Moderne
- Nouveautés ECMAScript 2015 et +
- Exercice : Amélioration du code existant avec les nouveautés ECMAScript
- Importance du principe d’immutabilité et techniques associées
- Exercice : Application du principe d’immutabilité
- Bonnes pratiques
Développement Asynchrone & Event Loop
- Développement asynchrone
- Fonctionnement Event Loop
- Microtasks vs Macrotasks
- Callback hell vs Promise vs async / await
- Les “closures”
- Exercice : Implémentation asynchrone
TypeScript
- Pourquoi TypeScript ?
- De l’ECMAScript à TypeScript
- Inférence de type
- Duck Typing
- Exercice : Migration progressive vers TypeScript
NodeJS
- Pourquoi NodeJS ?
- Modules
- Global objects
- Exercice : Utilisation de modules natifs NodeJS
- Events & Listeners
- Timers
- Debug
- Profiling : analyse des performances
- Node Package Manager
Développement d’API avec Fastify
- ExpressJS vs. Fastify
- Routing
- Middlewares
- Exercice : Implémentation d’une API ReSTful ou “Resource Oriented”
- Authentification et autorisation
- Exercice : Mise en place de l’authentification et de l’autorisation
OpenAPI & “Spec First”
- OpenAPI & outils associés
- Exercice : Implémentation d’une API avec OpenAPI et une approche “Spec First”
Testing
- Stratégies de testing & outils
- Vitest
- Exercice : Implémentation de Narrow tests
- Exercice : Implémentation de Wide tests
Bases de données
- SQL & NoSQL
- Prisma
- Exercice : Utilisation de MongoDB comme base de données
Bonus
- Organisation du workspace avec Nx
- Introduction à NestJS
- Déploiement serverless
Programme mis à jour le