[{"data":1,"prerenderedAt":638},["ShallowReactive",2],{"navigation_docs_fr":3,"-fr-oauth":312,"-fr-oauth-surround":633},[4,17,210,237,272],{"title":5,"path":6,"stem":7,"children":8,"icon":11},"Premiers pas","\u002Ffr\u002Fgetting-started","fr\u002F0.getting-started\u002F1.index",[9,12],{"title":10,"path":6,"stem":7,"icon":11},"Visite de l'administration","sporty-toggle-large-on",{"title":13,"path":14,"stem":15,"icon":16},"Configuration de la première semaine","\u002Ffr\u002Fgetting-started\u002Ffirst-week-setup","fr\u002F0.getting-started\u002F2.first-week-setup","sporty-calendar-check",{"title":18,"path":19,"stem":20,"children":21,"page":209},"Interface","\u002Ffr\u002Finterface","fr\u002F1.interface",[22,65,72,79,90,97,105,112,119,126,147,154,174,185,203],{"title":23,"path":24,"stem":25,"children":26,"icon":28},"Courts","\u002Ffr\u002Finterface\u002Fcourts","fr\u002F1.interface\u002F01.courts\u002F1.index",[27,29],{"title":23,"path":24,"stem":25,"icon":28},"sporty-court-sport",{"title":30,"path":31,"stem":32,"children":33,"icon":11},"Contrôle d'accès et éclairage","\u002Ffr\u002Finterface\u002Fcourts\u002Fintegrations","fr\u002F1.interface\u002F01.courts\u002F5.integrations\u002F1.index",[34,35,40,45],{"title":30,"path":31,"stem":32,"icon":11},{"title":36,"path":37,"stem":38,"icon":39},"Weblock","\u002Ffr\u002Finterface\u002Fcourts\u002Fintegrations\u002Fweblock","fr\u002F1.interface\u002F01.courts\u002F5.integrations\u002F2.weblock","sporty-door-open",{"title":41,"path":42,"stem":43,"icon":44},"Shelly","\u002Ffr\u002Finterface\u002Fcourts\u002Fintegrations\u002Fshelly","fr\u002F1.interface\u002F01.courts\u002F5.integrations\u002F3.shelly","sporty-bolt",{"title":46,"path":47,"stem":48,"children":49,"icon":39},"UniFi Access","\u002Ffr\u002Finterface\u002Fcourts\u002Fintegrations\u002Funifi-access","fr\u002F1.interface\u002F01.courts\u002F5.integrations\u002F4.unifi-access\u002F1.index",[50,52,56,61],{"title":51,"path":47,"stem":48,"icon":39},"Présentation",{"title":53,"path":54,"stem":55,"icon":11},"Connecter le VPN","\u002Ffr\u002Finterface\u002Fcourts\u002Fintegrations\u002Funifi-access\u002Fvpn","fr\u002F1.interface\u002F01.courts\u002F5.integrations\u002F4.unifi-access\u002F2.vpn",{"title":57,"path":58,"stem":59,"icon":60},"Créer un jeton d'API","\u002Ffr\u002Finterface\u002Fcourts\u002Fintegrations\u002Funifi-access\u002Fapi-token","fr\u002F1.interface\u002F01.courts\u002F5.integrations\u002F4.unifi-access\u002F3.api-token","sporty-gear",{"title":62,"path":63,"stem":64,"icon":28},"Configurer dans Club Admin","\u002Ffr\u002Finterface\u002Fcourts\u002Fintegrations\u002Funifi-access\u002Fclub-admin","fr\u002F1.interface\u002F01.courts\u002F5.integrations\u002F4.unifi-access\u002F4.club-admin",{"title":66,"path":67,"stem":68,"children":69,"icon":71},"Membres","\u002Ffr\u002Finterface\u002Fmembers","fr\u002F1.interface\u002F02.members\u002F1.index",[70],{"title":66,"path":67,"stem":68,"icon":71},"sporty-user-group",{"title":73,"path":74,"stem":75,"children":76,"icon":78},"Adhésions","\u002Ffr\u002Finterface\u002Fmemberships","fr\u002F1.interface\u002F03.memberships\u002F1.index",[77],{"title":73,"path":74,"stem":75,"icon":78},"sporty-id-card",{"title":80,"path":81,"stem":82,"children":83,"icon":85},"Ligues","\u002Ffr\u002Finterface\u002Fleagues","fr\u002F1.interface\u002F04.leagues\u002F1.index",[84,86],{"title":80,"path":81,"stem":82,"icon":85},"sporty-ranking-star",{"title":87,"path":88,"stem":89,"icon":16},"Compétitions planifiées","\u002Ffr\u002Finterface\u002Fleagues\u002Fplanned-competitions","fr\u002F1.interface\u002F04.leagues\u002F2.planned-competitions",{"title":91,"path":92,"stem":93,"children":94,"icon":96},"Tournois","\u002Ffr\u002Finterface\u002Ftournaments","fr\u002F1.interface\u002F05.tournaments\u002F1.index",[95],{"title":91,"path":92,"stem":93,"icon":96},"sporty-trophy",{"title":98,"path":99,"stem":100,"children":101,"icon":104},"Paiements et abonnements","\u002Ffr\u002Finterface\u002Fpayments","fr\u002F1.interface\u002F06.payments\u002F1.index",[102],{"title":103,"path":99,"stem":100,"icon":104},"Paiements","sporty-credit-card",{"title":106,"path":107,"stem":108,"children":109,"icon":111},"Boutique","\u002Ffr\u002Finterface\u002Fshop","fr\u002F1.interface\u002F07.shop\u002F1.index",[110],{"title":106,"path":107,"stem":108,"icon":111},"sporty-bag-shopping",{"title":113,"path":114,"stem":115,"children":116,"icon":118},"Écoles et entraîneurs","\u002Ffr\u002Finterface\u002Fschools","fr\u002F1.interface\u002F08.schools\u002F1.index",[117],{"title":113,"path":114,"stem":115,"icon":118},"sporty-graduation-cap",{"title":120,"path":121,"stem":122,"children":123,"icon":125},"E-mails","\u002Ffr\u002Finterface\u002Femails","fr\u002F1.interface\u002F09.emails\u002F1.index",[124],{"title":120,"path":121,"stem":122,"icon":125},"sporty-envelope",{"title":127,"path":128,"stem":129,"children":130,"icon":132},"Vidéo et caméras","\u002Ffr\u002Finterface\u002Fvideo","fr\u002F1.interface\u002F10.video\u002F1.index",[131,133,137,142],{"title":127,"path":128,"stem":129,"icon":132},"sporty-camera-cctv",{"title":134,"path":135,"stem":136,"icon":132},"Caméras Dahua","\u002Ffr\u002Finterface\u002Fvideo\u002Fdahua","fr\u002F1.interface\u002F10.video\u002F2.dahua",{"title":138,"path":139,"stem":140,"icon":141},"Autres caméras RTMP","\u002Ffr\u002Finterface\u002Fvideo\u002Frtmp","fr\u002F1.interface\u002F10.video\u002F3.rtmp","sporty-video",{"title":143,"path":144,"stem":145,"icon":146},"Analyse des matchs","\u002Ffr\u002Finterface\u002Fvideo\u002Fanalytics","fr\u002F1.interface\u002F10.video\u002F4.analytics","sporty-chart-simple",{"title":148,"path":149,"stem":150,"children":151,"icon":153},"Rapports","\u002Ffr\u002Finterface\u002Freports","fr\u002F1.interface\u002F11.reports\u002F1.index",[152],{"title":148,"path":149,"stem":150,"icon":153},"sporty-chart-mixed",{"title":155,"path":156,"stem":157,"children":158,"icon":60},"Paramètres","\u002Ffr\u002Finterface\u002Fsettings","fr\u002F1.interface\u002F12.settings\u002F1.index",[159,161,165,169],{"title":160,"path":156,"stem":157,"icon":60},"Paramètres du club",{"title":162,"path":163,"stem":164,"icon":16},"Règles de réservation et liste de prix","\u002Ffr\u002Finterface\u002Fsettings\u002Fbooking-rules","fr\u002F1.interface\u002F12.settings\u002F2.booking-rules",{"title":166,"path":167,"stem":168,"icon":78},"Inscription et pages légales","\u002Ffr\u002Finterface\u002Fsettings\u002Fsignup-and-legal","fr\u002F1.interface\u002F12.settings\u002F3.signup-and-legal",{"title":170,"path":171,"stem":172,"icon":173},"Administrateurs et rôles","\u002Ffr\u002Finterface\u002Fsettings\u002Fadministrators-and-roles","fr\u002F1.interface\u002F12.settings\u002F4.administrators-and-roles","sporty-user",{"title":175,"path":176,"stem":177,"children":178,"icon":180},"Publication sur les réseaux sociaux","\u002Ffr\u002Finterface\u002Fsocial","fr\u002F1.interface\u002F13.social\u002F1.index",[179,181],{"title":175,"path":176,"stem":177,"icon":180},"sporty-newspaper",{"title":182,"path":183,"stem":184,"icon":11},"Connecter des canaux","\u002Ffr\u002Finterface\u002Fsocial\u002Fchannels","fr\u002F1.interface\u002F13.social\u002F2.channels",{"title":186,"path":187,"stem":188,"children":189,"icon":28},"Événements à places numérotées","\u002Ffr\u002Finterface\u002Fseated-events","fr\u002F1.interface\u002F14.seated-events\u002F1.index",[190,191,195,199],{"title":186,"path":187,"stem":188,"icon":28},{"title":192,"path":193,"stem":194,"icon":28},"Plans de salle","\u002Ffr\u002Finterface\u002Fseated-events\u002Fseating-plans","fr\u002F1.interface\u002F14.seated-events\u002F2.seating-plans",{"title":196,"path":197,"stem":198,"icon":16},"Vendre des places","\u002Ffr\u002Finterface\u002Fseated-events\u002Fselling-seats","fr\u002F1.interface\u002F14.seated-events\u002F3.selling-seats",{"title":200,"path":201,"stem":202,"icon":39},"En vente et à l'entrée","\u002Ffr\u002Finterface\u002Fseated-events\u002Fon-sale","fr\u002F1.interface\u002F14.seated-events\u002F4.on-sale",{"title":204,"path":205,"stem":206,"children":207,"icon":16},"Abonnements saisonniers","\u002Ffr\u002Finterface\u002Fseason-tickets","fr\u002F1.interface\u002F15.season-tickets\u002F1.index",[208],{"title":204,"path":205,"stem":206,"icon":16},false,{"title":211,"path":212,"stem":213,"children":214,"icon":217},"Site web","\u002Ffr\u002Fwebsite","fr\u002F2.website\u002F1.index",[215,218,223,227,232],{"title":216,"path":212,"stem":213,"icon":217},"Créateur de site web","sporty-browser",{"title":219,"path":220,"stem":221,"icon":222},"Pages, hero et pied de page","\u002Ffr\u002Fwebsite\u002Fpages","fr\u002F2.website\u002F2.pages","sporty-file-lines",{"title":224,"path":225,"stem":226,"icon":180},"Actualités et événements","\u002Ffr\u002Fwebsite\u002Fnews-and-events","fr\u002F2.website\u002F3.news-and-events",{"title":228,"path":229,"stem":230,"icon":231},"Entraîneurs et galerie","\u002Ffr\u002Fwebsite\u002Fcoaches-and-gallery","fr\u002F2.website\u002F4.coaches-and-gallery","sporty-images",{"title":233,"path":234,"stem":235,"icon":236},"FAQ et sponsors","\u002Ffr\u002Fwebsite\u002Ffaq-and-sponsors","fr\u002F2.website\u002F5.faq-and-sponsors","sporty-circle-question",{"title":238,"path":239,"stem":240,"children":241,"icon":173},"Pour les membres","\u002Ffr\u002Fmembers","fr\u002F3.members\u002F1.index",[242,244,248,252,256,260,264,268],{"title":243,"path":239,"stem":240,"icon":173},"Utiliser l'application des membres",{"title":245,"path":246,"stem":247,"icon":16},"Réserver un court","\u002Ffr\u002Fmembers\u002Fbooking","fr\u002F3.members\u002F2.booking",{"title":249,"path":250,"stem":251,"icon":104},"Adhésions et paiements","\u002Ffr\u002Fmembers\u002Fpayments","fr\u002F3.members\u002F3.payments",{"title":253,"path":254,"stem":255,"icon":85},"Comment fonctionnent les compétitions","\u002Ffr\u002Fmembers\u002Fhow-competitions-work","fr\u002F3.members\u002F4.how-competitions-work",{"title":257,"path":258,"stem":259,"icon":96},"Ligues, tournois et résultats","\u002Ffr\u002Fmembers\u002Fcompetitions","fr\u002F3.members\u002F5.competitions",{"title":261,"path":262,"stem":263,"icon":71},"Famille et enfants","\u002Ffr\u002Fmembers\u002Ffamily","fr\u002F3.members\u002F6.family",{"title":265,"path":266,"stem":267,"icon":78},"Votre compte","\u002Ffr\u002Fmembers\u002Faccount","fr\u002F3.members\u002F7.account",{"title":269,"path":270,"stem":271,"icon":236},"Obtenir de l'aide","\u002Ffr\u002Fmembers\u002Fhelp","fr\u002F3.members\u002F8.help",{"title":273,"path":274,"stem":275,"children":276,"icon":278},"OAuth et Se connecter avec Sporty","\u002Ffr\u002Foauth","fr\u002F4.oauth\u002F1.index",[277,279,283,287,291,295,299,303,307],{"title":273,"path":274,"stem":275,"icon":278},"sporty-brackets-curly",{"title":280,"path":281,"stem":282,"icon":278},"Enregistrer une application","\u002Ffr\u002Foauth\u002Fclients","fr\u002F4.oauth\u002F2.clients",{"title":284,"path":285,"stem":286,"icon":278},"Le flux du code d'autorisation","\u002Ffr\u002Foauth\u002Fauthorization-code","fr\u002F4.oauth\u002F3.authorization-code",{"title":288,"path":289,"stem":290,"icon":278},"Scopes","\u002Ffr\u002Foauth\u002Fscopes","fr\u002F4.oauth\u002F4.scopes",{"title":292,"path":293,"stem":294,"icon":278},"Se connecter avec Sporty","\u002Ffr\u002Foauth\u002Fsign-in-with-sporty","fr\u002F4.oauth\u002F5.sign-in-with-sporty",{"title":296,"path":297,"stem":298,"icon":278},"L'API partenaire","\u002Ffr\u002Foauth\u002Fpartner-api","fr\u002F4.oauth\u002F6.partner-api",{"title":300,"path":301,"stem":302,"icon":278},"Synchroniser les réservations","\u002Ffr\u002Foauth\u002Fbooking-sync","fr\u002F4.oauth\u002F7.booking-sync",{"title":304,"path":305,"stem":306,"icon":278},"MCP et clients IA","\u002Ffr\u002Foauth\u002Fmcp-and-ai-clients","fr\u002F4.oauth\u002F8.mcp-and-ai-clients",{"title":308,"path":309,"stem":310,"icon":311},"Paiement par agent","\u002Ffr\u002Foauth\u002Fagent-checkout","fr\u002F4.oauth\u002F9.agent-checkout","sporty-cart-shopping",{"id":313,"title":273,"body":314,"description":624,"extension":625,"links":626,"meta":627,"navigation":628,"path":274,"seo":629,"stem":275,"__hash__":632},"docs_fr\u002Ffr\u002F4.oauth\u002F1.index.md",{"type":315,"value":316,"toc":618},"minimark",[317,321,324,329,411,414,418,425,511,514,552,556,566,577,581,614],[318,319,320],"p",{},"Sporty est un fournisseur OAuth 2.1 et OpenID Connect. Votre application peut demander une\nautorisation à un membre, recevoir un jeton d'accès limité à certains scopes et l'utiliser pour\nlire ce qu'il a accepté de partager — sans jamais voir son mot de passe, et le membre peut\nretirer cet accès à tout moment.",[318,322,323],{},"Tout ici est standard. N'importe quelle bibliothèque cliente OAuth ou OIDC fonctionnera ; vous\nne devriez rien avoir à écrire de spécifique à Sporty.",[325,326,328],"h2",{"id":327},"quel-flux-choisir","Quel flux choisir",[330,331,332,345],"table",{},[333,334,335],"thead",{},[336,337,338,342],"tr",{},[339,340,341],"th",{},"Vous développez",[339,343,344],{},"Utilisez",[346,347,348,360,374,384,398],"tbody",{},[336,349,350,354],{},[351,352,353],"td",{},"Une application web, mobile ou de bureau qui agit pour la personne qui l'utilise",[351,355,356],{},[357,358,359],"strong",{},"Code d'autorisation + PKCE",[336,361,362,365],{},[351,363,364],{},"« Se connecter avec Sporty » — vous avez seulement besoin de savoir qui est la personne",[351,366,367,369,370],{},[357,368,359],{},", avec le scope ",[371,372,373],"code",{},"openid",[336,375,376,379],{},[351,377,378],{},"Une intégration de serveur à serveur qui agit pour un club, sans personne présente",[351,380,381],{},[357,382,383],{},"Identifiants client (client credentials)",[336,385,386,389],{},[351,387,388],{},"Un système de réservation qui garde son planning synchronisé avec celui d'un club",[351,390,391,394,395],{},[357,392,393],{},"Identifiants client",", voir ",[396,397,300],"a",{"href":301},[336,399,400,403],{},[351,401,402],{},"Un agent IA ou un client MCP",[351,404,405,407,408],{},[357,406,359],{},", généralement avec l'",[396,409,410],{"href":305},"enregistrement dynamique",[318,412,413],{},"Il n'y a ni grant par mot de passe ni grant implicite. OAuth 2.1 supprime les deux.",[325,415,417],{"id":416},"points-de-terminaison","Points de terminaison",[318,419,420,421,424],{},"Tout se trouve sur ",[371,422,423],{},"https:\u002F\u002Fapi.sporty.plus",".",[330,426,427,437],{},[333,428,429],{},[336,430,431,434],{},[339,432,433],{},"Usage",[339,435,436],{},"Point de terminaison",[346,438,439,449,459,476,491,501],{},[336,440,441,444],{},[351,442,443],{},"Autorisation",[351,445,446],{},[371,447,448],{},"GET \u002Foauth2\u002Fauthorize",[336,450,451,454],{},[351,452,453],{},"Jeton",[351,455,456],{},[371,457,458],{},"POST \u002Foauth2\u002Ftoken",[336,460,461,471],{},[351,462,463,464,470],{},"Révocation (",[396,465,469],{"href":466,"rel":467},"https:\u002F\u002Fwww.rfc-editor.org\u002Frfc\u002Frfc7009",[468],"nofollow","RFC 7009",")",[351,472,473],{},[371,474,475],{},"POST \u002Foauth2\u002Ftoken\u002Frevoke",[336,477,478,486],{},[351,479,480,481,470],{},"Enregistrement dynamique (",[396,482,485],{"href":483,"rel":484},"https:\u002F\u002Fwww.rfc-editor.org\u002Frfc\u002Frfc7591",[468],"RFC 7591",[351,487,488],{},[371,489,490],{},"POST \u002Foauth2\u002Fregister",[336,492,493,496],{},[351,494,495],{},"UserInfo",[351,497,498],{},[371,499,500],{},"GET \u002Foauth2\u002Fuserinfo",[336,502,503,506],{},[351,504,505],{},"JWKS",[351,507,508],{},[371,509,510],{},"GET \u002Foauth2\u002Fjwks",[318,512,513],{},"Plutôt que de les coder en dur, récupérez l'un des documents de découverte :",[515,516,521],"pre",{"className":517,"code":518,"language":519,"meta":520,"style":520},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","curl https:\u002F\u002Fapi.sporty.plus\u002F.well-known\u002Fopenid-configuration\ncurl https:\u002F\u002Fapi.sporty.plus\u002F.well-known\u002Foauth-authorization-server\ncurl https:\u002F\u002Fapi.sporty.plus\u002F.well-known\u002Foauth-protected-resource\n","bash","",[371,522,523,536,544],{"__ignoreMap":520},[524,525,528,532],"span",{"class":526,"line":527},"line",1,[524,529,531],{"class":530},"sBMFI","curl",[524,533,535],{"class":534},"sfazB"," https:\u002F\u002Fapi.sporty.plus\u002F.well-known\u002Fopenid-configuration\n",[524,537,539,541],{"class":526,"line":538},2,[524,540,531],{"class":530},[524,542,543],{"class":534}," https:\u002F\u002Fapi.sporty.plus\u002F.well-known\u002Foauth-authorization-server\n",[524,545,547,549],{"class":526,"line":546},3,[524,548,531],{"class":530},[524,550,551],{"class":534}," https:\u002F\u002Fapi.sporty.plus\u002F.well-known\u002Foauth-protected-resource\n",[325,553,555],{"id":554},"où-les-jetons-fonctionnent","Où les jetons fonctionnent",[318,557,558,559,562,563,424],{},"Un jeton d'accès s'utilise sur l'",[357,560,561],{},"API partenaire",", ",[371,564,565],{},"https:\u002F\u002Fapi.sporty.plus\u002Fapi\u002Fpartner\u002Fv1",[318,567,568,569,572,573,576],{},"Il ne fonctionnera nulle part ailleurs. En particulier, ",[371,570,571],{},"\u002Fapi\u002Fv3",", l'API qu'utilisent nos\npropres applications, refuse catégoriquement les jetons OAuth et répond ",[371,574,575],{},"403"," avec un message\nqui l'indique. Cette surface est autorisée pour les personnes qui utilisent notre propre\ninterface, pas pour des applications agissant en leur nom, et y laisser entrer un jeton\naccorderait bien plus que ce que décrit n'importe quel écran de consentement.",[325,578,580],{"id":579},"pour-aller-plus-loin","Pour aller plus loin",[582,583,584,589,594,598,602,606,610],"ul",{},[585,586,587],"li",{},[396,588,280],{"href":281},[585,590,591],{},[396,592,593],{"href":285},"Le flux du code d'autorisation, étape par étape",[585,595,596],{},[396,597,288],{"href":289},[585,599,600],{},[396,601,292],{"href":293},[585,603,604],{},[396,605,296],{"href":297},[585,607,608],{},[396,609,300],{"href":301},[585,611,612],{},[396,613,304],{"href":305},[615,616,617],"style",{},"html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":520,"searchDepth":538,"depth":538,"links":619},[620,621,622,623],{"id":327,"depth":538,"text":328},{"id":416,"depth":538,"text":417},{"id":554,"depth":538,"text":555},{"id":579,"depth":538,"text":580},"Permettez aux utilisateurs de connecter votre application à leur compte Sporty, avec leur accord et rien de plus.","md",null,{},{"icon":278},{"title":630,"description":631},"OAuth 2.1 et OpenID Connect chez Sporty","Code d'autorisation avec PKCE, jetons de rafraîchissement, identifiants client et OpenID Connect sur api.sporty.plus.","IAb3rhWiuBVBZG3lchxHogfFTaQqIUae0_ugcu87YOk",[634,636],{"title":269,"path":270,"stem":271,"description":635,"icon":236,"children":-1},"Comment les membres signalent un problème à leur club ou à SportyPlus, et réponses aux questions fréquentes des membres.",{"title":280,"path":281,"stem":282,"description":637,"icon":278,"children":-1},"Comment obtenir un client id, à quoi peut ressembler une URI de redirection, et ce que signifie « en attente de validation ».",1792420861974]