IPB

Bienvenue invité ( Connexion | Inscription )

 
Reply to this topicStart new topic
> Transfert Fichier sur Serveur avec Transmit
Options
Guest_tom25_*
posté 10 Sep 2004, 18:54
Message #1





Guests






Bonjour,

Ma femme me dérangeait souvent, à chaque fois qu'elle voulait mettre une photo sur son forum (qui marche comme celui de MacBidouille). La photo étant souvent trop grande (1280x960), elle devait la rapetisser, souvent, au lieu de la sauvegarder ailleurs elle m'écrasait l'original mad.gif . Ensuite il fallait enlever les accents (éèçà etc.) et les espaces du nom du fichier, ensuite il fallait le mettre sur le serveur (avec Transmit donc) et enfin recopier l'url de l'image dans le topic.
OUF

Maintenant elle glisse son fichier sur mon script et il fait tout ça. Si c'est une image JPEG il demande si on veut en changer la taille et en combien de pixel x pixel. Il copie le fichier dans "Vos affaires" et les transfert sur le serveur "leurs affaires". Et surtout, met dans le presse-papiers l'url du fichier. Y a plus qu'à le coller dans le forum.

Au 1er lancement le script vous demandera les paramètres à entrer dans Transmit pour le serveur (nom du serveur mot de passe etc.) puis l'emplacement des dossiers "Vos Affaires" et "Leurs Affaires".
Concernant QuickTime, il faudra sélectionner le fichier 'SettingQuickTimeScript' qui défini les paramètres d'exportation QuickTime (qualité JPEG etc.)

Transfert Serveur

J'ai des petites idées, notamment faire la même chose sans Transmit, et sans QuickTime ? Si quelqu'un sait . . . je suis preneur.

Sans QuickTime mais avec Image Capture Scripting : Transfert Serveur v1,03 FR et US.zip

Ce message a été modifié par tom25 - 23 Sep 2004, 10:26.
Go to the top of the page
 
+Quote Post
__toto__maison
posté 10 Sep 2004, 19:11
Message #2


Macbidouilleur d'Or !
*****

Groupe : Membres
Messages : 1 915
Inscrit : 9 Mar 2004
Membre no 16 011



Sous panther tu peux utiliser applescript :
- image event qui permet de changer le format d'une image (pdf,jpg..)et sa taille, résolution etc..
- do shell script avec la commande ftp pour faire le transfert.

Ce message a été modifié par __toto__maison - 10 Sep 2004, 19:11.


--------------------
Venez tester votre mac avec bench It! et comparez les résultats
Go to the top of the page
 
+Quote Post
Guest_tom25_*
posté 11 Sep 2004, 06:51
Message #3





Guests






Un copain m'a indiqué la marche à suivre
CODE
tell application "Terminal"
activate application "Terminal"
do script "ftp [email protected]" -- in window 1
delay 2
tell application "System Events"
 keystroke "xxx" & return -- mot de passe
 delay 2
 keystroke "fichier" & return -- pour télécharger  fichier
end tell
do script "ls" in window 1
end tell

Mais c'est bizzare de ne pas avoir une commande du style
CODE
do script "ftp [email protected]" with command ("xxx" & return) -- in window 1

pour se connecter.
Si quelqu'un peut m'indiquer la syntaxe
Je vais regardé de dico d'Image Event
Go to the top of the page
 
+Quote Post
Guest_tom25_*
posté 11 Sep 2004, 07:59
Message #4





Guests






J'ai regardé Image Event
CODE
on run
tell application "Finder"
 set Fich to choose file with prompt "Choisissez le fichier image :"
 -- Ce n'est pas la peine de mettre  without multiple selections allowed and empty selection allowed  car ça l'est par défaut
 if Fich is false then return -- Le script s'arrête car on a cliqué Annuler  
 tell application "Image Events"
  -- open Fich
  -- set F_Type to file type of Fich
  set Img to image Fich
  -- open Fich
  set classImg to class of Img
  set DimImg to dimensions of Img
  set TypeImg to file type of Img
 end tell
 display dialog "Img : '" & (name of Img as text) & "'   Dim " & DimImg & return & "Class : " & classImg & "     Type : " & TypeImg
end tell
end run

Cela me sort une erreur car TypeImg n'est pas défini, et si je supprime ça DimImg est de toute façon à vide {} . Pour tant j'ai bien le nom de mon fichier photo en name of Img et c'est bien class Image
Merci de vos lumières, qu'est ce que je dois modifier

