diff --git a/backend/src/index.ts b/backend/src/index.ts index 28e1f12..ffc12d6 100644 --- a/backend/src/index.ts +++ b/backend/src/index.ts @@ -26,10 +26,6 @@ app.use(cors({ })); app.use(express.json({ limit: '10mb' })); -// ─── Répertoires uploads ───────────────────────────────────── -fs.mkdirSync(path.join(config.uploadsDir, 'images'), { recursive: true }); -fs.mkdirSync(path.join(config.uploadsDir, 'pdfs'), { recursive: true }); - // ─── Routes API ────────────────────────────────────────────── app.use('/api/auth', authRoutes); app.use('/api/invoices', invoicesRoutes); @@ -53,26 +49,15 @@ app.use((err: Error, _req: express.Request, res: express.Response, _next: expres // ─── Démarrage ──────────────────────────────────────────────── async function start() { - // Démarrer Express immédiatement — la connexion DB se fera à la première requête - // (testConnection() supprimé du démarrage pour éviter un blocage au lancement) + // Créer les répertoires uploads (ici pour éviter un crash module-level) + try { + fs.mkdirSync(path.join(config.uploadsDir, 'images'), { recursive: true }); + fs.mkdirSync(path.join(config.uploadsDir, 'pdfs'), { recursive: true }); + } catch (err: any) { + console.warn('Avertissement: impossible de créer les répertoires uploads:', err.message); + } + app.listen(config.port, async () => { console.log(`🚀 NotesFrais backend démarré sur le port ${config.port}`); console.log(` Environnement : ${config.nodeEnv}`); - console.log(` Frontend autorisé : ${config.frontendUrl}`); - console.log(` DATABASE_URL: ${process.env.DATABASE_URL ? process.env.DATABASE_URL.replace(/:([^@]+)@/, ':***@') : '[non défini — utilise défaut localhost]'}`); - // Vérifier la connexion DB en arrière-plan - try { - await testConnection(); - } catch (err: any) { - console.error('Avertissement: connexion PostgreSQL échouée au démarrage:', err.message); - // Ne pas crasher — les requêtes retourneront des erreurs 500 si la DB est inaccessible - } - }); -} - -start().catch((err) => { - console.error('Impossible de démarrer le serveur :', err.message); - process.exit(1); -}); - -export default app; + console.log(` Frontend autorisé : ${ \ No newline at end of file