diff --git a/encheres/client/.babelrc b/encheres/client/.babelrc
deleted file mode 100644
index e94b0a62fc1d4810bd67de7be6602f3636baff5a..0000000000000000000000000000000000000000
--- 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 33ec98cee75f67668864007cae0ba95305813657..c2c0fdb499143e580bda2327c868053ca14aa05e 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 cf4f3ab5de5fa46337787e12587dedb52cdba690..3b11b7a156dbc98e9eab6af6cc637a3fc89ab853 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 0000000000000000000000000000000000000000..053083c95a113be1c0e946f10117a31adbb7e360
--- /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 0000000000000000000000000000000000000000..5d4a9e0c07498c1e0255359400b69547e7d38a5b
--- /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 0000000000000000000000000000000000000000..0a6f227f9cd87202ffd0d034a037e54f48624fbc
--- /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
Binary files /dev/null and b/encheres/client/src/images/start.jpg differ
diff --git a/encheres/client/src/index.html b/encheres/client/src/index.html
index 2d8818e0bcc12f0ebde549c96e7ccf43c18c5f11..ba4ab2457c62216e05df5ebc4bd36a0f64f5e114 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&nbsp;: <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 0000000000000000000000000000000000000000..af85e8bc976bcb2d32219d383556cd20fa228407
--- /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 0000000000000000000000000000000000000000..1959001c1fa56e50eead1e41e6c6fd3fef8220cb
--- /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 ad4049a136e3e5a9001cce4531cece5ca82ddd76..4d6a117fda2e8d47e9d51f38e648739879a17483 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 993a797e063f4289a763f60d5cd2238659305b8f..b2a3bd6165de05266ac18d6e5d9499cf86f02d9f 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 97f66402b0f4a801c470b12602493b688e08f8e5..2d149ed07b1dced3f7d322770bcfb146f4bbb2a5 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()],
   }
 }