caffeinate sur Mac : exemples de commandes, limites et options de workflow IA plus sûres

Henry AGI
6 min de lectureJun 2026
caffeinate sur Mac : exemples de commandes, limites et options de workflow IA plus sûres

caffeinate est l'outil en ligne de commande intégré à tous les Mac pour les garder éveillés sans passer par Réglages Système : lancez-le seul et il bloque la mise en veille pour inactivité jusqu'à ce que vous appuyiez sur Ctrl-C, ajoutez -t 3600 et il s'arrête tout seul au bout d'une heure, ou encapsulez une commande et il maintient le Mac éveillé uniquement pendant l'exécution de cette commande. Ce qu'il ne fait pas : agir sur la mise en veille liée au couvercle fermé, sur le niveau de batterie ou sur la chaleur — fermez le couvercle et un MacBook s'endort, peu importe depuis combien de temps caffeinate tourne. Voici les vraies commandes, les astuces gratuites pour contourner la limite du couvercle fermé (dont une que presque personne ne connaît), et à quel moment un outil attentif à la sécurité comme LidRun prend le relais là où caffeinate s'arrête.

Ce que fait réellement la commande caffeinate

caffeinate est un petit utilitaire en ligne de commande fourni avec macOS depuis des années. Il crée une assertion de gestion de l'énergie — une demande adressée au système de ne pas se mettre en veille — tant qu'il tourne, puis relâche automatiquement cette assertion dès qu'il se termine. Il n'y a pas d'étape séparée pour « la désactiver » ensuite, un détail qui compte plus loin dans cet article, quand on aborde une astuce qui, elle, ne se relâche pas toute seule.

Lancé sans option, il bloque par défaut la mise en veille pour inactivité. Des options précises ajoutent des assertions précises : -d empêche aussi l'écran de s'éteindre, -m empêche les disques de se mettre en veille, -s empêche la mise en veille système (mais seulement sur secteur), et -u déclare l'utilisateur actif, ce qui réveille l'écran et équivaut à peu près à -d -t 5. Ces options se cumulent — ce sont des assertions distinctes et combinables, pas un interrupteur unique. Lancez caffeinate -d -i et vous maintenez deux verrous indépendants, qui doivent tous deux être levés avant que le Mac puisse se rendormir.

Ce qui rend caffeinate utile pour les développeurs, c'est qu'il n'a ni interface graphique, ni icône dans la barre de menus, ni fichier de configuration. Il est fait pour être scripté — lancé, exécuté puis relâché sans toucher à un seul panneau de réglages. Pour une session de terminal ou un script avec un début et une fin bien définis, c'est vraiment le bon outil.

Exemples de commandes caffeinate — et comment vérifier qu'elle fonctionne vraiment

La forme la plus simple, c'est caffeinate tout court, lancée dans une fenêtre de terminal que vous laissez ouverte — elle bloque la mise en veille pour inactivité jusqu'à ce que vous appuyiez sur Ctrl-C ou fermiez la fenêtre.

LidRun
Terminal showing caffeinate command examples and confirming an active assertion with pmset -g assertions
Une exécution chronométrée, une commande de build encapsulée, et la vérification que caffeinate maintient bien le Mac éveillé.

Pour une durée fixe, caffeinate -t 3600 garde le Mac éveillé pendant exactement une heure, puis se termine et relâche l'assertion tout seul — pas besoin de penser à l'arrêter.

Pour une tâche précise, encapsulez directement la commande : caffeinate -i npm run build garde le Mac éveillé uniquement pendant que ce build tourne, et relâche l'assertion dès qu'il se termine ou échoue. Le même principe fonctionne avec caffeinate -i ./deploy.sh, un long rsync, ou toute autre commande avec un début et une fin clairs. Si vous n'avez pas lancé le processus vous-même — par exemple un build démarré depuis un IDE — caffeinate -w <pid> attend un identifiant de processus existant à la place.

