Node.js offre de nombreuses fonctionnalités natives pour créer des applications.
Cependant, il est possible d’utiliser des API ou des frameworks tierces pour étendre les fonctionnalités de Node.js.
Dans cette optique, on a à disposition de nombreux paquets npm d’une part et des frameworks d’autres part.
Paquets npm popuplaires
Frameworks Javascript populaires
Quelques frameworks Javascript parmis les plus connus : React, Vue, Angular, Express, NestJS, Svelte, Next.js, Nuxt.js, etc.
Et d’autres frameworks très prometteurs : Astro, Hono, Solid, Vite, Snowpack, Blitz, Redwood, etc.
Exemples d’API tierces
Express (serveur web)
Express est un framework web minimaliste et flexible pour Node.js, qui fournit un ensemble robuste de fonctionnalités pour les applications web et mobiles.
N’étant pas intégré à Node.js par défaut, il faut l’installer via npm dans un projet Node.js.
Pour initialiser un projet Node.js, on peut utiliser la commande suivante :
npm init -y
Pour installer Express, on peut utiliser la commande suivante :
npm install express
Exemple d’utilisation d’Express :
1// Importation du module express2import express from 'express';3
4// Création d'une application express5
6const app = express();7
8// Définition de la route racine9
10app.get('/', (req, res) => {11 res.send('Hello, World!');12});13
14// Démarrage du serveur sur le port 300015
16app.listen(3000, () => {17 console.log('Server started on http://localhost:3000');18});
Pour lancer le serveur Express, on peut utiliser la commande suivante :
node express-test.js
> Server started on http://localhost:3000

Ce simple exemple est le début d’une application web avec Express qui peut être étendue pour créer des API RESTful.
Même si ce code ressemble fortement à l’API native http
de Node.js, Express offre des fonctionnalités supplémentaires qui facilitent la création d’applications web.
Mongoose (base de données)
Mongoose est une bibliothèque ODM (Object Data Modeling) pour MongoDB et Node.js, qui fournit une solution simple et efficace pour gérer les données de MongoDB.
Pour installer Mongoose, on peut utiliser la commande suivante :
npm install mongoose
Exemple d’utilisation de Mongoose :
1// Exemple d'utilisation de Mongoose2
3const mongoose = require('mongoose');4mongoose.connect('mongodb://127.0.0.1:27017/test');5
6const Cat = mongoose.model('Cat', { name: String });7
8const kitty = new Cat({ name: 'Zildjian' });9kitty.save().then(() => console.log('meow'));
Drizzle ORM
Drizzle ORM est une bibliothèque ORM (Object Relationnal Mapping) pour Node.js qui permet d’interagir avec des bases de données relationnelles comme Postgres, MySQL, SQLite, etc.
- Installation
npm i drizzle-orm @libsql/client dotenvnpm i -D drizzle-kit tsx
Drizzle utilise TypeScript pour la définition des modèles de données et des requêtes SQL.
Il permet de créer des modèles de données, de définir des relations entre ces modèles, de créer des requêtes SQL et de les exécuter, sans jamais écrire de SQL.
Il utilise DOTENV
pour la gestion des variables d’environnement.
Exemple d’utilisation de Drizzle ORM :
- Définition des variables d’environnement :
1DB_FILE_NAME=file:local.db
- Connection à la base de données :
1import 'dotenv/config';2import { drizzle } from 'drizzle-orm/libsql';3
4const db = drizzle(process.env.DB_FILE_NAME!);
- Création d’un schéma de données :
1// Create a new table2import { int, sqliteTable, text } from "drizzle-orm/sqlite-core";3
4export const usersTable = sqliteTable("users_table", {5 id: int().primaryKey({ autoIncrement: true }),6 name: text().notNull(),7 age: int().notNull(),8 email: text().notNull().unique(),9});
- Configuration de Drizzle :
1import 'dotenv/config';2import { defineConfig } from 'drizzle-kit';3
4export default defineConfig({5 out: './drizzle',6 schema: './src/db/schema.ts',7 dialect: 'sqlite',8 dbCredentials: {9 url: process.env.DB_FILE_NAME!,10 },11});
- Application des modifications à la base de données :
npx drizzle-kit generatenpx drizzle-kit migrate
etc.
Conclusion
- On peut voir dans ce dernier exemple que Drizzle semble plus complexe à mettre en place que les autres API tierces vu précédemment.
- Evidemment, plus une API tierce offre des fonctionnalités avancées, plus elle reisque d’être difficile à configurer et prendre en main.
- Il en sera de même pour les frameworks Javascript, qui offrent des fonctionnalités avancées mais qui ont des courbes d’apprentissage plus ou moins longues.
Il est recommandé pour les débutants de commencer par des API simples et de se familiariser avec les concepts de base avant de passer à des API plus complexes.