(update) Mise à jour de Score-Manager.js pour mettre en forme le debug de console)

This commit is contained in:
2026-02-03 21:05:55 +01:00
parent 07d76a7669
commit bab961ace7

View File

@@ -33,14 +33,14 @@ fs.access(filePath, fs.constants.F_OK, (err) => {
// Le fichier existe, on le lit et on le parse en JSON
fs.readFile(filePath, 'utf8', (err, data) => {
if (err) {
console.error("Erreur de lecture du fichier :", err);
console.error("[ERREUR] Erreur de lecture du fichier :", err);
return;
}
try {
global.jsonData = JSON.parse(data);
console.log("Propriétés importées depuis le fichier JSON :");
console.log("[INFO] Propriétés importées depuis le fichier JSON :");
} catch (parseErr) {
console.error("Erreur de parsing JSON :", parseErr);
console.error("[ERREUR] Erreur de parsing JSON :", parseErr);
}
});
} else {
@@ -82,10 +82,10 @@ fs.access(filePath, fs.constants.F_OK, (err) => {
fs.writeFile(newFilePath, JSON.stringify(initialContent, null, 2), (err) => {
if (err) {
console.error("Erreur de création du fichier :", err);
console.error("[ERREUR] Erreur de création du fichier :", err);
return;
}
console.log(`Fichier JSON créé avec succès : ${newFilePath}`);
console.log(`[INFO] Fichier JSON créé avec succès : ${newFilePath}`);
// Mettre à jour ScoreFile et filePath
// Charger les données initiales si nécessaire
@@ -99,14 +99,14 @@ fs.access(filePath, fs.constants.F_OK, (err) => {
function updateTeamTotalScore(teamColor, points) {
fs.readFile(filePath, 'utf8', (err, data) => {
if (err) {
console.error("Erreur de lecture du fichier :", err);
console.error("[ERREUR] Erreur de lecture du fichier :", err);
return;
}
try {
const jsonData = JSON.parse(data);
// Vérifier si l'équipe existe
if (!jsonData.TEAM.hasOwnProperty(teamColor)) {
console.error(`L'équipe ${teamColor} n'existe pas.`);
console.error(`[ERREUR] L'équipe ${teamColor} n'existe pas.`);
return;
}
@@ -118,18 +118,18 @@ function updateTeamTotalScore(teamColor, points) {
// Update global state
global.jsonData = jsonData;
console.log(`Le score total pour l'équipe ${teamColor} est de ${jsonData.TEAM[teamColor].TotalScore} points !`)
console.log(`[INFO] Le score total pour l'équipe ${teamColor} est de ${jsonData.TEAM[teamColor].TotalScore} points !`)
// Enregistrer les modifications dans le fichier
client.publish(mqttScoreTopic, JSON.stringify(jsonData));
fs.writeFile(filePath, JSON.stringify(jsonData, null, 2), (err) => {
if (err) {
console.error("Erreur lors de l'écriture du fichier :", err);
console.error("[ERREUR] Erreur lors de l'écriture du fichier :", err);
} else {
console.log(`Le score total de l'équipe ${teamColor} a été mis à jour avec succès dans le fichier json !`);
console.log(`[INFO] Le score total de l'équipe ${teamColor} a été mis à jour avec succès dans le fichier json !`);
}
});
} catch (parseErr) {
console.error("Erreur de parsing JSON :", parseErr);
console.error("[ERREUR] Erreur de parsing JSON :", parseErr);
}
});
}
@@ -141,24 +141,26 @@ const config = JSON.parse(fs.readFileSync(configPath, 'utf8'));
// Extraction des informations de config
const { mqttHost, services: { score: { MQTTconfig: { mqttScoreTopic, mqttScoreChangeTopic, mqttScoreRequestTopic } } } } = config;
console.log("DEBUG: Config loaded from:", configPath);
console.log("DEBUG: MQTT Host:", mqttHost);
console.log("DEBUG: Topics:", mqttScoreTopic, mqttScoreChangeTopic, mqttScoreRequestTopic);
console.log("------------------------------------------------------------------------------");
console.log("[CONFIG] Configuration chargée depuis :", configPath);
console.log("[CONFIG] Hôte MQTT :", mqttHost);
console.log("[CONFIG] Topics chargés :", mqttScoreTopic, mqttScoreChangeTopic, mqttScoreRequestTopic);
console.log("------------------------------------------------------------------------------");
// Connexion au broker MQTT
const client = mqtt.connect(mqttHost);
client.on('connect', () => {
console.log(`Connecté au broker MQTT à ${mqttHost}`);
console.log(`[INFO] Connecté au broker MQTT à ${mqttHost}`);
client.subscribe(mqttScoreChangeTopic, (err) => {
if (err) console.error('[ERROR] impossible de souscrire au topic de gestion du score total');
else console.log(`[INFO] Souscription réalisée avec succès au topic ${mqttScoreChangeTopic}]`);
if (err) console.error('[ERREUR] impossible de souscrire au topic de gestion du score total');
else console.log(`[INFO] Souscription réalisée avec succès au topic ${mqttScoreChangeTopic}`);
});
client.subscribe(mqttScoreRequestTopic, (err) => {
if (err) console.error('[ERROR] impossible de souscrire au topic de demande de score');
else console.log(`[INFO] Souscription réalisée avec succès au topic ${mqttScoreRequestTopic}]`);
if (err) console.error('[ERREUR] impossible de souscrire au topic de demande de score');
else console.log(`[INFO] Souscription réalisée avec succès au topic ${mqttScoreRequestTopic}`);
});
});
@@ -172,7 +174,7 @@ client.on('message', (topic, message) => {
client.publish(mqttScoreTopic, JSON.stringify(global.jsonData));
console.log(`[INFO] Scores envoyés sur ${mqttScoreTopic}`);
} else {
console.warn("[WARN] Aucune donnée de score disponible pour le rafraîchissement.");
console.warn("[INFO] Aucune donnée de score disponible pour le rafraîchissement");
}
return; // Fin du traitement pour ce message
}
@@ -188,7 +190,7 @@ client.on('message', (topic, message) => {
// Analyse du message reçu
payload = JSON.parse(message.toString());
} catch (e) {
console.error(`[ERROR] Invalid JSON message received on topic ${topic}: ${message.toString()}`);
console.error(`[ERREUR] Invalid JSON message received on topic ${topic}: ${message.toString()}`);
return;
}
// Vérifie que le payload est bien un objet
@@ -223,7 +225,7 @@ client.on('message', (topic, message) => {
if (!isNaN(change)) {
updateTeamTotalScore(Team, change);
} else {
console.error(`Action invalide : ${Action}`);
console.error(`[ERREUR] Action invalide : ${Action}`);
}
}
}
@@ -234,7 +236,7 @@ client.on('message', (topic, message) => {
function updateTeamScoreAbsolute(teamColor, totalScore, roundScore) {
fs.readFile(filePath, 'utf8', (err, data) => {
if (err) {
console.error("Erreur de lecture du fichier :", err);
console.error("[ERREUR] Erreur de lecture du fichier :", err);
return;
}
try {
@@ -258,24 +260,21 @@ function updateTeamScoreAbsolute(teamColor, totalScore, roundScore) {
client.publish(mqttScoreTopic, JSON.stringify(jsonData));
fs.writeFile(filePath, JSON.stringify(jsonData, null, 2), (err) => {
if (err) console.error("Erreur d'écriture :", err);
if (err) console.error("[ERREUR] Erreur d'écriture :", err);
});
} catch (parseErr) {
console.error("Erreur JSON :", parseErr);
console.error("[ERREUR] Erreur JSON :", parseErr);
}
});
}
(async () => {
while (true) {
console.log("Boucle en arrière-plan");
await new Promise((resolve) => setTimeout(resolve, 2000)); // Pause de 2 secondes
//client.publish(mqttScoreTopic, JSON.stringify(global.jsonData));
}
})();
client.on('error', (error) => {
console.error('Erreur de connexion au broker MQTT:', error.message);
console.error("[ERREUR] Erreur de connexion au broker MQTT:", error.message);
});