Voice Coding

Comment j'ai triplé ma vitesse de code avec la voix dans Cursor

Retour d'expérience d'un développeur utilisant la dictée vocale dans Cursor IDE. Découvrez les workflows qui ont triplé sa productivité.

Murmur TeamFebruary 19, 20268 min readvoice coding, Cursor, productivité développeur, IA et code, workflow

En bref : Rédiger des prompts détaillés pour l'IA de Cursor était mon plus gros goulot d'étranglement. En passant à la saisie vocale pour les prompts, les commentaires et la documentation, j'ai triplé ma vitesse de développement effective. Voici comment, concrètement.

Le goulot d'étranglement que je ne voyais pas

Je pensais être rapide. Clavier mécanique, raccourcis Vim, chaque shortcut mémorisé. Je naviguais dans le code comme un avion de chasse. Mais quand Cursor est devenu mon outil quotidien, j'ai remarqué quelque chose : je passais plus de temps à écrire des instructions pour l'IA qu'à écrire du code.

Une session Cursor typique ressemblait à ça :

  1. Ouvrir un fichier, identifier ce qu'il faut changer
  2. Appuyer sur Ctrl+K ou Ctrl+L pour ouvrir le panneau IA
  3. Taper un prompt expliquant ce que je veux
  4. Attendre la génération
  5. Relire, accepter ou affiner
  6. Recommencer

Les étapes 1, 4 et 5 étaient rapides. L'étape 3 était le goulot d'étranglement. Et pire, j'écrivais inconsciemment des prompts plus courts et plus vagues parce que taper des instructions détaillées prenait trop de temps. Des prompts courts signifiaient une sortie de moindre qualité, donc davantage d'itérations.

L'expérience

J'ai installé Murmur un lundi matin. La configuration a pris environ deux minutes. Ctrl+Espace pour activer, parler, relâcher. C'est tout le workflow.

J'ai décidé de mesurer ma productivité sur deux semaines : une semaine en tapant uniquement, une semaine avec la voix pour tous les prompts IA.

Semaine 1 : clavier uniquement (référence)

  • Longueur moyenne des prompts : 15 à 25 mots
  • Itérations moyennes par fonctionnalité : 3 à 4
  • Fonctionnalités terminées par jour : 4 à 5
  • Prompt typique : « Ajoute la gestion d'erreurs à la fonction de login »

Semaine 2 : voix pour tous les prompts

  • Longueur moyenne des prompts : 50 à 80 mots
  • Itérations moyennes par fonctionnalité : 1 à 2
  • Fonctionnalités terminées par jour : 12 à 15
  • Prompt typique : « La fonction de login dans auth.ts a besoin d'une gestion d'erreurs correcte. Elle doit intercepter les erreurs réseau séparément des erreurs d'authentification, afficher un toast lisible pour l'utilisateur dans chaque cas, et loguer l'erreur complète vers notre service de monitoring. Garde la logique de retry existante mais ajoute un maximum de trois tentatives pour les erreurs réseau uniquement. »

L'amélioration par trois vient de deux effets cumulés : les prompts étaient plus rapides à produire, et ils étaient tellement meilleurs que la sortie de l'IA nécessitait moins d'itérations.

Les workflows Cursor qui profitent le plus de la voix

1. Éditions inline (Ctrl+K)

La fonctionnalité d'édition inline de Cursor est celle où la voix brille le plus. Vous sélectionnez du code, appuyez sur Ctrl+K, et décrivez ce que vous voulez modifier.

Scénario au clavier : Vous sélectionnez une fonction. Vous tapez : « refactorise en async/await. » Cursor devine. Ce n'est pas tout à fait juste. Vous tapez un autre prompt. Encore deux itérations.

Scénario vocal : Vous sélectionnez la même fonction. Vous appuyez sur votre raccourci Murmur et dites : « Refactorise cette fonction pour utiliser async/await au lieu des chaînes de promesses. Garde la gestion d'erreurs mais convertis les blocs .catch en try-catch. Renomme aussi la variable 'res' en 'response' pour plus de clarté et ajoute une annotation de type de retour. »

Une seule itération. Terminé. Quinze secondes de parole ont remplacé trois allers-retours de frappe et de relecture.

2. Conversations dans le panneau de chat (Ctrl+L)

Le panneau de chat sert aux conversations plus longues sur l'architecture, le débogage et la planification. Ces conversations bénéficient énormément de la voix parce que vous pouvez expliquer le contexte comme vous le feriez avec un collègue.

Au lieu de taper un laconique « pourquoi ça plante », vous pouvez dire :

« J'ai une erreur TypeScript à la ligne 34 de la classe UserService. L'erreur dit Property 'email' does not exist on type 'unknown'. Je pense que le problème vient du fait que le type de la réponse API n'est pas correctement affiné après l'appel fetch. Peux-tu me montrer comment ajouter un type guard qui valide la forme de la réponse avant d'accéder aux propriétés ? »

Ce niveau de contexte permet à Cursor de vous donner la bonne réponse immédiatement, avec une implémentation correcte du type guard, et non une suggestion générique.

3. Éditions multi-fichiers avec Composer

Le mode Composer de Cursor permet de faire des modifications sur plusieurs fichiers. Les prompts pour cette fonctionnalité doivent être détaillés car vous décrivez des changements sur plusieurs fichiers à la fois.

Un prompt vocal pour Composer pourrait ressembler à :

« J'ai besoin d'ajouter un nouvel endpoint API pour les préférences utilisateur. Crée une route dans routes/preferences.ts qui gère les requêtes GET et PUT. Ajoute un PreferencesService dans services/preferences.ts avec des méthodes pour récupérer et mettre à jour les préférences. Crée un schéma Zod dans schemas/preferences.ts pour la validation. Mets à jour le fichier d'index des routes pour inclure les nouvelles routes. Utilise les mêmes patterns que les routes user existantes. »

