đ§ Pourquoi un bootstrapper ?
Quand on lance souvent des projets en Node.js, on se retrouve Ă rĂ©pĂ©ter les mĂȘmes Ă©tapes : initialisation du projet, installation dâExpress, configuration de la base de donnĂ©es, mise en place du dossier routes, models, controllers…
Un fichier bootstrapper permet dâautomatiser tout ça. En une seule commande, ton projet est prĂȘt Ă coder !
âïž Ătapes que notre bootstrapper va automatiser :
npm init -y- Installation des modules indispensables :
express,mysql2,dotenv,nodemon,cors, etc. - CrĂ©ation de lâarborescence MVC :
/config
/controllers
/models
/routes
/public
/views
index.jsâ
Le code du bootstrapper (fichier : bootstrap.js)
const { execSync } = require('child_process');
const fs = require('fs');
const folders = ['config', 'controllers', 'models', 'routes', 'public', 'views'];
console.log('đ Initialisation du projet Node.js...');
// Init package.json
execSync('npm init -y', { stdio: 'inherit' });
// Install dependencies
console.log('đŠ Installation des modules...');
execSync('npm install express mysql2 dotenv cors', { stdio: 'inherit' });
execSync('npm install -D nodemon', { stdio: 'inherit' });
// Ajout du script dev dans package.json
const pkg = require('./package.json');
pkg.scripts = pkg.scripts || {};
pkg.scripts.dev = 'nodemon index.js';
fs.writeFileSync('package.json', JSON.stringify(pkg, null, 2));
console.log('đ Script "dev" ajoutĂ© Ă package.json â
');
// Create folders
console.log('đ CrĂ©ation de l\'arborescence MVC...');
folders.forEach(folder => {
if (!fs.existsSync(folder)) {
fs.mkdirSync(folder);
console.log(`đ ${folder}/`);
}
});
// Create basic index.js
const indexContent = `
require('dotenv').config();
const express = require('express');
const cors = require('cors');
const app = express();
const PORT = process.env.PORT || 3000;
app.use(cors());
app.use(express.json());
app.use(express.urlencoded({ extended: true }));
// Routes
// app.use('/api', require('./routes/yourRoute'));
app.listen(PORT, () => {
console.log(\`đ Server running on http://localhost:\${PORT}\`);
});
`;
fs.writeFileSync('index.js', indexContent.trim());
console.log('â
Projet prĂȘt Ă lâemploi ! Lance "npm run dev" pour dĂ©marrer avec nodemon.');
đ§Ș Utilisation :
- Crée un dossier vide, par exemple
mon-projet - Place le fichier
bootstrap.jsdedans - Ouvre un terminal Ă la racine et lance :
node bootstrap.jsBoom đ„! Ton projet est prĂȘt Ă dĂ©marrer.
đĄ Astuce bonus :
Tu peux aussi crĂ©er une commande globale pour lâutiliser nâimporte oĂč, en enregistrant ton bootstrapper comme un CLI via npm link. Tu veux un article lĂ -dessus ? dis-le moi en commentaire.


