Formation Node.js

Cette formation est donnée 100% à distance

Mise à jour le 24 novembre 2021, 15:41

Sorti en 2009, Node.js a complètement révolutionné la perception de JavaScript et des infrastructures logicielles côté serveur. Extrêmement performant, agréable à l’emploi, doté d’un écosystème et d’une communauté extrêmement vigoureux, Node.js affiche désormais de nombreux très gros acteurs en production avec des capacités de montée en charge insolentes et beaucoup de success stories.

Découvrez l’édition 2018 de notre formation Node.js, largement réécrite pour mettre l’accent sur la production d’APIs modernes, performantes et sécurisées ! Comme toujours chez Delicious Insights, elle repose massivement sur de la mise en pratique.

  • ES2017+ (dont modules ES2015)
  • Cœur de Node (event loop, flux…)
  • npm, modules et scripts
  • MongoDB & Mongoose
  • Développement riche en tests
  • APIs modernes en REST et GraphQL
  • Fort aspect sécurité
  • Déploiement interne & cloud

Objectifs

La formation Node.js vous donne toutes les clés pour tirer le meilleur de Node.js en professionnalisant et industrialisant vos pratiques de développement JavaScript, notamment pour mettre en production des APIs qualitatives de dernière génération. Elle permet aux apprenant·e·s de :

  • savoir installer et mettre à jour Node.js et npm,
  • rechercher, installer et mettre à jour des modules Node,
  • travailler efficacement avec Node au moyen d’un outillage permettant un cycle rapide de développement,
  • manipuler élégamment des agencements complexes de code asynchrone, notamment à l’aide du module async et des promesses,
  • connaître et exploiter au mieux les modules noyaux fournis avec Node,
  • comprendre et maîtriser des technologies pivots de Node telles que les événements et les flux,
  • structurer leur code dans le respect des meilleures pratiques Node, tant pour la partie serveur que côté client,
  • tester automatiquement leur code, au niveau unitaire mais aussi en intégration complète,
  • produire des APIs modernes, tant en REST qu’en GraphQL
  • Sécuriser leur code conformément à l’état de l’art

Attention : le code source de la formation est intégralement en ES2017+.

Il s’agit donc non pas d’une « simple » formation technique, mais véritablement d’un ensemble complet de savoir-faire qui donne non seulement les clés d’une fonctionnalité immédiate, mais aussi les moyens de produire du code maintenable et qualitatif sur la durée.

Public visé

La formation s'adresse aux développeur·se·s. Une connaissance décente de JavaScript est nécessaire ; toute personne utilisant déjà quotidiennement JavaScript, idéalement au-delà d’un usage essentiellement basé jQuery, a normalement les bases nécessaires.

Toutefois, il peut être utile de « préparer le terrain » en amont pour fluidifier l’acquisition de connaissances une fois en formation. Les futur·e·s apprenant·e·s auront alors tout intérêt à puiser dans cette liste de contenus de qualité compilée par Christophe ; pour ES2015, une liste spécifique existe.

Cette préparation est également très souhaitable pour un développeur back-end qui n’aurait jamais touché à JavaScript.

D'une façon générale, vous devriez :

  • Avoir déjà utilisé en production une technologie back-end (ex. PHP, Python, Java, .NET, Node.js)
  • Connaître le fonctionnement des éléments fondamentaux du langage JavaScript : variables, types de données, boucles, fonctions, bibliothèque standard du langage telle qu'elle était au moins au niveau d'ES3 (1999).

Pré-requis

Cette formation n'a pas de pré-requis (acquis exigés contrôlables par tests, diplômes, certifications…).