Les tâches cron s'exécutent sans terminal interactif, donc encapsuler la tâche dans caffeinate est une pratique courante pour tout ce qui est planifié la nuit : 0 2 * * * /usr/bin/caffeinate -i /path/to/nightly-backup.sh garde le Mac éveillé exactement le temps de la sauvegarde, pas une minute de plus.

Pour confirmer que caffeinate maintient bien le Mac éveillé, lancez pmset -g assertions — la commande liste toutes les assertions d'énergie actives et le processus qui les détient ; cherchez PreventUserIdleSystemSleep à côté du PID de caffeinate. Une vérification plus simple, si vous voulez juste savoir si le processus est vivant, est ps aux | grep caffeinate.

Chaque lancement de caffeinate détient sa propre assertion indépendante, donc en faire tourner deux ou trois en même temps ne pose aucun problème — le Mac reste éveillé tant qu'au moins un des processus est encore actif, et en tuer un ne relâche pas les autres.

Guide associéLidRun vs caffeinate : quel outil anti-veille convient à votre workflow ?

Là où caffeinate s'arrête : couvercle fermé, batterie et chaleur

Pour son véritable rôle — bloquer la mise en veille pour inactivité pendant un script, un build ou une session de terminal que vous surveillez — caffeinate fait exactement ce qu'il annonce, sans dépendance et sans étape d'installation.

Les limites apparaissent dès qu'il s'agit de travailler couvercle fermé, et c'est précisément là que les agents de codage IA et les charges de travail dev posent problème : un long refactoring dans Claude Code, une image Docker en cours de build, un modèle Ollama en téléchargement — tout ce qu'on veut laisser tourner couvercle baissé, sur un bureau, dans un sac entre deux réunions, ou toute la nuit. Les assertions de caffeinate ne contournent pas la mise en veille que macOS déclenche à la fermeture du couvercle ; un MacBook s'endort couvercle fermé même avec caffeinate qui tourne, un point c'est tout.

Il n'a pas non plus de notion de niveau de batterie ni de chaleur. Lancez caffeinate -t 28800 pour une session de huit heures sur batterie, et il maintient l'assertion pendant toute cette durée, quel que soit le niveau de batterie restant, sans aucun moyen de remarquer qu'un Mac chauffe dans un sac et de lever le pied.

Il est également manuel et sans mémoire — aucune détection de ce qui tourne réellement, aucune mémoire d'une session à l'autre. Vous retapez les options et la commande cible à chaque fois.

Les méthodes gratuites pour garder un MacBook éveillé couvercle fermé

La méthode officiellement prise en charge par Apple ne nécessite aucun logiciel supplémentaire : branchez un écran externe, un clavier ou une souris externe, et un adaptateur secteur, et un MacBook ne s'endormira pas à la fermeture du couvercle. C'est le vrai mode clamshell, et macOS le gère nativement dès que ces trois éléments sont connectés — aucune ligne de commande n'est nécessaire.

Sans écran externe — sur batterie, couvercle fermé, sans moniteur — le seul levier public qui bloque la mise en veille à la fermeture du couvercle est une commande complètement différente de caffeinate : sudo pmset -a disablesleep 1. Ça fonctionne, mais c'est un outil plus lourd que caffeinate. Il exige un mot de passe administrateur, et contrairement à l'assertion de caffeinate, il ne se relâche pas tout seul quand un processus se termine — c'est un réglage persistant, à l'échelle du système, qui reste actif jusqu'à ce que vous lanciez explicitement sudo pmset -a disablesleep 0 ou que vous redémarriez le Mac.

