Installation
OculiX est une application Java pure. Seul un JDK récent doit être installé séparément ; tout le reste — OpenCV, Tesseract, bibliothèques natives, données OCR — est embarqué dans le JAR.
Prérequis système
Section intitulée « Prérequis système »| Élément | Minimum | Recommandé |
|---|---|---|
| Système | Windows 10 · macOS 12 · Ubuntu 20.04 LTS | Dernière version stable |
| Java (JDK) | 11 | 17 ou 21 LTS |
| Architecture | x86-64 | x86-64 (Apple Silicon pris en charge via Rosetta, et nativement depuis la v3.0.2) |
| RAM | 1 Go libre | 4 Go libres |
| Affichage | Un écran | Multi-écran pris en charge |
OculiX est testé sur Eclipse Temurin et Azul Zulu — tous deux gratuits. Les autres builds OpenJDK certifiés (Liberica, Microsoft Build of OpenJDK, Amazon Corretto) fonctionnent également.
java -version# doit afficher "openjdk version "11" / "17" / "21""Option 1 — Lancer l’IDE (le cas le plus courant)
Section intitulée « Option 1 — Lancer l’IDE (le cas le plus courant) »-
Rendez-vous sur la page des releases et téléchargez la dernière version
oculixide-X.Y.Z.jar. -
Double-cliquez sur le fichier, ou lancez-le depuis un terminal :
Fenêtre de terminal java -jar oculixide-3.0.3.jar
L’IDE s’ouvre avec :
- l’Explorateur de workspace à gauche,
- l’Éditeur de script au centre,
- la Console en bas (log en direct + sortie d’exécution),
- le Modern Recorder accessible depuis la barre d’outils,
- le Welcome tab, affiché au premier lancement, avec quelques extraits de code pour démarrer.
Ouvrez un bundle .sikuli, cliquez sur Run (▶), et OculiX prend la main sur l’écran.
Lancer un script directement depuis la ligne de commande
Section intitulée « Lancer un script directement depuis la ligne de commande »# Ouvre l'IDE en chargeant un script précisjava -jar oculixide-3.0.3.jar -l mon-script.sikuli
# Charge ET exécute immédiatement (idéal pour cron ou tâches planifiées)java -jar oculixide-3.0.3.jar -l mon-script.sikuli -eMulti-plateforme — fonctionne sous Linux, macOS, Windows (y compris WSL).
Exécuter un script SANS ouvrir l’IDE (headless)
Section intitulée « Exécuter un script SANS ouvrir l’IDE (headless) »Pour les pipelines CI, les tâches planifiées, ou tout scénario où vous ne voulez pas que l’interface graphique s’ouvre :
# Exécute un bundle .sikuli en headless — l'IDE ne s'ouvre jamaisjava -jar oculixide-3.0.3.jar -r mon-script.sikuli
# Idem avec une archive « packed source » (.zip / .skl) produite via# File → Export packed source... dans l'IDEjava -jar oculixide-3.0.3.jar -r mon-script.zipL’option -r indique à OculiX d’exécuter le script puis de quitter, sans jamais
dessiner la fenêtre de l’éditeur. Idéal pour la distribution — vous envoyez le
.zip packagé à une machine qui a Java + le jar de l’IDE OculiX installés, et le
script tourne tout seul.
Option 2 — Utiliser OculiX comme bibliothèque Java
Section intitulée « Option 2 — Utiliser OculiX comme bibliothèque Java »OculiX est publié sur Maven Central sous io.github.oculix-org :
<dependency> <groupId>io.github.oculix-org</groupId> <artifactId>oculixapi</artifactId> <version>3.0.3</version></dependency>Gradle :
implementation("io.github.oculix-org:oculixapi:3.0.3")Si votre projet appelle aussi OpenCV directement, ajoutez le binaire Apertix sur lequel OculiX a été compilé :
<dependency> <groupId>io.github.julienmerconsulting.apertix</groupId> <artifactId>opencv</artifactId> <version>4.10.0-0</version></dependency>Apertix est un build JNA personnalisé d’OpenCV 4.10.0. Il évite les conflits classiques de System.loadLibrary quand OpenCV cohabite avec d’autres bibliothèques natives sous Windows.
Option 3 — Compiler depuis les sources
Section intitulée « Option 3 — Compiler depuis les sources »git clone https://github.com/oculix-org/Oculix.gitcd Oculixmvn clean install -DskipTestsLa compilation Maven produit :
| Module | Artefact |
|---|---|
API/ | oculixapi-<version>.jar |
IDE/ | oculixide-<version>.jar |
MCP/ | oculix-mcp-server-<version>.jar |
Reporter/ | oculix-reporter-<version>.jar |
Additional-Wrappers/ | modules wrapper de langage |
Les fat-jars sont générés par les profils Maven make-API et make-IDE. Les configurations de run IntelliJ IDEA sont versionnées dans .idea/runConfigurations/ — vous pouvez lancer l’IDE en mode dev d’un seul clic.
Notes par plateforme
Section intitulée « Notes par plateforme »- Toutes les bibliothèques natives (
WinUtil.dll, binaires OpenCV JNA) sont incluses dans le JAR. Aucun PATH à configurer, aucun runtime MSVC à installer, aucune dépendance externe. - Multi-écran : OculiX détecte chaque
Screen(n)via l’environnement graphique AWT standard. - High DPI : les scripts capturent et rejouent dans le système de coordonnées du système d’exploitation. Si vous enregistrez un script à 100 % et le rejouez à 150 %, le score de similarité peut baisser — utilisez
Pattern("foo.png").similar(0.7f)pour élargir la tolérance.
- Apple Silicon (M1/M2/M3) pris en charge nativement depuis OculiX 3.0.2.
- Au premier lancement, macOS réclame les permissions Accessibilité et Enregistrement d’écran pour le runtime Java. Accordez les deux dans Réglages système → Confidentialité et sécurité — sans elles, OculiX ne peut ni bouger la souris ni capturer l’écran.
- Le module natif
MacUtil.mgère les ponts AppleScript et l’inspection de fenêtres.
- Testé sur Ubuntu 20.04 / 22.04 / 24.04, Debian 12, Fedora 40 et Arch.
- X11 intégralement pris en charge. Wayland fonctionne via XWayland — un support Wayland direct est prévu sur la roadmap.
- Serveurs headless (runners CI) : utilisez le mode server runner. Voir la référence CLI.
LinuxSupport.javagère l’énumération des fenêtres, le focus et les particularités du presse-papier Linux.
En option — Serveur HTTP PaddleOCR
Section intitulée « En option — Serveur HTTP PaddleOCR »Tesseract est embarqué d’office et suffit pour les écritures latines. Pour de l’OCR haute précision en écritures CJK (chinois, japonais, coréen) ou sur des mises en page complexes, installez le serveur optionnel paddleocrserver-powered :
pip install paddleocrserver-poweredpaddleocrserver# Écoute sur http://localhost:5000Le PaddleOCREngine d’OculiX détecte automatiquement un serveur actif sur localhost:5000. Aucune configuration nécessaire.
Vérifier l’installation
Section intitulée « Vérifier l’installation »Le test rapide depuis l’IDE :
from sikuli import *popup("OculiX fonctionne. Java : " + getJavaVersion())Depuis un projet Java :
import org.sikuli.script.Screen;
public class Smoke { public static void main(String[] args) { Screen s = new Screen(); System.out.println("Écran principal : " + s.getW() + "x" + s.getH()); }}Place à votre premier script.