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

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Actualités Discussion :

Le Huffington Post passe au Web 2.0 avec un SI en Scala et MongoDB

  1. #1
    Membre émérite
    Avatar de olivier.pitton
    Homme Profil pro
    Développeur Java
    Inscrit en
    Juin 2012
    Messages
    355
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2012
    Messages : 355
    Points : 2 814
    Points
    2 814
    Par défaut Le Huffington Post passe au Web 2.0 avec un SI en Scala et MongoDB
    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 ?

  2. #2
    Membre confirmé Avatar de heid
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    388
    Détails du profil
    Informations personnelles :
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Mai 2002
    Messages : 388
    Points : 597
    Points
    597
    Par défaut
    Et en bonus tu attire les profils talentueux avec ce genre d'archi.

    Bien joué le Huffington.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Août 2011
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2011
    Messages : 27
    Points : 53
    Points
    53
    Par défaut
    Et en bonus tu attire les profils talentueux avec ce genre d'archi.
    Faudrait un peu arrêter...

  4. #4
    En attente de confirmation mail
    Homme Profil pro
    *
    Inscrit en
    Février 2013
    Messages
    86
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : *
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2013
    Messages : 86
    Points : 40
    Points
    40
    Par défaut
    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

  5. #5
    Inactif  
    Inscrit en
    Août 2013
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Août 2013
    Messages : 10
    Points : 0
    Points
    0
    Par défaut
    scala > java

  6. #6
    Expert éminent
    Avatar de _skip
    Homme Profil pro
    Développeur d'applications
    Inscrit en
    Novembre 2005
    Messages
    2 898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur d'applications
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 898
    Points : 7 752
    Points
    7 752
    Par défaut
    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.

  7. #7
    Membre éprouvé
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    957
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 957
    Points : 1 177
    Points
    1 177
    Par défaut
    Il est où le temps réèl ?

  8. #8
    Nouveau Candidat au Club
    Inscrit en
    Avril 2012
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Avril 2012
    Messages : 1
    Points : 1
    Points
    1
    Par défaut
    Ok pour mongoDB et AngularJS mais l'apport de Scala à part pour les "évangéliste" JAVA je vois pas !

  9. #9
    Expert éminent
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2007
    Messages
    2 161
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2007
    Messages : 2 161
    Points : 7 952
    Points
    7 952
    Par défaut
    Angular JS est un framework javascript
    Ce n'est donc pas du tout un abandon de javascript, bien au contraire, juste l'utilisation d'un framework.

    Cela aurait différent s'ils étaient passés à Dart ou à typescript.
    Mais là, ce n'est pas du tout le cas.

  10. #10
    Expert confirmé Avatar de psychadelic
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    2 529
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 2 529
    Points : 4 739
    Points
    4 739
    Par défaut
    Hum…
    A mon avis, cette histoire n’est pas finie, et on en reparlera tôt ou tard :

    Le cocktail des technos m’ont un peu l’air d’avoir été fait plus par des « coup de cœur » que par un choix raisonné.

    Par exemple passer directement de MySQL à MongoDB : c’est un peu violent.
    Je conçois parfaitement qu’on puisse atteindre des limites de performance avec des bases MySQL, surtout pour une boite de presse, mais de la à croire que MongoDB va tout résoudre, j’ai un gros doute.
    Même si perso je ne suis pas fana d’Oracle (le mieux c’est d’utiliser teraData), faut tout de même reconnaitre que les performances sont au rendez-vous ; bien sur, faut se payer un staff de DBA; mais y pas de secret : savoir structurer les données et établir des requêtes propres, c’est un métier.
    Avec MongoDB, les données deviennent très vite chaotiques, les créations d’indexes internes explose pour en arriver à des temps de réponses médiocres, qui finissent par nécessiter des processeurs ultra performantes et de vraies fermes de machines : n’est pas Google qui veut.
    Passer du SQL au NoSQL, est un quasiment billet sans retour !

    Quand à choisir AngularJS, j'en tombe des nues !
    Parce que Google lui-même à reconnu que sa techno souffrait de gros défauts de jeunesse et que la version 2 serait très différente de la 1, au point que la réécriture de ce qui à été développé en v1 serait inévitable.

    Bien sur, toutes ses nouvelles techno sont super alléchantes, mais pour moi, elles ne sont pas encore arrivées à maturité.
    En tout cas pas suffisamment pour jouer sur un coup de dés l’avenir informatique du Huffington Post.
    «La pluralité des voix n'est pas une preuve, pour les vérités malaisées à découvrir, tant il est bien plus vraisemblable qu'un homme seul les ait rencontrées que tout un peuple.» [ René Descartes ] - Discours de la méthode

Discussions similaires

  1. Poste concepteur/ conceptrice WEB, Dediservices
    Par Juliin dans le forum Emploi
    Réponses: 0
    Dernier message: 07/07/2008, 12h09
  2. Envoyer des données POST à une page web puis récupérer l'URL
    Par Ze moi dans le forum Shell et commandes GNU
    Réponses: 3
    Dernier message: 23/04/2007, 18h18
  3. Réponses: 2
    Dernier message: 13/07/2006, 09h26

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo