Développer des applications Web Full JavaScript
Vous apprendrez à développer des applications Web multipages ou monopages en JavaScript. Les frameworks utilisés seront Angular pour la partie client et Node.js pour la partie serveur. Les bases de données NoSQL seront évoquées au travers de MongoDB ainsi que d'autres frameworks utiles comme Express JS.
4 jours - 28h00
Objectifs pédagogiques
À l’issue de la formation, le participant sera en mesure de :
-
Maîtriser les concepts de programmation asynchrone, fonctionnelle et réactive de Javascript.
-
Développer une application cliente SPA avec Angular et Material Design.
-
Développer une application serveur et une REST API en Javascript avec Node, Express.
-
Ajouter une couche de persistance de données via une approche NoSQL avec MongoDB.
-
Déployer en production avec Docker une application Full Javascript.
Public concerné
Développeurs et chefs de projets.
Prérequis
Bonnes connaissances des fondamentaux du langage JavaScript (notamment de la notion de callback) ainsi que des notions affirmées de HTML et CSS.
Programme de la formation
Rappels de fondamentaux
-
Prototype, hoisting, ES5/6, binding, get/set.
-
Programmation asynchrone : event loop, appel bloquant, promise, async-await.
-
Primitives d’IHM (accès au DOM, gestion des événements, ajax).
-
Programmation réactive : observable, subjet, behaviorSubject (RxJS).
-
Typescript : programmation typée et modulaire. Décorateurs. Generics.
Travaux pratiques
Application web qui affiche le contenu d’un BehaviorSubject en temps réel. (ex : chronomètre)
Node.js
-
Les commandes : Node, npm, npx.
-
Les fichiers : package.json, node_modules, etc.
-
Modules global et local, versions semver.
-
Contrat d’API Node asynchrone.
-
Des outils pratiques : Nodemon, ts-node, webpack.
Travaux pratiques
Installation d’un environnement de développement. Construction d’un site http « hello-world » en JS, sans express.
ExpressJS
-
RequestListener, Middleware, Chaining de middleware.
-
Construction d'un squelette d'application.
-
Configuration d'Express et de l'application.
-
Le rendu de vues avec EJS.
-
Mise en place d'une API REST : CRUD sur http.
-
Implementation d’un serveur express en Typescript.
Travaux pratiques
Réalisation d’un serveur express avec templates EJS et une API web service JSON de base, et une API REST.
Angular
-
Digestion, intérêt des observables, behaviorSubject.
-
Routes et formulaires réactifs.
-
Requêtes http.
-
Utilisation de layout et widget sur étagère : Angular Material.
-
Construction du livrable de production.
-
Démarrer un projet avec Angular cli.
-
Présentation des artefacts.
-
Concept de Databinding.
Travaux pratiques
Réalisation d’un client Angular SPA avec Angular Material permettant de faire un CRUD sur une ressource.
MongoDB
-
Installation de Mongo, normale, et via docker.
-
Installation de Mongo compass (client intuitif).
-
Exploration des concepts de Mongo : collections, documents, etc.
-
CRUD sur Mongo depuis Node.
-
REST API avec Middleware express exposant une collection Mongo.
Travaux pratiques
Ajout d'une couche de persistance complète à l'application précédente.
Déploiement d’une application Full JavaScript
-
Architecture d’une application déployée : reverse proxy, HTTPS, load balancer.
-
Liste des principales méthodes de déploiement : Docker/Kubernetes, PM2, BaaS (Netlify, Firebase, etc.).
-
Rendre une application Full Javascript déployable : utilisation des variables d’environnement. Librairie dotenv.
-
Outils de gestion de production PM2.
-
Fichier d’ecosystème de PM2 : ecosystem.config.js.
Travaux pratiques
Utiliser PM2 pour démarrer en mode production l’application précédente.
Modalités pratiques
Exercice
Une application fil rouge sera construite, en l'enrichissant progressivement des concepts abordés.
Méthodes pédagogiques;
Une application fil rouge sera construite, en l'enrichissant progressivement des concepts abordés.
Modalités d'évaluation
Le formateur évalue la progression pédagogique du participant tout au long de la formation au moyen de QCM, mises en situation, travaux pratiques…
Le participant complète également un test de positionnement en amont et en aval pour valider les compétences acquises.

Formez-Vous
Contactez-nous pour en savoir plus !
