creation site static coupe du monde 2026 sans Hugo
@@ -3,5 +3,6 @@ baseURL = 'http://www.tutosportexpert.com'
|
||||
[params]
|
||||
publishable_key = 'pk_test_51QblVdAVnr0yCjVxvGKVEnsFExwJ5MJHrfpZha3hUdu6M1boWMVfo69sBvsaMAKPsnusWqI4JoDzsxgxjYOnzEot00ESickqIW'
|
||||
princing_2025_06_28_massage = 'prctbl_1RDpYMAVnr0yCjVx3tFigsun'
|
||||
offre_coupe_du_monde_10_euros = 'prctbl_1TgAW6AVnr0yCjVxOqyLVUtF'
|
||||
|
||||
google_tag_id = 'GTM-WTMNS3J8'
|
||||
@@ -4,5 +4,5 @@ baseURL = 'http://www.tutosportexpert.com'
|
||||
publishable_key = 'pk_live_51QblVdAVnr0yCjVxfn0VB0H62Kjdpfly5Cg8mVenw34xBvSavUoWCmDZJISEYme3y3nf9SXrA2GUFngt5dHHPa0N00mCehFE2N'
|
||||
|
||||
princing_2025_06_28_massage = 'prctbl_1RE4hlAVnr0yCjVxISoBASzz'
|
||||
|
||||
offre_coupe_du_monde_10_euros = 'prctbl_1Tg9PnAVnr0yCjVxILbXjP26'
|
||||
google_tag_id = 'GTM-MFN88L24'
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
---
|
||||
title: "Sports Massage on June 28, 29, and 30 (Cassis, 13 🇫🇷)"
|
||||
draft: true
|
||||
params:
|
||||
back_link: /#trainings-calendar
|
||||
---
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
---
|
||||
title: "A propos de Moi"
|
||||
title: "A propos de Nous"
|
||||
weight: 3
|
||||
header_menu: true
|
||||
header_menu: false
|
||||
draft: true
|
||||
---
|
||||
|
||||
{{< about-me >}}
|
||||
@@ -0,0 +1,15 @@
|
||||
---
|
||||
title: "Abonnement Offre Coupe du Monde"
|
||||
weight: 2
|
||||
header_menu: true
|
||||
---
|
||||
### Pré-Abonnement
|
||||
|
||||
Offre Spécial Coupe Du Monde 2026 à 10 Euros
|
||||
|
||||
{{< custom-table id="trainings" class="trainings" >}}
|
||||
| Pré-Abonnement | dates | |
|
||||
|-|-|-|
|
||||
| **Offre =Spéciale Coupe Du Monde** | Du 01/06/ au 19/07/2026 | 10€ - [plus d'infos ...](offers/offre-coupe-du-monde-10) |
|
||||
|
||||
{{< /custom-table >}}
|
||||
@@ -3,23 +3,16 @@ title: "Bienvenue"
|
||||
weight: 1
|
||||
---
|
||||
|
||||
Dimitri PAYET (Footballeur professionnel) et Yannick DYDUCH (Formateur, Physiothérapeute D.E., Ostéopathe D.O.) ont le plaisir de vous présenter leurs trainings.
|
||||
Yannick DYDUCH, en collaboration avec les Laboratoires Phytotech (partenaire officiel), vous propose ses week-ends de formation au massage du sportif.
|
||||
A partie du 01 octobre 2026, Dimitri PAYET (footballeur professionnel) et Yannick Dyduch (Masseur-kinésithérapeute D.E. Ostéopathe D.O.) auront le bonheur de vous accueillir sur leurs site et appli innovants de partage de connaissance où ils vous livreront toute leur expérience professionnelle, toute leur expertise, et surtout touts leurs secrets. Pas de blabla, que du pratique, vous aurez accès à des tutoriels cognitifs (nous vous montreront le geste technique), et pédagogique (nous vous expliqueront comment réaliser l’ensemble des gestes techniques) pour apprendre, se perfectionner, et réussir. Pour cela? Deux académies:
|
||||
|
||||
Le premier stage se déroulera les 28, 29 et 30 juin 2025, dans le cadre idyllique du domaine de Jean TIGANA, La Dona TIGANA, à Cassis (13).
|
||||
- La **PAYET ACADEMY**: Dimitri Payet vous propose son académie de football numérique où il développera l’ensemble des gestes techniques de bases pour bien jouer au football.
|
||||
- La **PHYSIOSPORT ACADEMY**: Yannick Dyduch vous propose son académie en kinésithérapie du sport où il développera l’ensemble des techniques nécessaires pour prendre immédiatement en charge vos sportifs.
|
||||
|
||||
Déroulement du formation :
|
||||
Massage du sportif
|
||||
Tarif : 800 € pour les 3 jours
|
||||
Formule tout compris :
|
||||
- Formation massage du sportif
|
||||
- Petit-déjeuner
|
||||
- Déjeuner (traiteur La Caille d’Or, Cassis)
|
||||
- Dégustation de vins de la propriété
|
||||
- Visite privée en bateau des calanques avec apéritif dînatoire (jour à définir selon la météo)
|
||||
Le maître mot, accessibilité:
|
||||
- Accessibilité financière, des abonnements low-cost pour ceux qui n’ont pas la chance d’avoir l’argent pour se payer des stages et des formations.
|
||||
- Accessibilité géographique, un site et une appli, pour ceux qui n’ont pas la chance d’avoir des stages et des formations près de chez eux.
|
||||
- Accessibilité culturelle, sous-titrage des tutoriels dans toutes les langues, pour ceux qui n’ont pas la chance de parler les grandes langues internationales.
|
||||
|
||||
Nous, nous allons vous donnez une chance.
|
||||
|
||||
{{< div id="partners-content" >}}
|
||||
|
||||
{{< figure class="partners" caption="Laboratoire Phytotech (partnenaire officiel)" link="https://phytotech.fr/" src="images/partners/laboratoire-phytotech_logo.png" >}}
|
||||
|
||||
{{< /div >}}
|
||||
Tout le monde a le droit aux experts, avec nous c’est possible!
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
---
|
||||
title: "Partenaires"
|
||||
weight: 5
|
||||
draft: true
|
||||
---
|
||||
|
||||
{{< div id="partners-content" >}}
|
||||
|
||||
@@ -1,17 +0,0 @@
|
||||
---
|
||||
title: "Trainings"
|
||||
weight: 2
|
||||
header_menu: true
|
||||
---
|
||||
### Prochaines sessions disponibles
|
||||
|
||||
{{< custom-table id="trainings" class="trainings" >}}
|
||||
| Trainings | dates | pays | lieux | |
|
||||
|-|-|-|-|-|
|
||||
| **3 jours de Massage du Sportif** | **les 28, 29 et 30 Juin 2025** | France 🇫🇷 | La Dona TIGANA, Cassis (13) | [plus d'infos ...](trainings/france-28-june-massages) |
|
||||
|
||||
{{< /custom-table >}}
|
||||
|
||||
{{< admonition type="caution" >}}
|
||||
Attention, le déplacement, l’hébergement, et la restauration du soir n’est pas inclus.
|
||||
{{< /admonition >}}
|
||||
@@ -1,5 +1,6 @@
|
||||
---
|
||||
title: "Massage du Sportif en 28, 29 et 30 Juin (Cassis, 13 🇫🇷)"
|
||||
draft: true
|
||||
params:
|
||||
back_link: /#trainings-calendar
|
||||
---
|
||||
@@ -0,0 +1,41 @@
|
||||
---
|
||||
title: "Massage du Sportif en 28, 29 et 30 Juin (Cassis, 13 🇫🇷)"
|
||||
params:
|
||||
back_link: /#trainings-calendar
|
||||
---
|
||||
**PAYET ACADEMY**
|
||||
|
||||
Le programme:
|
||||
- Tutoriel La Passe
|
||||
- Tutoriel Le Contrôle de Balle
|
||||
- Tutoriel La Conduite de Balle
|
||||
- Tutoriel La Frappe
|
||||
- Tutoriel Le Coup Franc Direct
|
||||
- Tutoriel Les Coups de Pied Arrêtés
|
||||
|
||||
*PRIX: 40 euros le 01 octobre 2026*
|
||||
|
||||
**PHSYOSPORT ACADEMY**
|
||||
|
||||
Le programme:
|
||||
- Tutoriel Les strappings
|
||||
- Tutoriel La Mobilisation
|
||||
- Tutoriel Le Massage du Sportif
|
||||
- Tutoriel Les Blessures Musculaires
|
||||
- Tutoriel Les Blessures articulaires
|
||||
- Tutoriel Les Blessures Inflammatoires
|
||||
|
||||
*PRIX: 40 euros le 01 octobre 2026*
|
||||
|
||||
{{< admonition type="info" >}}
|
||||
### OFFRE SPECIALE COUPE DU MONDE:
|
||||
10 euros accès illimité aux deux académies
|
||||
Offre du 01/06 au 19/07/2026
|
||||
{{< /admonition >}}
|
||||
|
||||
{{< checkout-button id="offre_coupe_du_monde_10_euros" >}}
|
||||
|
||||
Veuillez prendre connaissances des documents suivant :
|
||||
- [Conditions Générales de Ventes]( {{< ref "terms_and_conditions" >}} )
|
||||
- [Mentions Légales]( {{< ref "legals" >}} )
|
||||
- [Réglement Intérieur]( {{< ref "internal_regulations" >}} )
|
||||
@@ -1,4 +1,5 @@
|
||||
{{ $id := .Get "id" }}
|
||||
{{ $pricing_id := index .Site.Params $id}}
|
||||
<script async src="https://js.stripe.com/v3/pricing-table.js"></script>
|
||||
<stripe-pricing-table pricing-table-id="{{ printf "%s" $pricing_id }}" publishable-key="{{ printf "%s" .Site.Params.publishable_key }}"></stripe-pricing-table>
|
||||
<stripe-pricing-table pricing-table-id="{{ printf "%s" $pricing_id }}"
|
||||
publishable-key="{{ printf "%s" .Site.Params.publishable_key }}"></stripe-pricing-table>
|
||||
@@ -0,0 +1,21 @@
|
||||
<svg viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg">
|
||||
<defs>
|
||||
<linearGradient id="gs" x1="0" y1="0" x2="1" y2="1">
|
||||
<stop offset="0" stop-color="#2f7bff"/>
|
||||
<stop offset=".55" stop-color="#a81fc4"/>
|
||||
<stop offset="1" stop-color="#6a1fae"/>
|
||||
</linearGradient>
|
||||
<linearGradient id="gw" x1="0" y1="0" x2="1" y2="1">
|
||||
<stop offset="0" stop-color="#19d39a"/>
|
||||
<stop offset="1" stop-color="#0e9e8a"/>
|
||||
</linearGradient>
|
||||
</defs>
|
||||
<circle cx="50" cy="52" r="34" fill="url(#gs)"/>
|
||||
<g stroke="#fff" stroke-width="1.2" fill="none" opacity=".8">
|
||||
<ellipse cx="50" cy="52" rx="34" ry="13"/>
|
||||
<ellipse cx="50" cy="52" rx="22" ry="34"/>
|
||||
<ellipse cx="50" cy="52" rx="11" ry="34"/>
|
||||
<line x1="16" y1="52" x2="84" y2="52"/>
|
||||
</g>
|
||||
<path d="M22 84 C40 70 64 64 86 34 C70 60 46 70 22 84 Z" fill="url(#gw)"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 863 B |
|
After Width: | Height: | Size: 61 KiB |
|
After Width: | Height: | Size: 29 KiB |
@@ -0,0 +1,90 @@
|
||||
/* ---------------- launch countdown i18n ---------------- */
|
||||
const DICT = {
|
||||
fr: {
|
||||
meta_title: "TutoSport Expert — Ouverture le 22 juin 2026",
|
||||
meta_description:
|
||||
"Les académies de Dimitri Payet & Yannick Dyduch arrivent. Offre Coupe du Monde : les 2 académies à 7,90€. Ouverture le 22 juin 2026.",
|
||||
tag: "Ouverture · 22 juin 2026",
|
||||
h1a: "Le compte à rebours",
|
||||
h1b: "est lancé.",
|
||||
sub: "Les académies de Dimitri Payet & Yannick Dyduch arrivent. Préparez-vous à l'offre Coupe du Monde.",
|
||||
l_d: "Jours",
|
||||
l_h: "Heures",
|
||||
l_m: "Minutes",
|
||||
l_s: "Secondes",
|
||||
offer_a: "Les 2 académies à",
|
||||
offer_b: "au lieu de 80€ · offre limitée Coupe du Monde",
|
||||
ph: "Ton adresse e-mail",
|
||||
btn: "Préviens-moi",
|
||||
thanks: "Merci ! On te prévient dès l'ouverture.",
|
||||
note: "Sois prévenu·e en premier et garde l'offre 7,90€.",
|
||||
rights: "© 2026 TutoSport Expert. Tous droits réservés.",
|
||||
cd_d: "j",
|
||||
},
|
||||
en: {
|
||||
meta_title: "TutoSport Expert — Opening June 22, 2026",
|
||||
meta_description:
|
||||
"The academies of Dimitri Payet & Yannick Dyduch are coming. World Cup offer: both academies for €7.90. Opening June 22, 2026.",
|
||||
tag: "Opening · June 22, 2026",
|
||||
h1a: "The countdown",
|
||||
h1b: "has started.",
|
||||
sub: "The academies of Dimitri Payet & Yannick Dyduch are coming. Get ready for the World Cup offer.",
|
||||
l_d: "Days",
|
||||
l_h: "Hours",
|
||||
l_m: "Minutes",
|
||||
l_s: "Seconds",
|
||||
offer_a: "Both academies for",
|
||||
offer_b: "instead of €80 · limited World Cup offer",
|
||||
ph: "Your email address",
|
||||
btn: "Notify me",
|
||||
thanks: "Thanks! We'll let you know at launch.",
|
||||
note: "Be the first in and keep the €7.90 offer.",
|
||||
rights: "© 2026 TutoSport Expert. All rights reserved.",
|
||||
cd_d: "d",
|
||||
},
|
||||
es: {
|
||||
meta_title: "TutoSport Expert — Apertura el 22 de junio de 2026",
|
||||
meta_description:
|
||||
"Las academias de Dimitri Payet y Yannick Dyduch llegan. Oferta Mundial: las 2 academias por 7,90€. Apertura el 22 de junio de 2026.",
|
||||
tag: "Apertura · 22 de junio de 2026",
|
||||
h1a: "La cuenta atrás",
|
||||
h1b: "ha comenzado.",
|
||||
sub: "Las academias de Dimitri Payet y Yannick Dyduch llegan. Prepárate para la oferta del Mundial.",
|
||||
l_d: "Días",
|
||||
l_h: "Horas",
|
||||
l_m: "Minutos",
|
||||
l_s: "Segundos",
|
||||
offer_a: "Las 2 academias por",
|
||||
offer_b: "en vez de 80€ · oferta limitada del Mundial",
|
||||
ph: "Tu correo electrónico",
|
||||
btn: "Avísame",
|
||||
thanks: "¡Gracias! Te avisamos en la apertura.",
|
||||
note: "Entra el primero y conserva la oferta de 7,90€.",
|
||||
rights: "© 2026 TutoSport Expert. Todos los derechos reservados.",
|
||||
cd_d: "d",
|
||||
},
|
||||
pt: {
|
||||
meta_title: "TutoSport Expert — Abertura em 22 de junho de 2026",
|
||||
meta_description:
|
||||
"As academias de Dimitri Payet e Yannick Dyduch chegam. Oferta Copa do Mundo: as 2 academias por 7,90€. Abertura em 22 de junho de 2026.",
|
||||
tag: "Abertura · 22 de junho de 2026",
|
||||
h1a: "A contagem regressiva",
|
||||
h1b: "começou.",
|
||||
sub: "As academias de Dimitri Payet e Yannick Dyduch chegam. Prepare-se para a oferta da Copa do Mundo.",
|
||||
l_d: "Dias",
|
||||
l_h: "Horas",
|
||||
l_m: "Minutos",
|
||||
l_s: "Segundos",
|
||||
offer_a: "As 2 academias por",
|
||||
offer_b: "em vez de 80€ · oferta limitada da Copa",
|
||||
ph: "Seu e-mail",
|
||||
btn: "Avise-me",
|
||||
thanks: "Obrigado! Avisamos na abertura.",
|
||||
note: "Seja o primeiro e garanta a oferta de 7,90€.",
|
||||
rights: "© 2026 TutoSport Expert. Todos os direitos reservados.",
|
||||
cd_d: "d",
|
||||
},
|
||||
};
|
||||
|
||||
const DEFAULT_LANG = "en";
|
||||
const LANG_STORAGE_KEY = "tutosport_lang";
|
||||
@@ -0,0 +1,372 @@
|
||||
const SUPPORTED_LANGS = Object.keys(DICT);
|
||||
let LANG = DEFAULT_LANG;
|
||||
|
||||
function getStripePricingTableHtml(lang) {
|
||||
const pricingTableId =
|
||||
SITE_CONFIG.stripe.pricingTableIds[lang] ||
|
||||
SITE_CONFIG.stripe.pricingTableIds.en;
|
||||
|
||||
return (
|
||||
`<stripe-pricing-table pricing-table-id="${pricingTableId}" ` +
|
||||
`publishable-key="${SITE_CONFIG.stripe.publishableKey}"></stripe-pricing-table>`
|
||||
);
|
||||
}
|
||||
|
||||
function normalizeLang(value) {
|
||||
if (!value) return null;
|
||||
const lang = String(value).toLowerCase().split(/[-_]/)[0];
|
||||
return DICT[lang] ? lang : null;
|
||||
}
|
||||
|
||||
function getStoredLang() {
|
||||
const cookieMatch = document.cookie.match(
|
||||
new RegExp(`(?:^|; )${LANG_STORAGE_KEY}=([^;]*)`),
|
||||
);
|
||||
try {
|
||||
return (
|
||||
normalizeLang(localStorage.getItem(LANG_STORAGE_KEY)) ||
|
||||
normalizeLang(cookieMatch && decodeURIComponent(cookieMatch[1]))
|
||||
);
|
||||
} catch (e) {
|
||||
return normalizeLang(cookieMatch && decodeURIComponent(cookieMatch[1]));
|
||||
}
|
||||
}
|
||||
|
||||
function getUrlLang() {
|
||||
return normalizeLang(new URLSearchParams(location.search).get("lang"));
|
||||
}
|
||||
|
||||
function getBrowserLang() {
|
||||
const browserLangs = navigator.languages && navigator.languages.length
|
||||
? navigator.languages
|
||||
: [navigator.language];
|
||||
for (const lang of browserLangs) {
|
||||
const normalized = normalizeLang(lang);
|
||||
if (normalized) return normalized;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
function getInitialLang() {
|
||||
return getUrlLang() || getStoredLang() || getBrowserLang() || DEFAULT_LANG;
|
||||
}
|
||||
|
||||
function getRootPrefix() {
|
||||
if (document.body && document.body.dataset.rootPrefix) {
|
||||
return document.body.dataset.rootPrefix;
|
||||
}
|
||||
const pathParts = location.pathname.split("/").filter(Boolean);
|
||||
const parentDir = pathParts.length > 1 ? pathParts[pathParts.length - 2] : "";
|
||||
return SUPPORTED_LANGS.includes(parentDir) ? "../" : "./";
|
||||
}
|
||||
|
||||
function withLangParam(href, lang) {
|
||||
const [pathWithSearch, hash = ""] = href.split("#");
|
||||
const [path, search = ""] = pathWithSearch.split("?");
|
||||
const params = new URLSearchParams(search);
|
||||
params.set("lang", lang);
|
||||
return `${path}?${params.toString()}${hash ? `#${hash}` : ""}`;
|
||||
}
|
||||
|
||||
function getLocalizedPageUrl(lang) {
|
||||
const pathParts = location.pathname.split("/").filter(Boolean);
|
||||
const parentDir = pathParts.length > 1 ? pathParts[pathParts.length - 2] : "";
|
||||
const fileName = pathParts[pathParts.length - 1] || "";
|
||||
if (!SUPPORTED_LANGS.includes(parentDir)) return null;
|
||||
if (fileName !== "cgv.html" && fileName !== "legals.html") return null;
|
||||
return withLangParam(`../${lang}/${fileName}`, lang);
|
||||
}
|
||||
|
||||
function updateInternalLinks(lang) {
|
||||
const rootPrefix = getRootPrefix();
|
||||
const homeHref = withLangParam(rootPrefix, lang);
|
||||
const offerHref = withLangParam(`${rootPrefix}offre.html`, lang);
|
||||
const legalPrefix = `${rootPrefix}${lang}/`;
|
||||
const anchors = {
|
||||
nav_offer: `${homeHref}#offre`,
|
||||
nav_acad: `${homeHref}#academies`,
|
||||
nav_how: `${homeHref}#how`,
|
||||
nav_faq: `${homeHref}#faq`,
|
||||
legal1: withLangParam(`${legalPrefix}cgv.html`, lang),
|
||||
legal2: withLangParam(`${legalPrefix}legals.html`, lang),
|
||||
};
|
||||
|
||||
Object.entries(anchors).forEach(([key, href]) => {
|
||||
document
|
||||
.querySelectorAll(`a[data-i18n="${key}"]`)
|
||||
.forEach((link) => link.setAttribute("href", href));
|
||||
});
|
||||
|
||||
document.querySelectorAll("a.brand, a.foot-logo-wrap").forEach((link) => {
|
||||
link.setAttribute("href", homeHref);
|
||||
});
|
||||
|
||||
document.querySelectorAll("a[href]").forEach((link) => {
|
||||
const href = link.getAttribute("href");
|
||||
if (!href || href.startsWith("http") || href.startsWith("mailto:")) return;
|
||||
if (href.includes("offre.html")) {
|
||||
link.setAttribute("href", offerHref);
|
||||
} else if (href === "#offre" || href === "./#offre") {
|
||||
link.setAttribute("href", `${homeHref}#offre`);
|
||||
} else if (href === "#academies" || href === "./#academies") {
|
||||
link.setAttribute("href", `${homeHref}#academies`);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function updateGoogleTagManagerNoScript() {
|
||||
const gtmId = SITE_CONFIG.googleTagManagerId;
|
||||
if (!gtmId) return;
|
||||
|
||||
document
|
||||
.querySelectorAll('iframe[src*="googletagmanager.com/ns.html"]')
|
||||
.forEach((iframe) => {
|
||||
iframe.setAttribute(
|
||||
"src",
|
||||
`https://www.googletagmanager.com/ns.html?id=${gtmId}`,
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
function loadGoogleTagManagerScript() {
|
||||
const gtmId = SITE_CONFIG.googleTagManagerId;
|
||||
if (!gtmId) return;
|
||||
if (
|
||||
document.querySelector(
|
||||
`script[src*="googletagmanager.com/gtm.js?id=${gtmId}"]`,
|
||||
)
|
||||
) {
|
||||
return;
|
||||
}
|
||||
|
||||
(function (w, d, s, l, i) {
|
||||
w[l] = w[l] || [];
|
||||
w[l].push({ "gtm.start": new Date().getTime(), event: "gtm.js" });
|
||||
const f = d.getElementsByTagName(s)[0];
|
||||
const j = d.createElement(s);
|
||||
const 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", gtmId);
|
||||
}
|
||||
|
||||
function updateConfiguredSiteUrl() {
|
||||
const siteUrl = SITE_CONFIG.siteUrl;
|
||||
const siteUrlAliases = SITE_CONFIG.siteUrlAliases || [];
|
||||
if (!siteUrl) return;
|
||||
|
||||
document.querySelectorAll("[href], [src]").forEach((el) => {
|
||||
["href", "src"].forEach((attr) => {
|
||||
const value = el.getAttribute(attr);
|
||||
const alias = siteUrlAliases.find(
|
||||
(item) => value && value.includes(item),
|
||||
);
|
||||
if (alias) {
|
||||
el.setAttribute(attr, value.replaceAll(alias, siteUrl));
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
if (!document.createTreeWalker || !document.body) return;
|
||||
const walker = document.createTreeWalker(document.body, 4);
|
||||
let node = walker.nextNode();
|
||||
while (node) {
|
||||
const alias = siteUrlAliases.find((item) =>
|
||||
node.nodeValue.includes(item),
|
||||
);
|
||||
if (alias) {
|
||||
node.nodeValue = node.nodeValue.replaceAll(alias, siteUrl);
|
||||
}
|
||||
node = walker.nextNode();
|
||||
}
|
||||
}
|
||||
|
||||
function updateSocialLinks() {
|
||||
const socialLinks = SITE_CONFIG.socialLinks || {};
|
||||
const selectors = {
|
||||
instagram: 'a[aria-label="Instagram"]',
|
||||
facebook: 'a[aria-label="Facebook"]:not([data-disabled="true"])',
|
||||
tiktok: 'a[aria-label="TikTok"]:not([data-disabled="true"])',
|
||||
linkedin: 'a[aria-label="LinkedIn"]:not([data-disabled="true"])',
|
||||
};
|
||||
|
||||
Object.entries(selectors).forEach(([key, selector]) => {
|
||||
const href = socialLinks[key];
|
||||
if (!href) return;
|
||||
document
|
||||
.querySelectorAll(selector)
|
||||
.forEach((link) => {
|
||||
link.setAttribute("href", href);
|
||||
link.setAttribute("target", "_blank");
|
||||
link.setAttribute("rel", "noopener noreferrer");
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
function getFooterPath() {
|
||||
return `${getRootPrefix()}footer.html`;
|
||||
}
|
||||
|
||||
async function loadFooter() {
|
||||
const placeholders = document.querySelectorAll('[data-include="footer"]');
|
||||
if (!placeholders.length || !window.fetch) return;
|
||||
|
||||
try {
|
||||
const response = await fetch(getFooterPath());
|
||||
if (!response.ok) return;
|
||||
|
||||
const rootPrefix = getRootPrefix();
|
||||
const footerHtml = (await response.text()).replaceAll(
|
||||
'src="assets/',
|
||||
`src="${rootPrefix}assets/`,
|
||||
);
|
||||
|
||||
placeholders.forEach((placeholder) => {
|
||||
placeholder.innerHTML = footerHtml;
|
||||
});
|
||||
|
||||
setLang(LANG);
|
||||
updateConfiguredSiteUrl();
|
||||
updateSocialLinks();
|
||||
} catch (e) {}
|
||||
}
|
||||
|
||||
function setLang(l, options = {}) {
|
||||
const normalizedLang = normalizeLang(l);
|
||||
if (!normalizedLang) return;
|
||||
LANG = normalizedLang;
|
||||
if (options.persist) {
|
||||
try {
|
||||
localStorage.setItem(LANG_STORAGE_KEY, normalizedLang);
|
||||
} catch (e) {}
|
||||
document.cookie = `${LANG_STORAGE_KEY}=${encodeURIComponent(
|
||||
normalizedLang,
|
||||
)};path=/;max-age=31536000;SameSite=Lax`;
|
||||
}
|
||||
const localizedPageUrl = options.navigate
|
||||
? getLocalizedPageUrl(normalizedLang)
|
||||
: null;
|
||||
if (localizedPageUrl && localizedPageUrl !== location.pathname + location.search) {
|
||||
location.href = localizedPageUrl;
|
||||
return;
|
||||
}
|
||||
document.documentElement.lang = normalizedLang;
|
||||
document.querySelectorAll("[data-i18n]").forEach((el) => {
|
||||
const v = DICT[normalizedLang][el.getAttribute("data-i18n")];
|
||||
if (v != null) el.textContent = v;
|
||||
});
|
||||
document.querySelectorAll("[data-i18n-html]").forEach((el) => {
|
||||
const key = el.getAttribute("data-i18n-html");
|
||||
const v =
|
||||
key === "pricing"
|
||||
? getStripePricingTableHtml(normalizedLang)
|
||||
: DICT[normalizedLang][key];
|
||||
if (v != null) el.innerHTML = v;
|
||||
});
|
||||
document.querySelectorAll("[data-i18n-content]").forEach((el) => {
|
||||
const v = DICT[normalizedLang][el.getAttribute("data-i18n-content")];
|
||||
if (v != null) el.setAttribute("content", v);
|
||||
});
|
||||
document.querySelectorAll("[data-i18n-ph]").forEach((el) => {
|
||||
const v = DICT[normalizedLang][el.getAttribute("data-i18n-ph")];
|
||||
if (v != null) el.setAttribute("placeholder", v);
|
||||
});
|
||||
document
|
||||
.querySelectorAll(".langsw button")
|
||||
.forEach((b) => {
|
||||
const isActive = b.dataset.lang === normalizedLang;
|
||||
b.classList.toggle("on", isActive);
|
||||
b.setAttribute("aria-pressed", String(isActive));
|
||||
});
|
||||
updateInternalLinks(normalizedLang);
|
||||
renderCountdown();
|
||||
}
|
||||
document
|
||||
.querySelectorAll(".langsw button")
|
||||
.forEach((b) =>
|
||||
b.addEventListener("click", () =>
|
||||
setLang(b.dataset.lang, { persist: true, navigate: true }),
|
||||
)
|
||||
);
|
||||
|
||||
loadGoogleTagManagerScript();
|
||||
updateGoogleTagManagerNoScript();
|
||||
updateConfiguredSiteUrl();
|
||||
updateSocialLinks();
|
||||
loadFooter();
|
||||
|
||||
/* ---------------- countdown ---------------- */
|
||||
const TARGET = new Date("2026-07-19T23:59:59+02:00").getTime();
|
||||
function renderCountdown() {
|
||||
const now = Date.now();
|
||||
let diff = Math.max(0, TARGET - now);
|
||||
const d = Math.floor(diff / 86400000);
|
||||
diff -= d * 86400000;
|
||||
const h = Math.floor(diff / 3600000);
|
||||
diff -= h * 3600000;
|
||||
const m = Math.floor(diff / 60000);
|
||||
diff -= m * 60000;
|
||||
const s = Math.floor(diff / 1000);
|
||||
const p = (n) => String(n).padStart(2, "0");
|
||||
const du = (DICT[LANG] && DICT[LANG].cd_d) || "d";
|
||||
const str = `${d}${du} ${p(h)}h ${p(m)}m ${p(s)}s`;
|
||||
document.querySelectorAll(".js-cd").forEach((e) => (e.textContent = str));
|
||||
}
|
||||
setLang(getInitialLang());
|
||||
setInterval(renderCountdown, 1000);
|
||||
|
||||
/* ---------------- header scroll ---------------- */
|
||||
const hd = document.getElementById("hd");
|
||||
if (hd) {
|
||||
addEventListener(
|
||||
"scroll",
|
||||
() => hd.classList.toggle("scrolled", scrollY > 10),
|
||||
{ passive: true },
|
||||
);
|
||||
}
|
||||
|
||||
/* ---------------- mobile menu ---------------- */
|
||||
const burger = document.getElementById("burger");
|
||||
if (burger && hd) {
|
||||
burger.addEventListener("click", () => {
|
||||
const open = hd.classList.toggle("menu-open");
|
||||
burger.setAttribute("aria-expanded", open);
|
||||
});
|
||||
}
|
||||
document.querySelectorAll("#navlinks a").forEach((a) =>
|
||||
a.addEventListener("click", () => {
|
||||
if (hd) hd.classList.remove("menu-open");
|
||||
if (burger) burger.setAttribute("aria-expanded", "false");
|
||||
}),
|
||||
);
|
||||
|
||||
/* ---------------- faq accordion ---------------- */
|
||||
document.querySelectorAll(".qa button").forEach((btn) => {
|
||||
btn.addEventListener("click", () => {
|
||||
const qa = btn.parentElement,
|
||||
ans = qa.querySelector(".ans"),
|
||||
open = qa.classList.toggle("open");
|
||||
btn.setAttribute("aria-expanded", open);
|
||||
ans.hidden = !open;
|
||||
});
|
||||
});
|
||||
|
||||
/* ---------------- reveal on scroll ---------------- */
|
||||
const reduce = matchMedia("(prefers-reduced-motion:reduce)").matches;
|
||||
if (!reduce && "IntersectionObserver" in window) {
|
||||
const io = new IntersectionObserver(
|
||||
(es) => {
|
||||
es.forEach((e) => {
|
||||
if (e.isIntersecting) {
|
||||
e.target.classList.add("in");
|
||||
io.unobserve(e.target);
|
||||
}
|
||||
});
|
||||
},
|
||||
{ threshold: 0.14 },
|
||||
);
|
||||
document.querySelectorAll(".rv").forEach((el) => io.observe(el));
|
||||
} else {
|
||||
document.querySelectorAll(".rv").forEach((el) => el.classList.add("in"));
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
const SITE_CONFIG = {
|
||||
googleTagManagerId: "GTM-MFN88L24",
|
||||
siteUrl: "https://www.tutosportexpert.com",
|
||||
siteUrlAliases: [
|
||||
"https://tutosportexpert.com",
|
||||
"https://www.tutosportexpert.com",
|
||||
],
|
||||
stripe: {
|
||||
publishableKey:
|
||||
"pk_live_51QblVdAVnr0yCjVxfn0VB0H62Kjdpfly5Cg8mVenw34xBvSavUoWCmDZJISEYme3y3nf9SXrA2GUFngt5dHHPa0N00mCehFE2N",
|
||||
pricingTableIds: {
|
||||
fr: "prctbl_1TjY4mAVnr0yCjVxprPlzN6a",
|
||||
en: "prctbl_1TjYLDAVnr0yCjVxbfn2vzkN",
|
||||
es: "prctbl_1TjYM8AVnr0yCjVx3hmFKXx3",
|
||||
pt: "prctbl_1TjYMtAVnr0yCjVxKNiktdBr",
|
||||
},
|
||||
},
|
||||
socialLinks: {
|
||||
instagram: "https://instagram.com/tutosportexpert",
|
||||
facebook: "#",
|
||||
tiktok: "#",
|
||||
linkedin: "#",
|
||||
},
|
||||
};
|
||||
@@ -0,0 +1,24 @@
|
||||
const SITE_CONFIG = {
|
||||
googleTagManagerId: "GTM-WTMNS3J8",
|
||||
siteUrl: "https://preprod.tutosportexpert.com",
|
||||
siteUrlAliases: [
|
||||
"https://tutosportexpert.com",
|
||||
"https://preprod.tutosportexpert.com",
|
||||
],
|
||||
stripe: {
|
||||
publishableKey:
|
||||
"pk_test_51QblVdAVnr0yCjVxvGKVEnsFExwJ5MJHrfpZha3hUdu6M1boWMVfo69sBvsaMAKPsnusWqI4JoDzsxgxjYOnzEot00ESickqIW",
|
||||
pricingTableIds: {
|
||||
fr: "prctbl_1TihgyAVnr0yCjVxitGGF6te",
|
||||
en: "prctbl_1Tif1XAVnr0yCjVxU6YR803D",
|
||||
es: "prctbl_1Tif20AVnr0yCjVxkV0GyCMy",
|
||||
pt: "prctbl_1TifbgAVnr0yCjVxxjJTNQfC",
|
||||
},
|
||||
},
|
||||
socialLinks: {
|
||||
instagram: "https://instagram.com/tutosportexpert",
|
||||
facebook: "#",
|
||||
tiktok: "#",
|
||||
linkedin: "#",
|
||||
},
|
||||
};
|
||||
@@ -0,0 +1,147 @@
|
||||
<!doctype html>
|
||||
<html lang="fr">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<title data-i18n="meta_title">TutoSport Expert — Ouverture le 22 juin 2026</title>
|
||||
<meta name="description" content="Les académies de Dimitri Payet & Yannick Dyduch arrivent. Offre Coupe du Monde : les 2 académies à 7,90€. Ouverture le 22 juin 2026." data-i18n-content="meta_description">
|
||||
<link rel="preconnect" href="https://fonts.googleapis.com"><link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
||||
<link href="https://fonts.googleapis.com/css2?family=Archivo:wght@600;700;800;900&family=Inter:wght@400;500;600&family=Space+Mono:wght@400;700&display=swap" rel="stylesheet">
|
||||
<style>
|
||||
:root{--ink:#160827;--ink2:#2a1257;--blue:#2563e6;--violet:#a81fc4;--teal:#10c79a;--teal-d:#0aa982;--paper:#f5f4fb;--lav:#d7cdf0;--lav2:#b0a4d2;--grad:linear-gradient(100deg,var(--blue),var(--violet) 52%,var(--teal));}
|
||||
*{box-sizing:border-box}
|
||||
html,body{margin:0;height:100%}
|
||||
body{min-height:100vh;display:flex;flex-direction:column;color:#fff;font-family:'Inter',system-ui,sans-serif;
|
||||
background:radial-gradient(120% 80% at 85% -10%,rgba(168,31,196,.22),transparent 55%),radial-gradient(90% 70% at -10% 110%,rgba(37,99,230,.20),transparent 55%),linear-gradient(180deg,#160827,#22104a 60%,#190b3a);
|
||||
overflow-x:hidden;position:relative}
|
||||
.globe{position:fixed;right:-12%;top:50%;transform:translateY(-50%);width:760px;max-width:90vw;opacity:.09;pointer-events:none;z-index:0}
|
||||
@media(prefers-reduced-motion:no-preference){.globe{animation:spin 90s linear infinite}@keyframes spin{to{transform:translateY(-50%) rotate(360deg)}}}
|
||||
header{display:flex;justify-content:space-between;align-items:center;padding:22px clamp(20px,5vw,54px);position:relative;z-index:3}
|
||||
.brand img{height:38px;display:block}
|
||||
.langsw{display:flex;gap:3px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);border-radius:999px;padding:4px}
|
||||
.langsw button{border:none;background:none;color:var(--lav2);font-family:'Space Mono',monospace;font-size:.72rem;font-weight:700;text-transform:uppercase;padding:.35em .65em;border-radius:999px;cursor:pointer;transition:.15s}
|
||||
.langsw button.on{background:#fff;color:var(--ink)}
|
||||
main{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;
|
||||
padding:clamp(24px,5vw,40px) clamp(20px,5vw,40px) 50px;position:relative;z-index:2}
|
||||
.tag{font-family:'Space Mono',monospace;font-size:.8rem;letter-spacing:.26em;text-transform:uppercase;color:#fff;
|
||||
background:rgba(16,199,154,.14);border:1px solid rgba(16,199,154,.35);padding:.55em 1.1em;border-radius:999px;display:inline-flex;align-items:center;gap:.6em}
|
||||
.tag .dot{width:9px;height:9px;border-radius:50%;background:var(--teal);box-shadow:0 0 0 0 rgba(16,199,154,.6)}
|
||||
@media(prefers-reduced-motion:no-preference){.tag .dot{animation:pulse 1.6s infinite}@keyframes pulse{70%{box-shadow:0 0 0 10px rgba(16,199,154,0)}100%{box-shadow:0 0 0 0 rgba(16,199,154,0)}}}
|
||||
h1{font-family:'Archivo',sans-serif;font-weight:900;letter-spacing:-.02em;line-height:1.02;
|
||||
font-size:clamp(2.4rem,7vw,4.6rem);margin:.7em 0 .35em;max-width:16ch}
|
||||
h1 .g{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
|
||||
.sub{color:var(--lav);font-size:clamp(1rem,2vw,1.2rem);max-width:46ch;margin:0 auto 2.2em;line-height:1.55}
|
||||
.cd{display:flex;gap:clamp(10px,2.4vw,22px);justify-content:center;flex-wrap:wrap;margin-bottom:2.4em}
|
||||
.cd .b{background:#fff;color:var(--ink);border-radius:20px;min-width:clamp(78px,18vw,140px);padding:clamp(14px,2.4vw,26px) clamp(8px,2vw,18px);
|
||||
box-shadow:0 30px 60px -30px rgba(0,0,0,.6);position:relative;overflow:hidden}
|
||||
.cd .b::before{content:"";position:absolute;inset:0 0 auto 0;height:5px;background:var(--grad)}
|
||||
.cd .num{font-family:'Archivo',sans-serif;font-weight:900;font-size:clamp(2.4rem,7vw,4rem);line-height:1;letter-spacing:-.03em;font-variant-numeric:tabular-nums}
|
||||
.cd .lbl{font-family:'Space Mono',monospace;font-size:clamp(.56rem,1.4vw,.72rem);letter-spacing:.18em;text-transform:uppercase;color:var(--violet);font-weight:700;margin-top:8px}
|
||||
.offer{display:inline-flex;align-items:center;gap:.6em;font-family:'Space Mono',monospace;font-size:.92rem;color:var(--lav);margin-bottom:2em}
|
||||
.offer b{color:#fff}.offer .price{color:var(--teal);font-weight:700}
|
||||
.capture{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;width:min(520px,92vw)}
|
||||
.capture input{flex:1;min-width:200px;background:rgba(255,255,255,.08);border:1.5px solid rgba(255,255,255,.18);border-radius:999px;
|
||||
padding:1em 1.3em;color:#fff;font-family:inherit;font-size:1rem;outline:none;transition:.15s}
|
||||
.capture input::placeholder{color:var(--lav2)}
|
||||
.capture input:focus{border-color:var(--teal);background:rgba(255,255,255,.12)}
|
||||
.btn{font-family:'Archivo',sans-serif;font-weight:800;font-size:1rem;border:none;cursor:pointer;border-radius:999px;
|
||||
padding:1em 1.7em;background:var(--teal);color:#04261d;box-shadow:0 12px 26px -8px rgba(16,199,154,.7);transition:transform .15s,box-shadow .15s;white-space:nowrap}
|
||||
.btn:hover{transform:translateY(-2px);box-shadow:0 18px 34px -8px rgba(16,199,154,.85);background:#16d6a7}
|
||||
.note{font-size:.8rem;color:var(--lav2);margin-top:1em}
|
||||
.thanks{display:none;align-items:center;gap:.6em;font-weight:600;color:#eafff8;background:rgba(16,199,154,.14);border:1px solid rgba(16,199,154,.4);padding:1em 1.4em;border-radius:16px}
|
||||
.thanks.show{display:inline-flex}
|
||||
footer{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;
|
||||
padding:18px clamp(20px,5vw,54px);border-top:1px solid rgba(255,255,255,.1);color:var(--lav2);font-size:.82rem;position:relative;z-index:3}
|
||||
.socials{display:flex;gap:10px}
|
||||
.socials a{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;background:rgba(255,255,255,.07);color:#fff;transition:.15s}
|
||||
.socials a:hover{background:var(--grad)}.socials svg{width:17px;height:17px}
|
||||
:focus-visible{outline:3px solid var(--teal);outline-offset:3px}
|
||||
</style>
|
||||
</head>
|
||||
<body data-root-prefix="../">
|
||||
<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-WTMNS3J8"
|
||||
height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
|
||||
<img class="globe" src="./assets/images/globe.svg" alt="" aria-hidden="true">
|
||||
|
||||
<header>
|
||||
<span class="brand"><img src="./assets/images/tutosport-logo.png" alt="TutoSport Expert"></span>
|
||||
<div aria-label="Langue" class="langsw" role="group">
|
||||
<button class="on" data-lang="fr">FR</button>
|
||||
<button data-lang="en">EN</button>
|
||||
<button data-lang="es">ES</button>
|
||||
<button data-lang="pt">PT</button>
|
||||
</div>
|
||||
</header>
|
||||
|
||||
<main>
|
||||
<span class="tag"><span class="dot"></span><span data-i18n="tag">Ouverture · 22 juin 2026</span></span>
|
||||
<h1><span data-i18n="h1a">Le compte à rebours</span> <span class="g" data-i18n="h1b">est lancé.</span></h1>
|
||||
<p class="sub" data-i18n="sub">Les académies de Dimitri Payet & Yannick Dyduch arrivent. Préparez-vous à l'offre Coupe du Monde.</p>
|
||||
|
||||
<div class="cd" id="cd" role="timer" aria-live="off">
|
||||
<div class="b"><div class="num" id="d">00</div><div class="lbl" data-i18n="l_d">Jours</div></div>
|
||||
<div class="b"><div class="num" id="h">00</div><div class="lbl" data-i18n="l_h">Heures</div></div>
|
||||
<div class="b"><div class="num" id="m">00</div><div class="lbl" data-i18n="l_m">Minutes</div></div>
|
||||
<div class="b"><div class="num" id="s">00</div><div class="lbl" data-i18n="l_s">Secondes</div></div>
|
||||
</div>
|
||||
|
||||
<p class="offer"><span data-i18n="offer_a">Les 2 académies à</span> <span class="price">7,90€</span> <span data-i18n="offer_b">au lieu de 80€ · offre limitée Coupe du Monde</span></p>
|
||||
|
||||
<!--form class="capture" id="form" novalidate>
|
||||
<input type="email" id="email" required data-i18n-ph="ph" placeholder="Ton adresse e-mail">
|
||||
<button class="btn" type="submit" data-i18n="btn">Préviens-moi</button>
|
||||
</form-->
|
||||
<!--iframe data-w-type="embedded" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="https://14u8z.mjt.lu/wgt/14u8z/0qr4/form?c=eb5323b7" width="100%" style="height: 0;"></iframe>
|
||||
<script type="text/javascript" src="https://app.mailjet.com/pas-nc-embedded-v2.js"></script>
|
||||
<div class="thanks" id="thanks"><svg viewBox="0 0 24 24" width="18" fill="none" stroke="#10c79a" stroke-width="2.6"><path d="M20 6 9 17l-5-5"/></svg> <span data-i18n="thanks">Merci ! On te prévient dès l'ouverture.</span></div>
|
||||
<p class="note" data-i18n="note">Sois prévenu·e en premier et garde l'offre 7,90€.</p-->
|
||||
</main>
|
||||
|
||||
<footer>
|
||||
<span data-i18n="rights">© 2026 TutoSport Expert. Tous droits réservés.</span>
|
||||
<div class="socials">
|
||||
<a href="https://instagram.com/tutosportexpert" aria-label="Instagram"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><rect x="3" y="3" width="18" height="18" rx="5"/><circle cx="12" cy="12" r="4"/><circle cx="17.5" cy="6.5" r="1" fill="currentColor" stroke="none"/></svg></a>
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
<script defer src="./assets/js/site-config.js"></script>
|
||||
<script defer src="./assets/js/launch-constants.js"></script>
|
||||
<script defer src="./assets/js/main.js"></script>
|
||||
<script>
|
||||
(() => {
|
||||
const launchTarget = new Date("2026-06-22T07:00:00+02:00").getTime();
|
||||
const p = (n) => String(Math.max(0, n)).padStart(2, "0");
|
||||
function tick() {
|
||||
let diff = Math.max(0, launchTarget - Date.now());
|
||||
const d = Math.floor(diff / 864e5);
|
||||
diff -= d * 864e5;
|
||||
const h = Math.floor(diff / 36e5);
|
||||
diff -= h * 36e5;
|
||||
const m = Math.floor(diff / 6e4);
|
||||
diff -= m * 6e4;
|
||||
const s = Math.floor(diff / 1e3);
|
||||
document.getElementById("d").textContent = p(d);
|
||||
document.getElementById("h").textContent = p(h);
|
||||
document.getElementById("m").textContent = p(m);
|
||||
document.getElementById("s").textContent = p(s);
|
||||
}
|
||||
tick();
|
||||
setInterval(tick, 1000);
|
||||
|
||||
const form = document.getElementById("form");
|
||||
if (form) {
|
||||
form.addEventListener("submit", (e) => {
|
||||
e.preventDefault();
|
||||
const em = document.getElementById("email");
|
||||
if (!em.value || !em.validity.valid) {
|
||||
em.focus();
|
||||
return;
|
||||
}
|
||||
form.style.display = "none";
|
||||
document.getElementById("thanks").classList.add("show");
|
||||
});
|
||||
}
|
||||
})();
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,4 @@
|
||||
mailjet
|
||||
|
||||
api_key : 4c842aa1c68a27041162bfda47348d8f
|
||||
secret : c641ad3e97364b926e9ca713c9cb7914
|
||||
@@ -0,0 +1,19 @@
|
||||
#!/usr/bin/env node
|
||||
|
||||
const fs = require("fs");
|
||||
const path = require("path");
|
||||
|
||||
const env = process.argv[2];
|
||||
const allowedEnvs = ["preprod", "prod"];
|
||||
|
||||
if (!allowedEnvs.includes(env)) {
|
||||
console.error("Usage: node scripts/switch-site-config.js <preprod|prod>");
|
||||
process.exit(1);
|
||||
}
|
||||
|
||||
const projectRoot = path.resolve(__dirname, "../tutosport-static-project");
|
||||
const source = path.join(projectRoot, "assets", "js", `site-config.${env}.js`);
|
||||
const target = path.join(projectRoot, "assets", "js", "site-config.js");
|
||||
|
||||
fs.copyFileSync(source, target);
|
||||
console.log(`Switched site-config.js to ${env}`);
|
||||
@@ -0,0 +1,3 @@
|
||||
node_modules/
|
||||
.DS_Store
|
||||
dist/
|
||||
@@ -0,0 +1,37 @@
|
||||
# TutoSport Expert — projet web statique
|
||||
|
||||
Structure générée à partir du fichier HTML fourni.
|
||||
|
||||
## Arborescence
|
||||
|
||||
- `index.html` : page principale multilingue.
|
||||
- `offre.html` : page de paiement Stripe.
|
||||
- `legals.html` : page des mentions legales.
|
||||
- `cgv.html` : page des conditions generales de vente.
|
||||
- `template.html` : template HTML de base pour créer les autres pages.
|
||||
- `assets/css/main.css` : styles séparés.
|
||||
- `assets/js/main.js` : scripts séparés.
|
||||
- `assets/images/` : images extraites des URI base64.
|
||||
|
||||
## Lancer en local
|
||||
|
||||
```bash
|
||||
python3 -m http.server 8000
|
||||
```
|
||||
|
||||
Puis ouvrir `http://localhost:8000/`.
|
||||
|
||||
## Notes
|
||||
|
||||
Le contenu textuel du fichier d’origine a été conservé. Les ressources embarquées ont été déplacées dans des fichiers dédiés pour respecter une organisation web statique actuelle.
|
||||
|
||||
## Utiliser le template
|
||||
|
||||
Copier `template.html`, puis remplacer les marqueurs :
|
||||
|
||||
- `{{LANG}}` : langue de la page, par exemple `fr`.
|
||||
- `{{PAGE_TITLE}}` : titre SEO de la page.
|
||||
- `{{PAGE_DESCRIPTION}}` : description SEO.
|
||||
- `{{ROBOTS}}` : valeur robots, par exemple `index,follow` ou `noindex,follow`.
|
||||
- `{{CANONICAL_PATH}}` : chemin public de la page, par exemple `./legals.html`.
|
||||
- `{{PAGE_CONTENT}}` : contenu HTML propre a la page.
|
||||
@@ -0,0 +1,292 @@
|
||||
:root{
|
||||
--ink:#1a0a38; /* deep indigo (logo wordmark) */
|
||||
--ink-2:#2a1257;
|
||||
--ink-3:#3a1c72;
|
||||
--blue:#2563e6; /* globe blue */
|
||||
--violet:#a81fc4; /* globe magenta */
|
||||
--teal:#10c79a; /* swoosh green-teal = GO/buy accent */
|
||||
--teal-d:#0aa982;
|
||||
--paper:#f5f4fb;
|
||||
--white:#ffffff;
|
||||
--muted:#6a6280;
|
||||
--line:rgba(26,10,56,.10);
|
||||
--grad:linear-gradient(100deg,var(--blue) 0%,var(--violet) 52%,var(--teal) 100%);
|
||||
--shadow:0 18px 50px -20px rgba(26,10,56,.45);
|
||||
--shadow-sm:0 8px 24px -12px rgba(26,10,56,.35);
|
||||
--r:18px;
|
||||
}
|
||||
*{box-sizing:border-box}
|
||||
html{scroll-behavior:smooth;scroll-padding-top:120px}
|
||||
body{
|
||||
margin:0;background:var(--paper);color:var(--ink);
|
||||
font-family:'Inter',system-ui,sans-serif;line-height:1.55;
|
||||
-webkit-font-smoothing:antialiased;overflow-x:hidden;
|
||||
}
|
||||
h1,h2,h3,.display{font-family:'Archivo',sans-serif;line-height:1.04;letter-spacing:-.02em;margin:0}
|
||||
.mono{font-family:'Space Mono',monospace}
|
||||
a{color:inherit;text-decoration:none}
|
||||
img{max-width:100%}
|
||||
.wrap{width:min(1180px,92vw);margin-inline:auto}
|
||||
.eyebrow{font-family:'Space Mono',monospace;font-size:.74rem;letter-spacing:.22em;text-transform:uppercase;color:var(--violet);font-weight:700}
|
||||
.grad-text{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
|
||||
section{padding:clamp(56px,8vw,104px) 0}
|
||||
|
||||
/* ---------- buttons ---------- */
|
||||
.btn{display:inline-flex;align-items:center;gap:.55em;font-family:'Archivo',sans-serif;font-weight:800;
|
||||
font-size:1.02rem;border:none;cursor:pointer;border-radius:999px;padding:1.05em 1.7em;line-height:1;
|
||||
transition:transform .15s ease,box-shadow .15s ease,background .15s ease}
|
||||
.btn-go{background:var(--teal);color:#04261d;box-shadow:0 12px 26px -8px rgba(16,199,154,.7)}
|
||||
.btn-go:hover{transform:translateY(-2px);box-shadow:0 18px 34px -8px rgba(16,199,154,.8);background:#16d6a7}
|
||||
.btn-go:active{transform:translateY(0)}
|
||||
.btn-ghost{background:transparent;color:var(--ink);border:1.5px solid var(--line);font-weight:700}
|
||||
.btn-ghost:hover{border-color:var(--ink);transform:translateY(-1px)}
|
||||
.btn-light{background:#fff;color:var(--ink);box-shadow:var(--shadow-sm)}
|
||||
.btn-light:hover{transform:translateY(-2px)}
|
||||
:focus-visible{outline:3px solid var(--teal);outline-offset:3px;border-radius:6px}
|
||||
|
||||
/* ---------- top urgency bar ---------- */
|
||||
.ubar{background:var(--ink);color:#efeaff;font-size:.86rem;text-align:center;padding:.6em 1em;
|
||||
display:flex;justify-content:center;align-items:center;gap:.9em;flex-wrap:wrap}
|
||||
.ubar b{color:#fff;font-weight:700}
|
||||
.ubar .uc{font-family:'Space Mono',monospace;color:var(--teal);font-weight:700;background:rgba(16,199,154,.13);
|
||||
padding:.15em .55em;border-radius:6px;white-space:nowrap}
|
||||
|
||||
/* ---------- header ---------- */
|
||||
header{position:sticky;top:0;z-index:60;background:rgba(245,244,251,.82);backdrop-filter:blur(12px);
|
||||
border-bottom:1px solid transparent;transition:border-color .2s,box-shadow .2s}
|
||||
header.scrolled{border-color:var(--line);box-shadow:0 6px 20px -16px rgba(26,10,56,.6)}
|
||||
.nav{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.7rem 0}
|
||||
.brand{display:flex;align-items:center;gap:.6rem;font-family:'Archivo';font-weight:900;font-size:1.1rem;letter-spacing:-.01em}
|
||||
.hd-logo{height:34px;width:auto;display:block}
|
||||
.brand small{display:block;font-family:'Space Mono';font-weight:400;font-size:.58rem;letter-spacing:.34em;color:var(--muted);margin-top:2px}
|
||||
.globe{width:38px;height:38px;flex:none}
|
||||
.navlinks{display:flex;gap:1.6rem;font-weight:600;font-size:.93rem}
|
||||
.navlinks a{color:var(--ink-2);position:relative;padding:.2em 0}
|
||||
.navlinks a::after{content:"";position:absolute;left:0;bottom:-2px;width:0;height:2px;background:var(--grad);transition:width .2s}
|
||||
.navlinks a:hover::after{width:100%}
|
||||
.navright{display:flex;align-items:center;gap:.8rem}
|
||||
.langsw{display:flex;gap:2px;background:#fff;border:1px solid var(--line);border-radius:999px;padding:3px}
|
||||
.langsw button{border:none;background:none;cursor:pointer;font-family:'Space Mono';font-size:.72rem;font-weight:700;
|
||||
color:var(--muted);padding:.35em .6em;border-radius:999px;text-transform:uppercase;transition:.15s}
|
||||
.langsw button.on{background:var(--ink);color:#fff}
|
||||
.nav .btn{padding:.75em 1.2em;font-size:.9rem}
|
||||
.burger{display:none;background:none;border:none;cursor:pointer;padding:6px}
|
||||
.burger span{display:block;width:24px;height:2.5px;background:var(--ink);margin:5px 0;border-radius:2px;transition:.2s}
|
||||
|
||||
/* ---------- hero ---------- */
|
||||
.hero{position:relative;background:#160827;color:#fff;overflow:hidden;padding:clamp(48px,7vw,86px) 0 clamp(60px,8vw,96px)}
|
||||
.hero-photo{position:absolute;inset:0;background-image:url("../images/image-fa4c0e097fea.jpg");background-size:cover;background-position:62% 26%;z-index:0}
|
||||
.hero-photo::after{content:"";position:absolute;inset:0;background:
|
||||
linear-gradient(96deg,rgba(18,7,38,.96) 0%,rgba(18,7,38,.86) 34%,rgba(20,9,46,.50) 72%,rgba(20,9,46,.30) 100%),
|
||||
linear-gradient(0deg,rgba(16,6,34,.85),transparent 55%)}
|
||||
.hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(28px,5vw,60px);align-items:center;position:relative;z-index:2}
|
||||
.hero .eyebrow{color:#d9b8ff}
|
||||
.hero h1{font-size:clamp(2.5rem,6.2vw,4.7rem);font-weight:900;margin:.5rem 0 1rem}
|
||||
.hero p.sub{font-size:clamp(1.02rem,1.6vw,1.22rem);color:#d7cdf0;max-width:34ch;margin:0 0 1.8rem}
|
||||
.hero-cta{display:flex;gap:.8rem;flex-wrap:wrap;align-items:center}
|
||||
.trust{display:flex;gap:1.3rem;flex-wrap:wrap;margin-top:1.7rem;font-size:.84rem;color:#c8bce6}
|
||||
.trust span{display:inline-flex;align-items:center;gap:.45em}
|
||||
.trust svg{width:16px;height:16px;color:var(--teal)}
|
||||
|
||||
/* ---------- pass / signature ---------- */
|
||||
.pass{background:#fff;color:var(--ink);border-radius:22px;box-shadow:0 40px 80px -30px rgba(0,0,0,.6);
|
||||
position:relative;overflow:hidden}
|
||||
.pass .top{padding:22px 26px 18px}
|
||||
.pass-head{display:flex;align-items:center;justify-content:space-between;gap:8px}
|
||||
.pass-head .who{display:flex;align-items:center;gap:.5rem;font-family:'Archivo';font-weight:800;font-size:.82rem}
|
||||
.pass-head .who .globe{width:26px;height:26px}
|
||||
.pass-tag{font-family:'Space Mono';font-size:.6rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;
|
||||
background:var(--ink);color:#fff;padding:.4em .7em;border-radius:6px}
|
||||
.price-row{display:flex;align-items:flex-end;gap:.6rem;margin:14px 0 2px}
|
||||
.price{font-family:'Archivo';font-weight:900;font-size:clamp(3.4rem,9vw,4.6rem);line-height:.85;letter-spacing:-.04em}
|
||||
.price .cur{font-size:.42em;vertical-align:top;margin-left:.05em}
|
||||
.old{font-family:'Archivo';font-weight:700;color:var(--muted);text-decoration:line-through;text-decoration-color:var(--violet);font-size:1.3rem;padding-bottom:.5rem}
|
||||
.pass .incl{font-weight:600;font-size:.95rem;color:var(--ink-2);margin:2px 0 16px;display:flex;align-items:center;gap:.5em}
|
||||
.pass .incl svg{width:18px;height:18px;color:var(--teal);flex:none}
|
||||
.pass .top .btn-go{width:100%;justify-content:center}
|
||||
.perf{position:relative;border-top:2px dashed var(--line);margin:6px 18px 0}
|
||||
.perf::before,.perf::after{content:"";position:absolute;top:-12px;width:22px;height:22px;border-radius:50%;background:var(--ink)}
|
||||
.pass.hero-pass .perf::before,.pass.hero-pass .perf::after{background:#1a0a38}
|
||||
.perf::before{left:-29px}.perf::after{right:-29px}
|
||||
.stub{padding:14px 26px 20px;background:linear-gradient(180deg,#fbfaff,#f3f0fb)}
|
||||
.stub-row{display:flex;justify-content:space-between;align-items:center;gap:10px;font-family:'Space Mono';font-size:.7rem;color:var(--ink-2)}
|
||||
.stub-row .lbl{color:var(--muted);letter-spacing:.06em}
|
||||
.stub .exp{margin-top:10px;display:flex;align-items:center;justify-content:space-between;gap:10px}
|
||||
.exp .cd{font-family:'Space Mono';font-weight:700;font-size:1.02rem;color:var(--ink);letter-spacing:.02em}
|
||||
.barcode{height:34px;margin-top:14px;border-radius:4px;
|
||||
background:repeating-linear-gradient(90deg,var(--ink) 0 2px,transparent 2px 4px,var(--ink) 4px 5px,transparent 5px 9px,var(--ink) 9px 12px,transparent 12px 14px);opacity:.85}
|
||||
.pass .note{font-family:'Space Mono';font-size:.62rem;color:var(--muted);text-align:center;margin-top:10px;letter-spacing:.04em}
|
||||
|
||||
/* ---------- generic blocks ---------- */
|
||||
.center{text-align:center}
|
||||
.lead{font-size:clamp(1.7rem,3.4vw,2.5rem);font-weight:800;margin:.4rem 0 .7rem}
|
||||
.sub-lead{color:var(--muted);max-width:60ch;margin:0 auto;font-size:1.05rem}
|
||||
.section-head{margin-bottom:clamp(32px,5vw,52px)}
|
||||
.section-head.center{margin-inline:auto}
|
||||
|
||||
/* offer value */
|
||||
.offer{background:#fff}
|
||||
.offer-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(28px,5vw,56px);align-items:center}
|
||||
.vlist{list-style:none;margin:0;padding:0;display:grid;gap:14px}
|
||||
.vlist li{display:flex;align-items:center;gap:.85rem;font-weight:600;font-size:1.05rem;
|
||||
background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:.85rem 1.1rem}
|
||||
.vlist .ic{width:34px;height:34px;border-radius:9px;display:grid;place-items:center;flex:none;background:var(--grad);color:#fff}
|
||||
.vlist .ic svg{width:18px;height:18px}
|
||||
.vlist li.hl{background:linear-gradient(180deg,#062e23,#0a4a39);color:#eafff8;border-color:transparent}
|
||||
.vlist li.hl .ic{background:#fff;color:var(--teal-d)}
|
||||
.offer-card{background:linear-gradient(170deg,var(--ink),var(--ink-3));color:#fff;border-radius:24px;padding:34px;box-shadow:var(--shadow);text-align:center}
|
||||
.offer-card .big{font-family:'Archivo';font-weight:900;font-size:clamp(3.6rem,10vw,5.2rem);line-height:.85}
|
||||
.offer-card .big .cur{font-size:.4em;vertical-align:top}
|
||||
.offer-card .save{display:inline-block;background:var(--teal);color:#04261d;font-family:'Archivo';font-weight:800;
|
||||
font-size:.82rem;padding:.4em .9em;border-radius:999px;margin:14px 0 8px;letter-spacing:.02em}
|
||||
.offer-card .vs{color:#c9bdec;font-size:.95rem;margin:0 0 22px}
|
||||
.offer-card .btn-go{width:100%;justify-content:center}
|
||||
|
||||
/* academies */
|
||||
.acad{background:var(--paper)}
|
||||
.acad-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
|
||||
.acard{background:#fff;border-radius:22px;padding:30px;box-shadow:var(--shadow-sm);border:1px solid var(--line);position:relative;overflow:hidden}
|
||||
.acard::before{content:"";position:absolute;inset:0 0 auto 0;height:5px;background:var(--grad)}
|
||||
.acard .crest{width:54px;height:54px;border-radius:14px;display:grid;place-items:center;background:var(--ink);margin-bottom:14px}
|
||||
.acad-logo{height:60px;width:auto;max-width:82%;display:block;margin:2px 0 16px}
|
||||
.acard.foot .crest{background:#0d0d12}
|
||||
.acard .crest svg{width:30px;height:30px;color:#fff}
|
||||
.acard h3{font-size:1.5rem;font-weight:800}
|
||||
.acard .role{color:var(--muted);font-size:.92rem;margin:.35rem 0 1.2rem;min-height:2.6em}
|
||||
.acard .plabel{font-family:'Space Mono';font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:var(--violet);font-weight:700;margin-bottom:10px}
|
||||
.acard ul{list-style:none;margin:0 0 18px;padding:0;display:grid;gap:9px}
|
||||
.acard ul li{display:flex;align-items:center;gap:.6rem;font-weight:500}
|
||||
.acard ul li svg{width:16px;height:16px;color:var(--teal);flex:none}
|
||||
.acard .unlock{font-family:'Space Mono';font-size:.66rem;color:var(--muted);border-top:1px dashed var(--line);padding-top:12px}
|
||||
|
||||
/* experts */
|
||||
.experts{background:var(--ink);color:#fff}
|
||||
.experts .eyebrow{color:#d9b8ff}
|
||||
.ex-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:24px}
|
||||
.duo{margin:38px 0 0;position:relative;border-radius:22px;overflow:hidden;box-shadow:0 30px 60px -28px rgba(0,0,0,.7)}
|
||||
.duo img{display:block;width:100%;height:clamp(240px,38vw,440px);object-fit:cover;object-position:center 32%}
|
||||
.duo figcaption{position:absolute;left:0;right:0;bottom:0;padding:26px 24px 18px;
|
||||
background:linear-gradient(0deg,rgba(16,6,34,.92),transparent);font-family:'Space Mono';font-size:.8rem;color:#e9e1ff}
|
||||
.ex .ph{width:84px;height:84px;border-radius:16px;flex:none;display:grid;place-items:center;
|
||||
background:linear-gradient(150deg,rgba(168,31,196,.5),rgba(37,99,230,.5))}
|
||||
.ex .ph .globe{width:48px;height:48px}
|
||||
.ex h3{font-size:1.25rem;font-weight:800}
|
||||
.ex .tag{font-family:'Space Mono';font-size:.66rem;letter-spacing:.1em;color:var(--teal);text-transform:uppercase;margin:.25rem 0 .6rem}
|
||||
.ex p{color:#cfc6ea;font-size:.95rem;margin:0}
|
||||
|
||||
/* how */
|
||||
.how-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:40px;counter-reset:s}
|
||||
.step{background:#fff;border:1px solid var(--line);border-radius:18px;padding:24px;position:relative;box-shadow:var(--shadow-sm)}
|
||||
.step .n{counter-increment:s;font-family:'Archivo';font-weight:900;font-size:1.1rem;width:42px;height:42px;border-radius:12px;
|
||||
background:var(--grad);color:#fff;display:grid;place-items:center;margin-bottom:14px}
|
||||
.step .n::before{content:counter(s)}
|
||||
.step h3{font-size:1.12rem;font-weight:800;margin-bottom:.4rem}
|
||||
.step p{color:var(--muted);font-size:.92rem;margin:0}
|
||||
.step:last-child{background:linear-gradient(170deg,#062e23,#0a4a39);border-color:transparent;color:#eafff8}
|
||||
.step:last-child .n{background:#fff;color:var(--teal-d)}
|
||||
.step:last-child p{color:#bdeede}
|
||||
|
||||
/* accessibility */
|
||||
.access{background:#fff}
|
||||
.acc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:40px}
|
||||
.acc{padding:28px;border-radius:18px;background:var(--paper);border:1px solid var(--line)}
|
||||
.acc .ic{width:46px;height:46px;border-radius:13px;display:grid;place-items:center;background:var(--grad);color:#fff;margin-bottom:14px}
|
||||
.acc .ic svg{width:24px;height:24px}
|
||||
.acc h3{font-size:1.18rem;font-weight:800;margin-bottom:.4rem}
|
||||
.acc p{color:var(--muted);font-size:.95rem;margin:0}
|
||||
|
||||
/* compare */
|
||||
.compare{background:var(--paper)}
|
||||
.cmp-grid{display:grid;grid-template-columns:1fr auto 1fr;gap:0;align-items:stretch;max-width:880px;margin:40px auto 0;
|
||||
background:#fff;border-radius:22px;overflow:hidden;box-shadow:var(--shadow);border:1px solid var(--line)}
|
||||
.cmp{padding:34px 30px;text-align:center}
|
||||
.cmp.win{background:linear-gradient(170deg,var(--ink),var(--ink-3));color:#fff}
|
||||
.cmp .lbl{font-family:'Space Mono';font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;opacity:.85}
|
||||
.cmp.win .lbl{color:var(--teal)}
|
||||
.cmp .amt{font-family:'Archivo';font-weight:900;font-size:clamp(2.8rem,7vw,3.6rem);line-height:1;margin:.5rem 0}
|
||||
.cmp .amt .cur{font-size:.4em;vertical-align:top}
|
||||
.cmp .desc{color:var(--muted);font-size:.92rem}
|
||||
.cmp.win .desc{color:#c9bdec}
|
||||
.cmp-vs{display:grid;place-items:center;font-family:'Archivo';font-weight:900;color:var(--violet);font-size:1rem;
|
||||
background:#fff;padding:0 6px;position:relative}
|
||||
.cmp-vs span{background:var(--paper);border:1px solid var(--line);width:46px;height:46px;border-radius:50%;display:grid;place-items:center}
|
||||
|
||||
/* faq */
|
||||
.faq{background:#fff}
|
||||
.faq-list{max-width:780px;margin:38px auto 0;display:grid;gap:12px}
|
||||
.qa{border:1px solid var(--line);border-radius:14px;overflow:hidden;background:var(--paper)}
|
||||
.qa button{width:100%;text-align:left;background:none;border:none;cursor:pointer;padding:18px 20px;
|
||||
font-family:'Archivo';font-weight:700;font-size:1.05rem;color:var(--ink);display:flex;justify-content:space-between;align-items:center;gap:1rem}
|
||||
.qa .chev{flex:none;width:22px;height:22px;transition:transform .2s;color:var(--violet)}
|
||||
.qa[open] .chev,.qa.open .chev{transform:rotate(180deg)}
|
||||
.qa .ans{padding:0 20px 18px;color:var(--muted);font-size:.97rem}
|
||||
|
||||
/* final */
|
||||
.final{background:
|
||||
radial-gradient(80% 120% at 50% -10%,rgba(16,199,154,.18),transparent 60%),
|
||||
linear-gradient(180deg,#1a0a38,#250f4d);color:#fff;text-align:center}
|
||||
.final h2{font-size:clamp(2.1rem,5.5vw,3.6rem);font-weight:900;margin:.6rem auto .8rem;max-width:18ch}
|
||||
.final p.sub{color:#d2c8ee;font-size:1.08rem;max-width:42ch;margin:0 auto 1.6rem}
|
||||
.final .cd-big{font-family:'Space Mono';font-weight:700;font-size:clamp(1.3rem,3.6vw,2rem);color:var(--teal);margin:0 0 1.8rem;letter-spacing:.04em}
|
||||
.final .eyebrow{color:#9be9cf}
|
||||
|
||||
/* footer */
|
||||
footer{background:var(--ink);color:#bcb1da;padding:56px 0 30px;font-size:.9rem}
|
||||
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:32px}
|
||||
.foot-brand .brand{color:#fff;margin-bottom:.8rem}
|
||||
.foot-logo-wrap{display:inline-block;margin-bottom:1rem}
|
||||
.foot-logo{display:block;height:44px;width:auto}
|
||||
.foot-brand p{max-width:32ch;color:#a99fc9}
|
||||
footer h4{font-family:'Archivo';font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:#fff;margin:0 0 14px}
|
||||
footer ul{list-style:none;margin:0;padding:0;display:grid;gap:9px}
|
||||
footer a:hover{color:#fff}
|
||||
.socials{display:flex;gap:12px;margin-top:6px}
|
||||
.socials a,.socials span{width:38px;height:38px;border-radius:10px;display:grid;place-items:center;background:rgba(255,255,255,.07);color:#fff;transition:.15s}
|
||||
.socials a:hover{background:var(--grad)}
|
||||
.socials [data-disabled="true"]{cursor:default;opacity:.45;pointer-events:none}
|
||||
.socials svg{width:18px;height:18px}
|
||||
.soon{font-family:'Space Mono';font-size:.6rem;color:var(--teal);opacity:.8}
|
||||
.foot-bottom{border-top:1px solid rgba(255,255,255,.1);margin-top:38px;padding-top:20px;display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;color:#8e84ad;font-size:.8rem}
|
||||
|
||||
/* sticky mobile cta */
|
||||
.mcta{position:fixed;left:0;right:0;bottom:0;z-index:70;display:none;gap:10px;align-items:center;justify-content:space-between;
|
||||
background:#fff;border-top:1px solid var(--line);padding:10px 16px;box-shadow:0 -10px 30px -16px rgba(26,10,56,.5)}
|
||||
.mcta .mp{font-family:'Archivo';font-weight:900}
|
||||
.mcta .mp small{display:block;font-family:'Space Mono';font-size:.58rem;color:var(--muted);font-weight:400}
|
||||
.mcta .btn{padding:.8em 1.2em;font-size:.92rem}
|
||||
|
||||
/* reveal */
|
||||
.rv{opacity:0;transform:translateY(22px);transition:opacity .6s ease,transform .6s ease}
|
||||
.rv.in{opacity:1;transform:none}
|
||||
|
||||
/* ---------- responsive ---------- */
|
||||
@media(max-width:920px){
|
||||
.hero-grid,.offer-grid,.acad-grid,.ex-grid{grid-template-columns:1fr}
|
||||
.hero-grid{gap:34px}
|
||||
.how-grid{grid-template-columns:1fr 1fr}
|
||||
.acc-grid{grid-template-columns:1fr}
|
||||
.navlinks,.nav .btn.btn-go.deskcta{display:none}
|
||||
.burger{display:block}
|
||||
header.menu-open .navlinks{display:flex;position:absolute;top:100%;left:0;right:0;flex-direction:column;
|
||||
background:var(--paper);border-bottom:1px solid var(--line);padding:18px 6vw;gap:1.1rem}
|
||||
.launch-page header.menu-open .navlinks{background:#100620;border-bottom-color:rgba(255,255,255,.12)}
|
||||
.launch-grid,.launch-cards{grid-template-columns:1fr}
|
||||
.launch-copy h1{max-width:12ch}
|
||||
}
|
||||
@media(max-width:600px){
|
||||
.how-grid{grid-template-columns:1fr}
|
||||
.cmp-grid{grid-template-columns:1fr}
|
||||
.cmp-vs span{margin:-8px auto}
|
||||
.foot-grid{grid-template-columns:1fr}
|
||||
.mcta{display:flex}
|
||||
body{padding-bottom:72px}
|
||||
.ubar{font-size:.76rem}
|
||||
.trust{gap:.9rem}
|
||||
.launch-clock{grid-template-columns:repeat(2,1fr)}
|
||||
.launch-logo{height:44px}
|
||||
}
|
||||
@media(prefers-reduced-motion:reduce){
|
||||
*{scroll-behavior:auto!important}
|
||||
.rv{opacity:1;transform:none;transition:none}
|
||||
.btn:hover{transform:none}
|
||||
}
|
||||
|
After Width: | Height: | Size: 69 KiB |
|
After Width: | Height: | Size: 23 KiB |
|
After Width: | Height: | Size: 61 KiB |
|
After Width: | Height: | Size: 122 KiB |
|
After Width: | Height: | Size: 112 KiB |
|
After Width: | Height: | Size: 95 KiB |
@@ -0,0 +1,505 @@
|
||||
/* ---------------- i18n ---------------- */
|
||||
const DICT = {
|
||||
fr: {
|
||||
pricing: "stripe-pricing-table",
|
||||
nav_offer: "L'offre",
|
||||
nav_acad: "Académies",
|
||||
nav_how: "Comment ça marche",
|
||||
nav_faq: "FAQ",
|
||||
nav_cta: "S'abonner — 7,90€",
|
||||
bar: "Offre Coupe du Monde : les 2 académies à 7,90€ au lieu de 80€ — fin le 19 juillet.",
|
||||
bar_ends: "Se termine dans",
|
||||
hero_eyebrow: "Offre Coupe du Monde — édition limitée",
|
||||
hero_h1a: "Tout le monde a le droit",
|
||||
hero_h1b: "aux experts.",
|
||||
hero_h1full: "Tout le monde a le droit aux experts.",
|
||||
hero_sub:
|
||||
"Les académies vidéo de Dimitri Payet et Yannick Dyduch. Football & kiné du sport, par ceux qui le font au plus haut niveau.",
|
||||
cta1: "Je profite de l'offre — 7,90€",
|
||||
cta2: "Voir le programme",
|
||||
trust1: "Précode immédiat",
|
||||
trust2: "Paiement sécurisé Stripe",
|
||||
trust3: "Accès aux 2 académies",
|
||||
pass_label: "Pass Coupe du Monde",
|
||||
pass_old: "au lieu de 80€",
|
||||
pass_incl: "Accès illimité · 2 académies",
|
||||
pass_valid_lbl: "VALABLE",
|
||||
pass_expires: "EXPIRE DANS",
|
||||
pass_note: "Précode reçu dès le paiement",
|
||||
offer_eyebrow: "L'offre",
|
||||
offer_title: "7,90€ pour tout. Pendant la Coupe du Monde.",
|
||||
offer_sub:
|
||||
"Un seul tarif, les deux académies, accès illimité. Après le 1er octobre, chaque académie repasse à 40€.",
|
||||
oi1: "Les 2 académies, accès illimité",
|
||||
oi2: "Précode reçu immédiatement",
|
||||
oi3: "Tout se débloque le 1er octobre 2026",
|
||||
oi4: "Sous-titré dans ta langue",
|
||||
oi5: "Paiement 100% sécurisé (Stripe)",
|
||||
oi6: "Tu économises 72€",
|
||||
save_badge: "−72€ · économie de 90%",
|
||||
vs_after: "À partir du 1er octobre : 40€ / académie (80€ les deux)",
|
||||
vs_until: "Offre valable jusqu'au 19 juillet 2026",
|
||||
acad_eyebrow: "Les académies",
|
||||
acad_title: "Deux experts. Deux programmes. Un seul accès.",
|
||||
payet_name: "La Payet Academy",
|
||||
payet_role:
|
||||
"Dimitri Payet — footballeur pro, légende de l'OM (740+ matchs)",
|
||||
physio_name: "La PhysioSport Academy",
|
||||
physio_role:
|
||||
"Yannick Dyduch — kiné D.E. & ostéo D.O. (Juventus, Équipe nationale de Belgique, ex-OM)",
|
||||
program_label: "Au programme",
|
||||
unlock_note: "Vidéos déblocables le 1er octobre 2026",
|
||||
p1: "La Passe",
|
||||
p2: "Le Contrôle de balle",
|
||||
p3: "La Conduite de balle",
|
||||
p4: "La Frappe",
|
||||
p5: "Le Coup franc direct",
|
||||
p6: "Les Coups de pied arrêtés",
|
||||
f1: "Le Strapping",
|
||||
f2: "La Mobilisation",
|
||||
f3: "Le Massage du sportif",
|
||||
f4: "Les Blessures musculaires",
|
||||
f5: "Les Blessures articulaires",
|
||||
f6: "Les Blessures inflammatoires",
|
||||
ex_eyebrow: "Pourquoi eux",
|
||||
ex_title: "Ceux qui le font. Pas ceux qui en parlent.",
|
||||
ex_payet_tag: "Football · La Payet Academy",
|
||||
ex_payet_bio:
|
||||
"Plus de 740 matchs professionnels, légende de l'Olympique de Marseille. Dimitri Payet partage enfin ses gestes : frappe, coups francs, contrôle, vision de jeu.",
|
||||
ex_physio_tag: "Kiné du sport · La PhysioSport Academy",
|
||||
ex_physio_bio:
|
||||
"Kinésithérapeute et ostéopathe des plus grands clubs (Juventus, Équipe nationale de Belgique, ex-OM). Yannick Dyduch transmet la kiné du sport : strapping, massage, prévention, prise en charge des blessures.",
|
||||
how_eyebrow: "Comment ça marche",
|
||||
how_title: "De l'inscription au déblocage",
|
||||
s1t: "Tu t'abonnes",
|
||||
s1d: "7,90€, paiement sécurisé en quelques secondes.",
|
||||
s2t: "Tu reçois ton précode",
|
||||
s2d: "Confirmation immédiate par e-mail.",
|
||||
s3t: "La Coupe du Monde",
|
||||
s3d: "On chauffe la communauté jusqu'au coup d'envoi.",
|
||||
s4t: "1er octobre 2026",
|
||||
s4d: "Toutes les vidéos se débloquent. À toi de jouer.",
|
||||
acc_eyebrow: "Notre raison d'être",
|
||||
acc_sub:
|
||||
"Le savoir des pros ne devrait pas être réservé à ceux qui ont les moyens, le bon code postal ou la bonne langue.",
|
||||
acc1t: "Accessible financièrement",
|
||||
acc1d:
|
||||
"Des abonnements low-cost. Le savoir des pros, sans le prix des stages.",
|
||||
acc2t: "Accessible partout",
|
||||
acc2d: "Un site et une appli. Où que tu sois, les experts sont là.",
|
||||
acc3t: "Accessible dans ta langue",
|
||||
acc3d: "Des tutoriels sous-titrés dans toutes les langues.",
|
||||
cmp_title: "7,90€ aujourd'hui, ou 80€ le 1er octobre",
|
||||
cmp_during: "Pendant la Coupe du Monde",
|
||||
cmp_during_d: "Les 2 académies, accès illimité",
|
||||
cmp_after: "À partir du 1er octobre",
|
||||
cmp_after_d: "40€ par académie, soit 80€ les deux",
|
||||
faq_eyebrow: "FAQ",
|
||||
faq_title: "Questions fréquentes",
|
||||
q1: "Quand est-ce que j'ai accès aux vidéos ?",
|
||||
a1: "Tu reçois ton précode dès le paiement. L'intégralité des contenus se débloque le 1er octobre 2026.",
|
||||
q2: "C'est quoi un précode ?",
|
||||
a2: "C'est ton accès réservé, envoyé par e-mail dès l'achat. Tu l'utilises pour entrer dans les académies au lancement.",
|
||||
q3: "L'offre 7,90€ couvre les deux académies ?",
|
||||
a3: "Oui. Un seul paiement de 7,90€ te donne un accès illimité à La Payet Academy et à La PhysioSport Academy.",
|
||||
q4: "Jusqu'à quand l'offre est valable ?",
|
||||
a4: "Jusqu'au 19 juillet 2026, fin de la Coupe du Monde. Après, place au tarif normal de 40€ par académie.",
|
||||
q5: "Le paiement est-il sécurisé ?",
|
||||
a5: "Oui, 100%. Les paiements sont traités par Stripe, leader mondial du paiement en ligne.",
|
||||
q6: "Dans quelles langues ?",
|
||||
a6: "Le site est disponible en français, anglais, espagnol et portugais, et les tutoriels sont sous-titrés.",
|
||||
final_eyebrow: "Dernier appel",
|
||||
final_title: "7,90€ aujourd'hui. 80€ le 1er octobre.",
|
||||
final_sub: "L'offre se termine avec la Coupe du Monde, le 19 juillet 2026.",
|
||||
foot_tagline:
|
||||
"Tout le monde a le droit aux experts. La Payet Academy & La PhysioSport Academy.",
|
||||
foot_legal_h: "Informations",
|
||||
legal1: "Conditions générales de vente",
|
||||
legal2: "Mentions légales",
|
||||
legal3: "Règlement intérieur",
|
||||
foot_follow: "Suivez-nous",
|
||||
foot_soon_lbl: "TikTok & LinkedIn :",
|
||||
foot_soon: "à venir",
|
||||
rights: "© 2026 TutoSport Expert. Tous droits réservés.",
|
||||
mcta_sub: "au lieu de 80€",
|
||||
mcta_btn: "J'en profite",
|
||||
cd_d: "j",
|
||||
},
|
||||
en: {
|
||||
pricing: "stripe-pricing-table",
|
||||
nav_offer: "Offer",
|
||||
nav_acad: "Academies",
|
||||
nav_how: "How it works",
|
||||
nav_faq: "FAQ",
|
||||
nav_cta: "Subscribe — 7,90€",
|
||||
bar: "World Cup Offer: both academies for 7,90€ instead of €80 — ends July 19.",
|
||||
bar_ends: "Ends in",
|
||||
hero_eyebrow: "World Cup Offer — limited edition",
|
||||
hero_h1a: "Everyone deserves",
|
||||
hero_h1b: "the experts.",
|
||||
hero_h1full: "Everyone deserves the experts.",
|
||||
hero_sub:
|
||||
"The video academies of Dimitri Payet and Yannick Dyduch. Football & sports physio, taught by people who do it at the highest level.",
|
||||
cta1: "Get the offer — 7,90€",
|
||||
cta2: "See the program",
|
||||
trust1: "Instant pre-code",
|
||||
trust2: "Secure Stripe payment",
|
||||
trust3: "Access to both academies",
|
||||
pass_label: "World Cup Pass",
|
||||
pass_old: "instead of €80",
|
||||
pass_incl: "Unlimited access · 2 academies",
|
||||
pass_valid_lbl: "VALID",
|
||||
pass_expires: "EXPIRES IN",
|
||||
pass_note: "Pre-code sent right after payment",
|
||||
offer_eyebrow: "The offer",
|
||||
offer_title: "7,90€ for everything. During the World Cup.",
|
||||
offer_sub:
|
||||
"One price, both academies, unlimited access. After October 1, each academy goes back to €40.",
|
||||
oi1: "Both academies, unlimited access",
|
||||
oi2: "Pre-code delivered instantly",
|
||||
oi3: "Everything unlocks October 1, 2026",
|
||||
oi4: "Subtitled in your language",
|
||||
oi5: "100% secure payment (Stripe)",
|
||||
oi6: "You save 72€",
|
||||
save_badge: "−72€ · save 90%",
|
||||
vs_after: "From October 1: €40 / academy (€80 for both)",
|
||||
vs_until: "Offer valid until July 19, 2026",
|
||||
acad_eyebrow: "The academies",
|
||||
acad_title: "Two experts. Two programs. One access.",
|
||||
payet_name: "La Payet Academy",
|
||||
payet_role: "Dimitri Payet — pro footballer, OM legend (740+ games)",
|
||||
physio_name: "La PhysioSport Academy",
|
||||
physio_role:
|
||||
"Yannick Dyduch — physiotherapist & osteopath (Juventus, Belgium NT, ex-OM)",
|
||||
program_label: "In the program",
|
||||
unlock_note: "Videos unlock October 1, 2026",
|
||||
p1: "The Pass",
|
||||
p2: "Ball Control",
|
||||
p3: "Dribbling",
|
||||
p4: "Shooting",
|
||||
p5: "Direct Free Kicks",
|
||||
p6: "Set Pieces",
|
||||
f1: "Taping / Strapping",
|
||||
f2: "Mobilization",
|
||||
f3: "Sports Massage",
|
||||
f4: "Muscle Injuries",
|
||||
f5: "Joint Injuries",
|
||||
f6: "Inflammatory Injuries",
|
||||
ex_eyebrow: "Why them",
|
||||
ex_title: "People who do it. Not people who talk about it.",
|
||||
ex_payet_tag: "Football · La Payet Academy",
|
||||
ex_payet_bio:
|
||||
"Over 740 pro games, Olympique de Marseille legend. Dimitri Payet finally shares his craft: shooting, free kicks, control, game vision.",
|
||||
ex_physio_tag: "Sports physio · La PhysioSport Academy",
|
||||
ex_physio_bio:
|
||||
"Physiotherapist and osteopath for elite clubs (Juventus, Belgium national team, ex-OM). Yannick Dyduch teaches sports physio: taping, massage, prevention, injury care.",
|
||||
how_eyebrow: "How it works",
|
||||
how_title: "From sign-up to unlock",
|
||||
s1t: "You subscribe",
|
||||
s1d: "7,90€, secure payment in seconds.",
|
||||
s2t: "You get your pre-code",
|
||||
s2d: "Instant email confirmation.",
|
||||
s3t: "The World Cup",
|
||||
s3d: "We warm up the community until kickoff.",
|
||||
s4t: "October 1, 2026",
|
||||
s4d: "All videos unlock. Game on.",
|
||||
acc_eyebrow: "Why we exist",
|
||||
acc_sub:
|
||||
"Pro knowledge shouldn't be reserved for those with the money, the right postcode or the right language.",
|
||||
acc1t: "Financially accessible",
|
||||
acc1d:
|
||||
"Low-cost subscriptions. Pro knowledge, without the price of training camps.",
|
||||
acc2t: "Accessible anywhere",
|
||||
acc2d: "A site and an app. Wherever you are, the experts are there.",
|
||||
acc3t: "Accessible in your language",
|
||||
acc3d: "Tutorials subtitled in every language.",
|
||||
cmp_title: "7,90€ today, or €80 on October 1",
|
||||
cmp_during: "During the World Cup",
|
||||
cmp_during_d: "Both academies, unlimited access",
|
||||
cmp_after: "From October 1",
|
||||
cmp_after_d: "€40 per academy, €80 for both",
|
||||
faq_eyebrow: "FAQ",
|
||||
faq_title: "Frequently asked questions",
|
||||
q1: "When do I get access to the videos?",
|
||||
a1: "You get your pre-code right after payment. All content unlocks on October 1, 2026.",
|
||||
q2: "What's a pre-code?",
|
||||
a2: "It's your reserved access, emailed at purchase. Use it to enter the academies at launch.",
|
||||
q3: "Does the 7,90€ offer cover both academies?",
|
||||
a3: "Yes. A single 7,90€ payment gives unlimited access to both La Payet Academy and La PhysioSport Academy.",
|
||||
q4: "Until when is the offer valid?",
|
||||
a4: "Until July 19, 2026, the end of the World Cup. After that, the regular €40-per-academy price applies.",
|
||||
q5: "Is payment secure?",
|
||||
a5: "Yes, 100%. Payments are processed by Stripe, a global leader in online payments.",
|
||||
q6: "In which languages?",
|
||||
a6: "The site is available in French, English, Spanish and Portuguese, and tutorials are subtitled.",
|
||||
final_eyebrow: "Last call",
|
||||
final_title: "7,90€ today. €80 on October 1.",
|
||||
final_sub: "The offer ends with the World Cup, on July 19, 2026.",
|
||||
foot_tagline:
|
||||
"Everyone deserves the experts. La Payet Academy & La PhysioSport Academy.",
|
||||
foot_legal_h: "Information",
|
||||
legal1: "Terms of Sale",
|
||||
legal2: "Legal notice",
|
||||
legal3: "House rules",
|
||||
foot_follow: "Follow us",
|
||||
foot_soon_lbl: "TikTok & LinkedIn:",
|
||||
foot_soon: "soon",
|
||||
rights: "© 2026 TutoSport Expert. All rights reserved.",
|
||||
mcta_sub: "instead of €80",
|
||||
mcta_btn: "Get it",
|
||||
cd_d: "d",
|
||||
},
|
||||
es: {
|
||||
pricing: "stripe-pricing-table",
|
||||
nav_offer: "Oferta",
|
||||
nav_acad: "Academias",
|
||||
nav_how: "Cómo funciona",
|
||||
nav_faq: "FAQ",
|
||||
nav_cta: "Suscribirse — 7,90€",
|
||||
bar: "Oferta Mundial: las 2 academias por 7,90€ en vez de 80€ — termina el 19 de julio.",
|
||||
bar_ends: "Termina en",
|
||||
hero_eyebrow: "Oferta Mundial — edición limitada",
|
||||
hero_h1a: "Todos tienen derecho",
|
||||
hero_h1b: "a los expertos.",
|
||||
hero_h1full: "Todos tienen derecho a los expertos.",
|
||||
hero_sub:
|
||||
"Las academias en vídeo de Dimitri Payet y Yannick Dyduch. Fútbol y fisioterapia deportiva, por quienes lo hacen al más alto nivel.",
|
||||
cta1: "Aprovechar la oferta — 7,90€",
|
||||
cta2: "Ver el programa",
|
||||
trust1: "Pre-código inmediato",
|
||||
trust2: "Pago seguro con Stripe",
|
||||
trust3: "Acceso a las 2 academias",
|
||||
pass_label: "Pase Mundial",
|
||||
pass_old: "en vez de 80€",
|
||||
pass_incl: "Acceso ilimitado · 2 academias",
|
||||
pass_valid_lbl: "VÁLIDO",
|
||||
pass_expires: "EXPIRA EN",
|
||||
pass_note: "Pre-código al pagar",
|
||||
offer_eyebrow: "La oferta",
|
||||
offer_title: "7,90€ por todo. Durante el Mundial.",
|
||||
offer_sub:
|
||||
"Un solo precio, las dos academias, acceso ilimitado. Después del 1 de octubre, cada academia vuelve a 40€.",
|
||||
oi1: "Las 2 academias, acceso ilimitado",
|
||||
oi2: "Pre-código al instante",
|
||||
oi3: "Todo se desbloquea el 1 de octubre de 2026",
|
||||
oi4: "Subtitulado en tu idioma",
|
||||
oi5: "Pago 100% seguro (Stripe)",
|
||||
oi6: "Ahorras 72€",
|
||||
save_badge: "−72€ · ahorro del 90%",
|
||||
vs_after: "Desde el 1 de octubre: 40€ / academia (80€ las dos)",
|
||||
vs_until: "Oferta válida hasta el 19 de julio de 2026",
|
||||
acad_eyebrow: "Las academias",
|
||||
acad_title: "Dos expertos. Dos programas. Un solo acceso.",
|
||||
payet_name: "La Payet Academy",
|
||||
payet_role:
|
||||
"Dimitri Payet — futbolista profesional, leyenda del OM (740+ partidos)",
|
||||
physio_name: "La PhysioSport Academy",
|
||||
physio_role:
|
||||
"Yannick Dyduch — fisioterapeuta y osteópata (Juventus, Selección de Bélgica, ex-OM)",
|
||||
program_label: "En el programa",
|
||||
unlock_note: "Vídeos disponibles el 1 de octubre de 2026",
|
||||
p1: "El Pase",
|
||||
p2: "El Control",
|
||||
p3: "La Conducción",
|
||||
p4: "El Disparo",
|
||||
p5: "El Tiro libre directo",
|
||||
p6: "El Balón parado",
|
||||
f1: "El Vendaje (strapping)",
|
||||
f2: "La Movilización",
|
||||
f3: "El Masaje deportivo",
|
||||
f4: "Lesiones musculares",
|
||||
f5: "Lesiones articulares",
|
||||
f6: "Lesiones inflamatorias",
|
||||
ex_eyebrow: "Por qué ellos",
|
||||
ex_title: "Los que lo hacen. No los que hablan de ello.",
|
||||
ex_payet_tag: "Fútbol · La Payet Academy",
|
||||
ex_payet_bio:
|
||||
"Más de 740 partidos profesionales, leyenda del Olympique de Marsella. Dimitri Payet por fin comparte sus gestos: disparo, tiros libres, control, visión de juego.",
|
||||
ex_physio_tag: "Fisioterapia deportiva · La PhysioSport Academy",
|
||||
ex_physio_bio:
|
||||
"Fisioterapeuta y osteópata de los grandes clubes (Juventus, Selección de Bélgica, ex-OM). Yannick Dyduch transmite la fisioterapia deportiva: vendajes, masaje, prevención y tratamiento de lesiones.",
|
||||
how_eyebrow: "Cómo funciona",
|
||||
how_title: "Del registro al desbloqueo",
|
||||
s1t: "Te suscribes",
|
||||
s1d: "7,90€, pago seguro en segundos.",
|
||||
s2t: "Recibes tu pre-código",
|
||||
s2d: "Confirmación inmediata por correo.",
|
||||
s3t: "El Mundial",
|
||||
s3d: "Calentamos la comunidad hasta el inicio.",
|
||||
s4t: "1 de octubre de 2026",
|
||||
s4d: "Se desbloquean todos los vídeos. Te toca.",
|
||||
acc_eyebrow: "Nuestra razón de ser",
|
||||
acc_sub:
|
||||
"El saber de los pros no debería ser solo para quien tiene el dinero, el código postal o el idioma correctos.",
|
||||
acc1t: "Accesible económicamente",
|
||||
acc1d:
|
||||
"Suscripciones low-cost. El saber de los pros, sin el precio de los cursos.",
|
||||
acc2t: "Accesible en todas partes",
|
||||
acc2d: "Una web y una app. Estés donde estés, los expertos están.",
|
||||
acc3t: "Accesible en tu idioma",
|
||||
acc3d: "Tutoriales subtitulados en todos los idiomas.",
|
||||
cmp_title: "7,90€ hoy, u 80€ el 1 de octubre",
|
||||
cmp_during: "Durante el Mundial",
|
||||
cmp_during_d: "Las 2 academias, acceso ilimitado",
|
||||
cmp_after: "Desde el 1 de octubre",
|
||||
cmp_after_d: "40€ por academia, 80€ las dos",
|
||||
faq_eyebrow: "FAQ",
|
||||
faq_title: "Preguntas frecuentes",
|
||||
q1: "¿Cuándo accedo a los vídeos?",
|
||||
a1: "Recibes tu pre-código al pagar. Todo el contenido se desbloquea el 1 de octubre de 2026.",
|
||||
q2: "¿Qué es un pre-código?",
|
||||
a2: "Es tu acceso reservado, enviado por correo al comprar. Lo usas para entrar en las academias en el lanzamiento.",
|
||||
q3: "¿La oferta de 7,90€ cubre las dos academias?",
|
||||
a3: "Sí. Un único pago de 7,90€ da acceso ilimitado a La Payet Academy y a La PhysioSport Academy.",
|
||||
q4: "¿Hasta cuándo es válida la oferta?",
|
||||
a4: "Hasta el 19 de julio de 2026, fin del Mundial. Después se aplica el precio normal de 40€ por academia.",
|
||||
q5: "¿El pago es seguro?",
|
||||
a5: "Sí, 100%. Los pagos los procesa Stripe, líder mundial del pago en línea.",
|
||||
q6: "¿En qué idiomas?",
|
||||
a6: "El sitio está disponible en francés, inglés, español y portugués, y los tutoriales están subtitulados.",
|
||||
final_eyebrow: "Última llamada",
|
||||
final_title: "7,90€ hoy. 80€ el 1 de octubre.",
|
||||
final_sub: "La oferta termina con el Mundial, el 19 de julio de 2026.",
|
||||
foot_tagline:
|
||||
"Todos tienen derecho a los expertos. La Payet Academy & La PhysioSport Academy.",
|
||||
foot_legal_h: "Información",
|
||||
legal1: "Condiciones de venta",
|
||||
legal2: "Aviso legal",
|
||||
legal3: "Reglamento interno",
|
||||
foot_follow: "Síguenos",
|
||||
foot_soon_lbl: "TikTok y LinkedIn:",
|
||||
foot_soon: "próximamente",
|
||||
rights: "© 2026 TutoSport Expert. Todos los derechos reservados.",
|
||||
mcta_sub: "en vez de 80€",
|
||||
mcta_btn: "Lo quiero",
|
||||
cd_d: "d",
|
||||
},
|
||||
pt: {
|
||||
pricing: "stripe-pricing-table",
|
||||
nav_offer: "Oferta",
|
||||
nav_acad: "Academias",
|
||||
nav_how: "Como funciona",
|
||||
nav_faq: "FAQ",
|
||||
nav_cta: "Assinar — 7,90€",
|
||||
bar: "Oferta Copa do Mundo: as 2 academias por 7,90€ em vez de 80€ — acaba em 19 de julho.",
|
||||
bar_ends: "Acaba em",
|
||||
hero_eyebrow: "Oferta Copa do Mundo — edição limitada",
|
||||
hero_h1a: "Todos têm direito",
|
||||
hero_h1b: "aos especialistas.",
|
||||
hero_h1full: "Todos têm direito aos especialistas.",
|
||||
hero_sub:
|
||||
"As academias em vídeo de Dimitri Payet e Yannick Dyduch. Futebol e fisioterapia esportiva, por quem faz no mais alto nível.",
|
||||
cta1: "Aproveitar a oferta — 7,90€",
|
||||
cta2: "Ver o programa",
|
||||
trust1: "Pré-código imediato",
|
||||
trust2: "Pagamento seguro com Stripe",
|
||||
trust3: "Acesso às 2 academias",
|
||||
pass_label: "Passe Copa do Mundo",
|
||||
pass_old: "em vez de 80€",
|
||||
pass_incl: "Acesso ilimitado · 2 academias",
|
||||
pass_valid_lbl: "VÁLIDO",
|
||||
pass_expires: "EXPIRA EM",
|
||||
pass_note: "Pré-código ao pagar",
|
||||
offer_eyebrow: "A oferta",
|
||||
offer_title: "7,90€ por tudo. Durante a Copa do Mundo.",
|
||||
offer_sub:
|
||||
"Um só preço, as duas academias, acesso ilimitado. Depois de 1 de outubro, cada academia volta a 40€.",
|
||||
oi1: "As 2 academias, acesso ilimitado",
|
||||
oi2: "Pré-código na hora",
|
||||
oi3: "Tudo libera em 1 de outubro de 2026",
|
||||
oi4: "Legendado no seu idioma",
|
||||
oi5: "Pagamento 100% seguro (Stripe)",
|
||||
oi6: "Você economiza 72€",
|
||||
save_badge: "−72€ · economia de 90%",
|
||||
vs_after: "A partir de 1 de outubro: 40€ / academia (80€ as duas)",
|
||||
vs_until: "Oferta válida até 19 de julho de 2026",
|
||||
acad_eyebrow: "As academias",
|
||||
acad_title: "Dois especialistas. Dois programas. Um só acesso.",
|
||||
payet_name: "La Payet Academy",
|
||||
payet_role:
|
||||
"Dimitri Payet — jogador profissional, lenda do OM (740+ jogos)",
|
||||
physio_name: "La PhysioSport Academy",
|
||||
physio_role:
|
||||
"Yannick Dyduch — fisioterapeuta e osteopata (Juventus, Seleção da Bélgica, ex-OM)",
|
||||
program_label: "No programa",
|
||||
unlock_note: "Vídeos liberados em 1 de outubro de 2026",
|
||||
p1: "O Passe",
|
||||
p2: "O Domínio",
|
||||
p3: "A Condução",
|
||||
p4: "O Chute",
|
||||
p5: "A Falta direta",
|
||||
p6: "As Bolas paradas",
|
||||
f1: "A Bandagem (strapping)",
|
||||
f2: "A Mobilização",
|
||||
f3: "A Massagem esportiva",
|
||||
f4: "Lesões musculares",
|
||||
f5: "Lesões articulares",
|
||||
f6: "Lesões inflamatórias",
|
||||
ex_eyebrow: "Por que eles",
|
||||
ex_title: "Quem faz. Não quem fala sobre isso.",
|
||||
ex_payet_tag: "Futebol · La Payet Academy",
|
||||
ex_payet_bio:
|
||||
"Mais de 740 jogos profissionais, lenda do Olympique de Marseille. Dimitri Payet enfim compartilha seus gestos: chute, faltas, domínio, visão de jogo.",
|
||||
ex_physio_tag: "Fisioterapia esportiva · La PhysioSport Academy",
|
||||
ex_physio_bio:
|
||||
"Fisioterapeuta e osteopata de grandes clubes (Juventus, Seleção da Bélgica, ex-OM). Yannick Dyduch ensina a fisioterapia esportiva: bandagens, massagem, prevenção e tratamento de lesões.",
|
||||
how_eyebrow: "Como funciona",
|
||||
how_title: "Da inscrição à liberação",
|
||||
s1t: "Você assina",
|
||||
s1d: "7,90€, pagamento seguro em segundos.",
|
||||
s2t: "Você recebe o pré-código",
|
||||
s2d: "Confirmação imediata por e-mail.",
|
||||
s3t: "A Copa do Mundo",
|
||||
s3d: "Aquecemos a comunidade até o apito inicial.",
|
||||
s4t: "1 de outubro de 2026",
|
||||
s4d: "Todos os vídeos liberam. É com você.",
|
||||
acc_eyebrow: "Nossa razão de ser",
|
||||
acc_sub:
|
||||
"O conhecimento dos pros não deveria ser só para quem tem dinheiro, o CEP certo ou o idioma certo.",
|
||||
acc1t: "Acessível no preço",
|
||||
acc1d:
|
||||
"Assinaturas low-cost. O conhecimento dos pros, sem o preço dos cursos.",
|
||||
acc2t: "Acessível em qualquer lugar",
|
||||
acc2d: "Um site e um app. Onde você estiver, os experts estão.",
|
||||
acc3t: "Acessível no seu idioma",
|
||||
acc3d: "Tutoriais legendados em todos os idiomas.",
|
||||
cmp_title: "7,90€ hoje, ou 80€ em 1 de outubro",
|
||||
cmp_during: "Durante a Copa do Mundo",
|
||||
cmp_during_d: "As 2 academias, acesso ilimitado",
|
||||
cmp_after: "A partir de 1 de outubro",
|
||||
cmp_after_d: "40€ por academia, 80€ as duas",
|
||||
faq_eyebrow: "FAQ",
|
||||
faq_title: "Perguntas frequentes",
|
||||
q1: "Quando eu acesso os vídeos?",
|
||||
a1: "Você recebe o pré-código ao pagar. Todo o conteúdo libera em 1 de outubro de 2026.",
|
||||
q2: "O que é um pré-código?",
|
||||
a2: "É o seu acesso reservado, enviado por e-mail na compra. Use-o para entrar nas academias no lançamento.",
|
||||
q3: "A oferta de 7,90€ cobre as duas academias?",
|
||||
a3: "Sim. Um único pagamento de 7,90€ dá acesso ilimitado à La Payet Academy e à La PhysioSport Academy.",
|
||||
q4: "Até quando a oferta é válida?",
|
||||
a4: "Até 19 de julho de 2026, fim da Copa do Mundo. Depois, vale o preço normal de 40€ por academia.",
|
||||
q5: "O pagamento é seguro?",
|
||||
a5: "Sim, 100%. Os pagamentos são processados pela Stripe, líder mundial em pagamentos online.",
|
||||
q6: "Em quais idiomas?",
|
||||
a6: "O site está disponível em francês, inglês, espanhol e português, e os tutoriais são legendados.",
|
||||
final_eyebrow: "Última chamada",
|
||||
final_title: "7,90€ hoje. 80€ em 1 de outubro.",
|
||||
final_sub: "A oferta acaba com a Copa do Mundo, em 19 de julho de 2026.",
|
||||
foot_tagline:
|
||||
"Todos têm direito aos especialistas. La Payet Academy & La PhysioSport Academy.",
|
||||
foot_legal_h: "Informações",
|
||||
legal1: "Termos de venda",
|
||||
legal2: "Aviso legal",
|
||||
legal3: "Regulamento interno",
|
||||
foot_follow: "Siga-nos",
|
||||
foot_soon_lbl: "TikTok e LinkedIn:",
|
||||
foot_soon: "em breve",
|
||||
rights: "© 2026 TutoSport Expert. Todos os direitos reservados.",
|
||||
mcta_sub: "em vez de 80€",
|
||||
mcta_btn: "Quero já",
|
||||
cd_d: "d",
|
||||
},
|
||||
};
|
||||
|
||||
const DEFAULT_LANG = "en";
|
||||
const LANG_STORAGE_KEY = "tutosport_lang";
|
||||
@@ -0,0 +1,90 @@
|
||||
/* ---------------- launch countdown i18n ---------------- */
|
||||
const DICT = {
|
||||
fr: {
|
||||
meta_title: "TutoSport Expert — Ouverture le 22 juin 2026",
|
||||
meta_description:
|
||||
"Les académies de Dimitri Payet & Yannick Dyduch arrivent. Offre Coupe du Monde : les 2 académies à 7,90€. Ouverture le 22 juin 2026.",
|
||||
tag: "Ouverture · 22 juin 2026",
|
||||
h1a: "Le compte à rebours",
|
||||
h1b: "est lancé.",
|
||||
sub: "Les académies de Dimitri Payet & Yannick Dyduch arrivent. Préparez-vous à l'offre Coupe du Monde.",
|
||||
l_d: "Jours",
|
||||
l_h: "Heures",
|
||||
l_m: "Minutes",
|
||||
l_s: "Secondes",
|
||||
offer_a: "Les 2 académies à",
|
||||
offer_b: "au lieu de 80€ · offre limitée Coupe du Monde",
|
||||
ph: "Ton adresse e-mail",
|
||||
btn: "Préviens-moi",
|
||||
thanks: "Merci ! On te prévient dès l'ouverture.",
|
||||
note: "Sois prévenu·e en premier et garde l'offre 7,90€.",
|
||||
rights: "© 2026 TutoSport Expert. Tous droits réservés.",
|
||||
cd_d: "j",
|
||||
},
|
||||
en: {
|
||||
meta_title: "TutoSport Expert — Opening June 22, 2026",
|
||||
meta_description:
|
||||
"The academies of Dimitri Payet & Yannick Dyduch are coming. World Cup offer: both academies for €7.90. Opening June 22, 2026.",
|
||||
tag: "Opening · June 22, 2026",
|
||||
h1a: "The countdown",
|
||||
h1b: "has started.",
|
||||
sub: "The academies of Dimitri Payet & Yannick Dyduch are coming. Get ready for the World Cup offer.",
|
||||
l_d: "Days",
|
||||
l_h: "Hours",
|
||||
l_m: "Minutes",
|
||||
l_s: "Seconds",
|
||||
offer_a: "Both academies for",
|
||||
offer_b: "instead of €80 · limited World Cup offer",
|
||||
ph: "Your email address",
|
||||
btn: "Notify me",
|
||||
thanks: "Thanks! We'll let you know at launch.",
|
||||
note: "Be the first in and keep the €7.90 offer.",
|
||||
rights: "© 2026 TutoSport Expert. All rights reserved.",
|
||||
cd_d: "d",
|
||||
},
|
||||
es: {
|
||||
meta_title: "TutoSport Expert — Apertura el 22 de junio de 2026",
|
||||
meta_description:
|
||||
"Las academias de Dimitri Payet y Yannick Dyduch llegan. Oferta Mundial: las 2 academias por 7,90€. Apertura el 22 de junio de 2026.",
|
||||
tag: "Apertura · 22 de junio de 2026",
|
||||
h1a: "La cuenta atrás",
|
||||
h1b: "ha comenzado.",
|
||||
sub: "Las academias de Dimitri Payet y Yannick Dyduch llegan. Prepárate para la oferta del Mundial.",
|
||||
l_d: "Días",
|
||||
l_h: "Horas",
|
||||
l_m: "Minutos",
|
||||
l_s: "Segundos",
|
||||
offer_a: "Las 2 academias por",
|
||||
offer_b: "en vez de 80€ · oferta limitada del Mundial",
|
||||
ph: "Tu correo electrónico",
|
||||
btn: "Avísame",
|
||||
thanks: "¡Gracias! Te avisamos en la apertura.",
|
||||
note: "Entra el primero y conserva la oferta de 7,90€.",
|
||||
rights: "© 2026 TutoSport Expert. Todos los derechos reservados.",
|
||||
cd_d: "d",
|
||||
},
|
||||
pt: {
|
||||
meta_title: "TutoSport Expert — Abertura em 22 de junho de 2026",
|
||||
meta_description:
|
||||
"As academias de Dimitri Payet e Yannick Dyduch chegam. Oferta Copa do Mundo: as 2 academias por 7,90€. Abertura em 22 de junho de 2026.",
|
||||
tag: "Abertura · 22 de junho de 2026",
|
||||
h1a: "A contagem regressiva",
|
||||
h1b: "começou.",
|
||||
sub: "As academias de Dimitri Payet e Yannick Dyduch chegam. Prepare-se para a oferta da Copa do Mundo.",
|
||||
l_d: "Dias",
|
||||
l_h: "Horas",
|
||||
l_m: "Minutos",
|
||||
l_s: "Segundos",
|
||||
offer_a: "As 2 academias por",
|
||||
offer_b: "em vez de 80€ · oferta limitada da Copa",
|
||||
ph: "Seu e-mail",
|
||||
btn: "Avise-me",
|
||||
thanks: "Obrigado! Avisamos na abertura.",
|
||||
note: "Seja o primeiro e garanta a oferta de 7,90€.",
|
||||
rights: "© 2026 TutoSport Expert. Todos os direitos reservados.",
|
||||
cd_d: "d",
|
||||
},
|
||||
};
|
||||
|
||||
const DEFAULT_LANG = "en";
|
||||
const LANG_STORAGE_KEY = "tutosport_lang";
|
||||
@@ -0,0 +1,372 @@
|
||||
const SUPPORTED_LANGS = Object.keys(DICT);
|
||||
let LANG = DEFAULT_LANG;
|
||||
|
||||
function getStripePricingTableHtml(lang) {
|
||||
const pricingTableId =
|
||||
SITE_CONFIG.stripe.pricingTableIds[lang] ||
|
||||
SITE_CONFIG.stripe.pricingTableIds.en;
|
||||
|
||||
return (
|
||||
`<stripe-pricing-table pricing-table-id="${pricingTableId}" ` +
|
||||
`publishable-key="${SITE_CONFIG.stripe.publishableKey}"></stripe-pricing-table>`
|
||||
);
|
||||
}
|
||||
|
||||
function normalizeLang(value) {
|
||||
if (!value) return null;
|
||||
const lang = String(value).toLowerCase().split(/[-_]/)[0];
|
||||
return DICT[lang] ? lang : null;
|
||||
}
|
||||
|
||||
function getStoredLang() {
|
||||
const cookieMatch = document.cookie.match(
|
||||
new RegExp(`(?:^|; )${LANG_STORAGE_KEY}=([^;]*)`),
|
||||
);
|
||||
try {
|
||||
return (
|
||||
normalizeLang(localStorage.getItem(LANG_STORAGE_KEY)) ||
|
||||
normalizeLang(cookieMatch && decodeURIComponent(cookieMatch[1]))
|
||||
);
|
||||
} catch (e) {
|
||||
return normalizeLang(cookieMatch && decodeURIComponent(cookieMatch[1]));
|
||||
}
|
||||
}
|
||||
|
||||
function getUrlLang() {
|
||||
return normalizeLang(new URLSearchParams(location.search).get("lang"));
|
||||
}
|
||||
|
||||
function getBrowserLang() {
|
||||
const browserLangs = navigator.languages && navigator.languages.length
|
||||
? navigator.languages
|
||||
: [navigator.language];
|
||||
for (const lang of browserLangs) {
|
||||
const normalized = normalizeLang(lang);
|
||||
if (normalized) return normalized;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
function getInitialLang() {
|
||||
return getUrlLang() || getStoredLang() || getBrowserLang() || DEFAULT_LANG;
|
||||
}
|
||||
|
||||
function getRootPrefix() {
|
||||
if (document.body && document.body.dataset.rootPrefix) {
|
||||
return document.body.dataset.rootPrefix;
|
||||
}
|
||||
const pathParts = location.pathname.split("/").filter(Boolean);
|
||||
const parentDir = pathParts.length > 1 ? pathParts[pathParts.length - 2] : "";
|
||||
return SUPPORTED_LANGS.includes(parentDir) ? "../" : "./";
|
||||
}
|
||||
|
||||
function withLangParam(href, lang) {
|
||||
const [pathWithSearch, hash = ""] = href.split("#");
|
||||
const [path, search = ""] = pathWithSearch.split("?");
|
||||
const params = new URLSearchParams(search);
|
||||
params.set("lang", lang);
|
||||
return `${path}?${params.toString()}${hash ? `#${hash}` : ""}`;
|
||||
}
|
||||
|
||||
function getLocalizedPageUrl(lang) {
|
||||
const pathParts = location.pathname.split("/").filter(Boolean);
|
||||
const parentDir = pathParts.length > 1 ? pathParts[pathParts.length - 2] : "";
|
||||
const fileName = pathParts[pathParts.length - 1] || "";
|
||||
if (!SUPPORTED_LANGS.includes(parentDir)) return null;
|
||||
if (fileName !== "cgv.html" && fileName !== "legals.html") return null;
|
||||
return withLangParam(`../${lang}/${fileName}`, lang);
|
||||
}
|
||||
|
||||
function updateInternalLinks(lang) {
|
||||
const rootPrefix = getRootPrefix();
|
||||
const homeHref = withLangParam(rootPrefix, lang);
|
||||
const offerHref = withLangParam(`${rootPrefix}offre.html`, lang);
|
||||
const legalPrefix = `${rootPrefix}${lang}/`;
|
||||
const anchors = {
|
||||
nav_offer: `${homeHref}#offre`,
|
||||
nav_acad: `${homeHref}#academies`,
|
||||
nav_how: `${homeHref}#how`,
|
||||
nav_faq: `${homeHref}#faq`,
|
||||
legal1: withLangParam(`${legalPrefix}cgv.html`, lang),
|
||||
legal2: withLangParam(`${legalPrefix}legals.html`, lang),
|
||||
};
|
||||
|
||||
Object.entries(anchors).forEach(([key, href]) => {
|
||||
document
|
||||
.querySelectorAll(`a[data-i18n="${key}"]`)
|
||||
.forEach((link) => link.setAttribute("href", href));
|
||||
});
|
||||
|
||||
document.querySelectorAll("a.brand, a.foot-logo-wrap").forEach((link) => {
|
||||
link.setAttribute("href", homeHref);
|
||||
});
|
||||
|
||||
document.querySelectorAll("a[href]").forEach((link) => {
|
||||
const href = link.getAttribute("href");
|
||||
if (!href || href.startsWith("http") || href.startsWith("mailto:")) return;
|
||||
if (href.includes("offre.html")) {
|
||||
link.setAttribute("href", offerHref);
|
||||
} else if (href === "#offre" || href === "./#offre") {
|
||||
link.setAttribute("href", `${homeHref}#offre`);
|
||||
} else if (href === "#academies" || href === "./#academies") {
|
||||
link.setAttribute("href", `${homeHref}#academies`);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function updateGoogleTagManagerNoScript() {
|
||||
const gtmId = SITE_CONFIG.googleTagManagerId;
|
||||
if (!gtmId) return;
|
||||
|
||||
document
|
||||
.querySelectorAll('iframe[src*="googletagmanager.com/ns.html"]')
|
||||
.forEach((iframe) => {
|
||||
iframe.setAttribute(
|
||||
"src",
|
||||
`https://www.googletagmanager.com/ns.html?id=${gtmId}`,
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
function loadGoogleTagManagerScript() {
|
||||
const gtmId = SITE_CONFIG.googleTagManagerId;
|
||||
if (!gtmId) return;
|
||||
if (
|
||||
document.querySelector(
|
||||
`script[src*="googletagmanager.com/gtm.js?id=${gtmId}"]`,
|
||||
)
|
||||
) {
|
||||
return;
|
||||
}
|
||||
|
||||
(function (w, d, s, l, i) {
|
||||
w[l] = w[l] || [];
|
||||
w[l].push({ "gtm.start": new Date().getTime(), event: "gtm.js" });
|
||||
const f = d.getElementsByTagName(s)[0];
|
||||
const j = d.createElement(s);
|
||||
const 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", gtmId);
|
||||
}
|
||||
|
||||
function updateConfiguredSiteUrl() {
|
||||
const siteUrl = SITE_CONFIG.siteUrl;
|
||||
const siteUrlAliases = SITE_CONFIG.siteUrlAliases || [];
|
||||
if (!siteUrl) return;
|
||||
|
||||
document.querySelectorAll("[href], [src]").forEach((el) => {
|
||||
["href", "src"].forEach((attr) => {
|
||||
const value = el.getAttribute(attr);
|
||||
const alias = siteUrlAliases.find(
|
||||
(item) => value && value.includes(item),
|
||||
);
|
||||
if (alias) {
|
||||
el.setAttribute(attr, value.replaceAll(alias, siteUrl));
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
if (!document.createTreeWalker || !document.body) return;
|
||||
const walker = document.createTreeWalker(document.body, 4);
|
||||
let node = walker.nextNode();
|
||||
while (node) {
|
||||
const alias = siteUrlAliases.find((item) =>
|
||||
node.nodeValue.includes(item),
|
||||
);
|
||||
if (alias) {
|
||||
node.nodeValue = node.nodeValue.replaceAll(alias, siteUrl);
|
||||
}
|
||||
node = walker.nextNode();
|
||||
}
|
||||
}
|
||||
|
||||
function updateSocialLinks() {
|
||||
const socialLinks = SITE_CONFIG.socialLinks || {};
|
||||
const selectors = {
|
||||
instagram: 'a[aria-label="Instagram"]',
|
||||
facebook: 'a[aria-label="Facebook"]:not([data-disabled="true"])',
|
||||
tiktok: 'a[aria-label="TikTok"]:not([data-disabled="true"])',
|
||||
linkedin: 'a[aria-label="LinkedIn"]:not([data-disabled="true"])',
|
||||
};
|
||||
|
||||
Object.entries(selectors).forEach(([key, selector]) => {
|
||||
const href = socialLinks[key];
|
||||
if (!href) return;
|
||||
document
|
||||
.querySelectorAll(selector)
|
||||
.forEach((link) => {
|
||||
link.setAttribute("href", href);
|
||||
link.setAttribute("target", "_blank");
|
||||
link.setAttribute("rel", "noopener noreferrer");
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
function getFooterPath() {
|
||||
return `${getRootPrefix()}footer.html`;
|
||||
}
|
||||
|
||||
async function loadFooter() {
|
||||
const placeholders = document.querySelectorAll('[data-include="footer"]');
|
||||
if (!placeholders.length || !window.fetch) return;
|
||||
|
||||
try {
|
||||
const response = await fetch(getFooterPath());
|
||||
if (!response.ok) return;
|
||||
|
||||
const rootPrefix = getRootPrefix();
|
||||
const footerHtml = (await response.text()).replaceAll(
|
||||
'src="assets/',
|
||||
`src="${rootPrefix}assets/`,
|
||||
);
|
||||
|
||||
placeholders.forEach((placeholder) => {
|
||||
placeholder.innerHTML = footerHtml;
|
||||
});
|
||||
|
||||
setLang(LANG);
|
||||
updateConfiguredSiteUrl();
|
||||
updateSocialLinks();
|
||||
} catch (e) {}
|
||||
}
|
||||
|
||||
function setLang(l, options = {}) {
|
||||
const normalizedLang = normalizeLang(l);
|
||||
if (!normalizedLang) return;
|
||||
LANG = normalizedLang;
|
||||
if (options.persist) {
|
||||
try {
|
||||
localStorage.setItem(LANG_STORAGE_KEY, normalizedLang);
|
||||
} catch (e) {}
|
||||
document.cookie = `${LANG_STORAGE_KEY}=${encodeURIComponent(
|
||||
normalizedLang,
|
||||
)};path=/;max-age=31536000;SameSite=Lax`;
|
||||
}
|
||||
const localizedPageUrl = options.navigate
|
||||
? getLocalizedPageUrl(normalizedLang)
|
||||
: null;
|
||||
if (localizedPageUrl && localizedPageUrl !== location.pathname + location.search) {
|
||||
location.href = localizedPageUrl;
|
||||
return;
|
||||
}
|
||||
document.documentElement.lang = normalizedLang;
|
||||
document.querySelectorAll("[data-i18n]").forEach((el) => {
|
||||
const v = DICT[normalizedLang][el.getAttribute("data-i18n")];
|
||||
if (v != null) el.textContent = v;
|
||||
});
|
||||
document.querySelectorAll("[data-i18n-html]").forEach((el) => {
|
||||
const key = el.getAttribute("data-i18n-html");
|
||||
const v =
|
||||
key === "pricing"
|
||||
? getStripePricingTableHtml(normalizedLang)
|
||||
: DICT[normalizedLang][key];
|
||||
if (v != null) el.innerHTML = v;
|
||||
});
|
||||
document.querySelectorAll("[data-i18n-content]").forEach((el) => {
|
||||
const v = DICT[normalizedLang][el.getAttribute("data-i18n-content")];
|
||||
if (v != null) el.setAttribute("content", v);
|
||||
});
|
||||
document.querySelectorAll("[data-i18n-ph]").forEach((el) => {
|
||||
const v = DICT[normalizedLang][el.getAttribute("data-i18n-ph")];
|
||||
if (v != null) el.setAttribute("placeholder", v);
|
||||
});
|
||||
document
|
||||
.querySelectorAll(".langsw button")
|
||||
.forEach((b) => {
|
||||
const isActive = b.dataset.lang === normalizedLang;
|
||||
b.classList.toggle("on", isActive);
|
||||
b.setAttribute("aria-pressed", String(isActive));
|
||||
});
|
||||
updateInternalLinks(normalizedLang);
|
||||
renderCountdown();
|
||||
}
|
||||
document
|
||||
.querySelectorAll(".langsw button")
|
||||
.forEach((b) =>
|
||||
b.addEventListener("click", () =>
|
||||
setLang(b.dataset.lang, { persist: true, navigate: true }),
|
||||
)
|
||||
);
|
||||
|
||||
loadGoogleTagManagerScript();
|
||||
updateGoogleTagManagerNoScript();
|
||||
updateConfiguredSiteUrl();
|
||||
updateSocialLinks();
|
||||
loadFooter();
|
||||
|
||||
/* ---------------- countdown ---------------- */
|
||||
const TARGET = new Date("2026-07-19T23:59:59+02:00").getTime();
|
||||
function renderCountdown() {
|
||||
const now = Date.now();
|
||||
let diff = Math.max(0, TARGET - now);
|
||||
const d = Math.floor(diff / 86400000);
|
||||
diff -= d * 86400000;
|
||||
const h = Math.floor(diff / 3600000);
|
||||
diff -= h * 3600000;
|
||||
const m = Math.floor(diff / 60000);
|
||||
diff -= m * 60000;
|
||||
const s = Math.floor(diff / 1000);
|
||||
const p = (n) => String(n).padStart(2, "0");
|
||||
const du = (DICT[LANG] && DICT[LANG].cd_d) || "d";
|
||||
const str = `${d}${du} ${p(h)}h ${p(m)}m ${p(s)}s`;
|
||||
document.querySelectorAll(".js-cd").forEach((e) => (e.textContent = str));
|
||||
}
|
||||
setLang(getInitialLang());
|
||||
setInterval(renderCountdown, 1000);
|
||||
|
||||
/* ---------------- header scroll ---------------- */
|
||||
const hd = document.getElementById("hd");
|
||||
if (hd) {
|
||||
addEventListener(
|
||||
"scroll",
|
||||
() => hd.classList.toggle("scrolled", scrollY > 10),
|
||||
{ passive: true },
|
||||
);
|
||||
}
|
||||
|
||||
/* ---------------- mobile menu ---------------- */
|
||||
const burger = document.getElementById("burger");
|
||||
if (burger && hd) {
|
||||
burger.addEventListener("click", () => {
|
||||
const open = hd.classList.toggle("menu-open");
|
||||
burger.setAttribute("aria-expanded", open);
|
||||
});
|
||||
}
|
||||
document.querySelectorAll("#navlinks a").forEach((a) =>
|
||||
a.addEventListener("click", () => {
|
||||
if (hd) hd.classList.remove("menu-open");
|
||||
if (burger) burger.setAttribute("aria-expanded", "false");
|
||||
}),
|
||||
);
|
||||
|
||||
/* ---------------- faq accordion ---------------- */
|
||||
document.querySelectorAll(".qa button").forEach((btn) => {
|
||||
btn.addEventListener("click", () => {
|
||||
const qa = btn.parentElement,
|
||||
ans = qa.querySelector(".ans"),
|
||||
open = qa.classList.toggle("open");
|
||||
btn.setAttribute("aria-expanded", open);
|
||||
ans.hidden = !open;
|
||||
});
|
||||
});
|
||||
|
||||
/* ---------------- reveal on scroll ---------------- */
|
||||
const reduce = matchMedia("(prefers-reduced-motion:reduce)").matches;
|
||||
if (!reduce && "IntersectionObserver" in window) {
|
||||
const io = new IntersectionObserver(
|
||||
(es) => {
|
||||
es.forEach((e) => {
|
||||
if (e.isIntersecting) {
|
||||
e.target.classList.add("in");
|
||||
io.unobserve(e.target);
|
||||
}
|
||||
});
|
||||
},
|
||||
{ threshold: 0.14 },
|
||||
);
|
||||
document.querySelectorAll(".rv").forEach((el) => io.observe(el));
|
||||
} else {
|
||||
document.querySelectorAll(".rv").forEach((el) => el.classList.add("in"));
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
const SITE_CONFIG = {
|
||||
googleTagManagerId: "GTM-MFN88L24",
|
||||
siteUrl: "https://www.tutosportexpert.com",
|
||||
siteUrlAliases: [
|
||||
"https://tutosportexpert.com",
|
||||
"https://www.tutosportexpert.com",
|
||||
],
|
||||
stripe: {
|
||||
publishableKey:
|
||||
"pk_live_51QblVdAVnr0yCjVxfn0VB0H62Kjdpfly5Cg8mVenw34xBvSavUoWCmDZJISEYme3y3nf9SXrA2GUFngt5dHHPa0N00mCehFE2N",
|
||||
pricingTableIds: {
|
||||
fr: "prctbl_1TjY4mAVnr0yCjVxprPlzN6a",
|
||||
en: "prctbl_1TjYLDAVnr0yCjVxbfn2vzkN",
|
||||
es: "prctbl_1TjYM8AVnr0yCjVx3hmFKXx3",
|
||||
pt: "prctbl_1TjYMtAVnr0yCjVxKNiktdBr",
|
||||
},
|
||||
},
|
||||
socialLinks: {
|
||||
instagram: "https://instagram.com/tutosportexpert",
|
||||
facebook: "#",
|
||||
tiktok: "#",
|
||||
linkedin: "#",
|
||||
},
|
||||
};
|
||||
@@ -0,0 +1,24 @@
|
||||
const SITE_CONFIG = {
|
||||
googleTagManagerId: "GTM-WTMNS3J8",
|
||||
siteUrl: "https://preprod.tutosportexpert.com",
|
||||
siteUrlAliases: [
|
||||
"https://tutosportexpert.com",
|
||||
"https://preprod.tutosportexpert.com",
|
||||
],
|
||||
stripe: {
|
||||
publishableKey:
|
||||
"pk_test_51QblVdAVnr0yCjVxvGKVEnsFExwJ5MJHrfpZha3hUdu6M1boWMVfo69sBvsaMAKPsnusWqI4JoDzsxgxjYOnzEot00ESickqIW",
|
||||
pricingTableIds: {
|
||||
fr: "prctbl_1TihgyAVnr0yCjVxitGGF6te",
|
||||
en: "prctbl_1Tif1XAVnr0yCjVxU6YR803D",
|
||||
es: "prctbl_1Tif20AVnr0yCjVxkV0GyCMy",
|
||||
pt: "prctbl_1TifbgAVnr0yCjVxxjJTNQfC",
|
||||
},
|
||||
},
|
||||
socialLinks: {
|
||||
instagram: "https://instagram.com/tutosportexpert",
|
||||
facebook: "#",
|
||||
tiktok: "#",
|
||||
linkedin: "#",
|
||||
},
|
||||
};
|
||||
@@ -0,0 +1,24 @@
|
||||
const SITE_CONFIG = {
|
||||
googleTagManagerId: "GTM-MFN88L24",
|
||||
siteUrl: "https://www.tutosportexpert.com",
|
||||
siteUrlAliases: [
|
||||
"https://tutosportexpert.com",
|
||||
"https://www.tutosportexpert.com",
|
||||
],
|
||||
stripe: {
|
||||
publishableKey:
|
||||
"pk_live_51QblVdAVnr0yCjVxfn0VB0H62Kjdpfly5Cg8mVenw34xBvSavUoWCmDZJISEYme3y3nf9SXrA2GUFngt5dHHPa0N00mCehFE2N",
|
||||
pricingTableIds: {
|
||||
fr: "prctbl_1TjY4mAVnr0yCjVxprPlzN6a",
|
||||
en: "prctbl_1TjYLDAVnr0yCjVxbfn2vzkN",
|
||||
es: "prctbl_1TjYM8AVnr0yCjVx3hmFKXx3",
|
||||
pt: "prctbl_1TjYMtAVnr0yCjVxKNiktdBr",
|
||||
},
|
||||
},
|
||||
socialLinks: {
|
||||
instagram: "https://instagram.com/tutosportexpert",
|
||||
facebook: "#",
|
||||
tiktok: "#",
|
||||
linkedin: "#",
|
||||
},
|
||||
};
|
||||
@@ -0,0 +1,798 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta content="width=device-width, initial-scale=1" name="viewport" />
|
||||
<title>TutoSport Expert — Conditions générales de vente</title>
|
||||
<meta content="Offre Coupe du Monde 7,90€" name="description" />
|
||||
<meta content="index,follow" name="robots" />
|
||||
<link href="https://fonts.googleapis.com" rel="preconnect" />
|
||||
<link crossorigin="" href="https://fonts.gstatic.com" rel="preconnect" />
|
||||
<link
|
||||
href="https://fonts.googleapis.com/css2?family=Archivo:wght@500;600;700;800;900&family=Inter:wght@400;500;600;700&family=Space+Mono:wght@400;700&display=swap"
|
||||
rel="stylesheet" />
|
||||
<link href="../assets/css/main.css" rel="stylesheet" />
|
||||
<link href="./cgv.html" hreflang="en" rel="alternate" />
|
||||
<script async src="https://js.stripe.com/v3/pricing-table.js"></script>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-WTMNS3J8" height="0" width="0"
|
||||
style="display:none;visibility:hidden"></iframe></noscript>
|
||||
<!-- reusable SVG defs -->
|
||||
<svg aria-hidden="true" height="0" style="position:absolute" width="0">
|
||||
<defs>
|
||||
<linearGradient id="gsphere" x1="0" x2="1" y1="0" y2="1">
|
||||
<stop offset="0" stop-color="#2f7bff"></stop>
|
||||
<stop offset=".55" stop-color="#a81fc4"></stop>
|
||||
<stop offset="1" stop-color="#6a1fae"></stop>
|
||||
</linearGradient>
|
||||
<linearGradient id="gswoosh" x1="0" x2="1" y1="0" y2="1">
|
||||
<stop offset="0" stop-color="#19d39a"></stop>
|
||||
<stop offset="1" stop-color="#0e9e8a"></stop>
|
||||
</linearGradient>
|
||||
</defs>
|
||||
<symbol id="globe" viewBox="0 0 100 100">
|
||||
<circle cx="50" cy="52" fill="url(#gsphere)" r="34"></circle>
|
||||
<g fill="none" opacity=".85" stroke="#fff" stroke-width="1.4">
|
||||
<ellipse cx="50" cy="52" rx="34" ry="13"></ellipse>
|
||||
<ellipse cx="50" cy="52" rx="22" ry="34"></ellipse>
|
||||
<ellipse cx="50" cy="52" rx="11" ry="34"></ellipse>
|
||||
<line x1="16" x2="84" y1="52" y2="52"></line>
|
||||
</g>
|
||||
<path d="M22 84 C40 70 64 64 86 34 C70 60 46 70 22 84 Z" fill="url(#gswoosh)"></path>
|
||||
</symbol>
|
||||
</svg>
|
||||
<!-- header -->
|
||||
<header id="hd">
|
||||
<div class="wrap nav">
|
||||
<a aria-label="TutoSport Expert" class="brand" href="./">
|
||||
<img alt="TutoSport Expert" class="hd-logo" src="../assets/images/image-c61e1316d393.png" />
|
||||
</a>
|
||||
<nav class="navlinks" id="navlinks">
|
||||
<a data-i18n="nav_offer" href="/#offre">L'offre</a>
|
||||
<a data-i18n="nav_acad" href="/#academies">Académies</a>
|
||||
<a data-i18n="nav_how" href="/#how">Comment ça marche</a>
|
||||
<a data-i18n="nav_faq" href="/#faq">FAQ</a>
|
||||
</nav>
|
||||
<div class="navright">
|
||||
<div aria-label="Langue" class="langsw" role="group">
|
||||
<button data-lang="fr">FR</button>
|
||||
<button class="on" data-lang="en">EN</button>
|
||||
<button data-lang="es">ES</button>
|
||||
<button data-lang="pt">PT</button>
|
||||
</div>
|
||||
<button aria-expanded="false" aria-label="Menu" class="burger" id="burger">
|
||||
<span></span><span></span><span></span>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</header>
|
||||
|
||||
<main id="top" style="padding: 0px 20px">
|
||||
<h1>General Terms and Conditions of Sale</h1>
|
||||
|
||||
<p><strong>Pre-subscription to the EPSF Digital Platform</strong></p>
|
||||
|
||||
<h2>1. Business Identification</h2>
|
||||
|
||||
<p>These General Terms and Conditions of Sale ("GTCS") are offered by:</p>
|
||||
|
||||
<p>
|
||||
|
||||
EPSF SAS<br>
|
||||
|
||||
Simplified Joint-Stock Company with a share capital of €1,000<br>
|
||||
|
||||
Registered office: 16 rue de la Jeunesse, 13190 ALLAUCH, France<br>
|
||||
|
||||
Marseille Trade and Companies Register (RCS) No. 984 645 853<br>
|
||||
|
||||
VAT Number: FR63 984 645 853<br>
|
||||
|
||||
Email: contact@tutosportexpert.com<br>
|
||||
|
||||
Publishing Director: Yannick DYDUCH
|
||||
|
||||
</p>
|
||||
|
||||
<p>Hereinafter referred to as "EPSF".</p>
|
||||
|
||||
<h2>2. Scope</h2>
|
||||
|
||||
<p>
|
||||
|
||||
These GTCS govern the sale of pre-subscriptions granting access, from October 1, 2026, to the EPSF website and
|
||||
mobile application.
|
||||
|
||||
</p>
|
||||
|
||||
<p>They apply to:</p>
|
||||
|
||||
<ul>
|
||||
|
||||
<li>consumers;</li>
|
||||
|
||||
<li>non-professional customers;</li>
|
||||
|
||||
<li>professional customers.</li>
|
||||
|
||||
</ul>
|
||||
|
||||
<p>
|
||||
|
||||
Certain provisions differ depending on the customer's status.<br>
|
||||
|
||||
The customer must therefore indicate when placing the order whether they are acting:
|
||||
|
||||
</p>
|
||||
|
||||
<ul>
|
||||
|
||||
<li>in a personal capacity as a consumer or non-professional customer;</li>
|
||||
|
||||
<li>or within the scope of their professional activity.</li>
|
||||
|
||||
</ul>
|
||||
|
||||
<h2>3. Definitions</h2>
|
||||
|
||||
<p>For the purposes of these GTCS:</p>
|
||||
|
||||
<ul>
|
||||
|
||||
<li><strong>Customer</strong>: any natural or legal person ordering an EPSF offer;</li>
|
||||
|
||||
<li><strong>Service</strong>: digital access to the website, application, and EPSF content;</li>
|
||||
|
||||
<li><strong>Pre-subscription</strong>: advance purchase of access to the Service before its effective launch;</li>
|
||||
|
||||
<li><strong>Account</strong>: the personal area allowing access to the Service;</li>
|
||||
|
||||
<li><strong>Digital Content</strong>: any content made available electronically through the Service.</li>
|
||||
|
||||
</ul>
|
||||
|
||||
<h2>4. Description of the Service</h2>
|
||||
|
||||
<p>
|
||||
|
||||
The pre-subscription grants access, starting October 1, 2026, for a period of twelve (12) months, to:
|
||||
|
||||
</p>
|
||||
|
||||
<ul>
|
||||
|
||||
<li>the EPSF online platform;</li>
|
||||
|
||||
<li>the EPSF mobile application;</li>
|
||||
|
||||
</ul>
|
||||
|
||||
<p>Unless expressly stated otherwise:</p>
|
||||
|
||||
<ul>
|
||||
|
||||
<li>no physical materials are provided;</li>
|
||||
|
||||
<li>no computer equipment is supplied;</li>
|
||||
|
||||
<li>the Service is provided remotely;</li>
|
||||
|
||||
<li>the Service does not in itself confer any diploma or regulated certification unless expressly stated
|
||||
otherwise.</li>
|
||||
|
||||
</ul>
|
||||
|
||||
<h2>5. Technical Requirements</h2>
|
||||
|
||||
<p>The Customer must have:</p>
|
||||
|
||||
<ul>
|
||||
|
||||
<li>compatible equipment;</li>
|
||||
|
||||
<li>a suitable internet connection;</li>
|
||||
|
||||
<li>a valid email address;</li>
|
||||
|
||||
<li>and, where applicable, a device compatible with the application.</li>
|
||||
|
||||
</ul>
|
||||
|
||||
<p>
|
||||
|
||||
EPSF may reasonably modify the technical requirements in order to maintain, secure, or improve the Service.
|
||||
|
||||
</p>
|
||||
|
||||
<h2>6. Ordering Process</h2>
|
||||
|
||||
<p>
|
||||
|
||||
Orders are placed through the EPSF website or any other channel expressly authorized by EPSF.
|
||||
|
||||
</p>
|
||||
|
||||
<p>The Customer:</p>
|
||||
|
||||
<ol>
|
||||
|
||||
<li>selects the desired offer;</li>
|
||||
|
||||
<li>reviews the order summary;</li>
|
||||
|
||||
<li>accepts these GTCS;</li>
|
||||
|
||||
<li>completes payment.</li>
|
||||
|
||||
</ol>
|
||||
|
||||
<p>
|
||||
|
||||
The order becomes binding upon confirmation by EPSF, subject to any applicable statutory or contractual right of
|
||||
withdrawal or cancellation. EPSF confirms the order by email.
|
||||
|
||||
</p>
|
||||
|
||||
<p>
|
||||
|
||||
The contract is concluded in French unless otherwise stated.
|
||||
|
||||
</p>
|
||||
|
||||
<h2>7. Pricing</h2>
|
||||
|
||||
<p>
|
||||
|
||||
The applicable price is the one displayed at the time of ordering.
|
||||
|
||||
</p>
|
||||
|
||||
<p>
|
||||
|
||||
For the launch offer currently planned, the price is €7.90 including VAT.
|
||||
|
||||
</p>
|
||||
|
||||
<p>
|
||||
|
||||
For professional customers, invoices will indicate, where applicable, the net amount excluding VAT, VAT, and the
|
||||
total amount including VAT according to the applicable tax regime.
|
||||
|
||||
</p>
|
||||
|
||||
<h2>8. Payment</h2>
|
||||
|
||||
<p>
|
||||
|
||||
Payment is due upon ordering. Payment is made by credit card or any other payment method offered on the website,
|
||||
including through Stripe or any equivalent provider. An invoice or payment confirmation is sent to the Customer
|
||||
according to their status and applicable legal requirements.
|
||||
|
||||
</p>
|
||||
|
||||
<h3>For Professional Customers</h3>
|
||||
|
||||
<p>
|
||||
|
||||
In the event of late payment, late-payment penalties and a fixed recovery fee of €40 shall automatically apply
|
||||
under the conditions provided for in these GTCS and on the invoice.
|
||||
|
||||
</p>
|
||||
<h2>9. Service Launch Date – Failure to Deliver</h2>
|
||||
|
||||
<p>
|
||||
|
||||
The Service is intended to become available starting October 1, 2026. If the Service is not effectively accessible
|
||||
on that date, EPSF will inform the Customer as soon as possible.
|
||||
|
||||
</p>
|
||||
|
||||
<p>
|
||||
|
||||
Except in cases of force majeure, if the Service is not made available within thirty (30) calendar days following
|
||||
October 1, 2026, the Customer may request cancellation of the order and a full refund of all amounts paid.
|
||||
|
||||
</p>
|
||||
|
||||
<p>
|
||||
|
||||
The refund will be processed within a maximum period of fourteen (14) days from validation of the request.
|
||||
|
||||
</p>
|
||||
|
||||
<h2>10. Right of Withdrawal / Cancellation</h2>
|
||||
|
||||
<h3>10.1 Customers Legally Entitled to a Right of Withdrawal</h3>
|
||||
|
||||
<p>
|
||||
|
||||
Any Customer legally entitled to a right of withdrawal has a period of fourteen (14) calendar days to withdraw
|
||||
without having to provide any reason. For a service contract or a pre-subscription, the period begins on the day
|
||||
following the conclusion of the contract.
|
||||
|
||||
</p>
|
||||
|
||||
<p>
|
||||
|
||||
The Customer may exercise this right:
|
||||
|
||||
</p>
|
||||
|
||||
<ul>
|
||||
|
||||
<li>by using the withdrawal form attached as Appendix 1;</li>
|
||||
|
||||
<li>or by any clear and unambiguous statement.</li>
|
||||
|
||||
</ul>
|
||||
|
||||
<p>
|
||||
|
||||
EPSF will reimburse all amounts paid within fourteen (14) days of receipt of the withdrawal decision, subject to
|
||||
the rules applicable where performance has begun at the Customer's request.
|
||||
|
||||
</p>
|
||||
|
||||
<h3>10.2 Early Performance – Digital Content and Digital Services</h3>
|
||||
|
||||
<p>
|
||||
|
||||
Where the Customer expressly requests performance of the Service before the expiry of the withdrawal period, the
|
||||
following rules apply:
|
||||
|
||||
</p>
|
||||
|
||||
<ul>
|
||||
|
||||
<li>if the Service has begun to be performed before the end of the withdrawal period, EPSF may retain the amount
|
||||
corresponding to the services already provided, to the extent permitted by law;</li>
|
||||
|
||||
<li>if the offer includes the supply of digital content not supplied on a tangible medium and performance has
|
||||
begun after the Customer's express consent and express waiver of the right of withdrawal, that right can no
|
||||
longer be exercised for that portion of the Service.</li>
|
||||
|
||||
</ul>
|
||||
|
||||
<h3>10.3 Customers Not Benefiting from a Statutory Right of Withdrawal</h3>
|
||||
|
||||
<p>
|
||||
|
||||
Customers who do not benefit from a statutory right of withdrawal may nevertheless cancel their order, as a
|
||||
commercial gesture, within fourteen (14) calendar days following order confirmation, provided that:
|
||||
|
||||
</p>
|
||||
|
||||
<ul>
|
||||
|
||||
<li>the Service has not been activated;</li>
|
||||
|
||||
<li>and no access to the content has been granted.</li>
|
||||
|
||||
</ul>
|
||||
|
||||
<p>
|
||||
|
||||
In such case, reimbursement will be made within fourteen (14) days.
|
||||
|
||||
</p>
|
||||
|
||||
<h2>11. Statutory Warranty Applicable to Consumers for Digital Content and Digital Services</h2>
|
||||
|
||||
<p>
|
||||
|
||||
Where the Customer qualifies as a consumer or benefits from an equivalent statutory regime, the Customer is
|
||||
entitled to the statutory warranties applicable to digital content and digital services under the French Consumer
|
||||
Code.
|
||||
|
||||
</p>
|
||||
|
||||
<p>
|
||||
|
||||
EPSF is liable for any lack of conformity of the digital Service under the applicable legal conditions and time
|
||||
limits.
|
||||
|
||||
</p>
|
||||
|
||||
<p>
|
||||
|
||||
In the event of a lack of conformity, the Customer may, depending on the circumstances:
|
||||
|
||||
</p>
|
||||
|
||||
<ul>
|
||||
|
||||
<li>obtain compliance of the Service;</li>
|
||||
|
||||
<li>obtain a price reduction;</li>
|
||||
|
||||
<li>or terminate the contract under the conditions provided by law.</li>
|
||||
|
||||
</ul>
|
||||
|
||||
<p>
|
||||
|
||||
The consumer Customer's statutory rights apply independently of any commercial warranty that may be offered.
|
||||
|
||||
</p>
|
||||
|
||||
<h2>12. Access Duration</h2>
|
||||
|
||||
<p>
|
||||
|
||||
Unless otherwise specified, access to the Service is granted for a period of twelve (12) months from the effective
|
||||
activation of the account.
|
||||
|
||||
</p>
|
||||
|
||||
<p>
|
||||
|
||||
It is not automatically renewed unless expressly stated otherwise at the time of ordering.
|
||||
|
||||
</p>
|
||||
|
||||
<h2>13. Availability – Maintenance – Support</h2>
|
||||
|
||||
<p>
|
||||
|
||||
EPSF endeavors to ensure Service availability consistent with the normal use of a digital service.
|
||||
|
||||
</p>
|
||||
|
||||
<p>
|
||||
|
||||
The Service may be temporarily interrupted for maintenance, updates, security purposes, corrections, or
|
||||
improvements.
|
||||
|
||||
</p>
|
||||
|
||||
<p>
|
||||
|
||||
EPSF does not guarantee uninterrupted or error-free availability.
|
||||
|
||||
</p>
|
||||
|
||||
<p>
|
||||
|
||||
Support may be contacted at: support@tutosportexpert.com
|
||||
|
||||
</p>
|
||||
|
||||
<h2>14. Account and Customer Obligations</h2>
|
||||
|
||||
<p>The Customer undertakes to:</p>
|
||||
|
||||
<ul>
|
||||
|
||||
<li>provide accurate information;</li>
|
||||
|
||||
<li>keep login credentials confidential;</li>
|
||||
|
||||
<li>not transfer or share the account without authorization;</li>
|
||||
|
||||
<li>use the Service in accordance with its intended purpose;</li>
|
||||
|
||||
<li>not infringe the rights of EPSF or any third party.</li>
|
||||
|
||||
</ul>
|
||||
|
||||
<p>
|
||||
|
||||
The Customer is responsible for all use made through their account, except where attributable to a fault of EPSF.
|
||||
|
||||
</p>
|
||||
|
||||
<h2>15. Intellectual Property</h2>
|
||||
|
||||
<p>
|
||||
|
||||
The entire Service and all of its components are protected by intellectual property laws.
|
||||
|
||||
</p>
|
||||
|
||||
<p>
|
||||
|
||||
The Customer is granted only a personal or internal right of access and use that is non-exclusive,
|
||||
non-transferable and non-assignable.
|
||||
|
||||
</p>
|
||||
|
||||
<p>In particular, it is prohibited to:</p>
|
||||
|
||||
<ul>
|
||||
|
||||
<li>reproduce, distribute or commercialize the content;</li>
|
||||
|
||||
<li>share access credentials outside the authorized conditions;</li>
|
||||
|
||||
<li>extract or scrape data or content;</li>
|
||||
|
||||
<li>reverse engineer the Service;</li>
|
||||
|
||||
<li>translate, adapt or modify the content without prior written authorization.</li>
|
||||
|
||||
</ul>
|
||||
|
||||
<h2>16. Personal Data – Cookies</h2>
|
||||
|
||||
<p>
|
||||
|
||||
EPSF processes personal data under the conditions described in:
|
||||
|
||||
</p>
|
||||
|
||||
<ul>
|
||||
|
||||
<li>its Privacy Policy: https://tutosportexpert.com</li>
|
||||
|
||||
<li>and its Cookie Policy: https://tutosportexpert.com</li>
|
||||
|
||||
</ul>
|
||||
|
||||
<p>
|
||||
|
||||
Data subjects are informed in a concise, transparent, intelligible and easily accessible manner.
|
||||
|
||||
</p>
|
||||
|
||||
<p>
|
||||
|
||||
EPSF encourages Customers to review the detailed information before placing any order.
|
||||
|
||||
</p>
|
||||
<h2>17. Liability</h2>
|
||||
|
||||
<h3>17.1 Consumer Customers or Equivalent Status</h3>
|
||||
|
||||
<p>
|
||||
|
||||
EPSF remains bound by the statutory warranties and mandatory liabilities provided by law.
|
||||
|
||||
</p>
|
||||
|
||||
<p>
|
||||
|
||||
Nothing in these GTCS is intended to deprive the Customer of any mandatory statutory rights.
|
||||
|
||||
</p>
|
||||
|
||||
<h3>17.2 Professional Customers</h3>
|
||||
|
||||
<p>
|
||||
|
||||
Except in cases of gross negligence or willful misconduct, and except where prohibited by law, EPSF's liability shall be limited to direct, foreseeable and certain damages only, up to the amount paid by the Customer in connection with the disputed order during the previous twelve (12) months.
|
||||
|
||||
</p>
|
||||
|
||||
<p>
|
||||
|
||||
EPSF shall not be liable for indirect or consequential damages, including but not limited to loss of revenue, loss of opportunity, loss of data, reputational damage, or loss of business.
|
||||
|
||||
</p>
|
||||
|
||||
<h2>18. Suspension – Termination</h2>
|
||||
|
||||
<p>
|
||||
|
||||
EPSF may suspend or terminate access to the Service in the event of:
|
||||
|
||||
</p>
|
||||
|
||||
<ul>
|
||||
|
||||
<li>a serious breach of these GTCS;</li>
|
||||
|
||||
<li>fraudulent use;</li>
|
||||
|
||||
<li>a threat to the security of the Service;</li>
|
||||
|
||||
<li>unauthorized sharing of access credentials;</li>
|
||||
|
||||
<li>or non-payment.</li>
|
||||
|
||||
</ul>
|
||||
|
||||
<p>
|
||||
|
||||
Except in cases of urgency or obvious fraud, EPSF shall first send a formal notice giving the Customer a reasonable period to remedy the situation.
|
||||
|
||||
</p>
|
||||
|
||||
<h2>19. Consumer Mediation</h2>
|
||||
|
||||
<p>
|
||||
|
||||
Consumer Customers have the right to use a consumer mediation service free of charge in order to resolve a dispute amicably.
|
||||
|
||||
</p>
|
||||
|
||||
<p>
|
||||
|
||||
The designated mediator is:
|
||||
|
||||
</p>
|
||||
|
||||
<p>
|
||||
|
||||
AME CONSO<br>
|
||||
|
||||
197 Boulevard Saint-Germain<br>
|
||||
|
||||
75007 Paris, France<br>
|
||||
|
||||
mediationconso-ame.com
|
||||
|
||||
</p>
|
||||
|
||||
<p>
|
||||
|
||||
The mediator may be contacted online through the form available on the mediator's website or by postal mail.
|
||||
|
||||
</p>
|
||||
|
||||
<p>
|
||||
|
||||
Consumers have a period of one (1) year from the date of their written complaint to EPSF to refer the matter to the mediator.
|
||||
|
||||
</p>
|
||||
|
||||
<p>
|
||||
|
||||
Customers may also use the European Online Dispute Resolution platform, provided that it remains operational.
|
||||
|
||||
</p>
|
||||
|
||||
<h2>20. Force Majeure</h2>
|
||||
|
||||
<p>
|
||||
|
||||
Neither Party shall be held liable for any delay or failure to perform resulting from a force majeure event within the meaning of Article 1218 of the French Civil Code.
|
||||
|
||||
</p>
|
||||
|
||||
<h2>21. Evidence and Record Retention</h2>
|
||||
|
||||
<p>
|
||||
|
||||
Computerized records, electronic confirmations, connection logs, emails, payment histories and authentication data maintained by EPSF shall constitute valid evidence, unless proven otherwise.
|
||||
|
||||
</p>
|
||||
|
||||
<h2>22. Partial Invalidity – No Waiver</h2>
|
||||
|
||||
<p>
|
||||
|
||||
If any provision of these GTCS is declared invalid or unenforceable, the remaining provisions shall remain in full force and effect.
|
||||
|
||||
</p>
|
||||
|
||||
<p>
|
||||
|
||||
Failure by EPSF to invoke a provision at a given time shall not constitute a waiver of its right to invoke that provision later.
|
||||
|
||||
</p>
|
||||
|
||||
<h2>23. Governing Law – Dispute Resolution</h2>
|
||||
|
||||
<p>
|
||||
|
||||
These GTCS shall be governed by French law.
|
||||
|
||||
</p>
|
||||
|
||||
<h3>23.1 Consumer Customers</h3>
|
||||
|
||||
<p>
|
||||
|
||||
Consumer Customers may bring proceedings before:
|
||||
|
||||
</p>
|
||||
|
||||
<ul>
|
||||
|
||||
<li>any court having territorial jurisdiction under the French Code of Civil Procedure;</li>
|
||||
|
||||
<li>or the court of the place where they resided at the time the contract was concluded or the harmful event occurred, where permitted by law.</li>
|
||||
|
||||
</ul>
|
||||
|
||||
<h3>23.2 Professional Customers</h3>
|
||||
|
||||
<p>
|
||||
|
||||
BETWEEN PARTIES ACTING IN THEIR CAPACITY AS MERCHANTS, AND SUBJECT TO ARTICLE 48 OF THE FRENCH CODE OF CIVIL PROCEDURE, ANY DISPUTE RELATING TO THE FORMATION, INTERPRETATION, PERFORMANCE OR TERMINATION OF THE CONTRACT SHALL FALL UNDER THE EXCLUSIVE JURISDICTION OF THE MARSEILLE COMMERCIAL COURT.
|
||||
|
||||
</p>
|
||||
|
||||
<p>
|
||||
|
||||
Failing this, the statutory rules governing jurisdiction shall apply.
|
||||
|
||||
</p>
|
||||
|
||||
<h2>24. Contact / Complaints</h2>
|
||||
|
||||
<p>
|
||||
|
||||
For any request, complaint or assistance:
|
||||
|
||||
<br>EPSF SAS
|
||||
|
||||
<br>16 rue de la Jeunesse
|
||||
|
||||
<br>13190 ALLAUCH
|
||||
|
||||
</p>
|
||||
|
||||
<p>
|
||||
|
||||
Email: contact@tutosportexpert.com
|
||||
|
||||
</p>
|
||||
|
||||
<h2>APPENDIX 1 — Standard Withdrawal Form</h2>
|
||||
|
||||
<p>
|
||||
|
||||
(for Customers benefiting from a statutory right of withdrawal)
|
||||
|
||||
</p>
|
||||
|
||||
<p>
|
||||
|
||||
For the attention of:
|
||||
|
||||
<br>EPSF SAS
|
||||
|
||||
<br>16 rue de la Jeunesse
|
||||
|
||||
<br>13190 ALLAUCH
|
||||
|
||||
</p>
|
||||
|
||||
<p>
|
||||
|
||||
Email: contact@tutosportexpert.com
|
||||
|
||||
</p>
|
||||
|
||||
<p>
|
||||
|
||||
I / We (*) hereby give notice that I / We (*) withdraw from the contract concerning the sale of the following service / pre-subscription:
|
||||
|
||||
</p>
|
||||
|
||||
<ul>
|
||||
|
||||
<li>Ordered on:</li>
|
||||
|
||||
<li>Customer name:</li>
|
||||
|
||||
<li>Customer address:</li>
|
||||
|
||||
<li>Email address used for the order:</li>
|
||||
|
||||
<li>Order number:</li>
|
||||
|
||||
<li>Signature (only in the case of notification on paper):</li>
|
||||
|
||||
<li>Date:</li>
|
||||
|
||||
</ul>
|
||||
|
||||
<p>
|
||||
|
||||
(*) Delete as appropriate.
|
||||
|
||||
</p>
|
||||
</main>
|
||||
<div data-include="footer"></div>
|
||||
|
||||
<script defer src="../assets/js/site-config.js"></script>
|
||||
<script defer src="../assets/js/constants.js"></script>
|
||||
<script defer src="../assets/js/main.js"></script>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
@@ -0,0 +1,405 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="enÒ">
|
||||
<head>
|
||||
<meta charset="utf-8"/>
|
||||
<meta content="width=device-width, initial-scale=1" name="viewport"/>
|
||||
<title>TutoSport Expert — LEGAL NOTICE</title>
|
||||
<meta content="Offre Coupe du Monde 7,90€" name="description"/>
|
||||
<meta content="index,follow" name="robots"/>
|
||||
<link href="https://fonts.googleapis.com" rel="preconnect"/>
|
||||
<link crossorigin="" href="https://fonts.gstatic.com" rel="preconnect"/>
|
||||
<link href="https://fonts.googleapis.com/css2?family=Archivo:wght@500;600;700;800;900&family=Inter:wght@400;500;600;700&family=Space+Mono:wght@400;700&display=swap" rel="stylesheet"/>
|
||||
<link href="../assets/css/main.css" rel="stylesheet"/>
|
||||
<link href="./legals.html" hreflang="en" rel="alternate" />
|
||||
<script async src="https://js.stripe.com/v3/pricing-table.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-WTMNS3J8"
|
||||
height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
|
||||
<!-- reusable SVG defs -->
|
||||
<svg aria-hidden="true" height="0" style="position:absolute" width="0">
|
||||
<defs>
|
||||
<linearGradient id="gsphere" x1="0" x2="1" y1="0" y2="1">
|
||||
<stop offset="0" stop-color="#2f7bff"></stop>
|
||||
<stop offset=".55" stop-color="#a81fc4"></stop>
|
||||
<stop offset="1" stop-color="#6a1fae"></stop>
|
||||
</linearGradient>
|
||||
<linearGradient id="gswoosh" x1="0" x2="1" y1="0" y2="1">
|
||||
<stop offset="0" stop-color="#19d39a"></stop>
|
||||
<stop offset="1" stop-color="#0e9e8a"></stop>
|
||||
</linearGradient>
|
||||
</defs>
|
||||
<symbol id="globe" viewBox="0 0 100 100">
|
||||
<circle cx="50" cy="52" fill="url(#gsphere)" r="34"></circle>
|
||||
<g fill="none" opacity=".85" stroke="#fff" stroke-width="1.4">
|
||||
<ellipse cx="50" cy="52" rx="34" ry="13"></ellipse>
|
||||
<ellipse cx="50" cy="52" rx="22" ry="34"></ellipse>
|
||||
<ellipse cx="50" cy="52" rx="11" ry="34"></ellipse>
|
||||
<line x1="16" x2="84" y1="52" y2="52"></line>
|
||||
</g>
|
||||
<path d="M22 84 C40 70 64 64 86 34 C70 60 46 70 22 84 Z" fill="url(#gswoosh)"></path>
|
||||
</symbol>
|
||||
</svg>
|
||||
<!-- header -->
|
||||
<header id="hd">
|
||||
<div class="wrap nav">
|
||||
<a aria-label="TutoSport Expert" class="brand" href="/">
|
||||
<img alt="TutoSport Expert" class="hd-logo" src="../assets/images/image-c61e1316d393.png"/>
|
||||
</a>
|
||||
<nav class="navlinks" id="navlinks">
|
||||
<a data-i18n="nav_offer" href="/#offre">L'offre</a>
|
||||
<a data-i18n="nav_acad" href="/#academies">Académies</a>
|
||||
<a data-i18n="nav_how" href="/#how">Comment ça marche</a>
|
||||
<a data-i18n="nav_faq" href="/#faq">FAQ</a>
|
||||
</nav>
|
||||
<div class="navright">
|
||||
<div aria-label="Langue" class="langsw" role="group">
|
||||
<button data-lang="fr">FR</button>
|
||||
<button class="on" data-lang="en">EN</button>
|
||||
<button data-lang="es">ES</button>
|
||||
<button data-lang="pt">PT</button>
|
||||
</div>
|
||||
<button aria-expanded="false" aria-label="Menu" class="burger" id="burger">
|
||||
<span></span><span></span><span></span>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</header>
|
||||
|
||||
<main id="top" style="padding: 0px 20px;">
|
||||
<h1>LEGAL NOTICE</h1>
|
||||
|
||||
<p>TutoSport Expert Website - https://tutosportexpert.com</p>
|
||||
|
||||
<h2>Summary of Identification Information</h2>
|
||||
|
||||
<table>
|
||||
|
||||
<tr>
|
||||
|
||||
<td>Website</td>
|
||||
|
||||
<td>TutoSport Expert</td>
|
||||
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
|
||||
<td>URL</td>
|
||||
|
||||
<td>https://tutosportexpert.com</td>
|
||||
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
|
||||
<td>Publisher</td>
|
||||
|
||||
<td>EPSF, a simplified joint-stock company (SAS)</td>
|
||||
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
|
||||
<td>Share Capital</td>
|
||||
|
||||
<td>€1,000</td>
|
||||
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
|
||||
<td>Registration</td>
|
||||
|
||||
<td>Marseille Trade and Companies Register (RCS) - SIREN 984 645 853</td>
|
||||
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
|
||||
<td>Registered Office</td>
|
||||
|
||||
<td>16 rue de la Jeunesse, 13190 Allauch, France</td>
|
||||
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
|
||||
<td>VAT Number</td>
|
||||
|
||||
<td>FR63 984 645 853</td>
|
||||
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
|
||||
<td>Email</td>
|
||||
|
||||
<td>contact@tutosportexpert.com</td>
|
||||
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
|
||||
<td>Telephone</td>
|
||||
|
||||
<td>[To be completed – mandatory information]</td>
|
||||
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
|
||||
<td>Publishing Director</td>
|
||||
|
||||
<td>Yannick DYDUCH, President of EPSF</td>
|
||||
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
|
||||
<td>Hosting Provider</td>
|
||||
|
||||
<td>[To be completed – mandatory information]</td>
|
||||
|
||||
</tr>
|
||||
|
||||
</table>
|
||||
|
||||
<h2>1. Website Publisher</h2>
|
||||
|
||||
<p>
|
||||
|
||||
Pursuant to Article 1-1 of French Law No. 2004-575 of 21 June 2004 on Confidence in the Digital Economy, users of the TutoSport Expert website, accessible at https://tutosportexpert.com, are informed of the following information.
|
||||
|
||||
</p>
|
||||
|
||||
<p>
|
||||
|
||||
The website is published by EPSF, a simplified joint-stock company (SAS) with a share capital of €1,000, registered with the Marseille Trade and Companies Register under SIREN number 984 645 853, whose registered office is located at 16 rue de la Jeunesse, 13190 Allauch, France.
|
||||
|
||||
</p>
|
||||
|
||||
<p>
|
||||
|
||||
VAT Number: FR63 984 645 853.
|
||||
|
||||
</p>
|
||||
|
||||
<h2>2. Contact</h2>
|
||||
|
||||
<p>Email: contact@tutosportexpert.com</p>
|
||||
|
||||
<p>Telephone: [To be completed – mandatory information]</p>
|
||||
|
||||
<h2>3. Publishing Director</h2>
|
||||
|
||||
<p>
|
||||
|
||||
The Publishing Director is Yannick DYDUCH, acting in his capacity as President of EPSF.
|
||||
|
||||
</p>
|
||||
|
||||
<h2>4. Hosting</h2>
|
||||
|
||||
<p>
|
||||
|
||||
The website is hosted by: [hosting provider's legal name to be completed]
|
||||
|
||||
</p>
|
||||
|
||||
<p>Legal form: [to be completed]</p>
|
||||
|
||||
<p>Address: [full address to be completed]</p>
|
||||
|
||||
<p>Hosting provider telephone number: [to be completed – mandatory information]</p>
|
||||
|
||||
<h2>5. Website Development</h2>
|
||||
|
||||
<p>
|
||||
|
||||
The website was developed by BLACK BEE, Atrium 10.6 – 10 Place de la Joliette, 13567 Marseille Cedex 02, France.
|
||||
|
||||
</p>
|
||||
|
||||
<h2>6. Website Activity and Commercial Terms</h2>
|
||||
|
||||
<p>
|
||||
|
||||
TutoSport Expert presents in-person training courses offered by EPSF, particularly for professionals in sport and sports health.
|
||||
|
||||
</p>
|
||||
|
||||
<p>
|
||||
|
||||
The General Terms and Conditions of Sale governing registrations, pricing, payment methods and cancellation conditions are available on the website at:
|
||||
|
||||
</p>
|
||||
|
||||
<p>
|
||||
|
||||
https://tutosportexpert.com/terms_and_conditions
|
||||
|
||||
</p>
|
||||
|
||||
<p>
|
||||
|
||||
Whenever a price is displayed on the website, it is stated in euros and, unless otherwise specified, excludes accommodation, travel and evening meal expenses, which remain the responsibility of the customer.
|
||||
|
||||
</p>
|
||||
|
||||
<h2>7. Use of the Website</h2>
|
||||
|
||||
<p>
|
||||
|
||||
Access to and use of the website imply acceptance of these legal notices. Users undertake to use the website in accordance with applicable laws and regulations and not to infringe the rights of EPSF or third parties.
|
||||
|
||||
</p>
|
||||
|
||||
<h2>8. Liability</h2>
|
||||
|
||||
<p>
|
||||
|
||||
EPSF implements reasonable measures to ensure the accessibility, proper functioning and updating of the website. However, EPSF does not guarantee that the website will be free from errors, interruptions or temporary unavailability, particularly in cases of maintenance, technical incidents, force majeure or events beyond its control.
|
||||
|
||||
</p>
|
||||
|
||||
<p>
|
||||
|
||||
The information published on the website is provided for information purposes only. EPSF strives to ensure its accuracy and currency, without prejudice to any mandatory legal provisions. Users are invited to report any error, omission or correction request to contact@tutosportexpert.com.
|
||||
|
||||
</p>
|
||||
|
||||
<p>
|
||||
|
||||
The website may contain links to websites or services operated by third parties. EPSF exercises no control over such third-party websites and cannot be held liable for their content, availability or practices, particularly regarding personal data or cookies.
|
||||
|
||||
</p>
|
||||
|
||||
<h2>9. Intellectual Property</h2>
|
||||
|
||||
<p>
|
||||
|
||||
The website, its structure, texts, photographs, videos, educational materials, logos, trademarks, graphic elements, files, downloadable documents and, more generally, all of its content are protected by intellectual property laws.
|
||||
|
||||
</p>
|
||||
|
||||
<p>
|
||||
|
||||
Unless otherwise stated, these elements are the exclusive property of EPSF or are used under license. Any reproduction, representation, adaptation, translation, extraction, distribution, commercialization or exploitation, in whole or in part, of the website or any of its elements, by any means whatsoever, without the prior express written authorization of EPSF, is prohibited, except where permitted by law.
|
||||
|
||||
</p>
|
||||
|
||||
<p>
|
||||
|
||||
Any unauthorized use may constitute copyright infringement and may result in civil and/or criminal liability for its author, particularly under Articles L.335-2 et seq. of the French Intellectual Property Code.
|
||||
|
||||
</p>
|
||||
|
||||
<h2>10. Hyperlinks</h2>
|
||||
|
||||
<p>
|
||||
|
||||
The creation of a simple hyperlink to the website is permitted, provided that it does not infringe the rights, image or interests of EPSF, create confusion as to the origin of the content, or circumvent technical or access restrictions.
|
||||
|
||||
</p>
|
||||
|
||||
<p>
|
||||
|
||||
Any framing practice, reproduction of content, unauthorized use of EPSF trademarks, logos or distinctive signs, as well as any link originating from a website containing unlawful, misleading, defamatory content or content infringing third-party rights, is prohibited.
|
||||
|
||||
</p>
|
||||
|
||||
<p>
|
||||
|
||||
The automated collection of personal information or data from the website, particularly for commercial or advertising purposes, is prohibited unless prior authorization has been obtained or a valid legal basis exists.
|
||||
|
||||
</p>
|
||||
|
||||
<h2>11. Personal Data</h2>
|
||||
|
||||
<p>
|
||||
|
||||
As part of the operation of the website, EPSF may process personal data relating to users, prospects, customers, trainees or participants in training courses.
|
||||
|
||||
</p>
|
||||
|
||||
<ul>
|
||||
|
||||
<li>Data Controller: EPSF, SAS, 16 rue de la Jeunesse, 13190 Allauch, France.</li>
|
||||
|
||||
<li>Contact for exercising rights: contact@tutosportexpert.com.</li>
|
||||
|
||||
<li>Main purposes: handling information and contact requests, managing training registrations, payments, invoicing, administrative and educational follow-up, website improvement, and compliance with legal or regulatory obligations.</li>
|
||||
|
||||
<li>Legal bases: performance of pre-contractual or contractual measures, compliance with legal obligations, EPSF's legitimate interests and, where required, the consent of the data subject.</li>
|
||||
|
||||
<li>Recipients: authorized EPSF personnel, technical service providers, hosting provider, payment service provider, administrative or accounting providers and, where applicable, funding bodies or legally authorized authorities.</li>
|
||||
|
||||
<li>Retention periods: data is retained for the period necessary to achieve the purposes pursued, plus any retention periods required by applicable legal, accounting, tax or evidentiary obligations.</li>
|
||||
|
||||
<li>Data subject rights: access, rectification, erasure, restriction of processing, objection, portability where applicable, and withdrawal of consent where processing is based on consent.</li>
|
||||
|
||||
</ul>
|
||||
|
||||
<p>
|
||||
|
||||
Any data subject may exercise their rights by sending a request to contact@tutosportexpert.com. They also have the right to lodge a complaint with the French Data Protection Authority (CNIL).
|
||||
|
||||
</p>
|
||||
|
||||
<p>
|
||||
|
||||
Detailed Privacy Policy: [link to privacy policy to be inserted]
|
||||
|
||||
</p>
|
||||
|
||||
<h2>12. Cookies and Tracking Technologies</h2>
|
||||
|
||||
<p>
|
||||
|
||||
The website may use cookies or other tracking technologies necessary for its operation and, where applicable, audience measurement, personalization or third-party services.
|
||||
|
||||
</p>
|
||||
|
||||
<p>
|
||||
|
||||
Cookies that are not strictly necessary for the operation of the website are only placed after obtaining the user's consent, who must be able to accept, refuse or customize their choices with equal ease.
|
||||
|
||||
</p>
|
||||
|
||||
<p>
|
||||
|
||||
Detailed Cookie Policy: [link to cookie policy to be inserted]
|
||||
|
||||
</p>
|
||||
|
||||
<h2>13. Amendments to the Legal Notice</h2>
|
||||
|
||||
<p>
|
||||
|
||||
EPSF reserves the right to modify these legal notices at any time, particularly to reflect changes to the website, its services or applicable regulations. Users are encouraged to review them regularly.
|
||||
|
||||
</p>
|
||||
|
||||
<h2>14. Governing Law</h2>
|
||||
|
||||
<p>
|
||||
|
||||
These legal notices are governed by French law. Any dispute relating to access to or use of the website shall be submitted to the competent courts, subject to any mandatory legal provisions.
|
||||
|
||||
</p>
|
||||
|
||||
<h2>15. Last Update</h2>
|
||||
|
||||
<p>
|
||||
|
||||
Last updated: June 13, 2026.
|
||||
|
||||
</p>
|
||||
<div data-include="footer"></div>
|
||||
|
||||
<script defer src="../assets/js/site-config.js"></script>
|
||||
<script defer src="../assets/js/constants.js"></script>
|
||||
<script defer src="../assets/js/main.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,267 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="es">
|
||||
<head>
|
||||
<meta charset="utf-8"/>
|
||||
<meta content="width=device-width, initial-scale=1" name="viewport"/>
|
||||
<title>TutoSport Expert — Condiciones Generales de Venta</title>
|
||||
<meta content="Offre Coupe du Monde 7,90€" name="description"/>
|
||||
<meta content="index,follow" name="robots"/>
|
||||
<link href="https://fonts.googleapis.com" rel="preconnect"/>
|
||||
<link crossorigin="" href="https://fonts.gstatic.com" rel="preconnect"/>
|
||||
<link href="https://fonts.googleapis.com/css2?family=Archivo:wght@500;600;700;800;900&family=Inter:wght@400;500;600;700&family=Space+Mono:wght@400;700&display=swap" rel="stylesheet"/>
|
||||
<link href="../assets/css/main.css" rel="stylesheet"/>
|
||||
<link href="./cgv.html" hreflang="es" rel="alternate" />
|
||||
<script async src="https://js.stripe.com/v3/pricing-table.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-WTMNS3J8"
|
||||
height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
|
||||
<!-- reusable SVG defs -->
|
||||
<svg aria-hidden="true" height="0" style="position:absolute" width="0">
|
||||
<defs>
|
||||
<linearGradient id="gsphere" x1="0" x2="1" y1="0" y2="1">
|
||||
<stop offset="0" stop-color="#2f7bff"></stop>
|
||||
<stop offset=".55" stop-color="#a81fc4"></stop>
|
||||
<stop offset="1" stop-color="#6a1fae"></stop>
|
||||
</linearGradient>
|
||||
<linearGradient id="gswoosh" x1="0" x2="1" y1="0" y2="1">
|
||||
<stop offset="0" stop-color="#19d39a"></stop>
|
||||
<stop offset="1" stop-color="#0e9e8a"></stop>
|
||||
</linearGradient>
|
||||
</defs>
|
||||
<symbol id="globe" viewBox="0 0 100 100">
|
||||
<circle cx="50" cy="52" fill="url(#gsphere)" r="34"></circle>
|
||||
<g fill="none" opacity=".85" stroke="#fff" stroke-width="1.4">
|
||||
<ellipse cx="50" cy="52" rx="34" ry="13"></ellipse>
|
||||
<ellipse cx="50" cy="52" rx="22" ry="34"></ellipse>
|
||||
<ellipse cx="50" cy="52" rx="11" ry="34"></ellipse>
|
||||
<line x1="16" x2="84" y1="52" y2="52"></line>
|
||||
</g>
|
||||
<path d="M22 84 C40 70 64 64 86 34 C70 60 46 70 22 84 Z" fill="url(#gswoosh)"></path>
|
||||
</symbol>
|
||||
</svg>
|
||||
<!-- header -->
|
||||
<header id="hd">
|
||||
<div class="wrap nav">
|
||||
<a aria-label="TutoSport Expert" class="brand" href="/">
|
||||
<img alt="TutoSport Expert" class="hd-logo" src="../assets/images/image-c61e1316d393.png"/>
|
||||
</a>
|
||||
<nav class="navlinks" id="navlinks">
|
||||
<a data-i18n="nav_offer" href="/#offre">L'offre</a>
|
||||
<a data-i18n="nav_acad" href="/#academies">Académies</a>
|
||||
<a data-i18n="nav_how" href="/#how">Comment ça marche</a>
|
||||
<a data-i18n="nav_faq" href="/#faq">FAQ</a>
|
||||
</nav>
|
||||
<div class="navright">
|
||||
<div aria-label="Langue" class="langsw" role="group">
|
||||
<button data-lang="fr">FR</button>
|
||||
<button data-lang="en">EN</button>
|
||||
<button class="on"data-lang="es">ES</button>
|
||||
<button data-lang="pt">PT</button>
|
||||
</div>
|
||||
<button aria-expanded="false" aria-label="Menu" class="burger" id="burger">
|
||||
<span></span><span></span><span></span>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</header>
|
||||
|
||||
<main id="top" style="padding: 0px 20px; max-width: 1000px; margin: 0 auto">
|
||||
<h1>Condiciones Generales de Venta</h1>
|
||||
<p><strong>Pre-suscripción a la plataforma digital EPSF</strong></p>
|
||||
<h2>1. Identificación del profesional</h2>
|
||||
<p>Las presentes condiciones generales de venta (las « CGV ») son propuestas por:</p>
|
||||
<p>EPSF SAS<br>Sociedad por acciones simplificada con un capital social de 1.000 €<br>Domicilio social: 16 rue de la Jeunesse 13190 ALLAUCH<br>RCS Marseille n.º 984 645 853<br>N.º de IVA intracomunitario: FR63 984 645 853<br>E-mail: contact@tutosportexpert.com<br>Director de la publicación: Yannick DYDUCH</p>
|
||||
<p>En adelante, « EPSF ».</p>
|
||||
<h2>2. Ámbito de aplicación</h2>
|
||||
<p>Las presentes CGV regulan la venta de pre-suscripciones que dan acceso, a partir del 1 de octubre de 2026, al sitio web y a la aplicación móvil EPSF.</p>
|
||||
<p>Se aplican:</p>
|
||||
<ul>
|
||||
<li>a los consumidores;</li>
|
||||
<li>a los clientes no profesionales;</li>
|
||||
<li>y a los clientes profesionales.</li>
|
||||
</ul>
|
||||
<p>Algunas cláusulas difieren según la condición del cliente.<br>Por tanto, el cliente debe indicar, al realizar el pedido, si actúa:</p>
|
||||
<ul>
|
||||
<li>a título personal, como consumidor o no profesional;</li>
|
||||
<li>o en el marco de su actividad profesional.</li>
|
||||
</ul>
|
||||
<h2>3. Definiciones</h2>
|
||||
<p>A efectos de las presentes CGV:</p>
|
||||
<ul>
|
||||
<li>Cliente: toda persona física o jurídica que contrate una oferta EPSF;</li>
|
||||
<li>Servicio: el acceso digital al sitio, a la aplicación y a los contenidos EPSF;</li>
|
||||
<li>Pre-suscripción: el pedido anticipado de acceso al Servicio antes de su apertura efectiva;</li>
|
||||
<li>Cuenta: el espacio personal que permite acceder al Servicio;</li>
|
||||
<li>Contenido digital: todo contenido accesible por vía desmaterializada a través del Servicio.</li>
|
||||
</ul>
|
||||
<h2>4. Descripción del Servicio</h2>
|
||||
<p>La pre-suscripción da acceso, a partir del 1 de octubre de 2026, durante un período de doce (12) meses, a:</p>
|
||||
<ul>
|
||||
<li>la plataforma en línea EPSF;</li>
|
||||
<li>la aplicación móvil EPSF;</li>
|
||||
</ul>
|
||||
<p>Salvo estipulación expresa en contrario:</p>
|
||||
<ul>
|
||||
<li>no se proporciona ningún soporte físico;</li>
|
||||
<li>no se proporciona ningún material informático;</li>
|
||||
<li>el Servicio se presta a distancia;</li>
|
||||
<li>y el Servicio no implica por sí solo la expedición de un diploma o una certificación reglamentada, salvo mención contraria.</li>
|
||||
</ul>
|
||||
<h2>5. Requisitos técnicos</h2>
|
||||
<p>El Cliente debe disponer de:</p>
|
||||
<ul>
|
||||
<li>un equipo compatible;</li>
|
||||
<li>una conexión a internet adecuada;</li>
|
||||
<li>una dirección de correo electrónico válida;</li>
|
||||
<li>y, en su caso, un teléfono compatible con la aplicación.</li>
|
||||
</ul>
|
||||
<p>EPSF puede modificar razonablemente los requisitos técnicos para mantener, proteger o mejorar el Servicio.</p>
|
||||
<h2>6. Pedido</h2>
|
||||
<p>El pedido se realiza en el sitio web de EPSF o por cualquier otro canal expresamente autorizado por EPSF.</p>
|
||||
<p>El Cliente:</p>
|
||||
<ol>
|
||||
<li>selecciona la oferta deseada;</li>
|
||||
<li>toma conocimiento del resumen;</li>
|
||||
<li>acepta las presentes CGV;</li>
|
||||
<li>procede al pago.</li>
|
||||
</ol>
|
||||
<p>El pedido es firme a partir de su confirmación por EPSF, sin perjuicio del derecho legal o contractual de desistimiento / anulación aplicable. EPSF confirma el pedido por correo electrónico.</p>
|
||||
<p>El contrato se celebra en lengua francesa, salvo mención contraria.</p>
|
||||
<h2>7. Precio</h2>
|
||||
<p>El precio aplicable es el mostrado en el momento del pedido.</p>
|
||||
<p>Para la oferta de lanzamiento actualmente prevista, el precio es de 7,90 € IVA incluido.</p>
|
||||
<p>Para los clientes profesionales, la factura indicará, en su caso, el precio sin IVA, el IVA y el precio con IVA, según el régimen aplicable.</p>
|
||||
<h2>8. Pago</h2>
|
||||
<p>El pago es exigible en el momento del pedido. Se efectúa mediante tarjeta bancaria o cualquier otro medio propuesto en el sitio, especialmente a través de Stripe o de cualquier proveedor equivalente. Se enviará al Cliente una factura o confirmación de pago según su condición y las obligaciones legales aplicables.</p>
|
||||
<h3>Para los clientes profesionales</h3>
|
||||
<p>En caso de retraso en el pago, las penalizaciones por demora y la indemnización fija por gastos de cobro de 40 € serán exigibles de pleno derecho, en las condiciones previstas en las presentes CGV y en la factura.</p>
|
||||
<h2>9. Fecha de apertura del Servicio – no prestación</h2>
|
||||
<p>El Servicio está previsto para abrirse a partir del 1 de octubre de 2026. Si el Servicio no estuviera efectivamente accesible en dicha fecha, EPSF informará al Cliente a la mayor brevedad.</p>
|
||||
<p>Salvo caso de fuerza mayor, si el Servicio no se pone a disposición en un plazo de 30 días naturales a partir del 1 de octubre de 2026, el Cliente podrá solicitar la anulación de su pedido y el reembolso íntegro de las cantidades abonadas.</p>
|
||||
<p>El reembolso se efectuará en un plazo máximo de 14 días a partir de la validación de la solicitud.</p>
|
||||
<h2>10. Derecho de desistimiento / anulación</h2>
|
||||
<h3>10.1 Clientes que se benefician legalmente de un derecho de desistimiento</h3>
|
||||
<p>Todo Cliente que se beneficie legalmente de un derecho de desistimiento dispone de un plazo de 14 días naturales para desistir sin tener que motivar su decisión. Para una prestación de servicio o una pre-suscripción, el plazo comienza a contar desde el día siguiente a la celebración del contrato.</p>
|
||||
<p>El Cliente puede ejercer este derecho:</p>
|
||||
<ul>
|
||||
<li>mediante el formulario de desistimiento que figura en el anexo;</li>
|
||||
<li>o mediante cualquier declaración inequívoca.</li>
|
||||
</ul>
|
||||
<p>EPSF reembolsará todas las cantidades abonadas en un plazo de 14 días a partir de la recepción de la decisión de desistimiento, sin perjuicio de las normas aplicables cuando la ejecución haya comenzado a petición del Cliente.</p>
|
||||
<h3>10.2 Ejecución anticipada – contenidos y servicios digitales</h3>
|
||||
<p>Cuando el Cliente solicita expresamente la ejecución del Servicio antes de la expiración del plazo de desistimiento, se aplican las siguientes reglas:</p>
|
||||
<ul>
|
||||
<li>si el Servicio ha comenzado a ejecutarse antes del final del plazo, EPSF puede conservar el importe correspondiente al servicio ya prestado, en la medida permitida por la ley;</li>
|
||||
<li>si la oferta incluye el suministro de un contenido digital en soporte inmaterial y la ejecución ha comenzado tras el acuerdo expreso del Cliente y su renuncia expresa al derecho de desistimiento, dicho derecho ya no podrá ejercerse para esa parte del Servicio.</li>
|
||||
</ul>
|
||||
<h3>10.3 Clientes que no se benefician de un derecho legal de desistimiento</h3>
|
||||
<p>Los Clientes que no se benefician de un derecho legal de desistimiento pueden, no obstante, a título comercial, anular su pedido en un plazo de 14 días naturales desde la confirmación del pedido, siempre que:</p>
|
||||
<ul>
|
||||
<li>el Servicio no haya sido activado;</li>
|
||||
<li>y no se haya abierto ningún acceso a los contenidos.</li>
|
||||
</ul>
|
||||
<p>En tal caso, el reembolso se efectuará en un plazo de 14 días.</p>
|
||||
<h2>11. Garantía legal aplicable a los consumidores para contenidos y servicios digitales</h2>
|
||||
<p>Cuando se beneficia de la condición de consumidor o de un régimen legal asimilado, el Cliente disfruta de las garantías legales aplicables a los contenidos digitales y servicios digitales, en las condiciones previstas por el código de consumo. EPSF responde, en particular, de los defectos de conformidad del Servicio digital en las condiciones y plazos legales aplicables.</p>
|
||||
<p>En caso de defecto de conformidad, el Cliente puede, según los casos:</p>
|
||||
<ul>
|
||||
<li>obtener la puesta en conformidad;</li>
|
||||
<li>obtener una reducción del precio;</li>
|
||||
<li>o resolver el contrato en las condiciones previstas por la ley.</li>
|
||||
</ul>
|
||||
<p>Los derechos legales del Cliente consumidor se aplican con independencia de cualquier garantía comercial eventualmente concedida.</p>
|
||||
<h2>12. Duración del acceso</h2>
|
||||
<p>Salvo estipulación contraria, el acceso al Servicio se concede por una duración de doce (12) meses a partir de la activación efectiva de la cuenta. No se renueva tácitamente, salvo mención expresa en contrario en el momento del pedido.</p>
|
||||
<h2>13. Disponibilidad – mantenimiento – soporte</h2>
|
||||
<p>EPSF se esfuerza por garantizar una disponibilidad del Servicio compatible con los usos normales de un servicio digital. El Servicio puede interrumpirse temporalmente por mantenimiento, actualización, seguridad, corrección o evolución. EPSF no garantiza una disponibilidad continua y sin errores. El soporte puede contactarse en la siguiente dirección: support@tutosportexpert.com</p>
|
||||
<h2>14. Cuenta y obligaciones del Cliente</h2>
|
||||
<p>El Cliente se compromete a:</p>
|
||||
<ul>
|
||||
<li>proporcionar información exacta;</li>
|
||||
<li>preservar la confidencialidad de sus identificadores;</li>
|
||||
<li>no ceder ni compartir su cuenta de forma no autorizada;</li>
|
||||
<li>utilizar el Servicio conforme a su finalidad;</li>
|
||||
<li>no perjudicar los derechos de EPSF o de terceros.</li>
|
||||
</ul>
|
||||
<p>El Cliente es responsable de los usos realizados desde su cuenta, salvo culpa imputable a EPSF.</p>
|
||||
<h2>15. Propiedad intelectual</h2>
|
||||
<p>La totalidad del Servicio y de sus elementos está protegida por las normas relativas a la propiedad intelectual. El Cliente solo dispone de un derecho de acceso y uso personal o interno, no exclusivo, no cedible y no transferible.</p>
|
||||
<p>Queda prohibido, en particular:</p>
|
||||
<ul>
|
||||
<li>reproducir, difundir o comercializar los contenidos;</li>
|
||||
<li>compartir los accesos fuera de las condiciones previstas;</li>
|
||||
<li>extraer automáticamente datos o contenidos;</li>
|
||||
<li>realizar ingeniería inversa;</li>
|
||||
<li>traducir, adaptar o modificar los contenidos sin autorización previa por escrito.</li>
|
||||
</ul>
|
||||
<h2>16. Datos personales – cookies</h2>
|
||||
<p>EPSF trata datos personales en las condiciones descritas en:</p>
|
||||
<ul>
|
||||
<li>su Política de privacidad: https://tutosportexpert.com</li>
|
||||
<li>y su Política de cookies: https://tutosportexpert.com</li>
|
||||
</ul>
|
||||
<p>Las personas afectadas son informadas de manera concisa, transparente, comprensible y fácilmente accesible. EPSF invita al Cliente a consultar la información detallada antes de cualquier pedido.</p>
|
||||
<h2>17. Responsabilidad</h2>
|
||||
<h3>17.1 Clientes consumidores o asimilados</h3>
|
||||
<p>EPSF sigue estando sujeta a las garantías legales y responsabilidades imperativas previstas por la ley. Ninguna estipulación de las presentes CGV tiene por objeto ni por efecto privar al Cliente de sus derechos legales de orden público.</p>
|
||||
<h3>17.2 Clientes profesionales</h3>
|
||||
<p>Salvo culpa grave o dolo, y fuera de los casos en que la ley lo prohíba, la responsabilidad de EPSF se limita únicamente a los daños directos, previsibles y ciertos, dentro del límite del importe pagado por el Cliente por el pedido litigioso durante los últimos doce meses. EPSF no podrá ser considerada responsable de daños indirectos o inmateriales, tales como pérdida de facturación, pérdida de oportunidad, pérdida de datos, daño a la imagen o pérdida de explotación.</p>
|
||||
<h2>18. Suspensión – rescisión</h2>
|
||||
<p>EPSF puede suspender o rescindir el acceso en caso de:</p>
|
||||
<ul>
|
||||
<li>incumplimiento grave de las presentes CGV;</li>
|
||||
<li>uso fraudulento;</li>
|
||||
<li>vulneración de la seguridad del Servicio;</li>
|
||||
<li>compartición ilícita de los accesos;</li>
|
||||
<li>o impago.</li>
|
||||
</ul>
|
||||
<p>Salvo urgencia o fraude manifiesto, EPSF enviará previamente un requerimiento formal concediendo al Cliente un plazo razonable para regularizar la situación.</p>
|
||||
<h2>19. Mediación de consumo</h2>
|
||||
<p>El Cliente consumidor tiene derecho a recurrir gratuitamente a un mediador de consumo para la resolución amistosa de un litigio.</p>
|
||||
<p>El mediador designado es: AME CONSO – 197 Boulevard Saint-Germain, 75007 Paris – mediationconso-ame.com. La solicitud puede realizarse en línea mediante el formulario disponible en el sitio del mediador o por correo postal. El consumidor dispone de un plazo de un año a partir de su reclamación escrita ante la sociedad para recurrir al mediador.</p>
|
||||
<p>El Cliente también puede, en su caso, utilizar la plataforma europea de resolución de litigios en línea, siempre que siga operativa.</p>
|
||||
<h2>20. Fuerza mayor</h2>
|
||||
<p>Ninguna Parte podrá ser considerada responsable de un retraso o incumplimiento debido a un caso de fuerza mayor en el sentido del artículo 1218 del código civil.</p>
|
||||
<h2>21. Prueba y archivo</h2>
|
||||
<p>Los registros informáticos, confirmaciones electrónicas, registros de conexión, correos electrónicos, historiales de pago y datos de autenticación de EPSF harán prueba, salvo prueba en contrario.</p>
|
||||
<h2>22. Nulidad parcial – no renuncia</h2>
|
||||
<p>Si una cláusula se declara nula o inaplicable, las demás estipulaciones permanecerán vigentes.</p>
|
||||
<p>El hecho de que EPSF no invoque una cláusula en un momento determinado no constituirá renuncia.</p>
|
||||
<h2>23. Derecho aplicable – resolución de litigios</h2>
|
||||
<p>Las presentes CGV se someten al derecho francés.</p>
|
||||
<h3>23.1 Cliente consumidor</h3>
|
||||
<p>El Cliente consumidor puede acudir:</p>
|
||||
<ul>
|
||||
<li>bien a una de las jurisdicciones territorialmente competentes en aplicación del código de procedimiento civil;</li>
|
||||
<li>bien a la jurisdicción del lugar en el que residía en el momento de la celebración del contrato o de la producción del hecho dañoso, cuando la ley lo permita.</li>
|
||||
</ul>
|
||||
<h3>23.2 Cliente profesional</h3>
|
||||
<p>ENTRE PARTES QUE HAYAN CONTRATADO TODAS EN CALIDAD DE COMERCIANTES, Y SIN PERJUICIO DEL ARTÍCULO 48 DEL CÓDIGO DE PROCEDIMIENTO CIVIL, CUALQUIER LITIGIO RELATIVO A LA FORMACIÓN, INTERPRETACIÓN, EJECUCIÓN O FINALIZACIÓN DEL CONTRATO SERÁ COMPETENCIA EXCLUSIVA DEL TRIBUNAL DE COMERCIO DE MARSEILLE.</p>
|
||||
<p>A falta de ello, se aplicarán las normas legales de competencia.</p>
|
||||
<h2>24. Contacto / reclamaciones</h2>
|
||||
<p>Para cualquier solicitud, reclamación o asistencia:<br>EPSF SAS<br>16 rue de la Jeunesse 13190 ALLAUCH</p>
|
||||
<p>E-mail: contact@tutosportexpert.com<br></p>
|
||||
<h2>ANEXO 1 — Formulario tipo de desistimiento</h2>
|
||||
<p>(para los clientes que se benefician de un derecho legal de desistimiento)</p>
|
||||
<p>A la atención de:<br>EPSF SAS<br>16 rue de la Jeunesse 13190 ALLAUCH</p>
|
||||
<p>E-mail: contact@tutosportexpert.com</p>
|
||||
<p>Yo / Nosotros () notifico / notificamos () por la presente mi / nuestro (*) desistimiento del contrato relativo a la venta del servicio / pre-suscripción siguiente:</p>
|
||||
<ul>
|
||||
<li>Pedido el:</li>
|
||||
<li>Nombre del cliente:</li>
|
||||
<li>Dirección del cliente:</li>
|
||||
<li>E-mail utilizado para el pedido:</li>
|
||||
<li>Número de pedido:</li>
|
||||
<li>Firma (únicamente en caso de notificación en papel):</li>
|
||||
<li>Fecha:</li>
|
||||
</ul>
|
||||
<p>(*) Táchese lo que no proceda.</p>
|
||||
</main>
|
||||
<div data-include="footer"></div>
|
||||
|
||||
<script defer src="../assets/js/site-config.js"></script>
|
||||
<script defer src="../assets/js/constants.js"></script>
|
||||
<script defer src="../assets/js/main.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,183 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="es">
|
||||
<head>
|
||||
<meta charset="utf-8"/>
|
||||
<meta content="width=device-width, initial-scale=1" name="viewport"/>
|
||||
<title>TutoSport Expert — MENTIONS LÉGALES</title>
|
||||
<meta content="Offre Coupe du Monde 7,90€" name="description"/>
|
||||
<meta content="index,follow" name="robots"/>
|
||||
<link href="https://fonts.googleapis.com" rel="preconnect"/>
|
||||
<link crossorigin="" href="https://fonts.gstatic.com" rel="preconnect"/>
|
||||
<link href="https://fonts.googleapis.com/css2?family=Archivo:wght@500;600;700;800;900&family=Inter:wght@400;500;600;700&family=Space+Mono:wght@400;700&display=swap" rel="stylesheet"/>
|
||||
<link href="../assets/css/main.css" rel="stylesheet"/>
|
||||
<link href="./legals.html" hreflang="es" rel="alternate" />
|
||||
<script async src="https://js.stripe.com/v3/pricing-table.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-WTMNS3J8"
|
||||
height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
|
||||
<!-- reusable SVG defs -->
|
||||
<svg aria-hidden="true" height="0" style="position:absolute" width="0">
|
||||
<defs>
|
||||
<linearGradient id="gsphere" x1="0" x2="1" y1="0" y2="1">
|
||||
<stop offset="0" stop-color="#2f7bff"></stop>
|
||||
<stop offset=".55" stop-color="#a81fc4"></stop>
|
||||
<stop offset="1" stop-color="#6a1fae"></stop>
|
||||
</linearGradient>
|
||||
<linearGradient id="gswoosh" x1="0" x2="1" y1="0" y2="1">
|
||||
<stop offset="0" stop-color="#19d39a"></stop>
|
||||
<stop offset="1" stop-color="#0e9e8a"></stop>
|
||||
</linearGradient>
|
||||
</defs>
|
||||
<symbol id="globe" viewBox="0 0 100 100">
|
||||
<circle cx="50" cy="52" fill="url(#gsphere)" r="34"></circle>
|
||||
<g fill="none" opacity=".85" stroke="#fff" stroke-width="1.4">
|
||||
<ellipse cx="50" cy="52" rx="34" ry="13"></ellipse>
|
||||
<ellipse cx="50" cy="52" rx="22" ry="34"></ellipse>
|
||||
<ellipse cx="50" cy="52" rx="11" ry="34"></ellipse>
|
||||
<line x1="16" x2="84" y1="52" y2="52"></line>
|
||||
</g>
|
||||
<path d="M22 84 C40 70 64 64 86 34 C70 60 46 70 22 84 Z" fill="url(#gswoosh)"></path>
|
||||
</symbol>
|
||||
</svg>
|
||||
<!-- header -->
|
||||
<header id="hd">
|
||||
<div class="wrap nav">
|
||||
<a aria-label="TutoSport Expert" class="brand" href="/">
|
||||
<img alt="TutoSport Expert" class="hd-logo" src="../assets/images/image-c61e1316d393.png"/>
|
||||
</a>
|
||||
<nav class="navlinks" id="navlinks">
|
||||
<a data-i18n="nav_offer" href="/#offre">L'offre</a>
|
||||
<a data-i18n="nav_acad" href="/#academies">Académies</a>
|
||||
<a data-i18n="nav_how" href="/#how">Comment ça marche</a>
|
||||
<a data-i18n="nav_faq" href="/#faq">FAQ</a>
|
||||
</nav>
|
||||
<div class="navright">
|
||||
<div aria-label="Langue" class="langsw" role="group">
|
||||
<button data-lang="fr">FR</button>
|
||||
<button data-lang="en">EN</button>
|
||||
<button class="on" data-lang="es">ES</button>
|
||||
<button data-lang="pt">PT</button>
|
||||
</div>
|
||||
<button aria-expanded="false" aria-label="Menu" class="burger" id="burger">
|
||||
<span></span><span></span><span></span>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</header>
|
||||
|
||||
<main id="top" style="padding: 0px 20px;">
|
||||
<h1>MENTIONS LÉGALES</h1>
|
||||
<p>Site TutoSport Expert - https://tutosportexpert.com</p>
|
||||
<h2>Synthèse des informations d’identification</h2>
|
||||
<table>
|
||||
<tr>
|
||||
<td>Site</td>
|
||||
<td>TutoSport Expert</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>URL</td>
|
||||
<td>https://tutosportexpert.com</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Éditeur</td>
|
||||
<td>EPSF, société par actions simplifiée</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Capital social</td>
|
||||
<td>1 000 euros</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Immatriculation</td>
|
||||
<td>RCS Marseille - SIREN 984 645 853</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Siège social</td>
|
||||
<td>16 rue de la Jeunesse, 13190 Allauch, France</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>TVA intracommunautaire</td>
|
||||
<td>FR63 984 645 853</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Courriel</td>
|
||||
<td>contact@tutosportexpert.com</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Téléphone</td>
|
||||
<td>[à compléter - mention obligatoire]</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Directeur de la publication</td>
|
||||
<td>Yannick DYDUCH, président d'EPSF</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Hébergeur</td>
|
||||
<td>[à compléter - mention obligatoire]</td>
|
||||
</tr>
|
||||
</table>
|
||||
<h2>1. Éditeur du site</h2>
|
||||
<p>Conformément à l’article 1-1 de la loi n° 2004-575 du 21 juin 2004 pour la confiance dans l’économie numérique, les utilisateurs du site TutoSport Expert, accessible à l’adresse https://tutosportexpert.com, sont informés des éléments suivants.</p>
|
||||
<p>Le site est édité par EPSF, société par actions simplifiée au capital de 1 000 euros, immatriculée au registre du commerce et des sociétés de Marseille sous le numéro SIREN 984 645 853, dont le siège social est situé 16 rue de la Jeunesse, 13190 Allauch, France.</p>
|
||||
<p>Numéro de TVA intracommunautaire : FR63 984 645 853.</p>
|
||||
<h2>2. Contact</h2>
|
||||
<p>Courriel : contact@tutosportexpert.com</p>
|
||||
<p>Téléphone : [à compléter - mention obligatoire]</p>
|
||||
<h2>3. Directeur de la publication</h2>
|
||||
<p>Le directeur de la publication est Yannick DYDUCH, en qualité de président d’EPSF.</p>
|
||||
<h2>4. Hébergement</h2>
|
||||
<p>Le site est hébergé par : [dénomination sociale de l’hébergeur à compléter]</p>
|
||||
<p>Forme sociale : [à compléter]</p>
|
||||
<p>Adresse : [adresse complète à compléter]</p>
|
||||
<p>Téléphone de l’hébergeur : [à compléter - mention obligatoire]</p>
|
||||
<h2>5. Développement du site</h2>
|
||||
<p>Le site a été développé par BLACK BEE, Atrium 10.6 - 10 place de la Joliette, 13567 Marseille Cedex 02, France.</p>
|
||||
<h2>6. Activité du site et conditions commerciales</h2>
|
||||
<p>TutoSport Expert présente des formations en présentiel proposées par EPSF, notamment à destination des professionnels du sport et de la santé du sport.</p>
|
||||
<p>Les conditions générales de vente applicables aux inscriptions, aux tarifs, aux modalités de paiement et aux conditions d’annulation sont accessibles sur le site à l’adresse : </p>
|
||||
<p>https://tutosportexpert.com/terms_and_conditions.</p>
|
||||
<p>Lorsque le site mentionne un prix, celui-ci est indiqué en euros et, sauf indication contraire, hors frais d’hébergement, de déplacement et de restauration du soir, lesquels demeurent à la charge du client.</p>
|
||||
<h2>7. Utilisation du site</h2>
|
||||
<p>L’accès et l’utilisation du site impliquent l’acceptation des présentes mentions légales. L’utilisateur s’engage à utiliser le site conformément aux lois et règlements applicables et à ne pas porter atteinte aux droits d’EPSF ou de tiers.</p>
|
||||
<h2>8. Responsabilité</h2>
|
||||
<p>EPSF met en œuvre les moyens raisonnables afin d’assurer l’accessibilité, le bon fonctionnement et la mise à jour du site. EPSF ne garantit toutefois pas que le site soit exempt d’erreurs, d’interruptions ou d’indisponibilités temporaires, notamment en cas de maintenance, d’incident technique, de force majeure ou d’événement indépendant de sa volonté.</p>
|
||||
<p>Les informations publiées sur le site sont fournies à titre indicatif. EPSF s’efforce d’en assurer l’exactitude et l’actualité, sans préjudice des dispositions légales impératives applicables. L’utilisateur est invité à signaler toute erreur, omission ou demande de correction à l’adresse contact@tutosportexpert.com.</p>
|
||||
<p>Le site peut contenir des liens vers des sites internet ou services édités par des tiers. EPSF n’exerce aucun contrôle sur ces sites tiers et ne saurait être tenue responsable de leur contenu, de leur disponibilité ou de leurs pratiques, notamment en matière de données personnelles ou de cookies.</p>
|
||||
<h2>9. Propriété intellectuelle</h2>
|
||||
<p>Le site, sa structure, ses textes, photographies, vidéos, supports pédagogiques, logos, marques, éléments graphiques, fichiers, documents téléchargeables et, plus généralement, l’ensemble de ses contenus sont protégés par le droit de la propriété intellectuelle.</p>
|
||||
<p>Sauf mention contraire, ces éléments sont la propriété exclusive d’EPSF ou font l’objet d’une autorisation d’utilisation. Toute reproduction, représentation, adaptation, traduction, extraction, diffusion, commercialisation ou exploitation totale ou partielle du site ou de l’un quelconque de ses éléments, par quelque procédé que ce soit, sans autorisation préalable, expresse et écrite d’EPSF, est interdite, sous réserve des exceptions légales.</p>
|
||||
<p>Toute utilisation non autorisée est susceptible de constituer une contrefaçon engageant la responsabilité civile et/ou pénale de son auteur, notamment sur le fondement des articles L. 335-2 et suivants du code de la propriété intellectuelle.</p>
|
||||
<h2>10. Liens hypertextes</h2>
|
||||
<p>La mise en place d’un lien hypertexte simple vers le site est autorisée, sous réserve de ne pas porter atteinte aux droits, à l’image ou aux intérêts d’EPSF, de ne pas créer de confusion sur l’origine des contenus et de ne pas contourner de restrictions techniques ou d’accès.</p>
|
||||
<p>Toute pratique de cadrage (« framing »), toute reproduction de contenus, toute utilisation non autorisée des marques, logos ou signes distinctifs d’EPSF, ainsi que tout lien depuis un site au contenu illicite, trompeur, dénigrant ou portant atteinte aux droits de tiers, est interdite.</p>
|
||||
<p>La collecte automatisée d’informations nominatives ou de données issues du site, notamment à des fins commerciales ou publicitaires, est interdite sauf autorisation préalable ou base légale applicable.</p>
|
||||
<h2>11. Données personnelles</h2>
|
||||
<p>Dans le cadre de l’exploitation du site, EPSF peut être amenée à traiter des données à caractère personnel relatives aux utilisateurs, prospects, clients, stagiaires ou participants aux formations.</p>
|
||||
<ul>
|
||||
<li>Responsable du traitement : EPSF, SAS, 16 rue de la Jeunesse, 13190 Allauch, France.</li>
|
||||
<li>Contact pour l’exercice des droits : contact@tutosportexpert.com.</li>
|
||||
<li>Finalités principales : gestion des demandes d’information et de contact, gestion des inscriptions aux formations, paiement, facturation, suivi administratif et pédagogique, amélioration du site et respect des obligations légales ou réglementaires.</li>
|
||||
<li>Bases légales : exécution de mesures précontractuelles ou contractuelles, respect d’obligations légales, intérêt légitime d’EPSF et, lorsque requis, consentement de la personne concernée.</li>
|
||||
<li>Destinataires : personnes habilitées au sein d’EPSF, prestataires techniques, hébergeur, prestataire de paiement, prestataires administratifs ou comptables et, le cas échéant, organismes financeurs ou autorités légalement habilitées.</li>
|
||||
<li>Durées de conservation : les données sont conservées pour la durée nécessaire aux finalités poursuivies, augmentée des durées imposées par les obligations légales, comptables, fiscales ou probatoires applicables.</li>
|
||||
<li>Droits des personnes : accès, rectification, effacement, limitation, opposition, portabilité lorsque celle-ci est applicable, et retrait du consentement lorsque le traitement repose sur celui-ci.</li>
|
||||
</ul>
|
||||
<p>Toute personne concernée peut exercer ses droits en adressant une demande à contact@tutosportexpert.com. Elle dispose également du droit d’introduire une réclamation auprès de la CNIL.</p>
|
||||
<p>Politique de confidentialité détaillée : [lien à insérer vers la politique de confidentialité]</p>
|
||||
<h2>12. Cookies et traceurs</h2>
|
||||
<p>Le site peut utiliser des cookies ou autres traceurs nécessaires à son fonctionnement, ainsi que, le cas échéant, des traceurs de mesure d’audience, de personnalisation ou liés à des services tiers.</p>
|
||||
<p>Les cookies non strictement nécessaires au fonctionnement du site ne sont déposés qu’après recueil du consentement de l’utilisateur, qui peut accepter, refuser ou paramétrer ses choix selon des modalités équivalentes en simplicité.</p>
|
||||
<p>Politique cookies détaillée : [lien à insérer vers la politique cookies]</p>
|
||||
<h2>13. Modification des mentions légales</h2>
|
||||
<p>EPSF se réserve le droit de modifier les présentes mentions légales à tout moment, notamment afin de tenir compte de l’évolution du site, de ses services ou de la réglementation applicable. L’utilisateur est invité à les consulter régulièrement.</p>
|
||||
<h2>14. Droit applicable</h2>
|
||||
<p>Les présentes mentions légales sont soumises au droit français. Tout litige relatif à l’accès ou à l’utilisation du site sera soumis aux juridictions compétentes, sous réserve des dispositions légales impératives applicables.</p>
|
||||
<h2>15. Dernière mise à jour</h2>
|
||||
<p>Dernière mise à jour : 13 juin 2026.</p>
|
||||
<div data-include="footer"></div>
|
||||
|
||||
<script defer src="../assets/js/site-config.js"></script>
|
||||
<script defer src="../assets/js/constants.js"></script>
|
||||
<script defer src="../assets/js/main.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
After Width: | Height: | Size: 22 KiB |
|
After Width: | Height: | Size: 1.6 KiB |
|
After Width: | Height: | Size: 2.4 KiB |
@@ -0,0 +1,40 @@
|
||||
<footer>
|
||||
<div class="wrap foot-grid">
|
||||
<div class="foot-brand">
|
||||
<a class="foot-logo-wrap" href="/">
|
||||
<img alt="TutoSport Expert" class="foot-logo" loading="lazy" src="assets/images/image-b6383d3773a9.png"/>
|
||||
</a>
|
||||
<p data-i18n="foot_tagline">Tout le monde a le droit aux experts. La Payet Academy & La PhysioSport Academy.</p>
|
||||
</div>
|
||||
<div>
|
||||
<h4 data-i18n="foot_legal_h">Informations</h4>
|
||||
<ul>
|
||||
<li><a data-i18n="legal1" href="./en/cgv.html?lang=en">Conditions générales de vente</a></li>
|
||||
<li><a data-i18n="legal2" href="./en/legals.html?lang=en">Mentions légales</a></li>
|
||||
<!--li><a data-i18n="legal3" href="./terms.html">Règlement intérieur</a></li-->
|
||||
</ul>
|
||||
</div>
|
||||
<div>
|
||||
<h4 data-i18n="foot_follow">Suivez-nous</h4>
|
||||
<div class="socials">
|
||||
<a aria-label="Instagram" href="#" rel="noopener noreferrer" target="_blank">
|
||||
<svg fill="none" stroke="currentColor" stroke-width="2" viewBox="0 0 24 24"><rect height="18" rx="5" width="18" x="3" y="3"></rect><circle cx="12" cy="12" r="4"></circle><circle cx="17.5" cy="6.5" fill="currentColor" r="1" stroke="none"></circle></svg>
|
||||
</a>
|
||||
<span aria-disabled="true" aria-label="Facebook" data-disabled="true" role="link">
|
||||
<svg fill="currentColor" viewBox="0 0 24 24"><path d="M14 9h3V6h-3c-2.2 0-4 1.8-4 4v2H7v3h3v6h3v-6h3l.5-3H13v-2c0-.6.4-1 1-1Z"></path></svg>
|
||||
</span>
|
||||
<span aria-disabled="true" aria-label="TikTok" data-disabled="true" role="link">
|
||||
<svg fill="currentColor" viewBox="0 0 24 24"><path d="M16 4c.4 2.2 1.8 3.7 4 4v3c-1.6 0-3-.5-4-1.3V15a5.5 5.5 0 1 1-5.5-5.5c.3 0 .7 0 1 .1v3.1a2.5 2.5 0 1 0 1.5 2.3V4H16Z"></path></svg>
|
||||
</span>
|
||||
<span aria-disabled="true" aria-label="LinkedIn" data-disabled="true" role="link">
|
||||
<svg fill="currentColor" viewBox="0 0 24 24"><path d="M6.9 8H4V20h2.9V8ZM5.4 3.5A1.7 1.7 0 1 0 5.4 7a1.7 1.7 0 0 0 0-3.5ZM20 13.4c0-3-1.6-4.4-3.7-4.4-1.7 0-2.5.9-2.9 1.6V8H10.5v12h2.9v-6.4c0-1.3.9-1.9 1.8-1.9.9 0 1.9.6 1.9 2V20H20v-6.6Z"></path></svg>
|
||||
</span>
|
||||
</div>
|
||||
<p class="soon" style="margin-top:10px"><span data-i18n="foot_soon_lbl">TikTok & LinkedIn :</span> <span data-i18n="foot_soon">à venir</span></p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="wrap foot-bottom">
|
||||
<span data-i18n="rights">© 2026 TutoSport Expert. Tous droits réservés.</span>
|
||||
<span>Stripe · SSL</span>
|
||||
</div>
|
||||
</footer>
|
||||
@@ -0,0 +1,267 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="fr">
|
||||
<head>
|
||||
<meta charset="utf-8"/>
|
||||
<meta content="width=device-width, initial-scale=1" name="viewport"/>
|
||||
<title>TutoSport Expert — Conditions générales de vente</title>
|
||||
<meta content="Offre Coupe du Monde 7,90€" name="description"/>
|
||||
<meta content="index,follow" name="robots"/>
|
||||
<link href="https://fonts.googleapis.com" rel="preconnect"/>
|
||||
<link crossorigin="" href="https://fonts.gstatic.com" rel="preconnect"/>
|
||||
<link href="https://fonts.googleapis.com/css2?family=Archivo:wght@500;600;700;800;900&family=Inter:wght@400;500;600;700&family=Space+Mono:wght@400;700&display=swap" rel="stylesheet"/>
|
||||
<link href="../assets/css/main.css" rel="stylesheet"/>
|
||||
<link href="./cgv.html" hreflang="fr" rel="alternate" />
|
||||
<script async src="https://js.stripe.com/v3/pricing-table.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-WTMNS3J8"
|
||||
height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
|
||||
<!-- reusable SVG defs -->
|
||||
<svg aria-hidden="true" height="0" style="position:absolute" width="0">
|
||||
<defs>
|
||||
<linearGradient id="gsphere" x1="0" x2="1" y1="0" y2="1">
|
||||
<stop offset="0" stop-color="#2f7bff"></stop>
|
||||
<stop offset=".55" stop-color="#a81fc4"></stop>
|
||||
<stop offset="1" stop-color="#6a1fae"></stop>
|
||||
</linearGradient>
|
||||
<linearGradient id="gswoosh" x1="0" x2="1" y1="0" y2="1">
|
||||
<stop offset="0" stop-color="#19d39a"></stop>
|
||||
<stop offset="1" stop-color="#0e9e8a"></stop>
|
||||
</linearGradient>
|
||||
</defs>
|
||||
<symbol id="globe" viewBox="0 0 100 100">
|
||||
<circle cx="50" cy="52" fill="url(#gsphere)" r="34"></circle>
|
||||
<g fill="none" opacity=".85" stroke="#fff" stroke-width="1.4">
|
||||
<ellipse cx="50" cy="52" rx="34" ry="13"></ellipse>
|
||||
<ellipse cx="50" cy="52" rx="22" ry="34"></ellipse>
|
||||
<ellipse cx="50" cy="52" rx="11" ry="34"></ellipse>
|
||||
<line x1="16" x2="84" y1="52" y2="52"></line>
|
||||
</g>
|
||||
<path d="M22 84 C40 70 64 64 86 34 C70 60 46 70 22 84 Z" fill="url(#gswoosh)"></path>
|
||||
</symbol>
|
||||
</svg>
|
||||
<!-- header -->
|
||||
<header id="hd">
|
||||
<div class="wrap nav">
|
||||
<a aria-label="TutoSport Expert" class="brand" href="./">
|
||||
<img alt="TutoSport Expert" class="hd-logo" src="../assets/images/image-c61e1316d393.png"/>
|
||||
</a>
|
||||
<nav class="navlinks" id="navlinks">
|
||||
<a data-i18n="nav_offer" href="/#offre">L'offre</a>
|
||||
<a data-i18n="nav_acad" href="/#academies">Académies</a>
|
||||
<a data-i18n="nav_how" href="/#how">Comment ça marche</a>
|
||||
<a data-i18n="nav_faq" href="/#faq">FAQ</a>
|
||||
</nav>
|
||||
<div class="navright">
|
||||
<div aria-label="Langue" class="langsw" role="group">
|
||||
<button class="on" data-lang="fr">FR</button>
|
||||
<button data-lang="en">EN</button>
|
||||
<button data-lang="es">ES</button>
|
||||
<button data-lang="pt">PT</button>
|
||||
</div>
|
||||
<button aria-expanded="false" aria-label="Menu" class="burger" id="burger">
|
||||
<span></span><span></span><span></span>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</header>
|
||||
|
||||
<main id="top" style="padding: 0px 20px">
|
||||
<h1>Conditions générales de vente</h1>
|
||||
<p><strong>Pré-abonnement à la plateforme numérique EPSF</strong></p>
|
||||
<h2>1. Identification du professionnel</h2>
|
||||
<p>Les présentes conditions générales de vente (les « CGV ») sont proposées par :</p>
|
||||
<p>EPSF SAS<br>Société par actions simplifiée au capital de 1.000 €<br>Siège social : 16 rue de la Jeunesse 13190 ALLAUCH<br>RCS Marseille n° 984 645 853<br>N° TVA intracommunautaire : FR63 984 645 853<br>E-mail : contact@tutosportexpert.com<br>Directeur de la publication : Yannick DYDUCH</p>
|
||||
<p>Ci-après « EPSF ».</p>
|
||||
<h2>2. Champ d’application</h2>
|
||||
<p>Les présentes CGV régissent la vente de pré-abonnements donnant accès, à compter du 1er octobre 2026, au site internet et à l’application mobile EPSF.</p>
|
||||
<p>Elles s’appliquent :</p>
|
||||
<ul>
|
||||
<li>aux consommateurs ;</li>
|
||||
<li>aux clients non-professionnels ;</li>
|
||||
<li>et aux clients professionnels.</li>
|
||||
</ul>
|
||||
<p>Certaines clauses diffèrent selon la qualité du client.<br>Le client doit donc indiquer, lors de la commande, s’il agit :</p>
|
||||
<ul>
|
||||
<li>à titre personnel, comme consommateur ou non-professionnel ;</li>
|
||||
<li>ou dans le cadre de son activité professionnelle.</li>
|
||||
</ul>
|
||||
<h2>3. Définitions</h2>
|
||||
<p>Au sens des présentes CGV :</p>
|
||||
<ul>
|
||||
<li>Client : toute personne physique ou morale commandant une offre EPSF ;</li>
|
||||
<li>Service : l’accès numérique au site, à l’application et aux contenus EPSF ;</li>
|
||||
<li>Pré-abonnement : la commande anticipée d’un accès au Service avant son ouverture effective ;</li>
|
||||
<li>Compte : l’espace personnel permettant d’accéder au Service ;</li>
|
||||
<li>Contenu numérique : tout contenu accessible par voie dématérialisée via le Service.</li>
|
||||
</ul>
|
||||
<h2>4. Description du Service</h2>
|
||||
<p>Le pré-abonnement donne accès, à compter du 1er octobre 2026, pour une durée de douze (12) mois, à :</p>
|
||||
<ul>
|
||||
<li>la plateforme en ligne EPSF ;</li>
|
||||
<li>l’application mobile EPSF ;</li>
|
||||
</ul>
|
||||
<p>Sauf stipulation contraire expresse :</p>
|
||||
<ul>
|
||||
<li>aucun support physique n’est fourni ;</li>
|
||||
<li>aucun matériel informatique n’est fourni ;</li>
|
||||
<li>le Service est fourni à distance ;</li>
|
||||
<li>et le Service n’emporte pas à lui seul délivrance d’un diplôme ou d’une certification réglementée, sauf mention contraire.</li>
|
||||
</ul>
|
||||
<h2>5. Prérequis techniques</h2>
|
||||
<p>Le Client doit disposer :</p>
|
||||
<ul>
|
||||
<li>d’un équipement compatible ;</li>
|
||||
<li>d’une connexion internet adaptée ;</li>
|
||||
<li>d’une adresse e-mail valide ;</li>
|
||||
<li>et, le cas échéant, d’un téléphone compatible avec l’application.</li>
|
||||
</ul>
|
||||
<p>EPSF peut faire évoluer raisonnablement les prérequis techniques pour maintenir, sécuriser ou améliorer le Service.</p>
|
||||
<h2>6. Commande</h2>
|
||||
<p>La commande s’effectue sur le site internet d’EPSF ou par tout autre canal expressément autorisé par EPSF.</p>
|
||||
<p>Le Client :</p>
|
||||
<ol>
|
||||
<li>sélectionne l’offre souhaitée ;</li>
|
||||
<li>prend connaissance du récapitulatif ;</li>
|
||||
<li>accepte les présentes CGV ;</li>
|
||||
<li>procède au paiement.</li>
|
||||
</ol>
|
||||
<p>La commande est ferme à compter de sa confirmation par EPSF, sous réserve du droit légal ou contractuel de rétractation / annulation applicable. EPSF confirme la commande par e-mail.</p>
|
||||
<p>Le contrat est conclu en langue française, sauf mention contraire.</p>
|
||||
<h2>7. Prix</h2>
|
||||
<p>Le prix applicable est celui affiché au moment de la commande.</p>
|
||||
<p>Pour l’offre de lancement actuellement envisagée, le prix est de 7,90 € TTC</p>
|
||||
<p>Pour les clients professionnels, la facture fera apparaître, le cas échéant, le prix HT, la TVA et le TTC selon le régime applicable.</p>
|
||||
<h2>8. Paiement</h2>
|
||||
<p>Le paiement est exigible à la commande. Il s’effectue par carte bancaire ou tout autre moyen proposé sur le site, notamment via Stripe ou tout prestataire équivalent. Une facture ou confirmation de paiement est adressée au Client selon sa qualité et les obligations légales applicables.</p>
|
||||
<h3>Pour les clients professionnels</h3>
|
||||
<p>En cas de retard de paiement, les pénalités de retard et l’indemnité forfaitaire pour frais de recouvrement de 40 € sont dues de plein droit, dans les conditions prévues aux présentes CGV et sur la facture.</p>
|
||||
<h2>9. Date d’ouverture du Service – non-délivrance</h2>
|
||||
<p>Le Service a vocation à être ouvert à compter du 1er octobre 2026. Si le Service n’est pas effectivement accessible à cette date, EPSF en informera le Client dans les meilleurs délais.</p>
|
||||
<p>Sauf cas de force majeure, si le Service n’est pas mis à disposition dans un délai de 30 jours calendaires suivant le 1er octobre 2026, le Client pourra demander l’annulation de sa commande et le remboursement intégral des sommes versées.</p>
|
||||
<p>Le remboursement interviendra dans un délai maximal de 14 jours à compter de la validation de la demande.</p>
|
||||
<h2>10. Droit de rétractation / annulation</h2>
|
||||
<h3>10.1 Clients bénéficiant légalement d’un droit de rétractation</h3>
|
||||
<p>Tout Client bénéficiant légalement d’un droit de rétractation dispose d’un délai de 14 jours calendaires pour se rétracter sans avoir à motiver sa décision. Pour une prestation de service ou un pré-abonnement, le délai court à compter du lendemain de la conclusion du contrat.</p>
|
||||
<p>Le Client peut exercer ce droit :</p>
|
||||
<ul>
|
||||
<li>au moyen du formulaire de rétractation figurant en annexe ;</li>
|
||||
<li>ou par toute déclaration dénuée d’ambiguïté.</li>
|
||||
</ul>
|
||||
<p>EPSF remboursera toutes les sommes versées dans un délai de 14 jours à compter de la réception de la décision de rétractation, sous réserve des règles applicables lorsque l’exécution a commencé à la demande du Client. </p>
|
||||
<h3>10.2 Exécution anticipée – contenus et services numériques</h3>
|
||||
<p>Lorsque le Client demande expressément l’exécution du Service avant l’expiration du délai de rétractation, les règles suivantes s’appliquent :</p>
|
||||
<ul>
|
||||
<li>si le Service a commencé à être exécuté avant la fin du délai, EPSF peut conserver le montant correspondant au service déjà fourni, dans la mesure permise par la loi ;</li>
|
||||
<li>si l’offre comporte la fourniture d’un contenu numérique sur support immatériel et que l’exécution a commencé après accord exprès du Client et renoncement exprès à son droit de rétractation, ce droit ne peut plus être exercé pour cette partie du Service. </li>
|
||||
</ul>
|
||||
<h3>10.3 Clients ne bénéficiant pas d’un droit légal de rétractation</h3>
|
||||
<p>Les Clients ne bénéficiant pas d’un droit légal de rétractation peuvent toutefois, à titre commercial, annuler leur commande dans un délai de 14 jours calendaires à compter de la confirmation de commande, à condition que :</p>
|
||||
<ul>
|
||||
<li>le Service n’ait pas été activé ;</li>
|
||||
<li>et qu’aucun accès aux contenus n’ait été ouvert.</li>
|
||||
</ul>
|
||||
<p>Dans ce cas, le remboursement interviendra dans un délai de 14 jours.</p>
|
||||
<h2>11. Garantie légale applicable aux consommateurs pour les contenus et services numériques</h2>
|
||||
<p>Lorsqu’il bénéficie du statut de consommateur ou d’un régime légal assimilé, le Client bénéficie des garanties légales applicables aux contenus numériques et services numériques, dans les conditions prévues par le code de la consommation. EPSF répond notamment des défauts de conformité du Service numérique dans les conditions et délais légaux applicables.</p>
|
||||
<p>En cas de défaut de conformité, le Client peut, selon les cas :</p>
|
||||
<ul>
|
||||
<li>obtenir la mise en conformité ;</li>
|
||||
<li>obtenir une réduction du prix ;</li>
|
||||
<li>ou résoudre le contrat dans les conditions prévues par la loi.</li>
|
||||
</ul>
|
||||
<p>Les droits légaux du Client consommateur s’appliquent indépendamment de toute garantie commerciale éventuellement consentie.</p>
|
||||
<h2>12. Durée de l’accès</h2>
|
||||
<p>Sauf stipulation contraire, l’accès au Service est consenti pour une durée de douze (12) mois à compter de l’activation effective du compte. Il n’est pas tacitement reconduit, sauf mention expresse contraire au moment de la commande.</p>
|
||||
<h2>13. Disponibilité – maintenance – support</h2>
|
||||
<p>EPSF s’efforce d’assurer une disponibilité du Service compatible avec les usages normaux d’un service numérique. Le Service peut être momentanément interrompu pour maintenance, mise à jour, sécurité, correction ou évolution. EPSF ne garantit pas une disponibilité continue et sans erreur. Le support est joignable à l’adresse suivante : support@tutosportexpert.com</p>
|
||||
<h2>14. Compte et obligations du Client</h2>
|
||||
<p>Le Client s’engage à :</p>
|
||||
<ul>
|
||||
<li>fournir des informations exactes ;</li>
|
||||
<li>préserver la confidentialité de ses identifiants ;</li>
|
||||
<li>ne pas céder ni partager son compte de manière non autorisée ;</li>
|
||||
<li>utiliser le Service conformément à sa destination ;</li>
|
||||
<li>ne pas porter atteinte aux droits d’EPSF ou de tiers.</li>
|
||||
</ul>
|
||||
<p>Le Client est responsable des usages réalisés depuis son compte, sauf faute imputable à EPSF.</p>
|
||||
<h2>15. Propriété intellectuelle</h2>
|
||||
<p>L’ensemble du Service et de ses éléments est protégé par les règles relatives à la propriété intellectuelle. Le Client ne bénéficie que d’un droit d’accès et d’usage personnel ou interne, non exclusif, non cessible et non transférable.</p>
|
||||
<p>Il est interdit notamment de :</p>
|
||||
<ul>
|
||||
<li>reproduire, diffuser ou commercialiser les contenus ;</li>
|
||||
<li>partager les accès en dehors des conditions prévues ;</li>
|
||||
<li>aspirer les données ou contenus ;</li>
|
||||
<li>procéder à une ingénierie inverse ;</li>
|
||||
<li>traduire, adapter ou modifier les contenus sans autorisation écrite préalable.</li>
|
||||
</ul>
|
||||
<h2>16. Données personnelles – cookies</h2>
|
||||
<p>EPSF traite les données personnelles dans les conditions décrites dans :</p>
|
||||
<ul>
|
||||
<li>sa Politique de confidentialité : https://tutosportexpert.com</li>
|
||||
<li>et sa Politique cookies : https://tutosportexpert.com</li>
|
||||
</ul>
|
||||
<p>Les personnes concernées sont informées de manière concise, transparente, compréhensible et aisément accessible. EPSF invite le Client à consulter les informations détaillées avant toute commande. </p>
|
||||
<h2>17. Responsabilité</h2>
|
||||
<h3>17.1 Clients consommateurs ou assimilés</h3>
|
||||
<p>EPSF demeure tenue des garanties légales et responsabilités impératives prévues par la loi. Aucune stipulation des présentes CGV n’a pour objet ni pour effet de priver le Client de ses droits légaux d’ordre public.</p>
|
||||
<h3>17.2 Clients professionnels</h3>
|
||||
<p>Sauf faute lourde ou dolosive, et hors cas où la loi l’interdit, la responsabilité d’EPSF est limitée aux seuls dommages directs, prévisibles et certains, dans la limite du montant payé par le Client au titre de la commande litigieuse sur les douze derniers mois. EPSF ne pourra être tenue responsable des dommages indirects ou immatériels, tels que perte de chiffre d’affaires, perte de chance, perte de données, atteinte à l’image ou perte d’exploitation.</p>
|
||||
<h2>18. Suspension – résiliation</h2>
|
||||
<p>EPSF peut suspendre ou résilier l’accès en cas :</p>
|
||||
<ul>
|
||||
<li>de manquement grave aux présentes CGV ;</li>
|
||||
<li>d’utilisation frauduleuse ;</li>
|
||||
<li>d’atteinte à la sécurité du Service ;</li>
|
||||
<li>de partage illicite des accès ;</li>
|
||||
<li>ou de non-paiement.</li>
|
||||
</ul>
|
||||
<p>Sauf urgence ou fraude manifeste, EPSF adressera préalablement une mise en demeure laissant au Client un délai raisonnable pour régulariser.</p>
|
||||
<h2>19. Médiation de la consommation</h2>
|
||||
<p>Le Client consommateur a le droit de recourir gratuitement à un médiateur de la consommation en vue de la résolution amiable d’un litige.</p>
|
||||
<p>Le médiateur désigné est : AME CONSO – 197 Boulevard Saint-Germain, 75007 Paris – mediationconso-ame.com. La saisine peut être effectuée en ligne via le formulaire disponible sur le site du médiateur ou par courrier postal. Le consommateur dispose d’un délai d’un an à compter de sa réclamation écrite auprès de la société pour saisir le médiateur.</p>
|
||||
<p>Le Client peut également, le cas échéant, utiliser la plateforme européenne de règlement en ligne des litiges, sous réserve de son maintien opérationnel.</p>
|
||||
<h2>20. Force majeure</h2>
|
||||
<p>Aucune Partie ne pourra être tenue responsable d’un retard ou d’une inexécution dû à un cas de force majeure au sens de l’article 1218 du code civil.</p>
|
||||
<h2>21. Preuve et archivage</h2>
|
||||
<p>Les registres informatisés, confirmations électroniques, journaux de connexion, e-mails, historiques de paiement et données d’authentification d’EPSF feront foi, sous réserve de preuve contraire.</p>
|
||||
<h2>22. Nullité partielle – non-renonciation</h2>
|
||||
<p>Si une clause est déclarée nulle ou inapplicable, les autres stipulations demeureront en vigueur.</p>
|
||||
<p>Le fait pour EPSF de ne pas se prévaloir d’une clause à un moment donné ne vaut pas renonciation.</p>
|
||||
<h2>23. Droit applicable – règlement des litiges</h2>
|
||||
<p>Les présentes CGV sont soumises au droit français.</p>
|
||||
<h3>23.1 Client consommateur</h3>
|
||||
<p>Le Client consommateur peut saisir :</p>
|
||||
<ul>
|
||||
<li>soit l’une des juridictions territorialement compétentes en application du code de procédure civile ;</li>
|
||||
<li>soit la juridiction du lieu où il demeurait au moment de la conclusion du contrat ou de la survenance du fait dommageable, lorsque la loi le permet.</li>
|
||||
</ul>
|
||||
<h3>23.2 Client professionnel</h3>
|
||||
<p>ENTRE PARTIES AYANT TOUTES CONTRACTÉ EN QUALITÉ DE COMMERÇANTS, ET SOUS RÉSERVE DE L’ARTICLE 48 DU CODE DE PROCÉDURE CIVILE, TOUT LITIGE RELATIF À LA FORMATION, L’INTERPRÉTATION, L’EXÉCUTION OU LA CESSATION DU CONTRAT RELÈVERA DE LA COMPÉTENCE EXCLUSIVE DU TRIBUNAL DE COMMERCE DE MARSEILLE.</p>
|
||||
<p>À défaut, les règles légales de compétence s’appliqueront.</p>
|
||||
<h2>24. Contact / réclamations</h2>
|
||||
<p>Pour toute demande, réclamation ou assistance :<br>EPSF SAS<br>16 rue de la Jeunesse 13190 ALLAUCH</p>
|
||||
<p>E-mail : contact@tutosportexpert.com<br></p>
|
||||
<h2>ANNEXE 1 — Formulaire type de rétractation</h2>
|
||||
<p>(pour les clients bénéficiant d’un droit légal de rétractation)</p>
|
||||
<p>À l’attention de :<br>EPSF SAS<br>16 rue de la Jeunesse 13190 ALLAUCH</p>
|
||||
<p>E-mail : contact@tutosportexpert.com</p>
|
||||
<p>Je / Nous () vous notifie / notifions () par la présente ma / notre (*) rétractation du contrat portant sur la vente du service / pré-abonnement ci-dessous :</p>
|
||||
<ul>
|
||||
<li>Commandé le :</li>
|
||||
<li>Nom du client :</li>
|
||||
<li>Adresse du client :</li>
|
||||
<li>E-mail utilisé pour la commande :</li>
|
||||
<li>Numéro de commande :</li>
|
||||
<li>Signature (uniquement en cas de notification papier) :</li>
|
||||
<li>Date :</li>
|
||||
</ul>
|
||||
<p>(*) Rayez la mention inutile.</p>
|
||||
</main>
|
||||
<div data-include="footer"></div>
|
||||
|
||||
<script defer src="../assets/js/site-config.js"></script>
|
||||
<script defer src="../assets/js/constants.js"></script>
|
||||
<script defer src="../assets/js/main.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,183 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="fr">
|
||||
<head>
|
||||
<meta charset="utf-8"/>
|
||||
<meta content="width=device-width, initial-scale=1" name="viewport"/>
|
||||
<title>TutoSport Expert — MENTIONS LÉGALES</title>
|
||||
<meta content="Offre Coupe du Monde 7,90€" name="description"/>
|
||||
<meta content="index,follow" name="robots"/>
|
||||
<link href="https://fonts.googleapis.com" rel="preconnect"/>
|
||||
<link crossorigin="" href="https://fonts.gstatic.com" rel="preconnect"/>
|
||||
<link href="https://fonts.googleapis.com/css2?family=Archivo:wght@500;600;700;800;900&family=Inter:wght@400;500;600;700&family=Space+Mono:wght@400;700&display=swap" rel="stylesheet"/>
|
||||
<link href="../assets/css/main.css" rel="stylesheet"/>
|
||||
<link href="./legals.html" hreflang="fr" rel="alternate" />
|
||||
<script async src="https://js.stripe.com/v3/pricing-table.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-WTMNS3J8"
|
||||
height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
|
||||
<!-- reusable SVG defs -->
|
||||
<svg aria-hidden="true" height="0" style="position:absolute" width="0">
|
||||
<defs>
|
||||
<linearGradient id="gsphere" x1="0" x2="1" y1="0" y2="1">
|
||||
<stop offset="0" stop-color="#2f7bff"></stop>
|
||||
<stop offset=".55" stop-color="#a81fc4"></stop>
|
||||
<stop offset="1" stop-color="#6a1fae"></stop>
|
||||
</linearGradient>
|
||||
<linearGradient id="gswoosh" x1="0" x2="1" y1="0" y2="1">
|
||||
<stop offset="0" stop-color="#19d39a"></stop>
|
||||
<stop offset="1" stop-color="#0e9e8a"></stop>
|
||||
</linearGradient>
|
||||
</defs>
|
||||
<symbol id="globe" viewBox="0 0 100 100">
|
||||
<circle cx="50" cy="52" fill="url(#gsphere)" r="34"></circle>
|
||||
<g fill="none" opacity=".85" stroke="#fff" stroke-width="1.4">
|
||||
<ellipse cx="50" cy="52" rx="34" ry="13"></ellipse>
|
||||
<ellipse cx="50" cy="52" rx="22" ry="34"></ellipse>
|
||||
<ellipse cx="50" cy="52" rx="11" ry="34"></ellipse>
|
||||
<line x1="16" x2="84" y1="52" y2="52"></line>
|
||||
</g>
|
||||
<path d="M22 84 C40 70 64 64 86 34 C70 60 46 70 22 84 Z" fill="url(#gswoosh)"></path>
|
||||
</symbol>
|
||||
</svg>
|
||||
<!-- header -->
|
||||
<header id="hd">
|
||||
<div class="wrap nav">
|
||||
<a aria-label="TutoSport Expert" class="brand" href="/">
|
||||
<img alt="TutoSport Expert" class="hd-logo" src="../assets/images/image-c61e1316d393.png"/>
|
||||
</a>
|
||||
<nav class="navlinks" id="navlinks">
|
||||
<a data-i18n="nav_offer" href="/#offre">L'offre</a>
|
||||
<a data-i18n="nav_acad" href="/#academies">Académies</a>
|
||||
<a data-i18n="nav_how" href="/#how">Comment ça marche</a>
|
||||
<a data-i18n="nav_faq" href="/#faq">FAQ</a>
|
||||
</nav>
|
||||
<div class="navright">
|
||||
<div aria-label="Langue" class="langsw" role="group">
|
||||
<button class="on" data-lang="fr">FR</button>
|
||||
<button data-lang="en">EN</button>
|
||||
<button data-lang="es">ES</button>
|
||||
<button data-lang="pt">PT</button>
|
||||
</div>
|
||||
<button aria-expanded="false" aria-label="Menu" class="burger" id="burger">
|
||||
<span></span><span></span><span></span>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</header>
|
||||
|
||||
<main id="top" style="padding: 0px 20px;">
|
||||
<h1>MENTIONS LÉGALES</h1>
|
||||
<p>Site TutoSport Expert - https://tutosportexpert.com</p>
|
||||
<h2>Synthèse des informations d’identification</h2>
|
||||
<table>
|
||||
<tr>
|
||||
<td>Site</td>
|
||||
<td>TutoSport Expert</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>URL</td>
|
||||
<td>https://tutosportexpert.com</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Éditeur</td>
|
||||
<td>EPSF, société par actions simplifiée</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Capital social</td>
|
||||
<td>1 000 euros</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Immatriculation</td>
|
||||
<td>RCS Marseille - SIREN 984 645 853</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Siège social</td>
|
||||
<td>16 rue de la Jeunesse, 13190 Allauch, France</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>TVA intracommunautaire</td>
|
||||
<td>FR63 984 645 853</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Courriel</td>
|
||||
<td>contact@tutosportexpert.com</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Téléphone</td>
|
||||
<td>[à compléter - mention obligatoire]</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Directeur de la publication</td>
|
||||
<td>Yannick DYDUCH, président d'EPSF</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Hébergeur</td>
|
||||
<td>[à compléter - mention obligatoire]</td>
|
||||
</tr>
|
||||
</table>
|
||||
<h2>1. Éditeur du site</h2>
|
||||
<p>Conformément à l’article 1-1 de la loi n° 2004-575 du 21 juin 2004 pour la confiance dans l’économie numérique, les utilisateurs du site TutoSport Expert, accessible à l’adresse https://tutosportexpert.com, sont informés des éléments suivants.</p>
|
||||
<p>Le site est édité par EPSF, société par actions simplifiée au capital de 1 000 euros, immatriculée au registre du commerce et des sociétés de Marseille sous le numéro SIREN 984 645 853, dont le siège social est situé 16 rue de la Jeunesse, 13190 Allauch, France.</p>
|
||||
<p>Numéro de TVA intracommunautaire : FR63 984 645 853.</p>
|
||||
<h2>2. Contact</h2>
|
||||
<p>Courriel : contact@tutosportexpert.com</p>
|
||||
<p>Téléphone : [à compléter - mention obligatoire]</p>
|
||||
<h2>3. Directeur de la publication</h2>
|
||||
<p>Le directeur de la publication est Yannick DYDUCH, en qualité de président d’EPSF.</p>
|
||||
<h2>4. Hébergement</h2>
|
||||
<p>Le site est hébergé par : [dénomination sociale de l’hébergeur à compléter]</p>
|
||||
<p>Forme sociale : [à compléter]</p>
|
||||
<p>Adresse : [adresse complète à compléter]</p>
|
||||
<p>Téléphone de l’hébergeur : [à compléter - mention obligatoire]</p>
|
||||
<h2>5. Développement du site</h2>
|
||||
<p>Le site a été développé par BLACK BEE, Atrium 10.6 - 10 place de la Joliette, 13567 Marseille Cedex 02, France.</p>
|
||||
<h2>6. Activité du site et conditions commerciales</h2>
|
||||
<p>TutoSport Expert présente des formations en présentiel proposées par EPSF, notamment à destination des professionnels du sport et de la santé du sport.</p>
|
||||
<p>Les conditions générales de vente applicables aux inscriptions, aux tarifs, aux modalités de paiement et aux conditions d’annulation sont accessibles sur le site à l’adresse : </p>
|
||||
<p>https://tutosportexpert.com/terms_and_conditions.</p>
|
||||
<p>Lorsque le site mentionne un prix, celui-ci est indiqué en euros et, sauf indication contraire, hors frais d’hébergement, de déplacement et de restauration du soir, lesquels demeurent à la charge du client.</p>
|
||||
<h2>7. Utilisation du site</h2>
|
||||
<p>L’accès et l’utilisation du site impliquent l’acceptation des présentes mentions légales. L’utilisateur s’engage à utiliser le site conformément aux lois et règlements applicables et à ne pas porter atteinte aux droits d’EPSF ou de tiers.</p>
|
||||
<h2>8. Responsabilité</h2>
|
||||
<p>EPSF met en œuvre les moyens raisonnables afin d’assurer l’accessibilité, le bon fonctionnement et la mise à jour du site. EPSF ne garantit toutefois pas que le site soit exempt d’erreurs, d’interruptions ou d’indisponibilités temporaires, notamment en cas de maintenance, d’incident technique, de force majeure ou d’événement indépendant de sa volonté.</p>
|
||||
<p>Les informations publiées sur le site sont fournies à titre indicatif. EPSF s’efforce d’en assurer l’exactitude et l’actualité, sans préjudice des dispositions légales impératives applicables. L’utilisateur est invité à signaler toute erreur, omission ou demande de correction à l’adresse contact@tutosportexpert.com.</p>
|
||||
<p>Le site peut contenir des liens vers des sites internet ou services édités par des tiers. EPSF n’exerce aucun contrôle sur ces sites tiers et ne saurait être tenue responsable de leur contenu, de leur disponibilité ou de leurs pratiques, notamment en matière de données personnelles ou de cookies.</p>
|
||||
<h2>9. Propriété intellectuelle</h2>
|
||||
<p>Le site, sa structure, ses textes, photographies, vidéos, supports pédagogiques, logos, marques, éléments graphiques, fichiers, documents téléchargeables et, plus généralement, l’ensemble de ses contenus sont protégés par le droit de la propriété intellectuelle.</p>
|
||||
<p>Sauf mention contraire, ces éléments sont la propriété exclusive d’EPSF ou font l’objet d’une autorisation d’utilisation. Toute reproduction, représentation, adaptation, traduction, extraction, diffusion, commercialisation ou exploitation totale ou partielle du site ou de l’un quelconque de ses éléments, par quelque procédé que ce soit, sans autorisation préalable, expresse et écrite d’EPSF, est interdite, sous réserve des exceptions légales.</p>
|
||||
<p>Toute utilisation non autorisée est susceptible de constituer une contrefaçon engageant la responsabilité civile et/ou pénale de son auteur, notamment sur le fondement des articles L. 335-2 et suivants du code de la propriété intellectuelle.</p>
|
||||
<h2>10. Liens hypertextes</h2>
|
||||
<p>La mise en place d’un lien hypertexte simple vers le site est autorisée, sous réserve de ne pas porter atteinte aux droits, à l’image ou aux intérêts d’EPSF, de ne pas créer de confusion sur l’origine des contenus et de ne pas contourner de restrictions techniques ou d’accès.</p>
|
||||
<p>Toute pratique de cadrage (« framing »), toute reproduction de contenus, toute utilisation non autorisée des marques, logos ou signes distinctifs d’EPSF, ainsi que tout lien depuis un site au contenu illicite, trompeur, dénigrant ou portant atteinte aux droits de tiers, est interdite.</p>
|
||||
<p>La collecte automatisée d’informations nominatives ou de données issues du site, notamment à des fins commerciales ou publicitaires, est interdite sauf autorisation préalable ou base légale applicable.</p>
|
||||
<h2>11. Données personnelles</h2>
|
||||
<p>Dans le cadre de l’exploitation du site, EPSF peut être amenée à traiter des données à caractère personnel relatives aux utilisateurs, prospects, clients, stagiaires ou participants aux formations.</p>
|
||||
<ul>
|
||||
<li>Responsable du traitement : EPSF, SAS, 16 rue de la Jeunesse, 13190 Allauch, France.</li>
|
||||
<li>Contact pour l’exercice des droits : contact@tutosportexpert.com.</li>
|
||||
<li>Finalités principales : gestion des demandes d’information et de contact, gestion des inscriptions aux formations, paiement, facturation, suivi administratif et pédagogique, amélioration du site et respect des obligations légales ou réglementaires.</li>
|
||||
<li>Bases légales : exécution de mesures précontractuelles ou contractuelles, respect d’obligations légales, intérêt légitime d’EPSF et, lorsque requis, consentement de la personne concernée.</li>
|
||||
<li>Destinataires : personnes habilitées au sein d’EPSF, prestataires techniques, hébergeur, prestataire de paiement, prestataires administratifs ou comptables et, le cas échéant, organismes financeurs ou autorités légalement habilitées.</li>
|
||||
<li>Durées de conservation : les données sont conservées pour la durée nécessaire aux finalités poursuivies, augmentée des durées imposées par les obligations légales, comptables, fiscales ou probatoires applicables.</li>
|
||||
<li>Droits des personnes : accès, rectification, effacement, limitation, opposition, portabilité lorsque celle-ci est applicable, et retrait du consentement lorsque le traitement repose sur celui-ci.</li>
|
||||
</ul>
|
||||
<p>Toute personne concernée peut exercer ses droits en adressant une demande à contact@tutosportexpert.com. Elle dispose également du droit d’introduire une réclamation auprès de la CNIL.</p>
|
||||
<p>Politique de confidentialité détaillée : [lien à insérer vers la politique de confidentialité]</p>
|
||||
<h2>12. Cookies et traceurs</h2>
|
||||
<p>Le site peut utiliser des cookies ou autres traceurs nécessaires à son fonctionnement, ainsi que, le cas échéant, des traceurs de mesure d’audience, de personnalisation ou liés à des services tiers.</p>
|
||||
<p>Les cookies non strictement nécessaires au fonctionnement du site ne sont déposés qu’après recueil du consentement de l’utilisateur, qui peut accepter, refuser ou paramétrer ses choix selon des modalités équivalentes en simplicité.</p>
|
||||
<p>Politique cookies détaillée : [lien à insérer vers la politique cookies]</p>
|
||||
<h2>13. Modification des mentions légales</h2>
|
||||
<p>EPSF se réserve le droit de modifier les présentes mentions légales à tout moment, notamment afin de tenir compte de l’évolution du site, de ses services ou de la réglementation applicable. L’utilisateur est invité à les consulter régulièrement.</p>
|
||||
<h2>14. Droit applicable</h2>
|
||||
<p>Les présentes mentions légales sont soumises au droit français. Tout litige relatif à l’accès ou à l’utilisation du site sera soumis aux juridictions compétentes, sous réserve des dispositions légales impératives applicables.</p>
|
||||
<h2>15. Dernière mise à jour</h2>
|
||||
<p>Dernière mise à jour : 13 juin 2026.</p>
|
||||
<div data-include="footer"></div>
|
||||
|
||||
<script defer src="../assets/js/site-config.js"></script>
|
||||
<script defer src="../assets/js/constants.js"></script>
|
||||
<script defer src="../assets/js/main.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,471 @@
|
||||
<!DOCTYPE html>
|
||||
|
||||
<html lang="fr">
|
||||
|
||||
<head>
|
||||
<link rel="apple-touch-icon" sizes="180x180" href="/images/favicon/apple-icon-180x180.png" />
|
||||
<link rel="icon" type="image/png" sizes="32x32" href="/images/favicon/favicon-32x32.png" />
|
||||
<link rel="icon" type="image/png" sizes="16x16" href="/images/favicon/favicon-16x16.png" />
|
||||
<meta charset="utf-8" />
|
||||
<meta content="width=device-width, initial-scale=1" name="viewport" />
|
||||
<title>TutoSport Expert — Offre Coupe du Monde 7,90€</title>
|
||||
<meta
|
||||
content="Les académies vidéo de Dimitri Payet et Yannick Dyduch. Offre Coupe du Monde : les 2 académies à 7,90€ au lieu de 80€. Jusqu'au 19 juillet 2026."
|
||||
name="description" />
|
||||
<link href="https://fonts.googleapis.com" rel="preconnect" />
|
||||
<link crossorigin="" href="https://fonts.gstatic.com" rel="preconnect" />
|
||||
<link
|
||||
href="https://fonts.googleapis.com/css2?family=Archivo:wght@500;600;700;800;900&family=Inter:wght@400;500;600;700&family=Space+Mono:wght@400;700&display=swap"
|
||||
rel="stylesheet" />
|
||||
<link href="assets/css/main.css" rel="stylesheet" />
|
||||
<meta content="index,follow" name="robots" />
|
||||
<link href="./" hreflang="fr" rel="alternate" />
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-WTMNS3J8"
|
||||
height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
|
||||
<!-- reusable SVG defs -->
|
||||
<svg aria-hidden="true" height="0" style="position:absolute" width="0">
|
||||
<defs>
|
||||
<lineargradient id="gsphere" x1="0" x2="1" y1="0" y2="1">
|
||||
<stop offset="0" stop-color="#2f7bff"></stop>
|
||||
<stop offset=".55" stop-color="#a81fc4"></stop>
|
||||
<stop offset="1" stop-color="#6a1fae"></stop>
|
||||
</lineargradient>
|
||||
<lineargradient id="gswoosh" x1="0" x2="1" y1="0" y2="1">
|
||||
<stop offset="0" stop-color="#19d39a"></stop>
|
||||
<stop offset="1" stop-color="#0e9e8a"></stop>
|
||||
</lineargradient>
|
||||
</defs>
|
||||
<symbol id="globe" viewbox="0 0 100 100">
|
||||
<circle cx="50" cy="52" fill="url(#gsphere)" r="34"></circle>
|
||||
<g fill="none" opacity=".85" stroke="#fff" stroke-width="1.4">
|
||||
<ellipse cx="50" cy="52" rx="34" ry="13"></ellipse>
|
||||
<ellipse cx="50" cy="52" rx="22" ry="34"></ellipse>
|
||||
<ellipse cx="50" cy="52" rx="11" ry="34"></ellipse>
|
||||
<line x1="16" x2="84" y1="52" y2="52"></line>
|
||||
</g>
|
||||
<path d="M22 84 C40 70 64 64 86 34 C70 60 46 70 22 84 Z" fill="url(#gswoosh)"></path>
|
||||
</symbol>
|
||||
</svg>
|
||||
<!-- urgency bar -->
|
||||
<div class="ubar" role="status">
|
||||
<span data-i18n="bar">Offre Coupe du Monde : les 2 académies à 7,90€ au lieu de 80€ — fin le 19 juillet.</span>
|
||||
<span><span data-i18n="bar_ends">Se termine dans</span> <b class="uc js-cd">—</b></span>
|
||||
</div>
|
||||
<!-- header -->
|
||||
<header id="hd">
|
||||
<div class="wrap nav">
|
||||
<a aria-label="TutoSport Expert" class="brand" href="#top"><img alt="TutoSport Expert" class="hd-logo"
|
||||
src="assets/images/image-c61e1316d393.png" /></a>
|
||||
<nav class="navlinks" id="navlinks">
|
||||
<a data-i18n="nav_offer" href="#offre">L'offre</a>
|
||||
<a data-i18n="nav_acad" href="#academies">Académies</a>
|
||||
<a data-i18n="nav_how" href="#how">Comment ça marche</a>
|
||||
<a data-i18n="nav_faq" href="#faq">FAQ</a>
|
||||
</nav>
|
||||
<div class="navright">
|
||||
<div aria-label="Langue" class="langsw" role="group">
|
||||
<button class="on" data-lang="fr">FR</button>
|
||||
<button data-lang="en">EN</button>
|
||||
<button data-lang="es">ES</button>
|
||||
<button data-lang="pt">PT</button>
|
||||
</div>
|
||||
<a class="btn btn-go deskcta" data-i18n="nav_cta" href="offre.html">S'abonner — 7,90€</a>
|
||||
<button aria-expanded="false" aria-label="Menu" class="burger"
|
||||
id="burger"><span></span><span></span><span></span></button>
|
||||
</div>
|
||||
</div>
|
||||
</header>
|
||||
<main id="top">
|
||||
<!-- HERO -->
|
||||
<section class="hero">
|
||||
<div aria-hidden="true" class="hero-photo"></div>
|
||||
<div class="wrap hero-grid">
|
||||
<div>
|
||||
<p class="eyebrow" data-i18n="hero_eyebrow">Offre Coupe du Monde — édition limitée</p>
|
||||
<h1><span data-i18n="hero_h1a">Tout le monde a le droit</span> <span class="grad-text"
|
||||
data-i18n="hero_h1b">aux experts.</span></h1>
|
||||
<p class="sub" data-i18n="hero_sub">Les académies vidéo de Dimitri Payet et Yannick Dyduch. Football
|
||||
& kiné du sport, par ceux qui le font au plus haut niveau.</p>
|
||||
<div class="hero-cta">
|
||||
<a class="btn btn-go" data-i18n="cta1" href="offre.html">Je profite de l'offre — 7,90€</a>
|
||||
<a class="btn btn-light" data-i18n="cta2" href="#academies">Voir le programme</a>
|
||||
</div>
|
||||
<div class="trust">
|
||||
<span><svg fill="none" stroke="currentColor" stroke-width="2.4" viewbox="0 0 24 24">
|
||||
<path d="M20 6 9 17l-5-5"></path>
|
||||
</svg><span data-i18n="trust1">Précode immédiat</span></span>
|
||||
<span><svg fill="none" stroke="currentColor" stroke-width="2.2" viewbox="0 0 24 24">
|
||||
<rect height="11" rx="2" width="16" x="4" y="10"></rect>
|
||||
<path d="M8 10V7a4 4 0 0 1 8 0v3"></path>
|
||||
</svg><span data-i18n="trust2">Paiement sécurisé Stripe</span></span>
|
||||
<span><svg fill="none" stroke="currentColor" stroke-width="2.2" viewbox="0 0 24 24">
|
||||
<circle cx="12" cy="12" r="9"></circle>
|
||||
<path d="M3 12h18M12 3a14 14 0 0 1 0 18M12 3a14 14 0 0 0 0 18"></path>
|
||||
</svg><span data-i18n="trust3">Accès aux 2 académies</span></span>
|
||||
</div>
|
||||
</div>
|
||||
<!-- PASS (signature element) -->
|
||||
<div class="pass hero-pass rv">
|
||||
<div class="top">
|
||||
<div class="pass-head">
|
||||
<span class="who"><svg class="globe">
|
||||
<use href="#globe"></use>
|
||||
</svg> TUTOSPORT EXPERT</span>
|
||||
<span class="pass-tag" data-i18n="pass_label">Pass Coupe du Monde</span>
|
||||
</div>
|
||||
<div class="price-row">
|
||||
<span class="price">7,90<span class="cur">€</span></span>
|
||||
<span class="old" data-i18n="pass_old">au lieu de 80€</span>
|
||||
</div>
|
||||
<p class="incl"><svg fill="none" stroke="currentColor" stroke-width="2.6" viewbox="0 0 24 24">
|
||||
<path d="M20 6 9 17l-5-5"></path>
|
||||
</svg><span data-i18n="pass_incl">Accès illimité · 2 académies</span></p>
|
||||
<a class="btn btn-go" data-i18n="cta1" href="offre.html">Je profite de l'offre — 7,90€</a>
|
||||
</div>
|
||||
<div class="perf"></div>
|
||||
<div class="stub">
|
||||
<div class="stub-row">
|
||||
<span class="lbl" data-i18n="pass_valid_lbl">VALABLE</span>
|
||||
<span>01.06 → 19.07.2026</span>
|
||||
</div>
|
||||
<div class="exp">
|
||||
<span class="lbl" data-i18n="pass_expires">EXPIRE DANS</span>
|
||||
<span class="cd js-cd">—</span>
|
||||
</div>
|
||||
<div aria-hidden="true" class="barcode"></div>
|
||||
<p class="note" data-i18n="pass_note">Précode reçu dès le paiement</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
<!-- OFFER -->
|
||||
<section class="offer" id="offre">
|
||||
<div class="wrap offer-grid">
|
||||
<div class="rv">
|
||||
<p class="eyebrow" data-i18n="offer_eyebrow">L'offre</p>
|
||||
<h2 class="lead" data-i18n="offer_title">7,90€ pour tout. Pendant la Coupe du Monde.</h2>
|
||||
<p class="sub-lead" data-i18n="offer_sub" style="margin:0 0 28px">Un seul tarif, les deux académies,
|
||||
accès illimité. Après le 1er octobre, chaque académie repasse à 40€.</p>
|
||||
<ul class="vlist">
|
||||
<li><span class="ic"><svg fill="none" stroke="currentColor" stroke-width="2.6"
|
||||
viewbox="0 0 24 24">
|
||||
<path d="M20 6 9 17l-5-5"></path>
|
||||
</svg></span><span data-i18n="oi1">Les 2 académies, accès illimité</span></li>
|
||||
<li><span class="ic"><svg fill="none" stroke="currentColor" stroke-width="2.6"
|
||||
viewbox="0 0 24 24">
|
||||
<path d="M20 6 9 17l-5-5"></path>
|
||||
</svg></span><span data-i18n="oi2">Précode reçu immédiatement</span></li>
|
||||
<li><span class="ic"><svg fill="none" stroke="currentColor" stroke-width="2.6"
|
||||
viewbox="0 0 24 24">
|
||||
<path d="M20 6 9 17l-5-5"></path>
|
||||
</svg></span><span data-i18n="oi3">Tout se débloque le 1er octobre 2026</span></li>
|
||||
<li><span class="ic"><svg fill="none" stroke="currentColor" stroke-width="2.6"
|
||||
viewbox="0 0 24 24">
|
||||
<path d="M20 6 9 17l-5-5"></path>
|
||||
</svg></span><span data-i18n="oi4">Sous-titré dans ta langue</span></li>
|
||||
<li><span class="ic"><svg fill="none" stroke="currentColor" stroke-width="2.6"
|
||||
viewbox="0 0 24 24">
|
||||
<path d="M20 6 9 17l-5-5"></path>
|
||||
</svg></span><span data-i18n="oi5">Paiement 100% sécurisé (Stripe)</span></li>
|
||||
<li class="hl"><span class="ic"><svg fill="none" stroke="currentColor" stroke-width="2.6"
|
||||
viewbox="0 0 24 24">
|
||||
<path d="M20 6 9 17l-5-5"></path>
|
||||
</svg></span><span data-i18n="oi6">Tu économises 72€</span></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="offer-card rv">
|
||||
<p class="eyebrow" data-i18n="pass_label" style="color:#9be9cf">Pass Coupe du Monde</p>
|
||||
<div class="big">7,90<span class="cur">€</span></div>
|
||||
<span class="save" data-i18n="save_badge">−72€ · économie de 90%</span>
|
||||
<p class="vs"><span data-i18n="vs_after">À partir du 1er octobre : 40€ / académie (80€ les
|
||||
deux)</span></p>
|
||||
<a class="btn btn-go" data-i18n="cta1" href="offre.html">Je profite de l'offre — 7,90€</a>
|
||||
<p class="note" data-i18n="vs_until" style="margin-top:14px;color:#a99fc9">Offre valable jusqu'au 19
|
||||
juillet 2026</p>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
<!-- ACADEMIES -->
|
||||
<section class="acad" id="academies">
|
||||
<div class="wrap">
|
||||
<div class="section-head center">
|
||||
<p class="eyebrow" data-i18n="acad_eyebrow">Les académies</p>
|
||||
<h2 class="lead" data-i18n="acad_title">Deux experts. Deux programmes. Un seul accès.</h2>
|
||||
</div>
|
||||
<div class="acad-grid">
|
||||
<!-- Payet -->
|
||||
<article class="acard foot rv">
|
||||
<img alt="La Payet Academy" class="acad-logo" loading="lazy"
|
||||
src="assets/images/image-e065428f4445.png" />
|
||||
<p class="role" data-i18n="payet_role">Dimitri Payet — footballeur pro, légende de l'OM (740+
|
||||
matchs)</p>
|
||||
<p class="plabel" data-i18n="program_label">Au programme</p>
|
||||
<ul>
|
||||
<li><svg fill="none" stroke="currentColor" stroke-width="2.6" viewbox="0 0 24 24">
|
||||
<path d="M20 6 9 17l-5-5"></path>
|
||||
</svg><span data-i18n="p1">La Passe</span></li>
|
||||
<li><svg fill="none" stroke="currentColor" stroke-width="2.6" viewbox="0 0 24 24">
|
||||
<path d="M20 6 9 17l-5-5"></path>
|
||||
</svg><span data-i18n="p2">Le Contrôle de balle</span></li>
|
||||
<li><svg fill="none" stroke="currentColor" stroke-width="2.6" viewbox="0 0 24 24">
|
||||
<path d="M20 6 9 17l-5-5"></path>
|
||||
</svg><span data-i18n="p3">La Conduite de balle</span></li>
|
||||
<li><svg fill="none" stroke="currentColor" stroke-width="2.6" viewbox="0 0 24 24">
|
||||
<path d="M20 6 9 17l-5-5"></path>
|
||||
</svg><span data-i18n="p4">La Frappe</span></li>
|
||||
<li><svg fill="none" stroke="currentColor" stroke-width="2.6" viewbox="0 0 24 24">
|
||||
<path d="M20 6 9 17l-5-5"></path>
|
||||
</svg><span data-i18n="p5">Le Coup franc direct</span></li>
|
||||
<li><svg fill="none" stroke="currentColor" stroke-width="2.6" viewbox="0 0 24 24">
|
||||
<path d="M20 6 9 17l-5-5"></path>
|
||||
</svg><span data-i18n="p6">Les Coups de pied arrêtés</span></li>
|
||||
</ul>
|
||||
<p class="unlock" data-i18n="unlock_note">Vidéos déblocables le 1er octobre 2026</p>
|
||||
</article>
|
||||
<!-- Physio -->
|
||||
<article class="acard rv">
|
||||
<img alt="La PhysioSport Academy" class="acad-logo" loading="lazy"
|
||||
src="assets/images/image-1edea7b9762f.png" />
|
||||
<p class="role" data-i18n="physio_role">Yannick Dyduch — kiné D.E. & ostéo D.O. (Juventus,
|
||||
Équipe nationale de Belgique, ex-OM)</p>
|
||||
<p class="plabel" data-i18n="program_label">Au programme</p>
|
||||
<ul>
|
||||
<li><svg fill="none" stroke="currentColor" stroke-width="2.6" viewbox="0 0 24 24">
|
||||
<path d="M20 6 9 17l-5-5"></path>
|
||||
</svg><span data-i18n="f1">Le Strapping</span></li>
|
||||
<li><svg fill="none" stroke="currentColor" stroke-width="2.6" viewbox="0 0 24 24">
|
||||
<path d="M20 6 9 17l-5-5"></path>
|
||||
</svg><span data-i18n="f2">La Mobilisation</span></li>
|
||||
<li><svg fill="none" stroke="currentColor" stroke-width="2.6" viewbox="0 0 24 24">
|
||||
<path d="M20 6 9 17l-5-5"></path>
|
||||
</svg><span data-i18n="f3">Le Massage du sportif</span></li>
|
||||
<li><svg fill="none" stroke="currentColor" stroke-width="2.6" viewbox="0 0 24 24">
|
||||
<path d="M20 6 9 17l-5-5"></path>
|
||||
</svg><span data-i18n="f4">Les Blessures musculaires</span></li>
|
||||
<li><svg fill="none" stroke="currentColor" stroke-width="2.6" viewbox="0 0 24 24">
|
||||
<path d="M20 6 9 17l-5-5"></path>
|
||||
</svg><span data-i18n="f5">Les Blessures articulaires</span></li>
|
||||
<li><svg fill="none" stroke="currentColor" stroke-width="2.6" viewbox="0 0 24 24">
|
||||
<path d="M20 6 9 17l-5-5"></path>
|
||||
</svg><span data-i18n="f6">Les Blessures inflammatoires</span></li>
|
||||
</ul>
|
||||
<p class="unlock" data-i18n="unlock_note">Vidéos déblocables le 1er octobre 2026</p>
|
||||
</article>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
<!-- EXPERTS -->
|
||||
<section class="experts">
|
||||
<div class="wrap">
|
||||
<div class="section-head center">
|
||||
<p class="eyebrow" data-i18n="ex_eyebrow">Pourquoi eux</p>
|
||||
<h2 class="lead" data-i18n="ex_title">Ceux qui le font. Pas ceux qui en parlent.</h2>
|
||||
</div>
|
||||
<figure class="duo rv">
|
||||
<img alt="Yannick Dyduch et Dimitri Payet" loading="lazy"
|
||||
src="assets/images/image-caa96026de49.jpg" />
|
||||
<figcaption><span data-i18n="duo_cap">Yannick Dyduch & Dimitri Payet — les deux experts de
|
||||
TutoSport Expert.</span></figcaption>
|
||||
</figure>
|
||||
<div class="ex-grid">
|
||||
<div class="ex rv">
|
||||
<div class="ph"><svg class="globe">
|
||||
<use href="#globe"></use>
|
||||
</svg></div>
|
||||
<div>
|
||||
<h3>Dimitri Payet</h3>
|
||||
<p class="tag" data-i18n="ex_payet_tag">Football · La Payet Academy</p>
|
||||
<p data-i18n="ex_payet_bio">Plus de 740 matchs professionnels, légende de l'Olympique de
|
||||
Marseille. Dimitri Payet partage enfin ses gestes : frappe, coups francs, contrôle,
|
||||
vision de jeu.</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="ex rv">
|
||||
<div class="ph"><svg class="globe">
|
||||
<use href="#globe"></use>
|
||||
</svg></div>
|
||||
<div>
|
||||
<h3>Yannick Dyduch</h3>
|
||||
<p class="tag" data-i18n="ex_physio_tag">Kiné du sport · La PhysioSport Academy</p>
|
||||
<p data-i18n="ex_physio_bio">Kinésithérapeute et ostéopathe des plus grands clubs (Juventus,
|
||||
Équipe nationale de Belgique, ex-OM). Yannick Dyduch transmet la kiné du sport :
|
||||
strapping, massage, prévention, prise en charge des blessures.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
<!-- HOW -->
|
||||
<section class="how" id="how">
|
||||
<div class="wrap">
|
||||
<div class="section-head center">
|
||||
<p class="eyebrow" data-i18n="how_eyebrow">Comment ça marche</p>
|
||||
<h2 class="lead" data-i18n="how_title">De l'inscription au déblocage</h2>
|
||||
</div>
|
||||
<div class="how-grid">
|
||||
<div class="step rv">
|
||||
<div class="n"></div>
|
||||
<h3 data-i18n="s1t">Tu t'abonnes</h3>
|
||||
<p data-i18n="s1d">7,90€, paiement sécurisé en quelques secondes.</p>
|
||||
</div>
|
||||
<div class="step rv">
|
||||
<div class="n"></div>
|
||||
<h3 data-i18n="s2t">Tu reçois ton précode</h3>
|
||||
<p data-i18n="s2d">Confirmation immédiate par e-mail.</p>
|
||||
</div>
|
||||
<div class="step rv">
|
||||
<div class="n"></div>
|
||||
<h3 data-i18n="s3t">La Coupe du Monde</h3>
|
||||
<p data-i18n="s3d">On chauffe la communauté jusqu'au coup d'envoi.</p>
|
||||
</div>
|
||||
<div class="step rv">
|
||||
<div class="n"></div>
|
||||
<h3 data-i18n="s4t">1er octobre 2026</h3>
|
||||
<p data-i18n="s4d">Toutes les vidéos se débloquent. À toi de jouer.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
<!-- ACCESSIBILITY -->
|
||||
<section class="access">
|
||||
<div class="wrap">
|
||||
<div class="section-head center">
|
||||
<p class="eyebrow" data-i18n="acc_eyebrow">Notre raison d'être</p>
|
||||
<h2 class="lead" data-i18n="hero_h1full">Tout le monde a le droit aux experts.</h2>
|
||||
<p class="sub-lead" data-i18n="acc_sub">Le savoir des pros ne devrait pas être réservé à ceux qui
|
||||
ont les moyens, le bon code postal ou la bonne langue.</p>
|
||||
</div>
|
||||
<div class="acc-grid">
|
||||
<div class="acc rv">
|
||||
<div class="ic"><svg fill="none" stroke="currentColor" stroke-width="2" viewbox="0 0 24 24">
|
||||
<circle cx="12" cy="12" r="9"></circle>
|
||||
<path
|
||||
d="M14.5 9.5C14 8.6 13 8 12 8c-1.7 0-3 1-3 2.3 0 2.7 6 1.3 6 3.7 0 1.3-1.3 2.3-3 2.3-1 0-2-.6-2.5-1.5M12 6.5v11">
|
||||
</path>
|
||||
</svg></div>
|
||||
<h3 data-i18n="acc1t">Accessible financièrement</h3>
|
||||
<p data-i18n="acc1d">Des abonnements low-cost. Le savoir des pros, sans le prix des stages.</p>
|
||||
</div>
|
||||
<div class="acc rv">
|
||||
<div class="ic"><svg fill="none" stroke="currentColor" stroke-width="2" viewbox="0 0 24 24">
|
||||
<circle cx="12" cy="12" r="9"></circle>
|
||||
<path d="M3 12h18M12 3a14 14 0 0 1 0 18M12 3a14 14 0 0 0 0 18"></path>
|
||||
</svg></div>
|
||||
<h3 data-i18n="acc2t">Accessible partout</h3>
|
||||
<p data-i18n="acc2d">Un site et une appli. Où que tu sois, les experts sont là.</p>
|
||||
</div>
|
||||
<div class="acc rv">
|
||||
<div class="ic"><svg fill="none" stroke="currentColor" stroke-width="2" viewbox="0 0 24 24">
|
||||
<path d="m5 8 6 6M4 14l6-6 2-3M2 5h12M7 2h1M22 22l-5-10-5 10M14 18h6"></path>
|
||||
</svg></div>
|
||||
<h3 data-i18n="acc3t">Accessible dans ta langue</h3>
|
||||
<p data-i18n="acc3d">Des tutoriels sous-titrés dans toutes les langues.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
<!-- COMPARE -->
|
||||
<section class="compare">
|
||||
<div class="wrap">
|
||||
<div class="section-head center">
|
||||
<h2 class="lead" data-i18n="cmp_title">7,90€ aujourd'hui, ou 80€ le 1er octobre</h2>
|
||||
</div>
|
||||
<div class="cmp-grid rv">
|
||||
<div class="cmp win">
|
||||
<p class="lbl" data-i18n="cmp_during">Pendant la Coupe du Monde</p>
|
||||
<div class="amt">7,90<span class="cur">€</span></div>
|
||||
<p class="desc" data-i18n="cmp_during_d">Les 2 académies, accès illimité</p>
|
||||
</div>
|
||||
<div class="cmp-vs"><span>VS</span></div>
|
||||
<div class="cmp">
|
||||
<p class="lbl" data-i18n="cmp_after">À partir du 1er octobre</p>
|
||||
<div class="amt">80<span class="cur">€</span></div>
|
||||
<p class="desc" data-i18n="cmp_after_d">40€ par académie, soit 80€ les deux</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
<!-- FAQ -->
|
||||
<section class="faq" id="faq">
|
||||
<div class="wrap">
|
||||
<div class="section-head center">
|
||||
<p class="eyebrow" data-i18n="faq_eyebrow">FAQ</p>
|
||||
<h2 class="lead" data-i18n="faq_title">Questions fréquentes</h2>
|
||||
</div>
|
||||
<div class="faq-list" id="faqlist">
|
||||
<div class="qa"><button aria-expanded="false"><span data-i18n="q1">Quand est-ce que j'ai accès aux
|
||||
vidéos ?</span><svg class="chev" fill="none" stroke="currentColor" stroke-width="2.4"
|
||||
viewbox="0 0 24 24">
|
||||
<path d="m6 9 6 6 6-6"></path>
|
||||
</svg></button>
|
||||
<div class="ans" data-i18n="a1" hidden="">Tu reçois ton précode dès le paiement. L'intégralité
|
||||
des contenus se débloque le 1er octobre 2026.</div>
|
||||
</div>
|
||||
<div class="qa"><button aria-expanded="false"><span data-i18n="q2">C'est quoi un précode
|
||||
?</span><svg class="chev" fill="none" stroke="currentColor" stroke-width="2.4"
|
||||
viewbox="0 0 24 24">
|
||||
<path d="m6 9 6 6 6-6"></path>
|
||||
</svg></button>
|
||||
<div class="ans" data-i18n="a2" hidden="">C'est ton accès réservé, envoyé par e-mail dès
|
||||
l'achat. Tu l'utilises pour entrer dans les académies au lancement.</div>
|
||||
</div>
|
||||
<div class="qa"><button aria-expanded="false"><span data-i18n="q3">L'offre 7,90€ couvre les deux
|
||||
académies ?</span><svg class="chev" fill="none" stroke="currentColor" stroke-width="2.4"
|
||||
viewbox="0 0 24 24">
|
||||
<path d="m6 9 6 6 6-6"></path>
|
||||
</svg></button>
|
||||
<div class="ans" data-i18n="a3" hidden="">Oui. Un seul paiement de 7,90€ te donne un accès
|
||||
illimité à La Payet Academy et à La PhysioSport Academy.</div>
|
||||
</div>
|
||||
<div class="qa"><button aria-expanded="false"><span data-i18n="q4">Jusqu'à quand l'offre est valable
|
||||
?</span><svg class="chev" fill="none" stroke="currentColor" stroke-width="2.4"
|
||||
viewbox="0 0 24 24">
|
||||
<path d="m6 9 6 6 6-6"></path>
|
||||
</svg></button>
|
||||
<div class="ans" data-i18n="a4" hidden="">Jusqu'au 19 juillet 2026, fin de la Coupe du Monde.
|
||||
Après, place au tarif normal de 40€ par académie.</div>
|
||||
</div>
|
||||
<div class="qa"><button aria-expanded="false"><span data-i18n="q5">Le paiement est-il sécurisé
|
||||
?</span><svg class="chev" fill="none" stroke="currentColor" stroke-width="2.4"
|
||||
viewbox="0 0 24 24">
|
||||
<path d="m6 9 6 6 6-6"></path>
|
||||
</svg></button>
|
||||
<div class="ans" data-i18n="a5" hidden="">Oui, 100%. Les paiements sont traités par Stripe,
|
||||
leader mondial du paiement en ligne.</div>
|
||||
</div>
|
||||
<div class="qa"><button aria-expanded="false"><span data-i18n="q6">Dans quelles langues ?</span><svg
|
||||
class="chev" fill="none" stroke="currentColor" stroke-width="2.4" viewbox="0 0 24 24">
|
||||
<path d="m6 9 6 6 6-6"></path>
|
||||
</svg></button>
|
||||
<div class="ans" data-i18n="a6" hidden="">Le site est disponible en français, anglais, espagnol
|
||||
et portugais, et les tutoriels sont sous-titrés.</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
<!-- FINAL CTA -->
|
||||
<section class="final">
|
||||
<div class="wrap">
|
||||
<p class="eyebrow" data-i18n="final_eyebrow">Dernier appel</p>
|
||||
<h2 data-i18n="final_title">7,90€ aujourd'hui. 80€ le 1er octobre.</h2>
|
||||
<p class="sub" data-i18n="final_sub">L'offre se termine avec la Coupe du Monde, le 19 juillet 2026.</p>
|
||||
<p class="cd-big js-cd">—</p>
|
||||
<a class="btn btn-go" data-i18n="cta1" href=./offre.html">Je profite de l'offre — 7,90€</a>
|
||||
</div>
|
||||
</section>
|
||||
</main>
|
||||
<div data-include="footer"></div>
|
||||
<!-- sticky mobile cta -->
|
||||
<div class="mcta">
|
||||
<span class="mp">7,90€ <small data-i18n="mcta_sub">au lieu de 80€</small></span>
|
||||
<a class="btn btn-go" data-i18n="mcta_btn" href="offre.html">J'en profite</a>
|
||||
</div>
|
||||
<script defer src="assets/js/site-config.js"></script>
|
||||
<script defer src="assets/js/constants.js"></script>
|
||||
<script defer="True" src="assets/js/main.js"></script>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
@@ -0,0 +1,88 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="fr">
|
||||
<head>
|
||||
<link rel="apple-touch-icon" sizes="180x180" href="/images/favicon/apple-icon-180x180.png" />
|
||||
<link rel="icon" type="image/png" sizes="32x32" href="/images/favicon/favicon-32x32.png" />
|
||||
<link rel="icon" type="image/png" sizes="16x16" href="/images/favicon/favicon-16x16.png" />
|
||||
<meta charset="utf-8"/>
|
||||
<meta content="width=device-width, initial-scale=1" name="viewport"/>
|
||||
<title>TutoSport Expert — Offre Coupe du Monde 7,90€</title>
|
||||
<meta content="Offre Coupe du Monde 7,90€" name="description"/>
|
||||
<meta content="index,follow" name="robots"/>
|
||||
<link href="https://fonts.googleapis.com" rel="preconnect"/>
|
||||
<link crossorigin="" href="https://fonts.gstatic.com" rel="preconnect"/>
|
||||
<link href="https://fonts.googleapis.com/css2?family=Archivo:wght@500;600;700;800;900&family=Inter:wght@400;500;600;700&family=Space+Mono:wght@400;700&display=swap" rel="stylesheet"/>
|
||||
<link href="assets/css/main.css" rel="stylesheet"/>
|
||||
<link href="./offre.html" hreflang="fr" rel="alternate" />
|
||||
<script async src="https://js.stripe.com/v3/pricing-table.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-WTMNS3J8"
|
||||
height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
|
||||
<!-- reusable SVG defs -->
|
||||
<svg aria-hidden="true" height="0" style="position:absolute" width="0">
|
||||
<defs>
|
||||
<linearGradient id="gsphere" x1="0" x2="1" y1="0" y2="1">
|
||||
<stop offset="0" stop-color="#2f7bff"></stop>
|
||||
<stop offset=".55" stop-color="#a81fc4"></stop>
|
||||
<stop offset="1" stop-color="#6a1fae"></stop>
|
||||
</linearGradient>
|
||||
<linearGradient id="gswoosh" x1="0" x2="1" y1="0" y2="1">
|
||||
<stop offset="0" stop-color="#19d39a"></stop>
|
||||
<stop offset="1" stop-color="#0e9e8a"></stop>
|
||||
</linearGradient>
|
||||
</defs>
|
||||
<symbol id="globe" viewBox="0 0 100 100">
|
||||
<circle cx="50" cy="52" fill="url(#gsphere)" r="34"></circle>
|
||||
<g fill="none" opacity=".85" stroke="#fff" stroke-width="1.4">
|
||||
<ellipse cx="50" cy="52" rx="34" ry="13"></ellipse>
|
||||
<ellipse cx="50" cy="52" rx="22" ry="34"></ellipse>
|
||||
<ellipse cx="50" cy="52" rx="11" ry="34"></ellipse>
|
||||
<line x1="16" x2="84" y1="52" y2="52"></line>
|
||||
</g>
|
||||
<path d="M22 84 C40 70 64 64 86 34 C70 60 46 70 22 84 Z" fill="url(#gswoosh)"></path>
|
||||
</symbol>
|
||||
</svg>
|
||||
|
||||
<!-- urgency bar -->
|
||||
<div class="ubar" role="status">
|
||||
<span data-i18n="bar">Offre Coupe du Monde : les 2 académies à 7,90€ au lieu de 80€ — fin le 19 juillet.</span>
|
||||
<span><span data-i18n="bar_ends">Se termine dans</span> <b class="uc js-cd">—</b></span>
|
||||
</div>
|
||||
|
||||
<!-- header -->
|
||||
<header id="hd">
|
||||
<div class="wrap nav">
|
||||
<a aria-label="TutoSport Expert" class="brand" href="/">
|
||||
<img alt="TutoSport Expert" class="hd-logo" src="assets/images/image-c61e1316d393.png"/>
|
||||
</a>
|
||||
<nav class="navlinks" id="navlinks">
|
||||
<a data-i18n="nav_offer" href="/#offre">L'offre</a>
|
||||
<a data-i18n="nav_acad" href="/#academies">Académies</a>
|
||||
<a data-i18n="nav_how" href="/#how">Comment ça marche</a>
|
||||
<a data-i18n="nav_faq" href="/#faq">FAQ</a>
|
||||
</nav>
|
||||
<div class="navright">
|
||||
<div aria-label="Langue" class="langsw" role="group">
|
||||
<button class="on" data-lang="fr">FR</button>
|
||||
<button data-lang="en">EN</button>
|
||||
<button data-lang="es">ES</button>
|
||||
<button data-lang="pt">PT</button>
|
||||
</div>
|
||||
<button aria-expanded="false" aria-label="Menu" class="burger" id="burger">
|
||||
<span></span><span></span><span></span>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</header>
|
||||
|
||||
<main id="top">
|
||||
<div data-i18n-html="pricing"></div>
|
||||
</main>
|
||||
<div data-include="footer"></div>
|
||||
|
||||
<script defer src="assets/js/site-config.js"></script>
|
||||
<script defer src="assets/js/constants.js"></script>
|
||||
<script defer src="assets/js/main.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,193 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="pt">
|
||||
<head>
|
||||
<meta charset="utf-8"/>
|
||||
<meta content="width=device-width, initial-scale=1" name="viewport"/>
|
||||
<title>TutoSport Expert — Condições Gerais de Venda</title>
|
||||
<meta content="Offre Coupe du Monde 7,90€" name="description"/>
|
||||
<meta content="index,follow" name="robots"/>
|
||||
<link href="https://fonts.googleapis.com" rel="preconnect"/>
|
||||
<link crossorigin="" href="https://fonts.gstatic.com" rel="preconnect"/>
|
||||
<link href="https://fonts.googleapis.com/css2?family=Archivo:wght@500;600;700;800;900&family=Inter:wght@400;500;600;700&family=Space+Mono:wght@400;700&display=swap" rel="stylesheet"/>
|
||||
<link href="../assets/css/main.css" rel="stylesheet"/>
|
||||
<link href="./cgv.html" hreflang="pt" rel="alternate" />
|
||||
<script async src="https://js.stripe.com/v3/pricing-table.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-WTMNS3J8"
|
||||
height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
|
||||
<!-- reusable SVG defs -->
|
||||
<svg aria-hidden="true" height="0" style="position:absolute" width="0">
|
||||
<defs>
|
||||
<linearGradient id="gsphere" x1="0" x2="1" y1="0" y2="1">
|
||||
<stop offset="0" stop-color="#2f7bff"></stop>
|
||||
<stop offset=".55" stop-color="#a81fc4"></stop>
|
||||
<stop offset="1" stop-color="#6a1fae"></stop>
|
||||
</linearGradient>
|
||||
<linearGradient id="gswoosh" x1="0" x2="1" y1="0" y2="1">
|
||||
<stop offset="0" stop-color="#19d39a"></stop>
|
||||
<stop offset="1" stop-color="#0e9e8a"></stop>
|
||||
</linearGradient>
|
||||
</defs>
|
||||
<symbol id="globe" viewBox="0 0 100 100">
|
||||
<circle cx="50" cy="52" fill="url(#gsphere)" r="34"></circle>
|
||||
<g fill="none" opacity=".85" stroke="#fff" stroke-width="1.4">
|
||||
<ellipse cx="50" cy="52" rx="34" ry="13"></ellipse>
|
||||
<ellipse cx="50" cy="52" rx="22" ry="34"></ellipse>
|
||||
<ellipse cx="50" cy="52" rx="11" ry="34"></ellipse>
|
||||
<line x1="16" x2="84" y1="52" y2="52"></line>
|
||||
</g>
|
||||
<path d="M22 84 C40 70 64 64 86 34 C70 60 46 70 22 84 Z" fill="url(#gswoosh)"></path>
|
||||
</symbol>
|
||||
</svg>
|
||||
|
||||
<!-- header -->
|
||||
<header id="hd">
|
||||
<div class="wrap nav">
|
||||
<a aria-label="TutoSport Expert" class="brand" href="/">
|
||||
<img alt="TutoSport Expert" class="hd-logo" src="../assets/images/image-c61e1316d393.png"/>
|
||||
</a>
|
||||
<nav class="navlinks" id="navlinks">
|
||||
<a data-i18n="nav_offer" href="/#offre">L'offre</a>
|
||||
<a data-i18n="nav_acad" href="/#academies">Académies</a>
|
||||
<a data-i18n="nav_how" href="/#how">Comment ça marche</a>
|
||||
<a data-i18n="nav_faq" href="/#faq">FAQ</a>
|
||||
</nav>
|
||||
<div class="navright">
|
||||
<div aria-label="Langue" class="langsw" role="group">
|
||||
<button data-lang="fr">FR</button>
|
||||
<button data-lang="en">EN</button>
|
||||
<button data-lang="es">ES</button>
|
||||
<button class="on" data-lang="pt">PT</button>
|
||||
</div>
|
||||
<button aria-expanded="false" aria-label="Menu" class="burger" id="burger">
|
||||
<span></span><span></span><span></span>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</header>
|
||||
|
||||
<main id="top" style="padding: 0px 20px">
|
||||
<h1>Condições Gerais de Venda</h1>
|
||||
<p><strong>Pré-assinatura da plataforma digital EPSF</strong></p>
|
||||
<h2>1. Identificação do profissional</h2>
|
||||
<p>As presentes condições gerais de venda (as « CGV ») são propostas por:</p>
|
||||
<p>EPSF SAS<br>Sociedade por ações simplificada com capital social de 1.000 €<br>Sede social: 16 rue de la Jeunesse 13190 ALLAUCH<br>RCS Marseille n.º 984 645 853<br>N.º de IVA intracomunitário: FR63 984 645 853<br>E-mail: contact@tutosportexpert.com<br>Diretor da publicação: Yannick DYDUCH</p>
|
||||
<p>Doravante denominada « EPSF ».</p>
|
||||
<h2>2. Âmbito de aplicação</h2>
|
||||
<p>As presentes CGV regem a venda de pré-assinaturas que dão acesso, a partir de 1 de outubro de 2026, ao site internet e à aplicação móvel EPSF.</p>
|
||||
<p>Aplicam-se:</p>
|
||||
<ul><li>aos consumidores;</li><li>aos clientes não profissionais;</li><li>e aos clientes profissionais.</li></ul>
|
||||
<p>Algumas cláusulas diferem consoante a qualidade do cliente.<br>O cliente deve, portanto, indicar, no momento da encomenda, se atua:</p>
|
||||
<ul><li>a título pessoal, como consumidor ou não profissional;</li><li>ou no âmbito da sua atividade profissional.</li></ul>
|
||||
<h2>3. Definições</h2>
|
||||
<p>Para efeitos das presentes CGV:</p>
|
||||
<ul><li>Cliente: qualquer pessoa singular ou coletiva que encomende uma oferta EPSF;</li><li>Serviço: o acesso digital ao site, à aplicação e aos conteúdos EPSF;</li><li>Pré-assinatura: a encomenda antecipada de um acesso ao Serviço antes da sua abertura efetiva;</li><li>Conta: o espaço pessoal que permite aceder ao Serviço;</li><li>Conteúdo digital: qualquer conteúdo acessível por via desmaterializada através do Serviço.</li></ul>
|
||||
<h2>4. Descrição do Serviço</h2>
|
||||
<p>A pré-assinatura dá acesso, a partir de 1 de outubro de 2026, por um período de doze (12) meses, a:</p>
|
||||
<ul><li>a plataforma online EPSF;</li><li>a aplicação móvel EPSF;</li></ul>
|
||||
<p>Salvo estipulação expressa em contrário:</p>
|
||||
<ul><li>não é fornecido qualquer suporte físico;</li><li>não é fornecido qualquer equipamento informático;</li><li>o Serviço é prestado à distância;</li><li>e o Serviço, por si só, não confere a emissão de diploma ou certificação regulamentada, salvo menção em contrário.</li></ul>
|
||||
<h2>5. Pré-requisitos técnicos</h2>
|
||||
<p>O Cliente deve dispor de:</p>
|
||||
<ul><li>equipamento compatível;</li><li>ligação à internet adequada;</li><li>endereço de e-mail válido;</li><li>e, se aplicável, telefone compatível com a aplicação.</li></ul>
|
||||
<p>A EPSF pode fazer evoluir razoavelmente os pré-requisitos técnicos para manter, proteger ou melhorar o Serviço.</p>
|
||||
<h2>6. Encomenda</h2>
|
||||
<p>A encomenda é efetuada no site internet da EPSF ou por qualquer outro canal expressamente autorizado pela EPSF.</p>
|
||||
<p>O Cliente:</p>
|
||||
<ol><li>seleciona a oferta pretendida;</li><li>toma conhecimento do resumo;</li><li>aceita as presentes CGV;</li><li>procede ao pagamento.</li></ol>
|
||||
<p>A encomenda torna-se firme a partir da sua confirmação pela EPSF, sem prejuízo do direito legal ou contratual de retratação / anulação aplicável. A EPSF confirma a encomenda por e-mail.</p>
|
||||
<p>O contrato é celebrado em língua francesa, salvo menção em contrário.</p>
|
||||
<h2>7. Preço</h2>
|
||||
<p>O preço aplicável é o apresentado no momento da encomenda.</p>
|
||||
<p>Para a oferta de lançamento atualmente prevista, o preço é de 7,90 € com IVA incluído.</p>
|
||||
<p>Para os clientes profissionais, a fatura apresentará, se aplicável, o preço sem IVA, o IVA e o preço com IVA, de acordo com o regime aplicável.</p>
|
||||
<h2>8. Pagamento</h2>
|
||||
<p>O pagamento é exigível no momento da encomenda. É efetuado por cartão bancário ou por qualquer outro meio proposto no site, nomeadamente através da Stripe ou de qualquer prestador equivalente. Uma fatura ou confirmação de pagamento é enviada ao Cliente de acordo com a sua qualidade e as obrigações legais aplicáveis.</p>
|
||||
<h3>Para os clientes profissionais</h3>
|
||||
<p>Em caso de atraso no pagamento, as penalizações de mora e a indemnização fixa por custos de cobrança de 40 € são devidas de pleno direito, nas condições previstas nas presentes CGV e na fatura.</p>
|
||||
<h2>9. Data de abertura do Serviço – não disponibilização</h2>
|
||||
<p>O Serviço destina-se a ser aberto a partir de 1 de outubro de 2026. Se o Serviço não estiver efetivamente acessível nessa data, a EPSF informará o Cliente com a maior brevidade possível.</p>
|
||||
<p>Salvo caso de força maior, se o Serviço não for disponibilizado no prazo de 30 dias corridos após 1 de outubro de 2026, o Cliente poderá solicitar a anulação da sua encomenda e o reembolso integral dos montantes pagos.</p>
|
||||
<p>O reembolso ocorrerá no prazo máximo de 14 dias a contar da validação do pedido.</p>
|
||||
<h2>10. Direito de retratação / anulação</h2>
|
||||
<h3>10.1 Clientes que beneficiam legalmente de um direito de retratação</h3>
|
||||
<p>Qualquer Cliente que beneficie legalmente de um direito de retratação dispõe de um prazo de 14 dias corridos para se retratar sem ter de justificar a sua decisão. Para uma prestação de serviço ou uma pré-assinatura, o prazo começa a contar a partir do dia seguinte à celebração do contrato.</p>
|
||||
<p>O Cliente pode exercer esse direito:</p>
|
||||
<ul><li>através do formulário de retratação constante em anexo;</li><li>ou por qualquer declaração inequívoca.</li></ul>
|
||||
<p>A EPSF reembolsará todos os montantes pagos no prazo de 14 dias a contar da receção da decisão de retratação, sem prejuízo das regras aplicáveis quando a execução tenha começado a pedido do Cliente.</p>
|
||||
<h3>10.2 Execução antecipada – conteúdos e serviços digitais</h3>
|
||||
<p>Quando o Cliente solicita expressamente a execução do Serviço antes do termo do prazo de retratação, aplicam-se as seguintes regras:</p>
|
||||
<ul><li>se o Serviço começou a ser executado antes do fim do prazo, a EPSF pode conservar o montante correspondente ao serviço já prestado, na medida permitida por lei;</li><li>se a oferta incluir o fornecimento de um conteúdo digital em suporte imaterial e a execução tiver começado após acordo expresso do Cliente e renúncia expressa ao seu direito de retratação, esse direito deixa de poder ser exercido relativamente a essa parte do Serviço.</li></ul>
|
||||
<h3>10.3 Clientes que não beneficiam de um direito legal de retratação</h3>
|
||||
<p>Os Clientes que não beneficiam de um direito legal de retratação podem, contudo, a título comercial, anular a sua encomenda no prazo de 14 dias corridos a contar da confirmação da encomenda, desde que:</p>
|
||||
<ul><li>o Serviço não tenha sido ativado;</li><li>e nenhum acesso aos conteúdos tenha sido aberto.</li></ul>
|
||||
<p>Nesse caso, o reembolso ocorrerá no prazo de 14 dias.</p>
|
||||
<h2>11. Garantia legal aplicável aos consumidores para os conteúdos e serviços digitais</h2>
|
||||
<p>Quando beneficia do estatuto de consumidor ou de um regime legal assimilado, o Cliente beneficia das garantias legais aplicáveis aos conteúdos digitais e serviços digitais, nas condições previstas pelo código do consumo. A EPSF responde nomeadamente pelos defeitos de conformidade do Serviço digital nas condições e prazos legais aplicáveis.</p>
|
||||
<p>Em caso de defeito de conformidade, o Cliente pode, consoante os casos:</p>
|
||||
<ul><li>obter a reposição da conformidade;</li><li>obter uma redução do preço;</li><li>ou resolver o contrato nas condições previstas pela lei.</li></ul>
|
||||
<p>Os direitos legais do Cliente consumidor aplicam-se independentemente de qualquer garantia comercial eventualmente concedida.</p>
|
||||
<h2>12. Duração do acesso</h2>
|
||||
<p>Salvo estipulação em contrário, o acesso ao Serviço é concedido por um período de doze (12) meses a contar da ativação efetiva da conta. Não é renovado tacitamente, salvo menção expressa em contrário no momento da encomenda.</p>
|
||||
<h2>13. Disponibilidade – manutenção – suporte</h2>
|
||||
<p>A EPSF esforça-se por assegurar uma disponibilidade do Serviço compatível com as utilizações normais de um serviço digital. O Serviço pode ser temporariamente interrompido por motivos de manutenção, atualização, segurança, correção ou evolução. A EPSF não garante uma disponibilidade contínua e sem erros. O suporte pode ser contactado através do seguinte endereço: support@tutosportexpert.com</p>
|
||||
<h2>14. Conta e obrigações do Cliente</h2>
|
||||
<p>O Cliente compromete-se a:</p>
|
||||
<ul><li>fornecer informações exatas;</li><li>preservar a confidencialidade dos seus identificadores;</li><li>não ceder nem partilhar a sua conta de forma não autorizada;</li><li>utilizar o Serviço de acordo com a sua finalidade;</li><li>não prejudicar os direitos da EPSF ou de terceiros.</li></ul>
|
||||
<p>O Cliente é responsável pelas utilizações efetuadas a partir da sua conta, salvo culpa imputável à EPSF.</p>
|
||||
<h2>15. Propriedade intelectual</h2>
|
||||
<p>A totalidade do Serviço e dos seus elementos é protegida pelas regras relativas à propriedade intelectual. O Cliente beneficia apenas de um direito de acesso e utilização pessoal ou interna, não exclusivo, não cedível e não transferível.</p>
|
||||
<p>É proibido nomeadamente:</p>
|
||||
<ul><li>reproduzir, difundir ou comercializar os conteúdos;</li><li>partilhar os acessos fora das condições previstas;</li><li>extrair automaticamente dados ou conteúdos;</li><li>proceder a engenharia inversa;</li><li>traduzir, adaptar ou modificar os conteúdos sem autorização prévia por escrito.</li></ul>
|
||||
<h2>16. Dados pessoais – cookies</h2>
|
||||
<p>A EPSF trata dados pessoais nas condições descritas em:</p>
|
||||
<ul><li>a sua Política de Privacidade: https://tutosportexpert.com</li><li>e a sua Política de Cookies: https://tutosportexpert.com</li></ul>
|
||||
<p>As pessoas em causa são informadas de forma concisa, transparente, compreensível e facilmente acessível. A EPSF convida o Cliente a consultar as informações detalhadas antes de qualquer encomenda.</p>
|
||||
<h2>17. Responsabilidade</h2>
|
||||
<h3>17.1 Clientes consumidores ou assimilados</h3>
|
||||
<p>A EPSF permanece vinculada às garantias legais e responsabilidades imperativas previstas pela lei. Nenhuma estipulação das presentes CGV tem por objeto ou efeito privar o Cliente dos seus direitos legais de ordem pública.</p>
|
||||
<h3>17.2 Clientes profissionais</h3>
|
||||
<p>Salvo culpa grave ou dolo, e exceto nos casos em que a lei o proíba, a responsabilidade da EPSF limita-se exclusivamente aos danos diretos, previsíveis e certos, no limite do montante pago pelo Cliente ao abrigo da encomenda litigiosa nos últimos doze meses. A EPSF não poderá ser responsabilizada por danos indiretos ou imateriais, tais como perda de volume de negócios, perda de oportunidade, perda de dados, dano à imagem ou perda de exploração.</p>
|
||||
<h2>18. Suspensão – rescisão</h2>
|
||||
<p>A EPSF pode suspender ou rescindir o acesso em caso de:</p>
|
||||
<ul><li>incumprimento grave das presentes CGV;</li><li>utilização fraudulenta;</li><li>violação da segurança do Serviço;</li><li>partilha ilícita dos acessos;</li><li>ou falta de pagamento.</li></ul>
|
||||
<p>Salvo urgência ou fraude manifesta, a EPSF enviará previamente uma notificação formal concedendo ao Cliente um prazo razoável para regularizar a situação.</p>
|
||||
<h2>19. Mediação de consumo</h2>
|
||||
<p>O Cliente consumidor tem o direito de recorrer gratuitamente a um mediador de consumo para a resolução amigável de um litígio.</p>
|
||||
<p>O mediador designado é: AME CONSO – 197 Boulevard Saint-Germain, 75007 Paris – mediationconso-ame.com. O pedido pode ser efetuado online através do formulário disponível no site do mediador ou por correio postal. O consumidor dispõe de um prazo de um ano a contar da sua reclamação escrita junto da sociedade para recorrer ao mediador.</p>
|
||||
<p>O Cliente pode igualmente, se aplicável, utilizar a plataforma europeia de resolução de litígios em linha, sem prejuízo da sua manutenção operacional.</p>
|
||||
<h2>20. Força maior</h2>
|
||||
<p>Nenhuma Parte poderá ser responsabilizada por atraso ou incumprimento devido a caso de força maior na aceção do artigo 1218 do código civil.</p>
|
||||
<h2>21. Prova e arquivo</h2>
|
||||
<p>Os registos informatizados, confirmações eletrónicas, registos de ligação, e-mails, históricos de pagamento e dados de autenticação da EPSF farão prova, salvo prova em contrário.</p>
|
||||
<h2>22. Nulidade parcial – não renúncia</h2>
|
||||
<p>Se uma cláusula for declarada nula ou inaplicável, as restantes estipulações permanecerão em vigor.</p>
|
||||
<p>O facto de a EPSF não invocar uma cláusula num determinado momento não constitui renúncia.</p>
|
||||
<h2>23. Direito aplicável – resolução de litígios</h2>
|
||||
<p>As presentes CGV são regidas pelo direito francês.</p>
|
||||
<h3>23.1 Cliente consumidor</h3>
|
||||
<p>O Cliente consumidor pode recorrer:</p>
|
||||
<ul><li>quer a uma das jurisdições territorialmente competentes nos termos do código de processo civil;</li><li>quer à jurisdição do local onde residia no momento da celebração do contrato ou da ocorrência do facto danoso, quando a lei o permitir.</li></ul>
|
||||
<h3>23.2 Cliente profissional</h3>
|
||||
<p>ENTRE PARTES QUE TENHAM TODAS CONTRATADO NA QUALIDADE DE COMERCIANTES, E SEM PREJUÍZO DO ARTIGO 48 DO CÓDIGO DE PROCESSO CIVIL, QUALQUER LITÍGIO RELATIVO À FORMAÇÃO, INTERPRETAÇÃO, EXECUÇÃO OU CESSAÇÃO DO CONTRATO SERÁ DA COMPETÊNCIA EXCLUSIVA DO TRIBUNAL DE COMÉRCIO DE MARSEILLE.</p>
|
||||
<p>Na falta disso, aplicar-se-ão as regras legais de competência.</p>
|
||||
<h2>24. Contacto / reclamações</h2>
|
||||
<p>Para qualquer pedido, reclamação ou assistência:<br>EPSF SAS<br>16 rue de la Jeunesse 13190 ALLAUCH</p>
|
||||
<p>E-mail: contact@tutosportexpert.com<br></p>
|
||||
<h2>ANEXO 1 — Formulário tipo de retratação</h2>
|
||||
<p>(para os clientes que beneficiam de um direito legal de retratação)</p>
|
||||
<p>À atenção de:<br>EPSF SAS<br>16 rue de la Jeunesse 13190 ALLAUCH</p>
|
||||
<p>E-mail: contact@tutosportexpert.com</p>
|
||||
<p>Eu / Nós () notifico / notificamos () pela presente a minha / nossa (*) retratação do contrato relativo à venda do serviço / pré-assinatura abaixo:</p>
|
||||
<ul><li>Encomendado em:</li><li>Nome do cliente:</li><li>Endereço do cliente:</li><li>E-mail utilizado para a encomenda:</li><li>Número da encomenda:</li><li>Assinatura (apenas em caso de notificação em papel):</li><li>Data:</li></ul>
|
||||
<p>(*) Riscar a menção inútil.</p>
|
||||
|
||||
</main>
|
||||
<div data-include="footer"></div>
|
||||
|
||||
<script defer src="../assets/js/site-config.js"></script>
|
||||
<script defer src="../assets/js/constants.js"></script>
|
||||
<script defer src="../assets/js/main.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,235 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="pt">
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta content="width=device-width, initial-scale=1" name="viewport" />
|
||||
<title>TutoSport Expert — INFORMAÇÕES LEGAIS</title>
|
||||
<meta content="Offre Coupe du Monde 7,90€" name="description" />
|
||||
<meta content="index,follow" name="robots" />
|
||||
<link href="https://fonts.googleapis.com" rel="preconnect" />
|
||||
<link crossorigin="" href="https://fonts.gstatic.com" rel="preconnect" />
|
||||
<link
|
||||
href="https://fonts.googleapis.com/css2?family=Archivo:wght@500;600;700;800;900&family=Inter:wght@400;500;600;700&family=Space+Mono:wght@400;700&display=swap"
|
||||
rel="stylesheet" />
|
||||
<link href="../assets/css/main.css" rel="stylesheet" />
|
||||
<link href="./legals.html" hreflang="pt" rel="alternate" />
|
||||
<script async src="https://js.stripe.com/v3/pricing-table.js"></script>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-WTMNS3J8"
|
||||
height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
|
||||
<!-- reusable SVG defs -->
|
||||
<svg aria-hidden="true" height="0" style="position:absolute" width="0">
|
||||
<defs>
|
||||
<linearGradient id="gsphere" x1="0" x2="1" y1="0" y2="1">
|
||||
<stop offset="0" stop-color="#2f7bff"></stop>
|
||||
<stop offset=".55" stop-color="#a81fc4"></stop>
|
||||
<stop offset="1" stop-color="#6a1fae"></stop>
|
||||
</linearGradient>
|
||||
<linearGradient id="gswoosh" x1="0" x2="1" y1="0" y2="1">
|
||||
<stop offset="0" stop-color="#19d39a"></stop>
|
||||
<stop offset="1" stop-color="#0e9e8a"></stop>
|
||||
</linearGradient>
|
||||
</defs>
|
||||
<symbol id="globe" viewBox="0 0 100 100">
|
||||
<circle cx="50" cy="52" fill="url(#gsphere)" r="34"></circle>
|
||||
<g fill="none" opacity=".85" stroke="#fff" stroke-width="1.4">
|
||||
<ellipse cx="50" cy="52" rx="34" ry="13"></ellipse>
|
||||
<ellipse cx="50" cy="52" rx="22" ry="34"></ellipse>
|
||||
<ellipse cx="50" cy="52" rx="11" ry="34"></ellipse>
|
||||
<line x1="16" x2="84" y1="52" y2="52"></line>
|
||||
</g>
|
||||
<path d="M22 84 C40 70 64 64 86 34 C70 60 46 70 22 84 Z" fill="url(#gswoosh)"></path>
|
||||
</symbol>
|
||||
</svg>
|
||||
|
||||
<!-- header -->
|
||||
<header id="hd">
|
||||
<div class="wrap nav">
|
||||
<a aria-label="TutoSport Expert" class="brand" href="/">
|
||||
<img alt="TutoSport Expert" class="hd-logo" src="../assets/images/image-c61e1316d393.png" />
|
||||
</a>
|
||||
<nav class="navlinks" id="navlinks">
|
||||
<a data-i18n="nav_offer" href="/#offre">L'offre</a>
|
||||
<a data-i18n="nav_acad" href="/#academies">Académies</a>
|
||||
<a data-i18n="nav_how" href="/#how">Comment ça marche</a>
|
||||
<a data-i18n="nav_faq" href="/#faq">FAQ</a>
|
||||
</nav>
|
||||
<div class="navright">
|
||||
<div aria-label="Langue" class="langsw" role="group">
|
||||
<button class="on" data-lang="fr">FR</button>
|
||||
<button data-lang="en">EN</button>
|
||||
<button data-lang="es">ES</button>
|
||||
<button data-lang="pt">PT</button>
|
||||
</div>
|
||||
<button aria-expanded="false" aria-label="Menu" class="burger" id="burger">
|
||||
<span></span><span></span><span></span>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</header>
|
||||
|
||||
<main id="top" style="padding: 0px 20px">
|
||||
<h1>INFORMAÇÕES LEGAIS</h1>
|
||||
<p>Site TutoSport Expert - https://tutosportexpert.com</p>
|
||||
<h2>Síntese das informações de identificação</h2>
|
||||
<table>
|
||||
<tr>
|
||||
<td>Site</td>
|
||||
<td>TutoSport Expert</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>URL</td>
|
||||
<td>https://tutosportexpert.com</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Editor</td>
|
||||
<td>EPSF, sociedade por ações simplificada</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Capital social</td>
|
||||
<td>1 000 euros</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Registo</td>
|
||||
<td>RCS Marseille - SIREN 984 645 853</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Sede social</td>
|
||||
<td>16 rue de la Jeunesse, 13190 Allauch, França</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>IVA intracomunitário</td>
|
||||
<td>FR63 984 645 853</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>E-mail</td>
|
||||
<td>contact@tutosportexpert.com</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Telefone</td>
|
||||
<td>[a completar - menção obrigatória]</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Diretor da publicação</td>
|
||||
<td>Yannick DYDUCH, presidente da EPSF</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Alojamento</td>
|
||||
<td>[a completar - menção obrigatória]</td>
|
||||
</tr>
|
||||
</table>
|
||||
<h2>1. Editor do site</h2>
|
||||
<p>Em conformidade com o artigo 1-1 da lei n.º 2004-575 de 21 de junho de 2004 relativa à confiança na economia
|
||||
digital, os utilizadores do site TutoSport Expert, acessível no endereço https://tutosportexpert.com, são
|
||||
informados dos seguintes elementos.</p>
|
||||
<p>O site é editado pela EPSF, sociedade por ações simplificada com capital social de 1 000 euros, registada no
|
||||
registo do comércio e das sociedades de Marseille sob o número SIREN 984 645 853, cuja sede social se situa em 16
|
||||
rue de la Jeunesse, 13190 Allauch, França.</p>
|
||||
<p>Número de IVA intracomunitário: FR63 984 645 853.</p>
|
||||
<h2>2. Contacto</h2>
|
||||
<p>E-mail: contact@tutosportexpert.com</p>
|
||||
<p>Telefone: [a completar - menção obrigatória]</p>
|
||||
<h2>3. Diretor da publicação</h2>
|
||||
<p>O diretor da publicação é Yannick DYDUCH, na qualidade de presidente da EPSF.</p>
|
||||
<h2>4. Alojamento</h2>
|
||||
<p>O site é alojado por: [denominação social do alojador a completar]</p>
|
||||
<p>Forma social: [a completar]</p>
|
||||
<p>Endereço: [endereço completo a completar]</p>
|
||||
<p>Telefone do alojador: [a completar - menção obrigatória]</p>
|
||||
<h2>5. Desenvolvimento do site</h2>
|
||||
<p>O site foi desenvolvido pela BLACK BEE, Atrium 10.6 - 10 place de la Joliette, 13567 Marseille Cedex 02, França.
|
||||
</p>
|
||||
<h2>6. Atividade do site e condições comerciais</h2>
|
||||
<p>TutoSport Expert apresenta formações presenciais propostas pela EPSF, nomeadamente destinadas a profissionais do
|
||||
desporto e da saúde no desporto.</p>
|
||||
<p>As condições gerais de venda aplicáveis às inscrições, tarifas, modalidades de pagamento e condições de anulação
|
||||
estão acessíveis no site no endereço:</p>
|
||||
<p>https://tutosportexpert.com/terms_and_conditions.</p>
|
||||
<p>Quando o site menciona um preço, este é indicado em euros e, salvo indicação em contrário, não inclui despesas de
|
||||
alojamento, deslocação e jantar, que permanecem a cargo do cliente.</p>
|
||||
<h2>7. Utilização do site</h2>
|
||||
<p>O acesso e a utilização do site implicam a aceitação das presentes informações legais. O utilizador compromete-se
|
||||
a utilizar o site em conformidade com as leis e regulamentos aplicáveis e a não prejudicar os direitos da EPSF ou
|
||||
de terceiros.</p>
|
||||
<h2>8. Responsabilidade</h2>
|
||||
<p>A EPSF implementa meios razoáveis para assegurar a acessibilidade, o bom funcionamento e a atualização do site.
|
||||
Contudo, a EPSF não garante que o site esteja isento de erros, interrupções ou indisponibilidades temporárias,
|
||||
nomeadamente em caso de manutenção, incidente técnico, força maior ou acontecimento independente da sua vontade.
|
||||
</p>
|
||||
<p>As informações publicadas no site são fornecidas a título indicativo. A EPSF esforça-se por assegurar a sua
|
||||
exatidão e atualidade, sem prejuízo das disposições legais imperativas aplicáveis. O utilizador é convidado a
|
||||
comunicar qualquer erro, omissão ou pedido de correção para o endereço contact@tutosportexpert.com.</p>
|
||||
<p>O site pode conter ligações para sites internet ou serviços editados por terceiros. A EPSF não exerce qualquer
|
||||
controlo sobre esses sites terceiros e não poderá ser responsabilizada pelo seu conteúdo, disponibilidade ou
|
||||
práticas, nomeadamente em matéria de dados pessoais ou cookies.</p>
|
||||
<h2>9. Propriedade intelectual</h2>
|
||||
<p>O site, a sua estrutura, os seus textos, fotografias, vídeos, suportes pedagógicos, logótipos, marcas, elementos
|
||||
gráficos, ficheiros, documentos descarregáveis e, de modo geral, a totalidade dos seus conteúdos estão protegidos
|
||||
pelo direito da propriedade intelectual.</p>
|
||||
<p>Salvo menção em contrário, estes elementos são propriedade exclusiva da EPSF ou são objeto de uma autorização de
|
||||
utilização. Qualquer reprodução, representação, adaptação, tradução, extração, difusão, comercialização ou
|
||||
exploração total ou parcial do site ou de qualquer um dos seus elementos, por qualquer processo, sem autorização
|
||||
prévia, expressa e escrita da EPSF, é proibida, sem prejuízo das exceções legais.</p>
|
||||
<p>Qualquer utilização não autorizada é suscetível de constituir contrafação, implicando a responsabilidade civil
|
||||
e/ou penal do seu autor, nomeadamente com base nos artigos L. 335-2 e seguintes do código da propriedade
|
||||
intelectual.</p>
|
||||
<h2>10. Ligações hipertexto</h2>
|
||||
<p>A criação de uma ligação hipertexto simples para o site é autorizada, desde que não prejudique os direitos, a
|
||||
imagem ou os interesses da EPSF, não crie confusão quanto à origem dos conteúdos e não contorne restrições
|
||||
técnicas ou de acesso.</p>
|
||||
<p>Qualquer prática de enquadramento (« framing »), qualquer reprodução de conteúdos, qualquer utilização não
|
||||
autorizada das marcas, logótipos ou sinais distintivos da EPSF, bem como qualquer ligação a partir de um site com
|
||||
conteúdo ilícito, enganoso, depreciativo ou que prejudique direitos de terceiros, é proibida.</p>
|
||||
<p>A recolha automatizada de informações nominativas ou de dados provenientes do site, nomeadamente para fins
|
||||
comerciais ou publicitários, é proibida salvo autorização prévia ou base legal aplicável.</p>
|
||||
<h2>11. Dados pessoais</h2>
|
||||
<p>No âmbito da exploração do site, a EPSF pode ser levada a tratar dados pessoais relativos aos utilizadores,
|
||||
potenciais clientes, clientes, formandos ou participantes nas formações.</p>
|
||||
<ul>
|
||||
<li>Responsável pelo tratamento: EPSF, SAS, 16 rue de la Jeunesse, 13190 Allauch, França.</li>
|
||||
<li>Contacto para o exercício dos direitos: contact@tutosportexpert.com.</li>
|
||||
<li>Finalidades principais: gestão dos pedidos de informação e contacto, gestão das inscrições nas formações,
|
||||
pagamento, faturação, acompanhamento administrativo e pedagógico, melhoria do site e cumprimento das obrigações
|
||||
legais ou regulamentares.</li>
|
||||
<li>Bases legais: execução de medidas pré-contratuais ou contratuais, cumprimento de obrigações legais, interesse
|
||||
legítimo da EPSF e, quando exigido, consentimento da pessoa em causa.</li>
|
||||
<li>Destinatários: pessoas habilitadas no seio da EPSF, prestadores técnicos, alojador, prestador de pagamento,
|
||||
prestadores administrativos ou contabilísticos e, se aplicável, organismos financiadores ou autoridades
|
||||
legalmente habilitadas.</li>
|
||||
<li>Prazos de conservação: os dados são conservados pelo período necessário às finalidades prosseguidas, acrescido
|
||||
dos prazos impostos pelas obrigações legais, contabilísticas, fiscais ou probatórias aplicáveis.</li>
|
||||
<li>Direitos das pessoas: acesso, retificação, apagamento, limitação, oposição, portabilidade quando aplicável, e
|
||||
retirada do consentimento quando o tratamento se baseie neste.</li>
|
||||
</ul>
|
||||
<p>Qualquer pessoa em causa pode exercer os seus direitos enviando um pedido para contact@tutosportexpert.com.
|
||||
Dispõe igualmente do direito de apresentar uma reclamação junto da CNIL.</p>
|
||||
<p>Política de privacidade detalhada: [ligação a inserir para a política de privacidade]</p>
|
||||
<h2>12. Cookies e rastreadores</h2>
|
||||
<p>O site pode utilizar cookies ou outros rastreadores necessários ao seu funcionamento, bem como, se aplicável,
|
||||
rastreadores de medição de audiência, personalização ou relacionados com serviços terceiros.</p>
|
||||
<p>Os cookies não estritamente necessários ao funcionamento do site só são depositados após recolha do consentimento
|
||||
do utilizador, que pode aceitar, recusar ou parametrizar as suas escolhas segundo modalidades equivalentes em
|
||||
simplicidade.</p>
|
||||
<p>Política de cookies detalhada: [ligação a inserir para a política de cookies]</p>
|
||||
<h2>13. Modificação das informações legais</h2>
|
||||
<p>A EPSF reserva-se o direito de modificar as presentes informações legais a qualquer momento, nomeadamente para
|
||||
ter em conta a evolução do site, dos seus serviços ou da regulamentação aplicável. O utilizador é convidado a
|
||||
consultá-las regularmente.</p>
|
||||
<h2>14. Direito aplicável</h2>
|
||||
<p>As presentes informações legais são regidas pelo direito francês. Qualquer litígio relativo ao acesso ou à
|
||||
utilização do site será submetido às jurisdições competentes, sem prejuízo das disposições legais imperativas
|
||||
aplicáveis.</p>
|
||||
<h2>15. Última atualização</h2>
|
||||
<p>Última atualização: 13 de junho de 2026.</p>
|
||||
</main>
|
||||
<div data-include="footer"></div>
|
||||
|
||||
<script defer src="../assets/js/site-config.js"></script>
|
||||
<script defer src="../assets/js/constants.js"></script>
|
||||
<script defer src="../assets/js/main.js"></script>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
@@ -0,0 +1,96 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="{{LANG}}">
|
||||
<head>
|
||||
<link rel="apple-touch-icon" sizes="180x180" href="/images/favicon/apple-icon-180x180.png" />
|
||||
<link rel="icon" type="image/png" sizes="32x32" href="/images/favicon/favicon-32x32.png" />
|
||||
<link rel="icon" type="image/png" sizes="16x16" href="/images/favicon/favicon-16x16.png" />
|
||||
<meta charset="utf-8"/>
|
||||
<meta content="width=device-width, initial-scale=1" name="viewport"/>
|
||||
<title>{{PAGE_TITLE}}</title>
|
||||
<meta content="{{PAGE_DESCRIPTION}}" name="description"/>
|
||||
<meta content="{{ROBOTS}}" name="robots"/>
|
||||
<link href="https://fonts.googleapis.com" rel="preconnect"/>
|
||||
<link crossorigin="" href="https://fonts.gstatic.com" rel="preconnect"/>
|
||||
<link href="https://fonts.googleapis.com/css2?family=Archivo:wght@500;600;700;800;900&family=Inter:wght@400;500;600;700&family=Space+Mono:wght@400;700&display=swap" rel="stylesheet"/>
|
||||
<link href="assets/css/main.css" rel="stylesheet"/>
|
||||
<link href="{{CANONICAL_PATH}}" hreflang="{{LANG}}" rel="alternate"/>
|
||||
</head>
|
||||
<body>
|
||||
<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-WTMNS3J8"
|
||||
height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
|
||||
<!-- reusable SVG defs -->
|
||||
<svg aria-hidden="true" height="0" style="position:absolute" width="0">
|
||||
<defs>
|
||||
<linearGradient id="gsphere" x1="0" x2="1" y1="0" y2="1">
|
||||
<stop offset="0" stop-color="#2f7bff"></stop>
|
||||
<stop offset=".55" stop-color="#a81fc4"></stop>
|
||||
<stop offset="1" stop-color="#6a1fae"></stop>
|
||||
</linearGradient>
|
||||
<linearGradient id="gswoosh" x1="0" x2="1" y1="0" y2="1">
|
||||
<stop offset="0" stop-color="#19d39a"></stop>
|
||||
<stop offset="1" stop-color="#0e9e8a"></stop>
|
||||
</linearGradient>
|
||||
</defs>
|
||||
<symbol id="globe" viewBox="0 0 100 100">
|
||||
<circle cx="50" cy="52" fill="url(#gsphere)" r="34"></circle>
|
||||
<g fill="none" opacity=".85" stroke="#fff" stroke-width="1.4">
|
||||
<ellipse cx="50" cy="52" rx="34" ry="13"></ellipse>
|
||||
<ellipse cx="50" cy="52" rx="22" ry="34"></ellipse>
|
||||
<ellipse cx="50" cy="52" rx="11" ry="34"></ellipse>
|
||||
<line x1="16" x2="84" y1="52" y2="52"></line>
|
||||
</g>
|
||||
<path d="M22 84 C40 70 64 64 86 34 C70 60 46 70 22 84 Z" fill="url(#gswoosh)"></path>
|
||||
</symbol>
|
||||
</svg>
|
||||
|
||||
<!-- urgency bar -->
|
||||
<div class="ubar" role="status">
|
||||
<span data-i18n="bar">Offre Coupe du Monde : les 2 académies à 7,90€ au lieu de 80€ — fin le 19 juillet.</span>
|
||||
<span><span data-i18n="bar_ends">Se termine dans</span> <b class="uc js-cd">—</b></span>
|
||||
</div>
|
||||
|
||||
<!-- header -->
|
||||
<header id="hd">
|
||||
<div class="wrap nav">
|
||||
<a aria-label="TutoSport Expert" class="brand" href="/">
|
||||
<img alt="TutoSport Expert" class="hd-logo" src="assets/images/image-c61e1316d393.png"/>
|
||||
</a>
|
||||
<nav class="navlinks" id="navlinks">
|
||||
<a data-i18n="nav_offer" href="/#offre">L'offre</a>
|
||||
<a data-i18n="nav_acad" href="/#academies">Académies</a>
|
||||
<a data-i18n="nav_how" href="/#how">Comment ça marche</a>
|
||||
<a data-i18n="nav_faq" href="/#faq">FAQ</a>
|
||||
</nav>
|
||||
<div class="navright">
|
||||
<div aria-label="Langue" class="langsw" role="group">
|
||||
<button class="on" data-lang="fr">FR</button>
|
||||
<button data-lang="en">EN</button>
|
||||
<button data-lang="es">ES</button>
|
||||
<button data-lang="pt">PT</button>
|
||||
</div>
|
||||
<a class="btn btn-go deskcta" data-i18n="nav_cta" href="offre.html">S'abonner — 7,90€</a>
|
||||
<button aria-expanded="false" aria-label="Menu" class="burger" id="burger">
|
||||
<span></span><span></span><span></span>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</header>
|
||||
|
||||
<main id="top">
|
||||
<!-- PAGE_CONTENT_START -->
|
||||
{{PAGE_CONTENT}}
|
||||
<!-- PAGE_CONTENT_END -->
|
||||
</main>
|
||||
<div data-include="footer"></div>
|
||||
|
||||
<!-- sticky mobile cta -->
|
||||
<div class="mcta">
|
||||
<span class="mp">7,90€ <small data-i18n="mcta_sub">au lieu de 80€</small></span>
|
||||
<a class="btn btn-go" data-i18n="mcta_btn" href="offre.html">J'en profite</a>
|
||||
</div>
|
||||
|
||||
<script defer src="assets/js/site-config.js"></script>
|
||||
<script defer src="assets/js/constants.js"></script>
|
||||
<script defer src="assets/js/main.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -64,6 +64,8 @@
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-WTMNS3J8"
|
||||
height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
|
||||
<div class="construction-icon">🚧</div>
|
||||
<h1 style="display: inline-block;align-items: center;"><img width="256px" src="logo.png" alt="logo tutosport expert" /></h1>
|
||||
<p>Our website is currently under construction. Stay tuned for something amazing!</p>
|
||||
|
||||