Aller au contenu

Visite de l'IDE

L’IDE OculiX est la vitrine du projet : c’est là que vous enregistrez, éditez et exécutez vos scripts. Cette page passe en revue chaque panneau et son rôle.

Fenêtre de terminal
java -jar oculixide-3.0.3.jar

Ou double-cliquez sur le JAR. Au lancement, un écran de démarrage apparaît brièvement :

Écran de démarrage de l'IDE OculiX 3.0.3 avec la mascotte gecko — démarrage sur Java 25

Puis la fenêtre principale s’ouvre sur le Welcome tab.

L'IDE OculiX complet au premier lancement — sidebar gauche avec workspace et groupes Script/Tools/Status/Last run/Help, Welcome tab au centre avec la citation SikuliX et le panneau 'What OculiX adds', console Message en bas, sélecteur de thème

Cinq zones distinctes :

Sidebar gauche

Infos projet, menus Script / Tools, panneau Statut en direct, Dernière exécution, sélecteur de thème.

Workspace

Onglets des scripts ouverts, avec le chemin du fichier dans la barre de titre.

Éditeur

Zone d’édition de script proprement dite, avec les miniatures d’images intégrées au code.

Message

La console du bas — logs debug / info / erreur.

Status bar

Version OculiX, version Java, état du moteur OCR, position du curseur.

Au premier lancement (ou lorsque vous fermez tous les onglets d’éditeur), OculiX ouvre le Welcome tab :

  • Un slogan court emprunté à la description originale de SikuliX par RaiMan — « automates anything you see on the screen »
  • Un panneau What OculiX adds, qui liste les apports distinctifs du projet (écrans VNC distants, Modern Recorder, OCR et OpenCV embarqués)
  • Les boutons New script (Ctrl+N), Open script (Ctrl+O), New workspace (Ctrl+Shift+N) et Open workspace (Ctrl+Shift+O)
  • Un pied de page avec v3.0.3, MIT, fork of SikuliX1, et des liens rapides vers Docs, Release notes et le signalement de problème de traduction

Le Welcome tab gère correctement les contextes manquants : pas de NPE sur un workspace vide, pas de problème de ratio d’image.

Un workspace est un dossier qui contient vos scripts. OculiX retient le dernier workspace ouvert et le rouvre au lancement suivant.

  • File → New Workspace… crée un workspace vide.
  • File → Open Workspace… fait pointer OculiX vers un dossier existant de bundles .sikuli.
  • File → Rename Workspace… renomme le workspace sur le disque et met à jour les cartes affichées.
  • Le panneau workspace se rafraîchit automatiquement lorsque vous créez, renommez ou supprimez un script directement depuis le système de fichiers.

Chaque script apparaît sous forme de carte, avec son nom, son nombre d’images et son statut (idle, running, error). Un clic suffit à l’ouvrir.

L'IDE OculiX affichant ExampleScript.py avec deux lignes — img = (miniature d'un cercle rouge) et match = click(img). L'image est intégrée directement dans le code.

C’est l’une des fonctionnalités emblématiques d’OculiX : les images capturées sont intégrées directement dans le code.

img = (miniature rendue ici)
match = click(img)

Cliquez sur une miniature pour la re-capturer ou la remplacer. Le fichier image se trouve dans le bundle .sikuli, à côté du script — vous pouvez le renommer, le versionner ou le partager comme n’importe quelle ressource.

L’éditeur prend en charge :

  • la coloration syntaxique adaptée au thème (sombre et clair),
  • des miniatures intégrées pour chaque référence d’image capturée,
  • Cmd/Ctrl + R pour exécuter,
  • Cmd/Ctrl + S pour sauvegarder,
  • Shift + Alt + C pour tuer un script en cours — même s’il est bloqué dans une boucle while True.

La sidebar gauche est plus qu’un menu : elle affiche en direct des informations sur l’état courant.