Programme

  1. Trouver ses marques

    Bonjour Node !

    • Méthodes d’installation et de mise à jour
    • Node, l’historique en 5 minutes
    • Mon premier programme
    • Exécuter un fichier JS
    • Un exemple un peu plus riche
    • Shebangs et fichiers « exécutables »

    Gestion des modules de Node

    • Modules configurables
    • Initialisation déportée
    • Modules Node
    • Chargeurs de modules et syntaxes alternatives
    • Chemins de recherche et détails de require

    Déboguer

    • Avec Visual Studio Code
    • Avec Google Chrome
    • Quelques mots sur WebStorm et les autres
    • Concilier débogage et nodemon

    Tester

    • Topo sur les tests automatisés : unitaires, intégration…
    • Un harnais de tests riche avec Jest
    • Des assertions riches avec Chai
    • Mocking de méthodes, d’objets et de modules

    npm

    • Packaging de modules
    • Rechercher des modules
    • Installer en local ou en global
    • Dépendances de production et de développement
    • La fin des conflits de version
    • package.json en détail

    Quelques modules noyaux

    • console
    • process et os
    • fs et path
    • util
    • Objets globaux
    • Revue rapide des autres modules noyaux

    Événements

    • Le module events
    • EventEmitter
    • Intégrer une capacité événementielle à du code existant
  2. Compétences clés

    Programmation asynchrone

    • Callbacks
    • “Callback Hell” et “Pyramid of Doom”
    • Réduire l’imbrication à l’aide des déclarations
    • Les callbacks façon Node
    • Combinaisons complexes avec async.js
    • Promesses : principes, exemples et mise en œuvre native
    • Versions « promesses » d’API asynchrones usuelles
    • async / await

    Flux et buffers

    • Types de flux
    • Modes de fonctionnement et bascule entre modes
    • Buffers
    • Encodages de texte
    • Pipelining
    • Stream all the things!

    Bonnes pratiques de base de sécurité

    • Mises à jour de Node lui-même ; versions standard et LTS
    • Dépréciation des API noyau présentant un risque
    • npm audit, npm audit fix
    • Node Security Project
    • Node Certified Modules
    • Audit automatique de vulnérabilités sur GitHub
    • Scripts à l’installation
    • Gestion des credentials et secrets
    • Choisir intelligemment ses algorithmes de chiffrement
    • Principes généraux de stockage de données
    • Services tiers d’interception dynamique d’attaque
  3. Stockage moderne avec MongoDB

    • Principes de NoSQL
    • Présentation de MongoDB
    • Quelques mots sur CouchDB, ElasticSearch, Firebase…
    • L’API native de MongoDB
    • Gagner en confort avec Mongoose
    • Aperçu des clients graphiques (ex. dbKoda, Robo 3T, Compass)
  4. Développer une API REST

    • Rappels sur REST
    • Hypermédia
    • Versions
    • Formats variables
    • Tester une API REST
  5. Développer une API GraphQL

    • Petit topo sur GraphQL
    • Concevoir un schéma pertinent
    • Auditer la performance
    • Tester une API GraphQL
  6. Sécuriser une API

    • Validation des requêtes
    • Rate limiting : variantes REST et GraphQL
    • Authentification : tokens ou sessions ?
    • À propos de JWT…
    • Autorisation
    • 2FA / MFA
    • CORS
  7. Déployer un serveur API

    • « À la main »
    • Sur des PaaS : Heroku, Azure, GCP, Now

Un p'tit document ?

Imprimer ou télécharger en PDF le programme et les infos

Moyens pédagogiques & techniques

  • Toutes nos formations sont synchrones, y compris les sessions distancielles : on est « en direct », pas sur la base de vidéos pré-enregistrées.
  • Nous n'envisageons pas pour le moment de proposer à nouveau des sessions inter-entreprises présentielles avant, au plus tôt, le 1er avril 2022.
  • Un riche support de cours est fourni, qui sert de fil conducteur. Il contient généralement une présentation (diapos) détaillée et des supports de départ dédiés pour chaque partie pratique.
  • Les apprenant·e·s peuvent poser leurs questions à tout moment.
  • Les sessions alternent théorie et pratique par intervalles courts (de 5 minutes à 1 heure)
  • Les parties pratiques reposent sur des mises en situation concrètes (ex. code source de départ, dépôt Git de départ, exercice en ligne avec énoncé et documentation, etc.)
  • Les parties pratiques sont réalisées soit en individuel, soit en sous-groupes susceptibles de varier d'un exercice à l'autre, afin de tirer parti du pair programming et mettre en avant la collaboration.
  • Les sessions distancielles utilisent une réunion périodique Zoom accessible via le client installable ou le client pur web (sans installation ni privilèges spécifiques). Elles tirent parti notamment des fonctionnalités de vignettes vidéo, partage d'écran, de discussions, de la découpe en sous-salles et potentiellement des quizzes et annotations / tableaux blancs.
  • Les sessions s’étalent sur 4 jours consécutifs pour 28h de cours.
  • Les horaires vont généralement de 9h45 à 12h45 et de 14h à 18h.
  • Les formations vont de 3 à 10 apprenant·e·s.

