Tutoriels vidéo art graphique gratuits

 
Bienvenue, Invité. Merci de vous connecter ou de vous inscrire.
Pages: [1]   En bas

Auteur Sujet: Automatisation d'une tâche via un javascript  (Lu 4001 fois)

Gizmil

  • Wisi tout neuf
  • *
  • Hors ligne Hors ligne
  • Messages: 18
    • Voir le profil
Automatisation d'une tâche via un javascript
« le: décembre 16, 2011, 12:11:19 pm »

Salut à tous,

sous Photoshop, j'aimerais pouvoir effectuer un travail à la chaîne, comme avec les traitements par lots, sauf que le travail que j'aimerais effectuer est un peu trop complexe pour être réalisable via un traitement par lot.

Donc, ce dont j'aurais besoin, c'est d'un script (un vrai, pas une liste d'action de Photoshop) qui fasse ceci :

1/ ouverture successive de fichiers psd situés dans des dossiers nommés "page_001" à "page_120".
2/ dans chaque fichier psd ouvert, vérifier le nombre de calques nommés "fenetre x" (ou "x" est un chiffre) qui s'y trouve.
3/ depuis le dossier "page_xxx" (ou "xxx" est le numéro de page en cours), importer successivement les fichiers jpeg dont le nombre à importer correspond au nombre de calques "fenetre x" du point 2. Les fichiers jpeg à importer sont nommés "photo_xx" (ou "xx" est le numéro de la photo).

Bref, il suffit donc d'importer les photos en suivant ce chemin, par exemple :

C://monAlbum/page_095/photo_04.jpeg

C://monAlbum/page_aaa/photo_bb.jpeg

"aaa" = numéro de la page en cour de traitement
"bb" = numéro de la photo déterminé en comptant le nombre de calques "fenetres x" au point 2.

4/ Une fois qu'une photo est importée, on appele une liste d'actions lui correspondant, c'est à dire qu'on va appeler une liste d'actions qui correspond au numéro de la photo importée. Si c'est la photo "photo_02", on lancera la liste d'action nommée "traitement photo 2".

Voilà le genre de script pour Photoshop dont j'aurais besoin. Je sais qu'on peut soumettre des javascript à Photoshop pour des traitements plus complexes donc j'aimerais parvenir à faire ce que je veux par ce biais !

Alors, ne connaissant pas le javascript et surtout comment l'adapter à Photoshop, je me demandais si quelqu'un pourrait éventuellement le faire pour moi ?

Et si pas, je touche quand même à la programmation (ActionScript et PHP) donc je me sentirais capable de faire un javascript moi-même mais j'aurais pour ça besoin de savoir à quelles méthodes faire appel dans mon script pour obtenir une information depuis mon document Photoshop ou agir sur celui-ci. Par exemple : comment récupérer le nom d'un calque, ou encore : comment lancer une liste d'actions ? Ou pourrais-je trouver ces infos ?

Voilà ! Si vous pouvez m'aider, j'en serais râvi ! :D

------------------------------------------------------------------------

PS : j'explique concrètement ci-dessous la situation dans laquelle je suis (la lecture de ceci n'est réellement nécessaire que si vous n'avez pas compris mon explication ci-dessus) :

Dans le cadre de mon job, je crée des albums photo à la chaîne. L'insertion des photos dans chaque album prend beaucoup de temps en manipulation et je cherche des solutions d'optimisation de mon temps de travail.

Chaque page de mon album est représentée par un fichier .psd et les photos à inclure dans chaque fichier psd sont des fichiers jpeg.

Au fil de l'album et à l'intérieur de chaque page, j'ai un nombre variable de photos (1 à 6 photos, environ).

Chaque page contient ce que j'appelle une "fenêtre" ou "container" destinés à recevoir une photo (s'il y a 3 photos, il y aura 3 fenêtres). Concrètement, chaque fenêtre constitue la forme que prendra la photo (par ex : un rectangle avec deux bords courbes).

Chaque calque correspondant à une fenêtre est numéroté. Ils sont nommés "fenetre 1", "fenetre 2", "fenetre 3", etc...

Sur mon disque dur, chaque page de mon album est représentée par un dossier. J'ai 120 pages dans mon album donc j'ai 120 dossier nommés "page_001" à "page_120".

