horace.com Open in urlscan Pro
2606:4700:20::681a:295  Public Scan

URL: https://horace.com/
Submission: On July 24 via manual from JP — Scanned from JP

Form analysis 29 forms found in the DOM

POST https://horace.com/fr/sociallogin/account/loginPost/

<form style="display:none;" class="form" action="https://horace.com/fr/sociallogin/account/loginPost/" method="post" id="sociallogin-login-form">
  <input id="sociallogin-login-referer" name="refress-redirect-url" type="hidden" value="">
  <input id="sociallogin-login-submit" type="submit" value="">
</form>

POST #

<form id="form-gift-newsletter-mobile" @submit.prevent="submitData" :class="{ 'border border-gray-12' : displayForm }" action="#" method="POST" class="border border-gray-12">
  <input name="form_key" type="hidden" value="MNwD0YzJDL2fLqwp">
  <div :class="{ 'hidden' : !displayForm, 'flex' : displayForm }" class="flex">
    <div class="w-full">
      <input x-model="formData.email" type="email" value="" name="email" id="email_gift-newsletter-mobile" placeholder="monsieursympa@sympa.fr" required="" autocomplete="off">
    </div>
    <div class="flex">
      <button type="submit" class="btn" x-html="buttonLabel"><svg xmlns="http://www.w3.org/2000/svg" width="30" height="30" viewBox="0 0 100 100" class="fill-current stroke-current text-white">
          <path
            d="M17.9,51.3l14.7,14.6c0.3,0.3,0.7,0.4,1.1,0.4c0.4,0,0.8-0.1,1.1-0.4c0.6-0.6,0.6-1.5,0-2.1L22.3,51.5h59   c0.8,0,1.5-0.7,1.5-1.5s-0.7-1.5-1.5-1.5H22.3l12.5-12.2c0.6-0.6,0.6-1.5,0-2.1c-0.6-0.6-1.5-0.6-2.1,0L16.5,49.9l0.9,0.9   C17.5,51,17.7,51.2,17.9,51.3z"
            transform="translate(100, 100) rotate(180) "></path>
        </svg></button>
    </div>
  </div>
  <div class="message-text mt-2" x-transition="" x-show="!displayForm" x-html="message" style="display: none;"></div>
  <template x-if="errorMessages.length > 0 &amp;&amp; !displayForm">
    <div>
      <template x-for="errorMessage in errorMessages">
        <div class="message-text font-semibold text-sm mt-2" x-html="errorMessage"></div>
      </template>
    </div>
  </template>
</form>

POST #

<form @submit.prevent="submitData" id="form-popover-discount" class="mt-3 w-full" action="#" method="POST">
  <input name="form_key" type="hidden" value="MNwD0YzJDL2fLqwp">
  <div :class="{ 'hidden' : !displayForm }">
    <p class="font-bold mb-2">Inscription newsletter</p>
    <p class="mb-2">Offre de bienvenue : <span class="text-secondary">10% de réduction</span> sur votre prochaine commande !</p>
    <div class="mb-2">
      <label for="email-address" class="sr-only">Email address</label>
      <input x-model="formData.email" name="email" type="email" autocomplete="off" class="block w-full text-sm border-gray-1 placeholder-gray-8" placeholder="monsieursympa@sympa.fr" required="required">
    </div>
    <button type="submit" x-html="buttonLabel" class="btn btn-secondary w-full flex justify-center uppercase tracking-semi-wider">Valider </button>
  </div>
  <div class="message-text" x-html="message"></div>
  <template x-if="errorMessages.length > 0">
    <div class="message-text">
      <template x-for="errorMessage in errorMessages">
        <span x-html="errorMessage"></span>
      </template>
    </div>
  </template>
</form>

POST #

<form action="#" method="POST">
  <div x-on:mouseleave="displayList = false;">
    <label for="country">
      <span class="icon--sprite language mr-2"></span>
      <span class="text-base font-normal text-gray-5 align-text-top"> Livraison </span>
    </label>
    <div class="relative">
      <div @click="displayList = true;" class="absolute inset-0 w-full h-full opacity-0 z-10 cursor-pointer"></div>
      <div id="loader-language-switch" class="loader-popover hidden" :class="{'flex': loading === true, 'hidden': loading === false}">
        <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" fill="none" class="animate-spin text-secondary">
          <g clip-path="url(#clip0)">
            <path
              d="M12.1786 3.46768L11.9946 3.65167L12.1858 3.82816C13.2889 4.84647 13.972 6.37937 13.972 8.00002C13.972 11.3286 11.3284 13.9722 7.99978 13.9722C4.67119 13.9722 2.02756 11.3286 2.02756 8.00002C2.02756 6.37937 2.71063 4.84647 3.8138 3.82816L4.00499 3.65167L3.821 3.46768L3.10989 2.75657L2.92692 2.5736L2.75035 2.76277C1.46731 4.13746 0.638672 5.9747 0.638672 8.00002C0.638672 12.0492 3.9506 15.3611 7.99978 15.3611C12.049 15.3611 15.3609 12.0492 15.3609 8.00002C15.3609 5.9747 14.5323 4.13746 13.2492 2.76277L13.0727 2.5736L12.8897 2.75657L12.1786 3.46768Z"
              fill="currentColor" stroke="currentColor" stroke-width="0.5"></path>
          </g>
          <defs>
            <clipPath id="clip0">
              <rect width="16" height="16" fill="currentColor"></rect>
            </clipPath>
          </defs>
        </svg>
      </div>
      <select id="country" name="country" autocomplete="country" class="text-m block w-full border-gray-2 z-0">
        <option value="BE"> Belgique (€) </option>
        <option selected="selected" value="FR"> France (€) </option>
        <option value="MC"> Monaco (€) </option>
        <option data-url="https://horace.com/fr/stores/store/redirect/___store/en_fr/___from_store/fr/uenc/aHR0cHM6Ly9ob3JhY2UuY29tL2VuX2ZyLw%2C%2C?switchCountry=DE" value="DE"> Germany (€) </option>
        <option data-url="https://horace.com/fr/stores/store/redirect/___store/en_fr/___from_store/fr/uenc/aHR0cHM6Ly9ob3JhY2UuY29tL2VuX2ZyLw%2C%2C?switchCountry=ES" value="ES"> Spain (€) </option>
        <option data-url="https://horace.com/fr/stores/store/redirect/___store/en_fr/___from_store/fr/uenc/aHR0cHM6Ly9ob3JhY2UuY29tL2VuX2ZyLw%2C%2C?switchCountry=IE" value="IE"> Ireland (€) </option>
        <option data-url="https://horace.com/fr/stores/store/redirect/___store/en_fr/___from_store/fr/uenc/aHR0cHM6Ly9ob3JhY2UuY29tL2VuX2ZyLw%2C%2C?switchCountry=LU" value="LU"> Luxembourg (€) </option>
        <option data-url="https://horace.com/fr/stores/store/redirect/___store/en_fr/___from_store/fr/uenc/aHR0cHM6Ly9ob3JhY2UuY29tL2VuX2ZyLw%2C%2C?switchCountry=NL" value="NL"> Netherlands (€) </option>
        <option data-url="https://horace.com/fr/stores/store/redirect/___store/en_fr/___from_store/fr/uenc/aHR0cHM6Ly9ob3JhY2UuY29tL2VuX2ZyLw%2C%2C?switchCountry=CH" value="CH"> Switzerland (€) </option>
        <option data-url="https://horace.com/fr/stores/store/redirect/___store/en/___from_store/fr/uenc/aHR0cHM6Ly9ob3JhY2UuY29tL2VuLw%2C%2C?switchCountry=GB" value="GB"> United Kingdom (£) </option>
        <option data-url="https://horace.com/fr/stores/store/redirect/___store/us/___from_store/fr/uenc/aHR0cHM6Ly9ob3JhY2UuY29tL3VzLw%2C%2C?switchCountry=US" value="US"> United States ($) </option>
      </select>
    </div>
    <div x-show="displayList" id="country-selector" class="flex flex-col relative w-full" style="display: none;">
      <div class="absolute shadow bg-white top-0 z-40 w-full h-48 lef-0 rounded-b-lg overflow-y-auto">
        <div class="selector-option cursor-pointer w-full lg:hover:text-secondary" data-country="BE" @click="changeCountry('BE')">
          <div class="w-full text-left border-transparent border-l-2 relative px-3 py-2" :class="{'font-semibold border-primary': selectedCountry === 'BE' }"> Belgique (€) </div>
        </div>
        <div class="selector-option cursor-pointer w-full lg:hover:text-secondary" data-country="FR" @click="changeCountry('FR')">
          <div class="w-full text-left border-transparent border-l-2 relative px-3 py-2 font-semibold border-primary" :class="{'font-semibold border-primary': selectedCountry === 'FR' }"> France (€) </div>
        </div>
        <div class="selector-option cursor-pointer w-full lg:hover:text-secondary" data-country="DE" @click="changeCountry('DE')">
          <div class="w-full text-left border-transparent border-l-2 relative px-3 py-2" :class="{'font-semibold border-primary': selectedCountry === 'DE' }"> Germany (€) </div>
        </div>
        <div class="selector-option cursor-pointer w-full lg:hover:text-secondary" data-country="IE" @click="changeCountry('IE')">
          <div class="w-full text-left border-transparent border-l-2 relative px-3 py-2" :class="{'font-semibold border-primary': selectedCountry === 'IE' }"> Ireland (€) </div>
        </div>
        <div class="selector-option cursor-pointer w-full lg:hover:text-secondary" data-country="LU" @click="changeCountry('LU')">
          <div class="w-full text-left border-transparent border-l-2 relative px-3 py-2" :class="{'font-semibold border-primary': selectedCountry === 'LU' }"> Luxembourg (€) </div>
        </div>
        <div class="selector-option cursor-pointer w-full lg:hover:text-secondary" data-country="MC" @click="changeCountry('MC')">
          <div class="w-full text-left border-transparent border-l-2 relative px-3 py-2" :class="{'font-semibold border-primary': selectedCountry === 'MC' }"> Monaco (€) </div>
        </div>
        <div class="selector-option cursor-pointer w-full lg:hover:text-secondary" data-country="NL" @click="changeCountry('NL')">
          <div class="w-full text-left border-transparent border-l-2 relative px-3 py-2" :class="{'font-semibold border-primary': selectedCountry === 'NL' }"> Netherlands (€) </div>
        </div>
        <div class="selector-option cursor-pointer w-full lg:hover:text-secondary" data-country="ES" @click="changeCountry('ES')">
          <div class="w-full text-left border-transparent border-l-2 relative px-3 py-2" :class="{'font-semibold border-primary': selectedCountry === 'ES' }"> Spain (€) </div>
        </div>
        <div class="selector-option cursor-pointer w-full lg:hover:text-secondary" data-country="CH" @click="changeCountry('CH')">
          <div class="w-full text-left border-transparent border-l-2 relative px-3 py-2" :class="{'font-semibold border-primary': selectedCountry === 'CH' }"> Switzerland (€) </div>
        </div>
        <div class="selector-option cursor-pointer w-full lg:hover:text-secondary" data-country="GB" @click="changeCountry('GB')">
          <div class="w-full text-left border-transparent border-l-2 relative px-3 py-2" :class="{'font-semibold border-primary': selectedCountry === 'GB' }"> United Kingdom (£) </div>
        </div>
        <div class="selector-option cursor-pointer w-full lg:hover:text-secondary" data-country="US" @click="changeCountry('US')">
          <div class="w-full text-left border-transparent border-l-2 relative px-3 py-2" :class="{'font-semibold border-primary': selectedCountry === 'US' }"> United States ($) </div>
        </div>
      </div>
    </div>
  </div>
</form>

GET https://horace.com/fr/catalogsearch/result/

<form id="search_mini_form" action="https://horace.com/fr/catalogsearch/result/" method="get">
  <div id="algolia-searchbox" class="mb-4">
    <input id="search" x-ref="searchInput" x-data="initAlgoliaAutoComplete()" @click="load()" @focus="load()" type="text" name="q" class="input-text algolia-search-input bordeless bordeless--primary" autocomplete="off" spellcheck="false"
      autocorrect="off" autocapitalize="off" placeholder="Chercher">
    <span class="clear-cross clear-query-autocomplete"></span>
  </div>
</form>

POST #

<form action="#" method="post" class="form-updateitem--cart-drawer mr-auto" :data-form-updateitem="item.item_id">
  <div class="flex">
    <template x-if="!item.is_subscription">
      <a class="change-item-qty py-1 pr-2 text-sm cursor-pointer" @click="updateItemFromCart($event, item.item_id)" :data-newquantity="item.qty - 1" :data-itemid="item.item_id">-</a>
    </template>
    <div class="py-1 px-2">
      <input type="number" name="qty" :data-id="item.item_id" maxlength="12" :value="item.qty" title="Quantité" class="input-text qty" style="display:none">
      <span class="qty--form-updateitem" x-html="item.qty"></span>
      <span class="loader--form-updateitem">
        <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" fill="none" class="animate-spin mx-2">
          <g clip-path="url(#clip0)">
            <path
              d="M12.1786 3.46768L11.9946 3.65167L12.1858 3.82816C13.2889 4.84647 13.972 6.37937 13.972 8.00002C13.972 11.3286 11.3284 13.9722 7.99978 13.9722C4.67119 13.9722 2.02756 11.3286 2.02756 8.00002C2.02756 6.37937 2.71063 4.84647 3.8138 3.82816L4.00499 3.65167L3.821 3.46768L3.10989 2.75657L2.92692 2.5736L2.75035 2.76277C1.46731 4.13746 0.638672 5.9747 0.638672 8.00002C0.638672 12.0492 3.9506 15.3611 7.99978 15.3611C12.049 15.3611 15.3609 12.0492 15.3609 8.00002C15.3609 5.9747 14.5323 4.13746 13.2492 2.76277L13.0727 2.5736L12.8897 2.75657L12.1786 3.46768Z"
              fill="currentColor" stroke="currentColor" stroke-width="0.5"></path>
          </g>
          <defs>
            <clipPath id="clip0">
              <rect width="16" height="16" fill="currentColor"></rect>
            </clipPath>
          </defs>
        </svg>
      </span>
    </div>
    <template x-if="!item.is_subscription">
      <a class="change-item-qty py-1 pl-2 text-sm cursor-pointer" :data-oldqty="item.qty" :data-newquantity="item.qty + 1" @click="updateItemFromCart($event, item.item_id)" :data-itemid="item.item_id">+</a>
    </template>
  </div>
</form>

POST

<form method="post" :id="'add_to_cart_form_step_product_' + stepProduct.id" class="item product product-item product_addtocart_form">
  <input type="hidden" name="form_key" :value="hyva.getFormKey()">
  <input type="hidden" name="product" :value="stepProduct.id">
  <input type="hidden" name="isAjax" value="true">
  <input type="hidden" name="stepId" :value="step.id">
  <template x-if="stepProduct.product_options &amp;&amp; stepProduct.product_options.length">
    <div>
      <template x-for="option in stepProduct.product_options" :key="option">
        <input type="hidden" :id="option.id" :name="option.name" :form="option.form" :class="option.class" :value="option.value" checked="checked" :data-option-id="option.data_option_id" :data-selection-id="option.data_selection_id"
          :x-ref="option.x_ref">
      </template>
    </div>
  </template>
  <div class="item-upsell-product">
    <p class="description-offer-stepcart" x-show="!stepProduct.used" x-html="step.minimum_amount_text"></p>
    <template x-if="stepProduct.url_key">
      <a :href="stepProduct.url_key" :title="stepProduct.name">
<img :src="stepProduct.product_image.src" :width="stepProduct.product_image.width" :height="stepProduct.product_image.height" :title="stepProduct.product_image.alt" class="image-item--cart-drawer" loading="lazy">
</a>
    </template>
    <template x-if="!stepProduct.url_key">
      <img :src="stepProduct.product_image.src" :width="stepProduct.product_image.width" :height="stepProduct.product_image.height" :title="stepProduct.product_image.alt" class="image-item--cart-drawer" loading="lazy">
    </template>
    <div class="container-item-upsell-product">
      <template x-if="stepProduct.url_key">
        <p class="mt-2 mb-auto leading-4">
          <a class="font-semibold hover:underline hover:text-secondary" :class="{'text-sm lg:text-xs': stepProduct.used, 'text-xs': !stepProduct.used}" :href="stepProduct.url_key" :title="stepProduct.name" x-html="stepProduct.name"></a>
        </p>
      </template>
      <template x-if="!stepProduct.url_key">
        <p class="mt-2 mb-auto leading-4 font-semibold text-xs" x-html="stepProduct.name"></p>
      </template>
      <template x-if="stepProduct.price > 0">
        <p class="text-xs mt-1 mb-2" x-show="!stepProduct.used" x-html="stepProduct.actual_value"></p>
      </template>
      <button x-show="!stepProduct.used" :disabled="!displayUpsellProducts(step)" type="submit" @click.prevent="addToCartStepProduct(stepProduct.id)" :data-addtocartstepproduct-productid="stepProduct.id"
        class="btn addtocart-list-upsells-cart-drawer font-bold mt-2 lg:mt-0" :class="{'btn-outline-secondary': displayUpsellProducts(step),
                                                        'invisible': !displayUpsellProducts(step)}"> Je prends </button>
      <button x-show="stepProduct.used" @click.prevent="deleteItemFromCart(stepProduct.item_id)" class="text-left text-xs text-secondary hover:underline font-semibold flex mt-2"> Je change de cadeau </button>
    </div>
  </div>
</form>

POST #

<form method="post" enctype="multipart/form-data" @submit.prevent="setStepProductNullOnStep(step.id, hyva.getFormKey())" action="#" :id="'not_add_to_cart_form_step_product_' + step.id">
  <input type="hidden" name="form_key" :value="hyva.getFormKey()">
  <input type="hidden" name="stepId" :value="step.id">
  <button x-show="!step.used" :disabled="step.minimum_amount > cart.prices.subtotal_including_tax.value" type="submit" class="font-bold text-sm" :class="{'text-secondary underline': step.minimum_amount <= cart.prices.subtotal_including_tax.value,
                            'text-gray-29 cursor-auto': step.minimum_amount > cart.prices.subtotal_including_tax.value}"> Je ne souhaite pas recevoir de cadeau </button>
  <div x-show="step.used">
    <p class="text-sm font-semibold">Je ne souhaite pas recevoir de cadeau</p>
    <button @click.prevent="unsetStepProductNullOnStep(step.id, hyva.getFormKey())" class="text-xs text-secondary underline font-semibold"> Je change de cadeau </button>
  </div>
</form>

POST

