MGG / Actualités jeux vidéo /

Bêta Millenium, interview de Sophistie

Bêta Millenium, interview de Sophistie
8

Nous vous avons présenté il y a deux semaines la nouvelle version du site millenium.org qui sera disponible dans les jours et semaines à venir. La version actuelle du site lancée l'été dernier va donc faire peau neuve.

Bêta Millenium, interview de Sophistie

millenium.org

Nous vous avons présenté il y a deux semaines la nouvelle version du site millenium.org qui sera disponible dans les jours et semaines à venir. La version actuelle du site lancée l'été dernier va donc faire peau neuve.

Nous avons lu et écouté les retours que vous nous avez faits, ainsi que les demandes formulées. Plusieurs patchs sont venus corriger des bugs, mais aussi apporter des nouveautés et changements dont voici une liste non exhaustive :

- Support basique du chat
- Refonte complète de la TV et des fenêtres
- Ajout du programme en cours et des programmes précédent et suivant sur les TV
- Correction de nombreux bugs

Élie « Sophistie » Rotenberg a pour l'occasion accepté de répondre à mes questions au sujet de la nouvelle version du site :

 

Élie « Sophistie » Rotenberg sur la nouvelle version du site

Bonjour Élie, peux-tu nous rappeler qui tu es ?

Hello ! Certains d'entre vous se rappellent peut-être de moi, car à l'époque j'étais un joueur de WoW, guildmaster et raidleader de la guilde Millenium sur WoW à l'époque de WotLK. J'ai arrête WoW il y a longtemps (peu après la sortie de Cataclysm), mais je n'ai pas quitté Millenium pour autant, puisque j'ai rejoint la direction de Millenium aux côtés de Cedrix. Désormais, je gère plutôt les choses en coulisse. Je m'occupe de la stratégie, de l'éditorial et je pilote le développement de nouvelles fonctionnalités.

C'est donc toi qui a réalisé le nouveau site ?

Pas tout seul ! Arnaud « Djayzuh », un autre vétéran de Millenium WoW, a développé tout le site jusqu'à cette version, et nous avons travaillé ensemble pour réaliser cette nouvelle version. Nous avons repris une grande partie de la structure du site actuel (le backend) et nous avons surtout réorganisé ce qui est visible pour les utilisateurs (le frontend).

Qu'est-ce que tu attends de cette nouvelle version ?

Je pense que cette nouvelle version représente un gros pas en avant en termes de flexibilité et de fluidité pour l'utilisateur. En premier lieu bien sûr, la performance a été largement améliorée et nous avons beaucoup travaillé sur le plaisir de naviguer sur millenium.org. Nous livrons aussi directement de nouvelles fonctionnalités, comme l'intégration complète du temps réel, les fenêtres de TV, les notifications, etc. Nous en avons aussi profité pour faire une grosse passe d'épuration et de nettoyage pour supprimer les fonctionnalités peu utilisées afin de concentrer l'attention sur ce qui est utile : la TV, les articles, les vidéos, les guides et les actualités.

Au-delà de l'état du site quand il sera lancé, la nouvelle structure du code a été conçue pour être très facile à étendre pour offrir des fonctionnalités adhoc rapidement par la suite, comme des calculateurs de talents pour les jeux qui viennent de sortir, des bases de données d'objets, des infos plus complètes sur les joueurs et les équipes pro, etc. Beaucoup de choses chouettes « soon™ » :)

Peux-tu nous expliquer comment marche ce nouveau site ?

Attention, on va parler technique !

Le backend du site (le serveur) repose sur une base de données SQL qui est alimentée par un CMS en PHP. Cette base de données est exposée via une interface REST implémentée en PHP qui permet d'y accéder en HTTP sous forme d'enregistrements en JSON.

Le frontend du site (le client) est une grosse application moderne en Javascript qui tape dans l'interface REST de manière asynchrone pour gérer l'affichage et les interactions utilisateur. Ce client est structuré par Backbone/Marionette et jQuery. Au coeur du client est intégré un système de synchronisation en temps réel que j'avais mis au point pour la TV (le « castertools ») qui permettait de lancer des sondages, des bannières, des pubs, etc., en temps réel. Ce système repose sur un polyfill de websocket en JS côté client et en Python/Tornado côté serveur.

Un morceau du code qui permet la synchronisation en temps réel

La nouveauté par rapport à l'ancienne version, c'est que tout l'affichage (le HTML) est généré côté client, ce qui permet de réduire considérablement le volume des échanges avec le serveur. Ce fonctionnement permet en outre de récupérer des infos à la demande et d'éviter complètement le rechargement de page intégral (tout se passe dans « une seule page »).

Si ça intéresse du monde, j'envisage de publier le code du client sur github. Dites-moi en commentaire si ça vous intéresse ^^

Ok, je n'ai absolument rien compris, mais si ça intéresse quelqu'un, peux-tu nous expliquer quels outils tu utilises pour développer ?