Ce message a été modifié par tom25 - 11 Sep 2004, 08:00.
Go to the top of the page
 
+Quote Post
__toto__maison
posté 11 Sep 2004, 14:33
Message #5


Macbidouilleur d'Or !
*****

Groupe : Membres
Messages : 1 915
Inscrit : 9 Mar 2004
Membre no 16 011



CODE
tell application "Terminal"
activate application "Terminal"
do script "ftp [email protected]" -- in window 1
delay 2
tell application "System Events"
keystroke "xxx" & return -- mot de passe
delay 2
keystroke "fichier" & return -- pour télécharger  fichier
end tell
do script "ls" in window 1
end tell


Tu n'a pas besoin de lancer le terminal, ni system event:

set resultat to do shell script ("echo put nom_du_fichier | ftp login.pass@adresse")

(chez wandoo, des fois il faut 10/15 sec pour se connecter a leur FTP)

Ce message a été modifié par __toto__maison - 11 Sep 2004, 15:08.


--------------------
Venez tester votre mac avec bench It! et comparez les résultats
Go to the top of the page
 
+Quote Post
Guest_tom25_*
posté 12 Sep 2004, 10:35
Message #6





Guests






Merci. J'ai finalement trouvé pour 'Image Events' , J'ai modifié mon script pour utiliser 'Image Capture Scripting' et maintenant Image Events marche ??? (je l'avais modifié set Img to open Fich déjà avant mais ça ne marchait quand même pas). On dirait que le fait d'avoir utilisé 'Image Capture Scripting' a réactivé 'Image Events' blink.gif

Bref, revenons à FTP. Je n'arrive pas à faire fonctionner ta ligne de commande. Déjà, mon login contient un point : tcfj.rob alors comment différencier le login du mot de passe ? j'ai essayé avec un espace mais non.
Si je veux le catalogue du serveur, je fais :
CODE
set resultat to do shell script ("echo ls | ftp tcfj.rob [email protected]")
?
En fait, je voudrais faire ligne par ligne car comme au 1er lancement de mon script 'Transfert Fichier' je demande à l'utilisateur les paramètres de son serveur, ensuite je regarde si le fichier qu'il envoie est déjà sur le serveur etc. . Je dois donc procéder par étape pour savoir où ça merde pour signaler à l'utilisateur le problème (mauvais mot de passe, fichier existe déjà etc.)
Merci pour tout
Go to the top of the page
 
+Quote Post
le grimpeur
posté 12 Sep 2004, 14:25
Message #7


Expressivité Bovine
****

Groupe : Membres
Messages : 1 268
Inscrit : 23 Jun 2003
Lieu : Chez les Gones, mais vert de coeur...
Membre no 8 222



Pour passer une chaîne de caractère dans AppleScript à un shell script, il faut d'abord la spécifier en variable, puis utliser l'option "quoted form of mavariable" pour qu'il l'accepte.
Par exemple pour entrer une chaîne de caractères accentués dans une fichier de prefs XML en AS, ça donne ça :
CODE
set letexte to "Voilà un exemple de caractères accentués....!!"
do shell script "defaults write com.test baliseXML -string "&quoted form of letexte &""


Pour faire l'inverse (récupérer des chaînes via un shell script en AS), regardez mon topic ici, vous pourrez y télécharger un script le faisant :

http://forum.macbidouille.com/index.php?showtopic=88391


--------------------
Hackintosh | i3 540 3,07 Ghz | 8 Go DDR 1333 | SSD 60 Go Vertex 2 | Samsung EcoGreen F3 500 Go | Radeon 5770 HD 1Go DDR5 | Mac Os Lion 10.7.4
Synology Ds211j 2 x 1To RAID 1
iPhone 3GS | 16Go | iOS 5.1.1

Plus t'en chies fort, moins t'en chies longtemps. - proverbe montagnard -
Go to the top of the page
 
+Quote Post
Guest_tom25_*
posté 12 Sep 2004, 14:56
Message #8





Guests






Merci mais je n'ai pas d'accent ni dans mon login ni dans mon mot de passe. J'ai toutefois essayé d'écrire sous la forme que tu indiques mais je n'arrive toujours pas à me connecter à mon serveur.
Go to the top of the page
 
+Quote Post
le grimpeur
posté 12 Sep 2004, 17:13
Message #9


Expressivité Bovine
****

Groupe : Membres
Messages : 1 268
Inscrit : 23 Jun 2003
Lieu : Chez les Gones, mais vert de coeur...
Membre no 8 222



Ok, alors il y a un blème ailleurs...
Essaye de passer e shell tcsh (do shell script "tcsh commande")
Sinon, le mieux, c'est de bosser d'abord en Terminal pour voir comment ça réagit puis de passer en do shell script....
Je regarde sur mon serveur pour voir...


--------------------
Hackintosh | i3 540 3,07 Ghz | 8 Go DDR 1333 | SSD 60 Go Vertex 2 | Samsung EcoGreen F3 500 Go | Radeon 5770 HD 1Go DDR5 | Mac Os Lion 10.7.4
Synology Ds211j 2 x 1To RAID 1
iPhone 3GS | 16Go | iOS 5.1.1

Plus t'en chies fort, moins t'en chies longtemps. - proverbe montagnard -
Go to the top of the page
 
+Quote Post
Guest_tom25_*
posté 12 Sep 2004, 19:15
Message #10





Guests






Bon j'avoue que je connais un peu Applescript (notamment Finder) mais absolument rien en Terminal. Je l'ai ouvert pour la 1ère fois hier.
Quand je tape directement dans le terminal
CODE
il me demande simplement mon mot de passe.
J'ai essayé
CODE
ftp perso-ftp.wanadoo.fr
et là il me demande mon identifiant (du serveur) puis mon mot de passe.
J'ai fait
CODE
man ftp
pour voir la désignation de FTP et je vois que l'on peut entrer le mot de passe directement après l'identifiant du serveur soit
CODE
[CODE]ftp tcfj.rob:[email protected]
[/CODE] mais ça ne marche pas.
Merci de m'aider, vous sauverez la vie à un Mac, car il ne survrivrait pas à la traversée d'un vitre double vitrage puis à une chute de 8 mètres mad.gif
Merci encore biggrin.gif

Ah je viens de trouver
CODE
ftp ftp://tcfj.rob:[email protected]:21/Documents/
directement dans le terminal ou avec do shell script
Identif:MotdePasse@AdresseServeur:Port/Dossier/
Ou, je crois (à vérifier) :
CODE
ftp ftp://tcfj.rob:[email protected] -P21
mais je ne suis pas sûr que le port soit bien à 21 là

Note : J'vais finir par coller mon vrai mot de passe à force de faire des copier coller, si c'est le cas merci de m'envoyer un message perso pur me le signaler
Go to the top of the page
 
+Quote Post
le grimpeur
posté 12 Sep 2004, 19:44
Message #11


Expressivité Bovine
****

Groupe : Membres
Messages : 1 268
Inscrit : 23 Jun 2003
Lieu : Chez les Gones, mais vert de coeur...
Membre no 8 222



Je peux pas t'aider dans l'immédiat, j'ai court demain, il faut que je me lève à 5H demain pour prendre le train, donc là, au pieu....Prévois un parachute pour ton MAc tongue.gif
Mais je te regarderai ça...Visiblement, tu as les bonnes syntaxes, mais ne précise pas le port et ça devrait passer.J'ai le même problème et on ne peut controler un flux shell car do shell script n'est pas interactif, donc il faut tout entrer, ou utiliser un terminal....
Sinon, je pense que le C serait plus approprié pour cela....Mais j'y débute encore...Peut-être qu'il existe une façon d'utiliser le ftp directement dans AS ou dans le Finder.
Bonne Chance


--------------------
Hackintosh | i3 540 3,07 Ghz | 8 Go DDR 1333 | SSD 60 Go Vertex 2 | Samsung EcoGreen F3 500 Go | Radeon 5770 HD 1Go DDR5 | Mac Os Lion 10.7.4
Synology Ds211j 2 x 1To RAID 1
iPhone 3GS | 16Go | iOS 5.1.1

Plus t'en chies fort, moins t'en chies longtemps. - proverbe montagnard -
Go to the top of the page
 
+Quote Post
__toto__maison
posté 13 Sep 2004, 10:00
Message #12


Macbidouilleur d'Or !
*****

Groupe : Membres
Messages : 1 915
Inscrit : 9 Mar 2004
Membre no 16 011



QUOTE(le grimpeur @ 12 Sep 2004, 19:44)
Je peux pas t'aider dans l'immédiat, j'ai court demain, il faut que je me lève à 5H demain pour prendre le train, donc là, au pieu....Prévois un parachute pour ton MAc  tongue.gif
Mais je te regarderai ça...Visiblement, tu as les bonnes syntaxes, mais ne précise pas le port et ça devrait passer.J'ai le même problème et on ne peut controler un flux shell car do shell script n'est pas interactif, donc il faut tout entrer, ou utiliser un terminal....
Sinon, je pense que le C serait plus approprié pour cela....Mais j'y débute encore...Peut-être qu'il existe une façon d'utiliser le ftp directement dans AS ou dans le Finder.
Bonne Chance
[right][snapback]845328[/snapback][/right]


Je n'ai pas de quoi te trouver la syntaxe de la commande ftp (et oui vacances wink.gif ).

Pas besoin de c!!


QUOTE


Je ne pense pas que spécifer le port soit important.
Par la commande ftp, il faut pas mal de temps pour que je me connecte a mon ftp wanadoo (1 min dés fois). S'il en est de meme pour toi, il y a des options de connection qui peuvent améliorer les choses.

Pour ce qui est de l'interactif, je crois qu'il est possible en cocoa de suivre l'évolution de la sortie d'une commade.
Et en bidouillant ca doit etre possible en applescript.... (ce sera pour plus tard)




--------------------
Venez tester votre mac avec bench It! et comparez les résultats
Go to the top of the page
 
+Quote Post
Guest_tom25_*
posté 13 Sep 2004, 16:51
Message #13





Guests






Mais ça marche avec la commande que j'indique mais effectivement c'est long (en tout cas chez Wanadoo les autres je ne sais pas). Et justement j'ai fait man ftp pour voir toutes les options possibles et essayer de faire aller plus vite (-A -p etc. ) mode passif actif. C'est du chinois pour moi mais j'essaye voir si ça améliore le délai. En tout cas c'est possible car quand je me connecte avec Transmit c'est immédiat.
Et aussi, si j'écris
CODE
ftp ftp://tcfj.rob:[email protected]:21/Documents/
il va directement dans 'Documents', sans attendre. Par contre si j'écris un nom de dossier qui n'existe pas il me sort une erreur tout de suite également. Donc il est bien capable d'aller vite. C'est la 1ère commande ls qui est très longue. Que je la fasse à partir de la racine ou de Documents. Ca c'est mon 1er soucis.

Le 2ième, je voudrais avec les commandes do shell script rester sur mon ftp. Je voudrais que :
CODE
set ligne1 to do shell script "ftp ftp://tcfj.rob:[email protected]:21" -- /Documents/
set ligne2 to do shell script "ls"

fasse la même chose que
CODE
tell application "Terminal"
activate
do script "ftp ftp://tcfj.rob:[email protected]:21/Documents/" in window 1
do script "ls" in window 1
end tell

Dans le 1er cas j'ai le catalogue de mon disque dur (du dossier Home je ne sais plus), dans le 2ième j'ai celui de mon serveur (ce que je veux).
Go to the top of the page
 
+Quote Post
__toto__maison
posté 13 Sep 2004, 17:24
Message #14


Macbidouilleur d'Or !
*****

Groupe : Membres
Messages : 1 915
Inscrit : 9 Mar 2004
Membre no 16 011



1) la lenteur de wanadoo : y a qq chose a faire mais je ne sais pas quoi.

