Thème
API Node.js
Présentation
Le backend Node.js est un serveur Express.js qui gère les traitements lourds ne pouvant pas être effectués directement dans le navigateur. Il est accessible via le sous-domaine api.waali.at.
Rôle du backend
Le backend intervient pour les opérations suivantes :
- Génération de PDF complexes avec mise en page avancée
- Export Excel avec formatage
- Traitements de données volumineuses
- Opérations nécessitant des clés secrètes non exposables au frontend
Localisation
Serveur : kanimba@192.168.1.18
Fichier : /home/kanimba/btp-backend/index.js
Processus : PM2 (nom : btp-backend)
Port : 3001
URL : https://api.waali.at
Démarrage et gestion avec PM2
Vérifier le statut du backend :
pm2 status
Redémarrer le backend :
pm2 restart btp-backend
Consulter les logs :
pm2 logs btp-backend
Arrêter le backend :
pm2 stop btp-backend
Endpoints disponibles
Santé du serveur
GET /health
Retourne le statut du serveur. Utilisé pour le monitoring.
Réponse :
{ "status": "ok", "timestamp": "2026-05-15T00:00:00Z" }
Génération de PDF
POST /pdf/pointage
Génère un PDF de pointage pour une date donnée.
Corps de la requête :
{
"date": "2026-05-15",
"chantier_nom": "Villa Résidence",
"employes": [...]
}
Réponse : fichier PDF en téléchargement direct.
Configuration Nginx
Le backend est exposé via Nginx en reverse proxy :
server {
server_name api.waali.at;
location / {
proxy_pass http://localhost:3001;
proxy_http_version 1.1;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}
Mise à jour du backend
Pour mettre à jour le code du backend :
cd /home/kanimba/btp-backend
nano index.js
pm2 restart btp-backend
pm2 logs btp-backend --lines 20
