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.
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.
Cet onglet permet de vérifier que tout fonctionne et d'effectuer des opérations de maintenance.
Affiche l'état du serveur Voice Coach avec un indicateur coloré :
Affiche l'état de connexion de chaque service externe utilisé par Voice Coach :
Chaque carte affiche aussi le temps de réponse en millisecondes.
Quatre boutons d'action sont disponibles :
Cet onglet permet de consulter et télécharger les données des sessions de coaching.
Le bouton ⬇️ Download sessions.xlsx télécharge un fichier Excel qui contient toutes les sessions de coaching consolidées en un seul fichier.
Un tableau affiche les 5 dernières sessions avec les informations suivantes :
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.
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 :
.md avec status: rawParamètres :
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 :
title — titre court généré par l'IAprimary_emotions — jusqu'à 3 émotions principales concernéessecondary_emotions — jusqu'à 2 émotions secondairesunderlying_mechanisms — mécanismes psychologiques en jeuusage_context — contexte d'utilisation recommandéaction_type — reflection / journaling / action-based / etc.effort_level — low / medium / highstatus passe de raw à enriched.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.
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).
.md : remettez status: enriched,
puis relancez cette étape. L'index est entièrement recalculé à chaque fois (opération idempotente).
En bas de l'onglet, un tableau liste tous les exercices avec les colonnes suivantes :
atomic-habits-ex-003 (contient déjà le livre)Cliquez sur une ligne pour voir le détail complet et télécharger le fichier .md.
.md
et réinitialise la bibliothèque. Cette action est irréversible.
À 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 :
#, … 4 = #### ; 0 = texte avant le 1er titre)FALSE = perdu par le découpage, ex. deux titres consécutifs)Lire l'entonnoir — où un titre a-t-il disparu ?
| heading | became_block | passed_heuristic | validated | → verdict |
|---|---|---|---|---|
| Titre vide | FALSE | — | — | perdu par le découpage |
| Petit exercice | TRUE | FALSE | — | bloqué par l'heuristique (trop court) |
| Exercice respiration | TRUE | TRUE | FALSE | rejeté par l'IA |
| Scan corporel | TRUE | TRUE | TRUE | ✅ 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.
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.
extracted_at + source pour distinguer les exécutions).
Il grossit avec le temps — supprimez-le si vous voulez repartir de zéro.
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.
Vous verrez une carte pour chaque fichier d'agent :
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.
Pour mettre à jour le prompt d'un agent :
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).
Cliquez sur ▶️ Lancer pytest pour exécuter toute la batterie de tests unitaires. L'opération dure quelques secondes et affiche le résultat :
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 :
scenarios (1 ligne = 1 test)
et dialogues (questions/réponses prédéfinies pour les scénarios "scripted").
À la fin du batch, un lien ⬇️ Résultats Excel permet de télécharger le rapport complet (transcript, extractions, latences, coûts, verdicts).
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.
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.
Les modifications s'appliquent uniquement aux nouvelles sessions. Si une session est déjà en cours, elle utilise l'ancien prompt jusqu'à sa fin.
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.
Vérifiez que la clé API du service est correctement configurée. Si le problème persiste, essayez un Restart Server.
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.
Téléchargez le template Excel depuis l'onglet 🧪 Tests. Chaque ligne de la feuille
scenarios est un test indépendant. Colonnes clés :
scripted (dialogue prédéfini dans la feuille dialogues) ou improvised (IA joue le rôle de l'utilisateur)improvised uniquementCliquez sur le bouton "← Retour à l'admin" en haut à droite de cette page.