Giter Club home page Giter Club logo

exo2_base_de_donn-e's Introduction

Python3 : Interagir avec une base de données via Python

Dans cet exercice, vous allez simuler le fonctionnement d’un espace privé auquel les utilisateurs accèdent grâce à leur compte personnel protégé par mot de passe. Vous allez ainsi travailler les requêtes en bases de données, mais aussi la gestion des mots de passe

Déroulement

  • Une page d’accueil, qui permet à l’utilisateur de choisir entre se connecter avec un compte existant ou se créer un compte
  • Pour se créer un compte l’utilisateur a accès à une série de prompts demandant les informations nécessaires. Une fois les informations rentrées, celles-ci sont enregistrées en base de données.
  • Si le pseudo ou le mail rentrés par l’utilisateur sont déjà pris on demande à l’utilisateur d’en entrer un nouveau
  • Pour se connecter l’utilisateur doit rentrer le pseudo et le mot de passe choisis lors de la création du compte. Si les identifiants sont corrects, l’utilisateur accède alors à la page de son profil, autrement on lui affiche un message d’erreur.
  • Sur sa page de profil l’utilisateur peut choisir de supprimer son compte, ses informations sont alors effacées de la base de données. Il peut également choisir de mettre à jour une information en indiquant la colonne à modifier et sa nouvelle valeur
  • L’utilisateur peut quitter l’application à tout moment en tapant une commande de votre choix Spécifications techniques:
  • Les mots de passe sont cryptés en base de données, autrement-dit ils ne sont pas stockés en clair, ils sont illisibles en l’état par un être humain. Cette base de données ne contiendra qu’une seule table: users, dont voici la structure.
    • id (integer, clé primaire, non nul)
    • name (varchar maximum 50 caractères, non nul)
    • firstname (varchar maximum 50 caractères, non nul)
    • pseudo (varchar maximum 50 caractères, unique, non nul)
    • email (varchar maximum 250 caractères, unique, non nul)
    • age (integer, non nul)
    • password (varchar de minimum 64 caractères, non nul

Critères de qualité

Votre programme devra :

un minimum stylisé
Code structuré et commenté

Bonus

Si vous souhaitez aller plus loin, vous pouvez également rajouter des vérifications de sécurité. Par exemple:

  • S’assurer que les chaînes de caractères pour le nom et le prénom ne contiennent pas de caractères spéciaux
  • S’assurer que l’âge est bien un nombre
  • S’assurer que l’adresse mail est une adresse mail valide
  • Saler le mot de passe

Ressources

    https://auth0.com/blog/adding-salt-to-hashing-a-better-way-to-store-passwords/

exo2_base_de_donn-e's People

Contributors

fberrabah avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.