Aller au contenu principal
En production Django 5.2 MySQL API REST

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.

60+
Duellistes inscrits
25+
Tournois organisés
14 000+
Cartes synchronisées
7
Modules métier
01

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.

www.ygomada.mg
YGO Mada — Page d'accueil
02

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 tournaments

Le 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.

Swiss rounds Top Cut Standings OMW% Decklists Saisons Archives
YGO Mada — Standings & résultats de tournoi

Arena — Tournois en ligne

App arena

Tournois 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.

Score croisé Deadlines auto Edopro / Master Duel Decklists en ligne

Grimoire — Base de cartes

App carddb

14 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.

API YGOProDeck 14 000+ cartes Lazy loading Sync auto 48h 500+ archétypes
YGO Mada — Grimoire / Base de cartes

Labo — Deck builder

App labo

Espace 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.

Deck builder web Import .ydk API interne Sauvegarde AJAX Tagging

Galerie communautaire

App gallery

Upload 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.

Modération Likes & commentaires Quotas

Transparence financière

App finances

Publication 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.

Comptes publics Cagnotte WCQ 4 villes

Classement & Comptes joueurs

App users + core

Modè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.

Pseudo-based auth Ranking points Profil public Classement live
03

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.

04

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

API

YGOProDeck

Base de cartes

05

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).

YGO Mada — Classement MDTS YGO Mada — Finances publiques

Voir la plateforme en action

7 modules interconnectés, 60+ joueurs, 25+ tournois archivés — tout est consultable en production.