Au-delà de la ligne de commande, plusieurs applications dans la barre de menus habillent la même idée de base avec une interface graphique. Amphetamine (gratuite, Mac App Store) ajoute des déclencheurs riches — lancement d'app, heure de la journée, réseau Wi-Fi, niveau de batterie — par-dessus le même type d'assertion. KeepingYouAwake est une interface barre de menus gratuite et open-source pour essentiellement le même type de verrou que caffeinate. Lungo est un interrupteur minimaliste en un clic dans la barre de menus, avec une minuterie intégrée. Caffeine est l'interrupteur classique à l'icône de tasse de café qui a donné son nom à toute la catégorie, avec des versions gratuites et payantes au fil des années. Toutes ces applications font bien le seul travail pour lequel elles sont conçues — un interrupteur manuel marche/arrêt pour garder le Mac éveillé — et aucune n'est conçue pour répondre à « est-ce qu'un vrai travail tourne encore », « combien reste-t-il de batterie » ou « ce Mac est-il trop chaud », parce que ce n'est pas le rôle d'un simple interrupteur.

Le risque de l'astuce manuelle

C'est le réglage disablesleep qui mérite le plus de prudence. Comme il est global et persistant, si le script ou la session qui l'a mis à 1 plante — ou si vous oubliez simplement la commande de remise à zéro — le Mac ne se remettra plus jamais en veille normalement, couvercle ouvert ou fermé, tant que personne n'aura lancé la commande à 0 ou redémarré la machine. Laissé actif par accident toute une nuit, c'est une vraie fuite de batterie évitable, et un Mac qui ne prend jamais le repos qu'un ordinateur portable est censé avoir.

Faire tourner du calcul couvercle fermé supprime aussi une partie du circuit de refroidissement normal du Mac — la circulation d'air autour du clavier et de la charnière dépend en partie du couvercle ouvert. Quelle que soit la méthode utilisée pour garder un Mac éveillé couvercle fermé, veillez à le ventiler — un support, un sac ouvert, pas empilé sous d'autre matériel — plutôt que de faire confiance au seul logiciel pour gérer la chaleur.

Aucune des options gratuites vues plus haut — caffeinate, le réglage disablesleep, ou les interrupteurs de barre de menus — n'est reliée à la question qui compte vraiment : est-ce que la chose que vous surveilliez (le build, l'agent, le rendu) tourne encore ? Elles gardent le Mac éveillé sur une minuterie ou un interrupteur manuel, ce qui veut dire que soit vous surveillez vous-même, soit vous prenez le risque qu'il reste éveillé, chaud, et en train de vider sa batterie bien après que la tâche s'est réellement terminée.

Un schéma plus sûr pour les charges de travail IA et dev

La solution n'est pas une astuce anti-veille différente — c'est d'associer ce même mécanisme à des garde-fous liés à ce qui se passe réellement sur le Mac, pas à une minuterie. Le mode couvercle fermé de LidRun utilise ce même levier pmset -a disablesleep en coulisses, pas une API privée — mais il associe toujours le 1 à un 0 correspondant : à l'arrêt, à la fermeture de l'app, et de nouveau réconcilié au lancement suivant s'il trouve un 1 resté bloqué après un plantage. C'est la différence entre un levier que n'importe qui peut actionner et un levier qui ne peut pas rester coincé par accident.

En plus de ça, il détecte automatiquement le vrai travail en cours au lieu de tourner sur une simple minuterie : Claude Code, Cursor, Codex, Aider, Cline, Ollama, LM Studio, et une dizaine d'autres agents de codage et environnements de modèles locaux, plus les processus dev en général. La simple présence d'un agent compte comme « en cours de travail », car un agent de codage qui attend une réponse d'API peut se retrouver à un usage CPU proche de zéro en plein milieu d'une tâche — une simple vérification de l'usage CPU interpréterait à tort cette pause comme « terminé ».

Il conditionne aussi chaque session aux deux éléments que caffeinate ignore totalement. Un arrêt automatique sur batterie configurable, 20 % par défaut, met fin à la session avant que la batterie n'atteigne un niveau dangereusement bas, et un seuil d'urgence non négociable — 4 % par défaut, réglable jusqu'à 8 % — force la mise en veille pour protéger le Mac quoi qu'il en soit des autres réglages. Un garde-fou thermique lit la température réelle de la puce et le signal de throttle thermique du CPU, pas seulement l'indicateur thermique système grossier sur lequel se reposeraient la plupart des outils qui suivent la chaleur, et désactive automatiquement le mode couvercle fermé si le Mac surchauffe vraiment. Ce n'est pas un simple verrou aveugle — la sécurité l'emporte sur le confort quand les deux entrent en conflit.

