diff --git a/codeigniter/application/controllers/Artistes.php b/codeigniter/application/controllers/Artistes.php
index 7377849..f721b42 100644
--- a/codeigniter/application/controllers/Artistes.php
+++ b/codeigniter/application/controllers/Artistes.php
@@ -35,18 +35,17 @@ class Artistes extends CI_Controller {
     }
 
     public function search(){
-        $query = $this->input->get('query');
-        $albums = $this->model_music_artistes->searchArtistes($query);
-        $num_results = count($albums);
-        $this->load->view('layout/header');
-        $this->load->view('artistes_list', [
-            'albums' => $albums, 
-            'sort' => $this->sort, 
-            'num_results' => $num_results, 
-            'is_search' => true
-        ]);
-        $this->load->view('layout/footer');
-    }
+		$query = $this->input->get('query');
+		$artistes = $this->model_music_artistes->searchArtistes($query);
+		$num_results = count($artistes);
+		$this->load->view('layout/header');
+		$this->load->view('artistes_list', [
+			'artistes' => $artistes, 
+			'num_results' => $num_results, 
+			'is_search' => true
+		]);
+		$this->load->view('layout/footer');
+	}
 
 }
 
diff --git a/codeigniter/application/controllers/Playlist.php b/codeigniter/application/controllers/Playlist.php
index 215e7a5..dd3f219 100644
--- a/codeigniter/application/controllers/Playlist.php
+++ b/codeigniter/application/controllers/Playlist.php
@@ -122,5 +122,26 @@ public function choix_playlist($albumId) {
         }
         redirect('playlist/view/' . $playlistId);
     }
+
+    public function generate(){
+        $this->load->view('layout/header');
+        $this->load->view('playlist_generate');
+        $this->load->view('layout/footer');
+    }
+
+    public function generate_random(){
+        $numSongs = (int)$this->input->post('numSongs');
+        $playlistName = $this->input->post('playlistName');
+        $userId = $this->session->userdata('user_id');
+    
+        if ($numSongs > 0 && !empty($playlistName)) {
+            $playlistId = $this->model_music->generate_random_playlist($numSongs, $playlistName, $userId);
+            redirect('playlist/view/' . $playlistId);
+        } else {
+            echo "Erreur : Veuillez entrer un nombre de chansons valide et un nom de playlist.";
+        }
+    }
+    
+    
 }
 ?>
diff --git a/codeigniter/application/models/Model_music.php b/codeigniter/application/models/Model_music.php
index bf0852f..ab1d288 100644
--- a/codeigniter/application/models/Model_music.php
+++ b/codeigniter/application/models/Model_music.php
@@ -17,6 +17,27 @@ class Model_music extends CI_Model {
         return $query->result();
     }
 
