<!DOCTYPE html>
<html lang="fr">
<head>
<!-- Start cookieyes banner --> <script id="cookieyes" type="text/javascript" src="https://cdn-cookieyes.com/client_data/86c546ead3707ceecb243159/script.js"></script> <!-- End cookieyes banner -->
<script>
window.dataLayer = window.dataLayer || [];
dataLayer.push({
event: "vue_page",
event_id: "aef39d19-e375-4952-920f-957f47e6ede5",
});
</script>
<script>
window.dataLayer = window.dataLayer || [];
</script>
<script>
(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'});
var f=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';
j.async=true;j.src= 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
})(window,document,'script','dataLayer','GTM-5HCH5KB');
</script>
<script src="https://challenges.cloudflare.com/turnstile/v0/api.js" async defer></script>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Reprogrammation Moto ▷ Carto Moteur (ECU) Stage 1 ✓</title>
<meta name="title" content="Reprogrammation Moto ▷ Carto Moteur (ECU) Stage 1 ✓">
<meta name="description" content="Reprog moto & scooter : Optimisez votre cartographie moteur (ECU) avec le préparateur moto Motortech ⚡ ! ➤ Reprogrammation Moto Stage 1 dès 550€.">
<meta property="og:type" content="website">
<meta property="og:url" content="https://motortech.fr/reprogrammation/moto"/>
<meta property="og:locale" content="fr"/>
<meta property="og:title" content="Reprogrammation Moto ▷ Carto Moteur (ECU) Stage 1 ✓"/>
<meta property="og:description" content="Reprog moto & scooter : Optimisez votre cartographie moteur (ECU) avec le préparateur moto Motortech ⚡ ! ➤ Reprogrammation Moto Stage 1 dès 550€.">
<meta property="og:image" content="https://motortech.fr/images/opengrah/moto.jpeg">
<meta name="twitter:card" content="summary_large_image"/>
<meta name="twitter:url" content="https://motortech.fr/reprogrammation/moto">
<meta name="twitter:title" content="Reprogrammation Moto ▷ Carto Moteur (ECU) Stage 1 ✓">
<meta name="twitter:description" content="Reprog moto & scooter : Optimisez votre cartographie moteur (ECU) avec le préparateur moto Motortech ⚡ ! ➤ Reprogrammation Moto Stage 1 dès 550€.">
<meta name="twitter:image" content="https://motortech.fr/images/opengrah/moto.jpeg">
<meta property="og:image:width" content="1200">
<meta property="og:image:height" content="641">
<link rel="alternate" hreflang="fr" href="https://motortech.fr/reprogrammation/moto"/>
<link rel="alternate" hreflang="x-default" href="https://motortech.fr/reprogrammation/moto"/>
<link rel="canonical" href="https://motortech.fr/reprogrammation/moto">
<script type="application/ld+json">{"@context":"https://schema.org","@graph":[{"@type":"WebPage","name":"Reprogrammation Moto ▷ Carto Moteur (ECU) Stage 1 ✓","description":"Reprog moto & scooter : Optimisez votre cartographie moteur (ECU) avec le préparateur moto Motortech ⚡ ! ➤ Reprogrammation Moto Stage 1 dès 550€.","image":{"@type":"ImageObject","url":"https://motortech.fr/images/reprog_marques/reprog_moto.webp","width":{"@type":"QuantitativeValue","value":800},"height":{"@type":"QuantitativeValue","value":450}},"publisher":{"@type":"Organization","name":"Motortech","url":"https://motortech.fr","logo":{"@type":"ImageObject","url":"https://motortech.fr/images/logo_s.svg","width":{"@type":"QuantitativeValue","value":300},"height":{"@type":"QuantitativeValue","value":67}},"contactPoint":{"@type":"ContactPoint","contactType":"customer service","email":"contactfrance@motortech.fr"},"sameAs":["https://twitter.com/MotortechFrance","http://taap.it/fb-motortech","http://taap.it/ITSivD","http://taap.it/USUR9G"],"@id":"https://motortech.fr/#organization"},"mainEntityOfPage":{"@type":"WebPage","@id":"https://motortech.fr/reprogrammation/moto"},"url":"https://motortech.fr/reprogrammation/moto"},{"@type":"Organization","name":"Motortech","url":"https://motortech.fr","logo":{"@type":"ImageObject","url":"https://motortech.fr/images/logo_s.svg","width":{"@type":"QuantitativeValue","value":300},"height":{"@type":"QuantitativeValue","value":67}},"contactPoint":{"@type":"ContactPoint","contactType":"customer service","email":"contactfrance@motortech.fr"},"sameAs":["https://twitter.com/MotortechFrance","http://taap.it/fb-motortech","http://taap.it/ITSivD","http://taap.it/USUR9G"],"@id":"https://motortech.fr/#organization"},{"@type":"FAQPage","mainEntity":[{"@type":"Question","name":"Est-ce réversible ?","acceptedAnswer":{"@type":"Answer","text":"Oui ! Nous sauvegardons la cartographie d’origine, et pouvons la réinstaller à tout moment."}},{"@type":"Question","name":"Combien coûte une reprogrammation moteur d’une moto ?","acceptedAnswer":{"@type":"Answer","text":"Chez Motortech, la reprogrammation stage 1 de votre moto est disponible à partir de 550 €. Testez notre configurateur en ligne pour obtenir le prix d’une reprogrammation moteur de votre modèle !"}},{"@type":"Question","name":"Une reprogrammation augmente-t-elle la consommation ?","acceptedAnswer":{"@type":"Answer","text":"Non, une cartographie bien optimisée réduit la consommation."}},{"@type":"Question","name":"Quels sont les risques d’une mauvaise reprogrammation ?","acceptedAnswer":{"@type":"Answer","text":"Un logiciel mal paramétré peut provoquer des dysfonctionnements moteur. C’est pourquoi il est essentiel de faire appel à des professionnels comme Motortech."}}]},{"@type":"Product","name":"Reprogrammation Moto ▷ Carto Moteur (ECU) Stage 1 ✓","description":"Reprog moto & scooter : Optimisez votre cartographie moteur (ECU) avec le préparateur moto Motortech ⚡ ! ➤ Reprogrammation Moto Stage 1 dès 550€.","image":{"@type":"ImageObject","url":"https://motortech.fr/images/reprog_marques/reprog_moto.webp","width":{"@type":"QuantitativeValue","value":800},"height":{"@type":"QuantitativeValue","value":450}},"brand":{"@type":"Brand","name":"Motortech"},"offers":{"@type":"Offer","price":"550","priceCurrency":"EUR","url":"https://motortech.fr/reprogrammation/moto"}},{"@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Reprogrammation","item":"https://motortech.fr/reprogrammation"},{"@type":"ListItem","position":2,"name":"Reprogrammation moto","item":"https://motortech.fr/reprogrammation/moto"}]}]}</script>
<meta property="og:site_name" content="Motortech.fr">
<meta name="csrf-token" content="aJE1IYPV3wi7jrHaHYc1AdPwaukqy3ZhcXqKc0Rq">
<meta name="facebook-domain-verification" content="xhir1vxod91b85wvrniox18q845fcj"/>
<link rel="preconnect" href="https://fonts.googleapis.com" crossorigin>
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link rel="preconnect" href="https://cdn.jsdelivr.net" crossorigin>
<link rel="preload" href="/assets/fonts/thicccboi/THICCCBOI-Bold.woff2" as="font" type="font/woff2" crossorigin>
<link rel="preload" href="/fonts/Unicons.woff2?9e1df5b1d5d36fe0aa5c45a3fbc7d810" as="font" type="font/woff2" crossorigin>
<link rel="shortcut icon" href="/favicon.ico">
<link rel="stylesheet" href="/css/plugins.css">
<link rel="stylesheet" href="/css/style.css">
<link rel="preload" href="/assets/css/colors/aqua.css" as="style" onload="this.rel='stylesheet'">
<noscript><link rel="stylesheet" href="/assets/css/colors/aqua.css"></noscript>
<link rel="preload" href="/assets/css/fonts/thicccboi.css" as="style" onload="this.rel='stylesheet'">
<noscript><link rel="stylesheet" href="/assets/css/fonts/thicccboi.css"></noscript>
<script src="/js/jquery.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/sweetalert2@11" defer crossorigin="anonymous"></script>
<script type="text/javascript">
(function(c,l,a,r,i,t,y){
c[a]=c[a]||function(){(c[a].q=c[a].q||[]).push(arguments)};
t=l.createElement(r);t.async=1;t.src="https://www.clarity.ms/tag/"+i;
y=l.getElementsByTagName(r)[0];y.parentNode.insertBefore(t,y);
})(window, document, "clarity", "script", "q4zvnbdm90");
</script>
<link rel="preload" as="style" href="https://motortech.fr/build/assets/app-D3XUmqm7.css" /><link rel="stylesheet" href="https://motortech.fr/build/assets/app-D3XUmqm7.css" data-navigate-track="reload" /> <!-- Livewire Styles --><style >[wire\:loading][wire\:loading], [wire\:loading\.delay][wire\:loading\.delay], [wire\:loading\.inline-block][wire\:loading\.inline-block], [wire\:loading\.inline][wire\:loading\.inline], [wire\:loading\.block][wire\:loading\.block], [wire\:loading\.flex][wire\:loading\.flex], [wire\:loading\.table][wire\:loading\.table], [wire\:loading\.grid][wire\:loading\.grid], [wire\:loading\.inline-flex][wire\:loading\.inline-flex] {display: none;}[wire\:loading\.delay\.none][wire\:loading\.delay\.none], [wire\:loading\.delay\.shortest][wire\:loading\.delay\.shortest], [wire\:loading\.delay\.shorter][wire\:loading\.delay\.shorter], [wire\:loading\.delay\.short][wire\:loading\.delay\.short], [wire\:loading\.delay\.default][wire\:loading\.delay\.default], [wire\:loading\.delay\.long][wire\:loading\.delay\.long], [wire\:loading\.delay\.longer][wire\:loading\.delay\.longer], [wire\:loading\.delay\.longest][wire\:loading\.delay\.longest] {display: none;}[wire\:offline][wire\:offline] {display: none;}[wire\:dirty]:not(textarea):not(input):not(select) {display: none;}:root {--livewire-progress-bar-color: #2299dd;}[x-cloak] {display: none !important;}[wire\:cloak] {display: none !important;}dialog#livewire-error::backdrop {background-color: rgba(0, 0, 0, .6);}</style>
</head>
<body>
<script>
function gtmPush() {
}
addEventListener("load", gtmPush);
</script>
<noscript>
<iframe
src="https://www.googletagmanager.com/ns.html?id=GTM-5HCH5KB"
height="0"
width="0"
style="display:none;visibility:hidden"
></iframe>
</noscript>
<div class="content-wrapper bg-soft-dark">
<header class="wrapper bg-dark">
<nav class="navbar navbar-expand-lg center-nav transparent navbar-dark">
<div class="container flex-lg-row flex-nowrap align-items-center">
<div class="navbar-brand w-100">
<a href="/">
<img class="logo-light mtk-logo mt-1 d-none d-lg-block" src="/images/logo_s.svg" width="200px" height="45px" alt="logo motortech light"/>
<img class="logo-light mtk-logo mt-1 d-block d-lg-none" src="/images/logo_small.svg" alt="logo motortech light small" style="max-height: 33px"/>
</a>
</div>
<div class="navbar-collapse offcanvas offcanvas-nav offcanvas-start">
<div class="offcanvas-header d-lg-none">
<img src="/images/logo_s.svg" srcset="/images/logo_s.svg 2x" width="300px" height="67px" alt="logo motortech" style="max-width: 85%"/>
<button type="button" class="btn-close btn-close-white" data-bs-dismiss="offcanvas" aria-label="Close"></button>
</div>
<div class="offcanvas-body ms-lg-5 d-flex flex-column h-100">
<ul class="navbar-nav">
<li class="nav-item"><a class="nav-link mtk-red" href="https://motortech.fr/reprogrammation/voiture">Reprogrammation</a></li>
<li class="nav-item"><a class="nav-link mtk-e85" href="https://motortech.fr/conversion-ethanol-e85-flexfuel">E85</a></li>
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="#" data-bs-toggle="dropdown">Communauté</a>
<ul class="dropdown-menu">
<li class="nav-item">
<a class="dropdown-item" href="https://motortech.fr/actualites">Actualités</a>
</li>
<li class="nav-item">
<a class="dropdown-item" href="https://motortech.fr/evenements">Événements</a>
</li>
</ul>
</li>
<li class="nav-item"><a class="nav-link" href="https://motortech.fr/shop">Shop</a></li>
<li class="nav-item"><a class="nav-link" href="https://motortech.fr/faq">FAQ</a></li>
<li class="nav-item"><a class="nav-link" href="https://motortech.fr/centres">Nos centres</a></li>
<li class="nav-item d-lg-none">
<a class="nav-link" href="https://motortech.fr/mon-compte/connexion">
<i class="uil uil-user me-1"></i> Se connecter
</a>
</li>
</ul>
</div>
</div>
<div class="navbar-other w-100 d-flex ms-auto" id="menu-bar-id">
<ul class="navbar-nav flex-row align-items-center ms-auto">
<li class="nav-item">
<span class="nav-link" onclick="openSidebar()" style="cursor: pointer" title="Choix centre et devise">
<i class="uil uil-globe"></i>
</span>
</li>
<li class="nav-item"><span class="nav-link" x-data @click="$dispatch('open-search')" style="cursor: pointer" title="Rechercher (Ctrl+K)"><i class="uil uil-search"></i></span></li>
<li class="nav-item" style="position: relative;"
x-data="{ count: 0 }"
@cart-count-updated.window="count = $event.detail.count">
<a class="nav-link" href="https://motortech.fr/mon-compte/panier" title="Mon panier">
<i class="uil uil-shopping-cart"></i>
<span class="cart-badge" x-show="count > 0" x-text="count" x-cloak></span>
</a>
</li>
<li class="nav-item">
<a class="nav-link" href="https://motortech.fr/mon-compte/connexion" title="Se connecter">
<i class="uil uil-user"></i>
</a>
</li>
<li class="nav-item d-none d-md-block">
<button data-bs-toggle="modal" data-bs-target="#modal-contact" class="btn btn-sm mtk-btn-red rounded link-light take-appointment">Prendre RDV</button>
</li>
<li class="nav-item d-lg-none">
<button class="hamburger offcanvas-nav-btn" aria-label="Bouton menu"><span></span></button>
</li>
</ul>
</div>
</div>
</nav>
<style>
[x-cloak] { display: none !important; }
.mtk-search-backdrop {
position: fixed;
inset: 0;
background: rgba(0, 0, 0, 0.6);
backdrop-filter: blur(8px);
-webkit-backdrop-filter: blur(8px);
z-index: 1100;
}
.mtk-search-container {
position: fixed;
inset: 0;
z-index: 1101;
display: flex;
align-items: flex-start;
justify-content: center;
padding-top: min(18vh, 140px);
padding-left: 1rem;
padding-right: 1rem;
}
.mtk-search-modal {
width: 100%;
max-width: 640px;
background: #111113;
border: 1px solid rgba(255, 255, 255, 0.08);
border-radius: 16px;
box-shadow:
0 0 0 1px rgba(255, 255, 255, 0.04),
0 24px 64px rgba(0, 0, 0, 0.55),
0 0 48px rgba(226, 9, 25, 0.04);
overflow: hidden;
display: flex;
flex-direction: column;
max-height: min(520px, 75vh);
}
.mtk-search-powerline {
height: 2px;
background: linear-gradient(90deg, transparent 0%, #e20919 25%, #e20919 75%, transparent 100%);
transform: scaleX(0);
box-shadow: 0 0 16px rgba(226, 9, 25, 0.3);
}
.mtk-search-powerline.is-active {
animation: mtk-sweep 0.5s cubic-bezier(0.16, 1, 0.3, 1) 0.1s forwards;
}
.mtk-search-powerline.is-searching {
transform: scaleX(1);
background: linear-gradient(90deg, transparent, #e20919 20%, transparent 40%, transparent 60%, #e20919 80%, transparent);
background-size: 200% 100%;
animation: mtk-searching 1.2s ease-in-out infinite;
}
@keyframes mtk-sweep {
to { transform: scaleX(1); }
}
@keyframes mtk-searching {
0% { background-position: 100% 0; }
100% { background-position: -100% 0; }
}
.mtk-search-header {
display: flex;
align-items: center;
padding: 14px 20px;
gap: 12px;
}
.mtk-search-header-icon {
color: #52525b;
flex-shrink: 0;
font-size: 20px;
line-height: 1;
}
.mtk-search-input {
flex: 1;
background: transparent;
border: none;
outline: none;
color: #fafafa;
font-size: 16px;
font-family: THICCCBOI, sans-serif;
font-weight: 500;
caret-color: #e20919;
min-width: 0;
}
.mtk-search-input::placeholder {
color: #3f3f46;
}
.mtk-search-kbd {
display: inline-flex;
align-items: center;
justify-content: center;
min-width: 20px;
height: 20px;
padding: 0 5px;
font-size: 10px;
font-weight: 600;
font-family: THICCCBOI, sans-serif;
color: #52525b;
background: rgba(255, 255, 255, 0.05);
border: 1px solid rgba(255, 255, 255, 0.08);
border-radius: 4px;
line-height: 1;
flex-shrink: 0;
}
.mtk-search-divider {
height: 1px;
background: rgba(255, 255, 255, 0.06);
}
.mtk-search-body {
flex: 1;
overflow-y: auto;
padding: 6px 8px;
min-height: 0;
scrollbar-width: thin;
scrollbar-color: rgba(255, 255, 255, 0.08) transparent;
}
.mtk-search-body::-webkit-scrollbar { width: 5px; }
.mtk-search-body::-webkit-scrollbar-thumb {
background: rgba(255, 255, 255, 0.08);
border-radius: 3px;
}
.mtk-search-category-header {
display: flex;
align-items: center;
gap: 6px;
padding: 10px 12px 4px;
font-size: 10px;
font-weight: 700;
text-transform: uppercase;
letter-spacing: 0.06em;
color: #52525b;
font-family: THICCCBOI, sans-serif;
}
.mtk-search-category-header i {
font-size: 13px;
opacity: 0.7;
}
.mtk-search-item {
display: flex;
align-items: center;
gap: 12px;
padding: 9px 12px;
border-radius: 8px;
cursor: pointer;
text-decoration: none !important;
color: #fafafa !important;
transition: background 0.12s, border-color 0.12s;
border-left: 2px solid transparent;
position: relative;
}
.mtk-search-item:hover,
.mtk-search-item.is-active {
background: rgba(255, 255, 255, 0.04);
border-left-color: #e20919;
}
.mtk-search-item.is-active {
background: rgba(226, 9, 25, 0.07);
}
.mtk-search-item-body {
flex: 1;
min-width: 0;
}
.mtk-search-item-title {
font-size: 13.5px;
font-weight: 600;
color: #fafafa;
font-family: THICCCBOI, sans-serif;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
line-height: 1.3;
}
.mtk-search-item-sub {
font-size: 11.5px;
color: #8b8b96;
font-family: THICCCBOI, sans-serif;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
line-height: 1.3;
margin-top: 1px;
}
.mtk-search-chevron {
color: #3f3f46;
margin: 0 1px;
}
.mtk-search-hp {
font-weight: 700;
color: #e20919;
margin-left: 4px;
font-size: 12.5px;
}
.mtk-search-badge {
display: inline-flex;
align-items: center;
padding: 2px 7px;
font-size: 9.5px;
font-weight: 700;
font-family: THICCCBOI, sans-serif;
border-radius: 4px;
letter-spacing: 0.03em;
flex-shrink: 0;
text-transform: uppercase;
}
.mtk-search-badge-type {
background: rgba(255, 255, 255, 0.06);
color: #71717a;
}
.mtk-search-badge-diesel {
background: rgba(59, 130, 246, 0.12);
color: #60a5fa;
}
.mtk-search-badge-petrol {
background: rgba(34, 197, 94, 0.12);
color: #4ade80;
}
.mtk-search-badge-electric {
background: rgba(6, 182, 212, 0.12);
color: #22d3ee;
}
.mtk-search-badge-hybrid,
.mtk-search-badge-hybrid_diesel,
.mtk-search-badge-hybrid_petrol {
background: rgba(168, 85, 247, 0.12);
color: #c084fc;
}
.mtk-search-badge-gas {
background: rgba(245, 158, 11, 0.12);
color: #fbbf24;
}
.mtk-search-badge-hydrogen {
background: rgba(20, 184, 166, 0.12);
color: #2dd4bf;
}
.mtk-search-brand-logo {
width: 32px;
height: 32px;
border-radius: 8px;
display: flex;
align-items: center;
justify-content: center;
background: rgba(255, 255, 255, 0.88);
flex-shrink: 0;
overflow: hidden;
}
.mtk-search-logo-img {
width: 22px;
height: 22px;
object-fit: contain;
}
.mtk-search-logo-fallback {
font-size: 13px;
font-weight: 700;
color: #fafafa;
font-family: THICCCBOI, sans-serif;
}
.mtk-search-initial-icon {
width: 32px;
height: 32px;
border-radius: 8px;
display: flex;
align-items: center;
justify-content: center;
font-size: 13px;
font-weight: 700;
color: #fafafa;
background: rgba(255, 255, 255, 0.06);
flex-shrink: 0;
font-family: THICCCBOI, sans-serif;
}
.mtk-search-arrow {
color: #27272a;
width: 14px;
height: 14px;
flex-shrink: 0;
opacity: 0;
transition: opacity 0.12s;
}
.mtk-search-item:hover .mtk-search-arrow,
.mtk-search-item.is-active .mtk-search-arrow {
opacity: 1;
color: #e20919;
}
.mtk-search-empty,
.mtk-search-initial {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
padding: 40px 24px;
text-align: center;
}
.mtk-search-empty-icon {
font-size: 40px;
color: #27272a;
margin-bottom: 12px;
}
.mtk-search-empty-text {
font-size: 13px;
color: #52525b;
font-family: THICCCBOI, sans-serif;
}
.mtk-search-empty-query {
color: #a1a1aa;
font-weight: 600;
}
.mtk-search-initial-text {
font-size: 13px;
color: #3f3f46;
font-family: THICCCBOI, sans-serif;
margin-bottom: 16px;
}
.mtk-search-initial-icon-big {
font-size: 28px;
color: #27272a;
margin-bottom: 12px;
}
.mtk-search-hints {
display: flex;
align-items: center;
gap: 14px;
flex-wrap: wrap;
justify-content: center;
}
.mtk-search-hint {
display: flex;
align-items: center;
gap: 4px;
font-size: 11px;
color: #3f3f46;
font-family: THICCCBOI, sans-serif;
}
.mtk-search-footer {
display: flex;
align-items: center;
gap: 14px;
padding: 8px 20px;
border-top: 1px solid rgba(255, 255, 255, 0.05);
flex-shrink: 0;
}
.mtk-search-footer-brand {
margin-left: auto;
font-size: 10px;
font-weight: 600;
color: #27272a;
font-family: THICCCBOI, sans-serif;
letter-spacing: 0.04em;
}
.mtk-search-skeleton-row {
display: flex;
align-items: center;
gap: 12px;
padding: 9px 12px;
}
.mtk-search-skeleton-circle {
width: 32px;
height: 32px;
border-radius: 8px;
background: rgba(255, 255, 255, 0.04);
flex-shrink: 0;
animation: mtk-pulse 1.4s ease-in-out infinite;
}
.mtk-search-skeleton-line {
height: 11px;
border-radius: 4px;
background: rgba(255, 255, 255, 0.04);
animation: mtk-pulse 1.4s ease-in-out infinite;
}
@keyframes mtk-pulse {
0%, 100% { opacity: 1; }
50% { opacity: 0.35; }
}
/* Transition classes for Alpine */
.mtk-fade-enter { transition: opacity 0.2s ease-out; }
.mtk-fade-enter-start { opacity: 0; }
.mtk-fade-enter-end { opacity: 1; }
.mtk-fade-leave { transition: opacity 0.15s ease-in; }
.mtk-fade-leave-start { opacity: 1; }
.mtk-fade-leave-end { opacity: 0; }
.mtk-scale-enter { transition: opacity 0.2s ease-out, transform 0.2s cubic-bezier(0.16, 1, 0.3, 1); }
.mtk-scale-enter-start { opacity: 0; transform: scale(0.97) translateY(-8px); }
.mtk-scale-enter-end { opacity: 1; transform: scale(1) translateY(0); }
.mtk-scale-leave { transition: opacity 0.12s ease-in, transform 0.12s ease-in; }
.mtk-scale-leave-start { opacity: 1; transform: scale(1) translateY(0); }
.mtk-scale-leave-end { opacity: 0; transform: scale(0.97) translateY(-4px); }
@media (max-width: 640px) {
.mtk-search-container {
padding: 0;
align-items: stretch;
}
.mtk-search-modal {
max-width: 100%;
border-radius: 0;
max-height: 100dvh;
height: 100%;
}
}
</style>
<div
x-data="searchPalette()"
x-on:keydown.window="handleGlobalKeydown($event)"
@open-search.window="openModal()"
x-cloak
>
<div
x-show="open"
x-transition:enter="mtk-fade-enter"
x-transition:enter-start="mtk-fade-enter-start"
x-transition:enter-end="mtk-fade-enter-end"
x-transition:leave="mtk-fade-leave"
x-transition:leave-start="mtk-fade-leave-start"
x-transition:leave-end="mtk-fade-leave-end"
class="mtk-search-backdrop"
@click="closeModal()"
></div>
<div
x-show="open"
x-transition:enter="mtk-fade-enter"
x-transition:enter-start="mtk-fade-enter-start"
x-transition:enter-end="mtk-fade-enter-end"
x-transition:leave="mtk-fade-leave"
x-transition:leave-start="mtk-fade-leave-start"
x-transition:leave-end="mtk-fade-leave-end"
class="mtk-search-container"
@click.self="closeModal()"
>
<div
x-show="open"
x-transition:enter="mtk-scale-enter"
x-transition:enter-start="mtk-scale-enter-start"
x-transition:enter-end="mtk-scale-enter-end"
x-transition:leave="mtk-scale-leave"
x-transition:leave-start="mtk-scale-leave-start"
x-transition:leave-end="mtk-scale-leave-end"
class="mtk-search-modal"
role="dialog"
aria-modal="true"
aria-label="Recherche"
@keydown.escape.stop="closeModal()"
@keydown.arrow-up.prevent="navigateUp()"
@keydown.arrow-down.prevent="navigateDown()"
@keydown.enter.prevent="selectResult()"
>
<div class="mtk-search-powerline" :class="{ 'is-active': open, 'is-searching': loading }"></div>
<div class="mtk-search-header">
<i class="uil uil-search mtk-search-header-icon"></i>
<input
x-ref="searchInput"
x-model="query"
@input="onInput()"
type="text"
class="mtk-search-input"
placeholder="Rechercher un véhicule, moteur, marque..."
autocomplete="off"
spellcheck="false"
>
<kbd class="mtk-search-kbd" style="cursor: pointer;" @click="closeModal()">Esc</kbd>
</div>
<div class="mtk-search-divider"></div>
<div class="mtk-search-body" x-ref="resultsList">
<div x-show="!hasQuery && !loading" class="mtk-search-initial">
<i class="uil uil-search-alt mtk-search-initial-icon-big"></i>
<p class="mtk-search-initial-text">Recherchez parmi les marques, modèles et moteurs</p>
<div class="mtk-search-hints">
<span class="mtk-search-hint">
<kbd class="mtk-search-kbd">↑</kbd><kbd class="mtk-search-kbd">↓</kbd> Naviguer
</span>
<span class="mtk-search-hint">
<kbd class="mtk-search-kbd">↵</kbd> Ouvrir
</span>
<span class="mtk-search-hint">
<kbd class="mtk-search-kbd">Esc</kbd> Fermer
</span>
</div>
</div>
<div x-show="loading" style="padding: 4px 0;">
<template x-for="i in 5" :key="'skel-'+i">
<div class="mtk-search-skeleton-row">
<div class="mtk-search-skeleton-circle" :style="'animation-delay: ' + (i * 0.08) + 's'"></div>
<div style="flex: 1;">
<div class="mtk-search-skeleton-line" :style="'width: ' + (45 + i * 8) + '%; margin-bottom: 6px; animation-delay: ' + (i * 0.08) + 's'"></div>
<div class="mtk-search-skeleton-line" :style="'width: ' + (25 + i * 5) + '%; height: 9px; animation-delay: ' + (i * 0.08 + 0.04) + 's'"></div>
</div>
</div>
</template>
</div>
<div x-show="hasQuery && !loading && !hasResults" class="mtk-search-empty">
<i class="uil uil-search-minus mtk-search-empty-icon"></i>
<p class="mtk-search-empty-text">
Aucun résultat pour « <span class="mtk-search-empty-query" x-text="query"></span> »
</p>
</div>
<div x-show="hasQuery && !loading && hasResults">
<div x-show="results.brands.length > 0">
<div class="mtk-search-category-header">
<i class="uil uil-tag-alt"></i>
<span>Marques</span>
</div>
<template x-for="(brand, i) in results.brands" :key="'b-'+i">
<a
:href="brand.url"
class="mtk-search-item"
:class="{ 'is-active': activeIndex === getFlatIndex('brands', i) }"
:data-result-index="getFlatIndex('brands', i)"
@mouseenter="activeIndex = getFlatIndex('brands', i)"
>
<span class="mtk-search-brand-logo">
<img x-show="brand.logo" :src="brand.logo" :alt="brand.name" class="mtk-search-logo-img">
<span x-show="!brand.logo" x-text="brand.name.charAt(0)" class="mtk-search-logo-fallback"></span>
</span>
<div class="mtk-search-item-body">
<div class="mtk-search-item-title" x-text="brand.name"></div>
</div>
<span class="mtk-search-badge mtk-search-badge-type" x-text="brand.type_label"></span>
<svg class="mtk-search-arrow" viewbox="0 0 16 16" fill="none"><path d="M6 12l4-4-4-4" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/></svg>
</a>
</template>
</div>
<div x-show="results.models.length > 0">
<div class="mtk-search-category-header">
<i class="uil uil-apps"></i>
<span>Modèles</span>
</div>
<template x-for="(model, i) in results.models" :key="'m-'+i">
<a
:href="model.url"
class="mtk-search-item"
:class="{ 'is-active': activeIndex === getFlatIndex('models', i) }"
:data-result-index="getFlatIndex('models', i)"
@mouseenter="activeIndex = getFlatIndex('models', i)"
>
<span class="mtk-search-brand-logo">
<img x-show="model.logo" :src="model.logo" :alt="model.brand_name" class="mtk-search-logo-img">
<span x-show="!model.logo" x-text="model.brand_name.charAt(0)" class="mtk-search-logo-fallback"></span>
</span>
<div class="mtk-search-item-body">
<div class="mtk-search-item-title">
<span x-text="model.brand_name"></span>
<span class="mtk-search-chevron"> › </span>
<span x-text="model.name"></span>
</div>
</div>
<svg class="mtk-search-arrow" viewbox="0 0 16 16" fill="none"><path d="M6 12l4-4-4-4" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/></svg>
</a>
</template>
</div>
<div x-show="results.engines.length > 0">
<div class="mtk-search-category-header">
<i class="uil uil-bolt-alt"></i>
<span>Moteurs</span>
</div>
<template x-for="(engine, i) in results.engines" :key="'e-'+i">
<a
:href="engine.url"
class="mtk-search-item"
:class="{ 'is-active': activeIndex === getFlatIndex('engines', i) }"
:data-result-index="getFlatIndex('engines', i)"
@mouseenter="activeIndex = getFlatIndex('engines', i)"
>
<span class="mtk-search-brand-logo">
<img x-show="engine.logo" :src="engine.logo" :alt="engine.brand_name" class="mtk-search-logo-img">
<span x-show="!engine.logo" x-text="engine.brand_name.charAt(0)" class="mtk-search-logo-fallback"></span>
</span>
<div class="mtk-search-item-body">
<div class="mtk-search-item-title">
<span x-text="engine.name"></span>
<span class="mtk-search-hp" x-text="engine.horsepower + 'ch'"></span>
</div>
<div class="mtk-search-item-sub">
<span x-text="engine.brand_name"></span>
<span class="mtk-search-chevron"> › </span>
<span x-text="engine.model_name"></span>
<span class="mtk-search-chevron"> › </span>
<span x-text="engine.version_name"></span>
</div>
</div>
<span class="mtk-search-badge" :class="powerBadgeClass(engine.power_type_value)" x-text="engine.power_type"></span>
<svg class="mtk-search-arrow" viewbox="0 0 16 16" fill="none"><path d="M6 12l4-4-4-4" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/></svg>
</a>
</template>
</div>
</div>
</div>
<div class="mtk-search-footer">
<span class="mtk-search-hint">
<kbd class="mtk-search-kbd">↑</kbd><kbd class="mtk-search-kbd">↓</kbd> Naviguer
</span>
<span class="mtk-search-hint">
<kbd class="mtk-search-kbd">↵</kbd> Ouvrir
</span>
<span class="mtk-search-footer-brand">MOTORTECH</span>
</div>
</div>
</div>
</div>
<script>
function searchPalette() {
return {
open: false,
query: '',
loading: false,
activeIndex: -1,
results: { brands: [], models: [], engines: [] },
abortController: null,
debounceTimer: null,
get flatResults() {
const flat = [];
['brands', 'models', 'engines'].forEach(cat => {
(this.results[cat] || []).forEach((item, i) => {
flat.push({ ...item, _cat: cat, _i: i });
});
});
return flat;
},
get totalResults() { return this.flatResults.length; },
get hasResults() { return this.totalResults > 0; },
get hasQuery() { return this.query.length >= 2; },
openModal() {
this.open = true;
this.$nextTick(() => this.$refs.searchInput?.focus());
document.body.style.overflow = 'hidden';
},
closeModal() {
this.open = false;
this.query = '';
this.activeIndex = -1;
this.results = { brands: [], models: [], versions: [], engines: [] };
document.body.style.overflow = '';
},
handleGlobalKeydown(e) {
if ((e.ctrlKey || e.metaKey) && e.key === 'k') {
e.preventDefault();
this.open ? this.closeModal() : this.openModal();
}
},
onInput() {
clearTimeout(this.debounceTimer);
this.activeIndex = -1;
if (!this.hasQuery) {
this.results = { brands: [], models: [], versions: [], engines: [] };
this.loading = false;
return;
}
this.loading = true;
this.debounceTimer = setTimeout(() => this.search(), 250);
},
async search() {
if (this.abortController) this.abortController.abort();
this.abortController = new AbortController();
try {
const res = await fetch(
'/api/search/multi?query=' + encodeURIComponent(this.query),
{ signal: this.abortController.signal }
);
if (!res.ok) throw new Error('Search failed');
const data = await res.json();
this.results = {
brands: data.brands || [],
models: data.models || [],
engines: data.engines || [],
};
this.activeIndex = this.totalResults > 0 ? 0 : -1;
} catch (e) {
if (e.name !== 'AbortError') {
this.results = { brands: [], models: [], versions: [], engines: [] };
}
} finally {
this.loading = false;
}
},
navigateUp() {
if (this.activeIndex > 0) this.activeIndex--;
this.scrollToActive();
},
navigateDown() {
if (this.activeIndex < this.totalResults - 1) this.activeIndex++;
else if (this.activeIndex === -1 && this.totalResults > 0) this.activeIndex = 0;
this.scrollToActive();
},
scrollToActive() {
this.$nextTick(() => {
const el = this.$el.querySelector('[data-result-index="' + this.activeIndex + '"]');
el?.scrollIntoView({ block: 'nearest' });
});
},
selectResult() {
if (this.activeIndex >= 0 && this.activeIndex < this.totalResults) {
const result = this.flatResults[this.activeIndex];
if (result?.url) window.location.href = result.url;
}
},
getFlatIndex(category, localIndex) {
let offset = 0;
for (const cat of ['brands', 'models', 'engines']) {
if (cat === category) return offset + localIndex;
offset += (this.results[cat]?.length || 0);
}
return -1;
},
powerBadgeClass(powerTypeValue) {
const map = {
diesel: 'mtk-search-badge-diesel',
petrol: 'mtk-search-badge-petrol',
electric: 'mtk-search-badge-electric',
hybrid: 'mtk-search-badge-hybrid',
hybrid_diesel: 'mtk-search-badge-hybrid',
hybrid_petrol: 'mtk-search-badge-hybrid',
gas: 'mtk-search-badge-gas',
hydrogen: 'mtk-search-badge-hydrogen',
};
return map[powerTypeValue] || 'mtk-search-badge-type';
}
}
}
</script>
</header>
<main>
<section class="brands-hero" data-watermark="MOTO">
<div class="container">
<nav class="brands-breadcrumb" aria-label="Fil d'Ariane">
<a href="https://motortech.fr/reprogrammation">Reprogrammation</a>
<span class="separator">/</span>
<span class="current">Moto</span>
</nav>
<div class="brands-hero-content">
<div class="brands-vehicle-icon">
<img src="/icons/motor-sports.svg" alt="icone moto">
</div>
<div class="brands-hero-text">
<p class="brands-title">
Reprogrammation <span class="accent">moto</span>
</p>
<p class="brands-subtitle">
Sélectionnez le type et la marque du véhicule à reprogrammer.
</p>
</div>
</div>
<div class="brands-tabs">
<a href="https://motortech.fr/reprogrammation/voiture"
class="brands-tab"
aria-label="Voitures">
<img src="/icons/automobile-1.svg" alt="icone voiture" class="brands-tab-icon">
<span class="brands-tab-label">Voitures</span>
<span class="brands-tab-count">9966</span>
</a>
<a href="https://motortech.fr/reprogrammation/moto"
class="brands-tab active"
aria-label="Motos">
<img src="/icons/motor-sports.svg" alt="icone moto" class="brands-tab-icon">
<span class="brands-tab-label">Motos</span>
<span class="brands-tab-count">469</span>
</a>
<a href="https://motortech.fr/reprogrammation/quad"
class="brands-tab"
aria-label="Quads">
<img src="/icons/quad.svg" alt="icone quad" class="brands-tab-icon">
<span class="brands-tab-label">Quads</span>
<span class="brands-tab-count">135</span>
</a>
<a href="https://motortech.fr/reprogrammation/jetski"
class="brands-tab"
aria-label="Jet-skis">
<img src="/icons/leisure.svg" alt="icone jetski" class="brands-tab-icon">
<span class="brands-tab-label">Jet-skis</span>
<span class="brands-tab-count">43</span>
</a>
<a href="https://motortech.fr/reprogrammation/camion"
class="brands-tab"
aria-label="Camions">
<img src="/icons/truck.svg" alt="icone camion" class="brands-tab-icon">
<span class="brands-tab-label">Camions</span>
<span class="brands-tab-count">815</span>
</a>
<a href="https://motortech.fr/reprogrammation/agricole"
class="brands-tab"
aria-label="Agricole">
<img src="/icons/transportation-1.svg" alt="icone agricole" class="brands-tab-icon">
<span class="brands-tab-label">Agri.</span>
<span class="brands-tab-count">1244</span>
</a>
</div>
</div>
</section>
<section class="brands-selection" id="selection-marque">
<div class="container">
<div class="brands-selection-header">
<h1 class="brands-selection-title">
<span class="accent">Reprogrammation</span> du moteur de votre moto selon sa marque
</h1>
<p class="brands-selection-count">
<strong id="brands-visible-count">24</strong> marques disponibles
</p>
</div>
<div class="brands-search" x-data>
<div class="brands-search-wrapper" @click="$dispatch('open-search')" style="cursor: pointer;">
<i class="uil uil-search brands-search-icon"></i>
<span class="brands-search-input" style="user-select: none; color: #9ca3af;">Rechercher...</span>
<kbd class="d-none d-lg-inline-flex" style="display: inline-flex; align-items: center; padding: 2px 6px; margin-right: 0.6rem; font-size: 11px; font-weight: 600; font-family: THICCCBOI, sans-serif; color: #9ca3af; background: rgba(0,0,0,0.04); border: 1px solid rgba(0,0,0,0.08); border-radius: 4px; line-height: 1;">Ctrl+K</kbd>
</div>
</div>
<div class="brands-grid" id="brands-grid">
<a class="brand-card"
href="https://motortech.fr/reprogrammation/moto/aprilia-moto#selection-model"
title="Aprilia"
data-name="aprilia">
<div class="brand-card-logo">
<img src="https://api.olsx.eu/storage/brands/logos/aprilia_moto.png" alt="logo Aprilia">
</div>
<span class="brand-card-name">Aprilia</span>
</a>
<a class="brand-card"
href="https://motortech.fr/reprogrammation/moto/benelli-moto#selection-model"
title="Benelli"
data-name="benelli">
<div class="brand-card-logo">
<img src="https://api.olsx.eu/storage/brands/logos/benelli_moto.png" alt="logo Benelli">
</div>
<span class="brand-card-name">Benelli</span>
</a>
<a class="brand-card"
href="https://motortech.fr/reprogrammation/moto/bmw-motorrad-moto#selection-model"
title="BMW Motorrad"
data-name="bmw motorrad">
<div class="brand-card-logo">
<img src="https://api.olsx.eu/storage/brands/logos/bmw_motorrad_moto.png" alt="logo BMW Motorrad">
</div>
<span class="brand-card-name">BMW Motorrad</span>
</a>
<a class="brand-card"
href="https://motortech.fr/reprogrammation/moto/cfmoto-moto#selection-model"
title="CFMOTO"
data-name="cfmoto">
<div class="brand-card-logo">
<img src="https://api.olsx.eu/storage/brands/logos/cfmoto_moto.png" alt="logo CFMOTO">
</div>
<span class="brand-card-name">CFMOTO</span>
</a>
<a class="brand-card"
href="https://motortech.fr/reprogrammation/moto/ducati-moto#selection-model"
title="Ducati"
data-name="ducati">
<div class="brand-card-logo">
<img src="https://api.olsx.eu/storage/brands/logos/ducati_moto.png" alt="logo Ducati">
</div>
<span class="brand-card-name">Ducati</span>
</a>
<a class="brand-card"
href="https://motortech.fr/reprogrammation/moto/fb-mondial-moto#selection-model"
title="FB Mondial"
data-name="fb mondial">
<div class="brand-card-logo">
<img src="https://api.olsx.eu/storage/brands/logos/fb_mondial_moto.png" alt="logo FB Mondial">
</div>
<span class="brand-card-name">FB Mondial</span>
</a>
<a class="brand-card"
href="https://motortech.fr/reprogrammation/moto/gasgas-moto#selection-model"
title="GasGas"
data-name="gasgas">
<div class="brand-card-logo">
<img src="https://api.olsx.eu/storage/brands/logos/gasgas_moto.png" alt="logo GasGas">
</div>
<span class="brand-card-name">GasGas</span>
</a>
<a class="brand-card"
href="https://motortech.fr/reprogrammation/moto/harley-davidson-moto#selection-model"
title="Harley-Davidson"
data-name="harley-davidson">
<div class="brand-card-logo">
<img src="https://api.olsx.eu/storage/brands/logos/harley_davidson_moto.png" alt="logo Harley-Davidson">
</div>
<span class="brand-card-name">Harley-Davidson</span>
</a>
<a class="brand-card"
href="https://motortech.fr/reprogrammation/moto/honda-moto#selection-model"
title="Honda"
data-name="honda">
<div class="brand-card-logo">
<img src="https://api.olsx.eu/storage/brands/logos/honda_moto.png" alt="logo Honda">
</div>
<span class="brand-card-name">Honda</span>
</a>
<a class="brand-card"
href="https://motortech.fr/reprogrammation/moto/husqvarna-moto#selection-model"
title="Husqvarna"
data-name="husqvarna">
<div class="brand-card-logo">
<img src="https://api.olsx.eu/storage/brands/logos/husqvarna_moto.png" alt="logo Husqvarna">
</div>
<span class="brand-card-name">Husqvarna</span>
</a>
<a class="brand-card"
href="https://motortech.fr/reprogrammation/moto/indian-motorcycle-moto#selection-model"
title="Indian Motorcycle"
data-name="indian motorcycle">
<div class="brand-card-logo">
<img src="https://api.olsx.eu/storage/brands/logos/indian_motorcycle_moto.png" alt="logo Indian Motorcycle">
</div>
<span class="brand-card-name">Indian Motorcycle</span>
</a>
<a class="brand-card"
href="https://motortech.fr/reprogrammation/moto/kawasaki-moto#selection-model"
title="Kawasaki"
data-name="kawasaki">
<div class="brand-card-logo">
<img src="https://api.olsx.eu/storage/brands/logos/kawasaki_moto.png" alt="logo Kawasaki">
</div>
<span class="brand-card-name">Kawasaki</span>
</a>
<a class="brand-card"
href="https://motortech.fr/reprogrammation/moto/keeway-moto#selection-model"
title="Keeway"
data-name="keeway">
<div class="brand-card-logo">
<img src="https://api.olsx.eu/storage/brands/logos/keeway_moto.png" alt="logo Keeway">
</div>
<span class="brand-card-name">Keeway</span>
</a>
<a class="brand-card"
href="https://motortech.fr/reprogrammation/moto/ktm-moto#selection-model"
title="KTM"
data-name="ktm">
<div class="brand-card-logo">
<img src="https://api.olsx.eu/storage/brands/logos/ktm_moto.png" alt="logo KTM">
</div>
<span class="brand-card-name">KTM</span>
</a>
<a class="brand-card"
href="https://motortech.fr/reprogrammation/moto/linhai-moto#selection-model"
title="Linhai"
data-name="linhai">
<div class="brand-card-logo">
<img src="https://api.olsx.eu/storage/brands/logos/linhai_moto.png" alt="logo Linhai">
</div>
<span class="brand-card-name">Linhai</span>
</a>
<a class="brand-card"
href="https://motortech.fr/reprogrammation/moto/mash-motorcycles-moto#selection-model"
title="Mash motorcycles"
data-name="mash motorcycles">
<div class="brand-card-logo">
<img src="https://api.olsx.eu/storage/brands/logos/mash_motorcycles_moto.png" alt="logo Mash motorcycles">
</div>
<span class="brand-card-name">Mash motorcycles</span>
</a>
<a class="brand-card"
href="https://motortech.fr/reprogrammation/moto/mv-agusta-moto#selection-model"
title="MV Agusta"
data-name="mv agusta">
<div class="brand-card-logo">
<img src="https://api.olsx.eu/storage/brands/logos/mv_agusta_moto.png" alt="logo MV Agusta">
</div>
<span class="brand-card-name">MV Agusta</span>
</a>
<a class="brand-card"
href="https://motortech.fr/reprogrammation/moto/royal-alloy-moto#selection-model"
title="Royal Alloy"
data-name="royal alloy">
<div class="brand-card-logo">
<img src="https://api.olsx.eu/storage/brands/logos/royal_alloy_moto.png" alt="logo Royal Alloy">
</div>
<span class="brand-card-name">Royal Alloy</span>
</a>
<a class="brand-card"
href="https://motortech.fr/reprogrammation/moto/royal-enfield#selection-model"
title="Royal Enfield"
data-name="royal enfield">
<div class="brand-card-logo">
<img src="https://api.olsx.eu/storage/brands/logos/royal_enfield_20260319_08_36_21.png" alt="logo Royal Enfield">
</div>
<span class="brand-card-name">Royal Enfield</span>
</a>
<a class="brand-card"
href="https://motortech.fr/reprogrammation/moto/suzuki-moto#selection-model"
title="Suzuki"
data-name="suzuki">
<div class="brand-card-logo">
<img src="https://api.olsx.eu/storage/brands/logos/suzuki_moto.png" alt="logo Suzuki">
</div>
<span class="brand-card-name">Suzuki</span>
</a>
<a class="brand-card"
href="https://motortech.fr/reprogrammation/moto/triumph-moto#selection-model"
title="Triumph"
data-name="triumph">
<div class="brand-card-logo">
<img src="https://api.olsx.eu/storage/brands/logos/triumph_moto.png" alt="logo Triumph">
</div>
<span class="brand-card-name">Triumph</span>
</a>
<a class="brand-card"
href="https://motortech.fr/reprogrammation/moto/voge-moto#selection-model"
title="Voge"
data-name="voge">
<div class="brand-card-logo">
<img src="https://api.olsx.eu/storage/brands/logos/voge_moto.png" alt="logo Voge">
</div>
<span class="brand-card-name">Voge</span>
</a>
<a class="brand-card"
href="https://motortech.fr/reprogrammation/moto/yamaha-moto#selection-model"
title="Yamaha"
data-name="yamaha">
<div class="brand-card-logo">
<img src="https://api.olsx.eu/storage/brands/logos/yamaha_moto.png" alt="logo Yamaha">
</div>
<span class="brand-card-name">Yamaha</span>
</a>
<a class="brand-card"
href="https://motortech.fr/reprogrammation/moto/zontes-moto#selection-model"
title="Zontes"
data-name="zontes">
<div class="brand-card-logo">
<img src="https://api.olsx.eu/storage/brands/logos/zontes_moto.png" alt="logo Zontes">
</div>
<span class="brand-card-name">Zontes</span>
</a>
</div>
</div>
</section>
<section class="brands-content">
<div class="container">
<div class="row">
<div class="col-md-12 mb-8">
<p>
Votre moto manque de répondant ? Envie de plus de puissance, sans sacrifier la consommation
? Avec la <strong>reprogrammation moteur de votre moto</strong>, libérez tout son potentiel.
</p>
<p class="mb-0">
Chez Motortech, l’optimisation, c’est notre spécialité. Nos techniciens ajustent avec
précision la <strong>cartographie de votre ECU pour gagner en puissance, en couple et en
efficacité</strong>. Prêt à <strong>réveiller</strong> le potentiel caché de votre moto
?
</p>
</div>
</div>
</div>
</section>
<section class="wrapper bg-soft-dark">
<div class="container py-14">
<div class="row">
<div class="col-md-12">
<h2 class="mb-6">Qu’est-ce que la <span class="mtk-red">reprogrammation moteur</span> d’une moto ?</h2>
<div class="text-center mb-6">
<img src="/images/reprog_marques/reprog_moto.webp" alt="Moteur diesel" class="img-fluid shadow rounded my-4" loading="lazy" width="800" height="450">
</div>
<h3 class="mt-10">L’optimisation de la cartographie ECU de votre moto, en Clair !</h3>
<p>
Sous le carénage de votre moto, un <strong>cerveau électronique</strong> gère toute la puissance du moteur : l’<strong>ECU</strong> (Engine Control Unit). C’est lui qui <strong>définit la quantité de carburant injecté, le moment d’allumage, ou encore la pression du turbo</strong> (si votre moto en est équipée).
Problème ? Les réglages d’usine sont souvent trop conservateurs, bridant les performances de votre machine. La <a href="https://motortech.fr/reprogrammation/voiture" class="fw-bold mtk-red">reprogrammation moteur</a>, c’est l’art d’affiner ces paramètres, en optimisant chaque détail pour gagner en puissance, améliorer le couple moteur et réduire la consommation.
</p>
<h3 class="mt-10">Pourquoi reprogrammer sa moto ?</h3>
<p>
Si vous hésitez encore, voici ce que ça change concrètement :
</p>
<ul>
<li><strong>Gain de puissance immédiat</strong> : Une accélération plus franche, des montées en régime plus fluides.</li>
<li><strong>Plus de couple</strong> : Une réponse moteur plus rapide, parfait pour les dépassements.</li>
<li><strong>Moins de consommation</strong> : Un moteur optimisé consomme <strong>moins de carburant</strong> à conduite égale.</li>
<li><strong>Expérience de conduite améliorée</strong> : Fini les trous à l’accélération, place à la <strong>réactivité pure</strong> !</li>
</ul>
<p>
Et si vous voulez rouler à l’E85, notre reprogrammation <a href="https://motortech.fr/conversion-ethanol-e85-flexfuel" class="fw-bold mtk-e85">Stage 1 Flexfuel</a> permet de passer au bioéthanol tout en gagnant en performance.
</p>
</div>
</div>
</div>
</section>
<section class="wrapper bg-light wrapper-border">
<div class="container py-14 py-md-16">
<div class="row gy-10 gy-sm-13 gx-lg-3 align-items-center">
<div class="col-xl-5 position-relative">
<div class="shape bg-dot mtk-red rellax w-17 h-21" data-rellax-speed="1" style="top: -2rem; left: -1.9rem;"></div>
<div class="shape rounded bg-soft-dark rellax d-md-block" data-rellax-speed="0" style="bottom: -1.8rem; right: -1.5rem; width: 85%; height: 90%; "></div>
<figure class="rounded"><img src="/images/reprog_marques/reprog_moto2.webp" srcset="/images/reprog_marques/reprog_moto2.webp 2x" alt="image ingénieur motoriste" loading="lazy" width="950px" height="650px" /></figure>
</div>
<!--/column -->
<div class="col-xl-6 offset-xl-1">
<h2 class="h1 mb-10">Comment se déroule la <span class="mtk-red">reprogrammation de votre moto</span> chez Motortech ?</h2>
<div class="d-flex flex-row mb-6">
<div>
<span class="icon btn btn-circle btn-dark disabled me-5"><span class="number fs-18">1</span></span>
</div>
<div>
<h3 class="mb-1 h4">Diagnostic complet et lecture de l’ECU</h3>
<p class="mb-0">
On commence par un <strong>bilan moteur</strong>, pour voir comment optimiser les <strong>performances sans risques</strong>.
</p>
</div>
</div>
<div class="d-flex flex-row mb-6">
<div>
<span class="icon btn btn-circle mtk-btn-red disabled me-5"><span class="number fs-18">2</span></span>
</div>
<div>
<h3 class="mb-1 h4">Modification de la cartographie</h3>
<p class="mb-0">Nos techniciens <strong>ajustent chaque paramètre</strong>, en fonction de votre usage. Chaque moto est unique, donc <strong>chaque réglage est personnalisé</strong>.</p>
</div>
</div>
<div class="d-flex flex-row mb-6">
<div>
<span class="icon btn btn-circle btn-dark disabled me-5"><span class="number fs-18">3</span></span>
</div>
<div>
<h3 class="mb-1 h4">Passage au banc de puissance</h3>
<p class="mb-0">Après reprogrammation, place au <strong>test en conditions réelles sur banc de puissance</strong>. On mesure les <strong>gains en chevaux et en couple</strong>, et on <strong>ajuste si nécessaire</strong>.</p>
</div>
</div>
<div class="d-flex flex-row">
<div>
<span class="icon btn btn-circle mtk-btn-red disabled me-5"><span class="number fs-18">4</span></span>
</div>
<div>
<h3 class="mb-1 h4">Essai routier et vérifications finales</h3>
<p class="mb-0">Avant de vous rendre votre moto, on s’assure que <strong>tout fonctionne parfaitement</strong> et que vous ressentez immédiatement la <strong>différence</strong> !</p>
</div>
</div>
</div>
</div>
</div>
</section>
<section class="wrapper bg-soft-dark">
<div class="container py-14">
<div class="row gy-10 gy-sm-13 gx-lg-3 align-items-center">
<div class="col-xl-6">
<h2 class="mb-6">Quelles sont les marques et les modèles de <span class="mtk-red">motos et de scooters compatibles</span> avec une reprogrammation ?</h2>
<p>
Motortech prend en charge une <strong>large gamme de motos et de scooters</strong>. Que vous rouliez en roadster, sportive, trail ou custom, nos experts adaptent la <strong>cartographie ECU</strong> en fonction des <strong>spécificités de votre moteur</strong>.
</p>
<p>
Nous intervenons sur les plus grandes marques du marché, notamment : <strong>BMW Motorrad, Ducati, Harley-Davidson, Honda, Yamaha</strong>, etc. et ce pour toutes cylindrées (125cc, 500cc, 650cc, etc.).
</p>
<p>
<strong>Référez-vous à notre configurateur ci-dessus pour vérifier si votre marque est compatible</strong>. Si elle n'est pas listée, n’hésitez pas à contacter le <a href="https://motortech.fr/centres" class="mtk-red fw-bold">centre Motortech</a> le plus proche de chez vous pour une reprogrammation sur mesure.
</p>
<h2 class="mb-6 mt-10">Stage 1 vs Stage 2 vs Stage 3 : Quelles <span class="mtk-red">différences</span> ?</h2>
<ul class="mb-0">
<li><strong>Stage 1</strong> : Reprogrammation de l’ECU, pas de modifications mécaniques.</li>
<li><strong>Stage 2</strong> : Ajout de pièces (admission d’air, ligne d’échappement).</li>
<li><strong>Stage 3 : Préparation racing</strong> : embrayage renforcé, kit turbo… réservé aux passionnés de piste !</li>
</ul>
</div>
<div class="col-xl-5 offset-xl-1 position-relative">
<div class="shape bg-dot red rellax d-md-block" data-rellax-speed="0" style="bottom: -1.8rem; right: -1.5rem; width: 85%; height: 90%; "></div>
<figure class="rounded"><img src="/images/reprog_marques/reprog_moto3.webp" alt="image éthanol" loading="lazy" width="950" height="969" /></figure>
</div>
</div>
</div>
</section>
<section class="wrapper bg-light">
<div class="container py-14">
<div class="row">
<div class="col-md-12">
<h2 class="mb-4 display-5 text-center">Faut-il <span class="mtk-red">reprogrammer</span> sa moto <span class="mtk-red">ou installer un kit</span> ?</h2>
<div class="row gy-10 gy-sm-13 py-8 gx-lg-3 align-items-center">
<div class="col-xl-5 position-relative">
<div class="shape bg-dot dark rellax w-17 h-21" data-rellax-speed="1" style="top: -2rem; left: -1.9rem; transform: translate3d(0px, 11px, 0px);"></div>
<figure class="rounded"><img src="/images/reprog_marques/reprog_moto4.webp" alt="image turbo" loading="lazy" width="700" height="602" /></figure>
</div>
<div class="col-xl-6 offset-xl-1">
<h3 class="mb-3">Pourquoi la reprogrammation ECU est bien meilleure</h3>
<p class="mb-6">
Le <strong>boîtier (kit) électronique</strong>, c’est une solution temporaire et souvent <strong>peu fiable</strong>. Il trompe les capteurs moteur sans modifier la <strong>cartographie réelle</strong>. La <strong>reprogrammation moteur</strong>, elle, ajuste <strong>les paramètres de façon optimale et durable</strong>.
</p>
<p>
Moralité ? <strong>Si vous cherchez la meilleure optimisation, optez pour une vraie reprogrammation</strong> !
</p>
</div>
</div>
</div>
</div>
</div>
</section>
<section class="wrapper bg-gray">
<div class="container py-14">
<div class="row">
<div class="col-md-12">
<section>
<h2 class="mb-6"><span class="mtk-red">Les garages Motortech</span> : votre spécialiste de la reprogrammation de motos depuis 2009</h2>
<p>
Depuis plus de <strong>15 ans, Motortech</strong> s’impose comme un <strong>expert reconnu</strong> dans la <strong>reprogrammation moteur et l’optimisation de cartographie ECU</strong>. Avec un réseau de <strong>12 centres spécialisés</strong> en France, Belgique, Suisse et DOM-TOM, nous mettons notre <strong>savoir-faire technique</strong> au service des passionnés et des professionnels en quête de <strong>performances accrues</strong>.
</p>
<p>
Notre expertise couvre un large éventail de <strong>motos, scooters et quads</strong>, avec des interventions adaptées aux spécificités de chaque <strong>véhicule</strong>. Grâce à des <strong>outils de pointe</strong>, un <strong>passage au banc de puissance systématique</strong> et des réglages <strong>100 % sécurisés</strong>, nous garantissons des <strong>résultats mesurables et fiables</strong>.
</p>
<p>
Besoin d’une cartographie <a href="https://motortech.fr/reprogrammation/voiture/stage-1" class="fw-bold mtk-red">stage 1</a>, <a href="https://motortech.fr/reprogrammation/voiture/stage-2" class="fw-bold mtk-red">stage 2</a>, <a href="https://motortech.fr/reprogrammation/voiture/stage-3" class="fw-bold mtk-red">stage 3</a> ou d’une
<a href="https://motortech.fr/conversion-ethanol-e85-flexfuel" class="fw-bold mtk-e85">reprogrammation ethanol</a> ? <strong>Nos techniciens qualifiés vous accompagnent pour optimiser votre véhicule en toute confiance.</strong>
</p>
<div class="text-center">
<img src="/images/reprog_marques/garages_motortech.webp" alt="Batiment Motortech Toulon" class="img-fluid shadow rounded my-6" loading="lazy" width="800" height="450">
</div>
<h3 class="mb-3 mt-6">Reprogrammation<span class="mtk-red"> des quads</span> : même précision, <span class="mtk-red">mêmes performances</span></h3>
<p>
<strong>Vous possédez un quad ? On le reprogramme aussi</strong> ! Grâce à notre stage 1 quad, améliorez le couple, la puissance et réduisez la consommation de carburant.
</p>
<p class="mb-0">
Aucune modification mécanique : uniquement une <strong>cartographie moteur personnalisée, ajustée à votre ECU et validée par un passage au banc de puissance.</strong>
</p>
</section>
</div>
</div>
</div>
</section>
<section class="wrapper bg-light">
<div class="container py-14">
<div class="row">
<div class="col-md-12">
<section>
<h2 class="text-center mb-10">
<span class="mtk-red">Les questions fréquentes</span> de nos clients sur la reprogrammation de leur <span class="mtk-red">moto</span>
</h2>
<h3 class="mt-6">Est-ce réversible ?</h3>
<p>
Oui ! Nous <strong>sauvegardons la cartographie d’origine</strong>, et pouvons la <strong>réinstaller à tout moment</strong>.
</p>
<h3 class="mt-6">Combien coûte une reprogrammation moteur d’une moto ?</h3>
<p>
Chez Motortech, la <strong>reprogrammation stage 1 de votre moto est disponible à partir de 550 €</strong>. Testez notre configurateur en ligne pour obtenir le prix d’une reprogrammation moteur de votre modèle !
</p>
<h3 class="mt-6">Une reprogrammation augmente-t-elle la consommation ?</h3>
<p>
Non, une <strong>cartographie bien optimisée réduit la consommation</strong>.
</p>
<h3 class="mt-6">Quels sont les risques d’une mauvaise reprogrammation ?</h3>
<p>
Un <strong>logiciel mal paramétré</strong> peut provoquer des <strong>dysfonctionnements moteur</strong>. C’est pourquoi il est <strong>essentiel de faire appel à des professionnels</strong> comme Motortech.
</p>
</section>
</div>
</div>
</div>
</section>
</main>
<div class="modal fade" id="modal-contact" tabindex="-1">
<div class="modal-dialog modal-xl">
<div class="modal-content">
<div class="modal-body">
<button class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
<p class="h3 mb-4 text-center">Contacter un centre Motortech <img src="https://motortech.fr/images/logo_motortech_seul_cl_small.jpg" alt="logo motortech" style="height: 30px" class="ms-2"></p>
<form class="text-start mb-3" action="https://motortech.fr/contact" method="post" id="formContact">
<input type="hidden" name="_token" value="aJE1IYPV3wi7jrHaHYc1AdPwaukqy3ZhcXqKc0Rq" autocomplete="off"> <div class="row">
<div class="col-lg-12">
<div class="form-select-wrapper mb-4">
<select class="form-select" id="select-center-modal" name="center_id" required>
<option selected="" disabled="" value="">Sélectionnez un centre</option>
<option value="17" class="text-dark" >Biarritz — 64 - Pyrénées Atlantiques</option>
<option value="4" class="text-dark" >Bourg en Bresse — 01 - Ain</option>
<option value="29" class="text-dark" >Liège — BE - Belgique</option>
<option value="3" class="text-dark" >Manosque — 04 - Alpes de Haute Provence</option>
<option value="6" class="text-dark" >Nice — 06 - Alpes Maritimes</option>
<option value="14" class="text-dark" >Normandie — 50 - Manche</option>
<option value="12" class="text-dark" >Orléans — 45 - Loiret</option>
<option value="30" class="text-dark" >Perpignan — 66 - Pyrénées-Orientales</option>
<option value="15" class="text-dark" >Reims — 51 - Marne</option>
<option value="31" class="text-dark" >Rouen — 76 - Seine-Maritime</option>
<option value="23" class="text-dark" >Switzerland — CH - Suisse</option>
<option value="2" class="text-dark" >Toulon — 83 - Var</option>
</select>
</div>
</div>
<div class="col-lg-2">
<div class="form-select-wrapper mb-4">
<select class="form-select" id="select-civility-modal" name="civility" required>
<option selected disbaled value="">Civilité</option>
<option value="man" class="text-dark" >Monsieur</option>
<option value="woman" class="text-dark" >Madame</option>
</select>
</div>
</div>
<div class="col-lg-5">
<div class="form-floating mb-4">
<input type="text" class="form-control" placeholder="Votre Prénom" id="first_name" name="first_name" value="" required>
<label for="first_name">Votre Prénom</label>
<div class="invalid-feedback">
</div>
</div>
</div>
<div class="col-lg-5">
<div class="form-floating mb-4">
<input type="text" class="form-control" placeholder="Votre Nom" id="last_name" name="last_name" value="" required>
<label for="last_name">Votre Nom</label>
<div class="invalid-feedback">
</div>
</div>
</div>
<div class="col-lg-6">
<div class="form-floating mb-4">
<input type="email" class="form-control" placeholder="Votre email" id="email-modal" name="email" value="" required>
<label for="email-modal">Adresse mail</label>
<div class="invalid-feedback">
</div>
</div>
</div>
<div class="col-lg-6">
<div class="form-floating mb-4">
<input type="text" class="form-control" placeholder="Votre téléphone" id="telephone-modal" name="phone_number" value="" required>
<div class="invalid-feedback-text" id="phone-error-modal">
</div>
</div>
</div>
<div class="col-lg-12">
<div class="form-select-wrapper mb-4">
<select class="form-select" id="select-reason-modal" name="contact_reason" required>
<option selected disbaled value="">Sélectionnez un sujet</option>
<option value="Rendez-vous" class="text-dark" >Rendez-vous</option>
<option value="Demande de rappel" class="text-dark" >Demande de rappel</option>
<option value="Devis" class="text-dark" >Devis</option>
<option value="Assistance" class="text-dark" >Assistance</option>
<option value="Assistance" class="text-dark" >Autre</option>
</select>
</div>
</div>
<div class="col-lg-12">
<div class="form-select-wrapper mb-4">
<select class="form-select" id="select-service-modal" name="contact_service" required>
<option selected disbaled value="">Sélectionnez un service</option>
<option value="Reprogrammation stage 1" class="text-dark" >Reprogrammation stage 1</option>
<option value="Reprogrammation stage 2" class="text-dark" >Reprogrammation stage 2</option>
<option value="Reprogrammation stage 3" class="text-dark" >Reprogrammation stage 3</option>
<option value="Conversion E85" class="text-dark" >Conversion E85</option>
<option value="Conversion E85+" class="text-dark" >Conversion E85+</option>
<option value="Passage au banc" class="text-dark" >Passage au banc</option>
<option value="Mécanique générale" class="text-dark" >Mécanique générale</option>
<option value="Autre" class="text-dark" >Autre</option>
</select>
</div>
</div>
<div class="col-lg-6">
<div class="form-floating mb-4">
<input type="text" class="form-control" placeholder="Immatriculation" id="numberplate" name="numberplate" value="" required>
<label for="numberplate">Immatriculation</label>
<div class="invalid-feedback">
</div>
</div>
</div>
<div class="col-lg-6">
<div class="form-floating mb-4">
<input type="number" class="form-control" placeholder="Kilometrage" id="mileage" name="mileage" value="">
<label for="mileage">Kilometrage</label>
<div class="invalid-feedback">
</div>
</div>
</div>
</div>
<div wire:snapshot="{"data":{"errors":[{"vehicle_type":"","vehicle_brand_id_api":"","vehicle_model_id_api":"","vehicle_version_id_api":"","vehicle_engine_id_api":"","vehicle_not_in_configurator":""},{"s":"arr"}],"oldData":[{"vehicle_type":null,"vehicle_brand_id_api":null,"vehicle_model_id_api":null,"vehicle_version_id_api":null,"vehicle_engine_id_api":null,"vehicle_not_in_configurator":null,"custom_vehicle":null},{"s":"arr"}],"vehicleTypes":[{"agricultural":"Agricole","atv":"Quad","car":"Voiture","jetski":"Jet-ski","moto":"Moto","truck":"Camion","boat":"Bateau","other":"Autre"},{"s":"arr"}],"vehicleBrands":[[],{"s":"arr"}],"vehicleModels":[[],{"s":"arr"}],"vehicleVersions":[[],{"s":"arr"}],"vehicleEngines":[[],{"s":"arr"}],"vehicleTypeSelected":null,"vehicleBrandSelected":null,"vehicleModelSelected":null,"vehicleVersionSelected":null,"vehicleEngineSelected":null,"vehicleNotInConfigurator":"","showConfigurator":true,"showCustomVehicle":false,"customVehicle":""},"memo":{"id":"9jgLzZiIuA16efU1QXHL","name":"vehicle-selector","path":"reprogrammation\/moto","method":"GET","release":"a-a-a","children":[],"scripts":[],"assets":[],"errors":[],"locale":"fr"},"checksum":"64a71fde958154ea854ae5ed8fc6f62123a576385724b6100bec38d35e7defad"}" wire:effects="{"partials":[]}" wire:id="9jgLzZiIuA16efU1QXHL">
<!--[if BLOCK]><![endif]--> <div class="row">
<!-- Sélecteur du type de véhicule -->
<div class="col-lg-12">
<div class="form-select-wrapper mb-4">
<select class="form-select" wire:model.live="vehicleTypeSelected" name="vehicle_type" required>
<option>Type de véhicule</option>
<!--[if BLOCK]><![endif]--> <option value="agricultural" wire:key="agricultural" >Agricole</option>
<option value="atv" wire:key="atv" >Quad</option>
<option value="car" wire:key="car" >Voiture</option>
<option value="jetski" wire:key="jetski" >Jet-ski</option>
<option value="moto" wire:key="moto" >Moto</option>
<option value="truck" wire:key="truck" >Camion</option>
<option value="boat" wire:key="boat" >Bateau</option>
<option value="other" wire:key="other" >Autre</option>
<!--[if ENDBLOCK]><![endif]--> </select>
</div>
</div>
<!-- Sélecteur de la marque du véhicule -->
<div class="col-lg-6">
<div class="form-select-wrapper mb-4">
<select class="form-select" name="vehicle_brand_id_api" required wire:model.live="vehicleBrandSelected">
<option wire:key="brand-null">Sélectionnez une marque</option>
<!--[if BLOCK]><![endif]--><!--[if ENDBLOCK]><![endif]--> </select>
<!--[if BLOCK]><![endif]--><!--[if ENDBLOCK]><![endif]--> </div>
</div>
<!-- Sélecteur du modèle de véhicule -->
<div class="col-lg-6">
<div class="form-select-wrapper mb-4">
<select class="form-select" name="vehicle_model_id_api" required wire:model.live="vehicleModelSelected">
<option wire:key="model-null">Sélectionnez un modèle</option>
<!--[if BLOCK]><![endif]--><!--[if ENDBLOCK]><![endif]--> </select>
<!--[if BLOCK]><![endif]--><!--[if ENDBLOCK]><![endif]--> </div>
</div>
<!-- Sélecteur de la version du véhicule -->
<div class="col-lg-6">
<div class="form-select-wrapper mb-4">
<select class="form-select" name="vehicle_version_id_api" required wire:model.live="vehicleVersionSelected">
<option wire:key="version-null">Sélectionnez une version</option>
<!--[if BLOCK]><![endif]--><!--[if ENDBLOCK]><![endif]--> </select>
<!--[if BLOCK]><![endif]--><!--[if ENDBLOCK]><![endif]--> </div>
</div>
<!-- Sélecteur de moteurs -->
<div class="col-lg-6">
<div class="form-select-wrapper mb-4">
<select class="form-select" name="vehicle_engine_id_api" required wire:model.live="vehicleEngineSelected">
<option wire:key="engine-null" >Sélectionnez un moteur</option>
<!--[if BLOCK]><![endif]--><!--[if ENDBLOCK]><![endif]--> </select>
<!--[if BLOCK]><![endif]--><!--[if ENDBLOCK]><![endif]--> </div>
</div>
</div>
<!--[if ENDBLOCK]><![endif]-->
<div class="row">
<div class="col-lg-12">
<div class="mb-4">
<div class="form-check">
<label class="form-check-label" for="vehicle_not_in_configurator">
Mon véhicule n'est pas dans le configurateur
</label>
<input class="form-check-input"
type="checkbox"
value="1"
name="vehicle_not_in_configurator"
id="vehicle_not_in_configurator"
wire:model.live="vehicleNotInConfigurator"
>
</div>
</div>
</div>
</div>
<!--[if BLOCK]><![endif]--><!--[if ENDBLOCK]><![endif]--></div>
<div class="row">
<div class="col-lg-12">
<div class="form-floating mb-4">
<textarea class="form-control" placeholder="Écrire votre message ici" id="comment" style="height: 100px" name="comment" required></textarea>
<label for="comment">Commentaire</label>
<div class="invalid-feedback">
</div>
</div>
</div>
<div class="col-lg-12">
<div class="mb-4">
<div class="form-check">
<label class="form-check-label" for="newsletter-subscription">
Je souhaite m'inscrire à la newsletter Motortech.
</label>
<input class="form-check-input mt-1" type="checkbox" value="1" name="newsletter_subscription" id="newsletter-subscription" checked>
</div>
<div class="invalid-feedback-text">
</div>
</div>
<div class="mb-4">
<div class="form-check">
<label class="form-check-label" for="agreement">
J'ai lu et j'accepte les conditions générales de vente et la politique de confidentialité.
</label>
<input class="form-check-input mt-1" type="checkbox" value="1" name="agreement" id="agreement">
</div>
<div class="invalid-feedback-text">
</div>
</div>
<input type="hidden" name="website_page" value="https://motortech.fr/reprogrammation/moto">
<div
data-sitekey="0x4AAAAAAA5Z1SMDbAvA4xoQ"
class="cf-turnstile"
></div>
</div>
</div>
<button type="submit" class="btn btn-sm mtk-btn-red rounded link-light mt-3" id="buttonSubmitModal">Valider</button>
</form>
</div>
</div>
</div>
</div>
<div class="sidebar-select-overlay" id="sidebar-select-overlay"></div>
<aside class="sidebar-select" id="sidebar-select-center">
<div class="sidebar-select-header">
<p class="sidebar-select-title">Préférences</p>
</div>
<form action="https://motortech.fr/centres/select-center" method="post" id="form-select-center" class="sidebar-select-form">
<input type="hidden" name="_token" value="aJE1IYPV3wi7jrHaHYc1AdPwaukqy3ZhcXqKc0Rq" autocomplete="off"> <div class="sidebar-select-centers">
<p class="sidebar-select-label"><i class="uil uil-map-marker"></i> Votre centre</p>
<div class="sidebar-select-list">
<label class="sidebar-select-radio" for="center-6">
<input type="radio" name="id_center_selected" value="6" required id="center-6" >
<span class="sidebar-select-radio-mark"></span>
<span class="sidebar-select-radio-text">
Biarritz
<span class="sidebar-select-radio-territory">64</span>
</span>
</label>
<label class="sidebar-select-radio" for="center-8">
<input type="radio" name="id_center_selected" value="8" required id="center-8" >
<span class="sidebar-select-radio-mark"></span>
<span class="sidebar-select-radio-text">
Bourg en Bresse
<span class="sidebar-select-radio-territory">01</span>
</span>
</label>
<label class="sidebar-select-radio" for="center-27">
<input type="radio" name="id_center_selected" value="27" required id="center-27" >
<span class="sidebar-select-radio-mark"></span>
<span class="sidebar-select-radio-text">
Liège
<span class="sidebar-select-radio-territory">BE</span>
</span>
</label>
<label class="sidebar-select-radio" for="center-13">
<input type="radio" name="id_center_selected" value="13" required id="center-13" >
<span class="sidebar-select-radio-mark"></span>
<span class="sidebar-select-radio-text">
Manosque
<span class="sidebar-select-radio-territory">04</span>
</span>
</label>
<label class="sidebar-select-radio" for="center-16">
<input type="radio" name="id_center_selected" value="16" required id="center-16" >
<span class="sidebar-select-radio-mark"></span>
<span class="sidebar-select-radio-text">
Nice
<span class="sidebar-select-radio-territory">06</span>
</span>
</label>
<label class="sidebar-select-radio" for="center-17">
<input type="radio" name="id_center_selected" value="17" required id="center-17" >
<span class="sidebar-select-radio-mark"></span>
<span class="sidebar-select-radio-text">
Normandie
<span class="sidebar-select-radio-territory">50</span>
</span>
</label>
<label class="sidebar-select-radio" for="center-19">
<input type="radio" name="id_center_selected" value="19" required id="center-19" >
<span class="sidebar-select-radio-mark"></span>
<span class="sidebar-select-radio-text">
Orléans
<span class="sidebar-select-radio-territory">45</span>
</span>
</label>
<label class="sidebar-select-radio" for="center-28">
<input type="radio" name="id_center_selected" value="28" required id="center-28" >
<span class="sidebar-select-radio-mark"></span>
<span class="sidebar-select-radio-text">
Perpignan
<span class="sidebar-select-radio-territory">66</span>
</span>
</label>
<label class="sidebar-select-radio" for="center-20">
<input type="radio" name="id_center_selected" value="20" required id="center-20" >
<span class="sidebar-select-radio-mark"></span>
<span class="sidebar-select-radio-text">
Reims
<span class="sidebar-select-radio-territory">51</span>
</span>
</label>
<label class="sidebar-select-radio" for="center-29">
<input type="radio" name="id_center_selected" value="29" required id="center-29" >
<span class="sidebar-select-radio-mark"></span>
<span class="sidebar-select-radio-text">
Rouen
<span class="sidebar-select-radio-territory">76</span>
</span>
</label>
<label class="sidebar-select-radio" for="center-23">
<input type="radio" name="id_center_selected" value="23" required id="center-23" >
<span class="sidebar-select-radio-mark"></span>
<span class="sidebar-select-radio-text">
Switzerland
<span class="sidebar-select-radio-territory">CH</span>
</span>
</label>
<label class="sidebar-select-radio" for="center-3">
<input type="radio" name="id_center_selected" value="3" required id="center-3" >
<span class="sidebar-select-radio-mark"></span>
<span class="sidebar-select-radio-text">
Toulon
<span class="sidebar-select-radio-territory">83</span>
</span>
</label>
</div>
</div>
<div class="sidebar-select-bottom">
<div class="sidebar-select-section">
<p class="sidebar-select-label"><i class="uil uil-money-bill"></i> Votre devise</p>
<div class="sidebar-select-currencies">
<label class="sidebar-select-currency" for="currency-EUR">
<input type="radio" name="currency_selected" value="EUR" id="currency-EUR" required checked>
<span class="sidebar-select-currency-chip">
<span class="sidebar-select-currency-code">EUR</span>
<span class="sidebar-select-currency-name">Euros</span>
</span>
</label>
<label class="sidebar-select-currency" for="currency-XPF" style="display: none">
<input type="radio" name="currency_selected" value="XPF" id="currency-XPF" >
<span class="sidebar-select-currency-chip">
<span class="sidebar-select-currency-code">XPF</span>
<span class="sidebar-select-currency-name">Franc Pacifique</span>
</span>
</label>
<label class="sidebar-select-currency" for="currency-CHF">
<input type="radio" name="currency_selected" value="CHF" id="currency-CHF" >
<span class="sidebar-select-currency-chip">
<span class="sidebar-select-currency-code">CHF</span>
<span class="sidebar-select-currency-name">Franc suisse</span>
</span>
</label>
</div>
</div>
<div class="sidebar-select-footer">
<button type="submit" class="sidebar-select-btn" id="buttonSubmitSidebar">Valider</button>
</div>
</div>
</form>
</aside>
</div>
<footer class="bg-dark text-inverse">
<div class="container pt-12 pt-md-12 pb-12 pb-md-12">
<div class="row gy-6 gy-lg-0">
<div class="col-md-4">
<div class="widget">
<img class="mb-4 mtk-logo" width="200" height="45" src="/images/logo_s.svg" srcset="/images/logo_s.svg 2x" alt="logo motortech" />
<p class="mb-4">© 2026 Motortech. <br class="d-none d-lg-block" />Tous droits réservés.</p>
<nav class="nav social social-white">
<a href="https://twitter.com/MotortechFrance" aria-label="Twitter" rel="nofollow noopener noreferrer" target="_blank"><i class="uil uil-twitter"></i></a>
<a href="https://taap.it/fb-motortech" aria-label="Facebook" rel="nofollow noopener noreferrer" target="_blank"><i class="uil uil-facebook-f"></i></a>
<a href="https://taap.it/ITSivD/" aria-label="Instagram" rel="nofollow noopener noreferrer" target="_blank"><i class="uil uil-instagram"></i></a>
<a href="https://taap.it/USUR9G" aria-label="Youtube" rel="nofollow noopener noreferrer" target="_blank"><i class="uil uil-youtube"></i></a>
</nav>
</div>
</div>
<div class="col-md-4">
<div class="widget">
<p class="widget-title text-white mb-3 h4">Nos expertises</p>
<ul class="list-unstyled mb-0">
<li><a href="https://motortech.fr/reprogrammation/voiture">Reprogrammation moteur</a></li>
<li><a href="https://motortech.fr/conversion-ethanol-e85-flexfuel">Reprogrammation ethanol</a></li>
<li><a href="https://motortech.fr/reprogrammation/moto">Reprogrammation moto</a></li>
<li><a href="https://motortech.fr/reprogrammation/quad">Reprogrammation quad</a></li>
<li><a href="https://motortech.fr/reprogrammation/jetski">Reprogrammation jet-ski</a></li>
<li><a href="https://motortech.fr/reprogrammation/camion">Reprogrammation camion</a></li>
<li><a href="https://motortech.fr/reprogrammation/agricole">Reprogrammation tracteur</a></li>
</ul>
</div>
</div>
<div class="col-md-4">
<div class="widget">
<p class="widget-title text-white mb-3 h4">Divers</p>
<ul class="list-unstyled mb-0">
<li><a href="https://motortech.fr/cgv-motortech">CGV</a></li>
<li><a href="https://motortech.fr/politique-confidentialite-motortech">Politique de confidentialité</a></li>
<li><a href="https://motortech.fr/mentions-legales-motortech">Mentions légales</a></li>
<li class="pt-4" style="font-size: 0.7rem; opacity: 0.45;">Made by <a href="https://mettadev.com/" target="_blank" rel="noopener" style="color: inherit; text-decoration: underline;">MettaDev</a></li>
</ul>
</div>
</div>
</div>
</div>
</footer>
<div class="progress-wrap">
<svg class="progress-circle svg-content" width="100%" height="100%" viewbox="-1 -1 102 102">
<path d="M50,1 a49,49 0 0,1 0,98 a49,49 0 0,1 0,-98" />
</svg>
</div>
<script src="/assets/js/plugins.js" defer></script>
<script src="/assets/js/theme.min.js" defer></script>
<link rel="modulepreload" as="script" href="https://motortech.fr/build/assets/input-phone-number-global-XJk1q42p.js" /><link rel="modulepreload" as="script" href="https://motortech.fr/build/assets/index-D07Qu4p6.js" /><link rel="modulepreload" as="script" href="https://motortech.fr/build/assets/_commonjsHelpers-CqkleIqs.js" /><script type="module" src="https://motortech.fr/build/assets/input-phone-number-global-XJk1q42p.js" data-navigate-track="reload"></script>
<script>
function openSidebar() {
document.getElementById('sidebar-select-center').classList.add('is-open');
document.getElementById('sidebar-select-overlay').classList.add('is-visible');
document.body.style.overflow = 'hidden';
}
function closeSidebar() {
document.getElementById('sidebar-select-center').classList.remove('is-open');
document.getElementById('sidebar-select-overlay').classList.remove('is-visible');
document.body.style.overflow = '';
}
$(document).ready(function () {
const userAgent = navigator.userAgent;
if (!isGoogleBot(userAgent)) {
openSidebar();
}
//Success form contact
//error form contact
//Display modal if error
});
function isGoogleBot(userAgent) {
const googleBotPatterns = [
/Googlebot/i,
/AdsBot-Google/i,
/Googlebot-Image/i,
/Mediapartners-Google/i,
/APIs-Google/i
];
return googleBotPatterns.some(pattern => pattern.test(userAgent));
}
function generateUUID() {
return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {
var r = Math.random() * 16 | 0,
v = c === 'x' ? r : (r & 0x3 | 0x8);
return v.toString(16);
});
}
$('.take-appointment').on('click', function () {
let dataToPush = {
event: "vue_formulaire",
formulaire_type: "Générique"
};
//Add to Form
const contactForm = $('#formContact');
let formType = $('<input>').attr({
type: 'hidden',
name: 'formulaire_type',
value: 'Générique'
});
contactForm.append(formType);
window.dataLayer = window.dataLayer || [];
dataLayer.push(dataToPush);
});
$('.telephone-number').click(function () {
const uuid = generateUUID();
window.dataLayer = window.dataLayer || [];
$.ajax({
url: '/facebook-conversion-tracking',
method: 'POST',
data: {
event_id: uuid,
_token: $('meta[name="csrf-token"]').attr('content'),
event_type: 'clic_telephone',
}
});
});
</script>
<script src="/livewire/livewire.min.js?id=40a765a4" data-csrf="aJE1IYPV3wi7jrHaHYc1AdPwaukqy3ZhcXqKc0Rq" data-update-uri="/livewire/update" data-navigate-once="true"></script>
</body>
</html>