veilletech.fr
26 août Feed du jour
#04 PYTHON Article

EVE Online quitte Python 2, seize ans après

La dette technique ne fait pas de bruit — elle fait juste grossir la facture.

EVE Online, lancé en 2003 sur Stackless Python et figé sur la version 2.7 depuis 2010, commence sa migration vers Python 3. Les premiers changements sont déployés en production. L'argument principal n'est pas la performance mais l'écosystème : outillage, bibliothèques et profileurs ont quitté Python 2 depuis longtemps.

3 min de lecturevidéo 1:12
Partager
Sommaire5 sections
  1. Ce qui se passe
  2. Pourquoi ils bougent maintenant
  3. La difficulté réelle
  4. Ce que ça change pour vous
  5. À retenir

Ce qui se passe

EVE Online a annoncé le début de sa migration vers Python 3. Les premiers changements, testés sur le serveur public d'essai Singularity, sont déjà déployés en production.

Le contexte donne la mesure du chantier. Le jeu est lancé en 2003 sur Stackless Python, une variante dont les tasklets légers permettaient à un seul nœud serveur de gérer des milliers de joueurs simultanés — l'éditeur en est d'ailleurs devenu l'un des principaux contributeurs. Dernière montée de version : Stackless Python 2.7, en 2010. Depuis, rien. Python 2.7 est en fin de vie depuis 2020.

Seize ans sur la même version d'un langage, pour une base de code qui en compte vingt-trois.

Pourquoi ils bougent maintenant

Les raisons avancées ne sont pas idéologiques, et elles sont transposables à n'importe quel projet qui traîne une version :

La difficulté réelle

Elle n'est pas dans la syntaxe. Chaque personnage, chaque point de compétence, chaque objet en hangar, chaque ISK en portefeuille a été écrit par du code Python 2 — et tout doit se relire à l'identique sous Python 3. C'est un problème de sérialisation et de compatibilité de données, pas de print.

Ce qui rend l'annonce crédible plutôt qu'optimiste : le moteur Carbon tourne déjà sur Python 3 moderne dans EVE Frontier, l'autre jeu du studio. Cette migration-là a franchi douze versions mineures d'un coup, soit seize ans d'évolution du langage en un seul projet.

Ce que ça change pour vous

Peu de chose directement, sauf si vous jouez. Mais le cas est instructif à deux titres.

D'abord le critère de réussite affiché, qui est le bon pour toute migration d'infrastructure : « complètement imperceptible, sauf quand quelque chose tourne mieux ». Une migration réussie ne se voit pas.

Ensuite l'arithmétique de la dette. Le studio explique que la migration ne s'est jamais justifiée tant que l'existant fonctionnait — et il fonctionnait, seize ans durant. Ce qui a changé n'est pas la fiabilité de Python 2, c'est le coût d'opportunité : le temps passé à réimplémenter ce que l'écosystème offre ailleurs. C'est presque toujours cet argument-là, et non le risque, qui finit par débloquer une montée de version repoussée.

À retenir

« Ça marche » est une raison valable de ne pas migrer — jusqu'au moment où la facture n'est plus le risque, mais tout ce qu'on ne peut plus utiliser. Si vous portez une version figée quelque part, c'est ce calcul-là qu'il faut poser, pas celui de la panne.

Source : EVE Online