Tutoriel

Comment dicter du code sur Mac : guide complet pour Cursor, VS Code et Claude Code

Des identifiants bien orthographiés. Des messages de commit déjà au format conventional. Des descriptions de PR dans le ton que tu aurais tapé. Six exemples concrets et l'installation clavier qu'on utilise tous les jours.

TL;DR

Voici le guide pratique pour dicter du code sur Mac avec Loqua — la dictée vocale pour les programmeurs qui écrivent du code dans Cursor, VS Code et Claude Code. Trois choses doivent s'aligner : les identifiants techniques sont reconnus, la sortie est formatée pour la destination, et la latence reste assez basse pour ne pas casser le flow. Loqua est conçu pour ce workflow Mac : commentaires de code, commits, descriptions de PR, commandes terminal, prompts Cursor et instructions Claude Code. Ce guide passe en revue l'installation et des exemples concrets, sans prétendre que la voix est la meilleure façon d'écrire chaque ligne de code.

Loqua est un outil de dictée vocale conscient du contexte pour Mac qui détecte si tu es dans un IDE, un terminal, une description de PR ou un panneau de chat, et ajuste la sortie en conséquence. Il tourne sur Apple Silicon via le Neural Engine, formate selon l'app, et reconnaît le vocabulaire technique sans avoir besoin de charger un dictionnaire au préalable.

La version honnête : dicter du code est un skill différent de dicter de la prose. Tu seras plus lent la première heure. Dès la deuxième, tu écriras des commentaires plus longs et de meilleurs messages de commit parce que la forme vocale n'a pas la taxe de frappe. On utilise ça tous les jours depuis des mois — voici l'installation.

Installation en 90 secondes