<form method="post" :id="'add_to_cart_form_gift_product_' + product.id" class="item product product-item product_addtocart_form">
  <input type="hidden" name="form_key" :value="hyva.getFormKey()">
  <input type="hidden" name="product" :value="product.id">
  <input type="hidden" name="isAjax" value="true">
  <template x-if="product.options_product.length">
    <div>
      <template x-for="option in product.options_product" :key="option">
        <input type="hidden" :id="option.id" :name="option.name" :form="option.form" :class="option.class" :value="option.value" checked="checked" :data-option-id="option.data_option_id" :data-selection-id="option.data_selection_id"
          :x-ref="option.x_ref">
      </template>
    </div>
  </template>
  <div class="single-gifted-product enabled">
    <img width="50" height="50" loading="lazy" :src="product.image" :alt="product.name">
    <div class="gift-product-infos ml-3">
      <template x-if="product.url_key">
        <p class="text-sm mb-1">
          <a class="hover:text-secondary hover:underline" :href="product.url_key" :title="product.name" x-text="product.name"></a>
        </p>
      </template>
      <template x-if="!product.url_key">
        <p class="text-sm mb-1" x-text="product.name"></p>
      </template>
      <button :disabled="cart.horace_giftproduct.minimum_amount > cart.subtotalAmount" type="submit" @click.prevent="addToCartGiftProduct(product.id)" :data-addtocartgiftproduct-productid="product.id" class="btn addtocart-list-upsells-cart-drawer"
        :class="{'btn-outline-secondary': cart.horace_giftproduct.minimum_amount <= cart.subtotalAmount,
                                    'text-gray-29 border-gray-29 cursor-auto': cart.horace_giftproduct.minimum_amount > cart.subtotalAmount}">
        <span class="addtocart-loader mx-14" x-show="giftProductLoading">
          <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" fill="none" class="animate-spin text-secondary">
            <g clip-path="url(#clip0)">
              <path
                d="M12.1786 3.46768L11.9946 3.65167L12.1858 3.82816C13.2889 4.84647 13.972 6.37937 13.972 8.00002C13.972 11.3286 11.3284 13.9722 7.99978 13.9722C4.67119 13.9722 2.02756 11.3286 2.02756 8.00002C2.02756 6.37937 2.71063 4.84647 3.8138 3.82816L4.00499 3.65167L3.821 3.46768L3.10989 2.75657L2.92692 2.5736L2.75035 2.76277C1.46731 4.13746 0.638672 5.9747 0.638672 8.00002C0.638672 12.0492 3.9506 15.3611 7.99978 15.3611C12.049 15.3611 15.3609 12.0492 15.3609 8.00002C15.3609 5.9747 14.5323 4.13746 13.2492 2.76277L13.0727 2.5736L12.8897 2.75657L12.1786 3.46768Z"
                fill="currentColor" stroke="currentColor" stroke-width="0.5"></path>
            </g>
            <defs>
              <clipPath id="clip0">
                <rect width="16" height="16" fill="currentColor"></rect>
              </clipPath>
            </defs>
          </svg>
        </span>
        <span class="addtocart-content font-semibold" x-show="!giftProductLoading"> Ajouter gratuitement </span>
      </button>
    </div>
  </div>
</form>

POST

<form method="post" :id="'add_to_cart_cart_drawer_product_' + product.id" class="item product product-item product_addtocart_form w-full" :class="{'product_addtocart_form--half': cart.horace_giftpack.products.length > 1}">
  <input type="hidden" name="form_key" :value="hyva.getFormKey()">
  <input type="hidden" name="product" :value="product.id">
  <input type="hidden" name="isAjax" value="true">
  <div class="flex items-center">
    <img :width="product.product_image.width" :height="product.product_image.height" loading="lazy" :src="product.product_image.src" :alt="product.name">
    <div class="ml-3 w-full">
      <p class="text-sm mb-1">
        <template x-if="product.url_key">
          <a class="hover:text-secondary hover:underline" :href="product.url_key" :title="product.name" x-text="product.name"></a>
        </template>
        <template x-if="!product.url_key">
          <span x-text="product.name"></span>
        </template>
      </p>
      <button type="submit" @click.prevent="addToCartCartDrawer($event, product.id, false)" :data-price="product.price" :form="'add_to_cart_cart_drawer_product_' + product.id"
        class="btn addtocart-list-upsells-cart-drawer btn-outline-secondary max-w-290px" aria-label="Ajouter au panier">
        <span class="addtocart-content flex">
          <span class="font-bold">Ajouter</span>
          <span class="mx-1">-</span>
          <span x-html="product.price_currency"></span>
        </span>
      </button>
    </div>
  </div>
</form>

POST #

<form x-on:submit.prevent="dispatchCouponMutationRequest();" id="discount-coupon-form-apply" class="w-full pt-4" action="#" method="POST">
  <div class="form--group-input">
    <input class="border-gray-16 bg-white w-full" id="coupon_code_drawer" name="coupon_code" placeholder="Code Promo" required="" value="">
    <button type="submit" class="btn btn-outline-secondary border-gray-16">
      <span x-show="!couponRequestLoading">Valider </span>
      <span x-show="couponRequestLoading">
        <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" fill="none" class="animate-spin text-secondary">
          <g clip-path="url(#clip0)">
            <path
              d="M12.1786 3.46768L11.9946 3.65167L12.1858 3.82816C13.2889 4.84647 13.972 6.37937 13.972 8.00002C13.972 11.3286 11.3284 13.9722 7.99978 13.9722C4.67119 13.9722 2.02756 11.3286 2.02756 8.00002C2.02756 6.37937 2.71063 4.84647 3.8138 3.82816L4.00499 3.65167L3.821 3.46768L3.10989 2.75657L2.92692 2.5736L2.75035 2.76277C1.46731 4.13746 0.638672 5.9747 0.638672 8.00002C0.638672 12.0492 3.9506 15.3611 7.99978 15.3611C12.049 15.3611 15.3609 12.0492 15.3609 8.00002C15.3609 5.9747 14.5323 4.13746 13.2492 2.76277L13.0727 2.5736L12.8897 2.75657L12.1786 3.46768Z"
              fill="currentColor" stroke="currentColor" stroke-width="0.5"></path>
          </g>
          <defs>
            <clipPath id="clip0">
              <rect width="16" height="16" fill="currentColor"></rect>
            </clipPath>
          </defs>
        </svg> </span>
    </button>
  </div>
  <template x-for="message in couponMessage">
    <div x-html="message" class="text-xs text-invalid mt-2"></div>
  </template>
</form>

POST #

<form x-on:submit.prevent="applyPoints();" id="credits-form-apply" action="#" method="post" x-show="formCredits">
  <div class="flex cursor-pointer mb-2" @click="hideFormCredits">
    <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor" class="stroke-current text-primary mr-2" width="20" height="20">
      <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M15 19l-7-7 7-7"></path>
    </svg>
    <span class="text-sm">
      <span x-text="customer.available_points.balance > 0 ? getApplicablePoints() : 0"></span> crédit(s) utilisable(s) (<span x-text="customer.available_points.balance > 0 ? getApplicablePointsValue() : 0"></span>) </span>
  </div>
  <div class="form--group-input">
    <input pattern="[0-9]*" id="points_amount" name="points_amount" class="border-gray-16 bg-white w-full" placeholder="Mes crédits">
    <button type="submit" class="btn btn-outline-secondary border-gray-16 validate-form-coupon-code">
      <span x-show="!creditsLoading"> Valider </span>
      <span x-show="creditsLoading">
        <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" fill="none" class="animate-spin text-secondary">
          <g clip-path="url(#clip0)">
            <path
              d="M12.1786 3.46768L11.9946 3.65167L12.1858 3.82816C13.2889 4.84647 13.972 6.37937 13.972 8.00002C13.972 11.3286 11.3284 13.9722 7.99978 13.9722C4.67119 13.9722 2.02756 11.3286 2.02756 8.00002C2.02756 6.37937 2.71063 4.84647 3.8138 3.82816L4.00499 3.65167L3.821 3.46768L3.10989 2.75657L2.92692 2.5736L2.75035 2.76277C1.46731 4.13746 0.638672 5.9747 0.638672 8.00002C0.638672 12.0492 3.9506 15.3611 7.99978 15.3611C12.049 15.3611 15.3609 12.0492 15.3609 8.00002C15.3609 5.9747 14.5323 4.13746 13.2492 2.76277L13.0727 2.5736L12.8897 2.75657L12.1786 3.46768Z"
              fill="currentColor" stroke="currentColor" stroke-width="0.5"></path>
          </g>
          <defs>
            <clipPath id="clip0">
              <rect width="16" height="16" fill="currentColor"></rect>
            </clipPath>
          </defs>
        </svg> </span>
    </button>
  </div>
  <div class="text-xm mt-1">
    <p class="text-gray-18"> Ajoutez un nombre de crédits dans la limite du montant de votre panier </p>
    <p class="mt-2"> Votre solde : <span x-text="customer.available_points ? customer.available_points.balance : 0"></span>
    </p>
  </div>
  <div id="ajax-loader-credit" class="ajax-loader-item">
    <i class="hico hico-spinner"></i>
  </div>
</form>

POST https://horace.com/fr/customer/account/loginPost

<form method="post" action="https://horace.com/fr/customer/account/loginPost" id="login-form-sidecart" @submit.prevent="submitForm()">
  <p class="already-customer hrc_text--primary leading-5 text-center mb-3"> Se connecter </p>
  <div class="form-list">
    <div class="form-group">
      <input name="login[email]" type="email" placeholder="Adresse email " value="" id="email_account-sidecart" required="" title="Adresse email ">
    </div>
    <div class="form-group">
      <input id="password-login-form-sidecart" type="password" name="login[password]" placeholder="Mot de passe" required="" title="Mot de passe" autocomplete="off">
    </div>
    <button type="submit" id="button_login_account-sidecart" class="btn btn-primary uppercase tracking-widest-l mb-4" title="Connexion" name="send" autocomplete="off">
      <span x-show="!isLoading">Connexion</span>
      <span x-show="isLoading"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" fill="none" class="animate-spin text-secondary">
          <g clip-path="url(#clip0)">
            <path
              d="M12.1786 3.46768L11.9946 3.65167L12.1858 3.82816C13.2889 4.84647 13.972 6.37937 13.972 8.00002C13.972 11.3286 11.3284 13.9722 7.99978 13.9722C4.67119 13.9722 2.02756 11.3286 2.02756 8.00002C2.02756 6.37937 2.71063 4.84647 3.8138 3.82816L4.00499 3.65167L3.821 3.46768L3.10989 2.75657L2.92692 2.5736L2.75035 2.76277C1.46731 4.13746 0.638672 5.9747 0.638672 8.00002C0.638672 12.0492 3.9506 15.3611 7.99978 15.3611C12.049 15.3611 15.3609 12.0492 15.3609 8.00002C15.3609 5.9747 14.5323 4.13746 13.2492 2.76277L13.0727 2.5736L12.8897 2.75657L12.1786 3.46768Z"
              fill="currentColor" stroke="currentColor" stroke-width="0.5"></path>
          </g>
          <defs>
            <clipPath id="clip0">
              <rect width="16" height="16" fill="currentColor"></rect>
            </clipPath>
          </defs>
        </svg></span>
    </button>
    <div class="form-group text-center mt-2 mb-4">
      <a id="link-forgot-password-sidecart" class="cursor-pointer hover:underline hover:text-secondary" @click.prevent="forgotPassword()" href="https://horace.com/fr/customer/account/forgotpassword" title="Mot de passe oublié ?">
Mot de passe oublié ? </a>
    </div>
    <div class="form-group mt-4">
      <div id="add_button_login_byclass" x-data="bssButtonSocial()" x-ref="registerSocialButton">
        <div class="mx-0 mb-4 m-auto box-border clear-both max-w-screen-xl w-auto">
          <div class="sociallogin-buttons" x-ref="loginSocialButton">
            <ul class="sociallogin-clearfix">
              <li class="block mt-0 ml-0 mb-2 p-0 relative leading-normal list-none sociallogin-button
                            facebook" title="Login with Facebook">
                <button type="button" class="sociallogin-button-link sociallogin-button-click" id="sociallogin-button-click" rel="nofollow" href="javascript:void(0);"
                  data-href="https://www.facebook.com/dialog/oauth?client_id=1637102479904064&amp;redirect_uri=https://horace.com/fr/sociallogin/account/login/type/facebook/&amp;response_type=code&amp;display=popup&amp;scope=email" data-width="650"
                  data-height="350" x-ref="facebook" @click="popupSocial($refs.facebook)">
                  <span class="sociallogin-button-auto">
                    <span class="icon--sprite facebook-white mr-3"></span>
                    <span class="sociallogin-button-text">Se connecter avec Facebook</span>
                  </span>
                </button>
              </li>
              <li class="block mt-0 ml-0 mb-2 p-0 relative leading-normal list-none sociallogin-button
                            googleplus" title="Login with Google">
                <button type="button" class="sociallogin-button-link sociallogin-button-click" id="sociallogin-button-click" rel="nofollow" href="javascript:void(0);"
                  data-href="https://accounts.google.com/o/oauth2/auth?response_type=code&amp;redirect_uri=https%3A%2F%2Fhorace.com%2Ffr%2Fsociallogin%2Faccount%2Flogin%2Ftype%2Fgoogleplus%2F&amp;client_id=1040921723385-tppfcp7nrsr5ifca22jffgn5hc7c9f61.apps.googleusercontent.com&amp;scope=https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fuserinfo.profile+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fuserinfo.email&amp;state=&amp;access_type=offline&amp;approval_prompt=auto"
                  data-width="630" data-height="650" x-ref="googleplus" @click="popupSocial($refs.googleplus)">
                  <span class="sociallogin-button-auto">
                    <span class="icon--sprite googleplus-white mr-3"></span>
                    <span class="sociallogin-button-text">Se connecter avec Google</span>
                  </span>
                </button>
              </li>
            </ul>
          </div>
        </div>
        <div style="clear: both;"></div>
      </div>
      <script>
        function bssButtonSocial() {
          return {
            renderShowmore: function(element) {
              var socialButton = element.querySelector('.sociallogin-clearfix').getElementsByTagName("li");
              for (let i = 0; i <= socialButton.length - 1; i++) {
                socialButton[i].style.display = 'block';
              }
              element.querySelector('.sociallogin-showmore').style.display = 'none';
            },
            popupSocial: function(element) {
              var href = element.getAttribute('data-href');
              var width = element.getAttribute('data-width');
              var height = element.getAttribute('data-height');
              var popup_window = null;
              if (!width) {
                width = 650;
              }
              if (!height) {
                height = 350;
              }
              var left = parseInt((window.innerWidth - width) / 2);
              var top = parseInt((window.innerHeight - height) / 2);
              var params = ['resizable=yes', 'scrollbars=no', 'toolbar=no', 'menubar=no', 'location=no', 'directories=no', 'status=yes', 'width=' + width, 'height=' + height, 'left=' + left, 'top=' + top];
              if (popup_window) {
                popup_window.close();
              }
              if (href) {
                popup_window = window.open(href, '', params.join(','));
                popup_window.focus();
              } else {
                alert('This Login Application was not configured correctly. Please contact our customer support.');
              }
              return false;
            }
          }
        }
      </script>
    </div>
  </div>
</form>

POST https://horace.com/fr/customer/account/forgotpassword/

<form method="post" action="https://horace.com/fr/customer/account/forgotpassword/" id="forgotpass-form-sidecart" @submit.prevent="submitForgotPasswordForm()">
  <p class="already-customer hrc_text--primary leading-5 text-center mb-3"> Veuillez renseigner votre adresse email ci-dessous, nous vous allons vous renvoyer un nouveau mot de passe. </p>
  <template x-if="resetErrorMessages">
    <div class="error-messages">
      <template x-for="errorMessage in resetErrorMessages">
        <p x-html="errorMessage"></p>
      </template>
    </div>
  </template>
  <div class="form-list">
    <div class="form-group">
      <input name="login[email]" type="email" placeholder="Adresse email " value="" id="email_account-reset-sidecart" required="" title="Adresse email ">
    </div>
    <button type="submit" class="btn btn-primary uppercase tracking-widest-l mb-4" title="Connexion" name="send">
      <span x-show="!isLoading">Valider </span>
      <span x-show="isLoading"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" fill="none" class="animate-spin text-secondary">
          <g clip-path="url(#clip0)">
            <path
              d="M12.1786 3.46768L11.9946 3.65167L12.1858 3.82816C13.2889 4.84647 13.972 6.37937 13.972 8.00002C13.972 11.3286 11.3284 13.9722 7.99978 13.9722C4.67119 13.9722 2.02756 11.3286 2.02756 8.00002C2.02756 6.37937 2.71063 4.84647 3.8138 3.82816L4.00499 3.65167L3.821 3.46768L3.10989 2.75657L2.92692 2.5736L2.75035 2.76277C1.46731 4.13746 0.638672 5.9747 0.638672 8.00002C0.638672 12.0492 3.9506 15.3611 7.99978 15.3611C12.049 15.3611 15.3609 12.0492 15.3609 8.00002C15.3609 5.9747 14.5323 4.13746 13.2492 2.76277L13.0727 2.5736L12.8897 2.75657L12.1786 3.46768Z"
              fill="currentColor" stroke="currentColor" stroke-width="0.5"></path>
          </g>
          <defs>
            <clipPath id="clip0">
              <rect width="16" height="16" fill="currentColor"></rect>
            </clipPath>
          </defs>
        </svg></span>
    </button>
  </div>
</form>

POST https://horace.com/fr/customer/account/loginPost

<form method="post" action="https://horace.com/fr/customer/account/loginPost" id="login-form-sidecart" @submit.prevent="submitForm()">
  <p class="already-customer hrc_text--primary leading-5 text-center mb-3"> Se connecter </p>
  <div class="form-list">
    <div class="form-group">
      <input name="login[email]" type="email" placeholder="Adresse email " value="" id="email_account-sidecart" required="" title="Adresse email ">
    </div>
    <div class="form-group">
      <input id="password-login-form-sidecart" type="password" name="login[password]" placeholder="Mot de passe" required="" title="Mot de passe" autocomplete="off">
    </div>
    <button type="submit" id="button_login_account-sidecart" class="btn btn-primary uppercase tracking-widest-l mb-4" title="Connexion" name="send" autocomplete="off">
      <span x-show="!isLoading">Connexion</span>
      <span x-show="isLoading" style="display: none;"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" fill="none" class="animate-spin text-secondary">
          <g clip-path="url(#clip0)">
            <path
              d="M12.1786 3.46768L11.9946 3.65167L12.1858 3.82816C13.2889 4.84647 13.972 6.37937 13.972 8.00002C13.972 11.3286 11.3284 13.9722 7.99978 13.9722C4.67119 13.9722 2.02756 11.3286 2.02756 8.00002C2.02756 6.37937 2.71063 4.84647 3.8138 3.82816L4.00499 3.65167L3.821 3.46768L3.10989 2.75657L2.92692 2.5736L2.75035 2.76277C1.46731 4.13746 0.638672 5.9747 0.638672 8.00002C0.638672 12.0492 3.9506 15.3611 7.99978 15.3611C12.049 15.3611 15.3609 12.0492 15.3609 8.00002C15.3609 5.9747 14.5323 4.13746 13.2492 2.76277L13.0727 2.5736L12.8897 2.75657L12.1786 3.46768Z"
              fill="currentColor" stroke="currentColor" stroke-width="0.5"></path>
          </g>
          <defs>
            <clipPath id="clip0">
              <rect width="16" height="16" fill="currentColor"></rect>
            </clipPath>
          </defs>
        </svg></span>
    </button>
    <div class="form-group text-center mt-2 mb-4">
      <a id="link-forgot-password-sidecart" class="cursor-pointer hover:underline hover:text-secondary" @click.prevent="forgotPassword()" href="https://horace.com/fr/customer/account/forgotpassword" title="Mot de passe oublié ?">
