Un nouvel outil open source transforme des livres locaux en cours structurés par IA
Une nouvelle application auto-hébergée nommée Tutor convertit les fichiers EPUB et PDF en plans d'étude interactifs à l'aide de grands modèles de langage.
Traduit automatiquement depuis l’original en anglais.
Un développeur a publié un projet open source nommé Tutor qui transforme les bibliothèques numériques personnelles en cours structurés et interactifs. Publié sur GitHub par Demetrius Edelin le 10 octobre 2026, cet outil s'exécute localement sur l'ordinateur de l'utilisateur et exploite des API externes de grands modèles de langage pour enseigner les concepts issus des livres téléchargés.
Ce qui s'est passé
Le projet, actuellement en version 0.1.0, permet aux utilisateurs de créer des sujets d'étude, tels que SQL ou Rust, et de les alimenter avec des fichiers EPUB, des PDF balisés ou de la documentation en ligne. Contrairement aux chatbots classiques qui répondent à des questions ponctuelles, cette application analyse le matériel source pour extraire les concepts clés, les termes en gras et les définitions en italique. Elle organise ensuite ces éléments dans une carte conceptuelle, créant un parcours d'apprentissage linéaire plutôt qu'une conversation libre.
Le système fonctionne via une interface en ligne de commande pour la configuration et l'ingestion des données, suivie d'une interface basée sur le navigateur pour l'étude proprement dite. Les utilisateurs doivent fournir leurs propres clés API pour les fournisseurs pris en charge, notamment Anthropic, OpenAI ou OpenRouter. L'application n'inclut pas de modèle intégré, garantissant ainsi que tous les coûts de traitement et les contrôles de confidentialité des données restent sous la responsabilité de l'utilisateur. Le développeur précise que l'outil est conçu pour un déploiement mono-utilisateur sur un seul ordinateur, bien que le support des conteneurs soit prévu pour les futures versions.
Détails clés
- Formats pris en charge : Le parseur gère optimalement les fichiers EPUB, en utilisant le CSS de l'éditeur pour la structure. Il prend également en charge les PDF balisés, mais rejettera les PDF non balisés ou scannés, sauf si le LLM peut traiter les images.
- Compatibilité des modèles : Les utilisateurs peuvent sélectionner des modèles parmi Anthropic, OpenAI ou OpenRouter. Les tests récents indiquent que Claude Haiku 5.5 et GPT-6 Luna offrent de bonnes performances, avec des niveaux de raisonnement ajustables via la configuration.
- Processus d'ingestion : La commande
ingestanalyse les chapitres et les images, mettant en cache les résultats pour éviter des frais API répétés. Les utilisateurs peuvent ingérer des livres entiers ou des chapitres spécifiques en utilisant des options comme--chapters. - Flux de travail d'étude : L'application propose une phase de diagnostic pour tester les connaissances existantes, une file d'attente d'étude pour les nouveaux concepts et des leçons faisant référence à des sections spécifiques du livre. Elle inclut un mécanisme de contestation en cas d'évaluation incorrecte par l'IA.
- Stack technique : Construit avec TypeScript sur Node.js 22, utilisant Fastify pour le serveur, React 19 pour le frontend et SQLite pour le stockage local des données.
- Contrôles de confidentialité : Le texte des livres et les clés API sont stockés dans un dossier local
data/exclu de Git. Le récupérateur en ligne respecterobots.txtet ajoute des délais entre les requêtes.
Contexte
Cet outil représente une évolution par rapport aux systèmes de génération augmentée par récupération (RAG) qui se contentent de rechercher des documents, vers des systèmes agentiques qui structurent la pédagogie. Les implémentations RAG traditionnelles permettent aux utilisateurs de poser des questions sur un corpus documentaire, renvoyant des extraits pertinents. En revanche, cette application effectue une analyse sémantique pour identifier les unités éducatives — les concepts — et suit le niveau de maîtrise de l'utilisateur au fil du temps. Elle s'appuie sur les métadonnées structurelles des livres numériques, telles que les hiérarchies de titres et les emphases typographiques, pour déterminer ce qui constitue une unité apprenable. En fonctionnant localement, elle évite d'envoyer continuellement le contenu intégral des livres à des serveurs tiers, ne transmettant que des fragments spécifiques lors de la phase de génération des leçons.
Pourquoi c'est important
Pour les équipes et les individus gérant une documentation propriétaire ou des bibliothèques techniques spécialisées, cette approche offre un moyen d'institutionnaliser le savoir sans dépendre des données d'entraînement du cloud public. L'auto-hébergement garantit que les manuels internes sensibles ou les références techniques achetées restent sous contrôle local. La capacité de convertir des PDF et des EPUB statiques en programmes interactifs réduit la friction liée à l'intégration de nouveaux membres de l'équipe dans des bases de code complexes ou des cadres réglementaires. Cela transforme la lecture passive en vérification active, assurant que les apprenants comprennent réellement le matériel plutôt que de simplement le survoler.
De plus, le modèle « apportez votre propre clé » s'aligne sur les pratiques d'ingénierie soucieuses des coûts. Les organisations peuvent surveiller précisément l'utilisation de l'API, mettant en cache le contenu ingéré pour éviter des frais de traitement redondants. Cela contraste avec les plateformes d'apprentissage par abonnement où le contenu est fixe et la tarification opaque. Pour les responsables IT, l'exigence de Node.js 22 et de bases de données SQLite locales signifie que l'outil peut être déployé sur des stations de développement existantes sans lourde infrastructure supplémentaire, bien que l'absence actuelle de support multi-utilisateurs limite son utilisation dans les environnements d'équipe collaboratifs.
Ce que vous pouvez faire
- Installez Node.js 22 ou une version ultérieure et clonez le dépôt depuis GitHub pour tester le pipeline d'ingestion avec un fichier EPUB d'exemple.
- Configurez un fichier
.envavec les clés API d'Anthropic, d'OpenAI ou d'OpenRouter, en sélectionnant un modèle optimisé pour les tâches de raisonnement. - Utilisez la commande
npm run parsepour prévisualiser les structures de chapitres et l'extraction de concepts avant de procéder à l'ingestion complète dans la base de données. - Commencez avec des PDF balisés ou des EPUB natifs pour garantir une cartographie précise des concepts, en évitant les documents scannés qui ne possèdent pas de couche de texte.
- Surveillez les coûts API en utilisant l'option
--previewlors de la configuration initiale pour estimer l'utilisation de tokens pour les gros manuels ou les jeux de documentation. - Fournissez des retours sur le dépôt GitHub concernant la future fonctionnalité d'image de conteneur si un déploiement basé sur serveur est requis pour votre flux de travail.



