Aller au contenu principal

3 formations sont désormais disponibles : Python, Flask et JS.

Aller au contenu principal

Le web (HTTP) est "stateless" (sans état). Ça veut dire que le serveur ne se souvient pas de toi entre deux pages.

  • Page 1 : "Salut je suis Bob" -> Serveur : "Salut Bob"
  • Page 2 : "C'est encore moi" -> Serveur : "T'es qui toi ?"

Pour se connecter, on a besoin de Sessions.

Les Cookies

C'est un petit fichier texte que le serveur donne à ton navigateur. "Tiens, garde ce ticket id=123. À chaque fois que tu me parles, montre-moi ce ticket."

Les Sessions Flask

Flask gère ça super simplement. Il stocke les données dans un cookie signé. Ça veut dire que l'utilisateur peut VOIR le contenu du cookie (c'est encodé en base64, pas chiffré), mais il ne peut pas le MODIFIER (grâce à ta SECRET_KEY).

from flask import session

@app.route('/login-simple')
def login_simple():
    # On met une valeur dans le "sac à dos" de l'utilisateur
    session['username'] = 'Bob'
    return "Tu es connecté !"

@app.route('/dashboard')
def dashboard():
    if 'username' in session:
        return f"Salut {session['username']} !"
    return "T'es pas connecté..."

@app.route('/logout')
def logout():
    # On vide le sac à dos
    session.pop('username', None) # ou session.clear()
    return "Au revoir !"

C'est pratique pour stocker des petites choses (préférence de thème sombre, panier d'achat simple...). Mais pour la vraie authentification (Login/Logout pro), on utilise Flask-Login.