//sur le master on cree l'interface "use strict"; var gui = require('nw.gui'); var CustomTrayMenu = require('./js/custom-tray-menu'); var win = gui.Window.get(); global.main_win = win; //Test la presence du fichier de config var fs = require('fs.extra'); fs.exists('config.js', function(exists) { if (!exists) { console.log('Config.js a été ré-initialisé'); fs.copy('config.js_example','config.js'); var child_process = require('child_process'); // exec: spawns a shell. var cp = child_process.exec('start notepad "config.js"', function(error, stdout, stderr){ //var gui = require('nw.gui'); //gui.App.closeAllWindows(); //global.main_server.kill(); //gui.App.quit(); }); cp.on('exit',function(stream){ var gui = require('nw.gui'); gui.App.closeAllWindows(); //global.main_server.kill(); gui.App.quit(); }); } else{ //lancement normal var config = require('./config'); //Prevenir des informations de config if( typeof config.auth_user !== 'undefined' && typeof config.auth_password !== 'undefined' ){ console.log("SAFE MODE: votre serveur est protégé par mot de passe."); } else{ console.log("UNSAFE MODE: configurez un auth_user et auth_password dans le fichier config.js"); } if( typeof config.database !== undefined){ fs.exists(config.database, function(exists) { if (!exists) { console.log("La base plex n'existe pas. Mettez à jour le champ DATABASE du fichier config.js"); } else{ console.log("La base plex a bien été trouvée."); } }); } else{ console.log("La base plex n'est pas définie. Mettez à jour le champ DATABASE du fichier config.js"); } // Extend application menu for Mac OS if (process.platform == "darwin") { var menu = new gui.Menu({type: "menubar"}); menu.createMacBuiltin && menu.createMacBuiltin(window.document.title); win.menu = menu; } var $ = function (selector) { return document.querySelector(selector); } var customTray; customTray = new CustomTrayMenu('views/custom-tray-menu.html', 'public/icon.png', { width: 200, height: 180 }); //lancement du serveur var child_process = require('child_process'); global.main_server = child_process.exec('serveur.bat', function (error, stdout, stderr) { console.log('stdout: ' + stdout); console.log('stderr: ' + stderr); if (error !== null) { console.log('exec error: ' + error); } }); //on tue le serveur quand on quite l'interface process.on('exit', function (exitCode) { child_process.kill(); }); } }); win.hide();