BotlaneDraftDocumentation Ouvrir l'appli

Comment marche Botlane Draft

Botlane Draft te dit quel ADC ou quel support prendre pendant ta draft League of Legends. Il note chaque champion selon la méta du patch, les matchups, la synergie avec ton duo et la compo des deux équipes.

Utiliser l'appli Joueurs

Tout se passe sur une seule page, et rien n'est envoyé nulle part : tes champions et ta draft restent enregistrés sur ton appareil.

  1. Choisis ton rôle en haut : « Je joue ADC » ou « Je joue Support ».
  2. Remplis la draft au fur et à mesure des picks. Touche une case, tape le début d'un nom puis Entrée pour prendre le premier résultat. Les abréviations courantes marchent (mf, naut, blitz, j4…).
  3. Ajoute ton pool avec « Mes champions ». L'étoile ★ marque un main, qui reçoit un bonus de confort. L'onglet « Mon duo » sert à saisir les champions de ton pote.
  4. Lis le verdict. La grande carte donne le meilleur choix et ses raisons. En dessous : les meilleurs duos de vos deux pools, ton pool classé, puis un plan de lane et des conseils contre les champions d'en face.
  5. Ouvre « Top, jungle et mid » pour affiner avec toute la compo. Les conseils sur les dégâts AP/AD, les plongeurs, les tanks, les soins et le poke en dépendent.

La Roulette tire un champion ou un duo au hasard : dans ton pool, dans tout le rôle, dans vos deux pools, ou dans tout le roster. Le bouton Thème alterne entre le thème de l'appareil, clair et sombre.

Comment la note est calculée Joueurs

Chaque champion part de 50. Chaque critère ajoute ou retire des points, et le total est multiplié par 1,15 puis borné entre 5 et 99. Les raisons affichées sous le verdict sont les critères qui pèsent le plus.

note = 50 + 1,15 × (somme des points)      bornée entre 5 et 99

Les critères

CritèrePointsCe qui compte
Force méta−4 à +10Le score de tier du patch, plus 1,2 point par point de winrate au-dessus de 50 % (en moins en dessous). Un champion rarement joué dans le rôle prend −3.
Stats de matchup+7 / −7Tu fais partie des champions qui battent le plus souvent ton adversaire direct, ou l'inverse.
Matchups connus+5 / −5Des cas classiques, par exemple le Bouclier noir de Morgana contre un hook.
Face à face en lane−5 à +4Portée, force en début de partie contre scaling, mobilité face à un engage, murs qui bloquent les projectiles. Pour un support : l'archétype contre celui d'en face et la pression de lane.
Synergie de duo−2 à +6+6 pour un duo éprouvé ce patch. Sinon le style : un engage avec une ADC all-in, un enchanteur avec un hypercarry, un gardien avec une ADC sans dash.
Compo des équipes−3 à +3Plongeurs adverses, tanks, poke, équilibre AP/AD de ton équipe, manque de frontline ou d'engage.
Ton main+4Le confort compte : un champion marqué ★ dans ton pool.

La note d'un duo est la moyenne de la note de l'ADC, calculée avec ce support à ses côtés, et de la note du support, calculée avec cette ADC. Les petits chiffres à droite d'un duo sont ces deux notes.

Tiers et étiquettes

Le tier vient du score méta du patch :

S+≥ 64S≥ 58,5A≥ 50B≥ 41,5C≥ 36Den dessous

L'étiquette sous le nom vient de la note finale : Pick idéal dès 80, Très bon choix dès 68, Solide dès 55, Jouable dès 42, Risqué en dessous.

Le plan de lane compare la force en début de partie des deux duos : l'early de l'ADC plus la pression de lane du support. Un écart de 2 points ou plus donne un plan agressif ou prudent.

C'est un guide, pas une vérité absolue. Le détail exact de chaque règle se trouve dans les fonctions scoreADC, scoreSUP et compoPts de index.html.

Les données : data.json Maintenance

Tout ce qui bouge avec le patch vit dans data.json, que la page charge au démarrage. Le reste est dans index.html.

ChampFormatRôle
patch"26.19"Patch des stats, affiché dans l'en-tête.
updated"2026-09-24"Date du relevé, affichée en bas de page.
source, scopetexteD'où viennent les stats, sur quelles élos.
notesPatch"26.19"Patch des notes de PATCH_NOTES. S'il diffère de patch, l'appli écrit « Ce qui a changé au patch … ».
META{adc: {Id: [score, winrate]}, sup: {…}}Score de tier (échelle METAsrc, environ 36 à 67) et winrate en %.
COUNTERS{adc: {Id: [Id, …]}, sup: {…}}Pour chaque champion, ceux du même rôle qui le battent le plus souvent.
ADC{Id: {r, e, s, m, k, …}}Profil de chaque ADC proposée (voir ci-dessous).
SUP{Id: {a, lane, peel, eng, …}}Profil de chaque support proposé.
DUOS["Caitlyn|Lux", …]Duos éprouvés, format ADC|Support.
TIPS{Id: "conseil"}Le conseil affiché contre ce champion.
PATCH_NOTES[[nom, type, texte], …]Type : buff, nerf, mixte ou changement.

