IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Le Huffington Post passe au Web 2.0 avec un SI en Scala
MongoDB et AngularJS, une évolution en accord avec l'époque ?

Le , par olivier.pitton

18PARTAGES

Le Huffington Post passe au Web 2.0 et remet à neuf tout son système d'information
A coup de NoSQL, Play et AngularJS


Il y a une décennie, l'avènement des technologies PHP / MySQL / JavaScript battait son plein. Il existe aujourd'hui des millions de sites basés sur ces technologies. Rappelons que Facebook est aussi passé par là. Mais cet engouement atteint ces limites et aujourd'hui on ne parle que des nouvelles bases de données NoSQL, de scalabilité, de temps-réel, ...

Le Huffington Post a décidé de ne pas se laisser devancer et a remis à plat son ancien système, Movable Type, abrégé MT, pour le remplacer par Athena. Athena est basé sur MongoDB, Scala, à travers le Play Framework et AngularJS. Mais pourquoi un tel changement quand un système fonctionne depuis 8 ans de manière sûre ?

John Pavley, CTO du Huffington Post, explique point par point les raisons de ce changement. La pile d'outils choisie à l'époque (PHP / MySQL / JavaScript) ne correspond plus aux enjeux d'aujourd'hui : la nouvelle vague d'utilisateurs créent des milliers d'heures de vidéo, des milliards de like et des millions de tweet tous les jours. C'est donc pour le futur, dirigé par les nouveaux usages des technologies informatique, que MT a été abandonné au profit d'Athena.

Le CTO explique chacun des choix des technologies choisies et pourquoi abandonner la précédente.

Tout d'abord MySQL au profit de MongoDB : John Pavley explique que l'équipe de développement voulait un nouveau système flexible, permettant de modéliser très facilement les nouveaux besoins en termes d'articles journalistiques. Quel lecteur ne voudrait pas avoir des images, vidéos, tweets et autres post Facebook pour appuyer l'histoire du journaliste ? Or MySQL requiert une planification bien trop élevée pour représenter une collection de champs différents, tandis que MongoDB est fait pour cela. La flexibilité de stockage permettra de mieux se préparer aux changements des années à venir.

Pour ce qui est de l'abandon de PHP vers Scala (et Play), le CTO dit que PHP a du mal à supporter la charge pour un très grand volume d'utilisateurs, à moins d'avoir une équipe d'ingénieurs comme Facebook. Scala se situe au-dessus d'un environnement très bien testé depuis longtemps : Java. De plus, il est bien plus difficile d'écrire du code réutilisable et simple en PHP qu'en Scala. Cette idée apporte donc une meilleure maintenabilité d'Athena.

Enfin pour ce qui est d'AngularJS, l'équipe avait des besoins de collaboration temps-réel. Selon elle, JavaScript est très bien si l'on utilise un excellent framework pour faire abstraction de tous ces points négatifs. De plus, Athena devait être complètement orienté temps-réel et dynamique. Enfin, la réduction de la taille du code et la maintenabilité offerte par le framework JS sont des avantages indéniables qui ont permis ce choix.

Mais pourquoi cette volonté de temps-réel et de dynamisme ?

Car l'objectif était de pouvoir éditer les articles de presse à plusieurs sur la même plateforme et éviter les outils tiers. Le CTO dit qu'utiliser Google Documents pour la collaboration en ligne, pour ensuite envoyer l'article dans le système d'informations est une perte de temps avec les moyens d'aujourd'hui. La pile MySQL / PHP / JavaScript nécessitait beaucoup trop de temps et de code, quand une pile MongoDB / Scala / AngularJS le réduit de manière drastique.

Quand est ce que les prochains gros sites d'informations s'y mettront ?

Source : Blog du Huffington Post

Et vous ?

Que pensez-vous de ce changement et des choix faits par l'équipe technique ?
Pensez-vous que la fin de PHP / MySQL / JavaScript arrive pour les gros éditeurs ?
L'avènement des nouvelles technologies est-elle réellement arrivée ?

Une erreur dans cette actualité ? Signalez-nous-la !