Comment écrire une API REST en TypeScript en 30 minutes : pour les débutants

Formateur Python en ligne pour débutants

Apprenez Python facilement sans surcharge théorique. Résolvez des tâches pratiques avec vérification automatique et écrivez du code directement dans le navigateur.

Start Course

Introduction

Le développement web moderne est impensable sans API REST. C'est le fondement sur lequel reposent les applications mobiles, les fronts SPA et les microservices. Si vous êtes débutant et souhaitez apprendre rapidement à créer un backend, la combinaison TypeScript + Express est un point de départ idéal. TypeScript ajoute un typage strict à JavaScript, rendant le code plus fiable et plus compréhensible, surtout en travail d'équipe.

Dans ce guide, nous allons créer en 30 minutes une API REST complète pour gérer une liste de tâches (Todo list). Vous apprendrez à configurer le projet, décrire les modèles de données, créer des routes et connecter une base de données. Pas de théorie superflue — seulement de la pratique et un code prêt à être exécuté.

Il est supposé que vous avez déjà installé Node.js (version 18+) et npm. Sinon, téléchargez-les depuis le site officiel.



1. Préparation du projet et installation des dépendances

Commençons par initialiser un nouveau projet TypeScript. Ouvrez le terminal et exécutez les commandes :

mkdir my-todo-apicd my-todo-apinpm init -y

Installons maintenant les paquets nécessaires :

npm install expressnpm install -D typescript @types/node @types/express ts-node nodemon

Créons le fichier de configuration TypeScript :

npx tsc --init

Dans le fichier tsconfig.json, assurez-vous que les lignes suivantes sont décommentées et configurées :

{  "compilerOptions": {    "target": "ES2020",    "module": "commonjs",    "outDir": "./dist",    "rootDir": "./src",    "strict": true,    "esModuleInterop": true,    "skipLibCheck": true,    "forceConsistentCasingInFileNames": true  },  "include": ["src/**/*"],  "exclude": ["node_modules", "dist"]}

Créez le dossier src et le fichier src/index.ts — ce sera le point d'entrée de notre application.

Ajoutons des scripts dans package.json pour un lancement pratique :

"scripts": {  "dev": "nodemon --exec ts-node src/index.ts",  "build": "tsc",  "start": "node dist/index.js"}


2. Création du serveur Express de base

Écrivons maintenant un serveur minimal avec Express qui écoutera sur le port 3000. Ouvrez src/index.ts et ajoutez le code suivant :

import express, { Request, Response } from 'express';

const app = express();const PORT = 3000;

// Middleware pour analyser le JSONapp.use(express.json());

// Route de base pour vérificationapp.get('/', (req: Request, res: Response) => { res.send('Todo API fonctionne !');});

app.listen(PORT, () => { console.log(`Serveur démarré sur http://localhost:${PORT}`);});

Lancez le serveur avec la commande npm run dev et ouvrez le navigateur à l'adresse http://localhost:3000. Vous devriez voir le message "Todo API fonctionne !".



3. Définition du modèle de données et stockage en mémoire

Pour simplifier, nous n'allons pas connecter immédiatement une base de données, mais utiliser un stockage temporaire en mémoire vive. Créez le fichier src/models/todo.ts :

export interface Todo {  id: number;  title: string;  completed: boolean;  createdAt: Date;}

export let todos: Todo[] = [ { id: 1, title: 'Apprendre TypeScript', completed: false, createdAt: new Date() }, { id: 2, title: 'Écrire une API REST', completed: false, createdAt: new Date() },];

Notez l'utilisation de l'interface Todo — cela garantit que tous les objets du tableau ont la même structure.



4. Implémentation des routes CRUD

Créons le fichier src/routes/todos.ts avec des routes complètes pour les opérations Create, Read, Update et Delete.

import { Router, Request, Response } from 'express';import { Todo, todos } from '../models/todo';

const router = Router();

// GET /api/todos — obtenir toutes les tâchesrouter.get('/', (req: Request, res: Response) => { res.

Blogs

Book Recommendations