Sécurité d'exécution des agents IA pour développeurs

Henry AGI
5 min de lectureJun 2026
Sécurité d'exécution des agents IA pour développeurs

La sécurité d'exécution pour les agents IA, côté développeur, ça consiste à poser un plancher dur sous un run sans surveillance : un pourcentage de batterie qu'il ne franchira pas, un état thermique qu'il ne dépassera pas, et un moyen de savoir si l'agent fait encore un travail utile — pas juste un interrupteur qui maintient le Mac éveillé en espérant que tout se passe bien. Vous lancez un agent de codage en train d'échafauder une fonctionnalité, un batch Ollama, ou un entraînement avant de vous coucher, et au matin, soit c'est terminé, soit vous vous réveillez avec une batterie morte, un châssis trop chaud pour être touché, et aucune trace de ce qui s'est passé entre-temps. Les outils natifs de macOS — caffeinate, pmset — et les applis de menu bar tierces comme Amphetamine, KeepingYouAwake, Lungo et Caffeine résolvent tous bien la moitié du problème : ils empêchent le Mac de partir en veille automatique. Aucun d'eux ne surveille le niveau de batterie ou la chaleur pendant ce temps. Ce guide couvre les deux moitiés — les méthodes natives et gratuites pour maintenir un Mac éveillé, là où chacune est réellement solide, et les garde-fous qui valent la peine d'être ajoutés autour, pour tout run auprès duquel vous ne serez pas assis.

Les vrais risques des exécutions IA longues et sans surveillance

Une exécution Ollama qui tourne toute la nuit, un agent Claude Code en train d'échafauder une fonctionnalité complète, un pipeline de build qui se relance à chaque modification de fichier — ces charges de travail ont un point commun : personne ne surveille. La veille automatique standard de macOS ne connaît ni le pourcentage de batterie ni la température de la puce ; elle se contente de vérifier si quelque chose retient une assertion de réveil. Une fois celle-ci maintenue, le run continue jusqu'à sa fin, jusqu'à ce que la batterie soit vide, ou jusqu'à ce que le Mac s'éteigne de lui-même pour se protéger.

Le risque batterie est cumulatif. Recharger à répétition depuis un niveau proche de zéro use le compteur de cycles de charge plus vite que de recharger entre 40 et 80 %. Une seule nuit à descendre jusqu'à 0 % est rarement fatale en soi ; c'est l'habitude répétée sur plusieurs semaines qui accélère la perte de capacité. Le danger le plus immédiat, c'est généralement un agent bloqué — une boucle de prompt, un timeout d'API qui n'a jamais relancé, un build qui attend un port verrouillé — qui consomme du CPU en continu pendant des heures pendant que vous dormez, sans jamais terminer ni faire remonter d'erreur.

Le risque thermique sur un MacBook est en partie géré par macOS lui-même, et en partie une question d'installation physique. La puce se bride toute seule sous charge soutenue, mais un bridage signifie un run plus long et plus chaud — pas un run sûr pour autant. Un MacBook posé sur une surface molle avec les grilles d'aération obstruées, ou qui tourne en clamshell avec une mauvaise circulation d'air, concentre la chaleur dans un espace plus restreint. Aucun outil de maintien en éveil, gratuit ou payant, ne change cette réalité physique — il peut seulement décider du moment où arrêter d'insister.

La méthode native et gratuite : caffeinate, pmset et les applis de menu bar tierces

macOS embarque deux outils conçus exactement pour ça, et ça vaut le coup de les connaître avant de chercher ailleurs. caffeinate -i empêche la veille automatique tant qu'il tourne au premier plan. caffeinate -w <pid> va plus loin en liant cette même assertion à un processus précis — le PID d'un job d'entraînement, le PID d'un agent — et se libère automatiquement dès que ce processus se termine. C'est exactement l'idée derrière le wrapper CLI de LidRun (lidrun -- python train.py --epochs 100, qui retient une assertion, exécute la commande, puis relâche une fois terminé). Pour un run court que vous allez surveiller vous-même, caffeinate -w $(pgrep ollama) ou l'encapsulation directe de la commande suffit largement. C'est gratuit, c'est déjà sur votre Mac, et ça fait une seule chose, mais bien.

