Compare commits
1 Commits
main
...
fix/rgpd-s
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
ec4b06c4fa |
@ -27,7 +27,7 @@
|
||||
<a href="tarifs.html" data-i18n="nav.pricing">Tarifs</a>
|
||||
<a href="service-commande.html" data-i18n="nav.serviceCommande">Service Commande</a>
|
||||
<a href="guide-envoi.html" data-i18n="nav.guide">Guide d'envoi</a>
|
||||
<a href="contact.html" data-i18n="nav.contact">Inscription</a>
|
||||
<a href="contact.html" data-i18n="nav.contact">Contact</a>
|
||||
<a href="application.html" data-i18n="nav.app">Prochainement</a>
|
||||
</nav>
|
||||
<div class="header-right">
|
||||
@ -47,9 +47,8 @@
|
||||
<a href="accueil.html" data-i18n="nav.home">Accueil</a>
|
||||
<a href="about.html" data-i18n="nav.about">Qui sommes-nous</a>
|
||||
<a href="tarifs.html" data-i18n="nav.pricing">Tarifs</a>
|
||||
<a href="service-commande.html" data-i18n="nav.serviceCommande">Service Commande</a>
|
||||
<a href="guide-envoi.html" data-i18n="nav.guide">Guide d'envoi</a>
|
||||
<a href="contact.html" data-i18n="nav.contact">Inscription</a>
|
||||
<a href="contact.html" data-i18n="nav.contact">Contact</a>
|
||||
<a href="application.html" data-i18n="nav.app">Prochainement</a>
|
||||
</nav>
|
||||
<div class="overlay" id="overlay"></div>
|
||||
@ -209,7 +208,7 @@
|
||||
<li><a href="tarifs.html" data-i18n="nav.pricing">Tarifs</a></li>
|
||||
<li><a href="service-commande.html" data-i18n="nav.serviceCommande">Service Commande</a></li>
|
||||
<li><a href="guide-envoi.html" data-i18n="nav.guide">Guide d'envoi</a></li>
|
||||
<li><a href="contact.html" data-i18n="nav.contact">Inscription</a></li>
|
||||
<li><a href="contact.html" data-i18n="nav.contact">Contact</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div>
|
||||
@ -235,7 +234,7 @@
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
<script src="js/translations.js?v=20260603"></script>
|
||||
<script src="js/translations.js"></script>
|
||||
<script src="js/main.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@ -31,7 +31,7 @@
|
||||
<a href="tarifs.html" data-i18n="nav.pricing">Tarifs</a>
|
||||
<a href="service-commande.html" data-i18n="nav.serviceCommande">Service Commande</a>
|
||||
<a href="guide-envoi.html" data-i18n="nav.guide">Guide d'envoi</a>
|
||||
<a href="contact.html" data-i18n="nav.contact">Inscription</a>
|
||||
<a href="contact.html" data-i18n="nav.contact">Contact</a>
|
||||
<a href="application.html" data-i18n="nav.app">Prochainement</a>
|
||||
</nav>
|
||||
<div class="header-right">
|
||||
@ -54,7 +54,7 @@
|
||||
<a href="tarifs.html" data-i18n="nav.pricing">Tarifs</a>
|
||||
<a href="service-commande.html" data-i18n="nav.serviceCommande">Service Commande</a>
|
||||
<a href="guide-envoi.html" data-i18n="nav.guide">Guide d'envoi</a>
|
||||
<a href="contact.html" data-i18n="nav.contact">Inscription</a>
|
||||
<a href="contact.html" data-i18n="nav.contact">Contact</a>
|
||||
<a href="application.html" data-i18n="nav.app">Prochainement</a>
|
||||
</nav>
|
||||
<div class="overlay" id="overlay"></div>
|
||||
@ -230,7 +230,7 @@
|
||||
<li><a href="tarifs.html" data-i18n="nav.pricing">Tarifs</a></li>
|
||||
<li><a href="service-commande.html" data-i18n="nav.serviceCommande">Service Commande</a></li>
|
||||
<li><a href="guide-envoi.html" data-i18n="nav.guide">Guide d'envoi</a></li>
|
||||
<li><a href="contact.html" data-i18n="nav.contact">Inscription</a></li>
|
||||
<li><a href="contact.html" data-i18n="nav.contact">Contact</a></li>
|
||||
<li><a href="application.html" data-i18n="nav.app">Prochainement</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
@ -269,7 +269,7 @@
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
<script src="js/translations.js?v=20260603"></script>
|
||||
<script src="js/translations.js"></script>
|
||||
<script src="js/main.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@ -25,7 +25,7 @@
|
||||
<a href="tarifs.html" data-i18n="nav.pricing">Tarifs</a>
|
||||
<a href="service-commande.html" data-i18n="nav.serviceCommande">Service Commande</a>
|
||||
<a href="guide-envoi.html" data-i18n="nav.guide">Guide d'envoi</a>
|
||||
<a href="contact.html" data-i18n="nav.contact">Inscription</a>
|
||||
<a href="contact.html" data-i18n="nav.contact">Contact</a>
|
||||
<a href="application.html" data-i18n="nav.app">Application</a>
|
||||
</nav>
|
||||
<div class="header-right">
|
||||
@ -43,9 +43,8 @@
|
||||
<a href="accueil.html" data-i18n="nav.home">Accueil</a>
|
||||
<a href="about.html" data-i18n="nav.about">Qui sommes-nous</a>
|
||||
<a href="tarifs.html" data-i18n="nav.pricing">Tarifs</a>
|
||||
<a href="service-commande.html" data-i18n="nav.serviceCommande">Service Commande</a>
|
||||
<a href="guide-envoi.html" data-i18n="nav.guide">Guide d'envoi</a>
|
||||
<a href="contact.html" data-i18n="nav.contact">Inscription</a>
|
||||
<a href="contact.html" data-i18n="nav.contact">Contact</a>
|
||||
<a href="application.html" data-i18n="nav.app">Application</a>
|
||||
</nav>
|
||||
<div class="overlay" id="overlay"></div>
|
||||
@ -279,7 +278,7 @@
|
||||
<li><a href="tarifs.html" data-i18n="nav.pricing">Tarifs</a></li>
|
||||
<li><a href="service-commande.html" data-i18n="nav.serviceCommande">Service Commande</a></li>
|
||||
<li><a href="guide-envoi.html" data-i18n="nav.guide">Guide d'envoi</a></li>
|
||||
<li><a href="contact.html" data-i18n="nav.contact">Inscription</a></li>
|
||||
<li><a href="contact.html" data-i18n="nav.contact">Contact</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div>
|
||||
@ -305,7 +304,7 @@
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
<script src="js/translations.js?v=20260603"></script>
|
||||
<script src="js/translations.js"></script>
|
||||
<script src="js/main.js"></script>
|
||||
<script>
|
||||
document.getElementById('notifyForm')?.addEventListener('submit', function(e) {
|
||||
|
||||
9
cgv.html
9
cgv.html
@ -65,7 +65,7 @@
|
||||
<a href="tarifs.html" data-i18n="nav.pricing">Tarifs</a>
|
||||
<a href="service-commande.html" data-i18n="nav.serviceCommande">Service Commande</a>
|
||||
<a href="guide-envoi.html" data-i18n="nav.guide">Guide d'envoi</a>
|
||||
<a href="contact.html" data-i18n="nav.contact">Inscription</a>
|
||||
<a href="contact.html" data-i18n="nav.contact">Contact</a>
|
||||
<a href="application.html" data-i18n="nav.app">Prochainement</a>
|
||||
</nav>
|
||||
<div class="header-right">
|
||||
@ -83,9 +83,8 @@
|
||||
<a href="accueil.html" data-i18n="nav.home">Accueil</a>
|
||||
<a href="about.html" data-i18n="nav.about">Qui sommes-nous</a>
|
||||
<a href="tarifs.html" data-i18n="nav.pricing">Tarifs</a>
|
||||
<a href="service-commande.html" data-i18n="nav.serviceCommande">Service Commande</a>
|
||||
<a href="guide-envoi.html" data-i18n="nav.guide">Guide d'envoi</a>
|
||||
<a href="contact.html" data-i18n="nav.contact">Inscription</a>
|
||||
<a href="contact.html" data-i18n="nav.contact">Contact</a>
|
||||
<a href="application.html" data-i18n="nav.app">Prochainement</a>
|
||||
</nav>
|
||||
<div class="overlay" id="overlay"></div>
|
||||
@ -320,7 +319,7 @@
|
||||
<li><a href="tarifs.html" data-i18n="nav.pricing">Tarifs</a></li>
|
||||
<li><a href="service-commande.html" data-i18n="nav.serviceCommande">Service Commande</a></li>
|
||||
<li><a href="guide-envoi.html" data-i18n="nav.guide">Guide d'envoi</a></li>
|
||||
<li><a href="contact.html" data-i18n="nav.contact">Inscription</a></li>
|
||||
<li><a href="contact.html" data-i18n="nav.contact">Contact</a></li>
|
||||
<li><a href="cgv.html" style="color:rgba(255,255,255,0.7);" data-i18n="footer.cgv">Conditions Générales de Vente</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
@ -347,7 +346,7 @@
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
<script src="js/translations.js?v=20260603"></script>
|
||||
<script src="js/translations.js"></script>
|
||||
<script src="js/main.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@ -172,7 +172,7 @@
|
||||
© 2026 MVA Global Fret. Tous droits réservés.
|
||||
</footer>
|
||||
|
||||
<script src="js/translations.js?v=20260603"></script>
|
||||
<script src="js/translations.js"></script>
|
||||
<script src="js/main.js"></script>
|
||||
<script src="js/confirmation.js"></script>
|
||||
</body>
|
||||
|
||||
13
contact.html
13
contact.html
@ -25,7 +25,7 @@
|
||||
<a href="tarifs.html" data-i18n="nav.pricing">Tarifs</a>
|
||||
<a href="service-commande.html" data-i18n="nav.serviceCommande">Service Commande</a>
|
||||
<a href="guide-envoi.html" data-i18n="nav.guide">Guide d'envoi</a>
|
||||
<a href="contact.html" data-i18n="nav.contact">Inscription</a>
|
||||
<a href="contact.html" data-i18n="nav.contact">Contact</a>
|
||||
<a href="application.html" data-i18n="nav.app">Prochainement</a>
|
||||
</nav>
|
||||
<div class="header-right">
|
||||
@ -43,9 +43,8 @@
|
||||
<a href="accueil.html" data-i18n="nav.home">Accueil</a>
|
||||
<a href="about.html" data-i18n="nav.about">Qui sommes-nous</a>
|
||||
<a href="tarifs.html" data-i18n="nav.pricing">Tarifs</a>
|
||||
<a href="service-commande.html" data-i18n="nav.serviceCommande">Service Commande</a>
|
||||
<a href="guide-envoi.html" data-i18n="nav.guide">Guide d'envoi</a>
|
||||
<a href="contact.html" data-i18n="nav.contact">Inscription</a>
|
||||
<a href="contact.html" data-i18n="nav.contact">Contact</a>
|
||||
<a href="application.html" data-i18n="nav.app">Prochainement</a>
|
||||
</nav>
|
||||
<div class="overlay" id="overlay"></div>
|
||||
@ -55,8 +54,8 @@
|
||||
<!-- HERO -->
|
||||
<section class="hero hero-sub" style="background-image: url('images/hero/contact-hero.jpg');">
|
||||
<div class="hero-content animate-on-scroll">
|
||||
<h1 data-i18n="contact.heroTitle">Inscrivez-vous</h1>
|
||||
<p data-i18n="contact.heroSubtitle">Commencez à envoyer vos colis dès aujourd'hui</p>
|
||||
<h1 data-i18n="contact.heroTitle">Contactez-Nous</h1>
|
||||
<p data-i18n="contact.heroSubtitle">Inscrivez-vous et commencez à envoyer vos colis dès aujourd'hui</p>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
@ -280,7 +279,7 @@
|
||||
<li><a href="tarifs.html" data-i18n="nav.pricing">Tarifs</a></li>
|
||||
<li><a href="service-commande.html" data-i18n="nav.serviceCommande">Service Commande</a></li>
|
||||
<li><a href="guide-envoi.html" data-i18n="nav.guide">Guide d'envoi</a></li>
|
||||
<li><a href="contact.html" data-i18n="nav.contact">Inscription</a></li>
|
||||
<li><a href="contact.html" data-i18n="nav.contact">Contact</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div>
|
||||
@ -306,7 +305,7 @@
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
<script src="js/translations.js?v=20260603"></script>
|
||||
<script src="js/translations.js"></script>
|
||||
<script src="js/main.js"></script>
|
||||
<script src="js/form-handler.js"></script>
|
||||
|
||||
|
||||
@ -25,7 +25,7 @@
|
||||
<a href="tarifs.html" data-i18n="nav.pricing">Tarifs</a>
|
||||
<a href="service-commande.html" data-i18n="nav.serviceCommande">Service Commande</a>
|
||||
<a href="guide-envoi.html" data-i18n="nav.guide">Guide d'envoi</a>
|
||||
<a href="contact.html" data-i18n="nav.contact">Inscription</a>
|
||||
<a href="contact.html" data-i18n="nav.contact">Contact</a>
|
||||
<a href="application.html" data-i18n="nav.app">Prochainement</a>
|
||||
</nav>
|
||||
<div class="header-right">
|
||||
@ -43,9 +43,8 @@
|
||||
<a href="accueil.html" data-i18n="nav.home">Accueil</a>
|
||||
<a href="about.html" data-i18n="nav.about">Qui sommes-nous</a>
|
||||
<a href="tarifs.html" data-i18n="nav.pricing">Tarifs</a>
|
||||
<a href="service-commande.html" data-i18n="nav.serviceCommande">Service Commande</a>
|
||||
<a href="guide-envoi.html" data-i18n="nav.guide">Guide d'envoi</a>
|
||||
<a href="contact.html" data-i18n="nav.contact">Inscription</a>
|
||||
<a href="contact.html" data-i18n="nav.contact">Contact</a>
|
||||
<a href="application.html" data-i18n="nav.app">Prochainement</a>
|
||||
</nav>
|
||||
<div class="overlay" id="overlay"></div>
|
||||
@ -261,7 +260,7 @@
|
||||
<li><a href="tarifs.html" data-i18n="nav.pricing">Tarifs</a></li>
|
||||
<li><a href="service-commande.html" data-i18n="nav.serviceCommande">Service Commande</a></li>
|
||||
<li><a href="guide-envoi.html" data-i18n="nav.guide">Guide d'envoi</a></li>
|
||||
<li><a href="contact.html" data-i18n="nav.contact">Inscription</a></li>
|
||||
<li><a href="contact.html" data-i18n="nav.contact">Contact</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div>
|
||||
@ -287,7 +286,7 @@
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
<script src="js/translations.js?v=20260603"></script>
|
||||
<script src="js/translations.js"></script>
|
||||
<script src="js/main.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@ -62,7 +62,7 @@
|
||||
|
||||
</main>
|
||||
|
||||
<script src="js/translations.js?v=20260603"></script>
|
||||
<script src="js/translations.js"></script>
|
||||
<script>
|
||||
/* i18n minimal ------------------------------------------------------- */
|
||||
(function () {
|
||||
|
||||
@ -17,8 +17,7 @@
|
||||
// Si le token est invalide / expiré / déjà consommé : affichage d'un
|
||||
// message d'erreur avec invitation à contacter le support.
|
||||
//
|
||||
// Migration 2026-05-10 : remplace l'ancien Cloudflare Worker
|
||||
// `mva-hubspot-proxy.sergemind4s.workers.dev` (= décommissionné).
|
||||
// Les inscriptions sont confirmées via les routes leads de l'API.
|
||||
// ============================================================
|
||||
|
||||
const API_BASE_URL = 'https://api.mva.mind4solutions.com';
|
||||
|
||||
@ -9,9 +9,8 @@
|
||||
// single-use server-side; without reset, a re-submit silently
|
||||
// 403s from Cloudflare's siteverify endpoint)
|
||||
//
|
||||
// Migration 2026-05-10 : remplace l'ancien Cloudflare Worker
|
||||
// `mva-hubspot-proxy.sergemind4s.workers.dev` (= décommissionné) par
|
||||
// les routes mva-api Fastify. La DB Postgres remplace HubSpot Contacts.
|
||||
// Les inscriptions sont gérées par les routes leads de l'API (derrière Caddy)
|
||||
// avec stockage en base Postgres.
|
||||
// ============================================
|
||||
|
||||
// ── MVA API BASE URL ─────────────────────────────────────────────
|
||||
@ -245,7 +244,7 @@ async function sendWelcomeBackEmail(contact) {
|
||||
}
|
||||
}
|
||||
|
||||
// Affiche le message "déjà client" — ne modifie AUCUNE donnée HubSpot
|
||||
// Affiche le message "déjà client" — ne crée aucune nouvelle inscription
|
||||
async function showAlreadyRegistered(contact) {
|
||||
const lang = localStorage.getItem('mva-lang') || 'fr';
|
||||
const t = translations?.[lang]?.contact || {};
|
||||
|
||||
@ -21,7 +21,7 @@ const translations = {
|
||||
pricing: "Tarifs",
|
||||
serviceCommande: "Service Commande",
|
||||
guide: "Guide d'envoi",
|
||||
contact: "Inscription",
|
||||
contact: "Contact",
|
||||
app: "Prochainement"
|
||||
},
|
||||
home: {
|
||||
@ -134,8 +134,8 @@ const translations = {
|
||||
delivery2Note: "Retrait au bureau Cotisse de votre ville"
|
||||
},
|
||||
contact: {
|
||||
heroTitle: "Inscrivez-vous",
|
||||
heroSubtitle: "Commencez à envoyer vos colis dès aujourd'hui",
|
||||
heroTitle: "Contactez-Nous",
|
||||
heroSubtitle: "Inscrivez-vous et commencez à envoyer vos colis dès aujourd'hui",
|
||||
formTitle: "Formulaire d'inscription",
|
||||
formSubtitle: "Remplissez ce formulaire pour recevoir votre numéro de référence client et l'adresse de dépôt à Paris.",
|
||||
labelNom: "Nom",
|
||||
@ -383,7 +383,7 @@ const translations = {
|
||||
pricing: "Pricing",
|
||||
serviceCommande: "Order Service",
|
||||
guide: "Shipping Guide",
|
||||
contact: "Sign Up",
|
||||
contact: "Contact",
|
||||
app: "Coming Soon"
|
||||
},
|
||||
home: {
|
||||
@ -496,8 +496,8 @@ const translations = {
|
||||
ctaBtn: "Contact Us"
|
||||
},
|
||||
contact: {
|
||||
heroTitle: "Sign Up",
|
||||
heroSubtitle: "Start sending your parcels today",
|
||||
heroTitle: "Contact Us",
|
||||
heroSubtitle: "Register and start sending your parcels today",
|
||||
formTitle: "Registration Form",
|
||||
formSubtitle: "Fill out this form to receive your client reference number and the Paris drop-off address.",
|
||||
labelNom: "Last Name",
|
||||
@ -745,7 +745,7 @@ const translations = {
|
||||
pricing: "Sarany",
|
||||
serviceCommande: "Tolotra Fividianana",
|
||||
guide: "Toromarika fandefasana",
|
||||
contact: "Fisoratana anarana",
|
||||
contact: "Fifandraisana",
|
||||
app: "Avy tsy ho ela"
|
||||
},
|
||||
home: {
|
||||
@ -858,8 +858,8 @@ const translations = {
|
||||
ctaBtn: "Mifandraisa aminay"
|
||||
},
|
||||
contact: {
|
||||
heroTitle: "Misoratra anarana",
|
||||
heroSubtitle: "Manomboha mandefa ny entanareo anio",
|
||||
heroTitle: "Mifandraisa Aminay",
|
||||
heroSubtitle: "Misoratra anarana ary manomboha mandefa ny entanareo anio",
|
||||
formTitle: "Taratasy fisoratana anarana",
|
||||
formSubtitle: "Fenoy ity taratasy ity mba handraisana ny laharan'ny mpanjifa sy ny adiresy fametrahana any Paris.",
|
||||
labelNom: "Anarana",
|
||||
|
||||
@ -47,7 +47,7 @@
|
||||
<a href="tarifs.html" data-i18n="nav.pricing">Tarifs</a>
|
||||
<a href="service-commande.html" data-i18n="nav.serviceCommande">Service Commande</a>
|
||||
<a href="guide-envoi.html" data-i18n="nav.guide">Guide d'envoi</a>
|
||||
<a href="contact.html" data-i18n="nav.contact">Inscription</a>
|
||||
<a href="contact.html" data-i18n="nav.contact">Contact</a>
|
||||
<a href="application.html" data-i18n="nav.app">Prochainement</a>
|
||||
</nav>
|
||||
<div class="header-right">
|
||||
@ -67,7 +67,7 @@
|
||||
<a href="tarifs.html" data-i18n="nav.pricing">Tarifs</a>
|
||||
<a href="service-commande.html" data-i18n="nav.serviceCommande">Service Commande</a>
|
||||
<a href="guide-envoi.html" data-i18n="nav.guide">Guide d'envoi</a>
|
||||
<a href="contact.html" data-i18n="nav.contact">Inscription</a>
|
||||
<a href="contact.html" data-i18n="nav.contact">Contact</a>
|
||||
<a href="application.html" data-i18n="nav.app">Prochainement</a>
|
||||
</nav>
|
||||
<div class="overlay" id="overlay"></div>
|
||||
@ -273,7 +273,7 @@
|
||||
<li><a href="tarifs.html" data-i18n="nav.pricing">Tarifs</a></li>
|
||||
<li><a href="service-commande.html" data-i18n="nav.serviceCommande">Service Commande</a></li>
|
||||
<li><a href="guide-envoi.html" data-i18n="nav.guide">Guide d'envoi</a></li>
|
||||
<li><a href="contact.html" data-i18n="nav.contact">Inscription</a></li>
|
||||
<li><a href="contact.html" data-i18n="nav.contact">Contact</a></li>
|
||||
<li><a href="cgv.html" style="color:rgba(255,255,255,0.7);" data-i18n="footer.cgv">Conditions Générales de Vente</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
@ -300,7 +300,7 @@
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
<script src="js/translations.js?v=20260603"></script>
|
||||
<script src="js/translations.js"></script>
|
||||
<script src="js/main.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@ -56,7 +56,7 @@
|
||||
<a href="tarifs.html" data-i18n="nav.pricing">Tarifs</a>
|
||||
<a href="service-commande.html" data-i18n="nav.serviceCommande">Service Commande</a>
|
||||
<a href="guide-envoi.html" data-i18n="nav.guide">Guide d'envoi</a>
|
||||
<a href="contact.html" data-i18n="nav.contact">Inscription</a>
|
||||
<a href="contact.html" data-i18n="nav.contact">Contact</a>
|
||||
<a href="application.html" data-i18n="nav.app">Prochainement</a>
|
||||
</nav>
|
||||
<div class="header-right">
|
||||
@ -76,7 +76,7 @@
|
||||
<a href="tarifs.html" data-i18n="nav.pricing">Tarifs</a>
|
||||
<a href="service-commande.html" data-i18n="nav.serviceCommande">Service Commande</a>
|
||||
<a href="guide-envoi.html" data-i18n="nav.guide">Guide d'envoi</a>
|
||||
<a href="contact.html" data-i18n="nav.contact">Inscription</a>
|
||||
<a href="contact.html" data-i18n="nav.contact">Contact</a>
|
||||
<a href="application.html" data-i18n="nav.app">Prochainement</a>
|
||||
</nav>
|
||||
<div class="overlay" id="overlay"></div>
|
||||
@ -148,15 +148,15 @@
|
||||
<h2><i class="fa-solid fa-cloud"></i> Article 5 — Sous-traitants et destinataires</h2>
|
||||
<p>Vos données peuvent être traitées par les sous-traitants suivants, uniquement dans le cadre du service :</p>
|
||||
<ul>
|
||||
<li><strong>HubSpot, Inc.</strong> (États-Unis) — Gestion des contacts et du formulaire d'inscription</li>
|
||||
<li><strong>Brevo (ex-Sendinblue)</strong> (France) — Envoi des emails transactionnels (confirmation d'inscription)</li>
|
||||
<li><strong>Hostinger International Ltd.</strong> (Chypre / datacenter Allemagne) — Hébergement du site web</li>
|
||||
<li><strong>Hostinger International Ltd.</strong> (Chypre / datacenter Allemagne) — Hébergement du site web et de la base de données (formulaire d'inscription, contacts)</li>
|
||||
<li><strong>Resend, Inc.</strong> (États-Unis) — Envoi des emails transactionnels (confirmation d'inscription)</li>
|
||||
<li><strong>Cloudflare, Inc.</strong> (États-Unis) — Protection anti-robot du formulaire (Turnstile) ; traite l'adresse IP du visiteur</li>
|
||||
</ul>
|
||||
<p>Ces prestataires sont soumis à des obligations de confidentialité et de sécurité conformes au RGPD.</p>
|
||||
<hr class="legal-divider">
|
||||
|
||||
<h2><i class="fa-solid fa-globe"></i> Article 6 — Transferts hors Union européenne</h2>
|
||||
<p>Certaines données peuvent être transférées vers les États-Unis (HubSpot). Ces transferts sont encadrés par des garanties appropriées (clauses contractuelles types de la Commission européenne ou EU-US Data Privacy Framework). L'hébergement du site (Hostinger) est assuré dans l'Union européenne (datacenter en Allemagne).</p>
|
||||
<p>Certaines données peuvent être transférées vers les États-Unis (Resend, pour l'envoi des emails ; Cloudflare, pour la protection anti-robot du formulaire). Ces transferts sont encadrés par des garanties appropriées (clauses contractuelles types de la Commission européenne ou EU-US Data Privacy Framework). L'hébergement du site et de la base de données (Hostinger) est assuré dans l'Union européenne (datacenter en Allemagne).</p>
|
||||
<hr class="legal-divider">
|
||||
|
||||
<h2><i class="fa-solid fa-clock"></i> Article 7 — Durée de conservation</h2>
|
||||
@ -257,15 +257,15 @@
|
||||
<h2><i class="fa-solid fa-cloud"></i> Article 5 — Sub-processors and Recipients</h2>
|
||||
<p>Your data may be processed by the following sub-processors, solely for the purpose of providing the service:</p>
|
||||
<ul>
|
||||
<li><strong>HubSpot, Inc.</strong> (United States) — Contact management and registration form</li>
|
||||
<li><strong>Brevo (formerly Sendinblue)</strong> (France) — Transactional email delivery (registration confirmation)</li>
|
||||
<li><strong>Hostinger International Ltd.</strong> (Cyprus / datacenter Germany) — Website hosting</li>
|
||||
<li><strong>Hostinger International Ltd.</strong> (Cyprus / datacenter Germany) — Website and database hosting (registration form, contacts)</li>
|
||||
<li><strong>Resend, Inc.</strong> (United States) — Transactional email delivery (registration confirmation)</li>
|
||||
<li><strong>Cloudflare, Inc.</strong> (United States) — Form anti-bot protection (Turnstile); processes the visitor's IP address</li>
|
||||
</ul>
|
||||
<p>These providers are bound by confidentiality and security obligations in accordance with the GDPR.</p>
|
||||
<hr class="legal-divider">
|
||||
|
||||
<h2><i class="fa-solid fa-globe"></i> Article 6 — Transfers Outside the European Union</h2>
|
||||
<p>Some data may be transferred to the United States (HubSpot). These transfers are governed by appropriate safeguards (EU Standard Contractual Clauses or the EU-US Data Privacy Framework). Website hosting (Hostinger) is located within the European Union (datacenter in Germany).</p>
|
||||
<p>Some data may be transferred to the United States (Resend, for email delivery; Cloudflare, for form anti-bot protection). These transfers are governed by appropriate safeguards (EU Standard Contractual Clauses or the EU-US Data Privacy Framework). Website and database hosting (Hostinger) is located within the European Union (datacenter in Germany).</p>
|
||||
<hr class="legal-divider">
|
||||
|
||||
<h2><i class="fa-solid fa-clock"></i> Article 7 — Data Retention Period</h2>
|
||||
@ -366,15 +366,15 @@
|
||||
<h2><i class="fa-solid fa-cloud"></i> Andininy 5 — Mpandray sy mpiara-miasa</h2>
|
||||
<p>Ny angon-drakitrareo dia mety hodinina amin'ireto mpiara-miasa ireto, ao anatin'ny serivisy fotsiny :</p>
|
||||
<ul>
|
||||
<li><strong>HubSpot, Inc.</strong> (Etazonia) — Fitantanana ny mpifandray sy ny taratasy fisoratana anarana</li>
|
||||
<li><strong>Brevo (taloha Sendinblue)</strong> (Frantsa) — Fandefasana mailaka (fanamafisana fisoratana anarana)</li>
|
||||
<li><strong>Hostinger International Ltd.</strong> (Sipra / datacenter Alemaina) — Fampiantranoana ny tranonkala</li>
|
||||
<li><strong>Hostinger International Ltd.</strong> (Sipra / datacenter Alemaina) — Fampiantranoana ny tranonkala sy ny banky angona (taratasy fisoratana anarana, mpifandray)</li>
|
||||
<li><strong>Resend, Inc.</strong> (Etazonia) — Fandefasana mailaka (fanamafisana fisoratana anarana)</li>
|
||||
<li><strong>Cloudflare, Inc.</strong> (Etazonia) — Fiarovana manohitra ny robot amin'ny taratasy (Turnstile) ; mandinika ny adiresy IP an'ny mpitsidika</li>
|
||||
</ul>
|
||||
<p>Ireo mpamatsy ireo dia voafehin'ny adidy momba ny tsiambaratelo sy ny fiarovana mifanaraka amin'ny RGPD.</p>
|
||||
<hr class="legal-divider">
|
||||
|
||||
<h2><i class="fa-solid fa-globe"></i> Andininy 6 — Famindrana ivelan'ny Vondrona Eoropeana</h2>
|
||||
<p>Mety hafindra any Etazonia (HubSpot) ny angon-drakitra sasany. Ireo famindrana ireo dia voaaro amin'ny antoka sahaza (SCC Eoropeana na EU-US Data Privacy Framework). Ny fampiantranoana ny tranonkala (Hostinger) dia ao anatin'ny Vondrona Eoropeana (datacenter any Alemaina).</p>
|
||||
<p>Mety hafindra any Etazonia (Resend, ho an'ny fandefasana mailaka ; Cloudflare, ho an'ny fiarovana manohitra ny robot) ny angon-drakitra sasany. Ireo famindrana ireo dia voaaro amin'ny antoka sahaza (SCC Eoropeana na EU-US Data Privacy Framework). Ny fampiantranoana ny tranonkala sy ny banky angona (Hostinger) dia ao anatin'ny Vondrona Eoropeana (datacenter any Alemaina).</p>
|
||||
<hr class="legal-divider">
|
||||
|
||||
<h2><i class="fa-solid fa-clock"></i> Andininy 7 — Faharetan'ny fitahirizana</h2>
|
||||
@ -444,7 +444,7 @@
|
||||
<li><a href="tarifs.html" data-i18n="nav.pricing">Tarifs</a></li>
|
||||
<li><a href="service-commande.html" data-i18n="nav.serviceCommande">Service Commande</a></li>
|
||||
<li><a href="guide-envoi.html" data-i18n="nav.guide">Guide d'envoi</a></li>
|
||||
<li><a href="contact.html" data-i18n="nav.contact">Inscription</a></li>
|
||||
<li><a href="contact.html" data-i18n="nav.contact">Contact</a></li>
|
||||
<li><a href="cgv.html" style="color:rgba(255,255,255,0.7);" data-i18n="footer.cgv">Conditions Générales de Vente</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
@ -471,7 +471,7 @@
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
<script src="js/translations.js?v=20260603"></script>
|
||||
<script src="js/translations.js"></script>
|
||||
<script src="js/main.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@ -9,16 +9,11 @@
|
||||
<script>
|
||||
// Bridge mobile deep link MVA : redirect vers le custom scheme natif
|
||||
// mvaglobalfret://reset-password pour ouvrir le flow in-app de l'app Expo.
|
||||
// Le lien email porte token_hash + type (recovery) ; l'app fait verifyOtp.
|
||||
// Le token est un UUID custom émis par mva-api (Fastify), validé côté app.
|
||||
(function() {
|
||||
var params = new URLSearchParams(window.location.search);
|
||||
var tokenHash = params.get('token_hash');
|
||||
var type = params.get('type') || 'recovery';
|
||||
if (tokenHash) {
|
||||
window.location.replace(
|
||||
'mvaglobalfret://reset-password?token_hash=' +
|
||||
encodeURIComponent(tokenHash) + '&type=' + encodeURIComponent(type)
|
||||
);
|
||||
var token = new URLSearchParams(window.location.search).get('token');
|
||||
if (token) {
|
||||
window.location.replace('mvaglobalfret://reset-password?token=' + encodeURIComponent(token));
|
||||
}
|
||||
})();
|
||||
</script>
|
||||
@ -45,37 +40,18 @@
|
||||
}
|
||||
a.cta:hover { background: #b3954a; }
|
||||
.hint { color: #666; font-size: 0.9rem; margin-top: 2rem; }
|
||||
.error { color: #b91c1c; font-size: 0.95rem; line-height: 1.6; margin-top: 1rem; }
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<h1>Ouvrir l'app MVA Global Fret</h1>
|
||||
<p id="intro">Pour réinitialiser votre mot de passe, ouvrez le lien ci-dessous dans l'application MVA Global Fret installée sur votre téléphone.</p>
|
||||
<p id="link-wrap">
|
||||
<p>Pour réinitialiser votre mot de passe, ouvrez le lien ci-dessous dans l'application MVA Global Fret installée sur votre téléphone.</p>
|
||||
<p>
|
||||
<a id="manual-link" class="cta" href="#">Réinitialiser mon mot de passe</a>
|
||||
</p>
|
||||
<p id="hint" class="hint">Si rien ne se passe, vérifiez que l'application MVA Global Fret est bien installée sur votre appareil.</p>
|
||||
<p id="error" class="error" style="display:none;">Ce lien de réinitialisation est invalide ou incomplet. Veuillez relancer la procédure « Mot de passe oublié » depuis l'application MVA Global Fret.</p>
|
||||
<p class="hint">Si rien ne se passe, vérifiez que l'application MVA Global Fret est bien installée sur votre appareil.</p>
|
||||
<script>
|
||||
(function() {
|
||||
var params = new URLSearchParams(window.location.search);
|
||||
var tokenHash = params.get('token_hash');
|
||||
var type = params.get('type') || 'recovery';
|
||||
|
||||
if (!tokenHash) {
|
||||
// Lien invalide : pas de token_hash → on masque le bouton et on prévient.
|
||||
document.getElementById('intro').style.display = 'none';
|
||||
document.getElementById('link-wrap').style.display = 'none';
|
||||
document.getElementById('hint').style.display = 'none';
|
||||
document.getElementById('error').style.display = 'block';
|
||||
return;
|
||||
}
|
||||
|
||||
// Deep link vers l'app : l'app lit token_hash + type et fait verifyOtp.
|
||||
document.getElementById('manual-link').href =
|
||||
'mvaglobalfret://reset-password?token_hash=' +
|
||||
encodeURIComponent(tokenHash) + '&type=' + encodeURIComponent(type);
|
||||
})();
|
||||
var token = new URLSearchParams(window.location.search).get('token') || '';
|
||||
document.getElementById('manual-link').href = 'mvaglobalfret://reset-password?token=' + encodeURIComponent(token);
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@ -25,7 +25,7 @@
|
||||
<a href="tarifs.html" data-i18n="nav.pricing">Tarifs</a>
|
||||
<a href="service-commande.html" data-i18n="nav.serviceCommande">Service Commande</a>
|
||||
<a href="guide-envoi.html" data-i18n="nav.guide">Guide d'envoi</a>
|
||||
<a href="contact.html" data-i18n="nav.contact">Inscription</a>
|
||||
<a href="contact.html" data-i18n="nav.contact">Contact</a>
|
||||
<a href="application.html" data-i18n="nav.app">Prochainement</a>
|
||||
</nav>
|
||||
<div class="header-right">
|
||||
@ -45,7 +45,7 @@
|
||||
<a href="tarifs.html" data-i18n="nav.pricing">Tarifs</a>
|
||||
<a href="service-commande.html" data-i18n="nav.serviceCommande">Service Commande</a>
|
||||
<a href="guide-envoi.html" data-i18n="nav.guide">Guide d'envoi</a>
|
||||
<a href="contact.html" data-i18n="nav.contact">Inscription</a>
|
||||
<a href="contact.html" data-i18n="nav.contact">Contact</a>
|
||||
<a href="application.html" data-i18n="nav.app">Prochainement</a>
|
||||
</nav>
|
||||
<div class="overlay" id="overlay"></div>
|
||||
@ -242,7 +242,7 @@
|
||||
<li><a href="tarifs.html" data-i18n="nav.pricing">Tarifs</a></li>
|
||||
<li><a href="service-commande.html" data-i18n="nav.serviceCommande">Service Commande</a></li>
|
||||
<li><a href="guide-envoi.html" data-i18n="nav.guide">Guide d'envoi</a></li>
|
||||
<li><a href="contact.html" data-i18n="nav.contact">Inscription</a></li>
|
||||
<li><a href="contact.html" data-i18n="nav.contact">Contact</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div>
|
||||
@ -268,7 +268,7 @@
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
<script src="js/translations.js?v=20260603"></script>
|
||||
<script src="js/translations.js"></script>
|
||||
<script src="js/main.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@ -25,7 +25,7 @@
|
||||
<a href="tarifs.html" data-i18n="nav.pricing">Tarifs</a>
|
||||
<a href="service-commande.html" data-i18n="nav.serviceCommande">Service Commande</a>
|
||||
<a href="guide-envoi.html" data-i18n="nav.guide">Guide d'envoi</a>
|
||||
<a href="contact.html" data-i18n="nav.contact">Inscription</a>
|
||||
<a href="contact.html" data-i18n="nav.contact">Contact</a>
|
||||
<a href="application.html" data-i18n="nav.app">Prochainement</a>
|
||||
</nav>
|
||||
<div class="header-right">
|
||||
@ -43,9 +43,8 @@
|
||||
<a href="accueil.html" data-i18n="nav.home">Accueil</a>
|
||||
<a href="about.html" data-i18n="nav.about">Qui sommes-nous</a>
|
||||
<a href="tarifs.html" data-i18n="nav.pricing">Tarifs</a>
|
||||
<a href="service-commande.html" data-i18n="nav.serviceCommande">Service Commande</a>
|
||||
<a href="guide-envoi.html" data-i18n="nav.guide">Guide d'envoi</a>
|
||||
<a href="contact.html" data-i18n="nav.contact">Inscription</a>
|
||||
<a href="contact.html" data-i18n="nav.contact">Contact</a>
|
||||
<a href="application.html" data-i18n="nav.app">Prochainement</a>
|
||||
</nav>
|
||||
<div class="overlay" id="overlay"></div>
|
||||
@ -258,7 +257,7 @@
|
||||
<li><a href="tarifs.html" data-i18n="nav.pricing">Tarifs</a></li>
|
||||
<li><a href="service-commande.html" data-i18n="nav.serviceCommande">Service Commande</a></li>
|
||||
<li><a href="guide-envoi.html" data-i18n="nav.guide">Guide d'envoi</a></li>
|
||||
<li><a href="contact.html" data-i18n="nav.contact">Inscription</a></li>
|
||||
<li><a href="contact.html" data-i18n="nav.contact">Contact</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div>
|
||||
@ -284,7 +283,7 @@
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
<script src="js/translations.js?v=20260603"></script>
|
||||
<script src="js/translations.js"></script>
|
||||
<script src="js/main.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
Loading…
Reference in New Issue
Block a user