Un cookie est une variable stockée sur l’ordinateur de l’utilisateur et non pas au niveau du programme. Cela permet à chaque utilisateur de notre site d’avoir des valeurs personnalisées.
Par exemple sur un jeu en ligne on peut stocker le score de chaque joueur localement dans un cookie, ou encore quand on veut mettre en place un système de login le cookie peut permettre de retenir le nom de l’utilisateur.
Une session dans Flask est un espace dans lequel on va pouvoir enregistrer des cookies sur l’ordinateur des utilisateurs. Les cookies permettent de stocker des informations différentes selon l’utilisateur. C’est un dictionnaire dans lequel on va stocker toutes les variables que l’on souhaite.
Quand sur un site internet on vous demande quels cookies vous acceptez, les cookies que nous allons utiliser sont les cookies fonctionnels, ils sont nécessaire au bon fonctionnement du site, sans ça notre programme ne peut pas fonctionner.
Pour créer une session, on a besoin de deux choses:
Pour l’import, il suffit de l’importer depuis flask
Pour créer la clef de sécurité, juste après avoir créé notre application, on va configurer le paramètre secret_key.
Si l’on veut éviter d’écrire le mot de passe directement dans notre code, on peut le sécuriser avec une variable d’environnement.
La session est un dictionnaire dans lequel on va pouvoir créer de nouvelles clefs pour y stocker de nouvelles valeurs.
On créé une nouvelle clef dans la session avec la valeur qu’il faut stocker dans cette clef
Pour accéder à la valeur stockée, on y accède avec la clef.
Pour supprimer toutes les valeurs du dictionnaire on peut utiliser la fonction clear.
Par exemple si l’on souhaite créer une variable qui stocke le score de l’utilisateur, on peut créer une clef score dans notre dictionnaire et ajouter 1 à cette valeur quand on le souhaite
On créé la clef score dans les cookies de l’utilisateur et on l’initialise à 0
On ajoute 1 à la valeur du score stockée dans les cookies de l’utilisateur
Autre exemple si l’on veut mettre en place un système de login on peut vouloir se souvenir du nom de l’utilisateur
Lors de la connexion, on créé une clef nom pour pouvoir mémoriser et afficher le prénom
Lors de la déconnexion, on oublie le prénom de l’utilisateur en supprimant les cookies