Moyens d’évaluation et de suivi

  • Chaque demi-journée de formation fait l'objet d'un émargement (numérique ou papier). Pour les sessions distancielles, si un·e apprenant·e ne fournit pas son émargement complet dans les temps, les journaux de connexion Zoom feront foi.
  • Chaque première période dans la journée commence par le « debrief » : pendant environ une demi-heure, on fait collectivement ré-émerger les connaissances abordées pour la première fois lors de la journée précédente, afin de remettre tout le monde « dans le bain », de consolider la compréhension et de renforcer l'entente de groupe.
  • Tout au long de la formation, la validation des acquis se fait par la réalisation réussie des parties pratiques (exercices, mini-projets, labos, mises en situation diverses, etc.). Des quiz interactifs complètent parfois la mise en pratique. Le formateur / la formatrice reste disponible pour toute question ou tout point de blocage durant les parties pratiques.
  • Si un·e apprenant·e manifeste une difficulté, le formateur ou la formatrice peut choisir de l'accompagner spécifiquement sur son poste de travail le temps nécessaire, y compris lors de sessions distancielles grâce aux fonctionnalités dédiées de Zoom (assistance individuelle / one-to-one).
  • À l'issue de la session, chaque apprenant·e peut recevoir son attestation de fin de formation (sur demande), et pour les sessions distancielles, nous émettons un certificat de réalisation proforma, utile notamment pour la prise en charge par un financeur tiers (ex. OPCO).
  • Une fois la formation terminée, chaque apprenant·e reçoit un lien vers un questionnaire d'évaluation à chaud, qui lui permet notamment d'exprimer son ressenti sur l'atteinte (effective ou à court terme) des objectifs de la formation.

Les apprenant·e·s reçoivent, à chaque début de période, un accès :

  • aux diapositives du support de cours au format web, afin de pouvoir faciliter leur suivi,
  • au dépôt de départ pour le développement de l’application « fil rouge ».

Après la session, ils·elles reçoivent par ailleurs :

  • un e-mail de debrief très fourni et riche en ressources,
  • une archive de référence, contenant les slides de toute la formation, la codebase finalisée intégralement documentée et testée, et diverses ressources complémentaires.

L’évaluation des acquis se fait en cours de formation, au moyen de la réussite des étapes successives de développement de l’application « fil rouge » et de la bonne exécution des tests automatisés réalisés ou fournis.

Formateur

Christophe Porteneuve

Christophe Porteneuve

Christophe conçoit des pages web depuis 1995. Co-créateur du premier portail JSP en Europe, en 1999, il passe par J2EE avant de tomber dans Ruby, Rails puis Node.

Auteur du best-seller « Bien développer pour le Web 2.0 » chez Eyrolles, il a également écrit la référence « Prototype and script.aculo.us » chez Pragmatic Programmers, des articles dans divers magazines en ligne (notamment le très respecté A List Apart), et il est speaker pour plusieurs conférences petites et grosses.

En France, Christophe jouit d’une solide réputation d’expertise dans les univers du web front (notamment JavaScript), de Node.js, de Git et de Rails.

Christophe est le fondateur et directeur technique de Delicious Insights.

Prochaines sessions

(Sauf indication contraire, chaque date dispose d’au moins 4 places encore libres)

Tarifs

