Vous pouvez me contacter via Facebook pour questions & suggestions : Page Facebook relative à mon site
Remarquez que durant 20 chapitres de ce tutoriel Python, je n'ai jamais employé le terme "Web".
N'en concluez pas qu'il est impossible de développer des sites web, des applications web avec le langage Python.
Vous allez voir dans ce chapitre comment faire du développement web en Python en utilisant la technologie CGI.
CGI est l'acroynme de Common Gateway Interface.
Cette technologie est désormais dépassée et nous verrons pourquoi. Désormais tout développement web important en Python passe
par l'utilisation d'un framework tel Django ou Flask.
Cependant même avec un framework comme Django ou Flask vous devrez maitriser HTML & CSS voire JavaScript.
Dans ce chapitre vous allez découvrir les gros inconvénients de la technogie CGI qui justifient son abondon progressif et
je présente les principes qui régissent un framework Python pour le web.
Dans ce chapitre je vais vous montrer comment créer un serveur web en Python puis comment réaliser des scripts pouvant être affichés dans un navigateur tel Chrome ou Firefox avec la technologie CGI.
Pour qu'un programme Python puisse être appelé à partir d'un navigateur il faut créer un serveur web.
À la racine de C: créez un nouveau dossier et nommez le "python_web".
Ce nouveau dossier va contenir un script nommé "serveur.py" dont le contenu est présénté ci-dessous.
import http.server port = 8080 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()
Il faut importer le module cgi.
Le code CSS & HTML de la page est contenu dans une chaine multilignes intitulée code_html
Pour afficher tout ce code il suffit donc d'une unique instruction Python : print(code_html) ...
Il faut lancer le serveur HTTP.
Lancez le terminal windows ("invite de commandes") !
C:\Users\boulanger>cd c:\python_web c:\python_web>python serveur.py Serveur actif sur le port : 8080
Dans l'invite de commandes j'ai donc saisi : cd c:\python_web
puis j'ai saisi : python serveur.py (ou py serveur.py)
Alors je bascule sur le navigateur et je saisis dans la barre d'URL : localhost:8080/menu.py
La page web s'affiche alors.
Un problème d'encodage ! Mais comme la technologie CGI est obsolète je n'évoquerai pas la solution avec cet outil ...
Pour lancer le serveur local il y a une autre solution encore plus rapide : à partir de l'explorateur de fichiers de windows double-cliquez sur le fichier "serveur.py".
Je vous propose désormais une page web écrite en python qui sera utilisée par le visiteur pour se connecter à son espace personnel. Il y aura donc un interaction entre le script et le visiteur (qui doit effectuer des saisies).