Mot de passe oublié ? </a>
    </div>
    <div class="form-group mt-4">
      <div id="add_button_login_byclass" x-data="bssButtonSocial()" x-ref="registerSocialButton">
        <div class="mx-0 mb-4 m-auto box-border clear-both max-w-screen-xl w-auto">
          <div class="sociallogin-buttons" x-ref="loginSocialButton">
            <ul class="sociallogin-clearfix">
              <li class="block mt-0 ml-0 mb-2 p-0 relative leading-normal list-none sociallogin-button
                            facebook" title="Login with Facebook">
                <button type="button" class="sociallogin-button-link sociallogin-button-click" id="sociallogin-button-click" rel="nofollow" href="javascript:void(0);"
                  data-href="https://www.facebook.com/dialog/oauth?client_id=1637102479904064&amp;redirect_uri=https://horace.com/fr/sociallogin/account/login/type/facebook/&amp;response_type=code&amp;display=popup&amp;scope=email" data-width="650"
                  data-height="350" x-ref="facebook" @click="popupSocial($refs.facebook)">
                  <span class="sociallogin-button-auto">
                    <span class="icon--sprite facebook-white mr-3"></span>
                    <span class="sociallogin-button-text">Se connecter avec Facebook</span>
                  </span>
                </button>
              </li>
              <li class="block mt-0 ml-0 mb-2 p-0 relative leading-normal list-none sociallogin-button
                            googleplus" title="Login with Google">
                <button type="button" class="sociallogin-button-link sociallogin-button-click" id="sociallogin-button-click" rel="nofollow" href="javascript:void(0);"
                  data-href="https://accounts.google.com/o/oauth2/auth?response_type=code&amp;redirect_uri=https%3A%2F%2Fhorace.com%2Ffr%2Fsociallogin%2Faccount%2Flogin%2Ftype%2Fgoogleplus%2F&amp;client_id=1040921723385-tppfcp7nrsr5ifca22jffgn5hc7c9f61.apps.googleusercontent.com&amp;scope=https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fuserinfo.profile+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fuserinfo.email&amp;state=&amp;access_type=offline&amp;approval_prompt=auto"
                  data-width="630" data-height="650" x-ref="googleplus" @click="popupSocial($refs.googleplus)">
                  <span class="sociallogin-button-auto">
                    <span class="icon--sprite googleplus-white mr-3"></span>
                    <span class="sociallogin-button-text">Se connecter avec Google</span>
                  </span>
                </button>
              </li>
            </ul>
          </div>
        </div>
        <div style="clear: both;"></div>
      </div>
      <script>
        function bssButtonSocial() {
          return {
            renderShowmore: function(element) {
              var socialButton = element.querySelector('.sociallogin-clearfix').getElementsByTagName("li");
              for (let i = 0; i <= socialButton.length - 1; i++) {
                socialButton[i].style.display = 'block';
              }
              element.querySelector('.sociallogin-showmore').style.display = 'none';
            },
            popupSocial: function(element) {
              var href = element.getAttribute('data-href');
              var width = element.getAttribute('data-width');
              var height = element.getAttribute('data-height');
              var popup_window = null;
              if (!width) {
                width = 650;
              }
              if (!height) {
                height = 350;
              }
              var left = parseInt((window.innerWidth - width) / 2);
              var top = parseInt((window.innerHeight - height) / 2);
              var params = ['resizable=yes', 'scrollbars=no', 'toolbar=no', 'menubar=no', 'location=no', 'directories=no', 'status=yes', 'width=' + width, 'height=' + height, 'left=' + left, 'top=' + top];
              if (popup_window) {
                popup_window.close();
              }
              if (href) {
                popup_window = window.open(href, '', params.join(','));
                popup_window.focus();
              } else {
                alert('This Login Application was not configured correctly. Please contact our customer support.');
              }
              return false;
            }
          }
        }
      </script>
    </div>
  </div>
</form>

POST https://horace.com/fr/customer/account/forgotpassword/

<form method="post" action="https://horace.com/fr/customer/account/forgotpassword/" id="forgotpass-form-sidecart" @submit.prevent="submitForgotPasswordForm()">
  <p class="already-customer hrc_text--primary leading-5 text-center mb-3"> Veuillez renseigner votre adresse email ci-dessous, nous vous allons vous renvoyer un nouveau mot de passe. </p>
  <template x-if="resetErrorMessages">
    <div class="error-messages">
      <template x-for="errorMessage in resetErrorMessages">
        <p x-html="errorMessage"></p>
      </template>
    </div>
  </template>
  <div class="form-list">
    <div class="form-group">
      <input name="login[email]" type="email" placeholder="Adresse email " value="" id="email_account-reset-sidecart" required="" title="Adresse email ">
    </div>
    <button type="submit" class="btn btn-primary uppercase tracking-widest-l mb-4" title="Connexion" name="send">
      <span x-show="!isLoading">Valider </span>
      <span x-show="isLoading"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" fill="none" class="animate-spin text-secondary">
          <g clip-path="url(#clip0)">
            <path
              d="M12.1786 3.46768L11.9946 3.65167L12.1858 3.82816C13.2889 4.84647 13.972 6.37937 13.972 8.00002C13.972 11.3286 11.3284 13.9722 7.99978 13.9722C4.67119 13.9722 2.02756 11.3286 2.02756 8.00002C2.02756 6.37937 2.71063 4.84647 3.8138 3.82816L4.00499 3.65167L3.821 3.46768L3.10989 2.75657L2.92692 2.5736L2.75035 2.76277C1.46731 4.13746 0.638672 5.9747 0.638672 8.00002C0.638672 12.0492 3.9506 15.3611 7.99978 15.3611C12.049 15.3611 15.3609 12.0492 15.3609 8.00002C15.3609 5.9747 14.5323 4.13746 13.2492 2.76277L13.0727 2.5736L12.8897 2.75657L12.1786 3.46768Z"
              fill="currentColor" stroke="currentColor" stroke-width="0.5"></path>
          </g>
          <defs>
            <clipPath id="clip0">
              <rect width="16" height="16" fill="currentColor"></rect>
            </clipPath>
          </defs>
        </svg></span>
    </button>
  </div>
</form>

POST https://horace.com/fr/customer/account/forgotpassword/

<form method="post" action="https://horace.com/fr/customer/account/forgotpassword/" id="forgotpass-form-sidecart" @submit.prevent="submitForgotPasswordForm()">
  <p class="already-customer hrc_text--primary leading-5 text-center mb-3"> Veuillez renseigner votre adresse email ci-dessous, nous vous allons vous renvoyer un nouveau mot de passe. </p>
  <template x-if="resetErrorMessages">
    <div class="error-messages">
      <template x-for="errorMessage in resetErrorMessages">
        <p x-html="errorMessage"></p>
      </template>
    </div>
  </template>
  <div class="error-messages">
    <template x-for="errorMessage in resetErrorMessages">
      <p x-html="errorMessage"></p>
    </template>
  </div>
  <div class="form-list">
    <div class="form-group">
      <input name="login[email]" type="email" placeholder="Adresse email " value="" id="email_account-reset-sidecart" required="" title="Adresse email ">
    </div>
    <button type="submit" class="btn btn-primary uppercase tracking-widest-l mb-4" title="Connexion" name="send">
      <span x-show="!isLoading">Valider </span>
      <span x-show="isLoading" style="display: none;"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" fill="none" class="animate-spin text-secondary">
          <g clip-path="url(#clip0)">
            <path
              d="M12.1786 3.46768L11.9946 3.65167L12.1858 3.82816C13.2889 4.84647 13.972 6.37937 13.972 8.00002C13.972 11.3286 11.3284 13.9722 7.99978 13.9722C4.67119 13.9722 2.02756 11.3286 2.02756 8.00002C2.02756 6.37937 2.71063 4.84647 3.8138 3.82816L4.00499 3.65167L3.821 3.46768L3.10989 2.75657L2.92692 2.5736L2.75035 2.76277C1.46731 4.13746 0.638672 5.9747 0.638672 8.00002C0.638672 12.0492 3.9506 15.3611 7.99978 15.3611C12.049 15.3611 15.3609 12.0492 15.3609 8.00002C15.3609 5.9747 14.5323 4.13746 13.2492 2.76277L13.0727 2.5736L12.8897 2.75657L12.1786 3.46768Z"
              fill="currentColor" stroke="currentColor" stroke-width="0.5"></path>
          </g>
          <defs>
            <clipPath id="clip0">
              <rect width="16" height="16" fill="currentColor"></rect>
            </clipPath>
          </defs>
        </svg></span>
    </button>
  </div>
</form>

POST https://horace.com/fr/checkout/cart/add/uenc/aHR0cHM6Ly9ob3JhY2UuY29tLw%2C%2C/product/448/

<form method="post" id="add_to_cart_form_products_slide_448" action="https://horace.com/fr/checkout/cart/add/uenc/aHR0cHM6Ly9ob3JhY2UuY29tLw%2C%2C/product/448/" class="container--item-product-category item product product-item product_addtocart_form card card-interactive
      " data-id="448" data-name="Hydratant Visage Matifiant SPF30" data-category="Peau terne" data-price="19.0000">
  <input name="form_key" type="hidden" value="MNwD0YzJDL2fLqwp"> <input type="hidden" name="product" value="448">
  <input type="hidden" name="isAjax" value="true">
  <div class="relative h-full flex flex-col bg-white p-4 lg:p-5">
    <div class="container--additional-infos-product-category
     ">
    </div>
    <a href="https://horace.com/fr/product/hydratant-visage-matifiant-spf" title="Hydratant Visage Matifiant SPF30" class="container--visual-product-category image-mobile-products-category     variant-product-content variant-default-product-content-448     variant-product-content-448 product photo mx-auto" tabindex="-1">
<img loading="lazy" class="" alt="Hydratant Visage Matifiant SPF30" title="Hydratant Visage Matifiant SPF30" src="/cdn-cgi/image/fit=contain,width=360,format=auto,dpr=/media/catalog/product/p/a/packshot660x660_spf30_new.jpg" width="360" height="360">
</a>
    <div class="container--infos-product-category product-info">
      <p class="title-product text-center">
        <a title="Hydratant Visage Matifiant SPF30" href="https://horace.com/fr/product/hydratant-visage-matifiant-spf" class="variant-product-content variant-default-product-content-448                        variant-product-content-448">
Hydratant Visage Matifiant SPF30 </a>
      </p>
    </div>
    <div class="mb-1 container--review-product
            category-product        mt-1">
      <div class="container--review-stars-empty stars-primary ">
        <div class="container--review-stars-full" style="width:90%"></div>
      </div>
      <a href="https://horace.com/fr/product/hydratant-visage-matifiant-spf#tabbed-content" class="count-review-product">
957 avis </a>
    </div>
    <div class="container--addtocart-product-category mt-2 hidden lg:block">
      <a href="https://horace.com/fr/product/hydratant-visage-matifiant-spf">
<div class="text-gray-8 text-benefice">
Hydrate et protège<br> des rayons UV </div>
</a>
    </div>
    <div class="container--addtocart-product-category mt-4">
      <script defer="" type="text/javascript">
        // Detect if user come from search results
        var urlParams = new URLSearchParams(window.location.search);
        if (urlParams.get('s')) {
          var searchParams = sessionStorage.getItem('searchParams');
        }
        // Init add to cart
        function initAddToCart448() {
          return {
            addToCartCb: function(productId) {
              let $this = this;
              window.dispatchEvent(new CustomEvent('validate-gc-form', {
                detail: function() {
                  let productForm = document.querySelector('.product-add-form');
                  if (productForm.classList.contains('invalid')) {
                    return;
                  }
                  $this.addToCart(448);
                }
              }));
            },
            addToCart: function addToCart(productId) {
              let postUrl = 'https://horace.com/fr/checkout/cart/add/';
              let idForm;
              idForm = 'add_to_cart_form_products_slide_448';
              let form = document.getElementById(idForm);
              let buttonAddToCart = document.querySelectorAll('[data-addtocart-productId="' + productId + '"]')[0];
              let contentCartDrawer = document.querySelectorAll('.container--cart-drawer .content-cart-drawer')[0];
              const data = new URLSearchParams(new FormData(form));
              buttonAddToCart.classList.add('disabled:opacity-50');
              buttonAddToCart.setAttribute('disabled', '');
              contentCartDrawer.classList.add('is-loading');
              fetch(postUrl, {
                "headers": {
                  "content-type": "application/x-www-form-urlencoded; charset=UTF-8",
                },
                "body": data,
                "method": "POST",
                "mode": "cors",
                "credentials": "include"
              }).then(function(response) {
                if (response.redirected) {
                  window.location.href = response.url;
                } else if (response.ok) {
                  // If user come from search
                  if (searchParams) {
                    searchParams = searchParams.split(',');
                    localStorage.setItem('ajs_search_' + productId, JSON.stringify(searchParams))
                    sessionStorage.removeItem('searchParams');
                  }
                  return response.json();
                } else {
                  typeof window.dispatchMessages !== "undefined" && window.dispatchMessages(
                    [{
                      type: "warning",
                      text: "Could not add item to cart."
                    }], 5000);
                }
              }).then(function(response) {
                if (!response) {
                  return
                }
                if (response.error_message) {
                  document.getElementById('cart-msg-error').innerHTML = response.error_message;
                }
                window.dispatchEvent(new CustomEvent('toggle-cart'));
                var reloadCustomerDataEvent = new CustomEvent("reload-customer-section-data");
                window.dispatchEvent(reloadCustomerDataEvent);
              }).catch(function(error) {
                typeof window.dispatchMessages !== "undefined" && window.dispatchMessages(
                  [{
                    type: "error",
                    text: error
                  }], 5000);
              }).finally(() => {
                buttonAddToCart.classList.remove('disabled:opacity-50');
                buttonAddToCart.removeAttribute('disabled');
                setTimeout(() => {
                  contentCartDrawer.classList.remove('is-loading');
                }, 1700);
                setTimeout(() => {
                  document.getElementById('cart-msg-error').innerHTML = '';
                }, 8000);
              })
            }
          }
        }
      </script>
      <button type="submit" x-data="initAddToCart448()" @click.prevent="addToCart(448);" data-objectid="448" data-addtocart-productid="448" data-price="19" form="add_to_cart_form_products_slide_448" class="btn addtocart-list btn-outline-primary variant-product-content
                    variant-default-product-content-448                    variant-product-content-448                                         " aria-label="Ajouter au panier">
        <span class="addtocart-content flex">
          <span class="font-bold"> Ajouter </span>
          <span class="mx-1">-</span>
          <span class="pl-1">
            <span class="price">19&nbsp;€</span> </span>
        </span>
      </button>
    </div>
  </div>
</form>

POST https://horace.com/fr/checkout/cart/add/uenc/aHR0cHM6Ly9ob3JhY2UuY29tLw%2C%2C/product/464/

<form method="post" id="add_to_cart_form_products_slide_464" action="https://horace.com/fr/checkout/cart/add/uenc/aHR0cHM6Ly9ob3JhY2UuY29tLw%2C%2C/product/464/" class="container--item-product-category item product product-item product_addtocart_form card card-interactive
      " data-id="464" data-name="&amp; Horace - Eau de Parfum 100ml" data-category="Parfum" data-price="98.0000">
  <input name="form_key" type="hidden" value="MNwD0YzJDL2fLqwp"> <input type="hidden" name="product" value="464">
  <input type="hidden" name="isAjax" value="true">
  <div class="relative h-full flex flex-col bg-white p-4 lg:p-5">
    <div class="container--additional-infos-product-category
     ">
    </div>
    <div class="container--product-variant-switch">
      <div class="btn--group-switch category">
        <a href="https://horace.com/fr/product/eau-de-parfum-horace-100ml" class="btn btn--group-switch active switch-product-variant switch-product-default-variant-464                    background-color-FRA_ALC_AND_100">
100ml </a>
      </div>
    </div>
    <a href="https://horace.com/fr/product/eau-de-parfum-horace-100ml" title="&amp; Horace - Eau de Parfum 100ml" class="container--visual-product-category image-mobile-products-category     variant-product-content variant-default-product-content-464     variant-product-content-464 product photo mx-auto" tabindex="-1">
<img loading="lazy" class="" alt="&amp; Horace - Eau de Parfum 100ml" title="&amp; Horace - Eau de Parfum 100ml" src="/cdn-cgi/image/fit=contain,width=360,format=auto,dpr=/media/catalog/product/1/0/100ml_600x600_1_.jpg" width="360" height="360">
</a>
    <div class="container--infos-product-category product-info">
      <p class="title-product text-center">
        <a title="&amp; Horace - Eau de Parfum 100ml" href="https://horace.com/fr/product/eau-de-parfum-horace-100ml" class="variant-product-content variant-default-product-content-464                        variant-product-content-464">
&amp; Horace - Eau de Parfum 100ml </a>
      </p>
    </div>
    <div class="mb-1 container--review-product
            category-product        mt-1">
      <div class="container--review-stars-empty stars-primary ">
        <div class="container--review-stars-full" style="width:96%"></div>
      </div>
      <a href="https://horace.com/fr/product/eau-de-parfum-horace-100ml#tabbed-content" class="count-review-product">
1100 avis </a>
    </div>
    <div class="container--addtocart-product-category mt-2 hidden lg:block">
      <a href="https://horace.com/fr/product/eau-de-parfum-horace-100ml">