La version honnête du principe tient en une phrase : agent en cours → rester éveillé ; agent terminé, ou Mac dans un état où il n'est plus sûr de continuer → relâcher et laisser dormir. Les modes Keep Awake, Timer et Charging-only restent gratuits pour toujours, sans essai limité et sans plafond de sessions. Le support du couvercle fermé fait partie de l'offre payante Pro, avec quelques essais gratuits en couvercle fermé pour se faire une idée avant de décider.

Essayez-le plutôt que de lutter contre la veille capot fermé

LidRun garde votre travail actif capot fermé, avec une protection batterie et thermique intégrée.

Télécharger pour macOS

Vous avez déjà LidRun ? Lisez le guide d'installation →

Nouveau sur LidRun ? Voir les tarifs →

Questions fréquentes

caffeinate garde-t-il un Mac éveillé couvercle fermé ?

Non — les assertions de caffeinate ne contournent pas la mise en veille que macOS déclenche à la fermeture du couvercle. Un MacBook s'endort couvercle fermé même avec caffeinate qui tourne, sauf s'il est en véritable mode clamshell (écran externe, clavier et alimentation tous connectés) ou si disablesleep a été activé via pmset.

Comment lancer caffeinate pour une durée donnée ?

Utilisez l'option -t suivie d'un nombre de secondes, par exemple caffeinate -t 3600 pour une heure. caffeinate se termine et relâche l'assertion automatiquement une fois le délai écoulé — pas besoin de Ctrl-C.

caffeinate peut-il garder le Mac éveillé pour une seule commande ?

Oui — encapsulez directement la commande, comme dans caffeinate -i npm run build. Le Mac reste éveillé uniquement pendant que cette commande tourne, et l'assertion se relâche dès qu'elle se termine. caffeinate -w <pid> fait la même chose pour un processus que vous n'avez pas lancé vous-même.

Comment vérifier si caffeinate est en train de tourner ?

Lancez pmset -g assertions pour voir toutes les assertions d'énergie actives et le processus qui les détient — cherchez PreventUserIdleSystemSleep à côté du PID de caffeinate. ps aux | grep caffeinate fonctionne aussi, si vous voulez juste confirmer que le processus est vivant.

Quelle est la différence entre caffeinate et pmset disablesleep ?

caffeinate ne bloque que la mise en veille pour inactivité, et seulement tant que son processus tourne — il ne peut pas contourner la mise en veille à la fermeture du couvercle, et il se relâche automatiquement à sa fin. sudo pmset -a disablesleep 1 est un levier différent, plus lourd, qui bloque aussi la mise en veille en mode clamshell (couvercle fermé), mais il est global et persistant : il reste actif à l'échelle du système jusqu'à ce que vous le remettiez explicitement à 0 ou que vous redémarriez, ce qui le rend facile à laisser actif par accident.

Existe-t-il une alternative plus sûre à caffeinate pour l'IA et le dev ?

Pour des sessions de terminal courtes et surveillées, caffeinate suffit vraiment. Pour les sessions couvercle fermé ou sans surveillance en IA/dev, LidRun ajoute à cette même idée de base une détection automatique des agents et un support du couvercle fermé, avec un arrêt automatique lié à la batterie et à la chaleur, pour que le Mac ne reste pas éveillé, chaud, et en train de vider sa batterie après que la tâche est réellement terminée.

Vous vous demandez si LidRun est fait pour vous ?

Laissez ChatGPT, Claude ou Perplexity faire la recherche — cliquez ci-dessous pour voir ce que l'IA pense vraiment de LidRun.