diff --git a/.replit b/.replit index 22a2415..ad64fe1 100644 --- a/.replit +++ b/.replit @@ -14,10 +14,6 @@ run = ["npm", "run", "start"] localPort = 5000 externalPort = 80 -[[ports]] -localPort = 35739 -externalPort = 3002 - [[ports]] localPort = 40537 externalPort = 3000 diff --git a/server/index.ts b/server/index.ts index 7f5ab2a..b166f94 100644 --- a/server/index.ts +++ b/server/index.ts @@ -4,6 +4,7 @@ import passport from "./auth"; import { registerRoutes } from "./routes"; import { setupVite, serveStatic, log } from "./vite"; import { schedulerService } from "./services/scheduler"; +import { ensureAdminUserExists } from "./init-admin"; const app = express(); @@ -98,9 +99,12 @@ app.use((req, res, next) => { port, host: "0.0.0.0", reusePort: true, - }, () => { + }, async () => { log(`serving on port ${port}`); + // Initialiser l'utilisateur admin par défaut + await ensureAdminUserExists(); + // Démarrer le scheduler pour les publications programmées schedulerService.start(); }); diff --git a/server/init-admin.ts b/server/init-admin.ts new file mode 100644 index 0000000..edc43a7 --- /dev/null +++ b/server/init-admin.ts @@ -0,0 +1,30 @@ +import { storage } from "./storage"; +import bcrypt from "bcrypt"; + +export async function ensureAdminUserExists() { + try { + const adminUser = await storage.getUserByUsername("admin"); + + if (!adminUser) { + console.log("🔧 Création de l'utilisateur admin par défaut..."); + + const hashedPassword = await bcrypt.hash("admin", 10); + + await storage.createUser({ + username: "admin", + password: hashedPassword, + role: "admin", + }); + + console.log("✅ Utilisateur admin créé avec succès"); + console.log(" Username: admin"); + console.log(" Password: admin"); + console.log(" ⚠️ IMPORTANT: Changez ce mot de passe immédiatement !"); + } else { + console.log("✓ Utilisateur admin existe déjà"); + } + } catch (error) { + console.error("❌ Erreur lors de la vérification/création de l'utilisateur admin:", error); + throw error; + } +}