🎓 Tutoriels

Tutoriel : construire une API REST complète avec Node.js et Express

Apprenez à créer une API professionnelle pas à pas : routes CRUD, validation, gestion d’erreurs et tests avec curl. Le guide complet pour les développeurs débutants et intermédiaires.

Objectif

Dans ce tutoriel, vous allez construire une API REST complète avec Node.js et Express : routes CRUD, validation, gestion d'erreurs et documentation. À la fin, vous aurez une API prête à être branchée sur n'importe quel frontend.

1. Initialisation du projet

mkdir api-express && cd api-express
npm init -y
npm install express

2. Le serveur de base

const express = require('express');
const app = express();
app.use(express.json());

// Route de test
app.get('/api/health', (req, res) => {
  res.json({ status: 'ok', time: new Date().toISOString() });
});

const PORT = process.env.PORT || 3000;
app.listen(PORT, () => console.log('API démarrée sur le port ' + PORT));

3. Le modèle de données

Utilisons un simple tableau en mémoire pour ce tutoriel :

let articles = [
  { id: 1, title: 'Premier article', content: 'Hello Tech237 !' }
];
let nextId = 2;

4. Les routes CRUD

// Lire tous les articles
app.get('/api/articles', (req, res) => res.json(articles));

// Lire un article
app.get('/api/articles/:id', (req, res) => {
  const article = articles.find(a => a.id === Number(req.params.id));
  if (!article) return res.status(404).json({ error: 'Article introuvable' });
  res.json(article);
});

// Créer un article
app.post('/api/articles', (req, res) => {
  const { title, content } = req.body;
  if (!title || !content) {
    return res.status(400).json({ error: 'title et content sont requis' });
  }
  const article = { id: nextId++, title, content };
  articles.push(article);
  res.status(201).json(article);
});

// Modifier un article
app.put('/api/articles/:id', (req, res) => {
  const article = articles.find(a => a.id === Number(req.params.id));
  if (!article) return res.status(404).json({ error: 'Article introuvable' });
  Object.assign(article, req.body);
  res.json(article);
});

// Supprimer un article
app.delete('/api/articles/:id', (req, res) => {
  articles = articles.filter(a => a.id !== Number(req.params.id));
  res.status(204).end();
});

5. Tester avec curl

curl -X POST http://localhost:3000/api/articles \
  -H "Content-Type: application/json" \
  -d '{"title":"Mon premier post","content":"Salut le Cameroun !"}'

Pour aller plus loin

  • Ajoutez une validation avec un schéma (Joi ou Zod).
  • Connectez une vraie base de données : SQLite (better-sqlite3) ou PostgreSQL.
  • Ajoutez l'authentification avec des tokens JWT.
  • Documentez avec Swagger/OpenAPI.

Bravo, vous venez de poser les fondations d'une API professionnelle ! 🎉

💬 Commentaires (2)

J
Junior M. il y a 6 j

Le tutoriel le plus clair que j’ai trouvé sur le sujet, bravo ! Est-ce que vous pouvez faire la suite avec l’authentification JWT ?

A
Aline D. 17 août 2026

Merci ! J’ai pu déployer mon API sur mon serveur local en suivant le guide. 😊

Laisser un commentaire

📬 La newsletter Tech237

Chaque semaine, l'essentiel de la tech camerounaise et africaine dans votre boîte mail. Gratuit, sans spam.