<div class="text-gray-8 text-benefice">
Soyez qui vous êtes,<br>vraiment. </div>
</a>
    </div>
    <div class="container--addtocart-product-category mt-4">
      <script defer="" type="text/javascript">
        // Detect if user come from search results
        var urlParams = new URLSearchParams(window.location.search);
        if (urlParams.get('s')) {
          var searchParams = sessionStorage.getItem('searchParams');
        }
        // Init add to cart
        function initAddToCart464() {
          return {
            addToCartCb: function(productId) {
              let $this = this;
              window.dispatchEvent(new CustomEvent('validate-gc-form', {
                detail: function() {
                  let productForm = document.querySelector('.product-add-form');
                  if (productForm.classList.contains('invalid')) {
                    return;
                  }
                  $this.addToCart(464);
                }
              }));
            },
            addToCart: function addToCart(productId) {
              let postUrl = 'https://horace.com/fr/checkout/cart/add/';
              let idForm;
              idForm = 'add_to_cart_form_products_slide_464';
              let form = document.getElementById(idForm);
              let buttonAddToCart = document.querySelectorAll('[data-addtocart-productId="' + productId + '"]')[0];
              let contentCartDrawer = document.querySelectorAll('.container--cart-drawer .content-cart-drawer')[0];
              const data = new URLSearchParams(new FormData(form));
              buttonAddToCart.classList.add('disabled:opacity-50');
              buttonAddToCart.setAttribute('disabled', '');
              contentCartDrawer.classList.add('is-loading');
              fetch(postUrl, {
                "headers": {
                  "content-type": "application/x-www-form-urlencoded; charset=UTF-8",
                },
                "body": data,
                "method": "POST",
                "mode": "cors",
                "credentials": "include"
              }).then(function(response) {
                if (response.redirected) {
                  window.location.href = response.url;
                } else if (response.ok) {
                  // If user come from search
                  if (searchParams) {
                    searchParams = searchParams.split(',');
                    localStorage.setItem('ajs_search_' + productId, JSON.stringify(searchParams))
                    sessionStorage.removeItem('searchParams');
                  }
                  return response.json();
                } else {
                  typeof window.dispatchMessages !== "undefined" && window.dispatchMessages(
                    [{
                      type: "warning",
                      text: "Could not add item to cart."
                    }], 5000);
                }
              }).then(function(response) {
                if (!response) {
                  return
                }
                if (response.error_message) {
                  document.getElementById('cart-msg-error').innerHTML = response.error_message;
                }
                window.dispatchEvent(new CustomEvent('toggle-cart'));
                var reloadCustomerDataEvent = new CustomEvent("reload-customer-section-data");
                window.dispatchEvent(reloadCustomerDataEvent);
              }).catch(function(error) {
                typeof window.dispatchMessages !== "undefined" && window.dispatchMessages(
                  [{
                    type: "error",
                    text: error
                  }], 5000);
              }).finally(() => {
                buttonAddToCart.classList.remove('disabled:opacity-50');
                buttonAddToCart.removeAttribute('disabled');
                setTimeout(() => {
                  contentCartDrawer.classList.remove('is-loading');
                }, 1700);
                setTimeout(() => {
                  document.getElementById('cart-msg-error').innerHTML = '';
                }, 8000);
              })
            }
          }
        }
      </script>
      <button type="submit" x-data="initAddToCart464()" @click.prevent="addToCart(464);" data-objectid="464" data-addtocart-productid="464" data-price="98" form="add_to_cart_form_products_slide_464" class="btn addtocart-list btn-outline-primary variant-product-content
                    variant-default-product-content-464                    variant-product-content-464                                         " aria-label="Ajouter au panier">
        <span class="addtocart-content flex">
          <span class="font-bold"> Ajouter </span>
          <span class="mx-1">-</span>
          <span class="pl-1">
            <span class="price">98&nbsp;€</span> </span>
        </span>
      </button>
    </div>
  </div>
</form>

POST https://horace.com/fr/checkout/cart/add/uenc/aHR0cHM6Ly9ob3JhY2UuY29tLw%2C%2C/product/366/

<form method="post" id="add_to_cart_form_products_slide_366" action="https://horace.com/fr/checkout/cart/add/uenc/aHR0cHM6Ly9ob3JhY2UuY29tLw%2C%2C/product/366/" class="container--item-product-category item product product-item product_addtocart_form card card-interactive
      " data-id="366" data-name="Masque Purifiant Visage " data-category="Visage" data-price="13.0000">
  <input name="form_key" type="hidden" value="MNwD0YzJDL2fLqwp"> <input type="hidden" name="product" value="366">
  <input type="hidden" name="isAjax" value="true">
  <div class="relative h-full flex flex-col bg-white p-4 lg:p-5">
    <div class="container--additional-infos-product-category
     ">
      <a class="container--label-product-category label-product-category--366        flex        " href="https://horace.com/fr/product/masque-visage-purifiant">
<div class="label-product text-bestseller"><span>Bestseller</span></div> </a>
      <div class="container--addtocart-product-category lg:hidden">
        <a href="https://horace.com/fr/product/masque-visage-purifiant">
<div class="text-gray-8 text-benefice">
Purifie et régule<br>le sébum </div>
</a>
      </div>
    </div>
    <a href="https://horace.com/fr/product/masque-visage-purifiant" title="Masque Purifiant Visage " class="container--visual-product-category image-mobile-products-category     variant-product-content variant-default-product-content-366     variant-product-content-366 product photo mx-auto" tabindex="-1">
<img loading="lazy" class="" alt="Masque Purifiant Visage " title="Masque Purifiant Visage " src="/cdn-cgi/image/fit=contain,width=360,format=auto,dpr=/media/catalog/product/h/o/horace_visage_masque-purifiant_packshot.jpg" width="360" height="360">
</a>
    <div class="container--infos-product-category product-info">
      <p class="title-product text-center">
        <a title="Masque Purifiant Visage " href="https://horace.com/fr/product/masque-visage-purifiant" class="variant-product-content variant-default-product-content-366                        variant-product-content-366">
Masque Purifiant Visage </a>
      </p>
    </div>
    <div class="mb-1 container--review-product
            category-product        mt-1">
      <div class="container--review-stars-empty stars-primary ">
        <div class="container--review-stars-full" style="width:96%"></div>
      </div>
      <a href="https://horace.com/fr/product/masque-visage-purifiant#tabbed-content" class="count-review-product">
3305 avis </a>
    </div>
    <div class="container--addtocart-product-category mt-2 hidden lg:block">
      <a href="https://horace.com/fr/product/masque-visage-purifiant">
<div class="text-gray-8 text-benefice">
Purifie et régule<br>le sébum </div>
</a>
    </div>
    <div class="container--addtocart-product-category mt-4">
      <script defer="" type="text/javascript">
        // Detect if user come from search results
        var urlParams = new URLSearchParams(window.location.search);
        if (urlParams.get('s')) {
          var searchParams = sessionStorage.getItem('searchParams');
        }
        // Init add to cart
        function initAddToCart366() {
          return {
            addToCartCb: function(productId) {
              let $this = this;
              window.dispatchEvent(new CustomEvent('validate-gc-form', {
                detail: function() {
                  let productForm = document.querySelector('.product-add-form');
                  if (productForm.classList.contains('invalid')) {
                    return;
                  }
                  $this.addToCart(366);
                }
              }));
            },
            addToCart: function addToCart(productId) {
              let postUrl = 'https://horace.com/fr/checkout/cart/add/';
              let idForm;
              idForm = 'add_to_cart_form_products_slide_366';
              let form = document.getElementById(idForm);
              let buttonAddToCart = document.querySelectorAll('[data-addtocart-productId="' + productId + '"]')[0];
              let contentCartDrawer = document.querySelectorAll('.container--cart-drawer .content-cart-drawer')[0];
              const data = new URLSearchParams(new FormData(form));
              buttonAddToCart.classList.add('disabled:opacity-50');
              buttonAddToCart.setAttribute('disabled', '');
              contentCartDrawer.classList.add('is-loading');
              fetch(postUrl, {
                "headers": {
                  "content-type": "application/x-www-form-urlencoded; charset=UTF-8",
                },
                "body": data,
                "method": "POST",
                "mode": "cors",
                "credentials": "include"
              }).then(function(response) {
                if (response.redirected) {
                  window.location.href = response.url;
                } else if (response.ok) {
                  // If user come from search
                  if (searchParams) {
                    searchParams = searchParams.split(',');
                    localStorage.setItem('ajs_search_' + productId, JSON.stringify(searchParams))
                    sessionStorage.removeItem('searchParams');
                  }
                  return response.json();
                } else {
                  typeof window.dispatchMessages !== "undefined" && window.dispatchMessages(
                    [{
                      type: "warning",
                      text: "Could not add item to cart."
                    }], 5000);
                }
              }).then(function(response) {
                if (!response) {
                  return
                }
                if (response.error_message) {
                  document.getElementById('cart-msg-error').innerHTML = response.error_message;
                }
                window.dispatchEvent(new CustomEvent('toggle-cart'));
                var reloadCustomerDataEvent = new CustomEvent("reload-customer-section-data");
                window.dispatchEvent(reloadCustomerDataEvent);
              }).catch(function(error) {
                typeof window.dispatchMessages !== "undefined" && window.dispatchMessages(
                  [{
                    type: "error",
                    text: error
                  }], 5000);
              }).finally(() => {
                buttonAddToCart.classList.remove('disabled:opacity-50');
                buttonAddToCart.removeAttribute('disabled');
                setTimeout(() => {
                  contentCartDrawer.classList.remove('is-loading');
                }, 1700);
                setTimeout(() => {
                  document.getElementById('cart-msg-error').innerHTML = '';
                }, 8000);
              })
            }
          }
        }
      </script>
      <button type="submit" x-data="initAddToCart366()" @click.prevent="addToCart(366);" data-objectid="366" data-addtocart-productid="366" data-price="13" form="add_to_cart_form_products_slide_366" class="btn addtocart-list btn-outline-primary variant-product-content
                    variant-default-product-content-366                    variant-product-content-366                                         " aria-label="Ajouter au panier">
        <span class="addtocart-content flex">
          <span class="font-bold"> Ajouter </span>
          <span class="mx-1">-</span>
          <span class="pl-1">
            <span class="price">13&nbsp;€</span> </span>
        </span>
      </button>
    </div>
  </div>
</form>

POST https://horace.com/fr/checkout/cart/add/uenc/aHR0cHM6Ly9ob3JhY2UuY29tLw%2C%2C/product/319/

<form method="post" id="add_to_cart_form_products_slide_319" action="https://horace.com/fr/checkout/cart/add/uenc/aHR0cHM6Ly9ob3JhY2UuY29tLw%2C%2C/product/319/" class="container--item-product-category item product product-item product_addtocart_form card card-interactive
      " data-id="319" data-name="Shampoing pour Barbe" data-category="Rasage &amp; Barbe" data-price="14.0000">
  <input name="form_key" type="hidden" value="MNwD0YzJDL2fLqwp"> <input type="hidden" name="product" value="319">
  <input type="hidden" name="isAjax" value="true">
  <div class="relative h-full flex flex-col bg-white p-4 lg:p-5">
    <div class="container--additional-infos-product-category
     ">
      <a class="container--label-product-category label-product-category--319        flex        " href="https://horace.com/fr/product/shampoing-barbe">
<div class="label-product text-bestseller"><span>Bestseller</span></div> </a>
      <div class="container--addtocart-product-category lg:hidden">
        <a href="https://horace.com/fr/product/shampoing-barbe">
<div class="text-gray-8 text-benefice">
Nettoie et <br>discipline le poil </div>
</a>
      </div>
    </div>
    <a href="https://horace.com/fr/product/shampoing-barbe" title="Shampoing pour Barbe" class="container--visual-product-category image-mobile-products-category     variant-product-content variant-default-product-content-319     variant-product-content-319 product photo mx-auto" tabindex="-1">
<img loading="lazy" class="" alt="Shampoing pour Barbe" title="Shampoing pour Barbe" src="/cdn-cgi/image/fit=contain,width=360,format=auto,dpr=/media/catalog/product/h/o/horace_barbe_shampoing-barbe_packshot_1.jpg" width="360" height="360">
</a>
    <div class="container--infos-product-category product-info">
      <p class="title-product text-center">
        <a title="Shampoing pour Barbe" href="https://horace.com/fr/product/shampoing-barbe" class="variant-product-content variant-default-product-content-319                        variant-product-content-319">
Shampoing pour Barbe </a>
      </p>
    </div>
    <div class="mb-1 container--review-product
            category-product        mt-1">
      <div class="container--review-stars-empty stars-primary ">
        <div class="container--review-stars-full" style="width:98%"></div>
      </div>
      <a href="https://horace.com/fr/product/shampoing-barbe#tabbed-content" class="count-review-product">
1611 avis </a>
    </div>
    <div class="container--addtocart-product-category mt-2 hidden lg:block">
      <a href="https://horace.com/fr/product/shampoing-barbe">
<div class="text-gray-8 text-benefice">
Nettoie et <br>discipline le poil </div>
</a>
    </div>
    <div class="container--addtocart-product-category mt-4">
      <script defer="" type="text/javascript">
        // Detect if user come from search results
        var urlParams = new URLSearchParams(window.location.search);
        if (urlParams.get('s')) {
          var searchParams = sessionStorage.getItem('searchParams');
        }
        // Init add to cart
        function initAddToCart319() {
          return {
            addToCartCb: function(productId) {
              let $this = this;
              window.dispatchEvent(new CustomEvent('validate-gc-form', {
                detail: function() {
                  let productForm = document.querySelector('.product-add-form');
                  if (productForm.classList.contains('invalid')) {
                    return;
                  }
                  $this.addToCart(319);
                }
              }));
            },
            addToCart: function addToCart(productId) {
              let postUrl = 'https://horace.com/fr/checkout/cart/add/';
              let idForm;
              idForm = 'add_to_cart_form_products_slide_319';
              let form = document.getElementById(idForm);
              let buttonAddToCart = document.querySelectorAll('[data-addtocart-productId="' + productId + '"]')[0];
              let contentCartDrawer = document.querySelectorAll('.container--cart-drawer .content-cart-drawer')[0];
              const data = new URLSearchParams(new FormData(form));
              buttonAddToCart.classList.add('disabled:opacity-50');
              buttonAddToCart.setAttribute('disabled', '');
              contentCartDrawer.classList.add('is-loading');
              fetch(postUrl, {
                "headers": {
                  "content-type": "application/x-www-form-urlencoded; charset=UTF-8",
                },
                "body": data,
                "method": "POST",
                "mode": "cors",
                "credentials": "include"
              }).then(function(response) {
                if (response.redirected) {
                  window.location.href = response.url;
                } else if (response.ok) {
                  // If user come from search
                  if (searchParams) {
                    searchParams = searchParams.split(',');
                    localStorage.setItem('ajs_search_' + productId, JSON.stringify(searchParams))
                    sessionStorage.removeItem('searchParams');
                  }
                  return response.json();
                } else {
                  typeof window.dispatchMessages !== "undefined" && window.dispatchMessages(
                    [{
                      type: "warning",
                      text: "Could not add item to cart."
                    }], 5000);
                }
              }).then(function(response) {
                if (!response) {
                  return
                }
                if (response.error_message) {
                  document.getElementById('cart-msg-error').innerHTML = response.error_message;
                }
                window.dispatchEvent(new CustomEvent('toggle-cart'));
                var reloadCustomerDataEvent = new CustomEvent("reload-customer-section-data");
                window.dispatchEvent(reloadCustomerDataEvent);
              }).catch(function(error) {
                typeof window.dispatchMessages !== "undefined" && window.dispatchMessages(
                  [{
                    type: "error",
                    text: error
                  }], 5000);
              }).finally(() => {
                buttonAddToCart.classList.remove('disabled:opacity-50');
                buttonAddToCart.removeAttribute('disabled');
                setTimeout(() => {
                  contentCartDrawer.classList.remove('is-loading');
                }, 1700);
                setTimeout(() => {
                  document.getElementById('cart-msg-error').innerHTML = '';
                }, 8000);
              })
            }
          }
        }
      </script>
      <button type="submit" x-data="initAddToCart319()" @click.prevent="addToCart(319);" data-objectid="319" data-addtocart-productid="319" data-price="14" form="add_to_cart_form_products_slide_319" class="btn addtocart-list btn-outline-primary variant-product-content
                    variant-default-product-content-319                    variant-product-content-319                                         " aria-label="Ajouter au panier">
        <span class="addtocart-content flex">
          <span class="font-bold"> Ajouter </span>
          <span class="mx-1">-</span>
          <span class="pl-1">
            <span class="price">14&nbsp;€</span> </span>
        </span>
      </button>
    </div>
  </div>
</form>

POST https://horace.com/fr/checkout/cart/add/uenc/aHR0cHM6Ly9ob3JhY2UuY29tLw%2C%2C/product/541/

<form method="post" id="add_to_cart_form_products_slide_541" action="https://horace.com/fr/checkout/cart/add/uenc/aHR0cHM6Ly9ob3JhY2UuY29tLw%2C%2C/product/541/" class="container--item-product-category item product product-item product_addtocart_form card card-interactive
      " data-id="541" data-name="Gommage Visage Doux" data-category="Visage" data-price="13.0000">
  <input name="form_key" type="hidden" value="MNwD0YzJDL2fLqwp"> <input type="hidden" name="product" value="541">
  <input type="hidden" name="isAjax" value="true">
  <div class="relative h-full flex flex-col bg-white p-4 lg:p-5">
    <div class="container--additional-infos-product-category
     ">
      <a class="container--label-product-category label-product-category--541        flex        " href="https://horace.com/fr/product/exfoliant-visage">
<div class="label-product text-bestseller"><span>Bestseller</span></div> </a>
      <div class="container--addtocart-product-category lg:hidden">
        <a href="https://horace.com/fr/product/exfoliant-visage">
<div class="text-gray-8 text-benefice">
Élimine les peaux<br>mortes en douceur </div>
</a>
      </div>
    </div>
    <a href="https://horace.com/fr/product/exfoliant-visage" title="Gommage Visage Doux" class="container--visual-product-category image-mobile-products-category     variant-product-content variant-default-product-content-541     variant-product-content-541 product photo mx-auto" tabindex="-1">
<img loading="lazy" class="" alt="Gommage Visage Doux" title="Gommage Visage Doux" src="/cdn-cgi/image/fit=contain,width=360,format=auto,dpr=/media/catalog/product/p/a/packshot-600x600_1.jpg" width="360" height="360">
</a>
    <div class="container--infos-product-category product-info">
      <p class="title-product text-center">
        <a title="Gommage Visage Doux" href="https://horace.com/fr/product/exfoliant-visage" class="variant-product-content variant-default-product-content-541                        variant-product-content-541">
Gommage Visage Doux </a>
      </p>
    </div>
    <div class="mb-1 container--review-product
            category-product        mt-1">
      <div class="container--review-stars-empty stars-primary ">
        <div class="container--review-stars-full" style="width:96%"></div>
      </div>
      <a href="https://horace.com/fr/product/exfoliant-visage#tabbed-content" class="count-review-product">
4537 avis </a>
    </div>
    <div class="container--addtocart-product-category mt-2 hidden lg:block">
      <a href="https://horace.com/fr/product/exfoliant-visage">
