Qu'est-ce qu'Open Notebook ?

Google NotebookLM est un assistant de recherche IA lancé par Google. Il permet de télécharger des PDF, des documents et des pages web, puis d'avoir des conversations avec ces matériaux, de générer des résumés et même des podcasts. Mais il a un défaut majeur : toutes vos données sont stockées dans le cloud de Google, et vous ne pouvez utiliser que le modèle Gemini de Google.

Open Notebook est une alternative entièrement open source et auto-hébergeable à NotebookLM, développée principalement par le développeur lfnovo. Sa philosophie centrale est simple : la gestion des connaissances ne devrait pas être monopolisée par les géants technologiques, ni se faire au détriment de la vie privée.

En juin 2026, Open Notebook a déjà obtenu plus de 26 000 étoiles sur GitHub, avec plusieurs centaines de nouvelles étoiles chaque jour. C'est l'un des outils IA open source les plus populaires du moment.

Comparaison clé : Open Notebook vs Google NotebookLM

Fonctionnalité Open Notebook Google NotebookLM
Mode de déploiement Auto-hébergement via Docker / exécution locale Cloud Google (non auto-hébergeable)
Confidentialité des données Données entièrement sous votre contrôle Données stockées sur les serveurs de Google
Choix des modèles IA Plus de 18 fournisseurs (OpenAI, Anthropic, Ollama, DeepSeek, etc.) Uniquement Google Gemini
Génération de podcasts 1 à 4 rôles personnalisables, script contrôlable Format fixe « Deep Dive » à 2 personnes
Accès API API REST complète (localhost:5055/docs) Aucune API publique
Transformation de contenu Actions personnalisables + nombreuses options intégrées Options limitées
Coût Seulement les frais d'appel IA (Ollama local gratuit en option) Niveau gratuit + abonnement mensuel
Évolutivité Code open source, modifiable et intégrable à volonté Système fermé, non personnalisable
Licence Apache 2.0 Logiciel propriétaire

Comme le montre ce tableau, les principaux atouts d'Open Notebook sont la souveraineté des données et la flexibilité. Pour les chercheurs soucieux de leur vie privée, les développeurs d'entreprise ou les utilisateurs ayant besoin de flux de travail personnalisés, c'est un choix bien plus adapté que NotebookLM.

Pourquoi choisir Open Notebook ?

1. Vie privée avant tout : vos données, votre contrôle

Lorsque vous utilisez NotebookLM, tous les PDF, notes et historiques de conversation que vous téléchargez sont stockés sur les serveurs de Google. Pour les contenus impliquant des secrets commerciaux, des recherches académiques ou des informations personnelles sensibles, cela peut représenter un risque de sécurité.

Open Notebook adopte une architecture auto-hébergée. Toutes les données sont stockées sur votre propre machine ou serveur. Avec SurrealDB comme base de données backend, vous avez un contrôle total sur l'emplacement de stockage et les droits d'accès.

2. Support de plus de 18 fournisseurs de modèles IA

Open Notebook s'appuie sur la bibliothèque Esperanto pour offrir une connexion unifiée aux principaux fournisseurs d'IA :

Fournisseur LLM Embedding STT TTS
OpenAI ✅ ✅ ✅ ✅
Anthropic (Claude) ✅ ❌ ❌ ❌
Google (Gemini) ✅ ✅ ✅ ✅
Ollama (local) ✅ ✅ ❌ ❌
DeepSeek ✅ ❌ ❌ ❌
Groq ✅ ❌ ✅ ❌
Mistral ✅ ✅ ✅ ✅
Azure OpenAI ✅ ✅ ✅ ✅
OpenRouter ✅ ✅ ❌ ❌
xAI ✅ ❌ ❌ ✅
LM Studio (point de terminaison compatible) ✅ ✅ ✅ ✅

