diff --git a/CodeIgniter-3.1.13/application/config/config.php b/CodeIgniter-3.1.13/application/config/config.php index 6948265..fb1d555 100644 --- a/CodeIgniter-3.1.13/application/config/config.php +++ b/CodeIgniter-3.1.13/application/config/config.php @@ -23,7 +23,7 @@ defined('BASEPATH') OR exit('No direct script access allowed'); | a PHP script and you can easily do that on your own. | */ -$config['base_url'] = '/stiti/SAE2.02/CodeIgniter-3.1.13'; +$config['base_url'] = '/~stiti/SAE2.02/CodeIgniter-3.1.13'; /* |-------------------------------------------------------------------------- diff --git a/CodeIgniter-3.1.13/application/config/routes.php b/CodeIgniter-3.1.13/application/config/routes.php index 0cbab5f..2785ed9 100644 --- a/CodeIgniter-3.1.13/application/config/routes.php +++ b/CodeIgniter-3.1.13/application/config/routes.php @@ -49,6 +49,6 @@ defined('BASEPATH') OR exit('No direct script access allowed'); | Examples: my-controller/index -> my_controller/index | my-controller/my-method -> my_controller/my_method */ -$route['default_controller'] = 'home'; +$route['default_controller'] = 'albums'; $route['404_override'] = ''; $route['translate_uri_dashes'] = FALSE; diff --git a/CodeIgniter-3.1.13/application/controllers/Albums.php b/CodeIgniter-3.1.13/application/controllers/Albums.php new file mode 100644 index 0000000..c71c0d3 --- /dev/null +++ b/CodeIgniter-3.1.13/application/controllers/Albums.php @@ -0,0 +1,30 @@ +load->model('model_music'); + // Load the URL Helper + $this->load->helper('url'); + } + public function index($page = 1){ + $limit = 21; + $offset = ($page - 1) * $limit; + $albums = $this->model_music->getAlbums($limit, $offset); + + // Pass pagination information to view + $total_albums = $this->model_music->get_total_albums(); + $data['total_pages'] = ceil($total_albums / $limit); + $data['current_page'] = $page; + $data['albums'] = $albums; // Pass albums data to view + + $this->load->view('layout/header_not_logged_dark'); + $this->load->view('albums_list', $data); + $this->load->view('layout/footer_dark'); + } + + + +} diff --git a/CodeIgniter-3.1.13/application/models/Model_music.php b/CodeIgniter-3.1.13/application/models/Model_music.php new file mode 100644 index 0000000..5ca512d --- /dev/null +++ b/CodeIgniter-3.1.13/application/models/Model_music.php @@ -0,0 +1,27 @@ +load->database(); + } + + public function getAlbums($limit, $offset){ + $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 + ORDER BY year + LIMIT $limit OFFSET $offset" + ); + return $query->result(); + } + + public function get_total_albums(){ + $query = $this->db->query("SELECT COUNT(*) as total_albums FROM album"); + $result = $query->row(); + return $result->total_albums; + } + +} diff --git a/CodeIgniter-3.1.13/application/views/accueil.php b/CodeIgniter-3.1.13/application/views/accueil.php index 4a9e3b8..7eabb38 100644 --- a/CodeIgniter-3.1.13/application/views/accueil.php +++ b/CodeIgniter-3.1.13/application/views/accueil.php @@ -18,19 +18,23 @@

Fonctionnalités

-

Fonctionnalité N°1

-

Description de la fonctionnalité 1. Cette fonctionnalité permet de ...

+

Création de playlist

+

Avec Onzeur, vous pouvez créer des playlists personnalisées en quelques clics. Rassemblez vos morceaux préférés, organisez-les par artiste, album ou genre, et créez des listes de lecture adaptées à toutes les occasions. Ajoutez et supprimez des chansons selon vos envies, et gardez votre musique à portée de main, prête à être écoutée à tout moment

+ Image pour la fonctionnalité 'Création de playlist'
-

Fonctionnalité N°2

-

Description de la fonctionnalité 2. Cette fonctionnalité permet de ...

+

Consultation des morceaux

+

Explorez une vaste bibliothèque de morceaux de musique avec Onzeur. Parcourez les listes d'artistes, découvrez des albums et explorez des genres musicaux variés. Trouvez rapidement les chansons que vous recherchez en naviguant facilement entre les différentes vues. Que vous soyez à la recherche de nouveautés ou de classiques, cette fonctionnalité vous permettra de découvrir et d'apprécier une large sélection de musique.

+ Image pour la fonctionnalité 'Consultation des morceaux'
-

Fonctionnalité N°3

-

Description de la fonctionnalité 3. Cette fonctionnalité permet de ...

+

Gestion des comptes utilisateurs

+

Profitez pleinement de toutes les fonctionnalités de l'application en créant votre propre compte utilisateur. Une fois connecté, vous aurez accès à des fonctionnalités avancées telles que la création et la gestion de playlists personnalisées. Ajoutez des chansons à vos favoris, synchronisez votre bibliothèque musicale sur plusieurs appareils et bénéficiez d'une expérience musicale personnalisée.

+ Image pour la fonctionnalité 'Gestion des comptes utilisateurs'
+

