Aller au contenu

TP2⚓︎

Réaliser un compte rendu de ce TP en html/css.

Mes premières requêtes⚓︎

  1. A partir de l'ENT, aller dans Capytale, créer un nouveau notebook.

  2. Recopier les lignes suivantes et les éxécuter:

import requests
r = requests.get('https://html.brunache.ovh/')
r.encoding = 'utf-8'
print(r.headers)
print(r.text)

D'après vos connaissances, vos recherches ou votre intuition, que font ces lignes de code.

  1. Réaliser une requête get sur la ressource https://html.brunache.ovh/conversation.html

  2. Réaliser une requête vidant la conversation (vérifier que cela fonctionne en allant sur le site https://html.brunache.ovh/conversation.html. On rappelle que le fichier sur le serveur produisant le fichier conversation.html est le suivant:

import os
from flask import Flask, render_template, request, redirect

template_dir = os.path.join(os.path.dirname(__file__), 'templates')

# Flask est un micro framework open-source de developpement
# web en Python
# creation de l'application web
app = Flask('Conversation', template_folder=template_dir)
conversationlist = ['Hello', 'Bonjour']  # la conversation a afficher


@app.route('/conversation.html')  # le chemin appelant la fonction index()
def conversation():
    """ Retourne la page web venant du patron avec la variable conversation
    """
    return render_template('conversation.html', messages=conversationlist)


# Associe au chemin message la fonction ci-dessous
@app.route('/message', methods=['POST'])
def nouveau_message():
    """ Ajoute un message a la conversation """
    message = request.form['Message']  # Extrait le message du formulaire
    # Insere le message au debut de la conversation
    conversationlist.insert(0, message)
    return redirect('/conversation.html')  # Renvoie la page dynamique


@app.route('/empty', methods=['POST'])
def vider():
    conversationlist.clear()
    return redirect('/conversation.html')


@app.route('/recherche.html')
def recherche():
    recherchelist = []
    for message in conversationlist:
        if request.args.get('motclef') in message:
            recherchelist.append(message)
    return render_template('conversation.html', messages=recherchelist)


if __name__ == "__main__":
    app.run()
5. Sachant que faire une requête HTTP post sur la ressource https://httpbin.org/post avec l'information clef valant valeur se fait en faisant:
r = requests.post('https://httpbin.org/post', data={'clef': 'valeur'})
réaliser une requete permettant de rajouter le message Bonjour votre prénom à la conversation (vérifier en allant sur le site https://html.brunache.ovh/conversation.html)

  1. Dans le navigateur taper dans la barre d'URL: https://html.brunache.ovh/recherche.html?motclef=Hello, essayer de comprendre ce que cela fait, changer éventuellement le mot clef dans l'URL.

  2. Faire la même genre de requête dans capytale.