Vous inscrivezTarif unitaire
1 à 2 apprenant·e·s2 000 € HT
3 à 5 apprenant·e·s1 800 € HT
6+ apprenant·e·s1 600 € HT

(Les éventuelles promotions en cours ne sont pas reflétées ici, mais seront automatiquement appliquées lors de votre demande de convention.)

Financez tout ça grâce au FNE formation étendu !

Besoin d’une intra-entreprise ou sur-mesure ?

Pour une formation personnalisée, en accord avec vos besoins, dans vos locaux, ailleurs ou à distance, décrivez-nous votre besoin en détail.

Habituellement, le coût pédagogique d’une intra pour cette formation, forfaitaire jusqu’à 10 apprenant·e·s, est de 14 000 € HT.

Demander ma formation intra / sur mesure

Besoins matériels et logiciels

  • Disposer d'un ordinateur de performance suffisante (à fournir pour du présentiel intra)
  • En distanciel, cet ordinateur doit être équipé d'une webcam, d'un micro et d'une sortie audio
  • En distanciel, disposer d'une connexion internet avec un débit minimal descendant/montant de 1Mbps, et idéalement au moins 5Mbps.
  • En distanciel, pouvoir exécuter Zoom, soit en tant que logiciel installé, soit via le client 100% web. Le bon fonctionnement du client installé peut être testé ici.
  • Les formations Node.js nécessitent quelques installations préalables sur votre machine : toutes les instructions sont ici pour OSX, Linux et Windows.

Modalités d’inscription et délais d’accès

Quel que soit le type de session que vous visez (intra- ou inter-entreprises, distanciel ou présentiel), la demande initiale (de devis, de convention…) se fait en ligne sur la page de la formation souhaitée. Vous trouverez ci-avant des liens de demande de convention pour chaque session inter-entreprises ayant de la disponibilité, un bouton de demande de proposition pour une session intra-entreprise, et pour toute autre question, un bouton de contact plus bas sur cette page. Les formulaires en ligne sont à privilégier car ils accélèrent le traitement en évitant la multiplication des échanges e-mails afin d'obtenir l'ensemble des informations nécessaires.

Pour une session inter-entreprise déjà planifiée, nous répondons aux demandes de devis et conventions de formation (qui valent devis) dans un délai maximum de 48h ouvrées (et le plus souvent, en quelques minutes). Pour des sessions intra-entreprise, nous vous recontactons en général sous 72h ouvrées pour affiner votre besoin et vous préparer une proposition adaptée au mieux.

Les e-mails fournissant les devis et conventions de formation, ainsi que les pages de nos formations, fournissent un lien vers un questionnaire en ligne de positionnement des apprenant·e·s : ces informations doivent nous parvenir au plus tôt, idéalement avant signature, afin que nous puissions valider la bonne adéquation de la prestation à son public.

Les convocations partent par e-mail au plus tard 7 jours avant le début de la session, date à laquelle la décision éventuelle d'annulation (typiquement en raison d'un quorum de participants non-atteint pour de l'inter-entreprises) est prononcée. Si la session est confirmée avant ce délai, et à votre demande, nous pouvons vous envoyer les convocations plus tôt.

Pour une session inter-entreprise, il est possible de s'inscrire en ligne (demande de convention et renvoi par e-mail de la convention signée) jusqu'à la veille du début de la session, sous réserve que la disponibilité demeure. Si le délai nominal d'envoi de convocation est déjà passé, celle-ci est envoyée immédiatement à réception de la convention signée.

Toutefois, dans le cas d'un client particulier (personne physique), les délais légaux de rétractation peuvent exiger une contractualisation suffisamment en amont de la session. Ces délais sont de 10 jours calendaires pour une session présentielle, et 14 jours calendaires pour une distancielle. Afin de permettre une inscription de dernière minute aux clients personnes physiques, celles-ci ont la possibilité de renoncer explicitement à leur droit de rétractation lors d'une demande de convention en ligne tardive.

