diff --git a/api_proximo/public/.htaccess b/api_proximo/public/.htaccess
index 5e2374c..6b62afa 100644
--- a/api_proximo/public/.htaccess
+++ b/api_proximo/public/.htaccess
@@ -5,11 +5,13 @@ Options -MultiViews
RewriteEngine On
-# Redirect Trailing Slashes...
-RewriteRule ^(.*)/$ /$1 [L,R=301]
-
-# Handle Front Controller...
-RewriteCond %{REQUEST_FILENAME} !-d
-RewriteCond %{REQUEST_FILENAME} !-f
-RewriteRule ^ /~proximo/v2/index.php [L]
-
+ RewriteRule ^(,*)/$ /$1 [L,R=301]
+
+ RewriteCond %{REQUEST_FILENAME} !-f
+ RewriteCond %{REQUEST_FILENAME} !-d
+ RewriteRule ^ /~proximo/v2/index.php [L]
+
+
+ Require all granted
+ Satisfy All
+
\ No newline at end of file
diff --git a/api_proximo/public/asset-manifest.json b/api_proximo/public/asset-manifest.json
index 5ffeb90..4f0b5d5 100644
--- a/api_proximo/public/asset-manifest.json
+++ b/api_proximo/public/asset-manifest.json
@@ -1,15 +1,15 @@
{
"files": {
"main.css": "./static/css/main.4b77d535.chunk.css",
- "main.js": "./static/js/main.e923053c.chunk.js",
- "main.js.map": "./static/js/main.e923053c.chunk.js.map",
+ "main.js": "./static/js/main.0dfbbb5b.chunk.js",
+ "main.js.map": "./static/js/main.0dfbbb5b.chunk.js.map",
"runtime-main.js": "./static/js/runtime-main.40f0c74e.js",
"runtime-main.js.map": "./static/js/runtime-main.40f0c74e.js.map",
"static/css/2.c6d9fd02.chunk.css": "./static/css/2.c6d9fd02.chunk.css",
"static/js/2.0c92dc87.chunk.js": "./static/js/2.0c92dc87.chunk.js",
"static/js/2.0c92dc87.chunk.js.map": "./static/js/2.0c92dc87.chunk.js.map",
"index.html": "./index.html",
- "precache-manifest.4a48c0113d2ef597e01acb9b18ce4c65.js": "./precache-manifest.4a48c0113d2ef597e01acb9b18ce4c65.js",
+ "precache-manifest.3e289219059da0be0e9e84a938a20548.js": "./precache-manifest.3e289219059da0be0e9e84a938a20548.js",
"service-worker.js": "./service-worker.js",
"static/css/2.c6d9fd02.chunk.css.map": "./static/css/2.c6d9fd02.chunk.css.map",
"static/css/main.4b77d535.chunk.css.map": "./static/css/main.4b77d535.chunk.css.map",
@@ -21,6 +21,6 @@
"static/css/2.c6d9fd02.chunk.css",
"static/js/2.0c92dc87.chunk.js",
"static/css/main.4b77d535.chunk.css",
- "static/js/main.e923053c.chunk.js"
+ "static/js/main.0dfbbb5b.chunk.js"
]
}
\ No newline at end of file
diff --git a/api_proximo/public/index.html b/api_proximo/public/index.html
index 4c4f252..f90b9e2 100644
--- a/api_proximo/public/index.html
+++ b/api_proximo/public/index.html
@@ -1 +1 @@
-
Proximo
\ No newline at end of file
+Proximo
\ No newline at end of file
diff --git a/api_proximo/public/precache-manifest.3e289219059da0be0e9e84a938a20548.js b/api_proximo/public/precache-manifest.3e289219059da0be0e9e84a938a20548.js
new file mode 100644
index 0000000..e1df0cb
--- /dev/null
+++ b/api_proximo/public/precache-manifest.3e289219059da0be0e9e84a938a20548.js
@@ -0,0 +1,34 @@
+self.__precacheManifest = (self.__precacheManifest || []).concat([
+ {
+ "revision": "7d28d4436123ab40c53303e95894ec1a",
+ "url": "./index.html"
+ },
+ {
+ "revision": "c44c6e649c8fcce546b0",
+ "url": "./static/css/2.c6d9fd02.chunk.css"
+ },
+ {
+ "revision": "197598dcd180772e0a60",
+ "url": "./static/css/main.4b77d535.chunk.css"
+ },
+ {
+ "revision": "c44c6e649c8fcce546b0",
+ "url": "./static/js/2.0c92dc87.chunk.js"
+ },
+ {
+ "revision": "89b0379e7bcda1a468d8b0343aeb4e53",
+ "url": "./static/js/2.0c92dc87.chunk.js.LICENSE.txt"
+ },
+ {
+ "revision": "197598dcd180772e0a60",
+ "url": "./static/js/main.0dfbbb5b.chunk.js"
+ },
+ {
+ "revision": "492d0e2fb2d3e5c7c4ec",
+ "url": "./static/js/runtime-main.40f0c74e.js"
+ },
+ {
+ "revision": "840b5c531e9884cb72306e9f9b62bebb",
+ "url": "./static/media/magnifying-glass.840b5c53.png"
+ }
+]);
\ No newline at end of file
diff --git a/api_proximo/public/robots.txt b/api_proximo/public/robots.txt
index eb05362..e9e57dc 100644
--- a/api_proximo/public/robots.txt
+++ b/api_proximo/public/robots.txt
@@ -1,2 +1,3 @@
+# https://www.robotstxt.org/robotstxt.html
User-agent: *
Disallow:
diff --git a/api_proximo/public/service-worker.js b/api_proximo/public/service-worker.js
index 02bb702..264af49 100644
--- a/api_proximo/public/service-worker.js
+++ b/api_proximo/public/service-worker.js
@@ -14,7 +14,7 @@
importScripts("https://storage.googleapis.com/workbox-cdn/releases/4.3.1/workbox-sw.js");
importScripts(
- "./precache-manifest.4a48c0113d2ef597e01acb9b18ce4c65.js"
+ "./precache-manifest.3e289219059da0be0e9e84a938a20548.js"
);
self.addEventListener('message', (event) => {
diff --git a/api_proximo/public/static/js/main.0dfbbb5b.chunk.js b/api_proximo/public/static/js/main.0dfbbb5b.chunk.js
new file mode 100644
index 0000000..ec36083
--- /dev/null
+++ b/api_proximo/public/static/js/main.0dfbbb5b.chunk.js
@@ -0,0 +1,2 @@
+(this.webpackJsonpsite_proximo=this.webpackJsonpsite_proximo||[]).push([[0],{117:function(e,t,a){},118:function(e,t,a){},119:function(e,t,a){},120:function(e,t,a){},121:function(e,t,a){},122:function(e,t,a){},123:function(e,t,a){"use strict";a.r(t);var n=a(2),o=a(3),r=a(5),i=a(4),c=a(0),l=a.n(c),s=a(16),d=a.n(s),m=a(28),u=a(7),h=(a(65),a(66),function(e){Object(r.a)(a,e);var t=Object(i.a)(a);function a(e){var o;return Object(n.a)(this,a),(o=t.call(this,e)).state={},o}return Object(o.a)(a,[{key:"render",value:function(){return l.a.createElement("div",{className:"header"},this.props.title)}}]),a}(l.a.Component)),p=(a(67),a(10)),g=a.n(p),f=a(52),E=a.n(f),v=a(11),y=a.n(v),C=a(31),b=a.n(C),k=(a(68),a(9)),B=a.n(k),S=function(e){Object(r.a)(a,e);var t=Object(i.a)(a);function a(e){var o;return Object(n.a)(this,a),(o=t.call(this,e)).handleDesc=function(){o.setState({currentArticle:o.props.id})},o.handlePhoto=function(){o.setState({currentArticle:""})},o.handleRedCross=function(){o.setState({redcrossPressed:!0})},o.handleNoDelete=function(){o.setState({redcrossPressed:!1})},o.deleteArticle=function(){B.a.delete("https://etud.insa-toulouse.fr/~proximo/v2/api/articles/".concat(o.props.id)).then((function(e){console.log(e.data),o.setState({redirect:!0})})).catch((function(e){console.log(e.response)}))},o.updateArticle=function(){B.a.put("https://etud.insa-toulouse.fr/~proximo/v2/api/articles/".concat(o.props.id),{name:o.props.name,description:o.props.desc,quantity:o.state.quantity,price:o.props.price,code:o.props.code,category_id:o.props.category.id}).then((function(e){console.log(e.data)})).catch((function(e){console.log(e.response)}))},o.plusQuantity=function(){o.setState({quantity:o.state.quantity+1},(function(){o.updateArticle()}))},o.minusQuantity=function(){o.state.quantity>0&&o.setState({quantity:o.state.quantity-1},(function(){o.updateArticle()}))},o.state={currentArticle:"",redirect:!1,redcrossPressed:!1,quantity:o.props.quantity},o}return Object(o.a)(a,[{key:"render",value:function(){var e=this;return this.state.redirect?l.a.createElement(u.a,{to:"/stock"}):l.a.createElement("div",{id:"bulle",onMouseEnter:this.handleDesc,onMouseLeave:this.handlePhoto},this.state.redcrossPressed?l.a.createElement("div",{id:"confirmation"},l.a.createElement("div",{id:"confirmationTxt"},"Tu veux vraiment supprimer cet article ?"),l.a.createElement("div",{id:"choice"},l.a.createElement("div",{id:"yes",onClick:this.deleteArticle},"Oui"),l.a.createElement("div",{id:"no",onClick:this.handleNoDelete},"Non"))):l.a.createElement(l.a.Fragment,null,l.a.createElement("div",{id:"imageordescblock"},this.state.currentArticle===this.props.id?l.a.createElement(l.a.Fragment,null,l.a.createElement("div",{id:"icons"},l.a.createElement("div",{id:"bluepen",onClick:function(){return e.props.editArticle(e.props)}},l.a.createElement(p.Icon,{icon:b.a,style:{color:"#ffffff",fontSize:"25px"},rotate:"270deg"})),l.a.createElement("div",{id:"redcross",onClick:this.handleRedCross},l.a.createElement(p.Icon,{icon:y.a,style:{transform:"rotate(-45deg)",color:"#ffffff",fontSize:"25px"}}))),l.a.createElement("div",{id:"categoryDiv"},l.a.createElement("img",{onClick:function(){return e.props.handleCategories(e.props.category)},id:"categoryIcon",alt:"bonjour",src:"https://etud.insa-toulouse.fr/~proximo/api_proximo/storage/app/public/icon/".concat(this.props.category.icon)})),l.a.createElement("div",{id:"descandprice"},l.a.createElement("h1",{id:"desc"},this.props.desc),l.a.createElement("p",{id:"price"},this.props.price," \u20ac"))):l.a.createElement("img",{id:"image",src:"https://etud.insa-toulouse.fr/~proximo/api_proximo/storage/app/public/img/".concat(this.props.img),alt:"bonjour"})),l.a.createElement("h1",{id:"name"},this.props.name),l.a.createElement("div",{id:"count"},l.a.createElement(p.Icon,{onClick:this.minusQuantity,icon:E.a,style:{color:"#ffffff",fontSize:"18.558874130249023px",cursor:"pointer"}}),l.a.createElement("div",{id:"countNumber"},l.a.createElement("p",{id:"countNumberTxt"},this.state.quantity)),l.a.createElement(p.Icon,{onClick:this.plusQuantity,icon:y.a,style:{color:"#ffffff",fontSize:"18.558874130249023px",cursor:"pointer"}}))))}}]),a}(l.a.Component),x=function(e){Object(r.a)(a,e);var t=Object(i.a)(a);function a(e){var o;return Object(n.a)(this,a),(o=t.call(this,e)).state={mouseEnter:!1},o}return Object(o.a)(a,[{key:"render",value:function(){var e=this;return l.a.createElement("div",{id:"articleContainer"},l.a.createElement("div",{id:"articles"},this.props.articles.map((function(t){return l.a.createElement(S,{handleCategories:e.props.handleCategories,editArticle:e.props.editionArticle,key:t.id,id:t.id,name:t.name,img:t.image,desc:t.description,price:t.price,quantity:t.quantity,code:t.code,category:t.category})}))))}}]),a}(l.a.Component),w=(a(90),function(e){Object(r.a)(a,e);var t=Object(i.a)(a);function a(e){var o;return Object(n.a)(this,a),(o=t.call(this,e)).handleDisplay=function(){o.setState({mouseOn:!0})},o.handleNormal=function(){o.setState({mouseOn:!1})},o.state={mouseOn:!1},o}return Object(o.a)(a,[{key:"render",value:function(){return l.a.createElement("div",{id:"navbar"},l.a.createElement("div",{id:"createedit",onClick:this.handleDisplay,onMouseLeave:this.handleNormal},!this.state.mouseOn&&l.a.createElement("p",null,"Cr\xe9er"),this.state.mouseOn&&l.a.createElement("div",{id:"choice"},l.a.createElement("p",{onClick:this.props.handleNewArticle},"Article"),l.a.createElement("p",null,"|"),l.a.createElement("p",{onClick:this.props.handleNewCategory},"Cat\xe9gorie"))),l.a.createElement("div",{id:"blank"},"OK"),l.a.createElement("div",{id:"update"},l.a.createElement("p",null,"Mettre \xe0 jour")))}}]),a}(l.a.Component)),N=(a(91),a(92),a(144)),O=a(143),j=function(e){Object(r.a)(a,e);var t=Object(i.a)(a);function a(e){var o;return Object(n.a)(this,a),(o=t.call(this,e)).handleNameChange=function(e){o.setState({name:e.target.value},(function(){console.log(o.state.name)}))},o.handleIconChange=function(e){o.setState({icon:e.target.files[0]},(function(){console.log(o.state.icon)}))},o.handleSubmit=function(e){e.preventDefault();var t=new FormData;t.set("name",o.state.name),t.set("icon",o.state.icon),B.a.post("https://etud.insa-toulouse.fr/~proximo/v2/api/categories",t).then((function(e){console.log(e),o.setState({errors:[]}),o.props.reload&&window.location.reload(),o.props.handleCloseAbove()})).catch((function(e){401===e.response.status&&o.setState({errors:e.response.data.errors}),console.log(e.response.data.errors)}))},o.state={name:"",icon:"",errors:[]},o}return Object(o.a)(a,[{key:"render",value:function(){return l.a.createElement("div",{id:"transp"},l.a.createElement("div",{id:"formBody"},l.a.createElement("div",{id:"formHead"},l.a.createElement("div",{id:"formHeadTxt"},"Nouvelle Cat\xe9gorie"),l.a.createElement("div",{id:"crossClose",onClick:this.props.handleCloseAbove},l.a.createElement(p.Icon,{icon:y.a,style:{transform:"rotate(-45deg)",color:"#ffffff",fontSize:"3vw"}}))),l.a.createElement("div",{id:"formMainContent"},l.a.createElement("form",{method:"POST",onSubmit:this.handleSubmit},l.a.createElement("div",{id:"nameBlock"},l.a.createElement("div",{id:"nameBlockInput"},l.a.createElement("label",{htmlFor:"nameBox"},"Nom"),l.a.createElement("input",{id:"nameBox",onChange:this.handleNameChange,type:"text"})),l.a.createElement("div",{id:"errorNameBlock"},l.a.createElement("p",{id:"errorName"},!this.state.name&&this.state.errors.name))),l.a.createElement("div",{id:"iconBlock"},l.a.createElement("div",{id:"iconBlockInput"},l.a.createElement(N.a,{title:"T\xe9l\xe9charger la bonne ic\xf4ne surr www.flaticon.com en 512px et l'enregistrer dans le dossier Ic\xf4nes",TransitionComponent:O.a,"aria-label":"Aller sur www.flaticon.com",interactive:!0},l.a.createElement("label",{htmlFor:"iconBox",id:"customIconBox"},"T\xe9l\xe9charger une Ic\xf4ne")),l.a.createElement("input",{id:"iconBox",onChange:this.handleIconChange,type:"file"})),l.a.createElement("div",{id:"errorIconBlock"},this.state.icon.name?l.a.createElement("p",{id:"iconName"},this.state.icon.name):l.a.createElement("p",{id:"errorIcon"},this.state.errors.icon))),l.a.createElement("button",{id:"button",type:"submit"},"Ajouter")))))}}]),a}(l.a.Component),A=function(e){Object(r.a)(a,e);var t=Object(i.a)(a);function a(){var e;return Object(n.a)(this,a),(e=t.call(this)).handleNameChange=function(t){e.setState({name:t.target.value},(function(){console.log(e.state.name)}))},e.handleCategoryChange=function(t){e.setState({category_id:t.target.value},(function(){console.log(e.state.category_id)}))},e.handleDescriptionChange=function(t){e.setState({description:t.target.value},(function(){console.log(e.state.description)}))},e.handleQuantityChange=function(t){e.setState({quantity:t.target.value},(function(){console.log(e.state.quantity)}))},e.handlePriceChange=function(t){e.setState({price:t.target.value},(function(){console.log(e.state.price)}))},e.handleCodeChange=function(t){e.setState({code:t.target.value},(function(){console.log(e.state.code)}))},e.handleImageChange=function(t){e.setState({image:t.target.files[0]},(function(){console.log(e.state.image)}))},e.handleSubmit=function(t){t.preventDefault();var a=new FormData;a.set("name",e.state.name),a.set("description",e.state.description),a.set("quantity",e.state.quantity),a.set("price",e.state.price),a.set("code",e.state.code),a.set("image",e.state.image),a.set("category_id",e.state.category_id),B.a.post("https://etud.insa-toulouse.fr/~proximo/v2/api/articles/store",a).then((function(t){console.log(t),window.location.reload(),e.props.handleCloseAbove()})).catch((function(t){401===t.response.status&&e.setState({errors:t.response.data.errors}),console.log(t.response.data.errors)}))},e.handleNewCategory=function(){e.setState({onNewCategory:!0})},e.handleCloseNewCategory=function(){e.setState({onNewCategory:!1})},e.reload=function(){e.state.alreadyDone||B.a.get("https://etud.insa-toulouse.fr/~proximo/v2/api/categories").then((function(t){e.setState({categories:t.data},(function(){console.log(e.state.categories),e.setState({categoryName:t.data[0].name}),e.setState({alreadyDone:!0})}))})).catch((function(e){console.log(e.response)}))},e.state={name:"",description:"",quantity:"",price:"",code:"",image:"",category_id:"",errors:[],categories:[],categoryName:"",onNewCategory:!1,alreadyDone:!1},e}return Object(o.a)(a,[{key:"componentDidMount",value:function(){var e=this;B.a.get("https://etud.insa-toulouse.fr/~proximo/v2/api/categories").then((function(t){e.setState({categories:t.data},(function(){console.log(e.state.categories),e.setState({categoryName:t.data[0].name})}))})).catch((function(e){console.log(e.response)}))}},{key:"render",value:function(){return this.state.onNewCategory?l.a.createElement(j,{reload:!1,handleCloseAbove:this.handleCloseNewCategory}):l.a.createElement("div",{id:"transp"},l.a.createElement("div",{id:"formBody"},l.a.createElement("div",{id:"formHead"},l.a.createElement("div",{id:"formHeadTxt"},"Nouvel Article"),l.a.createElement("div",{id:"crossClose",onClick:this.props.handleCloseAbove},l.a.createElement(p.Icon,{icon:y.a,style:{transform:"rotate(-45deg)",color:"#ffffff",fontSize:"3vw"}}))),l.a.createElement("div",{id:"formMainContent"},l.a.createElement("form",{method:"POST",onSubmit:this.handleSubmit},l.a.createElement("div",{id:"nameandcatBox"},l.a.createElement("div",{id:"nameBlock"},l.a.createElement("div",{id:"nameBlockInput"},l.a.createElement("label",{htmlFor:"nameBox"},"Nom"),l.a.createElement("input",{id:"nameBox",onChange:this.handleNameChange,type:"text"})),l.a.createElement("div",{id:"errorNameBlock"},l.a.createElement("p",{id:"errorName"},!this.state.name&&this.state.errors.name))),l.a.createElement("div",{id:"categoryBlock"},l.a.createElement("div",{id:"categoryAndAddBlock"},l.a.createElement("div",{id:"categoryBlockInput"},l.a.createElement("label",{htmlFor:"categoryBox"},"Categorie"),l.a.createElement("select",{onClick:this.reload,id:"categoryBox",onChange:this.handleCategoryChange,defaultValue:this.state.categoryName},l.a.createElement("option",{value:"Aucune"},"Aucune"),this.state.categories.map((function(e){return l.a.createElement("option",{key:e.id,value:e.id},e.name)})))),l.a.createElement("div",{id:"addCategoryBlock"},l.a.createElement(N.a,{title:"Ajouter une cat\xe9gorie",TransitionComponent:O.a,"aria-label":"Ajouter une cat\xe9gorie"},l.a.createElement("div",{id:"addCategoryBox",onClick:this.handleNewCategory},l.a.createElement(p.Icon,{icon:y.a,style:{color:"#ffffff",fontSize:"2vw"}}))))),l.a.createElement("div",{id:"errorCategoryBlock"},l.a.createElement("p",{id:"errorCategory"},!this.state.category_id&&this.state.errors.category_id)))),l.a.createElement("div",{id:"descriptionBlock"},l.a.createElement("div",{id:"descriptionBlockInput"},l.a.createElement("label",{htmlFor:"descriptionBox"},"Description"),l.a.createElement("textarea",{rows:"5",id:"descriptionBox",onChange:this.handleDescriptionChange,type:"textarea"})),l.a.createElement("div",{id:"errorDescriptionBlock"},l.a.createElement("p",{id:"errorDescription"},!this.state.description&&this.state.errors.description))),l.a.createElement("div",{id:"quantandpriBox"},l.a.createElement("div",{id:"quantityBlock"},l.a.createElement("div",{id:"quantityBlockInput"},l.a.createElement("label",{htmlFor:"quantityBox"},"Quantit\xe9"),l.a.createElement("input",{id:"quantityBox",onChange:this.handleQuantityChange,type:"number",min:"0",step:"1"})),l.a.createElement("div",{id:"errorQuantityBlock"},l.a.createElement("p",{id:"errorQuantity"},!this.state.quantity&&this.state.errors.quantity))),l.a.createElement("div",{id:"priceBlock"},l.a.createElement("div",{id:"priceBlockInput"},l.a.createElement("label",{htmlFor:"priceBox"},"Prix"),l.a.createElement("input",{id:"priceBox",onChange:this.handlePriceChange,type:"number",min:"0",step:"0.01"})),l.a.createElement("div",{id:"errorPriceBlock"},l.a.createElement("p",{id:"errorPrice"},!this.state.price&&this.state.errors.price)))),l.a.createElement("div",{id:"codeBlock"},l.a.createElement("div",{id:"codeBlockInput"},l.a.createElement("label",{htmlFor:"codeBox"},"Code"),l.a.createElement("input",{id:"codeBox",onChange:this.handleCodeChange,type:"text"})),l.a.createElement("div",{id:"errorCodeBlock"},l.a.createElement("p",{id:"errorCode"},!this.state.code&&this.state.errors.code))),l.a.createElement("div",{id:"imageBlock"},l.a.createElement("div",{id:"imageBlockInput"},l.a.createElement(N.a,{style:{"text-align":"center"},title:"T\xe9l\xe9charger la bonne image, si besoin, enelever le contour avec removebg.com et enregistrer la photo dans le dossier Images",TransitionComponent:O.a,"aria-label":"Aller sur www.flaticon.com",interactive:!0},l.a.createElement("label",{htmlFor:"imageBox",id:"customImageBox"},"T\xe9l\xe9charger une Image")),l.a.createElement("input",{id:"imageBox",onChange:this.handleImageChange,type:"file"})),l.a.createElement("div",{id:"errorImageBlock"},this.state.image.name?l.a.createElement("p",{id:"imageName"},this.state.image.name):l.a.createElement("p",{id:"errorImage"},this.state.errors.image))),l.a.createElement("button",{id:"button",type:"submit"},"Ajouter")))))}}]),a}(l.a.Component),I=(a(93),a(94),function(e){Object(r.a)(a,e);var t=Object(i.a)(a);function a(e){var o;return Object(n.a)(this,a),(o=t.call(this,e)).handleCategoryChange=function(e){o.setState({category_id:e.target.value},(function(){console.log(o.state.category_id)}))},o.handleNameChange=function(e){o.setState({name:e.target.value},(function(){console.log(o.state.name)}))},o.handleDescriptionChange=function(e){o.setState({description:e.target.value},(function(){console.log(o.state.description)}))},o.handleQuantityChange=function(e){o.setState({quantity:e.target.value},(function(){console.log(o.state.quantity)}))},o.handlePriceChange=function(e){o.setState({price:e.target.value},(function(){console.log(o.state.price)}))},o.handleCodeChange=function(e){o.setState({code:e.target.value},(function(){console.log(o.state.code)}))},o.handleImageChange=function(e){console.log("ok"),o.setState({image:e.target.files[0]},(function(){console.log(o.state.image)}))},o.handleSubmit=function(e){e.preventDefault();var t={};t.name=o.state.name,t.description=o.state.description,t.quantity=o.state.quantity,t.price=o.state.price,t.code=o.state.code,t.category_id=o.state.category_id;var a=new FormData;o.state.image&&(a.set("image",o.state.image),B.a.post("https://etud.insa-toulouse.fr/~proximo/v2/api/articles/".concat(o.props.article.id),a).then((function(e){console.log(e),o.setState({errors:[]})})).catch((function(e){401===e.response.status&&o.setState({errors:e.response.data.errors})}))),B.a.put("https://etud.insa-toulouse.fr/~proximo/v2/api/articles/".concat(o.props.article.id),t).then((function(e){console.log(e),o.setState({errors:[]}),window.location.reload(),o.props.handleCloseAbove()})).catch((function(e){console.log(e),401===e.response.status&&o.setState({errors:e.response.data.errors})}))},o.reload=function(){console.log("reload"),o.state.alreadyDone||B.a.get("https://etud.insa-toulouse.fr/~proximo/v2/api/categories").then((function(e){o.setState({categories:e.data},(function(){console.log(o.state.categories),o.setState({alreadyDone:!0})}))})).catch((function(e){console.log(e.response)}))},o.handleNewCategory=function(){o.setState({onNewCategory:!0})},o.handleCloseNewCategory=function(){o.setState({onNewCategory:!1})},o.state={name:o.props.article.name,description:o.props.article.desc,quantity:o.props.article.quantity,price:o.props.article.price,code:o.props.article.code,image:"",categories:[],category_id:o.props.article.category.id,categoryName:o.props.article.category.name,errors:[],onNewCategory:!1,alreadyDone:!1},o}return Object(o.a)(a,[{key:"componentDidMount",value:function(){var e=this;B.a.get("https://etud.insa-toulouse.fr/~proximo/v2/api/categories").then((function(t){e.setState({categories:t.data},(function(){console.log(e.state.categories)}))})).catch((function(e){console.log(e.response)}))}},{key:"render",value:function(){var e=this;return console.log(this.props.article),console.log(this.state),this.state.onNewCategory?l.a.createElement(j,{reload:!1,handleCloseAbove:this.handleCloseNewCategory}):l.a.createElement("div",{id:"transp"},l.a.createElement("div",{id:"formBody"},l.a.createElement("div",{id:"formHead"},l.a.createElement("div",{id:"formHeadTxt"},"Editer Article"),l.a.createElement("div",{id:"crossClose",onClick:this.props.handleCloseAbove},l.a.createElement(p.Icon,{icon:y.a,style:{transform:"rotate(-45deg)",color:"#ffffff",fontSize:"3vw"}}))),l.a.createElement("div",{id:"formMainContent"},l.a.createElement("form",{method:"POST",onSubmit:this.handleSubmit},l.a.createElement("div",{id:"nameandcatBox"},l.a.createElement("div",{id:"nameBlock"},l.a.createElement("div",{id:"nameBlockInput"},l.a.createElement("label",{htmlFor:"nameBox"},"Nom"),l.a.createElement("input",{id:"nameBox",onChange:this.handleNameChange,type:"text",value:this.state.name})),l.a.createElement("div",{id:"errorNameBlock"},l.a.createElement("p",{id:"errorName"},!this.state.name&&this.state.errors.name))),l.a.createElement("div",{id:"categoryBlock"},l.a.createElement("div",{id:"categoryAndAddBlock"},l.a.createElement("div",{id:"categoryBlockInput"},l.a.createElement("label",{htmlFor:"categoryBox"},"Categorie"),l.a.createElement("select",{onClick:this.reload,id:"categoryBox",onChange:this.handleCategoryChange},l.a.createElement("option",{value:this.state.categoryName},this.state.categoryName),this.state.categories.map((function(t){return e.state.categoryName!==t.name?l.a.createElement("option",{key:t.id,value:t.id},t.name):null})))),l.a.createElement("div",{id:"addCategoryBlock"},l.a.createElement(N.a,{title:"Ajouter une cat\xe9gorie",TransitionComponent:O.a,"aria-label":"Ajouter une cat\xe9gorie"},l.a.createElement("div",{id:"addCategoryBox",onClick:this.handleNewCategory},l.a.createElement(p.Icon,{icon:y.a,style:{color:"#ffffff",fontSize:"2vw"}}))))),l.a.createElement("div",{id:"errorCategoryBlock"},l.a.createElement("p",{id:"errorCategory"},!this.state.category_id&&this.state.errors.category_id)))),l.a.createElement("div",{id:"descriptionBlock"},l.a.createElement("div",{id:"descriptionBlockInput"},l.a.createElement("label",{htmlFor:"descriptionBox"},"Description"),l.a.createElement("textarea",{rows:"5",id:"descriptionBox",onChange:this.handleDescriptionChange,value:this.state.description})),l.a.createElement("div",{id:"errorDescriptionBlock"},l.a.createElement("p",{id:"errorDescription"},!this.state.description&&this.state.errors.description))),l.a.createElement("div",{id:"quantandpriBox"},l.a.createElement("div",{id:"quantityBlock"},l.a.createElement("div",{id:"quantityBlockInput"},l.a.createElement("label",{htmlFor:"quantityBox"},"Quantit\xe9"),l.a.createElement("input",{id:"quantityBox",onChange:this.handleQuantityChange,type:"number",min:"0",step:"1",value:this.state.quantity})),l.a.createElement("div",{id:"errorQuantityBlock"},l.a.createElement("p",{id:"errorQuantity"},!this.state.quantity&&this.state.errors.quantity))),l.a.createElement("div",{id:"priceBlock"},l.a.createElement("div",{id:"priceBlockInput"},l.a.createElement("label",{htmlFor:"priceBox"},"Prix"),l.a.createElement("input",{id:"priceBox",onChange:this.handlePriceChange,type:"number",min:"0",step:"0.01",value:this.state.price})),l.a.createElement("div",{id:"errorPriceBlock"},l.a.createElement("p",{id:"errorPrice"},!this.state.price&&this.state.errors.price)))),l.a.createElement("div",{id:"codeBlock"},l.a.createElement("div",{id:"codeBlockInput"},l.a.createElement("label",{htmlFor:"codeBox"},"Code"),l.a.createElement("input",{id:"codeBox",onChange:this.handleCodeChange,type:"text",value:this.state.code})),l.a.createElement("div",{id:"errorCodeBlock"},l.a.createElement("p",{id:"errorCode"},!this.state.code&&this.state.errors.code))),l.a.createElement("div",{id:"imageBlock"},l.a.createElement("div",{id:"imageBlockInput"},l.a.createElement(N.a,{title:"T\xe9l\xe9charger la bonne image, si besoin, enelever le contour avec removebg.com et enregistrer la photo dans le dossier Images",TransitionComponent:O.a,"aria-label":"Aller sur www.flaticon.com",interactive:!0},l.a.createElement("label",{htmlFor:"imageBox",id:"customImageBox"},"T\xe9l\xe9charger une Image")),l.a.createElement("input",{id:"imageBox",onChange:this.handleImageChange,type:"file"})),l.a.createElement("div",{id:"errorImageBlock"},this.state.image?l.a.createElement("p",{id:"imageName"},this.state.image.name):l.a.createElement("p",{id:"errorImage"},this.state.errors.image),!this.state.image&&l.a.createElement("p",{id:"imageName"},this.props.article.img))),l.a.createElement("button",{id:"button",type:"submit"},"Modifier")))))}}]),a}(l.a.Component)),T=(a(95),function(e){Object(r.a)(a,e);var t=Object(i.a)(a);function a(e){var o;return Object(n.a)(this,a),(o=t.call(this,e)).handleDisplayMeans=function(){o.setState({onMeans:!0})},o.handleNormal=function(){o.setState({onMeans:!1})},o.state={onMeans:!1},o}return Object(o.a)(a,[{key:"render",value:function(){var e=new Date;return l.a.createElement("div",{className:"footer"},l.a.createElement("div",{id:"contactAndMeans"},this.state.onMeans?l.a.createElement("div",{id:"means",onMouseLeave:this.handleNormal},l.a.createElement("a",{href:"https://m.me/100008584754501",target:"_blank"},l.a.createElement("img",{id:"mess",src:"img\\logo_messenger.png",alt:"bonjour"})),l.a.createElement("a",{href:"https://mail.google.com/mail/?view=cm&fs=1&to=baptiste1296@gmail.com&su=Proximo",target:"_blank"},l.a.createElement("img",{id:"gmail",src:"img\\logo_gmail.png",alt:"bonjour"}))):l.a.createElement("div",{onClick:this.handleDisplayMeans,id:"contact"},"Contacter le d\xe9veloppeur")),l.a.createElement("div",{id:"copyright"},"Copyright \xa9 ",e.getFullYear()," Baptiste MARTY. Tous droits r\xe9serv\xe9s"),l.a.createElement("div",{id:"proxiBlock"},l.a.createElement("div",{id:"proxiLogoBlock"},l.a.createElement("img",{id:"proxiLogo",src:"img\\logo_proximo.png",alt:"bonjour"})),l.a.createElement("div",{id:"proxiTxt"},"Le Proxigang")))}}]),a}(l.a.Component)),D=(a(96),function(e){Object(r.a)(a,e);var t=Object(i.a)(a);function a(e){var o;return Object(n.a)(this,a),(o=t.call(this,e)).state={},o}return Object(o.a)(a,[{key:"render",value:function(){return l.a.createElement("div",null,l.a.createElement("form",{method:"POST",onSubmit:this.props.onSubmit},l.a.createElement("input",{onChange:this.props.onChange,id:"searchInput",type:"search",placeholder:"Rechercher"})))}}]),a}(l.a.Component)),q=(a(97),a(57)),F=a.n(q),P=function(e){Object(r.a)(a,e);var t=Object(i.a)(a);function a(e){var o;return Object(n.a)(this,a),(o=t.call(this,e)).state={},o}return Object(o.a)(a,[{key:"render",value:function(){return l.a.createElement("div",null,l.a.createElement(F.a,{type:"RevolvingDot",color:"white",height:100,width:100,timeout:5e3}))}}]),a}(l.a.Component),M=(a(117),function(e){Object(r.a)(a,e);var t=Object(i.a)(a);function a(e){var o;return Object(n.a)(this,a),(o=t.call(this,e)).getCategories=function(){B.a.get("https://etud.insa-toulouse.fr/~proximo/v2/api/categories").then((function(e){o.setState({categories:e.data},(function(){console.log(o.state.categories)}))})).catch((function(e){console.log(e.response)}))},o.handleSwitchCategory=function(e){o.state.redCrossPressed||o.setState({categoryFocused:e})},o.handleDeleteCategory=function(){B.a.delete("https://etud.insa-toulouse.fr/~proximo/v2/api/categories/".concat(o.state.categoryFocused.id)).then((function(e){o.getCategories(),o.setState({categoryFocused:o.state.categories[0]}),o.handleNoDelete(),console.log(e.data)})).catch((function(e){console.log(e.response)}))},o.handleDisplayConfirmation=function(){o.setState({redCrossPressed:!0})},o.handleNoDelete=function(){o.setState({redCrossPressed:!1})},o.state={categories:[],categoryFocused:o.props.currentCategory,redCrossPressed:!1},o}return Object(o.a)(a,[{key:"componentDidMount",value:function(){this.getCategories()}},{key:"render",value:function(){var e=this;return l.a.createElement("div",{id:"transp"},l.a.createElement("div",{id:"formBody"},l.a.createElement("div",{id:"formHead"},l.a.createElement("div",{id:"formHeadTxt"},"Cat\xe9gories"),l.a.createElement("div",{id:"crossClose",onClick:this.props.handleCloseAbove},l.a.createElement(g.a,{icon:y.a,style:{transform:"rotate(-45deg)",color:"#ffffff",fontSize:"3vw"}}))),l.a.createElement("div",{id:"mainContent"},this.state.redCrossPressed?l.a.createElement("div",{id:"confirmationBlock"},l.a.createElement("div",{id:"confirmationBlockTxt"},"Tu veux vraiment supprimer cet article ?"),l.a.createElement("div",{id:"choiceBlock"},l.a.createElement("div",{id:"yesBlock",onClick:this.handleDeleteCategory},"Oui"),l.a.createElement("div",{id:"noBlock",onClick:this.handleNoDelete},"Non"))):l.a.createElement(l.a.Fragment,null,l.a.createElement("div",{id:"categoryFocused"},l.a.createElement("div",{id:"bluePenBlock"},l.a.createElement("div",{onClick:function(){return e.props.handleEditCategory(e.state.categoryFocused)},id:"bluePen"},l.a.createElement(g.a,{icon:b.a,style:{color:"#ffffff",fontSize:"2vw"},rotate:"270deg"}))),l.a.createElement("div",{id:"catBigIconBlock"},l.a.createElement("img",{id:"catBigIcon",src:"https://etud.insa-toulouse.fr/~proximo/v2/storage/icon/".concat(this.state.categoryFocused.icon),alt:"bonjour"})),l.a.createElement("div",{id:"redCrossBlock"},l.a.createElement("div",{onClick:this.handleDisplayConfirmation,id:"redCross"},l.a.createElement(g.a,{icon:y.a,style:{transform:"rotate(-45deg)",color:"#ffffff",fontSize:"2vw"}})))),l.a.createElement("div",{id:"currentCategoryName"},this.state.categoryFocused.name)),l.a.createElement("div",{id:"categoryList"},this.state.categories&&this.state.categories[0]?this.state.categories.map((function(t){return t.id!==e.state.categoryFocused.id?l.a.createElement("div",{onClick:function(){return e.handleSwitchCategory(t)},key:t.id,id:"categoryItem"},l.a.createElement("div",{id:"categoryItemIcon"},l.a.createElement("img",{id:"categoryItemIconImg",src:"https://etud.insa-toulouse.fr/~proximo/v2/storage/icon/".concat(t.icon),alt:"bonjour"})),l.a.createElement("div",{id:"categoryItemName"},t.name)):null})):l.a.createElement(P,null)))))}}]),a}(c.Component)),_=(a(118),function(e){Object(r.a)(a,e);var t=Object(i.a)(a);function a(e){var o;return Object(n.a)(this,a),(o=t.call(this,e)).handleNameChange=function(e){o.setState({name:e.target.value},(function(){console.log(o.state.name)}))},o.handleIconChange=function(e){o.setState({icon:e.target.files[0]},(function(){console.log(o.state.icon)}))},o.handleSubmit=function(e){e.preventDefault();var t=new FormData;o.state.icon&&(t.set("icon",o.state.icon),B.a.post("https://etud.insa-toulouse.fr/~proximo/v2/api/categories/".concat(o.props.category.id),t).then((function(e){console.log(e),o.setState({errors:[]})})).catch((function(e){401===e.response.status&&o.setState({errors:e.response.data.errors}),console.log(e.response.data.errors)})));var a={};a.name=o.state.name,B.a.put("https://etud.insa-toulouse.fr/~proximo/v2/api/categories/".concat(o.props.category.id),a).then((function(e){console.log(e),o.setState({errors:[]}),window.location.reload(),o.props.handleCloseAbove()})).catch((function(e){401===e.response.status&&o.setState({errors:e.response.data.errors}),console.log(e.response.data.errors)}))},o.state={name:o.props.category.name,icon:"",errors:[]},o}return Object(o.a)(a,[{key:"render",value:function(){return l.a.createElement("div",{id:"transp"},l.a.createElement("div",{id:"formBody"},l.a.createElement("div",{id:"formHead"},l.a.createElement("div",{id:"formHeadTxt"},"Editer Cat\xe9gorie"),l.a.createElement("div",{id:"crossClose",onClick:this.props.handleCloseAbove},l.a.createElement(g.a,{icon:y.a,style:{transform:"rotate(-45deg)",color:"#ffffff",fontSize:"3vw"}}))),l.a.createElement("div",{id:"formMainContent"},l.a.createElement("form",{method:"POST",onSubmit:this.handleSubmit},l.a.createElement("div",{id:"nameBlock"},l.a.createElement("div",{id:"nameBlockInput"},l.a.createElement("label",{htmlFor:"nameBox"},"Nom"),l.a.createElement("input",{id:"nameBox",onChange:this.handleNameChange,type:"text",value:this.state.name})),l.a.createElement("div",{id:"errorNameBlock"},l.a.createElement("p",{id:"errorName"},!this.state.name&&this.state.errors.name))),l.a.createElement("div",{id:"iconBlock"},l.a.createElement("div",{id:"iconBlockInput"},l.a.createElement(N.a,{title:"T\xe9l\xe9charger la bonne ic\xf4ne surr www.flaticon.com en 512px et l'enregistrer dans le dossier Ic\xf4nes",TransitionComponent:O.a,"aria-label":"Aller sur www.flaticon.com",interactive:!0},l.a.createElement("label",{htmlFor:"iconBox",id:"customIconBox"},"T\xe9l\xe9charger une Ic\xf4ne")),l.a.createElement("input",{id:"iconBox",onChange:this.handleIconChange,type:"file"})),l.a.createElement("div",{id:"errorIconBlock"},this.state.icon?l.a.createElement("p",{id:"iconName"},this.state.icon.name):l.a.createElement("p",{id:"errorIcon"},this.state.errors.icon),!this.state.icon&&l.a.createElement("p",{id:"iconName"},this.props.category.icon))),l.a.createElement("button",{id:"button",type:"submit"},"Modifier")))))}}]),a}(l.a.Component)),Q=(a(119),function(e){Object(r.a)(a,e);var t=Object(i.a)(a);function a(e){var o;return Object(n.a)(this,a),(o=t.call(this,e)).state={},o}return Object(o.a)(a,[{key:"render",value:function(){return l.a.createElement("div",{id:"sortBox"},l.a.createElement("div",{id:"sortTxt"},"Trier par"),l.a.createElement("div",{id:"selectBlock"},l.a.createElement("div",{id:"selectBox"},l.a.createElement("select",{id:"sortSelect",onChange:this.props.handleChangeSortType},l.a.createElement("option",{className:"optionSort",value:"Ordre Alphab\xe9tique"},"Ordre Alphab\xe9tique"),l.a.createElement("option",{className:"optionSort",value:"Cat\xe9gorie"},"Cat\xe9gorie"),l.a.createElement("option",{className:"optionSort",value:"Quantit\xe9"},"Quantit\xe9")))))}}]),a}(c.Component)),z=function(e){Object(r.a)(a,e);var t=Object(i.a)(a);function a(e){var o;return Object(n.a)(this,a),(o=t.call(this,e)).getArticles=function(e){var t=new FormData;t.set("sortType",e),B.a.post("https://etud.insa-toulouse.fr/~proximo/v2/api/articles/sort",t).then((function(e){o.setState({articles:e.data},(function(){console.log(o.state.articles)}))})).catch((function(e){console.log(e.response)}))},o.handleNewArticle=function(){o.setState({onNewArticle:!0},(function(){console.log(o.state.onNewArticle)}))},o.handleCloseNewArticle=function(){o.setState({onNewArticle:!1})},o.handleArticleEdition=function(e){o.setState({article:e}),o.setState({onEditArticle:!0})},o.handleCloseEditArticle=function(){o.setState({onEditArticle:!1})},o.handleNewCategory=function(){o.setState({onNewCategory:!0})},o.handleCloseNewCategory=function(){o.setState({onNewCategory:!1})},o.handleSearchChange=function(e){o.setState({search:e.target.value},(function(){console.log(o.state.search),o.searchArticles()}))},o.handleSubmit=function(e){e.preventDefault(),o.searchArticles()},o.searchArticles=function(){var e=new FormData;e.set("search",o.state.search),B.a.post("https://etud.insa-toulouse.fr/~proximo/v2/api/articles",e).then((function(e){o.setState({articles:e.data},(function(){console.log(o.state)}))})).catch((function(e){console.log(e.response)}))},o.handleCategories=function(e){o.setState({currentCategory:e}),o.setState({onCategories:!0})},o.handleCloseCategories=function(){o.setState({onCategories:!1})},o.handleEditCategory=function(e){o.handleCloseCategories(),o.setState({categoryToModify:e}),o.setState({onEditCategory:!0})},o.handleCloseEditCategory=function(){o.setState({onEditCategory:!1})},o.handleChangeSortType=function(e){o.setState({sortType:e.target.value},(function(){"Ordre Alphab\xe9tique"===o.state.sortType?o.getArticles("name"):"Cat\xe9gorie"===o.state.sortType?o.getArticles("category_id"):"Quantit\xe9"===o.state.sortType&&o.getArticles("quantity")}))},o.state={onNewArticle:!1,onEditArticle:!1,onNewCategory:!1,onCategories:!1,onEditCategory:!1,article:{},imageFile:{},search:"",articles:[],categoryToModify:"",sortType:""},o}return Object(o.a)(a,[{key:"componentDidMount",value:function(){this.getArticles("name")}},{key:"render",value:function(){return sessionStorage.getItem("token")?l.a.createElement("div",{id:"stock"},l.a.createElement(h,{title:"Le Stock"}),l.a.createElement(w,{handleNewArticle:this.handleNewArticle,handleNewCategory:this.handleNewCategory}),this.state.onNewArticle?l.a.createElement(A,{keepNewArticle:this.handleNewArticle,handleCloseAbove:this.handleCloseNewArticle}):null,l.a.createElement("div",{id:"searchBarBlock"},l.a.createElement(D,{onSubmit:this.handleSubmit,onChange:this.handleSearchChange})),l.a.createElement("div",{id:"sortBlock"},l.a.createElement(Q,{handleChangeSortType:this.handleChangeSortType})),l.a.createElement("div",{id:"articleBlock"},this.state.articles&&this.state.articles[0]?l.a.createElement(x,{handleCategories:this.handleCategories,articles:this.state.articles,editionArticle:this.handleArticleEdition}):l.a.createElement(P,null)),this.state.onEditArticle?l.a.createElement(I,{handleCloseAbove:this.handleCloseEditArticle,article:this.state.article}):null,this.state.onNewCategory?l.a.createElement(j,{reload:!0,handleCloseAbove:this.handleCloseNewCategory}):null,this.state.onCategories?l.a.createElement(M,{handleEditCategory:this.handleEditCategory,currentCategory:this.state.currentCategory,handleCloseAbove:this.handleCloseCategories}):null,this.state.onEditCategory?l.a.createElement(_,{category:this.state.categoryToModify,handleCloseAbove:this.handleCloseEditCategory}):null,l.a.createElement(T,null)):l.a.createElement("div",{id:"errorRouteBlock"},l.a.createElement("div",{id:"errorRouteTitle"},"ERREUR "),l.a.createElement("br",null),l.a.createElement("div",{id:"errorRouteTxt"},"Vous n'\xeates pas connect\xe9"),l.a.createElement("br",null),l.a.createElement(m.b,{id:"link",to:"/"},"Retourner \xe0 l'Accueil"))}}]),a}(l.a.Component),H=(a(120),a(121),function(e){Object(r.a)(a,e);var t=Object(i.a)(a);function a(e){var o;return Object(n.a)(this,a),(o=t.call(this,e)).state={},o}return Object(o.a)(a,[{key:"render",value:function(){return l.a.createElement("div",{className:"button",onClick:this.props.handleConnection},l.a.createElement("p",{className:"buttonTxt"},this.props.label))}}]),a}(l.a.Component)),R=(a(122),function(e){Object(r.a)(a,e);var t=Object(i.a)(a);function a(e){var o;return Object(n.a)(this,a),(o=t.call(this,e)).handleIdentifyerChange=function(e){o.setState({identifyer:e.target.value})},o.handlePasswordChange=function(e){o.setState({password:e.target.value})},o.handleSubmit=function(e){e.preventDefault(),console.log(o.state.password);var t=new FormData;t.set("identifyer",o.state.identifyer),t.set("password",o.state.password),B.a.post("https://etud.insa-toulouse.fr/~proximo/v2/api/login",t).then((function(e){sessionStorage.setItem("token",e.data.api_token),o.setState({redirect:!0}),console.log(e.data.api_token)})).catch((function(e){401===e.response.status&&o.setState({errors:e.response.data.errors}),console.log(e.response)}))},o.state={identifyer:"",password:"",redirect:!1,errors:[]},o}return Object(o.a)(a,[{key:"render",value:function(){return this.state.redirect?l.a.createElement(u.a,{to:"/stock"}):l.a.createElement("div",{id:"transp"},l.a.createElement("div",{id:"formBody"},l.a.createElement("div",{id:"formHead"},l.a.createElement("div",{id:"formHeadTxt"},"Connexion"),l.a.createElement("div",{id:"crossClose",onClick:this.props.handleCloseAbove},l.a.createElement(g.a,{icon:y.a,style:{transform:"rotate(-45deg)",color:"#ffffff",fontSize:"3vw"}}))),l.a.createElement("div",{id:"formMainContent"},l.a.createElement("form",{method:"POST",onSubmit:this.handleSubmit},l.a.createElement("div",{id:"identifyerBlock"},l.a.createElement("div",{id:"identifyerBlockInput"},l.a.createElement("label",{htmlFor:"identifyerBox"},"Identifiant"),l.a.createElement("input",{id:"identifyerBox",onChange:this.handleIdentifyerChange,type:"text"})),l.a.createElement("div",{id:"errorIdentifyerBlock"},l.a.createElement("p",{id:"errorIdentifyer"},this.state.errors.identifyer))),l.a.createElement("div",{id:"passwordBlock"},l.a.createElement("div",{id:"passwordBlockInput"},l.a.createElement("label",{htmlFor:"passwordBox"},"Mot de Passe"),l.a.createElement("input",{id:"passwordBox",onChange:this.handlePasswordChange,type:"password"})),l.a.createElement("div",{id:"errorPasswordBlock"},"bad_pwd"===this.state.errors?l.a.createElement("p",{id:"errorPassword"},"Mot de passe incorrect"):l.a.createElement("p",{id:"errorPassword"},this.state.errors.password))),l.a.createElement("button",{id:"button",type:"submit"},"Se connecter")))))}}]),a}(c.Component)),L=function(e){Object(r.a)(a,e);var t=Object(i.a)(a);function a(e){var o;return Object(n.a)(this,a),(o=t.call(this,e)).handleConnection=function(){o.setState({onConnection:!0})},o.handleCloseConnection=function(){o.setState({onConnection:!1})},o.state={onConnection:!1},o}return Object(o.a)(a,[{key:"render",value:function(){return l.a.createElement("div",{className:"home"},this.state.onConnection&&l.a.createElement(R,{handleCloseAbove:this.handleCloseConnection}),l.a.createElement(h,{title:"Proximo"}),l.a.createElement("div",{className:"content"},l.a.createElement("div",{className:"contentTxt"},"Bienvenue sur le site de la sup\xe9rette de l'INSA !"),l.a.createElement("div",{className:"buttonBlock"},l.a.createElement(H,{handleConnection:this.handleConnection,label:"Connexion"}))),l.a.createElement(T,null))}}]),a}(l.a.Component),J=function(e){Object(r.a)(a,e);var t=Object(i.a)(a);function a(){return Object(n.a)(this,a),t.apply(this,arguments)}return Object(o.a)(a,[{key:"render",value:function(){return l.a.createElement(l.a.Fragment,null,l.a.createElement(u.d,null,l.a.createElement(u.b,{exact:!0,path:"/stock",component:z}),l.a.createElement(u.b,{exact:!0,path:"/",component:L})))}}]),a}(l.a.Component),V=function(e){Object(r.a)(a,e);var t=Object(i.a)(a);function a(){return Object(n.a)(this,a),t.apply(this,arguments)}return Object(o.a)(a,[{key:"render",value:function(){return l.a.createElement(m.a,null,l.a.createElement(J,null))}}]),a}(l.a.Component);d.a.render(l.a.createElement(l.a.StrictMode,null,l.a.createElement(V,null)),document.getElementById("root"))},60:function(e,t,a){e.exports=a(123)},65:function(e,t,a){},66:function(e,t,a){},67:function(e,t,a){},68:function(e,t,a){},90:function(e,t,a){},91:function(e,t,a){},92:function(e,t,a){},94:function(e,t,a){},95:function(e,t,a){},96:function(e,t,a){}},[[60,1,2]]]);
+//# sourceMappingURL=main.0dfbbb5b.chunk.js.map
\ No newline at end of file
diff --git a/api_proximo/public/static/js/main.0dfbbb5b.chunk.js.map b/api_proximo/public/static/js/main.0dfbbb5b.chunk.js.map
new file mode 100644
index 0000000..ff536af
--- /dev/null
+++ b/api_proximo/public/static/js/main.0dfbbb5b.chunk.js.map
@@ -0,0 +1 @@
+{"version":3,"sources":["js/Components/Header.js","js/Components/ArticleDetails.js","js/Components/Articles.js","js/Components/Navbar.js","js/Components/CreateCategory.js","js/Components/CreateArticle.js","js/Components/EditArticle.js","js/Components/Footer.js","js/Components/SearchBar.js","js/Components/AppLoader.js","js/Components/Categories.js","js/Components/EditCategory.js","js/Components/Sort.js","js/Views/Stock.js","js/Components/Button.js","js/Components/Connection.js","js/Views/Home.js","js/Components/AppRouter.js","index.js"],"names":["Header","props","state","className","this","title","React","Component","ArticleDetails","handleDesc","setState","currentArticle","id","handlePhoto","handleRedCross","redcrossPressed","handleNoDelete","deleteArticle","axios","delete","then","res","console","log","data","redirect","catch","error","response","updateArticle","put","name","desc","quantity","price","code","category","plusQuantity","minusQuantity","to","onMouseEnter","onMouseLeave","onClick","editArticle","icon","editSolid","style","color","fontSize","rotate","plusIcon","transform","handleCategories","alt","src","img","minusIcon","cursor","Articles","mouseEnter","articles","map","article","editionArticle","key","image","description","Navbar","handleDisplay","mouseOn","handleNormal","handleNewArticle","handleNewCategory","CreateCategory","handleNameChange","event","target","value","handleIconChange","files","handleSubmit","preventDefault","bodyFormData","FormData","set","post","errors","reload","window","location","handleCloseAbove","status","method","onSubmit","htmlFor","onChange","type","Tooltip","TransitionComponent","Zoom","aria-label","interactive","CreateArticle","handleCategoryChange","category_id","handleDescriptionChange","handleQuantityChange","handlePriceChange","handleCodeChange","handleImageChange","onNewCategory","handleCloseNewCategory","alreadyDone","get","categories","categoryName","defaultValue","categorie","rows","min","step","EditArticle","articleUpdated","formData","Footer","handleDisplayMeans","onMeans","date","Date","href","getFullYear","SearchBar","placeholder","AppLoader","height","width","timeout","Categories","getCategories","handleSwitchCategory","redCrossPressed","categoryFocused","handleDeleteCategory","handleDisplayConfirmation","currentCategory","handleEditCategory","EditCategory","categoryUpdated","Sort","handleChangeSortType","Stock","getArticles","sortType","onNewArticle","handleCloseNewArticle","handleArticleEdition","onEditArticle","handleCloseEditArticle","handleSearchChange","search","searchArticles","onCategories","handleCloseCategories","categoryToModify","onEditCategory","handleCloseEditCategory","e","imageFile","sessionStorage","getItem","keepNewArticle","Button","handleConnection","label","Connection","handleIdentifyerChange","identifyer","handlePasswordChange","password","setItem","api_token","Home","onConnection","handleCloseConnection","AppRouter","exact","path","component","App","ReactDOM","render","StrictMode","document","getElementById"],"mappings":"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","file":"static/js/main.0dfbbb5b.chunk.js","sourcesContent":["import React from 'react';\r\nimport '../../css/Components/header.css'\r\n\r\nexport default class Header extends React.Component {\r\n\r\n constructor(props){\r\n super(props)\r\n this.state={\r\n\r\n }\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n {this.props.title}\r\n
\r\n );\r\n }\r\n }","import React from 'react'\r\nimport { Icon} from '@iconify/react';\r\nimport minusIcon from '@iconify/icons-fa-solid/minus';\r\nimport plusIcon from '@iconify/icons-fa-solid/plus';\r\nimport editSolid from '@iconify/icons-clarity/edit-solid';\r\nimport '../../css/Components/articledetails.css'\r\nimport axios from 'axios'\r\nimport { Redirect } from 'react-router';\r\n\r\nclass ArticleDetails extends React.Component {\r\n\r\n constructor(props){\r\n super(props)\r\n this.state = {\r\n currentArticle:'',\r\n redirect:false,\r\n redcrossPressed:false,\r\n quantity:this.props.quantity\r\n }\r\n \r\n }\r\n\r\n\r\n handleDesc = () => {\r\n this.setState({currentArticle:this.props.id})\r\n }\r\n\r\n handlePhoto = () => {\r\n this.setState({currentArticle:''})\r\n }\r\n\r\n handleRedCross = () => {\r\n this.setState({redcrossPressed:true})\r\n }\r\n\r\n handleNoDelete = () => {\r\n this.setState({redcrossPressed:false})\r\n }\r\n\r\n deleteArticle = () => {\r\n axios.delete(`https://etud.insa-toulouse.fr/~proximo/v2/api/articles/${this.props.id}`)\r\n .then(res => {\r\n console.log(res.data)\r\n this.setState({redirect:true})\r\n })\r\n .catch(error => {\r\n console.log(error.response)\r\n })\r\n }\r\n\r\n updateArticle = () => {\r\n axios.put(`https://etud.insa-toulouse.fr/~proximo/v2/api/articles/${this.props.id}`,\r\n {\r\n 'name':this.props.name,\r\n 'description':this.props.desc,\r\n 'quantity':this.state.quantity,\r\n 'price':this.props.price,\r\n 'code':this.props.code,\r\n 'category_id':this.props.category.id\r\n }\r\n )\r\n .then(res => {\r\n console.log(res.data)\r\n })\r\n .catch(error => {\r\n console.log(error.response)\r\n })\r\n }\r\n\r\n plusQuantity = () => {\r\n this.setState({quantity:this.state.quantity+1},()=>{\r\n this.updateArticle();\r\n })\r\n }\r\n\r\n minusQuantity = () => {\r\n if(this.state.quantity > 0){\r\n this.setState({quantity:this.state.quantity-1},()=>{\r\n this.updateArticle();\r\n })\r\n }\r\n }\r\n\r\n\r\n\r\n render(){\r\n if (this.state.redirect) {\r\n return ()\r\n }\r\n return(\r\n \r\n {this.state.redcrossPressed ?\r\n
\r\n
Tu veux vraiment supprimer cet article ?
\r\n
\r\n
\r\n : \r\n <>\r\n
\r\n {this.state.currentArticle === this.props.id ? \r\n <>\r\n
\r\n
this.props.editArticle(this.props)}>\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
![]()
this.props.handleCategories(this.props.category)} id=\"categoryIcon\" alt=\"bonjour\" src={`https://etud.insa-toulouse.fr/~proximo/api_proximo/storage/app/public/icon/${this.props.category.icon}`}/>\r\n
\r\n
\r\n
{this.props.desc}
\r\n
{this.props.price} €
\r\n
\r\n >\r\n :

\r\n }\r\n
\r\n
{this.props.name}
\r\n
\r\n
\r\n
\r\n
{this.state.quantity}
\r\n
\r\n
\r\n
\r\n > \r\n }\r\n
\r\n )\r\n }\r\n\r\n}\r\n\r\nexport default ArticleDetails\r\n","import React from 'react';\r\nimport '../../css/Components/articles.css'\r\nimport ArticleDetails from './ArticleDetails'\r\n\r\nclass Articles extends React.Component {\r\n constructor(props){\r\n super(props)\r\n this.state = {\r\n mouseEnter:false\r\n }\r\n }\r\n\r\n\r\n \r\n\r\n\r\n \r\n render() {\r\n return (\r\n \r\n
\r\n {\r\n this.props.articles.map((article) => \r\n
\r\n )}\r\n \r\n
\r\n )\r\n }\r\n }\r\n\r\n export default Articles","import React from 'react'\r\nimport '../../css/Components/navbar.css';\r\n\r\n\r\nclass Navbar extends React.Component {\r\n\r\n constructor(props){\r\n super(props)\r\n this.state = {\r\n mouseOn:false\r\n }\r\n }\r\n\r\n handleDisplay = () =>{\r\n this.setState({mouseOn:true})\r\n }\r\n\r\n handleNormal = () => {\r\n this.setState({mouseOn:false})\r\n }\r\n\r\n render(){\r\n return (\r\n \r\n
\r\n {!this.state.mouseOn &&
Créer
}\r\n {this.state.mouseOn &&
}\r\n
\r\n
\r\n OK\r\n
\r\n
\r\n
\r\n )\r\n }\r\n}\r\n\r\nexport default Navbar","import React from 'react';\r\nimport plusIcon from '@iconify/icons-fa-solid/plus';\r\nimport { Icon} from '@iconify/react';\r\nimport '../../css/Components/createcategory.css';\r\nimport axios from 'axios';\r\nimport { Tooltip, Zoom } from '@material-ui/core';\r\n\r\nclass CreateCategory extends React.Component {\r\n\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n name: '',\r\n icon: '',\r\n errors : []\r\n }\r\n }\r\n\r\n handleNameChange = event => {\r\n this.setState({name : event.target.value},() => {\r\n console.log(this.state.name)\r\n })\r\n }\r\n\r\n handleIconChange = event => {\r\n this.setState({icon : event.target.files[0]},() => {\r\n console.log(this.state.icon)\r\n })\r\n }\r\n\r\n handleSubmit = event => {\r\n event.preventDefault()\r\n\r\n let bodyFormData = new FormData()\r\n bodyFormData.set('name',this.state.name)\r\n bodyFormData.set('icon',this.state.icon)\r\n axios.post('https://etud.insa-toulouse.fr/~proximo/v2/api/categories',bodyFormData)\r\n .then(res => {\r\n console.log(res)\r\n this.setState({errors : []})\r\n if (this.props.reload){\r\n window.location.reload()\r\n }\r\n this.props.handleCloseAbove()\r\n })\r\n .catch(error => {\r\n if(error.response.status === 401){\r\n this.setState({errors : error.response.data.errors})\r\n }\r\n console.log(error.response.data.errors)\r\n });\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default CreateCategory;","import axios from 'axios'\r\nimport React from 'react'\r\nimport '../../css/Components/createarticle.css'\r\nimport plusIcon from '@iconify/icons-fa-solid/plus';\r\nimport { Icon} from '@iconify/react';\r\nimport CreateCategory from './CreateCategory';\r\nimport Tooltip from '@material-ui/core/Tooltip';\r\nimport Zoom from '@material-ui/core/Zoom';\r\n\r\nclass CreateArticle extends React.Component {\r\n\r\n constructor(){\r\n super()\r\n this.state = {\r\n name: '',\r\n description:'',\r\n quantity : '',\r\n price : '',\r\n code : '',\r\n image: '',\r\n category_id:'',\r\n errors : [],\r\n categories : [],\r\n categoryName:'',\r\n onNewCategory:false,\r\n alreadyDone:false\r\n }\r\n }\r\n\r\n componentDidMount() {\r\n axios.get('https://etud.insa-toulouse.fr/~proximo/v2/api/categories')\r\n .then(res => {\r\n this.setState({categories : res.data}, () => {\r\n console.log(this.state.categories)\r\n this.setState({categoryName:res.data[0].name})\r\n })\r\n })\r\n .catch(error => {\r\n console.log(error.response)\r\n })\r\n }\r\n\r\n handleNameChange = event => {\r\n this.setState({name : event.target.value},() => {\r\n console.log(this.state.name)\r\n })\r\n }\r\n handleCategoryChange = event => {\r\n this.setState({category_id : event.target.value},() => {\r\n console.log(this.state.category_id);\r\n })\r\n }\r\n handleDescriptionChange = event => {\r\n this.setState({description : event.target.value},() => {\r\n console.log(this.state.description)\r\n })\r\n }\r\n handleQuantityChange = event => {\r\n this.setState({quantity : event.target.value},() => {\r\n console.log(this.state.quantity)\r\n })\r\n }\r\n handlePriceChange = event => {\r\n this.setState({price : event.target.value},() => {\r\n console.log(this.state.price)\r\n })\r\n }\r\n handleCodeChange = event => {\r\n this.setState({code : event.target.value},() => {\r\n console.log(this.state.code)\r\n })\r\n }\r\n handleImageChange = event => {\r\n this.setState({image : event.target.files[0]},() => {\r\n console.log(this.state.image)\r\n })\r\n }\r\n handleSubmit = event => {\r\n event.preventDefault()\r\n\r\n let bodyFormData = new FormData()\r\n bodyFormData.set('name',this.state.name)\r\n bodyFormData.set('description',this.state.description)\r\n bodyFormData.set('quantity',this.state.quantity)\r\n bodyFormData.set('price',this.state.price)\r\n bodyFormData.set('code',this.state.code)\r\n bodyFormData.set('image',this.state.image)\r\n bodyFormData.set('category_id',this.state.category_id)\r\n axios.post('https://etud.insa-toulouse.fr/~proximo/v2/api/articles/store',bodyFormData)\r\n .then(res => {\r\n console.log(res)\r\n window.location.reload()\r\n this.props.handleCloseAbove();\r\n })\r\n .catch(error => {\r\n if(error.response.status === 401){\r\n this.setState({errors : error.response.data.errors})\r\n }\r\n console.log(error.response.data.errors)\r\n });\r\n }\r\n\r\n handleNewCategory = () => {\r\n this.setState({onNewCategory:true})\r\n }\r\n\r\n handleCloseNewCategory = () => {\r\n this.setState({onNewCategory:false})\r\n }\r\n\r\n reload = () => {\r\n if (!this.state.alreadyDone){\r\n axios.get('https://etud.insa-toulouse.fr/~proximo/v2/api/categories')\r\n .then(res => {\r\n this.setState({categories : res.data}, () => {\r\n console.log(this.state.categories)\r\n this.setState({categoryName:res.data[0].name})\r\n this.setState({alreadyDone:true})\r\n })\r\n })\r\n .catch(error => {\r\n console.log(error.response)\r\n })\r\n }\r\n }\r\n\r\n\r\n render(){\r\n if (this.state.onNewCategory){\r\n return \r\n } else {\r\n return(\r\n \r\n )}\r\n }\r\n\r\n}\r\n\r\nexport default CreateArticle","import axios from 'axios'\r\nimport React from 'react'\r\nimport '../../css/Components/editarticle.css'\r\nimport plusIcon from '@iconify/icons-fa-solid/plus';\r\nimport { Icon} from '@iconify/react';\r\nimport CreateCategory from './CreateCategory';\r\nimport { Tooltip, Zoom } from '@material-ui/core';\r\n\r\nclass EditArticle extends React.Component {\r\n\r\n constructor(props){\r\n super(props)\r\n this.state = {\r\n name: this.props.article.name,\r\n description:this.props.article.desc,\r\n quantity : this.props.article.quantity,\r\n price : this.props.article.price,\r\n code : this.props.article.code,\r\n image: '',\r\n categories:[],\r\n category_id:this.props.article.category.id,\r\n categoryName:this.props.article.category.name,\r\n errors : [],\r\n onNewCategory:false,\r\n alreadyDone:false\r\n }\r\n }\r\n\r\n componentDidMount() {\r\n axios.get('https://etud.insa-toulouse.fr/~proximo/v2/api/categories')\r\n .then(res => {\r\n this.setState({categories : res.data}, () => {\r\n console.log(this.state.categories)\r\n })\r\n })\r\n .catch(error => {\r\n console.log(error.response)\r\n })\r\n }\r\n\r\n handleCategoryChange = event => {\r\n this.setState({category_id : event.target.value},() => {\r\n console.log(this.state.category_id);\r\n })\r\n }\r\n\r\n handleNameChange = event => {\r\n\r\n this.setState({name : event.target.value},() => {\r\n console.log(this.state.name)\r\n })\r\n }\r\n handleDescriptionChange = event => {\r\n this.setState({description : event.target.value},() => {\r\n console.log(this.state.description)\r\n })\r\n }\r\n handleQuantityChange = event => {\r\n this.setState({quantity : event.target.value},() => {\r\n console.log(this.state.quantity)\r\n })\r\n }\r\n handlePriceChange = event => {\r\n this.setState({price : event.target.value},() => {\r\n console.log(this.state.price)\r\n })\r\n }\r\n handleCodeChange = event => {\r\n this.setState({code : event.target.value},() => {\r\n console.log(this.state.code)\r\n })\r\n }\r\n handleImageChange = event => {\r\n console.log('ok');\r\n this.setState({image : event.target.files[0]},() => {\r\n console.log(this.state.image)\r\n })\r\n }\r\n handleSubmit = event => {\r\n event.preventDefault()\r\n \r\n \r\n let articleUpdated = {}\r\n articleUpdated.name = this.state.name;\r\n articleUpdated.description = this.state.description;\r\n articleUpdated.quantity = this.state.quantity;\r\n articleUpdated.price = this.state.price;\r\n articleUpdated.code = this.state.code;\r\n articleUpdated.category_id = this.state.category_id;\r\n let formData = new FormData();\r\n if (this.state.image) {\r\n formData.set('image',this.state.image)\r\n axios.post(`https://etud.insa-toulouse.fr/~proximo/v2/api/articles/${this.props.article.id}`,formData)\r\n .then(res => {\r\n console.log(res)\r\n this.setState({errors : []})\r\n })\r\n .catch(error => {\r\n \r\n if(error.response.status === 401){\r\n this.setState({errors : error.response.data.errors})\r\n }\r\n \r\n });\r\n }\r\n\r\n axios.put(`https://etud.insa-toulouse.fr/~proximo/v2/api/articles/${this.props.article.id}`,articleUpdated)\r\n .then(res => {\r\n console.log(res)\r\n this.setState({errors : []})\r\n window.location.reload()\r\n this.props.handleCloseAbove();\r\n })\r\n .catch(error => {\r\n console.log(error)\r\n if(error.response.status === 401){\r\n this.setState({errors : error.response.data.errors})\r\n }\r\n });\r\n }\r\n\r\n reload = () => {\r\n console.log(\"reload\");\r\n if (!this.state.alreadyDone ){\r\n axios.get('https://etud.insa-toulouse.fr/~proximo/v2/api/categories')\r\n .then(res => {\r\n this.setState({categories : res.data}, () => {\r\n console.log(this.state.categories)\r\n this.setState({alreadyDone:true})\r\n })\r\n })\r\n .catch(error => {\r\n console.log(error.response)\r\n })\r\n }\r\n }\r\n\r\n handleNewCategory = () => {\r\n this.setState({onNewCategory:true})\r\n }\r\n\r\n handleCloseNewCategory = () => {\r\n this.setState({onNewCategory:false})\r\n }\r\n\r\n\r\n render(){\r\n console.log(this.props.article);\r\n console.log(this.state);\r\n if (this.state.onNewCategory){\r\n return \r\n } else {\r\n return(\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n )}\r\n }\r\n\r\n}\r\n\r\nexport default EditArticle","import React from 'react';\r\nimport '../../css/Components/footer.css'\r\n\r\nclass Footer extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n onMeans:false\r\n }\r\n }\r\n\r\n handleDisplayMeans = () => {\r\n this.setState({onMeans:true})\r\n }\r\n \r\n handleNormal = () => {\r\n this.setState({onMeans:false})\r\n }\r\n\r\n render() {\r\n const date = new Date();\r\n return (\r\n \r\n
\r\n
Copyright © {date.getFullYear()} Baptiste MARTY. Tous droits réservés
\r\n
\r\n
\r\n

\r\n
\r\n
\r\n Le Proxigang\r\n
\r\n
\r\n
\r\n )\r\n }\r\n}\r\n\r\n\r\nexport default Footer;","import React from 'react';\r\nimport '../../css/Components/searchbar.css';\r\n\r\nclass SearchBar extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.state ={\r\n\r\n }\r\n }\r\n\r\n\r\n render() {\r\n return (\r\n \r\n
\r\n \r\n );\r\n }\r\n}\r\n\r\n\r\nexport default SearchBar;","import React from 'react';\r\nimport \"react-loader-spinner/dist/loader/css/react-spinner-loader.css\"\r\nimport Loader from 'react-loader-spinner'\r\n\r\nclass AppLoader extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.state={\r\n \r\n }\r\n }\r\n\r\n\r\n render() {\r\n return (\r\n \r\n \r\n
\r\n );\r\n }\r\n}\r\n\r\n\r\nexport default AppLoader;","import Icon from '@iconify/react';\r\nimport React, { Component } from 'react';\r\nimport '../../css/Components/categories.css'\r\nimport plusIcon from '@iconify/icons-fa-solid/plus';\r\nimport editSolid from '@iconify/icons-clarity/edit-solid';\r\nimport axios from 'axios';\r\nimport AppLoader from './AppLoader';\r\n\r\nclass Categories extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state={\r\n categories:[],\r\n categoryFocused:this.props.currentCategory,\r\n redCrossPressed:false\r\n }\r\n }\r\n\r\n componentDidMount() {\r\n this.getCategories()\r\n }\r\n\r\n getCategories = () => {\r\n axios.get('https://etud.insa-toulouse.fr/~proximo/v2/api/categories')\r\n .then(res => {\r\n this.setState({categories : res.data}, () => {\r\n console.log(this.state.categories)\r\n })\r\n })\r\n .catch(error => {\r\n console.log(error.response)\r\n })\r\n }\r\n\r\n handleSwitchCategory = category => {\r\n if (!this.state.redCrossPressed){\r\n this.setState({categoryFocused:category})\r\n }\r\n }\r\n\r\n handleDeleteCategory = () => {\r\n axios.delete(`https://etud.insa-toulouse.fr/~proximo/v2/api/categories/${this.state.categoryFocused.id}`)\r\n .then(res => {\r\n this.getCategories()\r\n this.setState({categoryFocused:this.state.categories[0]})\r\n this.handleNoDelete()\r\n console.log(res.data)\r\n })\r\n .catch(error => {\r\n console.log(error.response)\r\n })\r\n }\r\n\r\n handleDisplayConfirmation = () => {\r\n this.setState({redCrossPressed:true})\r\n }\r\n\r\n handleNoDelete = () => {\r\n this.setState({redCrossPressed:false})\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n
\r\n
\r\n
\r\n {this.state.redCrossPressed ?\r\n
\r\n
Tu veux vraiment supprimer cet article ?
\r\n
\r\n
\r\n :\r\n <>\r\n
\r\n
\r\n
this.props.handleEditCategory(this.state.categoryFocused)} id=\"bluePen\">\r\n \r\n
\r\n
\r\n
\r\n

\r\n
\r\n
\r\n
\r\n
\r\n {this.state.categoryFocused.name}\r\n
\r\n >}\r\n \r\n
\r\n {this.state.categories && this.state.categories[0] ?\r\n this.state.categories.map((category)=>\r\n {if (category.id !== this.state.categoryFocused.id){\r\n return(
this.handleSwitchCategory(category)} key={category.id} id=\"categoryItem\">\r\n
\r\n

\r\n
\r\n
\r\n {category.name}\r\n
\r\n
)\r\n } else{\r\n return(null)\r\n }}\r\n )\r\n :
}\r\n
\r\n \r\n
\r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\n\r\nexport default Categories;","import React from 'react';\r\nimport Icon from '@iconify/react';\r\nimport '../../css/Components/editcategory.css'\r\nimport plusIcon from '@iconify/icons-fa-solid/plus';\r\nimport { Tooltip, Zoom } from '@material-ui/core';\r\nimport axios from 'axios';\r\n\r\nclass EditCategory extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.state={\r\n name: this.props.category.name,\r\n icon: '',\r\n errors : []\r\n }\r\n }\r\n\r\n handleNameChange = event => {\r\n this.setState({name : event.target.value},() => {\r\n console.log(this.state.name)\r\n })\r\n }\r\n\r\n handleIconChange = event => {\r\n this.setState({icon : event.target.files[0]},() => {\r\n console.log(this.state.icon)\r\n })\r\n }\r\n\r\n handleSubmit = event => {\r\n event.preventDefault()\r\n\r\n let formData = new FormData();\r\n if (this.state.icon) {\r\n formData.set('icon',this.state.icon)\r\n axios.post(`https://etud.insa-toulouse.fr/~proximo/v2/api/categories/${this.props.category.id}`,formData)\r\n .then(res => {\r\n console.log(res)\r\n this.setState({errors : []})\r\n })\r\n .catch(error => {\r\n if(error.response.status === 401){\r\n this.setState({errors : error.response.data.errors})\r\n }\r\n console.log(error.response.data.errors)\r\n });\r\n }\r\n\r\n let categoryUpdated = {}\r\n categoryUpdated.name = this.state.name;\r\n axios.put(`https://etud.insa-toulouse.fr/~proximo/v2/api/categories/${this.props.category.id}`,categoryUpdated)\r\n .then(res => {\r\n console.log(res)\r\n this.setState({errors : []})\r\n window.location.reload()\r\n this.props.handleCloseAbove()\r\n })\r\n .catch(error => {\r\n if(error.response.status === 401){\r\n this.setState({errors : error.response.data.errors})\r\n }\r\n console.log(error.response.data.errors)\r\n });\r\n }\r\n\r\n\r\n render() {\r\n return (\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default EditCategory;","import React, { Component } from 'react';\r\nimport '../../css/Components/sort.css'\r\n\r\nclass Sort extends Component {\r\n\r\n constructor(props){\r\n super(props)\r\n this.state = {\r\n\r\n }\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n
\r\n Trier par \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default Sort;","import React from 'react';\r\nimport '../../css/Views/stock.css';\r\nimport Header from '../Components/Header';\r\nimport Articles from '../Components/Articles';\r\nimport Navbar from '../Components/Navbar';\r\nimport CreateArticle from '../Components/CreateArticle';\r\nimport 'react-perfect-scrollbar/dist/css/styles.css';\r\nimport EditArticle from '../Components/EditArticle';\r\nimport CreateCategory from '../Components/CreateCategory';\r\nimport Footer from '../Components/Footer';\r\nimport SearchBar from '../Components/SearchBar';\r\nimport axios from 'axios';\r\nimport AppLoader from '../Components/AppLoader';\r\nimport Categories from '../Components/Categories';\r\nimport EditCategory from '../Components/EditCategory';\r\nimport Sort from '../Components/Sort';\r\nimport { Link } from 'react-router-dom';\r\n\r\nexport default class Stock extends React.Component {\r\n\r\n constructor(props){\r\n super(props)\r\n this.state = {\r\n onNewArticle:false,\r\n onEditArticle:false,\r\n onNewCategory:false,\r\n onCategories:false,\r\n onEditCategory:false,\r\n article:{},\r\n imageFile:{},\r\n search:'',\r\n articles:[],\r\n categoryToModify:'',\r\n sortType:''\r\n }\r\n }\r\n\r\n componentDidMount() {\r\n this.getArticles(\"name\")\r\n}\r\n\r\n getArticles = sortType => {\r\n let bodyFormData = new FormData();\r\n bodyFormData.set('sortType', sortType)\r\n axios.post('https://etud.insa-toulouse.fr/~proximo/v2/api/articles/sort',bodyFormData)\r\n .then(res => {\r\n this.setState({articles : res.data}, () => {\r\n console.log(this.state.articles)\r\n })\r\n })\r\n .catch(error => {\r\n console.log(error.response)\r\n })\r\n }\r\n\r\n handleNewArticle = () => {\r\n this.setState({onNewArticle:true},()=>{\r\n console.log(this.state.onNewArticle)\r\n })\r\n }\r\n\r\n handleCloseNewArticle = () => {\r\n this.setState({onNewArticle:false})\r\n }\r\n\r\n handleArticleEdition = (article) => {\r\n this.setState({article:article})\r\n this.setState({onEditArticle:true});\r\n }\r\n\r\n handleCloseEditArticle = () => {\r\n this.setState({onEditArticle:false})\r\n }\r\n\r\n handleNewCategory = () => {\r\n this.setState({onNewCategory:true})\r\n }\r\n\r\n handleCloseNewCategory = () => {\r\n this.setState({onNewCategory:false})\r\n }\r\n\r\n handleSearchChange = event => {\r\n this.setState({search : event.target.value},()=>\r\n {\r\n console.log(this.state.search);\r\n this.searchArticles();\r\n })\r\n }\r\n\r\n handleSubmit = event => {\r\n event.preventDefault()\r\n this.searchArticles();\r\n\r\n }\r\n\r\n searchArticles = () => {\r\n let bodyFormData = new FormData()\r\n bodyFormData.set('search',this.state.search)\r\n axios.post('https://etud.insa-toulouse.fr/~proximo/v2/api/articles',bodyFormData)\r\n .then(res => {\r\n this.setState({articles : res.data}, () => {\r\n console.log(this.state)\r\n })\r\n })\r\n .catch(error => {\r\n console.log(error.response)\r\n })\r\n }\r\n\r\n handleCategories = category => {\r\n this.setState({currentCategory:category})\r\n this.setState({onCategories:true})\r\n }\r\n\r\n handleCloseCategories = () => {\r\n this.setState({onCategories:false})\r\n }\r\n\r\n handleEditCategory = category => {\r\n this.handleCloseCategories()\r\n this.setState({categoryToModify:category})\r\n this.setState({onEditCategory:true})\r\n }\r\n\r\n handleCloseEditCategory = () => {\r\n this.setState({onEditCategory:false})\r\n }\r\n\r\n handleChangeSortType = e => {\r\n this.setState({sortType:e.target.value},()=>{\r\n if (this.state.sortType === \"Ordre Alphabétique\"){\r\n this.getArticles(\"name\")\r\n } else if(this.state.sortType === \"Catégorie\"){\r\n this.getArticles(\"category_id\")\r\n } else if(this.state.sortType === \"Quantité\"){\r\n this.getArticles(\"quantity\")\r\n } \r\n\r\n })\r\n }\r\n\r\n\r\n render() {\r\n if (!sessionStorage.getItem('token')){\r\n return (ERREUR
Vous n'êtes pas connecté
Retourner à l'Accueil
)\r\n } else {\r\n return (\r\n \r\n
\r\n
\r\n {this.state.onNewArticle ?\r\n \r\n : null}\r\n \r\n \r\n
\r\n \r\n \r\n
\r\n \r\n {this.state.articles && this.state.articles[0]? \r\n
\r\n : \r\n }\r\n \r\n {this.state.onEditArticle ?\r\n \r\n : null}\r\n {this.state.onNewCategory ?\r\n \r\n : null }\r\n {this.state.onCategories ?\r\n \r\n : null}\r\n {this.state.onEditCategory ?\r\n \r\n : null}\r\n \r\n \r\n )}\r\n }\r\n }","import React from 'react';\r\nimport '../../css/Components/button.css';\r\n\r\nexport default class Button extends React.Component {\r\n\r\n constructor(props){\r\n super(props)\r\n this.state = {\r\n \r\n }\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n
{this.props.label}
\r\n
\r\n );\r\n }\r\n }","import React, { Component } from 'react';\r\nimport Icon from '@iconify/react';\r\nimport plusIcon from '@iconify/icons-fa-solid/plus';\r\nimport '../../css/Components/connection.css'\r\nimport axios from 'axios';\r\nimport { Redirect } from 'react-router';\r\n\r\nclass Connection extends Component {\r\n\r\n constructor(props){\r\n super(props)\r\n this.state={\r\n identifyer:'',\r\n password:'',\r\n redirect:false,\r\n errors:[]\r\n }\r\n }\r\n\r\n handleIdentifyerChange = event => {\r\n this.setState({identifyer : event.target.value})\r\n }\r\n\r\n handlePasswordChange = event => {\r\n this.setState({password : event.target.value})\r\n }\r\n\r\n handleSubmit = (event) => {\r\n event.preventDefault()\r\n console.log(this.state.password);\r\n\r\n let bodyFormData = new FormData();\r\n bodyFormData.set('identifyer',this.state.identifyer);\r\n bodyFormData.set('password',this.state.password)\r\n\r\n axios.post('https://etud.insa-toulouse.fr/~proximo/v2/api/login',bodyFormData)\r\n .then(res => {\r\n sessionStorage.setItem('token',res.data.api_token)\r\n this.setState({redirect:true})\r\n console.log(res.data.api_token);\r\n })\r\n .catch(error => {\r\n if(error.response.status === 401){\r\n this.setState({errors:error.response.data.errors})\r\n } \r\n console.log(error.response);\r\n })\r\n }\r\n\r\n render() {\r\n if (this.state.redirect){\r\n return ()\r\n }\r\n return (\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default Connection;","import React from 'react';\r\nimport '../../css/Views/home.css';\r\nimport Header from '../Components/Header';\r\nimport Button from '../Components/Button';\r\nimport Connection from '../Components/Connection';\r\nimport Footer from '../Components/Footer';\r\n\r\nclass Home extends React.Component {\r\n\r\n constructor(props){\r\n super(props)\r\n this.state = {\r\n onConnection:false\r\n }\r\n }\r\n\r\n // Gère l'affichage de l'interface de connexion\r\n handleConnection = () => {\r\n this.setState({onConnection:true})\r\n }\r\n\r\n // Gère la femeture de l'interface de connexion\r\n handleCloseConnection = () => {\r\n this.setState({onConnection:false})\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n {/* Affiche par dessus la page d'accueil une interface de connexion */}\r\n {this.state.onConnection &&\r\n /* Appel du composant Connection qui affiche l'interface de connexion\r\n Paramètres : \r\n handleCloseAbove : gère la fermeture du composant */\r\n
\r\n }\r\n {/* Appel du composant Header qui affiche le Header du site\r\n Paramètre : title : texte intérieur */}\r\n \r\n \r\n
Bienvenue sur le site de la supérette de l'INSA !
\r\n
\r\n {/* Appel du composant Button\r\n Paramètres : \r\n - handleConnection : gérer l'affichage de l'interface de connexion\r\n - label : texte interne */}\r\n
\r\n
\r\n {/* Appel du composant Footer qui affiche le Footer du site */}\r\n \r\n \r\n );\r\n }\r\n }\r\n\r\n export default Home","import React from 'react';\r\nimport {Switch, Route} from \"react-router-dom\";\r\nimport Stock from '../Views/Stock';\r\nimport Home from '../Views/Home';\r\n\r\n class AppRouter extends React.Component {\r\n render() {\r\n return (\r\n <>\r\n \r\n \r\n \r\n \r\n >\r\n )\r\n }\r\n }\r\n\r\n export default AppRouter","import React from 'react';\r\nimport ReactDOM from 'react-dom';\r\nimport {HashRouter as Router} from \"react-router-dom\";\r\nimport AppRouter from './js/Components/AppRouter';\r\n\r\nclass App extends React.Component {\r\n render() {\r\n return (\r\n \r\n \r\n \r\n )\r\n }\r\n}\r\n\r\n// On rend dans le DOM notre component App créé plus haut et on le place dans la div dont l'id est root\r\n ReactDOM.render(\r\n \r\n \r\n ,\r\n document.getElementById('root')\r\n );"],"sourceRoot":""}
\ No newline at end of file
diff --git a/api_proximo/storage/logs/laravel.log b/api_proximo/storage/logs/laravel.log
index 39ebe46..9032e7e 100644
--- a/api_proximo/storage/logs/laravel.log
+++ b/api_proximo/storage/logs/laravel.log
@@ -5727,3 +5727,43 @@ Did you mean one of these?
#35 /home_clubs/proximo/public_html/api_proximo/public/index.php(52): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#36 {main}
"}
+[2021-01-26 20:10:21] local.ERROR: Call to a member function getClientOriginalName() on null {"exception":"[object] (Error(code: 0): Call to a member function getClientOriginalName() on null at /home_clubs/proximo/public_html/api_proximo/app/Http/Controllers/ArticleController.php:92)
+[stacktrace]
+#0 [internal function]: App\\Http\\Controllers\\ArticleController->updateImage(Object(Illuminate\\Http\\Request), '11')
+#1 /home_clubs/proximo/public_html/api_proximo/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): call_user_func_array(Array, Array)
+#2 /home_clubs/proximo/public_html/api_proximo/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(45): Illuminate\\Routing\\Controller->callAction('updateImage', Array)
+#3 /home_clubs/proximo/public_html/api_proximo/vendor/laravel/framework/src/Illuminate/Routing/Route.php(255): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\ArticleController), 'updateImage')
+#4 /home_clubs/proximo/public_html/api_proximo/vendor/laravel/framework/src/Illuminate/Routing/Route.php(197): Illuminate\\Routing\\Route->runController()
+#5 /home_clubs/proximo/public_html/api_proximo/vendor/laravel/framework/src/Illuminate/Routing/Router.php(691): Illuminate\\Routing\\Route->run()
+#6 /home_clubs/proximo/public_html/api_proximo/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(128): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
+#7 /home_clubs/proximo/public_html/api_proximo/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(41): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
+#8 /home_clubs/proximo/public_html/api_proximo/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
+#9 /home_clubs/proximo/public_html/api_proximo/vendor/laravel/framework/src/Illuminate/Routing/Middleware/ThrottleRequests.php(127): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
+#10 /home_clubs/proximo/public_html/api_proximo/vendor/laravel/framework/src/Illuminate/Routing/Middleware/ThrottleRequests.php(103): Illuminate\\Routing\\Middleware\\ThrottleRequests->handleRequest(Object(Illuminate\\Http\\Request), Object(Closure), Array)
+#11 /home_clubs/proximo/public_html/api_proximo/vendor/laravel/framework/src/Illuminate/Routing/Middleware/ThrottleRequests.php(55): Illuminate\\Routing\\Middleware\\ThrottleRequests->handleRequestUsingNamedLimiter(Object(Illuminate\\Http\\Request), Object(Closure), 'api', Object(Closure))
+#12 /home_clubs/proximo/public_html/api_proximo/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Routing\\Middleware\\ThrottleRequests->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'api')
+#13 /home_clubs/proximo/public_html/api_proximo/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(103): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
+#14 /home_clubs/proximo/public_html/api_proximo/vendor/laravel/framework/src/Illuminate/Routing/Router.php(693): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
+#15 /home_clubs/proximo/public_html/api_proximo/vendor/laravel/framework/src/Illuminate/Routing/Router.php(668): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
+#16 /home_clubs/proximo/public_html/api_proximo/vendor/laravel/framework/src/Illuminate/Routing/Router.php(634): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
+#17 /home_clubs/proximo/public_html/api_proximo/vendor/laravel/framework/src/Illuminate/Routing/Router.php(623): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
+#18 /home_clubs/proximo/public_html/api_proximo/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(166): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
+#19 /home_clubs/proximo/public_html/api_proximo/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(128): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
+#20 /home_clubs/proximo/public_html/api_proximo/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
+#21 /home_clubs/proximo/public_html/api_proximo/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
+#22 /home_clubs/proximo/public_html/api_proximo/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
+#23 /home_clubs/proximo/public_html/api_proximo/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
+#24 /home_clubs/proximo/public_html/api_proximo/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
+#25 /home_clubs/proximo/public_html/api_proximo/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
+#26 /home_clubs/proximo/public_html/api_proximo/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(87): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
+#27 /home_clubs/proximo/public_html/api_proximo/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
+#28 /home_clubs/proximo/public_html/api_proximo/vendor/fruitcake/laravel-cors/src/HandleCors.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
+#29 /home_clubs/proximo/public_html/api_proximo/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Fruitcake\\Cors\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
+#30 /home_clubs/proximo/public_html/api_proximo/vendor/fideloper/proxy/src/TrustProxies.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
+#31 /home_clubs/proximo/public_html/api_proximo/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Fideloper\\Proxy\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
+#32 /home_clubs/proximo/public_html/api_proximo/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(103): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
+#33 /home_clubs/proximo/public_html/api_proximo/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(141): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
+#34 /home_clubs/proximo/public_html/api_proximo/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(110): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
+#35 /home_clubs/proximo/public_html/api_proximo/public/index.php(52): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
+#36 {main}
+"}
diff --git a/data/stock-v2.json b/data/stock-v2.json
new file mode 100644
index 0000000..86c10c2
--- /dev/null
+++ b/data/stock-v2.json
@@ -0,0 +1 @@
+{"types":[{"name":"Salle de bains","icon":"shower","id":"9"},{"name":"Alimentaire","icon":"food","id":"21"},{"name":"Boissons","icon":"cup","id":"24"},{"name":"Papeterie","icon":"file-outline","id":"26"},{"name":"G\u00e2teaux","icon":"cookie","id":"27"},{"name":"=> Nouveau","icon":"star","id":"28"},{"name":"Quotidien","icon":"home","id":"29"}],"articles":[{"name":"Jus d'orange","description":"sans pulpe","quantity":"3","price":"1.95","code":"3560070167470","id":"9","type":["24"],"image":"https:\/\/etud.insa-toulouse.fr\/~proximo\/uploaded_images\/9.jpg"},{"name":"Jus de pomme","description":"Bon pour les aperos","quantity":"2","price":"1.5","code":"3560070720712","id":"10","type":["24"],"image":"https:\/\/etud.insa-toulouse.fr\/~proximo\/uploaded_images\/10.jpg"},{"name":"Sirop de p\u00eache ","description":"Fruit\u00e9","quantity":"0","price":"2.2","code":"3245411863081","id":"11","type":["24"],"image":"https:\/\/etud.insa-toulouse.fr\/~proximo\/uploaded_images\/11.jpg"},{"name":"Mouchoirs","description":"Confort","quantity":"0","price":"4","code":"3560070316908","id":"12","type":["29"],"image":"https:\/\/etud.insa-toulouse.fr\/~proximo\/uploaded_images\/12.jpg"},{"name":"Apr\u00e8s-rasage ","description":"Pour une peau bien lisse","quantity":"1","price":"3.6","code":"3058320052015","id":"13","type":["9"],"image":"https:\/\/etud.insa-toulouse.fr\/~proximo\/uploaded_images\/13.jpg"},{"name":"Apr\u00e8s-rasage","description":"Pour une peau encore plus lisse","quantity":"1","price":"3.7","code":"3058320052039","id":"14","type":["9"],"image":"https:\/\/etud.insa-toulouse.fr\/~proximo\/uploaded_images\/14.jpg"},{"name":"Mousse \u00e0 raser","description":"Mousseuse ","quantity":"3","price":"1","code":"3250391282777","id":"15","type":["9"],"image":"https:\/\/etud.insa-toulouse.fr\/~proximo\/uploaded_images\/15.jpg"},{"name":"Durex","description":"L'ennemi num\u00e9ro 1 des bambins","quantity":"4","price":"5.95","code":"3059948001935","id":"16","type":["29"],"image":"https:\/\/etud.insa-toulouse.fr\/~proximo\/uploaded_images\/16.jpg"},{"name":"Rexona","description":"Pour plus de fraicheur","quantity":"1","price":"0.9","code":"50097852","id":"17","type":["9"],"image":"https:\/\/etud.insa-toulouse.fr\/~proximo\/uploaded_images\/17.jpg"},{"name":"Savane","description":"Savane du papie brossard","quantity":"0","price":"1.41","code":"3088865205256","id":"18","type":["21"],"image":"https:\/\/etud.insa-toulouse.fr\/~proximo\/uploaded_images\/18.jpg"},{"name":"Kinder","description":"Petit paquet de Kinder de 8 b\u00e2tonnets.","quantity":"0","price":"1.75","code":"80177616","id":"19","type":["21","27"],"image":"https:\/\/etud.insa-toulouse.fr\/~proximo\/uploaded_images\/19.jpg"},{"name":"Liquide vaisselle ","description":"Et qu'\u00e7a brille !","quantity":"0","price":"1.35","code":"3560071011697","id":"20","type":["29"],"image":"https:\/\/etud.insa-toulouse.fr\/~proximo\/uploaded_images\/20.jpg"},{"name":"Cire cheveux l'Or\u00e9al","description":"J'en ai rien a cir\u00e9 !","quantity":"2","price":"3.85","code":"3600521137840","id":"21","type":["9"],"image":"https:\/\/etud.insa-toulouse.fr\/~proximo\/uploaded_images\/21.jpg"},{"name":"Sac poubelle x20 (20L)","description":"L'affaire est dans l'sac!","quantity":"2","price":"2.55","code":"3557880352004","id":"22","type":["29"],"image":"https:\/\/etud.insa-toulouse.fr\/~proximo\/uploaded_images\/22.jpg"},{"name":"Sac poubelle x20 (30L)","description":"La main dans l'sac ! ","quantity":"0","price":"2.45","code":"3557880352011","id":"23","type":["29"],"image":"https:\/\/etud.insa-toulouse.fr\/~proximo\/uploaded_images\/23.jpg"},{"name":"Lessive liquide Subliem","description":"Pour un linge subliem !","quantity":"0","price":"2.92","code":"8712252700097","id":"24","type":["29"],"image":"https:\/\/etud.insa-toulouse.fr\/~proximo\/uploaded_images\/24.jpg"},{"name":"D\u00e9sodorisant rose","description":"\u00e7a sent pas la rose ou quoi?","quantity":"0","price":"0.79","code":"8717496474520","id":"25","type":["29"],"image":"https:\/\/etud.insa-toulouse.fr\/~proximo\/uploaded_images\/25.jpg"},{"name":"D\u00e9sodorisant lavande","description":"C'est fresssshhhhh","quantity":"0","price":"0.79","code":"8717496474513","id":"26","type":["9"],"image":"https:\/\/etud.insa-toulouse.fr\/~proximo\/uploaded_images\/26.jpg"},{"name":"Netoyant multi surface au savon noir ","description":"Des paillettes dans les yeux","quantity":"2","price":"1.35","code":"3560071155179","id":"27","type":["29"],"image":"https:\/\/etud.insa-toulouse.fr\/~proximo\/uploaded_images\/27.jpg"},{"name":"Gel douche gras argan","description":"Pour les peaux sensibles","quantity":"1","price":"3.55","code":"8710908437137","id":"28","type":["9"],"image":"https:\/\/etud.insa-toulouse.fr\/~proximo\/uploaded_images\/28.jpg"},{"name":"Gel douche gras cr\u00e8me","description":"Plus gras que gras","quantity":"1","price":"5.85","code":"8712561629089","id":"29","type":["9"],"image":"https:\/\/etud.insa-toulouse.fr\/~proximo\/uploaded_images\/29.jpg"},{"name":"Apr\u00e8s-shampoing Ultra Doux","description":"\u00e0 utiliser juste apr\u00e8s le shampoing","quantity":"2","price":"2.3","code":"3600541887930","id":"30","type":["9"],"image":"https:\/\/etud.insa-toulouse.fr\/~proximo\/uploaded_images\/30.jpg"},{"name":"Gel lavant mains ","description":"Parfum coco et vanille ","quantity":"0","price":"1.22","code":"3560071226343","id":"31","type":["9"],"image":"https:\/\/etud.insa-toulouse.fr\/~proximo\/uploaded_images\/31.jpg"},{"name":"D\u00e9maquillant","description":"Plus belle au naturel","quantity":"1","price":"3","code":"3600542104111","id":"32","type":["9"],"image":"https:\/\/etud.insa-toulouse.fr\/~proximo\/uploaded_images\/32.jpg"},{"name":"Spray d\u00e9sinfectant","description":"Aieaieaie","quantity":"0","price":"3.15","code":"3700552700584","id":"33","type":["9"],"image":"https:\/\/etud.insa-toulouse.fr\/~proximo\/uploaded_images\/33.jpg"},{"name":"Lingette d\u00e9maquillante","description":"tous type de peaux ","quantity":"1","price":"2.45","code":"7322540813180","id":"34","type":["9"],"image":"https:\/\/etud.insa-toulouse.fr\/~proximo\/uploaded_images\/34.jpg"},{"name":"Brosse \u00e0 dent","description":"Pour un sourire Colgate","quantity":"1","price":"2.05","code":"8714789158716","id":"35","type":["9"],"image":"https:\/\/etud.insa-toulouse.fr\/~proximo\/uploaded_images\/35.jpg"},{"name":"Serviettes hyg\u00e9ni\u00e9que","description":"\"Always\" avec moi","quantity":"1","price":"2.1","code":"4015400755609","id":"36","type":["9"],"image":"https:\/\/etud.insa-toulouse.fr\/~proximo\/uploaded_images\/36.jpg"},{"name":"Serviette femapure ","description":"ultra normal","quantity":"0","price":"0.65","code":"8719497830909","id":"37","type":["9"],"image":"https:\/\/etud.insa-toulouse.fr\/~proximo\/uploaded_images\/37.jpg"},{"name":"Serviette femapure night ","description":"Au sec ","quantity":"4","price":"0.69","code":"8719497830886","id":"38","type":["9"],"image":"https:\/\/etud.insa-toulouse.fr\/~proximo\/uploaded_images\/38.jpg"},{"name":"Granola chocolat au lait","description":"16 succulents biscuits au chocolat au lait pour satisfaire vos papilles.","quantity":"0","price":"1.15","code":"7622210601988","id":"39","type":["27"],"image":"https:\/\/etud.insa-toulouse.fr\/~proximo\/uploaded_images\/39.jpg"},{"name":"Prince LU","description":"Le g\u00e2teau qui va \u00e9merveiller votre palais.","quantity":"0","price":"1.15","code":"7622210449283","id":"40","type":["27"],"image":"https:\/\/etud.insa-toulouse.fr\/~proximo\/uploaded_images\/40.jpg"},{"name":"Mars x10","description":"Un Mars et \u00e7a repart.","quantity":"0","price":"3.1","code":"5000159382694","id":"41","type":["27"],"image":"https:\/\/etud.insa-toulouse.fr\/~proximo\/uploaded_images\/41.jpg"},{"name":"Mars x12","description":"Un mars et \u00e7a repart.","quantity":"0","price":"3.55","code":"5000159486200","id":"42","type":["27"],"image":"https:\/\/etud.insa-toulouse.fr\/~proximo\/uploaded_images\/42.jpg"},{"name":"Pompotes pommes\/pommes-poires x16","description":"Pour un dessert \u00e9quilibr\u00e9.","quantity":"0","price":"5.49","code":"3021762416806","id":"43","type":["21"],"image":"https:\/\/etud.insa-toulouse.fr\/~proximo\/uploaded_images\/43.jpg"},{"name":"Chocapic 750g","description":"D\u00e9licieuses c\u00e9r\u00e9ales enrob\u00e9es de chocolat.","quantity":"0","price":"3.65","code":"7613034947611","id":"44","type":["21"],"image":"https:\/\/etud.insa-toulouse.fr\/~proximo\/uploaded_images\/44.jpg"},{"name":"Miel pops 400g","description":"Miel pops c'est Bzz Bzz Bzz","quantity":"0","price":"2.55","code":"5053827101066","id":"45","type":["21"],"image":"https:\/\/etud.insa-toulouse.fr\/~proximo\/uploaded_images\/45.jpg"},{"name":"Riz long grain en sachet 500g","description":"Riz.","quantity":"2","price":"1","code":"3560071016548","id":"46","type":["21"],"image":"https:\/\/etud.insa-toulouse.fr\/~proximo\/uploaded_images\/46.jpg"},{"name":"Riz long grain 1000g","description":"Gole.","quantity":"0","price":"1.45","code":"3560070822294","id":"47","type":["21"],"image":"https:\/\/etud.insa-toulouse.fr\/~proximo\/uploaded_images\/47.jpg"},{"name":"Champignons de Paris 400g","description":"Champignons (hallucinog\u00e8nes).","quantity":"0","price":"0.65","code":"3560071223168","id":"48","type":["21"],"image":"https:\/\/etud.insa-toulouse.fr\/~proximo\/uploaded_images\/48.jpg"},{"name":"Petits pois 400g","description":"Petits. ","quantity":"0","price":"1.7","code":"3560070320288","id":"49","type":["21"],"image":"https:\/\/etud.insa-toulouse.fr\/~proximo\/uploaded_images\/49.jpg"},{"name":"Papier toilettes x12","description":"Pour vos post\u00e9rieurs d\u00e9licats.","quantity":"1","price":"3.99","code":"3560070150403","id":"50","type":["9"],"image":"https:\/\/etud.insa-toulouse.fr\/~proximo\/uploaded_images\/50.jpg"},{"name":"Lipton p\u00eache 1.5L","description":"T'auras la p\u00eache.","quantity":"6","price":"1.4","code":"3228886048436","id":"51","type":["24"],"image":"https:\/\/etud.insa-toulouse.fr\/~proximo\/uploaded_images\/51.jpg"},{"name":"Kas 1.5L","description":"Tagnette.","quantity":"0","price":"1.53","code":"8410408051368","id":"52","type":["24"],"image":"https:\/\/etud.insa-toulouse.fr\/~proximo\/uploaded_images\/52.jpg"},{"name":"Sirop de citron 75cL","description":"Acide.","quantity":"0","price":"1.69","code":"3270190005124","id":"53","type":["24"],"image":"https:\/\/etud.insa-toulouse.fr\/~proximo\/uploaded_images\/53.jpg"},{"name":"Brownie 285g","description":"C'est fort en chocolat.","quantity":"0","price":"1.92","code":"3245412416620","id":"54","type":["27"],"image":"https:\/\/etud.insa-toulouse.fr\/~proximo\/uploaded_images\/54.jpg"},{"name":"Lion 810g","description":"Rugissez de bonheur d\u00e8s le matin.","quantity":"0","price":"3.23","code":"7613033206917","id":"55","type":["21"],"image":"https:\/\/etud.insa-toulouse.fr\/~proximo\/uploaded_images\/55.jpg"},{"name":"C\u00e9r\u00e9ales Nesquik 750g","description":"Chocolat\u00e9.","quantity":"0","price":"3.23","code":"7613034938688","id":"56","type":["21"],"image":"https:\/\/etud.insa-toulouse.fr\/~proximo\/uploaded_images\/56.jpg"},{"name":"P\u00e2te \u00e0 tartiner 600g","description":"Sans huile de palme.","quantity":"2","price":"2.58","code":"3560071172305","id":"57","type":["21"],"image":"https:\/\/etud.insa-toulouse.fr\/~proximo\/uploaded_images\/57.jpg"},{"name":"Cookies granola 280g","description":"Croustillant.","quantity":"0","price":"2.01","code":"7622300689124","id":"58","type":["27"],"image":"https:\/\/etud.insa-toulouse.fr\/~proximo\/uploaded_images\/58.jpg"},{"name":"Chips paysannes Lays 150g","description":"On Lays adore.","quantity":"10","price":"1.03","code":"3168930009030","id":"59","type":["21"],"image":"https:\/\/etud.insa-toulouse.fr\/~proximo\/uploaded_images\/59.jpg"},{"name":"Dentifrice","description":"Pour des dents plus blanches.","quantity":"0","price":"1.89","code":"8718951228511","id":"60","type":["9"],"image":"https:\/\/etud.insa-toulouse.fr\/~proximo\/uploaded_images\/60.jpg"},{"name":"Coca-cola 1.25L","description":"Sucr\u00e9.","quantity":"6","price":"1.43","code":"5449000267412","id":"61","type":["24"],"image":"https:\/\/etud.insa-toulouse.fr\/~proximo\/uploaded_images\/61.jpg"},{"name":"Lion 400g","description":"Caramel chocolat.","quantity":"0","price":"2.15","code":"3387390019995","id":"62","type":["21"],"image":"https:\/\/etud.insa-toulouse.fr\/~proximo\/uploaded_images\/62.jpg"},{"name":"Balisto","description":"miel amandes","quantity":"0","price":"2.1","code":"5000159419291","id":"64","type":["21","27"],"image":"https:\/\/etud.insa-toulouse.fr\/~proximo\/uploaded_images\/64.jpg"},{"name":"Pesto","description":"Sauce.","quantity":"0","price":"2.29","code":"8076809545396","id":"65","type":["21"],"image":"https:\/\/etud.insa-toulouse.fr\/~proximo\/uploaded_images\/65.jpg"},{"name":"Tuiles","description":"Pas pour les toits.","quantity":"6","price":"1.19","code":"3560070240258","id":"66","type":["21"],"image":"https:\/\/etud.insa-toulouse.fr\/~proximo\/uploaded_images\/66.jpg"},{"name":"Lait","description":"De vache.","quantity":"0","price":"0.84","code":"3270190021056","id":"68","type":["24"],"image":"https:\/\/etud.insa-toulouse.fr\/~proximo\/uploaded_images\/68.jpg"},{"name":"Pain de mie","description":"Tartines.","quantity":"0","price":"0.53","code":"3560071152208","id":"69","type":["21"],"image":"https:\/\/etud.insa-toulouse.fr\/~proximo\/uploaded_images\/69.jpg"},{"name":"Pain au lait","description":"Ol\u00e9\u00e9\u00e9 !","quantity":"0","price":"1.95","code":"3270190024835","id":"70","type":["21"],"image":"https:\/\/etud.insa-toulouse.fr\/~proximo\/uploaded_images\/70.jpg"},{"name":"Twix","description":"C'est toi le twix.","quantity":"0","price":"3.58","code":"5000159429283","id":"71","type":["21","27"],"image":"https:\/\/etud.insa-toulouse.fr\/~proximo\/uploaded_images\/71.jpg"},{"name":"Fromage r\u00e2p\u00e9","description":"Pas mal ce fromage non ?","quantity":"0","price":"1.36","code":"3560070379545","id":"72","type":["21"],"image":"https:\/\/etud.insa-toulouse.fr\/~proximo\/uploaded_images\/72.jpg"},{"name":"Lardons","description":"Ne convient pas aux v\u00e9g\u00e9tariens.","quantity":"0","price":"1.8","code":"3560071012861","id":"73","type":["21"],"image":"https:\/\/etud.insa-toulouse.fr\/~proximo\/uploaded_images\/73.jpg"},{"name":"Wraps","description":"Wraps.","quantity":"0","price":"2.1","code":"3560070386352","id":"74","type":["21"],"image":"https:\/\/etud.insa-toulouse.fr\/~proximo\/uploaded_images\/74.jpg"},{"name":"P\u00e2tes farfales 1kg","description":"A faire bouillir dans de l'eau pendant 10 minutes.","quantity":"0","price":"0.95","code":"3560070553990","id":"75","type":["21"],"image":"https:\/\/etud.insa-toulouse.fr\/~proximo\/uploaded_images\/75.jpg"},{"name":"Sucre glace","description":"Attention c'est froid.","quantity":"1","price":"1.64","code":"3165432640006","id":"76","type":["21"],"image":"https:\/\/etud.insa-toulouse.fr\/~proximo\/uploaded_images\/76.jpg"},{"name":"Sel","description":"Sal\u00e9.","quantity":"0","price":"0.85","code":"3252378000954","id":"77","type":["21"],"image":"https:\/\/etud.insa-toulouse.fr\/~proximo\/uploaded_images\/77.jpg"},{"name":"Poivre","description":"Poivr\u00e9.","quantity":"1","price":"3.42","code":"3596710310227","id":"78","type":["21"],"image":"https:\/\/etud.insa-toulouse.fr\/~proximo\/uploaded_images\/78.jpg"},{"name":"Barres Lion","description":"Elles ne viennent pas de Lyon.","quantity":"7","price":"3.35","code":"7613033135538","id":"79","type":["21","27"],"image":"https:\/\/etud.insa-toulouse.fr\/~proximo\/uploaded_images\/79.jpg"},{"name":"Bolognaise","description":"Boeuf","quantity":"0","price":"0.83","code":"3560070680016","id":"80","type":["21"],"image":"https:\/\/etud.insa-toulouse.fr\/~proximo\/uploaded_images\/80.jpg"},{"name":"COCA COLA 2L","description":"2L","quantity":"0","price":"1.6","code":"5000112611861","id":"81","type":["24"],"image":"https:\/\/etud.insa-toulouse.fr\/~proximo\/uploaded_images\/81.jpg"},{"name":"Grenadine","description":"Sucr\u00e9","quantity":"0","price":"1.56","code":"3270190005100","id":"82","type":["24"],"image":"https:\/\/etud.insa-toulouse.fr\/~proximo\/uploaded_images\/82.jpg"},{"name":"Kinder Bueno","description":"Une petite pause ?","quantity":"0","price":"5.35","code":"8000500290415","id":"83","type":["27"],"image":"https:\/\/etud.insa-toulouse.fr\/~proximo\/uploaded_images\/83.jpg"},{"name":"Couscous royal","description":"Un repas digne des plus grands chefs en 6 minutes.","quantity":"0","price":"3.54","code":"3261053456603","id":"84","type":["21"],"image":"https:\/\/etud.insa-toulouse.fr\/~proximo\/uploaded_images\/84.jpg"},{"name":"Canneloni pur boeuf","description":"Origine France.","quantity":"0","price":"2.11","code":"3560070485581","id":"85","type":["21"],"image":"https:\/\/etud.insa-toulouse.fr\/~proximo\/uploaded_images\/85.jpg"},{"name":"Poulet curry","description":"Mieux qu'au KFC.","quantity":"0","price":"2.4","code":"3560070921973","id":"86","type":["21"],"image":"https:\/\/etud.insa-toulouse.fr\/~proximo\/uploaded_images\/86.jpg"},{"name":"Macedoine (petites conserves)","description":"Dans une jolie bo\u00eete.","quantity":"6","price":"0.45","code":"4","id":"87","type":["21"],"image":"https:\/\/etud.insa-toulouse.fr\/~proximo\/uploaded_images\/87.jpg"},{"name":"Petits pois carottes (petites conserves)","description":"Comme ceux de ta maman.","quantity":"1","price":"0.55","code":"5","id":"88","type":["21"],"image":"https:\/\/etud.insa-toulouse.fr\/~proximo\/uploaded_images\/88.jpg"},{"name":"Mais (petites conserves)","description":"Super doux.","quantity":"3","price":"0.45","code":"6","id":"89","type":["21"],"image":"https:\/\/etud.insa-toulouse.fr\/~proximo\/uploaded_images\/89.jpg"},{"name":"Haricots verts extra fins (petites conserves)","description":"Pas de descriptions.","quantity":"10","price":"0.58","code":"8","id":"90","type":["21"],"image":"https:\/\/etud.insa-toulouse.fr\/~proximo\/uploaded_images\/90.jpg"},{"name":"Chocapic 430g","description":"C'est fort en chocolat !","quantity":"0","price":"2.13","code":"7613034626844","id":"91","type":["21"],"image":"https:\/\/etud.insa-toulouse.fr\/~proximo\/uploaded_images\/91.jpg"},{"name":"Tr\u00e9sor de Kelloggs 375g","description":"Partez \u00e0 la chasse au... tr\u00e9sor !","quantity":"0","price":"2.43","code":"5050083501661","id":"92","type":["21"],"image":"https:\/\/etud.insa-toulouse.fr\/~proximo\/uploaded_images\/92.jpg"},{"name":"C\u00e9r\u00e9ales Lion 480g","description":"Vous allez rugir ! (ne vous fiez pas \u00e0 la photo)","quantity":"0","price":"2.21","code":"7613032192570","id":"93","type":["21"],"image":"https:\/\/etud.insa-toulouse.fr\/~proximo\/uploaded_images\/93.jpg"},{"name":"Sauce risotto aux champignons","description":"Indispensable pour \u00e9gayer votre assiette.","quantity":"0","price":"2.45","code":"3038354281001","id":"94","type":["21"],"image":"https:\/\/etud.insa-toulouse.fr\/~proximo\/uploaded_images\/94.jpg"},{"name":"Sauce Carbonara 370g","description":"Made in Italia","quantity":"1","price":"2.4","code":"3038352874908","id":"95","type":["21"],"image":"https:\/\/etud.insa-toulouse.fr\/~proximo\/uploaded_images\/95.jpg"},{"name":"Ketchup 560g","description":"Aux tomates.","quantity":"2","price":"1","code":"3560071121068","id":"96","type":["21"],"image":"https:\/\/etud.insa-toulouse.fr\/~proximo\/uploaded_images\/96.jpg"},{"name":"Mayonnaise 420g","description":"Sauce blanche.","quantity":"1","price":"1.5","code":"3560070956913","id":"97","type":["21"],"image":"https:\/\/etud.insa-toulouse.fr\/~proximo\/uploaded_images\/97.jpg"},{"name":"Sauce bolognaise 420g","description":"Boeuf et porc origine fran\u00e7aise.","quantity":"1","price":"1.18","code":"3560070530021","id":"98","type":["21"],"image":"https:\/\/etud.insa-toulouse.fr\/~proximo\/uploaded_images\/98.jpg"},{"name":"Tuiles paprika carrefour","description":"Ca pique.","quantity":"0","price":"1.19","code":"3560070242788","id":"99","type":["21"],"image":"https:\/\/etud.insa-toulouse.fr\/~proximo\/uploaded_images\/99.jpg"},{"name":"Tuiles barbecue carrefour","description":"C'est pas pour les toits (d\u00e9dicace aux IC)","quantity":"0","price":"1.31","code":"3560070718900","id":"100","type":["21"],"image":"https:\/\/etud.insa-toulouse.fr\/~proximo\/uploaded_images\/100.jpg"},{"name":"Tuiles bacon","description":"Pas v\u00e9g\u00e9.","quantity":"0","price":"1.32","code":"3560071013592","id":"101","type":["21"],"image":"https:\/\/etud.insa-toulouse.fr\/~proximo\/uploaded_images\/101.jpg"},{"name":"Oasis 2L","description":"Pur vitamine","quantity":"0","price":"1.85","code":"3124480191182","id":"102","type":["21"],"image":"https:\/\/etud.insa-toulouse.fr\/~proximo\/uploaded_images\/102.jpg"},{"name":"Fuzztea 1.25L","description":"Saveur p\u00eache intense. C'est la bouteille qui le dit.","quantity":"0","price":"1.75","code":"5449000232250","id":"103","type":["21"],"image":"https:\/\/etud.insa-toulouse.fr\/~proximo\/uploaded_images\/103.jpg"},{"name":"Multifruit 2L","description":"Fruits cueillis et press\u00e9s \u00e0 maturit\u00e9.","quantity":"1","price":"2.88","code":"3560070215713","id":"104","type":["21"],"image":"https:\/\/etud.insa-toulouse.fr\/~proximo\/uploaded_images\/104.jpg"},{"name":"Cookie choco 200g","description":"Croustillant et savoureux.","quantity":"2","price":"0.85","code":"3560070048786","id":"105","type":["27"],"image":"https:\/\/etud.insa-toulouse.fr\/~proximo\/uploaded_images\/105.jpg"},{"name":"Breaks (Princes) 300g","description":"Princes moins chers.","quantity":"3","price":"0.85","code":"3560071012243","id":"106","type":["27"],"image":"https:\/\/etud.insa-toulouse.fr\/~proximo\/uploaded_images\/106.jpg"},{"name":"Tuiles cr\u00eame oignon carrefour","description":"Joli bo\u00eete.","quantity":"3","price":"1.2","code":"3560070254699","id":"107","type":["21"],"image":"https:\/\/etud.insa-toulouse.fr\/~proximo\/uploaded_images\/107.jpg"},{"name":"Chips barbecue carrefour","description":"Pour remplacer un vrai barbec.","quantity":"0","price":"1.1","code":"3560070430901","id":"108","type":["21"],"image":"https:\/\/etud.insa-toulouse.fr\/~proximo\/uploaded_images\/108.jpg"},{"name":"Chips bolognaise carrefour","description":"Bon.","quantity":"1","price":"1.1","code":"3245414658806","id":"109","type":["21"],"image":"https:\/\/etud.insa-toulouse.fr\/~proximo\/uploaded_images\/109.jpg"},{"name":"Capellini barilla 1kg","description":"Spaghetti fins","quantity":"1","price":"1.35","code":"8076809525435","id":"110","type":["21"],"image":"https:\/\/etud.insa-toulouse.fr\/~proximo\/uploaded_images\/110.jpg"},{"name":"Pain de mie carrefour 500g","description":"Moelleux.","quantity":"0","price":"0.65","code":"3270190021070","id":"111","type":["21"],"image":"https:\/\/etud.insa-toulouse.fr\/~proximo\/uploaded_images\/111.jpg"},{"name":"Pesto barilla 190g","description":"Pesto vert.","quantity":"0","price":"1.7","code":"8076809513753","id":"112","type":["21"],"image":"https:\/\/etud.insa-toulouse.fr\/~proximo\/uploaded_images\/112.jpg"},{"name":"Pesto barilla 200g","description":"Pesto rouge.","quantity":"0","price":"1.7","code":"8076809523547","id":"113","type":["21"],"image":"https:\/\/etud.insa-toulouse.fr\/~proximo\/uploaded_images\/113.jpg"},{"name":"Brosse \u00e0 dents Colgate","description":"Zigzag.","quantity":"1","price":"2.05","code":"8714789158716","id":"114","type":["9"],"image":"https:\/\/etud.insa-toulouse.fr\/~proximo\/uploaded_images\/114.jpg"},{"name":"Compote","description":"Multigo\u00fbt. A l'unit\u00e9.","quantity":"20","price":"0.35","code":"10","id":"116","type":["27"],"image":"https:\/\/etud.insa-toulouse.fr\/~proximo\/uploaded_images\/116.jpg"},{"name":"Haribo Tagada 220g","description":"Coeur moelleux avec des petits grains de sucre \u00e0 l'ext\u00e9rieur.","quantity":"1","price":"1.2","code":"3103220044544","id":"117","type":["27"],"image":"https:\/\/etud.insa-toulouse.fr\/~proximo\/uploaded_images\/117.jpg"},{"name":"Haribo Dragibus 230g","description":"Convient aux v\u00e9g\u00e9tariens.","quantity":"2","price":"1.8","code":"3103220037867","id":"118","type":["27"],"image":"https:\/\/etud.insa-toulouse.fr\/~proximo\/uploaded_images\/118.jpg"},{"name":"Snickers x10 500g","description":"10x + de pur bonheur.","quantity":"1","price":"3.05","code":"5000159382731","id":"119","type":["27"],"image":"https:\/\/etud.insa-toulouse.fr\/~proximo\/uploaded_images\/119.jpg"},{"name":"Lion x11 462g","description":"Grrrrrr x11.","quantity":"1","price":"3.4","code":"7613033135538","id":"120","type":["27"],"image":"https:\/\/etud.insa-toulouse.fr\/~proximo\/uploaded_images\/120.jpg"},{"name":"Farine 1kg","description":"Farine espagnole par contre.","quantity":"1","price":"1","code":"8009773101008","id":"121","type":["21"],"image":"https:\/\/etud.insa-toulouse.fr\/~proximo\/uploaded_images\/121.jpg"},{"name":"Prince du bled","description":"super gateau","quantity":"3","price":"0.85","code":"3560071012243","id":"122","type":[],"image":"https:\/\/etud.insa-toulouse.fr\/~proximo\/uploaded_images\/122.jpg"},{"name":"JUS DE POMME 1L","description":"le bon jus de bebew","quantity":"0","price":"1.04","code":"3560070275267","id":"123","type":["21"],"image":"https:\/\/etud.insa-toulouse.fr\/~proximo\/uploaded_images\/123.jpg"}]}
\ No newline at end of file
diff --git a/data/stock.json b/data/stock.json
new file mode 100644
index 0000000..c641967
--- /dev/null
+++ b/data/stock.json
@@ -0,0 +1 @@
+{"types":[{"id":"1","name":"Nouveau","icon":"alert-decagram"},{"id":"2","name":"Alimentaire","icon":"food"},{"id":"3","name":"Boissons","icon":"bottle-wine"},{"id":"4","name":"Papeterie","icon":"notebook"},{"id":"5","name":"Sp\u00e9cial","icon":"star"},{"id":"6","name":"Salle de bain","icon":"shower"},{"id":"7","name":"Tes meilleurs amis","icon":"account-supervisor-circle"},{"id":"8","name":"Best-seller","icon":"cash-100"},{"id":"10","name":"Les bobos","icon":"hospital-building"},{"id":"11","name":"Protection Hygi\u00e9nique","icon":"shield-key-outline"},{"id":"12","name":"Condiments","icon":"soy-sauce"},{"id":"13","name":"Conserves","icon":"safe"},{"id":"14","name":"Noeud Papillon","icon":"bow-tie"},{"id":"15","name":"Bonbons\/Snacks","icon":"candycane"},{"id":"16","name":"petit go\u00fbter \u00e0 16h","icon":"cookie"},{"id":"9","name":"Cuisine et entretient","icon":"stove"}],"articles":[{"name":"Apr\u00e8s-rasage MENNEN Grand Large","description":"On te promet des joues plus froides que froides apr\u00e8s ton rasage!","quantity":"1","price":"3.70","code":"3058320052039","type":["6"],"image":"https:\/\/scontent-cdg2-1.xx.fbcdn.net\/v\/t1.15752-0\/p280x280\/69878674_501540037310224_366252898079735808_n.png?_nc_cat=105&_nc_oc=AQmJlqrU_mbb19WgUcZadPVXPx2MK_ozNKvG98LlMohlZETcckF5jGQTiSb0sdAJrRym64Hf6HjSu9Yr_Q6v465y&_nc_ht=scontent-cdg2-1.xx&oh=5cc3efd5637471ae6dd9fc310bdc9c87&oe=5DF609B7"},{"name":"B\u00e2tonnets ouat\u00e9s","description":"Profitez-en, ce sera bient\u00f4t interdit... #SaveEarth","quantity":"1","price":"0.30","code":"3560070917396","type":["6"],"image":"https:\/\/scontent-cdg2-1.xx.fbcdn.net\/v\/t1.15752-0\/p280x280\/70717638_1372406529578170_2039592089544556544_n.png?_nc_cat=110&_nc_oc=AQl9Fdw5XmyqS7E2tff03aQ_Y9x7CJJg8Y6Z54p034J7GPjR0NumYv9UUC6nvC3r8mWs0W427RS5GBEkRk1tnwlt&_nc_ht=scontent-cdg2-1.xx&oh=38b3e7c481b152146ab49b0e022d922a&oe=5DFADB53"},{"name":"40 filtres a caf\u00e9 Auchan","description":"Encore faut-il avoir une machine \u00e0 caf\u00e9","quantity":"1","price":"2.9","code":"3254560086050","type":["3"],"image":"https:\/\/scontent-cdg2-1.xx.fbcdn.net\/v\/t1.15752-0\/p280x280\/70493527_429877730986230_5729522734057127936_n.png?_nc_cat=100&_nc_oc=AQmRO4V8_bpDMtFnAU9y6Y0J3XB0Qmyj7yqojtYP73lCMAUI6SBZdO9Dm2-2O75JEy21n6brpXNhk0aJg3HG52Tn&_nc_ht=scontent-cdg2-1.xx&oh=472a95b881e7f1bbaf83db12e513c1bc&oe=5DFB5F5D"},{"name":"D\u00e9odorant 48h Rexona","description":"Il va y avoir des bas mais surtout d\u00e9o.. #monop","quantity":"1","price":"0.90","code":"50097852","type":["6"],"image":"https:\/\/scontent-cdg2-1.xx.fbcdn.net\/v\/t1.15752-0\/p280x280\/70656446_445878736137187_3105167119130558464_n.png?_nc_cat=100&_nc_oc=AQm9CrL7ZBB4W1U9norCjwIbAhsxlsF2T-qXuHwiMGzKkF7NBYaVoq3YOdgxLuWFAM0QMD9E4IkGUDBZMtO6eS_1&_nc_ht=scontent-cdg2-1.xx&oh=700fcea8a986b890461332ac7211c52a&oe=5E0E1A5F"},{"name":"Cire pour cheveux L'Or\u00e9al Studio 7","description":"Pour faire la plus belle cr\u00eate du monde! #tektonik","quantity":"1","price":"3.85","code":"3600521137840","type":["6"],"image":"https:\/\/scontent-cdg2-1.xx.fbcdn.net\/v\/t1.15752-9\/70001133_2441169936123078_4622868468293697536_n.png?_nc_cat=108&_nc_oc=AQlx7fUr26fZL_pjWiPMuunO5nEVXvcRmm7nRm0gI66rle9CQcMopnKuU8CJKHeyWPRTXqjbpZo_SiabE5xbuCiI&_nc_ht=scontent-cdg2-1.xx&oh=27421453fe88c3201aee82b515c3db39&oe=5E0D4534"},{"name":"Shampoing Ultra Doux Garnier Amande Douce et Fleur de Lotus","description":"Pas de description","quantity":"1","price":"2.30","code":"3600541083479","type":["6"],"image":"https:\/\/scontent-cdg2-1.xx.fbcdn.net\/v\/t1.15752-0\/p280x280\/70318269_563210177550074_5233475181262929920_n.png?_nc_cat=105&_nc_oc=AQlVr2hkYOy37QhoqYlvtGvvpmyYvX7-uXvRuF8XsyXUZnkpV6xFSNjElFO5BVDaRr_JfjlNDQvtZSn9G00Hj4wT&_nc_ht=scontent-cdg2-1.xx&oh=26394dcc97e1a44c9a39261785d82362&oe=5E0E7D78"},{"name":"Lait responsable Candia 1L","description":"Soutenez les \u00e9leveurs!","quantity":"0","price":"1.05","code":"3533630095834","type":["3"],"image":"https:\/\/scontent-cdg2-1.xx.fbcdn.net\/v\/t1.15752-0\/p280x280\/69910122_365577377717555_5666339087913582592_n.png?_nc_cat=110&_nc_oc=AQlQzFDf8hPDh1mU9x_tJpOF1FP6BAjJxmNUxRn0oAxU-Xh2f24IUda6_r68X6idHJNvOwxROymSuP1Qgj1BXBe-&_nc_ht=scontent-cdg2-1.xx&oh=121f2e431170b0eb78fd114e0d4b9c32&oe=5DF2F314"},{"name":"Serviettes Hygi\u00e9niques Ultra NANA","description":"Pas de description","quantity":"1","price":"2.00","code":"7322540562231","type":["11"],"image":"https:\/\/libresse-images.essity.com\/images-c5\/196410\/femcare615x615png\/7322540562194-nana-ultra-normal-plus-14-2400px-2.png"},{"name":"Sirop Menthe Oasis","description":"Ils font pas que des sodas askip","quantity":"1","price":"2.80","code":"3217690055594","type":["3"],"image":"https:\/\/scontent-cdg2-1.xx.fbcdn.net\/v\/t1.15752-0\/p280x280\/70482826_637780320079422_4618800885156282368_n.png?_nc_cat=109&_nc_oc=AQk3yVbuUXNLqGWUhyf1wCIeW2MIeWLg6Ru7TQufNdIUTLoSYhfHhEpblVTPZpV9KJOCLBmdENJqhx4rz_JsmvAN&_nc_ht=scontent-cdg2-1.xx&oh=307222494f6133c4e4bda63ec8c792b7&oe=5E001A4B"},{"name":"Sirop Menthe Carrefour","description":"(C'est mieux l'orgeat pour le pastis)","quantity":"1","price":"1.55","code":"3270190005094","type":["3"],"image":"https:\/\/scontent-cdg2-1.xx.fbcdn.net\/v\/t1.15752-0\/p280x280\/69527298_486781585492455_5146183780607721472_n.png?_nc_cat=108&_nc_oc=AQmow09URWmEP_tOQMgYjJYWyxUfCHvP4MX7ymmrAuG6zYbNRPxp183G2Ups5b1V8xynymUIITwGCsqXc5_1N8mw&_nc_ht=scontent-cdg2-1.xx&oh=44c0334c91794cd497906f0262560830&oe=5E00FC02"},{"name":"Th\u00e9 fruit des bois Lipton","description":"Th\u00e9 ou Caf\u00e9?","quantity":"0","price":"2.10","code":"8722700159476","type":["3"],"image":"https:\/\/scontent-cdg2-1.xx.fbcdn.net\/v\/t1.15752-0\/p280x280\/69933190_476358649584499_630779959610179584_n.png?_nc_cat=103&_nc_oc=AQlezHUVkxfJGP7QmseCP7Lgl9miVjDHCCRqoSL8pqlCj8i8NbSpQMaOM7NgFISqTSoZxZ5mxh_nU_DREekbhqma&_nc_ht=scontent-cdg2-1.xx&oh=916f663f6e93f227aac9345a2440104a&oe=5E0AFDDA"},{"name":"Sirop de p\u00eache carrefour ","description":"Garde la p\u00eache!","quantity":"1","price":"2.15","code":"3560070488520","type":["3"],"image":"https:\/\/scontent-cdg2-1.xx.fbcdn.net\/v\/t1.15752-0\/p280x280\/70295617_2220304161413959_1777795832645419008_n.png?_nc_cat=103&_nc_oc=AQmFak0WTfguQWQlhSVoCd0dgraZJka03JLy96ou40s8QIieUBobe-8kNG_aOkg95X8&_nc_ht=scontent-cdg2-1.xx&oh=8c3ad8eab52a0c9834ada965cb117833&oe=5DFF830F"},{"name":"Lessive XTRA Total 43 Lavages","description":"Pas de description","quantity":"1","price":"7.10","code":"3178040683426","type":["6"],"image":"https:\/\/scontent-cdg2-1.xx.fbcdn.net\/v\/t1.15752-0\/p280x280\/69979379_2939510012786215_3881830079650594816_n.png?_nc_cat=106&_nc_oc=AQnFu_-yTUAO2R-HRJAKLwW_LuOA0PerSLbpRVVydpUCL9UfiYMxCaFuGzPyPx68QK9z_jRmvKjTJ9EcbW7ORVio&_nc_ht=scontent-cdg2-1.xx&oh=793924b89132134fe393596c96100d0f&oe=5DF4AAB3"},{"name":"Macaroni 3mn 500g Panzani","description":"La bo\u00eete \u00e0 bonheur","quantity":"2","price":"0.80","code":"3038350333100","type":["2"],"image":"https:\/\/scontent-cdg2-1.xx.fbcdn.net\/v\/t1.15752-0\/p280x280\/70008017_371003253834780_7889658969164087296_n.png?_nc_cat=107&_nc_oc=AQlIoNOP9hr2riU456Q2WUNJD50Pk8UXgW7DFkw32rOXZkbKdCVbHs2yZvIII8Mvk_gzzimN9HVI_Onvw_5PRtDe&_nc_ht=scontent-cdg2-1.xx&oh=34fe7ba6331dca2199917491da0e7a48&oe=5DF3C78D"},{"name":"Riz Carrefour 500g","description":"Du riz.","quantity":"1","price":"1.00","code":"3560070902057","type":["2"],"image":"https:\/\/scontent-cdg2-1.xx.fbcdn.net\/v\/t1.15752-9\/70345822_661066904403464_5319285011474546688_n.png?_nc_cat=101&_nc_oc=AQl5QFMNbqGK3VurqjMRU7X-smLVXsXVbCDGi8OHztFCYxgLtRale_CE1SNwiMaqpfwQ3HyVAKFzXe6ygAFzllXn&_nc_ht=scontent-cdg2-1.xx&oh=da53efefc145a6ac8be7927da4524981&oe=5DEF99E8"},{"name":"Sucre Glace Daddy","description":"Pas de description","quantity":"1","price":"1.64","code":"3165432640006","type":["2"],"image":"https:\/\/scontent-cdg2-1.xx.fbcdn.net\/v\/t1.15752-0\/p280x280\/69932151_474517013400613_3105576648557199360_n.png?_nc_cat=111&_nc_oc=AQntjB_KkhslWOqGihGfraY9l9_juFk7lZxIXG_XAKZyUls-9azfgB31fk_pxyRXVTwH39jnhRBd8g7H1Pxq3VLM&_nc_ht=scontent-cdg2-1.xx&oh=1c760b0aa96319fa9c70d40a6e08608c&oe=5E1085C3"},{"name":"Sucre en poudre Saint-Louis 750g","description":"Pas de description","quantity":"1","price":"1.25","code":"3220035170005","type":["2"],"image":"https:\/\/scontent-cdg2-1.xx.fbcdn.net\/v\/t1.15752-0\/p280x280\/70465090_2111885362452879_4218029291968921600_n.png?_nc_cat=108&_nc_oc=AQne5mapZ5uCFCZqRzUT7qJXQgJgQxKVS5pr0AWDUmfWO4yTRcXzZ-wDV4N-r2YIGyf2Aw69d9TCzi3hzdLOG6S-&_nc_ht=scontent-cdg2-1.xx&oh=36494aa380f067eb4551829388a7e1b1&oe=5DF64193"},{"name":"Mathieu Ducarre","description":"En manke de funk? File lui une guitare et red\u00e9couvre ta vie!","quantity":"1","price":"7500","code":"3","type":["7"],"image":"https:\/\/scontent-cdg2-1.xx.fbcdn.net\/v\/t1.15752-0\/p280x280\/70403086_504128697044311_67441874289295360_n.png?_nc_cat=102&_nc_oc=AQnti7A6x538vkYeCbuAN-TUaxJf-2mQftTOTDFESdK5SogE7q4alqgsqi95jYRaM2YC6uFxY2jXG7GVyFWp3FgG&_nc_ht=scontent-cdg2-1.xx&oh=d40d079da495bbd2e0c8af82c6d0aa9a&oe=5DFB374A"},{"name":"Elie Astier","description":"Pour tous vos travaux de toiture et recouvrement, Elie est l\u00e0 pour vous! (Prix TTC)","quantity":"1","price":"7500","code":"4","type":["7"],"image":"https:\/\/scontent.xx.fbcdn.net\/v\/t1.15752-0\/p280x280\/69849514_371453747072921_3046986306727968768_n.jpg?_nc_cat=104&_nc_oc=AQm45aH_3VoWnfivLmFGxnhfegGbyzVqRc4wYQkJQ4E1iJiTnnXaZ_3raJZf-UyG4zsKvFJaC-U07ejxBzqzvmFT&_nc_ad=z-m&_nc_cid=0&_nc_zor=9&_nc_ht=scontent.xx&oh=a7cdc19354720b8839f638d92f72e8c7&oe=5E0B7235"},{"name":"Coquillettes 1kg","description":"Pas de description","quantity":"2","price":"0.80","code":"3560071016876","type":["2"],"image":"https:\/\/scontent-cdg2-1.xx.fbcdn.net\/v\/t1.15752-0\/p280x280\/69973195_628243811033970_4366475688274821120_n.png?_nc_cat=108&_nc_oc=AQnawgyBTEb05p2s-cGi5ZENeTT1iKTcme6y4-Nu70FF_HB12P7SBmZYyq_yNfLhymXONCr2QpRco9QuA9c79z-A&_nc_ht=scontent-cdg2-1.xx&oh=c27b5220614e39a66e869347939bba6d&oe=5E10DFF0"},{"name":"Freshona Pois Chiches","description":"Pas de description","quantity":"1","price":"1.30","code":"20468583","type":["2"],"image":"https:\/\/scontent-cdg2-1.xx.fbcdn.net\/v\/t1.15752-0\/p280x280\/70912517_2424339421226850_9067959113400451072_n.png?_nc_cat=111&_nc_oc=AQniZg9jjXeNZpjNzuxSbtrg2JbxWNSy37w8XVe1tFltpCZ6o_cykTrR4ogQzKZnIrOj9EwphUpCqXR47bWnd5mJ&_nc_ht=scontent-cdg2-1.xx&oh=8828d485697e7ad4c9dcffccf1d93584&oe=5E0A09B5"},{"name":"Ultra deco sopalin Carrefour 4 rouleaux","description":"Pas de description","quantity":"1","price":"2.30","code":"3560070810017","type":["9"],"image":"https:\/\/scontent-cdg2-1.xx.fbcdn.net\/v\/t1.15752-9\/70689959_2458875207566221_8824656272713318400_n.png?_nc_cat=104&_nc_oc=AQlRucScuKulwxclCy_1SG5umFcJjs1vjGgMrfUk4vWr1WvDHuQOXURPZi3ft8StoNltLGBL1xYLpmTVV4TksYun&_nc_ht=scontent-cdg2-1.xx&oh=8a53ccb7ffc42fca04f0a39f92fa87ac&oe=5E013907"},{"name":"Shampoing Ultra Doux Garnier D\u00e9licatesse d'avoine","description":"C'est trop doux","quantity":"2","price":"2.30","code":"3600541887930","type":["6"],"image":"https:\/\/scontent-cdg2-1.xx.fbcdn.net\/v\/t1.15752-0\/p280x280\/70774121_475678169652711_3430362955949015040_n.png?_nc_cat=108&_nc_oc=AQnuZa4jfPLCgipi9ntMbCkpb0Fi06AR5BhPizgiLa0alzGBZNM2evkqRpa9P-CasVvnUuftJTZgBsme8kRa87O-&_nc_ht=scontent-cdg2-1.xx&oh=79c50530a66f04f2f02f0d9127fa0f69&oe=5E0C2927"},{"name":"Sucre en morceaux 1kg Auchan","description":"P\u00e2tes au sucre?","quantity":"1","price":"3.00","code":"3596710336500","type":["2"],"image":"https:\/\/scontent-cdg2-1.xx.fbcdn.net\/v\/t1.15752-9\/70597230_2944874885587651_3246544351454560256_n.png?_nc_cat=111&_nc_oc=AQmhKUusVD99zzapclmSbo9cn1U-qtNMfBfnvsoEgAaS8idHJe8K4ob3Qx4-zEugVxJk1yo8nx1UMbuEtCIzZbP6&_nc_ht=scontent-cdg2-1.xx&oh=ed83779264e80c870e12458e25bb2636&oe=5DFC0DCA"},{"name":"Solution Micellaire Tout en 1 Peaux Sensibles Maquillage Tenace Garnier 100ml","description":"Pas de description","quantity":"1","price":"3.00","code":"3600542104111","type":["6"],"image":"https:\/\/scontent-cdg2-1.xx.fbcdn.net\/v\/t1.15752-0\/p280x280\/70739422_2706424606042754_8172753857214939136_n.png?_nc_cat=103&_nc_oc=AQmdskPKP3LjVF7MChAHWhJ3SCOJcnnvdVcuFfg1oFq55JtiBiYXKUhGAUpaATLxphAmdnjSycqkloG8CW8A187E&_nc_ht=scontent-cdg2-1.xx&oh=12e85efe25decbfb89d4b24da41889a4&oe=5DFBB262"},{"name":"Gel Douche Dove Go Fresh Grenade","description":"Pas de description","quantity":"1","price":"1.30","code":"8712561655026","type":["6"],"image":"https:\/\/scontent-cdg2-1.xx.fbcdn.net\/v\/t1.15752-0\/p280x280\/70293635_1122921334574142_8218831722360340480_n.png?_nc_cat=102&_nc_oc=AQlq6K85q33SjBEkYx0QdI1ddgSCVMbqpuBoHUtkuF02M03crxU-DXybUgCj4X8PDYE7RN514JlCfCa-qd1nYcc5&_nc_ht=scontent-cdg2-1.xx&oh=bf1773ddf530d9b60accb1becd3551a0&oe=5DFAE7AC"},{"name":"Huilde d'olive 1L Carrefour","description":"Pour ceux qui mangent de la salade. (Oui \u00e7a existe)","quantity":"1","price":"4.70","code":"3560070941346","type":["12"],"image":"https:\/\/scontent-cdg2-1.xx.fbcdn.net\/v\/t1.15752-0\/p280x280\/69954573_466494994079374_5667273002782294016_n.png?_nc_cat=108&_nc_oc=AQl69-FXK9_euKubtxOGoTftNCEuK7niX7VL_al1K4EyvYFFpqm_2SeRbWTjtZCLqOHPXQ25qZPTVnOFgeqzxcPJ&_nc_ht=scontent-cdg2-1.xx&oh=08ebc20863ba9d14bb78eda1d6df03c5&oe=5E3B965D"},{"name":"Nuoc Mamn 125ml","description":"Pas de description","quantity":"0","price":"1.5","code":"3250390325062","type":["12"],"image":"https:\/\/static.openfoodfacts.org\/images\/products\/325\/039\/032\/5062\/front_fr.15.full.jpg"},{"name":"Gel douche Axe","description":"Une soir\u00e9e agit\u00e9e (PK de Saint-Valentin)? Un reveil difficile (C'est mieux quand tu sais o\u00f9 tu es)? Commence ta journ\u00e9e du bon pied avec ce gel douche \u00e9nergisant !","quantity":"1","price":"1.90","code":"40883069","type":["6"],"image":"https:\/\/scontent-cdg2-1.xx.fbcdn.net\/v\/t1.15752-0\/p280x280\/69888007_382631812663900_4508213809520836608_n.png?_nc_cat=103&_nc_oc=AQk5Elk0JQKVuMOhFPY1JGfue2-ok2dhOvdnVuXy_2VcGFP9EsfA21-iajVAm8T4w0Z3qD2Ilj57_FDT7ubLCEH6&_nc_ht=scontent-cdg2-1.xx&oh=31d95794d5742c8ff46a8115b239319c&oe=5E3CD020"},{"name":"Spray D\u00e9sinfectant Medisant\u00e9 100ml","description":"Pas de description","quantity":"1","price":"3.15","code":"3700552700584","type":["10"],"image":"https:\/\/scontent-cdg2-1.xx.fbcdn.net\/v\/t1.15752-0\/p280x280\/70499806_3165674463504308_6250823517730766848_n.png?_nc_cat=105&_nc_oc=AQlClBnd8e6Nhug7hmBZc_cpLM_5g7PVxjYmsdCGdynRK8RD5-LUgxLpGs3dyonhwRKPPxQQzEAV1u1eg4Wn4Wbl&_nc_ht=scontent-cdg2-1.xx&oh=986f87f99955fb822f6a55668367ad60&oe=5E099602"},{"name":"Pansements x100 LABELL","description":"Pas de description","quantity":"0","price":"0.7","code":"3250391521487","type":["10"],"image":"https:\/\/scontent-cdg2-1.xx.fbcdn.net\/v\/t1.15752-9\/70370046_459770431284959_3894954924181553152_n.png?_nc_cat=101&_nc_oc=AQmoUBwViVQQ8l_eQsU9VeV_yFzBkdPW_L65pykPauZ8MleC90KoS-WgDWduaVkGGmZuEPiAfVXqfruHr5mfsShQ&_nc_ht=scontent-cdg2-1.xx&oh=326996c2d447622a5106b887ac4e4201&oe=5E069E5E"},{"name":"Pansements x20 Carrefour","description":"Pas de description","quantity":"2","price":"1.4","code":"3245413125323","type":["10"],"image":"https:\/\/scontent-cdg2-1.xx.fbcdn.net\/v\/t1.15752-0\/p280x280\/70810454_475024820007697_5659550604339445760_n.png?_nc_cat=100&_nc_oc=AQn-gpm9euLZkq44i_LTzvD6yEnWSUXIFo_GN7oET-z0dKEm-Bkosv6iNnRFI1JZUCclgTQ7OC-D4_67QRzRcSta&_nc_ht=scontent-cdg2-1.xx&oh=600fd70856b43a6c43783649cbeef368&oe=5E3B1CE2"},{"name":"Haricots Verts Carrefour 200g","description":"Les conserves \u00e7a sauve","quantity":"3","price":"0.58","code":"3560070752157","type":["13"],"image":"https:\/\/scontent-cdg2-1.xx.fbcdn.net\/v\/t1.15752-9\/70987058_2405822546358021_3741916881418715136_n.png?_nc_cat=103&_nc_oc=AQl1vve2JKo7zB44aTsAkDYWBULg7HycDdAK8Bv7CALzHhCAWqo_4EJSCpaaDpFkqqN10SFAP_JZHXQ8w_u9eZqz&_nc_ht=scontent-cdg2-1.xx&oh=dbd95e8cf7ac49b51171bdd96817840e&oe=5E3AF244"},{"name":"Serviettes Hygi\u00e9niques Ultra Flex & Fit Always","description":"Pas de description","quantity":"1","price":"1.90","code":"4015400755210","type":["11"],"image":"https:\/\/scontent-cdg2-1.xx.fbcdn.net\/v\/t1.15752-0\/p280x280\/71050671_359899054885854_3718048700182822912_n.png?_nc_cat=101&_nc_oc=AQkO4ZXA0X03QZzJ_qNsfX6dDFoJN0FjCrG4QJpusRsXTz-F_pNONymlsH6z8VeRWuVpphqyz4RbEhJPGSmoJpNH&_nc_ht=scontent-cdg2-1.xx&oh=026184a564b57135fd4044e736c934e9&oe=5E3DA418"},{"name":"Liquide Vaisselle Carrefour 750ml","description":"Pas de description","quantity":"0","price":"1.05","code":"3560071108816","type":["9"],"image":"https:\/\/scontent-cdg2-1.xx.fbcdn.net\/v\/t1.15752-0\/p280x280\/70625335_612052215991290_8339248135595360256_n.png?_nc_cat=102&_nc_oc=AQltbmrtLj6yI9qnAr3UQk15mskvISQUQNj3GkdoWO3qBg59EJoEp-gaq8mSrkcW_bT4yf2z9M68Gxvjiu3w0aJl&_nc_ht=scontent-cdg2-1.xx&oh=cb44b2f5dc2d2301da22edb57d35f705&oe=5E3C5B90"},{"name":"Bloc-note","description":"Pas de description","quantity":"0","price":"2.50","code":"3256226383978","type":["4"],"image":"https:\/\/scontent-cdg2-1.xx.fbcdn.net\/v\/t1.15752-0\/p280x280\/70165433_496756294206308_1752412782084489216_n.png?_nc_cat=102&_nc_oc=AQkkCDE6ZmuLWX9H6p6Y9swPvTHxfpmnympB11vX1VMG7K1oXeXXEikZ3BWUwKyVUamAgDhLh1T2xnItk_xTdujm&_nc_ht=scontent-cdg2-1.xx&oh=fd143e1f0856444715fe0fcd6429e75c&oe=5E3C4647"},{"name":"Apr\u00e8s-rasage MENNEN Skin Bracer ","description":"SKIN BRACER ? Ca veut dire quoi? (Je suis pas hyper bon en anglais)","quantity":"1","price":"3.60","code":"3058320052015","type":["6"],"image":"https:\/\/scontent-cdg2-1.xx.fbcdn.net\/v\/t1.15752-0\/p280x280\/71205488_379463869365539_6098534044817948672_n.png?_nc_cat=111&_nc_oc=AQkU-h48r3kP1kOQoa5QWCUtDddT7Gn-Y9do-J4Oe-4ayN7JEEAuhaBSqeOYYxzspRcF8AogiABs_dOuM_5gNzwn&_nc_ht=scontent-cdg2-1.xx&oh=e608b8a4c040f963280e9705c228d4a8&oe=5DF2AF43"},{"name":"Serviettes Hygi\u00e9niques Ultra Night Femapure","description":"Pas de description","quantity":"4","price":"0.69","code":"8719497830886","type":["11"],"image":"https:\/\/scontent-cdg2-1.xx.fbcdn.net\/v\/t1.15752-0\/p280x280\/69953176_1347421022093612_1333017755435139072_n.png?_nc_cat=103&_nc_oc=AQkQKiXCVKnlEx8lPeaHnuac92tpUKJ7ThdyFg2DziQCeNLWj7QlwLNP_rJySbjtHhj0X-lNJv_ypxa8Mc8U9zi-&_nc_ht=scontent-cdg2-1.xx&oh=84ffbacdfc563790a21954a9457ad362&oe=5DF19B2A"},{"name":"Riz Saint Eloi 500g","description":"Peut occasionellement remplacer les p\u00e2tes mais s'accomode que tr\u00e8s peu avec le fromage r\u00e2p\u00e9...","quantity":"3","price":"1.10","code":"3250390257219","type":["2"],"image":"https:\/\/scontent-cdg2-1.xx.fbcdn.net\/v\/t1.15752-0\/p280x280\/70896931_2717172704992348_2457442345306554368_n.png?_nc_cat=107&_nc_oc=AQlcfT_hJrWeqUE9oeVOVnFN80SZufHyoLH66JGw423v9-xHq72RW9yib3cZHmysRC8iYanoXETc9hAPV9jjn6pE&_nc_ht=scontent-cdg2-1.xx&oh=b889499eb5c8775007cbe07ca5ab3727&oe=5DFC7EE5"},{"name":"Brosse \u00e0 dents Souple Colgate","description":"Utile le jeudi matin, surtout pour ton bin\u00f4me de TP","quantity":"1","price":"1.95","code":"8714789158716","type":["6"],"image":"https:\/\/scontent-cdg2-1.xx.fbcdn.net\/v\/t1.15752-0\/p280x280\/69923962_2375909602671450_6333988459836866560_n.png?_nc_cat=110&_nc_oc=AQkdSGA7xDwvzqj2cJS_rRvTuV2NLNuGYgQjV12XBKuol4QN-sOFqK6E0xjr4OMusapQZWIVLVDhnoX6oheRXqtH&_nc_ht=scontent-cdg2-1.xx&oh=cf3c076dd574777b735c89813e297f42&oe=5E02DC9B"},{"name":"Bolognaise 200g Carrefour","description":"Pour changer des p\u00e2tes au beurre","quantity":"2","price":"0.85","code":"3560070680016","type":["2"],"image":"https:\/\/scontent-cdg2-1.xx.fbcdn.net\/v\/t1.15752-0\/p280x280\/70694553_1701439599988856_7618290922379280384_n.png?_nc_cat=111&_nc_oc=AQnQO2Tz88JCkitG4vB6O9HCFxrApBijAjXJaozF6FcQvFTGgOVHNe5lyq_tsH-wvREOeKwjVp21ZWoCGTlqLjco&_nc_ht=scontent-cdg2-1.xx&oh=0f04f5d69a50e2b7a8b9246ec197cec1&oe=5DFD80CB"},{"name":"Cannelloni 250g Panzani","description":"Pas de description","quantity":"0","price":"2.80","code":"3038353020403","type":["2"],"image":"https:\/\/scontent-cdg2-1.xx.fbcdn.net\/v\/t1.15752-0\/p280x280\/69915914_381122396149283_2352678609669324800_n.png?_nc_cat=105&_nc_oc=AQn9BZv9tye_b2_FnGi2SY1F43Cxr--77DllgBN5nTfC66gspcpUGqId2wgr6PgDt6Sk_iF5wub9HY5sOLE8T1-z&_nc_ht=scontent-cdg2-1.xx&oh=28114ffaa4e0400f3ac743751f6985d7&oe=5DF1DC91"},{"name":"Coquillettes 1kg Carrefour","description":"Pas de description","quantity":"1","price":"0.85","code":"3560070328918","type":["2"],"image":"https:\/\/scontent-cdg2-1.xx.fbcdn.net\/v\/t1.15752-0\/p280x280\/70311244_1832331526912849_5146546834193252352_n.png?_nc_cat=108&_nc_oc=AQkxczfJ8C1_Oyy6YV3dMGuFLGLWiMSq_ZKEJXY0cjMaMrsdL0nf_NQp2sZdYsuUTbiiewo6ayd9wOU-6_hHpIwk&_nc_ht=scontent-cdg2-1.xx&oh=e7d13e9fc9e0a64de64c1bb41602c74a&oe=5DF0F41C"},{"name":"D\u00e9odorant Spray Ushua\u00efa Huilde d'Amandier et P\u00e9tales de N\u00e9roli","description":"Pas de description","quantity":"0","price":"2.00","code":"3600550362596","type":["6"],"image":"https:\/\/scontent-cdg2-1.xx.fbcdn.net\/v\/t1.15752-9\/69690236_394126867938481_8158406252674678784_n.png?_nc_cat=102&_nc_oc=AQnRVsDjJb92mCe0ZBJCVnzEQ8tcnDYVDB9QhK4s9P2VvrbdRgS9HmMI5kWIDrnL4yCsdyqklXMikLtQ12ME0qIY&_nc_ht=scontent-cdg2-1.xx&oh=4d612b1e0b807b03b3b4e83b432d5b7a&oe=5DF72B7F"},{"name":"Poivre moulu Carrefour","description":"P\u00e2tes au poivre?","quantity":"0","price":"0.70","code":"3560070762101","type":["12"],"image":"https:\/\/scontent-cdg2-1.xx.fbcdn.net\/v\/t1.15752-0\/p280x280\/70819563_422378898466469_1444205331923075072_n.png?_nc_cat=110&_nc_oc=AQkVHXTt0HAHeW_7eTJlxTgodhlBXx69IUs8JM7oqK9a6cjkkQJKIGIVF-2Z1md_8FiRxP_OI9e7aAMxRjRBMTfR&_nc_ht=scontent-cdg2-1.xx&oh=ca6e7e7fb9405abd4f9c55e1291eedd1&oe=5DF262FF"},{"name":"Haricots Rouges Carrefour 400g","description":"C'est la faim des Haricots #monop","quantity":"0","price":"0.65","code":"3245412621963","type":["13"],"image":"https:\/\/scontent-cdg2-1.xx.fbcdn.net\/v\/t1.15752-0\/p280x280\/70186417_502925737185664_932084151786405888_n.png?_nc_cat=105&_nc_oc=AQmysxFrqv75oDxBDhF8XaKbkWjMsjPcS8OXxCwIXvCO1rdXLfGxzjleDZxMCpw2iVgUrUaCDqw8rB1k-BGKy2VQ&_nc_ht=scontent-cdg2-1.xx&oh=febc9b0395eeb550fe1dec8713f0ce43&oe=5E0F88C2"},{"name":"Serviettes Hygi\u00e9niques Ultra Night Always","description":"Pas de description","quantity":"2","price":"2.10","code":"4015400755609","type":["11"],"image":"https:\/\/scontent-cdg2-1.xx.fbcdn.net\/v\/t1.15752-0\/p280x280\/71141756_688661678298475_8579392534642425856_n.png?_nc_cat=102&_nc_oc=AQkP_TLKsz05r6wgbljEGpiQ3o1o49d-s3iBjfZEOrTzU7vJWeAoSq2HZQOZpmGLjrRyJnF0Tfx8YSxy12WoWeF5&_nc_ht=scontent-cdg2-1.xx&oh=730e50a3ba8c18437cc2e83f4e39d40e&oe=5DF1C491"},{"name":"Tampax Radiant x16","description":"Pas de description","quantity":"1","price":"4.00","code":"8001090761286","type":["11"],"image":"https:\/\/scontent-cdg2-1.xx.fbcdn.net\/v\/t1.15752-9\/70021382_376295906374886_8253427555080601600_n.png?_nc_cat=105&_nc_oc=AQk_hm7_aLu_fsL_fJPWzjscGW6tDdnKyfzP5TxDCwmlEvoVGUx4N1Zu3OuaK0zVhGmGdfwHJJ1QgAYAS5DjLdKB&_nc_ht=scontent-cdg2-1.xx&oh=5a135d35a21365adcceef84de13eb0ab&oe=5E0CD03C"},{"name":"Sacs Poubelle 40 x 30L","description":"Pas de description","quantity":"0","price":"1.00","code":"3232766524033","type":["9"],"image":"https:\/\/scontent-cdg2-1.xx.fbcdn.net\/v\/t1.15752-0\/p280x280\/70307127_489026271660445_891010039504961536_n.png?_nc_cat=110&_nc_oc=AQltLWX5JFyWdByO0E3VV0WfoaXuaV7V8StL75LBVlUjCndbY3hyigp5cNsNd-yXBG_h5g6Pkly5aztXw4AoVOcX&_nc_ht=scontent-cdg2-1.xx&oh=389e18baa03e637528d97d945788e882&oe=5E0DEF42"},{"name":"Lessive Color Subliem 20 Lavages","description":"Pour laver ton linge. Pas plus pas moins.","quantity":"4","price":"2.92","code":"8712252700097","type":["6"],"image":"https:\/\/scontent-cdg2-1.xx.fbcdn.net\/v\/t1.15752-0\/p280x280\/70188853_500375217426111_2777405782382084096_n.png?_nc_cat=102&_nc_oc=AQme32QWHgm-kEIUy3mc0nF6oaTEd2kG-1znGoBEfUWqiDb8wVt0cvNAzH_U5nkjU2PusWsu2w5SRehGc8pT7PBj&_nc_ht=scontent-cdg2-1.xx&oh=8906ceb1fe52b64cfc8557a7eebdf478&oe=5DFEF1C2"},{"name":"Confiture Bonne Maman Framboise","description":"Elle vaut pas celle de ta mamie mais c'est d\u00e9j\u00e0 \u00e7a!","quantity":"1","price":"1.90","code":"3045320001570","type":["2"],"image":"https:\/\/scontent-cdg2-1.xx.fbcdn.net\/v\/t1.15752-0\/p280x280\/70304121_2345214182394722_6727062904694112256_n.png?_nc_cat=111&_nc_oc=AQnBLiGrTbzMdJqQFfpMgP7mnRFsie19n3RVQSvWDD7c7HA6ZVjBBaLjG_2AHaQ1XRkh7GS6VrlXy5jpi4KUajso&_nc_ht=scontent-cdg2-1.xx&oh=d5d68d83255cf59dd6d66ca911d99b1b&oe=5E0C05EB"},{"name":"Solution Micellaire Tout en 1 Peaux Sensibles Garnier 100ml","description":"Pas de description","quantity":"0","price":"2.20","code":"3600542081238","type":["6"],"image":"https:\/\/scontent-cdg2-1.xx.fbcdn.net\/v\/t1.15752-0\/p280x280\/70592242_1036422949893897_4777746329017253888_n.png?_nc_cat=105&_nc_oc=AQnrpX-Mr2MmpHuExefSLOWXER-ceAP0JsoXLl0lptAv-LL2rS9o0JwnrYxKKNw4EMARv6BSEs4ON0j4VPeynnIv&_nc_ht=scontent-cdg2-1.xx&oh=f1866fbfe948d57e9900add1284ef762&oe=5E09EFF9"},{"name":"Coquilletes 3mn 500g Panzani","description":"Pas de description","quantity":"0","price":"0.90","code":"3038350333001","type":["2"],"image":"https:\/\/scontent-cdg2-1.xx.fbcdn.net\/v\/t1.15752-0\/p280x280\/70422111_391065181558392_7074513385139732480_n.png?_nc_cat=106&_nc_oc=AQmZ4NAsWp3FJgRSHaRsuWpTqNNZPWUo1Mq4MrVlBdVfd8VTp0E64kmVfcFXvY4R2tLrOUspMYaerCtfuDFCbLRC&_nc_ht=scontent-cdg2-1.xx&oh=ede52dd143e7e35a9d03ff560f49bb74&oe=5DF0A571"},{"name":"Serviettes hygi\u00e9niques","description":"10 serviettes hygi\u00e9niques","quantity":"3","price":"0.70","code":"8719497830909","type":["11"],"image":"https:\/\/scontent-cdt1-1.xx.fbcdn.net\/v\/t1.15752-0\/p480x480\/71117462_2369208839781128_6964336169643409408_n.png?_nc_cat=107&_nc_oc=AQm4jahHYqjiInD9NxzxY79E-vAdGZ8VnDcgtDHn61kMe9u3k_hwob6J_ncccRpKleQzbXnWDQNh5EUSOudKD_My&_nc_ht=scontent-cdt1-1.xx&oh=075d32ce208aeabf89ff8e8a95aa3cc4&oe=5E0549C4"},{"name":"Sardines","description":"Sardines \u00e0 l'huile d'olive vierge","quantity":"0","price":"0.85","code":"20703622","type":["13"],"image":"https:\/\/scontent-cdt1-1.xx.fbcdn.net\/v\/t1.15752-0\/p480x480\/70394255_1389598324531561_2999134160527818752_n.png?_nc_cat=109&_nc_oc=AQkVVXw-e1aSJK9uq5QrpKNE_sVURI1xEjMQkMZJH3YChbSfCHmW1NIvTG4Yr3b7CuUYHapv2tcpO467ii_aIH2a&_nc_ht=scontent-cdt1-1.xx&oh=a1d386fb37549c81709d78a75618cbd3&oe=5E003A79"},{"name":"Lingettes d\u00e9maquillantes","description":"Demak Up 20 lingettes","quantity":"1","price":"2.45","code":"7322540813180","type":["6"],"image":"https:\/\/scontent-cdt1-1.xx.fbcdn.net\/v\/t1.15752-9\/70873677_406246210080471_3946528917241724928_n.png?_nc_cat=107&_nc_oc=AQlNfUDAAdBRPZQr1YGGxZ9M12Wyi9N-9HMb5LRy1DcUQQDh2WXNlKC7ezDyNvsSGBBmIjgDxI9zPM1E623Xblu6&_nc_ht=scontent-cdt1-1.xx&oh=6f84b810c6878ef5a524f0fdcb2c10d5&oe=5DEF2AA8"},{"name":"Dash Pods 3 en1","description":"Vendus \u00e0 l'unit\u00e9, moins chers que les doses lessive de la laverie","quantity":"30","price":"0.50","code":"8001090653598","type":["1","7"],"image":"https:\/\/scontent-cdg2-1.xx.fbcdn.net\/v\/t1.15752-0\/p280x280\/70752303_377253092971038_7732262612632600576_n.png?_nc_cat=104&_nc_oc=AQlqsBAB3ca_hgVSwJRBCz_HY2QVcHFJUA8zzkghKrBODJjAT6LzimyArJBUKIvThAA&_nc_ht=scontent-cdg2-1.xx&oh=7e1c6456bd60a99e67b254bed03410b1&oe=5DF09C6C"},{"name":"Haricots verts tr\u00e8s fins 440g","description":"Un haricot, deux haricots, trois haricots, \u00e0 toi!","quantity":"2","price":"0.90","code":"3560070323098","type":["2"],"image":"https:\/\/scontent-cdg2-1.xx.fbcdn.net\/v\/t1.15752-0\/p280x280\/71051928_421379488736145_5287444666562641920_n.png?_nc_cat=110&_nc_oc=AQm4qLfE1TWyC4khKZvrTecsSdiQ1ikKgC9SW-o6ienGLJLG9Buzg0qgqmcfQOlZKCs&_nc_ht=scontent-cdg2-1.xx&oh=2270136d5184e782cd5f9b1de39db7ff&oe=5E08B8ED"},{"name":"Classeur","description":"Classeur A4, 2 anneaux","quantity":"4","price":"2.00","code":"8712417730112","type":["4"],"image":"https:\/\/scontent-cdg2-1.xx.fbcdn.net\/v\/t1.15752-0\/p280x280\/70576890_1405281499609535_1184047424658735104_n.png?_nc_cat=108&_nc_oc=AQn_0Bfj39tkjN9Jag8WJlgBlVJwd8w21Hh9-kqdO5Ns6i6OeQNld7OMbInHRoK2UKA&_nc_ht=scontent-cdg2-1.xx&oh=8101b8dab7e0963da8786c3069151ddb&oe=5DF0F3B7"},{"name":"Surligneur","description":"Fluo comme le gilet","quantity":"2","price":"0.85","code":"3614610835777","type":["4"],"image":"https:\/\/scontent-cdg2-1.xx.fbcdn.net\/v\/t1.15752-9\/70403012_2347164058946328_7334664424751366144_n.png?_nc_cat=103&_nc_oc=AQlO3RGamP7JUyJNLVDGvbv1z3IpJFeVMSkqaOgTCqejv6QwIR0qShe4inEwdDRWXLo&_nc_ht=scontent-cdg2-1.xx&oh=1a416c0debc155146d27ec35e11595a1&oe=5E089CE5"},{"name":"Intercalaires carton","description":"10 intercalaires en carton","quantity":"4","price":"2.00","code":"8718247585953","type":["4"],"image":"https:\/\/scontent-cdg2-1.xx.fbcdn.net\/v\/t1.15752-0\/p280x280\/70905721_376154306648138_1933229187259170816_n.png?_nc_cat=103&_nc_oc=AQnvFriep7h97U5Usi7KDG8vYKuc1K5Bb17Wia2vbmrmEUnPyJoLfsfEqCIUm0H03E0&_nc_ht=scontent-cdg2-1.xx&oh=4a3cea9f28bf543d4a6461b5545d17d4&oe=5E03DF1E"},{"name":"Fiches Bristol","description":"50 fiches Bristol perfor\u00e9es","quantity":"1","price":"1.95","code":"3037927416802","type":["4"],"image":"https:\/\/scontent-cdg2-1.xx.fbcdn.net\/v\/t1.15752-0\/p280x280\/70381679_533632897410340_2016438114125348864_n.png?_nc_cat=111&_nc_oc=AQndZTZ2nOOOhMUOkunr3S53nhEK2cbs1xHYxzv64rCF68Y6lPVWkOTSzajrbzETwnA&_nc_ht=scontent-cdg2-1.xx&oh=ddffd39297f5838030d422fb9ceb59eb&oe=5E3C42AF"},{"name":"Crayons de couleur","description":"12 crayons de couleur pour les jolis dessins","quantity":"2","price":"3.00","code":"3606605639491","type":["4"],"image":"https:\/\/scontent-cdg2-1.xx.fbcdn.net\/v\/t1.15752-0\/p280x280\/71147871_530489021128203_2351564864519929856_n.png?_nc_cat=109&_nc_oc=AQmUhoyF49BHl5bbT70gP5hFSCOTyapgLc6BOYvfgXR0VAiLZAF6KRgQfeK1l7NUL-o&_nc_ht=scontent-cdg2-1.xx&oh=5182a1620f11641cf1f8034184847c86&oe=5DF060BD"},{"name":"Feuilles simples","description":"Simples et grands carreaux, 400 feuilles","quantity":"1","price":"3.10","code":"3270190338673","type":["4"],"image":"https:\/\/scontent-cdg2-1.xx.fbcdn.net\/v\/t1.15752-0\/p280x280\/70066252_624765554596084_6396303354355515392_n.png?_nc_cat=106&_nc_oc=AQkV1ipbR3alIBQsknWo-Pi2UIIS845pQ750-imaemiccgYbO8aFTCf4yWgZZwBSFNU&_nc_ht=scontent-cdg2-1.xx&oh=5100198e836806f9380eafc885586792&oe=5DF273CC"},{"name":"Papier millim\u00e9tr\u00e9 A4","description":"12 feuilles de papier millim\u00e9tr\u00e9","quantity":"4","price":"3.00","code":"3608142034340","type":["4"],"image":"https:\/\/scontent-cdg2-1.xx.fbcdn.net\/v\/t1.15752-9\/70825559_382699979011623_895980137005187072_n.png?_nc_cat=101&_nc_oc=AQlz6a7jRP3HnSSbeFMyALmVB7n0gEROZrncvc37zuRG1TnowAqHPRjz9nspsgPHwfw&_nc_ht=scontent-cdg2-1.xx&oh=5e561fd7667a9b1d063a9c77d0aec195&oe=5DFF8B8B"},{"name":"Pochettes plastiques","description":"200 pochettes perfor\u00e9es A4","quantity":"1","price":"2.55","code":"3614614776960","type":["4"],"image":"https:\/\/scontent-cdg2-1.xx.fbcdn.net\/v\/t1.15752-0\/p280x280\/70268841_2482127661857123_566998376709619712_n.png?_nc_cat=102&_nc_oc=AQm0NK56iXtVaPpGljMHI8bpw8B_Uu8j3Vk6E-qFQTDVpAnSz8UhCBp4_t9OvAxpYZs&_nc_ht=scontent-cdg2-1.xx&oh=e1aba4d2f520fba3fff5991b5686c061&oe=5E3C98C3"},{"name":"Surligneurs","description":"6 surligneurs fluo","quantity":"1","price":"1.00","code":"8718247583447","type":["4"],"image":"https:\/\/scontent-cdg2-1.xx.fbcdn.net\/v\/t1.15752-0\/p280x280\/70619330_558190128053255_6080458846751424512_n.png?_nc_cat=110&_nc_oc=AQmuIrFLiSRSt0ynkOZMYHDscvwzgGGkD3asxtCeWLYNyLLa6Xregs6KpcODA3GSrhk&_nc_ht=scontent-cdg2-1.xx&oh=b21c0cd998bc720fa7275557de48322d&oe=5E3936C6"},{"name":"Feuilles simples","description":"500 feuilles grands carreaux","quantity":"1","price":"3.95","code":"3613866534335","type":["4"],"image":"https:\/\/scontent-cdg2-1.xx.fbcdn.net\/v\/t1.15752-9\/70883718_600972500674046_4881058550392029184_n.png?_nc_cat=106&_nc_oc=AQmOmq7Qd_hYMKq1yrFMgqhLy5VcJtzsi5K0G-9zD_dmpVyc3kAJxhbpyguihSbBk2M&_nc_ht=scontent-cdg2-1.xx&oh=c30a44d89e1966cc442e3648dbaf2590&oe=5E09AEB6"},{"name":"Papier calque","description":"Papier calque avec pastilles adh\u00e9sives, 12 feuilles","quantity":"4","price":"5.00","code":"3148950065650","type":["4"],"image":"https:\/\/scontent-cdg2-1.xx.fbcdn.net\/v\/t1.15752-9\/70236003_933438237034324_7858574761834577920_n.png?_nc_cat=104&_nc_oc=AQl9P7WBhWa0R5K75_QUmf7haDxOVCoIB3H9jPxWdCRfKi0y47aQ6Wi9BbLHTuwPFuU&_nc_ht=scontent-cdg2-1.xx&oh=ab6639daa0b8273b7f451b0de555d2c0&oe=5E030FEB"},{"name":"Patafix","description":"Patafix","quantity":"1","price":"1.00","code":"8710439260365","type":["4"],"image":"https:\/\/scontent-cdg2-1.xx.fbcdn.net\/v\/t1.15752-0\/p280x280\/70233399_791740797911053_4293077626353876992_n.png?_nc_cat=101&_nc_oc=AQkMXHuMTKYJqdWbbgk9NKfxHcVFa2CyMYpwpbMun06AJEGli8h6R3yFKV1nQ74mGl0&_nc_ht=scontent-cdg2-1.xx&oh=79197460749a4d6d7b12c792ac5ad4e9&oe=5DF86810"},{"name":"R\u00e8gle","description":"Mapped 30cm flexible","quantity":"1","price":"1.00","code":"3154140279004","type":["4"],"image":"https:\/\/scontent-cdg2-1.xx.fbcdn.net\/v\/t1.15752-0\/p280x280\/70556162_2684014548326908_2917352966690177024_n.png?_nc_cat=105&_nc_oc=AQlvabBOcgQYEKtinqLbSxAGl7RUhuM8NO6X6WxHuA9j_KGV1tRjv2BMdX-UolosWdo&_nc_ht=scontent-cdg2-1.xx&oh=308aef4a6977a6e988d3904e3a97d516&oe=5E3DD780"},{"name":"Paquet de cartouches d'encre","description":"30 cartouches d'encre bleu","quantity":"2","price":"0.40","code":"3609230992863","type":["4"],"image":"https:\/\/scontent-cdg2-1.xx.fbcdn.net\/v\/t1.15752-0\/p280x280\/70890516_1195470213956999_8541389989697552384_n.png?_nc_cat=108&_nc_oc=AQmCEq_xJGhwnhqJ_3Aa-HnlB61Zqq9i4OGIFxRf9piB-rT74ZVeBwSBsddothxQx0I&_nc_ht=scontent-cdg2-1.xx&oh=223f4809c52e5ff45d9d1c069f6ee039&oe=5DF24A1F"},{"name":"N\u0153ud Papillon","description":"Motif de noeuds papillons","quantity":"1","price":"8.00","code":"0","type":["14"],"image":"https:\/\/scontent.xx.fbcdn.net\/v\/t1.15752-9\/71469980_2618208984904220_4163403694580170752_n.jpg?_nc_cat=102&_nc_oc=AQlnOeH7sRF1FfNgUxiWnKdgDFYf292ckTaeDrfm1OYewxcv5fhKmsgENg7oibJfz7U&_nc_ad=z-m&_nc_cid=0&_nc_zor=9&_nc_ht=scontent.xx&oh=0c28b4497a3ce15f9186753059473276&oe=5E2C57B2"},{"name":"N\u0153ud Papillon","description":"Motifs gris","quantity":"1","price":"8.00","code":"00","type":["14"],"image":"https:\/\/scontent.xx.fbcdn.net\/v\/t1.15752-0\/p480x480\/71300154_369430180665141_5140713753209208832_n.jpg?_nc_cat=108&_nc_oc=AQn_neJRMTC5jabnc9grRUffLZ3RNjVNMhq3fVMYoR0hHm09VBc-NgX-OYkikhdqsS8&_nc_ad=z-m&_nc_cid=0&_nc_zor=9&_nc_ht=scontent.xx&oh=c30bbba16063d48f862860ab7db6e07c&oe=5E2A63AF"},{"name":"N\u0153ud papillon","description":"Motif rose","quantity":"1","price":"8.00","code":"000","type":["14"],"image":"https:\/\/scontent.xx.fbcdn.net\/v\/t1.15752-9\/70956505_1297454810430309_1195878255672950784_n.jpg?_nc_cat=103&_nc_oc=AQkLXPHzT4ttKu5rn2UX9XZQCcX6-onNuSdbhhtE763t-yIfGa1eNVjF1uWOHbb7GuY&_nc_ad=z-m&_nc_cid=0&_nc_zor=9&_nc_ht=scontent.xx&oh=82e55dfda5ace532926cd3da03a74b73&oe=5E34952F"},{"name":"N\u0153ud papillon ","description":"Motif \u00e0 fleurs","quantity":"1","price":"8.00","code":"0001","type":["14"],"image":"https:\/\/scontent.xx.fbcdn.net\/v\/t1.15752-0\/p480x480\/70583213_875302516173190_759219672401838080_n.jpg?_nc_cat=105&_nc_oc=AQngfY24ae4-zkpGgpNW1ZUIbppX_axW7uIM-k50DktDbXwNRWedKEv8ec-klvf9Y90&_nc_ad=z-m&_nc_cid=0&_nc_zor=9&_nc_ht=scontent.xx&oh=47bb050ccc8332c7873f3dd5c4eea1e4&oe=5E2C9797"},{"name":"Noeud papillon","description":"motif \u00e0 fleurs","quantity":"1","price":"8.00","code":"012002","type":["14"],"image":"https:\/\/scontent.xx.fbcdn.net\/v\/t1.15752-9\/70766344_398535074392800_1031143109997625344_n.jpg?_nc_cat=100&_nc_oc=AQnZ7AS60uAbXnz46rvEASksglhz-SjKryYs2XRqCqo-nUTTu7uZt5VZ_2VhRrjYw5Q&_nc_ad=z-m&_nc_cid=0&_nc_zor=9&_nc_ht=scontent.xx&oh=146928d6443e9154054109e576286e92&oe=5DF899D8"},{"name":"N\u0153ud papillon","description":"Motif attrape-r\u00eaves","quantity":"1","price":"8.00","code":"5737","type":["14"],"image":"https:\/\/scontent.xx.fbcdn.net\/v\/t1.15752-9\/71061503_404050457197448_8541212899606003712_n.jpg?_nc_cat=106&_nc_oc=AQnPWqo4jEPBeKFN15InxD8VzCOWte7ygN8NmAYNuD8TI34ChCEtb9Uhj9nK7rlm4jI&_nc_ad=z-m&_nc_cid=0&_nc_zor=9&_nc_ht=scontent.xx&oh=a9c6620be4675fcf28849613cf1fe393&oe=5E007A80"},{"name":"N\u0153ud papillon","description":"Motif \u00e0 fleurs jaunes","quantity":"1","price":"8.00","code":"837","type":["14"],"image":"https:\/\/scontent.xx.fbcdn.net\/v\/t1.15752-9\/71641656_2281456965315760_6082270691590144000_n.jpg?_nc_cat=104&_nc_oc=AQmLw9wjFoRJUztpmHknwTh3D7Itnojd8AAb1GZvsJ-XZ6jCN878-aL6kA41vpibZDk&_nc_ad=z-m&_nc_cid=0&_nc_zor=9&_nc_ht=scontent.xx&oh=2a3c4e69895417e8226e926cb590ee8c&oe=5E33FC3B"},{"name":"Pesto Barilla","description":"Pour changer de la bolo","quantity":"3","price":"2.00","code":"8076809513753","type":["9"],"image":"https:\/\/scontent-cdt1-1.xx.fbcdn.net\/v\/t1.15752-0\/p480x480\/71552044_496700377728928_2572570129086808064_n.png?_nc_cat=109&_nc_oc=AQnBUMqTNERhMZj2-x-bTYYJq-CWFl9aTdzUa7lWcIeSxxEd3zgmWfJXdI9NOMHIy6EhzarITv1Rb_xq_88mkhkg&_nc_ht=scontent-cdt1-1.xx&oh=587b36b69737d7ecf1ecffa2dca5037e&oe=5DF94BBF"},{"name":"Poivre noir","description":"Poivre noir en moulin","quantity":"1","price":"3.40","code":"3596710310227","type":["12"],"image":"https:\/\/scontent-cdt1-1.xx.fbcdn.net\/v\/t1.15752-9\/70317287_663540247499694_6982229669118476288_n.png?_nc_cat=103&_nc_oc=AQnvh3gF8zOo8J6vZqIrGj-DuWVN6I0Qtyd5sDtqcKPHNLBZKfDRGQ7OIgihCPNCFjulUx0LyuX2vzKTFvemnze5&_nc_ht=scontent-cdt1-1.xx&oh=8414f01f02fea613b53be33bc415d50c&oe=5E0937FD"},{"name":"Sirop grenadine carrefour","description":"Garde la grenadine!","quantity":"2","price":"1.60","code":"3270190005100","type":["3"],"image":"https:\/\/scontent-cdg2-1.xx.fbcdn.net\/v\/t1.15752-0\/p280x280\/71103414_2590486270974225_7110338729557884928_n.png?_nc_cat=111&_nc_oc=AQlayKUvlIsLxhq4TJFFQSSYfdcFkS5pAmL47xFhNHWCY10TuWUXNvO1IxgYOHdOh8g&_nc_ht=scontent-cdg2-1.xx&oh=0172fde36605f3a1b54082ede83f3f53&oe=5E39FA30"},{"name":"25 Gobelets en plastique","description":"Inutile car vous aurez toujours vos \u00e9co-cups avec vous","quantity":"1","price":"0.95","code":"8008650238257","type":["3"],"image":"https:\/\/scontent-cdg2-1.xx.fbcdn.net\/v\/t1.15752-0\/p280x280\/71083497_1254072434765878_1307592940612222976_n.png?_nc_cat=105&_nc_oc=AQl6WamZZDIHlBgaQCpVtZF7rHeRmAKfQw4WOu37hovMCwWzU3kcCF1uRVyIuAS4X-Y&_nc_ht=scontent-cdg2-1.xx&oh=03cb0ceae633e8112b253f445ec2e74f&oe=5DFCA330"},{"name":"Bo\u00eete de haribo","description":"Haribo Tirlibibi","quantity":"1","price":"4.80","code":"3103220009901","type":["15"],"image":"https:\/\/scontent-cdt1-1.xx.fbcdn.net\/v\/t1.15752-9\/70702407_500543887189811_3547806560325468160_n.png?_nc_cat=107&_nc_oc=AQmYRhn6GqNN3NKjC-yXETTawt54y9Bf3lwWg4GX1KfsiuwTaFpsVj7yqccmj4WR9Y-eRScZhY3xqvneeqtAjxAW&_nc_ht=scontent-cdt1-1.xx&oh=94638988ac9445ff7ceacccbc21cf154&oe=5E2DB282"},{"name":"Quatre quarts","description":"3 quarts de beurre","quantity":"2","price":"2.25","code":"3245412457128","type":["16"],"image":"https:\/\/scontent-cdt1-1.xx.fbcdn.net\/v\/t1.15752-0\/p480x480\/71086291_380989209512942_976163499929501696_n.png?_nc_cat=105&_nc_oc=AQlr57QUEj4Wx2WNXhgDG5q8i0O_WHZ_XvXzhvCBrD_NEBsPsl_INsaVcYKglno3gcohxN-wamsJfVGgBOElQD0o&_nc_ht=scontent-cdt1-1.xx&oh=11d7de9db090064f3b32544769d4bc80&oe=5DF16406"},{"name":"Cookies chocolat","description":"12 cookies","quantity":"1","price":"0.90","code":"3560070048786","type":["16"],"image":"https:\/\/scontent-cdt1-1.xx.fbcdn.net\/v\/t1.15752-0\/p480x480\/70847279_2480470798740144_8999684414887690240_n.png?_nc_cat=107&_nc_oc=AQk-ayau5tieV23z523ahqnENjRwhMP9MIaCUHjlMlCWLzqUWmHjD1AzSfUPK_1q89DdfoRbB5EmIkLob3OaS5zd&_nc_ht=scontent-cdt1-1.xx&oh=eac752e3b90b28d4e8f94d335621034a&oe=5E0239CE"},{"name":"Cookies Choco-Nougat","description":"12 cookies","quantity":"2","price":"0.75","code":"3560070048816","type":["16"],"image":"https:\/\/scontent-cdt1-1.xx.fbcdn.net\/v\/t1.15752-0\/p480x480\/70869188_455005848557303_989396581931286528_n.png?_nc_cat=106&_nc_oc=AQmQz_2T0aQh_pO1o2SuUQs19YRNHIWA8SJcy45ZpVK_zBNPPsCPm6dTpdjUZiLcHKqvpswXS_o-Vmo6ieJn3HDu&_nc_ht=scontent-cdt1-1.xx&oh=6ac29991f9b190064a2d59a2f26e8b04&oe=5DF4ACDE"},{"name":"Dentifrice","description":"Signal protection","quantity":"2","price":"1.3","code":"8717163247983","type":["6"],"image":"https:\/\/scontent-cdt1-1.xx.fbcdn.net\/v\/t1.15752-9\/71237128_393196674704665_6782401939100401664_n.png?_nc_cat=105&_nc_oc=AQmxar0CbtzHudkoPmCWpKsvMIK6kiI_49Q_Dq6SlAAfXT7xezIscIDidA-jLTgH2IzCTcoRJfmkWSb1tYjvggkk&_nc_ht=scontent-cdt1-1.xx&oh=0dbd78668ae77d2a0e31c53802828df5&oe=5E04BB93"},{"name":"Lardons","description":"200g de lardons","quantity":"1","price":"1","code":"3560070536641","type":["2"],"image":"https:\/\/scontent-cdt1-1.xx.fbcdn.net\/v\/t1.15752-0\/p480x480\/70428534_582337852302175_4877787589198741504_n.png?_nc_cat=111&_nc_oc=AQmWRXoyENzLbj4NVUdO8WS-4_XOGpq9bc7pzQUlFCOkeGbr6yUVmGHu1n7oEavewudq2XTsP890jJZvU8GFx9CD&_nc_ht=scontent-cdt1-1.xx&oh=dba68f40856b1d628a4f61029240b16a&oe=5E355F42"},{"name":"Fressssh","description":"Fressssssssssh senteur rose","quantity":"3","price":"0.80","code":"8717496474520","type":["6"],"image":"https:\/\/scontent-cdg2-1.xx.fbcdn.net\/v\/t1.15752-0\/p280x280\/70721733_699375893873157_1200910295191519232_n.png?_nc_cat=108&_nc_oc=AQnYXLyyFdmzGqWfWIXNgoPngHxcYQGGDLJ1B4EbO89qNVd0ZtfHq6JQJXJfHfQhfoaJVnDhrRM4jh4XvYj_liBb&_nc_ht=scontent-cdg2-1.xx&oh=eb360e11130ca4697c4bb69b84a105c0&oe=5DF7AD25"},{"name":"Fressssh Air Freshener Lavender Fragence","description":"Pas de description","quantity":"2","price":"0.79","code":"8717496474513","type":["6"],"image":"https:\/\/scontent-cdg2-1.xx.fbcdn.net\/v\/t1.15752-0\/p280x280\/70721733_699375893873157_1200910295191519232_n.png?_nc_cat=108&_nc_oc=AQnYXLyyFdmzGqWfWIXNgoPngHxcYQGGDLJ1B4EbO89qNVd0ZtfHq6JQJXJfHfQhfoaJVnDhrRM4jh4XvYj_liBb&_nc_ht=scontent-cdg2-1.xx&oh=eb360e11130ca4697c4bb69b84a105c0&oe=5DF7AD25"},{"name":"Ultra Liquide Vaisselle Carrefour 500ml","description":"Si ton \u00e9vier est aussi plein que celui de l'amicale, \u00e7a te sera utile.","quantity":"1","price":"1.35","code":"3560071011697","type":["9"],"image":"https:\/\/scontent-cdg2-1.xx.fbcdn.net\/v\/t1.15752-0\/p280x280\/70154273_443972676241273_1961288397582499840_n.png?_nc_cat=101&_nc_oc=AQlpWT9eM2MkKi1fkbqLVe16Zw-KNAbFOlL5Ao4moTc9aDyoC_AyCBSnRBhfGPLvp8dUUE0ESKJE8Ue_m5DIbHxw&_nc_ht=scontent-cdg2-1.xx&oh=ba061a4eb4e6809cb24d610767259bdd&oe=5DF45AD1"},{"name":"Pr\u00e9servatifs Durex","description":"Classic Jeans *9","quantity":"1","price":"5.95","code":"3059948001935","type":["6","7"],"image":"https:\/\/scontent-cdt1-1.xx.fbcdn.net\/v\/t1.15752-0\/p480x480\/71381594_446026596009530_8218898955778392064_n.png?_nc_cat=104&_nc_oc=AQnkZkkd9kVFQqvhIdupG2g6-sWJo4jRoSdagA0f-EndA5kpwCiMPnze7AG9kUe4f4QsunWcZr8NpFl_8WkeicCT&_nc_ht=scontent-cdt1-1.xx&oh=f11eaf98970d7eb7ef456354d9b34d4f&oe=5E3AE34D"},{"name":"Mousse \u00e0 raser","description":"\u00e0 ne pas confondre avec la moussaka (Esteban @_ispex pour la blague)","quantity":"3","price":"1.00","code":"3250391282777","type":["6"],"image":"https:\/\/scontent-cdt1-1.xx.fbcdn.net\/v\/t1.15752-9\/71592773_380229436227913_5999728992188366848_n.png?_nc_cat=102&_nc_oc=AQlFfnDMJcczqEvNmW_YwatvlqxY3pdJbA75O2D4fL5jVhlP4IgIs1c6rEUYWyFCs1mH3QIs2oCdV9OiSsqkzLd0&_nc_ht=scontent-cdt1-1.xx&oh=765ab049881a35301e81d5aab6e297b1&oe=5E01BE79"},{"name":"Mouchoirs","description":"Mouchoirs confort bo\u00eete de 110","quantity":"2","price":"1.00","code":"3560070139675","type":["6"],"image":"https:\/\/scontent-cdt1-1.xx.fbcdn.net\/v\/t1.15752-9\/70439475_486520348869514_6913661727418613760_n.png?_nc_cat=101&_nc_oc=AQmR2mXXhsZs0K10yfKAvB0BviNQY-5k-xMvAhzvpXL0yfmBIzCiKJyDVPmsmB0EXtbjm91M7ejzpecY3nz8-PvS&_nc_ht=scontent-cdt1-1.xx&oh=05aa94ad6050b47cb00cf85480399c8c&oe=5E08A385"},{"name":"Princes","description":"En vrai des princes il n'y en a pas que dans les rayons du Proximo, il y en a aussi derri\u00e8re la caisse. (Thomas Alinier en est la preuve vivante...)","quantity":"49","price":"1.15","code":"7622210449283","type":["8","16"],"image":"https:\/\/scontent-cdg2-1.xx.fbcdn.net\/v\/t1.15752-0\/p280x280\/70404617_775241022908709_3032239416258068480_n.png?_nc_cat=107&_nc_oc=AQn9RXluiInfe3Tyz4RHphq2A32b2d3S6m8teaoi4TvklvltelZxYrWMeCdcqDQUg8TyKM_V3idaeKs1UbvMtlrY&_nc_ht=scontent-cdg2-1.xx&oh=95205b97e1c3fa72029defa1d59176a2&oe=5DF43E47"},{"name":"Mousline 195g","description":"Quand je fais de la pur\u00e9e Mousline","quantity":"1","price":"1.95","code":"7613035128859","type":["2"],"image":"https:\/\/scontent-cdg2-1.xx.fbcdn.net\/v\/t1.15752-0\/p280x280\/70011790_1365954190228894_6069239876778196992_n.png?_nc_cat=105&_nc_oc=AQlG4Njs-gJGXOlE1yvOJN_0Qni3DqNLHVDh_cSQd0ZFb3SUGb9AJdv-MxqbRyvItiiarXHZSVmJqiYWxa7sl1e1&_nc_ht=scontent-cdg2-1.xx&oh=dbb90911074f0fb061648d507c483705&oe=5E0F5F03"},{"name":"Petits Pois extra fins Carrefour 400g","description":"T'es dispo pour un petit vert? #monop","quantity":"2","price":"0.70","code":"3560070320288","type":["13"],"image":"https:\/\/scontent-cdg2-1.xx.fbcdn.net\/v\/t1.15752-0\/p280x280\/70793699_658488034674559_1658434164594049024_n.png?_nc_cat=109&_nc_oc=AQnKZgftQ9S7EW0c0c_aCYw5-vLiJCLuXj_0KKXd6IUJiPfpM-Y43M4UKx97V9FTb9GiiG3MaZlWgSwByKGoz24l&_nc_ht=scontent-cdg2-1.xx&oh=f8561c075fe4b7ce45bc3f20fe063a31&oe=5E3BE697"},{"name":"Raviolis Bolognaise","description":"Si c'est vraiment la d\u00e8che","quantity":"4","price":"1.50","code":"3270190176978","type":["13"],"image":"https:\/\/scontent-cdt1-1.xx.fbcdn.net\/v\/t1.15752-9\/70466340_2511818069100153_2063587388927508480_n.png?_nc_cat=106&_nc_oc=AQmmXGeV0e3BJgKt1xRA7G1Jv6oVZHhzZ5Y5NNNZwiASZgmdwUVGdhDlLylD1bHzR8KYkrM2P952gcwkOglxuhDf&_nc_ht=scontent-cdt1-1.xx&oh=2e819fbf0d52d95148d41ceb987085b7&oe=5DF6C8D9"},{"name":"Sauce Bolognaise","description":"On fait des p\u00e2tes bolo et on se sent cuisto","quantity":"2","price":"1.20","code":"3560070530021","type":["13"],"image":"https:\/\/scontent-cdg2-1.xx.fbcdn.net\/v\/t1.15752-0\/p280x280\/71151121_2431074683882403_284547793882710016_n.png?_nc_cat=109&_nc_oc=AQluyGfN7uqIHI27NuaqSjxYk0HL5azo5dLvuv2diUQrPnvEqqvzgdQelpnyvWwqC34&_nc_ht=scontent-cdg2-1.xx&oh=d28b9a468ea7427201efb61cbf69aec4&oe=5E301303"},{"name":"Vinaigre balsamique 500cl Auchan","description":"Pas de description","quantity":"1","price":"2.59","code":"3254565065487","type":["12"],"image":"https:\/\/scontent-cdg2-1.xx.fbcdn.net\/v\/t1.15752-9\/70994414_661762824233347_7841831742364188672_n.png?_nc_cat=104&_nc_oc=AQk_LvyONlIQi9pDxyiOwNU8q-gfD0rhgdFhf0wouGuLCmNy8ZDVMSHyNuhg6u6WLkhogogHNJqifVlBw50g0bQs&_nc_ht=scontent-cdg2-1.xx&oh=bd4d6366d39fa0fa206f234e87ef08b4&oe=5DFDA144"},{"name":"Coca-Cola","description":"Pour les gaziffffs","quantity":"12","price":"1.45","code":"5449000267412","type":["3"],"image":"https:\/\/scontent-cdg2-1.xx.fbcdn.net\/v\/t1.15752-0\/p280x280\/70906422_550466465761163_7953138117647532032_n.png?_nc_cat=102&_nc_oc=AQkw4NJTHr2vybbv2LrPY1PU_wMpOWnibgVH2qnDxQmVOFKmnuc7Dm4MQdrxV81zYD4&_nc_ht=scontent-cdg2-1.xx&oh=a3cf9652cfbd9060b6f5af127963a089&oe=5DF7B338"},{"name":"Oasis Tropical","description":"2L","quantity":"3","price":"1.95","code":"3124480191182","type":["3"],"image":"https:\/\/scontent-cdt1-1.xx.fbcdn.net\/v\/t1.15752-9\/73022630_1186659015009698_3701835503583100928_n.png?_nc_cat=109&_nc_oc=AQl8S4ooBsO94RNaOcVSvnPZvbD3Fn56f2rMNRmkw5gGvPZZ3_vAuHIS3L5kLoqYb-pYCe0jb1_wcnKkIimuErbw&_nc_ht=scontent-cdt1-1.xx&oh=22d28391e8b052a97d51b080c4dea201&oe=5E5E05C1"},{"name":"Oasis P\u00eache Abricot","description":"2L","quantity":"0","price":"2.10","code":"3124480159366","type":["3"],"image":"https:\/\/scontent-cdt1-1.xx.fbcdn.net\/v\/t1.15752-9\/73409336_540717146747564_1941136200576270336_n.png?_nc_cat=103&_nc_oc=AQlQxW1RdkSokXSozEcaazgIke9BmYP3JXTSWUKJCWxHt3qXmEO0ZUtjIPaCm2Z3V3KoyoRrA92Xmg0ekcYmI7SD&_nc_ht=scontent-cdt1-1.xx&oh=e78c09428c13482b99472e18f33fa60a&oe=5E16B691"},{"name":"Fromage r\u00e2p\u00e9","description":"200g","quantity":"0","price":"1.4","code":"3560070379545","type":["2"],"image":"https:\/\/scontent-cdt1-1.xx.fbcdn.net\/v\/t1.15752-9\/74214362_412926959626239_6790972829807411200_n.png?_nc_cat=105&_nc_oc=AQl7OObi1oDcJ2yC9VhCY3dvUveRjvRjfMa7hbkGMmpgrEId6_8xNmCxQ0xv6Gzp4m0NmLut9g0qxUBibDxbPcPH&_nc_ht=scontent-cdt1-1.xx&oh=f1480dfd0bd12d64f22977393f633514&oe=5E1A651D"},{"name":"Cookies choco-noisette","description":"Miiiiammm","quantity":"0","price":"0.85","code":"3270190114055","type":["16"],"image":"https:\/\/scontent-cdt1-1.xx.fbcdn.net\/v\/t1.15752-0\/p480x480\/70869188_455005848557303_989396581931286528_n.png?_nc_cat=106&_nc_oc=AQl2TRH_ZgzzkQN19uUD3aO0ozSCqF-aaJyOxa2tgB-bwDHr1Fy8ORaF19ix5MK0M1opW4bawFuTwTRSZXZz5s9m&_nc_ht=scontent-cdt1-1.xx&oh=d1d4979aeb55bb90765664f451955636&oe=5E1C39DE"},{"name":"Orangina","description":"1.5L","quantity":"0","price":"1.5","code":"3249760000654","type":["3"],"image":"https:\/\/scontent-cdt1-1.xx.fbcdn.net\/v\/t1.15752-9\/74239338_603853530153552_8944055096526766080_n.png?_nc_cat=111&_nc_oc=AQk2nnAIGhSCnucdGSlAj6deXPwrNqcKSUYUEoTdkJaWZOayRuL9TZMBbJ6HlMWXuxuEQAyU1lIkJP7OSSUeKMwi&_nc_ht=scontent-cdt1-1.xx&oh=508b02bc18b374d5e756cee23da89904&oe=5E5D550F"},{"name":"Des p\u00e2\u00e2\u00e2\u00e2\u00e2\u00e2tes","description":"Y'en a plein, y'a des macaronis, y'a des fusilli, y'a des spaghettis, y'a des coquillettis","quantity":"1","price":"0.90","code":"00000","type":["2"],"image":"https:\/\/scontent-cdt1-1.xx.fbcdn.net\/v\/t1.15752-9\/75233389_445263929456008_7666545296561668096_n.png?_nc_cat=101&_nc_oc=AQlfxo2NCVAgSkMGZCs8O909IWYVGLZRI10fNzfGtd_fnveCXY4opEnhCo2JTq08I_Ie95imKIYNaFNf23u6fZwY&_nc_ht=scontent-cdt1-1.xx&oh=06e75653affb6a3404100dcafb0a4cd0&oe=5E2295D7"},{"name":"Jus d'orange","description":"1L","quantity":"1","price":"1.50","code":"3560070823246","type":["3"],"image":"https:\/\/scontent-cdt1-1.xx.fbcdn.net\/v\/t1.15752-9\/72565628_517409945484858_3598182523798028288_n.png?_nc_cat=103&_nc_oc=AQnNPcpAVpHikQvQK8Th4PaiRBjoxwnIMFvGf90YB6_Ul-fyEUoMTJcgXMXIVLzBtkCLkwKvlT-fcjm51Xffu9mj&_nc_ht=scontent-cdt1-1.xx&oh=cf54f91ad2df26706382d85d8e3462d2&oe=5E1F4635"},{"name":"Cookies Granola","description":"miam","quantity":"0","price":"2","code":"7622300689124","type":["16"],"image":"https:\/\/scontent-cdt1-1.xx.fbcdn.net\/v\/t1.15752-9\/75336372_767830276998990_8851890059041832960_n.png?_nc_cat=107&_nc_oc=AQmjXUlpYPCpPWB9eecKo9yS8NNewLbeaTt_R8Y12U-OlrYL81RKuA1At-zX8NJoJgak9pZp_Pb0spxD9kmUby9c&_nc_ht=scontent-cdt1-1.xx&oh=13f429a2f5fbbdff2263bb11d38168e8&oe=5E5C73F2"},{"name":"Jus de raisin","description":"1L","quantity":"2","price":"1.75","code":"3560070453306","type":["3"],"image":"https:\/\/scontent-cdt1-1.xx.fbcdn.net\/v\/t1.15752-9\/75552810_2426500190906745_8118057998456193024_n.png?_nc_cat=110&_nc_oc=AQkiG7PVLs4ptI-9geehqfkJTkI5zNYXCj6FVR0RFdq8CiFq1CPHRr2xyL3M-gFLPc23dhztmDP0Qw8vuKz94t1h&_nc_ht=scontent-cdt1-1.xx&oh=fb27ce5819d0e021726de6f9c73cd016&oe=5E188FE6"},{"name":"Chili con carne","description":"Pour deux personnes","quantity":"2","price":"1.20","code":"3560070748938","type":["2"],"image":"https:\/\/scontent-cdt1-1.xx.fbcdn.net\/v\/t1.15752-9\/73120451_2517061901856948_6677098265944522752_n.png?_nc_cat=105&_nc_oc=AQkyOhpDOgFt_w4NlMw0qmhXMLaG7tovfOfA9sXY6opU0K6xQf_PHwThOxWP9CIAEk2cZFrspZvuHcyQS8uzZX80&_nc_ht=scontent-cdt1-1.xx&oh=c5bc66c77032f97491f0fab07fdee92f&oe=5E526A17"},{"name":"Tuiles classic","description":"(Pringles moins cher)","quantity":"8","price":"1.20","code":"3560070240258","type":["2","8"],"image":"https:\/\/scontent-cdg2-1.xx.fbcdn.net\/v\/t1.15752-0\/p280x280\/71420681_927878727568048_5907371218046025728_n.png?_nc_cat=107&_nc_oc=AQnyGkoFdfAxD-NdGHJ8uZ23cSB9CZ2KybP-LXu75_qS1DovCqOj7NbskPznW7MzGmA&_nc_ht=scontent-cdg2-1.xx&oh=f5dc1264299d310b447033e9d35a52bb&oe=5DFB9FC5"},{"name":"Jus de pomme","description":"1L","quantity":"4","price":"1.05","code":"3560070275267","type":["3"],"image":"https:\/\/scontent-cdt1-1.xx.fbcdn.net\/v\/t1.15752-9\/73138930_703632346804392_6242904534339813376_n.png?_nc_cat=102&_nc_oc=AQnWIUvN-aNzbCxL8oVWlwnBiKm5ujUX3Z7qJakGqGbHItTwQC96D5xJ_s3GJzDL-lPpUNcAmacZO7rJJd1M99-K&_nc_ht=scontent-cdt1-1.xx&oh=799a67a2b92427c486813fa1dad676b7&oe=5E64F266"},{"name":"Snickers","description":"12 barres","quantity":"3","price":"3.8","code":"5000159462679","type":["15"],"image":"https:\/\/scontent-cdt1-1.xx.fbcdn.net\/v\/t1.15752-0\/p480x480\/71208230_769395806830645_8703058756356800512_n.png?_nc_cat=107&_nc_oc=AQmTXYc-aW1Uw9_HRZyq-ivWPV-UiI0Ysw4FgnPw36V8yjsAabg7ujBa3zeIYG84rSrgV5_2fev7K7G6rUiAJhuK&_nc_ht=scontent-cdt1-1.xx&oh=194b5cf20f92310adf3bf3a5ed0440f9&oe=5E00F580"},{"name":"Twix","description":"12 Twix","quantity":"2","price":"3.05","code":"5000159429283","type":["8","15"],"image":"https:\/\/scontent-cdg2-1.xx.fbcdn.net\/v\/t1.15752-0\/p280x280\/70463563_2439418793050684_8722564625209491456_n.png?_nc_cat=100&_nc_oc=AQnZoCImM4IiiYLQxjY6414MCcw1fPQqxjF1bCsGQ74ahoDgJ7R--A-mYCcChVZtwp0&_nc_ht=scontent-cdg2-1.xx&oh=ad8124e37be087ff51ac73c0861dc26e&oe=5DF6B3FE"},{"name":"Sacs Poubelle 20 x 100L","description":"Pas de description","quantity":"0","price":"1.50","code":"3232766524057","type":["9"],"image":"https:\/\/scontent-cdg2-1.xx.fbcdn.net\/v\/t1.15752-0\/p280x280\/70372213_1108884772834610_8710186366253662208_n.png?_nc_cat=100&_nc_oc=AQnXc7OtDFpnY8v-7QFoiSrkKXLJ_0HRbxH-4h4ZQmzWRFVN-HNKn6lqoHnqkv52t_GYpxAeIp87OXOJ6bBHb-6D&_nc_ht=scontent-cdg2-1.xx&oh=3dc22e085c2829fb7c9e6e46557f0f4b&oe=5E0DEEEE"},{"name":"Petit Marseillais Gel Douche Grenade","description":"Lave toi et sens la grenade!","quantity":"0","price":"1.70","code":"3574661319308","type":["6"],"image":"https:\/\/scontent-cdg2-1.xx.fbcdn.net\/v\/t1.15752-0\/p280x280\/70387191_541196943302418_3069939505310990336_n.png?_nc_cat=108&_nc_oc=AQkYA8oELwRKpUW5WrtSBOQpt3e2mRPXkmgwXeh6mfNFkNFb2YSEzmIHymMbAFlRksMQu_Mj3peMfqoZviu-fecU&_nc_ht=scontent-cdg2-1.xx&oh=062ea947ed21783f7ffe6a6481087180&oe=5E0F8F2E"},{"name":"Eponges","description":"Les PPAs apr\u00e8s le WINI","quantity":"0","price":"1.00","code":"3560070723836","type":["6"],"image":"https:\/\/scontent-cdg2-1.xx.fbcdn.net\/v\/t1.15752-0\/p280x280\/70896935_394808484783031_7018460939485708288_n.png?_nc_cat=111&_nc_oc=AQmkU3KFKxj2TthigYBSyhyIf0jdYD0q5cHbl63RejdlQmAja4EECMnDuxP6-hBx3YC6nbwsaJ-vMpoRVZKKhNq6&_nc_ht=scontent-cdg2-1.xx&oh=6f789f900cc9e8e004386d5fadfe7c5a&oe=5DFB9B52"},{"name":"Eponges","description":"2 \u00e9ponges qui grattent un peu fort mais pas trop fort quand m\u00eame","quantity":"0","price":"1.70","code":"3560070215218","type":["9"],"image":"https:\/\/scontent-cdt1-1.xx.fbcdn.net\/v\/t1.15752-9\/71021588_738643123264211_7879499571917750272_n.png?_nc_cat=110&_nc_oc=AQmkNmNsKda_jPH7Iov9BTYdQTPaotQjt6vjEx237oAaGPBvvd9Gq-JarXcV2Wbkz-qC7lDgBDDlH8xHL_U9Cfmj&_nc_ht=scontent-cdt1-1.xx&oh=cb67d09008bda22cc2dd2538a063ca2f&oe=5DF70CE1"},{"name":"Chalala Le Best","description":"Simplement le best","quantity":"1","price":"10000","code":"1","type":["5","7"],"image":"https:\/\/scontent-cdg2-1.xx.fbcdn.net\/v\/t1.0-9\/67452205_2425487914441843_7435316751404892160_n.jpg?_nc_cat=101&_nc_oc=AQnof6Murdn6FdoDQicu6DDH9jSqIC40DtnRWpSjRnlSVpzEXZGQWRgeWmuo0w_8uFE&_nc_ht=scontent-cdg2-1.xx&oh=6ca5d98366ca1f7187c8d5b895604c10&oe=5E063D4B"},{"name":"Thomeus Le Deus (Genoux \u00e0 part)","description":"Amateur de glissades depuis son plus jeune \u00e2ge, cet athl\u00e8te de la langue fran\u00e7aise et anglaise \u00e0 du se resigner \u00e0 sortir des stades \u00e0 cause de ses ligaments, pour Thomas, Hip Hip Hip Hourra!","quantity":"1","price":"10000","code":"2","type":["7","10"],"image":"https:\/\/scontent-cdg2-1.xx.fbcdn.net\/v\/t1.15752-0\/p280x280\/69909724_762296940894589_3286757632030801920_n.png?_nc_cat=111&_nc_oc=AQlDJIkTv13vAI66kIudeymR_2uOMR6GxQiGnCdXBHk0EDGmw9uxC0S8wmB2O-tndDXDH3BKyUg70scpPG-zDWSr&_nc_ht=scontent-cdg2-1.xx&oh=6e32b6bbaebbfb157b1a35ab52a694a1&oe=5E0C2EC5"},{"name":"Nettoyant Multi-Surfaces Savon Noir Carrefour","description":"A partir du moment o\u00f9 tes chaussures restent coll\u00e9es au sol de ton promolo, passe \u00e0 l'action...","quantity":"2","price":"1.35","code":"3560071155179","type":["6"],"image":"https:\/\/scontent-cdg2-1.xx.fbcdn.net\/v\/t1.15752-0\/p280x280\/70493566_448246939113369_1751560278320873472_n.png?_nc_cat=105&_nc_oc=AQl4qlJAirC6LG-m1SwTvmY5F9O9jsDf5If9l96sL8uAIEJCZTZ7Hp25aTwbspd396-z3Z2sQ0lc61H5Nyh9Sq-N&_nc_ht=scontent-cdg2-1.xx&oh=a0ee75db440b42566eeb200620228418&oe=5E033765"},{"name":"Granolas","description":"1 paquet de 2 sachets de 16 biscuits","quantity":"21","price":"1.15","code":"7622210601988","type":["16"],"image":"https:\/\/scontent-cdt1-1.xx.fbcdn.net\/v\/t1.15752-0\/p480x480\/60962947_2024331497874437_168434568511094784_n.png?_nc_cat=110&_nc_oc=AQk7kyVjeX4h5YjxSg1aTUOG7hKo3HslVfHqoU60X9KxHoNjaPh5Lx1_YjnjCHkYLaYaibdOF1Ut169J6R9XDJJJ&_nc_ht=scontent-cdt1-1.xx&oh=091cf2a74e3397da036c144fe751a6c1&oe=5E04E9FD"},{"name":"Chips Paysannes","description":"Craquantes comme vous","quantity":"8","price":"1.10","code":"3168930009030","type":["2","8"],"image":"https:\/\/scontent-cdg2-1.xx.fbcdn.net\/v\/t1.15752-9\/70477455_515287075715043_2826431756029132800_n.png?_nc_cat=106&_nc_oc=AQlmgMYNPzmrkRwFQ375KAzuvhZvL5ewCJ6VfU-Xun3yYPaeGMmAjbkKJxjvpOMBInU&_nc_ht=scontent-cdg2-1.xx&oh=5fa9a6027783f4cbe815efe667338fb6&oe=5E3B13E9"},{"name":"Brownie Choco Noisette","description":"Miam","quantity":"5","price":"1.95","code":"3245412416620","type":["16"],"image":"https:\/\/scontent-cdt1-1.xx.fbcdn.net\/v\/t1.15752-0\/p480x480\/73317725_1135438283315382_6159216263353597952_n.png?_nc_cat=109&_nc_oc=AQmxqdRJwUUJuQeW34jWtRa2rfLvo1IvhKtaCvhBdSMRXnX_p3tfCrLe676vQm2Z7-hctFCw-KSLZoPYdcMCL87D&_nc_ht=scontent-cdt1-1.xx&oh=acaffb0e78ba739e558957a8a2e3f08c&oe=5E175E07"},{"name":"Sprite","description":"1.25L","quantity":"3","price":"0.65","code":"5449000244468","type":["3"],"image":"https:\/\/scontent-cdt1-1.xx.fbcdn.net\/v\/t1.15752-9\/75453433_468214707371315_7165850125296730112_n.png?_nc_cat=111&_nc_oc=AQmRRqkhILQcrcZ6_0FvcH9TeTHQU_MkHqDKT9TIGM4oHmuYwgxcYAVNYnrLRcfH8MJotD6dkjtd-IJgPFuUXGhc&_nc_ht=scontent-cdt1-1.xx&oh=f66853f6512ee57968c7451d5332c9fc&oe=5E1A0E41"},{"name":"Papier toilette","description":"12 rouleaux","quantity":"3","price":"2.05","code":"3560070214310","type":["6"],"image":"https:\/\/scontent-cdt1-1.xx.fbcdn.net\/v\/t1.15752-9\/73537338_540188633408898_6514078933934145536_n.png?_nc_cat=108&_nc_oc=AQkjf_Qvh7m2BNrcHPMkgcODwYyyxT_nXzMknqOQyJ_5A-oSUcXRVCRiTsBWIs2T_QYRtH4VYS4X7yOSz-FqLu-s&_nc_ht=scontent-cdt1-1.xx&oh=4e0408721e000270c366c1db00b53471&oe=5E533B90"},{"name":"Ice tea p\u00eache","description":"1.5L","quantity":"4","price":"1.4","code":"3228886048436","type":["3"],"image":"https:\/\/scontent-cdt1-1.xx.fbcdn.net\/v\/t1.15752-9\/74217836_530238211140211_6399715628562776064_n.png?_nc_cat=111&_nc_oc=AQmWMpo3SXIDBqaNuyzkul5U2WdmXdK1PwW38WV4j4u4UMIaX6wHJmsU2n8umFoyT2dIDuYCiH2ClF3uGdtL2bu6&_nc_ht=scontent-cdt1-1.xx&oh=3efd33d180e6c2aab97b5e4d2797638d&oe=5E553DEB"},{"name":"Pains au lait","description":"10 pains au lait (laitines)","quantity":"2","price":"0.95","code":"3270190024835","type":["2"],"image":"https:\/\/scontent-cdt1-1.xx.fbcdn.net\/v\/t1.15752-0\/p480x480\/71534601_2649412245109640_2545708913991352320_n.png?_nc_cat=104&_nc_oc=AQlt4MQOiSsM3PWHxCsekKdaE7ss103ItYvVFnnwQxiomIbg9Rewo0pkR7qzszBEoSszZUv9PL0MmHI989RvYviX&_nc_ht=scontent-cdt1-1.xx&oh=018663e3b454f23dcbe1e13cf5d5939a&oe=5DF6635D"},{"name":"Lion","description":"6 barres","quantity":"3","price":"2.35","code":"7613032630379","type":["15"],"image":"https:\/\/scontent-cdt1-1.xx.fbcdn.net\/v\/t1.15752-9\/75614256_2364019560519348_8219614664833630208_n.png?_nc_cat=111&_nc_oc=AQmnP-ccUWvhTj5QsD23velvi31hmwQWtE4WoG4XPLzB0FY3Zr2IqmSxzbnmmZOcbN2Sr8B9ussUChWsIDY8D-fZ&_nc_ht=scontent-cdt1-1.xx&oh=56c072ffad7978e9c510ecc577bb2a92&oe=5E52F32F"},{"name":"Balisto","description":"10 barres","quantity":"3","price":"2.10","code":"5000159419291","type":["15"],"image":"https:\/\/scontent-cdt1-1.xx.fbcdn.net\/v\/t1.15752-9\/74361616_944699535907128_4430533544946696192_n.png?_nc_cat=109&_nc_oc=AQkdRz6u8vzowSilVnPRRsbecII7hmUJbdMDRRbg0eohuFBREkVlp5IvKX76CoG2jXqMbILX7lm7q8193VDLoVJZ&_nc_ht=scontent-cdt1-1.xx&oh=31b52a4427bb394a879953476f462998&oe=5E27A8FD"},{"name":"Dragibus","description":"Miam","quantity":"3","price":"1.15","code":"3103220025208","type":["15"],"image":"https:\/\/scontent-cdt1-1.xx.fbcdn.net\/v\/t1.15752-9\/73020296_2432718483713611_1185275184009969664_n.png?_nc_cat=105&_nc_oc=AQmrNaSwF1H14ViVwiULp5l-FoepDFtxAar95KW0xm26xRCYV6KLIouTNd9Xr8PJRKlzznLNfh_xeBhg1YK-F3v7&_nc_ht=scontent-cdt1-1.xx&oh=8def63a549294ddbf237e009862ddde0&oe=5E1A96A4"},{"name":"KAS 1.5L","description":"Askip \u00e7a va bien avec la Vodka","quantity":"1","price":"1.55","code":"8410408051368","type":["3"],"image":"https:\/\/scontent-cdg2-1.xx.fbcdn.net\/v\/t1.15752-0\/p280x280\/70388938_2389726454679537_6564018365520674816_n.png?_nc_cat=101&_nc_oc=AQnO1IHisZ588yIJEeq40tF0lejLBlq4OdrnaRGmDCCYuW3KW9KaeZiUeSh6ydC5rbYDTA-1kKPNx-a8J1Il4p5o&_nc_ht=scontent-cdg2-1.xx&oh=1db14f8f001a20c7370d2493414d6eb2&oe=5E051DB5"},{"name":"Lait de montagne","description":"demi-\u00e9cr\u00e9m\u00e9","quantity":"10","price":"0.90","code":"3270190021056","type":["3"],"image":"https:\/\/scontent-cdg2-1.xx.fbcdn.net\/v\/t1.15752-0\/p280x280\/70505363_760201811085341_6879497981293232128_n.png?_nc_cat=104&_nc_oc=AQnC1tTm3kwturx3tMCVWEaidmMBR5wuD1TeOSS2k4BxzQF46suB6yc6C6G64Dobg0w&_nc_ht=scontent-cdg2-1.xx&oh=fc99275b84416be78688ebf6bc41d95e&oe=5DEF6375"},{"name":"Pain de mie","description":"15 tranches","quantity":"3","price":"0.85","code":"3560071152208","type":["2"],"image":"https:\/\/scontent-cdg2-1.xx.fbcdn.net\/v\/t1.15752-0\/p280x280\/70505783_586071075257522_2719498984598011904_n.png?_nc_cat=105&_nc_oc=AQnyfcuGgtVOWUT8Hp-iL9OhV6vDU0yrNOJlc3R8eIx2HKPpRmIGJ9b3TsgzkJ3PMQM&_nc_ht=scontent-cdg2-1.xx&oh=bf38d96deaba9ad2143ce00bae897436&oe=5E37ED8E"},{"name":"Tagada format","description":"Que fais une fraise sur un cheval ? tagada tagada tagada","quantity":"3","price":"1.45","code":"3103220044544","type":["8","15"],"image":"https:\/\/scontent-cdg2-1.xx.fbcdn.net\/v\/t1.15752-0\/p280x280\/70697213_3029487180398256_5980608583765590016_n.png?_nc_cat=106&_nc_oc=AQlQ-tZ3LN0KkMLc3u4xLb5zlVlpxjc6-JTRV6enqqs-qFs6obvvVD2gXkaBFT6O7Wk&_nc_ht=scontent-cdg2-1.xx&oh=5c3931e193cfeb1caffa4254bf5a1ac4&oe=5DF3FC52"},{"name":"C\u00e9r\u00e9ales Chocapic 750g","description":"Pour tes matins chocolat\u00e9s","quantity":"1","price":"3.65","code":"7613034947611","type":["2"],"image":"https:\/\/scontent-cdg2-1.xx.fbcdn.net\/v\/t1.15752-0\/p280x280\/70513301_507971879776877_5745152077097598976_n.png?_nc_cat=101&_nc_oc=AQlxGteRWZrcTLxkxHjy9qQKEvwKgVIHwCJ4LnWF39yoCEsIY1ZtmCpRJ6mqaHALFjc&_nc_ht=scontent-cdg2-1.xx&oh=389f0e6b84b65d38acab9aa2c545c7a0&oe=5E333138"}]}
\ No newline at end of file
diff --git a/data/stock.json.bak b/data/stock.json.bak
new file mode 100644
index 0000000..54c5592
--- /dev/null
+++ b/data/stock.json.bak
@@ -0,0 +1 @@
+{"types":["Nouveau","Alimentaire","Boissons","Utilitaires"],"articles":[{"name":"Shampoing Ultra Doux Garnier D\u00e9licatesse d'avoine","quantity":"2","price":"2.3","code":"3600541887930","type":["Nouveau"],"image":"https:\/\/images-na.ssl-images-amazon.com\/images\/I\/71q1QQAqGaL._SY679_.jpg"},{"name":"Gel douche Axe","quantity":"1","price":"1.9","code":"40883069","type":["Nouveau"],"image":"https:\/\/images-na.ssl-images-amazon.com\/images\/I\/812ZnYtEYWL._SL1500_.jpg"},{"name":"Apr\u00e8s-rasage MENNEN Grand Large","quantity":"1","price":"3.7","code":"3058320052039","type":["Nouveau"],"image":"https:\/\/i2.cdscdn.com\/pdt2\/0\/3\/9\/1\/700x700\/las3058320052039\/rw\/mennen-lotion-apres-rasage-homme-grand-large-1.jpg"},{"name":"Apr\u00e8s-rasage MENNEN Skin Bracer ","quantity":"2","price":"3.6","code":"3058320052015","type":["Nouveau"],"image":"https:\/\/i2.cdscdn.com\/pdt2\/0\/1\/5\/1\/550x550\/men3058320052015\/rw\/mennen-lotion-apres-rasage-homme-green-tonic-1.jpg"},{"name":"D\u00e9odorant 48h Rexona","quantity":"1","price":"0.9","code":"50097852","type":["Nouveau"],"image":"https:\/\/images-eu.ssl-images-amazon.com\/images\/I\/21DKs5wekiL.jpg"},{"name":"Cire pour cheveux L'Or\u00e9al Studio 7","quantity":"2","price":"3.85","code":"3600521137840","type":["Nouveau"],"image":"data:image\/jpeg;base64,\/9j\/4AAQSkZJRgABAQAAAQABAAD\/2wCEAAkGBxIQEhAQEBIVFRUXEBUQFRUVFRUXFRUVFRUWFhUWFRYYHSggGBolHRYVITEhJSkrLi4uFx8zODMtNygtLisBCgoKDg0OGhAQGjAlHyUrKy0vLS8tLS0uLS0tLS0tKy0tLS0tKy0tLS0tKy0tLS0tKy0tLS0tLS0tLS0tLS0tLf\/AABEIAOEA4QMBIgACEQEDEQH\/xAAcAAEAAQUBAQAAAAAAAAAAAAAABgIDBAUHAQj\/xABKEAABAwICBQcIBwUHAwUAAAABAAIDBBESIQUGMUFREyIyYXGRoQcUUnKBscHRIzNCQ2KSshVTc6LCJDSCg5Pw8RZE0hdUY6Ph\/8QAGQEBAAMBAQAAAAAAAAAAAAAAAAECAwQF\/8QAKBEBAAICAQQCAgICAwAAAAAAAAECAxFRBBIhMRMyQXEUgZHBBSJh\/9oADAMBAAIRAxEAPwDuKIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICJdeXQeoiICIiAiIgIiICIiAiIgIiICIiAiIgIqJpmsaXvcGtAuXOIAA4knYoBrL5V6Smu2Acs4ZYicEV+okXd7BY8UHQlh6Q0rBTi880cfrva0nsBOa+fNM+UzSVYS2J5jafQvG3vHPPtKjT6aSQl00ziSbkA2v2nafaUHfdK+VTRlPf6V0h4MbbxfhB9ijNZ5b4zlT0j38C5x9wbb+Zc10doLF9VDi\/Edn5ipBTaru+28N6mC\/ibKRsKnyuaSk+qp4oxxIz8XH3LV1GvumZNtSxnqtb\/AEgLbQavQN2hzvWcfcLLOioYmdGNg7Gi\/eghkum9KS\/9\/MepmP5lUmlrpOlUVbvZ8wpTU1j2ukYAdoc12EYQMub+Lf3qw6tlz5x2OtzBfpAjt5oI9qCOt0DVuyx1B7XtCuDVWr\/+f\/VZ81NtGy4wxxBBN8jkd+0LZrfFii0bllfJNZ05uNV6sbDOP85nzVbdB6Qb0ZaodkjD8V0WyWWv8evKnzS56BpaPo1daPzH3K43WXTMP\/eSf5sbj+pT6yKs9PHJ808IZT+UrTMe18Mva1o9zfitrS+WWsZ9fRMcOMZI\/qPuW4mpY39NjXes0H3rAm1epnfd4fVJb4DJVnp5\/ErRmjhsaHy3UbrCeCWI+w\/qDVKtGeULRtRbBUtb64Lf5jzfFcxq9T2O6Eh7HtDh3iyjmkNS3s5wiv8AihJv3CzvBZWxWj8LxkrL6VpqlkoxRva9vFrg4d4V1fKVOaqmdip6h7XDKziQ7sxNs4KV6G8rVfTENqRyjdl3jF\/O2zh7bqml30EihGrvlOoqsND3ci4+mQYyeqQZD\/EApsxwIBBBBFwRmCOpQPUREBERAWq1l0\/DQQunmP4WMHSe7c1vz3BbVcD8qWm3VNbIy\/MhJhYN1wbPPaXA+wBBqtb9cqmud9I6zL8yFpOBvAn0ndZ9ltijTKbEcTzc9e7qAV6Q2sePxNl7dSL0LC4hjBck2AG0lS3RerrGAOms93D7I9n2vatdqVAHSyHK7Y8vabE+4e1TLzd3UrRS0+YhWbRC0BuXquebu6k83d1KfjvwjvrytorjoCLnJY3LBRNZj2mLRPpqdIkcs4YhfCDhLg2w47BfvVoW4j\/Vb8XLPqKYOeJA5wOHDYbCL3ztYnvsvRD0i573E7y6wb6rRkFGpTtf0KTgbc3Id6TX795aLb1s2yvxvBbzLNLXDO5N8QPZl3rSAYI5Ghz3Ehxu51yCRu4BRL9vSem\/\/Uctcd7VjxGyMVcnu2v6n\/To08kgDjG0ONxYG4y3m5NierLtXokdvJB\/hu+F\/eufQaYkdf6R4t+N3zWw0TpJ5nhaZXWMrGEF5I5zg3MX60\/lxFtTDoj\/AIy00762iY\/STzVsrWyHACW4Sy5DS9pIDjgJu22e052VyoqZGg4WhxG0C2XW6ziQOwE9S3h0Ub7W37FR+xz+Dfu47dy6Pkry87tnhpJKx+MNazmmMPxgOcA4m2EjLtV6OpyJdfIXsI339gF79i2g0N1M3bvRzbu3bkGiCDcBl88+3buT5K8o7J4aZtVN0uQNr9HE3Hh47cN+q\/t3KttYS9reTfgMZdiLX3Dg4DCRbLI3v1Lcfsx\/Fvefkn7Nfxb3n5Ke+vJ2zw0ldo+GoykZc7nYXNcOx1vBQ7T2rz4AXt58fG3Ob6w4dfuXTf2a\/i3vPyXj9FuIIOEgixBvYg8clS\/x2\/K1e+rhklHhOOI4HdXRPrBSnU\/XiqonBoN2A86FxJYeJZ6B7Pbda7TdGIKiaEbGPIHZtHgQtc5tyDvC5HS+mNWtYYa+ISwnMZPYekx3A\/A71tl86alafdRVUcgJwE4JG+kw7faNo7F9FNNwCNm1VHqIiAvmDXqTkdIVLHb5nkHjdxuO26+n18z+VSMOrKoEffv\/AFFTA0biHNIv2HgeKtQVNzgfk8dzhxb8lpYqp8R9ILMNTHMACbHduIPUgkWitIOp5GyN2jIg7HNO0H\/e4LpGi9KRVLcUbs7c5p6Te0fHYuLsnmjycOUbxHSHz\/3msui0s0ODmSFjhsucLgeorXHlmjO9Is7UigejtdJGWE7RIPSFmu+R8FI6LWell+8wHhJzfHo+K6q5a2\/LCcdobki6xvMW9ff\/APivxvDhdpBHEG47wqiVeaxPtWJmFAAaOoBaypmLz1bgrlVPiyGz3rymgxHqG35Lnvbuntq1rXt8y9oqa\/OOzd1lbPTbpzLaGoZGHUgDGuJBExksx2QtmLtucQuBzSvALZLOmbIcDowfqLEiNjjkW3bdxBzuebsyJUZadtYTjtuZasTTkVQFVHicHugJkAMYMbWtxDIC0hP2Tt7AKaoVgMANZFfk3AgBoLw+NzWyE2OIiV0VrBoNr77LK8zsMoMgJTh82g23aYwM9toxbjZt8JACrq45CRaJxwtawDkIXdCVpLmkuFmnC1wG7ADtAXO2WaGoqC6CR1TC6Pk43SNEkd3u5Mco9rsOUYLmuw7Te92jmmSRvDhdpBHEG47wo6+hewWZGLGMizaaHJsjXcxwxC+ERxtI32YONsqkbOLNBLAcdhyLA1u9t7HqPbjHBBukWmfPU3Dg14BwPwCOO4BIBYXF+0bSd2e3K16mknJwuxC8dsRY0APDWkvIDicy7o7i12exBs0WHyEwzM4sLE\/Rt3DnXN9htfqueq2BpLW2ip7h07XOH2Y+e6\/Dm5A9pCDdrUax6wRUUZc8gvI5kYPOceJ4N4n3nJQjTvlJeQRTsELf3khBf\/hb0QfzLntZpt0r3ObjmeTcvde1+snM+CDY19aXukmlObnl7jxc43sB8FZgcc3HIndwG7\/fWtfG0g8pM4F24fZb2f771aqNKC9mXJRLdUpu9oG24X1Dov6mG\/7pn6QvlzVkEyNLtt+5fU1E20cY4RtHgFEi+iIoBfNnlQH9sqv47\/1FfSa+a\/Kh\/far+M\/3lTA5\/KsZzFkyKyVIRTvZ0Xezcrxrg76yMHrGRWPZeKBmRSR\/YkfH1bQs6nndvc1\/WLA9y18FfKzJrzb0XWc38rgQr7dJMNuVpoX9bQ6J3\/1uA8EG2p6xzDdjnsPFpLfFq2DdaqlosZ3EcHBru8kXUb84pjsZUR+pM17e5zQfFUGZmeGd\/Y+Ie9ripiZhGoS2PXRwydyR\/M0++y3FLr8ywHItt+GUHwwrmD6128Nd2tXnnQ3xs7rKa3tX0iaxPt11mvUJ2xSezAfiFuKPyi0jWNa6OcEZdBh3+uuEmoZ+6H5iE5aP91\/O5TbJa0alEUiPTv8A\/wCo1H6M\/wDpj\/yVLvKPR+hOf8tvxeuB8uz92fzuXhnj\/dfzuVdrad2f5TaYbIZ\/aIx\/WsKo8q0Q6MH55mN9wK4v5wwbIh3koasbo2d11GzTq1R5WJDlHHA09bnyfpwrAqNf62XZO1nUyNg8XXK5yK5+6w7AsiKdh+skl7GsYP5i\/wCClKRV+lpJvrZpJc9j3uIv1BxsPYtRUVB2cqGDg0C\/ftCttq6Zt\/7PJJ\/FnNvyxtB\/mQ6ZIAEUNPFbeyIOd+eYvcPYVAx8UebsL5CNrjcj2qh+kXkWYA0dS8qayST6yRzvWcSPYNgVlToDid0nEq\/A22xWmhX4UEo1Z6be1fU0Is1o\/CPcvljVrpt7V9UhLD1ERVBfPnla0W5tTNMBdjpCSfRJ49RX0Gueay07ZJZmuAILiCCLgjrWuGvdOmeS3bG3zjM1WHBdC1j1HIJfTbNvJn+g\/A96g9TSvjcWvaWkbQ4EHxVrY5r7K3i3phIrpaqSxZ6X2tpZV4ShaU0KLJZekdS8KhKgovV4oBERB4i9RAREUgqggXoQehe2RAFIL0L0NK9DE0jY1ZELVSxikur2qs9SQbYGem4bfVbtd7utXrSZVm0R7Z2pdE6WeNrR9oEngL7V9PLl2rGhI6YMZGPtNu49JxuMyV1FMtO3SKX7tiIixaCg2mW\/Ty+uVOVCdLj6eX1\/gFv0\/wBmOf6tZLBdafSeho5hhlY1w6xs7DtCkQCodEu9x7cy0n5P2HOB5YeDueOy97jxUartUKqLPBjz+752XG2R8F2x9OsWWlVJxVleM1ocGko3tuXMc223ECPAqzya7pPQtcCHNBHAgEeK1M2rFOb2iaL+iMPuWc9PxLWM\/MOPlioc1dMm1Hh3F46rgj3XWtq9RCblkoHUW\/IrOcFl4zVQItVOFS+o1InHQLD2kj4LFOp1UBm1vscPjZVnDbhb5a8ozhXhat87Ver\/AHJ7cTD\/AFKh+rVUPuHn8vzVfitwnvry0dkst3\/01VW+of2ZfNes1aqz9w\/+X5p8VuE99eWksV7hK37NVKs\/ckdZcz\/yWUNSqo2yYO13yBUxhtwj5K8ovgVYjUxg1DmI5z2A9WI\/ALYUeoAGckpd1Bth4kq0dPbhWc1eUBEarwWXUKXUemaQSHO35uy7hZb2j0FCzNsbQeOEX71pHTz+VJzx+HI6bQlRJ0IXu67WHeclINHagTPsZXtYN4HOd2cB3ldQjpBwWVHAFpGCse2c5rT6RnRGp1NCQ4R4nC3OfzrdYGwH2KTwUwCvsYr9PC55s0X9w7StPEQy3Myromc+P12+8KaqIwRYZmNve0jPeCpcuHqJ8w68HqRERc7cUL0yPp5fW+AU0UM039fL2j9IW\/T\/AGY5\/qxWhVWXjVUu9xKS1W3Rq+qSFIxzEOCsuhCzCFaegw3U4Vp1Mspz1RjQYZpVQaVZ2JLqdjA81Xnmi2F16FO0NeKReikWevU2MEUquClWWvU2MTzdeYQFfmdYLlmsulJRNN9K8ND7ABzrAZbgVhnz\/FWJ1vc6dvRdHPVXmvdrUb3LqUTQslrQop5JKU1MNRIHWAnDTiBJJwNPHrXR4tCsHSc53cAlc0TXdo1PDPN0\/ZkmtZ3EfnlphZZMFLI\/otNuJyHeVvYaSNnRYO3ae8rJVZzcQrGHlq6bQ++R1+puzvWyYwNFmgAcAql4Vla029tYrFfTVxZ1Df4o96lKi9IL1I\/iHwupQs8\/uP0th9T+xERYNhQ3Tn18na39LVMlENY22mJ4tB7svgFv0\/3Y5vqwWK4FaYVcC73CqVLlUqXBSKVYmKyCsao2FQlh1ksbGl8ha1oFy5xDQO0k5LEiljkaHxvDmnY5rg5p7CL3Wi8o0BdDTuLHPijqo5J2tFyYhfEbbx81rdGaCpagzOhka+llwHkWFzcErbc7bdptfLLaFxTktE6h2RSswl7iR9rvCp5U8Qub6CpiKSqqRNMHRioY1okOCwj5pttxC9wbrNn0pMyl0Y4SOxSSxMe4m5cHDMEnapjPZE4ap15wepPOj1KB1FbWSVNYyGoDGwhrmscxjg67b2va4zBz617LrLK6lpJ22a6SobE8WuLXcDa+y9gVf+RKPghPPOyvRVlQit0pVS1MtPSmNgiY1znPBJcXAEAcBn4FW9HazyPjglc0W+lZI0PiZdzcGAgyOGVi7YVP8iUfBCftqSr3LKF6v6YlnkiY4sGGF5lDZYH4n3ZhcGscSAOf3hS6MX71pjyTfbPJSKq3tJ3qOnUaKpqcMssmGR93YMLSMibAkHgpC1t3X4f8LO0SL1ER\/Ef0uUXp3fbzrz\/bTFmtj+k634\/pj6ImodD8vSwRzkNeXSPIxM5Xzbl2sLyRZxjaLWFr8FlVWuToXBtRAIy+jnq4gJOUc7kmxuawgNADnYn5AnojPPLS6d0XO+pr5GMlka6Z8YjA5gkOiWtinFhc2fePM4RjGQIushuhYnNifUQSQMijEjGyv5WTlYXh5kcWvkIZxucshlcLkmZlr4U6N07VVElIJJg1stSyB7W2ZYiioq67LZkFzaiMgnZPbcF0UKFaG1ep8bGGoEkjGxyt5LLAY\/NA52LMHEaaEbjhLhvNpqFNSXqpe8AEk2AFyTkAOJK12ktORQtcb8oW3u1liQQCSDnlw45rVVM0kxdyhLWCQFjQLYmtzG3b1nZkLBWjz4hWZ17bXRxvUA\/jefByk6i+gxeYHgHHvy+KlCr1H2\/pOH6iIiwbCjut1I4tEzBct6QG0t3261Il45oIsdimJmJ3CJjcalzunmDgHNNwdhWS0r3WDV+Wnc6elGJhOJ8X9TDud4HxGuodJMlvhPOHSY7J7T+Jvx2L0cWWL\/tw5MU0\/TZIVQ1yqutmQVjzhX7q3IFAjGtdfNTtiliYXsEoE4DcTxEdrmi+0fFRrVOVk1bWz0zSIHNjF8OFrpBbEQOPSv233roUo6ljPaFx2xW3t11yV05toBt9FVhGdzUH+QLFq5Wmm0O0OBPLxZAjdYHuJsujQ0McbSyNjWNuThaA0XO02C1FPqrSxSctHC0PuSDdxAJ9FpNh7AqfHLSLwjmj\/wC96UPBjP0H5LSxj+w6O663+t6mddqhBLI+RxkBebvDXkNdusRwV2p1cieyCMYmNhe2RgaRtbsBuDceKjslPdDR6J\/v9f6sX6QtPoKCR9JGI8ecstzHFE9w6Fs5Htw+zbbdbOW6T1VjnkMuOWN5bheYnYcYyFnZHgFlRaC5OOOKCR8LWg5MDCXXzu4vac9uzinZKO6Gu1VpTDLgLHMvG53OZA1z7FtyXNkdI7pb8s+xTWLetLo\/Q2CQTOmlkcGOjGPk7AOLXGwYwZ3YFvmsyXTgjTDNOyEbSs3Q7fp4v8X6HKxFGsygcGSNe7YL7OtpHxWut1meWUz\/ANohhafoZHGUF7Ryj3NAc9rMLQHMB5zsQLhI4B0YBAAFje4s1TYsDGzz3kvIwEh0pxVBY5gjdJhyIiccOwXIvkthI1mN7xjJLy4WOEW5blRcXIJ3bOHAKnkm3cRG3OxN7uuQMIJB5t7ZXtsXLGG8\/h0TmrDG0dWsiAdTxuMgjFO3HdziwuMocY4xbCHSDO+V7duwnnkkMRc8gBwc9thzgHE4Qy3UAcVsnHeMqGtNrbBwAAb3DJVNbZa16fmWds\/EKTEzEXNbtN7vOK1jcYQcm558RlY5BV9Z7SSrNZWRwtL5HBrRtJNh\/wA9S1ujIp9KPAY10dMDm5ws+UcLfZZ1bTvtsVr2pihStb5JTLVTn4pB0dgPEDeOpSNWKKlbExrGiwAsr68+1ptO5d9YiI1AiIqpEREHhCjesOp0NVz23jkGx7MiPaFJUQcoraWvoj9IzziMfbZYSW6xsd4JRaxQyHDiwu9F4LXdxXVXNByIutDpnU+kqgeUjF+IC6KdTavvywv09Z9eEcZUA7Cqy5YdZ5OZos6SpePwuOIdmez2LUVFLpSm6cIkHFhIPcb+9dNepxz78Oe3T3j15b9wVtzFG\/8AqhzMpoZGesx3vbiWRDrVA7LEL8MTb9xIK2i1Z9TDOa2j3DcmIKgwDgsVmmojv8D8FcGlYj9se3L3q\/aptcNMOCebDgg0hGftt\/MFUKyP02\/mCaNqfNhwVQpxwXvnjPSb+YLw10fpt\/ME0bXGwhXQ1YZ0nEPvG\/mCtv03C3a8dx+SaNtmAqrKOza20zfvB3t9xKxJNdIzlG17z1NcfhbxVZtWPcwtFbT6hLrBMYCiMWkdIVGUFKWg735eAv71s6XUjSNTnU1HJtO1sfN8dvisbdRjj\/1rXBeWZX6cggF5JGt4C+Z7AMytSzTlTVnBQ07iD97KC1o6wzafbZS\/Q3k3pIDie3lHb3OzJ7SVLqakZGLMaGjqC579Vafr4b16ese\/KBaE8nznubPpCQzPGYaeg31WjIKf01O2NoawAAcFdRc0zM+ZdERoREUAiIgIiICIiAiIgLwi+1eogxJ9GxP6UbT7FqKzUqil6ULe4KRIggdR5LKI5taW9mXuWDL5KI\/sTyj\/ABu+a6UimJmPSJiJctf5Kn\/ZqpPzK2fJZN\/7p\/gurIrfJfmf8o7K8OUjyVS76p\/eFcb5KD9qpk\/OR7l1JE+S\/MnZXhzWLyTQ\/bmkd2vcfisyDyVUIzc3F25qfIqzMz7TqEXpdQqGPZCO4LbU+gaaPoxNHsWyRQlRHE1vRAHYFWiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiD\/\/2Q=="},{"name":"Petit Marseillais Gel Douche Grenade","quantity":"1","price":"1.7","code":"3574661319308","type":["Nouveau"],"image":"https:\/\/www.gallissimo.shop\/173-medium_default\/gel-douche-le-petit-marseillais-extra-doux-a-la-grenade-de-mediterranee.jpg"},{"name":"Shampoing Ultra Doux Garnier Amande Douce et Fleur de Lotus","quantity":"1","price":"2.3","code":"3600541083479","type":["Nouveau"],"image":"https:\/\/images-na.ssl-images-amazon.com\/images\/I\/71EMsumcREL._SY879_.jpg"},{"name":"Gel Douche Dove Go Fresh Grenade","quantity":"1","price":"1.3","code":"8712561655026","type":["Nouveau"],"image":"https:\/\/www.picclickimg.com\/d\/l400\/pict\/223215143392_\/Dove-Go-Fresh-Pomegranate-And-Lemon-Gel-Douche.jpg"},{"name":"D\u00e9odorant Spray Ushua\u00efa Huilde d'Amandier et P\u00e9tales de N\u00e9roli","quantity":"1","price":"2","code":"3600550362596","type":["Nouveau"],"image":"https:\/\/media.houra.fr\/ART-IMG-L\/96\/25\/3600550362596-1.jpg"},{"name":"Solution Micellaire Tout en 1 Peaux Sensibles Garnier 100ml","quantity":"1","price":"2.2","code":"3600542081238","type":["Nouveau"],"image":"https:\/\/www.di.be\/dw\/image\/v2\/AATN_PRD\/on\/demandware.static\/-\/Sites-master-catalog-di\/default\/dwce48304a\/zoom\/40033809_M.jpg?sw=2000&sh=2000&sm=fit"},{"name":"Solution Micellaire Tout en 1 Peaux Sensibles Maquillage Tenace Garnier 100ml","quantity":"1","price":"3","code":"3600542104111","type":["Nouveau"],"image":"https:\/\/www.di.be\/dw\/image\/v2\/AATN_PRD\/on\/demandware.static\/-\/Sites-master-catalog-di\/default\/dw16094392\/zoom\/40036636_M.jpg"},{"name":"Ultra Liquide Vaisselle Carrefour 500ml","quantity":"2","price":"1.35","code":"3560071011697","type":["Nouveau","Utilitaires"],"image":"https:\/\/www.carrefour.fr\/media\/1500x1500\/Photosite\/PGC\/DROGUERIE\/3560071011697_PHOTOSITE_20170414_162235_0.jpg?placeholder=1"},{"name":"Fressssh Air Freshener Lavender Fragence","quantity":"5","price":"0.79","code":"8717496474513","type":["Nouveau","Utilitaires"],"image":"https:\/\/www.action.com\/globalassets\/cmsarticleimages\/11\/38\/2530452_8717496474513-111.png"},{"name":"Lessive Color Subliem 20 Lavages","quantity":"3","price":"2.92","code":"8712252700097","type":["Nouveau","Utilitaires"],"image":"https:\/\/www.action.com\/globalassets\/cmsarticleimages\/84\/57\/2564114_8712252700059-110.png"},{"name":"Lessive XTRA Total 43 Lavages","quantity":"1","price":"7.1","code":"3178040683426","type":["Nouveau","Utilitaires"],"image":"https:\/\/i2.cdscdn.com\/pdt2\/4\/7\/1\/1\/700x700\/xtra724471\/rw\/xtra-total-43-lavages-3-01l.jpg"},{"name":"Sacs Poubelle 40 x 30L","quantity":"1","price":"1","code":"3232766524033","type":["Nouveau","Utilitaires"],"image":"https:\/\/www.carrefour.fr\/media\/1500x1500\/Photosite\/BAZAR\/CONFORT_DE_LA_MAISON\/3232766524033_PHOTOSITE_20180116_125455_0.jpg?placeholder=1"},{"name":"Sacs Poubelle 20 x 100L","quantity":"1","price":"1.5","code":"3232766524057","type":["Nouveau","Utilitaires"],"image":"https:\/\/www.carrefour.fr\/media\/1500x1500\/Photosite\/BAZAR\/CONFORT_DE_LA_MAISON\/3232766524057_PHOTOSITE_20180116_125144_0.jpg?placeholder=1"},{"name":"Spray D\u00e9sinfectant Medisant\u00e9 100ml","quantity":"1","price":"3.15","code":"3700552700584","type":["Nouveau","Utilitaires"],"image":"https:\/\/www.carrefour.fr\/media\/1500x1500\/Photosite\/PGC\/PARFUMERIE_HYGIENE\/3700552700584_PHOTOSITE_20161017_081434_0.jpg?placeholder=1"},{"name":"Brosse \u00e0 dents Souple Colgate","quantity":"2","price":"1.95","code":"8714789158716","type":["Nouveau"],"image":"https:\/\/www.carrefour.fr\/media\/1500x1500\/Photosite\/PGC\/PARFUMERIE_HYGIENE\/8714789158716_PHOTOSITE_20190525_062715_0.jpg?placeholder=1"},{"name":"Pansements x20 Carrefour","quantity":"2","price":"1.4","code":"3245413125323","type":["Nouveau","Utilitaires"],"image":"https:\/\/www.carrefour.fr\/media\/1500x1500\/Photosite\/PGC\/PARFUMERIE_HYGIENE\/3245413125323_PHOTOSITE_20170428_161904_0.jpg?placeholder=1"},{"name":" Nettoyant Multi-Surfaces Savon Noir Carrefour","quantity":"2","price":"1.35","code":"3560071155179","type":["Nouveau","Utilitaires"],"image":"https:\/\/www.carrefour.fr\/media\/540x540\/Photosite\/PGC\/DROGUERIE\/3560071155179_PHOTOSITE_20180703_161442_0.jpg?placeholder=1"},{"name":"Serviettes Hygi\u00e9niques Ultra Night Femapure","quantity":"3","price":"0.69","code":"8719497830886","type":["Nouveau"],"image":"https:\/\/scontent-lga3-1.cdninstagram.com\/vp\/ae1dfd72a4e9c0f057750abe4c6840a9\/5E13D6ED\/t51.2885-15\/sh0.08\/e35\/c0.180.1440.1440a\/s640x640\/67572111_352763398736351_13651651894312815_n.jpg?_nc_ht=scontent-lga3-1.cdninstagram.com"},{"name":"Serviettes Hygi\u00e9niques Ultra Night Always","quantity":"3","price":"2.10","code":"4015400755609","type":["Nouveau","Utilitaires"],"image":"https:\/\/chezpara.fr\/images\/mag\/prod\/Always%20Ultra%20Night.jpg"},{"name":"Tampax Radiant x16","quantity":"2","price":"4","code":"8001090761286","type":["Nouveau"],"image":"https:\/\/static.beaute-test.com\/prod\/img116788.jpg"},{"name":"Serviettes Hygi\u00e9niques Ultra NANA","quantity":"1","price":"2","code":"7322540562231","type":["Nouveau"],"image":"https:\/\/libresse-images.essity.com\/images-c5\/196410\/femcare615x615png\/7322540562194-nana-ultra-normal-plus-14-2400px-2.png"},{"name":"Serviettes Hygi\u00e9niques Ultra Flex & Fit Always","quantity":"1","price":"1.9","code":"4015400755210","type":["Nouveau"],"image":"https:\/\/azcdn.rosetta.pgsitecore.com\/fr-fr\/-\/media\/Always_FR\/Images\/Products\/ALWAYS%20Ultra%20Packshot%20Update\/ALWAYS%20Ultra%20Normal%20Taille%201%20Serviettes%20hygieniques%20avec%20ailettes\/1200x1200\/ALWAYS-Ultra-Normal-Serviettes-hygieniques-avec-ailettes-14-DT.jpg?w=450&v=1-201902281003"},{"name":"B\u00e2tonnets ouat\u00e9s","quantity":"1","price":"0.3","code":"3560070917396","type":["Nouveau"],"image":"http:\/\/static.courses.carrefour.fr\/static\/wlpdatas\/display\/000\/137\/939\/1379391.jpg"},{"name":"Sirop Menthe Oasis","quantity":"1","price":"2.8","code":"3217690055594","type":["Boissons"],"image":"https:\/\/www.carrefour.fr\/media\/540x540\/Photosite\/PGC\/BOISSONS\/3217690055594_PHOTOSITE_20180502_160508_0.jpg"},{"name":"Sirop Menthe Carrefour","quantity":"1","price":"1.55","code":"3270190005094","type":["Nouveau","Boissons"],"image":"https:\/\/www.carrefour.fr\/media\/1500x1500\/Photosite\/PGC\/BOISSONS\/3270190005094_PHOTOSITE_20170721_160454_0.jpg"},{"name":"Th\u00e9 fruit des bois Lipton","quantity":"1","price":"2.1","code":"8722700159476","type":["Nouveau","Alimentaire"],"image":"https:\/\/images-na.ssl-images-amazon.com\/images\/I\/81peL6wsTzL._SX425_.jpg"},{"name":"40 filtres a caf\u00e9 Auchan","quantity":"1","price":"2.9","code":"3254560086050","type":["Nouveau","Alimentaire"],"image":"https:\/\/afrimarket.fr\/media\/catalog\/product\/cache\/b2d624c059e3f111413754108d34829e\/i\/m\/img_5143.jpg"},{"name":"Freshona Pois Chiches","quantity":"1","price":"1.3","code":"20468583","type":["Nouveau","Alimentaire"],"image":"https:\/\/static.openfoodfacts.org\/images\/products\/20468583\/front_fr.53.full.jpg"},{"name":"Petits Pois extra fins Carrefour 400g","quantity":"3","price":"0.7","code":"3560070320288","type":["Nouveau","Alimentaire"],"image":"https:\/\/www.carrefour.fr\/media\/540x540\/Photosite\/PGC\/EPICERIE\/3560070320288_PHOTOSITE_20181012_160853_0.jpg"},{"name":"Haricots Rouges Carrefour 400g","quantity":"3","price":"0.65","code":"3245412621963","type":["Nouveau","Alimentaire"],"image":"https:\/\/www.carrefour.fr\/media\/540x540\/Photosite\/PGC\/EPICERIE\/3245412621963_PHOTOSITE_20160929_093422_0.jpg"},{"name":"Haricots Verts Carrefour 200g","quantity":"3","price":"0.58","code":"3560070752157","type":["Nouveau","Alimentaire"],"image":"https:\/\/www.carrefour.fr\/media\/280x280\/Photosite\/PGC\/EPICERIE\/3560070323067_PHOTOSITE_20190108_162829_0.jpg"},{"name":"Confiture Bonne Maman Framboise","quantity":"2","price":"1.9","code":"3045320001570","type":["Nouveau","Alimentaire"],"image":"https:\/\/www.carrefour.fr\/media\/540x540\/Photosite\/PGC\/EPICERIE\/3045320001570_PHOTOSITE_20190621_162918_0.jpg"},{"name":"Mousline 195g","quantity":"2","price":"1.95","code":"7613035128859","type":["Nouveau","Alimentaire"],"image":"https:\/\/images-na.ssl-images-amazon.com\/images\/I\/91zaCxbjsjL._SX425_.jpg"},{"name":"Riz Saint Eloi 500g","quantity":"4","price":"1.1","code":"3250390257219","type":["Nouveau","Alimentaire"],"image":"https:\/\/drhmarket.com\/32729-large_default\/saint-eloi-riz-basmati-cello-kg.jpg"},{"name":"Cannelloni 250g Panzani","quantity":"1","price":"2.8","code":"3038353020403","type":["Nouveau","Alimentaire"],"image":"https:\/\/www.panzani.fr\/wp-content\/uploads\/2015\/12\/3038353-020403-Cannelloni-250g.jpg"},{"name":"Serviettes Hygi\u00e9niques Ultra Normal Femapure","quantity":"3","price":"0.69","code":"8719497830909","type":["Nouveau"],"image":"https:\/\/scontent-lga3-1.cdninstagram.com\/vp\/ae1dfd72a4e9c0f057750abe4c6840a9\/5E13D6ED\/t51.2885-15\/sh0.08\/e35\/c0.180.1440.1440a\/s640x640\/67572111_352763398736351_13651651894312815_n.jpg?_nc_ht=scontent-lga3-1.cdninstagram.com"},{"name":"Riz Carrefour 500g","quantity":"1","price":"1.00","code":"3560070902057","type":["Nouveau","Alimentaire"],"image":"https:\/\/www.carrefour.fr\/media\/280x280\/Photosite\/PGC\/EPICERIE\/3560071016548_PHOTOSITE_20170613_161044_0.jpg"},{"name":"Huilde d'olive 1L Carrefour","quantity":"1","price":"4.7","code":"3560070941346","type":["Nouveau","Alimentaire"],"image":"https:\/\/www.carrefour.fr\/media\/540x540\/Photosite\/PGC\/EPICERIE\/3560070941346_PHOTOSITE_20190212_192247_0.jpg"},{"name":"Sucre en morceaux 1kg Auchan","quantity":"1","price":"3.00","code":"3596710336500","type":["Nouveau","Alimentaire"],"image":"https:\/\/www.auchandirect.fr\/backend\/media\/products_images\/0N_95256.jpg"},{"name":"Sucre Glace Daddy","quantity":"1","price":"1.64","code":"3165432640006","type":["Nouveau","Alimentaire"],"image":"https:\/\/images-na.ssl-images-amazon.com\/images\/I\/51hKvmywkpL._SX425_.jpg"},{"name":"Nuoc Mamn 125ml","quantity":"1","price":"1.5","code":"3250390325062","type":["Nouveau","Alimentaire"],"image":"https:\/\/static.openfoodfacts.org\/images\/products\/325\/039\/032\/5062\/front_fr.15.full.jpg"},{"name":"Sucre en poudre Saint-Louis 750g","quantity":"1","price":"1.25","code":"3220035170005","type":["Nouveau","Alimentaire"],"image":"https:\/\/i2.cdscdn.com\/pdt2\/0\/0\/5\/1\/300x300\/auc3220035170005\/rw\/sucre-en-poudre-avec-bouchon-precision.jpg"},{"name":"Vinaigre balsamique 500cl Auchan","quantity":"2","price":"2.59","code":"3254565065487","type":["Nouveau","Alimentaire"],"image":"https:\/\/www.auchandirect.fr\/backend\/media\/products_images\/0N_24520.jpg"},{"name":"Poivre moulu Carrefour","quantity":"2","price":"0.7","code":"3560070762101","type":["Nouveau","Alimentaire"],"image":"https:\/\/www.carrefour.fr\/media\/540x540\/Photosite\/PGC\/EPICERIE\/3560070762101_PHOTOSITE_20180518_174720_0.jpg"},{"name":"Coquillettes 1kg Carrefour","quantity":"3","price":"0.85","code":"3560070328918","type":["Nouveau","Alimentaire"],"image":"https:\/\/www.carrefour.fr\/media\/540x540\/Photosite\/PGC\/EPICERIE\/3560070328918_PHOTOSITE_20170127_162248_0.jpg"},{"name":"Coquillettes 1kg","quantity":"2","price":"0.8","code":"3560071016876","type":["Nouveau"],"image":"https:\/\/www.carrefour.fr\/media\/540x540\/Photosite\/PGC\/EPICERIE\/3560071016876_PHOTOSITE_20171208_164647_0.jpg"},{"name":"Coquilletes 3mn 500g Panzani","quantity":"3","price":"0.9","code":"3038350333001","type":["Nouveau","Alimentaire"],"image":"https:\/\/www.carrefour.fr\/media\/540x540\/Photosite\/PGC\/EPICERIE\/3038350343000_PHOTOSITE_20190206_220349_0.jpg"},{"name":"Macaroni 3mn 500g Panzani","quantity":"2","price":"0.8","code":"3038350333100","type":["Nouveau","Alimentaire"],"image":"https:\/\/www.carrefour.fr\/media\/540x540\/Photosite\/PGC\/EPICERIE\/3038350333100_PHOTOSITE_20190523_165637_0.jpg"},{"name":"Ultra deco sopalin Carrefour 4 rouleaux","quantity":"1","price":"2.3","code":"3560070810017","type":["Nouveau","Utilitaires"],"image":"https:\/\/www.carrefour.fr\/media\/280x280\/Photosite\/PGC\/DROGUERIE\/3560070971954_PHOTOSITE_20170503_161309_0.jpg"},{"name":"Eponges","quantity":"0","price":"1","code":"3560070723836","type":["Utilitaires"],"image":"https:\/\/media4.popsugar-assets.com\/files\/thumbor\/gx5uWX0oBoJ7tvnYhCH4Pw9voHA\/fit-in\/2048xorig\/filters:format_auto-!!-:strip_icc-!!-\/2014\/02\/04\/924\/n\/1922441\/2cbffc6791059ab3_sponges.jpg"},{"name":"Bolognaise 200g Carrefour","quantity":"0","price":"0.85","code":"3560070680016","type":["Nouveau","Alimentaire"],"image":"https:\/\/www.carrefour.fr\/media\/540x540\/Photosite\/PGC\/EPICERIE\/3560070680016_PHOTOSITE_20170503_161315_0.jpg"},{"name":"Lait responsable Candia 1L","quantity":"0","price":"1.05","code":"3533630095834","type":["Boissons"],"image":"https:\/\/les-laitiers-responsables.coop\/wp-content\/themes\/llr\/assets\/images\/Produits\/bp1l.png"},{"name":"KAS 1.5L","quantity":"0","price":"1.55","code":"8410408051368","type":["Boissons"],"image":"https:\/\/www.carrefour.fr\/media\/540x540\/Photosite\/PGC\/BOISSONS\/8410408051368_PHOTOSITE_20190323_045504_0.jpg?placeholder=1"},{"name":"Lait de montagne Carrefour 1L","quantity":"0","price":"0.85","code":"3270190021056","type":["Boissons"],"image":"http:\/\/www.prixing.fr\/images\/product_images\/08e\/08eb33d5feca76fdd061eee6d189099e.jpg"},{"name":"Bloc-note","quantity":"0","price":"2.5","code":"3256226383978","type":["Utilitaires"],"image":"https:\/\/media.ldlc.com\/ld\/products\/00\/01\/70\/27\/LD0001702746_2.jpg"},{"name":"Liquide Vaisselle Carrefour 750ml","quantity":"0","price":"1.05","code":"3560071108816","type":["Nouveau","Utilitaires"],"image":"https:\/\/www.carrefour.fr\/media\/1500x1500\/Photosite\/PGC\/DROGUERIE\/3560071109646_PHOTOSITE_20170510_160808_0.jpg"},{"name":"Pansements x100 LABELL","quantity":"0","price":"0.7","code":"3250391521487","type":["Nouveau","Utilitaires"],"image":"https:\/\/www.prixing.fr\/images\/product_images\/877\/8774a6ef68ea679e83a73c7e43e21220.jpg"},{"name":"Princes","quantity":"0","price":"1.15","code":"7622210449283","type":["Nouveau","Alimentaire"],"image":"https:\/\/www.carrefour.fr\/media\/540x540\/Photosite\/PGC\/EPICERIE\/7622210449283_PHOTOSITE_20190523_163124_0.jpg"},{"name":"Chalala Le Best","quantity":"1","price":"10 000","code":"1","type":["Nouveau","Alimentaire","Boissons","Utilitaires"],"image":"https:\/\/scontent-cdg2-1.xx.fbcdn.net\/v\/t1.0-9\/67452205_2425487914441843_7435316751404892160_n.jpg?_nc_cat=101&_nc_oc=AQnof6Murdn6FdoDQicu6DDH9jSqIC40DtnRWpSjRnlSVpzEXZGQWRgeWmuo0w_8uFE&_nc_ht=scontent-cdg2-1.xx&oh=6ca5d98366ca1f7187c8d5b895604c10&oe=5E063D4B"},{"name":"Thomeus Le Deus (Genoux \u00e0 part)","quantity":"1","price":"10 000","code":"2","type":["Nouveau","Alimentaire","Boissons","Utilitaires"],"image":"https:\/\/scontent-cdg2-1.xx.fbcdn.net\/v\/t1.0-9\/50940774_2447987331941433_2723171817291251712_n.jpg?_nc_cat=110&_nc_oc=AQlF7gooq2aoDBK87GQkVlSIucbmhcmew8k03jHQc6VZYE2RGh6zCVrWuNlBq8JqWvA&_nc_ht=scontent-cdg2-1.xx&oh=aa773dc0a0e659df7bf3263eb5ca1108&oe=5DF1A07D"},{"name":"Mathieu Ducarre","quantity":"1","price":"7500","code":"3","type":["Nouveau","Alimentaire","Boissons","Utilitaires"],"image":"https:\/\/scontent-cdg2-1.xx.fbcdn.net\/v\/t1.15752-0\/p280x280\/69847887_836510833409626_4104461904167043072_n.jpg?_nc_cat=100&_nc_oc=AQmLZC9kG438geZ6WS1My2gXMSaGp9If9OqKzKO5s7yGf_6CWY3yRdhwaAl1-938Xkw&_nc_ht=scontent-cdg2-1.xx&oh=8386fa37b7d0bcbaea05c7818ac65908&oe=5E11C8DB"},{"name":"Elie Astier","quantity":"1","price":"7500","code":"4","type":["Nouveau","Alimentaire","Boissons","Utilitaires"],"image":"https:\/\/scontent-cdg2-1.xx.fbcdn.net\/v\/t1.15752-0\/p280x280\/69847887_836510833409626_4104461904167043072_n.jpg?_nc_cat=100&_nc_oc=AQmLZC9kG438geZ6WS1My2gXMSaGp9If9OqKzKO5s7yGf_6CWY3yRdhwaAl1-938Xkw&_nc_ht=scontent-cdg2-1.xx&oh=8386fa37b7d0bcbaea05c7818ac65908&oe=5E11C8DB"}]}
\ No newline at end of file
diff --git a/uploaded_images/10.jpg b/uploaded_images/10.jpg
new file mode 100644
index 0000000..a6e4401
Binary files /dev/null and b/uploaded_images/10.jpg differ
diff --git a/uploaded_images/100.jpg b/uploaded_images/100.jpg
new file mode 100644
index 0000000..43aed41
Binary files /dev/null and b/uploaded_images/100.jpg differ
diff --git a/uploaded_images/101.jpg b/uploaded_images/101.jpg
new file mode 100644
index 0000000..7d3f450
Binary files /dev/null and b/uploaded_images/101.jpg differ
diff --git a/uploaded_images/102.jpg b/uploaded_images/102.jpg
new file mode 100644
index 0000000..ef032a3
Binary files /dev/null and b/uploaded_images/102.jpg differ
diff --git a/uploaded_images/103.jpg b/uploaded_images/103.jpg
new file mode 100644
index 0000000..72297dc
Binary files /dev/null and b/uploaded_images/103.jpg differ
diff --git a/uploaded_images/104.jpg b/uploaded_images/104.jpg
new file mode 100644
index 0000000..affabbe
Binary files /dev/null and b/uploaded_images/104.jpg differ
diff --git a/uploaded_images/105.jpg b/uploaded_images/105.jpg
new file mode 100644
index 0000000..865ec7f
Binary files /dev/null and b/uploaded_images/105.jpg differ
diff --git a/uploaded_images/106.jpg b/uploaded_images/106.jpg
new file mode 100644
index 0000000..c6dc1fa
Binary files /dev/null and b/uploaded_images/106.jpg differ
diff --git a/uploaded_images/107.jpg b/uploaded_images/107.jpg
new file mode 100644
index 0000000..87188f2
Binary files /dev/null and b/uploaded_images/107.jpg differ
diff --git a/uploaded_images/108.jpg b/uploaded_images/108.jpg
new file mode 100644
index 0000000..c24cd4c
Binary files /dev/null and b/uploaded_images/108.jpg differ
diff --git a/uploaded_images/109.jpg b/uploaded_images/109.jpg
new file mode 100644
index 0000000..3ec61ee
Binary files /dev/null and b/uploaded_images/109.jpg differ
diff --git a/uploaded_images/11.jpg b/uploaded_images/11.jpg
new file mode 100644
index 0000000..402cb6a
Binary files /dev/null and b/uploaded_images/11.jpg differ
diff --git a/uploaded_images/110.jpg b/uploaded_images/110.jpg
new file mode 100644
index 0000000..3efecb4
Binary files /dev/null and b/uploaded_images/110.jpg differ
diff --git a/uploaded_images/111.jpg b/uploaded_images/111.jpg
new file mode 100644
index 0000000..23bd2b4
Binary files /dev/null and b/uploaded_images/111.jpg differ
diff --git a/uploaded_images/112.jpg b/uploaded_images/112.jpg
new file mode 100644
index 0000000..ca55491
Binary files /dev/null and b/uploaded_images/112.jpg differ
diff --git a/uploaded_images/113.jpg b/uploaded_images/113.jpg
new file mode 100644
index 0000000..a60a6a4
Binary files /dev/null and b/uploaded_images/113.jpg differ
diff --git a/uploaded_images/114.jpg b/uploaded_images/114.jpg
new file mode 100644
index 0000000..cb7599e
Binary files /dev/null and b/uploaded_images/114.jpg differ
diff --git a/uploaded_images/115.jpg b/uploaded_images/115.jpg
new file mode 100644
index 0000000..2acb643
Binary files /dev/null and b/uploaded_images/115.jpg differ
diff --git a/uploaded_images/116.jpg b/uploaded_images/116.jpg
new file mode 100644
index 0000000..2c37053
Binary files /dev/null and b/uploaded_images/116.jpg differ
diff --git a/uploaded_images/117.jpg b/uploaded_images/117.jpg
new file mode 100644
index 0000000..cf646c8
Binary files /dev/null and b/uploaded_images/117.jpg differ
diff --git a/uploaded_images/118.jpg b/uploaded_images/118.jpg
new file mode 100644
index 0000000..9bb07fc
Binary files /dev/null and b/uploaded_images/118.jpg differ
diff --git a/uploaded_images/119.jpg b/uploaded_images/119.jpg
new file mode 100644
index 0000000..cc89ba7
Binary files /dev/null and b/uploaded_images/119.jpg differ
diff --git a/uploaded_images/12.jpg b/uploaded_images/12.jpg
new file mode 100644
index 0000000..dc72649
Binary files /dev/null and b/uploaded_images/12.jpg differ
diff --git a/uploaded_images/120.jpg b/uploaded_images/120.jpg
new file mode 100644
index 0000000..ca52e2b
Binary files /dev/null and b/uploaded_images/120.jpg differ
diff --git a/uploaded_images/121.jpg b/uploaded_images/121.jpg
new file mode 100644
index 0000000..e1b3629
Binary files /dev/null and b/uploaded_images/121.jpg differ
diff --git a/uploaded_images/122.jpg b/uploaded_images/122.jpg
new file mode 100644
index 0000000..de0fbb3
Binary files /dev/null and b/uploaded_images/122.jpg differ
diff --git a/uploaded_images/123.jpg b/uploaded_images/123.jpg
new file mode 100644
index 0000000..f2108fa
Binary files /dev/null and b/uploaded_images/123.jpg differ
diff --git a/uploaded_images/13.jpg b/uploaded_images/13.jpg
new file mode 100644
index 0000000..de31747
Binary files /dev/null and b/uploaded_images/13.jpg differ
diff --git a/uploaded_images/14.jpg b/uploaded_images/14.jpg
new file mode 100644
index 0000000..03a351c
Binary files /dev/null and b/uploaded_images/14.jpg differ
diff --git a/uploaded_images/15.jpg b/uploaded_images/15.jpg
new file mode 100644
index 0000000..1bb6532
Binary files /dev/null and b/uploaded_images/15.jpg differ
diff --git a/uploaded_images/16.jpg b/uploaded_images/16.jpg
new file mode 100644
index 0000000..30b87a7
Binary files /dev/null and b/uploaded_images/16.jpg differ
diff --git a/uploaded_images/17.jpg b/uploaded_images/17.jpg
new file mode 100644
index 0000000..1b1d52d
Binary files /dev/null and b/uploaded_images/17.jpg differ
diff --git a/uploaded_images/18.jpg b/uploaded_images/18.jpg
new file mode 100644
index 0000000..6de2758
Binary files /dev/null and b/uploaded_images/18.jpg differ
diff --git a/uploaded_images/19.jpg b/uploaded_images/19.jpg
new file mode 100644
index 0000000..cf58b52
Binary files /dev/null and b/uploaded_images/19.jpg differ
diff --git a/uploaded_images/20.jpg b/uploaded_images/20.jpg
new file mode 100644
index 0000000..48f8194
Binary files /dev/null and b/uploaded_images/20.jpg differ
diff --git a/uploaded_images/21.jpg b/uploaded_images/21.jpg
new file mode 100644
index 0000000..3ede1b0
Binary files /dev/null and b/uploaded_images/21.jpg differ
diff --git a/uploaded_images/22.jpg b/uploaded_images/22.jpg
new file mode 100644
index 0000000..7762506
Binary files /dev/null and b/uploaded_images/22.jpg differ
diff --git a/uploaded_images/23.jpg b/uploaded_images/23.jpg
new file mode 100644
index 0000000..fa3e23f
Binary files /dev/null and b/uploaded_images/23.jpg differ
diff --git a/uploaded_images/24.jpg b/uploaded_images/24.jpg
new file mode 100644
index 0000000..67e25fd
Binary files /dev/null and b/uploaded_images/24.jpg differ
diff --git a/uploaded_images/25.jpg b/uploaded_images/25.jpg
new file mode 100644
index 0000000..15e4b33
Binary files /dev/null and b/uploaded_images/25.jpg differ
diff --git a/uploaded_images/27.jpg b/uploaded_images/27.jpg
new file mode 100644
index 0000000..67bb58b
Binary files /dev/null and b/uploaded_images/27.jpg differ
diff --git a/uploaded_images/28.jpg b/uploaded_images/28.jpg
new file mode 100644
index 0000000..d6b6ece
Binary files /dev/null and b/uploaded_images/28.jpg differ
diff --git a/uploaded_images/29.jpg b/uploaded_images/29.jpg
new file mode 100644
index 0000000..0458cc5
Binary files /dev/null and b/uploaded_images/29.jpg differ
diff --git a/uploaded_images/30.jpg b/uploaded_images/30.jpg
new file mode 100644
index 0000000..89856d9
Binary files /dev/null and b/uploaded_images/30.jpg differ
diff --git a/uploaded_images/31.jpg b/uploaded_images/31.jpg
new file mode 100644
index 0000000..cfd73cd
Binary files /dev/null and b/uploaded_images/31.jpg differ
diff --git a/uploaded_images/32.jpg b/uploaded_images/32.jpg
new file mode 100644
index 0000000..7ba36be
Binary files /dev/null and b/uploaded_images/32.jpg differ
diff --git a/uploaded_images/33.jpg b/uploaded_images/33.jpg
new file mode 100644
index 0000000..794c62c
Binary files /dev/null and b/uploaded_images/33.jpg differ
diff --git a/uploaded_images/34.jpg b/uploaded_images/34.jpg
new file mode 100644
index 0000000..d6251ab
Binary files /dev/null and b/uploaded_images/34.jpg differ
diff --git a/uploaded_images/35.jpg b/uploaded_images/35.jpg
new file mode 100644
index 0000000..24bdbff
Binary files /dev/null and b/uploaded_images/35.jpg differ
diff --git a/uploaded_images/36.jpg b/uploaded_images/36.jpg
new file mode 100644
index 0000000..e25d326
Binary files /dev/null and b/uploaded_images/36.jpg differ
diff --git a/uploaded_images/37.jpg b/uploaded_images/37.jpg
new file mode 100644
index 0000000..34ef156
Binary files /dev/null and b/uploaded_images/37.jpg differ
diff --git a/uploaded_images/38.jpg b/uploaded_images/38.jpg
new file mode 100644
index 0000000..34ef156
Binary files /dev/null and b/uploaded_images/38.jpg differ
diff --git a/uploaded_images/39.jpg b/uploaded_images/39.jpg
new file mode 100644
index 0000000..478920b
Binary files /dev/null and b/uploaded_images/39.jpg differ
diff --git a/uploaded_images/40.jpg b/uploaded_images/40.jpg
new file mode 100644
index 0000000..2d0ff7f
Binary files /dev/null and b/uploaded_images/40.jpg differ
diff --git a/uploaded_images/41.jpg b/uploaded_images/41.jpg
new file mode 100644
index 0000000..52eb065
Binary files /dev/null and b/uploaded_images/41.jpg differ
diff --git a/uploaded_images/42.jpg b/uploaded_images/42.jpg
new file mode 100644
index 0000000..52eb065
Binary files /dev/null and b/uploaded_images/42.jpg differ
diff --git a/uploaded_images/43.jpg b/uploaded_images/43.jpg
new file mode 100644
index 0000000..4427ca1
Binary files /dev/null and b/uploaded_images/43.jpg differ
diff --git a/uploaded_images/44.jpg b/uploaded_images/44.jpg
new file mode 100644
index 0000000..4856551
Binary files /dev/null and b/uploaded_images/44.jpg differ
diff --git a/uploaded_images/45.jpg b/uploaded_images/45.jpg
new file mode 100644
index 0000000..9b8cf46
Binary files /dev/null and b/uploaded_images/45.jpg differ
diff --git a/uploaded_images/46.jpg b/uploaded_images/46.jpg
new file mode 100644
index 0000000..ab7eefa
Binary files /dev/null and b/uploaded_images/46.jpg differ
diff --git a/uploaded_images/47.jpg b/uploaded_images/47.jpg
new file mode 100644
index 0000000..ab7eefa
Binary files /dev/null and b/uploaded_images/47.jpg differ
diff --git a/uploaded_images/48.jpg b/uploaded_images/48.jpg
new file mode 100644
index 0000000..7fc7bae
Binary files /dev/null and b/uploaded_images/48.jpg differ
diff --git a/uploaded_images/49.jpg b/uploaded_images/49.jpg
new file mode 100644
index 0000000..b0577da
Binary files /dev/null and b/uploaded_images/49.jpg differ
diff --git a/uploaded_images/50.jpg b/uploaded_images/50.jpg
new file mode 100644
index 0000000..833e0e9
Binary files /dev/null and b/uploaded_images/50.jpg differ
diff --git a/uploaded_images/51.jpg b/uploaded_images/51.jpg
new file mode 100644
index 0000000..d24387f
Binary files /dev/null and b/uploaded_images/51.jpg differ
diff --git a/uploaded_images/52.jpg b/uploaded_images/52.jpg
new file mode 100644
index 0000000..b3524e5
Binary files /dev/null and b/uploaded_images/52.jpg differ
diff --git a/uploaded_images/53.jpg b/uploaded_images/53.jpg
new file mode 100644
index 0000000..39803b2
Binary files /dev/null and b/uploaded_images/53.jpg differ
diff --git a/uploaded_images/54.jpg b/uploaded_images/54.jpg
new file mode 100644
index 0000000..dd1b789
Binary files /dev/null and b/uploaded_images/54.jpg differ
diff --git a/uploaded_images/55.jpg b/uploaded_images/55.jpg
new file mode 100644
index 0000000..be7021e
Binary files /dev/null and b/uploaded_images/55.jpg differ
diff --git a/uploaded_images/56.jpg b/uploaded_images/56.jpg
new file mode 100644
index 0000000..b7ff944
Binary files /dev/null and b/uploaded_images/56.jpg differ
diff --git a/uploaded_images/57.jpg b/uploaded_images/57.jpg
new file mode 100644
index 0000000..0569a52
Binary files /dev/null and b/uploaded_images/57.jpg differ
diff --git a/uploaded_images/58.jpg b/uploaded_images/58.jpg
new file mode 100644
index 0000000..20a0418
Binary files /dev/null and b/uploaded_images/58.jpg differ
diff --git a/uploaded_images/59.jpg b/uploaded_images/59.jpg
new file mode 100644
index 0000000..7865e03
Binary files /dev/null and b/uploaded_images/59.jpg differ
diff --git a/uploaded_images/60.jpg b/uploaded_images/60.jpg
new file mode 100644
index 0000000..5b4ef28
Binary files /dev/null and b/uploaded_images/60.jpg differ
diff --git a/uploaded_images/61.jpg b/uploaded_images/61.jpg
new file mode 100644
index 0000000..8ceb77d
Binary files /dev/null and b/uploaded_images/61.jpg differ
diff --git a/uploaded_images/62.jpg b/uploaded_images/62.jpg
new file mode 100644
index 0000000..7f1c322
Binary files /dev/null and b/uploaded_images/62.jpg differ
diff --git a/uploaded_images/63.jpg b/uploaded_images/63.jpg
new file mode 100644
index 0000000..15512de
Binary files /dev/null and b/uploaded_images/63.jpg differ
diff --git a/uploaded_images/64.jpg b/uploaded_images/64.jpg
new file mode 100644
index 0000000..822eb78
Binary files /dev/null and b/uploaded_images/64.jpg differ
diff --git a/uploaded_images/65.jpg b/uploaded_images/65.jpg
new file mode 100644
index 0000000..ca55491
Binary files /dev/null and b/uploaded_images/65.jpg differ
diff --git a/uploaded_images/66.jpg b/uploaded_images/66.jpg
new file mode 100644
index 0000000..a17cefa
Binary files /dev/null and b/uploaded_images/66.jpg differ
diff --git a/uploaded_images/68.jpg b/uploaded_images/68.jpg
new file mode 100644
index 0000000..7ed65d3
Binary files /dev/null and b/uploaded_images/68.jpg differ
diff --git a/uploaded_images/69.jpg b/uploaded_images/69.jpg
new file mode 100644
index 0000000..8f5a109
Binary files /dev/null and b/uploaded_images/69.jpg differ
diff --git a/uploaded_images/70.jpg b/uploaded_images/70.jpg
new file mode 100644
index 0000000..172c276
Binary files /dev/null and b/uploaded_images/70.jpg differ
diff --git a/uploaded_images/71.jpg b/uploaded_images/71.jpg
new file mode 100644
index 0000000..9846f60
Binary files /dev/null and b/uploaded_images/71.jpg differ
diff --git a/uploaded_images/72.jpg b/uploaded_images/72.jpg
new file mode 100644
index 0000000..323bce0
Binary files /dev/null and b/uploaded_images/72.jpg differ
diff --git a/uploaded_images/73.jpg b/uploaded_images/73.jpg
new file mode 100644
index 0000000..ebedf97
Binary files /dev/null and b/uploaded_images/73.jpg differ
diff --git a/uploaded_images/74.jpg b/uploaded_images/74.jpg
new file mode 100644
index 0000000..ce6907f
Binary files /dev/null and b/uploaded_images/74.jpg differ
diff --git a/uploaded_images/75.jpg b/uploaded_images/75.jpg
new file mode 100644
index 0000000..f6bfca1
Binary files /dev/null and b/uploaded_images/75.jpg differ
diff --git a/uploaded_images/76.jpg b/uploaded_images/76.jpg
new file mode 100644
index 0000000..a9e74ba
Binary files /dev/null and b/uploaded_images/76.jpg differ
diff --git a/uploaded_images/77.jpg b/uploaded_images/77.jpg
new file mode 100644
index 0000000..e2d30b4
Binary files /dev/null and b/uploaded_images/77.jpg differ
diff --git a/uploaded_images/78.jpg b/uploaded_images/78.jpg
new file mode 100644
index 0000000..13848ee
Binary files /dev/null and b/uploaded_images/78.jpg differ
diff --git a/uploaded_images/79.jpg b/uploaded_images/79.jpg
new file mode 100644
index 0000000..ef1cd39
Binary files /dev/null and b/uploaded_images/79.jpg differ
diff --git a/uploaded_images/80.jpg b/uploaded_images/80.jpg
new file mode 100644
index 0000000..2acb643
Binary files /dev/null and b/uploaded_images/80.jpg differ
diff --git a/uploaded_images/81.jpg b/uploaded_images/81.jpg
new file mode 100644
index 0000000..8ceb77d
Binary files /dev/null and b/uploaded_images/81.jpg differ
diff --git a/uploaded_images/82.jpg b/uploaded_images/82.jpg
new file mode 100644
index 0000000..f61d45c
Binary files /dev/null and b/uploaded_images/82.jpg differ
diff --git a/uploaded_images/83.jpg b/uploaded_images/83.jpg
new file mode 100644
index 0000000..9225648
Binary files /dev/null and b/uploaded_images/83.jpg differ
diff --git a/uploaded_images/84.jpg b/uploaded_images/84.jpg
new file mode 100644
index 0000000..d83bbc2
Binary files /dev/null and b/uploaded_images/84.jpg differ
diff --git a/uploaded_images/85.jpg b/uploaded_images/85.jpg
new file mode 100644
index 0000000..a6d5841
Binary files /dev/null and b/uploaded_images/85.jpg differ
diff --git a/uploaded_images/86.jpg b/uploaded_images/86.jpg
new file mode 100644
index 0000000..af14d10
Binary files /dev/null and b/uploaded_images/86.jpg differ
diff --git a/uploaded_images/87.jpg b/uploaded_images/87.jpg
new file mode 100644
index 0000000..b75870a
Binary files /dev/null and b/uploaded_images/87.jpg differ
diff --git a/uploaded_images/88.jpg b/uploaded_images/88.jpg
new file mode 100644
index 0000000..7f2b592
Binary files /dev/null and b/uploaded_images/88.jpg differ
diff --git a/uploaded_images/89.jpg b/uploaded_images/89.jpg
new file mode 100644
index 0000000..9d065bb
Binary files /dev/null and b/uploaded_images/89.jpg differ
diff --git a/uploaded_images/9.jpg b/uploaded_images/9.jpg
new file mode 100644
index 0000000..600f311
Binary files /dev/null and b/uploaded_images/9.jpg differ
diff --git a/uploaded_images/90.jpg b/uploaded_images/90.jpg
new file mode 100644
index 0000000..5ba2a09
Binary files /dev/null and b/uploaded_images/90.jpg differ
diff --git a/uploaded_images/91.jpg b/uploaded_images/91.jpg
new file mode 100644
index 0000000..4856551
Binary files /dev/null and b/uploaded_images/91.jpg differ
diff --git a/uploaded_images/92.jpg b/uploaded_images/92.jpg
new file mode 100644
index 0000000..cacb7f0
Binary files /dev/null and b/uploaded_images/92.jpg differ
diff --git a/uploaded_images/93.jpg b/uploaded_images/93.jpg
new file mode 100644
index 0000000..be7021e
Binary files /dev/null and b/uploaded_images/93.jpg differ
diff --git a/uploaded_images/94.jpg b/uploaded_images/94.jpg
new file mode 100644
index 0000000..b5dc401
Binary files /dev/null and b/uploaded_images/94.jpg differ
diff --git a/uploaded_images/95.jpg b/uploaded_images/95.jpg
new file mode 100644
index 0000000..ab29b82
Binary files /dev/null and b/uploaded_images/95.jpg differ
diff --git a/uploaded_images/96.jpg b/uploaded_images/96.jpg
new file mode 100644
index 0000000..df1fd2f
Binary files /dev/null and b/uploaded_images/96.jpg differ
diff --git a/uploaded_images/97.jpg b/uploaded_images/97.jpg
new file mode 100644
index 0000000..c7e513e
Binary files /dev/null and b/uploaded_images/97.jpg differ
diff --git a/uploaded_images/98.jpg b/uploaded_images/98.jpg
new file mode 100644
index 0000000..2acb643
Binary files /dev/null and b/uploaded_images/98.jpg differ
diff --git a/uploaded_images/99.jpg b/uploaded_images/99.jpg
new file mode 100644
index 0000000..baf19b7
Binary files /dev/null and b/uploaded_images/99.jpg differ