LidRun
Comparison table of caffeinate, pmset disablesleep, Amphetamine, KeepingYouAwake, Lungo, Caffeine, and LidRun across cost, battery-aware floor, thermal-aware stop, process-linking, and notifications
Les options gratuites et natives sont toutes efficaces pour empêcher la veille par inactivité. Aucune ne lit le pourcentage de batterie ou l'état thermique pour décider quand lâcher prise.

Pour une installation en clamshell — écran externe, clavier et souris, couvercle fermé — le mécanisme sous le capot est pmset -a disablesleep 1, un flag système non documenté mais largement utilisé, qui indique à macOS d'ignorer totalement le déclencheur de veille à la fermeture du couvercle. C'est sur ça que repose n'importe quel utilitaire de mode clamshell, y compris le mode Closed-Lid de LidRun. Ça demande les droits administrateur et, contrairement aux assertions ci-dessus, ce n'est pas limité à un seul processus — ça change le comportement de veille pour toute la machine jusqu'à ce que quelque chose le remette à 0.

Les réglages batterie natifs de macOS valent la peine d'être activés pour tout run long, quel que soit l'outil de maintien en éveil utilisé. Le mode basse consommation et la charge de batterie optimisée (Réglages Système → Batterie) réduisent la consommation en arrière-plan et rythment les cycles de charge — ni l'un ni l'autre n'empêche la veille ou ne surveille votre charge de travail, mais ce sont des réglages gratuits, natifs, et complémentaires à n'importe quel autre outil que vous utilisez.

Les applis de menu bar tierces occupent l'espace entre une commande Terminal et quelque chose à qui vous feriez confiance pour tourner seul toute la nuit. Amphetamine a le système de déclencheurs le plus complet du lot — vous pouvez le configurer pour s'activer quand une appli précise se lance ou qu'un processus démarre, pas seulement basculer un interrupteur manuel. KeepingYouAwake est un petit toggle de menu bar open-source qui fait exactement une chose, gratuit, sans pub. Caffeine a popularisé l'icône « tasse de café » en un clic et reste l'option la plus simple si tout ce que vous voulez, c'est un interrupteur basique. Lungo enrobe la même idée dans une interface de minuteur à rebours bien conçue. Les quatre sont des outils solides et bien construits pour empêcher un Mac de partir en veille automatique — cette partie du problème est, très sincèrement, résolue plusieurs fois plutôt qu'une.

Guide associéGuide de sécurité du mode Closed-Lid pour les charges de travail MacBook

Là où les options gratuites atteignent leurs limites pour un run sans surveillance

Aucun des outils ci-dessus ne connaît votre pourcentage de batterie ou la température de votre Mac. caffeinate -w <pid> maintient son assertion à 2 % de batterie exactement aussi facilement qu'à 80 % — il n'y a aucun plancher intégré. Amphetamine, KeepingYouAwake, Lungo et Caffeine fonctionnent pareil : une durée, un déclencheur ou un interrupteur manuel, mais rien qui surveille le niveau de charge ou l'état thermique pour relâcher plus tôt. Pour un job que vous avez sous les yeux, ce n'est pas un problème — vous verrez l'avertissement de batterie et vous réagirez. Pour quelque chose que vous lancez avant de partir pendant huit heures, ce n'est pas le bon outil.

pmset -a disablesleep 1 porte un risque plus tranchant. Comme le réglage est global et persistant, si ce qui le gère — un script, une session Terminal, une appli — plante ou se fait forcer à quitter avant d'exécuter le pmset -a disablesleep 0 correspondant, le flag reste bloqué activé. La veille ne se déclenche plus du tout à la fermeture du couvercle, sur batterie, indéfiniment, jusqu'à ce que quelqu'un s'en aperçoive et le remette à zéro à la main avec sudo pmset -a disablesleep 0. C'est exactement pour ça que LidRun associe chaque 1 qu'il pose à un 0 correspondant — à l'arrêt, en quittant l'appli, puis de nouveau via une vérification de cohérence au lancement suivant — plutôt que de faire confiance à un script pour toujours atteindre sa propre ligne de nettoyage.

