Skip to Content
Agent local

Agent local MEA

L’Agent local est un petit service installé sur le poste de travail ou un serveur de l’organisation. Il expose une API HTTP locale (port 8100 par défaut) et sert à :

  • piloter un scanner (TWAIN sous Windows, SANE sous macOS/Linux) ;
  • déposer les fichiers numérisés ou importés dans un dossier de mise en attente (StagingRoot) avant archivage dans MEA.

Il est optionnel : MEA fonctionne sans lui pour l’archivage purement applicatif. Il n’est requis que pour la numérisation pilotée depuis le navigateur et l’ingestion de fichiers locaux.

Sécurité. L’Agent local n’écoute que sur 127.0.0.1 : il n’est jamais exposé au réseau. Aucune authentification réseau n’est nécessaire car il n’est joignable que depuis la machine où il est installé.

Prérequis

PlateformePrérequis
WindowsWindows 10/11 ou Server 2019+. Pilotes TWAIN du scanner installés.
macOSmacOS 12+. SANE (brew install sane-backends) pour le scanner.
LinuxSANE (sane + sane-utils). Architecture supportée, hors production.

Téléchargement

Windows (recommandé) — installateur signé :

⬇ Télécharger l’agent Windows (.exe)

macOS — archive auto-extractible :

ArchitectureLien
Apple Silicon (M1/M2/M3)MEA-LocalAgent-osx-arm64.tar.gz 
IntelMEA-LocalAgent-osx-x64.tar.gz 

Les liens pointent toujours vers la dernière version publiée. Pour télécharger une version précise, remplacez latest par le tag souhaité (ex. v1.0.13) dans l’URL :

https://docs.mearchiver.com/dl/v<version>/MEA-LocalAgent-Setup.exe https://docs.mearchiver.com/dl/v<version>/MEA-LocalAgent-osx-arm64.tar.gz

Installation sous Windows

Option A — Installateur (recommandé)

  1. Téléchargez l’installateur  MEA-LocalAgent-Setup.exe.

  2. Lancez-le. L’assistant demande :

    ChampDescription
    StagingRootDossier local ou chemin réseau UNC de mise en attente
    PortPort HTTP de l’agent (1024–65535, défaut 8100)
    Compte de serviceDOMAINE\Utilisateur + mot de passe (UNC uniquement)
  3. L’agent est installé comme service Windows (MEALocalAgent), démarré automatiquement.

Attention — StagingRoot sur un partage réseau (\\serveur\partage\…). Le compte de service doit être un compte de domaine avec accès lecture/écriture au partage. LocalSystem n’a pas d’accès réseau. L’installateur valide les identifiants, attribue SeServiceLogonRight et configure le service.

Option B — Ligne de commande (installation silencieuse)

L’installateur Inno Setup accepte les commutateurs standard pour un déploiement non interactif (GPO, MDM, script) :

