Ajout de la gestion de l'environnement de développement avec un fichier devlock, mise à jour des scripts de démarrage et création d'un serveur local pour le développement.

This commit is contained in:
2025-04-03 11:38:21 +02:00
parent 03ec179590
commit 401deb3e69
4 changed files with 78 additions and 2 deletions

4
db.js
View File

@@ -1,6 +1,8 @@
const { Client } = require('pg');
const devlock = require('./devlock.js');
let dev = true;
let dev = devlock.is_dev;
console.log('[INFO] Environment:', dev ? 'Development Local' : 'Development Remote');
let client = new Client({
host: '192.168.192.3',

5
devlock.js Normal file
View File

@@ -0,0 +1,5 @@
let is_dev = false; // Set to true for development mode
module.exports = {
is_dev
}

View File

@@ -4,7 +4,8 @@
"main": "index.js",
"scripts": {
"start": "node server.js",
"dev": "nodemon server.js"
"dev": "nodemon server.js",
"local" : "nodemon server_local.js"
},
"keywords": [],
"author": "",

68
server_local.js Normal file
View File

@@ -0,0 +1,68 @@
const devlock = require('./devlock.js');
devlock.is_dev = true; // Set to true for development mode
// server.js version locale
const express = require('express');
const cors = require('cors');
const app = express();
const port = 3000;
// Middleware pour gérer les requêtes JSON
app.use(express.json());
// Cors accès à tout
app.use(cors({
origin: ['http://127.0.0.1:5500', 'http://localhost:5500', 'http://localhost:3000'],
methods: ['GET', 'POST', 'PUT', 'DELETE'],
allowedHeaders: ['Content-Type'],
credentials: true,
}));
// Importer les routes
const apiRoutes = require('./api');
app.use('/api', apiRoutes);
// Swagger dependencies
const swaggerUi = require('swagger-ui-express');
const swaggerJsdoc = require('swagger-jsdoc');
// Configuration de Swagger
const swaggerOptions = {
definition: {
openapi: '3.0.0',
info: {
title: 'API Documentation',
version: '1.0.0',
description: 'Documentation de l\'API avec Swagger',
},
servers: [
{
url: 'https://timelapse.kerboul.me/api',
},
{
url: 'http://localhost:3000/api',
}
],
},
apis: ['./routes/*.js'], // Prend en compte tous les fichiers de routes pour générer la documentation
};
// Initialisation de swagger-jsdoc
const swaggerDocs = swaggerJsdoc(swaggerOptions);
// Route Swagger UI
app.use('/api-docs', swaggerUi.serve, swaggerUi.setup(swaggerDocs));
// Route de base pour tester le serveur
app.get('/', (req, res) => {
res.setHeader('Access-Control-Allow-Origin', 'http://localhost:5500');
res.setHeader('Access-Control-Allow-Methods', 'GET, POST, PUT, DELETE');
res.setHeader('Access-Control-Allow-Headers', 'Content-Type');
res.send('Bienvenue sur mon API Node.js!');
});
// Démarrer le serveur
app.listen(port, () => {
console.log(`[SERVER] Serveur démarré sur http://localhost:${port}`);
console.log(`[SERVER] Swagger documentation disponible sur http://localhost:${port}/api-docs`);
});