Cela signifie que vous pouvez : - Exécuter localement avec Ollama des modèles comme Llama 3 ou Qwen, pour une utilisation totalement hors ligne sans coût API - Utiliser Groq pour un raisonnement ultra-rapide (idéal pour les questions-réponses rapides) - Bénéficier de DeepSeek pour une compréhension du chinois à rapport qualité-prix élevé - Changer de fournisseur à tout moment, évitant ainsi le verrouillage vendor

3. Génération de podcasts de niveau professionnel

La fonction de génération de podcasts d'Open Notebook est bien plus flexible que celle de NotebookLM :

  • 1 à 4 intervenants : personnalisez la voix, le ton et l'expertise de chaque rôle
  • Profils d'épisode : définissez le thème, le style et le public cible pour chaque épisode
  • Aperçu et édition du script : révisez et modifiez le script avant de générer l'audio
  • Support multilingue : anglais, chinois, japonais, portugais, etc.

En comparaison, la fonction Podcast de NotebookLM est figée dans un dialogue à deux personnes (un homme, une femme), avec un style unique et aucune personnalisation possible.

4. API REST complète

Open Notebook propose une API REST complète (par défaut sur http://localhost:5055/docs), permettant de :

  • Créer et gérer des Notebooks
  • Télécharger et traiter divers types de fichiers sources (PDF, vidéo, pages web, etc.)
  • Exécuter la génération de notes assistée par IA et les transformations de contenu
  • Interroger l'historique des chats et le contexte

Cela permet d'intégrer facilement Open Notebook dans vos flux de travail existants, par exemple : - Archiver automatiquement les discussions Slack/Discord dans un Notebook - Scraper régulièrement certains sites web et générer des résumés - Intégrer avec les pipelines CI/CD pour générer automatiquement des synthèses de documentation technique

Démarrage rapide : déployez Open Notebook en 5 minutes

La méthode de déploiement recommandée par Open Notebook est Docker Compose. Le processus ne prend que deux commandes.

Prérequis

  • Docker Desktop installé et en cours d'exécution
  • Au moins 4 Go d'espace disque disponible (pour les données SurrealDB et le cache local)
  • Une clé API d'un fournisseur IA (ou aucun si vous utilisez des modèles locaux Ollama)

Étape 1 : Téléchargez docker-compose.yml

BASH
curl -o docker-compose.yml https://raw.githubusercontent.com/lfnovo/open-notebook/main/docker-compose.yml

Ou créez manuellement le fichier docker-compose.yml :

YAML
services:
  surrealdb:
    image: surrealdb/surrealdb:v2
    command: start --log info --user root --pass root rocksdb:/mydata/mydatabase.db
    user: root
    ports:
      - "8000:8000"
    volumes:
      - ./surreal_data:/mydata
    restart: always

  open_notebook:
    image: lfnovo/open_notebook:v1-latest
    ports:
      - "8502:8502"   # Interface Web UI
      - "5055:5055"   # API REST
    environment:
      - OPEN_NOTEBOOK_ENCRYPTION_KEY=change-me-to-a-secret-string
      - SURREAL_URL=ws://surrealdb:8000/rpc
      - SURREAL_USER=root
      - SURREAL_PASSWORD=root
      - SURREAL_NAMESPACE=open_notebook
      - SURREAL_DATABASE=open_notebook
    volumes:
      - ./notebook_data:/app/data
    depends_on:
      - surrealdb
    restart: always

Important : Remplacez OPEN_NOTEBOOK_ENCRYPTION_KEY par une chaîne secrète de votre choix, par exemple my-super-secret-key-2026. Cette clé sert à chiffrer les informations sensibles (comme les clés API) stockées dans la base de données.

Étape 2 : Démarrez les services

BASH
docker compose up -d

Attendez 15 à 20 secondes que SurrealDB s'initialise, puis ouvrez votre navigateur et accédez à :

TEXT
http://localhost:8502

Vous devriez voir l'écran de connexion/inscription d'Open Notebook.

Étape 3 : Configurez la clé API

  1. Lors de votre première visite, le système vous demandera de créer un compte administrateur
  2. Après la connexion, allez dans Settings → API Keys
  3. Cliquez sur Add Credential
  4. Choisissez votre fournisseur IA (par exemple OpenAI, Anthropic, Google, etc.)
  5. Collez la clé API et cliquez sur Save
  6. Cliquez sur Test Connection pour vérifier que la connexion fonctionne
  7. Cliquez sur Discover Models pour récupérer automatiquement la liste des modèles disponibles
  8. Cliquez sur Register Models pour terminer l'enregistrement

Si vous n'avez pas de clé API, vous pouvez en obtenir sur ces plateformes : - OpenAI - Anthropic - Google AI Studio - Groq (offre un niveau gratuit)

Utilisez Ollama pour une exécution locale gratuite

Si vous souhaitez une utilisation totalement gratuite et hors ligne, combinez avec Ollama :

BASH
# Installez Ollama (macOS/Linux)
curl -fsSL https://ollama.ai/install.sh | sh

# Téléchargez un modèle léger
ollama pull llama3.2:3b

# Démarrez le service Ollama
ollama serve

Puis, dans les paramètres API Keys d'Open Notebook : 1. Ajoutez une credential, choisissez Ollama comme fournisseur 2. Pour l'URL, indiquez http://host.docker.internal:11434 (accès depuis Docker à l'hôte) 3. Testez la connexion et enregistrez les modèles

Ainsi, vous pouvez utiliser toutes les fonctionnalités d'Open Notebook sans payer de frais API (sauf pour la génération de podcasts TTS qui nécessite un service externe).

Fonctionnalités principales en pratique

Créez votre premier Notebook

Après vous être connecté à Open Notebook, cliquez sur le bouton + New Notebook en haut à gauche :

  1. Nom du Notebook : par exemple « Recherche sur les tendances IA 2026 »
  2. Description (optionnelle) : expliquez brièvement l'utilité de ce Notebook
  3. Choisissez le modèle par défaut : sélectionnez un modèle enregistré comme modèle de chat par défaut
  4. Cliquez sur Create

Chaque Notebook est une base de connaissances indépendante. Vous pouvez créer différents Notebooks pour différents projets, par exemple : - « Notes d'apprentissage Python » - « Analyse concurrentielle » - « Bibliothèque de documents de spécifications produit »

Ajoutez des sources de contenu

Open Notebook prend en charge plusieurs types de sources de contenu. C'est l'une de ses fonctionnalités les plus puissantes.

Types de sources pris en charge

Type Format Description
Documents PDF .pdf Articles académiques, livres électroniques, rapports
Fichiers texte .txt, .md Notes, extraits de code, journaux
Documents Office .docx, .pptx Documents Word, présentations PowerPoint
Liens web URL Extraction automatique du contenu principal
Vidéos YouTube URL YouTube Transcription automatique des sous-titres (nécessite configuration STT)
Fichiers audio .mp3, .wav Enregistrements de réunions, podcasts (nécessite configuration STT)

Exemple : ajouter un PDF

  1. Dans la page du Notebook, cliquez sur Add Source
  2. Choisissez Upload File
  3. Glissez-déposez ou sélectionnez un fichier PDF (par exemple un article arXiv)
  4. Attendez la fin du traitement (le système extrait automatiquement le texte et génère des embeddings vectoriels)
  5. Vous pouvez voir l'état de traitement et le nombre de mots dans la liste des Sources

Exemple : ajouter un lien web

  1. Cliquez sur Add Source → Web Page
  2. Collez l'URL, par exemple https://arxiv.org/abs/2401.12345
  3. Open Notebook va automatiquement scraper la page et extraire le corps du texte
  4. Si la page a un paywall ou des protections anti-scraping, il faudra peut-être copier-coller manuellement le contenu

Discutez avec votre base de connaissances (Chat)

Une fois les fichiers sources ajoutés, vous pouvez commencer à discuter avec l'IA.

Dans la page du Notebook, le panneau Chat se trouve à droite :

  1. Sélectionnez la portée du contexte : - « All Sources » : répondre sur la base de toutes les sources - « Selected Sources » : répondre uniquement sur la base de quelques fichiers sélectionnés - « Notes Only » : répondre uniquement sur la base des notes écrites manuellement

  2. Posez une question, par exemple : Quels sont les apports principaux de cet article ? Résumez trois points clés en français.

  3. Consultez les citations : la réponse de l'IA inclut des références aux sources. Cliquez sur une citation pour accéder à l'emplacement correspondant dans le texte original

  4. Enregistrez en tant que note : si la réponse de l'IA est précieuse, cliquez sur Save as Note pour l'enregistrer comme note permanente

Générez des notes assistées par IA

En plus du chat en temps réel, Open Notebook permet de générer des notes en lot :

  1. Dans la page du Notebook, cliquez sur Generate Notes
  2. Sélectionnez les fichiers sources à traiter (sélection multiple possible)
  3. Choisissez un modèle de note : - Summary : génère un résumé complet - Key Points : extrait les points essentiels - Q&A : génère des questions fréquentes et leurs réponses - Custom : prompt personnalisé
  4. Cliquez sur Generate et attendez que l'IA termine le traitement
  5. Les notes générées apparaissent dans le panneau Notes à gauche, où vous pouvez les éditer

Transformations de contenu

Les Content Transformations sont une fonctionnalité avancée d'Open Notebook. Elles permettent d'exécuter des traitements IA personnalisés sur les fichiers sources.

Par exemple, vous pouvez créer une Transformation pour : - Traduire tous les documents techniques en français - Extraire les actions (Action Items) des comptes rendus de réunion - Compresser un long article de blog en un résumé de 500 mots

Configuration : 1. Allez dans Settings → Transformations 2. Cliquez sur New Transformation 3. Définissez un nom et un template de prompt, par exemple : Veuillez traduire le document technique suivant en français, en conservant la précision des termes professionnels : {{content}} 4. Après sauvegarde, faites un clic droit sur n'importe quel fichier source et sélectionnez cette Transformation pour l'exécuter

Génération de podcasts : transformez vos notes en émission audio

La génération de podcasts est l'une des fonctionnalités les plus remarquables d'Open Notebook. Vous pouvez transformer le contenu de n'importe quel Notebook en podcast professionnel multi-intervenants.

Configurez les rôles du podcast

  1. Allez dans Settings → Podcast Profiles
  2. Cliquez sur New Profile
  3. Définissez les rôles : - Animateur : guide la discussion, pose des questions - Expert A : explique en profondeur les détails techniques - Expert B : apporte un point de vue différent ou contredit - (Optionnel) Narrateur : présente l'émission et conclut

Chaque rôle peut être configuré avec : - Type de voix : masculine/féminine/neutre - Vitesse : lente/normale/rapide - Style de ton : formel/détendu/humoristique/sérieux - Fournisseur TTS : OpenAI, ElevenLabs, Google, etc.

Générez le podcast

  1. Dans la page du Notebook, cliquez sur Generate Podcast
  2. Sélectionnez les fichiers sources et les notes à inclure (le système extrait automatiquement le contenu clé)
  3. Choisissez le profil de podcast
  4. Définissez la durée cible (par exemple 10 minutes, 20 minutes)
  5. Cliquez sur Generate Script pour prévisualiser le script
  6. Revoyez et éditez le script (optionnel)
  7. Cliquez sur Generate Audio pour commencer la synthèse audio
  8. Une fois terminé, vous pouvez télécharger le fichier MP3 ou l'écouter en ligne

Scénarios d'utilisation concrets

  • Révision d'apprentissage : transformez vos notes de la semaine en podcast à écouter pendant les trajets
  • Partage de connaissances : créez des supports de formation audio pour votre équipe
  • Réutilisation de contenu : convertissez des articles de blog en podcasts publiés sur Spotify/Apple Podcasts
  • Apprentissage des langues : générez des podcasts dans la langue cible pour pratiquer la compréhension orale

API REST en pratique : automatisez vos flux de travail

Open Notebook fournit une API REST complète, fonctionnant par défaut sur http://localhost:5055. La documentation de l'API est accessible via Swagger UI : http://localhost:5055/docs

Authentification

Toutes les requêtes API doivent inclure un jeton API dans l'en-tête :

BASH
curl -H "Authorization: Bearer YOUR_API_TOKEN" \
  http://localhost:5055/api/notebooks

Vous pouvez générer un jeton API dans Settings → API Keys.

Exemples d'API courantes

1. Liste tous les Notebooks

BASH
curl -H "Authorization: Bearer $TOKEN" \
  http://localhost:5055/api/notebooks

Réponse :

JSON
{
  "notebooks": [
    {
      "id": "nb_abc123",
      "title": "Recherche sur les tendances IA 2026",
      "created_at": "2026-06-07T10:00:00Z",
      "source_count": 5,
      "note_count": 12
    }
  ]
}

2. Crée un nouveau Notebook

BASH
curl -X POST -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"title": "Étude de nouveau produit", "description": "Base de données d analyse concurrentielle"}' \
  http://localhost:5055/api/notebooks