L'autre trou dans la raquette, c'est de savoir si le run fait encore quelque chose. Un agent bloqué — une boucle de prompt, un appel API qui n'a jamais reçu de réponse, un build coincé sur un port verrouillé — a l'air identique de l'extérieur à un agent qui va bien : le processus est toujours là, il retient toujours son assertion. Tous les outils ci-dessus, y compris le simple maintien en éveil de base de LidRun, garderont le Mac éveillé pour un processus bloqué exactement aussi fidèlement que pour un processus productif, tant qu'il reste présent. Pour détecter ça, il faut surveiller le processus lui-même, pas seulement sa présence.

Sécurité batterie : pourquoi un plancher de charge basse compte

L'arrêt automatique batterie de LidRun surveille le niveau de charge via IOKit et relâche le maintien en éveil dès que votre Mac franchit un seuil que vous définissez — 20 % par défaut, ajustable de 15 % à 50 %. En dessous de ce seuil, ce que vous étiez en train de faire tourner perd son maintien et le Mac revient à un comportement de veille normal. En dessous encore, il existe un second plancher, non configurable celui-là, quel que soit votre réglage : une vraie mise en veille forcée d'urgence, verrouillée pour ne jamais pouvoir descendre sous 4 %, parce qu'en dessous de ce seuil, macOS n'a pas de façon fiable assez de marge pour terminer une extinction propre avant que la batterie soit tout simplement vide.

LidRun
Annotated Mac battery meter showing the non-configurable emergency force-sleep floor near empty, LidRun's 20 percent default auto-stop, and a recommended 25-30 percent floor for overnight runs
L'arrêt automatique de LidRun est réglé sur 20% par défaut et peut monter jusqu'à 50% ; en dessous de tout réglage, un seuil d'urgence non configurable près de la batterie vide reste toujours actif.

Pour un run de nuit sur batterie seule — pas de chargeur, juste la batterie — on recommande de monter le plancher d'arrêt automatique au-dessus des 20 % par défaut : 25–30 % donne une vraie marge. À 10–15 %, un bref pic de CPU ou une réponse tardive du ventilateur peut vous pousser dans la zone où macOS force une extinction d'urgence sans sortie propre ; à 25–30 %, il reste assez de marge pour un arrêt propre, plus une marge contre un pic de charge que vous n'auriez pas vu venir.

Le plancher d'arrêt automatique en lui-même est présent sur chaque installation, y compris en version gratuite — LidRun ne met jamais l'arrêt basique en cas de batterie faible derrière un paywall. Une deuxième étape, plus précoce — une alerte configurable « prévenez-moi à X % » avant l'arrêt dur, pour les personnes qui veulent plus de marge entre le premier signal et la coupure réelle — fait partie du palier de sécurité graduée payant. Dans tous les cas, pour un run de plus de quelques heures, branchez le chargeur si vous le pouvez : une charge CPU élevée et soutenue sur batterie use les cycles de charge plus vite que la même charge sur secteur, et un plancher protège aussi contre un adaptateur qui se débranche en cours de route, même quand vous êtes branché.

Sécurité thermique : ce que le Mac vous dit, et ce qu'il ne vous dit pas

macOS expose la pression thermique via ProcessInfo.thermalState : nominal, fair, serious, critical. LidRun affiche un avertissement dès que l'état atteint « serious » et recule pour de bon une fois arrivé à « critical » — le Safety Governor relâche immédiatement le maintien en éveil, sur chaque palier, gratuit ou payant, sans attendre que vous vous en aperceviez. Si le mode Closed-Lid est actif et que le couvercle est physiquement fermé, un simple relâchement ne ferait rien tout seul (il n'y a plus de veille automatique à déclencher), donc LidRun passe à l'étape suivante et met carrément le Mac en veille.

