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
(ouUser
) 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
);
controllers/RegisterController.php
)
3. Contrôleur d’inscription (-
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
views/register.php
)
4. Vue du formulaire (-
Créer une page HTML contenant le formulaire : - Champ
pseudo
- Champ
email
- Champ
mot de passe
- Champ
confirmation de mot de passe
- Champ
-
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