À propos du projet
Le But du Projet
Ce projet est un générateur de build aléatoire pour League of Legends. L'objectif est de proposer aux joueurs des combinaisons inattendues (champion, sorts d'invocateur, runes et objets) pour pimenter leurs parties entre amis ou relever de nouveaux défis. Le générateur inclut un sélecteur de rôle permettant d'adapter intelligemment les builds (par exemple, forcer le Châtiment en Jungle ou ajuster le nombre d'objets pour les Supports).
Comment ça fonctionne ?
L'application est directement connectée à Data Dragon, l'API officielle de Riot Games. Cela signifie que le générateur est toujours à jour avec le dernier patch du jeu. À chaque clic, le script JavaScript interroge les serveurs de Riot pour récupérer les données brutes et les assemble aléatoirement pour créer un build complet.
Le défi technique : Le nettoyage des données
Travailler avec une API en conditions réelles implique souvent de devoir "nettoyer" les données. La base de données d'objets de League of Legends contient de nombreux vestiges : anciens objets supprimés, variantes liées à des modes de jeu temporaires (Arena, Essaim, ARAM) ou doublons cachés.
Pour garantir que le joueur obtienne un build 100% valide et jouable sur la Faille de l'Invocateur, j'ai développé un algorithme de filtrage strict combiné à une Blacklist par ID dynamique. Ce système traque et élimine les anomalies (comme les multiples versions du Bouclier de roche en fusion ou l'Épée du divin) et s'assure que l'inventaire généré respecte les règles du jeu (une seule paire de bottes, objets finaux uniquement).
Technologies utilisées (Stack)
- HTML5 & CSS3 : Structure sémantique et design responsive via Tailwind CSS.
- Vanilla JavaScript (ES6+) : Architecture MVC, POO avec héritage, manipulation du DOM et modules ES6.
- API Asynchrone : Utilisation de
fetch, desPromisesetasync/awaitpour interroger les serveurs en temps réel. - html2canvas : Librairie externe pour capturer le DOM et générer une image téléchargeable du build.
- LocalStorage : Persistance de l'historique des 5 derniers builds entre les sessions.
Évolutions futures (Roadmap)
Après avoir implémenté le système de rôles, la page ARAM, l'historique et les filtres avancés, voici les prochaines idées :
- Mode Arène : Un générateur dédié au mode Arena avec ses propres règles d'objets.
- Partage de lien : Générer une URL unique pour partager un build spécifique.
À propos de l'auteur
Je suis Faonpingoin634, développeur et joueur de League of Legends. J'ai créé ce projet pour lier ma passion du jeu vidéo à mon apprentissage de la programmation, notamment pour m'entraîner à manipuler des API, des algorithmes de tri en JavaScript, et l'intégration de librairies tierces.