tell application "Finder"
    set chemin to choose folder with prompt "Sélectionnez le dossier contenant les fichiers à traiter"
    set nomdosfich to name of chemin as string
    my inspecter(chemin) -- appel routine inspecter
end tell
on inspecter(un_dossier)
    tell application "Finder"
        
        set nomdos to name of un_dossier -- recupere le nom du dossier
        set Fimage to {"jpg", "jpeg", "png", "tiff", "gif", "bmp", "psd"} -- liste des extensions a traiter dans Fimage avec fonction mdls
        
        -- traitement des fichiers :
        set les_fichiers to files of un_dossier --récupère tous les fichiers du dossier
        repeat with chaque_fichier in les_fichiers -- répète avec chaque fichier du dossier en cour
            -- traitement d'un fichier
            tell application "Finder"
                set nom to name of chaque_fichier --récupère le nom du fichier
                set AppleScript's text item delimiters to {"."} -- defini le separateur
                set lextension to get last text item of nom -- recupère l'extension
                set lefichier to chaque_fichier as string --récupère le chemin du fichier au format chaine de caractères
                
                
                if lextension is in Fimage then -- si fichier video de la liste Fimage
                    
                    set lahauteur to do shell script "mdls -name kMDItemPixelHeight " & quoted form of POSIX path of lefichier --récupère la hauteur pixel format mdls
                    set lalargeur to do shell script "mdls -name kMDItemPixelWidth " & quoted form of POSIX path of lefichier --récupère la largeur pixel format mdls
                    set AppleScript's text item delimiters to {" "} -- defini le separateur
                    set lahauteur to last text item of lahauteur
                    set lalargeur to last text item of lalargeur
                    set lechemin to POSIX path of lefichier
                    
                    if lalargeur > lahauteur then
                        set cadre to lalargeur * 0.04
                        set lacommande to "sips -Z " & lalargeur & " -p " & (lahauteur + cadre) & " " & (lalargeur + cadre) & " --padColor FFFFFF -i " & quoted form of lechemin
                    else
                        set cadre to lahauteur * 0.04
                        set lacommande to "sips -Z " & lahauteur & " -p " & (lalargeur + cadre) & " " & (lahauteur + cadre) & " --padColor FFFFFF -i " & quoted form of lechemin
                    end if
                    do shell script lacommande
                    
                end if
                
            end tell
        end repeat -- fichier suivant
        
        -- traitement des dossiers :
        set les_dossiers to folders of un_dossier
        repeat with chaque_dossier in les_dossiers -- dossier suivant
            my inspecter(chaque_dossier) -- appel pour dossier suivant
        end repeat
    end tell
end inspecter -- fin routine inspecter
tell application "Finder"
    activate
    (display dialog ("waouou ... Ca y est c'est fait !") buttons {"Salut !"})
end telltell application "Finder"
    set chemin to choose folder with prompt "Sélectionnez le dossier contenant les fichiers à traiter"
    set nomdosfich to name of chemin as string
    my inspecter(chemin) -- appel routine inspecter
end tell
on inspecter(un_dossier)
    tell application "Finder"
        
        set nomdos to name of un_dossier -- recupere le nom du dossier
        set Fimage to {"jpg", "jpeg", "png", "tiff", "gif", "bmp", "psd"} -- liste des extensions a traiter dans Fimage avec fonction mdls
        
        -- traitement des fichiers :
        set les_fichiers to files of un_dossier --récupère tous les fichiers du dossier
        repeat with chaque_fichier in les_fichiers -- répète avec chaque fichier du dossier en cour
            -- traitement d'un fichier
            tell application "Finder"
                set nom to name of chaque_fichier --récupère le nom du fichier
                set AppleScript's text item delimiters to {"."} -- defini le separateur
                set lextension to get last text item of nom -- recupère l'extension
                set lefichier to chaque_fichier as string --récupère le chemin du fichier au format chaine de caractères
                
                
                if lextension is in Fimage then -- si fichier video de la liste Fimage
                    
                    set lahauteur to do shell script "mdls -name kMDItemPixelHeight " & quoted form of POSIX path of lefichier --récupère la hauteur pixel format mdls
                    set lalargeur to do shell script "mdls -name kMDItemPixelWidth " & quoted form of POSIX path of lefichier --récupère la largeur pixel format mdls
                    set AppleScript's text item delimiters to {" "} -- defini le separateur
                    set lahauteur to last text item of lahauteur
                    set lalargeur to last text item of lalargeur
                    set lechemin to POSIX path of lefichier
                    
                    display dialog "la largeur est de : " & lalargeur & "  la hauteur est de : " & lahauteur
                    
                    if lalargeur > lahauteur then
                        set cadre to lalargeur * 0.04
                        set lacommande to "sips -Z " & lalargeur & " -p " & (lahauteur + cadre) & " " & (lalargeur + cadre) & " --padColor FFFFFF -i " & quoted form of lechemin
                    else
                        set cadre to lahauteur * 0.04
                        set lacommande to "sips -Z " & lahauteur & " -p " & (lalargeur + cadre) & " " & (lahauteur + cadre) & " --padColor FFFFFF -i " & quoted form of lechemin
                    end if
                    do shell script lacommande
                    
                end if
                
            end tell
        end repeat -- fichier suivant
        
        -- traitement des dossiers :
        set les_dossiers to folders of un_dossier
        repeat with chaque_dossier in les_dossiers -- dossier suivant
            my inspecter(chaque_dossier) -- appel pour dossier suivant
        end repeat
    end tell
end inspecter -- fin routine inspecter
tell application "Finder"
    activate
    (display dialog ("waouou ... Ca y est c'est fait !") buttons {"Salut !"})
end tell 
					
				 
	