LidRun
Diagram of macOS thermal states nominal, fair, serious, critical with LidRun's warning point at serious and auto-release point at critical overlaid on a rising temperature curve
LidRun alerte au niveau 'serious' et recule vraiment au niveau 'critical' — recoupé avec la température SMC et le throttle CPU, pas seulement le signal grossier de l'OS.
LidRun
Three MacBook setups compared for heat risk: hard flat surface with lid open, soft surface with lid open, and inside a closed bag with lid closed, showing increasing heat concentration
Les garde-fous logiciels sont la seconde ligne de défense. L'installation physique — surface, circulation d'air, position du lid — est la première, et aucun outil keep-awake n'y change quoi que ce soit.

Le hic, c'est la granularité : thermalState à lui seul reste un signal grossier. Dans nos propres tests sur un Mac Intel, une session normale couvercle ouvert sous forte charge s'est stabilisée autour de 95 °C avec le CPU tournant encore au-dessus de 80 % de sa vitesse maximale — alors que la même charge de travail, enfermée dans un sac, a fait chuter la limite de vitesse du CPU à environ 24 % en quelques minutes, pendant que thermalState lui-même affichait encore brièvement seulement « fair ». C'est cet écart qui explique pourquoi LidRun croise le signal de l'OS avec le capteur de température SMC et la lecture de limite de vitesse du CPU (pmset -g therm) plutôt que de faire confiance à thermalState seul — il suffit qu'un des deux signaux passe à critique pour déclencher le filet de sécurité.

Le régime des ventilateurs (RPM) et les données du capteur SMC sont lisibles sur les Mac Intel et sur la plupart des configurations Apple Silicon, à titre de signal de surveillance — un ventilateur déjà au plafond vous indique que le système travaille déjà dur, ce qui donne un contexte utile en complément de la lecture de température elle-même.

Les garde-fous logiciels sont une seconde ligne de défense ; la première est physique. Surface plane et dure, grilles d'aération dégagées, couvercle ouvert quand vous pouvez vous le permettre. Tourner couvercle fermé concentre plus la chaleur que couvercle ouvert, ce qui vaut la peine d'être su avant de mettre en place un workflow clamshell de nuit — un support pour ordinateur portable, ou même une simple surélévation sur le bureau, fait une différence mesurable. Faire tourner un job de calcul long dans un sac ou un autre espace fermé est la configuration la plus risquée qui soit ; aucun moniteur de processus ne change le piège thermique que ça crée, donc traitez ce type d'installation avec précaution, quel que soit l'outil qui surveille.

Où se situe une couche conçue pour ça : consciente du processus, de la batterie et du thermique

Le principe de LidRun est simple : agent en cours → rester éveillé ; agent terminé ou situation non sûre → relâcher ou mettre en veille. Pas un verrou de veille aveugle que vous posez et devez penser à retirer, pas une session qu'il faut surveiller vous-même au cas où une limite de batterie ou de chaleur serait franchie pendant que vous avez le dos tourné. Tout ce qui précède — caffeinate, pmset, Amphetamine, KeepingYouAwake, Lungo, Caffeine — fait très bien la moitié « rester éveillé ». Voici l'autre moitié.

Auto Mode, c'est le maintien en éveil lié au processus : le même principe que caffeinate -w, sauf qu'il reconnaît déjà, dès l'installation, une longue liste de processus d'agents de codage et d'outils dev — Claude Code, Codex, Cursor, GitHub Copilot, Windsurf, Aider, Ollama, et d'autres — sans aucune configuration nécessaire. Il intègre aussi un délai de grâce de 30 minutes spécifiquement pour les processus d'agent reconnus, pour qu'une pause de « réflexion » normale entre deux appels d'outil ne soit pas interprétée comme la fin du job (un simple éditeur ouvert n'a pas droit à ce même délai de grâce, donc une fenêtre Cursor ouverte mais inactive ne peut pas maintenir le Mac éveillé par sa seule présence). Auto Mode est une fonctionnalité payante.

Watchdog va un cran plus loin : il surveille si un agent devient silencieux. Après 20 minutes avec un processus d'agent reconnu qui reste proche de 0 % de CPU — contre 5 minutes pour tout le reste, puisque les agents restent normalement inactifs en attendant une réponse d'API — il vous alerte que le run est peut-être bloqué, avec assez d'avance pour que vous soyez prévenu avant même que le délai de grâce d'Auto Mode n'ait de toute façon laissé tomber l'assertion. Il se contente d'alerter ; il ne tue et ne relance jamais le processus lui-même. C'est également une fonctionnalité payante.

