YGO Mada Plateforme communautaire pour l'écosystème Yu-Gi-Oh! Madagascar
Plateforme web complète pour l'écosystème Yu-Gi-Oh! à Madagascar. Gestion de tournois, classements, decklists, base de cartes synchronisée, laboratoire de decks et module de transparence financière.
Contexte & problème
La communauté Yu-Gi-Oh! à Madagascar existait, mais fonctionnait sans infrastructure numérique. Les tournois s'organisaient par messages, les scores se saisissaient à la main, les classements n'existaient pas, les finances de l'association étaient opaques pour les membres.
Le projet YGO Mada naît d'un besoin réel et d'une ambition précise : structurer un circuit compétitif officiel — le MDTS Circuit Madagascar — capable d'envoyer le champion national au World Championship Qualifier en Afrique du Sud. Une plateforme numérique n'est pas un bonus. C'est la condition pour que le circuit existe et soit crédible.
7 modules métier interconnectés
YGO Mada n'est pas un site vitrine. C'est une plateforme opérationnelle dont chaque module répond à un besoin métier précis, tous reliés par un système de points et un profil utilisateur central.
Tournois physiques
App tournamentsLe cœur du circuit MDTS. Création de tournois par tier et format (OCG/TCG), inscriptions et gestion de présence, génération automatique des rondes Swiss, Top Cut optionnel, calcul des standings avec OMW% (Opponent Match Win), attribution automatique des points de classement à la finalisation. Archives complètes, historique des champions, gestion des saisons.
Arena — Tournois en ligne
App arenaTournois informels sur Edopro ou Master Duel, sans déplacement. Mécanisme de soumission croisée des scores : validation automatique si les deux joueurs rapportent le même résultat, sinon signalement d'un litige. Deadlines de ronde avec double loss automatique en cas de dépassement. Decklists en ligne consultables.
Grimoire — Base de cartes
App carddb14 000+ cartes synchronisées depuis l'API YGOProDeck, avec noms en français et métadonnées en anglais. Téléchargement lazy des images. Synchronisation automatique en tâche de fond si la dernière sync date de plus de 48h. Filtrage par archétype (500+ listes), par extension TCG (2002–2025), recherche textuelle. Pagination sur 237 pages.
Labo — Deck builder
App laboEspace personnel de construction de decks. Deck builder web interactif avec recherche de cartes via API interne, import de fichiers .ydk (format standard Yu-Gi-Oh! numérique), tagging des cartes, endpoints d'optimisation et sauvegarde AJAX. Accessible après authentification.
Galerie communautaire
App galleryUpload de photos par les membres, modération avant publication, likes, commentaires avec réponses. Quotas et contraintes de taille configurables. Archive des meilleurs moments du circuit.
Transparence financière
App financesPublication des comptes publics en temps réel, tableau de bord du trésorier, suivi de la cagnotte WCQ par ville (Antananarivo, Antsiranana, Mahajanga, Toamasina), ledger transactionnel complet.
Classement & Comptes joueurs
App users + coreModèle utilisateur personnalisé basé sur le pseudo (pas l'email). Accumulation de ranking_points tournoi par tournoi. Profil public avec avatar, bio, nom Facebook. Classement global en temps réel — le top du "Panthéon" visible sur la homepage. Login, logout, reset password.
Architecture modulaire
Chaque domaine métier est une app Django indépendante. Elles partagent le modèle utilisateur central et communiquent via les signaux et les relations FK, sans couplage fort — ce qui permet de faire évoluer un module sans impacter les autres.
ygomada/ ├── mds_project/ # settings, urls, middleware ├── core/ # homepage, classement, pages institutionnelles ├── users/ # authentification et profils ├── tournaments/ # tournois physiques, standings, decklists, saisons ├── arena/ # tournois en ligne (Edopro / Master Duel) ├── carddb/ # base cartes — sync YGOProDeck + middleware auto ├── labo/ # deck builder web + import .ydk ├── gallery/ # galerie communautaire avec modération └── finances/ # transactions, caisses, cagnotte WCQ
Middleware — mds_project
Force la revalidation des pages HTML et media côté navigateur — évite les affichages obsolètes après mise à jour des données de tournoi.
Middleware — carddb
Déclenche une synchronisation des cartes en thread daemon sur les pages
/cards/ si la dernière sync date de plus de 48h.
Zéro intervention manuelle nécessaire.
Stack technique
Python 3.11
Backend
Django 5.2
Framework web
MySQL
Production
SQLite
Dev local
Bootstrap 5
Frontend
JavaScript
Interactivité
Nginx
Reverse proxy
Git
Versioning
Linux
Serveur OVH
YGOProDeck
Base de cartes
Résultats
Plateforme en production sur www.ygomada.mg — accessible publiquement.
60+ duellistes inscrits, 25+ tournois organisés et archivés, classement officiel en temps réel.
Plus d'1 million Ar de prize pool accumulé pour envoyer le champion national au WCQ en Afrique du Sud.
Finances publiques entièrement transparentes — chaque transaction consultable par les membres.
Base de cartes de 14 000+ entrées maintenue automatiquement, sans intervention manuelle.
Partenariats avec 5 sponsors locaux (IKM, MangaXManga, Aegyo Show, Mega Madagame, Clikeko Store).
Voir la plateforme en action
7 modules interconnectés, 60+ joueurs, 25+ tournois archivés — tout est consultable en production.