diff --git a/app/Models/Activite.php b/app/Models/Activite.php
new file mode 100644
index 0000000..2723f8a
--- /dev/null
+++ b/app/Models/Activite.php
@@ -0,0 +1,10 @@
+belongsTo(Utilisateur::class, 'ID_Utilisateur');
+ }
+
+ // Relation récursive pour les réponses aux commentaires [cite: 60, 275]
+ public function reponses() {
+ return $this->hasMany(Commentaire::class, 'ID_Parent_Commentaire');
+ }
+}
\ No newline at end of file
diff --git a/app/Models/Ressource.php b/app/Models/Ressource.php
new file mode 100644
index 0000000..7d51091
--- /dev/null
+++ b/app/Models/Ressource.php
@@ -0,0 +1,26 @@
+belongsTo(TypeRessource::class, 'ID_Type_Ressource');
+ }
+
+ public function categories() {
+ // Relation Many-to-Many via la table pivot Ressource_Categorie [cite: 175]
+ return $this->belongsToMany(Categorie::class, 'Ressource_Categorie', 'ID_Ressource', 'ID_Categorie');
+ }
+
+ public function createur() {
+ return $this->belongsTo(Utilisateur::class, 'ID_Utilisateur_Createur');
+ }
+
+ public function commentaires() {
+ return $this->hasMany(Commentaire::class, 'ID_Ressource');
+ }
+}
\ No newline at end of file
diff --git a/app/Models/Role.php b/app/Models/Role.php
new file mode 100644
index 0000000..3f2c7fc
--- /dev/null
+++ b/app/Models/Role.php
@@ -0,0 +1,10 @@
+ */
- use HasFactory, Notifiable;
-
- /**
- * The attributes that are mass assignable.
- *
- * @var list
- */
- protected $fillable = [
- 'name',
- 'email',
- 'password',
- ];
-
- /**
- * The attributes that should be hidden for serialization.
- *
- * @var list
- */
- protected $hidden = [
- 'password',
- 'remember_token',
- ];
-
- /**
- * Get the attributes that should be cast.
- *
- * @return array
- */
- protected function casts(): array
- {
- return [
- 'email_verified_at' => 'datetime',
- 'password' => 'hashed',
- ];
- }
-}
diff --git a/app/Models/Utilisateur.php b/app/Models/Utilisateur.php
new file mode 100644
index 0000000..3c06406
--- /dev/null
+++ b/app/Models/Utilisateur.php
@@ -0,0 +1,42 @@
+ 'encrypted',
+ 'MotDePasse' => 'hashed',
+ 'DateInscription' => 'datetime',
+ ];
+}
\ No newline at end of file
diff --git a/database/migrations/2026_03_23_211437_create_roles_table.php b/database/migrations/2026_03_23_211437_create_roles_table.php
new file mode 100644
index 0000000..0b4fe21
--- /dev/null
+++ b/database/migrations/2026_03_23_211437_create_roles_table.php
@@ -0,0 +1,27 @@
+id();
+ $table->timestamps();
+ });
+ }
+
+ /**
+ * Reverse the migrations.
+ */
+ public function down(): void
+ {
+ Schema::dropIfExists('roles');
+ }
+};
diff --git a/database/migrations/2026_03_23_211437_create_utilisateurs_table.php b/database/migrations/2026_03_23_211437_create_utilisateurs_table.php
new file mode 100644
index 0000000..beb9019
--- /dev/null
+++ b/database/migrations/2026_03_23_211437_create_utilisateurs_table.php
@@ -0,0 +1,27 @@
+id();
+ $table->timestamps();
+ });
+ }
+
+ /**
+ * Reverse the migrations.
+ */
+ public function down(): void
+ {
+ Schema::dropIfExists('utilisateurs');
+ }
+};
diff --git a/database/migrations/2026_03_23_211438_create_activites_table.php b/database/migrations/2026_03_23_211438_create_activites_table.php
new file mode 100644
index 0000000..71a9ef9
--- /dev/null
+++ b/database/migrations/2026_03_23_211438_create_activites_table.php
@@ -0,0 +1,27 @@
+id();
+ $table->timestamps();
+ });
+ }
+
+ /**
+ * Reverse the migrations.
+ */
+ public function down(): void
+ {
+ Schema::dropIfExists('activites');
+ }
+};
diff --git a/database/migrations/2026_03_23_211438_create_categories_table.php b/database/migrations/2026_03_23_211438_create_categories_table.php
new file mode 100644
index 0000000..24c1532
--- /dev/null
+++ b/database/migrations/2026_03_23_211438_create_categories_table.php
@@ -0,0 +1,27 @@
+id();
+ $table->timestamps();
+ });
+ }
+
+ /**
+ * Reverse the migrations.
+ */
+ public function down(): void
+ {
+ Schema::dropIfExists('categories');
+ }
+};
diff --git a/database/migrations/2026_03_23_211438_create_commentaires_table.php b/database/migrations/2026_03_23_211438_create_commentaires_table.php
new file mode 100644
index 0000000..92f55d9
--- /dev/null
+++ b/database/migrations/2026_03_23_211438_create_commentaires_table.php
@@ -0,0 +1,27 @@
+id();
+ $table->timestamps();
+ });
+ }
+
+ /**
+ * Reverse the migrations.
+ */
+ public function down(): void
+ {
+ Schema::dropIfExists('commentaires');
+ }
+};
diff --git a/database/migrations/2026_03_23_211438_create_ressources_table.php b/database/migrations/2026_03_23_211438_create_ressources_table.php
new file mode 100644
index 0000000..71d31fa
--- /dev/null
+++ b/database/migrations/2026_03_23_211438_create_ressources_table.php
@@ -0,0 +1,27 @@
+id();
+ $table->timestamps();
+ });
+ }
+
+ /**
+ * Reverse the migrations.
+ */
+ public function down(): void
+ {
+ Schema::dropIfExists('ressources');
+ }
+};
diff --git a/database/migrations/2026_03_23_211438_create_type_ressources_table.php b/database/migrations/2026_03_23_211438_create_type_ressources_table.php
new file mode 100644
index 0000000..16b8c3c
--- /dev/null
+++ b/database/migrations/2026_03_23_211438_create_type_ressources_table.php
@@ -0,0 +1,27 @@
+id();
+ $table->timestamps();
+ });
+ }
+
+ /**
+ * Reverse the migrations.
+ */
+ public function down(): void
+ {
+ Schema::dropIfExists('type_ressources');
+ }
+};
diff --git a/public/img/logo-ministere.png b/public/img/logo-ministere.png
new file mode 100644
index 0000000..3a27865
Binary files /dev/null and b/public/img/logo-ministere.png differ
diff --git a/resources/views/layout/footer.blade.php b/resources/views/layout/footer.blade.php
new file mode 100644
index 0000000..8eb1653
--- /dev/null
+++ b/resources/views/layout/footer.blade.php
@@ -0,0 +1,13 @@
+
+
+
+
Projet (RE)Sources Relationnelles
+
Un outil au service de la cohésion sociale.
+
+
+
+
\ No newline at end of file
diff --git a/resources/views/layout/header.blade.php b/resources/views/layout/header.blade.php
new file mode 100644
index 0000000..fa0b09a
--- /dev/null
+++ b/resources/views/layout/header.blade.php
@@ -0,0 +1,34 @@
+
\ No newline at end of file
diff --git a/resources/views/resources.blade.php b/resources/views/resources.blade.php
new file mode 100644
index 0000000..5907c0f
--- /dev/null
+++ b/resources/views/resources.blade.php
@@ -0,0 +1,131 @@
+
+
+
+
+
+ Catalogue - (RE)Sources Relationnelles
+
+
+
+
+
+ @include('layout.header')
+
+
+
+
+
Accédez à des outils et conseils pour renforcer vos liens. Filtrez les ressources selon vos besoins.
+
+
+
+
+
+ Rechercher
+
+
+
+ Catégorie
+
+ Toutes
+ Communication
+ Développement Personnel
+ Gestion de conflit
+
+
+
+ Type de Relation
+
+ Toutes
+ Conjoints
+ Famille (Parents/Enfants)
+ Professionnelle
+ Amis
+
+
+
+ Format
+
+ Tous
+ Article
+ Vidéo
+ Activité / Jeu
+
+
+
+
+
+
+
+
+
📖
+
+
+
L'écoute active en famille
+
Découvrez comment la méthode de l'écoute active peut transformer vos échanges avec vos enfants et réduire les tensions quotidiennes.
+
+ Famille
+ Communication
+
+
+
+
+
+
+
🎲
+
+
+
Activité Collective
+
NOUVEAU
+
+
Le Jeu des Complices
+
Un jeu de cartes interactif à faire en couple ou entre amis pour redécouvrir vos forces communes et vos meilleurs souvenirs.
+
+ Couple
+ Jeu
+
+
+
+ Lancer l'activité
+
+
+
+
+
🎥
+
+
+ Vidéo
+ ✅
+
+
Gérer les conflits au bureau
+
10 minutes pour apprendre à désamorcer une situation tendue avec un collègue sans sacrifier votre bien-être.
+
+ Pro
+ Médiation
+
+
+
+
+
+
+
+
+ @include('layout.footer')
+
+
+
\ No newline at end of file
diff --git a/resources/views/welcome.blade.php b/resources/views/welcome.blade.php
index 45eeb7c..9b45a94 100644
--- a/resources/views/welcome.blade.php
+++ b/resources/views/welcome.blade.php
@@ -36,34 +36,7 @@
Aller au contenu principal
-
+ @include('layout.header')
@@ -76,7 +49,7 @@
La plateforme citoyenne dédiée à la qualité des liens : famille, amis, couple ou collègues.
-
+
Explorer les ressources
@@ -124,19 +97,6 @@
-
-
-
-
Projet (RE)Sources Relationnelles
-
Un outil au service de la cohésion sociale.
-
-
-
-
-
+ @include('layout.footer')