Le bloc projet affiche le nom du script courant, son chemin (tronqué pour rester lisible), et quelques statistiques rapides — nombre d’images et statut d’exécution (idle / running / error).

Trois menus déroulants simples :

  • Script — File, Edit, Run
  • Tools — Modern Recorder, OCR settings, VNC connect, ADB connect
  • Help — Welcome tab, About, Open docs

État des moteurs en temps réel :

  • PaddleOCRoffline / online. Point vert quand le serveur localhost:5000 répond.
  • Tesseractbuilt-in. Toujours vert, puisqu’il est dans le JAR.
  • Java — la version de la JVM qui exécute OculiX.

Heure, durée et code de sortie de la dernière exécution. Affiche — Not run yet avant la première exécution.

Un sélecteur compact en bas : DARK / LIGHT. Le choix est conservé entre les lancements.

OculiX propose deux façons de transformer vos actions à l’écran en script, et elles fonctionnent très différemment — à ne pas confondre :

🔴 Record (live)🟢 Modern Recorder (assisté)
Bouton Record de la barre d’outils, ou Tools → 🔴 RecordTools → 🟢 Modern Recorder
FonctionnementCapture vos vrais clics, glissers et molette au fur et à mesureVous ajoutez les actions une par une depuis un panneau
Idéal pourCapturer rapidement un enchaînement que vous savez déjà faire à la mainActions image / texte-OCR / VNC précises, éditées au fil de l’eau
Pour terminerAppuyez sur le raccourci Stop globalCliquez sur Insert & Close

Cette section décrit le Modern Recorder ; le bouton Record live a sa propre section, Live Recorder, plus bas.

Le Modern Recorder est le moyen le plus simple de créer un script lorsque vous n’en avez jamais écrit. Ouvrez-le depuis Tools → 🟢 Modern Recorder.

La modale Modern Recorder d'OculiX avec des sections pour Application (Launch App / Close App), Image actions (Click, DblClick, RClick, Drag&Drop, Swipe, Wheel, Wait), Text actions (T.Click, T.Wait, T.Exists), Keyboard (Type, Key Combo, Pause), une preview Generated Code, et les boutons Insert & Close / Clear.

Le Recorder s’organise en cinq sections :

SectionBoutons
ApplicationLaunch App · Close App · Scope actions to this app
Image actionsClick · DblClick · RClick · Drag&Drop · Swipe · Wheel · Wait
Text actionsT.Click · T.Wait · T.Exists (pilotés par OCR)
KeyboardType · Key Combo · Pause
Generated codeAperçu en direct des lignes Python en cours de construction

Choisissez un bouton, capturez ou sélectionnez l’image (pour les actions image) ou tapez le texte (pour les actions texte) : la ligne correspondante s’ajoute dans la zone Generated code. Quand vous cliquez sur Insert & Close, les images sont copiées dans le bundle .sikuli actif et les lignes générées sont insérées à l’emplacement du curseur dans l’éditeur.

Le Recorder maintient également une bibliothèque d’images pour vous permettre de réutiliser la même capture dans plusieurs actions, sans avoir à la re-capturer à chaque fois.

Le Modern Recorder est un constructeur d’actions assisté — contrairement au bouton Record live (Live Recorder ci-dessous), il n’enregistre jamais vos clics en arrière-plan. Vous ajoutez chaque action vous-même et voyez le script grandir, ligne par ligne, dans Generated code. Une session typique :

  1. (Optionnel) ApplicationLaunch App, Close App et Scope actions to this app sont des aides pour lancer ou cibler une fenêtre précise. C’est optionnel : si vous voulez juste ajouter une action, passez directement à l’étape 2.
  2. Choisissez une action — par ex. Click. Pour une action image, OculiX demande d’où vient l’image : Capture, Browse…, ou (dès que vous avez capturé au moins une fois) la bibliothèque.
  3. Capture — quand vous choisissez Capture, le Recorder et l’IDE entier se cachent pour ne pas gêner, et l’écran bascule sur l’overlay de capture. Tracez un rectangle autour de la cible sur votre écran réel (ou appuyez sur Esc pour annuler). Les fenêtres reviennent aussitôt, vous nommez l’image, et la ligne — par ex. click("cible.png") — apparaît dans Generated code.

