Pixelmator Pro 1.8 sera automatisé grâce à AppleScript

Nicolas Furno |

Pixelmator Pro (43,99 €) pourra bientôt être automatisé, ce qui voudra dire que l’on pourra générer des documents ou traiter des photos de manière automatique et répétée. Cette fonction qui vient d’être annoncée par ses créateurs est actuellement en bêta et elle ne sera finalisée que dans la version 1.8 de l’app. Ce n’est pas pour tout de suite, Pixelmator Pro 1.7 n’est même pas encore sorti (lire : Pixelmator Pro saura gérer du texte le long d'un tracé).

Exemple de document Pixelmator Pro généré entièrement à partir d’un script.

La bêta publique permet toutefois d’avoir une assez bonne idée de ce qu’il faut attendre. En particulier, on sait que Pixelmator Pro utilisera AppleScript, le langage dédié à l’automatisation créé par Apple dans les années 1990 et largement abandonné par la firme aujourd’hui. Ce choix peut d’ailleurs surprendre, car cela fait des années qu’AppleScript n’évolue plus du tout et qu’il est sur une voie de garage.

Avec l’arrivée de l’app Raccourcis sur iOS, une nouvelle voie semble s’ouvrir pour l’automatisation et elle pourrait très bien arriver sur macOS. Cela expliquerait le manque d’engagement d’Apple en faveur d’AppleScript, mais cela ne veut pas dire que le langage de script à la syntaxe calquée sur l’anglais va disparaître de sitôt. Ses fondations sont intégrées à celles du système d’exploitation lui-même et il faudrait un travail de réécriture massif de macOS pour qu’une app comme Raccourcis puisse en faire autant.

Apple ne touche plus à AppleScript, mais il est probable que les scripts écrits dans ce langage restent fonctionnels pendant de longues années encore. C’est sans doute pour cela que Pixelmator Pro l’a choisi et on peut noter que son intégration est extrêmement complète. On peut créer de nouveaux calques, modifier le style de n’importe quel objet, appliquer les filtres intégrés à l’app et utiliser ses fonctions avancées basées sur l’intelligence artificielle.

Le code qui a servi à générer le document ci-dessus à gauche, le dictionnaire AppleScript de Pixelmator Pro à droite.

Avec cet ajout, Pixelmator Pro va répondre aux besoins des utilisateurs les plus avancés, comme les photographes qui veulent appliquer un même traitement à des milliers de photos, ou un illustrateur qui peut désormais générer des variations de d’une idée. Espérons pour l’éditeur que macOS 10.16 ne soit pas la version qui casse cette brique historique du système…

Pixelmator Pro 1.8 peut être testé gratuitement pendant la phase de bêta, mais il faut envoyer un mail à ses créateurs pour obtenir une copie. Vous trouverez les détails à la fin de l’article de présentation, ainsi que deux scripts qui vous donneront une idée du fonctionnement de l’automatisation.

L’app est sinon vendue 43,99 € exclusivement sur le Mac App Store, son interface est traduite en français et macOS 10.13 est nécessaire au minimum.

avatar Nesus | 

L’avantage d’Apple script c’est aussi de pouvoir facilement transmettre des scripts modifiables tout aussi facilement. C’est un bon choix. Automator étant clairement mort et le bac à sable réduisant fortement les autres possibilités. Et puis c’est un système robuste qui a déjà été largement éprouvé.

avatar Maxmad68 | 

@Nesus

Tout à fait. Malheureusement je doute qu’il résiste encore bien longtemps aux mises à jour de macOS... 🙁

avatar Nesus | 

@Maxmad68

Je vois mal comment cela pourrait être le contraire. Il fonctionne sur les mêmes fondations que le système et il a survécu au passage au 64bits et à swift. Peut-être un passage à ARM mais ça me paraîtrait très bizarre.

avatar switch (non vérifié) | 

Prions pour que Nesus ait raison et qu'AppleScript fasse toujours partie de maOS pendant encore longtemps. Mais connaissant Apple, je les vois bien plancher garder le concept de base (AppleEvent) et remplacer AppleScript par Swift…

avatar Nesy | 

Probablement. Il y a des choses à l'heure actuelle qui ne sont pas possibles avec AppleScript, mais possibles en Swift (ex: activer le mode Ne pas Déranger sans kill le centre de notifications).
De plus, AppleScript semble être malheureusement abandonné par Apple. Il y a plusieurs scripts qui fonctionnaient à l'époque et qui maintenant ne fonctionnent plus du tout. C'est désolant, car AppleScript est vraiment très pratique.

avatar raoolito | 

@Nesus

automator fusionnera peut-être avec raccourcis ? Ils ne sont pas si éloignés dans la logique de l'utilisateur. Mais je doute que ce premier survive encore longtemps c'est vrai.

avatar BeePotato | 

« Ce choix peut d’ailleurs surprendre, car cela fait des années qu’AppleScript n’évolue plus du tout et qu’il est sur une voie de garage.
Avec l’arrivée de l’app Raccourcis sur iOS, une nouvelle voie semble s’ouvrir pour l’automatisation et elle pourrait très bien arriver sur macOS. »

C’est Automator qui est directement menacé par une possible arrivée de Raccourcis, pas AppleScript. Les deux ne font pas vraiment la même chose.

AppleScript a survécu aux transitions 68k ⇢ PowerPC, Classic ⇢ MacOS X, Carbon ⇢ Cocoa, PowerPC ⇢ Intel, 32 bits ⇢ 64 bits… il va bien pouvoir rester encore un peu. :-)
Et ce qui est vraiment important, c’est plus le système de scripting lui-même (les AppleEvents) que le langage. Rappelons qu’il est déjà possible d’écrire ses scripts en JavaScript plutôt qu’en AppleScript.

