From 47cf47a9184af9d50e4368b7e79ca527a5812b46 Mon Sep 17 00:00:00 2001
From: follea <thomas.follea@gmail.com>
Date: Wed, 19 Jun 2024 16:40:06 +0200
Subject: [PATCH] Commentaires

---
 .../application/controllers/Albums.php        | 15 ++++++-----
 .../application/controllers/Artistes.php      |  6 ++---
 .../controllers/ConnexionController.php       | 12 ++++-----
 .../application/controllers/Playlist.php      | 23 +++++++++-------
 .../application/models/Model_music.php        | 27 ++++++++-----------
 5 files changed, 43 insertions(+), 40 deletions(-)

diff --git a/codeigniter/application/controllers/Albums.php b/codeigniter/application/controllers/Albums.php
index 62c5b01..cd29422 100644
--- a/codeigniter/application/controllers/Albums.php
+++ b/codeigniter/application/controllers/Albums.php
@@ -3,7 +3,7 @@ defined('BASEPATH') OR exit('No direct script access allowed');
 
 class Albums extends CI_Controller {
 
-    private $sort = 'Tri';
+    private $sort = 'Tri'; // Variable privée pour définir l'ordre de tri par défaut
 
     public function __construct(){
         parent::__construct();
@@ -13,10 +13,11 @@ class Albums extends CI_Controller {
         $this->load->helper('form');
     }
 
+    // on affiche tous les albums
     public function index(){
         $albums = $this->model_music->getAlbums();
         $genres = $this->model_music->getGenres();
-        $num_results = count($albums);
+        $num_results = count($albums); // nombre total d'alubm recup
         $this->load->view('layout/header');
         $this->load->view('albums_list', [
             'albums' => $albums, 
@@ -28,16 +29,18 @@ class Albums extends CI_Controller {
         $this->load->view('layout/footer');
     }
 
-    public function view($id){
-        $tracks = $this->model_music->getTracksByAlbumId($id);
+    // afficher les détail d'un album spécifique (les musiques de l'albums)
+    public function view($id){ 
+        $tracks = $this->model_music->getTracksByAlbumId($id); // recuperer les pistes d'un album par son id
         $this->load->view('layout/header');
         $this->load->view('album_info', ['tracks' => $tracks]);
         $this->load->view('layout/footer');
     }
 
+    // trié en fonction d'un critère
     public function tri(){
-        $Ctri = $this->input->get('Ctri');
-        $trie = $this->model_music->get_tri_Albums($Ctri);
+        $Ctri = $this->input->get('Ctri'); // critère de trie via l'url
+        $trie = $this->model_music->get_tri_Albums($Ctri); 
         $genres = $this->model_music->getGenres();
         $num_results = count($trie);
         $this->load->view('layout/header');
diff --git a/codeigniter/application/controllers/Artistes.php b/codeigniter/application/controllers/Artistes.php
index 2985626..14674c0 100644
--- a/codeigniter/application/controllers/Artistes.php
+++ b/codeigniter/application/controllers/Artistes.php
@@ -3,7 +3,7 @@ defined('BASEPATH') OR exit('No direct script access allowed');
 
 class Artistes extends CI_Controller {
 
-    private $sort = 'Tri';
+    private $sort = 'Tri'; // Variable pour définir l'ordre de tri par défaut
     
 	public function __construct(){
 		parent::__construct();
@@ -14,14 +14,14 @@ class Artistes extends CI_Controller {
 	}
     
 	public function index(){
-		$artistes = $this->model_music_artistes->getArtistes();
+		$artistes = $this->model_music_artistes->getArtistes(); // recuperer tout les artistes
 		$this->load->view('layout/header');
 		$this->load->view('artistes_list', ['artistes'=>$artistes]);
 		$this->load->view('layout/footer');
 	}
 
     public function tri(){
-        $Ctri = $this->input->get('Ctri');
+        $Ctri = $this->input->get('Ctri'); // récupération du critère de trie depuis l'url
         $trie = $this->model_music_artistes->get_tri_Artistes($Ctri);
         $num_results = count($trie);
         $this->load->view('layout/header');
diff --git a/codeigniter/application/controllers/ConnexionController.php b/codeigniter/application/controllers/ConnexionController.php
index 2282393..f877fda 100644
--- a/codeigniter/application/controllers/ConnexionController.php
+++ b/codeigniter/application/controllers/ConnexionController.php
@@ -18,12 +18,12 @@ class ConnexionController extends CI_Controller {
 
     public function authentifier() {
         if ($_SERVER["REQUEST_METHOD"] == "POST") {
-            $email = $_POST['email'];
-            $password = $_POST['password'];
+            $email = $_POST['email']; // recuère email depuis formulaire
+            $password = $_POST['password']; // idem mdp
             
-            if (!empty($email) && !empty($password)) {
+            if (!empty($email) && !empty($password)) { 
                 $this->load->database();
-                // Utilisation d'une requête préparée pour éviter les injections SQL
+                // Utilisation d'une requête préparée
                 $query = $this->db->query("SELECT * FROM users WHERE email = ?", array($email));
                 $result = $query->row(); // Récupérer la première ligne de résultat
                 
@@ -50,7 +50,7 @@ class ConnexionController extends CI_Controller {
 
 
     public function traitement() {
-        if(isset($_POST['ok'])){
+        if(isset($_POST['ok'])){ // verifie si le formulaire a été envoyé
             $this->load->database();
     
 
@@ -58,7 +58,7 @@ class ConnexionController extends CI_Controller {
             $nom = strtoupper($this->input->post('nom'));
             $pseudo = $this->input->post('pseudo');
             $mdp = $this->input->post('pass');
-            $mdpcrypte = password_hash($mdp, PASSWORD_DEFAULT);
+            $mdpcrypte = password_hash($mdp, PASSWORD_DEFAULT); // cryptage du mot de passe
             $email = $this->input->post('email');
             $data = array(
                 'pseudo' => $pseudo,
diff --git a/codeigniter/application/controllers/Playlist.php b/codeigniter/application/controllers/Playlist.php
index 92c3c3a..a5d9045 100644
--- a/codeigniter/application/controllers/Playlist.php
+++ b/codeigniter/application/controllers/Playlist.php
@@ -9,15 +9,15 @@ class Playlist extends CI_Controller {
         $this->load->helper('html');
         $this->load->helper('url');
         $this->load->helper('form');
+        // verifier si il y a une sessions utilisateur en cours
         if (!$this->session->userdata('user_id')) {
             redirect('connexion');
         }
     }
 
     public function index(){
-
-        
         $userId = $this->session->userdata('user_id');
+        // recupère toutes les playlist de l'utilisateur
         $playlists = $this->model_music->getPlaylistsByUser($userId);
         $this->load->view('layout/header');
         $this->load->view('playlist_list', ['playlists' => $playlists]);
@@ -25,6 +25,7 @@ class Playlist extends CI_Controller {
     }
 
     public function create(){
+        // récupère le nom choisis dans le formulaire
         $name = $this->input->post('name');
         $userId = $this->session->userdata('user_id');
         $this->model_music->createPlaylist($name, $userId);
@@ -37,13 +38,14 @@ class Playlist extends CI_Controller {
     }
 
     public function duplicate($id) {
+        // récupère données de la playlist grâce à son 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) {
+            $newPlaylistId = $this->model_music->createPlaylist($newName, $userId); // création de nouvelle playlist avec les modifs
+            $songs = $this->model_music->getSongsByPlaylist($id); // récupère tout les sons de la playlist
+            foreach ($songs as $song) { 
                 $this->model_music->addSongToPlaylist($newPlaylistId, $song->id);
             }
             redirect('playlist/view/' . $newPlaylistId);
@@ -53,9 +55,10 @@ class Playlist extends CI_Controller {
     }
 
     public function view($id) {
+        // vérifier si la playlist apartient à l'utilisateur actuel
         if($this->model_music->playlistOfUser($id)){
-            $songs = $this->model_music->getSongsByPlaylist($id);
-            $playlist = $this->model_music->getPlaylistById($id);
+            $songs = $this->model_music->getSongsByPlaylist($id); // récupère les chansons
+            $playlist = $this->model_music->getPlaylistById($id); // récupère les données 
             if ($playlist) {
                 $data['playlistName'] = $playlist->name; 
                 $data['songs'] = $songs;
@@ -89,8 +92,10 @@ class Playlist extends CI_Controller {
     }
 
     public function search_song(){
+        // Récupération de l'ID de la playlist et du nom de la chanson depuis le formulaire
         $playlistId = $this->input->post('playlistId');
         $songName = $this->input->post('songName');
+        // Recherche de la chanson par nom dans la base de données
         $song = $this->model_music->findSongByName($songName);
         if ($song) {
             $this->model_music->addSongToPlaylist($playlistId, $song->id);
@@ -99,7 +104,7 @@ class Playlist extends CI_Controller {
     }
 
     public function choose_playlist($songId) {
-       
+    // Récupération de toutes les playlists de l'utilisateur actuel
     $playlists = $this->model_music->getPlaylistsByUser($this->session->userdata('user_id'));
     $this->load->view('layout/header');
     $this->load->view('choose_playlist', ['playlists' => $playlists, 'songId' => $songId]);
@@ -108,13 +113,13 @@ class Playlist extends CI_Controller {
 
 
 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');
 }
 
+    // Ajoute une chanson à une playlist spécifiée par formulaire
     public function add_track() {
         $songId = $this->input->post('songId');
         $playlistId = $this->input->post('playlistId');
diff --git a/codeigniter/application/models/Model_music.php b/codeigniter/application/models/Model_music.php
index 1b2fe75..0eb8b19 100644
--- a/codeigniter/application/models/Model_music.php
+++ b/codeigniter/application/models/Model_music.php
@@ -84,7 +84,7 @@ class Model_music extends CI_Model {
                 album.id AS albumId,
                 album.name AS albumName,
                 artist.name AS artistName,
-                song.id AS songId,
+                song.id AS songId, 
                 song.name AS songName
             FROM track
             JOIN album ON track.albumId = album.id
@@ -101,7 +101,7 @@ class Model_music extends CI_Model {
 		return $query->result();
 	}
 
-
+    // vérifier que la playlist spécifié appartient à l'utilisateur connecté actuellement
     public function playlistOfUser($id){
         $user_id = $this->session->userdata('user_id');
         $this->db->select('id');
@@ -153,19 +153,21 @@ class Model_music extends CI_Model {
             'name' => $name,
             'userId' => $userId 
         );
-        $this->db->insert('playlist', $data);
-        return $this->db->insert_id();
+        $this->db->insert('playlist', $data); // Insère les données dans la table 'playlist'
+        return $this->db->insert_id(); // Renvoie l'ID de la dernière insertion
     }
     public function deletePlaylist($playlistId) {
         $this->db->delete('playlist', array('id' => $playlistId));
         $this->db->delete('playlistsong', array('playlistId' => $playlistId));
     }
 
+    // récupère playlist d'un utilisateur avec userid
     public function getPlaylistsByUser($userId) {
         $query = $this->db->get_where('playlist', array('userId' => $userId));
         return $query->result();
     }
 
+    // récupère playlist par id de playlist
     public function getPlaylistById($playlistId) {
         $query = $this->db->get_where('playlist', array('id' => $playlistId), 1);
         return $query->row(); // Renvoie la première ligne trouvée (la playlist correspondant à l'ID)
@@ -210,21 +212,14 @@ class Model_music extends CI_Model {
         $this->db->limit($numSongs); 
     
         $query = $this->db->get();
-    
-        
+        // Récupère les chansons sélectionnées aléatoirement
         $songs = $query->result();
-    
+        // Crée une nouvelle playlist avec le nom spécifié
         $playlistId = $this->createPlaylist($playlistName, $userId);
-    
+        // Ajoute chaque chanson à la playlist créée
         foreach ($songs as $song) {
             $this->addSongToPlaylist($playlistId, $song->id);
         }
-        redirect('playlist/view/'.$playlistId);
-        
-    }
-    
-    
-    
-    
-    
+        redirect('playlist/view/'.$playlistId); 
+    } 
 }
\ No newline at end of file