Cinq étapes, aucune surprenante si tu as déjà installé une app Mac :

  1. Télécharge Loqua depuis la page d'accueil et glisse-le dans /Applications.
  2. Au premier lancement, accorde la permission microphone et la permission Accessibilité. (L'Accessibilité permet à Loqua de voir ton app active et le texte sélectionné — voir le guide Confidentialité et sécurité d'Apple pour ce que l'Accessibilité signifie ici.)
  3. Ouvre les Réglages de Loqua et confirme ton raccourci push-to-talk. Par défaut c'est Fn + Espace. On utilise Caps Lock remappé via Karabiner-Elements parce qu'il est accessible sans quitter la rangée de repos.
  4. Ouvre n'importe quel éditeur de texte — TextEdit, VS Code, Cursor, Notes — et place ton curseur dans un champ de texte.
  5. Maintiens le raccourci. Parle. Relâche. Le texte apparaît au curseur.

C'est tout. Pas de configuration par app. Loqua est global sur Mac.

Ta première dictée de code

Ouvre VS Code ou Cursor et place ton curseur dans un fichier Python, dans un corps de fonction. Dis, naturellement :

Tu dis
"add a comment saying this caches the response for fifteen minutes and on auth failure just redirect to login don't retry"
Loqua écrit (dans VS Code, fichier Python)
# Cache response for 15 min.
# On auth failure (401): redirect to /login — do not retry.

Remarque trois choses qui se sont passées : il a reconnu que tu étais dans du code (sortie en commentaire, pas en prose) ; il a formaté les valeurs explicites (« fifteen minutes » → « 15 min » ; et il a inféré le code de statut 401 standard) ; et il a resserré la deuxième clause en directive structurée. Rien de tout ça n'a demandé de configuration — le moteur de contexte multimodal a lu l'extension du fichier et le code adjacent pour décider.

Patterns vocaux qui marchent dans le code

Tu n'as pas besoin d'apprendre une nouvelle syntaxe. Tu dois apprendre quelles formulations produisent la sortie la plus propre. Les patterns ci-dessous sont ceux sur lesquels on a convergé après des mois d'usage quotidien.

  • Nom + indice de format : dis "function name fetch user profile" pour obtenir fetchUserProfile ; "function name underscore fetch user profile" pour obtenir fetch_user_profile. La convention de langage du fichier actif est la valeur par défaut.
  • Spec de type par description : dis "async function that takes a user id and returns a promise of user" pour obtenir la signature complète ; Loqua infère les types depuis le contexte.
  • Intention de commentaire d'abord : dis "add a comment saying X" pour obtenir un commentaire dans la syntaxe du fichier ; dire juste X tend aussi à produire un commentaire dans un fichier de code, mais le cadrage explicite évite l'ambiguïté.
  • Message de commit : dis ce qui a changé : dans un contexte de commit (panneau Source Control, git commit en terminal), Loqua produit des messages au format conventional sans avoir besoin du préfixe.
  • Description de PR : commence par le pourquoi : Loqua lit le template de PR s'il y en a un et s'adapte autour.
  • Pause pour un changement structurel : une demi-seconde de pause est lue comme un saut de paragraphe en prose et comme un saut d'étape logique dans les blocs de code.

Six exemples concrets

Chaque exemple ci-dessous est réel — ce qu'on a vraiment dit et ce que Loqua a écrit. La voix est la tienne ; la sortie est celle de Loqua :

Tu dis (dans Cursor, demande de refactor)
"move the rate limiter into its own middleware file and update the imports"
Loqua écrit (comme prompt Cursor)
Refactor: extract the rate-limiter logic into a new middleware/rateLimit.ts module. Update imports across handlers. Preserve current behavior; no API changes.
Tu dis (après avoir staged des changements)
"this fixes the race condition in session cleanup when two logout requests hit at the same time added a mutex on the session store also added a regression test"
Loqua écrit (comme message de commit git)
fix(auth): handle concurrent session cleanup race condition

Two simultaneous /logout requests could both attempt to invalidate the same token. Added mutex lock on the session store write path. Tests: auth_test.go — TestConcurrentLogout
Tu dis (dans la zone de description de PR)
"this PR adds support for partial responses on the search endpoint clients can request specific fields and get back a smaller payload covered by tests and the changelog is updated"
Loqua écrit (dans une PR GitHub)
## Summary
Adds field-selection support to the search endpoint. Clients can request a subset of fields and receive a smaller payload.

## Changes
- Search endpoint accepts a fields query param
- Response serializer respects field selection
- Tests cover selection, omission, and invalid-field handling
- CHANGELOG.md updated

## Test plan
- [ ] Unit tests pass
- [ ] Manual smoke against staging
Tu dis (dans le Terminal)
"use ripgrep to find all usages of the old auth client in the api folder excluding tests"
Loqua écrit (dans le Terminal)
rg "OldAuthClient" api/ --glob '!**/*_test.go'
Tu dis (en écrivant une requête SQL dans DBeaver)
"select user id email and last login from users where last login is more than 90 days ago and account status equals active"
Loqua écrit (dans DBeaver)
SELECT user_id, email, last_login
FROM users
WHERE last_login < NOW() - INTERVAL '90 days'
  AND account_status = 'active';
Tu dis (en écrivant une regex)
"regex for matching email addresses but allowing plus signs in the local part"
Loqua écrit (dans VS Code, fichier JavaScript)
const emailWithPlus = /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/;

Comment le contexte IDE façonne la sortie

Loqua ne sait pas seulement que tu es dans VS Code ou Cursor. Il connaît le type de fichier, la sélection active, le code environnant, et (si tu l'autorises) le panneau de chat ouvert. La même phrase vocale produit une sortie différente selon ces indices :

ContexteForme de sortie
Dans un corps de fonction, fichier PythonCode ou commentaire en ligne, correspondant au langage du fichier
Dans une docstring ou un commentaire en début de fichierProse, formatée comme une docstring
Dans le champ de message de commit du source controlFormat conventional commit
Dans une description de PR sur GitHubTemplate de PR structuré (Summary / Changes / Test plan)
Dans le panneau de chat de CursorInstruction en forme de prompt avec contexte
Dans l'interface terminal de Claude CodeInstruction directe, souvent avec chemins de fichiers si le contexte est clair

Tu n'as rien à dire à Loqua. Il lit l'app active et le texte autour du curseur et décide. S'il se trompe de forme, répète la phrase avec un cadrage explicite (par exemple "add a comment saying..." ou "the commit message is...") et il s'ajuste.

Pour la mécanique plus profonde du contexte d'écran derrière la préservation des identifiants, voir construire un listener qui voit ce que tu vois.

Identifiants multilingues et code-switching

Une situation réelle qu'on rencontre : un feature flag nommé en mandarin dans un codebase, dicté en milieu de phrase dans un message de commit en anglais. Loqua gère ça sans bascule de mode — voir notre guide voix + coding IA pour plus sur les patterns EN+中. La version courte :

Tu dis
"add a fallback when 用户画像 service is down so the page still renders with the default state"
Loqua écrit (dans VS Code, commentaire de code)
// Fallback: if the 用户画像 service is down, render the page with the default state.

Dépannage

  • L'identifiant sort mal : répète la phrase vocale avec l'identifiant en anglais normal (par exemple "fetch user profile" plutôt que d'épeler chaque lettre). Le NER de Loqua est entraîné pour l'énonciation naturelle, pas pour l'épellation lettre par lettre.
  • La sortie est de la prose alors que tu voulais du code : dis "add a comment saying..." ou "as code:..." comme cadrage explicite. La position du curseur lève souvent l'ambiguïté, mais un cadrage aide.
  • Mauvaise convention de langage (camelCase vs snake_case) : Loqua suit la valeur par défaut du langage du fichier. Pour outrepasser, dis "camel case" ou "snake case" en ligne.
  • La voix n'est pas captée : regarde l'icône de la barre de menu — gris = permission micro manquante ; rouge = en écoute ; vert = au repos. La permission micro est dans Réglages Système → Confidentialité et sécurité → Microphone.
  • Conflit de raccourci : si Fn + Espace entre en conflit avec Spotlight ou une autre app, change le raccourci dans Réglages → Raccourci. Beaucoup d'entre nous utilisent Caps Lock remappé via Karabiner — Caps Lock est sinon de l'espace gâché.

Ce qu'on utilise vraiment tous les jours

C'est la partie qui compte plus que les listes de fonctionnalités. Voici à quoi ressemble notre workflow quotidien :

  • Commentaires de code — presque toujours à la voix. La forme vocale est plus longue, plus explicative, et l'équipe les lit davantage.
  • Messages de commit — voix avec une rapide passe d'édition. Le corps est plus fourni parce que la taxe de frappe a disparu.
  • Descriptions de PR — voix, souvent dictées en regardant encore le diff. La structure sort juste parce que Loqua voit le template GitHub.
  • Prompts Cursor / Claude Code — voix pour tout sauf les très courts prompts "fix this". Les longues descriptions de refactor sont là où la voix se rentabilise.
  • Threads d'ingénierie sur Slack / Discord — voix. Plus rapide, plus réfléchi.
  • Identifiants et corps de code — mixte. Le code trivial (CRUD, glue) est voice-friendly ; le code algorithmique complexe est en général plus rapide à taper parce que la structure est le travail.

Le calcul : environ 4× de gain de vitesse pour écrire de la prose-dans-le-code (commentaires, docs, messages, prompts) et grosso modo la parité avec la frappe pour écrire du code pur. L'agrégat sur une journée est significatif — et la charge cognitive baisse parce que tu arrêtes de jongler entre mode-réflexion et mode-frappe.

Si tu veux l'architecture plus profonde derrière tout ça, voir notre note sur le voice typing stack à trois modèles. Si tu veux étendre ce pattern aux outils de coding IA spécifiquement, voir la dictée vocale pour le coding IA.

Une dernière note pour les programmeurs qui évaluent ce workflow : si tu cherches sur le web comment dicter du code sur Mac, la plupart des résultats s'arrêtent à « utilise la dictée intégrée d'Apple ». C'est un bon point de départ mais c'est audio-only — ça ne connaît pas ton IDE, tes identifiants ou tes conventions structurelles. Le pitch de Loqua, c'est la couche suivante : dictée vocale pour les programmeurs qui veulent une sortie qui correspond déjà à la destination.

Questions fréquentes

Loqua fonctionne-t-il spécifiquement dans Cursor ?
Oui. Loqua traite Cursor comme un IDE de première classe — il détecte le panneau de chat, le contexte du fichier et l'état de sélection, et façonne la sortie en conséquence. Les prompts vont dans le panneau de chat ; le code dans l'éditeur ; les commentaires restent dans le langage du fichier actif.
Puis-je utiliser Loqua avec Claude Code ?
Oui. Claude Code est détecté comme un outil de développement basé sur le terminal ; Loqua produit des instructions directes et des chemins de fichiers dans une forme que Claude Code comprend. Pour les longues narrations de refactor ou la rédaction de specs, la voix est particulièrement efficace.
Et si mes noms de variables mélangent chinois et anglais ?
Loqua gère le code-switching en milieu de phrase sans bascule de mode. Dire "add a check for the 用户画像 service" produit un commentaire ou un identifiant avec le terme chinois en ligne, en préservant les caractères d'origine.
Comment dicter des symboles comme accolades, parenthèses, égal ?
En général tu n'as pas besoin. Loqua infère la structure depuis le contexte — dire "function name fetch user with id and return a user" produit la signature complète avec parenthèses, types et accolades. Pour saisir un symbole explicitement (rare), dis "open paren" / "close paren" / "equals sign" etc.
Comment Loqua gère-t-il les longues sessions vocales ?
Il n'y a pas de limite par énonciation. Maintiens le raccourci, parle aussi longtemps que tu veux, relâche. La sortie en streaming apparaît au fur et à mesure — le TTFT est sous 200 ms, donc les premiers mots s'affichent pendant que tu es encore au milieu de la phrase.
Y a-t-il une courbe d'apprentissage ?
Environ une heure pour le travail dans l'IDE. Le plus gros changement mental, c'est d'apprendre quelles formulations produisent la sortie la plus propre (voir la section patterns ci-dessus). Ensuite, c'est plus rapide que de taper pour le travail de prose-dans-le-code, et la conscience du contexte IDE prend la plupart des décisions de formatage pour toi.

Essaie Loqua aujourd'hui

Gratuit pour commencer. Natif Mac. Construit par des chercheurs en algorithmes qui s'en servent tous les jours.

Télécharger pour Mac

D'autres articles du blog Loqua

tutoriel
Dictée vocale pour le coding IA : piloter Cursor et Claude Code à la voix, sans taper
productivité
Voice productivity stack : 9 outils qu'on utilise vraiment pour écrire, livrer et penser
tutoriel
Notes de réunion à la voix sur Mac : de la voix au fait, avec notes et action items
ingénierie
Dictée vocale omni-modale : compréhension multimodale, MoE et sortie texte en streaming