🧠 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.js
dedans - Ouvre un terminal à la racine et lance :
node bootstrap.js
Boom 💥! 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.