<div class="text-gray-8 text-benefice">
Élimine les peaux<br>mortes en douceur </div>
</a>
    </div>
    <div class="container--addtocart-product-category mt-4">
      <script defer="" type="text/javascript">
        // Detect if user come from search results
        var urlParams = new URLSearchParams(window.location.search);
        if (urlParams.get('s')) {
          var searchParams = sessionStorage.getItem('searchParams');
        }
        // Init add to cart
        function initAddToCart541() {
          return {
            addToCartCb: function(productId) {
              let $this = this;
              window.dispatchEvent(new CustomEvent('validate-gc-form', {
                detail: function() {
                  let productForm = document.querySelector('.product-add-form');
                  if (productForm.classList.contains('invalid')) {
                    return;
                  }
                  $this.addToCart(541);
                }
              }));
            },
            addToCart: function addToCart(productId) {
              let postUrl = 'https://horace.com/fr/checkout/cart/add/';
              let idForm;
              idForm = 'add_to_cart_form_products_slide_541';
              let form = document.getElementById(idForm);
              let buttonAddToCart = document.querySelectorAll('[data-addtocart-productId="' + productId + '"]')[0];
              let contentCartDrawer = document.querySelectorAll('.container--cart-drawer .content-cart-drawer')[0];
              const data = new URLSearchParams(new FormData(form));
              buttonAddToCart.classList.add('disabled:opacity-50');
              buttonAddToCart.setAttribute('disabled', '');
              contentCartDrawer.classList.add('is-loading');
              fetch(postUrl, {
                "headers": {
                  "content-type": "application/x-www-form-urlencoded; charset=UTF-8",
                },
                "body": data,
                "method": "POST",
                "mode": "cors",
                "credentials": "include"
              }).then(function(response) {
                if (response.redirected) {
                  window.location.href = response.url;
                } else if (response.ok) {
                  // If user come from search
                  if (searchParams) {
                    searchParams = searchParams.split(',');
                    localStorage.setItem('ajs_search_' + productId, JSON.stringify(searchParams))
                    sessionStorage.removeItem('searchParams');
                  }
                  return response.json();
                } else {
                  typeof window.dispatchMessages !== "undefined" && window.dispatchMessages(
                    [{
                      type: "warning",
                      text: "Could not add item to cart."
                    }], 5000);
                }
              }).then(function(response) {
                if (!response) {
                  return
                }
                if (response.error_message) {
                  document.getElementById('cart-msg-error').innerHTML = response.error_message;
                }
                window.dispatchEvent(new CustomEvent('toggle-cart'));
                var reloadCustomerDataEvent = new CustomEvent("reload-customer-section-data");
                window.dispatchEvent(reloadCustomerDataEvent);
              }).catch(function(error) {
                typeof window.dispatchMessages !== "undefined" && window.dispatchMessages(
                  [{
                    type: "error",
                    text: error
                  }], 5000);
              }).finally(() => {
                buttonAddToCart.classList.remove('disabled:opacity-50');
                buttonAddToCart.removeAttribute('disabled');
                setTimeout(() => {
                  contentCartDrawer.classList.remove('is-loading');
                }, 1700);
                setTimeout(() => {
                  document.getElementById('cart-msg-error').innerHTML = '';
                }, 8000);
              })
            }
          }
        }
      </script>
      <button type="submit" x-data="initAddToCart541()" @click.prevent="addToCart(541);" data-objectid="541" data-addtocart-productid="541" data-price="13" form="add_to_cart_form_products_slide_541" class="btn addtocart-list btn-outline-primary variant-product-content
                    variant-default-product-content-541                    variant-product-content-541                                         " aria-label="Ajouter au panier">
        <span class="addtocart-content flex">
          <span class="font-bold"> Ajouter </span>
          <span class="mx-1">-</span>
          <span class="pl-1">
            <span class="price">13&nbsp;€</span> </span>
        </span>
      </button>
    </div>
  </div>
</form>

POST https://horace.com/fr/checkout/cart/add/uenc/aHR0cHM6Ly9ob3JhY2UuY29tLw%2C%2C/product/318/

<form method="post" id="add_to_cart_form_products_slide_318" action="https://horace.com/fr/checkout/cart/add/uenc/aHR0cHM6Ly9ob3JhY2UuY29tLw%2C%2C/product/318/" class="container--item-product-category item product product-item product_addtocart_form card card-interactive
      " data-id="318" data-name="Huile pour Barbe Patchouli &amp; Cèdre" data-category="Rasage &amp; Barbe" data-price="13.0000">
  <input name="form_key" type="hidden" value="MNwD0YzJDL2fLqwp"> <input type="hidden" name="product" value="318">
  <input type="hidden" name="isAjax" value="true">
  <div class="relative h-full flex flex-col bg-white p-4 lg:p-5">
    <div class="container--additional-infos-product-category
     ">
      <a class="container--label-product-category label-product-category--318        flex        " href="https://horace.com/fr/product/huile-pour-barbe-patchouli-et-cedre">
<div class="label-product text-bestseller"><span>Bestseller</span></div> </a>
      <div class="container--addtocart-product-category lg:hidden">
        <a href="https://horace.com/fr/product/huile-pour-barbe-patchouli-et-cedre">
<div class="text-gray-8 text-benefice">
Boisé et<br>aromatique </div>
</a>
      </div>
    </div>
    <a href="https://horace.com/fr/product/huile-pour-barbe-patchouli-et-cedre" title="Huile pour Barbe Patchouli &amp; Cèdre" class="container--visual-product-category image-mobile-products-category     variant-product-content variant-default-product-content-318     variant-product-content-318 product photo mx-auto" tabindex="-1">
<img loading="lazy" class="" alt="Huile pour Barbe Patchouli &amp; Cèdre" title="Huile pour Barbe Patchouli &amp; Cèdre" src="/cdn-cgi/image/fit=contain,width=360,format=auto,dpr=/media/catalog/product/p/a/packshot_999x999_1_.jpg" width="360" height="360">
</a>
    <div class="container--infos-product-category product-info">
      <p class="title-product text-center">
        <a title="Huile pour Barbe Patchouli &amp; Cèdre" href="https://horace.com/fr/product/huile-pour-barbe-patchouli-et-cedre" class="variant-product-content variant-default-product-content-318                        variant-product-content-318">
Huile pour Barbe Patchouli &amp; Cèdre </a>
      </p>
    </div>
    <div class="mb-1 container--review-product
            category-product        mt-1">
      <div class="container--review-stars-empty stars-primary ">
        <div class="container--review-stars-full" style="width:94%"></div>
      </div>
      <a href="https://horace.com/fr/product/huile-pour-barbe-patchouli-et-cedre#tabbed-content" class="count-review-product">
1694 avis </a>
    </div>
    <div class="container--addtocart-product-category mt-2 hidden lg:block">
      <a href="https://horace.com/fr/product/huile-pour-barbe-patchouli-et-cedre">
<div class="text-gray-8 text-benefice">
Boisé et<br>aromatique </div>
</a>
    </div>
    <div class="container--addtocart-product-category mt-4">
      <script defer="" type="text/javascript">
        // Detect if user come from search results
        var urlParams = new URLSearchParams(window.location.search);
        if (urlParams.get('s')) {
          var searchParams = sessionStorage.getItem('searchParams');
        }
        // Init add to cart
        function initAddToCart318() {
          return {
            addToCartCb: function(productId) {
              let $this = this;
              window.dispatchEvent(new CustomEvent('validate-gc-form', {
                detail: function() {
                  let productForm = document.querySelector('.product-add-form');
                  if (productForm.classList.contains('invalid')) {
                    return;
                  }
                  $this.addToCart(318);
                }
              }));
            },
            addToCart: function addToCart(productId) {
              let postUrl = 'https://horace.com/fr/checkout/cart/add/';
              let idForm;
              idForm = 'add_to_cart_form_products_slide_318';
              let form = document.getElementById(idForm);
              let buttonAddToCart = document.querySelectorAll('[data-addtocart-productId="' + productId + '"]')[0];
              let contentCartDrawer = document.querySelectorAll('.container--cart-drawer .content-cart-drawer')[0];
              const data = new URLSearchParams(new FormData(form));
              buttonAddToCart.classList.add('disabled:opacity-50');
              buttonAddToCart.setAttribute('disabled', '');
              contentCartDrawer.classList.add('is-loading');
              fetch(postUrl, {
                "headers": {
                  "content-type": "application/x-www-form-urlencoded; charset=UTF-8",
                },
                "body": data,
                "method": "POST",
                "mode": "cors",
                "credentials": "include"
              }).then(function(response) {
                if (response.redirected) {
                  window.location.href = response.url;
                } else if (response.ok) {
                  // If user come from search
                  if (searchParams) {
                    searchParams = searchParams.split(',');
                    localStorage.setItem('ajs_search_' + productId, JSON.stringify(searchParams))
                    sessionStorage.removeItem('searchParams');
                  }
                  return response.json();
                } else {
                  typeof window.dispatchMessages !== "undefined" && window.dispatchMessages(
                    [{
                      type: "warning",
                      text: "Could not add item to cart."
                    }], 5000);
                }
              }).then(function(response) {
                if (!response) {
                  return
                }
                if (response.error_message) {
                  document.getElementById('cart-msg-error').innerHTML = response.error_message;
                }
                window.dispatchEvent(new CustomEvent('toggle-cart'));
                var reloadCustomerDataEvent = new CustomEvent("reload-customer-section-data");
                window.dispatchEvent(reloadCustomerDataEvent);
              }).catch(function(error) {
                typeof window.dispatchMessages !== "undefined" && window.dispatchMessages(
                  [{
                    type: "error",
                    text: error
                  }], 5000);
              }).finally(() => {
                buttonAddToCart.classList.remove('disabled:opacity-50');
                buttonAddToCart.removeAttribute('disabled');
                setTimeout(() => {
                  contentCartDrawer.classList.remove('is-loading');
                }, 1700);
                setTimeout(() => {
                  document.getElementById('cart-msg-error').innerHTML = '';
                }, 8000);
              })
            }
          }
        }
      </script>
      <button type="submit" x-data="initAddToCart318()" @click.prevent="addToCart(318);" data-objectid="318" data-addtocart-productid="318" data-price="13" form="add_to_cart_form_products_slide_318" class="btn addtocart-list btn-outline-primary variant-product-content
                    variant-default-product-content-318                    variant-product-content-318                                         " aria-label="Ajouter au panier">
        <span class="addtocart-content flex">
          <span class="font-bold"> Ajouter </span>
          <span class="mx-1">-</span>
          <span class="pl-1">
            <span class="price">13&nbsp;€</span> </span>
        </span>
      </button>
    </div>
  </div>
</form>

POST https://horace.com/fr/checkout/cart/add/uenc/aHR0cHM6Ly9ob3JhY2UuY29tLw%2C%2C/product/326/

<form method="post" id="add_to_cart_form_products_slide_326" action="https://horace.com/fr/checkout/cart/add/uenc/aHR0cHM6Ly9ob3JhY2UuY29tLw%2C%2C/product/326/" class="container--item-product-category item product product-item product_addtocart_form card card-interactive
      " data-id="326" data-name="Shampoing Antipelliculaire Doux" data-category="Cheveux" data-price="13.0000">
  <input name="form_key" type="hidden" value="MNwD0YzJDL2fLqwp"> <input type="hidden" name="product" value="326">
  <input type="hidden" name="isAjax" value="true">
  <div class="relative h-full flex flex-col bg-white p-4 lg:p-5">
    <div class="container--additional-infos-product-category
     flex justify-between">
      <a class="container--label-product-category label-product-category--326        hidden lg:flex        " href="https://horace.com/fr/product/shampoing-antipelliculaire">
<div class="label-product text-bestseller"><span>Bestseller</span></div> </a>
      <div class="container--addtocart-product-category lg:hidden">
        <a href="https://horace.com/fr/product/shampoing-antipelliculaire">
<div class="text-gray-8 text-benefice">
Élimine durablement<br>les pellicules </div>
</a>
      </div>
      <div class="container--award-product-category grooming-award">
        <img class="w-full" loading="lazy" width="166" src="https://horace.com/static/version1689890119/frontend/Horace/hrc/fr_FR/images/category/2021_GQ_Grooming_Awards.png" alt="Grooming Awards">
      </div>
    </div>
    <a href="https://horace.com/fr/product/shampoing-antipelliculaire" title="Shampoing Antipelliculaire Doux" class="container--visual-product-category image-mobile-products-category     variant-product-content variant-default-product-content-326     variant-product-content-326 product photo mx-auto" tabindex="-1">
<img loading="lazy" class="" alt="Shampoing Antipelliculaire Doux" title="Shampoing Antipelliculaire Doux" src="/cdn-cgi/image/fit=contain,width=360,format=auto,dpr=/media/catalog/product/h/o/horace_cheveux_shampoing-antipel_packshot.jpg" width="360" height="360">
</a>
    <div class="container--infos-product-category product-info">
      <p class="title-product text-center">
        <a title="Shampoing Antipelliculaire Doux" href="https://horace.com/fr/product/shampoing-antipelliculaire" class="variant-product-content variant-default-product-content-326                        variant-product-content-326">
Shampoing Antipelliculaire Doux </a>
      </p>
    </div>
    <div class="mb-1 container--review-product
            category-product        mt-1">
      <div class="container--review-stars-empty stars-primary ">
        <div class="container--review-stars-full" style="width:94%"></div>
      </div>
      <a href="https://horace.com/fr/product/shampoing-antipelliculaire#tabbed-content" class="count-review-product">
1165 avis </a>
    </div>
    <div class="container--addtocart-product-category mt-2 hidden lg:block">
      <a href="https://horace.com/fr/product/shampoing-antipelliculaire">
<div class="text-gray-8 text-benefice">
Élimine durablement<br>les pellicules </div>
</a>
    </div>
    <div class="container--addtocart-product-category mt-4">
      <script defer="" type="text/javascript">
        // Detect if user come from search results
        var urlParams = new URLSearchParams(window.location.search);
        if (urlParams.get('s')) {
          var searchParams = sessionStorage.getItem('searchParams');
        }
        // Init add to cart
        function initAddToCart326() {
          return {
            addToCartCb: function(productId) {
              let $this = this;
              window.dispatchEvent(new CustomEvent('validate-gc-form', {
                detail: function() {
                  let productForm = document.querySelector('.product-add-form');
                  if (productForm.classList.contains('invalid')) {
                    return;
                  }
                  $this.addToCart(326);
                }
              }));
            },
            addToCart: function addToCart(productId) {
              let postUrl = 'https://horace.com/fr/checkout/cart/add/';
              let idForm;
              idForm = 'add_to_cart_form_products_slide_326';
              let form = document.getElementById(idForm);
              let buttonAddToCart = document.querySelectorAll('[data-addtocart-productId="' + productId + '"]')[0];
              let contentCartDrawer = document.querySelectorAll('.container--cart-drawer .content-cart-drawer')[0];
              const data = new URLSearchParams(new FormData(form));
              buttonAddToCart.classList.add('disabled:opacity-50');
              buttonAddToCart.setAttribute('disabled', '');
              contentCartDrawer.classList.add('is-loading');
              fetch(postUrl, {
                "headers": {
                  "content-type": "application/x-www-form-urlencoded; charset=UTF-8",
                },
                "body": data,
                "method": "POST",
                "mode": "cors",
                "credentials": "include"
              }).then(function(response) {
                if (response.redirected) {
                  window.location.href = response.url;
                } else if (response.ok) {
                  // If user come from search
                  if (searchParams) {
                    searchParams = searchParams.split(',');
                    localStorage.setItem('ajs_search_' + productId, JSON.stringify(searchParams))
                    sessionStorage.removeItem('searchParams');
                  }
                  return response.json();
                } else {
                  typeof window.dispatchMessages !== "undefined" && window.dispatchMessages(
                    [{
                      type: "warning",
                      text: "Could not add item to cart."
                    }], 5000);
                }
              }).then(function(response) {
                if (!response) {
                  return
                }
                if (response.error_message) {
                  document.getElementById('cart-msg-error').innerHTML = response.error_message;
                }
                window.dispatchEvent(new CustomEvent('toggle-cart'));
                var reloadCustomerDataEvent = new CustomEvent("reload-customer-section-data");
                window.dispatchEvent(reloadCustomerDataEvent);
              }).catch(function(error) {
                typeof window.dispatchMessages !== "undefined" && window.dispatchMessages(
                  [{
                    type: "error",
                    text: error
                  }], 5000);
              }).finally(() => {
                buttonAddToCart.classList.remove('disabled:opacity-50');
                buttonAddToCart.removeAttribute('disabled');
                setTimeout(() => {
                  contentCartDrawer.classList.remove('is-loading');
                }, 1700);
                setTimeout(() => {
                  document.getElementById('cart-msg-error').innerHTML = '';
                }, 8000);
              })
            }
          }
        }
      </script>
      <button type="submit" x-data="initAddToCart326()" @click.prevent="addToCart(326);" data-objectid="326" data-addtocart-productid="326" data-price="13" form="add_to_cart_form_products_slide_326" class="btn addtocart-list btn-outline-primary variant-product-content
                    variant-default-product-content-326                    variant-product-content-326                                         " aria-label="Ajouter au panier">
        <span class="addtocart-content flex">
          <span class="font-bold"> Ajouter </span>
          <span class="mx-1">-</span>
          <span class="pl-1">
            <span class="price">13&nbsp;€</span> </span>
        </span>
      </button>
    </div>
  </div>
</form>

POST https://horace.com/fr/checkout/cart/add/uenc/aHR0cHM6Ly9ob3JhY2UuY29tLw%2C%2C/product/222/

<form method="post" id="add_to_cart_form_products_slide_222" action="https://horace.com/fr/checkout/cart/add/uenc/aHR0cHM6Ly9ob3JhY2UuY29tLw%2C%2C/product/222/" class="container--item-product-category item product product-item product_addtocart_form card card-interactive
      " data-id="222" data-name="L’Intégral Visage" data-category="Kits" data-price="0">
  <input name="form_key" type="hidden" value="MNwD0YzJDL2fLqwp"> <input type="hidden" name="product" value="222">
  <input type="hidden" name="isAjax" value="true">
  <input type="hidden" id="bundle-option-50-200" name="bundle_option[50]" form="add_to_cart_form_products_slide_222" class="bundle-option-50  product bundle option" value="200" checked="checked" data-option-id="50" data-selection-id="200"
    x-ref="option-50">
  <input type="hidden" id="bundle-option-49-199" name="bundle_option[49]" form="add_to_cart_form_products_slide_222" class="bundle-option-49  product bundle option" value="199" checked="checked" data-option-id="49" data-selection-id="199"
    x-ref="option-49">
  <input type="hidden" id="bundle-option-48-626" name="bundle_option[48]" form="add_to_cart_form_products_slide_222" class="bundle-option-48  product bundle option" value="626" checked="checked" data-option-id="48" data-selection-id="626"
    x-ref="option-48">
  <input type="hidden" id="bundle-option-88-693" name="bundle_option[88]" form="add_to_cart_form_products_slide_222" class="bundle-option-88  product bundle option" value="693" checked="checked" data-option-id="88" data-selection-id="693"
    x-ref="option-88">
  <input type="hidden" id="bundle-option-47-514" name="bundle_option[47]" form="add_to_cart_form_products_slide_222" class="bundle-option-47  product bundle option" value="514" checked="checked" data-option-id="47" data-selection-id="514"
    x-ref="option-47">
  <div class="relative h-full flex flex-col bg-white p-4 lg:p-5">
    <div class="container--additional-infos-product-category
     ">
      <a class="container--label-product-category label-product-category--222        flex        " href="https://horace.com/fr/product/kit-integral-visage">