3. Télécharge un fichier source

BASH
curl -X POST -H "Authorization: Bearer $TOKEN" \
  -F "file=@research-paper.pdf" \
  -F "notebook_id=nb_abc123" \
  http://localhost:5055/api/sources/upload

4. Envoie une requête de chat

BASH
curl -X POST -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "notebook_id": "nb_abc123",
    "message": "Résumez les points centraux de cet article",
    "model": "gpt-4o",
    "temperature": 0.7
  }' \
  http://localhost:5055/api/chat

Exemple de client Python

PYTHON
import requests

BASE_URL = "http://localhost:5055/api"
TOKEN = "your_api_token_here"
headers = {"Authorization": f"Bearer {TOKEN}"}

# Récupère tous les Notebooks
response = requests.get(f"{BASE_URL}/notebooks", headers=headers)
notebooks = response.json()["notebooks"]

for nb in notebooks:
    print(f"Notebook: {nb['title']} ({nb['source_count']} sources)")

# Crée un nouveau Notebook
new_nb = requests.post(
    f"{BASE_URL}/notebooks",
    headers=headers,
    json={"title": "Notebook de test", "description": "Test API"}
)
print(f"Créé : {new_nb.json()['id']}")

Grâce à l'API REST, vous pouvez intégrer Open Notebook dans vos flux de travail automatisés existants, par exemple : - Scraper régulièrement les derniers articles depuis un flux RSS et générer des résumés - Archiver automatiquement les discussions d'un canal Slack dans un Notebook - Intégrer avec un pipeline CI/CD pour générer automatiquement une analyse d'impact technique des changements de code

