BentoPDF : boîte à outils PDF côté client, auto-hébergement et double licence
La boîte à outils PDF Privacy First. BentoPDF BentoPDF** est une boîte à outils PDF côté client puissante, axée sur la confidentialité, auto-hébergable et vous permettant de manipuler, modifier, fusionner et traiter des fichiers PDF directement dans votre navigateur.
En bref
- De quoi s’agit-il ?
- BentoPDF est une boîte à outils PDF JavaScript qui fonctionne entièrement dans le navigateur. Le README décrit ses outils, options de déploiement, configuration et licence.
- À qui s’adresse-t-il ?
- BentoPDF propose un ensemble complet d'outils PDF, deux variantes de déploiement et un modèle de double licence. Le README fournit des instructions pratiques pour l'auto-hébergement, les configurations hors ligne et le branding personnalisé.
- Puis-je l’utiliser commercialement ?
- Oui, sous conditions strictes. AGPL-3.0 est une licence à copyleft réseau : si des personnes utilisent une version modifiée via un réseau, par exemple comme service hébergé, vous devez leur proposer son code source sous la même licence.
- Est-il encore maintenu ?
- Oui. Les derniers commits datent d’il y a 1 jour.
- En quel langage est-il écrit ?
- Principalement JavaScript, d’après les statistiques de langage de GitHub.
Ces réponses reposent sur les données GitHub du projet (dernière synchronisation le 15 septembre 2026) et sur notre analyse. Elles ne constituent pas un avis juridique.
ANALYSE OPEN SOURCE APPROFONDIE
Ce qu'est BentoPDF et comment il gère la confidentialité
Le README décrit BentoPDF comme une boîte à outils PDF côté client, axée sur la confidentialité. Il peut être auto-hébergé et permet de manipuler, éditer, fusionner et traiter des fichiers PDF directement dans le navigateur. Le README indique qu'aucun traitement côté serveur n'est requis, ce qui signifie que les fichiers ne sont jamais téléchargés sur un serveur. Le projet est écrit en JavaScript et est hébergé sur GitHub sous le compte alam00000. Les métadonnées du dépôt montrent 14 518 étoiles et 1 210 forks, mais le README ne fournit pas de benchmarks de performance ni de nombre d'utilisateurs.
Couverture des outils sur les flux de travail PDF
Le README liste une grande variété d'outils organisés par catégories : organiser et gérer les PDF (fusionner, diviser, faire pivoter, extraire des pages), éditer et modifier (annotations, création de formulaires, filigranes, rédaction), convertir vers et depuis PDF (documents Office, images, e-books), et sécuriser et optimiser (chiffrer, déchiffrer, compresser, assainir). Il inclut également un constructeur de flux de travail et l'OCR. La page de documentation mentionnée dans le README fait référence à plus de 50 outils. Le nombre exact n'est pas spécifié dans le README, mais le lien de documentation dit 50+.
Options de déploiement : Docker, hébergement statique et builds locaux
Le README propose plusieurs façons d'exécuter BentoPDF. Un démarrage rapide tire une image Docker depuis GitHub Container Registry : ghcr.io/alam00000/bentopdf-simple:latest et l'exécute avec 'docker run -p 3000:8080'. Pour l'hébergement statique, un zip de distribution pré-construit peut être téléchargé depuis les releases et servi avec n'importe quel serveur web. Le projet peut également être construit à partir des sources avec 'npm install', 'npm run build' et 'npm run package'. Des configurations Docker Compose et Podman Compose sont fournies, ainsi qu'un exemple Podman Quadlet pour l'intégration systemd. Le README note que la conversion de fichiers Office nécessite SharedArrayBuffer, donc l'application doit être isolée cross-origin et servie depuis un contexte sécurisé.
Variantes de build et branding personnalisé
BentoPDF est disponible en deux builds. Le build auto-hébergé (bentopdf-simple) est fonctionnellement identique au build commercial, mais masque les éléments marketing tels que hero, FAQ, témoignages et pied de page. Le build commercial (bentopdf) inclut le site marketing complet et est utilisé par bentopdf.com et les détenteurs de licence commerciale. Les deux builds prennent en charge le branding personnalisé via des variables d'environnement comme VITE_BRAND_NAME, VITE_BRAND_LOGO et VITE_FOOTER_TEXT, définies au moment de la construction. Le README décrit également les modes de compression (gzip, brotli, original, all) et un indicateur d'optimisation CDN pour servir les fichiers WASM depuis jsDelivr.
Modules WASM, OCR et déploiement hors ligne
Les fonctionnalités PDF avancées reposent sur des modules WASM : PyMuPDF, Ghostscript et CoherentPDF. Par défaut, ils sont chargés depuis le CDN jsDelivr, mais les URLs sont configurables via des variables d'environnement. L'OCR utilise Tesseract et dispose également d'URL configurables pour worker, core, langue et police. Pour les réseaux isolés, le README fournit un script prepare-airgap.sh qui télécharge les paquets requis, construit une image Docker et exporte un bundle avec un script de configuration. Des étapes manuelles sont également données. Le README souligne que les fichiers WASM doivent être servis depuis la même origine que l'application car les Web Workers utilisent importScripts().
Licence et conditions open source
BentoPDF est sous double licence. Il est disponible sous AGPL-3.0 gratuitement pour les projets open source avec code source public, et sous une licence commerciale à 79 $ à vie pour les applications propriétaires à code fermé. La licence AGPL-3.0, telle qu'extraite, exige que les opérateurs de serveurs réseau fournissent le code source de la version modifiée exécutée sur ce serveur aux utilisateurs de ce serveur. Le README note que BentoPDF ne regroupe pas de bibliothèques de traitement sous licence AGPL dans son code source, mais préconfigure des URLs CDN. L'extrait de licence ne mentionne aucune garantie ni obligation de support, et le README non plus.
Conclusion éditoriale
BentoPDF propose un ensemble complet d'outils PDF, deux variantes de déploiement et un modèle de double licence. Le README fournit des instructions pratiques pour l'auto-hébergement, les configurations hors ligne et le branding personnalisé. Les détails sur les performances, les garanties de sécurité et les résultats de production ne sont pas couverts par le README et doivent être vérifiés séparément.
Notes de la communauté