Skip to content

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

BTP Chantier Pro