En cas de subrogation de paiement (OPCO, Pôle Emploi, Région, UE, etc.) il est impératif que nous recevions l'accord de financement avant le dernier jour de la formation. En cas de financement refusé ou partiel, le client est redevable de plein droit du reliquat de prise en charge.

Vous pourrez retrouver toutes les informations sur les modalités d’inscription et de paiement, l’annulation et le remboursement dans nos Conditions Générales de Vente.

Avis & Satisfaction

  • 242 apprenant·e·s
  • 130 avis
  • 93% de taux de satisfaction en Pédagogie
  • 100% de taux de satisfaction en Expertise
  • 88% de taux de satisfaction en Moyens

Pôle Emploi signale un taux de retour à l’emploi satisfaisant après cette formation.

Accueil PSH / PBS

La loi du 5 septembre 2018 pour la « liberté de choisir son avenir professionnel » a pour objectif de faciliter l’accès à l’emploi des personnes en situation de handicap.

Notre organisme a à cœur de donner à tou·te·s les mêmes chances d’accéder à (ou de se maintenir dans) l’emploi.

Nous pouvons adapter certaines de nos modalités de formation : pour cela, étudions ensemble vos besoins.

N’hésitez pas à contacter notre Référent Handicap, Christophe Porteneuve, par e-mail ou téléphone.

N’hésitez pas à contacter notre Référent Handicap, Christophe Porteneuve, par e-mail à handicap@delicious-insights.com ou téléphone au 06 62 05 96 56.

Une question, une angoisse ?

Détendez-vous, on a sûrement des réponses pour vous rassurer et éclaircir les choses. Alors parlons-en !

Contactez-nous

Contactez-nous par e-mail à contact@delicious-insights.com ou téléphone au 06 62 05 96 56.

Témoignages

  • Super formation. La capacité du formateur à trouver quasi-instantanément d’où vient le bug est assez bluffante ! Tous les points abordés le sont avec brio. […] J’ai trouvé comme lors du JS Total le codage de l’application fantastique.

  • Excellente formation, claire, précise et utile. Le rythme est soutenu et il faut s’accrocher car on passe en revue énormément de concepts, mais le formateur est vraiment doué pour transmettre son savoir et ne manque pas de pédagogie.

    Le coût de la formation, vis-à-vis de la qualité de la prestation, est vraiment abordable et intéressant, même en étant freelance (sans subventions ou autre aide à la formation).

    Formation réellement agréable, avec des rires, de la réflexion et de bon repas ! On en ressort confiant et rassuré, attendant juste de mettre en pratique tous les points abordés. Ca fait très « message marketing » mais je la conseille vivement 😊

    Julien Pouillard – Effigie Créations
  • Cette formation était géniale et très en avance sur son temps. Le formateur est vraiment un très bon pédagogue, le rythme était parfait. J’ai recommandé cette formation à beaucoup d’amis à moi.

  • On ne sort pas de cette formation seulement avec une meilleure compréhension de Node.js, mais également avec les outils et les principes d’une réelle utilisation en production. Ajoutez à cela la localisation (Paris 11ème) des locaux très agréables et un formateur excellent et vous aurez les ingrédients d’une semaine riche que vous ne regretterez pas.

  • A boosté mon apprentissage en m’emmenant là où je n’avais pas encore eu l’occasion d’aller… Node.js tourne à merveille… L’aventure ne fait que commencer… L’écosystème est extraordinaire… Les résultats ont été à la hauteur des espérances… Node.js est définitivement la technologie à connaître !

  • Techno très prometteuse… Grande qualité technique… Modules fantastiques… Très bénéfique pour n’importe quel projet web… Tout s’éclaire… La formation était très complète et a pris tout son sens… Découvrir Node donne un vraiment un coup de boost en tant que développeur…

  • Formation Node.js efficace et pertinente, je repars avec le sentiment d’avoir fait un bond en avant vers les technos de demain.

  • Je recommande vivement cette formation. Mais n’y allez-pas les mains dans les poches, préparez-vous : vous allez en prendre plein la tête. Du super contenu, un formateur hors-pair, une ambiance propice à l’apprentissage.