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.
- Choisis ton rôle en haut : « Je joue ADC » ou « Je joue Support ».
- 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…).
- 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.
- 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.
- 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ère | Points | Ce qui compte |
|---|---|---|
| Force méta | −4 à +10 | Le 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 / −7 | Tu fais partie des champions qui battent le plus souvent ton adversaire direct, ou l'inverse. |
| Matchups connus | +5 / −5 | Des cas classiques, par exemple le Bouclier noir de Morgana contre un hook. |
| Face à face en lane | −5 à +4 | Porté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 à +3 | Plongeurs adverses, tanks, poke, équilibre AP/AD de ton équipe, manque de frontline ou d'engage. |
| Ton main | +4 | Le 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 :
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.
| Champ | Format | Rô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, scope | texte | D'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
| Profil | Clé | Sens |
|---|---|---|
| ADC | r | Portée : 1 courte, 2 moyenne, 3 longue. |
e, s, m | Force en early, scaling, mobilité, de 1 à 5. | |
k | Style : hyper (hypercarry), bully (lane forte), allin, poke, util (utilitaire), ap (mage bot). | |
proj, tank | 1 si ses dégâts passent par des projectiles, 1 si elle fait fondre les tanks. | |
ww, ss | 1 si elle a un mur ou un W qui bloque les projectiles, 1 si elle peut annuler un engage. | |
| Support | a | Archétype : engage, hook, enchant, mage, warden (gardien). |
lane, peel, eng | Pression de lane et peel de 1 à 5, engage de 0 à 5. | |
heal, proj | 1 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.
scripts/sources/<nom>.mjs, patch courant lu sur Data Dragondata.json, seulement si les stats ont changé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
- Copie
scripts/sources/_template.mjsenscripts/sources/<nom>.mjset implémentefetchStats. Elle reçoit le patch et la liste des champions, et renvoieMETAetCOUNTERSau format ci-dessus. - Si la source demande une clé, enregistre-la comme secret
STATS_API_KEY: Settings, puis Secrets and variables, puis Actions. - Crée la variable de dépôt
STATS_SOURCEavec le nom du module. - 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/.
| Fichier | Contenu |
|---|---|
index.html | L'appli : interface, moteur de notes, icônes, liste des champions. |
data.json | Donné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.