Aller au contenu

Contribuer

Vous avez remarqué quelque chose. C’est déjà une contribution.

OculiX est la continuité active de SikuliX1, archivé en mars 2026 après vingt ans de travail communautaire. Une bonne partie de cette communauté fait encore tourner des scripts en production — et beaucoup découvrent OculiX une stack trace à la fois. Si vous êtes dans ce cas : bienvenue. Cette page existe pour que vous sachiez ce dont nous avons besoin, ce que nous offrons en contrepartie, et comment passer le moins de temps possible à vous frayer un chemin dans l’étiquette GitHub.

La version longue se trouve dans CONTRIBUTING.md — cette page résume les parties que les contributeurs utilisent réellement.

Contribuer ne se résume pas à du code. Classées grossièrement de prend cinq minutes à prend un week-end :

Vous pouvez…TempsCe que ça débloque
Ouvrir un rapport de bug avec stack trace + version OS/Java5 minUn vrai correctif — souvent dans la journée
Partager un script qui casse dans OculiX mais marchait dans SikuliX10 minReproducteur de régression direct, priorité maximale
Tester une release candidate sous Linux / macOS / Apple Silicon15 minNous n’avons que les machines de l’équipe de mainteneurs ; les RCs ont besoin de regards supplémentaires
Corriger une faute ou une phrase peu claire dans la doc5 minChaque correction est appréciée
Faire le tri d’une vieille issue (repro, suggérer des labels, demander l’info manquante)30 minÉnorme impact sur le rapport signal/bruit
Soumettre une PR pour une issue taguée good first issue1-3 hDu vrai code part dans la release suivante
Traduire une locale (chaînes UI, docs)qq heuresOculiX dans une nouvelle langue
Porter une fonctionnalité de SikuliX1 qui n’a pas été reprise dans OculiXqq heuresContinuité directe de la lignée
Construire un wrapper de langage (Python 3, JS, .NET — voir issues #177/#178/#179)semaine+Ouvre OculiX à un nouvel écosystème

Un bon rapport de bug a trois choses :

  1. Ce que vous avez fait — un script, même partiel, qui reproduit le bug
  2. Ce que vous attendiez vs ce qui s’est passé
  3. Votre environnement : OS + version, version Java, version OculiX

L’IDE a un Aide → Copier infos de diagnostic qui remplit l’environnement pour vous.

Ouvrez les issues sur oculix-org/Oculix/issues. Taggez-les avec bug et, si possible, le composant concerné (ide, vnc, android, ocr, mcp, recorder, …).

  1. Forkez le dépôt.
  2. Créez une branche depuis master avec un nom descriptif (fix-vnc-clipboard-utf8, feat-ide-dark-theme).
  3. Gardez la PR focalisée — un changement logique par PR. Plus facile à reviewer, plus rapide à merger.
  4. Lancez mvn clean install -DskipTests localement avant de pusher — au minimum, le build doit passer.
  5. Si le changement touche au comportement utilisateur, ajoutez une ligne sous “Unreleased” dans CHANGELOG.md.
  6. Ouvrez la PR. La CI tourne automatiquement ; le mainteneur effectue la review sous quelques jours.

Pour les gros changements (nouveaux modules, breaking changes, refontes architecturales), ouvrez une issue d’abord pour discuter du design.

Chaque version stable est précédée de 3 à 5 RCs. Le pipeline de release leur appose le tag vX.Y.Z-rcN et les publie sur GitHub Releases (pas sur Maven Central tant que ce n’est pas stable). Pour aider à tester :

  1. Téléchargez le jar IDE de la RC sur la page Releases.
  2. Lancez vos scripts habituels.
  3. Ouvrez une issue sur tout ce qui a cassé — ou commentez la release RC pour dire “tout bon sur macOS 14”.

Tester les RCs est la contribution avec le plus d’impact après les rapports de bugs.

OculiX livre les chaînes UI et la doc en anglais par défaut. Les autres locales actuellement vivantes ou en cours :

  • zh_CN (chinois simplifié) — maintenue par @peixuana
  • fr (français) — UI partielle, docs en cours

Si vous voulez maintenir une locale (espagnol, allemand, japonais, …), ouvrez une issue taguée i18n et on met en place la structure de fichiers.

Fenêtre de terminal
git clone https://github.com/oculix-org/Oculix.git
cd Oculix
mvn clean install -DskipTests

Les configurations de lancement IntelliJ sont versionnées sous .idea/runConfigurations/ — ouvrez le projet dans IntelliJ et la config “Run IDE” est à un clic.

OculiX a un mainteneur principal (@julienmerconsulting) entouré d’un nombre croissant de contributeurs. Les décisions se prennent sur GitHub, en public, sur les issues et les PRs. Il n’y a pas de Slack, pas de Discord (pour l’instant), pas de canal privé.

Le mainteneur se réserve le droit de :

  • Fermer les issues hors-périmètre ou doublons
  • Refuser les PRs qui ne s’alignent pas sur la direction du projet
  • Fixer la roadmap

En contrepartie, le mainteneur s’engage à :

  • Accuser réception de chaque rapport de bug en quelques jours
  • Reviewer chaque PR sous une semaine
  • Sortir une nouvelle RC toutes les 2 à 4 semaines tant que des features sont en cours de développement

Pour tout ce qui est sensible — bypass d’auth dans le serveur MCP, RCE via scripts forgés, etc. — n’ouvrez pas d’issue publique. Envoyez un email au mainteneur (lien de contact sur le profil GitHub) ou utilisez le signalement privé de vulnérabilité de GitHub.

Voir aussi SECURITY.md.

Soyez sympa. Ne soyez pas un connard. Les rapports de bugs portent sur des bugs, pas sur des personnes. On construit ça ensemble — et la plupart d’entre nous le font sur leur temps libre.

OculiX existe parce que les contributeurs continuent à se pointer. Si vous êtes arrivé jusqu’ici, vous faites déjà partie du projet. 🦎