Node.JS est un projet open-source se basant sur le moteur V8 de Chrome, qui permet d'exécuter du JavaScript côté serveur, contrairement à ce qu'on a l'habitude de voir avec le JavaScript côté client. Il s’agit d’un interpréteur JavaScript exécutable, et enrichissant le langage avec sa propre API. Sa spécificité vient de son API, entièrement orientée vers le non bloquant, qui permet d'écrire des applications avec d'excellents temps de réponse. Cette formation Node.js perfectionnement de 3 jours, vous permettra de maîtriser les concepts avancés de Node.Js , d’un point de vue objets avancés JavaScript, programmation fonctionnelle, paradigme asynchrone, ES6 mais aussi performance et qualité des applications Node.JS .
Qu’est ce que NodeJS ?
Pourquoi Node JS ?
Le Single Thread Event Loop
Code bloquant / Code non bloquant : Intérêts
Inconvénients / Avantages
Installation de NodeJS
Utilisation du REPL / Découverte du langage
Déclarations de variables (var, let, const) / Fonctions arrows
Déclarations de d’objet JSON simplifiés
Déstructurations de variables
Nouvelles fonctions itératives : Array.flat, Array.flatMap, Object.fromEntries
Appréhender la programmation asynchrone avec Async, Await
Gérer les boucles asynchrones avec déclenchements parallèles (Promise.all())
et séquentiels (resolve / reject)
Utilisation de util.promisify
Atelier pratique : Utilisation de File System pour automatiser des copies de fichiers ;
Atelier pratique : Paginer une longue liste de fichiers ;
Déporter des json config et fonctions dans des fichiers séparés
Utilisation npm init / npm install
Built-in modules
Utilisation de require()
ESM module loader : Import / export de modules Python-style
Exercice : Connaître le contenu de photos chargée dans mon application grâce à l’IA
Utilisation de nodemon
Exposer des APIs avec Express / Utilisation des Routers
Créer un espace authentifié avec Passport
Accès aux bases de données avec MySQL et MongoDB
Atelier pratique : Créer un backOffice CRUD de gestion des séries tv préférées
Les limitations à l’utilisation des APIs
Introduction au concept de Socket ? et pourquoi les sockets ?
Atelier pratique : Création d’un outil de Tchat avec Socket.io !
Notion d’évènement (Event, EventEmmitter);
Gestion des readStream et writeStream
La fonction pipe
Atelier pratique : Mise à jour d’une barre de progression en temps réel pour la copie ou le chargement d’un fichier lourd ;
Le protocole AMQP : Introcution et historique
Terminologie : Producer > Exchange > Queue > Consumer
Les types d’Exchanges
Présentation, installation et intégration de Rabbit MQ
Les équivalents Cloud : PubSub de Google Cloud Platform
Introduction au concept de blockchain ? À quoi ça sert ?
Création de class et de constructeur dans Node JS
Le module object-hash
Miner sa propre devise avec la blockchain
Logger les transactions
L’équivalent avec Bitcoin
Autres usages de la Blockchain
Atelier pratique : Mise en service d’une nouvelle Crypto-currency the GreatCoin !
Introduction : les 3 types de tests (unitaires, d’intégration, fonctionnels)
Tests unitaires avec Mocha / Assert, Chai / Spy, Mock et Stubs avec Sinon
Tests fonctionnels avec les headless browsers
Tests d’intégration avec npm
Mises à jour des modules (Comment ? Quand ?) : npm-check
Rechercher des modules
Processus enfants et clusters
Que faire avec NodeJS quand on utilise un MVC ?
NodeJS versus Python : lequel choisir ?
Où utiliser NodeJS ?
Discussion libre
→ Formation Svelte et SvelteKit | en ligne
→ Formation Node.js | En ligne | Montréal |
📄 Voir le plan de cours en PDF
Détails de l'inscriptionFR
« Je tiens à vous remercier tous les deux d’avoir offert à mes ressources une excellente formation COBOL au cours des trois derniers jours.
Mamadou, merci d’avoir été si accommodant malgré le court préavis et d’avoir envoyé votre formateur à Gatineau pour ce cours personnalisé.
Nous avons hâte de poursuivre notre collaboration pour de futurs besoins de formation. »
(Traduit de l’anglais)
EN
“I want to thank you both for providing my resources with excellent COBOL training over the past 3 days. Mamadou, thank you for being so accommodating on such short notice and for sending your facilitator to Gatineau for this customized and personalized training course. We look forward to continuing our partnership for future training needs.”
FR
« Mamadou est venu nous aider à réorganiser notre panneau d’arrêt via un outil de rapport, Crystal Reports. Mamadou a réussi avec succès le travail de précision, au pixel près, puisque nous voulions un rapport similaire au design graphique original. Il nous a aidés à découper le projet par cycle et à intégrer le rapport à notre logiciel corporatif. La qualité que nous avons appréciée était le souci du détail et la constance. Mamadou a été très professionnel et connaît plusieurs autres technologies. Merci. »
EN
“Mamadou helped us reorganize our stop panel using a reporting tool, Crystal Reports. He successfully delivered precise, pixel-perfect work,
as we needed a report that matched the original graphic design. He helped us break the project down into cycles and integrate the report
into our corporate software. What we appreciated most was his attention to detail and consistency. Mamadou was very professional and
is knowledgeable in many other technologies. Thank you.”
(Translated from French)
FR
« Ce fut un plaisir de faire affaires avec Doussou Formation. Ce qui fait LA différence est le service personnalisé totalement à l'écoute des participants ainsi que l'adaptation aux besoins de formation. Flexibilité / Adaptabilité / Professionnalisme / Courtoisie. Merci ! »
EN
“It was a pleasure doing business with Doussou Formation. What truly makes THE difference is the personalized service, fully attentive
to participants, as well as the ability to adapt the training to their needs. Flexibility / Adaptability / Professionalism / Courtesy. Thank you!”
(Translated from French)