2)
QUOTE
set ligne1 to do shell script "ftp ftp://tcfj.rob:[email protected]:21" -- /Documents/
set ligne2 to do shell script "ls"


il faut que tu fasse :

set liste to do shell script "echo dir|ftp ton ftp" et la il te liste le contenu répertoire.

Par contre, aprés ca tu es déconnecté.... (pas possible de faire 2 actions avec la commande ftp).

3) do sehll script "ls /chemin/vers/ton/dossier"


--------------------
Venez tester votre mac avec bench It! et comparez les résultats
Go to the top of the page
 
+Quote Post
Guest_tom25_*
posté 13 Sep 2004, 17:39
Message #15





Guests






Ouais mais alors avec la commande de ton 3) je ne peux pas aller sur mon serveur. Mon script vérifie qu'il n'y a pas de fichier du même nom sur le serveur, si oui il propose soit de le remplacer soit de changer de nom. Si on change de nom il recommence la procédure (vérifier si un fichier de ce nouveau nom proposé par l'utilisateur existe). Si à chaque fois je dois me reconnecter et attendre 1 minute que le serveur Wanadoo réponde . . . Ca va être trèèèèèèèèèèès chiant.

Mais merci de tes indications.

C'est quoi la différence entre ls et dir ? Comment on fait pour revenir au répertoire supérieur. (Je fais cd / mais ça me ramène à la racine)

Et echo , j'ai recopié bêtement ce que tu m'avais indiqué mais ça envoie 2 commandes à la suite ? Mais ce qui m'étonne c'est qu'il fasse la commande écrite le plus proche de echo en 2ième et la plus loin en 1er ? C'est pas logique, il devrait faire dans l'ordre ou on les frappe dans la ligne !
Go to the top of the page
 
+Quote Post
__toto__maison
posté 13 Sep 2004, 18:48
Message #16


Macbidouilleur d'Or !
*****

Groupe : Membres
Messages : 1 915
Inscrit : 9 Mar 2004
Membre no 16 011



"echo ftp open ftp.microsoft.com|ftp"
=
(lancement du programme ftp )
ftp
(envoie de commande a ftp)
ftp> open ftp.microsoft.com

Sinon, tu peux aussi monter le serveur ftp comme un volumes :

mount ftp://user:[email protected]

et il monte sur le bureau.

Mais:
- si des fichiers sont ajoutés ou supprimés, tu ne peux pas le savoir (si ce n'est pas toi qui le fait)
- n'utilises pas le finder pour up/downloader tes fichiers sur le HD.

Utilises ls,cp etc...pour tes fichiers. (/Volumes/nom-ftp/....)
Tu peux aussi monter et démonter le serveur pour qu'osx mette a jour la liste des fichiers que tu verras.


--------------------
Venez tester votre mac avec bench It! et comparez les résultats
Go to the top of the page
 
+Quote Post
Guest_tom25_*
posté 16 Sep 2004, 15:40
Message #17





Guests






QUOTE(tom25 @ 12 Sep 2004, 10:35)
Merci. J'ai finalement trouvé pour 'Image Events' , J'ai modifié mon script pour utiliser 'Image Capture Scripting' et maintenant Image Events marche ???  (je l'avais modifié  set Img to open Fich déjà avant mais ça ne marchait quand même pas). On dirait que le fait d'avoir utilisé 'Image Capture Scripting' a réactivé 'Image Events'  blink.gif

Ce n'est pas ça. En fait Image Events n'accepte pas les chemin de fichier comportant des accents alors qu'Image Capture lui, si. (Image remarchait car j'ai du faire l'essai avec un fichier qui était dans un dossier sans accent).

Si une image est dans un dossier avec accent (Téléchargement), Image Events pourra obtenir le nom de l'image (= nom du fichier), sa classe ('image') mais ni ses dimensions ni sa résolution. On se croirait sous Windows 1 tongue.gif wink.gif laugh.gif
Go to the top of the page
 
+Quote Post
Guest_tom25_*
posté 21 Sep 2004, 13:08
Message #18





Guests






QUOTE(__toto__maison @ 13 Sep 2004, 18:48)
mount ftp://user:[email protected]

et il monte sur le bureau.

Merci de tes infos, j'ai essayé avec mes paramètres mais le terminal me renvoie : unknown special file or file system
sad.gif
Go to the top of the page
 
+Quote Post
Guest_tom25_*
posté 21 Sep 2004, 14:58
Message #19





Guests






QUOTE(le grimpeur @ 12 Sep 2004, 14:25)
Pour faire l'inverse (récupérer des chaînes via un shell script en AS), regardez mon topic ici, vous pourrez y télécharger un script le faisant :

http://forum.macbidouille.com/index.php?showtopic=88391

Je me suis amusé à modifier ton script, j'ai mis ma réponse sur le topic ci-dessus.

Ce message a été modifié par tom25 - 21 Sep 2004, 14:58.
Go to the top of the page
 
+Quote Post
__toto__maison
posté 24 Sep 2004, 14:15
Message #20


Macbidouilleur d'Or !
*****

Groupe : Membres
Messages : 1 915
Inscrit : 9 Mar 2004
Membre no 16 011



pomme K dans le finder

ftp://user:[email protected]......

Et hop, le ftp monte sur le bureau. Ca peut faire ramer le finder, le temps de se connecter.

en AS ca donne : mount "ftp://..."

Sinon commnde ftp.

Ce message a été modifié par __toto__maison - 24 Sep 2004, 15:07.


--------------------
Venez tester votre mac avec bench It! et comparez les résultats
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 utilisateur(s) sur ce sujet (1 invité(s) et 0 utilisateur(s) anonyme(s))
0 membre(s) :

 



Nous sommes le : 28th April 2024 - 16:43