Stack moderne 2026
- Node.js 20+ : runtime
- Express ou Fastify : framework HTTP
- Prisma : ORM type-safe (alternative : Drizzle)
- Zod : validation schémas
- Jest / Vitest : tests
Code complet API REST users
import express from 'express';
import { PrismaClient } from '@prisma/client';
import { z } from 'zod';
const app = express();
const prisma = new PrismaClient();
app.use(express.json());
const createUserSchema = z.object({
email: z.string().email(),
password: z.string().min(8)
});
app.post('/users', async (req, res) => {
try {
const data = createUserSchema.parse(req.body);
const user = await prisma.user.create({ data });
res.json({ user });
} catch (err) {
res.status(400).json({ error: err.message });
}
});
app.get('/users/:id', async (req, res) => {
const user = await prisma.user.findUnique({ where: { id: req.params.id } });
if (!user) return res.status(404).json({ error: 'Not found' });
res.json({ user });
});
app.listen(3000);