## Projects - ✅ videotoMP3Transcriptor → DONE (first shipped project! 🎉) - GroveEngine → WIP (reference doc with 46 commits/3 weeks) - WeChat Homework Bot → WIP (comprehensive mini program plan) - ocr_pdf_service → CONCEPT (from PAUSE) - SecondVoice → PAUSE (failed attempt, will restart) ## Execution Patterns (Nov 2025) - 102 commits in 3 weeks (aissia: 33, groveengine: 46, confluent: 23) - 71% active time (15/21 days) - VERDICT: Alexis EXECUTES, not "plan only" - Balance: Big architectural projects + Fast shipping (videotoMP3 in 2 days) ## Couple - Hospital incident 29 nov documented (successful deescalation) - Pattern confirmed: Physical needs > Emotional management - Pattern confirmed: Retreat > Insist when tension ## Updated files - Status_Projets.md: Full project status with execution data - Alexis.md: Profile update with execution proof + hospital incident - CLAUDE.md: Current project state (5 WIP, 6 PAUSE, 1 DONE, 4 CONSTANT, 6 CONCEPT) - New: Projects/DONE/ folder structure - New: wechat_miniapp_homework.md (880 lines) - New: couple_backlog/29_novembre_2025_hopital.md 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
7.5 KiB
VideoToMP3Transcriptor - YouTube Download & Transcription Service
Status: DONE
Type: Utility Service (Node.js)
Location: C:\Users\alexi\Documents\projects\videotoMP3Transcriptor
Created: 24 novembre 2025
Shipped: 25 novembre 2025
Moved to DONE: 30 novembre 2025
Vue d'ensemble
Service complet pour télécharger vidéos YouTube en MP3, transcrire, traduire et résumer.
Use Cases
- Télécharger cours vidéo en MP3
- Transcrire automatiquement (chinois, français, anglais, etc.)
- Traduire transcriptions
- Générer résumés AI
Stack Technique
Backend:
- Node.js 18+
- Express (REST API + SSE streaming)
- OpenAI API (Whisper + GPT-4o-mini + GPT-5.1)
CLI Tools:
- yt-dlp (YouTube download)
- ffmpeg (audio conversion)
Port: 8888 (par défaut)
Features
Download
- ✅ Single YouTube video → MP3
- ✅ Playlist complète → MP3 batch
- ✅ Custom output directory
Transcription
- ✅ 3 modèles dispo :
gpt-4o-mini-transcribe(défaut) - Rapide, économiquegpt-4o-transcribe- Qualité supérieurewhisper-1- Legacy (supports SRT/VTT)
- ✅ Multi-langue (auto-detect ou spécifié)
- ✅ Formats : txt, json, srt, vtt
Traduction
- ✅ GPT-4o-mini
- ✅ Multi-langue support
Résumé
- ✅ GPT-5.1
- ✅ Résumé intelligent contextuel
Interfaces
- ✅ CLI (commands via npm run)
- ✅ REST API (endpoints POST/GET)
- ✅ SSE Streaming (progress en temps réel)
- ✅ Interface Web (public/)
API Endpoints
Core Endpoints
POST /download - Télécharge vidéo/playlist en MP3
curl -X POST http://localhost:8888/download \
-H "Content-Type: application/json" \
-d '{"url": "https://youtube.com/watch?v=VIDEO_ID"}'
POST /transcribe - Transcrit fichier audio existant
curl -X POST http://localhost:8888/transcribe \
-H "Content-Type: application/json" \
-d '{"filePath": "./output/video.mp3", "language": "en"}'
POST /process - Download + Transcribe en un appel
curl -X POST http://localhost:8888/process \
-H "Content-Type: application/json" \
-d '{"url": "URL", "language": "zh", "format": "txt"}'
SSE Streaming Endpoints
POST /download-stream - Download avec progress temps réel POST /process-stream - Process avec updates streaming POST /summarize-stream - Résumé avec streaming
Utility Endpoints
GET /health - Health check GET /info?url=URL - Info vidéo/playlist GET /files-list - Liste fichiers téléchargés GET /files/:filename - Download fichier spécifique
Configuration
Environment Variables (.env):
OPENAI_API_KEY=sk-...
PORT=8888
OUTPUT_DIR=./output
Modèles par défaut:
- Transcription :
gpt-4o-mini-transcribe - Résumé :
gpt-5.1 - Traduction :
gpt-4o-mini
Usage
CLI
# Download vidéo
npm run cli download "https://youtube.com/watch?v=VIDEO_ID"
# Transcrire fichier
npm run cli transcribe ./output/video.mp3 -l fr
# Download + Transcribe
npm run cli process "URL" -l en
# Info vidéo
npm run cli info "URL"
Linux Scripts (shortcuts)
# Make executable (first time)
chmod +x scripts/*.sh
# Download
./scripts/download.sh "URL"
# Transcribe
./scripts/transcribe.sh ./output/file.mp3 zh
# Process all-in-one
./scripts/process.sh "URL" fr
# Start server
./scripts/server.sh
API Server
# Start server
npm run server
# Server runs on http://localhost:8888
Structure Projet
videotoMP3Transcriptor/
├── docs/
│ └── API.md # Documentation API complète
├── src/
│ ├── server.js # Express server + routes
│ ├── cli.js # CLI interface
│ └── services/
│ ├── youtube.js # YouTube download
│ ├── transcription.js # OpenAI Whisper
│ ├── translation.js # GPT translation
│ └── summarize.js # GPT-5.1 summarization
├── scripts/ # Linux convenience scripts
│ ├── download.sh
│ ├── transcribe.sh
│ ├── process.sh
│ ├── server.sh
│ └── info.sh
├── public/ # Web interface
├── output/ # Downloaded files (default)
├── .env # Configuration
└── package.json
Git Activity
Commits: 2 (24-25 nov 2025)
Timeline:
- 24 nov : Initial commit (download + transcription)
- 25 nov : Add AI summarization (GPT-5.1)
Status: Shipped et fonctionnel
Use Cases Actuels
1. Cours Chinois
- Download cours vidéo YouTube
- Transcription automatique chinois
- Révision texte pour Anki
2. Contenu Éducatif
- Vidéos diverses langues
- Génération transcriptions
- Traduction si besoin
3. Prototype pour Homework Bot
- Code réutilisable :
services/transcription.js→ Whisper integrationservices/youtube.js→ Video download- Pattern SSE streaming → Feedback temps réel
- Overlap : 50% du code homework bot déjà écrit ici
Relation avec Autres Projets
Chinese Audio TTS Pipeline (PAUSE)
Verdict : OBSOLÈTE
- videotoMP3 fait déjà exactement ça
- Pas besoin de projet séparé
- Action : ARCHIVE chinese_audio_tts_pipeline
WeChat Homework Bot (WIP)
Synergies :
- Whisper API transcription ✅
- GPT-4 API correction (similaire résumé) ✅
- File upload/processing ✅
- Node.js/Express backend ✅
Réutilisation : Copy/paste services/transcription.js dans homework bot
Pourquoi DONE
Critères "DONE":
- ✅ Shipped et fonctionnel
- ✅ Utilisé en production (cours chinois)
- ✅ Pas de développement actif prévu
- ✅ Maintenance seulement si bugs
Pas un projet "abandonné" : C'est un service terminé et opérationnel.
Différence avec WIP :
- WIP = Développement actif en cours
- DONE = Shipped, maintenance uniquement
Installation & Démarrage Rapide
Prerequisites
# Windows
winget install yt-dlp
winget install ffmpeg
# macOS
brew install yt-dlp ffmpeg
# Linux
sudo apt install yt-dlp ffmpeg
Setup
cd C:\Users\alexi\Documents\projects\videotoMP3Transcriptor
# Install dependencies
npm install
# Configure
cp .env.example .env
# Edit .env: Add OPENAI_API_KEY
# Start server
npm run server
# Or use CLI
npm run cli download "https://youtube.com/watch?v=..."
Documentation
API complète : docs/API.md dans le repo
Maintenance : Documentation toujours à jour avec le code
Performance
Transcription :
- 2min audio → ~10-15s (gpt-4o-mini-transcribe)
- Dépend latence API OpenAI
Download :
- Dépend vitesse YouTube + taille fichier
- Progress visible via SSE streaming
Coûts
OpenAI API (estimation 20 vidéos/mois, 10min moy) :
- Transcription : 20 × 10min × $0.006/min = $1.20/mois
- Résumé : 20 × $0.02 = $0.40/mois
- Total : ~$1.60/mois
Infrastructure : 0€ (local)
Liens
Repo Git: C:\Users\alexi\Documents\projects\videotoMP3Transcriptor
Documentation API: docs/API.md
CLAUDE.md: Instructions développement et maintenance
Notes
Créé : 24 novembre 2025 Shipped : 25 novembre 2025 Moved to DONE : 30 novembre 2025 Auteur : Alexis Trouvé
Pattern de travail : Fast shipping (2 jours conception → shipped)
Lesson learned : Service utilitaire bien scopé = 2 jours de dev = Utilisable immédiatement
Tags : #nodejs #youtube #whisper #transcription #openai #gpt #done