Dans chacun de ces dossiers, j'ai le fichier psd constituant ma page + les fichiers jpeg des photos qui doivent être insérées dans mon .psd.

les photos jpeg sont nommées de cette façon : "photo_01", "photo_02", "photo_03", etc...

Je suis parvenu à créer sous Photoshop des listes d'actions (scripts) qui font entrer directement mes photos dans mes fenêtres en allant les chercher dans un dossier générique (je crée un dossier "page_a_construire" et j'y place successivement les psd et jpeg de chaque page).

Voilà une méthode que j'ai mis au point mais celle-ci ne sera efficiente que si je parviens à créer un javascript pour Photoshop qui me permettra de faire entrer directement mes photos dans mes pages d'album, sans que je doive jouer manuellement avec mes dossiers.
IP archivée

marroon

  • Global Moderator
  • Wisi Comment on décroche
  • *****
  • Hors ligne Hors ligne
  • Messages: 1706
  • Wisinaute
    • Voir le profil
    • Studio graphique et imprimeur typographique
    • E-mail
Re : Automatisation d'une tâche via un javascript
« Réponse #1 le: décembre 16, 2011, 12:24:32 pm »

Salut,

Je n'ai lu que le P.S. de ton post mais ne vaudrait-il pas mieux passer par les variables dans Photoshop ? Ou mieux encore : utiliser la fusion de données ou l'import XML dans Indesign ? Tu t'es renseigné sur ces deux méthodes ?
IP archivée
L'échec, c'est la réussite du con. - Frédéric Dard

Gizmil

  • Wisi tout neuf
  • *
  • Hors ligne Hors ligne
  • Messages: 18
    • Voir le profil
Re : Automatisation d'une tâche via un javascript
« Réponse #2 le: décembre 16, 2011, 12:48:32 pm »

Salut, Marroon !

Oui, je me suis renseigné sur ces méthodes ! Avant de me tourner vers Indesign que je n'utilise jamais et que je devrais apprendre avant de pouvoir travailler concrètement dessus, j'aimerais exploiter les possibilités de Photoshop !

Et concernant les variables sous Photoshop, le problème est qu'on ne peut les soumettre à une liste d'actions ! Donc une automatisation est impossible (en tous cas, j'ai essayé, je n'y suis pas arrivé) ! Si, j'en ai conclus après avoir testé cette méthode qu'il fallait que j'enregistre les variables sur les calques dans mes 500 fichiers psd de montages, ce qui me semble assez utopique vu le nombre de manipulations que ça représente !

Je pense que le javascript est de toute façon plus souple ! ^^
IP archivée

Eddy

  • Global Moderator
  • Wisi Comment on décroche
  • *****
  • Hors ligne Hors ligne
  • Messages: 3239
  • Éternel apprenti.
    • Voir le profil
    • Scriptopedia.org
    • E-mail
Re : Automatisation d'une tâche via un javascript
« Réponse #3 le: décembre 17, 2011, 12:23:49 pm »

Bonjour.
Si tu programmes un peu, tu devrais pouvoir trouver toute la doc dont tu as besoin dans le fichier "Guide des scripts Photoshop CS5.pdf" du répertoire Documents de script de photoshop.

Sinon, ça parait ardu ce que tu souhaites  et ID pourrait grandement t'apporter un plus, je crois, dans le traitement automatisé de ta mise en page.
C'est son domaine !
IP archivée
Config : I-Mac 27" Core I5 12Go RAM - OSX 10.10.X
 



Wisibility est un sité dédié à la formation aux métiers l’image. Vous y trouverez différentes ressources vous aidant à maîtriser les logiciels graphiques tels que Photoshop, Lightroom, Illustrator, InDesign, Flash… Aujourd’hui, Wisibility réunie plus d'une vingtaine d’experts, intervenant en Entreprise pour former graphistes, webdesigners, développeurs web, photographes, monteurs, trucistes…
Depuis 2006 nous nous sommes spécialisés dans les tutoriels vidéos permettant de se former à distance. Notre forum très actif, géré par une équipe de bénévoles répondra à vos demandes. Vous pourrez également profiter de nos émissions et reportages sur la Wisi TV.
Contact - Wisibility est une marque déposée

Blog - Tutoriels - Wisi TV - Forum