Nantes Université

Skip to content

Création du formulaire de création de compte

Issue : Création du formulaire de création de compte

Objectif :
Permettre à un nouvel utilisateur de créer un compte sur la plateforme. Cette tâche implique à la fois le développement frontend (formulaire) et backend (modèle, base de données, validation, etc.).


Étapes à réaliser :

1. Modèle utilisateur (backend)

  • Créer la classe Utilisateur (ou User) avec les attributs contenu dans le modèle SQL
  • Ajouter les règles de validation (email valide, mot de passe fort, pseudo unique, etc.)
  • Ajouter une méthode save() pour insérer un nouvel utilisateur en BDD.
  • Créer la table utilisateurs via une migration ou un script SQL :

2. Base de données

  • Créer la table utilisateurs via une migration ou un script SQL :
CREATE TABLE utilisateurs (
  id INT AUTO_INCREMENT PRIMARY KEY,
  pseudo VARCHAR(50) NOT NULL UNIQUE,
  email VARCHAR(100) NOT NULL UNIQUE,
  mot_de_passe VARCHAR(255) NOT NULL,
  date_creation DATETIME DEFAULT CURRENT_TIMESTAMP
);

3. Contrôleur d’inscription (controllers/RegisterController.php)

  • Ajouter une méthode showForm() pour afficher le formulaire (GET)
  • Ajouter une méthode handleForm() pour traiter l'inscription (POST)
    • Valider les champs (format email, longueur mot de passe, etc.)
    • Vérifier que l’email/pseudo ne sont pas déjà utilisés
    • Hacher le mot de passe (avec password_hash)
    • Sauvegarder l'utilisateur en BDD
    • Rediriger vers la page de connexion ou dashboard

4. Vue du formulaire (views/register.php)

  • Créer une page HTML contenant le formulaire :
    • Champ pseudo
    • Champ email
    • Champ mot de passe
    • Champ confirmation de mot de passe
  • Afficher les erreurs (email déjà utilisé, mot de passe trop faible, etc.)
  • Ajouter un lien vers la page de connexion

5. Sécurité

  • Hachage du mot de passe (password_hash)
  • Protection contre les injections SQL (via PDO préparé)

🔗 Fichiers à créer :

  • models/Utilisateur.php
  • controllers/RegisterController.php
  • views/register.php
  • Mise à jour du routeur pour /register (GET/POST)
  • autres ?

🧩 Dépendances à venir :

  • Système de connexion (authentification)
  • Système de session utilisateur
Modification effectuée par Firdaws BEAUFILS