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
| Plateforme | Prérequis |
|---|---|
| Windows | Windows 10/11 ou Server 2019+. Pilotes TWAIN du scanner installés. |
| macOS | macOS 12+. SANE (brew install sane-backends) pour le scanner. |
| Linux | SANE (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 :
| Architecture | Lien |
|---|---|
| Apple Silicon (M1/M2/M3) | MEA-LocalAgent-osx-arm64.tar.gz |
| Intel | MEA-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.gzInstallation sous Windows
Option A — Installateur (recommandé)
-
Téléchargez l’installateur
MEA-LocalAgent-Setup.exe. -
Lancez-le. L’assistant demande :
Champ Description StagingRoot Dossier local ou chemin réseau UNC de mise en attente Port Port HTTP de l’agent (1024–65535, défaut 8100)Compte de service DOMAINE\Utilisateur+ mot de passe (UNC uniquement) -
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.LocalSystemn’a pas d’accès réseau. L’installateur valide les identifiants, attribueSeServiceLogonRightet 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 -UseBasicParsingDé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-agentMise à jour vers une nouvelle version :
brew update
brew upgrade mea-agent
brew services restart mea-agentVérification :
curl -s http://127.0.0.1:8100/healthPré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.shLe script install.sh :
- détecte l’architecture (
arm64/x64) ; - installe
sane-backendsvia Homebrew si absent ; - demande
StagingRootetPort(défaut8100) ; - installe l’agent dans
~/Library/Application Support/MEA/LocalAgent/; - 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 # testServeur 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 :
- résoudre le nom du serveur (ex.
mearchiver.internal) — par votre DNS interne (recommandé), ou par le fichierhosts(mode IP) ; - faire confiance au certificat du serveur.
Préférez le mode DNS. Le nom par défaut
mearchiver.internalest 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 fichierhosts. (Un nom en.localest, lui, réservé au mDNS : il ne peut pas être servi par un DNS et impose une entréehostspar 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 :
En interactif, la page « Serveur MEA on-prem » propose aussi un champ Fichier racine .cer.
MEA-LocalAgent-Setup.exe /SILENT /SERVERHOST=mearchiver.internal /SERVERIP=192.168.x.x /CERTSHA256=<empreinte-racine> /RootCer=C:\chemin\root-ca.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.cerWindows /ca.crtLinux, 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.cerdu serveur sur le poste et pointez-le (champ Fichier racine de l’assistant,/RootCer=en silencieux, ou-RootCerPathdu 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 fichierhosts, 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 :
- Mode DNS (recommandé) : ajoutez l’enregistrement A et relancez sans IP — aucune écriture
hosts.- 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
hostset 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/healthrenvoie 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.shfourni dans l’archive (décharge le LaunchAgent et supprime les fichiers).