# 01 — Parcours utilisateurs et personas — TERO Padel Club

**Périmètre : dépôt `N:\dev\teropadelclub.be` — 63 URL publiques, 3 langues (FR racine, /nl/, /en/), 6 clubs.**
Règle appliquée : *on mesure, on ne suppose pas*. Chaque affirmation porte un chemin de fichier + un numéro de ligne, ou une route réellement générée par le dépôt. Quand l'information n'existe pas, il est écrit **absent** ou **non mesuré** — jamais deviné.

---

## 0. Socle mesuré (à lire avant les parcours)

### 0.1 Volume de routes publié = 63
21 routes par langue × 3 langues :
- 10 pages de contenu : `accueil, terrains, academie, groupes, bistrot-pilko, boutique, evenements, contact, mentions-legales, confidentialite` (`src/data/site.ts:51-54`), générées par `src/pages/[...path].astro:13-17` (+ `nl/[...path].astro`, `en/[...path].astro`) ;
- 6 fiches club : `src/data/site.ts:36-43` et `src/pages/[...path].astro:18-21`, chemins `/clubs/<slug>/` (`src/data/site.ts:76-78`) ;
- 2 guides SEO : `/guides/prix-padel-belgique/`, `/guides/team-building-padel/` (`src/pages/guides/*.astro`, 2 fichiers) + variantes `nl/gids` et `en/guides` ;
- 1 comparateur `/clubs/` (`src/pages/clubs/index.astro`) ;
- 1 page presse `/presse/` (`src/pages/presse.astro`, aussi dans `LEGAL_NAV` `src/data/ui.ts:855-871`) ;
- 1 hub de réservation `/reserver/` (`BOOKING_PATHS` `src/data/site.ts:86-90`, `src/pages/reserver.astro`).
Les 3 pages 404 (`src/pages/404.astro`) sont hors décompte (`noindex`, `src/components/NotFound.astro:35`).
Parité : 16 fichiers de contenu par langue (`src/content/{fr,nl,en}` → 16 chacun, glob mesuré).

### 0.2 Règle de rendu des CTA (elle change la lecture de tous les contenus)
`sanitizeUrl` réécrit **toute** URL `https://a4tp.be/<club>/club` en `bookingPath(lang)` à la lecture du contenu : `src/data/content.ts:81`. Donc un `href` `a4tp.be/…/club` présent dans un JSON **n'est jamais rendu tel quel** : il devient `/reserver/` (FR), `/nl/reserveren/`, `/en/book/` (`src/data/site.ts:86-90`). Les URL `a4tp.be/…/camps` et `…/academy/` ne sont pas touchées et restent de vraies actions d'académie.
Sur une **fiche club**, le `hero.cta.href` du contenu n'est pas utilisé : le bouton prend `courtBookingUrl(club)` = le lien Playtomic du club, paramètre de date `?q=` retiré (`src/components/ClubPage.astro:59-61,120` ; `src/data/content.ts:157-163`).

### 0.3 Points de conversion permanents (présents sur toutes les pages)
| Élément | Libellé rendu (FR) | Destination | Preuve |
|---|---|---|---|
| Bouton d'en-tête | « Réserver » | `/reserver/` | `src/components/Header.astro:21,62` ; `src/data/ui.ts:117` |
| Pied de page — réservation | « Réserver » | `/reserver/` | `src/components/Footer.astro:24` |
| Pied de page — contact | « Contactez-nous » | `/contact/` | `src/components/Footer.astro:57` |
| Pied de page — e-mails | `hello@` / `academy@teropadelclub.be` | `mailto:` | `src/components/Footer.astro:53-54` |
| Pied de page — réseaux | Facebook / Instagram / LinkedIn | profils externes | `src/components/Footer.astro:26-28` ; `src/data/site.ts:27-31` |
| Barre d'action collante (mobile < 48 rem) | « Réserver » + « Choisir mon club » | `/reserver/` | `src/components/BookingBar.astro:29-30,34,52` |
| Barre collante — page club | « Réservez votre terrain » | Playtomic du club | `src/components/ClubPage.astro:109-110` ; `src/layouts/BaseLayout.astro:243` |
| Barre collante — /groupes/ | « Demander un devis » | `/contact/` | `src/components/ContentPage.astro:37-42,212` |
Aucune page ne publie de téléphone : `src/data/site.ts:21-25` (constante commentée, aucun numéro vérifié).

