Guide d'utilisation

← Retour à l'admin

Ce guide explique comment utiliser l'interface d'administration de Voice Coach. L'interface est organisée en 5 onglets, accessibles depuis la barre en bas de l'écran.

Sommaire

En bas de l'écran, vous trouverez une barre avec les onglets suivants :

Cliquez sur un onglet pour y accéder. L'onglet actif est souligné en violet.

🔧 Onglet Maintenance

Cet onglet permet de vérifier que tout fonctionne et d'effectuer des opérations de maintenance.

Statut du Backend

Affiche l'état du serveur Voice Coach avec un indicateur coloré :

APIs externes

Affiche l'état de connexion de chaque service externe utilisé par Voice Coach :

Chaque carte affiche aussi le temps de réponse en millisecondes.

Si un service est marqué "skipped", c'est qu'il n'est pas configuré — ce n'est pas une erreur.

Actions

Quatre boutons d'action sont disponibles :

Chaque action demande une confirmation avant de s'exécuter. Le bouton "Rebuild" est en rouge car c'est l'opération la plus lourde (plusieurs minutes).

📊 Onglet Sessions

Cet onglet permet de consulter et télécharger les données des sessions de coaching.

Fichier Master

Le bouton ⬇️ Download sessions.xlsx télécharge un fichier Excel qui contient toutes les sessions de coaching consolidées en un seul fichier.

C'est le fichier à utiliser pour analyser l'ensemble des sessions dans Excel ou Google Sheets.

Historique des sessions

Un tableau affiche les 5 dernières sessions avec les informations suivantes :

En cliquant sur un Session ID, deux fichiers Excel sont téléchargés automatiquement : le résumé de la session et le détail tour par tour.

💪 Onglet Exercises

Cet onglet permet de construire une bibliothèque d'exercices de coaching extraits de livres PDF. Le processus se déroule en 3 étapes indépendantes : extraction, enrichissement, indexation. Chaque étape peut être relancée séparément sans refaire les précédentes.

1️⃣Étape 1 — Extraire les exercices d'un PDF