L'arrêt automatique batterie et le relâchement en cas de surchauffe critique décrits plus haut sont gratuits sur chaque installation — cette partie n'est jamais derrière un paywall. Le mode Timer de LidRun (gratuit, aux côtés du simple Keep Awake et du mode Charging-only) maintient l'assertion jusqu'à une expiration fixée puis relâche tout seul, utile comme borne supérieure, qu'Auto Mode reconnaisse le processus ou non. Les notifications push via ntfy.sh (sans compte requis) ou Pushover bouclent le tout, pour qu'un run qui s'arrête à 3 h du matin — par fin de tâche, batterie faible ou état thermique — vous atteigne sur votre téléphone au lieu que vous découvriez un Mac froid au petit déjeuner. Et comme LidRun surveille aussi les autres applis qui retiennent leur propre verrou de veille — Amphetamine, un processus caffeinate isolé, ou autre chose — il peut vous signaler que quelque chose d'autre maintient déjà le Mac éveillé, ce qui compte surtout au moment où vous basculez depuis l'un des outils ci-dessus et que vous ne voulez pas faire doublon sans vous en rendre compte.

Construire des réglages par défaut sûrs pour le travail d'agent de nuit

Pour un run type d'agent IA de nuit, une configuration de départ raisonnable : arrêt automatique batterie à 25–30 % plutôt que les 20 % par défaut, l'avertissement thermique « serious » comme premier signal pour aller vérifier, le relâchement automatique « critical » comme filet de sécurité dur, et — si le processus fait partie de ceux qu'Auto Mode reconnaît déjà — laissez-le lier l'assertion au job réel plutôt que de deviner une durée fixe.

Un minuteur de session fixe garde tout de même sa place à côté de ça : le mode Timer maintient l'assertion jusqu'à une expiration fixée puis relâche tout seul, utile comme borne supérieure en complément de la surveillance liée au processus, ou seul pour tout ce qu'Auto Mode ne reconnaît pas. La combinaison — le premier signal qui se déclenche, sortie du processus ou N heures — rattrape ce qu'un simple interrupteur ne peut pas : un agent qui s'est planté à la deuxième heure sans que personne ne s'en aperçoive, en train de brûler batterie et chaleur sur un processus qui a arrêté de faire un travail utile des heures plus tôt.

Pour des runs courts et surveillés, caffeinate et un Terminal sous les yeux suffisent réellement — pas besoin d'aller chercher plus loin. L'écart se creuse spécifiquement pour les runs auprès desquels vous ne serez pas assis : c'est là qu'un plancher batterie, un filet de sécurité thermique, la conscience du processus et une notification qui arrive sur votre téléphone comptent davantage que l'outil qui retient l'assertion. Réglez le plancher une bonne fois, branchez le chargeur quand le run est long, gardez les grilles d'aération dégagées, et laissez les limites faire le reste.

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

Est-ce sûr de faire tourner des agents IA toute la nuit sur un MacBook ?

Ça dépend de l'installation. Tourner sur secteur, sur une surface plane et dure avec une bonne circulation d'air, avec un plancher batterie et soit un minuteur de session soit un maintien en éveil lié au processus configuré, aide à réduire le risque de façon significative. Tourner sur batterie seule sans aucun garde-fou, sur une surface molle, ou couvercle fermé dans un espace confiné augmente à la fois le risque thermique et le risque batterie. Aucun outil de maintien en éveil — caffeinate, pmset, une appli de menu bar, ou LidRun — ne rend le calcul de nuit sans surveillance sûr de façon inconditionnelle ; l'objectif est de rester dans la zone la plus sûre de la plage de fonctionnement et d'être averti quand une limite est atteinte.

Quel pourcentage de batterie est un seuil de coupure sûr pour les runs IA ?

