Skip to content
Snippets Groups Projects
Commit 1714b22c authored by Louis Becker's avatar Louis Becker
Browse files

Ajout du backend du projet

parent cdae6d44
No related branches found
No related tags found
No related merge requests found
Pipeline #21091 failed
var express = require('express'); //import de la bibliothèque Express
var app = express(); //instanciation d'une application Express
var express = require('express'); // Import de la bibliothèque Express
var app = express(); // Instanciation d'une application Express
// Pour s'assurer que l'on peut faire des appels AJAX au serveur
app.use(function(req, res, next) {
......@@ -8,15 +8,81 @@ app.use(function(req, res, next) {
next();
});
// Ici faut faire faire quelque chose à notre app...
// On va mettre les "routes" == les requêtes HTTP acceptéés par notre application.
// Route de base
app.get("/", function(req, res) {
res.send("Hello")
})
res.send("Hello");
});
// Variable globale pour stocker le compteur
let compteur = 0;
// Route /cpt/query : retourne la valeur du compteur
app.get("/cpt/query", function(req, res) {
res.json({ compteur: compteur });
});
// Route /cpt/inc : Incrémente de 1 par défaut OU de "v" si fourni
app.get("/cpt/inc", function(req, res) {
let valeur = parseInt(req.query.v);
if (req.query.v === undefined) {
compteur += 1;
res.json({ code: 0 });
} else if (!isNaN(valeur)) {
compteur += valeur;
res.json({ code: 0 });
} else {
res.json({ code: -1 });
}
});
/* Stockage des messages (avec pseudo et date) */
let allMsgs = [
{ pseudo: "Alice", msg: "Hello World", date: new Date().toLocaleString() },
{ pseudo: "Bob", msg: "Blah Blah", date: new Date().toLocaleString() },
{ pseudo: "Charlie", msg: "I love cats", date: new Date().toLocaleString() }
];
// Route pour récupérer TOUS les messages (corrigée)
app.get("/msg/getAll", function(req, res) {
res.json(allMsgs);
});
app.listen(8080); //commence à accepter les requêtes
console.log("App listening on port 8080...");
// Route pour récupérer UN message par son numéro
app.get("/msg/get/:num", function(req, res) {
let num = parseInt(req.params.num);
if (!isNaN(num) && num >= 0 && num < allMsgs.length) {
res.json({ code: 1, msg: allMsgs[num] });
} else {
res.json({ code: 0 });
}
});
// Route pour récupérer le nombre total de messages
app.get("/msg/nber", function(req, res) {
res.json({ count: allMsgs.length });
});
// Route pour ajouter un message (corrigée avec pseudo et date)
app.get("/msg/post/:pseudo/:message", function(req, res) {
let newMessage = {
pseudo: decodeURIComponent(req.params.pseudo),
msg: decodeURIComponent(req.params.message),
date: new Date().toLocaleString()
};
allMsgs.push(newMessage);
res.json({ code: 1, id: allMsgs.length - 1 });
});
// Route pour supprimer un message
app.get("/msg/del/:num", function(req, res) {
let num = parseInt(req.params.num);
if (!isNaN(num) && num >= 0 && num < allMsgs.length) {
allMsgs.splice(num, 1);
res.json({ code: 1 });
} else {
res.json({ code: 0 });
}
});
app.listen(8080);
console.log("Serveur démarré sur http://localhost:8080");
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment