SCRIPTS ET TRAITEMENTS PAR LOTS
Transcription
SCRIPTS ET TRAITEMENTS PAR LOTS
SCRIPTS ET TRAITEMENTS PAR LOTS 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ée de plusieurs calques. Tout cela est abondamment traité sur le web!; à titre d’exemple, voici trois références parmi bien d’autres!: http://www.absolut-photo.com/tutoriels/script_photoshop.php http://www.diapovision.com/formation/pshop/batch.htm http://www.photoshop-school.org/tutoriaux/traitement-par-lots 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!! La palette des scripts et notre premier script 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. 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!? ! Si vous voulez faire les choses très proprement, il vous faudrait faire le tri vous-même, en constituant deux sous-dossiers différents pour les horizontales et les verticales, et en leur appliquant deux scripts différents. ! Pour aller plus vite, nous nous contenterons d’un seul script, demandant de réduire la hauteur à 768 px. Si toutes vos images ont le format 4/3 (ou moins), vos horizontales prendront la bonne valeur 1024 px (ou moins). Par contre, si vous avez des images plus allongées, les horizontales déborderont des 1024 px et ce sera au logiciel de projection de faire la réduction — à vous de choisir entre la commodité du travail et la qualité finale à la projection… ! Nous verrons toutefois un autre moyen de s’en sortir à la fin du tutorial, en plaçant un point d’arrêt dans le script. Nous allons maintenant faire notre premier script. (i) Dans la palette des scripts, cliquez sur le bouton «!nouveau script!». Le programme vous demande quel nom pour ce script et dans quel ensemble vous allez le mettre, puis passe en mode d’enregistrement (le deuxième bouton de la palette passe en rouge). A partir de ce moment, tout ce que vous allez faire sera enregistré dans le script. (ii) Nous nous conterons de deux instructions!: d’abord un aplatissement de l’image par la méthode qui vous plaira (menu Calque > Aplatir l’image, ou bien menu local de la palette des calques, ou bien encore raccourci clavier CTRL+ALT+E) (iii) puis un changement de taille de l’image avec rééchantillonage et passage de la hauteur à 768!px. Ces deux opérations se sont réflétées dans la palette des scripts par l’apparition de deux lignes rappelant les opérations effectuées, comme on peut le voir ci-contre (iv) Arrêtez l’enregistrement du script en cliquant sur le bouton le plus à gauche (en bleu ci-contre). Le deuxième bouton passe alors du rouge au gris. 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) Application automatique à tout un dossier 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. 1 – Cadre Exécuter!: on doit y faire apparaître le script à exécuter 2 — Cadre Source!: la première liste déroulante doit bien être sur «!Dossier!». Cliquez sur le bouton «!Sélectionner!» pour définir le dossier que vous allez traiter. Ne vous occupez pas des autres options!; tout doit être décoché dans ce premier exercice. 3 — Cadre Destination!: idem, la première liste déroulante doit bien être sur «!Dossier!» et cliquez sur le bouton «!Sélectionner!» pour définir le dossier que vous allez traiter!; au besoin, vous pouvez créer un nouveau dossier. Ne prenez pas le même dossier, toutes vos images seraient écrasées — comme nous alons devoir faire d’autres essais, autant prendre nos précautions. Les 6 listes déroulantes tout en bas du cadre permettent éventuellement de renommer les fichiers traités au moment de leur sauvegardes. 4 — Cadre Erreurs!: la conduite à tenir en cas de problème. Vous pouvez choisir d’arrêter immédiatement, mais je conseille de consigner les erreurs dans un fichier!; dans ce cas, il faut cliquer sur «!Enregistrer!» pour dire où vous mettez ce fichier — le bureau ou le dossier de destination feront très bien l’affaire. 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, comme nous ne voulons que des fichiers jpeg en sortie, il va falloir compliquer un peu les choses. Comment n’obtenir que des JPEG en sortie!? Il fait évidemment ajouter une instruction d’enregistrement dans le script. Pour cela, (i) ouvrir une image cobaye (ii) dans la palette des scripts, ouvrir le script et sélectionner l’intruction après laquelle on va rajouter quelque chose. Dans notre cas, il s’agit de la dernière instruction, «!taille de l’image!». (iii) cliquer sur le bouton d’enregistrement. Celui-ci passe en rouge (cf figure) (iv) sur l’image cobaye, aller au menu Enregistrer sous et demander un format JPEG. Choisissez une destination sur le bureau!; l’endroit précis n’a aucune importance mais il faudra ensuite faire le ménage et supprimer l’image ainsi obtenue. Pour une projection sur vidéoprojecteur, une qualité moyenne sera suffisante. (v) Arrêtez l’enregistrement du script (1er bouton sur la palette) 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… Encore un petit perfectionnement à notre script Je suis désolé pour les débutants si vous trouvez ce qui suit complètement hermétique, mais pour que vos images passent au mieux sur le vidéoprojecteur, il est important qu’elles soient dans le profil colorimétrique «!sRGB!», ce qui n’est pas forcément le cas selon la façon dont vous avez obtenu ces images. Ça va nous donner l’occasion de rajouter une ligne à notre script. Au préalable, rappelons que ce profil se lit dans la barre d’état de Photoshop, en demandant «!profil de document!» dans le menu local de cette barre!; sous MacOS, cette barre est intégrée au cadre des fenêtres d’image. Donc, (i) ouvrir une image. Pour réussir à modifier notre script, il faut que son profil précisément ne soit pas sRGB!; nous allons donc commencer par le changer en quelque chose d’autre. Pour cela, si vous avez un Photoshop 8 (ou plus ancien), aller au menu Image > Mode > Convertir en profil, ou, sur la version CS2, allez au menu Edition > Convertir en profil!; chercher la ligne «!Adobe RGB (1998)!» dans la liste déroulante. Les options de conversion ne devraient pas avoir (ii) (iii) (iv) d’importance, mais il faut bien choisir!: prendre colorimétrie relative et ne pas cocher l’option compensation du point noir. Revenons au script. Il faut se placer avant la sauvegarde finale, donc à nouveau sur la ligne«!taille de l’image!»!et rouvrir l’enregistrement du script. Comme nous l’avons fait en (i), revenez au menu Convertir en profil , mais cette fois choisissez «!sRGB!» dans la liste déroulante (exactement, sRGB IEC61966-2.1). Arrêter l’enregistrement. Vous devez obtenir les lignes ci-contre dans la palette des scripts. Si vous partiez d’une image en sRGB lors de la modification du script et que vous ne changiez pas son profil dans l’étape initiale, Photoshop considérerait qu’il ne se passe rien dans l’étape (iii) et refuserait donc d’enregistrer la conversion en sRGB. Introduction de points d’arrêt dans le script Une façon de résoudre la difficulté des verticales/horizontales dans notre script est de placer un point d’arrêt sur l’instruction «!Taille de l’image!», en cochant la 2è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). Importation et exportation de scripts 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 œuvre, 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!». Une alternative pour enregistrer des fichiers dans un script 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 (i) il faudra cette fois choisir l’option «!Sans!» dans la liste déroulante «!Destination!» (ii) il faudra ajouter une instruction Fermer l’image dans le script (sinon, toutes les images traitées resteraient ouvertes) (iii) et, à nouveau, il faudra que les répertoires utilisés lors de la création du script soient toujours disponibles lors de son exécution, avec le même nom et la même place dans l’arborescence.