---

## A. Canaux et portes d'entrée réelles

| Canal | Page d'atterrissage réelle | Intention | Action attendue | Preuve |
|---|---|---|---|---|
| SEO local (6 clubs) | `/clubs/waterloo/`, `/clubs/louise/`, `/clubs/limelette/`, `/clubs/namur/`, `/clubs/garisart/`, `/clubs/charleroi/` (+ /nl, /en) | « padel à <ville> » | Réserver un terrain | `src/data/site.ts:36-43,76-78` ; titres locaux ex. `src/content/fr/clubs/waterloo.json:9-10` |
| Comparateur réseau | `/clubs/` | « quel club choisir » | Réserver / comparer | `src/pages/clubs/index.astro` ; `src/data/ui.ts:749` (`Clubs` dans NAV) |
| SEO longue traîne tarifs | `/guides/prix-padel-belgique/` | « combien coûte une séance » | Réserver | `src/components/GuideTarifs.astro:26-30,271` |
| SEO longue traîne B2B | `/guides/team-building-padel/` | « prix team building padel » | Devis | `src/components/GuideB2B.astro:26-30,259` |
| Pages piliers | `/terrains/`, `/academie/`, `/groupes/`, `/bistrot-pilko/`, `/boutique/`, `/evenements/`, `/contact/` | besoins par sujet | voir §C | `src/data/site.ts:57-68` |
| Presse / GEO | `/presse/` (+ `/nl/pers/`, `/en/press/`) | vérifier la couverture | Contacter | `src/components/PressPage.astro:26-32,194` ; 9 articles `src/data/press.ts:26-152` |
| GEO automatisé | `/llms.txt` (lien pied de page) | citation par les LLM | — | `src/components/Footer.astro:67` |
| Réseaux sociaux | Aucune landing dédiée dans le dépôt ; liens sortants uniquement | revoir / partager | — | `src/components/Footer.astro:26-28` ; UTM externes déclarés `docs/seo/utm.json:181-202` |
| Bouche-à-oreille / WhatsApp | **Aucune** : 4 clubs portent un champ `whatsapp` mais **0 composant ne le rend** | rejoindre la communauté | — | champs : `src/content/fr/clubs/waterloo.json:286`, `louise.json:292`, `limelette.json:310`, `charleroi.json:310` ; libellé inutilisé `src/data/ui.ts:202` ; consommateur : **absent** (grep `whatsapp` dans `src/*.astro` = 0) |
| Passage physique / QR | Aucune landing : `utm_source: "qr"` est déclaré comme source externe | venir sur place | — | `docs/seo/utm.json:189,199` ; route QR : **absente** du dépôt |
| Partenaires / sponsoring | Fiches club (bloc « Pack Gold » en texte) | sponsoriser | Contacter | `src/content/fr/clubs/waterloo.json:145-158` (présent dans les 6 clubs) ; renvoi e-mail `src/content/fr/pages/contact.json:146` |
| E-mail direct | Toutes pages (mailto) | question | Écrire | `src/data/site.ts:16-19` |
| Newsletter | **Absente** : chaînes UI déclarées, 0 usage dans les composants | s'inscrire | — | `src/data/ui.ts:126-128,312-313` ; grep `newsletter` dans `src/**/*.astro` = 0 résultat |
| Site parent | `https://tero.be` | groupe Tero | — | `src/data/site.ts:33` ; `src/components/Footer.astro:55` |

Volumes de trafic par canal : **non mesurés** (aucune donnée d'audience ni d'analytics dans le dépôt).

