diff --git a/src/main/java/fr/unistra/sil/erp/back/controller/web/WebProductsController.java b/src/main/java/fr/unistra/sil/erp/back/controller/web/WebProductsController.java
index 87981ea0dcd5c600a46ebb287091b7b24b10a352..bb9b2df5dc24d0973d415418574b4c00cf65f812 100644
--- a/src/main/java/fr/unistra/sil/erp/back/controller/web/WebProductsController.java
+++ b/src/main/java/fr/unistra/sil/erp/back/controller/web/WebProductsController.java
@@ -1,8 +1,15 @@
 package fr.unistra.sil.erp.back.controller.web;
 
 
+import fr.unistra.sil.erp.back.DatabaseSystem;
 import static fr.unistra.sil.erp.back.WebMvcConfig.WEB_MAPPING_ITEMS;
+import fr.unistra.sil.erp.back.db.DatabaseConnectionException;
+import fr.unistra.sil.erp.back.model.Item;
+import java.util.List;
+import java.util.logging.Level;
+import java.util.logging.Logger;
 import org.springframework.stereotype.Controller;
+import org.springframework.ui.Model;
 import org.springframework.web.bind.annotation.GetMapping;
 
 /*
@@ -19,11 +26,18 @@ public class WebProductsController {
     
     /**
      * Handles the item list view.
+     * @param model the view's model.
      * @return the template to use.
      */
     @GetMapping(WEB_MAPPING_ITEMS)
-    public String products()
+    public String products(Model model)
     {
+        try {
+            List<Item> li = DatabaseSystem.getInstance().getAllItems();
+            model.addAttribute("items", li);
+        } catch (DatabaseConnectionException ex) {
+            Logger.getLogger(WebProductsController.class.getName()).log(Level.SEVERE, null, ex);
+        }
         return "items";
     }
     
diff --git a/src/main/resources/messages.properties b/src/main/resources/messages.properties
index d74cad6d08dea45506700e681c57f6f1eb05b78f..3f1dcdc9cc2aa6e868e1c008935acc82bee9f0e1 100644
--- a/src/main/resources/messages.properties
+++ b/src/main/resources/messages.properties
@@ -16,3 +16,7 @@ web.ui.products=Products
 web.ui.registry=Registry
 #Documents.
 web.ui.documents=Documents
+#Product price.
+web.ui.price=Price
+#Price for subscribers.
+web.ui.subscriberPrice=Subscriber Price
diff --git a/src/main/resources/messages_en.properties b/src/main/resources/messages_en.properties
index d74cad6d08dea45506700e681c57f6f1eb05b78f..3f1dcdc9cc2aa6e868e1c008935acc82bee9f0e1 100644
--- a/src/main/resources/messages_en.properties
+++ b/src/main/resources/messages_en.properties
@@ -16,3 +16,7 @@ web.ui.products=Products
 web.ui.registry=Registry
 #Documents.
 web.ui.documents=Documents
+#Product price.
+web.ui.price=Price
+#Price for subscribers.
+web.ui.subscriberPrice=Subscriber Price
diff --git a/src/main/resources/messages_fr.properties b/src/main/resources/messages_fr.properties
index 7bdcdde3ef8393bda4e8a711de54eb183b78fa40..f9f08b42196e68eaa39f565a9ca6072da71c7899 100644
--- a/src/main/resources/messages_fr.properties
+++ b/src/main/resources/messages_fr.properties
@@ -16,3 +16,7 @@ web.ui.products=Produits
 web.ui.registry=Registre
 #Documents.
 web.ui.documents=Documents
+#Product price.
+web.ui.price=Prix
+#Price for subscribers.
+web.ui.subscriberPrice=Prix adh\u00e9rent
diff --git a/src/main/resources/templates/items.html b/src/main/resources/templates/items.html
index 73e70e193378c6e1a828a3d3797c8980f15b4a4d..7b929370b66af7213286315e17d00b909ae0dfcd 100644
--- a/src/main/resources/templates/items.html
+++ b/src/main/resources/templates/items.html
@@ -7,7 +7,21 @@
         <div th:replace="fragments/navbar :: topNavBar"></div>
         <article>
             <h1 th:text="#{web.ui.products}"></h1>
-            <p>TODO</p>
+            <div class="mainFrame" id="productsArea">
+                <table class="mainList" id="productsList">
+                    <tr>
+                        <th th:text="#{web.ui.product}"></th>
+                        <th th:text="#{web.ui.price}"></th>
+                        <th th:text="#{web.ui.subscriberPrice}"></th>
+                    </tr>
+
+                    <tr th:each="item: ${items}">
+                        <td th:text="${item.name}"></td>
+                        <td th:text="${item.price}"></td>
+                        <td th:text="${item.subscriberPrice}"></td>
+                    </tr>
+                </table>
+            </div>
         </article>
     </body>
 </html>
\ No newline at end of file