Outils PDF en ligne : vérifier si vos fichiers partent sur un serveur
Un site d’outils PDF peut traiter vos documents de deux manières : les téléverser sur ses serveurs, ou les transformer dans votre navigateur. Pour une fiche de paie, un contrat ou une pièce d’identité, l’écart est considérable. Plutôt que de croire une mention rassurante sur parole, vous pouvez observer vous-même, en quelques minutes, ce qui quitte votre ordinateur.
Deux façons de traiter un document
Dans le modèle classique, le fichier est envoyé au service, transformé sur ses machines, puis renvoyé. Il existe donc, au moins un temps, une copie hors de chez vous. Lorsque des données personnelles sont collectées, l’article 13 du RGPD impose notamment d’indiquer leurs destinataires, l’intention éventuelle de les transférer vers un pays tiers et leur durée de conservation, ou les critères qui la fixent.
Dans le second modèle, le document ne part pas. L’API File des navigateurs permet à une page de demander à la personne de choisir des fichiers locaux et d’en lire le contenu, par un sélecteur ou un glisser-déposer, comme l’explique MDN. Les traitements lourds s’appuient sur WebAssembly, un format binaire compact exécuté par les navigateurs modernes à des performances proches du natif, qui sert de cible de compilation à des langages comme C, C++ ou Rust.
| Critère | Traitement sur un serveur | Traitement dans le navigateur |
|---|---|---|
| Où le document est lu | Sur les machines du service | Dans la mémoire de votre appareil |
| Ce qui transite sur le réseau | Le document, puis le résultat | Le code de l’outil, pas le document |
| Ce qui limite la vitesse | La connexion et la charge du service | La puissance de l’appareil |
| Ce qu’il faut vérifier | Politique de confidentialité : destinataires, conservation | Le trafic réseau pendant l’opération |
Le test de l’onglet Réseau, pas à pas
Les navigateurs de bureau intègrent des outils de développement qui enregistrent chaque requête. Nul besoin d’être développeur pour s’en servir.
- Préparez un fichier témoin sans aucune donnée personnelle, dont vous connaissez le poids : un PDF de quelques mégaoctets convient.
- Ouvrez la page de l’outil, puis les outils de développement : dans Chrome, F12 ou Ctrl+Maj+I sous Windows et Linux, Cmd+Option+I sur Mac (documentation Chrome). Dans Firefox, Ctrl+Maj+E, ou Cmd+Option+E sur Mac, ouvre directement le moniteur réseau (documentation Firefox).
- Allez dans l’onglet Réseau. Dans Chrome, cochez l’option Preserve log, qui conserve les requêtes même si la page se recharge (référence du panneau Réseau). Videz ensuite la liste.
- Déposez le fichier témoin, lancez le traitement jusqu’au bout et téléchargez le résultat.
- Affichez la colonne Method, absente par défaut dans Chrome, d’un clic droit sur l’en-tête du tableau des requêtes. Repérez-y les requêtes POST ou PUT, celles qui transmettent des données. Ouvrez chacune d’elles et consultez l’onglet Payload, qui présente les paramètres et les données de formulaire envoyés.
- Filtrez aussi par Fetch/XHR, puis par WS, le filtre des connexions WebSocket, qui peuvent faire circuler des données en continu.
Interpréter ce que vous voyez
- Des téléchargements, c’est normal. Un outil local doit récupérer son propre code : scripts, styles, polices, modules WebAssembly (filtre Wasm dans Chrome). Ces requêtes GET peuvent peser plusieurs mégaoctets ; elles vont du serveur vers vous.
- Des envois morcelés. Un gros fichier peut partir en plusieurs requêtes plus petites. Additionnez-les avant de conclure.
- Des envois différés. Un document peut être transmis au moment du téléchargement du résultat, ou plus tard. Laissez les outils ouverts jusqu’à la fermeture de l’onglet : Firefox enregistre les requêtes tant que la boîte à outils est ouverte, même quand le moniteur réseau n’est pas l’onglet affiché.
- Le lien de téléchargement. Une adresse commençant par blob: désigne des données déjà présentes dans la page, créées avec URL.createObjectURL (MDN). Ce n’est pas une preuve à elle seule, mais c’est cohérent avec un résultat fabriqué sur place.
Ce que le test montre sur WeArePDF
Ici, les outils lisent le fichier dans le navigateur. Au premier usage d’un outil, vous verrez arriver ses moteurs depuis le site lui-même : pdf.js pour afficher les pages et extraire le texte, pdf-lib pour modifier la structure, et qpdf compilé en WebAssembly pour le chiffrement, le déchiffrement, la réparation et la compression sans perte. Le fichier produit est ensuite proposé par un lien en blob:, comme pour Fusionner PDF ou Compresser PDF.
L’OCR fait exception pour ses composants. À son premier lancement, la bibliothèque tesseract.js récupère sur le CDN jsDelivr son script, son moteur et les données linguistiques du français, de l’anglais ou des deux, conformément à sa documentation d’installation. Ces données linguistiques sont ensuite mises de côté dans la base IndexedDB du navigateur pour les lancements suivants, d’après ses options de cache ; le script et le moteur, eux, peuvent être resservis par le cache HTTP ordinaire. Il s’agit de téléchargements : l’image de vos pages reste dans l’onglet, ce que le test permet de constater.
Les pages chargent aussi les scripts publicitaires et de gestion du consentement de Google, qui émettent leurs propres requêtes vers d’autres domaines. Le même examen vous permet de vérifier qu’aucune d’elles n’emporte vos documents. Le détail des traitements figure dans la politique de confidentialité.
Ce que le traitement local ne garantit pas
- Les extensions du navigateur. Une extension autorisée à accéder à « vos données sur tous les sites Web que vous consultez » peut lire, demander ou modifier les données de chaque page visitée, d’après l’aide du Chrome Web Store. Faites le tri avant de manipuler un document sensible, ou servez-vous d’un profil de navigateur sans extension.
- L’appareil lui-même. Un ordinateur infecté ou partagé expose vos fichiers, quel que soit l’endroit où ils sont traités.
- Le fichier produit. Il arrive dans votre dossier de téléchargements, parfois synchronisé avec un stockage en ligne : sachez où il part ensuite.
- La connexion. Local ne veut pas dire hors ligne : la page et ses moteurs doivent être chargés, et l’OCR a besoin du réseau à son premier lancement.
- Les documents volumineux. Tout se passe dans la mémoire de l’appareil ; un téléphone peut peiner sur un fichier qu’un ordinateur traite sans difficulté.
Si un service envoie vos fichiers : les bonnes questions
Un traitement sur serveur n’a rien d’illégitime en soi. Avant d’y confier un document personnel, cherchez tout de même les réponses à ces questions dans sa politique de confidentialité :
- combien de temps les fichiers sont-ils conservés, et sont-ils effacés après le traitement ?
- qui peut y accéder : le service seul, ou d’autres destinataires ?
- les données sont-elles transférées vers un pays situé hors de l’Union européenne ?
- le résultat reste-t-il stocké dans un historique lié à un compte ?
- le document entier est-il vraiment nécessaire ? Pour une copie de pièce d’identité, pensez à y apposer un filigrane (voir le guide filigrane sur un document d’identité).
Questions fréquentes
Le cadenas HTTPS prouve-t-il que mon fichier n’est pas conservé ?
Non. HTTPS chiffre les communications entre le navigateur et le serveur, rappelle MDN : il protège le trajet, pas ce que le service fait du fichier une fois reçu.
Une mention « fichiers supprimés au bout d’une heure » suffit-elle ?
Elle confirme surtout que le fichier a bien été envoyé. Elle engage le service, mais vous ne pouvez pas la vérifier vous-même : c’est une affaire de confiance, à confronter à sa politique de confidentialité.
Pourquoi le premier usage d’un outil est-il plus lent que les suivants ?
Le navigateur télécharge d’abord le code et les moteurs de l’outil, qu’il peut ensuite resservir depuis son cache. Pour l’OCR s’ajoutent les données de langue, conservées dans le navigateur après le premier lancement.
Sources
- CNIL — RGPD, chapitre III, article 13
- MDN — Utiliser des fichiers à partir d’applications web
- MDN — WebAssembly
- MDN — HTTPS (glossaire)
- Chrome for Developers — Open Chrome DevTools
- Chrome for Developers — Network features reference
- Firefox Source Docs — Network Monitor
- Aide Chrome Web Store — Autorisations demandées par les applications et les extensions
- tesseract.js — Local Installation
- tesseract.js — API (options langPath, cachePath, cacheMethod)