templates/default/contact.html.twig line 1

Open in your IDE?
  1. {% extends 'base.html.twig' %}
  2. {% block title %}Contact – OTropik Agence de voyage en Guadeloupe{% endblock %}
  3. {% block seo %}
  4.  <meta name="description" content="Contactez OTropik, agence de voyage en Guadeloupe, pour organiser votre séjour, circuit ou voyage sur mesure au départ des Antilles. Notre équipe vous accompagne." >
  5.     <meta property="og:title" content="Contact – OTropik Agence de voyage en Guadeloupe" />
  6.     <meta property="og:type" content="Website" />
  7.     <meta property="og:description" content="Besoin d’un conseiller voyage en Guadeloupe ? Contactez OTropik pour organiser votre prochain séjour sur mesure." />
  8.     <meta property="og:url" content="{{absolute_url( app.request.uri)}}" />
  9.     <meta property="og:image" content="{#{asset('img/asset/cardimg-fb.jpg')}#}" />
  10.     <meta name ="twitter:card" content="summary_large_image" />
  11.     <meta name="twitter:title" content="Contact – OTropik Agence de voyage en Guadeloupe">
  12.     <meta name="twitter:description" content="Besoin d’un conseiller voyage en Guadeloupe ? Contactez OTropik pour organiser votre prochain séjour sur mesure.">
  13.     <meta name="twitter:image" content="{#{asset('img/asset/cardimg-fb.jpg')}#}">
  14. {% endblock %}
  15. {% block body %}
  16. {% for label, messages in app.flashes %}
  17.   {% for m in messages %}
  18.     <div class="alert alert-{{ label }} rounded-3 m-3">{{ m }}</div>
  19.   {% endfor %}
  20. {% endfor %}
  21. {# --- Hero Banner --- #}
  22. <section class="position-relative text-white">
  23.   <div class="ratio ratio-21x9">
  24.   {% if banner.img %}
  25.   <img src="{{ asset('img/banner/')}}{{banner.img}}" alt="Plage paradisiaque" class="w-100 h-100 object-fit-cover">
  26.   {% else %}
  27.     <img src="{{ asset('img/cta-tourist.jpg')}}" alt="Plage paradisiaque" class="w-100 h-100 object-fit-cover">
  28.   {% endif %}
  29.   </div>
  30.   <div class="position-absolute top-0 start-0 w-100 h-100 d-flex align-items-center justify-content-center text-center bg-dark bg-opacity-50">
  31.     <div class="p-3">
  32.       <h1 class="display-4 fw-bold mb-3">Restons en contact 🌴</h1>
  33.       <p class="lead">Une question, une envie d’évasion ou besoin d’un devis sur mesure ?  
  34.         L’équipe <span class="fw-bold text-warning">Otropik</span> est à votre écoute.</p>
  35.     </div>
  36.   </div>
  37. </section>
  38. {# --- Section principale --- #}
  39. <section class="container py-5">
  40.   <div class="row g-5">
  41.     {# Infos de contact #}
  42.     <div class="col-12 col-lg-5">
  43.       <h2 class="h4 fw-bold mb-4">Nos coordonnées</h2>
  44.       <p class="text-muted mb-4">
  45.         Passez nous voir, appelez-nous ou envoyez un message : nous répondons rapidement.
  46.       </p>
  47.       <ul class="list-unstyled">
  48.         <li class="mb-3 d-flex align-items-start">
  49.           <i class="bi bi-geo-alt txt-ot-green fs-4 me-3"></i>
  50.           <div>
  51.             <strong>Adresse</strong><br>
  52.             {{infos.adress}} <br> {{infos.zip}} {{infos.city}}
  53.           </div>
  54.         </li>
  55.         <li class="mb-3 d-flex align-items-start">
  56.           <i class="bi bi-telephone txt-ot-green fs-4 me-3"></i>
  57.           <div>
  58.             <strong>Téléphone</strong><br>
  59.             {% if infos.phone %} 
  60.             Bureau : <a class="link-info" href="tel:{{infos.phone}}">{{infos.phone}}</a> {% endif %}
  61.             {% if infos.mobile %} 
  62.             <br>Mobile : <a class="link-info" href="tel:{{infos.mobile}}">{{infos.mobile}}</a> {% endif %}
  63.             {% if infos.mobileTwo %} 
  64.             <br>Mobile : <a class="link-info" href="tel:{{infos.mobileTwo}}">{{infos.mobileTwo}}</a> {% endif %}
  65.           </div>
  66.         </li>
  67.         <li class="mb-3 d-flex align-items-start">
  68.           <i class="bi bi-envelope txt-ot-green fs-4 me-3"></i>
  69.           <div>
  70.           {% if infos.mail %} 
  71.             <strong>Email</strong><br>
  72.             <a class="link-info" href="mailto:{{infos.mail}}">{{infos.mail}}</a>
  73.           {% endif %}
  74.           </div>
  75.         </li>
  76.       </ul>
  77.       <div class="map-container" style="width: 100%; height: 400px; border-radius: 12px; overflow: hidden;">
  78.   <iframe
  79.     width="100%"
  80.     height="100%"
  81.     frameborder="0"
  82.     scrolling="no"
  83.     marginheight="0"
  84.     marginwidth="0"
  85.     src="https://www.openstreetmap.org/export/embed.html?bbox=-61.5270%2C16.2570%2C-61.5070%2C16.2770&amp;layer=mapnik&amp;marker=16.2669%2C-61.5170"
  86.     style="border:1px solid #ccc;">
  87.   </iframe>
  88. </div>
  89. <p class="text-muted small text-center">
  90.   <a href="https://www.openstreetmap.org/?mlat=16.2669&amp;mlon=-61.5170#map=15/16.2669/-61.5170" target="_blank">
  91.     Voir la carte agrandie
  92.   </a>
  93. </p>
  94.     </div>
  95.     {# Formulaire de contact #}
  96.     <div class="col-12 col-lg-7">
  97.       <div class="card border-0 shadow-lg rounded-4">
  98.         <div class="card-body p-4">
  99.           <h2 class="h5 fw-bold mb-4">Envoyez-nous un message</h2>
  100.           <form method="post" action="{{ path('contact.send') }}">
  101.             <div class="row g-3">
  102.               <div class="col-md-6">
  103.                 <label class="form-label">Nom</label>
  104.                 <input type="text" name="name" class="form-control rounded-pill" placeholder="Votre nom complet" required>
  105.               </div>
  106.               <div class="col-md-6">
  107.                 <label class="form-label">Email</label>
  108.                 <input type="email" name="email" class="form-control rounded-pill" placeholder="vous@email.com" required>
  109.               </div>
  110.               <div class="col-md-6">
  111.                 <label class="form-label">Téléphone</label>
  112.                 <input type="tel" name="phone" class="form-control rounded-pill" placeholder="+590 ..." >
  113.               </div>
  114.               <div class="col-md-6">
  115.                 <label class="form-label">Sujet</label>
  116.                 <input type="text" name="subject" class="form-control rounded-pill" placeholder="Ex: Demande de devis">
  117.               </div>
  118.               <div class="col-12">
  119.                 <label class="form-label">Message</label>
  120.                 <textarea name="message" rows="5" class="form-control rounded-4" placeholder="Votre message..." required></textarea>
  121.               </div>
  122.             </div>
  123.             <div class="mt-4">
  124.               <div class="h-captcha mb-3" data-sitekey="{{ hcaptchaSiteKey }}"></div>
  125.               <div class="text-end">
  126.                 <button type="submit" class="btn btn-primary rounded-pill px-4">
  127.                   <i class="bi bi-send me-1"></i> Envoyer
  128.                 </button>
  129.               </div>
  130.             </div>
  131.           </form>
  132.           <script src="https://js.hcaptcha.com/1/api.js" async defer></script>
  133.         </div>
  134.       </div>
  135.     </div>
  136.   </div>
  137. </section>
  138. {% endblock %}