IA & agents

Jarvis : deux claps et ton Mac se réveille

Tu claques deux fois dans les mains, ton bureau se réveille.

GratuitDébutant15 min pour le faire8 min de lecture

Fiche récap

Outil
Jarvis
Coût
Gratuit
Niveau
Débutant
Temps
15 min
Système
macOS
Il te faut
  • Claude Code
  • Python 3.10 ou plus
  • Un micro

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.

Publié le

Sources et liens officiels

Guides & ressources

Testé sur ma machine

Des guides pas à pas et des sélections de sites pour progresser en dev, IA, data ou cyber. Gratuit, sans inscription.

La newsletter du lundi

L’actu tech en 5 minutes

Chaque lundi, les sujets IA, tech et dev de la semaine expliqués simplement, plus mes nouveaux guides. Zéro spam.

En vidéo

Un outil par vidéo

Chaque semaine, un outil, une astuce ou une ressource, avec le guide à récupérer en commentaire.

L’actu tech en 5 minutes, chaque lundi

Les sujets IA, tech et dev de la semaine expliqués simplement, plus mes nouveaux guides. Gratuit, désinscription en un clic.