● En production Statut API JSON

Guide d'Installation

Ce guide explique comment installer et configurer l'API 2MN Services.

📋 Prérequis

🚀 Installation Rapide

1. Cloner le projet

bash
git clone <repository-url>
cd api-entreprises

2. Installer les dépendances

bash
npm install

3. Configurer les variables d'environnement

bash
cp .env.example .env

Éditez le fichier .env :

env
# Application
NODE_ENV=development
PORT=3000

# Base de données
MONGODB_URI=mongodb://localhost:27017/entreprises

# Sécurité
JWT_SECRET=votre_secret_jwt_tres_long_et_securise_ici

# API Externe (optionnel)
API_ENTREPRISE_TOKEN=votre_token_api_entreprise

# CORS
CORS_WHITELIST=https://2mnservices.alwaysdata.net,http://localhost:8080

# Cache (en secondes)
CACHE_TTL=3600

4. Importer les données des communes

Pour utiliser l'API Géographique, vous devez importer les données :

bash
npm run import:communes

Cela va :

⏱️ Durée : 2-5 minutes selon votre connexion

5. Démarrer le serveur

Mode développement (avec rechargement automatique) :

bash
npm run dev

Mode production :

bash
npm start

6. Vérifier l'installation

bash
# Health check
curl https://2mnservices.alwaysdata.net/health

# Test API Geo
curl "https://2mnservices.alwaysdata.net/communes?nom=Paris&limit=1"

# Test API NAF
curl "https://2mnservices.alwaysdata.net/api/naf/code?professionalField=serrurerie"

⚙️ Configuration Avancée

Variables d'environnement

VariableDescriptionDéfautRequis
NODE_ENVEnvironnement (development/production)development✅
PORTPort du serveur3000❌
MONGODB_URIURI MongoDB-✅
JWT_SECRETClé secrète JWT-✅
API_ENTREPRISE_TOKENToken API Entreprise-❌
CORS_WHITELISTOrigines CORS autorisées*❌
CACHE_TTLDurée du cache (secondes)3600❌

MongoDB

Local :

bash
# Démarrer MongoDB
mongod --dbpath /chemin/vers/data

# URI
MONGODB_URI=mongodb://localhost:27017/entreprises

MongoDB Atlas :

bash
MONGODB_URI=mongodb+srv://user:password@cluster.mongodb.net/entreprises?retryWrites=true&w=majority

Sécurité

⚠️ Important :


📊 Scripts Disponibles

bash
# Démarrage
npm start          # Mode production
npm run dev        # Mode développement

# Import de données
npm run import:communes    # Importer les communes

# Maintenance
npm run lint       # Vérifier le code
npm run lint:fix   # Corriger le code
npm run clean      # Nettoyer et réinstaller

🐛 Dépannage

Problème : "Cannot connect to MongoDB"

Solution :

bash
# Vérifier que MongoDB tourne
mongo --eval "db.adminCommand('ping')"

# Ou avec mongosh
mongosh --eval "db.adminCommand('ping')"

Problème : "Import des communes échoue"

Solution :

bash
# Vérifier la connexion MongoDB
npm start

# Puis réessayer l'import
npm run import:communes

Problème : "Port déjà utilisé"

Solution :

bash
# Changer le port dans .env
PORT=3001

# Ou tuer le processus existant
npx kill-port 3000

🔄 Mise à jour des données

Pour mettre à jour les données des communes :

bash
# Supprimer les anciennes données
mongo entreprises --eval "db.communes.drop()"

# Réimporter
npm run import:communes

📈 Production

Optimisations

  1. Cache : Activez le cache (déjà configuré par défaut)
  2. Compression : Activez la compression gzip (déjà actif)
  3. PM2 : Utilisez PM2 pour la gestion des processus
bash
# Installer PM2
npm install -g pm2

# Démarrer avec PM2
pm2 start server.js --name "api-entreprises"

# Sauvegarder la configuration
pm2 save
pm2 startup

Monitoring

bash
# Logs
pm2 logs api-entreprises

# Statistiques
pm2 monit

🎯 Prochaines étapes

Une fois l'installation terminée :

  1. 📖 Consultez la documentation des APIs
  2. 🔧 Configurez votre client API
  3. 🚀 Commencez à développer !

🆘 Besoin d'aide ?