05 / API RIOT GAMESCe que DRAFT demande à Riot, et pourquoi.
Le classement de base fonctionne sans aucune requête à Riot. L'API officielle sert à trois fonctions facultatives, toujours lancées par l'utilisateur depuis les réglages ou le menu de l'icône. Elles sont décrites telles qu'elles fonctionnent dans la version 2.16 bêta.
1 · HISTORIQUE PERSONNELImporter ses parties classées
L'utilisateur saisit un ou plusieurs Riot ID, sa région et le nombre de parties à lire (100, 200 ou 500 par import). L'outil est prévu pour ses propres comptes ; en bêta, rien ne vérifie qu'ils lui appartiennent (voir Riot Sign On plus bas).
ACCOUNT-V1 /riot/account/v1/accounts/by-riot-id/{gameName}/{tagLine}MATCH-V5 /lol/match/v5/matches/by-puuid/{puuid}/ids?queue=420MATCH-V5 /lol/match/v5/matches/{matchId}
Conservé sur le PC, jusqu'à suppression : Riot ID saisi ; pour chaque partie classée solo/duo de plus de 5 minutes, son identifiant, sa date, le patch, la durée, le champion, le poste, le résultat, le K/D/A et les champions adverses. Aucun nom ni identifiant d'un autre joueur.
Affiché : champions les plus joués et bilans dans l'onglet Parties.
2 · RÔLES PAR CHAMPIONStatistiques agrégées
Pour deviner le rôle des champions adverses, en particulier le mid, DRAFT compte les postes joués sur environ 1 000 parties classées récentes (14 derniers jours). Durée : environ 40 minutes.
LEAGUE-EXP-V4 /lol/league-exp/v4/entries/RANKED_SOLO_5x5/{tier}/II?page=1 — Argent à Émeraude, point de départMATCH-V5 listes (5 parties par joueur) et détails des parties
Conservé : des compteurs champion × poste par patch, les identifiants des parties déjà lues et quelques compositions (champions seulement) qui servent à mesurer la justesse des suppositions. Les joueurs de départ restent en mémoire, jamais enregistrés.
3 · MATCHUPS DU POOLBilans contre l'adversaire direct
Pour le critère « matchup direct », DRAFT mesure les bilans des champions du pool contre leur adversaire de même poste, sur les 30 derniers jours. Il part des mêmes listes, puis suit, en mémoire, des joueurs qui jouent ces champions. Au plus 3 000 requêtes, environ 65 minutes.
LEAGUE-EXP-V4 même point de départ que ci-dessusMATCH-V5 listes et détails de parties classées solo/duo
Conservé : victoires et parties par champion du pool et par adversaire, par patch, et les identifiants des parties lues. Sous 30 parties pour un matchup, le bilan n'est pas utilisé et le tableau écrit à la main reste la référence.
Clé jamais exposéeEn bêta, chaque utilisateur saisit sa propre clé de développement. Elle est masquée à la saisie, envoyée uniquement à Riot dans l'en-tête X-Riot-Token, jamais dans une adresse, et n'est ni enregistrée ni journalisée.
Limites respectéesUne requête toutes les 1,3 seconde au plus, sous la limite d'une clé personnelle (100 requêtes par 2 minutes). Sur une réponse 429, DRAFT attend le délai Retry-After. Sur 401 ou 403, il s'arrête.
Rien en doubleLes parties déjà lues ne sont jamais redemandées. Un calcul de rôles récent (moins de 3 jours) n'est pas relancé, et un import suivant reprend là où le précédent s'est arrêté.
CE N'EST PAS L'API RIOT DEVELOPERLecture du client (LCU) Expérimental · désactivée par défaut
L'API locale du client League of Legends tourne sur le PC du joueur : ce n'est pas l'API publique Riot Developer, et Riot indique qu'elle n'est pas officiellement prise en charge pour les applications tierces. Si l'utilisateur l'active, DRAFT envoie uniquement des requêtes de lecture (GET) à deux adresses locales : /lol-gameflow/v1/gameflow-phase et /lol-champ-select/v1/session. Il en retient la phase, les champions adverses déjà verrouillés et le poste attribué au joueur. Il ignore les noms, les identifiants, les survols, les choix alliés et les bans. Cet usage sera déclaré dans la demande d'enregistrement auprès de Riot.
DONNÉES STATIQUESData Dragon
Les illustrations des champions et la liste des versions sont chargées depuis ddragon.leagueoflegends.com, le service de contenu statique de Riot. Aucune clé n'est nécessaire.
ARCHITECTURE ENVISAGÉE AVEC UNE CLÉ DE PRODUCTION · PAS ENCORE CONSTRUITEUne clé de production ne peut pas être intégrée à une application distribuée. Le projet prévoit donc un serveur DRAFT qui garderait la clé, calculerait une seule fois les statistiques agrégées (rôles et matchups) et les distribuerait sous forme de compteurs anonymes. L'application n'aurait plus besoin d'aucune clé, et le nombre total de requêtes envoyées à Riot baisserait fortement. L'import de l'historique personnel passerait par Riot Sign On, pour que chacun n'importe que ses propres comptes.