Entrée
PDF numériques et numérisations / images (PNG, JPG et similaires). Les documents multi-pages et les PDF multi-comptes — par exemple pesos et dollars dans un même fichier — produisent une carte par compte.
Fulgoria extrait des données structurées de documents conçus pour être lus, non analysés. Vous lui apprenez une mise en page une seule fois en marquant les colonnes ; à partir de là, il lit tout document du même type et vous donne un CSV propre. Tout ce qui suit se passe dans votre navigateur.
Cliquez sur Ouvrir un PDF ou une image et choisissez un fichier, ou sélectionnez Voir un exemple pour charger un relevé bancaire d’exemple. Les PDF numériques comme les numérisations ou les photos sont tous deux acceptés. Les numérisations et les images sont lues avec l’OCR local (Tesseract.js), de sorte que même l’image d’un relevé devient du texte sans quitter votre machine.
Fulgoria détecte automatiquement les colonnes en premier passage. Vous les affinez en faisant glisser sur le document pour indiquer où se trouve chaque donnée. Attribuez ensuite un rôle à chaque colonne :
Vous pouvez aussi appliquer un formatage libre, de style Excel par colonne (motifs de date et de nombre, WYSIWYG) et définir des règles d’exclusion par contenu pour ignorer les en-têtes répétés, les lignes « TOTAUX » et le bruit similaire.
Un éditeur de type tableur vous permet de corriger n’importe quelle cellule, avec le solde qui se recalcule en direct. Il prend en charge rechercher et remplacer, ajouter et supprimer des lignes, coller depuis Excel, annuler/rétablir, remplissage vers le bas, catégorisation assistée, indicateurs de qualité, et valeurs d’ouverture/clôture éditables.
Une fois les données propres, exportez-les :
.ext.json ou .ext.yaml (voir ci-dessous).Entrée
PDF numériques et numérisations / images (PNG, JPG et similaires). Les documents multi-pages et les PDF multi-comptes — par exemple pesos et dollars dans un même fichier — produisent une carte par compte.
Sortie
CSV pour les mouvements, et des fichiers modèles en .ext.json ou .ext.yaml pour
la mise en page. Un passage « Envoyer à Escriba » transmet le résultat au reste de la suite.
La première fois que vous marquez le relevé d’une banque, Fulgoria peut enregistrer cette mise en page comme modèle. La fois suivante où vous ouvrez un document du même type, il est reconnu automatiquement et les colonnes sont déjà en place — pas besoin de re-marquer.
Les modèles peuvent être chargés depuis un fichier .json téléchargé ou choisis parmi vos modèles enregistrés
au sein de l’application.
Tout s’exécute dans votre navigateur. Le PDF est ouvert, lu et traité au sein de votre machine, et il n’y a pas la moindre requête externe — les polices et les bibliothèques sont embarquées dans l’application. La confidentialité n’est pas une fonctionnalité ajoutée ; c’est l’architecture.
Lorsque Fulgoria est auto-hébergé, le serveur léger ne reçoit toujours jamais le document. Il ne fait que
servir les fichiers statiques et gérer le login optionnel. Il applique une CSP stricte et des en-têtes
de sécurité, et n’expose jamais .env, server.js ni aucun échantillon privé.
Pour la production, Fulgoria embarque un serveur léger (server.js, Node/Express) dont les seules tâches
sont de servir l’application statique et de la protéger derrière un login optionnel lu depuis .env.
Mettez AUTH_ENABLED=true et configurez AUTH_USER et AUTH_PASSWORD. Les sessions sont
signées avec SESSION_SECRET et durent SESSION_TTL_HOURS heures. Derrière HTTPS, conservez
COOKIE_SECURE=true.
Mettez AUTH_ENABLED=false pour servir l’application sans mot de passe — pratique pour un usage local
ou un réseau privé de confiance.
Générez un hash de mot de passe bcrypt et un secret de session comme ceci :
node server.js --hash 'your-password' # → AUTH_PASSWORDopenssl rand -hex 32 # → SESSION_SECRETTous les réglages résident dans .env :
| Variable | Valeur par défaut | Rôle |
|---|---|---|
PORT | 3000 | Port du serveur. |
AUTH_ENABLED | true | Active ou désactive le login. |
AUTH_USER | diego | Nom d’utilisateur du login. |
AUTH_PASSWORD | (vide) | Mot de passe en texte clair ou hash bcrypt. |
SESSION_SECRET | (vide) | Signe le cookie de session. |
SESSION_TTL_HOURS | 12 | Durée de vie de la session en heures. |
COOKIE_SECURE | true | true derrière HTTPS, false pour http:// local. |
ESCRIBA_URL | (vide) | Cible de « Envoyer à Escriba » ; vide, retombe sur /. |