diff --git a/front/src/components/Home.vue b/front/src/components/Home.vue
index 5a59ed0f7c304daf142601519c50220afdc6621c..bb91ec3c97e6036032ddd0c46976848bf445697e 100644
--- a/front/src/components/Home.vue
+++ b/front/src/components/Home.vue
@@ -178,6 +178,7 @@
         <translate translate-context="*/*/*">New channels</translate>
       </h3>
       <channels-widget :show-modification-date="true" :limit="10" :filters="{ordering: '-creation_date', external: 'false'}"></channels-widget>
+      <album-slider :filters="{playable: true, ordering: '-creation_date'}" :limit="10"></album-slider>
 
     </section>
   </main>
@@ -189,6 +190,7 @@ import _ from '@/lodash'
 import {mapState} from 'vuex'
 import showdown from 'showdown'
 import AlbumWidget from "@/components/audio/album/Widget"
+import AlbumSlider from "@/components/audio/album/Slider"
 import ChannelsWidget from "@/components/audio/ChannelsWidget"
 import LoginForm from "@/components/auth/LoginForm"
 import SignupForm from "@/components/auth/SignupForm"
@@ -200,6 +202,7 @@ export default {
     ChannelsWidget,
     LoginForm,
     SignupForm,
+    AlbumSlider,
   },
   data () {
     return {
diff --git a/front/src/components/audio/album/Slider.vue b/front/src/components/audio/album/Slider.vue
new file mode 100644
index 0000000000000000000000000000000000000000..b9e4ce88b1a26236d57a3b756ff7985b7686f4e5
--- /dev/null
+++ b/front/src/components/audio/album/Slider.vue
@@ -0,0 +1,84 @@
+<template>
+  <div class="wrapper">
+    <div class="ui two column grid">
+      <div class="column">
+        <h3 v-if="!!this.$slots.title" class="ui header">
+          <slot name="title"></slot>
+        </h3>
+        <slot></slot>
+      </div>
+      <div class="column">
+        <button :class="['right', 'floated', 'circular', 'icon', 'ui', {'disabled': !nextPage}, 'button',]" @click.prevent="fetchData(nextPage)">
+          <i class="right arrow icon"></i>
+        </button>
+        <button :class="['right', 'floated', 'circular', 'icon', 'ui', {'disabled': !previousPage}, 'button',]" @click.prevent="fetchData(previousPage)">
+          <i class="left arrow icon"></i>
+        </button>
+      </div>
+    </div>
+    <div class="ui hidden divider"></div>
+    <div class="ui app-cards cards">
+      <div v-if="isLoading" class="ui inverted active dimmer">
+        <div class="ui loader"></div>
+      </div>
+      <album-card v-for="album in albums" :album="album" :key="album.id" />
+    </div>
+    <template v-if="!isLoading && albums.length === 0">
+      <empty-state @refresh="fetchData('albums/')" :refresh="true"></empty-state>
+    </template>
+  </div>
+</template>
+
+<script>
+
+import axios from 'axios'
+import AlbumCard from '@/components/audio/album/Card'
+import $ from 'jquery'
+
+export default {
+  components: {
+    AlbumCard,
+  },
+  props: {
+    limit: {type: Number, default: 4},
+    filters: {type: Object, required: true},
+  },
+  data() {
+    return {
+      albums: [],
+      count: 0,
+      isLoading: false,
+      errors: null,
+      previousPage: null,
+      nextPage: null,
+    }
+  },
+  created() {
+    this.fetchData()
+  },
+  methods: {
+    fetchData (url) {
+      url = url || 'albums/'
+      this.isLoading = true
+      let self = this
+      let params = {q: this.query, ...this.filters}
+      params.page_size = this.limit
+      params.offset = this.offset
+      axios.get(url, {params: params}).then((response) => {
+        self.previousPage = response.data.previous
+        self.nextPage = response.data.next
+        self.isLoading = false
+        self.albums = [...response.data.results]
+        self.count = response.data.count
+      }, error => {
+        self.isLoading = false
+        self.errors = error.backendErrors
+      })
+    },
+  },
+  mounted() {
+    $('.component-album-card')
+      .transition('scale')
+  }
+}
+</script>
\ No newline at end of file
diff --git a/front/src/components/library/Home.vue b/front/src/components/library/Home.vue
index e591d6ad4e481f43ac8fd4cdc4b83124d1770325..fd945241d51d53cd3aab24c71d2348a3b3109a6b 100644
--- a/front/src/components/library/Home.vue
+++ b/front/src/components/library/Home.vue
@@ -19,21 +19,15 @@
         </div>
       </div>
       <div class="ui section hidden divider"></div>
-      <div class="ui stackable one column grid">
-        <div class="column">
-          <album-widget :filters="{scope: scope, playable: true, ordering: '-creation_date'}">
-            <template slot="title"><translate translate-context="Content/Home/Title">Recently added</translate></template>
-          </album-widget>
-        </div>
-      </div>
+      <album-slider :filters="{scope: scope, playable: true, ordering: '-creation_date'}">
+        <template slot="title"><translate translate-context="Content/Home/Title">Recently added</translate></template>
+      </album-slider>
       <template v-if="scope === 'all'">
         <h3 class="ui header" >
           <translate translate-context="*/*/*">New channels</translate>
         </h3>
         <channels-widget :show-modification-date="true" :limit="12" :filters="{ordering: '-creation_date', external: 'false'}"></channels-widget>
       </template>
-
-
     </section>
   </main>
 </template>
@@ -46,6 +40,7 @@ import ChannelsWidget from "@/components/audio/ChannelsWidget"
 import ArtistCard from "@/components/audio/artist/Card"
 import TrackWidget from "@/components/audio/track/Widget"
 import AlbumWidget from "@/components/audio/album/Widget"
+import AlbumSlider from "@/components/audio/album/Slider"
 import PlaylistWidget from "@/components/playlists/Widget"
 
 const ARTISTS_URL = "artists/"
@@ -62,6 +57,7 @@ export default {
     AlbumWidget,
     PlaylistWidget,
     ChannelsWidget,
+    AlbumSlider,
   },
   data() {
     return {