Cette formation a pour objectif de vous apprendre à créer une API REST isomorphique et temps réel à l'aide du framework FeathersJS, version 5 'Dove'.
À travers l'écriture d'une API de catalogue de films, vous découvrirez par la pratique les principes fondamentaux du framework FeathersJS :
gestion de l'authentification
approche service
gestion du temps réel
filtrage des données par les validators, resolvers
factorisation de traitement par les hooks
Le framework FeathersJS présente de nombreux avantages grâce à un ensemble de modules préexistants, rendant plus facile et rapide la création d'API.
Il présente également une architecture intégrant une vérification de la donnée à l'entrée et à la sortie de l'API, permettant de garantir une meilleure sécurité sur le traitement des données. (validators, resolvers)
Objectifs pédagogiques
Installer et configurer un serveur Node.js
Instancier une API REST avec le framework FeathersJS
Connaître les différents principes du framework FeathersJS
Interagir avec une base de données relationnelle
Construire une bibliothèque typée (TypeScript) pour usage côté front-end
Interagir en temps réel avec de la donnée
Mettre en place des permissions d'accès aux services FeathersJS
Formation API REST en NodeJS avec FeathersJS
en détail
Programme
1. Découverte d’un API FeathersJS
NodeJS / FeathersJS
rappels NodeJS
principes clés de FeathersJS
comparaison FeathersJS / Express / Koa / Fastify
CLI
découverte de la CLI
création d'une première API
création d'un premier service basé en mémoire
analyse de l'architecture API
Concepts
gestion de la qualité de la donnée à travers les services (schéma avec TypeBox / resolvers / validators)
gestion des hooks
compréhension des resolvers / validators / hooks (qui fait quoi)
custom methods des services
Base de données
création d'un service avec l'adapter feathers-knex
création des migrations (up / down)
peupler les données avec un script NodeJS qui lira un fichier CSV
2. Authentification : gérer une authent sur les endpoints de modification des données
authentification locale avec JWT
authentification avec OIDC
gestion d'un compte utilisateur avec feathers-auth-management
Isomorphisme : utiliser les types de données à la fois côté backend et frontend
génération du bundle client
utilisation du bundle dans une app front de consultation de la donnée
Temps réel : mettre en oeuvre la communication temps réel sur l'API web socket
rappel sur les web socket
mise en place de channels dédiés
mise en application dans l'application front (modification de données)
3. Aspects avancés
Contrôle d'accès et sécurité (feathers-casl)
Tests unitaires (vitest)
Swagger (feathers-swagger)
Gestion des erreurs / logs
Déploiement
Upload de fichiers
Public et pré-requis
Public
Développeurs, architectes techniques et chefs de projet Web
Pré-requis
Bonnes connaissances du JavaScript / TypeScript (la formation sera faite en TypeScript)
Connaissance NodeJS, npm
Personne en situation de handicap
Pour toutes questions relatives à l’accueil d’un participant présentant un handicap, merci de nous contacter préalablement avant toute inscription
Ingénierie pédagogique
Moyens pédagogiques et techniques
Les supports de cours (slides) seront disponibles en ligne et distribués en début de formation (à l'aide d'un lien vers notre outil interne ou d'une version numérisée), puis fournis au format électronique à la fin de la formation.
Une salle de formation équipée d'une connexion Internet, d'un vidéoprojecteur, paperboard. Ou une salle virtuelle pour les formations à distance (FOAD).
Un ordinateur par stagiaire avec un système d'exploitation installé et les outils nécessaires.
Modalités de suivi de l'exécution du programme
Durant la formation: alternance d'apports théoriques (30% du cours), d’exercices pratiques et de mise en situation sous forme de travaux pratiques corrigés avec l’expert-formateur.
En fin de formation: évaluation à chaud sur l'atteinte des objectifs pédagogiques sous forme de tour de table et de test de connaissances, d'exercices, de QCM.
Moyens d'encadrement
Formation assurée par un expert-formateur en développement ayant une expérience significative avec le framework NodeJS.
Nos experts
Mathieu Dartigues
Artisan-formateur du web JS-TS-VueJS-NodeJS
Nantes
Demander des informations sur la formation Formation API Rest