From 1b9ca5c9a5124b388f89fe20929a24c836199d4a Mon Sep 17 00:00:00 2001 From: Mamadu Lamarana Bah <mamadulamarana.bah.etu@univ-lille.fr> Date: Wed, 14 Feb 2024 16:32:42 +0100 Subject: [PATCH] mise en place de bidder.js et auctioneer.js; ajout de style pour les pages --- encheres/client/.babelrc | 4 -- encheres/client/package-lock.json | 8 ++-- encheres/client/package.json | 2 +- encheres/client/src/html/about.html | 16 +++++++ encheres/client/src/html/auctioneer.html | 39 +++++++++++++++ encheres/client/src/html/bidder.html | 28 +++++++++++ encheres/client/src/images/start.jpg | Bin 0 -> 13689 bytes encheres/client/src/index.html | 41 ++++++++-------- encheres/client/src/scripts/auctioneer.js | 33 +++++++++++++ encheres/client/src/scripts/bidder.js | 26 ++++++++++ encheres/client/src/scripts/main.js | 1 + encheres/client/src/style/style.css | 56 +++++++++++++++++++++- encheres/client/webpack.config.js | 43 ++++++++++++----- 13 files changed, 254 insertions(+), 43 deletions(-) delete mode 100644 encheres/client/.babelrc create mode 100644 encheres/client/src/html/about.html create mode 100644 encheres/client/src/html/auctioneer.html create mode 100644 encheres/client/src/html/bidder.html create mode 100644 encheres/client/src/images/start.jpg create mode 100644 encheres/client/src/scripts/auctioneer.js create mode 100644 encheres/client/src/scripts/bidder.js diff --git a/encheres/client/.babelrc b/encheres/client/.babelrc deleted file mode 100644 index e94b0a6..0000000 --- a/encheres/client/.babelrc +++ /dev/null @@ -1,4 +0,0 @@ -{ - "presets": ["@babel/preset-env"], - "plugins": ["@babel/transform-runtime"] -} diff --git a/encheres/client/package-lock.json b/encheres/client/package-lock.json index 33ec98c..c2c0fdb 100644 --- a/encheres/client/package-lock.json +++ b/encheres/client/package-lock.json @@ -25,7 +25,7 @@ "html-webpack-plugin": "^5.5.0", "style-loader": "^3.3.1", "terser-webpack-plugin": "^5.3.0", - "webpack": "^5.90.0", + "webpack": "^5.90.1", "webpack-cli": "^4.10.0", "webpack-dev-server": "^4.6.0" } @@ -6574,9 +6574,9 @@ } }, "node_modules/webpack": { - "version": "5.90.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.90.0.tgz", - "integrity": "sha512-bdmyXRCXeeNIePv6R6tGPyy20aUobw4Zy8r0LUS2EWO+U+Ke/gYDgsCh7bl5rB6jPpr4r0SZa6dPxBxLooDT3w==", + "version": "5.90.1", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.90.1.tgz", + "integrity": "sha512-SstPdlAC5IvgFnhiRok8hqJo/+ArAbNv7rhU4fnWGHNVfN59HSQFaxZDSAL3IFG2YmqxuRs+IU33milSxbPlog==", "dev": true, "dependencies": { "@types/eslint-scope": "^3.7.3", diff --git a/encheres/client/package.json b/encheres/client/package.json index cf4f3ab..3b11b7a 100644 --- a/encheres/client/package.json +++ b/encheres/client/package.json @@ -22,7 +22,7 @@ "html-webpack-plugin": "^5.5.0", "style-loader": "^3.3.1", "terser-webpack-plugin": "^5.3.0", - "webpack": "^5.90.0", + "webpack": "^5.90.1", "webpack-cli": "^4.10.0", "webpack-dev-server": "^4.6.0" }, diff --git a/encheres/client/src/html/about.html b/encheres/client/src/html/about.html new file mode 100644 index 0000000..053083c --- /dev/null +++ b/encheres/client/src/html/about.html @@ -0,0 +1,16 @@ +<!DOCTYPE html> + +<html> + <head> + <meta charset="UTF-8"> + <title>Server</title> + <link href="./style/style.css" rel="stylesheet" type="text/css"/> + </head> + + <body> + <h1>Infos</h1> + <div> + <p>Auteur de l'application : <strong>Mamadu BAH</strong></p> + <p>Numéro de version : <strong>V1.0</strong></p> + </div> + </body> \ No newline at end of file diff --git a/encheres/client/src/html/auctioneer.html b/encheres/client/src/html/auctioneer.html new file mode 100644 index 0000000..5d4a9e0 --- /dev/null +++ b/encheres/client/src/html/auctioneer.html @@ -0,0 +1,39 @@ +<!DOCTYPE html> + +<html> + <head> + <meta charset="UTF-8"> + <title>Server</title> + <link href="./style/style.css" rel="stylesheet" type="text/css"/> + <script src="/socket.io/socket.io.js"></script> + </head> + + <body> + <h1>Comissaire-priseur</h1> + + <div id="ident-auc">Vous êtes le commissaire priseur</div> + <div id="prod-auc"> + <div> + <label for="name">Objet aux enchères</label> + <input type="text" id="name" name="name" placeholder="Votre texte ici"/> + </div> + + <div> + <label for="name">Prix de départ</label> + <input type="number" id="value" min="10" max="100" value="10" name="value" placeholder="Votre prix ici"/> + </div> + <div>Montant actuel enchère : <span id="prixactuel"></span></div> + <div class="button"> + <button id="start" type="button" disabled> + <img src="../image/start.jpg" alt="start"/> + </button> + + <button id="sale" type="button" disabled> + <img src="blabla" alt="sale"/> + </button> + </div> + </div> + + </body> + +</html> \ No newline at end of file diff --git a/encheres/client/src/html/bidder.html b/encheres/client/src/html/bidder.html new file mode 100644 index 0000000..0a6f227 --- /dev/null +++ b/encheres/client/src/html/bidder.html @@ -0,0 +1,28 @@ +<!DOCTYPE html> + +<html> + <head> + <meta charset="UTF-8"> + <title>Server</title> + <link href="./style/style.css" rel="stylesheet" type="text/css"/> + <script src="/socket.io/socket.io.js"></script> + </head> + + <body> + <h1>Enchérisseur</h1> + <div class="bidder"> + <div id="ident-bid">Bienvenue</div> + <div class="item">Objet en enchères : <span class="description"></span> + <div class="item">Prix actuel : <span class="prix"></span> </div> + </div> + + <div class="price-options"> + <p>Enchères possibles :</p> + <button class="price-button" onclick="selectPrice('20€')">20€</button> + <button class="price-button" onclick="selectPrice('50€')">50€</button> + <button class="price-button" onclick="selectPrice('100€')">100€</button> + </div> + + </body> + +</html> \ No newline at end of file diff --git a/encheres/client/src/images/start.jpg b/encheres/client/src/images/start.jpg new file mode 100644 index 0000000000000000000000000000000000000000..ecbaf45095acdc7a7b2d9f690bb5029e858df868 GIT binary patch literal 13689 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 Ddni)4 literal 0 HcmV?d00001 diff --git a/encheres/client/src/index.html b/encheres/client/src/index.html index 2d8818e..ba4ab24 100644 --- a/encheres/client/src/index.html +++ b/encheres/client/src/index.html @@ -1,23 +1,22 @@ <!DOCTYPE html> -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr"> - -<head> - <meta charset="UTF-8"/> - <title>PAGE TITLE</title> - <meta name="author" content="your name"/> - - <link rel="stylesheet" type="text/css" href="./style/style.css" title="starship style"/> -</head> - -<body> - - <h1>Your page</h1> - - <p>Write your html code here.</p> - - <p>Consultez la console pour la trace de création du bundle : <kbd>Ctrl+Shift+K</kbd></p> - -</body> - -</html> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr"> + + <head> + <meta charset="UTF-8"/> + <title>server</title> + <link href="./style/style.css" rel="stylesheet" type="text/css"/> + + </head> + + <body> + <h1>Enchères</h1> + <p class="ok"></p> + <ul id="liens"> + <li> <a href="./auctioneer">Etre Comissaire-priseur</a> </li> + <li> <a href="./bidder">Participer aux Enchères</a> </li> + <li> <a href="./about">Infos sur l'application</a> </li> + </ul> + </body> + +</html> \ No newline at end of file diff --git a/encheres/client/src/scripts/auctioneer.js b/encheres/client/src/scripts/auctioneer.js new file mode 100644 index 0000000..af85e8b --- /dev/null +++ b/encheres/client/src/scripts/auctioneer.js @@ -0,0 +1,33 @@ +console.log('le bundle-auctioneer a été généré'); + +const socket = io(); + +const inputName = document.getElementById("name"); +const inputValue = document.getElementById("value"); +const buttonStart = document.getElementById("start"); +const buttonSale = document.getElementById("sale"); + +const prixActuel = document.getElementById("prixactuel"); +prixActuel.textContent = inputValue.value; + +function emptyInput() { + if(inputName.value.trim() === "") { + buttonStart.disabled = true; + } + else { + buttonStart.disabled = false; + } +} + +inputName.addEventListener("input", emptyInput); + +buttonStart.addEventListener("click", startEnchere); + +function startEnchere() { + buttonSale.disabled = false; + const ident = document.getElementById("ident-auc"); + ident.textContent = `Debut de l'enchère pour ${inputName.value} à ${inputValue.value}`; + socket.emit("infos", inputName.value, inputValue.value); +} + + diff --git a/encheres/client/src/scripts/bidder.js b/encheres/client/src/scripts/bidder.js new file mode 100644 index 0000000..1959001 --- /dev/null +++ b/encheres/client/src/scripts/bidder.js @@ -0,0 +1,26 @@ +console.log('le bundle-bidder a été généré'); + +const socket = io(); + +const ident = document.getElementById("ident-bid"); +const description = document.getElementsByClassName("description"); +const prix = document.getElementsByClassName("prix"); + +socket.on("infos", (name, value) => { + ident.textContent = `Une nouvelle enchère commence`; + console.log(name, value); + description.textContent = name; + enchereBegin(name, value); +}); + +function enchereBegin(name, value) { + description[0].textContent = name; + prix[0].textContent = value; +} + +function selectPrice(price) { + console.log(price); +} + + + diff --git a/encheres/client/src/scripts/main.js b/encheres/client/src/scripts/main.js index ad4049a..4d6a117 100644 --- a/encheres/client/src/scripts/main.js +++ b/encheres/client/src/scripts/main.js @@ -2,3 +2,4 @@ console.log('le bundle a été généré'); + \ No newline at end of file diff --git a/encheres/client/src/style/style.css b/encheres/client/src/style/style.css index 993a797..b2a3bd6 100644 --- a/encheres/client/src/style/style.css +++ b/encheres/client/src/style/style.css @@ -4,12 +4,66 @@ body { font-family : Verdana, Helvetica, Arial, sans-serif; background-color: white; margin : 0% 2%; + padding: 50px; + font: 14px "Lucida Grande", Helvetica, Arial, sans-serif; } -kbd { +div { padding : 0px 2px; font-family: "Consolas", "Bitstream Vera Sans Mono", "Courier New", Courier, monospace; color : rgb(60,60,60); font-style : bold; font-size : large; } + +input { + padding: 5px 10px; /* Ajoute un peu de padding pour l'esthétique */ + width: 150px; /* Réduit la largeur de l'input */ +} + +#ident-auc { + border: 2px solid #000; /* Ajoute une bordure noire solide autour du conteneur */ + padding: 10px; /* Ajoute du padding à l'intérieur du conteneur pour ne pas coller au contenu */ + margin: 10px; /* Ajoute un peu d'espace autour du conteneur */ +} + +h1 { + color: #00B7FF; +} +.bidder, #prod-auc{ + display: flex; /* Active Flexbox */ + flex-direction: column; /* Dispose les éléments enfants en colonne */ + gap: 10px; /* Ajoute un espace entre les éléments enfants */ + border: 2px solid #000; /* Ajoute une bordure noire solide autour du conteneur */ + padding: 10px; /* Ajoute du padding à l'intérieur du conteneur pour ne pas coller au contenu */ + margin: 10px; /* Ajoute un peu d'espace autour du conteneur */ +} + +.price-options { + display: flex; + align-items: center; /* Centre les éléments horizontalement */ + gap: 10px; /* Espace entre les éléments */ + border: 2px solid #000; /* Ajoute une bordure noire solide autour du conteneur */ + padding: 10px; /* Ajoute du padding à l'intérieur du conteneur pour ne pas coller au contenu */ + margin: 10px; /* Ajoute un peu d'espace autour du conteneur */ +} + +.price-options p { + margin: 0; /* Supprime la marge par défaut pour aligner correctement le texte */ + font-size: 18px; /* Taille du texte */ + color: #333; /* Couleur du texte */ +} + +.price-button { + padding: 10px 20px; /* Padding autour du texte */ + font-size: 16px; /* Taille du texte */ + color: white; /* Couleur du texte */ + background-color: #007bff; /* Couleur de fond du bouton */ + border: none; /* Pas de bordure */ + border-radius: 5px; /* Bordures arrondies */ + cursor: pointer; /* Change le curseur en main au survol */ +} + +.price-button:hover { + background-color: #0056b3; /* Couleur de fond du bouton au survol */ +} diff --git a/encheres/client/webpack.config.js b/encheres/client/webpack.config.js index 97f6640..2d149ed 100644 --- a/encheres/client/webpack.config.js +++ b/encheres/client/webpack.config.js @@ -8,11 +8,15 @@ const HtmlWebpackPlugin = require('html-webpack-plugin'); const PRODUCTION = false; module.exports = { - entry: path.resolve(__dirname, 'src', 'scripts', 'main.js'), + entry: { + main: path.resolve(__dirname, 'src', 'scripts', 'main.js'), + bidder: path.resolve(__dirname, 'src', 'scripts', 'bidder.js'), + auctioneer: path.resolve(__dirname, 'src', 'scripts', 'auctioneer.js'), + }, output: { path: path.resolve(__dirname, '../server/public'), - filename: 'scripts/bundle.js' + filename: 'scripts/[name]-bundle.js' }, mode : (PRODUCTION ? 'production' : 'development'), @@ -31,7 +35,7 @@ module.exports = { module: { rules: [ { - test: /\.m?js$/, + test: /\.(m?js$|jsx)/, exclude: /(node_modules)/, use: { loader: 'babel-loader' @@ -59,18 +63,33 @@ module.exports = { new HtmlWebpackPlugin({ template: path.resolve(__dirname,'src', 'index.html'), filename: './index.html', - hash: true, + chunks : ['main'], + hash: true + }), + new HtmlWebpackPlugin({ + template: path.resolve(__dirname, 'src', 'html', 'auctioneer.html'), + filename: 'html/auctioneer.html', + chunks : ['auctioneer'], + hash: true + }), + new HtmlWebpackPlugin({ + template: path.resolve(__dirname, 'src', 'html', 'bidder.html'), + filename: 'html/bidder.html', + chunks : ['bidder'], + hash: true }), new CopyPlugin({ patterns: [ - { // décommenter ce bloc pour copier les fichiers de src/html dans dist/html + { context: path.resolve(__dirname, 'src', 'html'), from: "**/*.html", to: 'html', noErrorOnMissing: true, - globOptions: { } + globOptions: { + ignore: ["**/auctioneer.html", "**/bidder.html"], + } }, - { // décommenter ce bloc pour copier les fichiers de src/images dans dist/images + { context: path.resolve(__dirname, 'src','images'), from: '**/*', to: 'images/[name][ext]', @@ -87,15 +106,15 @@ module.exports = { ], - /* en cas de gestion de bibliothèques externes à exclure du buncle, ici cas de React pour l'exemple + /**gestion de bibliothèques externes à exclure du bundle, ici cas de React externals : { react: 'React', - react-dom: 'ReactDom', - }, - */ + reactdom: 'ReactDom' + },**/ + optimization: { minimize: true, - minimizer: [new TerserPlugin()] + minimizer: [new TerserPlugin()], } } -- GitLab