Avis

diff --git a/CodeIgniter-3.1.13/application/views/albums_list.php b/CodeIgniter-3.1.13/application/views/albums_list.php new file mode 100644 index 0000000..b17862b --- /dev/null +++ b/CodeIgniter-3.1.13/application/views/albums_list.php @@ -0,0 +1,34 @@ + + + + Page d'accueil + + +

Listes des albums

+
+
"; + echo "
"; + echo anchor("albums/view/{$album->id}","{$album->name}"); + echo "
"; + echo ''; + echo "
{$album->year} - {$album->artistName}
+
"; +} +?> + + + diff --git a/CodeIgniter-3.1.13/assets/css/accueil.css b/CodeIgniter-3.1.13/assets/css/accueil.css index 329557d..0d2c0c7 100644 --- a/CodeIgniter-3.1.13/assets/css/accueil.css +++ b/CodeIgniter-3.1.13/assets/css/accueil.css @@ -60,6 +60,13 @@ h1, h2, h3 { text-align: center; } +.feature img { + max-width: 600px; + height: auto; + display: block; + margin: 0 auto; +} + .gallery h2 { text-align: center; margin-bottom: 20px; /* Espace sous le titre */ @@ -72,10 +79,10 @@ h1, h2, h3 { } .gallery img { - width: 30%; /* Ajustez ce pourcentage pour que les images tiennent sur une ligne sur les grands écrans */ + width: 30%; height: auto; border-radius: 8px; - margin: 10px; /* Espace autour des images */ + margin: 10px; } /* Media queries pour les petits écrans */ @@ -84,6 +91,10 @@ h1, h2, h3 { width: 45%; /* Les images prennent 45% de la largeur sur les écrans moyens */ } + .feature img { + width: 100%; /* Les images prennent 100% de la largeur sur les écrans moyens */ + } + .gallery { flex-wrap: wrap; /* Permet de passer les images à la ligne sur les petits écrans */ } diff --git a/CodeIgniter-3.1.13/assets/css/style.css b/CodeIgniter-3.1.13/assets/css/style.css new file mode 100644 index 0000000..6439f8e --- /dev/null +++ b/CodeIgniter-3.1.13/assets/css/style.css @@ -0,0 +1,111 @@ +/* Styles généraux */ +body { + font-family: Arial, sans-serif; + margin: 0; + padding: 0; + background-color: #f8f8f8; +} + +.container { + max-width: 1200px; + margin: 0 auto; + padding: 20px; +} + +.title { + color: #6a0dad; + text-align: center; + margin-top: 20px; +} + +.list { + display: flex; + justify-content: space-between; + flex-wrap: wrap; +} + +.list > div { + width: 30%; + margin-bottom: 20px; +} + +/* Styles pour les articles */ +article { + background-color: #fff; + border-radius: 8px; + box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); + overflow: hidden; + transition: transform 0.3s ease; +} + +article:hover { + transform: translateY(-5px); +} + +header.short-text, +footer.short-text { + overflow: hidden; + white-space: nowrap; + text-overflow: ellipsis; + padding: 10px; +} + +header.short-text { + background-color: #6a0dad; + color: #fff; +} + +footer.short-text { + background-color: #f0f0f0; +} + +/* Styles pour les liens hypertexte */ +header.short-text a { + color: #fff; /* Blanc pour les liens */ + text-decoration: none; /* Supprimer le soulignement */ +} + +/* Image styles */ +.list img { + display: block; + width: 100%; + height: auto; +} + +/* Responsive styles */ +@media screen and (max-width: 768px) { + .list > div { + width: 45%; + } +} + +@media screen and (max-width: 576px) { + .list > div { + width: 100%; + } +} + +/* Styles pour les boutons de pagination */ +.pagination { + text-align: center; + margin-top: 20px; +} + +.pagination a { + display: inline-block; + padding: 8px 16px; + margin: 0 4px; + background-color: #6a0dad; + color: #fff; + border-radius: 4px; + text-decoration: none; + transition: background-color 0.3s ease; +} + +.pagination a:hover { + background-color: #4a0772; +} + +.pagination .active { + background-color: #29043e; +} diff --git a/CodeIgniter-3.1.13/assets/img/gallerie/img1.jpg b/CodeIgniter-3.1.13/assets/img/gallerie/img1.jpg new file mode 100644 index 0000000..459e2c5 Binary files /dev/null and b/CodeIgniter-3.1.13/assets/img/gallerie/img1.jpg differ diff --git a/CodeIgniter-3.1.13/assets/img/gallerie/img2.jpg b/CodeIgniter-3.1.13/assets/img/gallerie/img2.jpg new file mode 100644 index 0000000..bdb82df Binary files /dev/null and b/CodeIgniter-3.1.13/assets/img/gallerie/img2.jpg differ diff --git a/CodeIgniter-3.1.13/assets/img/gallerie/img3.jpg b/CodeIgniter-3.1.13/assets/img/gallerie/img3.jpg new file mode 100644 index 0000000..7241544 Binary files /dev/null and b/CodeIgniter-3.1.13/assets/img/gallerie/img3.jpg differ