diff --git a/dictees_test.php b/dictees_test.php
new file mode 100644
index 0000000..094446b
--- /dev/null
+++ b/dictees_test.php
@@ -0,0 +1,81 @@
+ 'Non identifié — veuillez vous connecter.']);
+ exit;
+}
+
+if ($_SERVER['REQUEST_METHOD'] !== 'POST') {
+ http_response_code(405);
+ echo json_encode(['error' => 'Méthode non autorisée']);
+ exit;
+}
+
+$data = json_decode(file_get_contents('php://input'), true) ?? [];
+$texte = trim((string) ($data['texte'] ?? ''));
+
+if ($texte === '') {
+ http_response_code(400);
+ echo json_encode(['error' => 'Rien à enregistrer']);
+ exit;
+}
+
+try {
+ $pdo = getDbConnection();
+} catch (PDOException $e) {
+ http_response_code(500);
+ echo json_encode(['error' => 'Connexion base de données impossible']);
+ exit;
+}
+
+// DCT_Texte est un TEXT (pas de contrainte de longueur pratique, contrairement
+// à CVX_Consigne dans ASP_ConsignesVoix qui est un varchar(200)) : la dictée
+// brute est conservée intégralement, sans troncature — un énoncé sur les
+// contacts (nom, profession, ville, téléphone...) peut être plus long qu'une
+// simple consigne de tâche.
+try {
+ $stmt = $pdo->prepare(
+ 'INSERT INTO ASP_DicteesTest (DCT_Texte, DCT_Utilisateur) VALUES (?, ?)'
+ );
+ $stmt->execute([$texte, $_SESSION['USR_Code']]);
+} catch (PDOException $e) {
+ http_response_code(500);
+ echo json_encode(['error' => 'Erreur base de données : ' . $e->getMessage()]);
+ exit;
+}
+
+echo json_encode(['success' => true]);
diff --git a/ecran_fond.html b/ecran_fond.html
index d651d2f..de06f26 100644
--- a/ecran_fond.html
+++ b/ecran_fond.html
@@ -110,8 +110,35 @@
d'origine, pour se fondre dans la grille plutôt que ressortir comme
un autocollant. Fermé = glyphe micro en gris clair ; ouvert = barres
façon vu-mètre en --rouge-micro, animées (voir @keyframes) — "les
- barres qui bougent" demandé par Jean-Marc. Toggle en pur JS pour ce
- test : ne déclenche pas encore la reconnaissance vocale de micro.js. */
+ barres qui bougent" demandé par Jean-Marc.
+ Branché sur la reconnaissance vocale réelle le 3 septembre 2026 :
+ un script pilote désormais #micro-desk et bascule la classe "ecoute"
+ dessus (voir plus bas #micro-desk.ecoute ~ #micro-icone pour la
+ bascule visuelle des deux glyphes, via un combinateur de fratrie
+ puisque #micro-icone n'est pas un descendant de #micro-desk — voir
+ plus haut pourquoi ces deux éléments sont séparés). Le toggle JS
+ local qui existait ici pour le tout premier essai d'affichage (pur
+ visuel, sans reconnaissance vocale) est retiré.
+
+ Mise à jour du même jour (suite de session) : ce micro est
+ temporairement détourné de son usage final. Plutôt que micro.js (le
+ vrai pilotage, agents nommés Viktor/Matilda/Léon/Nikita, mode
+ notation — resté inchangé et toujours utilisé tel quel sur
+ liste_contacts.html), c'est micro_test.js qui est chargé ici, le
+ temps de la phase de mise au point du pilotage vocal : outil de
+ constitution d'une banque de dictées réelles (table
+ ASP_DicteesTest, thème "Gestion des Contacts"), PAS un module
+ destiné aux futurs utilisateurs (voir le commentaire d'en-tête de
+ micro_test.js). Écoute continue, aucun mot déclencheur nécessaire
+ (le clic sur le micro fait déjà office de signal explicite), chaque
+ énoncé restitué au fur et à mesure dans une fenêtre dédiée puis
+ enregistré tel quel — y compris les essais ratés, jamais
+ supprimables depuis l'écran (décision explicite de Jean-Marc : ça
+ fera aussi partie de la vraie vie des futurs utilisateurs). Pour
+ reconnecter le vrai pilotage sur ce micro une fois cette phase
+ terminée : remettre
+