MEA-LocalAgent-Setup-<version>.exe /VERYSILENT /SUPPRESSMSGBOXES ` /DIR="C:\Program Files\MEA\LocalAgent"

Vérification :

Get-Service MEALocalAgent Invoke-WebRequest http://127.0.0.1:8100/health -UseBasicParsing

Dépannage (Windows)

# Statut du service Get-Service MEALocalAgent # Journaux applicatifs Get-EventLog -LogName Application -Source MEALocalAgent -Newest 20 # Tester l'accès au partage avec le compte de service (cas UNC) runas /user:DOMAINE\svc-mea-agent "net use \\serveur\partage"

Installation sous macOS

Option A — Homebrew (recommandé)

Première installation :

brew tap mafupaclement/mea brew install mea-agent brew services start mea-agent

Mise à jour vers une nouvelle version :

brew update brew upgrade mea-agent brew services restart mea-agent

Vérification :

curl -s http://127.0.0.1:8100/health

Prérequis scanner. Si vous utilisez un scanner, installez SANE au préalable :

brew install sane-backends

Option B — Archive (installation manuelle)

# Téléchargez l'archive pour votre architecture puis : tar xzf MEA-LocalAgent-osx-arm64.tar.gz # ou osx-x64 cd osx-arm64 ./install.sh

Le script install.sh :

  1. détecte l’architecture (arm64 / x64) ;
  2. installe sane-backends via Homebrew si absent ;
  3. demande StagingRoot et Port (défaut 8100) ;
  4. installe l’agent dans ~/Library/Application Support/MEA/LocalAgent/ ;
  5. crée et charge un LaunchAgent (démarrage automatique à la session).

Commandes utiles :

launchctl list com.mea.localagent # statut tail -f ~/Library/Logs/mea-local-agent.log # journaux curl -s http://127.0.0.1:8100/health # test

Serveur MEA on-prem (HTTPS)

On-prem uniquement. Cette étape ne concerne que les serveurs MEA on-prem (auto-hébergés). En SaaS (mearchiver.com), le certificat est publiquement reconnu et le nom résout par le DNS public : rien à faire.

Le chiffrement de bout en bout (E2EE) exige que le navigateur accède au serveur en HTTPS de confiance. Sur un serveur on-prem, le poste client doit donc, une fois :

  1. résoudre le nom du serveur (ex. mearchiver.internal) — par votre DNS interne (recommandé), ou par le fichier hosts (mode IP) ;
  2. faire confiance au certificat du serveur.

Préférez le mode DNS. Le nom par défaut mearchiver.internal est résolvable par un DNS classique : un seul enregistrement A (mearchiver.internal → IP du serveur) sur votre DNS/routeur suffit pour tous les postes, sans jamais toucher au fichier hosts. (Un nom en .local est, lui, réservé au mDNS : il ne peut pas être servi par un DNS et impose une entrée hosts par poste.)

L’agent automatise la résolution (mode hosts) et la confiance du certificat (l’empreinte s’affiche pour vérification) :

  • Windows : l’assistant propose une page « Serveur MEA on-prem » — renseignez l’IP du serveur (mode hosts) ou laissez vide si un DNS résout déjà (mode DNS). Déploiement silencieux :
    MEA-LocalAgent-Setup.exe /SILENT /SERVERHOST=mearchiver.internal /SERVERIP=192.168.x.x /CERTSHA256=<empreinte-racine> /RootCer=C:\chemin\root-ca.cer
    En interactif, la page « Serveur MEA on-prem » propose aussi un champ Fichier racine .cer.
  • macOS (Homebrew) : après brew install, une commande (sudo) :
    mea-agent-trust 192.168.x.x # ou « mea-agent-trust » seul si un DNS résout déjà
  • macOS (archive) : le script d’installation demande l’IP à l’installation.

Deux modes : avec IP → entrée hosts + import de la racine ; sans IP (mode DNS) → import de la racine seul (votre DNS gère la résolution). L’empreinte SHA-256 de la racine est journalisée sur le serveur à la génération du certificat.

Modèle CA + renouvellement automatique (zéro maintenance). Le serveur on-prem utilise une racine d’org (CA, ~20 ans) qui signe une feuille renouvelée automatiquement par le serveur. Vous distribuez la racine UNE fois — pas la feuille :

  • Parc avec AD : poussez le fichier racine (root-ca.cer Windows / ca.crt Linux, exporté par le serveur) par GPO/Intune/MDM dans « Autorités racines de confiance » → tous les postes, automatiquement.
  • Parc sans AD : la commande par poste importe la racine. Le plus fiable : copiez root-ca.cer du serveur sur le poste et pointez-le (champ Fichier racine de l’assistant, /RootCer= en silencieux, ou -RootCerPath du helper) → la racine importée « survit » aux renouvellements de la feuille.

Comme la feuille se renouvelle sous la même racine, les postes ne sont jamais re-touchés tant que la racine est valide (~20 ans). Sauvegardez la clé racine (root-ca.pfx / ca.key) hors machine pour restaurer un serveur sans re-distribuer aux postes.

Antivirus & fichier hosts (Windows). Beaucoup d’antivirus (Kaspersky, Defender…) interdisent à un installeur de modifier le fichier hosts, même lancé en administrateur — c’est une protection anti-détournement, pas un bug. Si l’installeur indique que la configuration HTTPS a été bloquée, deux options :

  1. Mode DNS (recommandé) : ajoutez l’enregistrement A et relancez sans IP — aucune écriture hosts.
  2. Terminer à la main : ouvrez PowerShell en tant qu’administrateur et collez (adaptez l’IP/le nom) :
powershell -NoProfile -ExecutionPolicy Bypass -File "C:\Program Files\MEA\LocalAgent\Configure-MeaServerTrust.ps1" -ServerHost "mearchiver.internal" -ServerIp "192.168.x.x"

Lancée depuis un PowerShell admin interactif (contexte de confiance pour l’antivirus), elle écrit le hosts et importe le certificat — là où l’installeur était bloqué.

Vérifier que l’agent répond

Quelle que soit la plateforme, l’agent est opérationnel si :

curl -s http://127.0.0.1:8100/health

renvoie une réponse 200. Dans l’interface MEA, la numérisation et l’import local deviennent alors disponibles automatiquement (l’application détecte l’agent sur 127.0.0.1:8100).

Désinstallation

  • Windows : Panneau de configuration → Programmes → MEA Local Agent → Désinstaller (le service est retiré proprement).
  • macOS — Homebrew :
    brew services stop mea-agent brew uninstall mea-agent brew untap mafupaclement/mea # optionnel : supprime aussi le tap
  • macOS — Archive : exécutez ./uninstall.sh fourni dans l’archive (décharge le LaunchAgent et supprime les fichiers).