L'arrêt automatique par défaut de LidRun est à 20 %, ajustable de 15 % à 50 % ; pour un run de nuit sur batterie seule, on suggère de le monter à 25–30 % pour une marge supplémentaire. En dessous d'environ 10–15 %, un pic de CPU soutenu peut pousser le Mac vers une extinction d'urgence sans sortie propre. Sous n'importe quel réglage, macOS lui-même a besoin d'un peu de marge près de zéro pour s'éteindre proprement — c'est pour ça que le plancher de mise en veille forcée d'urgence de LidRun est verrouillé pour ne jamais descendre sous 4 %, quels que soient vos autres réglages. Sur secteur, l'inquiétude de décharge immédiate disparaît, mais un plancher batterie basse reste utile au cas où l'adaptateur se débrancherait en cours de run.

Un MacBook peut-il surchauffer en faisant tourner des agents IA couvercle fermé ?

La chaleur s'accumule plus vite en configuration couvercle fermé, parce que l'écran ne peut plus jouer son rôle de radiateur passif. macOS bride la puce à mesure que la température grimpe, mais un bridage signifie un run plus lent, plus chaud et plus long — pas un run sûr pour autant. Dans nos propres tests, une charge de travail qui maintenait sa limite de vitesse CPU au-dessus de 80 % couvercle ouvert à environ 95 °C a vu cette limite s'effondrer à environ 24 % en quelques minutes une fois la même installation enfermée dans un sac. Tourner sur une surface plane et dure avec des grilles d'aération dégagées, de préférence sur secteur, aide à réduire ce risque. Couvercle fermé sur une surface molle ou dans un sac est la configuration la plus risquée qui soit ; aucun outil de maintien en éveil ne change un chemin d'aération bouché.

Est-ce que caffeinate suffit pour un run d'agent IA de nuit ?

Pour un run court que vous allez surveiller vous-même, oui — caffeinate -w <pid> ou l'encapsulation directe de la commande fait très bien le travail, gratuitement. Ce qu'il ne fera pas, c'est surveiller votre pourcentage de batterie ou l'état thermique pendant qu'il maintient le Mac éveillé, donc il continuera un run bloqué ou de nuit exactement aussi facilement à 2 % de batterie qu'à 80 %. Pour tout ce dont vous ne serez pas proche pendant plusieurs heures, associez-le à un plancher batterie et à un filet de sécurité thermique, ou utilisez un outil qui a déjà les deux intégrés.

Quelle est la différence entre LidRun et des applis comme Amphetamine ou KeepingYouAwake ?

Amphetamine, KeepingYouAwake, Lungo et Caffeine sont tous vraiment bien construits pour la seule chose qu'ils font : empêcher un Mac de partir en veille automatique, via une plage horaire, un déclencheur ou un interrupteur manuel. Aucun d'eux ne lit le pourcentage de batterie ou l'état thermique pour décider quand relâcher — ce n'est pas une critique, c'est juste en dehors de ce pour quoi ils sont conçus. LidRun ajoute cette couche par-dessus : un plancher batterie et un relâchement en cas de surchauffe critique, gratuits sur chaque installation, et — sur le palier payant — une surveillance liée au processus (Auto Mode) plus une alerte agent-bloqué (Watchdog), pour que le garde-fou vienne d'un empilement de vérifications plutôt que du fait de se souvenir d'éteindre un interrupteur.

Quels garde-fous LidRun ajoute-t-il pour la sécurité des agents ?

L'arrêt automatique batterie et le relâchement en cas de surchauffe critique sont gratuits sur chaque installation : LidRun surveille le niveau de charge et l'état thermique via IOKit et les API natives de macOS, et relâche le maintien en éveil dès que l'un ou l'autre franchit votre seuil. Sur le palier payant, Auto Mode lie l'assertion à un processus reconnu précis plutôt qu'à une durée fixe, et Watchdog vous alerte si ce processus reste silencieux plus longtemps que ce qui est normal pour un agent au repos. Les notifications push via ntfy.sh ou Pushover, plus un mode Timer gratuit comme borne supérieure fixe, complètent l'ensemble. Ces garde-fous aident à réduire le risque de vous réveiller sur une batterie morte ou un Mac bridé ; ce n'est pas une garantie, et votre installation physique — surface, circulation d'air, position du couvercle — compte toujours autant que n'importe quel réglage.

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.