Bonjour à tous, je suis nouveau sur Developpez, ainsi que dans la programmation Python.

Je souhaiterais développer une application web avec Python et CGI, seulement voila, je suis complètement perdu !

Après 2 jours de recherche, je fini par vous exposer mon problème :

(je rappelle que je débute, donc c'est questions vous paraissent sûrement évidente, mais pas pour moi !! )

- Je n'arrive tout simplement pas à exécuter un script Python placé dans un dossier cgi-bin (hébergé sous OVH)(Internal Server Error), je regarde donc dans l'aide d'OVH, Google, ... et tout ce que je trouve, c'est qu'il faut mettre les chmod 755 au dossier cgi-bin, ce que je fait, mais rien n'y fait

J'ai essayé pleins de bidules (mod_python, ...) qui n'ont sûrement rien avoir, mais j'ai quand même essayé.

Finalement, je vous demande donc de l'aide pour débuter avec le CGI et Python

Voici les scripts : (scripts venant de la doc .pdf : Apprendre à Programmer avec Python, trouvé sur ce site même)

index.html
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
<HTML>
<HEAD><TITLE>Exercice avec Python</TITLE></HEAD>
<BODY>
<DIV ALIGN="center">
<IMG SRC="penguin.gif">
<H2>Page Web interactive</H2>
<P>Cette page est associée à un script Python</P>
<FORM ACTION="../../cgi-bin/elyoo/input_query.py" METHOD="post">
<INPUT TYPE="submit" NAME="send" VALUE="Exécuter le script">
</FORM>
</DIV></BODY></HTML>
input_query.py
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
 
#! /usr/bin/python
import cgi
 
print "Content-type: text/html\n"
print """
<H3><FONT COLOR="Royal blue">
Page web produite par un script Python
</FONT></H3>
 
<FORM ACTION="print_result.py" METHOD="POST">
<P>Veuillez entrer votre nom dans le champ ci-dessous, s.v.p. :</P>
<P><INPUT NAME="visiteur" SIZE=20 MAXLENGTH=20 TYPE="text"></P>
<P>Veuillez également me fournir une phrase quelconque :</P>
<TEXTAREA NAME="phrase" ROWS=2 COLS=50>Mississippi</TEXTAREA>
<P>J'utiliserai cette phrase pour établir un histogramme.</P>
<INPUT TYPE="submit" NAME="send" VALUE="Action">
</FORM>
"""

Question :

Content-type: text/html\n et Content-type: text/html -> à la même fonction?

print_result.py :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#! /usr/bin/python
# Traitement des données transmises par un formulaire HTML
 
import cgi                                                       # Module d'interface avec le serveur
web
form = cgi.FieldStorage()                                        # Réception de la requête utilisateur
                                                                 # il s'agit d'une sorte de dictionnaire
if form.has_key("phrase"):                                       # La clé n'existera pas si le champ
text = form["phrase"].value                                      # correspondant est resté vide
else:
text ="*** le champ phrase était vide ! ***"
if form.has_key("visiteur"):                                     # La clé n'existera pas si le champ
nomv = form["visiteur"].value                                    # correspondant est resté vide
else:
nomv ="mais vous ne m'avez pas indiqué votre nom"
print "Content-Type: text/html\n"
print """
<H3>Merci, %s !</H3>
<H4>La phrase que vous m'avez fournie était : </H4>
<H3><FONT Color="red"> %s </FONT></H3>""" % (nomv, text)
histogr ={}
for c in text:
histogr[c] = histogr.get(c, 0) +1
liste = histogr.items()                                           # conversion en une liste de tuples
liste.sort()                                                      # tri de la liste
print "<H4>Fréquence de chaque caractère dans la phrase :</H4>"
for c, f in liste:
print 'le caractère <B>"%s"</B> apparaît %s fois <BR>' % (c, f)
Quand je regarde le log avec easyPHP, il me donne l'erreur : couldn't spawn child process: d:/site internet/easyphp1-8/cgi-bin/elyoo/input_query.py


Merci d'avance, et je rappelle que je débute