Claude Computer Use : Contrôler un Ordinateur avec l'IA
By Learnia Team
Claude Computer Use : Contrôler un Ordinateur avec l'IA
📅 Dernière mise à jour : 10 mars 2026 — Couvre Computer Use API, actions disponibles et bonnes pratiques de sécurité.
🔗 Article pilier : API Claude : Guide Complet
Qu'est-ce que Computer Use ?
Computer Use est une fonctionnalité révolutionnaire qui permet à Claude d'interagir directement avec un ordinateur via des captures d'écran. Contrairement au Tool Use classique (qui appelle des fonctions), Computer Use permet à Claude de :
- →Voir l'écran de l'ordinateur via des captures d'écran
- →Comprendre les interfaces graphiques (boutons, menus, formulaires)
- →Agir sur l'ordinateur (cliquer, taper, faire défiler)
- →Vérifier le résultat de ses actions via de nouvelles captures
La Boucle d'Interaction
1. Votre code → Capture d'écran → Claude
2. Claude analyse l'écran → Décide une action
3. Claude → Action (clic, saisie...) → Votre code
4. Votre code exécute l'action → Nouvelle capture → Retour à l'étape 1
Cette boucle continue jusqu'à ce que la tâche soit accomplie ou que Claude détermine qu'il ne peut pas continuer.
Quickstart : Premier Exemple
import anthropic
client = anthropic.Anthropic()
# Configuration de l'outil Computer Use
tools = [{
"type": "computer_20250124",
"name": "computer",
"display_width_px": 1920,
"display_height_px": 1080,
"display_number": 0 # Écran principal
}]
# Première requête avec une capture d'écran
response = client.messages.create(
model="claude-sonnet-4-20250514",
max_tokens=4096,
tools=tools,
messages=[{
"role": "user",
"content": [
{
"type": "image",
"source": {
"type": "base64",
"media_type": "image/png",
"data": take_screenshot() # Votre fonction de capture
}
},
{
"type": "text",
"text": "Ouvre le navigateur Chrome et va sur google.com"
}
]
}]
)
# Traiter les actions retournées par Claude
for block in response.content:
if block.type == "tool_use" and block.name == "computer":
action = block.input
execute_action(action) # Exécuter l'action sur l'ordinateur
Actions Disponibles
Claude peut effectuer les actions suivantes sur l'ordinateur :
| Action | Description | Paramètres |
|---|---|---|
click | Clic souris | x, y, button (left/right/middle) |
double_click | Double-clic | x, y |
type | Saisir du texte | text |
key | Appuyer sur une touche | key (ex: "Enter", "Tab", "ctrl+c") |
scroll | Faire défiler | x, y, direction (up/down), amount |
move | Déplacer la souris | x, y |
screenshot | Demander une nouvelle capture | — |
drag | Glisser-déposer | start_x, start_y, end_x, end_y |
Exemples d'Actions
# Clic sur un bouton
{"action": "click", "coordinate": [960, 540]}
# Double-clic pour ouvrir un fichier
{"action": "double_click", "coordinate": [200, 300]}
# Saisie de texte
{"action": "type", "text": "Hello World"}
# Raccourci clavier
{"action": "key", "key": "ctrl+s"}
# Défilement vers le bas
{"action": "scroll", "coordinate": [960, 540], "direction": "down", "amount": 3}
# Demande de nouvelle capture d'écran
{"action": "screenshot"}
Implémentation Complète
Boucle d'Agent Computer Use
import anthropic
import base64
import subprocess
client = anthropic.Anthropic()
def take_screenshot():
"""Capture l'écran et retourne le base64."""
# Linux avec scrot
subprocess.run(["scrot", "/tmp/screenshot.png"])
with open("/tmp/screenshot.png", "rb") as f:
return base64.standard_b64encode(f.read()).decode("utf-8")
def execute_action(action):
"""Exécute une action Computer Use sur l'ordinateur."""
action_type = action.get("action")
if action_type == "click":
x, y = action["coordinate"]
subprocess.run(["xdotool", "mousemove", str(x), str(y), "click", "1"])
elif action_type == "type":
subprocess.run(["xdotool", "type", "--clearmodifiers", action["text"]])
elif action_type == "key":
subprocess.run(["xdotool", "key", action["key"]])
elif action_type == "scroll":
x, y = action["coordinate"]
direction = action["direction"]
button = "4" if direction == "up" else "5"
subprocess.run(["xdotool", "mousemove", str(x), str(y)])
for _ in range(action.get("amount", 3)):
subprocess.run(["xdotool", "click", button])
elif action_type == "screenshot":
pass # Sera capturé au prochain tour de boucle
def computer_use_loop(task, max_steps=20):
"""Boucle principale Computer Use."""
messages = [{
"role": "user",
"content": [
{"type": "image", "source": {
"type": "base64", "media_type": "image/png",
"data": take_screenshot()
}},
{"type": "text", "text": task}
]
}]
tools = [{
"type": "computer_20250124",
"name": "computer",
"display_width_px": 1920,
"display_height_px": 1080,
"display_number": 0
}]
for step in range(max_steps):
response = client.messages.create(
model="claude-sonnet-4-20250514",
max_tokens=4096,
tools=tools,
messages=messages
)
if response.stop_reason == "end_turn":
# Tâche terminée
for block in response.content:
if block.type == "text":
print(f"✅ Terminé : {block.text}")
return
# Exécuter les actions
messages.append({"role": "assistant", "content": response.content})
tool_results = []
for block in response.content:
if block.type == "tool_use":
execute_action(block.input)
# Nouvelle capture après l'action
tool_results.append({
"type": "tool_result",
"tool_use_id": block.id,
"content": [{
"type": "image",
"source": {
"type": "base64",
"media_type": "image/png",
"data": take_screenshot()
}
}]
})
messages.append({"role": "user", "content": tool_results})
print("⚠️ Nombre maximum d'étapes atteint")
# Utilisation
computer_use_loop("Ouvre Firefox, va sur wikipedia.org et cherche 'intelligence artificielle'")
Cas d'Usage
1. Tests d'Interface Utilisateur
Automatisez les tests UI sans écrire de sélecteurs fragiles.
computer_use_loop("""
Test du formulaire d'inscription :
1. Remplis le champ "Nom" avec "Jean Dupont"
2. Remplis le champ "Email" avec "jean@test.com"
3. Remplis le champ "Mot de passe" avec "SecurePass123!"
4. Coche la case "J'accepte les conditions"
5. Clique sur "S'inscrire"
6. Vérifie qu'un message de succès apparaît
""")
2. Saisie de Données dans des Systèmes Legacy
| Scénario | Approche traditionnelle | Avec Computer Use |
|---|---|---|
| ERP sans API | Développement d'un connecteur custom (semaines) | Script en quelques heures |
| Application Windows legacy | RPA avec règles fragiles | Vision adaptative |
| Formulaires web complexes | Selenium avec sélecteurs qui cassent | Claude s'adapte aux changements UI |
3. Automatisation de Workflows
computer_use_loop("""
Workflow de reporting mensuel :
1. Ouvre l'application de comptabilité
2. Exporte le rapport des ventes du mois dernier en CSV
3. Ouvre Excel et importe le CSV
4. Crée un tableau croisé dynamique par région
5. Sauvegarde le fichier sur le Bureau
""")
Sécurité : Points Critiques
Risques Identifiés
| Risque | Niveau | Mitigation |
|---|---|---|
| Actions non intentionnelles | ⚠️ Élevé | Environnement sandbox, supervision |
| Injection via contenu écran | ⚠️ Moyen | Ne pas naviguer sur des sites non fiables |
| Accès à des données sensibles | ⚠️ Élevé | Limiter les permissions du compte utilisé |
| Boucle infinie d'actions | ⚠️ Moyen | Limiter max_steps, timeout global |
Checklist de Sécurité
- →Environnement isolé — VM ou conteneur Docker dédié
- →Compte non privilégié — L'utilisateur ne doit pas être admin
- →Réseau limité — Restreindre l'accès réseau au strictement nécessaire
- →Supervision humaine — Toujours avoir un moyen d'interrompre la session
- →Durée limitée — Définir un timeout maximum pour chaque tâche
- →Logs complets — Enregistrer toutes les captures d'écran et actions
- →Pas de credentials — Ne jamais demander à Claude de saisir des mots de passe réels
Docker Quickstart (Recommandé)
FROM ubuntu:22.04
# Environnement graphique minimal
RUN apt-get update && apt-get install -y \
xvfb x11vnc fluxbox \
firefox scrot xdotool \
python3 python3-pip
# Installer le SDK Anthropic
RUN pip3 install anthropic
# Script de démarrage
COPY start.sh /start.sh
RUN chmod +x /start.sh
EXPOSE 5900
CMD ["/start.sh"]
# start.sh
#!/bin/bash
Xvfb :99 -screen 0 1920x1080x24 &
export DISPLAY=:99
fluxbox &
x11vnc -display :99 -forever -nopw &
python3 /app/computer_use_agent.py
Limitations Actuelles
| Limitation | Impact | Contournement |
|---|---|---|
| Latence (~2-5s par action) | Workflows longs sont lents | Regrouper les instructions |
| Résolution fixe | Doit correspondre à l'écran réel | Configurer display_width_px correctement |
| Pas de drag-and-drop complexe | Certaines interactions impossibles | Combiner avec des raccourcis clavier |
| Erreurs de coordonnées | Clics parfois imprécis | Demander une capture de vérification |
| Coût élevé | Chaque capture = ~2500 tokens | Limiter le nombre d'étapes |
Comparaison avec les Alternatives
| Aspect | Computer Use (Claude) | Selenium/Playwright | RPA (UiPath, etc.) |
|---|---|---|---|
| Setup | Minimal (juste l'API) | Drivers, sélecteurs | Installation lourde |
| Fragilité | Faible (vision adaptative) | Élevée (sélecteurs cassent) | Moyenne |
| Vitesse | Lente (~2-5s/action) | Rapide | Rapide |
| Flexibilité | Très haute | Moyenne (web seulement) | Haute |
| Coût par exécution | Élevé (API tokens) | Quasi nul | License logicielle |
| Applications supportées | Toutes (via écran) | Web seulement | Desktop + Web |
Module 0 — Prompting Fundamentals
Build your first effective prompts from scratch with hands-on exercises.
Weekly AI Insights
Tools, techniques & news — curated for AI practitioners. Free, no spam.
Free, no spam. Unsubscribe anytime.
→Related Articles
FAQ
Qu'est-ce que Claude Computer Use ?+
Computer Use est une fonctionnalité qui permet à Claude d'interagir avec un ordinateur via des captures d'écran. Claude voit l'écran, décide quelles actions effectuer (clic, saisie, scroll) et reçoit de nouvelles captures pour continuer.
Comment fonctionne Computer Use techniquement ?+
C'est une boucle : votre code prend une capture d'écran, l'envoie à Claude, Claude retourne une action (clic à x,y ou saisie de texte), votre code exécute l'action, prend une nouvelle capture, et le cycle recommence.
Computer Use est-il sûr à utiliser ?+
Computer Use doit être utilisé avec précaution. Anthropic recommande de l'exécuter dans un environnement isolé (machine virtuelle, conteneur), de ne jamais l'utiliser avec des comptes admin privilégiés, et de superviser les sessions.
Quels sont les cas d'usage principaux de Computer Use ?+
Tests d'interface utilisateur automatisés, saisie de données dans des systèmes legacy, démonstrations de produits, automatisation de workflows sur des applications sans API, et scraping de données complexes.
Comment faire pour que Claude contrôle mon PC ?+
Claude Computer Use fonctionne via l'API. Vous devez configurer un environnement Docker ou une VM avec les outils anthropiques installés. Claude prend ensuite des captures d'écran, les analyse, et envoie des commandes (clic, clavier, défilement). Un guide de démarrage est disponible dans la documentation officielle d'Anthropic.
Claude est-il facile à utiliser pour contrôler un ordinateur ?+
L'utilisation de Computer Use nécessite des connaissances techniques (API, Docker, Python). Ce n'est pas un simple clic dans l'interface — il faut configurer un environnement dédié. Cependant, avec le SDK Python d'Anthropic, le code de base tient en 20 lignes et de nombreux tutoriels sont disponibles.