Avant, je travaillais avec plein d'outils différents en terme, mais j'ai fini par découvrir et adopter une IDE formidable, Jetbrains IntelliJ IDEA. Cette IDE n'est pas aussi connue qu'elle le mérite, car elle est payante, mais pour moi elle est à des années-lumière d'Eclipse ou de Visual Studio. Tout est juste... très bien pensé, facile à utiliser, pas trop invasif, très stable. J'y ai du coup intégré quasiment tout mon workflow. Édition du code JS/LESS/HTML/PHP/Python,compilation du LESS en CSS et compression avec YuiCompressor, gestion des dépendances avec requireJS, déploiement et optimisation du code avec r.js et UglifyJS, gestion du repo git et du remote repo bitbucket, remote admin avec le client SSH intégré.

Mon IDE, Jetbrains IDEA



Pour le développement et le debug, j'ai énormément utilisé Chrome (channel Canary), qui propose des outils incroyables depuis plusieurs mois qui pour moi ont complètement enterré la concurrence (Firefox+Firebug, IE Dev Tools) depuis qu'ils intègrent des moniteurs de mémoire et de CPU très avancés.

Les Chrome Dev Tools, très bon outil pour chasser les memory leaks

 

Bon... Maintenant que tu as fini de frimer, peux-tu nous expliquer pourquoi le site ne marche pas chez moi ??

La compatibilité a été testée intensivement pour une grande variété de configurations (Chrome, Firefox, Safari, Opera, IE9-10), mais certaines sont clairement incompatibles (trop vieilles versions d'IE) et d'autres ont tendance à ramer (téléphone, tablette). Pour ces dernières configurations, nous allons réaliser une version dédiée. Je ne crois pas à l'approche « full responsive » ou « mobile first », elle convient pour les sites qui ont des fonctionnalités simples, mais pour un site complexe comme Millenium je préfère pouvoir profiter de toute la richesse et de toute la puissance d'un navigateur de bureau quitte à passer du temps à réaliser une version mobile propre par la suite.

Si toutefois vous constatez des bugs (je ne doute pas que ça sera le cas), n'hésitez pas à utiliser le formulaire de retour, TOUTES les réponses sont lues et traitées via un système interne de tickets.

Sinon quand est-ce que l'on vire IRC ?

Soon™.

Merci de ton temps !

Merci à tous, je retourne coder !

 

Et si vous voulez tester la nouvelle version du site, il vous suffit de suivre le lien ci-dessous :

 

Une suggestion à formuler, une amélioration à proposer ? N'hésitez pas à nous faire vos retours par mail ou sur la page dédiée, afin que nous puissions améliorer le site avec votre aide.

8
MGG
djvexo il y a 9 ans

Bonjour,<br /> <br /> Possible de savoir sous quel CMS tourne le site de Millenium ?<br /> VBulletin (Forum + Portal) ? ou quelque chose d'autre ?<br /> <br /> Merci :)

_jordan_ il y a 11 ans

Le code du client m'intéresse effectivement, si tu peux le publier ce serait vraiment cool.<br /> En tout cas très beau travail.

herderien il y a 11 ans

le code c'est en C++ ou en asm stout ! le reste c'est du verbiage :p

pipo59 il y a 11 ans

compliqué mdr

Notik2 il y a 11 ans

N'oubliais pas les quotes c'est important pour un forum..

DenAdel il y a 11 ans

J'ai.<br /> Rien.<br /> Compris.<br /> <br /> Mais ça a l'air classe

Nikkau il y a 11 ans

Soit on fait une appli moderne, soit on utilise Backbone/jQuery mais pas les deux, faut choisir :) .

sunof il y a 11 ans

moi qui ne code jamais, j'ai tout compris xD. Comme quoi, apprendre des trucs à l'école, ça sort pas complètement ^^

L'actu

En Continu

00:17 Division Rivals EA Sports FC 25 : Liste des récompenses à récupérer et comment fonctionne cette compétition FUT
22:13 EA Sports FC 25 : Voici comment reconnaître l'animation des packs FUT pour savoir si vous avez un gros joueur ou non
16:11 Cette histoire ultra touchante de la communauté WoW arrive très prochainement sur Netflix
12:34 Darksiders 2 a le droit à une seconde vie sur PS5 et Xbox Series
17:56 Ce joueur est tellement fidèle à Concord qu'il continue d'y jouer... seul
18:04 Trophées EA Sports FC 25 : Le guide des succès pour atteindre le 100% et obtenir le Platine
11:29 Un remaster de Horizon Zero Dawn se confirme pour PS5 et PC. Sony va-t-il trop loin avec les remakes ?
13:50 Test d'Enotria The Last Song : De belles promesses et de grandes déceptions à l'Italienne !
17:14 Overwatch 2 : Récupérez gratuitement ce skin légendaire grâce à ces nouveaux Twitch Drops
17:55 EA FC 25 DCE Hybride Championnats et Pays : Liste et solutions complètes de tous les défis

Guides

à découvrir

Calendrier des prochaines sorties de jeux vidéo : septembre 2024
Animaux légendaires Red Dead Redemption 2 : Liste complète, où les trouver sur la carte ?
Quels sont les meilleurs personnages sur Genshin Impact ?