Configuration avancée

Protection par mot de passe pour un déploiement public

Si vous déployez Open Notebook sur un serveur accessible publiquement, il est recommandé d'activer la protection par mot de passe :

Ajoutez la variable d'environnement suivante dans docker-compose.yml :

YAML
open_notebook:
  environment:
    - OPEN_NOTEBOOK_PASSWORD=my-secure-password

Après redémarrage du service, l'accès à l'interface Web nécessitera un mot de passe.

Domaine personnalisé et HTTPS

Utilisez Nginx comme reverse proxy pour configurer un domaine personnalisé et HTTPS :

NGINX
server {
    listen 443 ssl;
    server_name notebook.example.com;

    ssl_certificate /etc/letsencrypt/live/notebook.example.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/notebook.example.com/privkey.pem;

    location / {
        proxy_pass http://localhost:8502;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }

    location /api/ {
        proxy_pass http://localhost:5055/api/;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }
}

Sauvegarde des données

Les données d'Open Notebook sont stockées dans deux répertoires : - ./surreal_data/ : fichiers de base de données SurrealDB - ./notebook_data/ : fichiers sources téléchargés et cache

Sauvegardez régulièrement ces deux répertoires :

BASH
# Crée une sauvegarde
tar czf open-notebook-backup-$(date +%Y%m%d).tar.gz \
  surreal_data/ notebook_data/

# Restaure une sauvegarde
tar xzf open-notebook-backup-20260607.tar.gz

Dépannage des problèmes courants

1. Impossible d'accéder à l'interface Web après le démarrage des conteneurs Docker

Symptôme : docker compose up -d réussit, mais http://localhost:8502 est inaccessible

Solution :

BASH
# Vérifie l'état des conteneurs
docker compose ps

# Consulte les logs
docker compose logs open_notebook
docker compose logs surrealdb

# Si SurrealDB n'est pas prêt, attendez 30 secondes et réessayez
docker compose restart

2. Échec du test de connexion de la clé API

Symptôme : Le test de connexion OpenAI/Anthropic dans les Settings affiche une erreur

Solution : - Vérifiez que la clé API est correcte et n'a pas expiré - Vérifiez la connectivité réseau (un proxy peut être nécessaire dans certaines régions) - Consultez les logs Docker pour détecter d'éventuelles erreurs SSL ou de timeout - Essayez d'appeler directement l'API depuis l'hôte pour valider la clé

3. Les modèles Ollama ne sont pas détectés

Symptôme : Après avoir ajouté les credentials Ollama, Discover Models renvoie une liste vide

Solution :

BASH
# Confirme qu'Ollama est en cours d'exécution
ollama list

# Teste la connexion depuis Docker
docker exec -it <open_notebook_container_id> curl http://host.docker.internal:11434/api/tags

# Si la connexion échoue, vérifiez la configuration réseau Docker
# macOS/Docker Desktop prend en charge host.docker.internal par défaut
# Linux peut nécessiter une configuration supplémentaire

4. Échec du traitement PDF ou contenu vide

Symptôme : Après le téléchargement du PDF, la Source indique « traité » mais le nombre de mots est 0

Solution : - Confirmez que le PDF n'est pas un scan (les scans nécessitent l'OCR, non pris en charge par Open Notebook pour l'instant) - Essayez d'ouvrir le PDF avec un autre lecteur pour vérifier que le texte est copiable - Vérifiez les logs Docker pour détecter d'éventuelles erreurs de mémoire insuffisante - Les gros fichiers (>50 Mo) peuvent nécessiter d'augmenter la limite de mémoire Docker

5. Qualité audio médiocre lors de la génération de podcast

Symptôme : La voix du podcast généré semble mécanique ou peu naturelle

Solution : - Passez à un fournisseur TTS de meilleure qualité (comme ElevenLabs) - Ajustez les paramètres de vitesse et de ton dans le profil de rôle - Assurez-vous que le modèle TTS choisi prend en charge la langue cible - Vérifiez que le quota API est suffisant

Conclusion

Open Notebook est actuellement l'alternative open source la plus mature à NotebookLM. Elle surpasse le produit natif de Google sur plusieurs aspects :

  1. Souveraineté des données : l'architecture auto-hébergée garantit que vos données de recherche restent totalement privées
  2. Liberté de modèle : support de plus de 18 fournisseurs IA, évitant le verrouillage vendor
  3. Fonctionnalités riches : génération de podcasts professionnelle, API REST, actions de transformation personnalisables
  4. Coût maîtrisable : option Ollama local pour un coût API nul
  5. Transparence open source : licence Apache 2.0, développement piloté par la communauté

Pour les chercheurs soucieux de leur vie privée, les développeurs ayant besoin de flux de travail personnalisés, ou simplement les professionnels du savoir souhaitant échapper au monopole des géants technologiques, Open Notebook est un outil qui mérite d'être appris.

Prochaines étapes : - Visitez le dépôt GitHub pour suivre les dernières avancées - Rejoignez la communauté Discord pour échanger avec d'autres utilisateurs - Consultez la documentation officielle pour des tutoriels plus détaillés - Déployez localement et créez votre premier Notebook


Cet article est basé sur la version v1 d'Open Notebook. Le projet évolue continuellement ; veuillez vous référer à la dernière version pour les fonctionnalités exactes.