1<!doctype html> 2<html lang="fr-FR"> 3 4<head> 5 6 7 <meta charset="utf-8"> 8 9 10 <meta http-equiv="x-ua-compatible" content="ie=edge"> 11 12 13 14 <title>Identifiant</title> 15 16 <link rel="preconnect" href="https://fonts.googleapis.com"> 17<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> 18 19 20 <meta name="description" content=""> 21 <meta name="keywords" content=""> 22 <link rel="canonical" href="https://www.moulincoop.com/connexion"> 23 24 25 26 27
27<script type="application/ld+json"> 28 { 29 "@context": "https://schema.org", 30 "@type": "Organization", 31 "name" : "Moulin Coopératif de Mouriès", 32 "url" : "https://www.moulincoop.com/" 33 ,"logo": { 34 "@type": "ImageObject", 35 "url":"https://www.moulincoop.com/img/logo-1751615193.jpg" 36 } 37 } 38</script>
38 39
40<script type="application/ld+json"> 41 { 42 "@context": "https://schema.org", 43 "@type": "WebPage", 44 "isPartOf": { 45 "@type": "WebSite", 46 "url": "https://www.moulincoop.com/", 47 "name": "Moulin Coopératif de Mouriès" 48 }, 49 "name": "Identifiant", 50 "url": "https://www.moulincoop.com/connexion?back=my-account" 51 } 52</script>
52 53 54 55
55<script type="application/ld+json"> 56 { 57 "@context": "https://schema.org", 58 "@type": "BreadcrumbList", 59 "itemListElement": [ 60 { 61 "@type": "ListItem", 62 "position": 1, 63 "name": "Accueil", 64 "item": "https://www.moulincoop.com/" 65 }, { 66 "@type": "ListItem", 67 "position": 2, 68 "name": "Connectez-vous à votre compte", 69 "item": "https://www.moulincoop.com/connexion" 70 } ] 71 } 72 </script>
72 73 74 75 76 77 78 79 80 81 82 <meta property="og:title" content="Identifiant"/> 83 <meta property="og:description" content=""/> 84 <meta property="og:url" content="https://www.moulincoop.com/connexion?back=my-account"/> 85 <meta property="og:site_name" content="Moulin Coopératif de Mouriès"/> 86 <meta property="og:type" content="website"/> 87 88 89 90 91 <meta name="viewport" content="width=device-width, initial-scale=1"> 92 93 94 95 <link rel="icon" type="image/vnd.microsoft.icon" href="/img/cms/mouche2.png?2"> 96 <link rel="shortcut icon" type="image/x-icon" href="/img/cms/mouche2.png?2"> 97 98 99 100 101 102 103 104 105 106
106<script type="text/javascript"> 107 var comment_tab = "3"; 108 var lgcomments_products_default_display = "3"; 109 var lgcomments_products_extra_display = "10"; 110 var module_dir = "\/modules\/lgcomments\/"; 111 var pixel_ids = "2373942886332900"; 112 var pp_custom_add_to_cart = ""; 113 var prestashop = {"cart":{"products":[],"totals":{"total":{"type":"total","label":"Total","amount":0,"value":"0,00\u00a0\u20ac"},"total_including_tax":{"type":"total","label":"Total TTC","amount":0,"value":"0,00\u00a0\u20ac"},"total_excluding_tax":{"type":"total","label":"Total HT :","amount":0,"value":"0,00\u00a0\u20ac"}},"subtotals":{"products":{"type":"products","label":"Sous-total","amount":0,"value":"0,00\u00a0\u20ac"},"discounts":null,"shipping":{"type":"shipping","label":"Livraison","amount":0,"value":""},"tax":null},"products_count":0,"summary_string":"0 articles","vouchers":{"allowed":1,"added":[]},"discounts":[],"minimalPurchase":0,"minimalPurchaseRequired":""},"currency":{"id":1,"name":"Euro","iso_code":"EUR","iso_code_num":"978","sign":"\u20ac"},"customer":{"lastname":null,"firstname":null,"email":null,"birthday":null,"newsletter":null,"newsletter_date_add":null,"optin":null,"website":null,"company":null,"siret":null,"ape":null,"is_logged":false,"gender":{"type":null,"name":null},"addresses":[]},"country":{"id_zone":"9","id_currency":"0","call_prefix":"33","iso_code":"FR","active":"1","contains_states":"0","need_identification_number":"0","need_zip_code":"1","zip_code_format":"NNNNN","display_tax_label":"1","name":"France","id":8},"language":{"name":"Fran\u00e7ais (French)","iso_code":"fr","locale":"fr-FR","language_code":"fr","active":"1","is_rtl":"0","date_format_lite":"d\/m\/Y","date_format_full":"d\/m\/Y H:i:s","id":1},"page":{"title":"","canonical":"https:\/\/www.moulincoop.com\/connexion","meta":{"title":"Identifiant","description":"","keywords":"","robots":"index"},"page_name":"authentication","body_classes":{"lang-fr":true,"lang-rtl":false,"country-FR":true,"currency-EUR":true,"layout-full-width":true,"page-authentication":true,"tax-display-enabled":true,"page-customer-account":true},"admin_notifications":[],"password-policy":{"feedbacks":{"0":"Tr\u00e8s faible","1":"Faible","2":"Moyenne","3":"Fort","4":"Tr\u00e8s fort","Straight rows of keys are easy to guess":"Les suites de touches sur le clavier sont faciles \u00e0 deviner","Short keyboard patterns are easy to guess":"Les mod\u00e8les courts sur le clavier sont faciles \u00e0 deviner.","Use a longer keyboard pattern with more turns":"Utilisez une combinaison de touches plus longue et plus complexe.","Repeats like \"aaa\" are easy to guess":"Les r\u00e9p\u00e9titions (ex. : \"aaa\") sont faciles \u00e0 deviner.","Repeats like \"abcabcabc\" are only slightly harder to guess than \"abc\"":"Les r\u00e9p\u00e9titions (ex. : \"abcabcabc\") sont seulement un peu plus difficiles \u00e0 deviner que \"abc\".","Sequences like abc or 6543 are easy to guess":"Les s\u00e9quences (ex. : abc ou 6543) sont faciles \u00e0 deviner.","Recent years are easy to guess":"Les ann\u00e9es r\u00e9centes sont faciles \u00e0 deviner.","Dates are often easy to guess":"Les dates sont souvent faciles \u00e0 deviner.","This is a top-10 common password":"Ce mot de passe figure parmi les 10 mots de passe les plus courants.","This is a top-100 common password":"Ce mot de passe figure parmi les 100 mots de passe les plus courants.","This is a very common password":"Ceci est un mot de passe tr\u00e8s courant.","This is similar to a commonly used password":"Ce mot de passe est similaire \u00e0 un mot de passe couramment utilis\u00e9.","A word by itself is easy to guess":"Un mot seul est facile \u00e0 deviner.","Names and surnames by themselves are easy to guess":"Les noms et les surnoms seuls sont faciles \u00e0 deviner.","Common names and surnames are easy to guess":"Les noms et les pr\u00e9noms courants sont faciles \u00e0 deviner.","Use a few words, avoid common phrases":"Utilisez quelques mots, \u00e9vitez les phrases courantes.","No need for symbols, digits, or uppercase letters":"Pas besoin de symboles, de chiffres ou de majuscules.","Avoid repeated words and characters":"\u00c9viter de r\u00e9p\u00e9ter les mots et les caract\u00e8res.","Avoid sequences":"\u00c9viter les s\u00e9quences.","Avoid recent years":"\u00c9vitez les ann\u00e9es r\u00e9centes.","Avoid years that are associated with you":"\u00c9vitez les ann\u00e9es qui vous sont associ\u00e9es.","Avoid dates and years that are associated with you":"\u00c9vitez les dates et les ann\u00e9es qui vous sont associ\u00e9es.","Capitalization doesn't help very much":"Les majuscules ne sont pas tr\u00e8s utiles.","All-uppercase is almost as easy to guess as all-lowercase":"Un mot de passe tout en majuscules est presque aussi facile \u00e0 deviner qu'un mot de passe tout en minuscules.","Reversed words aren't much harder to guess":"Les mots invers\u00e9s ne sont pas beaucoup plus difficiles \u00e0 deviner.","Predictable substitutions like '@' instead of 'a' don't help very much":"Les substitutions pr\u00e9visibles comme '\"@\" au lieu de \"a\" n'aident pas beaucoup.","Add another word or two. Uncommon words are better.":"Ajoutez un autre mot ou deux. Pr\u00e9f\u00e9rez les mots peu courants."}}},"shop":{"name":"Moulin Coop\u00e9ratif de Mouri\u00e8s","logo":"https:\/\/www.moulincoop.com\/img\/logo-1751615193.jpg","stores_icon":"https:\/\/www.moulincoop.com\/img\/logo_stores.png","favicon":"https:\/\/www.moulincoop.com\/img\/favicon.ico"},"core_js_public_path":"\/themes\/","urls":{"base_url":"https:\/\/www.moulincoop.com\/","current_url":"https:\/\/www.moulincoop.com\/connexion?back=my-account","shop_domain_url":"https:\/\/www.moulincoop.com","img_ps_url":"https:\/\/www.moulincoop.com\/img\/","img_cat_url":"https:\/\/www.moulincoop.com\/img\/c\/","img_lang_url":"https:\/\/www.moulincoop.com\/img\/l\/","img_prod_url":"https:\/\/www.moulincoop.com\/img\/p\/","img_manu_url":"https:\/\/www.moulincoop.com\/img\/m\/","img_sup_url":"https:\/\/www.moulincoop.com\/img\/su\/","img_ship_url":"https:\/\/www.moulincoop.com\/img\/s\/","img_store_url":"https:\/\/www.moulincoop.com\/img\/st\/","img_col_url":"https:\/\/www.moulincoop.com\/img\/co\/","img_url":"https:\/\/www.moulincoop.com\/themes\/classic\/assets\/img\/","css_url":"https:\/\/www.moulincoop.com\/themes\/classic\/assets\/css\/","js_url":"https:\/\/www.moulincoop.com\/themes\/classic\/assets\/js\/","pic_url":"https:\/\/www.moulincoop.com\/upload\/","theme_assets":"https:\/\/www.moulincoop.com\/themes\/classic\/assets\/","theme_dir":"https:\/\/www.moulincoop.com\/themes\/classic-child\/","child_theme_assets":"https:\/\/www.moulincoop.com\/themes\/classic-child\/assets\/","child_img_url":"https:\/\/www.moulincoop.com\/themes\/classic-child\/assets\/img\/","child_css_url":"https:\/\/www.moulincoop.com\/themes\/classic-child\/assets\/css\/","child_js_url":"https:\/\/www.moulincoop.com\/themes\/classic-child\/assets\/js\/","pages":{"address":"https:\/\/www.moulincoop.com\/adresse","addresses":"https:\/\/www.moulincoop.com\/adresses","authentication":"https:\/\/www.moulincoop.com\/connexion","manufacturer":"https:\/\/www.moulincoop.com\/marques","cart":"https:\/\/www.moulincoop.com\/panier","category":"https:\/\/www.moulincoop.com\/index.php?controller=category","cms":"https:\/\/www.moulincoop.com\/index.php?controller=cms","contact":"https:\/\/www.moulincoop.com\/nous-contacter","discount":"https:\/\/www.moulincoop.com\/reduction","guest_tracking":"https:\/\/www.moulincoop.com\/suivi-commande-invite","history":"https:\/\/www.moulincoop.com\/historique-commandes","identity":"https:\/\/www.moulincoop.com\/identite","index":"https:\/\/www.moulincoop.com\/","my_account":"https:\/\/www.moulincoop.com\/mon-compte","order_confirmation":"https:\/\/www.moulincoop.com\/confirmation-commande","order_detail":"https:\/\/www.moulincoop.com\/index.php?controller=order-detail","order_follow":"https:\/\/www.moulincoop.com\/suivi-commande","order":"https:\/\/www.moulincoop.com\/commande","order_return":"https:\/\/www.moulincoop.com\/index.php?controller=order-return","order_slip":"https:\/\/www.moulincoop.com\/avoirs","pagenotfound":"https:\/\/www.moulincoop.com\/page-introuvable","password":"https:\/\/www.moulincoop.com\/recuperation-mot-de-passe","pdf_invoice":"https:\/\/www.moulincoop.com\/index.php?controller=pdf-invoice","pdf_order_return":"https:\/\/www.moulincoop.com\/index.php?controller=pdf-order-return","pdf_order_slip":"https:\/\/www.moulincoop.com\/index.php?controller=pdf-order-slip","prices_drop":"https:\/\/www.moulincoop.com\/promotions","product":"https:\/\/www.moulincoop.com\/index.php?controller=product","registration":"https:\/\/www.moulincoop.com\/inscription","search":"https:\/\/www.moulincoop.com\/recherche","sitemap":"https:\/\/www.moulincoop.com\/plan-site","stores":"https:\/\/www.moulincoop.com\/magasins","supplier":"https:\/\/www.moulincoop.com\/fournisseurs","new_products":"https:\/\/www.moulincoop.com\/nouveaux-produits","brands":"https:\/\/www.moulincoop.com\/marques","register":"https:\/\/www.moulincoop.com\/inscription","order_login":"https:\/\/www.moulincoop.com\/commande?login=1"},"alternative_langs":[],"actions":{"logout":"https:\/\/www.moulincoop.com\/?mylogout="},"no_picture_image":{"bySize":{"small_default":{"url":"https:\/\/www.moulincoop.com\/img\/p\/fr-default-small_default.jpg","width":98,"height":98},"cart_default":{"url":"https:\/\/www.moulincoop.com\/img\/p\/fr-default-cart_default.jpg","width":125,"height":125},"home_default":{"url":"https:\/\/www.moulincoop.com\/img\/p\/fr-default-home_default.jpg","width":250,"height":250},"medium_default":{"url":"https:\/\/www.moulincoop.com\/img\/p\/fr-default-medium_default.jpg","width":452,"height":452},"large_default":{"url":"https:\/\/www.moulincoop.com\/img\/p\/fr-default-large_default.jpg","width":800,"height":800}},"small":{"url":"https:\/\/www.moulincoop.com\/img\/p\/fr-default-small_default.jpg","width":98,"height":98},"medium":{"url":"https:\/\/www.moulincoop.com\/img\/p\/fr-default-home_default.jpg","width":250,"height":250},"large":{"url":"https:\/\/www.moulincoop.com\/img\/p\/fr-default-large_default.jpg","width":800,"height":800},"legend":""}},"configuration":{"display_taxes_label":true,"display_prices_tax_incl":true,"is_catalog":false,"show_prices":true,"opt_in":{"partner":false},"quantity_discount":{"type":"discount","label":"Remise sur prix unitaire"},"voucher_enabled":1,"return_enabled":0},"field_required":[],"breadcrumb":{"links":[{"title":"Accueil","url":"https:\/\/www.moulincoop.com\/"},{"title":"Connectez-vous \u00e0 votre compte","url":"https:\/\/www.moulincoop.com\/connexion"}],"count":2},"link":{"protocol_link":"https:\/\/","protocol_content":"https:\/\/"}
113,"time":1791119859,"static_token":"0de8c8bacc606758d8579fe1ee4c0a04","token":"ba14cd8ac95b5544122ac36781dab998","debug":false}; 114 var psemailsubscription_subscription = "https:\/\/www.moulincoop.com\/module\/ps_emailsubscription\/subscription"; 115 var review_controller_link = "https:\/\/www.moulincoop.com\/module\/lgcomments\/reviews"; 116 var review_controller_name = "index.php?controller=module-lgcomments-reviews"; 117 var send_successfull_msg = "La critique a \u00e9t\u00e9 correctement envoy\u00e9e."; 118 var single_event_tracking = 1; 119 var sliderblocks = 4; 120 var star_color = "yellow"; 121 var star_style = "plain"; 122 </script>
122 123 <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Cormorant+Infant:100,100italic,200,200italic,300,300italic,400,400italic,500,500italic,600,600italic,700,700italic,800,800italic,900,900italic%7CAlata:100,100italic,200,200italic,300,300italic,400,400italic,500,500italic,600,600italic,700,700italic,800,800italic,900,900italic&display=swap" media="all"> 124 <link rel="stylesheet" href="https://www.moulincoop.com/themes/classic-child/assets/cache/theme-2ff678754.css" media="all"> 125 126 127 128 129
129<script> 130 var ceFrontendConfig = {"environmentMode":{"edit":false,"wpPreview":false},"is_rtl":false,"breakpoints":{"xs":0,"sm":480,"md":768,"lg":1025,"xl":1440,"xxl":1600},"version":"2.11.1","urls":{"assets":"\/modules\/creativeelements\/views\/"},"productQuickView":0,"settings":{"general":{"elementor_global_image_lightbox":"0","elementor_lightbox_enable_counter":"yes","elementor_lightbox_enable_fullscreen":"yes","elementor_lightbox_enable_zoom":"yes","elementor_lightbox_title_src":"title","elementor_lightbox_description_src":"caption"},"editorPreferences":[]},"post":{"id":0,"title":"","excerpt":""}}; 131 </script>
131 132 <link rel="preload" href="/modules/creativeelements/views/lib/ceicons/fonts/ceicons.woff2?8goggd" as="font" type="font/woff2" crossorigin> 133 <!-- Brevo Conversations --> 134
134<script type="text/javascript"> 135 (function(c,l,a,r,i,t,y){ 136 c[a]=c[a]||function(){(c[a].q=c[a].q||[]).push(arguments)}; 137 t=l.createElement(r);t.async=1;t.src="https://www.clarity.ms/tag/"+i; 138 y=l.getElementsByTagName(r)[0];y.parentNode.insertBefore(t,y); 139 })(window, document, "clarity", "script", "snkjv7n9y8"); 140 </script>
140 141 <!-- /Brevo Conversations --> 142 143 144 145
145<script src="https://cdn.brevo.com/js/sdk-loader.js" async></script>
vendor: 1 bytes, line 145
145
146<script> 147 window.Brevo = window.Brevo || []; 148 Brevo.push([ 149 "init", 150 { 151 client_key: "4reeh5xd71238je0u2qebr21", 152 email_id: "", 153 }, 154 ]); 155</script>
155 156 157<!-- Enable Facebook Pixels -->
158<script> 159 // doNotConsentToPixel = false; 160 //console.log(ppGetCookie('pp_pageview_event_id')); 161 //var external_id = ppGetCookie('pp_external_id'); 162 var pageview_event_id = ''; 163 var pp_price_precision = 2; 164 var deferred_loading = 0; 165 var deferred_seconds = 0; 166 var event_time = 1791119859; 167 var local_time = new Date().getTime(); 168 var consentStatus = true; 169 var pp_aurl = 'https://www.moulincoop.com/module/facebookconversiontrackingplus/AjaxConversion'.replace(/&/g, "&"); 170 171 // Check if pixel is already initialized 172 function facebookpixelinit(tries) { 173 let ud = {}; 174 if (typeof fbq == 'undefined') { 175 // Pixel is not initialized, load the script 176 initFbqPixels(ud); 177 } else { 178 console.log('Facebook Pixel Already loaded'); 179 } 180 181 // Proceed with consent and initialize Pixels 182 handleConsentAndInitPixels(ud); 183 184 // Send the PageView event 185 sendPageViewEvent() 186 } 187 188 function initFbqPixels() { 189 190 !function(f,b,e,v,n,t,s){if (f.fbq)return;n=f.fbq=function(){n.callMethod?n.callMethod.apply(n,arguments):n.queue.push(arguments)};if (!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0';n.queue=[];t=b.createElement(e);t.async=!0;t.src=v;s=b.getElementsByTagName(e)[0];s.parentNode.insertBefore(t,s)}(window,document,'script','https://connect.facebook.net/en_US/fbevents.js'); 191 192 } 193 194 function handleConsentAndInitPixels(ud) { 195 if (typeof window.doNotConsentToPixel !== 'undefined' && doNotConsentToPixel) { 196 consentStatus = false; 197 } 198 pixelConsent(consentStatus); 199 200 fbq('init', '2373942886332900', ud); 201 } 202 function sendPageViewEvent() { 203 /* Code to avoid multiple pixels call */ 204 /* Used to make it compatible with onepagecheckout */ 205 if (typeof window.fbq_pageview == 'undefined') { 206 pageview_event_id = generateEventId(12); 207 ppTrackEvent('PageView', {}, pageview_event_id); 208 if (consentStatus) { 209 return jQuery.ajax({ 210 url: pp_aurl, 211 type: 'POST', 212 cache: false, 213 data: { 214 event: 'PageView', 215 pageview_event_id: pageview_event_id, 216 source_url: window.location.href 217 } 218 }); 219 } 220 window.fbq_pageview = 1; // Mark pageview as processed 221 } 222 } 223 224 // Consent and localStorage checks, unchanged 225 </script>
225 226<!-- End Enable Facebook Pixels -->
227<script> 228 fctp_pageviewcount(20); 229 function fctp_pageviewcount(tries) { 230 if (typeof jQuery === 'undefined' || typeof fbq != 'function') { 231 if (tries > 0) { 232 setTimeout(function () { 233 fctp_pageviewcount(tries - 1) 234 }, 350); 235 } 236 } else { 237 if (consentStatus) { 238 jQuery.ajax({ 239 url: pp_aurl, 240 type: 'POST', 241 cache: false, 242 data: { 243 event: 'Pageviewcount', 244 source_url: location.href, 245 token: '026cff273bcf135ca056068ef7691304', 246 } 247 }) 248 .done(function (data) { 249 if (data !== null && data.return == 'ok' && typeof data.current_page !== 'undefined') { 250 var page = data.current_page == 20 ? 'PagesViewedMore' + data.current_page : 'PagesViewed' + data.current_page; 251 ppTrackEvent(page, { 252 'currency': 'EUR', 253 'value': '10000' 254 }, pageview_event_id); 255 } 256 }) 257 .fail(function (jqXHR, textStatus, errorThrown) { 258 //console.log('Pixel Plus: Cookie consent could not be validated'); 259 }); 260 } 261 } 262 } 263</script>
263 264<!-- Add To cart Pixel Call -->
265<script type="text/javascript"> 266 (function() { 267 // Global flags and variables 268 var isProcessingAddToCart = false; // Prevents duplicate processing 269 var qty = false; // Holds the current quantity value 270 var lastXhrResponse = null; // For XHR deduplication 271 272 // Reset the processing flag after a delay. 273 function resetAddToCartFlag() { 274 setTimeout(function() { 275 isProcessingAddToCart = false; 276 }, 500); 277 } 278 279 function sendAddToCartFromResponse(r, parsed, delCookie, source) { 280 // If already processing, do nothing. 281 if (isProcessingAddToCart) return; 282 283 if (!parsed) { 284 try { 285 r = JSON.parse(r); 286 } catch (e) { 287 return; // Abort if parsing fails 288 } 289 } 290 // console.log(new Date().toISOString(), "sendAddToCartFromResponse from", source, "with response:", r); 291 292 if (r && r.cart && r.cart.products) { 293 // Set initial global values (from server-side template variables) 294 window.content_name = ''; 295 window.content_category = ''; 296 window.content_value = 1; // Default minimal value 297 window.content_ids_data = []; 298 window.content_ids_product = []; 299 300 // Determine the selected product and attribute from the response. 301 var selected_product_id = r.id_product || r.idProduct; 302 var ipa = r.id_product_attribute || r.idProductAttribute; 303 304 // Process the cart products and build the payload. 305 $.each(r.cart.products, function(key, value) { 306 if ( 307 (selected_product_id == value.id_product && value.id_product_attribute == 0) || 308 (selected_product_id == value.id_product && value.id_product_attribute > 0 && value.id_product_attribute == ipa) 309 ) { 310 var pprice = 0; 311 if (typeof value.price_with_reduction !== 'undefined') { 312 pprice = value.price_with_reduction; 313 } else if (typeof value.price_without_reduction !== 'undefined') { 314 pprice = value.price_without_reduction; 315 } 316 if (pprice === 0) { 317 pprice = formatedNumberToFloat(value.price); 318 } 319 if (typeof value.name !== 'undefined') { 320 window.content_name = value.name; 321 } 322 window.content_value = pprice.toFixed(pp_price_precision); 323 324 // Build product identifier, with combination if enabled. 325 var id_combination = ''; 326 var pid = '' + value.id_product + id_combination; 327 var productData = { 328 'id': pid, 329 'quantity': (qty !== false ? qty : value.quantity), 330 'item_price': (qty !== false ? qty * pprice : value.quantity * pprice) 331 }; 332 if (value.category) { 333 productData.category = value.category; 334 } 335 window.content_ids_data.push(productData); 336 window.content_ids_product.push(pid); 337 } 338 }); 339 340 // Build the final cartValues object. 341 var cartValues = { 342 'content_name': window.content_name, 343 'content_ids': unique(window.content_ids_product), 344 'contents': unique(window.content_ids_data), 345 'content_type': 'product', 346 'value': window.content_value, 347 'currency': 'EUR' 348 }; 349 if (window.content_category) { 350 cartValues['content_category'] = window.content_category; 351 } 352 353 // Depending on the mode, call the appropriate final function. 354 // When CAPI is enabled, delegate to atcAjaxCall. 355 // (Do not set isProcessingAddToCart here so that atcAjaxCall can handle it.) 356 atcAjaxCall(selected_product_id, ipa, source); 357 358 if (delCookie) { 359 deleteCookie('pp_pixel_event_id'); 360 } 361 } 362 } 363 364 function trackAddToCart(values, event_id, source) { 365 values.source = source; 366 // console.log(new Date().toISOString(), "Tracking AddToCart event from", source, "with data:", values); 367 ppTrackEvent('AddToCart', values, event_id); 368 resetAddToCartFlag(); 369 } 370 371 function atcAjaxCall(id_product, id_product_attribute, source) { 372 if (isProcessingAddToCart) return false;
373 isProcessingAddToCart = true; 374 setTimeout(function() { 375 $.ajax({ 376 url: pp_aurl, 377 type: 'POST', 378 cache: false, 379 data: { 380 customAjax: true, 381 id_product: id_product, 382 id_product_attribute: id_product_attribute, 383 quantity: qty || 1, 384 event: 'AddToCart', 385 rand: Math.floor((Math.random() * 100000) + 1), 386 token: '0de8c8bacc606758d8579fe1ee4c0a04' 387 } 388 }) 389 .done(function(data) { 390 if (data.return === 'ok') { 391 trackAddToCart(data.custom_data, data.event_id, source || 'customAjax'); 392 } else if (data.return === 'error') { 393 console.error('Error in add-to-cart AJAX call'); 394 } 395 }) 396 .fail(function(jqXHR, textStatus, errorThrown) { 397 console.error('AJAX error in add-to-cart call:', textStatus); 398 }); 399 }, 500); 400 } 401 402 // Helper: Converts a formatted price string to a float. 403 function formatedNumberToFloat(price) { 404 price = price.replace(prestashop.currency.sign, '') 405 .replace(prestashop.currency.iso_code, ''); 406 switch (parseInt(prestashop.currency.format, 10)) { 407 case 1: 408 return parseFloat(price.replace(',', '').replace(' ', '')); 409 case 2: 410 return parseFloat(price.replace(' ', '').replace(',', '.')); 411 case 3: 412 return parseFloat(price.replace('.', '').replace(' ', '').replace(',', '.')); 413 case 4: 414 return parseFloat(price.replace(',', '').replace(' ', '')); 415 default: 416 return parseFloat(price); 417 } 418 } 419 420 // Helper: Returns only unique elements from an array. 421 function unique(array) { 422 return $.grep(array, function(el, index) { 423 return index === $.inArray(el, array); 424 }); 425 } 426 427 // Attach event handlers for add-to-cart tracking. 428 function initAddToCart() { 429 430 // For AttributewizardPro or AWP modules. 431 if ( 432 false || 433 $('#awp_wizard').length === 1 434 ) { 435 var id_product = $('#product_page_product_id').length ? $('#product_page_product_id').val() : $('.product_page_product_id').val(); 436 var id_product_attribute = 0; 437 $('.exclusive').on('click', function() { 438 if (!isProcessingAddToCart) { 439 atcAjaxCall(id_product, id_product_attribute, 'AWP'); 440 } 441 }); 442 } 443 444 // Attach the Prestashop "updateCart" listener. 445 if (typeof prestashop === 'object' && typeof prestashop.on !== 'undefined') { 446 prestashop.on('updateCart', function(event) { 447 if (isProcessingAddToCart) return; 448 window.pp_atc_event_id = ppGetCookie('pp_pixel_event_id'); 449 if (event && event.reason) { 450 if (event.reason.idProduct !== undefined) { 451 var ipa = event.reason.idProductAttribute || 0; 452 atcAjaxCall(event.reason.idProduct, ipa, 'prestashop.on'); 453 } else if (event.reason.cart !== undefined) { 454 sendAddToCartFromResponse(event.reason, true, true, 'prestashop.on'); 455 } 456 } 457 }); 458 } 459 460 // Override XMLHttpRequest as a fallback. 461 (function(open) { 462 XMLHttpRequest.prototype.open = function(method, url, async) { 463 var fpCartEndpoint = '/panier'; 464 var checkURL = url.search(fpCartEndpoint); 465 if (checkURL > -1 && !isProcessingAddToCart) { 466 // Clear globals before processing the add-to-cart request. 467 delete window.content_ids_data; 468 delete window.content_ids_product; 469 delete window.total_products_value; 470 window.pp_atc_event_id = generateEventId(12); 471 url += (url.search('\\?') > -1) 472 ? '&pp_atc_event_id=' + window.pp_atc_event_id 473 : '?pp_atc_event_id=' + window.pp_atc_event_id; 474 } 475 this.addEventListener('load', function() { 476 if (this.response) { 477 // Check for duplicate XHR response. 478 if (lastXhrResponse === this.response) { 479 // console.log(new Date().toISOString(), "Duplicate XHR response. Skipping."); 480 return; 481 } 482 lastXhrResponse = this.response; 483 try { 484 sendAddToCartFromResponse(this.response, false, false, 'XHR'); 485 } catch (e) { 486 console.error("Error processing XHR response:", e); 487 } 488 } 489 }); 490 this.addEventListener('error', function() { 491 console.error('Request failed with error'); 492 }); 493 this.addEventListener('abort', function() { 494 console.error('Request was aborted'); 495 }); 496 open.apply(this, arguments); 497 }; 498 })(XMLHttpRequest.prototype.open); 499 } 500 501 // Wait for DOM and jQuery to be ready. 502 document.addEventListener("DOMContentLoaded", function() { 503 var tries = 20; 504 function waitForjQuery(tries) { 505 if (typeof jQuery === 'undefined') { 506 if (tries > 0) { 507 setTimeout(function() { waitForjQuery(tries - 1); }, 250); 508 } else { 509 console.error('PP: Could not initiate the Add To Cart Event Tracking'); 510 } 511 return; 512 } 513 initAddToCart(); 514 } 515 waitForjQuery(tries); 516 517 // Listen for changes in quantity. 518 $(document).on('change', '#quantity_wanted', function() { 519 qty = $(this).val(); 520 }); 521 }); 522 })(); 523</script>
523 524<!-- End Add to cart pixel call --> 525 526<!-- Contact Pixel Call -->
527<script type="text/javascript"> 528 document.addEventListener("DOMContentLoaded", function(event) { 529 init_newsletter(10); 530 var fb_pixel_newsletter_event_id = ''; 531 var FCTP_NEWSLETTER_VALUE = '1'; 532 var max_tries = 0; 533 534 535 function init_newsletter(tries) 536 { 537 if (typeof jQuery === 'undefined' || typeof ppGetCookie === 'undefined') { 538 if (tries > 0) { 539 setTimeout(function() { init_newsletter(tries-1); }, 350); 540 } else { 541 console.log('PP: Could not Initiate the Newsletter Event Tracking'); 542 } 543 return; 544 } 545 fb_pixel_newsletter_event_id = ppGetCookie('pp_pixel_newsletter_event_id'); 546 $('input[name="submitNewsletter"]').click(function (event) { 547 if ($('input[name="email"]').val() != '') { 548 setTimeout(function () { 549 if (jQuery('.block_newsletter').find(".alert-danger").length == 1) { 550 console.log( 551 'Conversion could not be sent, contact module developer to check the issue'); 552 } else { 553 fctp_newsletter(10); 554 } 555 }, 1000); 556 } 557 }); 558 function fctp_newsletter(max_tries, email = "") { 559 if (typeof fbq != 'undefined' && typeof jQuery != 'undefined') { 560 jQuery.ajax({ 561 url: pp_aurl, 562 type: 'POST', 563 cache: false, 564 data: { 565 event: 'Newsletter', 566 rand: Math.floor((Math.random() * 100000) + 1), 567 source_url: window.location.href 568 } 569 }) 570 .done(function (data) { 571 if (data.return == 'ok') { 572 trackNewsletter(email); 573 } 574 }) 575 .fail(function (jqXHR, textStatus, errorThrown) { 576 console.log('Conversion could not be sent, as the email is already registered'); 577 }); 578 } else { 579 if (tries > 0) { 580 setTimeout(function () { 581 fctp_newsletter(tries - 1) 582 }, 500); 583 } 584 } 585 } 586 587 function trackNewsletter() { 588 ppTrackEvent('Newsletter', { 589 'content_name': 'Lettre d\'informations', 590 value: FCTP_NEWSLETTER_VALUE, 591 currency: 'EUR', 592 }, fb_pixel_newsletter_event_id); 593 } 594 } 595 }); 596</script>
596 597<!-- End Contact Pixel Call --><!-- Contact Pixel Call -->
598<script type="text/javascript"> 599 document.addEventListener("DOMContentLoaded", function() { 600 init_time_event(10); 601 var time = 0; 602 603 function init_time_event(tries) { 604 //Main script start 605 if (typeof jQuery === 'undefined' || typeof fbq === 'undefined') { 606 if (tries > 0) { 607 setTimeout(function () { 608 init_time_event(tries - 1) 609 }, 500); 610 } else { 611 console.log('PP: Could not Initiate the Page Time event'); 612 } 613 return; 614 } 615 var counter = 0; 616 var timer = new IntervalTimer(function () { 617 if (counter < 4) { 618 time = time + 30; 619 if (time == 120) { 620 time = '+120'; 621 } 622 fctp_pagetime(tries - 1, time); 623 counter++; 624 } 625 }, 30000); // WAS 30000 626 627 document.addEventListener("visibilitychange", function () { 628 if (document.visibilityState === 'visible') { 629 timer.resume(); 630 } else { 631 timer.pause(); 632 } 633 }); 634 } 635 function IntervalTimer(callback, interval) { 636 var timerId, timeoutId, startTime, remaining = 0; 637 var state = 0; // 0 = idle, 1 = running, 2 = paused, 3= resumed 638 this.interval = interval; 639 this.pause = function () { 640 if (state != 1 && state != 3) return; 641 remaining = this.interval - (new Date() - startTime); 642 if (state == 1) window.clearInterval(timerId); 643 if (state == 3) window.clearTimeout(timeoutId); 644 state = 2; 645 }; 646 647 this.resume = function () { 648 if (state != 2) return; 649 state = 3; 650 timeoutId = window.setTimeout(this.timeoutCallback, remaining); 651 }; 652 653 this.timeoutCallback = function () { 654 if (state != 3) return; 655 callback(); 656 startTime = new Date(); 657 timerId = window.setInterval(callback, interval); 658 state = 1; 659 }; 660 661 startTime = new Date(); 662 timerId = window.setInterval(callback, interval); 663 state = 1; 664 } 665 666 function fctp_pagetime(tries) 667 { 668 jQuery.ajax({ 669 url: pp_aurl, 670 type: 'POST', 671 cache: false, 672 data: { 673 event: 'Pagetime', 674 source_url: location.href, 675 time: time, 676 rand: Math.floor((Math.random() * 100000) + 1) 677 } 678 }) 679 .done(function(data) { 680 if (data.return == 'ok') { 681 trackPageTime(data); 682 } 683 }) 684 .fail(function(jqXHR, textStatus, errorThrown) { 685 console.log('Conversion could not be sent, contact module developer to check the issue'); 686 }); 687 } 688 function trackPageTime(data) 689 { 690 if (!validateTime(time)) { 691 return false; 692 } 693 var eventName = time == 0 ? 'Pagetime' : 'Time'+time+'s'; 694 ppTrackEvent(eventName, { 695 'content_name' : 'PageTime', 696 value: 1, 697 currency : 'EUR', 698 status: true, 699 time : time+'s', 700 }, data.event_id); 701 } 702 function validateTime(time) { 703 let tmpTime = time.toString().replace('+', ''); // Remove the plus symbol 704 return !isNaN(tmpTime) && parseInt(tmpTime) > 0; // Check if it's a positive number 705 } 706 }); 707</script>
707 708<!-- End Contact Pixel Call --> 709 710 <meta id="js-rcpgtm-tracking-config" data-tracking-data="%7B%22bing%22%3A%7B%22tracking_id%22%3A%22%22%2C%22feed%22%3A%7B%22id_product_prefix%22%3A%22%22%2C%22id_product_source_key%22%3A%22id_product%22%2C%22id_variant_prefix%22%3A%22%22%2C%22id_variant_source_key%22%3A%22id_attribute%22%7D%7D%2C%22context%22%3A%7B%22browser%22%3A%7B%22device_type%22%3A1%7D%2C%22localization%22%3A%7B%22id_country%22%3A8%2C%22country_code%22%3A%22FR%22%2C%22id_currency%22%3A1%2C%22currency_code%22%3A%22EUR%22%2C%22id_lang%22%3A1%2C%22lang_code%22%3A%22fr%22%7D%2C%22page%22%3A%7B%22controller_name%22%3A%22authentication%22%2C%22products_per_page%22%3A24%2C%22category%22%3A%5B%5D%2C%22search_term%22%3A%22%22%7D%2C%22shop%22%3A%7B%22id_shop%22%3A1%2C%22shop_name%22%3A%22Moulin%20Coop%C3%A9ratif%20de%20Mouri%C3%A8s%22%2C%22base_dir%22%3A%22https%3A%2F%2Fwww.moulincoop.com%2F%22%7D%2C%22tracking_module%22%3A%7B%22module_name%22%3A%22rcpgtagmanager%22%2C%22module_version%22%3A%224.4.1%22%2C%22checkout_module%22%3A%7B%22module%22%3A%22default%22%2C%22controller%22%3A%22order%22%7D%2C%22service_version%22%3A%228%22%2C%22token%22%3A%229e7e9b1dc19a635a1de6a5bafd7d5c46%22%7D%2C%22user%22%3A%5B%5D%7D%2C%22criteo%22%3A%7B%22tracking_id%22%3A%22%22%2C%22feed%22%3A%7B%22id_product_prefix%22%3A%22%22%2C%22id_product_source_key%22%3A%22id_product%22%2C%22id_variant_prefix%22%3A%22%22%2C%22id_variant_source_key%22%3A%22id_attribute%22%7D%7D%2C%22facebook%22%3A%7B%22tracking_id%22%3A%22%22%2C%22feed%22%3A%7B%22id_product_prefix%22%3A%22%22%2C%22id_product_source_key%22%3A%22id_product%22%2C%22id_variant_prefix%22%3A%22%22%2C%22id_variant_source_key%22%3A%22id_attribute%22%7D%7D%2C%22ga4%22%3A%7B%22tracking_id%22%3A%22G-T8L5P9D91Z%22%2C%22server_container_url%22%3A%22%22%2C%22is_url_passthrough%22%3Atrue%2C%22is_data_import%22%3Atrue%7D%2C%22gads%22%3A%7B%22tracking_id%22%3A%22%22%2C%22merchant_id%22%3A%22%22%2C%22conversion_labels%22%3A%7B%22create_account%22%3A%22%22%2C%22product_view%22%3A%22%22%2C%22add_to_cart%22%3A%22%22%2C%22begin_checkout%22%3A%22%22%2C%22purchase%22%3A%22%22%7D%2C%22retail%22%3A%7B%22id_product_prefix%22%3A%22%22%2C%22id_product_source_key%22%3A%22id_product%22%2C%22id_variant_prefix%22%3A%22%22%2C%22id_variant_source_key%22%3A%22id_attribute%22%7D%2C%22custom%22%3A%7B%22is_enabled%22%3Afalse%2C%22id_product_prefix%22%3A%22%22%2C%22id_product_source_key%22%3A%22id_product%22%2C%22id_variant_prefix%22%3A%22%22%2C%22id_variant_source_key%22%3A%22id_attribute%22%2C%22is_id2%22%3Afalse%7D%7D%2C%22gtm%22%3A%7B%22tracking_id%22%3A%22GTM-TKST93CZ%22%2C%22is_internal_traffic%22%3Afalse%2C%22script_url%22%3A%22%22%2C%22data_layer_name%22%3A%22%22%2C%22id_parameter%22%3A%22%22%2C%22override_tracking_id%22%3A%22%22%7D%2C%22kelkoo%22%3A%7B%22tracking_list%22%3A%5B%5D%2C%22feed%22%3A%7B%22id_product_prefix%22%3A%22%22%2C%22id_product_source_key%22%3A%22id_product%22%2C%22id_variant_prefix%22%3A%22%22%2C%22id_variant_source_key%22%3A%22id_attribute%22%7D%7D%2C%22pinterest%22%3A%7B%22tracking_id%22%3A%22%22%2C%22feed%22%3A%7B%22id_product_prefix%22%3A%22%22%2C%22id_product_source_key%22%3A%22id_product%22%2C%22id_variant_prefix%22%3A%22%22%2C%22id_variant_source_key%22%3A%22id_attribute%22%7D%7D%2C%22tiktok%22%3A%7B%22tracking_id%22%3A%22%22%2C%22feed%22%3A%7B%22id_product_prefix%22%3A%22%22%2C%22id_product_source_key%22%3A%22id_product%22%2C%22id_variant_prefix%22%3A%22%22%2C%22id_variant_source_key%22%3A%22id_attribute%22%7D%7D%2C%22twitter%22%3A%7B%22tracking_id%22%3A%22%22%2C%22events%22%3A%7B%22add_to_cart_id%22%3A%22%22%2C%22payment_info_id%22%3A%22%22%2C%22checkout_initiated_id%22%3A%22%22%2C%22product_view_id%22%3A%22%22%2C%22lead_id%22%3A%22%22%2C%22purchase_id%22%3A%22%22%2C%22search_id%22%3A%22%22%7D%2C%22feed%22%3A%7B%22id_product_prefix%22%3A%22%22%2C%22id_product_source_key%22%3A%22id_product%22%2C%22id_variant_prefix%22%3A%22%22%2C%22id_variant_source_key%22%3A%22id_attribute%22%7D%7D%7D"> 711
711<script type="text/javascript" data-keepinline="true" data-cfasync="false" src="/modules/rcpgtagmanager/views/js/hook/trackingClient.bundle.js?v=4.4.1"></script>
711 712 713 714 715 716 717</head> 718 719<body id="authentication" class="lang-fr country-fr currency-eur layout-full-width page-authentication tax-display-enabled page-customer-account ce-kit-1 nologged"> 720 721 722 723 724 725<main> 726 727 728 729 <header id="header"> 730 731 <div data-elementor-type="header" data-elementor-id="1170101" class="elementor elementor-1170101"> 732 <div class="elementor-section-wrap"> 733 <section class="elementor-element elementor-element-c598620 elementor-section-full_width elementor-section-height-default elementor-section-height-default elementor-section elementor-top-section" data-id="c598620" data-element_type="section" id="top" data-settings="{"background_background":"classic"}"> 734 <div class="elementor-container elementor-column-gap-default"> 735 <div class="elementor-row"> 736 <div class="elementor-element elementor-element-56b7894 ce-valign-center elementor-column elementor-col-100 elementor-top-column" data-id="56b7894" data-element_type="column"> 737 <div class="elementor-column-wrap elementor-element-populated"> 738 <div class="elementor-widget-wrap"> 739 <div class="elementor-element elementor-element-4b2afdf elementor-widget__width-auto elementor-widget elementor-widget-heading" data-id="4b2afdf" data-element_type="widget" data-widget_type="heading.default"> 740 <div class="elementor-widget-container"><div class="elementor-heading-title">Frais de port offerts dès 200⬠d'achat</div></div> </div> 741 <div class="elementor-element elementor-element-2924b38 elementor-widget__width-auto elementor-widget elementor-widget-html" data-id="2924b38" data-element_type="widget" data-widget_type="html.default"> 742 <div class="elementor-widget-container"><div class="gtranslate_wrapper"></div>
743<script>window.gtranslateSettings = {"default_language":"fr","native_language_names":true,"languages":["fr","en","de"],"wrapper_selector":".gtranslate_wrapper","flag_size":20}</script>
vendor: 2 bytes, line 743
743
744<script src="https://cdn.gtranslate.net/widgets/latest/flags.js" defer></script>
744</div> </div> 745 </div> 746 </div> 747 </div> 748 </div> 749 </div> 750 </section> 751 <section class="elementor-element elementor-element-4507dca elementor-section-full_width elementor-section-height-default elementor-section-height-default elementor-section elementor-top-section" data-id="4507dca" data-element_type="section" id="menu-container" data-settings="{"sticky":"top","background_background":"classic","sticky_on":["desktop","tablet","mobile"],"sticky_offset":0,"sticky_effects_offset":0}"> 752 <div class="elementor-container elementor-column-gap-default"> 753 <div class="elementor-row"> 754 <div class="elementor-element elementor-element-05639e9 ce-valign-center elementor-column elementor-col-100 elementor-top-column" data-id="05639e9" data-element_type="column"> 755 <div class="elementor-column-wrap elementor-element-populated"> 756 <div class="elementor-widget-wrap"> 757 <div class="elementor-element elementor-element-76906cc elementor-widget__width-auto elementor-widget elementor-widget-image" data-id="76906cc" data-element_type="widget" data-widget_type="image.default"> 758 <div class="elementor-widget-container"> <div class="elementor-image"> 759 <a href="https://www.moulincoop.com/"> 760 <img src="/img/cms/logo-left.svg" alt="" loading="lazy" width="300" height="47"> </a> 761 </div> 762 </div> </div> 763 <div class="elementor-element elementor-element-385c703 elementor-widget__width-auto menu-trigger elementor-widget elementor-widget-button" data-id="385c703" data-element_type="widget" data-widget_type="button.default"> 764 <div class="elementor-widget-container"> <div class="elementor-button-wrapper"> 765 <a href="#" class="elementor-button-link elementor-button elementor-size-sm" role="button"> 766 <span class="elementor-button-content-wrapper"> 767 <span class="elementor-button-icon elementor-align-icon-right"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64"><g id="_04" data-name="04"><path d="m58 31h-52a1 1 0 0 0 0 2h52a1 1 0 0 0 0-2z"></path><path d="m6 18h52a1 1 0 0 0 0-2h-52a1 1 0 0 0 0 2z"></path><path d="m58 46h-52a1 1 0 0 0 0 2h52a1 1 0 0 0 0-2z"></path></g></svg></span> 768 <span class="elementor-button-text">Menu</span> 769 </span> 770 </a> 771 </div> 772 </div> </div> 773 <div class="elementor-element elementor-element-1dd75b0 elementor-search--skin-topbar elementor-widget__width-auto elementor-widget elementor-widget-ajax-search" data-id="1dd75b0" data-element_type="widget" data-settings="{"skin":"topbar","list_limit":5,"show_image":"yes","show_price":"yes"}" data-widget_type="ajax-search.default"> 774 <div class="elementor-widget-container"> <form class="elementor-search" role="search" 775 action="https://www.moulincoop.com/recherche" method="get"> 776 <div class="elementor-search__toggle" role="button"> 777 <i aria-hidden="true" class="ceicon ceicon-search-light"></i> <span class="elementor-screen-only">Recherche</span> 778 </div> 779 <div class="elementor-search__container"> 780 <div class="elementor-search__label">Que recherchez-vous ?</div> 781 <div class="elementor-search__input-wrapper"> 782 <input placeholder="Recherche..." class="elementor-search__input" type="search" name="s" value="" minlength="3"> 783 <div class="elementor-search__icon elementor-search__clear"><i class="ceicon-close"></i></div> 784 </div> 785 <div class="dialog-lightbox-close-button dialog-close-button"> 786 <i class="ceicon-close" aria-hidden="true"></i>
787 <span class="elementor-screen-only">Fermer</span> 788 </div> 789 </div> 790 </form> 791 </div> </div> 792 <div class="elementor-element elementor-element-780e124f elementor-widget__width-initial elementor-widget elementor-widget-sign-in elementor-widget-nav-menu" data-id="780e124f" data-element_type="widget" id="menu-client" data-settings="{"submenu_icon":{"value":"","library":""},"show_submenu_on":"click","layout":"horizontal"}" data-widget_type="sign-in.default"> 793 <div class="elementor-widget-container"> <nav class="elementor-sign-in elementor-nav--main elementor-nav__container elementor-nav--layout-horizontal"> <ul id="usermenu-780e124f" class="elementor-nav"> 794 <li class="menu-item menu-item-type-account menu-item-account-0"> 795 <a class="elementor-item" href="https://www.moulincoop.com/mon-compte" aria-label="Mon compte"> 796 <i class="ceicon ceicon-user-o"></i> 797 </a> 798 </li> 799 </ul> 800 </nav> 801 </div> </div> 802 <div class="elementor-element elementor-element-171f9a6 elementor-widget__width-auto elementor-cart--buttons-stacked elementor-cart--items-indicator-bubble elementor-cart--show-view-cart-yes elementor-widget elementor-widget-shopping-cart" data-id="171f9a6" data-element_type="widget" data-settings="{"action_open_cart":"yes","remove_item_icon":{"value":"far fa-circle-xmark","library":"fa-regular"}}" data-widget_type="shopping-cart.default"> 803 <div class="elementor-widget-container"> <div class="elementor-cart__container elementor-lightbox"> 804 <div class="elementor-cart__main"> 805 <div class="elementor-cart__close-button ceicon-close"></div> 806 <div class="elementor-cart__title"> 807 Panier </div> 808 <div class="elementor-cart__empty-message">Aucun produit dans le panier.</div> 809 <div class="elementor-cart__products ce-scrollbar--auto" data-gift="Cadeau"> 810 </div> 811 <div class="elementor-cart__summary"> 812 <div class="elementor-cart__summary-label">0 articles</div> 813 <div class="elementor-cart__summary-value">0,00 â¬</div> 814 <span class="elementor-cart__summary-label">Livraison</span> 815 <span class="elementor-cart__summary-value"></span> 816 <strong class="elementor-cart__summary-label">Total</strong> 817 <strong class="elementor-cart__summary-value">0,00 â¬</strong> 818 </div> 819 <div class="elementor-alert elementor-alert-warning elementor-hidden" role="alert"> 820 <span class="elementor-alert-description"></span> 821 </div> 822 <div class="elementor-cart__footer-buttons"> 823 <div class="elementor-align-justify"> 824 <a href="//www.moulincoop.com/panier?action=show" class="elementor-button elementor-button--view-cart elementor-size-md"> 825 <span class="elementor-button-text">Panier</span> 826 </a> 827 </div> 828 <div class="elementor-align-justify"> 829 <a href="https://www.moulincoop.com/commande" class="elementor-button elementor-button--checkout elementor-size-md ce-disabled"> 830 <span class="elementor-button-text">Commander</span> 831 </a> 832 </div> 833 </div> 834 </div> 835 </div> <div class="elementor-cart__toggle"> 836 <a href="//www.moulincoop.com/panier?action=show" class="elementor-button elementor-size-sm"> 837 <span class="elementor-button-icon" data-counter="0"> 838 <svg xmlns="http://www.w3.org/2000/svg" id="Layer_1" height="512" viewBox="0 0 125 125" width="512" data-name="Layer 1"><path d="m92.9 81.436h-44.59a2 2 0 0 1 -1.957-1.586l-11.323-53.55h-19.2v-4h20.82a2 2 0 0 1 1.956 1.586l11.325 53.55h42.969a6.676 6.676 0 0 0 6.5-5.082l7.716-31.22a1.864 1.864 0 0 0 -1.808-2.31h-49.688v-4h49.68a5.863 5.863 0 0 1 5.7 7.27l-7.717 31.219a10.666 10.666 0 0 1 -10.383 8.123z"></path><path d="m59.767 102.7a8.333 8.333 0 1 1 8.333-8.332 8.342 8.342 0 0 1 -8.333 8.332zm0-12.666a4.333 4.333 0 1 0 4.333 4.334 4.338 4.338 0 0 0 -4.333-4.333z"></path><path d="m88.371 102.7a8.333 8.333 0 1 1 8.329-8.332 8.342 8.342 0 0 1 -8.329 8.332zm0-12.666a4.333 4.333 0 1 0 4.329 4.334 4.338 4.338 0 0 0 -4.329-4.333z"></path></svg>
838 <span class="elementor-screen-only">Panier</span> 839 </span> 840 <span class="elementor-button-text">0,00 â¬</span> 841 </a> 842 </div> 843 </div> </div> 844 </div> 845 </div> 846 </div> 847 </div> 848 </div> 849 </section> 850 <nav class="elementor-element elementor-element-ccb1bd9 elementor-section-full_width elementor-section-content-top elementor-section-height-default elementor-section-height-default elementor-section elementor-top-section" data-id="ccb1bd9" data-element_type="section" id="fullscreen-menu" data-settings="{"background_background":"classic"}"> 851 <div class="elementor-container elementor-column-gap-default"> 852 <div class="elementor-row"> 853 <div class="elementor-element elementor-element-4dc2693 ce-valign-top elementor-column elementor-col-100 elementor-top-column" data-id="4dc2693" data-element_type="column"> 854 <div class="elementor-column-wrap elementor-element-populated"> 855 <div class="elementor-widget-wrap"> 856 <div class="elementor-element elementor-element-40abd10 elementor-widget__width-auto elementor-align-right menu-trigger elementor-absolute elementor-widget elementor-widget-button" data-id="40abd10" data-element_type="widget" data-settings="{"_position":"absolute"}" data-widget_type="button.default"> 857 <div class="elementor-widget-container"> <div class="elementor-button-wrapper"> 858 <a href="#" class="elementor-button-link elementor-button elementor-size-sm" role="button"> 859 <span class="elementor-button-content-wrapper"> 860 <span class="elementor-button-icon elementor-align-icon-right"><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="Capa_1" x="0px" y="0px" viewBox="0 0 496.096 496.096" style="enable-background:new 0 0 496.096 496.096;" xml:space="preserve"> 861<g> 862 <g> 863 <path d="M259.41,247.998L493.754,13.654c3.123-3.124,3.123-8.188,0-11.312c-3.124-3.123-8.188-3.123-11.312,0L248.098,236.686 L13.754,2.342C10.576-0.727,5.512-0.639,2.442,2.539c-2.994,3.1-2.994,8.015,0,11.115l234.344,234.344L2.442,482.342 c-3.178,3.07-3.266,8.134-0.196,11.312s8.134,3.266,11.312,0.196c0.067-0.064,0.132-0.13,0.196-0.196L248.098,259.31 l234.344,234.344c3.178,3.07,8.242,2.982,11.312-0.196c2.995-3.1,2.995-8.016,0-11.116L259.41,247.998z"></path> 864 </g> 865</g> 866<g> 867</g> 868<g> 869</g> 870<g> 871</g> 872<g> 873</g> 874<g> 875</g> 876<g> 877</g> 878<g> 879</g> 880<g> 881</g> 882<g> 883</g> 884<g> 885</g> 886<g> 887</g> 888<g> 889</g> 890<g> 891</g> 892<g> 893</g> 894<g> 895</g> 896</svg></span> 897 <span class="elementor-button-text">Menu</span> 898 </span> 899 </a> 900 </div> 901 </div> </div> 902 <section class="elementor-element elementor-element-e8e5e78 elementor-section-boxed elementor-section-height-default elementor-section-height-default elementor-section elementor-inner-section" data-id="e8e5e78" data-element_type="section"> 903 <div class="elementor-container elementor-column-gap-default"> 904 <div class="elementor-row"> 905 <div class="elementor-element elementor-element-8a82bdc elementor-column elementor-col-100 elementor-inner-column" data-id="8a82bdc" data-element_type="column"> 906 <div class="elementor-column-wrap elementor-element-populated"> 907 <div class="elementor-widget-wrap"> 908 <div class="elementor-element elementor-element-fe0dc77 elementor-widget__width-initial elementor-icon-list--layout-traditional elementor-widget elementor-widget-icon-list" data-id="fe0dc77" data-element_type="widget" data-widget_type="icon-list.default"> 909 <div class="elementor-widget-container"> <ul class="elementor-icon-list-items"> 910 <li class="elementor-icon-list-item"> 911 <a href="/3-nos-produits">
911 <span class="elementor-icon-list-text">Tous nos produits</span> 912 </a> </li> 913 </ul> 914 </div> </div> 915 <div class="elementor-element elementor-element-d0faa01 elementor-widget elementor-widget-divider" data-id="d0faa01" data-element_type="widget" data-widget_type="divider.default"> 916 <div class="elementor-widget-container"> <div class="elementor-divider"> 917 <span class="elementor-divider-separator"> 918 </span> 919 </div> 920 </div> </div> 921 <div class="elementor-element elementor-element-0b804c3 elementor-widget__width-initial elementor-icon-list--layout-traditional elementor-widget elementor-widget-icon-list" data-id="0b804c3" data-element_type="widget" data-widget_type="icon-list.default"> 922 <div class="elementor-widget-container"> <ul class="elementor-icon-list-items"> 923 <li class="elementor-icon-list-item"> 924 <a href="/4-huiles-d-olives"> <span class="elementor-icon-list-text">Huiles d'olive</span> 925 </a> </li> 926 <li class="elementor-icon-list-item"> 927 <a href="/5-produits-de-terroirs"> <span class="elementor-icon-list-text">Epicerie de Terroirs</span> 928 </a> </li> 929 <li class="elementor-icon-list-item"> 930 <a href="/8-cosmetique"> <span class="elementor-icon-list-text">Cosmétiques</span> 931 </a> </li> 932 <li class="elementor-icon-list-item"> 933 <a href="/6-cadeaux-et-coffrets"> <span class="elementor-icon-list-text">Cadeaux et coffrets</span> 934 </a> </li> 935 </ul> 936 </div> </div> 937 <div class="elementor-element elementor-element-24a6fcf elementor-widget elementor-widget-divider" data-id="24a6fcf" data-element_type="widget" data-widget_type="divider.default"> 938 <div class="elementor-widget-container"> <div class="elementor-divider"> 939 <span class="elementor-divider-separator"> 940 </span> 941 </div> 942 </div> </div> 943 <div class="elementor-element elementor-element-3bad73f elementor-widget__width-initial elementor-icon-list--layout-traditional elementor-widget elementor-widget-icon-list" data-id="3bad73f" data-element_type="widget" data-widget_type="icon-list.default"> 944 <div class="elementor-widget-container"> <ul class="elementor-icon-list-items"> 945 <li class="elementor-icon-list-item"> 946 <a href="/content/8-notre-histoire"> <span class="elementor-icon-list-text">Cent ans d'histoire</span> 947 </a> </li> 948 <li class="elementor-icon-list-item"> 949 <a href="/content/7-visites-degustations"> <span class="elementor-icon-list-text">Visites et dégustations</span> 950 </a> </li> 951 </ul> 952 </div> </div> 953 </div> 954 </div> 955 </div> 956 </div> 957 </div> 958 </section> 959 </div> 960 </div> 961 </div> 962 </div> 963 </div> 964 </nav> 965 </div> 966 </div> 967 968 969 </header> 970 971 <section id="wrapper"> 972 <div id="overlay"></div> 973 974 975 <aside id="notifications" > 976 <div class="notifications-container"> 977 978 979 980 </div> 981 </aside> 982 983 984 985 <div class="container"> 986 987 988 989 <div> 990 991 992 993 <div id="content-wrapper" class="js-content-wrapper col-xs-12"> 994 995 996 <section id="main"> 997 998 999 1000 <header class="page-header"> 1001 <h1> 1002 Connectez-vous à votre compte 1003</h1> 1004 </header> 1005 1006 1007 1008
1009 <div id="content" class="page-content card card-block"> 1010 1011 1012 1013 <section class="login-form"> 1014 1015 1016 1017 1018 <form id="login-form" action="https://www.moulincoop.com/connexion?back=my-account" method="post"> 1019 <div> 1020 1021 1022 1023 1024 <input type="hidden" name="back" value="my-account"> 1025 1026 1027 1028 1029 1030 1031 <div class="form-group "> 1032 <label class="col-md-12 form-control-label required" for="field-email"> 1033 E-mail 1034 </label> 1035 <div class="col-md-12 js-input-column"> 1036 1037 1038 1039 <input 1040 id="field-email" 1041 class="form-control" 1042 name="email" 1043 type="email" 1044 value="" 1045 autocomplete="email" required > 1046 1047 1048 1049 1050 1051 1052 </div> 1053 1054 <div class="col-md-12 form-control-comment"> 1055 1056 1057 </div> 1058 </div> 1059 1060 1061 1062 1063 1064 <div class="form-group "> 1065 <label class="col-md-12 form-control-label required" for="field-password"> 1066 Mot de passe 1067 </label> 1068 <div class="col-md-12 js-input-column"> 1069 1070 1071 1072 <div class="input-group js-parent-focus"> 1073 <input 1074 id="field-password" 1075 class="form-control js-child-focus js-visible-password" 1076 name="password" 1077 aria-label="Saisie du mot de passe" 1078 type="password" 1079 data-minlength="8" data-maxlength="72" data-minscore="3" autocomplete="current-password" value="" 1080 pattern=".{5,}" 1081 required > 1082 <span class="input-group-btn"> 1083 <button 1084 class="btn" 1085 type="button" 1086 data-action="show-password" 1087 data-text-show="Afficher" 1088 data-text-hide="Masquer" 1089 > 1090 Afficher 1091 </button> 1092 </span> 1093 </div> 1094 1095 1096 1097 1098 1099 1100 </div> 1101 1102 <div class="col-md-12 form-control-comment"> 1103 1104 1105 </div> 1106 </div> 1107 1108 1109 1110 1111 <div class="forgot-password"> 1112 <a href="https://www.moulincoop.com/recuperation-mot-de-passe" rel="nofollow"> 1113 Mot de passe oublié ? 1114 </a> 1115 </div> 1116 </div> 1117 1118 1119 <footer class="form-footer text-sm-center clearfix"> 1120 <input type="hidden" name="submitLogin" value="1"> 1121 1122 <button id="submit-login" class="btn btn-primary" data-link-action="sign-in" type="submit" class="form-control-submit"> 1123 Connexion 1124 </button> 1125 1126 </footer> 1127 1128 1129 </form> 1130 1131 1132 </section> 1133 1134 1135 1136 <div class="no-account flex"> 1137 <span class="tenor">Pas de compte ?</span> 1138 <a href="https://www.moulincoop.com/inscription" data-link-action="display-register-form" class="btn btn-primary"> 1139 Pas de compte ? Créez-en un 1140 </a> 1141 </div> 1142 1143 1144 </div> 1145 1146 1147 1148 <footer class="page-footer"> 1149 1150 <!-- Footer content --> 1151 1152 </footer> 1153 1154 1155 </section> 1156 1157 1158 </div> 1159 1160 1161 1162 </div> 1163 </div> 1164 1165 </section> 1166 1167 <footer id="footer" class="js-footer"> 1168 1169 <div data-elementor-type="footer" data-elementor-id="2170101" class="elementor elementor-2170101"> 1170 <div class="elementor-section-wrap"> 1171 <section class="elementor-element elementor-element-1be3013 elementor-section-boxed elementor-section-height-default elementor-section-height-default elementor-section elementor-top-section" data-id="1be3013" data-element_type="section"> 1172 <div class="elementor-container elementor-column-gap-default"> 1173 <div class="elementor-row"> 1174 <div class="elementor-element elementor-element-606f196 elementor-column elementor-col-100 elementor-top-column" data-id="606f196" data-element_type="column"> 1175 <div class="elementor-column-wrap elementor-element-populated"> 1176 <div class="elementor-widget-wrap"> 1177 <div class="elementor-element elementor-element-14087b4 elementor-widget elementor-widget-image" data-id="14087b4" data-element_type="widget" data-widget_type="image.default"> 1178 <div class="elementor-widget-container"> <div class="elementor-image"> 1179 <img src="/img/cms/logo-black.svg" alt="" loading="lazy"> </div> 1180 </div> </div> 1181 <section class="elementor-element elementor-element-fed8260 elementor-section-boxed elementor-section-height-default elementor-section-height-default elementor-section elementor-inner-section" data-id="fed8260" data-element_type="section"> 1182 <div class="elementor-container elementor-column-gap-default"> 1183 <div class="elementor-row"> 1184 <div class="elementor-element elementor-element-6205a85 elementor-column elementor-col-33 elementor-inner-column" data-id="6205a85" data-element_type="column"> 1185 <div class="elementor-column-wrap elementor-element-populated"> 1186 <div class="elementor-widget-wrap"> 1187 <div class="elementor-element elementor-element-73764a2 elementor-widget elementor-widget-heading" data-id="73764a2" data-element_type="widget" data-widget_type="heading.default"> 1188 <div class="elementor-widget-container"><div class="elementor-heading-title">Contact</div></div> </div> 1189 <div class="elementor-element elementor-element-66cefd0 elementor-align-center elementor-icon-list--layout-traditional elementor-widget elementor-widget-icon-list" data-id="66cefd0" data-element_type="widget" data-widget_type="icon-list.default"> 1190 <div class="elementor-widget-container"> <ul class="elementor-icon-list-items"> 1191 <li class="elementor-icon-list-item">
1192 <span class="elementor-icon-list-text">1 Chemin du Mas Neuf</span> 1193 </li> 1194 <li class="elementor-icon-list-item"> 1195 <span class="elementor-icon-list-text">13890 Mouriès</span> 1196 </li> 1197 <li class="elementor-icon-list-item"> 1198 <span class="elementor-icon-list-text">Bouches-du-Rhône, France</span> 1199 </li> 1200 </ul> 1201 </div> </div> 1202 </div> 1203 </div> 1204 </div> 1205 <div class="elementor-element elementor-element-5f5d460 elementor-column elementor-col-33 elementor-inner-column" data-id="5f5d460" data-element_type="column"> 1206 <div class="elementor-column-wrap elementor-element-populated"> 1207 <div class="elementor-widget-wrap"> 1208 <div class="elementor-element elementor-element-e89f97b elementor-align-center elementor-icon-list--layout-traditional elementor-widget elementor-widget-icon-list" data-id="e89f97b" data-element_type="widget" data-widget_type="icon-list.default"> 1209 <div class="elementor-widget-container"> <ul class="elementor-icon-list-items"> 1210 <li class="elementor-icon-list-item"> 1211 <a href="tel:0490475386"> <span class="elementor-icon-list-text">Téléphone : 04 90 47 53 86</span> 1212 </a> </li> 1213 <li class="elementor-icon-list-item"> 1214 <a href="mailto:[email protected]"> <span class="elementor-icon-list-text">E-mail : [email protected]</span> 1215 </a> </li> 1216 <li class="elementor-icon-list-item"> 1217 <span class="elementor-icon-list-text">Lun - Sam : 9h-12h, 14h-18h</span> 1218 </li> 1219 </ul> 1220 </div> </div> 1221 </div> 1222 </div> 1223 </div> 1224 <div class="elementor-element elementor-element-b69d5ec elementor-column elementor-col-33 elementor-inner-column" data-id="b69d5ec" data-element_type="column"> 1225 <div class="elementor-column-wrap elementor-element-populated"> 1226 <div class="elementor-widget-wrap"> 1227 <div class="elementor-element elementor-element-93be9c3 elementor-widget elementor-widget-heading" data-id="93be9c3" data-element_type="widget" data-widget_type="heading.default"> 1228 <div class="elementor-widget-container"><div class="elementor-heading-title">Informations</div></div> </div> 1229 <div class="elementor-element elementor-element-18dfb40 elementor-align-center elementor-icon-list--layout-traditional elementor-widget elementor-widget-icon-list" data-id="18dfb40" data-element_type="widget" data-widget_type="icon-list.default"> 1230 <div class="elementor-widget-container"> <ul class="elementor-icon-list-items"> 1231 <li class="elementor-icon-list-item"> 1232 <a href="/content/2-mentions-legales"> <span class="elementor-icon-list-text">Mentions légales</span> 1233 </a> </li> 1234 <li class="elementor-icon-list-item"> 1235 <a href="/content/3-cgv"> <span class="elementor-icon-list-text">Conditions Générales de Ventes</span> 1236 </a> </li> 1237 <li class="elementor-icon-list-item"> 1238 <a href="/content/6-politique-de-confidentialite"> <span class="elementor-icon-list-text">Politique de confidentialité</span> 1239 </a> </li> 1240 </ul> 1241 </div> </div> 1242 </div> 1243 </div> 1244 </div> 1245 </div> 1246 </div> 1247 </section> 1248 </div> 1249 </div> 1250 </div> 1251 </div> 1252 </div> 1253 </section> 1254 <section class="elementor-element elementor-element-d775b5b elementor-section-full_width elementor-section-height-default elementor-section-height-default elementor-section elementor-top-section" data-id="d775b5b" data-element_type="section"> 1255 <div class="elementor-container elementor-column-gap-default"> 1256 <div class="elementor-row"> 1257 <div class="elementor-element elementor-element-dc4f853 elementor-column elementor-col-100 elementor-top-column" data-id="dc4f853" data-element_type="column"> 1258 <div class="elementor-column-wrap elementor-element-populated"> 1259 <div class="elementor-widget-wrap"> 1260 <div class="elementor-element elementor-element-2b6b0c5 elementor-widget elementor-widget-heading" data-id="2b6b0c5" data-element_type="widget" data-widget_type="heading.default"> 1261 <div class="elementor-widget-container"><div class="elementor-heading-title">Abonnement à notre newsletter</div></div> </div> 1262 <div class="elementor-element elementor-element-c3abc82 elementor-widget__width-initial elementor-widget elementor-widget-text-editor" data-id="c3abc82" data-element_type="widget" data-widget_type="text-editor.default"> 1263 <div class="elementor-widget-container"> <div class="elementor-text-editor elementor-clearfix"><p>Inscrivez-vous dès maintenant et découvrez l'univers des arômes et des saveurs de l'huile d'olive du Moulin Coopératif de Mouriès.</p></div> 1264 </div> </div> 1265 <div class="elementor-element elementor-element-40c428d elementor-widget__width-inherit elementor-layout-inline elementor-tablet-layout-inline elementor-mobile-layout-inline elementor-button-classic elementor-widget elementor-widget-email-subscription" data-id="40c428d" data-element_type="widget" data-widget_type="email-subscription.default"> 1266 <div class="elementor-widget-container"> <form class="elementor-email-subscription" action="//www.moulincoop.com/module/creativeelements/ajax" method="post" data-msg="after">
1267 <input type="hidden" name="action" value="0"> 1268 <div class="elementor-field-type-subscribe"> 1269 <input type="email" name="email" class="elementor-field elementor-field-textual" placeholder="E-mail" inputmode="email" required> 1270 <button type="submit" name="submitNewsletter" value="1" class="elementor-button elementor-size-sm"> 1271 <span class="elementor-button-content-wrapper"> 1272 <span class="elementor-button-text">Sâabonner</span> 1273 </span> 1274 </button> 1275 </div> 1276 </form> 1277 </div> </div> 1278 <div class="elementor-element elementor-element-d2d2548 elementor-widget__width-inherit elementor-widget elementor-widget-text-editor" data-id="d2d2548" data-element_type="widget" data-widget_type="text-editor.default"> 1279 <div class="elementor-widget-container"> <div class="elementor-text-editor elementor-clearfix"><p>« Uno journado sèns òli dâóulivo, es uno journado sènso soulèu ⦠»</p></div> 1280 </div> </div> 1281 <div class="elementor-element elementor-element-a6b06f0 elementor-widget elementor-widget-image" data-id="a6b06f0" data-element_type="widget" data-widget_type="image.default"> 1282 <div class="elementor-widget-container"> <div class="elementor-image"> 1283 <img src="/img/cms/dessin-olive.png" alt="" loading="lazy" width="343" height="458"> </div> 1284 </div> </div> 1285 </div> 1286 </div> 1287 </div> 1288 </div> 1289 </div> 1290 </section> 1291 <section class="elementor-element elementor-element-c915d22 elementor-section-full_width elementor-section-height-default elementor-section-height-default elementor-section elementor-top-section" data-id="c915d22" data-element_type="section"> 1292 <div class="elementor-container elementor-column-gap-default"> 1293 <div class="elementor-row"> 1294 <div class="elementor-element elementor-element-25ea5a5 elementor-column elementor-col-100 elementor-top-column" data-id="25ea5a5" data-element_type="column"> 1295 <div class="elementor-column-wrap elementor-element-populated"> 1296 <div class="elementor-widget-wrap"> 1297 <div class="elementor-element elementor-element-9be1bec elementor-widget__width-initial elementor-absolute e-transform elementor-widget elementor-widget-image" data-id="9be1bec" data-element_type="widget" data-settings="{"_position":"absolute","_transform_rotateZ_effect":{"unit":"px","size":180,"sizes":[]},"_transform_rotateZ_effect_tablet":{"unit":"px","size":"","sizes":[]},"_transform_rotateZ_effect_mobile":{"unit":"px","size":"","sizes":[]}}" data-widget_type="image.default"> 1298 <div class="elementor-widget-container"> <div class="elementor-image"> 1299 <img src="/img/cms/footer-shape2.svg" alt="" loading="lazy" width="300" height="21"> </div> 1300 </div> </div> 1301 <section class="elementor-element elementor-element-6a4f852 elementor-section-full_width elementor-section-height-min-height elementor-section-content-bottom elementor-section-height-default elementor-section elementor-inner-section" data-id="6a4f852" data-element_type="section" data-settings="{"background_background":"classic"}"> 1302 <div class="elementor-background-overlay"></div> 1303 <div class="elementor-container elementor-column-gap-default"> 1304 <div class="elementor-row"> 1305 <div class="elementor-element elementor-element-6e536d2 elementor-column elementor-col-100 elementor-inner-column" data-id="6e536d2" data-element_type="column"> 1306 <div class="elementor-column-wrap elementor-element-populated"> 1307 <div class="elementor-widget-wrap"> 1308 <div class="elementor-element elementor-element-54e023c elementor-shape-circle elementor-widget elementor-widget-social-icons" data-id="54e023c" data-element_type="widget" data-widget_type="social-icons.default"> 1309 <div class="elementor-widget-container"> <div class="elementor-social-icons-wrapper"> 1310 <a class="elementor-icon elementor-social-icon elementor-social-icon-facebook elementor-repeater-item-97f65cb" href="https://www.facebook.com/profile.php?id=100065528498444" target="_blank">
1311 <span class="elementor-screen-only">Facebook</span> 1312 <i class="fab fa-facebook"></i> </a> 1313 <a class="elementor-icon elementor-social-icon elementor-social-icon-instagram elementor-repeater-item-5f367d1" href="https://www.instagram.com/moulincooperatifmouries/" target="_blank"> 1314 <span class="elementor-screen-only">Instagram</span> 1315 <i class="fab fa-instagram"></i> </a> 1316 </div> 1317 </div> </div> 1318 <div class="elementor-element elementor-element-47c1ac7 elementor-widget__width-auto elementor-widget elementor-widget-image" data-id="47c1ac7" data-element_type="widget" data-widget_type="image.default"> 1319 <div class="elementor-widget-container"> <div class="elementor-image"> 1320 <img src="/img/cms/aop-olive.svg" alt="" loading="lazy"> </div> 1321 </div> </div> 1322 <div class="elementor-element elementor-element-a57cc07 elementor-widget__width-auto elementor-widget elementor-widget-image" data-id="a57cc07" data-element_type="widget" data-widget_type="image.default"> 1323 <div class="elementor-widget-container"> <div class="elementor-image"> 1324 <img src="/img/cms/beauxdeprovence.png" alt="" loading="lazy" width="600" height="600"> </div> 1325 </div> </div> 1326 <div class="elementor-element elementor-element-ea10864 elementor-icon-list--layout-inline elementor-align-center elementor-widget elementor-widget-icon-list" data-id="ea10864" data-element_type="widget" data-widget_type="icon-list.default"> 1327 <div class="elementor-widget-container"> <ul class="elementor-icon-list-items elementor-inline-items"> 1328 <li class="elementor-icon-list-item"> 1329 <span class="elementor-icon-list-text">© 2025 Moulin Coopératif de Mouriès</span> 1330 </li> 1331 <li class="elementor-icon-list-item"> 1332 <span class="elementor-icon-list-text">Tous droits réservés</span> 1333 </li> 1334 </ul> 1335 </div> </div> 1336 </div> 1337 </div> 1338 </div> 1339 </div> 1340 </div> 1341 </section> 1342 <div class="elementor-element elementor-element-e2f886a elementor-widget__width-auto elementor-fixed elementor-widget elementor-widget-button" data-id="e2f886a" data-element_type="widget" data-settings="{"_position":"fixed"}" data-widget_type="button.default"> 1343 <div class="elementor-widget-container"> <div class="elementor-button-wrapper"> 1344 <a href="#top" class="elementor-button-link elementor-button elementor-size-sm" role="button"> 1345 <span class="elementor-button-content-wrapper"> 1346 <span class="elementor-button-icon elementor-align-icon-left"><svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32"><path d="M15.098 8.344L.678 21.164C.081 21.694 0 22.645.5 23.279c.499.638 1.385.725 1.983.193l13.518-12.018 13.516 12.02c.6.53 1.486.445 1.985-.193s.419-1.585-.178-2.115L16.906 8.345c-.263-.234-.584-.351-.905-.351s-.641.118-.902.35z"></path></svg></span> 1347 </span> 1348 </a> 1349 </div> 1350 </div> </div> 1351 </div> 1352 </div> 1353 </div> 1354 </div> 1355 </div> 1356 </section> 1357 <section class="elementor-element elementor-element-0839df6 elementor-section-height-min-height elementor-hidden-desktop elementor-hidden-tablet elementor-hidden-phone elementor-section-boxed elementor-section-height-default elementor-section-items-middle elementor-section elementor-top-section" data-id="0839df6" data-element_type="section" id="modal-age2" data-settings="{"background_background":"classic"}"> 1358 <div class="elementor-container elementor-column-gap-default"> 1359 <div class="elementor-row"> 1360 <div class="elementor-element elementor-element-1cbadba elementor-column elementor-col-100 elementor-top-column" data-id="1cbadba" data-element_type="column" data-settings="{"background_background":"classic"}"> 1361 <div class="elementor-column-wrap elementor-element-populated"> 1362 <div class="elementor-widget-wrap"> 1363 <div class="elementor-element elementor-element-b801cfa elementor-absolute elementor-hidden-desktop elementor-hidden-tablet elementor-hidden-phone elementor-widget elementor-widget-image" data-id="b801cfa" data-element_type="widget" data-settings="{"_position":"absolute"}" data-widget_type="image.default"> 1364 <div class="elementor-widget-container"> <div class="elementor-image"> 1365 <img src="/img/cms/header-shape-2.svg" alt="" loading="lazy" width="300" height="19"> </div> 1366 </div> </div> 1367 <div class="elementor-element elementor-element-4099f24 elementor-widget-tablet__width-inherit elementor-widget elementor-widget-heading" data-id="4099f24" data-element_type="widget" data-settings="{"_animation":"none"}" data-widget_type="heading.default"> 1368 <div class="elementor-widget-container"><div class="elementor-heading-title">Bienvenue !</div></div> </div> 1369 <div class="elementor-element elementor-element-83e5ccc elementor-widget elementor-widget-text-editor" data-id="83e5ccc" data-element_type="widget" data-widget_type="text-editor.default"> 1370 <div class="elementor-widget-container"> <div class="elementor-text-editor elementor-clearfix"><p>Avant de pouvoir effectuer des achats dans notre boutique en ligne, nous devons vérifier que vous êtes âgé de 18 ans ou plus.</p></div> 1371 </div> </div> 1372 <div class="elementor-element elementor-element-6aee267 elementor-align-center e-transform-hover elementor-widget elementor-widget-button" data-id="6aee267" data-element_type="widget" id="plus18" data-settings="{"_transform_translateY_effect_hover":{"unit":"px","size":5,"sizes":[]},"_transform_translateX_effect_hover":{"unit":"px","size":"","sizes":[]},"_transform_translateX_effect_hover_tablet":{"unit":"px","size":"","sizes":[]},"_transform_translateX_effect_hover_mobile":{"unit":"px","size":"","sizes":[]},"_transform_translateY_effect_hover_tablet":{"unit":"px","size":"","sizes":[]},"_transform_translateY_effect_hover_mobile":{"unit":"px","size":"","sizes":[]}}" data-widget_type="button.default"> 1373 <div class="elementor-widget-container"> <div class="elementor-button-wrapper"> 1374 <a href="#" class="elementor-button-link elementor-button elementor-size-sm" role="button">
1375 <span class="elementor-button-content-wrapper"> 1376 <span class="elementor-button-icon elementor-align-icon-right"><i aria-hidden="true" class="ceicon ceicon-arrow-right"></i></span> 1377 <span class="elementor-button-text">Oui, j'ai 18 ans ou plus</span> 1378 </span> 1379 </a> 1380 </div> 1381 </div> </div> 1382 <div class="elementor-element elementor-element-92bde26 elementor-align-center elementor-widget elementor-widget-button" data-id="92bde26" data-element_type="widget" id="moins18" data-widget_type="button.default"> 1383 <div class="elementor-widget-container"> <div class="elementor-button-wrapper"> 1384 <a href="https://www.google.fr" class="elementor-button-link elementor-button elementor-size-sm" role="button"> 1385 <span class="elementor-button-content-wrapper"> 1386 <span class="elementor-button-text">Non, j'ai moins de 18 ans</span> 1387 </span> 1388 </a> 1389 </div> 1390 </div> </div> 1391 </div> 1392 </div> 1393 </div> 1394 </div> 1395 </div> 1396 </section> 1397 </div> 1398 </div> 1399 1400 1401 </footer> 1402 1403</main> 1404 1405 1406 1407<template id="password-feedback"> 1408 <div 1409 class="password-strength-feedback mt-1" 1410 style="display: none;" 1411 > 1412 <div class="progress-container"> 1413 <div class="progress mb-1"> 1414 <div class="progress-bar" role="progressbar" value="50" aria-valuemin="0" aria-valuemax="100"></div> 1415 </div> 1416 </div> 1417
1417<script type="text/javascript" class="js-hint-password"> 1418 {"0":"Tr\u00e8s faible","1":"Faible","2":"Moyenne","3":"Fort","4":"Tr\u00e8s fort","Straight rows of keys are easy to guess":"Les suites de touches sur le clavier sont faciles \u00e0 deviner","Short keyboard patterns are easy to guess":"Les mod\u00e8les courts sur le clavier sont faciles \u00e0 deviner.","Use a longer keyboard pattern with more turns":"Utilisez une combinaison de touches plus longue et plus complexe.","Repeats like \"aaa\" are easy to guess":"Les r\u00e9p\u00e9titions (ex. : \"aaa\") sont faciles \u00e0 deviner.","Repeats like \"abcabcabc\" are only slightly harder to guess than \"abc\"":"Les r\u00e9p\u00e9titions (ex. : \"abcabcabc\") sont seulement un peu plus difficiles \u00e0 deviner que \"abc\".","Sequences like abc or 6543 are easy to guess":"Les s\u00e9quences (ex. : abc ou 6543) sont faciles \u00e0 deviner.","Recent years are easy to guess":"Les ann\u00e9es r\u00e9centes sont faciles \u00e0 deviner.","Dates are often easy to guess":"Les dates sont souvent faciles \u00e0 deviner.","This is a top-10 common password":"Ce mot de passe figure parmi les 10 mots de passe les plus courants.","This is a top-100 common password":"Ce mot de passe figure parmi les 100 mots de passe les plus courants.","This is a very common password":"Ceci est un mot de passe tr\u00e8s courant.","This is similar to a commonly used password":"Ce mot de passe est similaire \u00e0 un mot de passe couramment utilis\u00e9.","A word by itself is easy to guess":"Un mot seul est facile \u00e0 deviner.","Names and surnames by themselves are easy to guess":"Les noms et les surnoms seuls sont faciles \u00e0 deviner.","Common names and surnames are easy to guess":"Les noms et les pr\u00e9noms courants sont faciles \u00e0 deviner.","Use a few words, avoid common phrases":"Utilisez quelques mots, \u00e9vitez les phrases courantes.","No need for symbols, digits, or uppercase letters":"Pas besoin de symboles, de chiffres ou de majuscules.","Avoid repeated words and characters":"\u00c9viter de r\u00e9p\u00e9ter les mots et les caract\u00e8res.","Avoid sequences":"\u00c9viter les s\u00e9quences.","Avoid recent years":"\u00c9vitez les ann\u00e9es r\u00e9centes.","Avoid years that are associated with you":"\u00c9vitez les ann\u00e9es qui vous sont associ\u00e9es.","Avoid dates and years that are associated with you":"\u00c9vitez les dates et les ann\u00e9es qui vous sont associ\u00e9es.","Capitalization doesn't help very much":"Les majuscules ne sont pas tr\u00e8s utiles.","All-uppercase is almost as easy to guess as all-lowercase":"Un mot de passe tout en majuscules est presque aussi facile \u00e0 deviner qu'un mot de passe tout en minuscules.","Reversed words aren't much harder to guess":"Les mots invers\u00e9s ne sont pas beaucoup plus difficiles \u00e0 deviner.","Predictable substitutions like '@' instead of 'a' don't help very much":"Les substitutions pr\u00e9visibles comme '\"@\" au lieu de \"a\" n'aident pas beaucoup.","Add another word or two. Uncommon words are better.":"Ajoutez un autre mot ou deux. Pr\u00e9f\u00e9rez les mots peu courants."} 1419 </script>
1419 1420 1421 <div class="password-strength-text"></div> 1422 <div class="password-requirements"> 1423 <p class="password-requirements-length" data-translation="Entrez un mot de passe entre %s et %s caractères."> 1424 <i class="material-icons">check_circle</i> 1425 <span></span> 1426 </p> 1427 <p class="password-requirements-score" data-translation="Le score minimum doit être: %s."> 1428 <i class="material-icons">check_circle</i> 1429 <span></span> 1430 </p> 1431 </div> 1432 </div> 1433</template> 1434 1435 1436 1437
1437<script src="https://www.moulincoop.com/themes/classic-child/assets/cache/bottom-76dc27753.js" ></script>
1437 1438 1439 1440 1441 1442 1443 <div id="js-rcpgtm-tracking-data" hidden data-tracking-data="%7B%22detail_products_list%22%3A%5B%5D%2C%22order_products_list%22%3A%5B%5D%2C%22order_complete_data%22%3A%5B%5D%2C%22order_context_user_data%22%3A%5B%5D%7D"></div>
vendor: 75 bytes, lines 1443-1447
1443 1444 1445 1446 1447 <script async src="https://www.googletagmanager.com/gtag/js?id=
1447G-KS80DP2X3T
vendor: 21 bytes, lines 1447-1448
1447"></script> 1448
1448<script> 1449
vendor: 168 bytes, lines 1449-1452
1449window.dataLayer = window.dataLayer || []; 1450 function gtag(){ dataLayer.push(arguments); } 1451 gtag('js', new Date()); 1452 gtag('config', '
1452G-KS80DP2X3T
vendor: 17 bytes, lines 1452-1453
1452'); 1453
1453var GA_DEBUG = /[?&]debug=1($|&)/.test(location.search) || localStorage.getItem('ga4_debug') === '1'; 1454 var __orig_gtag__ = gtag; 1455 gtag = function(cmd, name, params){ 1456 if (cmd === 'config' || cmd === 'event') { 1457 params = params || {}; 1458 if (GA_DEBUG) params.debug_mode = true; 1459 return __orig_gtag__(cmd, name, params); 1460 } 1461 return __orig_gtag__.apply(this, arguments); 1462 }; 1463 var GA_CONTEXT = {"page_type":"other","currency":"EUR","product":null,"category":null,"cart":null,"purchase":null,"user":null,"search_term":null}; 1464 if (GA_CONTEXT.user && GA_CONTEXT.user.id) { 1465 gtag('set', {'user_id': GA_CONTEXT.user.id}); 1466 } 1467 gtag('event', 'page_context', { 1468 page_type: GA_CONTEXT.page_type, 1469 category_id: GA_CONTEXT.category ? GA_CONTEXT.category.id : null, 1470 category_name: GA_CONTEXT.category ? GA_CONTEXT.category.name : null 1471 }); 1472 function q(root, sel){ return (root||document).querySelector(sel); } 1473 function qText(root, sel){ var el = q(root, sel); return el ? el.textContent.trim() : null; } 1474 function getNumber(val, def){ var n = parseInt(val,10); return Number.isFinite(n) && n>0 ? n : def; } 1475 function parseIdsFromUrl(href){ 1476 try{ var u=new URL(href, location.origin); return {pid:u.searchParams.get('id_product'), paid:u.searchParams.get('id_product_attribute')}; } 1477 catch(e){ return {pid:null, paid:null}; } 1478 } 1479 function buildItemId(pid, paid){ if(!pid) return undefined; return paid ? (String(pid)+'-'+String(paid)) : String(pid); } 1480 function parsePriceText(txt){ 1481 if (!txt) return null; 1482 txt = txt.replace(/\u00a0/g,'').replace(/\s/g,''); 1483 var m = txt.match(/(\d+[.,]?\d*)/g); 1484 if (!m || !m.length) return null; 1485 var last = m[m.length-1].replace(',', '.'); 1486 var num = parseFloat(last); 1487 return Number.isFinite(num) ? num : null; 1488 } 1489 function currentCurrency(){ return GA_CONTEXT.currency || (GA_CONTEXT.product && GA_CONTEXT.product.currency) || 'EUR'; } 1490 function categoriesForListing(){ return (GA_CONTEXT.page_type === 'category' && GA_CONTEXT.category && GA_CONTEXT.category.name) ? [GA_CONTEXT.category.name] : []; } 1491 function buildItemBase(opts){ 1492 var p = GA_CONTEXT.product || null; 1493 var cats = (opts.cats && opts.cats.length) ? opts.cats : (p && p.categories) ? p.categories : []; 1494 var cur = opts.currency || currentCurrency(); 1495 return { 1496 item_id: opts.id || (p ? p.id : undefined), 1497 item_name: opts.name || (p ? p.name : undefined), 1498 price: (opts.price != null ? opts.price : (p ? p.price : undefined)), 1499 currency: cur, 1500 quantity: (opts.qty != null ? opts.qty : 1), 1501 item_brand: (opts.brand || (p ? p.brand : undefined)), 1502 item_variant: (opts.variant || (p ? p.variant : undefined)), 1503 item_category: cats[0], 1504 item_category2: cats[1], 1505 item_category3: cats[2], 1506 item_category4: cats[3], 1507 item_category5: cats[4] 1508 }; 1509 } 1510 (function(){ 1511 if (GA_CONTEXT.page_type !== 'product' || !GA_CONTEXT.product) return; 1512 var p = GA_CONTEXT.product; 1513 gtag('event', 'view_item', { 1514 currency: p.currency, 1515 value: p.price, 1516 items: [{ 1517 item_id: p.id, 1518 item_name: p.name, 1519 price: p.price, 1520 currency: p.currency, 1521 item_brand: p.brand || undefined, 1522 item_variant: p.variant || undefined, 1523 item_category: p.categories && p.categories[0] ? p.categories[0] : undefined, 1524 item_category2: p.categories && p.categories[1] ? p.categories[1] : undefined, 1525 item_category3: p.categories && p.categories[2] ? p.categories[2] : undefined, 1526 item_category4: p.categories && p.categories[3] ? p.categories[3] : undefined, 1527 item_category5: p.categories && p.categories[4] ? p.categories[4] : undefined 1528 }] 1529 }); 1530 })(); 1531 (function(){ 1532 if (GA_CONTEXT.page_type !== 'category') return; 1533 var arts = Array.from(document.querySelectorAll('article[data-id-product]')).slice(0, 12); 1534 if (!arts.length) return; 1535 1536 var items = arts.map(function(a, idx){ 1537 var name = (a.querySelector('.ce-product-name')||{}).textContent?.trim() || undefined; 1538 var pid = a.dataset.idProduct; 1539 var paid = a.dataset.idProductAttribute || null; 1540 var price = parsePriceText((a.querySelector('.ce-product-price span')||{}).textContent); 1541 var item = buildItemBase({ 1542 id: buildItemId(pid, paid), 1543 name: name, 1544 price: price != null ? price : undefined,
1545 cats: categoriesForListing() 1546 }); 1547 item.index = idx + 1; 1548 return item; 1549 }); 1550 1551 gtag('event', 'view_item_list', { 1552 item_list_name: GA_CONTEXT.category ? GA_CONTEXT.category.name : 'Listing', 1553 items: items 1554 }); 1555 1556 document.addEventListener('click', function(e){ 1557 var link = e.target.closest('.ce-product-name a, .elementor-widget-product-miniature-image a'); 1558 if (!link) return; 1559 var card = link.closest('article[data-id-product]'); 1560 if (!card) return; 1561 var pid = card.dataset.idProduct, paid = card.dataset.idProductAttribute || null; 1562 var name = card.querySelector('.ce-product-name')?.textContent?.trim(); 1563 var price = parsePriceText(card.querySelector('.ce-product-price span')?.textContent); 1564 var item = buildItemBase({ id: buildItemId(pid, paid), name, price, cats: categoriesForListing() }); 1565 gtag('event', 'select_item', { 1566 item_list_name: GA_CONTEXT.category ? GA_CONTEXT.category.name : 'Listing', 1567 items: [ item ] 1568 }); 1569 }, true); 1570 })(); 1571 var SEL = { 1572 addPdp: '.elementor-widget-product-add-to-cart a', // PDP 1573 addCat: '.elementor-widget-product-miniature-add-to-cart a', // Listing catégorie 1574 rmSide: '.elementor-cart__product-remove a', // Side cart 1575 rmCart: '.product-line-actions a.remove-from-cart' // Panier 1576 }; 1577 1578 document.addEventListener('click', function(e) { 1579 var el = e.target.closest('a, button, [role="button"]'); 1580 if (!el) return; 1581 if (el.matches(SEL.addPdp)) { 1582 var name = qText(document, 'h1.elementor-heading-title'); 1583 var qty = getNumber(q(document, 'input[name="qty"]')?.value, 1); 1584 var price = parsePriceText(qText(document, '.ce-product-price span')); 1585 var variant = Array.from(document.querySelectorAll('.ce-product-variants__select select')) 1586 .map(function(s){ return s.options[s.selectedIndex]?.text?.trim(); }) 1587 .filter(Boolean).join(' / ') || null; 1588 1589 var item = buildItemBase({ id: GA_CONTEXT.product ? GA_CONTEXT.product.id : undefined, name, qty, price, variant }); 1590 gtag('event', 'add_to_cart', { 1591 currency: item.currency, 1592 value: (item.price && item.quantity) ? (item.price * item.quantity) : undefined, 1593 items: [ item ] 1594 }); 1595 return; 1596 } 1597 if (el.matches(SEL.addCat)) { 1598 var art = el.closest('article'); 1599 var name = qText(art, '.ce-product-name'); 1600 var price = parsePriceText(qText(art, '.ce-product-price span')); 1601 var pid = art?.dataset?.idProduct || null; 1602 var paid = art?.dataset?.idProductAttribute || null; 1603 var qty = 1; 1604 1605 var item = buildItemBase({ id: buildItemId(pid, paid), name, price, qty, cats: categoriesForListing() }); 1606 gtag('event', 'add_to_cart', { 1607 currency: item.currency, 1608 value: (item.price && item.quantity) ? (item.price * item.quantity) : undefined, 1609 items: [ item ] 1610 }); 1611 return; 1612 } 1613 if (el.matches(SEL.rmSide)) { 1614 var row = el.closest('.elementor-cart__product'); 1615 var name = qText(row, '.elementor-cart__product-name'); 1616 var qty = getNumber(qText(row, '.elementor-cart__product-quantity'), 1); 1617 var price = parsePriceText(qText(row, '.elementor-cart__product-price')); 1618 var pid = el.getAttribute('data-id-product') || parseIdsFromUrl(el.href).pid;
1619 var paid = el.getAttribute('data-id-product-attribute') || parseIdsFromUrl(el.href).paid; 1620 var variant = qText(row, '.elementor-cart__product-attrs .elementor-cart__product-attr-value'); 1621 1622 var item = buildItemBase({ id: buildItemId(pid, paid), name, qty, price, variant }); 1623 gtag('event', 'remove_from_cart', { 1624 currency: item.currency, 1625 value: (item.price && item.quantity) ? (item.price * item.quantity) : undefined, 1626 items: [ item ] 1627 }); 1628 return; 1629 } 1630 if (el.matches(SEL.rmCart)) { 1631 var row = el.closest('.cart-item'); 1632 var name = qText(row, '.product-line-info a.label') || qText(row, '.product-line-info'); 1633 var qty = getNumber(q(row, '.js-cart-line-product-quantity')?.value, 1); 1634 var price = parsePriceText(qText(row, '.product-price')); 1635 var pid = el.getAttribute('data-id-product') || parseIdsFromUrl(el.href).pid; 1636 var paid = el.getAttribute('data-id-product-attribute') || parseIdsFromUrl(el.href).paid; 1637 var variant = qText(row, '.product-line-info.contenance .value'); 1638 1639 var item = buildItemBase({ id: buildItemId(pid, paid), name, qty, price, variant }); 1640 gtag('event', 'remove_from_cart', { 1641 currency: item.currency, 1642 value: (item.price && item.quantity) ? (item.price * item.quantity) : undefined, 1643 items: [ item ] 1644 }); 1645 return; 1646 } 1647 }, true); 1648 document.addEventListener('click', function(e){ 1649 var up = e.target.closest('.js-increase-product-quantity, .bootstrap-touchspin-up, .qty-augmenter'); 1650 var down = e.target.closest('.js-decrease-product-quantity, .bootstrap-touchspin-down, .qty-reduire'); 1651 if (!up && !down) return; 1652 var row = e.target.closest('.cart-item'); 1653 if (!row) return; 1654 1655 var name = (row.querySelector('.product-line-info a.label') || row.querySelector('.product-line-info'))?.textContent?.trim(); 1656 var price = parsePriceText((row.querySelector('.product-price')||{}).textContent); 1657 1658 var input = row.querySelector('.js-cart-line-product-quantity'); 1659 var pid = input?.getAttribute('data-product-id') || null; 1660 var updUrl = input?.getAttribute('data-update-url') || ''; 1661 var paid = null; 1662 if (updUrl) { 1663 try { var u = new URL(updUrl, location.origin); paid = u.searchParams.get('id_product_attribute'); } catch(e){} 1664 } 1665 1666 var item = buildItemBase({ id: buildItemId(pid, paid), name, price, qty: 1 }); 1667 gtag('event', up ? 'add_to_cart' : 'remove_from_cart', { 1668 currency: item.currency, 1669 value: (item.price && item.quantity) ? (item.price * item.quantity) : undefined, 1670 items: [ item ] 1671 }); 1672 }, true); 1673 (function(){ 1674 if (GA_CONTEXT.page_type !== 'cart' || !GA_CONTEXT.cart) return; 1675 gtag('event', 'view_cart', { 1676 currency: GA_CONTEXT.currency, 1677 value: GA_CONTEXT.cart.value, 1678 coupon: GA_CONTEXT.cart.coupon || undefined, 1679 items: GA_CONTEXT.cart.items 1680 }); 1681 })(); 1682 (function(){ 1683 if (GA_CONTEXT.page_type !== 'search') return; 1684 gtag('event', 'view_search_results', { 1685 search_term: GA_CONTEXT.search_term || undefined 1686 }); 1687 })(); 1688 (function(){ 1689 if (GA_CONTEXT.page_type !== 'order_confirmation' || !GA_CONTEXT.purchase) return; 1690 var p = GA_CONTEXT.purchase;
1691 if (p.user_id) { gtag('set', {'user_id': p.user_id}); } 1692 gtag('set', 'user_properties', { 1693 customer_type: p.customer_type, // 'new_customer' | 'returning_customer' 1694 has_previous_orders: p.has_previous_orders // true | false 1695 }); 1696 var key = 'ga4_purchase_' + p.transaction_id; 1697 if (sessionStorage.getItem(key)) return; 1698 1699 gtag('event', 'purchase', { 1700 transaction_id: p.transaction_id, 1701 affiliation: p.affiliation, 1702 value: p.value, 1703 tax: p.tax, 1704 shipping: p.shipping, 1705 currency: p.currency, 1706 coupon: p.coupon || undefined, 1707 items: p.items, 1708 customer_type: p.customer_type, 1709 has_previous_orders: p.has_previous_orders 1710 }); 1711 1712 sessionStorage.setItem(key, '1'); 1713 })(); 1714 (function(){ 1715 if (GA_CONTEXT.page_type !== 'checkout') return; 1716 1717 var sentSteps = new Set(); 1718 var beginSent = false; 1719 1720 function labelForStep(id, titleText){ 1721 if (/personal/i.test(id)) return {name:'informations', index:1}; 1722 if (/addresses?/i.test(id)) return {name:'adresses', index:2}; 1723 if (/delivery/i.test(id)) return {name:'livraison', index:3}; 1724 if (/payment/i.test(id)) return {name:'paiement', index:4}; 1725 return {name: (titleText||id||'step').toLowerCase(), index: null}; 1726 } 1727 function selectedShipping(){ 1728 var input = document.querySelector('input[type="radio"][name^="delivery_option"]:checked'); 1729 if (!input) return null; 1730 var id = input.id, lab = id ? document.querySelector('label[for="'+id+'"]') : null; 1731 return (lab ? lab.textContent.trim() : input.value) || null; 1732 } 1733 function selectedPayment(){ 1734 var input = document.querySelector('input[type="radio"][name="payment-option"]:checked'); 1735 if (!input) return null; 1736 var id = input.id, lab = id ? document.querySelector('label[for="'+id+'"]') : null; 1737 return (lab ? lab.textContent.trim() : input.value) || null; 1738 } 1739 function sendCheckoutStepView(stepId, stepTitle){ 1740 if (sentSteps.has(stepId)) return; 1741 sentSteps.add(stepId); 1742 1743 var lbl = labelForStep(stepId, stepTitle); 1744 gtag('event', 'checkout_step_view', { 1745 step_id: stepId, 1746 step_name: lbl.name, 1747 step_index: lbl.index 1748 }); 1749 1750 var base = { 1751 currency: GA_CONTEXT.currency, 1752 value: GA_CONTEXT.cart ? GA_CONTEXT.cart.value : undefined, 1753 coupon: GA_CONTEXT.cart && GA_CONTEXT.cart.coupon ? GA_CONTEXT.cart.coupon : undefined, 1754 items: GA_CONTEXT.cart ? GA_CONTEXT.cart.items : undefined 1755 }; 1756 1757 if (!beginSent && /personal/i.test(stepId)) { 1758 beginSent = true; 1759 gtag('event', 'begin_checkout', base); 1760 } else if (/delivery/i.test(stepId)) { 1761 gtag('event', 'add_shipping_info', Object.assign({}, base, { 1762 shipping_tier: selectedShipping() || undefined 1763 })); 1764 } else if (/payment/i.test(stepId)) { 1765 gtag('event', 'add_payment_info', Object.assign({}, base, { 1766 payment_type: selectedPayment() || undefined 1767 })); 1768 } 1769 } 1770 function scanCurrentStep(){ 1771 var cur = document.querySelector('.checkout-step.-current, .checkout-step.js-current-step'); 1772 if (!cur) return; 1773 var id = cur.id || ''; 1774 var title = qText(cur, '.step-title'); 1775 if (id) sendCheckoutStepView(id, title); 1776 } 1777 scanCurrentStep(); 1778 var obs = new MutationObserver(function(muts){ 1779 for (var i=0;i<muts.length;i++){ 1780 var m = muts[i];
1781 if (m.type === 'attributes' && m.target && m.target.classList && m.target.classList.contains('checkout-step')) { 1782 if (m.target.classList.contains('-current') || m.target.classList.contains('js-current-step')) { 1783 sendCheckoutStepView(m.target.id || '', qText(m.target, '.step-title')); 1784 } 1785 } else if (m.type === 'childList') { 1786 scanCurrentStep(); 1787 } 1788 } 1789 }); 1790 obs.observe(document.body, {subtree:true, childList:true, attributes:true, attributeFilter:['class']}); 1791 })(); 1792 </script>
1792 1793
1793<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js/v31edd6df95cf4e85bb4c19e7a9bdbcba1788362987495" integrity="sha512-iIg7k2xntmwu6/uSb5tpc/hySgZc4eoL31yB29W6tJFo2akwjPWcEqnCEdJvGexCL0KEQwVYv5BlowfhVz26hg==" data-cf-beacon='{"version":"2024.11.0","token":"7b019f9794e14f2b958e55e87cd2fc7f","r":1,"spa":2}' crossorigin="anonymous"></script>
1793 1794</body> 1795 1796</html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.