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'); } }); }); }