Description
Nodejs est un environnement d’exécution de script javascript implémenté autour du moteur Google V8.
Ce cours permettra d’aborder la création et la mise au point de script avec NodeJS.
L’exportation d’un module C++ sera aussi abordée pour démontrer l’évolutivité de cet environnement.
Le packaging et le déploiement d’un module nodejs seront aussi abordés.
Déroulement
La durée est de 4 jours.
C’est un cours pratique.
Eclipse et chrome seront les outils utilisés durant la formation pour la mise en œuvre des travaux pratiques.
Près-requis
Une connaissance de Javascript est nécessaire.
Une connaissance de C++ est recommandée mais non obligatoire.
Contenu
Généralités :
- Présentation de l’architecture NodeJS.
- Intérêt du modèle asynchrone à la place d’un modèle concurrent.
- Rappel sur le langage ECMSScript (Javascript).
- Les bases du langage.
- Les concepts objet.
Présentation et utilisation du module NPM.
- Installation globale.
- Installation locale.
- Présentation du fichier « package.json ».
Mise en place du debugger.
- Lancement du script en mode debug.
- Utilisation du debuger standard.
- Utilisation de node-inspector avec chrome.
Anatomie d’un script
- L’inclusion d’autre script.
- Le mode synchrone.
- Récupération des paramètres de lancement.
- Les variables globales.
- Les fonctions implicites.
Les modules de l’API standard :
- Liste des modules de l’API standard.
- Mise en œuvre détaillée des modules suivants :
« File system »
« http »
« cluster »
« process »
Utilisation de module public.
- Expressjs pour la réalisation de site web.
- Mise en place de npm pour la gestion des dépendances.
- Mongodb pour l’accès aux données.
- Module à installer localement.
- Postgresql pour l’accès à la base de données postgresql.
- Utilisation dans un modèle asynchrone.
Créer ses propres modules
- La notion de modules.
- Les exportations de fonction et d’objet.
- La gestion des cycles de module.
Exportation d’un model C++ en Javascript.
- Implémentation du module.
- Génération de make file avec node-gyp.
- Mise au point.
Réalisation d’une ferme de nodejs
- Mise en place du clustering.
- Mise en œuvre d’une messagerie (redis) pour le clustering.
Packaging d’un module.
- Réalisation du manifest.