Le but de ce tutorial est de vous initier au maniement des scripts pour automatiser des traitements répétitifs qu’on doit appliquer à toutes les images d’un dossier. Pour vous faire la main, il vous faut un dossier cobaye « dossier_source » dans lequel vous allez placer 3 ou 4 fichiers (ou plus) composés chacun de plusieurs calques.
Tout cela est déjà abondamment traité sur le web, par exemple chez absolut-photo, diapovision, photoshop-school, et bien d'autres, mais nous allons refaire ça à notre manière.
Dans un premier temps, nous allons faire un script pour transformer tous ces fichiers en images JPEG destinées à être projetées sur vidéoprojecteur, donc devant s’inscrire en principe dans un rectangle 1024x768. Nous allons y arriver en plusieurs étapes. Suivez le guide !
Un script est une suite d’actions qu’on a enregistrées sur une image donnée et que l’on peut répéter ensuite à l’identique pour une autre image. On accède aux scripts par la palette des scripts. Dans l’exemple ci-contre, on voit trois lignes avec chacune un icône de dossier qui correspondent en fait à de véritables dossiers où on peut ranger autant de scripts que l’on veut ; la ligne « Scripts par défauts » vient avec l’installation de Photoshop, mais les deux autres lignes ont été créées par l’utilisateur. Toute la palette se commande avec les boutons du bas de la palette ; on a aussi un menu local (le bouton tout en haut à droite), mais on peut se passer de celui-ci. Pour se rappeler la fonction des différents boutons, immobilisez la souris dessus pour voir apparaître une brève explication.
Avant de créer votre premier script, il vous faut créer un dossier personnel, afin de ne pas perdre vos essais parmi la foule des autres scripts déjà installés. Cela se fait par le bouton cerclé en rouge ci-contre. On vous propose de l’appeler « Ensemble 1 » mais vous pouvez prendre le nom qui vous plaira ; vous voyez alors une nouvelle ligne apparaître sous ce nom dans la palette des scripts. Si vous avez des regrets tardifs, vous pouvez encore changer à tout moment après un double clic sur ce nom.
Avant de continuer, ouvrez une image avec plusieurs calques — si elle n’en a qu’un, ajoutez lui un nouveau calque vide.
Notre premier script va être excessivement modeste et ne contenir qu’une réduction de taille. Néammoins, nous allons nous heurter d’emblée à l’une des faiblesses de Photoshop, l’absence d’instructions conditionnelles dans les scripts. Comment faire pour que nos images s’inscrivent toutes dans le rectangle 1024x768 ? Si on pouvait distinguer entre les images horizontales et les verticales, on réduirait la largeur des premières à 1024 px et la hauteur des secondes à 768 px, mais on ne peut pas faire ce tri automatiquement dans un script. Alors ? [NOTA]
Nous allons maintenant faire notre premier script.
Vous pouvez maintenant en vérifier le bon fonctionnement en ouvrant
une autre image, puis en sélectionnant ce script (cliquez sur sa
ligne dans la palette des scripts), et enfin en lançant son
exécution avec le bouton en triangle.
Incidemment, si vous décochez une ligne (clic sur la première colonne de la palette), l’instruction correspondante n’est pas exécutée.
Vous pouvez aussi ouvrir la ligne « taille de l’image »
dans la palette : vous voyez les paramètres qui dont utilisés
dans l’opération (mais vous ne pouvez pas les modifier)
Rappelez-vous que vous devez avoir préparé un dossier cobaye. Son traitement automatique se passe avec le menu Fichier > Automatisation > Traitements par lots. Il s’ouvre une boîte de dialogue imposante, qui est organisée en 4 cadres, soulignés d’un contour de couleur dans l’image ci-contre.
Allez-y, ça doit marcher. Bien que notre script ne contienne aucune
instruction d’ouverture ou d’enregistrement, les images sont
bel et bien ouvertes, réduites et réenregistrées dans
le dossier de destination, sous les mêmes noms que les fichiers
d’origine et sous le même format. Evidemment, si nous ne
voulons que des fichiers jpeg en sortie, il va falloir compliquer un peu
les choses.
Il fait évidemment ajouter une instruction d’enregistrement dans le script. Pour cela,
Lors de l’exécution par lot sur tout un dossier, il va falloir
empêcher l’instruction de sauvegarde de reprendre le nom de
fichier qu’on a utilisé lors de l’enregistrement du
script. On obtient cela en cochant l’option « Priorité
sur les instructions Enregistrer sous » cochée ci-contre.
Essayez…
A l'usage, vous verrez que la mise au point d'un script demande
beaucoup de
patience. Parmi les premières difficultés que vous pourriez rencontrer :
— si vous avez oublié de cocher l'option Supprimer les avertissements
sur les profils colorimétriques, selon le réglage de vos préférences
couleur, le script risque de s'arrêter chaque
fois qu'il ouvrira une image avec un profil différent de votre profil par
défaut. Il faut cocher cette option.
— si votre script ouvre une image jpeg, qu'il y ajoute un ou plusieurs
calques et qu'il n'y ait pas d'instruction spécifique d'enregistrement,
le traitement par lots ne
saura pas quoi faire au moment d'enregistrer : il est prévu pour rester dans le format d'origine
(jpeg) mais il ne prendra pas l'initiative d'aplatir l'image au
préalable et
il s'arrêtera sur la boîte de dialogue d'enregistrement.
Pour éviter cela, il faudra
ajouter l'instruction d'aplatissement à la fin de votre script.
Une façon de résoudre la difficulté des verticales/horizontales dans notre script serait de placer un point d’arrêt sur l’instruction «Taille de l’image», en cochant la deuxième case dans la ligne correspondante du script (en vert ci-contre). Lors de l’exécution, le programme s’arrête sur la boîte de dialogue de l’instruction. Le script propose alors le choix de dimensions qu’on a retenu quand on a fait le script, mais si l’une des deux déborde du cadre 1024 x 768, on peut très bien la corriger à la main. Le script repart quand on clique OK dans le dialogue. On résoud donc ainsi la difficulté, mais en renonçant à un fonctionnement entièrement automatique ; à vous de choisir…
On peut même intercaler un message d’avertissement. Pour cela (sans qu’il soit nécessaire se remettre en enregistrement) on va chercher dans le menu local de la palette des scripts la ligne Insérer un point d’arrêt… et peut écrire un message explicatif sur ce qui va suivre ; il faut faudra cocher l’option « Autorisation de continuer » (sinon le script s’arrêterait lors de l’exécution).
En fait, dans ce problème précis de
rééchantillonage d’une image, on n’a pas besoin
de se casser la tête. Dans leur infinie sagesse, les concepteurs de
Photoshop ont remarqué qu’il s’agissait d’un
problème assez courant et ils ont créé une fonction
taillée sur mesure, au menu Fichier > Automatisation > Adapter
l’image. Là, on vous demande dans quel rectangle (en pixels)
il faut faire rentrer l’image : dans notre cas, indiquez 1064 en
largeur et 768 en hauteur.
Malheureusement (c'était trop beau),
cette fonction ne tient pas compte du paramétrage indiqué
dans le script, elle en reste au paramétrage demandé lors de
sa dernière utilisation. Le remède est simple : avant de
lancer le script, appelez cette fonction pour régler son
paramétrage.
On trouve de nombreux scripts prêts à l’emploi sur Internet sous le forme de fichiers « atn ,» (c.à.d. des fichiers avec l’extension atn). Pour les mettre en oeuvre, il faut passer par la rubrique Charger des scripts du menu local de la palette de scripts, qui ouvre une boîte de dialogue d’ouverture de fichier et où vous devez indiquer où se trouve le fichier « atn » à charger.
Inversement, il se peut que vous vouliez transmettre vos scripts à
quelqu’un d’autre, ou simplement les archiver pour les mettre
à l’abri ou pour les récupérer quand vous
passerez à une autre version de Photoshop. Pour cela, il faudra
sélectionner un ensemble de vos scripts (on ne peut agir que un
ensemble de scripts) et passer par la rubrique Enregistrer les scripts du
menu local, qui transformera cet ensemble en ficher « atn ».
Dans le dialogue d’exécution par lots, on a 3 possibilités pour la liste déroulante «Sélectionner» du cadre «Destination». Si on choisit «Enregistrer et fermer», le script va enregistrer les fichiers dans le répertoire même qui aura été utilisé lors de l’enregistrement du script. Si le script ne trouve pas ce répertoire (parce qu’il aura été détruit entre temps, ou bien déplacé dans l’arborescence du disque dur), il n’y aura pas de sauvegarde. Ce mode de fonctionnement est donc moins souple que le mode «Dossier», avec lequel on peut envoyer les fichiers n’importe où, mais il permet d’avoir plusieurs instructions d’enregistrement dans des répertoires différents dans le même script — par exemple pour créer des galeries pour le web, où on a besoin à la fois d’images et de vignettes. Dans la perspective de galeries pour le web, il vaudrait mieux remplacer l’enregistrement classique par le menu Enregistrer pour le web, afin d’obtenir des fichiers plus petits. Ce menu permettra lui aussi de multiplier les enregistrements vers des répertoires différents dans le même script, mais