IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Réseau/Web Python Discussion :

Etude de cas : lancement d'un shell par web


Sujet :

Réseau/Web Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    344
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 344
    Par défaut Etude de cas : lancement d'un shell par web
    Bonjour

    J'ai developpé en python des scripts qui mettent à jour mon intranet toutes les nuits (via webdav). Ces scripts sont donc lancés via crontab linux, et generent des logs qu'ils m'envoit gentiment par mail tous les matins (voila pour la petite histoire).

    Je souhaite maintenant donner la possibilité à certains utilisateurs de lancer eux-meme ces scripts, manuellement, et d'en suivre le déroulement à l'écran.

    Vu que c'est pas un énorme projet, j'ai pas trop envie d'apprendre à installer mod/python (par exemple). Aussi, j'ai pensé :

    - profiter de mon p'tit serveur web python que j'ai sur une autre machine (HttpRequestHandler)

    - l'utiliser pour lancer les scripts python via la librairie os

    - récuperer un tail des logs et l'afficher à l'écran web en utilisant javascript.

    Est c'que c'est tiré par les cheveux et qu'il y a bien mieux à faire, ou bien me dites vous banco ?

    Je ne connais pas bien l'interactivité avec Python, c'est quelquechose que je n'ai encore jamais utilisé. Et un GUI est, sauf erreur de ma part, proche du client/serveur (donc ca colle pas pour moi) et sans doute trop lourd à apprendre pour un si petit besoin ...

    L.

  2. #2
    Expert confirmé
    Avatar de GrandFather
    Inscrit en
    Mai 2004
    Messages
    4 587
    Détails du profil
    Informations personnelles :
    Âge : 56

    Informations forums :
    Inscription : Mai 2004
    Messages : 4 587
    Par défaut
    Bonjour,

    si mod_python ne t'inspire pas, et que tes besoins ne sont pas trop complexes, pourquoi ne passes-tu pas par des scripts CGI ?

    http://docs.python.org/lib/module-cgi.html
    FAQ XML
    ------------
    « Le moyen le plus sûr de cacher aux autres les limites de son savoir est de ne jamais les dépasser »
    Giacomo Leopardi

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    344
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 344
    Par défaut
    Bonjour GrandFather

    En effet, mod_python m'inspire pas, j'ai lu pas mal de galères pour l'installer, et tant qu'a faire il est généralement conseillé d'utiliser Django, TurboGears, ou autre. Mais comme j'en suis pas là ... ;-)

    Effectivement, j'avais pas pensé aux bons vieux CGI (ca va me rappeler mon Perl !) , j'vais lire ton lien.

    J'ferme pas tout de suite ce fil si d'autres veulent intervenir ;-)

    Merci à toi.

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    344
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 344
    Par défaut
    Re

    J'ai bien tout lu la doc et commencé qqes tests, effectivement c'est tout bete et ca marche bien.

    Par contre, puisque mon souhait est de lancer des lignes de commande, je n'ai pas trouvé de moyen de retourner au navigateur la trace de cette commande.

    Par exemple si j'inclus un
    os.system("date")
    , il va me le sortir sur le stdout, mais comment récuperer cette sortie dans une variable de mon prog python pour l'afficher ensuite dans ma page web ?

    Y'a pas d'autre moyen que de faire un >> puis de lire le fichier ?

    L.

  5. #5
    Expert confirmé
    Avatar de GrandFather
    Inscrit en
    Mai 2004
    Messages
    4 587
    Détails du profil
    Informations personnelles :
    Âge : 56

    Informations forums :
    Inscription : Mai 2004
    Messages : 4 587
    Par défaut
    Y-a-t-il quelque chose que Python ne sait pas faire ?

    Utilise la fonction popen3() pour prendre le contrôle des flux d'entrée, de sortie et d'erreur de ton sous-processus, voir : http://docs.python.org/lib/os-newstr...#os-newstreams
    FAQ XML
    ------------
    « Le moyen le plus sûr de cacher aux autres les limites de son savoir est de ne jamais les dépasser »
    Giacomo Leopardi

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 0
    Dernier message: 11/06/2014, 20h25
  2. Etudes de cas d'un projet Java EE web
    Par The Grey dans le forum Frameworks Web
    Réponses: 1
    Dernier message: 23/10/2012, 16h06
  3. Lancement d'un shell Unix dans un proc stockée
    Par SBA03 dans le forum Oracle
    Réponses: 20
    Dernier message: 31/08/2006, 10h22
  4. Réponses: 8
    Dernier message: 08/11/2005, 17h43
  5. [JSP] Lancement d'un shell
    Par n8ken dans le forum Servlets/JSP
    Réponses: 15
    Dernier message: 18/10/2005, 11h34

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo