diff --git a/models/item.model.js b/models/item.model.js
index 4f1650aa0f75a495515c359cf208b428917b227a..daabee826485bd7ac6a9772d34e43f99a5f67492 100644
--- a/models/item.model.js
+++ b/models/item.model.js
@@ -13,7 +13,8 @@ sequelize
 var Items = sequelize.define('Items', {
 	description: Sequelize.STRING,
 	price: Sequelize.FLOAT,
-  userId: Sequelize.INTEGER
+    typeItem: Sequelize.INTEGER, // typeDemande
+    userId: Sequelize.INTEGER
 }, {
 	tableItem: 'Items',
 });
@@ -23,12 +24,14 @@ sequelize.sync({force:true}).then(() => {
     description: 'Slip semi-propre',
     price: 4,
     userId: 1,
+    typeItem: 2
   }).then(out => console.log(out.dataValues));
 
   Items.create({
     description: 'Bon shit sa mère',
     price: 10,
     userId: 2,
+    typeItem: 1
   }).then(out => console.log(out.dataValues));
 })
 
@@ -36,35 +39,56 @@ function getItem(id) {
   return Items.findById(id);
 }
 
-function getItemsByDate(page, step) {
+function getItemsByDate(page, step, typeItem) {
   var offset = (page * step);
+  let where = {}
+  if(!isNaN(typeItem)){
+      where = {typeItem : typeItem}
+  }
+  console.log(where)
   return Items.findAll({
     offset: offset,
     limit: offset + step,
-    order: [['createdAt', 'DESC']]
+    order: [['createdAt', 'DESC']],
+    where: where
   });
 }
 
-function getItemsByUserId(id, page, step){
+function getItemsByUserId(id, page, step, typeItem){
   var offset = (page * step);
+  let where = {userId: id}
+  if(!isNaN(typeItem)){
+      where = {
+          typeItem : typeItem,
+          userId: id
+      }
+  }
   return Items.findAll({
     offset: offset,
     limit: offset + step,
-    where: { userId: id }
+    where: where
   });
 }
 
-function getItemsByDescription(description, page, step) {
+function getItemsByDescription(description, page, step, typeItem) {
   var offset = (page * step);
+  let where = { description: { $like: `%${description}%` } }
+  if(!isNaN(typeItem)){
+      where = {
+          description: { $like: `%${description}%` },
+          typeItem : typeItem
+      }
+  }
+  console.log(where)
   return Items.findAll({
     offset: offset,
     limit: offset + step,
-    where: { description: { $like: `%${description}%` } }
+    where: where
   });
 }
 
-function addItem(description, price, userId) {
-  return Items.create({ description: description, price: price, userId: userId });
+function addItem(description, price, userId, typeItem) {
+  return Items.create({ description: description, price: price, userId: userId, typeItem : typeItem});
 }
 
 function deleteItem(id) {
@@ -76,4 +100,12 @@ function deleteItem(id) {
     })
 }
 
-module.exports = {getItem, getItemsByDate, getItemsByUserId, getItemsByDescription, addItem, deleteItem}
+module.exports = {
+    getItem,
+    getItemsByDate,
+    getItemsByUserId,
+    getItemsByDescription,
+    addItem,
+    deleteItem,
+    typeItem : {demande : 1,offre : 2}
+}
diff --git a/routes/item.route.js b/routes/item.route.js
index d98b6ca3ed38feacd69c3562d991abdcde4b5c93..e386804e3261c47f45637792bcfac745f2d2b296 100644
--- a/routes/item.route.js
+++ b/routes/item.route.js
@@ -11,40 +11,41 @@ router.get('/byId/:id', function(req, res) {
 });
 
 router.get('/date', function(req, res) {
-	console.log(req.query)
 	let page = parseInt(req.query.page);
 	let step = parseInt(req.query.step);
+	let typeItem = parseInt(req.query.typeItem);
 	if(isNaN(page))
 		page = DEFAULT_PAGE;
 	if(isNaN(step))
 		step = DEFAULT_STEP;
-	itemModel.getItemsByDate(page, step).then(out => res.json(out));
+	itemModel.getItemsByDate(page, step, typeItem).then(out => res.json(out));
 });
 
 router.get('/userId', function(req, res) {
-	console.log(req.query)
 	let userId = parseInt(req.query.uId);
 	let page = parseInt(req.query.page);
 	let step = parseInt(req.query.step);
+	let typeItem = parseInt(req.query.typeItem);
 	if(isNaN(page))
 		page = DEFAULT_PAGE;
 	if(isNaN(step))
 		step = DEFAULT_STEP;
-	itemModel.getItemsByUserId(userId, page, step).then(out => res.json(out));
+	itemModel.getItemsByUserId(userId, page, step, typeItem).then(out => res.json(out));
 });
 
 router.get('/description', function(req, res) {
 	let page = parseInt(req.query.page);
 	let step = parseInt(req.query.step);
+	let typeItem = parseInt(req.query.typeItem);
 	if(isNaN(page))
 		page = DEFAULT_PAGE;
 	if(isNaN(step))
 		step = DEFAULT_STEP;
-	itemModel.getItemsByDescription(req.query.desc, page, step).then(out => res.json(out));
+	itemModel.getItemsByDescription(req.query.desc, page, step, typeItem).then(out => res.json(out));
 });
 
 router.post('/', function(req, res) {
-	itemModel.addItem(req.body.description, req.body.price, req.body.userId).then(out => res.json(out.dataValues))
+	itemModel.addItem(req.body.description, req.body.price, req.body.userId, req.body.typeItem).then(out => res.json(out.dataValues))
 	.catch(err => res.json(err));
 });