Pour presenter le principe simplifié, on utilisera un fichier json pour stocker les données. (On devrait normalement utiliser une base de données. La gestion des utilisateur avec sqlite est presentée ici : https://github.com/YannBouyeron/bottle-session)
- rechercher si un cookie de connection est présent.
- si il est présent, recuperer son contenu (le mail de l’user) et retourner un texte personnalisé + un bouton de déconnection (action =
/logout
) - si il est absent, retourner un formulaire de connection (action = /login, avec 2 champs: mail et pwd) et un formulaire d’inscription (action = /creat, avec 3 champs: mail, pwd1, pwd2)
- recuperer les données du formulaire creat (mail, pwd1, pwd2)
- verifier que pwd1 et pwd2 soient identiques
- si ils ne sont pas identiques faire une redirection vers
/
- hasher pwd
- recuperer votre dictionnaire de comptes depuis votre fichier json si il existe
- créer ou modifier votre dictionnaire de comptes pour y ajouter le mail et le pwd hasher de l’user
- jsoniser votre dictionnaire de comptes
- faire une redirection vers
/
- recuperer votre dictionnaire de comptes depuis votre fichier json
- recuperer les données du formulaire login (mail, pwd)
- hasher le pwd
- verifier que mail soit dans le dico, et que le pwd associé (qui est déjà hashé) soit identique au pwd hashé
- si c’est le cas, créer un cookie de connection contenant le mail de l’user
- faire une redirection vers
/
- créer un cookie de connection avec un max_age de 0 (il va remplacer le cookie existant et expirer immédiatement )
- faire une redirection vers
/