J'ai un ordinateur dans mon bureau universitaire avec Ubuntu, ssh et Python. Je me connecte moi-même en utilisant ssh pour exécuter Python programmes et voir le résultat. Seule la sortie en ligne de commande, rien d'extraordinaire.
Cependant, j'ai ce collègue que je voudrais autoriser à faire de même. Malheureusement, il n’est pas très doué en informatique, je ne voudrais donc pas passer par tout le processus de familiarisation avec ssh. Je cherche un moyen simple et alternatif d'exécuter le programme et d'afficher la sortie (en ligne de commande).
Exécuter le programme dans ce contexte signifie être confiné à un dossier spécifique myFolder
et faire python file1.py
dans ce dossier.
Ubuntu est-il fourni avec Apache ou un autre serveur Web installé? Y a-t-il un autre moyen de communication que je pourrais mettre en place pour lui? Il utilise Windows 7.
Bien sûr, vous pouvez installer Apache et tenter votre chance à partir de là.
Pour moi, ce qui suit semble plus simple:
Ainsi, il suffira à votre ami de cliquer sur une icône pour afficher une fenêtre de console où il pourra directement utiliser le script: python file1.py
Vous pouvez configurer un serveur de bloc-notes Ipython.
Ici sont les instructions.
Les ordinateurs portables doivent être relativement faciles à utiliser (pour certaines applications, ils sont même meilleurs que l'interface du terminal). De plus, vous n'avez pas besoin d'installer un client SSH sur l'ordinateur de votre ami ni d'inventer votre propre protocole sécurisé.
Si vous codez déjà en Python, vous pouvez écrire une interface Web pour votre programme à l'aide du module http.server
) dans Python 3, ou BaseHTTPServer
in Python 2. Votre programme émettrait alors sa sortie directement sur HTTP vers le navigateur distant. Les détails de la procédure sont en dehors de la portée de ce site, mais selon votre programme, il pourrait être inférieur à 10 lignes de code.
Gardez à l'esprit que vous perdriez ainsi toute la capacité d'authentification et d'autorisation de SSH. En d'autres termes, cette méthode ne permet pas au serveur de s'assurer que c'est vous ou votre collègue qui accédez à la page. Si quelqu'un d'autre découvre la bonne URL, il peut exécuter votre programme plusieurs fois de suite, éventuellement; ils pourraient le planter; ils pourraient tenter de le pirater; etc. Mais si ces risques sont acceptables pour vous, il est probablement difficile de battre pure Python pour plus de simplicité.
Il est possible d'effectuer l'authentification et l'autorisation via HTTPS, bien sûr, mais ce n'est plus aussi simple.
Ubuntu a un paquet personnalisé et préconfiguré pour Ubuntu qui inclut Apache et mysql que vous pouvez installer avec Sudo apt-get install lamp-server^
. Si vous installez cela, vous devrez coder un logiciel pour faire ce que vous voulez faire; comme un service Web où il entre un lien et voit ensuite la sortie python dans la fenêtre de son navigateur. Je considère que c'est exagéré. à moins que vous n'espériez en faire plus.
Mais ne serait-il pas plus facile de créer un script sur la machine Windows qui effectue le ssh, l’exécution sur votre serveur et de télécharger le résultat afin qu’il puisse le voir? Cela me semble banal (eh bien, je le fais tout le temps mais n’utilisez pas Windows pour le faire;)).