# 🎙️ TLDR Tech Podcast Generator (NotebookLM Edition)

Ce projet automatise la création d'un podcast technologique quotidien de type **"Deep Dive"** en utilisant l'IA de Google, **NotebookLM**.

Le script récupère les 8 newsletters quotidiennes de [TLDR.tech](https://tldr.tech/), en extrait les articles de fond (en filtrant les sponsors et les liens internes), puis génère une synthèse éditoriale et un podcast audio complet en anglais.

## ✨ Fonctionnalités

- **Extraction Intelligente** : Analyse les 8 newsletters TLDR (AI, Dev, Tech, etc.) pour en extraire les articles sources originaux.
- **Filtrage Avancé** : Exclut automatiquement les contenus sponsorisés et les liens de réseaux sociaux.
- **Workflow Deep Dive** : Génère un briefing éditorial structuré avant de lancer la création du podcast pour une meilleure profondeur d'analyse.
- **Gestion de la Fraîcheur** : Recherche automatiquement l'édition complète la plus récente (jusqu'à 3 jours en arrière) si celle d'aujourd'hui n'est pas encore disponible.
- **Packagé avec UV** : Utilise le gestionnaire de paquets Python le plus rapide et moderne pour une isolation parfaite.

## 🚀 Installation

### 1. Prérequis

- Python 3.12 ou supérieur.
- [uv](https://github.com/astral-sh/uv) installé sur votre système.
- Un compte Google avec accès à [NotebookLM](https://notebooklm.google.com/).

### 2. Authentification

Le script utilise `NotebookLMClient.from_storage()`. Pour que cela fonctionne, vous devez avoir vos cookies d'authentification enregistrés localement.
Si ce n'est pas encore fait, installez la CLI `notebooklm` et connectez-vous :

```bash
uv pip install notebooklm-py
notebooklm login
```

### 3. Installation Globale (Recommandé)

Pour installer l'outil globalement sur votre système et pouvoir l'utiliser n'importe où :

```bash
uv tool install nlm-podcast
```

### 4. Préparation du projet (Développement)

Si vous souhaitez contribuer ou modifier le code, clonez ce dépôt et installez les dépendances :

```bash
uv sync
```

## 🛠️ Utilisation

Si vous avez installé l'outil globalement :

```bash
generate-podcast
```

Si vous travaillez dans le répertoire du projet :

```bash
uv run generate-podcast
```

Le script effectuera les étapes suivantes :

1. Vérification de la disponibilité des newsletters TLDR.
2. Création d'un nouveau notebook dans votre compte NotebookLM.
3. Extraction et ajout de jusqu'à 49 articles de fond.
4. Génération d'un briefing éditorial détaillé (en anglais).
5. Création du podcast audio **"Deep Dive"** au format **Long**.

## 📝 Configuration Éditoriale

Le système utilise un **Persona d'Expert** et un **Prompt de Production** détaillés pour garantir un contenu de haute volée.

Le podcast final est généré en **anglais** avec un ton professionnel et engageant, idéal pour rester à la pointe de l'actualité technologique pendant vos trajets ou vos séances de sport.

## 📂 Structure du projet

- `generate_tldr_podcast.py` : Le script principal d'automatisation.
- `pyproject.toml` : Configuration du projet et des dépendances `uv`.
- `uv.lock` : Verrouillage déterministe des dépendances.

---
*Projet généré par Gemini CLI.*