Taper ça prendrait une minute ou plus. Le dire prend environ 20 secondes. Et naturellement, on inclut plus de contexte architectural à l'oral.

4. Expliquer des bugs et des problèmes

Quand vous tombez sur un bug, l'expliquer à l'oral est plus naturel que de le taper. On a tendance à inclure plus de contexte sur ce qu'on attendait, ce qui s'est réellement passé, et ce qu'on a déjà essayé.

Prompt vocal : « Ce composant se re-rend à chaque mise à jour du parent même si ses props n'ont pas changé. J'ai déjà wrappé le composant dans React.memo mais le problème persiste. Je soupçonne que le problème vient du fait que le handler onClick est recréé à chaque rendu parce que c'est une arrow function inline. Peux-tu refactoriser ça pour utiliser useCallback et vérifier s'il y a d'autres props qui pourraient causer des re-rendus inutiles ? »

Conseils pour dicter des prompts efficaces à Cursor

Soyez précis sur les chemins de fichiers et les noms

Au lieu de dire « le fichier d'auth », dites « le middleware d'auth dans middleware/auth.ts ». Cursor a du contexte sur votre projet, et des références précises de fichiers l'aident à localiser le bon code.

Décrivez le pattern, pas seulement le résultat

Au lieu de : « Fais en sorte que ça marche. »

Dites : « Suis le même pattern de gestion d'erreurs utilisé dans le UserController. Wrappe l'appel base de données dans un try-catch, mappe les codes d'erreur connus vers des codes de statut HTTP avec l'utilitaire errorMapper, et laisse les erreurs inconnues remonter vers le gestionnaire d'erreurs global. »

Incluez les contraintes

Quand vous parlez, mentionnez naturellement ce que vous ne voulez PAS :

« Ajoute la pagination à cet endpoint. Utilise la pagination par curseur, pas par offset. Ne change pas le format de réponse existant, ajoute simplement un champ 'nextCursor'. Garde la rétrocompatibilité pour les clients qui n'envoient pas de paramètre cursor. »

Pensez à voix haute

L'un des plus grands avantages de la voix, c'est que vous pouvez réfléchir à voix haute. Pas besoin d'avoir un prompt parfaitement formulé avant de commencer à parler.

« Bon alors cette fonction est censée valider l'entrée mais elle ne gère pas le cas limite où le tableau est vide. En fait, elle ne gère pas non plus null. Réfléchissons... Je pense que l'approche la plus propre est d'ajouter une clause de garde au début qui vérifie si c'est null ou un tableau vide et retourne un résultat vide immédiatement. Ensuite le reste de la fonction peut supposer qu'elle a des données valides. »

Cursor gère bien ce style en flux de pensées car il extrait l'intention à partir du langage naturel.

Prêt à essayer la dictée vocale ?

Essayez Murmur gratuitement pendant 7 jours avec toutes les fonctionnalites Pro. Dictez dans n'importe quelle app.

Télécharger gratuitement

Le workflow hybride

Au bout d'un mois, j'ai trouvé mon rythme :

  • Voix : Tous les prompts IA, messages de commit, descriptions de PR, documentation, commentaires de code review
  • Clavier : Navigation, petites éditions, raccourcis, accepter/refuser les suggestions de l'IA
  • Souris : Sélectionner des blocs de code à refactoriser, cliquer dans les suggestions de Cursor

La voix représente peut-être 40 % de mes saisies en volume, mais fait gagner 60 % de mon temps car elle cible les activités à plus forte friction.

Résultats après un mois

Voici mes statistiques approximatives avant/après :

MétriqueClavier seulAvec la voix
Prompts par heure1535
Longueur moyenne des prompts20 mots65 mots
Itérations IA par tâche3,21,4
Fonctionnalités livrées/jour514
Temps consacré à la doc45 min/jour15 min/jour

Le gain de vitesse ne vient pas seulement du fait qu'on parle plus vite qu'on tape. C'est l'effet composé de meilleurs prompts qui produisent une meilleure sortie IA, qui nécessite moins d'itérations.

Pour commencer

Si vous voulez reproduire ce workflow :

  1. Téléchargez Murmur et configurez le raccourci clavier
  2. Commencez par utiliser la voix uniquement pour le panneau de chat de Cursor (Ctrl+L)
  3. Au bout de quelques jours, utilisez-la aussi pour les éditions inline (Ctrl+K)
  4. Puis étendez-la aux messages de commit, à la doc et à tout le reste

Le premier jour, ça fait bizarre. Au troisième jour, c'est naturel. Au bout de deux semaines, vous vous demanderez pourquoi vous avez jamais tapé vos prompts.

Conclusion

L'affirmation du « vitesse x3 » ne concerne pas la vitesse de frappe. Je tapais déjà à plus de 100 mots par minute. Le gain vient de la suppression de la friction entre vos pensées et l'IA de Cursor. Quand le coût d'un prompt détaillé passe de 60 secondes de frappe à 15 secondes de parole, on écrit naturellement de meilleurs prompts. De meilleurs prompts produisent un meilleur code. Un meilleur code nécessite moins d'itérations.

La saisie vocale ne remplace pas mon clavier. Elle comble le fossé que le clavier gère mal : exprimer rapidement des instructions complexes et nuancées aux outils d'IA. Si vous utilisez Cursor au quotidien, ajouter la saisie vocale est probablement le changement le plus rentable que vous puissiez apporter à votre workflow.

Prêt à essayer la dictée vocale ?

Essayez Murmur gratuitement pendant 7 jours avec toutes les fonctionnalites Pro. Dictez dans n'importe quelle app.

Télécharger gratuitement

Related Articles