Automatisation : un site pour les scripts The Omni Group

Nicolas Furno |

Faute de solution native proposée par Apple pour l’automatisation sur iOS, The Omni Group a pris les devants. L’éditeur a imaginé son propre système basé sur du JavaScript, un langage qui est intégré sur iOS comme sur macOS, qui permet de réaliser toutes les opérations nécessaires dans ses applications et qui sera autorisé sur l’App Store. Ce système sera déployé progressivement au cours de l’année dans leurs apps.

Exemple de script dans OmniGraffle sur iOS. Cliquer pour agrandir

Pour préparer l’arrivée de cette automatisation multiplateforme, Sal Soghoian a ouvert un site dédié. L’ancien responsable de l’automatisation chez Apple a travaillé avec The Omni Group sur ce système et il proposera sur ce site la documentation nécessaire pour l’exploiter. On y trouvera à la fois le dictionnaire du langage, mais aussi des solutions pour intégrer le code JavaScript dans un workflow plus complet.

Pour le moment, les ressources proposées sont encore très limitées, mais vous trouverez des explications sur le concept de base et de la documentation pour OmniGraffle, la première app de l’éditeur à intégrer l’automatisation JS. Au programme également, une console en ligne qui sera surtout utile pour iOS, puisqu’elle permet de générer des URL qui peuvent être exploitées sur un site ou bien avec Workflow.

Toutes ces ressources sont totalement gratuites, mais proposées uniquement en anglais.

avatar ovea | 

Excellent … heuuu, il on prévu sur iOS les chercher/remplacer avec les balises du langage dans les RegExp \s\a\n\s\ \l\e\s\ \\\ \?

À moins qu'on puisse installer OCaml sur Javascript
(À SUIVRE)

avatar C1rc3@0rc | 

Pourquoi aller chercher OCaml, il y a deja des RegExp dans Javascript: https://www.w3schools.com/jsref/jsref_obj_regexp.asp

avatar popey.marin | 

C'est intéressant comme initiative !
Apple est plutôt contre-productive en ce moment en ce qui concerne l'automatisation, qui est pourtant une bénédiction lorsqu'on souhaite gagner en efficacité sur un flux de travail non trivial.
A mon travail, on a de plus en plus de mal, au fur et à mesure des nouvelles versions de Mac OS, a automatiser les installations, les maintenances, ou simplement des actions sur les machines. Certaines opérations deviennent tout simplement impossibles.

Je dois dire que je préfèrerai écrire des scripts en Swift plutôt que en Javascript si j'avais le choix. Mais c'est sans doute un peu tôt pour ça, les librairies swift n'étant pas encore intégrées au système.

avatar C1rc3@0rc | 

@popey.marin

Bon, a part piloter l'interface graphique, sur MacOS on a toute la puissance d'unix pour faire du scripting, que ce soit avec Python, Ruby, Bash, zsh, ou meme Perl installés d'office. Et pour faire de l'administration IT, c'est plutot sur ces langages/outils que ça se passe que sur AppleScript ou Automator qui ne sont pas les plus adaptés...

En fait au lieu de s'enquiquiner a attendre le bon vouloir d'Apple et une eventuelle coherence un jour sur l’automatisation, les developpeurs ont plus interet a rendre leurs applications utilisables par le Terminal, meme si c'est sous la forme de services, ou integrer un interpreteur Python ou Ruby dans leurs applications: y a tous ce qui faut en opensource et des exemples celebres (Gimp, Blender, par exemple)

avatar popey.marin | 

@C1rc3@0rc
Je suis 100% d'accord avec toi :-).
Il y a un écosystème complet autour de ces technos que tu évoque, qui permet d'obtenir des résultats absolument remarquables.

Mon problème vient surtout du fait qu'apple ne fait pas beaucoup d'efforts ces derniers temps pour supporter ça. La documentation est très légère, voire inexistante sur bien des outils, et certains opérations demandent des heures de travail pour faire ce qu'on pourrait espérer faire en quelques minutes, quand ça n'est pas juste impossible.

Le dernier cas que j'ai eu concernait l'ajout de certificats dans le trousseau d'accès, en ligne de commande, et l'autorisation d'une application à utiliser ce certificat.
Ca semble simple, mais pour éviter d'avoir un échec avec un message du genre "pas d'accès à l'interface graphique", j'ai du avancer à taton pour trouver la bonne combinaison ET le bon ordre des options à utiliser. Ca a marché au final sur ce cas là, mais quelle perte de temps !

Bref, j'espère qu'apple se reprendra en main sur ce sujet :-).

avatar kornichon | 

Je dis bien pour l'initiative et pour combler l'apathie d'Apple dans ce domaine. Je dis berk pour le choix de JavaScript, langage de m* et plaie du web.

CONNEXION UTILISATEUR