--- /dev/null
+// =========================================================
+// ALERTS SERVICE - Serveur standalone
+// =========================================================
+// Ce fichier est le point d'entrée du micro-service Alerts.
+
+//
+// USAGE : node server.js (depuis Wallette/server/)
+// PORT : process.env.ALERTS_PORT || 3003
+// =========================================================
+
+import cors from 'cors';
+import dotenv from 'dotenv';
+import express from 'express';
+import { createServer } from 'http';
+import path from 'path';
+import { fileURLToPath } from 'url';
+
+// Charger .env depuis le dossier server/
+const __filename = fileURLToPath(import.meta.url);
+const __dirname = path.dirname(__filename);
+dotenv.config({ path: path.resolve(__dirname, '../../.env') });
+
+// =========================================================
+// IMPORTS DU MODULE ALERTS (AUCUNE MODIFICATION)
+// =========================================================
+import db from '../../config/db.js';
+import { createMySQLAdapter } from './adapters/mysql.adapter.js';
+import { createAlertsController } from './alerts.controller.js';
+import { createAlertsRepo } from './alerts.repo.js';
+import { createAlertsRouter } from './alerts.router.js';
+import { createAlertsService } from './alerts.service.js';
+import { broadcastAlert, getConnectedUsersCount, initSocketIO } from './socketManager.js';
+
+// =========================================================
+// PORT DU SERVICE
+// =========================================================
+const PORT = process.env.ALERTS_PORT || 3003;
+
+// =========================================================
+// CRÉER L'APPLICATION EXPRESS
+// =========================================================
+const app = express();
+
+app.use(cors());
+app.use(express.json());
+app.use(express.urlencoded({ extended: true }));
+
+// =========================================================
+// SERVEUR HTTP + SOCKET.IO
+// =========================================================
+const httpServer = createServer(app);
+
+const io = initSocketIO(httpServer, {
+ cors: {
+ origin: "*",
+ methods: ["GET", "POST"]
+ }
+});
+
+console.log('✅ Socket.IO initialisé (alerts-service)');
+
+// =========================================================
+// HEALTH CHECK (requis par le gateway)
+// =========================================================
+app.get('/health', (req, res) => {
+ res.json({
+ ok: true,
+ service: 'alerts-service',
+ port: PORT,
+ socketConnections: getConnectedUsersCount()
+ });
+});
+
+// =========================================================
+// INITIALISER LE MODULE ALERTS (INCHANGÉ)
+// =========================================================
+const alertsAdapter = createMySQLAdapter(db);
+const alertsRepo = createAlertsRepo(alertsAdapter);
+const alertsService = createAlertsService(alertsRepo);
+const alertsController = createAlertsController(alertsService, alertsRepo);
+const alertsRouter = createAlertsRouter(alertsController);
+
+console.log('✅ Module Alerts initialisé');
+
+// =========================================================
+// MONTER LES ROUTES
+// =========================================================
+app.use('/api/alerts', alertsRouter);
+
+// =========================================================
+// ROUTE TEST BROADCAST
+// =========================================================
+app.post('/test/broadcast-alert', (req, res) => {
+ const testAlert = req.body.alert || {
+ action: 'BUY', pair: 'BTC/EUR', confidence: 0.87,
+ reason: 'Signal de test', alertLevel: 'WARNING', price: 42150.23
+ };
+ const count = broadcastAlert(testAlert);
+ res.json({ success: true, message: `Alerte envoyée à ${count} utilisateur(s)`, alert: testAlert });
+});
+
+// =========================================================
+// 404 + ERREURS GLOBALES
+// =========================================================
+app.use((req, res) => {
+ res.status(404).json({ error: 'Route non trouvée', path: req.path });
+});
+
+app.use((err, req, res, next) => {
+ console.error('Erreur serveur:', err);
+ res.status(500).json({ error: 'Erreur serveur', message: process.env.NODE_ENV === 'development' ? err.message : undefined });
+});
+
+// =========================================================
+// DÉMARRAGE
+// =========================================================
+httpServer.listen(PORT, () => {
+ console.log(`
+╔══════════════════════════════════════════╗
+║ ALERTS SERVICE ║
+║ HTTP : http://localhost:${PORT} ║
+║ WS : ws://localhost:${PORT} ║
+╚══════════════════════════════════════════╝`);
+});
+
+export { alertsRepo, alertsService, io };