ajout de la fonctionnalité login et modification profil
This commit is contained in:
@@ -0,0 +1,122 @@
|
||||
<?php
|
||||
|
||||
use Illuminate\Database\Migrations\Migration;
|
||||
use Illuminate\Database\Schema\Blueprint;
|
||||
use Illuminate\Support\Facades\Schema;
|
||||
|
||||
return new class extends Migration
|
||||
{
|
||||
public function up(): void
|
||||
{
|
||||
// Créer la table Role
|
||||
Schema::create('roles', function (Blueprint $table) {
|
||||
$table->id('ID_Role');
|
||||
$table->string('Nom', 100)->unique();
|
||||
});
|
||||
|
||||
// Créer la table Utilisateur
|
||||
Schema::create('utilisateurs', function (Blueprint $table) {
|
||||
$table->id('ID_Utilisateur');
|
||||
$table->string('Email', 255)->unique();
|
||||
$table->string('MotDePasse', 255);
|
||||
$table->string('Pseudo', 100)->unique()->nullable();
|
||||
$table->timestamp('DateInscription')->useCurrent();
|
||||
$table->enum('Statut', ['Actif', 'Inactif'])->default('Actif');
|
||||
$table->foreignId('ID_Role')->constrained('roles', 'ID_Role');
|
||||
});
|
||||
|
||||
// Créer la table Type_Ressource
|
||||
Schema::create('type_ressources', function (Blueprint $table) {
|
||||
$table->id('ID_Type_Ressource');
|
||||
$table->string('Format', 100)->unique();
|
||||
});
|
||||
|
||||
// Créer la table Categorie
|
||||
Schema::create('categories', function (Blueprint $table) {
|
||||
$table->id('ID_Categorie');
|
||||
$table->string('Nom', 100);
|
||||
$table->text('Description')->nullable();
|
||||
});
|
||||
|
||||
// Créer la table Ressource
|
||||
Schema::create('ressources', function (Blueprint $table) {
|
||||
$table->id('ID_Ressource');
|
||||
$table->string('Titre', 255);
|
||||
$table->text('Contenu')->nullable();
|
||||
$table->string('URL', 2048)->nullable();
|
||||
$table->timestamp('DateCreation')->useCurrent();
|
||||
$table->enum('Visibilite', ['Privée', 'Partagée', 'Publique'])->default('Privée');
|
||||
$table->enum('Statut', ['En attente', 'Publiée', 'Suspendue', 'Rejetée'])->default('En attente');
|
||||
$table->foreignId('ID_Type_Ressource')->constrained('type_ressources', 'ID_Type_Ressource');
|
||||
$table->foreignId('ID_Moderateur_Validation')->nullable()->constrained('utilisateurs', 'ID_Utilisateur');
|
||||
$table->foreignId('ID_Utilisateur_Createur')->constrained('utilisateurs', 'ID_Utilisateur');
|
||||
});
|
||||
|
||||
// Créer la table Commentaire
|
||||
Schema::create('commentaires', function (Blueprint $table) {
|
||||
$table->id('ID_Commentaire');
|
||||
$table->text('Texte');
|
||||
$table->timestamp('DatePublication')->useCurrent();
|
||||
$table->enum('Statut', ['En attente', 'Approuvé', 'Rejeté'])->default('En attente');
|
||||
$table->foreignId('ID_Parent_Commentaire')->nullable()->constrained('commentaires', 'ID_Commentaire');
|
||||
$table->foreignId('ID_Utilisateur')->constrained('utilisateurs', 'ID_Utilisateur');
|
||||
$table->foreignId('ID_Ressource')->constrained('ressources', 'ID_Ressource');
|
||||
});
|
||||
|
||||
// Créer la table Activite
|
||||
Schema::create('activites', function (Blueprint $table) {
|
||||
$table->id('ID_Instance');
|
||||
$table->timestamp('DateDebut')->useCurrent();
|
||||
$table->timestamp('DateFin')->useCurrent();
|
||||
$table->foreignId('ID_Utilisateur_Hote')->constrained('utilisateurs', 'ID_Utilisateur');
|
||||
$table->foreignId('ID_Ressource')->constrained('ressources', 'ID_Ressource');
|
||||
});
|
||||
|
||||
// Créer la table Activite_Message
|
||||
Schema::create('activite_messages', function (Blueprint $table) {
|
||||
$table->id('ID_Message');
|
||||
$table->text('Message');
|
||||
$table->timestamp('Timestamp')->useCurrent();
|
||||
$table->foreignId('ID_Utilisateur_Emetteur')->constrained('utilisateurs', 'ID_Utilisateur');
|
||||
$table->foreignId('ID_Instance')->constrained('activites', 'ID_Instance');
|
||||
});
|
||||
|
||||
// Créer la table Ressource_Categorie
|
||||
Schema::create('ressource_categories', function (Blueprint $table) {
|
||||
$table->foreignId('ID_Ressource')->constrained('ressources', 'ID_Ressource');
|
||||
$table->foreignId('ID_Categorie')->constrained('categories', 'ID_Categorie');
|
||||
$table->primary(['ID_Ressource', 'ID_Categorie']);
|
||||
});
|
||||
|
||||
// Créer la table Utilisateur_Progression
|
||||
Schema::create('utilisateur_progressions', function (Blueprint $table) {
|
||||
$table->foreignId('ID_Utilisateur')->constrained('utilisateurs', 'ID_Utilisateur');
|
||||
$table->foreignId('ID_Ressource')->constrained('ressources', 'ID_Ressource');
|
||||
$table->enum('Statut_Exploitation', ['Non commencé', 'Exploitée', 'Mis de côté'])->default('Non commencé');
|
||||
$table->boolean('Est_Favori')->default(false);
|
||||
$table->primary(['ID_Utilisateur', 'ID_Ressource']);
|
||||
});
|
||||
|
||||
// Créer la table Activite_Participant
|
||||
Schema::create('activite_participants', function (Blueprint $table) {
|
||||
$table->foreignId('ID_Instance')->constrained('activites', 'ID_Instance');
|
||||
$table->foreignId('ID_Utilisateur_Participant')->constrained('utilisateurs', 'ID_Utilisateur');
|
||||
$table->primary(['ID_Instance', 'ID_Utilisateur_Participant']);
|
||||
});
|
||||
}
|
||||
|
||||
public function down(): void
|
||||
{
|
||||
Schema::dropIfExists('activite_participants');
|
||||
Schema::dropIfExists('utilisateur_progressions');
|
||||
Schema::dropIfExists('ressource_categories');
|
||||
Schema::dropIfExists('activite_messages');
|
||||
Schema::dropIfExists('activites');
|
||||
Schema::dropIfExists('commentaires');
|
||||
Schema::dropIfExists('ressources');
|
||||
Schema::dropIfExists('categories');
|
||||
Schema::dropIfExists('type_ressources');
|
||||
Schema::dropIfExists('utilisateurs');
|
||||
Schema::dropIfExists('roles');
|
||||
}
|
||||
};
|
||||
@@ -13,6 +13,11 @@ return new class extends Migration
|
||||
{
|
||||
Schema::create('utilisateurs', function (Blueprint $table) {
|
||||
$table->id();
|
||||
$table->string('Email')->unique();
|
||||
$table->string('MotDePasse');
|
||||
$table->string('Pseudo')->nullable();
|
||||
$table->unsignedBigInteger('ID_Role')->nullable();
|
||||
$table->string('Statut')->default('Actif');
|
||||
$table->timestamps();
|
||||
});
|
||||
}
|
||||
|
||||
@@ -0,0 +1,16 @@
|
||||
<?php
|
||||
|
||||
namespace Database\Seeders;
|
||||
|
||||
use App\Models\Role;
|
||||
use Illuminate\Database\Seeder;
|
||||
|
||||
class RoleSeeder extends Seeder
|
||||
{
|
||||
public function run(): void
|
||||
{
|
||||
Role::firstOrCreate(['Nom' => 'Utilisateur']);
|
||||
Role::firstOrCreate(['Nom' => 'Modérateur']);
|
||||
Role::firstOrCreate(['Nom' => 'Administrateur']);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user