Atelier : Monorepo router
Récupérer les fichiers de départ
git clone https://github.com/MrLootman/React-TS_VideoGames.gitOu, sans réseau, depuis l'archive : le dossier des fichiers.
Puzzle - Fais fonctionner le serveur !
Dans cet atelier, tu vas devoir composer et réussir ta toute première requête GET, avec des informations connectées en base de donnée !
Tout d'abord :
- Exécute la commande
npm installpour installer toutes les dépendances nécessaires au projet. - Copie / colle le fichier
.env.sample, et renomme la copie en.env. - Mets à jour tes informations de connexion à ta base de données.
- Exécute la commande
npm run db:migratepour exécuter le script se trouvant dansserver/database/schema.sql. - Exécute la commande
npm run devpour lancer le client et le server.
🧠 Exercice :
Ci-dessous, tu trouveras des fragments de code.
A toi de les disposer correctement pour faire en sorte que les trois jeux vidéos apparaissent côté client !
Les pièces du puzzle 🧩
1.
import videoGamesAction from "./modules/videoGames/videoGamesAction";
router.get("/video-games", videoGamesAction.browse);
2.
const browse: RequestHandler = async (req, res) => {
const videoGames = await videoGamesRepository.readAll();
// ...
}
3.
import type { RequestHandler } from "express";
import videoGamesRepository from "./videoGamesRepository";
4.
export default { browse };
5.
class VideoGamesRepository {
async readAll() {
const [rows] = await databaseClient.query<Rows>("SELECT * FROM video_game");
// ...
}
}
6.
import databaseClient from "../../../database/client";
import type { Rows } from "../../../database/client";
7.
res.json(videoGames);
8.
return rows;
9.
export default new VideoGamesRepository();
Mais... Faut penser à quoi déjà ?! 🤔
-
Mon fichier .env côté serveur est-il à jour ? Contient-il des informations fiables pour me connecter à ma base de données SQL ?
-
Mon script de base de données est-il valide ? Vérification avec
npm run db:migrate -
Ai-je un jeu de données pour tester une requête ?
Copie du dépôt MrLootman/React-TS_VideoGames (commit ae9123a6f7a6),
prise le 7 octobre 2026. Le texte, les images et les 66 fichiers de
l'atelier sont dans l'archive : cette page fonctionne sans réseau.