Documentation — Blueprint Monitor
Téléprompte IA pour présentations : import PPTX, Questions IA (réponses suggérées), traduction et résumé de séance. Overlay semi-transparent (transparence réglable en live via le bouton ◐ dans la barre, 60–95 %).
Le module Monitor est un overlay qui s’affiche à l’écran pendant une présentation. Il permet de charger un fichier PPTX, d’afficher le script et les notes par slide, de recevoir des questions en direct et d’obtenir des réponses suggérées par l’IA, de traduire du texte (FR ↔ EN) et de générer un résumé post-séance avec actions de suivi.
Mode opératoire
- Ouvrir le Monitor — Aller sur Modules → Monitor. L’overlay s’affiche en haut à droite (panneau repliable).
- Clé API Claude (optionnel) — Pour Questions IA, traduction et résumé : cliquer sur 🔑, saisir la clé Anthropic, elle est stockée en local (localStorage) et envoyée au backend.
- Importer un PPTX — Cliquer sur « ↑ PPTX », choisir un fichier .pptx. Le backend extrait titre, slides, textes, notes du présentateur et KPIs. La présentation remplace l’état courant (slide 1 affichée).
- Naviguer — Flèches ← / → ou boutons pour changer de slide. Le script et les notes de la slide courante s’affichent dans l’onglet « Script ».
- Questions IA en direct — Onglet « Questions IA » : choisir FR ou EN (langue de la réponse), saisir une question reçue en visio, envoyer ; l’IA suggère une réponse en streaming (contexte = slide courante). Possibilité de logger la paire question / réponse pour le résumé.
- Traduction — Onglet « Traduction » : coller un texte, choisir FR → EN ou EN → FR, envoyer ; la traduction est streamée.
- Résumé de séance — Onglet « Résumé » : touche S (ou bouton) pour générer un compte-rendu avec actions de suivi à partir du titre, des slides et des questions loggées (streaming).
- Visio — Garder l’overlay visible ou le masquer avec H / Échap selon besoin (présentation partagée + overlay sur un second écran ou en PIP).
Fonctionnalités
- Import PPTX — Extraction automatique des titres, textes des slides, notes du présentateur et KPIs (si présents).
- Script — Affichage et édition (double-clic) du script par slide.
- Questions IA — Toggle FR/EN pour la langue de la réponse ; saisie d’une question reçue en visio ; l’IA suggère une réponse en streaming (contexte = slide courante).
- Traduction — Texte à traduire, direction FR → EN ou EN → FR, réponse en streaming.
- Résumé — Génération d’un compte-rendu de la séance avec actions de suivi (à partir du titre, des slides et des questions loggées).
Clé API Claude (Anthropic)
Les appels IA (Q&R, traduction, résumé) utilisent l’API Claude (Anthropic). La clé se saisit dans l’interface du Monitor : bouton 🔑 dans la barre, puis champ « Clé API Claude (Anthropic) ». La valeur est stockée localement (localStorage) et envoyée en header X-Anthropic-API-Key à l’API prompteur. Ne jamais mettre de clé en dur dans le code.
Raccourcis clavier
- → ou Espace — Slide suivante
- ← — Slide précédente
- Q — Focus onglet Questions IA
- T — Focus onglet Traduction
- S — Générer le résumé
- H ou Échap — Masquer / afficher l’overlay
API (backend Prompteur)
Le Monitor appelle l’API /api/prompteur (proxy Next.js vers un backend FastAPI sur le port 8001). Les endpoints utilisés :
POST /api/prompteur/import-pptx— Upload d’un fichier .pptx (multipart/form-data, champfile). Réponse :title,slide_count,slides[](id, title, script, notes, kpis).POST /api/prompteur/suggest-answer— Body JSON :question,slide,lang. Réponse : SSE (stream de texte).POST /api/prompteur/translate— Body JSON :text,direction(fr_to_en | en_to_fr). Réponse : SSE.POST /api/prompteur/summarize— Body JSON :presentation_title,slides,questions_logged. Réponse : SSE.GET /api/prompteur/health— Santé du service et indicateuranthropic_key_set.
Le header X-Anthropic-API-Key est transmis par le proxy au backend ; le backend doit l’utiliser pour les appels Anthropic (ou fallback sur la variable d’environnement).
Déploiement
En production, le service prompteur-api (FastAPI) doit tourner (ex. PM2) et être joignable depuis l’app Next.js (PROMPTEUR_API_URL ou routage Nginx vers le backend). Dépendances côté backend : python-pptx, python-multipart, SDK Anthropic. Voir deploy/prompteur-api-requirements.txt.
Limite de taille du fichier PPTX
La taille maximale est configurée à 100 Mo (Next.js + Nginx). Si vous voyez encore « fichier trop volumineux » :
- Next.js — Dans
next.config.mjs,experimental.serverActions.bodySizeLimitest déjà à"100mb"; cela s’applique aux Server Actions. Les Route Handlers (proxy/api/prompteur) peuvent avoir une limite propre selon la version. - Nginx — En prod, si la requête passe par Nginx (vers Next.js ou directement vers le backend), ajouter
client_max_body_size 100m;dans le blocserverou dans lelocation /api/prompteur/pour autoriser les uploads jusqu’à 50 Mo. Sans cela, Nginx renvoie 413 (Payload Too Large) au-delà de 1 Mo par défaut. - Backend FastAPI (prompteur-api) — Si le backend impose une limite (ex. Starlette), l’augmenter côté Python (ex. paramètre
max_upload_sizeou équivalent selon votremain.py).
Pour accepter des PPTX jusqu’à 50 Mo : configurer au minimum Nginx (client_max_body_size 100m;) et, si besoin, le backend prompteur. Voir aussi le bloc location /api/prompteur/ dans deploy/DEPLOY_APP.md.