Avant de commencer
Trois choses, pas une de plus.
Un micro. Celui de ton Mac suffit.
Claude Code. → claude.ai/code
Python 3.10 ou plus. Vérifie dans le terminal :
python3 --version
L’étape principale
Ouvre Claude Code dans un dossier vide et colle ce prompt.
Installe-moi le projet Jarvis depuis ce repo :
<https://github.com/hectorg2211/jarvis>
Je suis sur macOS. Tu fais tout le travail technique, je n'écris aucune
ligne de code. Pose-moi tes questions une par une, en français simple,
et configure au fur et à mesure.
N'utilise aucun réglage par défaut du repo : il est configuré pour son
auteur. Remplace tout par mes réponses et supprime ce que je ne demande pas.
D'ABORD, demande-moi :
1. Quelle musique je veux au réveil (je te donnerai un lien Spotify)
2. Quelles apps doivent s'ouvrir. Propose-moi une liste de choix concrets
plutôt qu'une question ouverte, et demande-moi l'URL exacte pour chaque
site.
1. Combien d'écrans j'ai, et quelle app va sur lequel
2. Ce que la voix doit me dire, mot pour mot
ENSUITE, installe. Le Python de Homebrew refuse les installations
directes (PEP 668) et la commande s'appelle python3, pas python. Crée
donc un environnement virtuel dans le dossier du projet :
python3 -m venv .venv
.venv/bin/python -m pip install -r requirements.txt
Lance toujours avec .venv/bin/python. N'utilise jamais
--break-system-packages. Ajoute .venv/, .env et .cache/ au .gitignore.
PUIS adapte le code, il est écrit pour Windows :
- Ouvrir une app : subprocess.Popen(["open", "-a", "NomDeLApp"]) à la
place de os.startfile() et des chemins .exe
- Déplacer les fenêtres : AppleScript via osascript, l'API Win32 n'existe
pas ici. Un écran placé au-dessus a des coordonnées Y négatives.
- Spotify : pilote-le en AppleScript. Convertis le lien
<https://open.spotify.com/track/ID> en spotify:track:ID, le lien web ne
marche pas directement.
- La voix : n'utilise pas le lecteur intégré d'ElevenLabs, écris le MP3
sur disque et joue-le avec afplay. Mets-le en cache pour que la voix
parte instantanément les fois suivantes.
- Le micro des MacBook tourne à 48000 Hz, pas 44100.
LA DÉTECTION DU CLAP, à faire correctement. Détecter par le volume seul
ne marche pas : une voix humaine atteint le même niveau qu'un clap, donc
Jarvis se déclenche dès que quelqu'un parle. Filtre par la forme du son :
un clap retombe en moins de 100 ms, une voix reste forte. Quand un pic
dépasse le seuil, attends 100 ms et vérifie que le niveau est redescendu
sous 35 % du pic. Prévois un écart de 0,12 à 0,35 seconde entre les deux
claps.
ENFIN, guide-moi pour créer ma clé ElevenLabs et mon fichier .env,
ajoute un mode debug qui affiche le niveau mesuré à chaque pic, et
reste avec moi pendant que je teste mon premier clap.
Prépare tes réponses
Claude va te poser quatre questions. Si tu as les réponses sous la main, c’est plié en quelques minutes.
Ta musique. Clic droit sur le morceau dans Spotify → Partager → Copier le lien.
Tes apps. Ton navigateur sur une page précise, ton éditeur, Claude, ton agenda. Prépare les URL exactes.
Tes écrans. Si tu n’en as qu’un, dis-le simplement, ça marche aussi.
Ta phrase. C’est le morceau qui fait tout l’effet.
Ta voix
Crée un compte gratuit sur elevenlabs.io.
La clé API : Developers, en bas à gauche → Profile + API key → Create API key Le Voice ID : Voices → ta voix → les trois points → Copy Voice ID
Les voix natives qui passent bien en français, avec le modèle eleven_multilingual_v2 :
| Voix | Le style |
|---|---|
| George | Chaleureux, un peu conteur |
| Brian | Grave, rassurant |
| Roger | Posé, décontracté |
| Eric | Doux, met en confiance |
Ton fichier .env ressemblera à ça :
ELEVENLABS_API_KEY=ta_cle
ELEVENLABS_VOICE_ID=ton_voice_id
ELEVENLABS_MODEL_ID=eleven_multilingual_v2
Les deux autorisations macOS
macOS bloque par défaut, et l’erreur n’est pas toujours visible.
| Autorisation | Où | Sans elle |
|---|---|---|
| Microphone | Réglages Système → Confidentialité et sécurité → Microphone | Aucun clap détecté |
| Accessibilité | Réglages Système → Confidentialité et sécurité → Accessibilité | Les fenêtres ne bougent pas |
Active ton terminal dans les deux listes. La demande apparaît au premier lancement, accepte.
Lancer
.venv/bin/python jarvis.py
Tu dois voir JARVIS — en écoute. Claque deux fois, avec environ deux dixièmes de seconde entre les deux.
Si ça coince
command not found: python
Utilise python3 ou .venv/bin/python
externally-managed-environment
Tu n’es pas dans le venv. Crée-le et passe par .venv/bin/python
Aucune réaction au clap
Vérifie que le taux d’échantillonnage est bien à 48000. C’est la cause numéro un.
Ça se déclenche tout seul
C’est ta voix ou ta musique. Le filtre de retombée du prompt règle ça.
Pas de voix, erreur 402
Ta voix vient de la Library. Prends-en une native.
Les fenêtres ne bougent pas
L’autorisation Accessibilité manque
Mauvais micro sélectionné
.venv/bin/python -c "import sounddevice as sd; print(sd.query_devices())"
Questions rapides
Faut savoir coder ? Non. Tu colles le prompt, Claude fait le reste.
C’est vraiment gratuit ? Le projet oui. ElevenLabs a une offre gratuite suffisante.
Ça lit mes vrais mails ? Non, pas par défaut. La phrase est écrite une fois pour toutes.
Ça marche sans deuxième écran ? Oui, dis-le à Claude quand il te pose la question.
Chaque clap consomme des crédits ? Non. Avec le cache, la phrase n’est générée qu’une fois.
Pourquoi un environnement virtuel ? Ça isole les dépendances du projet du Python de ton Mac. Rien ne peut casser ailleurs, et tu supprimes tout en effaçant un dossier.