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

Les rubriques (actu, forums, tutos) de Développez
Tags
Réseaux sociaux


 Discussion forum

Le , par olivier.pitton, Expert Confirmé
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 ?


Vous avez aimé cette actualité ? Alors partagez-la avec vos amis en cliquant sur les boutons ci-dessous :


 Poster une réponse

Avatar de heid heid
http://www.developpez.com
Membre éclairé
le 14/08/2013 13:18
Et en bonus tu attire les profils talentueux avec ce genre d'archi.

Bien joué le Huffington.
Avatar de paclick paclick
http://www.developpez.com
Membre du Club
le 14/08/2013 14:33
Et en bonus tu attire les profils talentueux avec ce genre d'archi.

Faudrait un peu arrêter...
Avatar de FelipeVervena FelipeVervena
http://www.developpez.com
En attente de confirmation mail
le 15/08/2013 17:49
Faites l'effort de jeter un œil sur le code source de la page principale (le balisage) et vous allez découvrir le profil talentueux
Avatar de Yalalaaaa Yalalaaaa
http://www.developpez.com
Inactif
le 15/08/2013 22:25
scala > java
Avatar de _skip _skip
http://www.developpez.com
Expert Confirmé Sénior
le 16/08/2013 7:48
Citation Envoyé par Yalalaaaa  Voir le message
scala > java

Alors franchement ça se discute largement...

En nombre de features il est certainement supérieur. En productivité c'est discutable quand on voit la lenteur du compilateur qui rappelle du C++, puis au sujet de la facilité de relecture du code d'autrui qui est très importante en maintenance, c'est pas forcément le pied.

Moi je trouve pas qu'un langage est meilleur qu'un autre juste parce qu'il ajoute des kilotonnes d'opérateurs, de features et de concepts.
Avatar de batataw batataw
http://www.developpez.com
Membre Expert
le 14/10/2013 22:38
Il est où le temps réèl ?
Offres d'emploi IT
Ingénieur d'études et développement PHP (CDI) (H/F)
CDI
JURISYSTEM - Ile de France - Paris (75002)
Parue le 11/10/2014
Chef de projet Applicatif H/F
CDI
Sogeti - Régions - Nord - Nord Pas-de-Calais - METROPOLE LILLOISE
Parue le 24/10/2014
Ingénieur qa
CDI
Mobiskill - Ile de France - Paris (75000)
Parue le 23/10/2014

Voir plus d'offres Voir la carte des offres IT
 
 
 
 
Partenaires

PlanetHoster
Ikoula