From ee64f5aaccb9ee8a7b252422a00255d06ebf1936 Mon Sep 17 00:00:00 2001 From: Yanis232 <136784563+Yanis232@users.noreply.github.com> Date: Wed, 6 Nov 2024 22:39:01 +0100 Subject: [PATCH] Add files via upload MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Création d'un compte et connection fonctionnels depuis la DB phpmyadmin / pour démarrer le serveur : node app.js --- app.js | 81 +++++++++++++++++++++++++++++++++++++++++++++++++ connection.html | 56 ++++++++++++++++++++++++++++++++++ create.html | 66 ++++++++++++++++++++++++++++++++++++++++ info.env | 6 ++++ 4 files changed, 209 insertions(+) create mode 100644 app.js create mode 100644 connection.html create mode 100644 create.html create mode 100644 info.env diff --git a/app.js b/app.js new file mode 100644 index 0000000..6e36b7d --- /dev/null +++ b/app.js @@ -0,0 +1,81 @@ +require('dotenv').config(); +const express = require('express'); +const mysql = require('mysql'); +const cors = require('cors'); + +require('dotenv').config({ path: './info.env' }); // faites att ici à vos infos du fichier info.env + + +const app = express(); +const PORT = process.env.PORT || 3000; + +app.use(cors()); +app.use(express.json()); +app.use(express.urlencoded({ extended: true })); + +// connexion a la db "dbtechnoback" +const db = mysql.createConnection({ + host: process.env.DB_HOST, + user: process.env.DB_USER, + password: process.env.DB_PASSWORD, + database: process.env.DB_NAME, +}); + +db.connect((err) => { // si erreur ici vérifiez le port - si votre db est correct - + if (err) { + console.error("Erreur de connexion à la database :", err); + return; + } + console.log('Connection résussi à la DB de MySQL'); +}); + +app.get('/', (req, res) => { // test serveur - voir console + res.send('Le serveur node.js est fonctionnel'); +}); + +// route POST pour crer un utilisateur +app.post('/register', (req, res) => { + const { username, email, password } = req.body; + + if (!username || !email || !password) { + return res.status(400).json({ message: "Les champs nom d'utilisateur, email, et mot de passe sont requis." }); + } + + const query = 'INSERT INTO users (username, email, password) VALUES (?, ?, ?)'; + + db.query(query, [username, email, password], (err, result) => { + if (err) { + console.error("Erreur lors de l'ajout de l'utilisateur :", err); + return res.status(500).json({ message: "Erreur lors de l'ajout de l'utilisateur" }); + } + res.status(201).json({ message: 'Utilisateur créé avec succès' }); + }); +}); + +// route POst pour la connexion +app.post('/login', (req, res) => { + const { username, password } = req.body; + + if (!username || !password) { + return res.status(400).json({ message: "Nom d'utilisateur et mot de passe requis." }); + } + + const query = 'SELECT * FROM users WHERE username = ?'; + db.query(query, [username], (err, results) => { + if (err) { + console.error("Erreur lors de la connexion :", err); + return res.status(500).json({ message: 'Erreur lors de la connexion' }); + } + + if (results.length === 0 || results[0].password !== password) { + return res.status(401).json({ message: "Nom d'utilisateur ou mot de passe incorrect." }); + } + + return res.json({ message: 'Connexion réussie!' }); + }); +}); + + +app.listen(PORT, () => { // mettre le listen apres les routes post + console.log(`Serveur démarré sur le port ${PORT}`); +}); diff --git a/connection.html b/connection.html new file mode 100644 index 0000000..b88a836 --- /dev/null +++ b/connection.html @@ -0,0 +1,56 @@ + + + + + + Page de Connexion + + + +
+ +

Connexion

+
+
+ + +
+
+ + +
+ +
+

Pas encore de compte ? S'inscrire

+
+ + + + diff --git a/create.html b/create.html new file mode 100644 index 0000000..c8e027f --- /dev/null +++ b/create.html @@ -0,0 +1,66 @@ + + + + + + Créer un Compte + + + +
+ +

Créer un Compte

+
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+ +
+

Déjà un compte ? Se connecter

+
+ + + + + diff --git a/info.env b/info.env new file mode 100644 index 0000000..0791ced --- /dev/null +++ b/info.env @@ -0,0 +1,6 @@ +DB_HOST=localhost +DB_USER=root +DB_PASSWORD= +DB_NAME=dbtechnoweb + +PORT=3000 \ No newline at end of file