+    public function get_tri_Albums($Ctri){
+		$orderBy = '';
+		if ($Ctri == 'year ASC') {
+			$orderBy = 'ORDER BY year ASC';
+		} elseif ($Ctri == 'year DESC') {
+			$orderBy = 'ORDER BY year DESC';
+		} elseif ($Ctri == 'ASC' || $Ctri == 'DESC') {
+			$orderBy = "ORDER BY album.name $Ctri";
+		}
+	
+		$query = $this->db->query(
+			"SELECT album.name, album.id, year, artist.name as artistName, genre.name as genreName, jpeg 
+			FROM album 
+			JOIN artist ON album.artistid = artist.id
+			JOIN genre ON genre.id = album.genreid
+			JOIN cover ON cover.id = album.coverid
+			$orderBy"
+		);
+		return $query->result();
+	}
+
 
     public function getArtistes(){
         $query = $this->db->query(
@@ -75,61 +96,32 @@ class Model_music extends CI_Model {
         return $query->result();
     }
 
-    public function get_tri_Albums($Ctri){
-		$orderBy = '';
-		if ($Ctri == 'year ASC') {
-			$orderBy = 'ORDER BY year ASC';
-		} elseif ($Ctri == 'year DESC') {
-			$orderBy = 'ORDER BY year DESC';
-		} elseif ($Ctri == 'ASC' || $Ctri == 'DESC') {
-			$orderBy = "ORDER BY album.name $Ctri";
-		}
-	
-		$query = $this->db->query(
-			"SELECT album.name, album.id, year, artist.name as artistName, genre.name as genreName, jpeg 
-			FROM album 
-			JOIN artist ON album.artistid = artist.id
-			JOIN genre ON genre.id = album.genreid
-			JOIN cover ON cover.id = album.coverid
-			$orderBy"
-		);
-		return $query->result();
-	}
-
 	public function getGenres(){
 		$query = $this->db->query("SELECT * FROM genre");
 		return $query->result();
 	}
 	
-	public function searchAlbums($query, $genre){
-		$sql = "SELECT album.name, album.id, year, artist.name as artistName, genre.name as genreName, jpeg 
-				FROM album 
-				JOIN artist ON album.artistid = artist.id
-				JOIN genre ON genre.id = album.genreid
-				JOIN cover ON cover.id = album.coverid";
-	
-		$conditions = [];
-		$params = [];
-	
-		if (!empty($query)) {
-			$conditions[] = "(album.name LIKE ? OR artist.name LIKE ?)";
-			$params[] = "%{$query}%";
-			$params[] = "%{$query}%";
-		}
-	
-		if (!empty($genre)) {
-			$conditions[] = "genre.id = ?";
-			$params[] = $genre;
-		}
-	
-		if (count($conditions) > 0) {
-			$sql .= " WHERE " . implode(' AND ', $conditions);
-		}
+    public function searchAlbums($query, $genre){
+        $sql = "SELECT album.name, album.id, year, artist.name as artistName, genre.name as genreName, jpeg 
+            FROM album
+            JOIN artist ON album.artistid = artist.id 
+            JOIN genre ON genre.id = album.genreid 
+            JOIN cover ON cover.id = album.coverid 
+            WHERE album.name LIKE ? OR artist.name LIKE ?
+            ORDER BY album.id ASC";
+    
+        // Paramètres pour les conditions de recherche
+        $params = ["%{$query}%", "%{$query}%"];
         
-		$sql .= " ORDER BY album.id ASC";
-		$query = $this->db->query($sql, $params);
-		return $query->result();
-	}
+        if (!empty($genre)) {
+            $sql .= " AND genre.id = ?";
+            $params[] = $genre;
+        }
+
+        $query = $this->db->query($sql, $params);
+        return $query->result();
+    }
+    
 
     public function createPlaylist($name, $userId) {
         $data = array(
@@ -179,5 +171,22 @@ class Model_music extends CI_Model {
         $query = $this->db->get_where('song', array('name' => $songName));
         return $query->row(); 
     }
+
+    public function generate_random_playlist($numSongs, $playlistName, $userId) {
+        $query = $this->db->query(
+            "SELECT id FROM song ORDER BY RAND() LIMIT ?", array((int)$numSongs)
+        );
+        $songs = $query->result();
+    
+        $playlistId = $this->createPlaylist($playlistName, $userId);
+    
+        foreach ($songs as $song) {
+            $this->addSongToPlaylist($playlistId, $song->id);
+        }
+    
+        return $playlistId;
+    }
+    
+    
     
 }
\ No newline at end of file
diff --git a/codeigniter/application/models/Model_music_artistes.php b/codeigniter/application/models/Model_music_artistes.php
index 8abbc80..5e661f3 100644
--- a/codeigniter/application/models/Model_music_artistes.php
+++ b/codeigniter/application/models/Model_music_artistes.php
@@ -38,31 +38,17 @@ class Model_music_artistes extends CI_Model {
 	}
 
 
-    public function searchArtistes($query){
+	public function searchArtistes($query){
+		// Requête SQL principale pour la recherche d'artistes par nom
 		$sql = "SELECT artist.id AS artistId, artist.name AS artistName, album.name AS albumName, album.id AS albumId, album.year, cover.jpeg
-            FROM album
-            INNER JOIN artist ON album.artistId = artist.id
-            JOIN cover ON cover.id = album.coverId
-            GROUP BY artist.name, album.year";
+			FROM album
+			JOIN artist ON album.artistId = artist.id
+			JOIN cover ON cover.id = album.coverId
+			WHERE artist.name LIKE ?
+			GROUP BY artist.name, album.year
+			ORDER BY artist.name ASC";
 	
-		$conditions = [];
-		$params = [];
-	
-		if (!empty($query)) {
-			$conditions[] = "(album.name LIKE ? OR artist.name LIKE ?)";
-			$params[] = "%{$query}%";
-			$params[] = "%{$query}%";
-		}
-	
-	
-		if (count($conditions) > 0) {
-			$sql .= " WHERE " . implode(' AND ', $conditions);
-		}
-	
-		$sql .= " ORDER BY album.id ASC";
-	
-		$query = $this->db->query($sql, $params);
+		$query = $this->db->query($sql, ["%{$query}%"]);
 		return $query->result();
-	}
-
+	}	
 }
diff --git a/codeigniter/application/views/artistes_list.php b/codeigniter/application/views/artistes_list.php
index 409a25e..de29c5c 100644
--- a/codeigniter/application/views/artistes_list.php
+++ b/codeigniter/application/views/artistes_list.php
@@ -18,7 +18,7 @@
     </form>
 	
 	<?php if(isset($is_search) && $is_search): ?>
-        <form action="<?= site_url('Albums'); ?>" method="get" class="back-form">
+        <form action="<?= site_url('Artistes'); ?>" method="get" class="back-form">
             <button type="submit" class="back-button">Retour à la liste complète</button>
         </form>
     <?php endif; ?>
diff --git a/codeigniter/application/views/playlist_generate.php b/codeigniter/application/views/playlist_generate.php
new file mode 100644
index 0000000..587fd2e
--- /dev/null
+++ b/codeigniter/application/views/playlist_generate.php
@@ -0,0 +1,9 @@
+<h5>Générer une Playlist Aléatoire</h5>
+
+<form action="<?= site_url('playlist/generate_random'); ?>" method="post" class="generate-playlist-form">
+    <input type="text" name="playlistName" placeholder="Nom de la playlist" required>
+    <input type="number" name="numSongs" placeholder="Nombre de chansons" required>
+    <button type="submit">Générer</button>
+</form>
+
+<a href="<?= site_url('playlist'); ?>" class="btn btn-secondary">Retour aux playlists</a>
diff --git a/codeigniter/application/views/playlist_list.php b/codeigniter/application/views/playlist_list.php
index f1cea33..d84f91d 100644
--- a/codeigniter/application/views/playlist_list.php
+++ b/codeigniter/application/views/playlist_list.php
@@ -6,6 +6,10 @@
     <button type="submit">Créer</button>
 </form>
 
+<form action="<?= site_url('playlist/generate'); ?>" method="get" class="generate-playlist-form">
+    <button type="submit">Générer une Playlist</button>
+</form>
+
 <!-- Affichez les playlist que nous avons -->
 <section class="playlists">
     <?php foreach($playlists as $playlist): ?>
@@ -15,7 +19,7 @@
                     <?= anchor("playlist/view/{$playlist->id}", "{$playlist->name}"); ?>
                 </header>
                 <!-- Bouton pour supprimer la playlist -->
-                <form action="<?= site_url('playlist/delete/' . $playlist->id); ?>" method="post" style="display:inline;">
+                <form action="<?= site_url('playlist/delete/' . $playlist->id); ?>" method="post" class="btn-supp" style="display:inline;">
                     <button type="submit">Supprimer</button>
                 </form>
             </article>
diff --git a/codeigniter/application/views/playlist_view.php b/codeigniter/application/views/playlist_view.php
index 3d18d25..2aa8ec8 100644
--- a/codeigniter/application/views/playlist_view.php
+++ b/codeigniter/application/views/playlist_view.php
@@ -7,34 +7,13 @@
     <button type="submit">Rechercher et Ajouter</button>
 </form>
 
-<!-- Section pour afficher les résultats de la recherche -->
-<?php if (!empty($searchResults)): ?>
-    <section class="search-results">
-        <h5>Résultats de la recherche :</h5>
-        <ul>
-            <?php foreach($searchResults as $song): ?>
-                <li>
-                    <?= $song->name; ?>
-                    <!-- Formulaire pour ajouter la chanson à la playlist -->
-                    <form action="<?= site_url('playlist/add_song'); ?>" method="post" style="display:inline;">
-                        <input type="hidden" name="playlistId" value="<?= $playlistId; ?>">
-                        <input type="hidden" name="songId" value="<?= $song->id; ?>">
-                        <button type="submit">Ajouter</button>
-                    </form>
-                </li>
-            <?php endforeach; ?>
-        </ul>
-    </section>
-    <p>Test</p>
-<?php endif; ?>
-
 <!-- Section pour afficher les chansons de son playlist -->
 <?php if (!empty($songs)): ?>
     <section class="current-songs">
         <h5>Chansons actuelles :</h5>
         <ul>
             <?php foreach($songs as $song): ?>
-                <li>
+                <li class="play">
                     <?= $song->name; ?>
                     <!-- Formulaire pour supprimer la chanson de la playlist -->
                     <form action="<?= site_url('playlist/remove_song'); ?>" method="post" style="display:inline;">
diff --git a/codeigniter/assets/style.css b/codeigniter/assets/style.css
index c3f7ee8..565cb3d 100644
--- a/codeigniter/assets/style.css
+++ b/codeigniter/assets/style.css
@@ -210,6 +210,32 @@ form.search-form {
     margin-left: -200px;
 }
 
+form.create-playlist-form {
+    width: 40%;
+    margin: 0 auto;
+}
+
+form.add-song-form {
+    width: 40%;
+    margin: 0 auto;
+}
+
+form.generate-playlist-form {
+    width: 40%;
+    margin: 0 auto;
+}
+
+section.playlists {
+    display: flex;
+    justify-content: left;
+    flex-wrap: wrap;
+    gap: 100px;
+    margin-top: 50px;
+}
+
+.btn-supp {
+    width: 30%;
+}
 
 
 /* bouton ajouter sur les albums et musique */