Il n’y a pas de bouton Stop — rien n’enregistre en arrière-plan, il n’y a donc rien à arrêter. Vous avez terminé quand la zone Generated code contient les lignes voulues :

  • Insert & Close — copie les images dans le bundle .sikuli actif et insère les lignes générées à l’emplacement du curseur.
  • Clear — efface les lignes générées pour repartir de zéro.

Le recorder classique de SikuliX est toujours là — le bouton rouge Record (🔴) de la barre d’outils, également sous Tools → 🔴 Record. Contrairement au Modern Recorder, il capture vos vraies actions au fur et à mesure et les transforme automatiquement en étapes basées image :

  1. Cliquez sur Record. L’IDE se cache pour ne pas gêner.
  2. Effectuez vos actions à l’écran. Les clics, double-clics, clics droits, glisser-déposer et la molette sont enregistrés. Pour chacun, OculiX prend une capture d’écran et utilise OpenCV pour recadrer automatiquement l’image cible autour du curseur — vous ne tracez jamais de rectangle vous-même. Il augmente aussi la similarité exigée si la cible apparaît plusieurs fois, et ajoute un wait() quand la cible n’était pas à l’écran avant que vous vous en approchiez. (La saisie clavier n’est pas capturée par le live recorder — ajoutez la frappe via le Modern Recorder ou à la main.)
  3. Appuyez sur le raccourci Stop global pour terminer. L’IDE revient et les événements sont compilés en lignes de script — click(...), doubleClick(...), rightClick(...), dragDrop(...), wheel(...) — puis insérées dans votre éditeur.

Deux choses à savoir avant de commencer :

  • L’IDE disparaît exprès — comme à l’étape Capture du Modern Recorder, il s’écarte de ce que vous visez.
  • Aucun bouton Stop n’est affiché à l’écran pendant l’enregistrement. La seule façon de terminer la session est le raccourci Stop global. Le tooltip du bouton Record indique la combinaison exacte (Shift + Alt + C par défaut) — notez-la avant de cliquer sur Record, car une fois l’IDE caché, le rappel disparaît.

Le panneau du bas est un log unifié :

  • info pour la sortie normale (les print arrivent ici),
  • debug pour les détails internes d’OculiX quand Settings.DebugLogs = True,
  • error pour les stack traces et les FindFailed.

Les logs de démarrage indiquent les flags CLI parsés, la version JVM et la version Jython. Un clic droit propose Clear / Copy / Save log….

La console s’adapte au thème : les couleurs suivent celui de l’IDE.

ÉlémentRaccourciAction
New ScriptCtrl/Cmd + NCrée un nouveau bundle .sikuli
Open Script…Ctrl/Cmd + OOuvre un bundle existant
New Workspace…Ctrl/Cmd + Shift + NCrée un workspace vide
Open Workspace…Ctrl/Cmd + Shift + OOuvre un workspace existant
SaveCtrl/Cmd + SSauvegarde le script courant
Save As…Sauvegarde sous un nouveau nom
ExitCtrl/Cmd + QFerme l’IDE (la session est sauvegardée)
  • Run (▶) — exécute le script courant
  • Run Slow Motion — met brièvement chaque match en évidence avant le clic
  • Stop — arrête le script
  • Kill switch (Shift + Alt + C) — arrêt d’urgence, disponible partout dans l’application

Si l’IDE crashe en cours d’édition, votre travail n’est pas perdu : OculiX écrit une sauvegarde automatique dans ~/.OculiX/recovery/ toutes les quelques secondes, et la restaure au prochain lancement via le Welcome tab.