mirror of
https://github.com/MasterAcnolo/Freedom-Loader.git
synced 2026-07-29 18:25:47 +02:00
It Works on my machine
This commit is contained in:
2
.gitignore
vendored
2
.gitignore
vendored
@@ -2,3 +2,5 @@
|
||||
/downloads
|
||||
/dist
|
||||
yt-dlp.exe
|
||||
out/
|
||||
forge.config.js
|
||||
BIN
build/installer-icon.ico
Normal file
BIN
build/installer-icon.ico
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 264 KiB |
BIN
build/uninstaller-icon.ico
Normal file
BIN
build/uninstaller-icon.ico
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 264 KiB |
22
main.js
22
main.js
@@ -1,7 +1,8 @@
|
||||
const { app, BrowserWindow } = require("electron");
|
||||
const path = require("path");
|
||||
|
||||
function createWindow() {
|
||||
async function createWindow() {
|
||||
console.log("🟢 Création de la fenêtre...");
|
||||
const win = new BrowserWindow({
|
||||
width: 1000,
|
||||
height: 700,
|
||||
@@ -11,16 +12,25 @@ function createWindow() {
|
||||
},
|
||||
});
|
||||
|
||||
// Charge ton frontend côté serveur Express
|
||||
win.loadURL("http://localhost:8080"); // Express tournera comme d’habitude
|
||||
win.loadURL("http://localhost:8080")
|
||||
.then(() => console.log("✅ Fenêtre chargée"))
|
||||
.catch(err => console.error("❌ Erreur chargement fenêtre:", err));
|
||||
}
|
||||
|
||||
app.whenReady().then(() => {
|
||||
// lancer Express avant d’ouvrir Electron
|
||||
app.whenReady().then(async () => {
|
||||
console.log("🟢 App prête, démarrage du serveur Express...");
|
||||
const expressServer = require("./server/server.js");
|
||||
createWindow();
|
||||
try {
|
||||
await expressServer.startServer();
|
||||
console.log("✅ Serveur Express démarré");
|
||||
await createWindow();
|
||||
} catch (error) {
|
||||
console.error("❌ Erreur serveur ou fenêtre :", error);
|
||||
app.quit();
|
||||
}
|
||||
});
|
||||
|
||||
app.on("window-all-closed", () => {
|
||||
console.log("🛑 Toutes fenêtres fermées, quitte l'app");
|
||||
if (process.platform !== "darwin") app.quit();
|
||||
});
|
||||
|
||||
7460
package-lock.json
generated
7460
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
56
package.json
56
package.json
@@ -1,12 +1,58 @@
|
||||
{
|
||||
"devDependencies": {
|
||||
"electron": "^37.1.0"
|
||||
},
|
||||
"name": "freedom-loader",
|
||||
"productName": "Freedom Loader",
|
||||
"version": "1.0.0",
|
||||
"author": "MasterAcnolo",
|
||||
"description": "Freedom Loader, parce que nous le valons bien",
|
||||
|
||||
"main": "main.js",
|
||||
|
||||
"scripts": {
|
||||
"start": "electron ."
|
||||
"start": "electron-forge start",
|
||||
"package": "electron-forge package",
|
||||
"make": "electron-forge make",
|
||||
"dist": "electron-builder"
|
||||
},
|
||||
|
||||
"dependencies": {
|
||||
"express": "^5.1.0"
|
||||
"express": "^5.1.0",
|
||||
"electron-squirrel-startup": "^1.0.1"
|
||||
},
|
||||
|
||||
"devDependencies": {
|
||||
"electron": "^37.1.0",
|
||||
"electron-builder": "^26.0.12"
|
||||
},
|
||||
|
||||
|
||||
"build": {
|
||||
"appId": "com.masteracnolo.freedomloader",
|
||||
"productName": "Freedom Loader",
|
||||
|
||||
"files": [
|
||||
"**/*"
|
||||
],
|
||||
|
||||
"directories": {
|
||||
"buildResources": "build"
|
||||
},
|
||||
"asar": false,
|
||||
|
||||
"win": {
|
||||
"target": "nsis",
|
||||
"icon": "build/installer-icon.ico"
|
||||
|
||||
},
|
||||
|
||||
"nsis": {
|
||||
"oneClick": false,
|
||||
"perMachine": true,
|
||||
"allowToChangeInstallationDirectory": true,
|
||||
"installerIcon": "build/installer-icon.ico",
|
||||
"uninstallerIcon": "build/uninstaller-icon.ico",
|
||||
"createDesktopShortcut": true,
|
||||
"createStartMenuShortcut": true,
|
||||
"shortcutName": "Freedom Loader"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -26,13 +26,34 @@ app.locals.outputFolder = outputFolder;
|
||||
app.use(express.urlencoded({ extended: true }));
|
||||
|
||||
// servir le dossier public comme site
|
||||
app.use(express.static("public"));
|
||||
// app.use(express.static("public"));
|
||||
app.use(express.static(path.join(__dirname, "../public")));
|
||||
|
||||
|
||||
// routes
|
||||
app.use("/download", downloadRoute); // ex: /download
|
||||
app.use("/info", infoRoute); // ex: /info
|
||||
|
||||
app.listen(8080, () => {
|
||||
console.log("🟢 Serveur prêt sur http://localhost:8080");
|
||||
console.log("📂 Dossier de sortie :", outputFolder);
|
||||
app.get("/", (req, res) => {
|
||||
res.sendFile(path.join(__dirname, "../public/index.html"));
|
||||
});
|
||||
|
||||
// Export d'une fonction startServer qui retourne une promesse
|
||||
function startServer() {
|
||||
return new Promise((resolve, reject) => {
|
||||
console.log("🟢 Démarrage du serveur Express...");
|
||||
const serverInstance = app.listen(8080, () => {
|
||||
console.log("🟢 Serveur Express prêt sur http://localhost:8080");
|
||||
resolve(serverInstance);
|
||||
});
|
||||
serverInstance.on('error', (err) => {
|
||||
console.error("❌ Erreur serveur Express :", err);
|
||||
reject(err);
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
app.get("/", (req, res) => {
|
||||
res.sendFile(path.join(__dirname, "../public/index.html"));
|
||||
});
|
||||
module.exports = { startServer };
|
||||
|
||||
Reference in New Issue
Block a user