Déploiement avec MySQL / PostgreSQL Pour MySQL ou PostgreSQL, remplacez simplement la partie sqlite3 par le driver correspondant : // Pour MySQL const mysql = require('mysql2/promise'); const pool = mysql.createPool({ host: 'localhost', user: 'root', password: 'password', database: 'dream_journal' }); // Pour PostgreSQL const { Pool } = require('pg'); const pool = new Pool({ user: 'postgres', host: 'localhost', database: 'dream_journal', password: 'password', port: 5432, }); Structure de la base de données (MySQL/PostgreSQL) -- Table utilisateurs CREATE TABLE users ( id SERIAL PRIMARY KEY, username VARCHAR(100) UNIQUE NOT NULL, password_hash VARCHAR(255) NOT NULL, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ); -- Table rêves CREATE TABLE dreams ( id SERIAL PRIMARY KEY, user_id INTEGER REFERENCES users(id) ON DELETE CASCADE, date_time TIMESTAMP NOT NULL, title VARCHAR(255), story TEXT NOT NULL, emotions TEXT, symbols TEXT, interpretation TEXT, prayer_action TEXT, followup TEXT, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ); -- Index CREATE INDEX idx_dreams_user_date ON dreams(user_id, date_time); CREATE INDEX idx_dreams_user_title ON dreams(user_id, title); Fichier package.json { "name": "dream-journal-backend", "version": "1.0.0", "scripts": { "start": "node server.js", "dev": "nodemon server.js" }, "dependencies": { "express": "^4.18.2", "cors": "^2.8.5", "sqlite3": "^5.1.6", "sqlite": "^5.1.1", "bcrypt": "^5.1.1", "jsonwebtoken": "^9.0.2" }, "devDependencies": { "nodemon": "^3.0.1" } } Pour déployer en production Hébergement backend : Render, Railway, Heroku, ou VPS (DigitalOcean, OVH) Base de données : Supabase (PostgreSQL gratuit), Clever Cloud, ou MySQL sur le même serveur Frontend : Netlify, Vercel, ou GitHub Pages Cette solution vous offre un stockage persistant, sécurisé, avec authentification et toutes les fonctionnalités demandées.