Aller au contenu

Installer Fulgoria

Fulgoria embarque un serveur léger (server.js, Node/Express) qui ne fait que deux choses : il sert l’application statique et, en option, la protège derrière un login lu depuis .env. Le document lui-même est toujours traité à 100 % dans le navigateur — le serveur ne le reçoit jamais, applique une CSP stricte et des en-têtes de sécurité, et n’expose jamais .env, server.js ni aucun échantillon privé.

Docker

Recommandé pour la production. Utilisez l’image préconstruite ou construisez localement avec docker compose.

Node.js 18+

Requis uniquement si vous exécutez le serveur directement avec npm au lieu de Docker.

Un navigateur moderne

Toute l’extraction (analyse PDF, OCR, édition) s’exécute côté client, c’est donc un navigateur récent qui réalise le véritable travail.

Le chemin le plus rapide est l’image publiée sur GHCR, construite par la CI à chaque push sur main.

Fenêtre de terminal
docker run -d \
-p 3000:3000 \
-e AUTH_ENABLED=true \
-e AUTH_USER=diego \
-e AUTH_PASSWORD='your-password' \
-e SESSION_SECRET="$(openssl rand -hex 32)" \
-e COOKIE_SECURE=false \
ghcr.io/diegoparras/fulgoria:latest

Ouvrez ensuite http://localhost:3000.

  1. Ouvrez l’application à l’adresse http://localhost:3000 (ou l’hôte que vous avez configuré).
  2. Si AUTH_ENABLED=true, connectez-vous avec AUTH_USER et le mot de passe que vous avez configuré.
  3. Cliquez sur Ouvrir un PDF ou une image, ou sur Voir un exemple pour charger un relevé bancaire d’exemple.
  4. Marquez les colonnes, vérifiez que le solde passe au vert, et exportez en CSV.

Toute la configuration réside dans .env (copiez-le depuis .env.example). Le fichier .env n’est jamais versionné ni servi.

VariableValeur par défautDescription
PORT3000Port sur lequel écoute le serveur léger.
AUTH_ENABLEDtrueMettez à false pour servir l’application sans mot de passe (usage local ou réseau privé).
AUTH_USERdiegoNom d’utilisateur pour le login.
AUTH_PASSWORD(vide)Le mot de passe — texte clair, ou un hash bcrypt issu de --hash.
SESSION_SECRET(vide)Secret utilisé pour signer le cookie de session. Générez-le avec openssl rand -hex 32.
SESSION_TTL_HOURS12Durée de vie de la session, en heures.
COOKIE_SECUREtrueConservez true derrière HTTPS ; mettez false uniquement pour tester en local via http://.
ESCRIBA_URL(vide)Destination du bouton « Envoyer à Escriba ». Vide, retombe sur /. Pointez-le vers votre Escriba, par ex. https://your-escriba.com/.