LolYangccool Posté(e) 4 août 2021 Partager Posté(e) 4 août 2021 (modifié) Bonjour, J'aimerai créer un script qui puisse afficher une liste de choix de fichier à télécharger. Par exemple, en tapant 1, le choix un serait sélectionné et déclencherai le téléchargement du fichier correspondant sur un serveur web. Les URLS correspondantes pourraient soient être indiquées en dur dans le script, ce qui m'obligerai à le mettre à jour régulièrement, ou, et c'est la solution que je préfèrerai, le scirpt scannerai le serveur web et afficherai les fichiers à télécharger sous la fome : 1) Fichier 1 2) Fichier 2 etc... Les fichiers seraient soit des .zip, soit des applications au format .app, soit d'autres (ipsw par exemple). Le but est de me faire un script pour accéder à mes macOS, et ipsw d'iOS entre autres. Je sais déjà récupérer mes fichiers via scp depuis mes Mac (ou Linux), mais je ne sais pas faire de choix, je suis tombé sur un outil qui s'appelle Display je crois, et qui permet d'afficher des choix sur fond bleu comme j'ai déjà rencontré plein de fois sur Linux, mais c'est dispo que sur Linux et surtout, ça implique d'installer cet outil sur tous les Mac ou j'utiliserai le script. J'aimerai quelques chose de natif. Obtenir quelque chose dans ce style là ça serait top (je n'ai pas forcément besoin des dates d'ajouts, juste le nom ça m'irait) : Si quelqu'un se sens chaud de m'aider... Merci. Modifié 4 août 2021 par LolYangccool Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
clive-guilde Posté(e) 5 août 2021 Partager Posté(e) 5 août 2021 (modifié) Salut @LolYangccool Vaste programme Tu souhaites utiliser quel langage ? Il y a 15 heures, LolYangccool a dit : J'aimerai créer un script qui puisse afficher une liste de choix de fichier à télécharger. Pour faire une liste de choix, généralement c'est le couple de commande switch / case qu'il faut utiliser. Je veux bien essayer de t'aider dans la mesure de mes petits moyens 😉 Modifié 5 août 2021 par clive-guilde Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
LolYangccool Posté(e) 5 août 2021 Auteur Partager Posté(e) 5 août 2021 En fait j’osais espérer, peut-être à tord, que ce soit faisable via un script shell. Je ne sais pas programmer en Python ou autre même si j’ai des notions. Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
clive-guilde Posté(e) 5 août 2021 Partager Posté(e) 5 août 2021 Si c'est réalisable en shell. regarde l'exemple donné sur ce site, c'est exactement ce que tu souhaites faire. switch-case-in-shell Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
pehache Posté(e) 7 août 2021 Partager Posté(e) 7 août 2021 Tout ça peut se faire en Shell script. Comment tu accèdes au serveur pour lister les fichiers ? Uniquement en http ? Ou ssh possible ? Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
LolYangccool Posté(e) 7 août 2021 Auteur Partager Posté(e) 7 août 2021 http dispo et SSH aussi. J'aimerai éviter le SSH (par mesure de sécurité) mais si c'est indispensable je peux passer par là. Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
pehache Posté(e) 8 août 2021 Partager Posté(e) 8 août 2021 (modifié) Lister des fichiers sur un serveur distant est quand même plus facile en ssh... Au pire en sftp... Voilà un exemple de script qui marche. Comme souvent, le plus pénible en shell script c'est la gestion des espaces éventuels dans les noms de fichiers. Ici je suppose que tous les fichiers sont dans un même dossier (on peut adapter facilement pour plusieurs dossiers ou une arborescence) #!/bin/bash # on recupere le contenu du dossier et on le met dans un fichier texte ssh localhost ls SynologyDrive/Labo/LLYCC/TOTO > liste.txt noms=() #initialisation d'un tableau vide n=0 # boucle qui lit toutes les lignes et remplit le tableau des noms while read line ; do ((n++)) echo $n" : "$line noms+=("$line") done < liste.txt # note : en local il suffirait de faire noms=(SynologyDrive/Labo/LLYCC/TOTO/*) # a la place de tout ce qu'il y a au-dessus echo echo "Votre choix ?" read choix ((choix--)) # decremente de 1 car les index des tableaux bash commencent a 0 file=${noms[$choix]} file=${file// /\\ } # regle de substition bash qui "echappe" les espaces dans le nom # (remplacement des " " par des "\ ", necessaire pour le scp qui suit) scp localhost:"SynologyDrive/Labo/LLYCC/TOTO/$file" . Par contre s'il y a un accès http, pourquoi ne pas utiliser directement l'URL du dossier qui contient les fichiers ? Si ce dossier ne contient pas de fichier "index.*" le serveur renvoie le contenu du dossier et il suffit de cliquer sur un fichier pour le télécharger. Et aucun besoin de script. Modifié 11 août 2021 par pehache Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
LolYangccool Posté(e) 8 août 2021 Auteur Partager Posté(e) 8 août 2021 Merci pehache. Pourquoi ne pas utiliser le listing apache ? Parce que les .app sont vu comme des dossiers, il n'y a que sur macOS que le .app est géré comme un fichier. De base les fichiers ne sont pas sur un serveur web. Ils sont stocké sur le NAS dans un dossier partagé nommé « OSes » de cette façon : Et puis à terme, pourquoi ne pas automatiser, scripter les téléchargements etc... Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
pehache Posté(e) 8 août 2021 Partager Posté(e) 8 août 2021 S’ils sont dans un dossier partagé, pas besoin de ssh/SCP en fait ? Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
LolYangccool Posté(e) 8 août 2021 Auteur Partager Posté(e) 8 août 2021 Oui ils sont bien dans un dossier partagés. Mais une interface avec arborescence ça serai cool, pour gérer les différents OS. Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
pehache Posté(e) 9 août 2021 Partager Posté(e) 9 août 2021 J'avoue ne pas bien comprendre ce que tu cherches à faire, alors que tout est accessible par le Finder... Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
LolYangccool Posté(e) 9 août 2021 Auteur Partager Posté(e) 9 août 2021 Le but c'est de pouvoir les récupérer à distance en quelques secondes/clics, par internet donc. Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
pehache Posté(e) 10 août 2021 Partager Posté(e) 10 août 2021 Ok, donc sans avoir accès directement au dossier partagé. Ce n’était pas très clair. Le script que j’ai mis peut servir de base et être amélioré. Mais une autre solution c’est un accès sftp. Un client comme Filezilla sait récupérer un dossier complet. Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
clive-guilde Posté(e) 11 août 2021 Partager Posté(e) 11 août 2021 (modifié) Il y a 21 heures, pehache a dit : Un client comme Filezilla sait récupérer un dossier complet. Oui ce logiciel est vraiment top, open-source, multiplateforme et simple à utiliser. Le 10/08/2021 à 00:10, pehache a dit : J'avoue ne pas bien comprendre ce que tu cherches à faire Oui je suis d'accord. C'est difficile de t'aider @LolYangccool sans connaitre plus ton projet ... Modifié 11 août 2021 par clive-guilde Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
LolYangccool Posté(e) 11 août 2021 Auteur Partager Posté(e) 11 août 2021 FileZilla je connaîs bien. Il a une interface vieillotte, en général j’utilise transmit sur Mac mais les dernières version demandent sans arrêt le mot de passe à chaque dossier accédé et ça a tendance à m’énerver. Le but c’est juste de pouvoir télécharger rapidement un os complet à la façon du script dont j’ai mis un screenshot ci-dessus. Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
pehache Posté(e) 11 août 2021 Partager Posté(e) 11 août 2021 (modifié) il y a une heure, LolYangccool a dit : FileZilla je connaîs bien. Il a une interface vieillotte, en général j’utilise transmit sur Mac mais les dernières version demandent sans arrêt le mot de passe à chaque dossier accédé et ça a tendance à m’énerver. Du coup mieux vaut l'interface viellotte qui fonctionne bien 😛 il y a une heure, LolYangccool a dit : Le but c’est juste de pouvoir télécharger rapidement un os complet à la façon du script dont j’ai mis un screenshot ci-dessus. J'ai commenté un peu mon script aussi Modifié 11 août 2021 par pehache Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
LolYangccool Posté(e) 11 août 2021 Auteur Partager Posté(e) 11 août 2021 Il y a 3 heures, pehache a dit : Du coup mieux vaut l'interface viellotte qui fonctionne bien 😛 Oui je suis passé sur FileZilla sur Mac, je l'utilisais uniquement sur Windows et Linux auparavant. Mais l'interface n'évolue pas, franchement c'est dommage, elle fait pas moderne, mais il a des qualités ce logiciel c'est sur. Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Messages recommandés
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.