Les identifiants sont ceux de Riot (Data Dragon) : MissFortune, Kaisa, TahmKench… Seuls les champions qui ont un profil ADC ou SUP sont proposés ; un champion sans stats META est affiché « hors méta ».

Codes des profils

ProfilCléSens
ADCrPortée : 1 courte, 2 moyenne, 3 longue.
e, s, mForce en early, scaling, mobilité, de 1 à 5.
kStyle : hyper (hypercarry), bully (lane forte), allin, poke, util (utilitaire), ap (mage bot).
proj, tank1 si ses dégâts passent par des projectiles, 1 si elle fait fondre les tanks.
ww, ss1 si elle a un mur ou un W qui bloque les projectiles, 1 si elle peut annuler un engage.
SupportaArchétype : engage, hook, enchant, mage, warden (gardien).
lane, peel, engPression de lane et peel de 1 à 5, engage de 0 à 5.
heal, proj1 s'il soigne, 1 s'il dépend de skillshots.

Ce qui reste dans index.html

La liste des champions (CHAMPS), leurs icônes en base64 (ICONS, Data Dragon 16.19.1), les matchups connus (KNOWN) et les listes de compo (DIVE, TANKY, HEALS, POKE, ENGAGE, AP_EXTRA, AD_OVERRIDE). Un nouveau champion doit y être ajouté avant d'apparaître dans data.json.

Modifier les données à la main

Édite data.json, vérifie-le, puis publie. Le workflow de publication refuse un fichier invalide.

node scripts/validate-data.mjs     # erreurs = bloquant, avertissements = à regarder
./deploy.sh

Mise à jour hebdomadaire des stats Maintenance

Une GitHub Action remplace META et COUNTERS par les stats du patch en cours, puis republie le site. Profils, duos, conseils et patch notes restent écrits à la main.

Aucune source n'est branchée pour l'instant. Les grands sites de stats interdisent l'extraction automatique dans leurs conditions d'utilisation, donc le choix de la source reste à faire. Tant que la variable STATS_SOURCE est vide, l'Action tourne sans rien modifier.

Brancher une source

  1. Copie scripts/sources/_template.mjs en scripts/sources/<nom>.mjs et implémente fetchStats. Elle reçoit le patch et la liste des champions, et renvoie META et COUNTERS au format ci-dessus.
  2. Si la source demande une clé, enregistre-la comme secret STATS_API_KEY : Settings, puis Secrets and variables, puis Actions.
  3. Crée la variable de dépôt STATS_SOURCE avec le nom du module.
  4. Lance une simulation pour voir le résultat sans rien committer :
gh workflow run update-stats.yml -f dry_run=true
gh run watch

Le résumé du run liste les champions entrés ou sortis, les plus gros écarts de score et les counters modifiés. Les scores doivent rester sur l'échelle de l'appli (environ 36 à 67), sinon les tiers se décalent : c'est au module de convertir.

GitHub désactive les tâches planifiées d'un dépôt public après 60 jours sans activité. Si ça arrive, réactive-la dans l'onglet Actions.

Développer et publier Maintenance

Lancer en local

Ouverte directement depuis le disque (file://), la page ne peut pas lire data.json. Lance un petit serveur dans le dossier :

python3 -m http.server 8000        # puis http://localhost:8000

Tests

node --test "scripts/**/*.test.mjs"
node scripts/validate-data.mjs

Ils tournent aussi avant chaque publication. Les tests couvrent la validation de data.json, la mise à jour des stats (source absente, stats identiques, résultat tronqué, champion inconnu).

Publier

./deploy.sh crée le dépôt public lol-draft au premier lancement, active GitHub Pages en mode « GitHub Actions » et pousse. Ensuite, il committe et pousse les changements. Le workflow « Publier le site » teste, vérifie data.json puis publie index.html, data.json et docs/.

FichierContenu
index.htmlL'appli : interface, moteur de notes, icônes, liste des champions.
data.jsonDonnées du patch.
docs/Cette page.
scripts/Validation, mise à jour des stats, modèle de source, tests.
.github/workflows/pages.yml (publication), update-stats.yml (stats hebdo).

Mentions

Stats : voir la source et la date en bas de l'appli. Patch notes : notes officielles de Riot Games. Icônes et liste des champions : Data Dragon de Riot Games.

Botlane Draft n'est pas approuvé par Riot Games et ne reflète pas les opinions de Riot Games ni de quiconque officiellement impliqué dans la production ou la gestion des propriétés de Riot Games. Riot Games et toutes les propriétés associées sont des marques commerciales ou déposées de Riot Games, Inc.

Botlane Draft isn't endorsed by Riot Games and doesn't reflect the views or opinions of Riot Games or anyone officially involved in producing or managing Riot Games properties. Riot Games, and all associated properties are trademarks or registered trademarks of Riot Games, Inc.