Sélectionnez un fichier PDF (livre de coaching), saisissez son titre et son identifiant (l'ID est auto-généré à partir du titre, mais vous pouvez le modifier). Choisissez ensuite le modèle d'IA et le seuil de confiance, puis cliquez sur 📥 Extract Exercises.

Ce qui se passe :

Paramètres :

Le journal de progression s'affiche en temps réel. Chaque ligne correspond à un bloc analysé : ✓ retenu, ✗ rejeté. Un PDF de 200 pages peut donner 10 à 40 exercices selon son contenu.
Ne lancez pas deux extractions en parallèle sur le même book_id : les fichiers seraient renumérotés depuis 001 et écraserait les existants.
2️⃣Étape 2 — Enrichir les exercices (métadonnées)

Cliquez sur 🏷️ Enrich All Raw Exercises. Le système traite tous les fichiers dont le status est raw. Pour chacun, il envoie le texte de l'exercice à un LLM (Sonnet 4.6, toujours) qui génère les métadonnées de coaching : titre, émotions, mécanismes, type d'action, niveau d'effort.

Ce qui est ajouté dans le frontmatter :

Vous pouvez éditer manuellement un fichier .md après cette étape (via SSH ou terminal). Pour qu'un exercice modifié soit re-indexé, remettez son status à enriched puis relancez l'étape 3.
3️⃣Étape 3 — Construire l'index de recherche

Cliquez sur 🗂️ Build Search Index. Le système lit tous les fichiers status: enriched, calcule un vecteur sémantique pour chaque exercice (via un modèle d'embedding), puis les charge dans la base vectorielle LanceDB. Le status passe à indexed.

Une fois indexés, les exercices sont disponibles pour la recherche sémantique lors des sessions de coaching (l'agent Micro-action peut les suggérer).

Après une modification manuelle d'un fichier .md : remettez status: enriched, puis relancez cette étape. L'index est entièrement recalculé à chaque fois (opération idempotente).
📚Bibliothèque — Vue d'ensemble

En bas de l'onglet, un tableau liste tous les exercices avec les colonnes suivantes :

Cliquez sur une ligne pour voir le détail complet et télécharger le fichier .md.

La barre de stats au-dessus du tableau affiche le nombre d'exercices par statut : N raw · N enriched · N indexed. C'est un bon indicateur de l'état d'avancement du pipeline.
Le bouton 🗑️ Delete All supprime définitivement tous les fichiers .md et réinitialise la bibliothèque. Cette action est irréversible.
📊Journal des titres — diagnostic du découpage (headings.xlsx)

À chaque extraction, l'application écrit un fichier Excel de diagnostic dans data/exercises/logs/headings.xlsx. Téléchargez-le via le bouton 📊 Journal des titres en haut de la bibliothèque. Il sert à vérifier que l'algorithme de découpage du PDF en exercices travaille correctement, et à comprendre pourquoi un passage attendu n'est pas devenu un exercice.

Le PDF est converti en Markdown puis découpé à chaque titre (# à ####). Chaque titre devient une ligne du journal, avec le nombre de mots de sa section (jusqu'au titre suivant) et son parcours dans les 4 étapes du pipeline.

Feuille headings — colonnes :

Lire l'entonnoir — où un titre a-t-il disparu ?

headingbecame_block passed_heuristicvalidated → verdict
Titre videFALSE——perdu par le découpage
Petit exerciceTRUEFALSE—bloqué par l'heuristique (trop court)
Exercice respirationTRUETRUEFALSErejeté par l'IA
Scan corporelTRUETRUETRUE✅ devenu un exercice

Les lignes rouges signalent word_count = 0 (titres consécutifs ou vides) — le cas typique d'un découpage qui « perd » un titre.

Feuille summary : statistiques cumulées sur tout le fichier — total de titres, nombre devenus blocs / abandonnés / passés à l'heuristique / validés, comptes par niveau de titre, et min / médiane / max du nombre de mots.

Pour régler le découpage : si de vrais exercices ont passed_heuristic = FALSE, l'heuristique est trop stricte (voir MIN_BLOCK_WORDS / MIN_IMPERATIVE_VERBS). S'ils ont validated = FALSE avec une confiance basse, c'est l'IA qui les écarte. S'ils ont became_block = FALSE, c'est le découpage en titres qui est en cause.
Le fichier est en mode append : chaque extraction y ajoute des lignes (colonnes extracted_at + source pour distinguer les exécutions). Il grossit avec le temps — supprimez-le si vous voulez repartir de zéro.

🤖 Onglet Prompt (Agents)

C'est ici que vous gérez les prompts des agents de coaching. Chaque agent est défini par un fichier YAML qui contient ses instructions.

Les agents

Vous verrez une carte pour chaque fichier d'agent :

Télécharger un prompt

Cliquez sur le bouton ⬇️ Download d'un agent pour récupérer son fichier YAML actuel. Vous pourrez ensuite l'ouvrir et le modifier dans un éditeur de texte.

Modifier un prompt

Pour mettre à jour le prompt d'un agent :

  1. Téléchargez le fichier YAML actuel
  2. Modifiez-le dans un éditeur de texte
  3. Cliquez sur ⬆️ Upload pour envoyer la nouvelle version
Le système vérifie automatiquement que le fichier YAML est valide avant de l'accepter. Si le format est incorrect, un message d'erreur s'affichera.
Après un upload réussi, les agents sont rechargés automatiquement en mémoire. Le changement est immédiat pour les prochaines sessions.

🧪 Onglet Tests

Cet onglet permet de vérifier que l'application fonctionne correctement après une modification du code, une mise à jour de dépendance, ou un changement de prompt. Il propose deux niveaux de tests : tests unitaires (rapides, vérifient la logique interne) et tests de scénarios (une IA joue le rôle de l'utilisateur face au coach pour simuler une session complète, sans audio).

Tests unitaires

Cliquez sur ▶️ Lancer pytest pour exécuter toute la batterie de tests unitaires. L'opération dure quelques secondes et affiche le résultat :

À lancer après chaque modification de code, mise à jour de dépendance, ou refactoring, pour s'assurer qu'aucune régression n'a été introduite.

Tests de scénarios (E2E)

Permet de rejouer des sessions de coaching complètes pilotées par un fichier Excel. Une IA (Haiku par défaut, configurable par scénario) joue le rôle de l'utilisateur face au vrai coach — le pipeline complet est exécuté en mode texte (pas d'audio).

Workflow en 3 étapes :

  1. Cliquez sur ⬇️ Télécharger template Excel pour récupérer le modèle. Le fichier contient deux feuilles : scenarios (1 ligne = 1 test) et dialogues (questions/réponses prédéfinies pour les scénarios "scripted").
  2. Remplissez le fichier puis cliquez sur la zone d'upload pour l'envoyer.
  3. Cliquez sur ▶️ Lancer batch. Un tableau live affiche la progression de chaque scénario : tour en cours, phase atteinte, tokens consommés, coût estimé, verdict du jury, statut final.

À la fin du batch, un lien ⬇️ Résultats Excel permet de télécharger le rapport complet (transcript, extractions, latences, coûts, verdicts).

Chaque ligne du fichier Excel peut activer indépendamment : le jury LLM (une IA juge la qualité de la session), les seuils de performance (latence/tokens/coût max), et les contrôles attendus (émotion, mécanisme, mots-clés de la microaction).

Historique

Un tableau liste tous les batchs précédents avec date, compteurs PASS / FAIL, lien de téléchargement de l'Excel résultats, et bouton de suppression.

Pratique pour comparer les résultats d'un batch à l'autre après une modification et détecter une régression de comportement.

Verrou de sécurité

Pendant qu'un batch de tests est en cours, aucune session utilisateur réelle ne peut démarrer (et inversement : un batch ne peut pas démarrer si une session est active). Cette protection évite que les tests et les sessions réelles se marchent sur les pieds (cache RAG, quotas API, logs partagés).

Si un utilisateur tente d'ouvrir une session pendant un batch, il reçoit le message "Tests en cours, réessayez dans un instant". Il suffit d'attendre la fin du batch.

Questions fréquentes

J'ai modifié un prompt mais rien n'a changé ?

Les modifications s'appliquent uniquement aux nouvelles sessions. Si une session est déjà en cours, elle utilise l'ancien prompt jusqu'à sa fin.

Un exercice extrait ne semble pas complet ou est mal découpé ?

Ouvrez le fichier .md correspondant (téléchargeable depuis la bibliothèque) et corrigez le texte manuellement. Assurez-vous ensuite que le status dans le frontmatter est bien enriched, puis relancez l'étape 3 (Build Search Index) pour que la correction soit prise en compte.

Un service externe est en rouge, que faire ?

Vérifiez que la clé API du service est correctement configurée. Si le problème persiste, essayez un Restart Server.

Une session utilisateur est bloquée par les tests ?

Si un batch de tests est en cours, les sessions utilisateur sont temporairement bloquées (message "Tests en cours, réessayez dans un instant"). Attendez la fin du batch — visible dans l'onglet 🧪 Tests — puis relancez la session normalement.

Comment fabriquer mes propres scénarios de test ?

Téléchargez le template Excel depuis l'onglet 🧪 Tests. Chaque ligne de la feuille scenarios est un test indépendant. Colonnes clés :

Comment revenir à l'interface d'administration ?

Cliquez sur le bouton "← Retour à l'admin" en haut à droite de cette page.

Voice Coach — Guide d'utilisation