# Automator

Automator est un logiciel propriétaire d'automatisation de tâches conçu par Apple pour macOS. Il permet l'édition de scripts basiques, appelés processus, par glisser-déposer d’actions depuis la liste des actions, nommé bibliothèque, vers la représentation du script. En fait, un processus se résume à une suite d’actions, la sortie d'une action devenant l'entrée de la suivante. Le processus ainsi créé peut être enregistré en tant qu'application pour une utilisation fréquente de la part de l'utilisateur. L'avantage d'un tel enregistrement est que l'application peut s'exécuter sans le lancement du logiciel ; ainsi macOS se charge de faire tourner le script sans lancer Automator.
Cette application permet également de créer des services intégrés au sein de la barre des menus d'applications choisies par l'utilisateur, ou des actions de dossier qui facilitent la gestion de certains dossiers (comme ceux qui sont rendus publics, accessibles à tous).

## Les différents modèles de processus

Au lancement d'Automator (dernière version c'est-à-dire celle supportée par macOS 13.1), il faut choisir un modèle de processus. Ce modèle va déterminer en quelque sorte la manière dont va se lancer le script : en y accédant par un service, en le lançant en tant qu'application ou en étant déclenché par un événement iCal par exemple.

### Processus

Le processus est le script qui peut être lancé depuis Automator uniquement. Cela implique que pour le lancer, il faut qu'Automator soit ouvert. Il accepte tout type de fichier en entrée et peut également s'exécuter sans entrée (par exemple, la première action peut être une « demande de confirmation » ce qui a pour but d'afficher une fenêtre demandant à l'utilisateur la poursuite du script).
Le processus est enregistré dans le format workflow.

### Applications

À l'inverse des processus, l'application est un script autonome c'est-à-dire qu'il n'a pas besoin d'être lancé depuis Automator. Il peut se lancer sans entrée également (il suffit de double-cliquer dessus) et peut aussi accepter tout type de fichier. Pour définir les fichiers en entrée, il suffit d'opérer un simple glisser-déposer des fichiers sur l'application.

### Service

Automator est intégré à l'environnement macOS. En effet, en choisissant l'option « Service », le script créé sera disponible dans l'environnement macOS. Le script « Service » accepte donc du texte, des fichiers de l'application actuelle ou des fichiers du Finder. Ces scripts apparaissent dans le menu « Service » ou dans le menu contextuel du clic droit.

### Actions de dossier

L'action de dossier est un script qui ne peut marcher qu'avec des fichiers en entrée. Cette action de dossier est associée un dossier en particulier dans le Finder. Les éléments ajoutés à ce dossier entraîneront l'exécution du processus et serviront d'entrée à celui-ci.

### Alarme iCal

L'alarme iCal est un script qui est lancé depuis un événement d'iCal. Il n'accepte aucune entrée et se lance automatiquement à une date et une heure précise.

### Module d'impression

Le module d'impression est un script que l'on peut retrouver dans la zone de dialogue d'impression. Il a comme entrée le fichier PDF du document concerné.

### Module de transfert

Comme le module d'impression, c'est un script disponible dans le logiciel « Transfert d'image » qui ne reçoit comme entrée uniquement des fichiers images.

## Principe de base

La fenêtre d'Automator est composée principalement de 2 parties : une partie à gauche listant tous les éléments nécessaires à la création du script et la partie de droite servant à décrire le script.
Le script est composé d'actions mises en cascade dans cette fameuse partie de droite. Habituellement, la création d'un tel mini-programme nécessite une bonne expérience en informatique et la connaissance de la syntaxe des différents éléments. Avec Automator, il suffit de piocher les actions dans la bibliothèque située à gauche et d'opérer un glisser-déposer vers la partie de droite pour la déposer au bon endroit. Des variables sont également disponibles et peuvent être utilisées dans les actions. Une action peut avoir une entrée ou non. L'entrée peut être soit la sortie de l'action précédente, soit une des variables mises en jeu.
Contrairement à ce que l'on peut penser, l'utilisation est relativement simple. Les actions sont décrites dans la langue de l'ordinateur et faciles à trouver dans la bibliothèque (classées par catégorie ou application). Il existe également une fonctionnalité très intéressante : l'enregistrement des actions. En effet, on peut lancer un enregistrement puis effectuer un certain nombre de taches qui définira une action que l'on peut inclure à notre processus. Cela simplifie grandement la construction d'un script (cf exemples ci-après). Pour les adeptes des syntaxes, on peut inclure des commandes AppleScript dans le processus ou des commandes UNIX (comme depuis un terminal). À noter aussi qu'il est possible d'interagir avec l'utilisateur (demande de confirmation, attente d'une action de l'utilisateur, etc.). Une fois le processus terminé, il peut être testé pas à pas pour en vérifier le fonctionnement.

## Exemples

Quelques exemples d'actions que l'on peut réaliser avec ce logiciel :
* si l'on souhaite passer 500 photos par exemple en noir et blanc, plutôt que de le faire à la main, il suffit de créer simplement une application avec Automator. Elle sera construite de manière à recevoir des images en entrée et à les passer en noir et blanc. Une fois l'application créée (sous forme d'un fichier), il suffira de faire un glisser-déposer des 500 photos sur l'application qui transformera toutes les photos en noir et blanc ;
* si l'on souhaite renommer en masse 100 fichiers (par exemple par la date des fichiers ou de manière séquentielle c'est-à-dire fichier001, fichier002, etc.), il existe une action dans Automator qui permet la réalisation de cette opération. On peut alors judicieusement inclure ce script dans le menu contextuel du clic droit pour un accès rapide et simple ;
* on peut se trouver dans un cas où l'on est amené à régulièrement changer des paramètres dans un logiciel dans un sens ou dans un autre (par changement de lieu) comme la configuration de port de messagerie ou de serveur sortant si la connexion internet comporte des filtres. Ces changements sont répétitifs et Automator sert entre autres à automatiser les actions répétitives. Ainsi on peut enregistrer la succession d'actions une fois dans Automator puis en créer une application et la lancer en cas de besoin ;
* de nombreux tutoriels proposent également l'exemple de la création d'un PDF à partir de plusieurs images, et à l'inverse, extraire les images d'un PDF.