Bref, le choix fait pour Pixelmator est tout à fait normal.

avatar Derw | 

@BeePotato

Du coup, pourquoi pas JavaScript ?

avatar BeePotato | 

@ Derw : « Du coup, pourquoi pas JavaScript ? »

Parce que quand on parle d’automatisation d’applications pour Mac, on pense à AppleScript. Parce que le public visé a potentiellement déjà une expérience d’écriture de script en AppleScript. Et aussi parce que ça permet de faire moins peur à ceux qui n’ont pas encore une telle expérience mais hésitent à se laisser tenter — on le voit avec ce passage dans l’annonce de l’éditeur : « And because AppleScript is based on English, you don’t even need much programming experience to get started with it! »

Mais ceux qui préfèrent JavaScript pourront écrire leurs scripts en JS. Simplement, ceux-là, ils sont déjà au courant et on ne ressent apparemment pas le besoin de les mentionner dans l’annonce (ni même dans l’article de MacG). :-)

avatar iPop | 

@BeePotato

And because AppleScript is based on English, you don’t even need much programming experience to get started with it! »

C’est léger comme argument, étant donné que tous les langages de programmation sont en anglais.

avatar Derw | 

@iPop

Oui, enfin, ils sont très éloignés du langage naturel, contrairement à l’AppleScript. Il y a une 20aine d’années je m’étais mis à l’AS grâce à ça. Je ne me serais pas mis au JS…

avatar BeePotato | 

@ iPop : « C’est léger comme argument, étant donné que tous les langages de programmation sont en anglais. »

Pas tous au même niveau.
AppleScript, très inspiré d’HyperTalk, se détache du lot sur cet aspect et est beaucoup plus proche du langage naturel que la plupart des autres langages de programmation.

avatar Derw | 

@BeePotato

Ok. Merci, mais cela veut dire qu’on peut scripter Pixelmator en JS ? Le dictionnaire est aussi compatible JS ?

avatar BeePotato | 

@ Derw : « mais cela veut dire qu’on peut scripter Pixelmator en JS ? Le dictionnaire est aussi compatible JS ? »

Oui. Là où on peut utiliser AppleScript, on peut utiliser JavaScript. Tu peux tester ça dans l’Éditeur de Script, qui se trouve dans le dossier Applications → Utilitaires.

Depuis ses débuts il y a près de trente ans, l’architecture de script de MacOS a été conçue pour être pilotables par plusieurs langages, et non juste par AppleScript, comme l’indique son nom (OSA, pour « Open Scripting Architecture »). Ça a été utilisé un peu dans les années 90 si je me rappelle bien. Et remis au goût du jour depuis Yosemite et l’ajout d’un connecteur OSA pour JavaScript.

Les possibilités de scriptage de MacOS sont bien plus avancées que ne le laisse penser l’absence totale de publicité qu’Apple leur fait.

avatar tupui | 

Rooo j’aurai dit super si ça avait été en python ! On aurait pu directement utiliser un model Keras ou autre... Pour moi AS c’est un peu comme coder en basic. Tu peux le faire... mais pourquoi tu te fait mal 😈

avatar elgato | 

Quand on implémante le scripting dans une application, on ne choit pas un langage de script particulier, on passe par la gestion des Apple Events et le "scripting bridge", AppleScript est le langage de script par défaut mais cette technique permet facilement d’offrir d’autre langage de scripting tel que python... et bien d’autre. parole de développeur d’une appli scripatble

CONNEXION UTILISATEUR