1

Pour des besoins perso, j'ai crée un petit script pour exporter chaque Album d'iPhoto en tant que dossier, avec les photos dedans.
Pratique pour une personne qui veut deswitcher, ou faire un backup compatible avec Windows par exemple.

Enfin bref, je me dit que ça peut servir donc je le mets à dispo
(c'est certainement optimisable, parce que la ça prends un temps FOU)

-- choix pour l'utilisateur du répertoire de sauvegarde
tell application "Finder"
	set main_output_folder to choose folder with prompt "Select output folder"
end tell

tell application "iPhoto"
	-- récupération de la liste des albums
	set album_list to every album
	
	-- boucle pour chaque album
	repeat with i from 1 to the count of album_list
		
		set current_album to the item i of album_list
		set album_name to the name of current_album
		set test to the type of current_album
		
		-- seulement pour les vrais albums (IE pas la phototèque, pas la dernière pellicule ...)
		if test is equal to regular album then
			
			-- création du répertoire pour l'album
			tell application "Finder"
				-- si le répertoire n'existe pas, on le crée
				if not (exists folder album_name of main_output_folder) then
					make new folder at main_output_folder with properties {name:album_name}
				end if
				-- répertoire pour l'export
				set album_folder to folder album_name of main_output_folder
			end tell
			
			-- pour chaque image de l'album		
			set album_photos to every photo of the current_album
			
			repeat with j from 1 to the count of album_photos
				set current_photo to the item j of album_photos
				set photo_file to (POSIX file (image path of current_photo as string)) as string
				
				--copie de la photographie
				tell application "Finder"
					duplicate photo_file to album_folder with replacing
				end tell
				
			end repeat
		end if
	end repeat
end tell

2

Méthode possible d'optimisation: copier le fichier via un do shell script plutôt qu'en utilisant le Finder ?

Autre possibilité (certainnement plus rapide là pour le coup, mais moins bien): l'applescript se contente de créer un script shell avec des ordres de copy / création de folder etc, et il n'y a plus qu'a exécuter le script ensuite.

Je dis ça parce que là, pour une phototèque de 2go et environ 1200 fichiers, ça prends plus d'une heure pour faire la sauvegarde ...

3

repeat with j from 1 to the count of album_photos set current_photo to the item j of album_photos

y a pas de for each ? confus

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)

4

cad ?

5

ben chais pas, pour un langage qui se veut user-friendly ça serait plus logique de pouvoir écrire
for each photo in album_photos
non ?

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)

6

ha, peut-être, je n'en sais rien.
C'était comme ça dans le tuto que j'ai vu smile

7

tu deswitch?

8

Moi non, ou en tout cas pas pour le moment.
Ma soeur oui smile
Et puis j'aime pas trop iPhoto donc même si j'avais tout mis dessus lors du switch justement, c'est pas dit que je préfère pas ne plus l'utiliser même sous mac.

Ou alors l'utiliser, mais sans lui dire de copier les photos dans ses dossiers, histoire de garder une organisation pas trop bordélique.

D'ailleurs ça me fait penser qu'il faut que je contrôle dans mon script que les répertoires que je crée ne contiennent pas de caractère interdits sous Windows, mais autorisés sous Mac.
Il y a des fonctions de gestion de chaîne en AS ?