Partage
  • Partager sur Facebook
  • Partager sur Twitter

CGI Python - lancer des scripts pythons via html

    3 décembre 2020 à 9:11:45

    Bonjour !


    Je reviens vous voir pour avoir de l'aide concernant un projet que je dois faire en classe.

    Le but du projet est de pouvoir lancer via une interface html avec des boutons connecter à un serveur http des scripts pythons sur une Raspberry PI.

    Le problème est que malgré tout les tutoriels sur Internet, je n'arrive pas à trouver une aide conséquente et compréhensible.

    Donc j'aimerais savoir si quelqu'un saurait me renseigner sur comment lancer des scripts pythons avec un bouton html connecter à un serveur web sur une raspberry PI.

    Le code de l'index.py :

    # coding: utf-8
    import cgi
    import RPi.GPIO as GPIO
    
    form = cgi.FieldStorage()
    
    
    print("Content-type: text/html; charset=utf-8\n")
        
    
    html = """<!DOCTYPE html>
    <head>
    </head>
    
    <body>
        <label>Choississez l'inclinaison en degre de votre Monture :</label>
        <form method="post" action="
        <input type="text" id="Degre" name="texte">
        <button type="submit" id="button" ">validez votre choix</button>
        <label name="resultat">L'angle que vous avez choisis est de x degres</label>
    </body>
    </html>"""
    
    
    print(html)

    le server.py 

    import http.server
    
    texte = form.getvalue("texte")
    
     
    PORT = 2003
    server_address = ("", PORT)
    
    server = http.server.HTTPServer
    handler = http.server.CGIHTTPRequestHandler
    handler.cgi_directories = ["/"]
    print("Serveur actif sur le port :", PORT)
    
    httpd = server(server_address, handler)
    httpd.serve_forever()
    

    Si je n'ai pas mis assez d'information, je serais prêt à vous répondre.


    Merci d'avance si vous apportez de l'aide.

    Cordialement.



    • Partager sur Facebook
    • Partager sur Twitter
      3 décembre 2020 à 11:46:33

      dans le code html de ton index, il y a un problème au niveau de la balise de form, il manque le "> en ligne 17 et il manque </form> entre la ligne 20 et 21

      dans action, tu dois pouvoir indiquer le script à exécuter; dans celui-ci, il faudra récupérer la variable de l'input via

      import cgi
      import RPi.GPIO as GPIO
      form=cgi.FieldStorage()
      degre=form.getvalue('texte')
      
      if degre!=None: # si on a bien une valeur (donc différent de None)
      #le reste du script



      • Partager sur Facebook
      • Partager sur Twitter

      CGI Python - lancer des scripts pythons via html

      × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
      × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
      • Editeur
      • Markdown