{"id":32518,"date":"2026-03-09T11:34:44","date_gmt":"2026-03-09T10:34:44","guid":{"rendered":"https:\/\/vetedy.com\/?page_id=32518"},"modified":"2026-06-02T09:28:33","modified_gmt":"2026-06-02T07:28:33","slug":"formulaire-salon-vetedy","status":"publish","type":"page","link":"https:\/\/vetedy.com\/fr\/formulaire-salon-vetedy\/","title":{"rendered":"Formulaire salon Vetedy"},"content":{"rendered":"\n<!DOCTYPE html>\n<html lang=\"fr\">\n<head>\n<meta charset=\"UTF-8\">\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no\">\n<title>Vetedy contact<\/title>\n<style>\n*{ box-sizing:border-box; }\nhtml, body{ margin:0; min-height:100vh; }\nbody{ font-family:-apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,Arial,sans-serif; background:#ececec; display:flex; justify-content:center; align-items:flex-start; user-select:none; -webkit-user-select:none; -webkit-touch-callout:none; }\nbody.kiosk-mode, html.kiosk-mode{ min-height:100vh; overflow:auto; }\nbody.kiosk-mode{ align-items:flex-start; }\n.container{ width:100%; max-width:820px; padding:120px 24px 24px; }\n\n\/* ACCUEIL *\/\n#welcomeScreen{ text-align:center; }\n.logo img{ height:250px; max-width:100%; }\n.title{ font-size:48px; font-weight:700; margin:24px 0 18px; line-height:1.25; color:#000; }\n.subtitle{ font-size:24px; font-weight:700; line-height:1.25; color:#000; }\n.qr{ margin:22px 0; }\n.qr img{ width:190px; max-width:100%; pointer-events:none; }\n.or{ font-size:24px; font-weight:700; margin:18px 0; color:#000; }\n.start-btn{ background:#e68400; color:#000; border:none; padding:22px 18px; font-size:24px; font-weight:700; width:100%; cursor:pointer; border-radius:12px; }\n.start-btn:hover{ background:#cf7600; }\n\n\/* FORM *\/\n#formScreen{ display:none; background:#fff; border-radius:18px; padding:22px; box-shadow:0 20px 60px rgba(0,0,0,0.15); }\n.grid{ display:grid; grid-template-columns:1fr 1fr; gap:14px; }\n.field{ display:flex; flex-direction:column; }\n.field.full{ grid-column:1 \/ -1; }\nlabel{ font-weight:600; margin-bottom:6px; color:#222; font-size:15px; }\ninput:not([type=\"radio\"]), select, textarea{ width:100%; padding:12px; border:1px solid #d0d5dd; border-radius:10px; font-size:16px; user-select:text; -webkit-user-select:text; outline:none; background:#fff; }\ntextarea{ resize:none; min-height:72px; }\n.radio-group{ display:flex; justify-content:center; align-items:center; gap:16px; margin-top:8px; }\n.radio-button{ flex:1; max-width:220px; }\n.radio-button input{ display:none; }\n.radio-button label{ display:flex; align-items:center; justify-content:center; min-height:54px; text-align:center; padding:12px 10px; border:2px solid #d0d5dd; border-radius:12px; font-size:18px; font-weight:600; cursor:pointer; background:#fff; margin:0; }\n.radio-button input:checked + label{ border-color:#1f6feb; background:#e8f0ff; }\n.submit{ margin-top:18px; padding:18px; font-size:20px; background:#1f6feb; color:#fff; border:none; border-radius:10px; cursor:pointer; width:100%; font-weight:700; }\n.submit:hover{ background:#174fb6; }\n.submit:disabled{ opacity:0.7; cursor:not-allowed; }\n.status{ text-align:center; margin-top:12px; font-size:14px; color:#666; min-height:20px; }\n.sync-info{ text-align:center; margin-top:6px; font-size:13px; color:#8a8a8a; min-height:18px; }\n.counter{ text-align:center; margin-top:10px; font-size:14px; color:#777; }\n.success{ display:none; text-align:center; font-size:28px; font-weight:700; padding:40px 16px; }\n.success small{ display:block; margin-top:10px; font-size:18px; font-weight:400; }\n\n\/* CACHER FOOTER WORDPRESS\/ELEMENTOR *\/\nfooter, .site-footer, #footer, .elementor-location-footer{ display:none !important; }\n<\/style>\n<\/head>\n<body>\n\n<div class=\"container\">\n\n  <div id=\"welcomeScreen\">\n    <div class=\"logo\">\n      <img decoding=\"async\" src=\"https:\/\/vetedy.com\/app\/uploads\/2025\/12\/vetedy-logo-color-digital-01.png\" alt=\"Vetedy logo\" width=\"300\">\n    <\/div>\n    <div class=\"title\" style=\"font-size:32px; font-weight:700; margin:12px 0 18px; line-height:1; color:#000;\">\n      Vous souhaitez \u00eatre recontact\u00e9 ?\n    <\/div>\n    <div class=\"subtitle\" style=\"font-size:32px;\">Scannez ce QR code<\/div>\n    <div class=\"qr\">\n      <img decoding=\"async\" src=\"https:\/\/vetedy.com\/app\/uploads\/2026\/03\/qrcode_ORCAB_-_Prise_de_contact.png\" alt=\"QR code prise de contact\">\n    <\/div>\n    <div class=\"or\" style=\"font-size:32px;\">OU<\/div>\n    <button class=\"start-btn\" id=\"startBtn\" type=\"button\">Cliquez ici pour remplir le formulaire<\/button>\n  <\/div>\n\n  <div id=\"formScreen\">\n    <div id=\"formArea\">\n      <form id=\"contactForm\">\n        <div class=\"grid\">\n          <div class=\"field full\">\n            <label for=\"entreprise\">Entreprise<\/label>\n            <input type=\"text\" id=\"entreprise\" name=\"entreprise\" required>\n          <\/div>\n          <div class=\"field\">\n            <label for=\"nom\">Nom<\/label>\n            <input type=\"text\" id=\"nom\" name=\"nom\" required>\n          <\/div>\n          <div class=\"field\">\n            <label for=\"prenom\">Pr\u00e9nom<\/label>\n            <input type=\"text\" id=\"prenom\" name=\"prenom\" required>\n          <\/div>\n          <div class=\"field\">\n            <label for=\"adresse\">Adresse postale<\/label>\n            <input type=\"text\" id=\"adresse\" name=\"adresse\" required>\n          <\/div>\n          <div class=\"field\">\n            <label for=\"code_postal\">Code postal<\/label>\n            <input type=\"text\" id=\"code_postal\" name=\"code_postal\" required>\n          <\/div>\n          <div class=\"field\">\n            <label for=\"mail\">Email<\/label>\n            <input type=\"email\" id=\"mail\" name=\"mail\" required>\n          <\/div>\n          <div class=\"field\">\n            <label for=\"telephone\">T\u00e9l\u00e9phone<\/label>\n            <input type=\"tel\" id=\"telephone\" name=\"telephone\" inputmode=\"tel\">\n          <\/div>\n          <div class=\"field full\">\n            <label>Avez-vous d\u00e9j\u00e0 eu contact avec Vetedy ?<\/label>\n            <div class=\"radio-group\">\n              <div class=\"radio-button\">\n                <input type=\"radio\" id=\"oui\" name=\"contact\" value=\"Oui\" required>\n                <label for=\"oui\">Oui<\/label>\n              <\/div>\n              <div class=\"radio-button\">\n                <input type=\"radio\" id=\"non\" name=\"contact\" value=\"Non\">\n                <label for=\"non\">Non<\/label>\n              <\/div>\n            <\/div>\n          <\/div>\n          <div class=\"field full\">\n            <label for=\"notes\">Notes<\/label>\n            <textarea id=\"notes\" name=\"notes\"><\/textarea>\n          <\/div>\n        <\/div>\n        <button class=\"submit\" id=\"submitBtn\" type=\"submit\">Valider<\/button>\n      <\/form>\n\n      <div class=\"status\" id=\"statusMessage\"><\/div>\n      <div class=\"sync-info\" id=\"syncInfo\"><\/div>\n      <div class=\"counter\" id=\"counter\">Contacts du salon : 0<\/div>\n    <\/div>\n\n    <div class=\"success\" id=\"successMessage\">\n      Merci pour votre visite !\n      <small>Votre demande a bien \u00e9t\u00e9 enregistr\u00e9e.<\/small>\n    <\/div>\n  <\/div>\n<\/div>\n<script>\ndocument.addEventListener(\"contextmenu\", e => e.preventDefault());\ndocument.addEventListener(\"gesturestart\", e => e.preventDefault());\ndocument.addEventListener(\"gesturechange\", e => e.preventDefault());\ndocument.addEventListener(\"gestureend\", e => e.preventDefault());\n\nconst SCRIPT_URL = \"https:\/\/script.google.com\/macros\/s\/AKfycbzPzsOmzmBtn9E2gKIsNNB8lQDKgFCdCY9yLJC8dtwec5N1lZeQMGRlXvQsawOKsk607w\/exec\";\nconst COUNTER_KEY = \"vetedySalonCount\";\nconst QUEUE_KEY = \"vetedyPendingLeads\";\n\nconst welcomeScreen = document.getElementById(\"welcomeScreen\");\nconst formScreen = document.getElementById(\"formScreen\");\nconst startBtn = document.getElementById(\"startBtn\");\nconst form = document.getElementById(\"contactForm\");\nconst formArea = document.getElementById(\"formArea\");\nconst success = document.getElementById(\"successMessage\");\nconst statusMessage = document.getElementById(\"statusMessage\");\nconst syncInfo = document.getElementById(\"syncInfo\");\nconst counter = document.getElementById(\"counter\");\nconst submitBtn = document.getElementById(\"submitBtn\");\n\nlet inactivityTimer = null;\nlet keyboardTimer = null;\nlet count = parseInt(localStorage.getItem(COUNTER_KEY) || \"0\", 10);\n\nfunction isQrMode(){\n  const params = new URLSearchParams(window.location.search);\n  return params.get(\"form\") === \"1\";\n}\n\nfunction applyKioskMode(){\n  if(isQrMode()) return;\n  document.body.classList.add(\"kiosk-mode\");\n  document.documentElement.classList.add(\"kiosk-mode\");\n}\n\nfunction showWelcomeScreen(){\n  welcomeScreen.style.display = \"block\";\n  formScreen.style.display = \"none\";\n}\n\nfunction showFormScreen(){\n  welcomeScreen.style.display = \"none\";\n  formScreen.style.display = \"block\";\n  formArea.style.display = \"block\";\n  success.style.display = \"none\";\n  statusMessage.innerText = \"\";\n  submitBtn.disabled = false;\n}\n\nfunction returnToHomeState(){\n  form.reset();\n  formArea.style.display = \"block\";\n  success.style.display = \"none\";\n  statusMessage.innerText = \"\";\n  submitBtn.disabled = false;\n\n  if(isQrMode()){\n    showFormScreen();\n  }else{\n    showWelcomeScreen();\n  }\n}\n\nfunction updateCounter(){\n  counter.innerText = \"Contacts du salon : \" + count;\n}\n\n\/* =========================\n   GESTION HORS WIFI\n========================= *\/\n\nfunction getQueue(){\n  try{\n    return JSON.parse(localStorage.getItem(QUEUE_KEY) || \"[]\");\n  }catch(e){\n    return [];\n  }\n}\n\nfunction saveQueue(queue){\n  localStorage.setItem(QUEUE_KEY, JSON.stringify(queue));\n  updateSyncInfo();\n}\n\nfunction addLeadToQueue(lead){\n  const queue = getQueue();\n  queue.push(lead);\n  saveQueue(queue);\n}\n\nfunction markLeadAsSent(leadId){\n  const queue = getQueue()\n    .map(item => item.id === leadId ? { ...item, status:\"sent\" } : item)\n    .filter(item => item.status !== \"sent\");\n\n  saveQueue(queue);\n}\n\nfunction updateSyncInfo(){\n  const queue = getQueue();\n  const pendingCount = queue.filter(item => item.status === \"pending\").length;\n\n  if(!navigator.onLine){\n    if(pendingCount > 0){\n      syncInfo.innerText = \"Hors ligne - \" + pendingCount + \" contact(s) en attente de synchronisation\";\n    }else{\n      syncInfo.innerText = \"Hors ligne - les nouveaux contacts seront sauvegard\u00e9s\";\n    }\n    return;\n  }\n\n  if(pendingCount > 0){\n    syncInfo.innerText = pendingCount + \" contact(s) en attente de synchronisation\";\n  }else{\n    syncInfo.innerText = \"Connexion OK\";\n  }\n}\n\nfunction generateLeadId(){\n  return \"lead_\" + Date.now() + \"_\" + Math.random().toString(36).slice(2, 9);\n}\n\nfunction buildLeadFromForm(){\n  return {\n    id: generateLeadId(),\n    createdAt: new Date().toISOString(),\n    entreprise: form.entreprise.value.trim(),\n    nom: form.nom.value.trim(),\n    prenom: form.prenom.value.trim(),\n    adresse: form.adresse.value.trim(),\n    code_postal: form.code_postal.value.trim(),\n    mail: form.mail.value.trim(),\n    telephone: form.telephone.value.trim(),\n    contact: form.contact.value,\n    notes: form.notes.value.trim(),\n    source: isQrMode() ? \"QR code Vetedy\" : \"Borne salon iPad Vetedy\",\n    status: \"pending\"\n  };\n}\n\nasync function sendLead(lead){\n  const body = new URLSearchParams({\n    lead_id: lead.id,\n    date: lead.createdAt,\n    entreprise: lead.entreprise,\n    nom: lead.nom,\n    prenom: lead.prenom,\n    adresse: lead.adresse,\n    code_postal: lead.code_postal,\n    mail: lead.mail,\n    telephone: lead.telephone,\n    contact: lead.contact,\n    notes: lead.notes,\n    source: lead.source\n  });\n\n  const response = await fetch(SCRIPT_URL, {\n    method: \"POST\",\n    body: body\n  });\n\n  const result = await response.json();\n\n  if(!result.success){\n    throw new Error(result.error || \"Erreur inconnue\");\n  }\n\n  return result;\n}\n\nasync function syncPendingLeads(){\n  if(!navigator.onLine){\n    updateSyncInfo();\n    return;\n  }\n\n  const pendingLeads = getQueue().filter(item => item.status === \"pending\");\n\n  if(pendingLeads.length === 0){\n    updateSyncInfo();\n    return;\n  }\n\n  syncInfo.innerText = \"Synchronisation de \" + pendingLeads.length + \" contact(s)...\";\n\n  for(const lead of pendingLeads){\n    try{\n      await sendLead(lead);\n      markLeadAsSent(lead.id);\n    }catch(error){\n      console.error(\"Erreur de synchronisation :\", error);\n      break;\n    }\n  }\n\n  updateSyncInfo();\n}\n\n\/* =========================\n   TIMER \/ RESET\n========================= *\/\n\nfunction resetInactivityTimer(){\n  if(isQrMode()) return;\n\n  clearTimeout(inactivityTimer);\n  clearTimeout(keyboardTimer);\n\n  keyboardTimer = setTimeout(() => {\n    const active = document.activeElement;\n\n    if(\n      active &&\n      (\n        active.tagName === \"INPUT\" ||\n        active.tagName === \"TEXTAREA\"\n      )\n    ){\n      active.blur();\n    }\n  }, 60000);\n\n  inactivityTimer = setTimeout(() => {\n    returnToHomeState();\n  }, 300000);\n}\n\nfunction showSuccessThenReset(){\n  statusMessage.innerText = \"\";\n  formArea.style.display = \"none\";\n  success.style.display = \"block\";\n\n  setTimeout(() => {\n    returnToHomeState();\n  }, 2500);\n}\n\n\/* =========================\n   EVENTS\n========================= *\/\n\n[\"click\",\"touchstart\",\"keydown\",\"input\",\"change\"].forEach(evt => {\n  document.addEventListener(evt, resetInactivityTimer, { passive:true });\n});\n\nstartBtn.addEventListener(\"click\", () => {\n  showFormScreen();\n  resetInactivityTimer();\n});\n\nwindow.addEventListener(\"online\", () => {\n  updateSyncInfo();\n  syncPendingLeads();\n});\n\nwindow.addEventListener(\"offline\", () => {\n  updateSyncInfo();\n});\n\nform.addEventListener(\"submit\", async function(e){\n  e.preventDefault();\n\n  submitBtn.disabled = true;\n  statusMessage.innerText = \"Enregistrement du contact...\";\n\n  const lead = buildLeadFromForm();\n\n  addLeadToQueue(lead);\n\n  count++;\n  localStorage.setItem(COUNTER_KEY, count);\n  updateCounter();\n\n  if(!navigator.onLine){\n    statusMessage.innerText = \"Connexion absente. Contact sauvegard\u00e9 sur l\u2019appareil.\";\n    showSuccessThenReset();\n    return;\n  }\n\n  statusMessage.innerText = \"Envoi en cours...\";\n\n  try{\n    await sendLead(lead);\n    markLeadAsSent(lead.id);\n    showSuccessThenReset();\n  }catch(error){\n    console.error(\"Erreur d'envoi :\", error);\n    statusMessage.innerText = \"Connexion instable. Contact sauvegard\u00e9, envoi automatique plus tard.\";\n    showSuccessThenReset();\n  }\n});\n\n\/* =========================\n   INIT\n========================= *\/\n\napplyKioskMode();\nupdateCounter();\nupdateSyncInfo();\nsyncPendingLeads();\nresetInactivityTimer();\n<\/script>\n\n<\/body>\n<\/html>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Vetedy contact Vous souhaitez \u00eatre recontact\u00e9 ? Scannez ce QR code OU Cliquez ici pour remplir le formulaire Entreprise Nom Pr\u00e9nom Adresse postale Code postal Email T\u00e9l\u00e9phone Avez-vous d\u00e9j\u00e0 eu contact avec Vetedy ? Oui Non Notes Valider Contacts du salon : 0 Merci pour votre visite ! Votre demande a bien \u00e9t\u00e9 enregistr\u00e9e.<\/p>\n","protected":false},"author":2,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"footnotes":""},"class_list":["post-32518","page","type-page","status-publish","hentry"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Formulaire salon Vetedy &#183; Vetedy<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/vetedy.com\/fr\/formulaire-salon-vetedy\/\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Formulaire salon Vetedy &#183; Vetedy\" \/>\n<meta property=\"og:description\" content=\"Vetedy contact Vous souhaitez \u00eatre recontact\u00e9 ? Scannez ce QR code OU Cliquez ici pour remplir le formulaire Entreprise Nom Pr\u00e9nom Adresse postale Code postal Email T\u00e9l\u00e9phone Avez-vous d\u00e9j\u00e0 eu contact avec Vetedy ? Oui Non Notes Valider Contacts du salon : 0 Merci pour votre visite ! Votre demande a bien \u00e9t\u00e9 enregistr\u00e9e.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/vetedy.com\/fr\/formulaire-salon-vetedy\/\" \/>\n<meta property=\"og:site_name\" content=\"Vetedy\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/Vetedy\" \/>\n<meta property=\"article:modified_time\" content=\"2026-06-02T07:28:33+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/vetedy.com\/app\/uploads\/2025\/12\/vetedy-logo-color-digital-01.png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Dur\u00e9e de lecture estim\u00e9e\" \/>\n\t<meta name=\"twitter:data1\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/vetedy.com\/fr\/formulaire-salon-vetedy\/\",\"url\":\"https:\/\/vetedy.com\/fr\/formulaire-salon-vetedy\/\",\"name\":\"Formulaire salon Vetedy &#183; Vetedy\",\"isPartOf\":{\"@id\":\"https:\/\/vetedy.com\/fr\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/vetedy.com\/fr\/formulaire-salon-vetedy\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/vetedy.com\/fr\/formulaire-salon-vetedy\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/vetedy.com\/app\/uploads\/2025\/12\/vetedy-logo-color-digital-01.png\",\"datePublished\":\"2026-03-09T10:34:44+00:00\",\"dateModified\":\"2026-06-02T07:28:33+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/vetedy.com\/fr\/formulaire-salon-vetedy\/#breadcrumb\"},\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/vetedy.com\/fr\/formulaire-salon-vetedy\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\/\/vetedy.com\/fr\/formulaire-salon-vetedy\/#primaryimage\",\"url\":\"https:\/\/vetedy.com\/app\/uploads\/2025\/12\/vetedy-logo-color-digital-01.png\",\"contentUrl\":\"https:\/\/vetedy.com\/app\/uploads\/2025\/12\/vetedy-logo-color-digital-01.png\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/vetedy.com\/fr\/formulaire-salon-vetedy\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/vetedy.com\/fr\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Formulaire salon Vetedy\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/vetedy.com\/fr\/#website\",\"url\":\"https:\/\/vetedy.com\/fr\/\",\"name\":\"Vetedy\",\"description\":\"Syst\u00e8mes de terrasses et bardages en bois \u00e0 fixations invisibles\",\"publisher\":{\"@id\":\"https:\/\/vetedy.com\/fr\/#organization\"},\"alternateName\":\"Vetedy WOOD DECKING SYSTEMS AND WOOD FACADES WITH INVISIBLE FASTENERS\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/vetedy.com\/fr\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"fr-FR\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/vetedy.com\/fr\/#organization\",\"name\":\"Vetedy S.A\",\"alternateName\":\"Vetedy S.A WOOD DECKING SYSTEMS AND WOOD FACADES WITH INVISIBLE FASTENERS\",\"url\":\"https:\/\/vetedy.com\/fr\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\/\/vetedy.com\/fr\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/vetedy.com\/app\/uploads\/2022\/10\/Logo-Vetedy-transparent.png\",\"contentUrl\":\"https:\/\/vetedy.com\/app\/uploads\/2022\/10\/Logo-Vetedy-transparent.png\",\"width\":1080,\"height\":1080,\"caption\":\"Vetedy S.A\"},\"image\":{\"@id\":\"https:\/\/vetedy.com\/fr\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/Vetedy\",\"https:\/\/www.linkedin.com\/company\/vetedy-group\",\"https:\/\/www.instagram.com\/vetedy_official\",\"https:\/\/www.pinterest.fr\/vetedy\/\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Formulaire salon Vetedy &#183; Vetedy","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/vetedy.com\/fr\/formulaire-salon-vetedy\/","og_locale":"fr_FR","og_type":"article","og_title":"Formulaire salon Vetedy &#183; Vetedy","og_description":"Vetedy contact Vous souhaitez \u00eatre recontact\u00e9 ? Scannez ce QR code OU Cliquez ici pour remplir le formulaire Entreprise Nom Pr\u00e9nom Adresse postale Code postal Email T\u00e9l\u00e9phone Avez-vous d\u00e9j\u00e0 eu contact avec Vetedy ? Oui Non Notes Valider Contacts du salon : 0 Merci pour votre visite ! Votre demande a bien \u00e9t\u00e9 enregistr\u00e9e.","og_url":"https:\/\/vetedy.com\/fr\/formulaire-salon-vetedy\/","og_site_name":"Vetedy","article_publisher":"https:\/\/www.facebook.com\/Vetedy","article_modified_time":"2026-06-02T07:28:33+00:00","og_image":[{"url":"https:\/\/vetedy.com\/app\/uploads\/2025\/12\/vetedy-logo-color-digital-01.png","type":"","width":"","height":""}],"twitter_card":"summary_large_image","twitter_misc":{"Dur\u00e9e de lecture estim\u00e9e":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/vetedy.com\/fr\/formulaire-salon-vetedy\/","url":"https:\/\/vetedy.com\/fr\/formulaire-salon-vetedy\/","name":"Formulaire salon Vetedy &#183; Vetedy","isPartOf":{"@id":"https:\/\/vetedy.com\/fr\/#website"},"primaryImageOfPage":{"@id":"https:\/\/vetedy.com\/fr\/formulaire-salon-vetedy\/#primaryimage"},"image":{"@id":"https:\/\/vetedy.com\/fr\/formulaire-salon-vetedy\/#primaryimage"},"thumbnailUrl":"https:\/\/vetedy.com\/app\/uploads\/2025\/12\/vetedy-logo-color-digital-01.png","datePublished":"2026-03-09T10:34:44+00:00","dateModified":"2026-06-02T07:28:33+00:00","breadcrumb":{"@id":"https:\/\/vetedy.com\/fr\/formulaire-salon-vetedy\/#breadcrumb"},"inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/vetedy.com\/fr\/formulaire-salon-vetedy\/"]}]},{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/vetedy.com\/fr\/formulaire-salon-vetedy\/#primaryimage","url":"https:\/\/vetedy.com\/app\/uploads\/2025\/12\/vetedy-logo-color-digital-01.png","contentUrl":"https:\/\/vetedy.com\/app\/uploads\/2025\/12\/vetedy-logo-color-digital-01.png"},{"@type":"BreadcrumbList","@id":"https:\/\/vetedy.com\/fr\/formulaire-salon-vetedy\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/vetedy.com\/fr\/"},{"@type":"ListItem","position":2,"name":"Formulaire salon Vetedy"}]},{"@type":"WebSite","@id":"https:\/\/vetedy.com\/fr\/#website","url":"https:\/\/vetedy.com\/fr\/","name":"Vetedy","description":"Syst\u00e8mes de terrasses et bardages en bois \u00e0 fixations invisibles","publisher":{"@id":"https:\/\/vetedy.com\/fr\/#organization"},"alternateName":"Vetedy WOOD DECKING SYSTEMS AND WOOD FACADES WITH INVISIBLE FASTENERS","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/vetedy.com\/fr\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"fr-FR"},{"@type":"Organization","@id":"https:\/\/vetedy.com\/fr\/#organization","name":"Vetedy S.A","alternateName":"Vetedy S.A WOOD DECKING SYSTEMS AND WOOD FACADES WITH INVISIBLE FASTENERS","url":"https:\/\/vetedy.com\/fr\/","logo":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/vetedy.com\/fr\/#\/schema\/logo\/image\/","url":"https:\/\/vetedy.com\/app\/uploads\/2022\/10\/Logo-Vetedy-transparent.png","contentUrl":"https:\/\/vetedy.com\/app\/uploads\/2022\/10\/Logo-Vetedy-transparent.png","width":1080,"height":1080,"caption":"Vetedy S.A"},"image":{"@id":"https:\/\/vetedy.com\/fr\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/Vetedy","https:\/\/www.linkedin.com\/company\/vetedy-group","https:\/\/www.instagram.com\/vetedy_official","https:\/\/www.pinterest.fr\/vetedy\/"]}]}},"_links":{"self":[{"href":"https:\/\/vetedy.com\/fr\/wp-json\/wp\/v2\/pages\/32518","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/vetedy.com\/fr\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/vetedy.com\/fr\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/vetedy.com\/fr\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/vetedy.com\/fr\/wp-json\/wp\/v2\/comments?post=32518"}],"version-history":[{"count":90,"href":"https:\/\/vetedy.com\/fr\/wp-json\/wp\/v2\/pages\/32518\/revisions"}],"predecessor-version":[{"id":33430,"href":"https:\/\/vetedy.com\/fr\/wp-json\/wp\/v2\/pages\/32518\/revisions\/33430"}],"wp:attachment":[{"href":"https:\/\/vetedy.com\/fr\/wp-json\/wp\/v2\/media?parent=32518"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}