{"product_id":"zmishibo-ventilateur-de-plafond","title":"ZMISHIBO Ventilateur de Plafond","description":"\u003cdiv\u003e\n\u003cdiv lang=\"fr_FR\"\u003e\n\u003cdiv class=\"aplus-v2 desktop celwidget\"\u003e\n\u003cscript type=\"text\/javascript\"\u003e\/\/ \u003c![CDATA[\n(function(f) {var _np=(window.P._namespace(\"PremiumAplusModule\"));if(_np.guardFatal){_np.guardFatal(f)(_np);}else{f(_np);}}(function(P) {\nP.now('premium-module-12-nav-carousel').execute('init-premium-module-12-nav-carousel', function(init) {\n    if (init) {\n        return;\n    }\n    P.register('premium-module-12-nav-carousel', function(){\n        return function() {\n            P.when('A', 'jQuery', 'a-carousel-framework', 'ready').execute('premium-12-nav-carousel', function (A, $, framework) {\n                function initiateCarousel(module) {\n                    var MODULE_ID = $(module).data('module-id');\n                    \/**\n                    * Carousel button element classname\n                    * @const\n                    *\/\n                    var GOTO_BTN_CLASS_NAME = \"aplus-goto-btn-\" + MODULE_ID;\n                    \/**\n                    * Carousel button element active classname\n                    * @const\n                    *\/\n                    var GOTO_BTN_ACTIVE_CLASS_NAME = \"aplus-active\";\n                    \/**\n                    * AUI name for aui carousel\n                    * @const\n                    *\/\n                    var CAROUSEL_NAME = \"premium-aplus-12-carousel-\" + MODULE_ID;\n                    \/**\n                    * Module class name\n                    * @const\n                    *\/\n                    var MODULE_CLASS_NAME = \".aplus-v2 .premium-aplus-module-12\";\n                    \/**\n                    * Carousel text container class name\n                    * @const\n                    *\/\n                    var TEXT_CONTAINER_CLASS_NAME = MODULE_CLASS_NAME + \" .aplus-carousel-text-container-\" + MODULE_ID;\n                    \/**\n                    * Carousel text hidden class name\n                    * @const\n                    *\/\n                    var TEXT_CONTAINER_HIDDEN = \"aplus-hidden\";\n                    \/**\n                    * Carousel horizontal scroll container class name\n                    * @const\n                    *\/\n                    var HORIZONTAL_SCROLL_CONTAINER_CLASS_NAME = MODULE_CLASS_NAME + \" .aplus-horizontal-scroll-container-\" + MODULE_ID;\n\n                    function showCarouselText(oldIndex, newIndex) {\n                        var oldClass = TEXT_CONTAINER_CLASS_NAME + \"-\" + oldIndex;\n                        var newClass= TEXT_CONTAINER_CLASS_NAME + \"-\" + newIndex;\n                        $(oldClass).addClass(TEXT_CONTAINER_HIDDEN);\n                        $(newClass).removeClass(TEXT_CONTAINER_HIDDEN);\n                    }\n\n                    function scrollToCarouselButton(scrollLeft) {\n                        if ($(HORIZONTAL_SCROLL_CONTAINER_CLASS_NAME).length) {\n                            $(HORIZONTAL_SCROLL_CONTAINER_CLASS_NAME).animate({scrollLeft}, 200);\n                        }\n                    }\n\n                    \/**\n                    * Creates a CarouselButton class for provided carousel instance\n                    * @param {object} carousel - AUI Carousel instance\n                    * @returns {Class} - CarouselButton Class\n                    *\/\n                    function CarouselButtonTemplate(carousel) {\n                        \/**\n                        * Button for controlling the active slide\n                        * @constructor\n                        * @param {number} index - slide index\n                        * @param {DOMElement} [elem] - optional DOM element to use as this objects DOM representation\n                        *\/\n                        function CarouselButton(index, elem) {\n                            var self = this;\n                            this.index = index;\n                            this.carousel = carousel;\n\n                            \/* create the button element *\/\n                            this.elem = this.getElem(elem);\n                            this.$elem = $(this.elem);  \/* store jquery version *\/\n                            this.elem.addEventListener('click', self.handleClick.bind(self));\n                            this.elem.setAttribute('role', 'tab');\n\n                            \/* add this object to the object manager *\/\n                            CarouselButton.objects.byId[index] = this;\n                            CarouselButton.objects.all.push(this);\n                        }\n\n                        \/**\n                        * Describe behavior for click events on this.elem\n                        * @memberOf CarouselButton\n                        *\/\n                        CarouselButton.prototype.handleClick = function(e) {\n                            e.preventDefault();\n                            this.carousel.gotoPage(this.index);\n                        };\n\n                        \/**\n                        * Enter active state\n                        * @memberOf CarouselButton\n                        *\/\n                        CarouselButton.prototype.activate = function() {\n                            this.$elem.addClass(GOTO_BTN_ACTIVE_CLASS_NAME).attr('aria-selected', 'true');\n                        };\n\n                        \/**\n                        * Enter inactive state\n                        * @memberOf CarouselButton\n                        *\/\n                        CarouselButton.prototype.deactivate = function() {\n                            this.$elem.removeClass(GOTO_BTN_ACTIVE_CLASS_NAME).attr('aria-selected', 'false');\n                        };\n\n                        \/**\n                        * Returns an existing or creates a new bound element for this object\n                        * @memberOf CarouselButton\n                        * @param {DOMElement} [elem] - optionally provide an existing element in the DOM to use\n                        * @returns {DOMElement} - this objects DOM representation\n                        *\/\n                        CarouselButton.prototype.getElem = function(elem) {\n                            if (this.elem) return this.elem;\n                            if (elem) return elem;\n\n                            var createdElem = document.createElement('span');\n                            createdElem.className = GOTO_BTN_CLASS_NAME;\n\n                            return createdElem;\n                        };\n\n                        \/** @const Object manager *\/\n                        CarouselButton.objects = {\n                            byId: {},\n                            all: [],\n                        };\n\n                        return CarouselButton;\n                    }\n\n                    framework.onInit(CAROUSEL_NAME, function(carousel) {\n                        \/** @const {Class} *\/\n                        var CarouselButton = CarouselButtonTemplate(carousel);\n\n                        \/* create carousel controls *\/\n                        var $carouselBtns = $(safeClassSelector(GOTO_BTN_CLASS_NAME));\n                        var btns = $carouselBtns.map(function(i, btnElem) {\n                            return new CarouselButton(i + 1, btnElem);\n                        });\n\n                        \/* activate first one *\/\n                        CarouselButton.objects.byId[1].activate();\n\n                        \/* Listen to slide changes *\/\n                        A.on(\"a:carousel:\" + CAROUSEL_NAME + \":change:pageNumber\", function (data) {\n                            var newCarouselButton = CarouselButton.objects.byId[data.newValue];\n                            var marginLeft = parseInt(getComputedStyle(newCarouselButton.elem).getPropertyValue('margin-left'));\n                            var positionLeft = newCarouselButton.elem.offsetLeft - marginLeft;\n\n                            newCarouselButton.activate();\n                            CarouselButton.objects.byId[data.oldValue].deactivate();\n                            scrollToCarouselButton(positionLeft);\n                            showCarouselText(data.oldValue, data.newValue);\n                        });\n                    });\n\n                    \/**\n                    * @returns {string} - css classname prefixed with module selector\n                    *\/\n                    function safeClassSelector(className) {\n                        return '.' + MODULE_CLASS_NAME + ' .' + className;\n                    }\n                }\n\n                $('.aplus-v2 .premium-aplus-module-12 .aplus-carousel-container').each(function (index, module) {\n                    initiateCarousel(module);\n                });\n                framework.createAll();\n                framework.initializeAll();\n            });\n        }\n    })\n});\n}));\n\/\/ ]]\u003e\u003c\/script\u003e\n\u003cdiv class=\"aplus-content-wrapper\"\u003e\n\u003cdiv class=\"celwidget aplus-module premium-module-2-fullbackground-image aplus-premium\"\u003e\n\u003cdiv class=\"a-section a-spacing-none premium-aplus premium-aplus-module-2\"\u003e\n\u003cdiv class=\"a-section a-spacing-none premium-background-wrapper\"\u003e\n\u003cdiv class=\"a-section a-spacing-none background-image\"\u003e\n\u003ch2 data-section-id=\"hfnsxz\" data-start=\"0\" data-end=\"76\" class=\"PDq2pG_selectionAnchorContainer\"\u003eDesign, Silence et Confort au Quotidien\u003cspan aria-hidden=\"true\" class=\"PDq2pG_selectionAnchor\"\u003e\u003c\/span\u003e\n\u003c\/h2\u003e\n\u003cp data-start=\"78\" data-end=\"418\"\u003eDécouvrez notre sélection de \u003cstrong data-start=\"107\" data-end=\"143\"\u003eventilateurs de plafond ZMISHIBO\u003c\/strong\u003e, une marque reconnue pour ses modèles modernes, performants et économes en énergie. Conçus pour améliorer le confort de votre intérieur, les ventilateurs de plafond ZMISHIBO assurent une circulation optimale de l'air tout en apportant une touche élégante à votre décoration.\u003c\/p\u003e\n\u003cp data-start=\"420\" data-end=\"806\"\u003eGrâce à leur \u003cstrong data-start=\"433\" data-end=\"454\"\u003emoteur silencieux\u003c\/strong\u003e, leurs \u003cstrong data-start=\"462\" data-end=\"499\"\u003eplusieurs vitesses de ventilation\u003c\/strong\u003e et leur \u003cstrong data-start=\"508\" data-end=\"541\"\u003efonction réversible été\/hiver\u003c\/strong\u003e, les ventilateurs ZMISHIBO offrent un confort optimal en toute saison. En été, ils procurent une agréable sensation de fraîcheur. En hiver, ils redistribuent efficacement la chaleur accumulée au plafond, contribuant ainsi à réduire votre consommation de chauffage.\u003c\/p\u003e\n\u003cp data-start=\"808\" data-end=\"1253\"\u003eSelon les modèles, profitez d'un \u003cstrong data-start=\"841\" data-end=\"866\"\u003eéclairage LED intégré\u003c\/strong\u003e, d'une \u003cstrong data-start=\"874\" data-end=\"890\"\u003etélécommande\u003c\/strong\u003e, d'un contrôle par application mobile, de la compatibilité avec les assistants vocaux et d'un éclairage LED à intensité et température de couleur réglables. Disponibles dans plusieurs dimensions et finitions (bois, noir, blanc ou moderne), les ventilateurs de plafond ZMISHIBO s'intègrent parfaitement dans un salon, une chambre, une salle à manger ou un bureau.\u003c\/p\u003e\n\u003cp data-start=\"1255\" data-end=\"1437\"\u003eChoisir un \u003cstrong data-start=\"1266\" data-end=\"1301\"\u003eventilateur de plafond ZMISHIBO\u003c\/strong\u003e, c'est opter pour un équipement fiable, silencieux, économique et design, pensé pour offrir un confort durable tout au long de l'année.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cdiv class=\"a-section a-spacing-small a-spacing-top-small\"\u003e\n\u003ctable role=\"list\" class=\"a-normal a-spacing-micro\"\u003e\n\u003ctbody\u003e\n\u003ctr role=\"listitem\" class=\"a-spacing-small po-brand\"\u003e\n\u003ctd role=\"presentation\" class=\"a-span3\"\u003e\u003cspan class=\"a-size-base a-text-bold\"\u003eMarque\u003c\/span\u003e\u003c\/td\u003e\n\u003ctd role=\"presentation\" class=\"a-span9\"\u003e\u003cspan class=\"a-size-base po-break-word\"\u003eZMISHIBO\u003c\/span\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr role=\"listitem\" class=\"a-spacing-small po-color\"\u003e\n\u003ctd role=\"presentation\" class=\"a-span3\"\u003e\u003cspan class=\"a-size-base a-text-bold\"\u003eCouleur\u003c\/span\u003e\u003c\/td\u003e\n\u003ctd role=\"presentation\" class=\"a-span9\"\u003e\u003cspan class=\"a-size-base po-break-word\"\u003eNoir\u003c\/span\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr role=\"listitem\" class=\"a-spacing-small po-material\"\u003e\n\u003ctd role=\"presentation\" class=\"a-span3\"\u003e\u003cspan class=\"a-size-base a-text-bold\"\u003eMatériau\u003c\/span\u003e\u003c\/td\u003e\n\u003ctd role=\"presentation\" class=\"a-span9\"\u003e\u003cspan class=\"a-size-base po-break-word\"\u003eMétal\u003c\/span\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr role=\"listitem\" class=\"a-spacing-small po-style\"\u003e\n\u003ctd role=\"presentation\" class=\"a-span3\"\u003e\u003cspan class=\"a-size-base a-text-bold\"\u003eStyle\u003c\/span\u003e\u003c\/td\u003e\n\u003ctd role=\"presentation\" class=\"a-span9\"\u003e\u003cspan class=\"a-size-base po-break-word\"\u003eModerne\u003c\/span\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr role=\"listitem\" class=\"a-spacing-small po-light_fixture_form\"\u003e\n\u003ctd role=\"presentation\" class=\"a-span3\"\u003e\u003cspan class=\"a-size-base a-text-bold\"\u003eForme du luminaire\u003c\/span\u003e\u003c\/td\u003e\n\u003ctd role=\"presentation\" class=\"a-span9\"\u003e\u003cspan class=\"a-size-base po-break-word\"\u003eÉclairage pour ventilateurs de plafond\u003c\/span\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr role=\"listitem\" class=\"a-spacing-small po-room_type\"\u003e\n\u003ctd role=\"presentation\" class=\"a-span3\"\u003e\u003cspan class=\"a-size-base a-text-bold\"\u003eType de pièce\u003c\/span\u003e\u003c\/td\u003e\n\u003ctd role=\"presentation\" class=\"a-span9\"\u003e\u003cspan class=\"a-size-base po-break-word\"\u003eChambre à coucher\u003c\/span\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr role=\"listitem\" class=\"a-spacing-small po-item_length_width_height\"\u003e\n\u003ctd role=\"presentation\" class=\"a-span3\"\u003e\u003cspan class=\"a-size-base a-text-bold\"\u003eDimensions du produit\u003c\/span\u003e\u003c\/td\u003e\n\u003ctd role=\"presentation\" class=\"a-span9\"\u003e\u003cspan class=\"a-size-base po-break-word\"\u003e50,8L x 50,8l x 32H centimètres\u003c\/span\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr role=\"listitem\" class=\"a-spacing-small po-specific_uses_for_product\"\u003e\n\u003ctd role=\"presentation\" class=\"a-span3\"\u003e\u003cspan class=\"a-size-base a-text-bold\"\u003eUsages spécifiques pour le produit\u003c\/span\u003e\u003c\/td\u003e\n\u003ctd role=\"presentation\" class=\"a-span9\"\u003e\u003cspan class=\"a-size-base po-break-word\"\u003eChambre à coucher\u003c\/span\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr role=\"listitem\" class=\"a-spacing-small po-indoor_outdoor_usage\"\u003e\n\u003ctd role=\"presentation\" class=\"a-span3\"\u003e\u003cspan class=\"a-size-base a-text-bold\"\u003eUtilisation intérieure\/extérieure\u003c\/span\u003e\u003c\/td\u003e\n\u003ctd role=\"presentation\" class=\"a-span9\"\u003e\u003cspan class=\"a-size-base po-break-word\"\u003eIntérieur\u003c\/span\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr role=\"listitem\" class=\"a-spacing-small po-power_source_type\"\u003e\n\u003ctd role=\"presentation\" class=\"a-span3\"\u003e\u003cspan class=\"a-size-base a-text-bold\"\u003eSource d'alimentation\u003c\/span\u003e\u003c\/td\u003e\n\u003ctd role=\"presentation\" class=\"a-span9\"\u003e\u003cspan class=\"a-size-base po-break-word\"\u003eCâble électrique\u003c\/span\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e","brand":"Luminaire France","offers":[{"title":"Noir","offer_id":54078540906834,"sku":"B0GN92LYDY","price":104.79,"currency_code":"EUR","in_stock":true},{"title":"Blanc","offer_id":54078540939602,"sku":"B0GH78PCWV","price":0.0,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1092\/3288\/2002\/files\/71qyl6eKacL._AC_SL1500.jpg?v=1784830375","url":"https:\/\/luminairefrance.fr\/products\/zmishibo-ventilateur-de-plafond","provider":"Luminaire France","version":"1.0","type":"link"}