Intermédiaire·2 min·26 août 2026

EVE Online migre de Python 2 après 16 ans : le chantier géant commence

🎧 Résumé audio0:00 / 0:00
Le plus vieux MMO du monde quitte enfin Python 2.7. Mais 2,4 millions de lignes attendent.
EVE Online migre de Python 2 après 16 ans : le chantier géant commence

Pourquoi ça compte pour toi

C'est un cas d'école pour comprendre pourquoi les migrations techniques prennent des années, même quand c'est urgent. EVE Online a repoussé ce chantier 16 ans — et ça va être brutal. Si tu bosses sur un vieux système, tu reconnaîtras les mêmes pièges.

Ce qu'il faut retenir

  • 1.EVE Online a tourné sur Stackless Python depuis 2003 (23 ans sans changement majeur)
  • 2.La migration vers Python 3 va passer au crible 2,4 millions de lignes, puis revoir manuellement ~20 000 différences de comportement entre les versions
  • 3.Piège classique : 1/2 = 0 en Python 2, mais 0.5 en Python 3 — des bugs invisibles à la première lecture
  • 4.CCP Games a déjà remplacé Stackless dans EVE Frontier (leur nouveau moteur) ; la stratégie pour l'ancien jeu n'est pas encore arrêtée

Tu galères avec le jargon ?

Lis la version réécrite en mode débutant — toutes les idées, sans le jargon.

Pourquoi ça a pris si longtemps ?

Stackless Python n'est pas du Python standard. C'est une variante créée pour les jeux massivement multijoueurs, optimisée pour gérer des milliers de connexions simultanées sans les limitations du Python classique. Une fois qu'on choisit cette voie, on s'enferme dedans — et c'est exactement ce qui s'est passé.

Le dernier grand changement de version date de 2010 (Python 2.7). Depuis, l'écosystème Python s'est modernisé, mais EVE Online était coincée, avec 2,4 millions de lignes de code écrit pour une version vieille de 16 ans.

Le vrai problème : les pièges invisibles

La migration ne se fait pas juste en relançant un script. Oui, CCP utilise futurize pour faire une conversion automatique. Mais ensuite, il faut revoir environ 20 000 endroits où Python 2 et Python 3 se comportent différemment.

L'exemple qu'ils donnent ? La division entière. En Python 2 : 1 / 2 = 0. En Python 3 : 1 / 2 = 0.5. Si ton code dépend de cette bizarrerie, tu vas créer des bugs qu'aucun outil automatique ne détectera. Ils y passeront des mois en revue manuelle.

Et Stackless ? Mystère

Ce qui frappe, c'est que l'annonce ne dit rien sur la stratégie pour remplacer Stackless lui-même. CCP Games a déjà résolu ce problème une fois — pour EVE Frontier (leur nouveau jeu sorti récemment), ils ont construit un moteur en Carbon et remplacé Stackless avec leur propre bibliothèque d'ordonnancement, qu'ils ont rendue publique en open source.

Mais pour l'ancien EVE Online, rien de précisé. Vont-ils utiliser la même approche ? Passer à asyncio natif ? Attendre ?

Ce silence est révélateur : même dans une grosse boîte, les migrations techniques c'est du bricolage. Tu gères avec ce que tu as, tu corriges les urgences en priorité, et tu trouves des solutions au fur et à mesure.

Et concrètement pour toi ?

Choisis ton profil — la lecture de l'article change selon qui tu es.

🔭 Curieux

Pour toi, EVE Online est un excellent exemple de dette technique : chaque année qu'on repousse une mise à jour, on accumule du risque invisible. 2,4 millions de lignes de code, c'est comme ne pas rénover une maison pendant 16 ans — au final, tu dois tout refaire, pas juste le toit.

Newsletters Noésis

3 minutes d'IA dans ta boîte mail, chaque matin.

Rejoins les francophones qui comprennent, essaient et progressent avec l'IA. Choisis ce que tu veux recevoir. Désabonnement en 1 clic.

Explorer les thèmes de cet article :