diff --git a/codeigniter/application/controllers/Playlist.php b/codeigniter/application/controllers/Playlist.php
index 557d191..215e7a5 100644
--- a/codeigniter/application/controllers/Playlist.php
+++ b/codeigniter/application/controllers/Playlist.php
@@ -12,7 +12,6 @@ class Playlist extends CI_Controller {
     }
 
     public function index(){
-
         $userId = $this->session->userdata('user_id');
         $playlists = $this->model_music->getPlaylistsByUser($userId);
         $this->load->view('layout/header');
@@ -32,15 +31,29 @@ class Playlist extends CI_Controller {
         redirect('playlist');
     }
 
+    public function duplicate($id) {
+        $playlist = $this->model_music->getPlaylistById($id);
+        if ($playlist) {
+            $newName = $playlist->name . '_bis';
+            $userId = $this->session->userdata('user_id');
+            $newPlaylistId = $this->model_music->createPlaylist($newName, $userId);
+            $songs = $this->model_music->getSongsByPlaylist($id);
+            foreach ($songs as $song) {
+                $this->model_music->addSongToPlaylist($newPlaylistId, $song->id);
+            }
+            redirect('playlist/view/' . $newPlaylistId);
+        } else {
+            echo "Playlist non trouvée.";
+        }
+    }
+
     public function view($id) {
         $songs = $this->model_music->getSongsByPlaylist($id);
         $playlist = $this->model_music->getPlaylistById($id);
-        
         if ($playlist) {
             $data['playlistName'] = $playlist->name; // Passez le nom de la playlist à la vue
             $data['songs'] = $songs;
             $data['playlistId'] = $id;
-    
             $this->load->view('layout/header');
             $this->load->view('playlist_view', $data);
             $this->load->view('layout/footer');
@@ -67,16 +80,46 @@ class Playlist extends CI_Controller {
     public function search_song(){
         $playlistId = $this->input->post('playlistId');
         $songName = $this->input->post('songName');
-    
-        // Recherche la chanson par son nom
         $song = $this->model_music->findSongByName($songName);
-    
         if ($song) {
-            // Si la chanson est trouvée, ajoutez-la à la playlist
             $this->model_music->addSongToPlaylist($playlistId, $song->id);
         }
-    
-        // Redirige l'utilisateur vers la vue de la playlist mise à jour
+        redirect('playlist/view/' . $playlistId);
+    }
+
+    public function choose_playlist($songId) {
+    $playlists = $this->model_music->getPlaylistsByUser($this->session->userdata('user_id'));
+    $this->load->view('layout/header');
+    $this->load->view('choose_playlist', ['playlists' => $playlists, 'songId' => $songId]);
+    $this->load->view('layout/footer');
+}
+
+
+public function choix_playlist($albumId) {
+    $playlists = $this->model_music->getPlaylistsByUser($this->session->userdata('user_id'));
+    $this->load->view('layout/header');
+    $this->load->view('choix_playlist', ['playlists' => $playlists, 'albumId' => $albumId]);
+    $this->load->view('layout/footer');
+}
+
+    public function add_track() {
+        $songId = $this->input->post('songId');
+        $playlistId = $this->input->post('playlistId');
+        if (!empty($songId) && !empty($playlistId)) {
+            $this->model_music->addSongToPlaylist($playlistId, $songId);
+            redirect('playlist/view/' . $playlistId);
+        } else {
+            echo "Erreur : Veuillez sélectionner une playlist.";
+        }
+    }
+
+    public function add_album_to_playlist() {
+        $albumId = $this->input->post('albumId');
+        $playlistId = $this->input->post('playlistId');
+        $songs = $this->model_music->getMusicsByAlbum($albumId);
+        foreach ($songs as $song) {
+            $this->model_music->addSongToPlaylist($playlistId, $song->songId);
+        }
         redirect('playlist/view/' . $playlistId);
     }
 }
diff --git a/codeigniter/application/models/Model_music.php b/codeigniter/application/models/Model_music.php
index 426c8d8..bf0852f 100644
--- a/codeigniter/application/models/Model_music.php
+++ b/codeigniter/application/models/Model_music.php
@@ -125,9 +125,8 @@ class Model_music extends CI_Model {
 		if (count($conditions) > 0) {
 			$sql .= " WHERE " . implode(' AND ', $conditions);
 		}
-	
+        
 		$sql .= " ORDER BY album.id ASC";
-	
 		$query = $this->db->query($sql, $params);
 		return $query->result();
 	}
@@ -137,7 +136,8 @@ class Model_music extends CI_Model {
             'name' => $name,
             'userId' => $userId 
         );
-        return $this->db->insert('playlist', $data);
+        $this->db->insert('playlist', $data);
+        return $this->db->insert_id();
     }
     public function deletePlaylist($playlistId) {
         $this->db->delete('playlist', array('id' => $playlistId));
diff --git a/codeigniter/application/views/album_musics.php b/codeigniter/application/views/album_musics.php
index 7e809c3..1b70cc6 100644
--- a/codeigniter/application/views/album_musics.php
+++ b/codeigniter/application/views/album_musics.php
@@ -1,19 +1,16 @@
 <h5>Liste des Musiques de l'Album</h5>
 <section class="list">
-<?php
-foreach ($musics as $music) {
-    echo "<div><article>";
-    echo "<ul>";
-    echo "<li>$music->songName</li>";
-    echo "<li>Durée: {$music->trackDuration} secondes</li>";
-    // Ajout du bouton pour ajouter la musique à la playlist
-    echo "<button onclick=\"location.href='" . site_url("playlist/add_track/{$music->songId}") . "'\">Ajouter à la Playlist</button>";
-    echo "</ul>";
-    echo "</article></div>";
-}
-?>
-</section>
-
-
-
-
+    <?php foreach ($musics as $music): ?>
+        <div>
+            <article>
+                <ul>
+                    <li><?= $music->songName ?></li>
+                    <li>Durée: <?= $music->trackDuration ?> secondes</li>
+                    <form action="<?= site_url('playlist/choose_playlist/' . $music->songId) ?>" method="get">
+                        <button type="submit">Ajouter à la Playlist</button>
+                    </form>
+                </ul>
+            </article>
+        </div>
+    <?php endforeach; ?>
+</section>
\ No newline at end of file
diff --git a/codeigniter/application/views/albums_list.php b/codeigniter/application/views/albums_list.php
index 242bff7..772592d 100644
--- a/codeigniter/application/views/albums_list.php
+++ b/codeigniter/application/views/albums_list.php
@@ -40,7 +40,7 @@ foreach($albums as $album){
     echo "<header class='short-text'>";
     echo anchor("music/view/{$album->id}", "{$album->name}");
     echo "<br>";
-    echo "<button onclick=\"location.href='" . site_url("playlist/add_track/{$album->id}") . "'\">Ajouter à la Playlist</button>";
+    echo "<button onclick=\"location.href='" . site_url("playlist/choix_playlist/{$album->id}") . "'\">Ajouter toutes les music à la Playlist</button>";
     echo "</header>";
     echo '<img src="data:image/jpeg;base64,'.base64_encode($album->jpeg).'" />';
     echo "<footer class='short-text'>{$album->year} - {$album->artistName}</footer>
diff --git a/codeigniter/application/views/artistes_list.php b/codeigniter/application/views/artistes_list.php
index 45ed100..6bd3c8b 100644
--- a/codeigniter/application/views/artistes_list.php
+++ b/codeigniter/application/views/artistes_list.php
@@ -23,7 +23,7 @@ foreach ($artistAlbums as $artistName => $albums) {
     echo "<ul>";
     foreach ($albums as $album) {
         echo "<li>" . anchor("music/view/{$album['albumId']}", $album['albumName']) . " - " . $album['year'] . "</li>";
-        echo "<button onclick=\"location.href='" . site_url("playlist/add_track/{$album['albumId']}") . "'\">Ajouter à la Playlist</button>";
+        echo "<button onclick=\"location.href='" . site_url("playlist/choix_playlist/{$album['albumId']}") . "'\">Ajouter toutes les chansons à la Playlist</button>";
     }
     echo "</ul>";
     echo "</article></div>";
diff --git a/codeigniter/application/views/choix_playlist.php b/codeigniter/application/views/choix_playlist.php
new file mode 100644
index 0000000..ee88347
--- /dev/null
+++ b/codeigniter/application/views/choix_playlist.php
@@ -0,0 +1,12 @@
+<h5>Choisir une Playlist :</h5>
+<section class="list">
+    <form action="<?= site_url('playlist/add_album_to_playlist') ?>" method="post">
+        <input type="hidden" name="albumId" value="<?= $albumId ?>">
+        <select name="playlistId">
+            <?php foreach ($playlists as $playlist): ?>
+                <option value="<?= $playlist->id ?>"><?= $playlist->name ?></option>
+            <?php endforeach; ?>
+        </select>
+        <button type="submit">Ajouter toutes les chansons à la Playlist</button>
+    </form>
+</section>
diff --git a/codeigniter/application/views/choose_playlist.php b/codeigniter/application/views/choose_playlist.php
new file mode 100644
index 0000000..4b444bd
--- /dev/null
+++ b/codeigniter/application/views/choose_playlist.php
@@ -0,0 +1,12 @@
+<h5>Choisir une Playlist :</h5>
+<section class="list">
+    <form action="<?= site_url('playlist/add_track') ?>" method="post">
+        <input type="hidden" name="songId" value="<?= $songId ?>">
+        <select name="playlistId">
+            <?php foreach ($playlists as $playlist): ?>
+                <option value="<?= $playlist->id ?>"><?= $playlist->name ?></option>
+            <?php endforeach; ?>
+        </select>
+        <button type="submit">Ajouter à la Playlist</button>
+    </form>
+</section>
diff --git a/codeigniter/application/views/playlist_view.php b/codeigniter/application/views/playlist_view.php
index ed7c2f8..3d18d25 100644
--- a/codeigniter/application/views/playlist_view.php
+++ b/codeigniter/application/views/playlist_view.php
@@ -1,4 +1,3 @@
-<!-- En-tête de la playlist -->
 <h5>Playlist : <?= $playlistName; ?></h5>
 
 <!-- Formulaire pour rechercher et ajouter une chanson -->
@@ -49,5 +48,6 @@
     </section>
 <?php endif; ?>
 
+<a href="<?= site_url('playlist/duplicate/' . $playlistId); ?>" class="btn btn-primary">Dupliquer cette playlist</a>
 <a href="<?= site_url('playlist'); ?>" class="btn btn-secondary">Retour à toutes les playlists</a>