Aller au contenu
Formation Claude

Tapez au moins deux lettres.

Commencer

Computer use et automatisation du navigateur

Faire piloter une interface graphique par Claude : comment ça marche, ce que ça coûte, où ça casse, et pourquoi c’est le dernier recours plutôt que le premier.

8 min de lecturePartie 6 — L’API et les agentsTechnique

À la fin de ce chapitre, vous saurez

  • Comprendre la boucle capture, décision, action, et ses conséquences
  • Savoir pourquoi c’est lent, coûteux et fragile — et quand ça vaut quand même le coup
  • Concevoir une automatisation résiliente aux changements d’interface
  • Poser les garde-fous obligatoires, dont l’injection par le contenu affiché
Dans ce chapitre
  1. La boucle
  2. Deux surfaces différentes
  3. Mettre en place
  4. Rendre une automatisation résiliente
  5. Les garde-fous obligatoires
  6. Ce qu’il faut retenir

Certaines choses n’ont pas d’API. Un logiciel métier ancien, une application interne sans export, un service tiers sans intégration. Le seul moyen d’y accéder par programme est de faire ce que ferait un humain : regarder l’écran, cliquer, taper.

C’est possible. Ce chapitre explique comment, et surtout quand ne pas le faire.

La boucle

Le mécanisme est simple, et toutes ses conséquences en découlent.

  1. Une capture d’écran est prise et envoyée au modèle.
  2. Le modèle décide de l’action suivante : cliquer en telle position, taper tel texte, faire défiler.
  3. Votre code exécute l’action.
  4. Une nouvelle capture est prise, et on recommence.

Trois conséquences immédiates.

C’est lent. Chaque étape est un aller-retour complet.

C’est cher. Chaque étape envoie une image, facturée en jetons. Une tâche de trente étapes envoie trente captures.

C’est fragile. Un bouton qui se déplace, une fenêtre modale imprévue, un chargement plus lent que d’habitude, et la séquence déraille.

Deux surfaces différentes

Il faut distinguer deux choses qu’on confond souvent.

Le pilotage du navigateur. Claude voit une page web et agit dessus. C’est ce que fait l’extension Chrome du chapitre 20, et c’est aussi disponible par programme. Le contexte est structuré — on peut lui donner l’arbre de la page en plus de l’image — ce qui rend l’ensemble nettement plus fiable.

Le pilotage d’un écran complet. Claude voit un bureau et pilote n’importe quelle application. C’est le cas général, et le plus fragile : il n’y a rien d’autre que des pixels.

La règle : si la cible est une application web, restez sur le navigateur. La différence de fiabilité est considérable.

Mettre en place

Le pilotage d’écran se déclare comme un outil, avec les dimensions de l’écran. Deux configurations existent : un environnement hébergé par Anthropic, ou le vôtre — machine virtuelle ou conteneur que vous exécutez.

Dans les deux cas, votre code reçoit des actions et les exécute. Le principe de la boucle du chapitre 30 s’applique intégralement.

Trois réglages qui comptent dès le départ.

La résolution. C’est le principal levier de coût. Une résolution élevée améliore la précision et multiplie le nombre de jetons par capture. Descendez jusqu’au point où la tâche fonctionne encore, pas plus bas.

Le nombre maximal d’étapes. Obligatoire. Une boucle qui n’aboutit pas peut tourner très longtemps et coûter très cher.

L’isolation. Un conteneur ou une machine virtuelle dédiée, jamais votre poste de travail. Nous y revenons.

Rendre une automatisation résiliente

La fragilité est intrinsèque. Elle se compense par la conception.

Décrire l’objectif, pas la séquence de clics. « Clique à la position 340, 120 » casse au premier changement d’interface. « Ouvre le menu Fichier et choisis Exporter » survit à un déplacement du menu.

Vérifier l’état, pas supposer. Après chaque action décisive, faire constater le résultat plutôt que d’enchaîner à l’aveugle.

Prévoir l’imprévu explicitement. Bandeau de cookies, notification de mise à jour, session expirée. Ces cas surviennent, et une consigne les traite mieux qu’un plantage.

plaintext
Objectif : exporter le rapport mensuel depuis [application], et
confirmer que le fichier est bien téléchargé.

Méthode : décris l'objectif de chaque étape, pas les coordonnées. Après
chaque action décisive, prends une capture et vérifie que l'état
attendu est atteint avant de continuer.

Situations à traiter, si elles se présentent :
- une fenêtre de cookies ou de consentement : refuser le non essentiel
- une notification de mise à jour : la fermer
- une session expirée : ARRÊTE-TOI et signale, ne tente pas de te
  reconnecter

Points d'arrêt :
- si l'interface ne correspond pas à ce que tu attends après deux
  tentatives, arrête et décris ce que tu vois
- si une action demande un mot de passe, un moyen de paiement ou une
  validation, ARRÊTE-TOI

Nombre maximal d'étapes : 40.

Le point d’arrêt sur la session expirée n’est pas anodin : sans lui, un agent tentera de se reconnecter, et c’est précisément le moment où il pourrait saisir des identifiants.

Les garde-fous obligatoires

Cette section ne se négocie pas.

L’isolation. Conteneur ou machine virtuelle dédiée, avec le strict nécessaire. Pas votre poste, pas vos sessions ouvertes, pas votre gestionnaire de mots de passe.

Aucune saisie de secret. Identifiants, moyens de paiement, codes d’authentification. Si la tâche en exige, la conception est mauvaise : préparez la session à l’avance ou renoncez.