<div class="label-product text-save"><span>Économisez <span class="price">12&nbsp;€</span></span></div> </a>
      <div class="container--addtocart-product-category lg:hidden">
        <a href="https://horace.com/fr/product/kit-integral-visage">
<div class="text-gray-8 text-benefice">
5 essentiels pour<br>prendre son temps </div>
</a>
      </div>
    </div>
    <a href="https://horace.com/fr/product/kit-integral-visage" title="L’Intégral Visage" class="container--visual-product-category image-mobile-products-category     variant-product-content variant-default-product-content-222     variant-product-content-222 product photo mx-auto" tabindex="-1">
<img loading="lazy" class="" alt="L’Intégral Visage" title="L’Intégral Visage" src="/cdn-cgi/image/fit=contain,width=360,format=auto,dpr=/media/catalog/product/6/0/600x600_packshot_kit_integrale_ombre.jpg" width="360" height="360">
</a>
    <div class="container--infos-product-category product-info">
      <p class="title-product text-center">
        <a title="L’Intégral Visage" href="https://horace.com/fr/product/kit-integral-visage" class="variant-product-content variant-default-product-content-222                        variant-product-content-222">
L’Intégral Visage </a>
      </p>
    </div>
    <div class="container--addtocart-product-category mt-2 hidden lg:block">
      <a href="https://horace.com/fr/product/kit-integral-visage">
<div class="text-gray-8 text-benefice">
5 essentiels pour<br>prendre son temps </div>
</a>
    </div>
    <div class="container--addtocart-product-category mt-4">
      <script defer="" type="text/javascript">
        // Detect if user come from search results
        var urlParams = new URLSearchParams(window.location.search);
        if (urlParams.get('s')) {
          var searchParams = sessionStorage.getItem('searchParams');
        }
        // Init add to cart
        function initAddToCart222() {
          return {
            addToCartCb: function(productId) {
              let $this = this;
              window.dispatchEvent(new CustomEvent('validate-gc-form', {
                detail: function() {
                  let productForm = document.querySelector('.product-add-form');
                  if (productForm.classList.contains('invalid')) {
                    return;
                  }
                  $this.addToCart(222);
                }
              }));
            },
            addToCart: function addToCart(productId) {
              let postUrl = 'https://horace.com/fr/checkout/cart/add/';
              let idForm;
              idForm = 'add_to_cart_form_products_slide_222';
              let form = document.getElementById(idForm);
              let buttonAddToCart = document.querySelectorAll('[data-addtocart-productId="' + productId + '"]')[0];
              let contentCartDrawer = document.querySelectorAll('.container--cart-drawer .content-cart-drawer')[0];
              const data = new URLSearchParams(new FormData(form));
              buttonAddToCart.classList.add('disabled:opacity-50');
              buttonAddToCart.setAttribute('disabled', '');
              contentCartDrawer.classList.add('is-loading');
              fetch(postUrl, {
                "headers": {
                  "content-type": "application/x-www-form-urlencoded; charset=UTF-8",
                },
                "body": data,
                "method": "POST",
                "mode": "cors",
                "credentials": "include"
              }).then(function(response) {
                if (response.redirected) {
                  window.location.href = response.url;
                } else if (response.ok) {
                  // If user come from search
                  if (searchParams) {
                    searchParams = searchParams.split(',');
                    localStorage.setItem('ajs_search_' + productId, JSON.stringify(searchParams))
                    sessionStorage.removeItem('searchParams');
                  }
                  return response.json();
                } else {
                  typeof window.dispatchMessages !== "undefined" && window.dispatchMessages(
                    [{
                      type: "warning",
                      text: "Could not add item to cart."
                    }], 5000);
                }
              }).then(function(response) {
                if (!response) {
                  return
                }
                if (response.error_message) {
                  document.getElementById('cart-msg-error').innerHTML = response.error_message;
                }
                window.dispatchEvent(new CustomEvent('toggle-cart'));
                var reloadCustomerDataEvent = new CustomEvent("reload-customer-section-data");
                window.dispatchEvent(reloadCustomerDataEvent);
              }).catch(function(error) {
                typeof window.dispatchMessages !== "undefined" && window.dispatchMessages(
                  [{
                    type: "error",
                    text: error
                  }], 5000);
              }).finally(() => {
                buttonAddToCart.classList.remove('disabled:opacity-50');
                buttonAddToCart.removeAttribute('disabled');
                setTimeout(() => {
                  contentCartDrawer.classList.remove('is-loading');
                }, 1700);
                setTimeout(() => {
                  document.getElementById('cart-msg-error').innerHTML = '';
                }, 8000);
              })
            }
          }
        }
      </script>
      <button type="submit" x-data="initAddToCart222()" @click.prevent="addToCart(222);" data-objectid="222" data-addtocart-productid="222" data-price="61" form="add_to_cart_form_products_slide_222" class="btn addtocart-list btn-outline-primary variant-product-content
                    variant-default-product-content-222                    variant-product-content-222                     bundle-simple                    " aria-label="Ajouter au panier">
        <span class="addtocart-content flex">
          <span class="font-bold"> Ajouter </span>
          <span class="mx-1">-</span>
          <span class="pl-1">
            <span class="flex">
              <script type="text/javascript">
                function initPrice222() {
                  return {
                    activeProductsPriceData: false,
                    initialFinalPrice: 0,
                    calculatedFinalPrice: false,
                    tierPrices: [],
                    qty: 1,
                    formatPrice(value, showSign) {
                      var currentSymbol = '€';
                      var formatter = new Intl.NumberFormat(document.documentElement.lang, {
                        style: 'currency',
                        currency: 'EUR',
                        signDisplay: showSign ? "always" : "auto",
                        minimumFractionDigits: 0
                      });
                      return (typeof Intl.NumberFormat.prototype.formatToParts) ? formatter.formatToParts(value).map(({
                        type,
                        value
                      }) => {
                        switch (type) {
                          case 'currency':
                            return currentSymbol || value;
                          case 'minusSign':
                            return '- ';
                          case 'plusSign':
                            return '+ ';
                          default:
                            return value;
                        }
                      }).reduce((string, part) => string + part) : formatter.format(value);
                    },
                    getFinalPrice() {
                      let finalPrice = this.initialFinalPrice;
                      if (this.activeProductsPriceData) {
                        finalPrice = this.activeProductsPriceData.finalPrice;
                        finalPrice = this.tierPrices.reduce((finalValue, tierPrice) => {
                          if (this.qty >= tierPrice.price_qty) {
                            return (this.activeProductsPriceData.oldPrice / 100 * tierPrice.percentage_value < finalValue) ? this.activeProductsPriceData.oldPrice / 100 * tierPrice.percentage_value : finalValue;
                          }
                          return finalValue;
                        }, finalPrice);
                      }
                      return finalPrice;
                    },
                    eventListeners: {
                      ['@update-bundle-option-prices-222.window'](event) {
                        this.activeProductsPriceData = event.detail;
                      }
                    }
                  }
                }
              </script>
              <div x-data="initPrice222()" x-spread="eventListeners" class="price-box price-final_price flex items-baseline">
                <span class="bundle-old-price-222 old-price price-wrapper price flex line-through" id="product-price-222" :data-price="activeProductsPriceData.oldPrice"
                  x-html="(activeProductsPriceData.oldPrice) ? formatPrice(activeProductsPriceData.oldPrice) : formatPrice(74)">74&nbsp;€</span>
                <span class="final-price price-wrapper price flex " :data-price="getFinalPrice()" :data-old-price="activeProductsPriceData.oldPrice" id="product-price-222" x-html="(getFinalPrice()) ? formatPrice(getFinalPrice()) : formatPrice(61)"
                  data-price="0">61&nbsp;€</span>
              </div>
            </span>
          </span>
        </span>
      </button>
    </div>
  </div>
</form>

POST https://horace.com/fr/checkout/cart/add/uenc/aHR0cHM6Ly9ob3JhY2UuY29tLw%2C%2C/product/320/

<form method="post" id="add_to_cart_form_products_slide_320" action="https://horace.com/fr/checkout/cart/add/uenc/aHR0cHM6Ly9ob3JhY2UuY29tLw%2C%2C/product/320/" class="container--item-product-category item product product-item product_addtocart_form card card-interactive
      " data-id="320" data-name="Duo Shampoing Barbe &amp; Huile Barbe" data-category="Rasage &amp; Barbe" data-price="0">
  <input name="form_key" type="hidden" value="MNwD0YzJDL2fLqwp"> <input type="hidden" name="product" value="320">
  <input type="hidden" name="isAjax" value="true">
  <div class="relative h-full flex flex-col bg-white p-4 lg:p-5">
    <div class="container--additional-infos-product-category
     ">
      <a class="container--label-product-category label-product-category--320        flex        " href="https://horace.com/fr/product/duo-shampoing-barbe-huile-barbe">
<div class="label-product text-save"><span>Économisez <span class="price">4&nbsp;€</span></span></div> </a>
      <div class="container--addtocart-product-category lg:hidden">
        <a href="https://horace.com/fr/product/duo-shampoing-barbe-huile-barbe">
<div class="text-gray-8 text-benefice">
Pour une barbe<br>douce et forte </div>
</a>
      </div>
    </div>
    <a href="https://horace.com/fr/product/duo-shampoing-barbe-huile-barbe" title="Duo Shampoing Barbe &amp; Huile Barbe" class="container--visual-product-category image-mobile-products-category     variant-product-content variant-default-product-content-320     variant-product-content-320 product photo mx-auto" tabindex="-1">
<img loading="lazy" class="" alt="Duo Shampoing Barbe &amp; Huile Barbe" title="Duo Shampoing Barbe &amp; Huile Barbe" src="/cdn-cgi/image/fit=contain,width=360,format=auto,dpr=/media/catalog/product/k/i/kit-barbe-v2_1_.jpg" width="360" height="360">
</a>
    <div class="container--infos-product-category product-info">
      <p class="title-product text-center">
        <a title="Duo Shampoing Barbe &amp; Huile Barbe" href="https://horace.com/fr/product/duo-shampoing-barbe-huile-barbe" class="variant-product-content variant-default-product-content-320                        variant-product-content-320">
Duo Shampoing Barbe &amp; Huile Barbe </a>
      </p>
    </div>
    <div class="container--addtocart-product-category mt-2 hidden lg:block">
      <a href="https://horace.com/fr/product/duo-shampoing-barbe-huile-barbe">
<div class="text-gray-8 text-benefice">
Pour une barbe<br>douce et forte </div>
</a>
    </div>
    <div class="container--addtocart-product-category mt-4">
      <a href="https://horace.com/fr/product/duo-shampoing-barbe-huile-barbe" class="btn addtocart-list btn-outline-primary" title="Duo Shampoing Barbe &amp; Huile Barbe">
<span class="font-bold">Composer</span>
<span class="mx-1">-</span>
<span class="flex">
<script type="text/javascript">
    function initPrice320() {
        return {
            activeProductsPriceData: false,
            initialFinalPrice: 0,
            calculatedFinalPrice: false,
            tierPrices: [],
            qty: 1,
            formatPrice(value, showSign) {
                var currentSymbol = '€';
                var formatter = new Intl.NumberFormat(
                    document.documentElement.lang,
                    {
                        style: 'currency',
                        currency: 'EUR',
                        signDisplay: showSign ? "always" : "auto",
                        minimumFractionDigits: 0
                    }
                );
                return (typeof Intl.NumberFormat.prototype.formatToParts) ?
                    formatter.formatToParts(value).map(({type, value}) => {
                        switch (type) {
                            case 'currency':
                                return currentSymbol || value;
                            case 'minusSign':
                                return '- ';
                            case 'plusSign':
                                return '+ ';
                            default :
                                return value;
                        }
                    }).reduce((string, part) => string + part) :
                    formatter.format(value);
            },
            getFinalPrice() {
                let finalPrice = this.initialFinalPrice;

                if (this.activeProductsPriceData) {
                    finalPrice = this.activeProductsPriceData.finalPrice;

                    finalPrice = this.tierPrices.reduce((finalValue, tierPrice) => {
                        if (this.qty >= tierPrice.price_qty) {
                            return (
                                this.activeProductsPriceData.oldPrice / 100 * tierPrice.percentage_value <
                                finalValue
                            ) ?
                                this.activeProductsPriceData.oldPrice / 100 * tierPrice.percentage_value :
                                finalValue;
                        }
                        return finalValue;
                    }, finalPrice);

                }

                return finalPrice;
            },
            eventListeners: {
                ['@update-bundle-option-prices-320.window'](event) {
                    this.activeProductsPriceData = event.detail;
                }
            }
        }
    }
</script>
<div x-data="initPrice320()" x-spread="eventListeners" class="price-box price-final_price flex items-baseline">
<span class="bundle-old-price-320 old-price price-wrapper price flex line-through" id="product-price-320" :data-price="activeProductsPriceData.oldPrice" x-html="(activeProductsPriceData.oldPrice) ? formatPrice(activeProductsPriceData.oldPrice) : formatPrice(27)">27&nbsp;€</span>
<span class="final-price price-wrapper price flex " :data-price="getFinalPrice()" :data-old-price="activeProductsPriceData.oldPrice" id="product-price-320" x-html="(getFinalPrice()) ? formatPrice(getFinalPrice()) : formatPrice(23)" data-price="0">23&nbsp;€</span>
</div>
</span>
</a>
    </div>
  </div>
</form>

POST #

<form @submit.prevent="submitData" id="signup_footer" action="#" method="POST">
  <input name="form_key" type="hidden" value="MNwD0YzJDL2fLqwp">
  <div :class="{ 'hidden' : !displayForm, 'flex' : displayForm }" class="flex">
    <div>
      <input x-model="formData.email" type="email" class="w-full text-sm bordeless bordeless--secondary" value="" name="email" id="email_signup_footer" placeholder="monsieursympa@sympa.fr" required="" autocomplete="off">
    </div>
    <div class="flex">
      <button type="submit" x-html="buttonLabel" class="btn bordeless bordeless--secondary w-12 lg:w-auto" aria-label="Envoyer"><svg xmlns="http://www.w3.org/2000/svg" width="7" height="14" viewBox="0 0 7 14" fill="none"
          class="stroke-current text-secondary">
          <path d="M1 1L6 7L1 13" stroke-linecap="round" stroke-linejoin="round"></path>
        </svg></button>
    </div>
  </div>
  <div class="message-text" x-html="message"></div>
  <template x-if="errorMessages.length > 0">
    <div class="message-text">
      <template x-for="errorMessage in errorMessages">
        <span x-html="errorMessage"></span>
      </template>
    </div>
  </template>
</form>

Name: webform_GHZyN4POST

