From ddbd00ae3f62db3575540a9e92506a8d36a89f68 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=A9my=20CHOMAZ?= Date: Sun, 1 Feb 2026 13:39:35 +0100 Subject: [PATCH 01/12] Update components and remove BrainBlastBar.vue -> VultureBar.vue --- VApp/src/components/BrainBlastBar.vue | 10 ---------- VApp/src/components/VultureBar.vue | 10 ++++++++++ 2 files changed, 10 insertions(+), 10 deletions(-) delete mode 100644 VApp/src/components/BrainBlastBar.vue create mode 100644 VApp/src/components/VultureBar.vue diff --git a/VApp/src/components/BrainBlastBar.vue b/VApp/src/components/BrainBlastBar.vue deleted file mode 100644 index 12b848ba..00000000 --- a/VApp/src/components/BrainBlastBar.vue +++ /dev/null @@ -1,10 +0,0 @@ - - - diff --git a/VApp/src/components/VultureBar.vue b/VApp/src/components/VultureBar.vue new file mode 100644 index 00000000..ba89fb35 --- /dev/null +++ b/VApp/src/components/VultureBar.vue @@ -0,0 +1,10 @@ + + + -- 2.49.1 From f855601217596a357c70ced6ce6b5a17167e854b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=A9my=20CHOMAZ?= Date: Sun, 1 Feb 2026 13:41:09 +0100 Subject: [PATCH 02/12] update the configuration file to be in unique file --- VNode/services/config/configuration.json | 30 ++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 VNode/services/config/configuration.json diff --git a/VNode/services/config/configuration.json b/VNode/services/config/configuration.json new file mode 100644 index 00000000..a930515f --- /dev/null +++ b/VNode/services/config/configuration.json @@ -0,0 +1,30 @@ +{ + "mqttHost": "mqtt://192.168.1.201", + "services": { + "score": { + "MQTTconfig": { + "mqttScoreTopic": "game/score", + "mqttScoreChangeTopic": "game/score/update" + } + }, + "quizzcollector": { + "MQTTconfig": { + "mqttQuizzCollectorListTopic": "game/quizz-collector/list", + "mqttQuizzCollectorCmdTopic": "game/quizz-collector/cmd" + } + } + }, + "hosts": { + "buzzers": { + "IP": { + "redBuzzerIP": "8.8.8.6", + "blueBuzzerIP": "8.8.8.8", + "greenBuzzerIP": "8.8.8.8", + "yellowBuzzerIP": "8.8.8.8" + }, + "MQTTconfig": { + "mqttTopic": "buzzer/watcher" + } + } + } +} -- 2.49.1 From de8f8f051fdb41cb98670a927adb3ff1ecf8ed85 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=A9my=20CHOMAZ?= Date: Sun, 1 Feb 2026 13:43:09 +0100 Subject: [PATCH 03/12] =?UTF-8?q?Patch=20des=20soucis=20de=20passage=20d'u?= =?UTF-8?q?ne=20page=20=C3=A0=20une=20autre?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- VApp/src/App.vue | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/VApp/src/App.vue b/VApp/src/App.vue index 7b7c5a16..eb6f81b3 100644 --- a/VApp/src/App.vue +++ b/VApp/src/App.vue @@ -1,19 +1,28 @@ -- 2.49.1 From 7413a2a78f7cd29e6de929f4384c4ce84bfacb86 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=A9my=20CHOMAZ?= Date: Sun, 1 Feb 2026 13:48:53 +0100 Subject: [PATCH 05/12] =?UTF-8?q?Mise=20=C3=A0=20jour=20du=20fichier=20de?= =?UTF-8?q?=20configuration=20et=20patch=20MQTT?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- VNode/services/buzzer/buzzer-manager.js | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/VNode/services/buzzer/buzzer-manager.js b/VNode/services/buzzer/buzzer-manager.js index 1c63f3ee..d2ded3fc 100644 --- a/VNode/services/buzzer/buzzer-manager.js +++ b/VNode/services/buzzer/buzzer-manager.js @@ -1,8 +1,14 @@ // Import necessary modules const mqtt = require('mqtt'); +const fs = require('fs'); +const path = require('path'); + +// Load configuration +const configPath = path.join(__dirname, '../config/configuration.json'); +const config = JSON.parse(fs.readFileSync(configPath, 'utf8')); // MQTT broker configuration -const brokerUrl = 'mqtt://nanomq'; // Broker URL (change if needed) +const brokerUrl = config.mqttHost; const clientId = 'buzzer_manager'; const options = { clientId, -- 2.49.1 From ad9b29ca9343e644b38a4f29058bd49bebb802d8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=A9my=20CHOMAZ?= Date: Sun, 1 Feb 2026 13:49:11 +0100 Subject: [PATCH 06/12] =?UTF-8?q?Mise=20=C3=A0=20jour=20du=20fichier=20de?= =?UTF-8?q?=20configuration=20et=20patch=20MQTT?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- VNode/services/buzzer/buzzer-watcher.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/VNode/services/buzzer/buzzer-watcher.js b/VNode/services/buzzer/buzzer-watcher.js index 498d10e5..fbf4ab54 100644 --- a/VNode/services/buzzer/buzzer-watcher.js +++ b/VNode/services/buzzer/buzzer-watcher.js @@ -4,10 +4,10 @@ const mqtt = require('mqtt'); const fs = require('fs'); // Lecture du fichier de configuration -const config = JSON.parse(fs.readFileSync(path.join('services','config','config_network.json'), 'utf8')); +const config = JSON.parse(fs.readFileSync(path.join(__dirname, '../config/configuration.json'), 'utf8')); // Extraction des informations de config -const { hosts: { buzzers: { IP: buzzerIPs, MQTTconfig: { mqttHost, mqttTopic } } } } = config; +const { mqttHost, hosts: { buzzers: { IP: buzzerIPs, MQTTconfig: { mqttTopic } } } } = config; // Connexion au broker MQTT const client = mqtt.connect(mqttHost); -- 2.49.1 From ee4c2604db66ccd73330dadddcd771a67de38011 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=A9my=20CHOMAZ?= Date: Sun, 1 Feb 2026 13:49:54 +0100 Subject: [PATCH 07/12] Retrait des anciens fichiers de configuration --- VNode/services/config/config_game.json | 17 ----------------- VNode/services/config/config_network.json | 16 ---------------- 2 files changed, 33 deletions(-) delete mode 100644 VNode/services/config/config_game.json delete mode 100644 VNode/services/config/config_network.json diff --git a/VNode/services/config/config_game.json b/VNode/services/config/config_game.json deleted file mode 100644 index 9d873038..00000000 --- a/VNode/services/config/config_game.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "services": { - "mqttHost": "mqtt://nanomq", - "score": { - "MQTTconfig": { - "mqttScoreTopic": "game/score", - "mqttScoreChangeTopic": "game/score/update" - } - }, - "quizzcollector": { - "MQTTconfig": { - "mqttQuizzCollectorListTopic": "game/quizz-collector/list", - "mqttQuizzCollectorCmdTopic": "game/quizz-collector/cmd" - } - } - } -} \ No newline at end of file diff --git a/VNode/services/config/config_network.json b/VNode/services/config/config_network.json deleted file mode 100644 index fa788824..00000000 --- a/VNode/services/config/config_network.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "hosts": { - "buzzers": { - "IP": { - "redBuzzerIP": "192.168.73.40", - "blueBuzzerIP": "192.168.73.41", - "greenBuzzerIP": "192.168.73.42", - "yellowBuzzerIP": "192.168.73.43" - }, - "MQTTconfig": { - "mqttHost": "mqtt://nanomq", - "mqttTopic": "buzzer/watcher" - } - } - } -} \ No newline at end of file -- 2.49.1 From 353541541d7205eea749fdf8c63e2df605dcb745 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=A9my=20CHOMAZ?= Date: Sun, 1 Feb 2026 13:50:25 +0100 Subject: [PATCH 08/12] =?UTF-8?q?Mise=20=C3=A0=20jour=20du=20fichier=20de?= =?UTF-8?q?=20configuration=20et=20patch=20MQTT?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- VNode/services/game/quizz-collector.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/VNode/services/game/quizz-collector.js b/VNode/services/game/quizz-collector.js index 1edbea59..63300539 100644 --- a/VNode/services/game/quizz-collector.js +++ b/VNode/services/game/quizz-collector.js @@ -3,10 +3,10 @@ const mqtt = require('mqtt'); const path = require('path'); // Lecture du fichier de configuration -const config = JSON.parse(fs.readFileSync(path.join('services','config','config_game.json'), 'utf8')); +const config = JSON.parse(fs.readFileSync(path.join(__dirname, '../config/configuration.json'), 'utf8')); // Extraction des informations de config -const { services: { mqttHost, quizzcollector: { MQTTconfig: { mqttQuizzCollectorListTopic, mqttQuizzCollectorCmdTopic } } } } = config; +const { mqttHost, services: { quizzcollector: { MQTTconfig: { mqttQuizzCollectorListTopic, mqttQuizzCollectorCmdTopic } } } } = config; // Configuration const folderPath = 'quizz'; // Remplace par le chemin de ton dossier @@ -39,9 +39,9 @@ function Collect() { console.error('Erreur lors de la lecture du dossier:', err); return; } - + console.log('Dossiers trouvés:', files); - const message = JSON.stringify( files ); + const message = JSON.stringify(files); client.publish(mqttQuizzCollectorListTopic, message, { qos: 1 }, (err) => { if (err) { console.error('Erreur lors de la publication MQTT:', err); -- 2.49.1 From 70fb7cbceaa3d0f589a745e6c864bb6c48ca4c7a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=A9my=20CHOMAZ?= Date: Sun, 1 Feb 2026 13:51:57 +0100 Subject: [PATCH 09/12] =?UTF-8?q?Mise=20=C3=A0=20jour=20des=20couleur=20et?= =?UTF-8?q?=20du=20th=C3=A8me?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- VApp/src/plugins/vuetify.js | 61 +++++++++++++++++++------------------ 1 file changed, 32 insertions(+), 29 deletions(-) diff --git a/VApp/src/plugins/vuetify.js b/VApp/src/plugins/vuetify.js index 4fa2f79f..bd7d687c 100644 --- a/VApp/src/plugins/vuetify.js +++ b/VApp/src/plugins/vuetify.js @@ -13,36 +13,38 @@ import { createVuetify } from 'vuetify' const CustomThemeDark = { dark: true, - colors: { - background: '#121212', - primary: '#d42828', - secondary: '#F44336', - accent: '#FFC107', - error: '#e91e1e', - warning: '#FFC107', - info: '#607D8B', - success: '#15B01B', - BlueBuzzer: '#2867d4', - YellowBuzzer: '#D4D100', - RedBuzzer: '#d42828', + colors: { + background: '#121212', + primary: '#d42828', + secondary: '#F44336', + accent: '#FFC107', + error: '#e91e1e', + warning: '#FFC107', + info: '#607D8B', + inactiveButton: '#707070ff', + success: '#15B01B', + BlueBuzzer: '#2867d4', + YellowBuzzer: '#D4D100', + RedBuzzer: '#d42828', GreenBuzzer: '#28d42e', DisconnectedBuzzer: '#595959', } } const CustomThemeLight = { dark: false, - colors: { - background: '#ffffff', - primary: '#d42828', - secondary: '#F44336', - accent: '#FFC107', - error: '#e91e1e', - warning: '#FFC107', - info: '#607D8B', - success: '#4CAF50', - BlueBuzzer: '#2867d4', - YellowBuzzer: '#D4D100', - RedBuzzer: '#d42828', + colors: { + background: '#ffffff', + primary: '#d42828', + secondary: '#F44336', + accent: '#FFC107', + error: '#e91e1e', + warning: '#FFC107', + info: '#607D8B', + inactiveButton: '#707070ff', + success: '#4CAF50', + BlueBuzzer: '#2867d4', + YellowBuzzer: '#D4D100', + RedBuzzer: '#d42828', GreenBuzzer: '#28d42e', DisconnectedBuzzer: '#595959', } @@ -50,10 +52,11 @@ const CustomThemeLight = { // https://vuetifyjs.com/en/introduction/why-vuetify/#feature-guides export default createVuetify({ - theme: { - defaultTheme: 'CustomThemeDark', - themes: { - CustomThemeDark, - CustomThemeLight, }, + theme: { + defaultTheme: 'CustomThemeDark', + themes: { + CustomThemeDark, + CustomThemeLight, + }, }, }) -- 2.49.1 From bcec23a751118035236d2a4366cf1d518fe1483b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=A9my=20CHOMAZ?= Date: Sun, 1 Feb 2026 13:52:24 +0100 Subject: [PATCH 10/12] =?UTF-8?q?Mise=20=C3=A0=20jour=20du=20fichier=20de?= =?UTF-8?q?=20configuration=20et=20patch=20MQTT?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- VNode/services/game/score-manager.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/VNode/services/game/score-manager.js b/VNode/services/game/score-manager.js index c1317517..519e363a 100644 --- a/VNode/services/game/score-manager.js +++ b/VNode/services/game/score-manager.js @@ -132,11 +132,11 @@ function updateTeamTotalScore(teamColor, points) { // Lecture du fichier de configuration -const configPath = path.join(__dirname, '../config/config_game.json'); +const configPath = path.join(__dirname, '../config/configuration.json'); const config = JSON.parse(fs.readFileSync(configPath, 'utf8')); // Extraction des informations de config -const { services: { mqttHost, score: { MQTTconfig: { mqttScoreTopic, mqttScoreChangeTopic } } } } = config; +const { mqttHost, services: { score: { MQTTconfig: { mqttScoreTopic, mqttScoreChangeTopic } } } } = config; console.log("DEBUG: Config loaded from:", configPath); console.log("DEBUG: MQTT Host:", mqttHost); console.log("DEBUG: Topics:", mqttScoreTopic, mqttScoreChangeTopic); -- 2.49.1 From 0244854ddb9b29f1df11c4628caa4aabff6aba44 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=A9my=20CHOMAZ?= Date: Sun, 1 Feb 2026 13:53:36 +0100 Subject: [PATCH 11/12] patch MQTT --- VApp/src/components/CardButtonScore.vue | 63 +++++++++++++++---------- 1 file changed, 37 insertions(+), 26 deletions(-) diff --git a/VApp/src/components/CardButtonScore.vue b/VApp/src/components/CardButtonScore.vue index 5f3c1471..b1c4201a 100644 --- a/VApp/src/components/CardButtonScore.vue +++ b/VApp/src/components/CardButtonScore.vue @@ -59,7 +59,7 @@