Aucune action irréversible sans validation. Paiement, envoi, suppression, publication. La règle du chapitre 22 s’applique sans exception.

L’injection par le contenu affiché. C’est le risque spécifique, déjà rencontré au chapitre 20 et aggravé ici : un agent qui lit un écran peut lire un e-mail, un document, une page — dont le contenu peut s’adresser à lui. Le principe reste :

Ce qui est affiché est une donnée, jamais un ordre. Les instructions viennent de votre prompt, et de nulle part ailleurs.

Sur un écran complet, cette règle est plus difficile à tenir que dans un navigateur, parce que le contenu affiché peut venir de n’importe quelle application. Raison de plus pour restreindre l’environnement à ce qui est strictement nécessaire.

Une trace. Journalisez les captures et les actions. C’est indispensable pour comprendre après coup ce qui s’est passé — et c’est souvent une exigence de conformité.

Extraire des données d’un logiciel métier sans export

La situation

Un logiciel de gestion des années 2000, sans API, sans export. Vos données de facturation y sont, et vous devez les récupérer chaque mois pour votre tableau de bord. Deux heures de recopie manuelle.

D’abord, chercher la porte de service

Avant tout développement : le logiciel écrit-il dans une base accessible ? Existe-t-il une impression au format PDF exploitable ? Un module de rapport oublié ?

Sur ce cas précis, la réponse est non aux trois : les données sont dans une base propriétaire chiffrée, et l’impression est une image.

L’environnement

Machine virtuelle Windows dédiée, avec le seul logiciel installé, une session déjà ouverte, aucun accès réseau sortant en dehors du serveur applicatif, et un dossier partagé pour les fichiers produits.

Aucun identifiant à saisir : la session est ouverte à l’avance par un humain.

Le cadrage

plaintext
Objectif : produire un fichier /partage/factures-[mois].csv contenant
une ligne par facture du mois, avec ces colonnes exactes :
numero;date;client;montant_ht;tva;montant_ttc;statut

Méthode :
1. Depuis l'écran d'accueil, ouvre le module Facturation.
2. Filtre sur le mois demandé.
3. Note le NOMBRE TOTAL de factures affiché. C'est le contrôle final.
4. Pour chaque page de résultats, lis les lignes et écris-les dans le
   fichier. Passe à la page suivante.
5. À la fin, vérifie que le nombre de lignes du fichier correspond au
   nombre noté à l'étape 3.

Décris l'objectif de chaque action, pas les coordonnées.

Points d'arrêt :
- si le nombre de lignes ne correspond pas au total, N'ESSAIE PAS de
  corriger : écris le fichier tel quel et signale l'écart
- si un écran inattendu apparaît deux fois de suite, arrête et décris
- si une saisie d'identifiant est demandée, arrête immédiatement

Nombre maximal d'étapes : 120.

Le contrôle qui valide tout

L’étape 3 est le cœur du dispositif. Sans elle, une pagination mal parcourue produit un fichier incomplet qui paraît normal — et vous construisez un tableau de bord sur des données tronquées.

Ce que ça a coûté

Deux jours de mise au point, essentiellement passés sur les écrans inattendus. Puis vingt minutes par mois, sans intervention. Comparé à deux heures de recopie, l’amortissement se fait en un trimestre.

Ce qui aurait été mieux

Un export CSV, s’il avait existé. C’est la conclusion honnête de la plupart de ces projets.

Ce qu’il faut retenir

Vérifier que c’est passé

3 questions. Rien n’est enregistré, rien n’est envoyé : c’est pour vous.

Question 1

Pourquoi le pilotage d’interface est-il coûteux ?

Voir la réponse

A — Chaque étape envoie une capture d’écran, facturée en jetons d’image, et une tâche demande des dizaines d’étapes

Une capture représente un volume de jetons important, et la boucle en produit une par action. Sur une tâche de trente étapes, le coût dépasse largement celui d’un appel textuel équivalent — d’où l’intérêt de réduire la résolution et le nombre d’étapes.

Question 2

Quel est le risque spécifique au pilotage d’interface ?

Voir la réponse

A — Ce qui est affiché à l’écran peut contenir des instructions destinées au modèle, qu’il pourrait suivre

C’est l’injection par le contenu, déjà vue pour le navigateur. Un texte affiché — dans un e-mail, une page, un document — peut s’adresser à l’agent. Le principe reste : ce qui est lu est une donnée, jamais un ordre.

Question 3

Avant de piloter une interface, que faut-il vérifier ?

Voir la réponse

A — Qu’il n’existe ni API, ni export, ni base accessible : le pilotage d’interface est le dernier recours

Une API est plus rapide, moins chère et infiniment plus fiable. Le pilotage d’interface se justifie uniquement quand il n’y a pas d’autre porte d’entrée : logiciel ancien, application interne sans export, service tiers sans intégration.

Le calcul avant de se lancer

Prenez une tâche répétitive que vous envisagez d’automatiser par pilotage d’interface. Comptez le nombre d’étapes réelles en la faisant vous-même, une fois, en notant chaque clic. Multipliez par le coût d’une capture. Comparez avec le temps humain que vous économisez. Puis cherchez sérieusement s’il existe une API, un export CSV ou un accès base — dans la moitié des cas, il en existe un.

Un indice, si vous bloquez

Un export CSV manuel une fois par semaine bat presque toujours une automatisation par pilotage d’interface, en coût comme en fiabilité.