{"id":1290,"date":"2026-06-24T20:54:49","date_gmt":"2026-06-24T20:54:49","guid":{"rendered":"https:\/\/jpxckov.cluster131.hosting.ovh.net\/?page_id=1290"},"modified":"2026-09-10T01:18:52","modified_gmt":"2026-09-10T01:18:52","slug":"contact-form","status":"publish","type":"page","link":"https:\/\/pipa-aip.org\/fr\/contact-form\/","title":{"rendered":"Formulaire de contact"},"content":{"rendered":"\n<!-- ===== PIPA \u00b7 Contact ===== -->\n<link rel=\"preconnect\" href=\"https:\/\/fonts.googleapis.com\">\n<link rel=\"preconnect\" href=\"https:\/\/fonts.gstatic.com\" crossorigin=\"\">\n<link href=\"https:\/\/fonts.googleapis.com\/css2?family=Fraunces:opsz,wght@9..144,400;9..144,500;9..144,600&amp;family=Work+Sans:wght@400;500;600;700&amp;display=swap\" rel=\"stylesheet\">\n\n<style>\n  .aip-cta-wrap{\n    --deep:#004F7D; --lagoon:#009DE0; --reef:#00A06C;\n    --lime:#89B916; --sun:#F49E00; --coral:#E75127;\n    --ink:#0B2436; --paper:#F6FAFC; --line:#D7E6ED;\n    background:var(--paper) !important;\n    color:var(--ink) !important;\n    font-family:'Work Sans',sans-serif !important;\n    line-height:1.6 !important;\n  }\n  .aip-cta-wrap *{box-sizing:border-box;}\n  .aip-cta-wrap h1,.aip-cta-wrap h2{\n    font-family:'Fraunces',serif !important;font-weight:600 !important;margin:0 !important;color:var(--ink) !important;\n  }\n  .aip-cta-inner{max-width: var(--wp--style--global--content-size) !important;margin:0 auto;padding:0 24px;}\n\n  \/* HERO *\/\n  .aip-cta-hero{\n    background:linear-gradient(160deg,var(--deep) 0%, #003a5c 100%) !important;\n    color:#fff !important;padding:60px 0 84px;position:relative;overflow:hidden;\n  }\n  .aip-cta-hero::after{\n    content:\"\";position:absolute;left:0;right:0;bottom:-1px;height:50px;\n    background:var(--paper);\n    clip-path:polygon(0 100%,100% 100%,100% 45%,70% 65%,45% 35%,20% 60%,0 30%);\n  }\n  .aip-cta-hero h1{font-size:clamp(28px,5vw,44px) !important;line-height:1.15 !important;color:#fff !important;}\n  .aip-cta-hero p{margin-top:16px !important;font-size:15.5px;color:#CFE6F2 !important;max-width:620px;}\n\n  \/* FORM CARD *\/\n  .aip-cta-card{\n    background:#fff !important;border:1px solid var(--line);border-radius:16px;\n    margin:-52px 0 0px;position:relative;z-index:3;padding:34px 36px;\n    box-shadow:0 14px 34px rgba(11,36,54,.12);\n  }\n  @media (max-width:600px){ .aip-cta-card{padding:26px 22px;} }\n\n  .aip-cta-row{display:grid;grid-template-columns:1fr 1fr;gap:20px;}\n  @media (max-width:560px){ .aip-cta-row{grid-template-columns:1fr;} }\n\n  .aip-cta-field{margin-bottom:20px;}\n  .aip-cta-field label{\n    display:block;font-weight:600 !important;font-size:13.5px !important;\n    color:var(--ink) !important;margin-bottom:7px !important;\n  }\n  .aip-cta-field label .aip-cta-req{color:var(--coral) !important;margin-left:2px;}\n  .aip-cta-field input,\n  .aip-cta-field textarea{\n    width:100%;background:var(--paper) !important;\n    border:1px solid var(--line) !important;border-radius:10px !important;\n    padding:11px 14px !important;font-family:'Work Sans',sans-serif !important;\n    font-size:14.5px !important;color:var(--ink) !important;\n    transition:border-color .15s ease, box-shadow .15s ease, background .15s ease;\n  }\n  .aip-cta-field input::placeholder,\n  .aip-cta-field textarea::placeholder{color:#8FA6B3 !important;}\n  .aip-cta-field input:focus,\n  .aip-cta-field textarea:focus{\n    outline:none !important;border-color:var(--lagoon) !important;\n    background:#fff !important;box-shadow:0 0 0 3px rgba(0,157,224,.15) !important;\n  }\n  .aip-cta-field textarea{resize:vertical;min-height:120px;}\n  .aip-cta-field.aip-cta-invalid input,\n  .aip-cta-field.aip-cta-invalid textarea{border-color:var(--coral) !important;}\n  .aip-cta-error{\n    font-size:12px !important;color:var(--coral) !important;margin-top:5px !important;\n    display:none;\n  }\n  .aip-cta-field.aip-cta-invalid .aip-cta-error{display:block;}\n\n  \/* honeypot \u2014 hidden from real users, left \"visible\" to simple bots *\/\n  .aip-cta-hp{position:absolute;left:-9999px;top:-9999px;}\n\n  .aip-cta-submit{\n    background:var(--deep) !important;color:#fff !important;border:none !important;\n    font-weight:600 !important;font-size:14.5px !important;\n    padding:13px 32px !important;border-radius:999px !important;\n    cursor:pointer;transition:background .15s ease;\n    font-family:'Work Sans',sans-serif !important;\n    display:inline-flex;align-items:center;gap:10px;\n  }\n  .aip-cta-submit:hover{background:var(--lagoon) !important;}\n  .aip-cta-submit:disabled{background:#9FB4C0 !important;cursor:not-allowed;}\n  .aip-cta-spinner{\n    width:14px;height:14px;border-radius:50%;\n    border:2px solid rgba(255,255,255,.4);border-top-color:#fff;\n    display:none;animation:aip-cta-spin .7s linear infinite;\n  }\n  @keyframes aip-cta-spin{to{transform:rotate(360deg);}}\n  .aip-cta-submit.aip-cta-loading .aip-cta-spinner{display:inline-block;}\n\n  .aip-cta-msg{\n    margin-top:18px;padding:12px 16px;border-radius:10px;font-size:13.5px;\n    display:none;\n  }\n  .aip-cta-msg.aip-cta-msg-show{display:block;}\n  .aip-cta-msg-success{background:rgba(0,160,108,.1) !important;color:var(--reef) !important;}\n  .aip-cta-msg-error{background:rgba(231,81,39,.1) !important;color:var(--coral) !important;}\n<\/style>\n\n<div class=\"aip-cta-wrap\">\n\n  <section class=\"aip-cta-hero\">\n    <div class=\"aip-cta-inner\">\n      <h1>Contact PIPA<\/h1>\n      <p>Questions about membership, the General Assembly, or PIPA&#8217;s work across the Blue Pacific Continent? Send us a message and the Secretariat will get back to you.<\/p>\n    <\/div>\n  <\/section>\n\n  <div class=\"aip-cta-inner\">\n    <div class=\"aip-cta-card\">\n\n      <form id=\"aipContactForm\" novalidate=\"\">\n\n        <div class=\"aip-cta-row\">\n          <div class=\"aip-cta-field\" data-field=\"first_name\">\n            <label for=\"aip-cta-first\">First Name<span class=\"aip-cta-req\">*<\/span><\/label>\n            <input type=\"text\" id=\"aip-cta-first\" name=\"first_name\" placeholder=\"Enter your first name here...\">\n            <div class=\"aip-cta-error\">This field is required.<\/div>\n          <\/div>\n          <div class=\"aip-cta-field\" data-field=\"last_name\">\n            <label for=\"aip-cta-last\">Last Name<span class=\"aip-cta-req\">*<\/span><\/label>\n            <input type=\"text\" id=\"aip-cta-last\" name=\"last_name\" placeholder=\"Enter your last name here...\">\n            <div class=\"aip-cta-error\">This field is required.<\/div>\n          <\/div>\n        <\/div>\n\n        <div class=\"aip-cta-field\" data-field=\"email\">\n          <label for=\"aip-cta-email\">Email<span class=\"aip-cta-req\">*<\/span><\/label>\n          <input type=\"email\" id=\"aip-cta-email\" name=\"email\" placeholder=\"Enter your email here...\">\n          <div class=\"aip-cta-error\">Please enter a valid email address.<\/div>\n        <\/div>\n\n        <div class=\"aip-cta-field\" data-field=\"phone\">\n          <label for=\"aip-cta-phone\">Phone<span class=\"aip-cta-req\">*<\/span><\/label>\n          <input type=\"tel\" id=\"aip-cta-phone\" name=\"phone\" placeholder=\"Enter your number here...\">\n          <div class=\"aip-cta-error\">This field is required.<\/div>\n        <\/div>\n\n        <div class=\"aip-cta-field\" data-field=\"message\">\n          <label for=\"aip-cta-message\">Description<span class=\"aip-cta-req\">*<\/span><\/label>\n          <textarea id=\"aip-cta-message\" name=\"message\" placeholder=\"Enter your message here...\"><\/textarea>\n          <div class=\"aip-cta-error\">This field is required.<\/div>\n        <\/div>\n\n        <!-- honeypot field: real visitors never see or fill this -->\n        <div class=\"aip-cta-hp\" aria-hidden=\"true\">\n          <label for=\"aip-cta-website\">Website<\/label>\n          <input type=\"text\" id=\"aip-cta-website\" name=\"website\" tabindex=\"-1\" autocomplete=\"off\">\n        <\/div>\n\n        <button type=\"submit\" class=\"aip-cta-submit\" id=\"aipCtaSubmitBtn\">\n          <span class=\"aip-cta-spinner\"><\/span>\n          <span class=\"aip-cta-submit-label\">Send Message<\/span>\n        <\/button>\n\n        <div class=\"aip-cta-msg\" id=\"aipCtaMsg\"><\/div>\n      <\/form>\n\n    <\/div>\n  <\/div>\n\n  <br><br>\n\n<\/div>\n\n<script>\n(function(){\n  var form = document.getElementById('aipContactForm');\n  var btn = document.getElementById('aipCtaSubmitBtn');\n  var btnLabel = btn.querySelector('.aip-cta-submit-label');\n  var msg = document.getElementById('aipCtaMsg');\n\n  var AJAX_URL = window.location.origin + '\/wp-admin\/admin-ajax.php';\n\n  function setFieldError(name, hasError){\n    var field = form.querySelector('[data-field=\"' + name + '\"]');\n    if(field) field.classList.toggle('aip-cta-invalid', hasError);\n  }\n\n  function validate(data){\n    var ok = true;\n    ['first_name','last_name','phone','message'].forEach(function(name){\n      var bad = !data[name] || !data[name].trim();\n      setFieldError(name, bad);\n      if(bad) ok = false;\n    });\n    var emailBad = !data.email || !\/^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$\/.test(data.email);\n    setFieldError('email', emailBad);\n    if(emailBad) ok = false;\n    return ok;\n  }\n\n  function showMsg(type, text){\n    msg.textContent = text;\n    msg.className = 'aip-cta-msg aip-cta-msg-show aip-cta-msg-' + type;\n  }\n\n  form.addEventListener('submit', function(evt){\n    evt.preventDefault();\n\n    var data = {\n      first_name: form.first_name.value,\n      last_name: form.last_name.value,\n      email: form.email.value,\n      phone: form.phone.value,\n      message: form.message.value,\n      website: form.website.value \/\/ honeypot\n    };\n\n    msg.className = 'aip-cta-msg';\n    if(!validate(data)) return;\n\n    btn.disabled = true;\n    btn.classList.add('aip-cta-loading');\n    btnLabel.textContent = 'Sending...';\n\n    var body = new URLSearchParams();\n    body.set('action', 'pipa_contact_submit');\n    Object.keys(data).forEach(function(k){ body.set(k, data[k]); });\n\n    fetch(AJAX_URL, {\n      method: 'POST',\n      headers: {'Content-Type': 'application\/x-www-form-urlencoded'},\n      body: body.toString()\n    })\n    .then(function(res){ return res.json(); })\n    .then(function(json){\n      if(json && json.success){\n        showMsg('success', \"Thank you \u2014 your message has been sent. We'll be in touch soon.\");\n        form.reset();\n      } else {\n        var errText = (json && json.data && json.data.message) || 'Something went wrong. Please try again.';\n        showMsg('error', errText);\n      }\n    })\n    .catch(function(){\n      showMsg('error', 'Something went wrong. Please check your connection and try again.');\n    })\n    .finally(function(){\n      btn.disabled = false;\n      btn.classList.remove('aip-cta-loading');\n      btnLabel.textContent = 'Send Message';\n    });\n  });\n})();\n<\/script>\n","protected":false},"excerpt":{"rendered":"<p>Contact PIPA Questions about membership, the General Assembly, or PIPA&#8217;s work across the Blue Pacific Continent? Send us a message [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_eb_attr":"","site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"disabled","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"class_list":["post-1290","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/pipa-aip.org\/fr\/wp-json\/wp\/v2\/pages\/1290","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/pipa-aip.org\/fr\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/pipa-aip.org\/fr\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/pipa-aip.org\/fr\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/pipa-aip.org\/fr\/wp-json\/wp\/v2\/comments?post=1290"}],"version-history":[{"count":21,"href":"https:\/\/pipa-aip.org\/fr\/wp-json\/wp\/v2\/pages\/1290\/revisions"}],"predecessor-version":[{"id":1806,"href":"https:\/\/pipa-aip.org\/fr\/wp-json\/wp\/v2\/pages\/1290\/revisions\/1806"}],"wp:attachment":[{"href":"https:\/\/pipa-aip.org\/fr\/wp-json\/wp\/v2\/media?parent=1290"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}