Nom du fichier : index.ts
import express, { type Request, type Response } from "express";
import coursesRoutes from "./routes/courses.routes.js";
// 1. On crée l'application Express
const app = express();
// 2. Middleware global : transforme automatiquement le JSON reçu dans
// les requêtes en objet JS
app.use(express.json());
// 3. Mise en place des CORS
// Cross-Origin Resource Sharing est un mécanisme de sécurité implémenté
// par les navigateurs qui empêche une page web d'appeler une ressource
// depuis un autre domaine que celui où la page a été chargé
app.use((_req: Request, res: Response, next) => {
res.header("Access-Control-Allow-Origin", "http://127.0.0.1:5501");
res.header(
"Access-Control-Allow-Methods",
"GET,POST,PUT,PATCH,DELETE,OPTIONS",
);
res.header("Access-Control-Allow-Headers", "Content-Type, Authorization");
if (_req.method === "OPTIONS") return res.sendStatus(204);
next();
});
app.use("/courses", coursesRoutes);
// 5. Démarrage du serveur sur le port 3000
const PORT = 3000;
app.listen(PORT, () => {
console.log(`✅ Serveur lancé sur http://localhost:${PORT}`);
});