Système en ligne //Gadzyo //Dév · Systèmes & IA //gadzyo.dev
Étude de cas · Projet phare

GeoCountry

Une simulation géopolitique en temps réel sur Discord. Une centaine de pays, une économie vivante, un Conseil de Sécurité de l'ONU — le tout déployé en continu.

Versionv0.12.0 — en production
DéploiementVPS Linux · systemd · 24/7
LangagePython · discord.py
DonnéesSQLite
Commandes~100
Pays modélisés~100
01

Le concept

Les joueurs incarnent un pays et le pilotent : économie nationale (PIB, budgets, dépenses obligatoires), diplomatie, et siège au Conseil de Sécurité de l'ONU où l'on dépose et vote des résolutions. Un calendrier de jeu automatique fait avancer le temps, un tableau de bord par pays restitue l'état de la nation.

Ce n'est pas un projet-tutoriel ni une démo jetable : c'est une application réelle, déployée et utilisée, avec une base de données vivante et une centaine de commandes.

02

Le tableau de bord

geocountry · tableau de bord économique
~/geocountry $ country --budget CN --show economy
Tableau de bord budgétaire d'un pays dans GeoCountry

FIG. 01 — Budget national généré en direct : PIB, dépenses obligatoires, solde, statut au Conseil de Sécurité.

03

L'architecture

Une séparation nette des responsabilités — pour rester maintenable à mesure que le projet grossit.

Présentation
Commandes Discord, embeds et boutons interactifs — ce que le joueur voit et manipule.
Service
La logique de jeu : économie, votes, résolutions, calendrier. Le cœur des règles.
Données
Base SQLite, avec des migrations de schéma appliquées en production sans interruption.
04

La stack

Python
discord.py
SQLite
Linux / systemd
VPS
Git
05

Défis de production résolus

Les vrais problèmes — ceux qui n'arrivent qu'avec de vrais utilisateurs.

01

Concurrence sur les votes

Des votes simultanés au Conseil de Sécurité créaient des incohérences. Bug de concurrence identifié, compris et corrigé — le genre de problème qui n'existe que sous charge réelle.

02

Migrations sans coupure

Faire évoluer le schéma de la base alors que le service tourne 24/7, sans perdre de données ni interrompre la partie en cours.

03

Sécurité anti-raid

Défense en profondeur : gestion fine des permissions et protections contre les abus, pour garder le serveur et les données sains.

04

Livrer une feature complète

Le module « Cockpit » conçu, découpé et livré en une seule session — 10 commits, une intention par commit. Savoir finir ce qu'on commence.

06

Roadmap

Le cœur est livré et stable. La V1 se construit par chantiers, du plus proche au plus lointain.

Note : le dépôt complet reste privé (sécurité & logique de jeu). Un dépôt public présentable est en préparation.