<form method="post" name="webform_GHZyN4" id="webform_GHZyN4" enctype="multipart/form-data" class="form " style="" aria-label="Exit intent" role="none">
  <input name="form_key" type="hidden">
  <input type="hidden" name="submitForm_4" value="1">
  <input type="hidden" name="form_id" value="4">
  <fieldset id="fieldset_GHZyN40" data-fieldsetid="fieldset_0" class="fieldset fieldset-0 " style="" role="group">
    <div id="field_GHZyN446" role="group" data-name="EXIT_INTENT_LEAVE" class="main-field field  wf-lg-1-1 wf-md-1-1 wf-sm-1-1 type-select_checkbox webforms-fields-46 webforms-fields-EXIT_INTENT_LEAVE " aria-labelledby="label_fieldGHZyN446">
      <label class="label field-label" id="label_fieldGHZyN446"> Quelle est la raison de votre départ ? </label>
      <div class="control" role="group" aria-labelledby="label_fieldGHZyN446">
        <script defer="">
          function initCheckbox_fieldGHZyN446() {
            return {
              checkbox: [],
              selectedCheckbox: 0,
              maxSelectedCheckbox: 0,
              bindEvents() {
                let _this = this;
                this.checkbox = document.querySelectorAll('#checkbox_fieldGHZyN446 input.checkbox');
                this.checkbox.forEach(input => {
                  input.addEventListener('change', function() {
                    if (this.checked) {
                      _this.selectedCheckbox++;
                    } else {
                      _this.selectedCheckbox--;
                    }
                    _this.isMaxOptionsSelected();
                  });
                });
              },
              isMaxOptionsSelected() {
                if (this.maxSelectedCheckbox > 0 && this.selectedCheckbox >= this.maxSelectedCheckbox) {
                  this.checkbox.forEach(input => {
                    if (!input.checked) {
                      input.disabled = true;
                    }
                  })
                } else {
                  this.checkbox.forEach(input => {
                    input.disabled = false;
                  })
                }
              }
            }
          }
        </script>
        <div x-data="initCheckbox_fieldGHZyN446()" x-init="bindEvents()" id="checkbox_fieldGHZyN446" class="checkbox-group">
          <div class="field field--checkbox choice option-0" style="">
            <input id="fieldGHZyN4460" name="field[46][]" data-code="EXIT_INTENT_LEAVE_0" type="checkbox" value="hrc.exit-intent.anwser.option1" class="checkbox form-input" data-uid="GHZyN446"
              aria-labelledby="fieldGHZyN4460_label label_fieldGHZyN446">
            <label id="fieldGHZyN4460_label" for="fieldGHZyN4460" class="option-label">
              <div>Les produits ne me correspondent pas</div>
            </label>
          </div>
          <div class="field field--checkbox choice option-1" style="">
            <input id="fieldGHZyN4461" name="field[46][]" data-code="EXIT_INTENT_LEAVE_1" type="checkbox" value="hrc.exit-intent.anwser.option2" class="checkbox form-input" data-uid="GHZyN446"
              aria-labelledby="fieldGHZyN4461_label label_fieldGHZyN446">
            <label id="fieldGHZyN4461_label" for="fieldGHZyN4461" class="option-label">
              <div>Le choix des produits est trop limité</div>
            </label>
          </div>
          <div class="field field--checkbox choice option-2" style="">
            <input id="fieldGHZyN4462" name="field[46][]" data-code="EXIT_INTENT_LEAVE_2" type="checkbox" value="hrc.exit-intent.anwser.option4" class="checkbox form-input" data-uid="GHZyN446"
              aria-labelledby="fieldGHZyN4462_label label_fieldGHZyN446">
            <label id="fieldGHZyN4462_label" for="fieldGHZyN4462" class="option-label">
              <div>Les frais de port sont trop élevés</div>
            </label>
          </div>
          <div class="field field--checkbox choice option-3" style="">
            <input id="fieldGHZyN4463" name="field[46][]" data-code="EXIT_INTENT_LEAVE_3" type="checkbox" value="hrc.exit-intent.anwser.option5" class="checkbox form-input" data-uid="GHZyN446"
              aria-labelledby="fieldGHZyN4463_label label_fieldGHZyN446">
            <label id="fieldGHZyN4463_label" for="fieldGHZyN4463" class="option-label">
              <div>Le temps de chargement de la page est trop long</div>
            </label>
          </div>
          <div class="field field--checkbox choice option-4" style="">
            <input id="fieldGHZyN4464" name="field[46][]" data-code="EXIT_INTENT_LEAVE_4" type="checkbox" value="hrc.exit-intent.anwser.option6" class="checkbox form-input" data-uid="GHZyN446"
              aria-labelledby="fieldGHZyN4464_label label_fieldGHZyN446">
            <label id="fieldGHZyN4464_label" for="fieldGHZyN4464" class="option-label">
              <div>J’ai vu une pub, j’étais curieux</div>
            </label>
          </div>
          <div class="field field--checkbox choice option-5" style="">
            <input id="fieldGHZyN4465" name="field[46][]" data-code="EXIT_INTENT_LEAVE_5" type="checkbox" value="hrc.exit-intent.anwser.option7" class="checkbox form-input" data-uid="GHZyN446"
              aria-labelledby="fieldGHZyN4465_label label_fieldGHZyN446">
            <label id="fieldGHZyN4465_label" for="fieldGHZyN4465" class="option-label">
              <div>Je consulte uniquement le site pour acheter en boutiques/pharmacie/Monoprix</div>
            </label>
          </div>
          <div class="field field--checkbox choice option-6" style="">
            <input id="fieldGHZyN4466" name="field[46][]" data-code="EXIT_INTENT_LEAVE_6" type="checkbox" value="hrc.exit-intent.anwser.option8" class="checkbox form-input" data-uid="GHZyN446"
              aria-labelledby="fieldGHZyN4466_label label_fieldGHZyN446">
            <label id="fieldGHZyN4466_label" for="fieldGHZyN4466" class="option-label">
              <div>Je ne suis pas prêt à acheter maintenant</div>
            </label>
          </div>
          <div class="field field--checkbox choice option-7" style="">
            <input id="fieldGHZyN4467" name="field[46][]" data-code="EXIT_INTENT_LEAVE_7" type="checkbox" value="hrc.exit-intent.anwser.option9" class="checkbox form-input" data-uid="GHZyN446"
              aria-labelledby="fieldGHZyN4467_label label_fieldGHZyN446">
            <label id="fieldGHZyN4467_label" for="fieldGHZyN4467" class="option-label">
              <div>Autres</div>
            </label>
          </div>
        </div>
      </div>
    </div>
    <div id="field_GHZyN447" role="group" data-name="EXIT_INTENT_WHY" class="main-field field  wf-lg-1-1 wf-md-1-1 wf-sm-1-1 type-text webforms-fields-47 webforms-fields-EXIT_INTENT_WHY required" aria-labelledby="label_fieldGHZyN447"
      style="display:none">
      <label class="label field-label" id="label_fieldGHZyN447" for="fieldGHZyN447"> Pourquoi ? </label>
      <div class="control" role="group" aria-labelledby="label_fieldGHZyN447">
        <input id="fieldGHZyN447" name="field[47]" data-code="EXIT_INTENT_WHY" type="text" class="form-input w-full input-text " style="" value="" placeholder="" @keyup.enter="goToNextStep()" data-validate="{'required-entry':true}"
          aria-labelledby="label_fieldGHZyN447" aria-required="true">
      </div>
    </div>
    <div id="field_GHZyN448" role="group" data-name="EXIT_INTENT_OTHER" class="main-field field  wf-lg-1-1 wf-md-1-1 wf-sm-1-1 type-text webforms-fields-48 webforms-fields-EXIT_INTENT_OTHER " aria-labelledby="label_fieldGHZyN448"
      style="display:none">
      <label class="label field-label" id="label_fieldGHZyN448" for="fieldGHZyN448"> Autres </label>
      <div class="control" role="group" aria-labelledby="label_fieldGHZyN448">
        <input id="fieldGHZyN448" name="field[48]" data-code="EXIT_INTENT_OTHER" type="text" class="form-input w-full input-text " style="" value="" placeholder="" @keyup.enter="goToNextStep()" aria-labelledby="label_fieldGHZyN448">
      </div>
    </div>
  </fieldset>
  <script defer="">
    function initActionsToolbar_GHZyN4() {
      return {
        loading: false,
        isSubmitted: false,
        bindEvents() {
          let _this = this;
          window.addEventListener('webformsSubmit', (e) => {
            if (e.detail === 'submit') {
              _this.loading = true;
            }
            if (e.detail === 'success') {
              this.isSubmitted = true;
            }
            if (e.detail === 'error') {
              this.loading = false;
            }
          }, false);
        }
      }
    }
  </script>
  <div x-data="initActionsToolbar_GHZyN4()" x-init="bindEvents()" x-show="!isSubmitted" id="submitGHZyN4" class="actions-toolbar actions-toolbar-4 " style="display: none">
    <div class="primary">
      <button x-show="!loading" type="submit" class="action submit primary " id="webform_GHZyN4_submit_button" title="Envoyer" name="submit_button_GHZyN4">
        <span>Envoyer</span>
      </button>
    </div>
    <div class="secondary">
      <div class="please-wait" id="webform_GHZyN4_sending_data" x-show="loading">
        <div class="loading-indicator"></div>
        <span id="webform_GHZyN4_progress_text">
          <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 16 16" fill="none" class="animate-spin text-secondary">
            <g clip-path="url(#clip0)">
              <path
                d="M12.1786 3.46768L11.9946 3.65167L12.1858 3.82816C13.2889 4.84647 13.972 6.37937 13.972 8.00002C13.972 11.3286 11.3284 13.9722 7.99978 13.9722C4.67119 13.9722 2.02756 11.3286 2.02756 8.00002C2.02756 6.37937 2.71063 4.84647 3.8138 3.82816L4.00499 3.65167L3.821 3.46768L3.10989 2.75657L2.92692 2.5736L2.75035 2.76277C1.46731 4.13746 0.638672 5.9747 0.638672 8.00002C0.638672 12.0492 3.9506 15.3611 7.99978 15.3611C12.049 15.3611 15.3609 12.0492 15.3609 8.00002C15.3609 5.9747 14.5323 4.13746 13.2492 2.76277L13.0727 2.5736L12.8897 2.75657L12.1786 3.46768Z"
                fill="currentColor" stroke="currentColor" stroke-width="0.5"></path>
            </g>
            <defs>
              <clipPath id="clip0">
                <rect width="16" height="16" fill="currentColor"></rect>
              </clipPath>
            </defs>
          </svg>
        </span>
      </div>
    </div>
  </div>
</form>

Name: webform_GHZyN4POST

<form method="post" name="webform_GHZyN4" id="webform_GHZyN4" enctype="multipart/form-data" class="form " style="" aria-label="Exit intent" role="none" novalidate="">
  <input name="form_key" type="hidden" value="MNwD0YzJDL2fLqwp">
  <input type="hidden" name="submitForm_4" value="1">
  <input type="hidden" name="form_id" value="4">
  <fieldset id="fieldset_GHZyN40" data-fieldsetid="fieldset_0" class="fieldset fieldset-0 " style="" role="group">
    <div id="field_GHZyN446" role="group" data-name="EXIT_INTENT_LEAVE" class="main-field field  wf-lg-1-1 wf-md-1-1 wf-sm-1-1 type-select_checkbox webforms-fields-46 webforms-fields-EXIT_INTENT_LEAVE " aria-labelledby="label_fieldGHZyN446">
      <label class="label field-label" id="label_fieldGHZyN446"> Quelle est la raison de votre départ ? </label>
      <div class="control" role="group" aria-labelledby="label_fieldGHZyN446">
        <script defer="">
          function initCheckbox_fieldGHZyN446() {
            return {
              checkbox: [],
              selectedCheckbox: 0,
              maxSelectedCheckbox: 0,
              bindEvents() {
                let _this = this;
                this.checkbox = document.querySelectorAll('#checkbox_fieldGHZyN446 input.checkbox');
                this.checkbox.forEach(input => {
                  input.addEventListener('change', function() {
                    if (this.checked) {
                      _this.selectedCheckbox++;
                    } else {
                      _this.selectedCheckbox--;
                    }
                    _this.isMaxOptionsSelected();
                  });
                });
              },
              isMaxOptionsSelected() {
                if (this.maxSelectedCheckbox > 0 && this.selectedCheckbox >= this.maxSelectedCheckbox) {
                  this.checkbox.forEach(input => {
                    if (!input.checked) {
                      input.disabled = true;
                    }
                  })
                } else {
                  this.checkbox.forEach(input => {
                    input.disabled = false;
                  })
                }
              }
            }
          }
        </script>
        <div x-data="initCheckbox_fieldGHZyN446()" x-init="bindEvents()" id="checkbox_fieldGHZyN446" class="checkbox-group">
          <div class="field field--checkbox choice option-0" style="">
            <input id="fieldGHZyN4460" name="field[46][]" data-code="EXIT_INTENT_LEAVE_0" type="checkbox" value="hrc.exit-intent.anwser.option1" class="checkbox form-input" data-uid="GHZyN446"
              aria-labelledby="fieldGHZyN4460_label label_fieldGHZyN446">
            <label id="fieldGHZyN4460_label" for="fieldGHZyN4460" class="option-label">
              <div>Les produits ne me correspondent pas</div>
            </label>
          </div>
          <div class="field field--checkbox choice option-1" style="">
            <input id="fieldGHZyN4461" name="field[46][]" data-code="EXIT_INTENT_LEAVE_1" type="checkbox" value="hrc.exit-intent.anwser.option2" class="checkbox form-input" data-uid="GHZyN446"
              aria-labelledby="fieldGHZyN4461_label label_fieldGHZyN446">
            <label id="fieldGHZyN4461_label" for="fieldGHZyN4461" class="option-label">
              <div>Le choix des produits est trop limité</div>
            </label>
          </div>
          <div class="field field--checkbox choice option-2" style="">
            <input id="fieldGHZyN4462" name="field[46][]" data-code="EXIT_INTENT_LEAVE_2" type="checkbox" value="hrc.exit-intent.anwser.option4" class="checkbox form-input" data-uid="GHZyN446"
              aria-labelledby="fieldGHZyN4462_label label_fieldGHZyN446">
            <label id="fieldGHZyN4462_label" for="fieldGHZyN4462" class="option-label">
              <div>Les frais de port sont trop élevés</div>
            </label>
          </div>
          <div class="field field--checkbox choice option-3" style="">
            <input id="fieldGHZyN4463" name="field[46][]" data-code="EXIT_INTENT_LEAVE_3" type="checkbox" value="hrc.exit-intent.anwser.option5" class="checkbox form-input" data-uid="GHZyN446"
              aria-labelledby="fieldGHZyN4463_label label_fieldGHZyN446">
            <label id="fieldGHZyN4463_label" for="fieldGHZyN4463" class="option-label">
              <div>Le temps de chargement de la page est trop long</div>
            </label>
          </div>
          <div class="field field--checkbox choice option-4" style="">
            <input id="fieldGHZyN4464" name="field[46][]" data-code="EXIT_INTENT_LEAVE_4" type="checkbox" value="hrc.exit-intent.anwser.option6" class="checkbox form-input" data-uid="GHZyN446"
              aria-labelledby="fieldGHZyN4464_label label_fieldGHZyN446">
            <label id="fieldGHZyN4464_label" for="fieldGHZyN4464" class="option-label">
              <div>J’ai vu une pub, j’étais curieux</div>
            </label>
          </div>
          <div class="field field--checkbox choice option-5" style="">
            <input id="fieldGHZyN4465" name="field[46][]" data-code="EXIT_INTENT_LEAVE_5" type="checkbox" value="hrc.exit-intent.anwser.option7" class="checkbox form-input" data-uid="GHZyN446"
              aria-labelledby="fieldGHZyN4465_label label_fieldGHZyN446">
            <label id="fieldGHZyN4465_label" for="fieldGHZyN4465" class="option-label">
              <div>Je consulte uniquement le site pour acheter en boutiques/pharmacie/Monoprix</div>
            </label>
          </div>
          <div class="field field--checkbox choice option-6" style="">
            <input id="fieldGHZyN4466" name="field[46][]" data-code="EXIT_INTENT_LEAVE_6" type="checkbox" value="hrc.exit-intent.anwser.option8" class="checkbox form-input" data-uid="GHZyN446"
              aria-labelledby="fieldGHZyN4466_label label_fieldGHZyN446">
            <label id="fieldGHZyN4466_label" for="fieldGHZyN4466" class="option-label">
              <div>Je ne suis pas prêt à acheter maintenant</div>
            </label>
          </div>
          <div class="field field--checkbox choice option-7" style="">
            <input id="fieldGHZyN4467" name="field[46][]" data-code="EXIT_INTENT_LEAVE_7" type="checkbox" value="hrc.exit-intent.anwser.option9" class="checkbox form-input" data-uid="GHZyN446"
              aria-labelledby="fieldGHZyN4467_label label_fieldGHZyN446">
            <label id="fieldGHZyN4467_label" for="fieldGHZyN4467" class="option-label">
              <div>Autres</div>
            </label>
          </div>
        </div>
      </div>
    </div>
    <div id="field_GHZyN447" role="group" data-name="EXIT_INTENT_WHY" class="main-field field  wf-lg-1-1 wf-md-1-1 wf-sm-1-1 type-text webforms-fields-47 webforms-fields-EXIT_INTENT_WHY required" aria-labelledby="label_fieldGHZyN447"
      style="display:none">
      <label class="label field-label" id="label_fieldGHZyN447" for="fieldGHZyN447"> Pourquoi ? </label>
      <div class="control" role="group" aria-labelledby="label_fieldGHZyN447">
        <input id="fieldGHZyN447" name="field[47]" data-code="EXIT_INTENT_WHY" type="text" class="form-input w-full input-text " style="" value="" placeholder="" @keyup.enter="goToNextStep()" data-validate="{&quot;required-entry&quot;:true}"
          aria-labelledby="label_fieldGHZyN447" aria-required="true">
      </div>
    </div>
    <div id="field_GHZyN448" role="group" data-name="EXIT_INTENT_OTHER" class="main-field field  wf-lg-1-1 wf-md-1-1 wf-sm-1-1 type-text webforms-fields-48 webforms-fields-EXIT_INTENT_OTHER " aria-labelledby="label_fieldGHZyN448"
      style="display:none">
      <label class="label field-label" id="label_fieldGHZyN448" for="fieldGHZyN448"> Autres </label>
      <div class="control" role="group" aria-labelledby="label_fieldGHZyN448">
        <input id="fieldGHZyN448" name="field[48]" data-code="EXIT_INTENT_OTHER" type="text" class="form-input w-full input-text " style="" value="" placeholder="" @keyup.enter="goToNextStep()" aria-labelledby="label_fieldGHZyN448">
      </div>
    </div>
  </fieldset>
  <script defer="">
    function initActionsToolbar_GHZyN4() {
      return {
        loading: false,
        isSubmitted: false,
        bindEvents() {
          let _this = this;
          window.addEventListener('webformsSubmit', (e) => {
            if (e.detail === 'submit') {
              _this.loading = true;
            }
            if (e.detail === 'success') {
              this.isSubmitted = true;
            }
            if (e.detail === 'error') {
              this.loading = false;
            }
          }, false);
        }
      }
    }
  </script>
  <div x-data="initActionsToolbar_GHZyN4()" x-init="bindEvents()" x-show="!isSubmitted" id="submitGHZyN4" class="actions-toolbar actions-toolbar-4 " olddisplay="" style="display: none;">
    <div class="primary">
      <button x-show="!loading" type="submit" class="action submit primary " id="webform_GHZyN4_submit_button" title="Envoyer" name="submit_button_GHZyN4">
        <span>Envoyer</span>
      </button>
    </div>
    <div class="secondary">
      <div class="please-wait" id="webform_GHZyN4_sending_data" x-show="loading" style="display: none;">
        <div class="loading-indicator"></div>
        <span id="webform_GHZyN4_progress_text">
          <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 16 16" fill="none" class="animate-spin text-secondary">
            <g clip-path="url(#clip0)">
              <path
                d="M12.1786 3.46768L11.9946 3.65167L12.1858 3.82816C13.2889 4.84647 13.972 6.37937 13.972 8.00002C13.972 11.3286 11.3284 13.9722 7.99978 13.9722C4.67119 13.9722 2.02756 11.3286 2.02756 8.00002C2.02756 6.37937 2.71063 4.84647 3.8138 3.82816L4.00499 3.65167L3.821 3.46768L3.10989 2.75657L2.92692 2.5736L2.75035 2.76277C1.46731 4.13746 0.638672 5.9747 0.638672 8.00002C0.638672 12.0492 3.9506 15.3611 7.99978 15.3611C12.049 15.3611 15.3609 12.0492 15.3609 8.00002C15.3609 5.9747 14.5323 4.13746 13.2492 2.76277L13.0727 2.5736L12.8897 2.75657L12.1786 3.46768Z"
                fill="currentColor" stroke="currentColor" stroke-width="0.5"></path>
            </g>
            <defs>
              <clipPath id="clip0">
                <rect width="16" height="16" fill="currentColor"></rect>
              </clipPath>
            </defs>
          </svg>
        </span>
      </div>
    </div>
  </div>
</form>

Text Content

Bienvenue !
Les 20 % s'appliquent directement sur la page de commande. Créez un compte pour
en profiter !

Commandez en ligne et récupérez votre commande en boutique grâce au Click &
collect !
Un produit offert à partir de 60€
Réalisez votre diagnostic et trouvez
la routine adaptée à vos besoins
Réalisez votre diagnostic et trouvez
la routine adaptée à vos besoins
Commandez en ligne et récupérez votre commande en boutique grâce au Click &
collect !
Un produit offert à partir de 60€
Réalisez votre diagnostic et trouvez
la routine adaptée à vos besoins
Commandez en ligne et récupérez votre commande en boutique grâce au Click &
collect !

10% de réduction sur votre prochaine commande en vous abonnant à notre
newsletter.



10% offerts !

Inscription newsletter

Offre de bienvenue : 10% de réduction sur votre prochaine commande !

Email address
Valider


Boutiques
Mon espace

France (€)

Livraison

