Tracking de l'application VNode (moteur du jeu, services, broker.. etc

This commit is contained in:
2025-05-11 18:06:20 +02:00
parent 89e9db9b62
commit 4b4060bc8b
187 changed files with 29906 additions and 0 deletions

View File

@@ -0,0 +1,52 @@
const fs = require('fs');
const mqtt = require('mqtt');
// Lecture du fichier de configuration
const config = JSON.parse(fs.readFileSync('\services\\config\\config_game.json', 'utf8'));
// Extraction des informations de config
const { services: { mqttHost, quizzcollector: { MQTTconfig: { mqttQuizzCollectorListTopic, mqttQuizzCollectorCmdTopic } } } } = config;
// Configuration
const folderPath = 'quizz'; // Remplace par le chemin de ton dossier
// Connexion au broker MQTT
const client = mqtt.connect(mqttHost);
client.on('connect', () => {
console.log('Connecté au broker MQTT');
client.subscribe(mqttQuizzCollectorCmdTopic, (err) => {
if (err) {
console.error("Erreur lors de l'abonnement au topic de commande:", err);
} else {
console.log(`Abonné au topic ${mqttQuizzCollectorCmdTopic}`);
}
});
});
client.on('message', (topic, message) => {
if (topic === mqttQuizzCollectorCmdTopic) {
console.log('Commande reçue, lecture du dossier en cours...');
Collect();
}
});
function Collect() {
fs.readdir(folderPath, (err, files) => {
if (err) {
console.error('Erreur lors de la lecture du dossier:', err);
return;
}
console.log('Dossiers trouvés:', files);
const message = JSON.stringify( files );
client.publish(mqttQuizzCollectorListTopic, message, { qos: 1 }, (err) => {
if (err) {
console.error('Erreur lors de la publication MQTT:', err);
} else {
console.log('Liste des fichiers publiée sur MQTT');
}
});
});
}