Architecture client-serveur avec serveur applicatif et base de données
Installation
Flask est un micro Framework (une petite boite à outils) web.
Pour commencer, comme d’habitude :
pip install flask
Commencez par crée un dossier appelé site et à l’intérieur le créez un fichier app.py.
Dans ce fichier app.py, tapez le code suivant ;
from flask import Flask
app = Flask(__name__)
@app.route('/')
def home():
return 'Vive la spécialité NSI!'
if __name__ == '__main__':
app.run(debug=True)
Ce code simple petit code permet de lancer un serveur flask. Si vous exécutez le fichier vous pourrez visiter votre site à l’adresse : http://127.0.0.1:5000/
La fonction home() est associée à la route /, si nous avions utilisé /home/ plutôt que /, le message aurait été visible à l’adresse http://127.0.0.1:5000/home/
Vous pouvez tester avec le code suivant :
from flask import Flask
app = Flask(__name__)
@app.route('/')
def home():
return 'Vive la spécialité NSI!'
@app.route('/home/')
def home_bis():
return 'Ici c\'est home'
if __name__ == '__main__':
app.run(debug=True)
Maintenant remplacez la chaine ‘Vive la spécialité NSI !’ par la chaine ‘Vive la spécialité NSI ! encadrée de balise html h1.
Que remarquez vous ?
Mais bien plus pratique, on peut retourner un document html grâce à render_template.
Créé, à côté de app.py, un dossier templates et un dossier static. Dans le dossier template crée trois pages html : home.html, page2.html, page3.html.
Vous devriez avoir la structure suivante :
Ajoutez du contenu html dans les fichiers et mettez à jour votre fichier app.py comme ceci :
from flask import Flask, render_template
app = Flask(__name__)
# Ici on va indiquer des routes.
# Les routes permettent de rediriger vers différents pages du site.
@app.route('/')
def home():
return render_template('home.html')
@app.route('/page2')
def page2():
return render_template('page2.html')
@app.route('/page3')
def page3():
return render_template('page3.html')
if __name__ == '__main__':
app.run(debug=True)