Belgique (€) France (€) Monaco (€) Germany (€) Spain (€) Ireland (€) Luxembourg
(€) Netherlands (€) Switzerland (€) United Kingdom (£) United States ($)
Belgique (€)
France (€)
Germany (€)
Ireland (€)
Luxembourg (€)
Monaco (€)
Netherlands (€)
Spain (€)
Switzerland (€)
United Kingdom (£)
United States ($)
0
0
Visage
Corps
Rasage & Barbe
Cheveux
Dents
Parfum
Kits
Magazine
Soyez informé
Diagnostic visage
Boutiques Se connecter
Livraison :
Belgique (€) France (€) Germany (€) Ireland (€) Luxembourg (€) Monaco (€)
Netherlands (€) Spain (€) Switzerland (€) United Kingdom (£) United States ($)
Visage
Corps
Rasage & Barbe
Cheveux
Dents
Parfum
Kits
Magazine
Guides & Conseils

Tous nos guides & conseils pour répondre à vos problèmes et prendre soin de
vous.

Hydraté comme jamais : une routine pour une peau hydratée du contour de l'œil
jusqu’au menton.

Guides & Conseils

Lire l'article

Solide comme un solide Horace

Guides & Conseils

Lire l'article

Comment faire comprendre à vos proches que vous voulez du Horace en cadeau

Guides & Conseils

Lire l'article

Le guide ultime pour la Fête des Pères

Guides & Conseils

Lire l'article

Huile de CBD, huile de chanvre, quelles différences ?

Guides & Conseils

Lire l'article

Comment prendre soin de votre peau aux sports d’hiver

Guides & Conseils

Lire l'article

Voir tous les guides & conseils

Décryptages

Nos décryptages pour répondre à vos problèmes.

Comment ressembler à : Leonardo DiCaprio dans The Revenant

Décryptages

Lire l'article

Comment ressembler à : James Harden

Décryptages

Lire l'article

Comment ressembler à : David Lynch

Décryptages

Lire l'article

Comment ressembler à : Andrea Pirlo

Décryptages

Lire l'article

Nos prix vont changer : on vous explique tout

Décryptages

Lire l'article

La raie au milieu, on dit oui !

Décryptages

Lire l'article

Voir tous les décryptages

Entretiens

Interviews d'hommes inspirants et qui vous ressemblent

Dans la routine de couple d’Enzo Lefort & Kitesy Martin

Entretiens

Lire l'article

Dans la routine de… Julien Jabre

Entretiens

Lire l'article

Dans la routine... de Nicolas Huchard

Entretiens

Lire l'article

Dans la routine de… Izé Teixeira

Entretiens

Lire l'article

Dans la routine de... Stomy Bugsy

Entretiens

Lire l'article

Dans la routine de... Trésor Bofete

Entretiens

Lire l'article

Voir tous les entretiens

Témoignages

Des hommes qui vous ressemblent racontent leurs expériences

Ce que veut l’équipe pour la Saint-Valentin

Temoignages

Lire l'article

“Le jour où j’ai… pris conscience de mon dysmorphisme et comment je le gère”

Temoignages

Lire l'article

"Le jour où j'ai... assumé mes cicatrices"

Temoignages

Lire l'article

Découvrez toute les astuces d'un thérapeute pour prendre soin de lui

Temoignages

Lire l'article

"Voir un naturopathe pour améliorer son hygiène de vie : j'ai testé !"

Temoignages

Lire l'article

"Comment la méditation m'a aidé à gérer mon stress et mon anxiété

Temoignages

Lire l'article

Voir tous les témoignages

Nos derniers conseils et articles pour prendre soin de vous

Hydraté comme jamais : une routine pour une peau hydratée du contour de l'œil
jusqu’au menton.

Lire l'article

Solide comme un solide Horace

Lire l'article

Comment ressembler à : Leonardo DiCaprio dans The Revenant

Lire l'article

Comment ressembler à : James Harden

Lire l'article

Comment ressembler à : David Lynch

Lire l'article

Comment ressembler à : Andrea Pirlo

Lire l'article

Voir tous les derniers articles

Diagnostic visage
Mon espace
0 Mon panier

Essayez crème hydratante, cire, shampoing

Découvrez les nouveautés

Shampoing pour Barbe
Sérum Acide Salicylique + Niacinamide
Hydratant Visage Matifiant SPF30
& Horace - Eau de Parfum 100ml
Voir plus


Mon panier

0
En cours de chargement

Encore

Encore

Félicitations ! Vous bénéficiez de tous les produits offerts !



Mon diagnostic Comprendre le prix

Comment est calculée ma réduction ?
Plus votre routine sera complète, plus la réduction sera importante. En somme,
plus vous achetez, plus vous économisez !



Voir le contenu du kit



-

+





Je prends Je change de cadeau
Je ne souhaite pas recevoir de cadeau

Je ne souhaite pas recevoir de cadeau

Je change de cadeau

Offre limitée : Une brosse à barbe offerte !



Ajouter gratuitement



Ajouter -

Votre panier est vide

Vous avez le pouvoir de changer cela.

Votre panier est vide

Vous avez le pouvoir de changer cela.

Un code promo ?
Valider


Annuler
Utiliser mes crédits
Crédits utilisés () Modifier
-
crédit(s) utilisable(s) ()
Valider

Ajoutez un nombre de crédits dans la limite du montant de votre panier

Votre solde :





Total

Frais de livraison estimés

Offerts - tous les 3 mois

Frais de livraison estimés

offerts



Vous y êtes presque...

Commander

Continuer en tant qu'invité

Simplifiez-vous la vie en vous abonnant

Connectez-vous pour gérer votre abonnement en 1 clic. Créez votre compte en 1
minute si vous n'en avez pas.

Créer un compte

Ou

Se connecter


Connexion
Mot de passe oublié ?
 * Se connecter avec Facebook
 * Se connecter avec Google



Veuillez renseigner votre adresse email ci-dessous, nous vous allons vous
renvoyer un nouveau mot de passe.




Valider

S'il y a un compte associé avec cet email, vous recevrez un email avec un lien
pour réinitialiser votre mot de passe.

Cliquez sur le bouton ci-dessous pour vous connecter.

Se connecter

Continuer en tant qu'invité Continuer en tant qu'invité

Simplifiez-vous la vie en vous abonnant

Connectez-vous pour gérer votre abonnement en 1 clic. Créez votre compte en 1
minute si vous n'en avez pas.

Créer un compte

Ou

Se connecter


Connexion
Mot de passe oublié ?
 * Se connecter avec Facebook
 * Se connecter avec Google



Veuillez renseigner votre adresse email ci-dessous, nous vous allons vous
renvoyer un nouveau mot de passe.




Valider

Veuillez renseigner votre adresse email ci-dessous, nous vous allons vous
renvoyer un nouveau mot de passe.






Valider

S'il y a un compte associé avec cet email, vous recevrez un email avec un lien
pour réinitialiser votre mot de passe.

Cliquez sur le bouton ci-dessous pour vous connecter.

Se connecter

Nouveau Contour
des Yeux Hydratant

Hydrate, lisse le contour de l'œil
et réduit les signes de fatigue !
JE DÉCOUVRE


SOINS NATURELS POUR TOUS LES HOMMES.

--------------------------------------------------------------------------------

Hydratant Visage Matifiant SPF30


957 avis
Hydrate et protège
des rayons UV
Ajouter - 19 €
100ml

& Horace - Eau de Parfum 100ml


1100 avis
Soyez qui vous êtes,
vraiment.
Ajouter - 98 €
Bestseller
Purifie et régule
le sébum

Masque Purifiant Visage


3305 avis
Purifie et régule
le sébum
Ajouter - 13 €
Bestseller
Nettoie et
discipline le poil

Shampoing pour Barbe


1611 avis
Nettoie et
discipline le poil
Ajouter - 14 €
Bestseller
Élimine les peaux
mortes en douceur

Gommage Visage Doux


4537 avis
Élimine les peaux
mortes en douceur
Ajouter - 13 €
Bestseller
Boisé et
aromatique

Huile pour Barbe Patchouli & Cèdre


1694 avis
Boisé et
aromatique
Ajouter - 13 €
Bestseller
Élimine durablement
les pellicules


Shampoing Antipelliculaire Doux


1165 avis
Élimine durablement
les pellicules
Ajouter - 13 €
Économisez 12 €
5 essentiels pour
prendre son temps

L’Intégral Visage

5 essentiels pour
prendre son temps
Ajouter -
74 € 61 €
Économisez 4 €
Pour une barbe
douce et forte

Duo Shampoing Barbe & Huile Barbe

Pour une barbe
douce et forte
Composer -
27 € 23 €


AVEC LES AVIS, TOUT EST DIT

Consultez les avis de nos clients avant de vous lancer

4,5/5avec 72665 avis

Voir tous les avis


AVEC 72 665 AVIS VÉRIFIÉS

Florian

Acheteur vérifié

Âge 25-34 ans

Nettoyant Visage Purifiant

15/05/2022



Génial

Premier produit utilisé de la marque et vraiment très bonne impression.
Utilisation quotidienne du produit qui me donne la peau douce et propre. Aucune
rougeur malgré une peau très sensible, je recommande vraiment.

Pablo

Acheteur vérifié

Âge 25-34 ans

Masque Purifiant Visage

13/05/2022



Un super masque !

Très facile à utiliser, le parfum, la couleur et les résultats sont top ! Je
l'ai utilisé depuis deux mois, une fois par semaine, et j'ai l'impression
d'avoir la peau plus douce et avec beaucoup moins d'imperfections.

Horace parle à tous les hommes, types de peaux et carnations avec un rapport
qualité/prix accessible.
Des produits à 95 % d’origine naturelle qui s’adaptent à toutes les carnations,
qui s’adressent à tous, et à prix serrés.
Horace, les cosmétiques pour homme sans fard.



DES PRODUITS FAITS POUR VOUS ET AVEC VOUS

--------------------------------------------------------------------------------


1
On discute avec vous à propos de vos besoins

2
On lance le développement du produit

3
On teste différentes versions du produit avec vous

4
On lance le produit grâce à vos retours


DES SOLUTIONS HORACE À TOUS VOS BESOINS

--------------------------------------------------------------------------------


CRÈMES HYDRATANTES


SHAMPOINGS


HUILES BARBE


KITS SOIN DU VISAGE


BARBE


SHAMPOING POUR LA BARBE


PRODUITS COIFFANTS


APRÈS-SHAMPOINGS

Voir plus


VENEZ NOUS VOIR !

Passez votre commande en ligne et récupérez-la en magasin. À Paris, Lyon,
Bordeaux, Toulouse, Lille, Nantes, Aix-en-Provence, Montpellier et Marseille.
Testez nos produits et profitez de nos conseils.

J’arrive !

Boutique Paris Marais

Boutique Paris Bastille

Boutique Paris Abbesses



Boutique Paris Galeries Lafayette



Boutique Lyon République



Boutique Toulouse Saint-Antoine du T



Boutique Lille Lepelletier



Boutique Paris Saint-Germain



Boutique Aix-En-Provence Papassaudi



Boutique Nantes La Marne



Boutique Bordeaux Sainte-Catherine



Boutique Montpellier Loge





HORACE
DANS LA VRAIE VIE

--------------------------------------------------------------------------------

10 % offert
en vous abonnant !

Soyez au courant des nouveautés, recevez des conseils ou des offres !
Abonnez-vous à notre newsletter !




Made in France

Nos produits sont fabriqués
avec amour dans nos usines
aux quatre coins de la France.

Produits naturels & clean

Tous nos produits sont
entre 95 et 100 % naturels.
Ils sont aussi sains,
sans ingrédients problématiques.

1% for the planet

Nous reversons 1 % de nos ventes
à des associations
préservant l’environnement
comme Surfrider Foundation.

Nous nous soucions de vous

Nos modèles vous ressemblent,
nos produits sont créés avec vous.
Tout, chez Horace, est fait
pour vous aider
à vous sentir
bien dans votre peau.



Shop Horace + Shop Horace

Visage Corps Rasage & barbe Cheveux Dents Parfum Kits Diagnostic visage

Explorer Horace + Explorer Horace

Notre philosophie Où nous trouver ? Magazine Vos avis Jobs Presse Réduction
étudiant Cadeaux Carte cadeau

Services en ligne + Services en ligne

Livraison et retour Suivi de commandes Aide et FAQ Paiement sécurisé Contact

Rendez-nous visite aussi
en boutiques !

Paris Marais : 68 rue Vieille du Temple, 75003 Paris Bastille : 33 Rue du
Faubourg Saint-Antoine, 75011 Paris Abbesses : 22 Rue des Abbesses, 75018 Paris
Galeries Lafayette : 40 Boulevard Haussmann, 75009 Lyon République : 49 Rue de
la République, 69002 Toulouse Saint-Antoine du T : 16 Rue Saint-Antoine du T,
31000 Bordeaux Sainte-Catherine: 108 Rue Sainte-Catherine, 33000 Lille
Lepelletier : 15 Rue Lepelletier, 59800 Nantes La Marne : 7 rue de la Marne,
44000 Paris Saint-Germain : 129 Boulevard Saint Germain, 75006 Aix-en-Provence
Papassaudi : 3 Rue Papassaudi, 13100 Montpellier Loge : 19 Rue de la Loge, 34000
Marseille Paradis : 20 Rue Paradis, 13001 Paris Italie 2 : 30 Avenue d'Italie,
75013
Instagram Facebook Twitter Youtube TikTok
Voir les 73734 avis de nos clients sur nos produits
Voir les 73734 avis de nos clients sur nos produits

© 2021 Horace. Tous droits réservés. CGV & mentions légales

Réalisez votre diagnostic et trouvez la routine adaptée à vos besoins.

Je fais mon diagnostic

Vous nous quittez déjà ?

Quelle est la raison de votre départ ?
Les produits ne me correspondent pas
Le choix des produits est trop limité
Les frais de port sont trop élevés
Le temps de chargement de la page est trop long
J’ai vu une pub, j’étais curieux
Je consulte uniquement le site pour acheter en boutiques/pharmacie/Monoprix
Je ne suis pas prêt à acheter maintenant
Autres
Pourquoi ?

Autres

Envoyer


Vous nous quittez déjà ?

Quelle est la raison de votre départ ?
Les produits ne me correspondent pas
Le choix des produits est trop limité
Les frais de port sont trop élevés
Le temps de chargement de la page est trop long
J’ai vu une pub, j’étais curieux
Je consulte uniquement le site pour acheter en boutiques/pharmacie/Monoprix
Je ne suis pas prêt à acheter maintenant
Autres
Pourquoi ?

Autres

Envoyer




Chez Horace nous utilisons des cookies nécessaires au bon fonctionnement du site
internet, ainsi que des cookies pour personnaliser votre navigation ou
comprendre le trafic sur notre site. Nos partenaires utilisent des cookies afin
d'afficher de la publicité personnalisée en fonction de votre navigation. Pour
en savoir plus, consultez notre pageCGV & Mentions légales
Paramètres des cookies Tout refuser Tout accepter



CENTRE DE PRÉFÉRENCES DE LA CONFIDENTIALITÉ

Lorsque vous consultez un site Web, des données peuvent être stockées dans votre
navigateur ou récupérées à partir de celui-ci, généralement sous la forme de
cookies. Ces informations peuvent porter sur vous, sur vos préférences ou sur
votre appareil et sont principalement utilisées pour s'assurer que le site Web
fonctionne correctement. Les informations ne permettent généralement pas de vous
identifier directement, mais peuvent vous permettre de bénéficier d'une
expérience Web personnalisée. Parce que nous respectons votre droit à la vie
privée, nous vous donnons la possibilité de ne pas autoriser certains types de
cookies. Cliquez sur les différentes catégories pour obtenir plus de détails sur
chacune d'entre elles, et modifier les paramètres par défaut. Toutefois, si vous
bloquez certains types de cookies, votre expérience de navigation et les
services que nous sommes en mesure de vous offrir peuvent être impactés.
Plus d’informations
Tout autoriser


GÉRER LES PRÉFÉRENCES DE CONSENTEMENT

COOKIES STRICTEMENT NÉCESSAIRES

Toujours actif

Ces cookies sont nécessaires au fonctionnement du site Web et ne peuvent pas
être désactivés dans nos systèmes. Ils sont généralement établis en tant que
réponse à des actions que vous avez effectuées et qui constituent une demande de
services, telles que la définition de vos préférences en matière de
confidentialité, la connexion ou le remplissage de formulaires. Vous pouvez
configurer votre navigateur afin de bloquer ou être informé de l'existence de
ces cookies, mais certaines parties du site Web peuvent être affectées. Ces
cookies ne stockent aucune information d’identification personnelle.

COOKIES DE PERFORMANCE

Cookies de performance

Ces cookies nous permettent de déterminer le nombre de visites et les sources du
trafic, afin de mesurer et d’améliorer les performances de notre site Web. Ils
nous aident également à identifier les pages les plus / moins visitées et
d’évaluer comment les visiteurs naviguent sur le site Web. Toutes les
informations collectées par ces cookies sont agrégées et donc anonymisées. Si
vous n'acceptez pas ces cookies, nous ne serons pas informé de votre visite sur
notre site.

COOKIES DE FONCTIONNALITÉ

Cookies de fonctionnalité

Ces cookies permettent d’améliorer et de personnaliser les fonctionnalités du
site Web. Ils peuvent être activés par nos équipes, ou par des tiers dont les
services sont utilisés sur les pages de notre site Web. Si vous n'acceptez pas
ces cookies, une partie ou la totalité de ces services risquent de ne pas
fonctionner correctement.

COOKIES POUR UNE PUBLICITÉ CIBLÉE

Cookies pour une publicité ciblée

Ces cookies peuvent être mis en place au sein de notre site Web par nos
partenaires publicitaires. Ils peuvent être utilisés par ces sociétés pour
établir un profil de vos intérêts et vous proposer des publicités pertinentes
sur d'autres sites Web. Ils ne stockent pas directement des données
personnelles, mais sont basés sur l'identification unique de votre navigateur et
de votre appareil Internet. Si vous n'autorisez pas ces cookies, votre publicité
sera moins ciblée.

COOKIES « RÉSEAUX SOCIAUX »

Cookies « réseaux sociaux »

Ces cookies sont activés par les services proposés sur les réseaux sociaux que
nous avons ajoutés au site Web afin de vous donner la possibilité de partager
notre contenu avec votre réseau et vos connaissances. Ils nous permettent
également de suivre votre navigation sur d’autres sites Web et d’établir un
profil de vos intérêts. Cela peut avoir un impact sur le contenu et les messages
affichés sur les autres sites Web que vous consultez. Si vous n'autorisez pas
ces cookies, il se peut que vous ne puissiez pas utiliser ou visualiser ces
outils de partage.

Back Button


LISTE DES COOKIES



Search Icon
Filter Icon

Clear
checkbox label label
Apply Cancel
Consent Leg.Interest
checkbox label label
checkbox label label
checkbox label label

Tout refuser Confirmer la sélection