Aller au contenu

Dossier de dépôt

Un dossier qu'Arca surveille : chaque PDF ou photo que vous y déposez devient un brouillon dans À valider, son type deviné et ses valeurs lues, comme si vous aviez utilisé l'Ajout rapide. Rien n'est enregistré avant votre validation. Désactivé par défaut.

Utile avec un scanner ou une imprimante qui enregistre dans un dossier réseau, avec les photos synchronisées depuis un téléphone, ou avec les PDF que vous téléchargez.

L'activer

Arca doit pouvoir écrire dans le dossier : il retire chaque fichier qu'il prend et déplace ceux qu'il refuse. Dans Docker, Arca tourne sous l'utilisateur d'uid 1000 : le dossier doit lui être accessible en écriture (chown 1000:1000, ou un groupe dont il fait partie). Sans écriture, rien n'est pris, et la page Intégrité dit pourquoi.

Avec Docker, dans .env :

ARCA_INBOX_DIR=/inbox

Dans compose.yaml, décommentez le montage du dossier (- /srv/scans:/inbox) dans les deux services arca et inbox, avec votre dossier à la place de /srv/scans : Arca lui-même a besoin du dossier (le fichier d'un brouillon y revient, voir plus bas). Démarrez ensuite le service inbox, qui parcourt le dossier chaque minute :

docker compose --profile inbox up -d

Ajoutez --profile inbox à chaque commande docker compose qui doit l'inclure (pull, up), ou COMPOSE_PROFILES=inbox dans .env (ai,inbox avec la passerelle IA). Démarré sans ARCA_INBOX_DIR, le service le dit une fois dans son journal et attend, sans rien faire. Quand des fichiers attendent dans le dossier et qu'il n'a pas été parcouru depuis 10 minutes, la page Intégrité avertit : le service n'est sans doute pas démarré.

Depuis les sources, donnez le dossier à ARCA_INBOX_DIR, puis lancez uv run manage.py inbox --watch comme service, ou uv run manage.py inbox (un seul passage) chaque minute par cron.

Ce que devient un fichier

  • Un fichier est pris quand il n'a pas changé depuis une minute (même taille et même date de modification sur deux passages) : un fichier en cours de copie est laissé tranquille. Une copie qui s'interrompt plus d'une minute sans rien changer pourrait être prise trop tôt, incomplète : copiez sous un nom temporaire (.part, .tmp) puis renommez à la fin, comme la plupart des outils de synchronisation.
  • Acceptés : PDF, JPEG, PNG, WebP et HEIC, jusqu'à la taille maximale des envois (ARCA_MAX_UPLOAD_MB). Seul le premier niveau du dossier est lu ; les sous-dossiers, les fichiers cachés (.nom) et temporaires (~$nom, .part, .tmp) sont ignorés.
  • Les fichiers refusés sont déplacés dans un sous-dossier refused, jamais supprimés, avec à côté de chacun un fichier nom.why.txt qui donne la raison en anglais et en français : autre type, trop gros, illisible, ou même fichier déjà en attente dans À valider ou déjà dans Arca.
  • Un fichier qui échoue pour une autre raison (erreur de lecture, disque plein) est remis dans le dossier et réessayé une heure plus tard.
  • Au plus 100 brouillons du dossier attendent à la fois : au-delà, les fichiers restent dans le dossier jusqu'à ce que vous en validiez ou rejetiez.
  • Un brouillon non traité sous 30 jours est supprimé et son fichier revient dans refused. Après la restauration d'une sauvegarde, les fichiers des brouillons du dossier que les données restaurées ne connaissent pas reviennent aussi dans refused (pas les fichiers envoyés par l'API).
  • Le journal d'Arca nomme les fichiers qu'il traite, jamais leur contenu.

La devinette

Arca lit le texte du PDF, ou la photo avec Tesseract, puis choisit le type d'après les mots trouvés (avis d'impôt, quittance de loyer, contrat d'énergie…). Pour une photo, une zone de lecture automatique (les lignes <<<) désigne une pièce d'identité. Les PDF scannés, sans texte, sont lus comme des photos, leurs 10 premières pages seulement (aussi dans l'Ajout rapide, par Remplir à partir du document). Rien de clair : Autre document.

Arca peut se tromper : sur le brouillon, choisissez un autre Type de document et le formulaire de ce type s'affiche, avec ce qui a été lu dans le même fichier placé pour lui. Garder le fichier comme document du dossier, cochée par défaut, joint le fichier au dossier ; décochée, seules les valeurs sont enregistrées et le fichier est supprimé avec le brouillon. Voir À valider.

Les photos HEIC sont acceptées mais pas lues : le brouillon s'ouvre en Autre document, à remplir à la main. Sur un iPhone, Réglages › Appareil photo › Formats › Le plus compatible prend des photos JPEG.

Recettes

Un partage réseau (NAS, scanner). Montez le partage sur l'hôte Docker, puis ce dossier sur /inbox. En NFS, préférez l'option soft avec des délais (soft,timeo=100,retrans=3) : un montage hard d'un serveur qui ne répond plus bloque, jusqu'à son retour, le démarrage d'Arca (qui vérifie le dossier), la page Intégrité et les brouillons. Un montage soft renvoie plutôt des erreurs de lecture ou d'écriture, qu'Arca traite en réessayant plus tard. Un dossier local synchronisé évite les deux.

# /etc/fstab
<nas>:/scans  /srv/scans  nfs  soft,timeo=100,retrans=3  0  0

Des photos depuis un téléphone (Syncthing). Partagez un dossier du téléphone avec un dossier Syncthing du serveur (/srv/scans), monté sur /inbox. Syncthing écrit sous des noms temporaires cachés, qu'Arca ignore. En synchronisation dans les deux sens, une photo prise par Arca disparaît aussi du téléphone ; pour garder la copie du téléphone, mettez son dossier en Envoi seul (Send Only).

Un dossier local. Pour les téléchargements ou un scanner de bureau :

sudo mkdir -p /srv/scans
sudo chown 1000:1000 /srv/scans