Compare commits

..

1 Commits

Author SHA1 Message Date
Serge RAKOTO HARRY-NAIVO
ec4b06c4fa fix(legal): politique de confidentialite - sous-traitants reels (RGPD, audit M13)
La page declarait des sous-traitants faux/obsoletes (risque de conformite RGPD): retire HubSpot (decommissionne 2026-05-10) + son transfert hors-UE; Brevo -> Resend (USA) pour les emails; ajoute Cloudflare/Turnstile (USA, traite l'IP du visiteur, sous-traitant non declare); precise que la base de donnees (inscriptions/contacts) est hebergee par Hostinger (Allemagne, UE); corrige l'Article 6 transferts hors-UE en consequence. Applique aux 3 langues FR/EN/MG. Nettoie aussi les commentaires JS obsoletes (worker mva-hubspot-proxy decommissionne).

Verifs: 0 mention HubSpot/Brevo restante, node --check OK sur form-handler.js + confirmation.js.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-05-29 19:22:38 +02:00
16 changed files with 78 additions and 110 deletions

View File

@ -27,7 +27,7 @@
<a href="tarifs.html" data-i18n="nav.pricing">Tarifs</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="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="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> <a href="application.html" data-i18n="nav.app">Prochainement</a>
</nav> </nav>
<div class="header-right"> <div class="header-right">
@ -47,9 +47,8 @@
<a href="accueil.html" data-i18n="nav.home">Accueil</a> <a href="accueil.html" data-i18n="nav.home">Accueil</a>
<a href="about.html" data-i18n="nav.about">Qui sommes-nous</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="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="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> <a href="application.html" data-i18n="nav.app">Prochainement</a>
</nav> </nav>
<div class="overlay" id="overlay"></div> <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="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="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="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> </ul>
</div> </div>
<div> <div>
@ -235,7 +234,7 @@
</div> </div>
</footer> </footer>
<script src="js/translations.js?v=20260603"></script> <script src="js/translations.js"></script>
<script src="js/main.js"></script> <script src="js/main.js"></script>
</body> </body>
</html> </html>

View File

@ -31,7 +31,7 @@
<a href="tarifs.html" data-i18n="nav.pricing">Tarifs</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="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="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> <a href="application.html" data-i18n="nav.app">Prochainement</a>
</nav> </nav>
<div class="header-right"> <div class="header-right">
@ -54,7 +54,7 @@
<a href="tarifs.html" data-i18n="nav.pricing">Tarifs</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="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="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> <a href="application.html" data-i18n="nav.app">Prochainement</a>
</nav> </nav>
<div class="overlay" id="overlay"></div> <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="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="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="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> <li><a href="application.html" data-i18n="nav.app">Prochainement</a></li>
</ul> </ul>
</div> </div>
@ -269,7 +269,7 @@
</div> </div>
</footer> </footer>
<script src="js/translations.js?v=20260603"></script> <script src="js/translations.js"></script>
<script src="js/main.js"></script> <script src="js/main.js"></script>
</body> </body>
</html> </html>

View File

@ -25,7 +25,7 @@
<a href="tarifs.html" data-i18n="nav.pricing">Tarifs</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="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="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> <a href="application.html" data-i18n="nav.app">Application</a>
</nav> </nav>
<div class="header-right"> <div class="header-right">
@ -43,9 +43,8 @@
<a href="accueil.html" data-i18n="nav.home">Accueil</a> <a href="accueil.html" data-i18n="nav.home">Accueil</a>
<a href="about.html" data-i18n="nav.about">Qui sommes-nous</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="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="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> <a href="application.html" data-i18n="nav.app">Application</a>
</nav> </nav>
<div class="overlay" id="overlay"></div> <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="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="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="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> </ul>
</div> </div>
<div> <div>
@ -305,7 +304,7 @@
</div> </div>
</footer> </footer>
<script src="js/translations.js?v=20260603"></script> <script src="js/translations.js"></script>
<script src="js/main.js"></script> <script src="js/main.js"></script>
<script> <script>
document.getElementById('notifyForm')?.addEventListener('submit', function(e) { document.getElementById('notifyForm')?.addEventListener('submit', function(e) {

View File

@ -65,7 +65,7 @@
<a href="tarifs.html" data-i18n="nav.pricing">Tarifs</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="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="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> <a href="application.html" data-i18n="nav.app">Prochainement</a>
</nav> </nav>
<div class="header-right"> <div class="header-right">
@ -83,9 +83,8 @@
<a href="accueil.html" data-i18n="nav.home">Accueil</a> <a href="accueil.html" data-i18n="nav.home">Accueil</a>
<a href="about.html" data-i18n="nav.about">Qui sommes-nous</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="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="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> <a href="application.html" data-i18n="nav.app">Prochainement</a>
</nav> </nav>
<div class="overlay" id="overlay"></div> <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="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="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="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> <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> </ul>
</div> </div>
@ -347,7 +346,7 @@
</div> </div>
</footer> </footer>
<script src="js/translations.js?v=20260603"></script> <script src="js/translations.js"></script>
<script src="js/main.js"></script> <script src="js/main.js"></script>
</body> </body>
</html> </html>

View File

@ -172,7 +172,7 @@
© 2026 MVA Global Fret. Tous droits réservés. © 2026 MVA Global Fret. Tous droits réservés.
</footer> </footer>
<script src="js/translations.js?v=20260603"></script> <script src="js/translations.js"></script>
<script src="js/main.js"></script> <script src="js/main.js"></script>
<script src="js/confirmation.js"></script> <script src="js/confirmation.js"></script>
</body> </body>

View File

@ -25,7 +25,7 @@
<a href="tarifs.html" data-i18n="nav.pricing">Tarifs</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="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="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> <a href="application.html" data-i18n="nav.app">Prochainement</a>
</nav> </nav>
<div class="header-right"> <div class="header-right">
@ -43,9 +43,8 @@
<a href="accueil.html" data-i18n="nav.home">Accueil</a> <a href="accueil.html" data-i18n="nav.home">Accueil</a>
<a href="about.html" data-i18n="nav.about">Qui sommes-nous</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="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="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> <a href="application.html" data-i18n="nav.app">Prochainement</a>
</nav> </nav>
<div class="overlay" id="overlay"></div> <div class="overlay" id="overlay"></div>
@ -55,8 +54,8 @@
<!-- HERO --> <!-- HERO -->
<section class="hero hero-sub" style="background-image: url('images/hero/contact-hero.jpg');"> <section class="hero hero-sub" style="background-image: url('images/hero/contact-hero.jpg');">
<div class="hero-content animate-on-scroll"> <div class="hero-content animate-on-scroll">
<h1 data-i18n="contact.heroTitle">Inscrivez-vous</h1> <h1 data-i18n="contact.heroTitle">Contactez-Nous</h1>
<p data-i18n="contact.heroSubtitle">Commencez à envoyer vos colis dès aujourd'hui</p> <p data-i18n="contact.heroSubtitle">Inscrivez-vous et commencez à envoyer vos colis dès aujourd'hui</p>
</div> </div>
</section> </section>
@ -280,7 +279,7 @@
<li><a href="tarifs.html" data-i18n="nav.pricing">Tarifs</a></li> <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="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="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> </ul>
</div> </div>
<div> <div>
@ -306,7 +305,7 @@
</div> </div>
</footer> </footer>
<script src="js/translations.js?v=20260603"></script> <script src="js/translations.js"></script>
<script src="js/main.js"></script> <script src="js/main.js"></script>
<script src="js/form-handler.js"></script> <script src="js/form-handler.js"></script>

View File

@ -25,7 +25,7 @@
<a href="tarifs.html" data-i18n="nav.pricing">Tarifs</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="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="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> <a href="application.html" data-i18n="nav.app">Prochainement</a>
</nav> </nav>
<div class="header-right"> <div class="header-right">
@ -43,9 +43,8 @@
<a href="accueil.html" data-i18n="nav.home">Accueil</a> <a href="accueil.html" data-i18n="nav.home">Accueil</a>
<a href="about.html" data-i18n="nav.about">Qui sommes-nous</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="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="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> <a href="application.html" data-i18n="nav.app">Prochainement</a>
</nav> </nav>
<div class="overlay" id="overlay"></div> <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="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="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="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> </ul>
</div> </div>
<div> <div>
@ -287,7 +286,7 @@
</div> </div>
</footer> </footer>
<script src="js/translations.js?v=20260603"></script> <script src="js/translations.js"></script>
<script src="js/main.js"></script> <script src="js/main.js"></script>
</body> </body>
</html> </html>

View File

@ -62,7 +62,7 @@
</main> </main>
<script src="js/translations.js?v=20260603"></script> <script src="js/translations.js"></script>
<script> <script>
/* i18n minimal ------------------------------------------------------- */ /* i18n minimal ------------------------------------------------------- */
(function () { (function () {

View File

@ -17,8 +17,7 @@
// Si le token est invalide / expiré / déjà consommé : affichage d'un // Si le token est invalide / expiré / déjà consommé : affichage d'un
// message d'erreur avec invitation à contacter le support. // message d'erreur avec invitation à contacter le support.
// //
// Migration 2026-05-10 : remplace l'ancien Cloudflare Worker // Les inscriptions sont confirmées via les routes leads de l'API.
// `mva-hubspot-proxy.sergemind4s.workers.dev` (= décommissionné).
// ============================================================ // ============================================================
const API_BASE_URL = 'https://api.mva.mind4solutions.com'; const API_BASE_URL = 'https://api.mva.mind4solutions.com';

View File

@ -9,9 +9,8 @@
// single-use server-side; without reset, a re-submit silently // single-use server-side; without reset, a re-submit silently
// 403s from Cloudflare's siteverify endpoint) // 403s from Cloudflare's siteverify endpoint)
// //
// Migration 2026-05-10 : remplace l'ancien Cloudflare Worker // Les inscriptions sont gérées par les routes leads de l'API (derrière Caddy)
// `mva-hubspot-proxy.sergemind4s.workers.dev` (= décommissionné) par // avec stockage en base Postgres.
// les routes mva-api Fastify. La DB Postgres remplace HubSpot Contacts.
// ============================================ // ============================================
// ── MVA API BASE URL ───────────────────────────────────────────── // ── 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) { async function showAlreadyRegistered(contact) {
const lang = localStorage.getItem('mva-lang') || 'fr'; const lang = localStorage.getItem('mva-lang') || 'fr';
const t = translations?.[lang]?.contact || {}; const t = translations?.[lang]?.contact || {};

View File

@ -21,7 +21,7 @@ const translations = {
pricing: "Tarifs", pricing: "Tarifs",
serviceCommande: "Service Commande", serviceCommande: "Service Commande",
guide: "Guide d'envoi", guide: "Guide d'envoi",
contact: "Inscription", contact: "Contact",
app: "Prochainement" app: "Prochainement"
}, },
home: { home: {
@ -134,8 +134,8 @@ const translations = {
delivery2Note: "Retrait au bureau Cotisse de votre ville" delivery2Note: "Retrait au bureau Cotisse de votre ville"
}, },
contact: { contact: {
heroTitle: "Inscrivez-vous", heroTitle: "Contactez-Nous",
heroSubtitle: "Commencez à envoyer vos colis dès aujourd'hui", heroSubtitle: "Inscrivez-vous et commencez à envoyer vos colis dès aujourd'hui",
formTitle: "Formulaire d'inscription", 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.", formSubtitle: "Remplissez ce formulaire pour recevoir votre numéro de référence client et l'adresse de dépôt à Paris.",
labelNom: "Nom", labelNom: "Nom",
@ -383,7 +383,7 @@ const translations = {
pricing: "Pricing", pricing: "Pricing",
serviceCommande: "Order Service", serviceCommande: "Order Service",
guide: "Shipping Guide", guide: "Shipping Guide",
contact: "Sign Up", contact: "Contact",
app: "Coming Soon" app: "Coming Soon"
}, },
home: { home: {
@ -496,8 +496,8 @@ const translations = {
ctaBtn: "Contact Us" ctaBtn: "Contact Us"
}, },
contact: { contact: {
heroTitle: "Sign Up", heroTitle: "Contact Us",
heroSubtitle: "Start sending your parcels today", heroSubtitle: "Register and start sending your parcels today",
formTitle: "Registration Form", formTitle: "Registration Form",
formSubtitle: "Fill out this form to receive your client reference number and the Paris drop-off address.", formSubtitle: "Fill out this form to receive your client reference number and the Paris drop-off address.",
labelNom: "Last Name", labelNom: "Last Name",
@ -745,7 +745,7 @@ const translations = {
pricing: "Sarany", pricing: "Sarany",
serviceCommande: "Tolotra Fividianana", serviceCommande: "Tolotra Fividianana",
guide: "Toromarika fandefasana", guide: "Toromarika fandefasana",
contact: "Fisoratana anarana", contact: "Fifandraisana",
app: "Avy tsy ho ela" app: "Avy tsy ho ela"
}, },
home: { home: {
@ -858,8 +858,8 @@ const translations = {
ctaBtn: "Mifandraisa aminay" ctaBtn: "Mifandraisa aminay"
}, },
contact: { contact: {
heroTitle: "Misoratra anarana", heroTitle: "Mifandraisa Aminay",
heroSubtitle: "Manomboha mandefa ny entanareo anio", heroSubtitle: "Misoratra anarana ary manomboha mandefa ny entanareo anio",
formTitle: "Taratasy fisoratana anarana", formTitle: "Taratasy fisoratana anarana",
formSubtitle: "Fenoy ity taratasy ity mba handraisana ny laharan'ny mpanjifa sy ny adiresy fametrahana any Paris.", formSubtitle: "Fenoy ity taratasy ity mba handraisana ny laharan'ny mpanjifa sy ny adiresy fametrahana any Paris.",
labelNom: "Anarana", labelNom: "Anarana",

View File

@ -47,7 +47,7 @@
<a href="tarifs.html" data-i18n="nav.pricing">Tarifs</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="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="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> <a href="application.html" data-i18n="nav.app">Prochainement</a>
</nav> </nav>
<div class="header-right"> <div class="header-right">
@ -67,7 +67,7 @@
<a href="tarifs.html" data-i18n="nav.pricing">Tarifs</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="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="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> <a href="application.html" data-i18n="nav.app">Prochainement</a>
</nav> </nav>
<div class="overlay" id="overlay"></div> <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="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="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="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> <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> </ul>
</div> </div>
@ -300,7 +300,7 @@
</div> </div>
</footer> </footer>
<script src="js/translations.js?v=20260603"></script> <script src="js/translations.js"></script>
<script src="js/main.js"></script> <script src="js/main.js"></script>
</body> </body>
</html> </html>

View File

@ -56,7 +56,7 @@
<a href="tarifs.html" data-i18n="nav.pricing">Tarifs</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="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="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> <a href="application.html" data-i18n="nav.app">Prochainement</a>
</nav> </nav>
<div class="header-right"> <div class="header-right">
@ -76,7 +76,7 @@
<a href="tarifs.html" data-i18n="nav.pricing">Tarifs</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="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="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> <a href="application.html" data-i18n="nav.app">Prochainement</a>
</nav> </nav>
<div class="overlay" id="overlay"></div> <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> <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> <p>Vos données peuvent être traitées par les sous-traitants suivants, uniquement dans le cadre du service :</p>
<ul> <ul>
<li><strong>HubSpot, Inc.</strong> (États-Unis) — Gestion des contacts et du formulaire d'inscription</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>Brevo (ex-Sendinblue)</strong> (France) — Envoi des emails transactionnels (confirmation d'inscription)</li> <li><strong>Resend, Inc.</strong> (États-Unis) — 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>Cloudflare, Inc.</strong> (États-Unis) — Protection anti-robot du formulaire (Turnstile) ; traite l'adresse IP du visiteur</li>
</ul> </ul>
<p>Ces prestataires sont soumis à des obligations de confidentialité et de sécurité conformes au RGPD.</p> <p>Ces prestataires sont soumis à des obligations de confidentialité et de sécurité conformes au RGPD.</p>
<hr class="legal-divider"> <hr class="legal-divider">
<h2><i class="fa-solid fa-globe"></i> Article 6 — Transferts hors Union européenne</h2> <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"> <hr class="legal-divider">
<h2><i class="fa-solid fa-clock"></i> Article 7 — Durée de conservation</h2> <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> <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> <p>Your data may be processed by the following sub-processors, solely for the purpose of providing the service:</p>
<ul> <ul>
<li><strong>HubSpot, Inc.</strong> (United States) — Contact management and registration form</li> <li><strong>Hostinger International Ltd.</strong> (Cyprus / datacenter Germany) — Website and database hosting (registration form, contacts)</li>
<li><strong>Brevo (formerly Sendinblue)</strong> (France) — Transactional email delivery (registration confirmation)</li> <li><strong>Resend, Inc.</strong> (United States) — Transactional email delivery (registration confirmation)</li>
<li><strong>Hostinger International Ltd.</strong> (Cyprus / datacenter Germany) — Website hosting</li> <li><strong>Cloudflare, Inc.</strong> (United States) — Form anti-bot protection (Turnstile); processes the visitor's IP address</li>
</ul> </ul>
<p>These providers are bound by confidentiality and security obligations in accordance with the GDPR.</p> <p>These providers are bound by confidentiality and security obligations in accordance with the GDPR.</p>
<hr class="legal-divider"> <hr class="legal-divider">
<h2><i class="fa-solid fa-globe"></i> Article 6 — Transfers Outside the European Union</h2> <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"> <hr class="legal-divider">
<h2><i class="fa-solid fa-clock"></i> Article 7 — Data Retention Period</h2> <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> <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> <p>Ny angon-drakitrareo dia mety hodinina amin'ireto mpiara-miasa ireto, ao anatin'ny serivisy fotsiny :</p>
<ul> <ul>
<li><strong>HubSpot, Inc.</strong> (Etazonia) — Fitantanana ny mpifandray sy ny taratasy fisoratana anarana</li> <li><strong>Hostinger International Ltd.</strong> (Sipra / datacenter Alemaina) — Fampiantranoana ny tranonkala sy ny banky angona (taratasy fisoratana anarana, mpifandray)</li>
<li><strong>Brevo (taloha Sendinblue)</strong> (Frantsa) — Fandefasana mailaka (fanamafisana fisoratana anarana)</li> <li><strong>Resend, Inc.</strong> (Etazonia) — Fandefasana mailaka (fanamafisana fisoratana anarana)</li>
<li><strong>Hostinger International Ltd.</strong> (Sipra / datacenter Alemaina) — Fampiantranoana ny tranonkala</li> <li><strong>Cloudflare, Inc.</strong> (Etazonia) — Fiarovana manohitra ny robot amin'ny taratasy (Turnstile) ; mandinika ny adiresy IP an'ny mpitsidika</li>
</ul> </ul>
<p>Ireo mpamatsy ireo dia voafehin'ny adidy momba ny tsiambaratelo sy ny fiarovana mifanaraka amin'ny RGPD.</p> <p>Ireo mpamatsy ireo dia voafehin'ny adidy momba ny tsiambaratelo sy ny fiarovana mifanaraka amin'ny RGPD.</p>
<hr class="legal-divider"> <hr class="legal-divider">
<h2><i class="fa-solid fa-globe"></i> Andininy 6 — Famindrana ivelan'ny Vondrona Eoropeana</h2> <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"> <hr class="legal-divider">
<h2><i class="fa-solid fa-clock"></i> Andininy 7 — Faharetan'ny fitahirizana</h2> <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="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="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="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> <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> </ul>
</div> </div>
@ -471,7 +471,7 @@
</div> </div>
</footer> </footer>
<script src="js/translations.js?v=20260603"></script> <script src="js/translations.js"></script>
<script src="js/main.js"></script> <script src="js/main.js"></script>
</body> </body>
</html> </html>

View File

@ -9,16 +9,11 @@
<script> <script>
// Bridge mobile deep link MVA : redirect vers le custom scheme natif // Bridge mobile deep link MVA : redirect vers le custom scheme natif
// mvaglobalfret://reset-password pour ouvrir le flow in-app de l'app Expo. // 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() { (function() {
var params = new URLSearchParams(window.location.search); var token = new URLSearchParams(window.location.search).get('token');
var tokenHash = params.get('token_hash'); if (token) {
var type = params.get('type') || 'recovery'; window.location.replace('mvaglobalfret://reset-password?token=' + encodeURIComponent(token));
if (tokenHash) {
window.location.replace(
'mvaglobalfret://reset-password?token_hash=' +
encodeURIComponent(tokenHash) + '&type=' + encodeURIComponent(type)
);
} }
})(); })();
</script> </script>
@ -45,37 +40,18 @@
} }
a.cta:hover { background: #b3954a; } a.cta:hover { background: #b3954a; }
.hint { color: #666; font-size: 0.9rem; margin-top: 2rem; } .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> </style>
</head> </head>
<body> <body>
<h1>Ouvrir l'app MVA Global Fret</h1> <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>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>
<a id="manual-link" class="cta" href="#">Réinitialiser mon mot de passe</a> <a id="manual-link" class="cta" href="#">Réinitialiser mon mot de passe</a>
</p> </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 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>
<script> <script>
(function() { var token = new URLSearchParams(window.location.search).get('token') || '';
var params = new URLSearchParams(window.location.search); document.getElementById('manual-link').href = 'mvaglobalfret://reset-password?token=' + encodeURIComponent(token);
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);
})();
</script> </script>
</body> </body>
</html> </html>

View File

@ -25,7 +25,7 @@
<a href="tarifs.html" data-i18n="nav.pricing">Tarifs</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="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="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> <a href="application.html" data-i18n="nav.app">Prochainement</a>
</nav> </nav>
<div class="header-right"> <div class="header-right">
@ -45,7 +45,7 @@
<a href="tarifs.html" data-i18n="nav.pricing">Tarifs</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="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="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> <a href="application.html" data-i18n="nav.app">Prochainement</a>
</nav> </nav>
<div class="overlay" id="overlay"></div> <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="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="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="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> </ul>
</div> </div>
<div> <div>
@ -268,7 +268,7 @@
</div> </div>
</footer> </footer>
<script src="js/translations.js?v=20260603"></script> <script src="js/translations.js"></script>
<script src="js/main.js"></script> <script src="js/main.js"></script>
</body> </body>
</html> </html>

View File

@ -25,7 +25,7 @@
<a href="tarifs.html" data-i18n="nav.pricing">Tarifs</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="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="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> <a href="application.html" data-i18n="nav.app">Prochainement</a>
</nav> </nav>
<div class="header-right"> <div class="header-right">
@ -43,9 +43,8 @@
<a href="accueil.html" data-i18n="nav.home">Accueil</a> <a href="accueil.html" data-i18n="nav.home">Accueil</a>
<a href="about.html" data-i18n="nav.about">Qui sommes-nous</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="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="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> <a href="application.html" data-i18n="nav.app">Prochainement</a>
</nav> </nav>
<div class="overlay" id="overlay"></div> <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="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="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="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> </ul>
</div> </div>
<div> <div>
@ -284,7 +283,7 @@
</div> </div>
</footer> </footer>
<script src="js/translations.js?v=20260603"></script> <script src="js/translations.js"></script>
<script src="js/main.js"></script> <script src="js/main.js"></script>
</body> </body>
</html> </html>