Tesseract.js dans le navigateur : comment l'OCR fonctionne sans serveur
La plupart des services OCR en ligne fonctionnent en envoyant votre document à un serveur distant pour traitement. C'est pratique mais soulève des questions légitimes de confidentialité : qui a accès à vos documents sur ce serveur ? Combien de temps sont-ils conservés ? L'OCR PDF de WikiPlus adopte une approche radicalement différente : le traitement s'effectue entièrement dans votre navigateur, grâce à Tesseract.js et WebAssembly. Cet article explique comment cette technologie fonctionne et pourquoi elle représente un avantage majeur pour les données sensibles.
WebAssembly : exécuter du code natif dans le navigateur
WebAssembly (WASM) est un format binaire d'instructions conçu pour s'exécuter dans les navigateurs web à des performances proches du code natif. Introduit en 2017, il est aujourd'hui supporté par tous les navigateurs modernes (Chrome, Firefox, Safari, Edge). Son principe : des langages compilés comme C, C++ ou Rust sont traduits en bytecode WebAssembly pendant la compilation. Ce bytecode est ensuite exécuté par le moteur JavaScript du navigateur avec une optimisation de bas niveau. Résultat : des performances 2-10x supérieures au JavaScript pur pour les tâches intensives en calcul. Tesseract, le moteur OCR open-source écrit en C++, a été compilé en WebAssembly par l'équipe Tesseract.js. Cette version WASM s'exécute donc directement dans l'onglet du navigateur, sans serveur, avec la puissance du processeur de votre machine. La première utilisation nécessite le téléchargement du modèle de langue (environ 10-30 Mo selon la langue) qui est ensuite mis en cache localement — les utilisations suivantes sont instantanées.
Architecture de l'OCR PDF WikiPlus : MuPDF + Tesseract.js
L'outil OCR PDF WikiPlus combine deux bibliothèques WebAssembly complémentaires. MuPDF (compilé en WASM) est responsable du rendu des pages PDF. Il décode chaque page du PDF en bitmap haute résolution (300 DPI) avec un antialiasing précis et une gestion correcte des polices embarquées, des espaces de couleur et des transformations. Tesseract.js reçoit ces bitmaps et effectue la reconnaissance de caractères en plusieurs passes. La segmentation de page détecte les blocs de texte, les colonnes, les titres et les zones non-textuelles. L'analyse de lignes et de mots découpe le bloc de texte en lignes, puis en mots. La classification de caractères utilise le réseau de neurones LSTM de Tesseract pour identifier chaque caractère avec un score de confiance. La correction linguistique améliore les résultats ambigus en appliquant les probabilités du dictionnaire de la langue sélectionnée. Le texte résultant est ensuite utilisé par pdf-lib pour construire la couche texte invisible du PDF cherchable, avec les coordonnées précises de chaque mot pour permettre une sélection textuelle précise.
Confidentialité : pourquoi le traitement local est supérieur
Le traitement local OCR présente des avantages de confidentialité significatifs par rapport aux services OCR cloud. Aucune transmission réseau : votre document ne quitte jamais votre appareil. Il ne traverse pas internet, ne passe pas par des serveurs tiers, et n'est soumis à aucune politique de rétention de données. Ce point est crucial pour les documents contenant des données personnelles (RGPD), des informations médicales (HIPAA), des données financières confidentielles, ou des secrets commerciaux. Pas de compte nécessaire : pas de création de compte, pas de suivi de votre activité, pas de profil utilisateur construit à partir de vos documents. Fonctionnement hors ligne : une fois le modèle de langue téléchargé et mis en cache, l'OCR fonctionne même sans connexion internet — particulièrement utile dans des environnements réseau restreints. Ces garanties font de l'outil WikiPlus un choix approprié pour les avocats traitant des dossiers clients, les professionnels de santé numérisant des ordonnances, les comptables travaillant sur des documents financiers, ou toute organisation soumise à des obligations strictes de protection des données.
Performances et limites de l'OCR WebAssembly
Les performances de Tesseract.js en WASM sont impressionnantes pour une solution navigateur, mais présentent des limites objectives à connaître. Vitesse : sur un ordinateur récent (processeur 4 cœurs, 8 Go RAM), l'OCR d'une page A4 standard prend 3-8 secondes selon la densité du texte et la résolution. Un document de 10 pages prend donc 30-80 secondes — acceptable pour un usage manuel, moins pour du traitement batch de centaines de documents. Mémoire : les grandes pages haute résolution (600 DPI, A3) peuvent consommer 500 Mo à 1 Go de mémoire vive temporairement. Si votre navigateur manque de mémoire (signe : page qui se bloque ou recharge), divisez votre PDF en plusieurs fichiers plus petits avec l'outil PDF Delete Pages avant l'OCR. Précision maximale : Tesseract.js WASM atteint la précision de Tesseract natif sur les documents bien scannés. En revanche, pour les documents très dégradés, les polices inhabituelles ou les mises en page complexes (multi-colonnes denses, tableaux imbriqués), les services cloud OCR spécialisés (Google Document AI, AWS Textract) peuvent offrir une précision supérieure car ils utilisent des modèles plus récents et plus lourds.