---

## B. Personas et parcours

### P1 — Joueur débutant seul (adulte, jamais joué)
- **Intention** : comprendre le padel, le prix, et oser réserver une première fois.
- **Entrée réelle** : `/` ou `/guides/prix-padel-belgique/` ou une fiche club.
- **Étapes** : accueil → ligne de faits du héros (clubs / terrains / prix d'entrée `src/components/ContentPage.astro:190-197`) → FAQ → CTA.
- **Action cible** : réserver un terrain (session).
- **CTA réel** : « Réservez votre terrain » → `/reserver/` (`src/content/fr/pages/accueil.json:12-15` + réécriture `src/components/ContentPage.astro:184`), puis sur le hub « Réserver un terrain » → Playtomic du club (`src/components/BookingPage.astro:70`).
- **Trou** : aucun parcours « première fois / jamais joué » dédié (pas de page débutant, pas d'offre d'essai) — **absent**.

### P2 — Joueur régulier (réserve souvent, connaît déjà un club)
- **Intention** : retrouver vite le créneau de son club.
- **Entrée réelle** : `/clubs/<slug>/` en direct (SEO local) ou marque.
- **Étapes** : fiche club → héros « Réservez votre terrain » → Playtomic (sans passer par le hub).
- **Action cible** : réserver.
- **CTA réel** : « Réservez votre terrain » → `https://playtomic.io/tero-padel-club-waterloo/b2a5895b-b7a3-4cd2-a839-5f9a7e178b87` (source `src/content/fr/clubs/waterloo.json:62`, rendu `src/components/ClubPage.astro:59-61,120`).
- **Trou** : aucun accès direct « mes réservations » (pas de compte) — hors périmètre technique, **non mesuré**.

### P3 — Duo ou équipe d'amis cherchant un terrain
- **Intention** : trouver un créneau libre à 4, comparer les prix entre clubs.
- **Entrée réelle** : `/terrains/`, `/clubs/`, ou un guide tarifs.
- **Étapes** : `/terrains/` → tableau des tarifs par club (`src/content/fr/pages/terrains.json:45-274`) → « Réservez votre terrain » → `/reserver/` → carte du club → Playtomic.
- **Action cible** : réserver (session 90 min).
- **CTA réel** : « Réservez votre terrain » → `/reserver/` (`src/content/fr/pages/terrains.json:12-15,297-303` ; sanitize `src/data/content.ts:81`) ; comparateur : « Réserver » → Playtomic (`src/components/ClubsCompare.astro:146-149`).
- **Trou** : la disponibilité en temps réel n'est visible qu'après le saut vers Playtomic — **non mesuré** côté site (aucun moteur de réservation local, `src/data/site.ts:96-103`).

### P4 — Client « terrain à l'année »
- **Intention** : bloquer le même créneau 50 semaines.
- **Entrée réelle** : `/terrains/` (bloc « Réserver un terrain à l'année », `src/content/fr/pages/terrains.json:187-273`) ou la FAQ d'un club.
- **Étapes** : lire les tarifs annuels → … → **aucun bouton dédié** ; seul recours : page contact (sans formulaire) ou e-mail `hello@`.
- **Action cible** : réserver à l'année / demander un devis annuel.
- **CTA réel** : **absent**. Le seul bouton de la page mène à la session (« Réservez votre terrain » → `/reserver/`, `terrains.json:297-303`).
- **Trou majeur** : action à forte valeur (1 200 € à 3 000 €/50 semaines, `terrains.json:194-271`) sans porte de conversion.

### P5 — Parent cherchant l'académie enfants (stages, cours)
- **Intention** : inscrire son enfant (6-18 ans), connaître le prix et les dates.
- **Entrée réelle** : `/academie/` (+ fiches club, bloc « Stages pour enfants » `src/content/fr/clubs/waterloo.json:123-132`).
- **Étapes** : académie → liste des stages → carte « Réserver un stage » du club → plateforme Tero Academy.
- **Action cible** : réserver un stage.
- **CTA réel** : « Réserver un stage » → `https://a4tp.be/teropadelclub.waterloo/camps` (6 clubs, `src/content/fr/pages/academie.json:87-118`) ; bloc final « Écrire à l'académie » → `mailto:academy@teropadelclub.be` (`academie.json:175-178`).
- **Trou** : les cours collectifs enfants n'ont **pas** de plateforme : carte « Nous contacter » → `/contact/` (`academie.json:31-35`), page contact **sans formulaire** (voir §D5).

### P6 — Adulte cherchant des cours (collectif ou privé)
- **Intention** : progresser, choisir un format et un club.
- **Entrée réelle** : `/academie/` ou fiche club.
- **Étapes** : académie → cartes « Cours collectifs adultes » / « Cours privés » → contact ou e-mail.
- **Action cible** : s'inscrire à un cours.
- **CTA réel** : « Nous contacter » → `/contact/` (`academie.json:27-28`) ; « Écrire à l'académie » → `mailto:academy@teropadelclub.be` (`academie.json:39-40,175-178`).
- **Trou** : le CTA de tête « Réservez vos cours collectifs » (`academie.json:12-15`) pointe une URL `a4tp/.../club` **réécrite en `/reserver/`** (`src/data/content.ts:81`) : l'intention « cours » aboutit sur le hub de **réservation de terrain**. Incohérence mesurée.

### P7 — Entreprise — team building
- **Intention** : un devis pour un événement d'équipe (25/35/42 € HTVA).
- **Entrée réelle** : `/guides/team-building-padel/` ou `/groupes/`.
- **Étapes** : guide → tableau des 3 formules → « Demander une offre » → `/groupes/` → contact/e-mail.
- **Action cible** : devis.
- **CTA réel** : guide : « Demander une offre » → `/groupes/` (`src/components/GuideB2B.astro:259`) ; page : « Contactez-nous » → `/contact/` (`src/content/fr/pages/groupes.json:12-15`), « Demander une offre » → `/contact/` (`groupes.json:100-107`), bloc final « Écrire à Tero Padel Club » → `mailto:hello@teropadelclub.be` (`groupes.json:176-179`) ; barre mobile « Demander un devis » → `/contact/` (`src/components/ContentPage.astro:37-42`).
- **Trou** : **aucun formulaire de devis** ; tout passe par mailto ou une page contact sans champ. Délai de réponse annoncé « sous 24 heures ouvrées » (`src/components/Section.astro:25`) — engagement non mesuré.

### P8 — Organisateur de tournoi / événement privé
- **Intention** : organiser un tournoi (association, anniversaire, entreprise).
- **Entrée réelle** : `/evenements/` (ou `/clubs/<slug>/`).
- **Étapes** : événements → « Votre tournoi, votre format » → cartes → e-mail.
- **Action cible** : organiser / demander un devis.
- **CTA réel** : « Écrire à Tero Padel Club » → `mailto:hello@teropadelclub.be` (`src/content/fr/pages/evenements.json:148-151`) ; renvois « Voir les formules » → `/groupes/` et « Voir l'académie » → `/academie/` (`evenements.json:89-96`).
- **Trou** : **pas de calendrier, pas d'inscription en ligne, pas de lien WhatsApp rendu**. La FAQ « Où voir le calendrier » renvoie vers la page club, un groupe WhatsApp ou l'e-mail (`evenements.json:176-177`) — le groupe WhatsApp n'existe pas dans le HTML (§A).

### P9 — Client Bistrot Pilko (restauration seule, sans padel)
- **Intention** : manger / boire / privatiser un espace.
- **Entrée réelle** : `/bistrot-pilko/` (+ fiche club, carte « Bistrot Pilko »).
- **Étapes** : page clubhouse → textes et cartes → e-mail.
- **Action cible** : réserver une table / privatiser.
- **CTA réel** : « Écrire à Tero Padel Club » → `mailto:hello@teropadelclub.be` (`src/content/fr/pages/bistrot-pilko.json:122-125`) ; cartes « Nous trouver » → `/contact/`, « Organiser un événement » → `/groupes/` (`bistrot-pilko.json:35-43`).
- **Trou** : **aucun menu, aucun horaire, aucune réservation de table**. Les horaires sont explicitement « en cours de confirmation » (`bistrot-pilko.json:147`) → **non mesuré**. Le seul CTA de tête est « Découvrir nos clubs » → `/terrains/` (`bistrot-pilko.json:12-15`), qui éloigne du repas.

### P10 — Acheteur boutique (équipement Bullpadel, raquette, balles)
- **Intention** : acheter ou louer du matériel (raquette 7 €, tube 8,90 €).
- **Entrée réelle** : `/boutique/`.
- **Étapes** : boutique → cartes → fiche club / contact.
- **Action cible** : acheter / louer.
- **CTA réel** : « Voir les clubs » → `/terrains/` (`src/content/fr/pages/boutique.json:12-15`) ; « En savoir plus » → `/bistrot-pilko/`, « Nous contacter » → `/contact/`, « Voir un club » → `/clubs/waterloo/` (`boutique.json:27,35,43`) ; bloc final « Contacter le club » → `/contact/` (`boutique.json:110-113`).
- **Trou** : **aucune vente ni paiement en ligne**, aucun panier, aucun prix produit (`absent`). La liste « Le shop de votre club » ne contient que **5 clubs sur 6** (Charleroi manquant : `boutique.json:74-104`), alors que la FAQ cite bien Charleroi (`boutique.json:119`).

### P11 — Presse / journaliste
- **Intention** : vérifier un fait, citer un chiffre, demander une photo.
- **Entrée réelle** : `/presse/` (`/nl/pers/`, `/en/press/`), atteignable par le pied de page (`src/data/ui.ts:855-871`).
- **Étapes** : page presse → 9 articles sourcés → FAQ (citation, photos) → contact.
- **Action cible** : contacter la presse.
- **CTA réel** : « Lire l'article » → URL externe de l'article (`src/components/PressPage.astro:167`) ; « Contactez-nous » → `/contact/` (`PressPage.astro:194`).
- **Trou** : **pas d'e-mail presse dédié, pas de kit média** ; tout passe par `hello@` via la page contact sans formulaire.

### P12 — Partenaire / sponsor
- **Intention** : associer sa marque à un club (Pack Gold).
- **Entrée réelle** : fiche club (bloc « Sponsoring : le Pack Gold », ex. `src/content/fr/clubs/waterloo.json:144-158`), présent dans les 6 clubs.
- **Étapes** : lire la liste des contreparties → … → e-mail.
- **Action cible** : demander une proposition.
- **CTA réel** : **absent dans le bloc sponsoring**. Le seul chemin documenté est la FAQ contact : « écrivez à hello@teropadelclub.be » (`src/content/fr/pages/contact.json:146`) + les liens e-mail du pied de page (`src/components/Footer.astro:53`).
- **Trou** : action commerciale à forte valeur sans bouton, sans page, sans formulaire.

### P13 — Visiteur NL ou EN non francophone
- **Intention** : mêmes besoins, dans sa langue.
- **Entrée réelle** : `/nl/`, `/nl/terreinen/`, `/nl/academy/`, `/nl/groepen/`, `/nl/reserveren/`, `/en/`, `/en/courts/`, `/en/academy/`, `/en/groups/`, `/en/book/` et les 6 fiches club (slug identique, `src/data/site.ts:35`).
- **Étapes** : identiques aux parcours FR ; sélecteur de langue dans l'en-tête (`src/components/Header.astro:50-60`).
- **Action cible** : réserver / contacter.
- **CTA réel** : « Reserveer je baan » / « Book your court » → `/nl/reserveren/` / `/en/book/` (`src/content/nl/pages/accueil.json:12-15`, `src/content/en/pages/accueil.json:12-15` + `src/components/ContentPage.astro:184`).
- **Trou** : la **réservation elle-même est hors site** (Playtomic) et la copie de playtomic.io est en anglais/FR selon la plateforme — non localisable depuis ce dépôt (**non mesuré**). Les variantes `/nl/reserveren/` et `/en/book/` existent bien (`src/data/site.ts:86-90`).

---

## C. Matrice persona × action × page (CTA tel qu'il existe)

| Persona | Action cible | Page qui porte l'action (URL) | CTA rendu (libellé → href) | État |
|---|---|---|---|---|
| P1 débutant | Réserver une 1re séance | `/` → `/reserver/` | « Réservez votre terrain » → `/reserver/` | servi |
| P2 régulier | Réserver | `/clubs/waterloo/` | « Réservez votre terrain » → Playtomic Waterloo | servi |
| P3 duo/équipe | Réserver 90 min | `/terrains/`, `/clubs/` | « Réservez votre terrain » → `/reserver/` ; « Réserver » → Playtomic | servi |
| P3 duo/équipe | Comparer 6 clubs | `/clubs/` | ligne du tableau → `/clubs/<slug>/` + « Réserver » → Playtomic | servi |
| P4 annuel | Terrain à l'année | `/terrains/` (bloc annuel) | **aucun CTA** | **trou** |
| P5 parent | Stage enfant | `/academie/` | « Réserver un stage » → `a4tp.be/<club>/camps` | servi |
| P5 parent | Cours collectif enfant | `/academie/` | « Nous contacter » → `/contact/` | partiel |
| P6 adulte | Cours collectif | `/academie/` | « Réservez vos cours collectifs » → `/reserver/` (réécrit) | **incohérent** |
| P6 adulte | Cours privé | `/academie/` | « Écrire à l'académie » → `mailto:academy@` | servi (e-mail) |
| P7 entreprise | Devis événement | `/guides/team-building-padel/` → `/groupes/` | « Demander une offre » → `/groupes/` ; « Écrire à Tero Padel Club » → `mailto:hello@` | partiel (pas de formulaire) |
| P8 tournoi | Organiser / s'inscrire | `/evenements/` | « Écrire à Tero Padel Club » → `mailto:hello@` | partiel |
| P9 bistrot | Manger / privatiser | `/bistrot-pilko/` | « Écrire à Tero Padel Club » → `mailto:hello@` | partiel (ni menu ni horaires) |
| P10 boutique | Acheter / louer | `/boutique/` | « Contacter le club » → `/contact/` | **trou** (pas de vente) |
| P11 presse | Contact presse | `/presse/` | « Contactez-nous » → `/contact/` | partiel |
| P12 sponsor | Demander une offre | `/clubs/<slug>/` (Pack Gold) | **aucun CTA local** ; e-mail via FAQ contact | **trou** |
| P13 NL/EN | Réserver | `/nl/reserveren/`, `/en/book/` | « Reserveer je baan » / « Book your court » | servi |
| Tous | Réservation (hub) | `/reserver/` | « Réserver un terrain » → Playtomic (`src/components/BookingPage.astro:70`) ; « Cours et stages » → `a4tp/<club>/club` (:73) | partiel |
| Tous | Contact | `/contact/` | « Réservez maintenant » → `/reserver/` ; e-mails en cartes | sans formulaire |

---

## D. Trous mesurés

1. **Aucun formulaire de contact, nulle part.** Aucune balise `<form>` dans `src/` (grep). Les constantes `THANKS_PATH` et `CONTACT_FORM_ANCHOR = '#formulaire'` existent (`src/data/ui.ts:879-886`) mais **ne sont utilisées par aucun composant** ; la route `/merci/` est déclarée dans le contrat QA (`docs/qa/site-expectations.json:34`) et **n'est pas générée** (`glob src/pages/**/merci*` = 0). Le lien « Formulaire de contact » de l'aside FAQ (`src/components/Section.astro:283`) mène donc à une page sans formulaire.
2. **CTA « cours » qui aboutit sur la réservation de terrain.** « Réservez vos cours collectifs » (`src/content/fr/pages/academie.json:12-15` ; idem NL/EN) pointe une URL `a4tp/.../club`, réécrite en `/reserver/` par `src/data/content.ts:81` — donc vers un hub de **terrains**.
3. **Bouton « Cours et stages » du hub ambigu.** Sur `/reserver/`, il utilise `academyUrl(club)` = `booking.href` (`src/components/BookingPage.astro:73` ; `src/data/content.ts:166-169`) : pour 5 clubs c'est `a4tp.be/<club>/club`, page d'atterrissage **sans réservation** selon `docs/seo/utm.json:232-234`. Il ne mène ni à `/camps` ni à `/academy/`. Pour **Charleroi**, `booking.href` est un lien Playtomic : `academyUrl` renvoie `undefined` → **aucun bouton « Cours et stages »**, bien que le club ait une académie (`src/content/fr/clubs/charleroi.json:308`).
4. **Terrain à l'année sans CTA** (P4) : 1 200 € à 3 000 € documentés (`src/content/fr/pages/terrains.json:187-273`) et **aucun bouton** ; seule la session est cliquable.
5. **WhatsApp : contenu mort.** 4 clubs sur 6 portent une URL `whatsapp` et 3 langues de libellé existent (`src/data/ui.ts:202,412,622`), mais **aucun composant ne les affiche** (grep : 0 consommateur). Namur et Garisart n'ont même pas le champ.
6. **Bistrot Pilko sans menu, sans horaires, sans réservation** (P9) ; horaires « en cours de confirmation » (`src/content/fr/pages/bistrot-pilko.json:147`).
7. **Boutique sans achat** (P10) : pas de panier, pas de prix article, et la liste des shops omet Charleroi (`src/content/fr/pages/boutique.json:74-104`, 5 items).
8. **Événements sans calendrier ni inscription** (P8) : la FAQ renvoie vers des canaux externes non présents dans le HTML (`src/content/fr/pages/evenements.json:176-177`).
9. **Sponsoring sans CTA** (P12) : Pack Gold en texte dans les 6 clubs, aucun lien/bouton ; accès uniquement via la FAQ contact (`src/content/fr/pages/contact.json:146`).
10. **Aucun téléphone publié** (`src/data/site.ts:21-25` ; le contrat QA le confirme non requis : `docs/qa/site-expectations.json:58-60`). Pour un club urbain, l'appel est impossible.
11. **Newsletter absente** : chaînes UI déclarées (`src/data/ui.ts:126-128,312-313`), 0 usage dans les composants → aucun canal de rétention propriétaire.
12. **Pas de landing de canal** pour QR, réseaux sociaux ni presse sortante : `utm_source` `qr/presse/partenaire/instagram/...` sont déclarés côté UTM (`docs/seo/utm.json:181-202`) sans route d'atterrissage dédiée dans le dépôt.
13. **Personas sans porte d'entrée dédiée** : sponsor (P12), acheteur boutique (P10), client annuel (P4) n'ont aucune page qui leur soit propre ; ils entrent par une page club ou un guide.
14. **Persona non servi du tout** : le **visiteur qui veut seulement manger au Bistrot Pilko sans jouer** — la page existe mais l'action cible (réserver une table) n'a ni page, ni CTA, ni horaires.

### Ce qui n'est pas mesurable depuis ce dépôt
- Volumes et sources de trafic, taux de conversion, coût par lead (aucune donnée analytics dans le dépôt).
- Horaires du clubhouse, menu Bistrot, prix des articles boutique : absents du contenu.
- Comportement sur Playtomic/a4tp après le clic sortant (hors site).
- Langue effective des parcours Playtomic (dépend de la plateforme).
