BBC News - L’info tout de suite, partout et pour tous grâce à Symfony
« La force de Symfony, c’est son architecture, » nous confie John Cleveley, Responsable Technique de BBC News. Découvrez pourquoi et comment l'équipe technique de BBC News a choisi de migrer vers le framework Symfony pour son site web.
L’entreprise / BBC News
Lancé en 1997, le site d’informations britannique BBC News commençait à atteindre ses limites en ne parvenant plus à répondre aux attentes de ses lecteurs de plus en plus nombreux, de plus en plus dispersés et de plus en plus diversement équipés (PC, mobiles, tablettes, TV). BBC News a donc choisi le framework Symfony et plusieurs de ses composants pour refondre son site et améliorer l’expérience de ses quelques 30 millions de visiteurs hebdomadaires. En adoptant une démarche " Responsive ", BBC News a conçu un site capable de s’adapter automatiquement aux contraintes de chaque terminal web, tout en optimisant les processus de développement, de mises à jour et de maintenance.
Les bénéfices en bref :
Une approche " Responsive " : concevoir un site adaptatif pour optimiser l’expérience utilisateur quel que soit le terminal utilisé (PC, mobiles, tablettes, TV...)
Une architecture souple et simplifiée : avec la combinaison de plusieurs composants Symfony découplés et indépendants
Une base de code unique : les fonctionnalités sont intégrées une seule fois, sans duplication nécessaire par type de plateforme
Une montée en compétences des développeurs : par l’acquisition de bonnes pratiques de programmation
Les enjeux
Lancé à la fin des années 1990, le site d’informations britannique BBC News s’est petit à petit imposé comme un média d’information majeur dans le monde entier, drainant près de 30 millions de visiteurs uniques par semaine. Face à un tel succès, le poids des ans s’est fait de plus en plus ressentir : un site statique au graphisme désuet, sur lequel la publication de contenus s’avérait longue et fastidieuse, dans un environnement Internet où réactivité et instantanéité régnaient désormais en maîtres.
Ce besoin de dynamiser le site a par ailleurs été accéléré par l’explosion des nouveaux terminaux d’accès au web. « Il y a encore pas si longtemps, les choses étaient simples, » se souvient John Cleveley, responsable technique chez BBC News. « On avait d’un côté les ordinateurs, de l’autre les mobiles. Deux applications différentes suffisaient. » Mais les choses ont rapidement évolué. PC, mobiles, tablettes, TV... : en l’espace de quelques années, l’augmentation et la diversification de ces terminaux a considérablement complexifié les processus de développement, en même temps qu’elle a créé de nouvelles problématiques et de nouveaux enjeux.
BBC News ne pouvait pas ignorer les besoins et les attentes de ses lecteurs, qui en plus d’être très dispersés géographiquement, sont très diversement équipés en termes d’appareils comme de vitesse de connexion. « Nous avions besoin d’une solution pour optimiser les temps de développement, tout en garantissant à chaque utilisateur le même niveau de service, quel que soit le terminal utilisé. L’essentiel était que le contenu que nous voulions rendre disponible le soit rapidement » explique John Cleveley.
La solution
Le site de BBC News pâtissait d’un code trop ancien pour être correctement maintenu et sur lequel plus personne ne voulait – ou ne pouvait – travailler. Refondre le site ne signifiait pas pour autant faire table rase de tout ce qui existait, ne serait-ce que pour conserver l’accès aux articles archivés depuis plus de 15 ans... Dans ce contexte, BBC News s’est tourné vers le framework Symfony. « La force de Symfony, c’est son architecture, » poursuit le responsable technique. « Avec des composants découplés et indépendants les uns des autres, nous avons pu choisir les briques qui nous intéressaient, sans subir la rigidité d’un framework "monolithique" ».
Associé à Varnish pour optimiser la gestion des caches et à Pimple pour simplifier l’injection de dépendances, Symfony a permis au site de BBC News, non seulement de décupler ses performances, mais aussi de considérablement simplifier les développements. Tout en s’inscrivant dans la démarche "responsive" adoptée par BBC News.
Cette approche, centrée sur l’utilisateur, vise à adapter automatiquement les contenus à chaque terminal sans développement supplémentaire. Ainsi, BBC News est aujourd’hui capable de détecter le terminal d’accès à son site pour mettre automatiquement le contenu à l’échelle de l’écran et ajouter d’éventuels contenus additionnels. « Le "responsive design" était la solution idéale pour nous, » explique John Cleveley, « puisqu’il permet de faire la meilleure utilisation possible de chaque terminal. »
Les bénéfices
Concevoir un site adaptatif à tout type de terminal n’en complexifie pas pour autant la maintenance. La nouvelle architecture "responsive" du site de BBC News permet au contraire de gagner en souplesse et en efficacité puisque l’ensemble du dispositif s’appuie sur une seule base de code. « Cela simplifie évidemment considérablement le back-end, » précise John Cleveley. « Les fonctionnalités ne sont intégrées qu’une seule fois, sans duplication nécessaire par type de plateforme. » Et comme le site est hébergé sur un espace URL unique, il n’y a pas non plus de sous-domaine à gérer.
Cette refonte a également impacté l’organisation des équipes de développement. Là où elles étaient auparavant segmentées par type de plateforme, elles travaillent aujourd’hui de concert tout en montant en compétences par l’acquisition de bonnes pratiques de programmation. « La prise en main de Symfony par nos développeurs a été relativement rapide, grâce à une documentation très complète et à une communauté formidable. Quels qu’aient été nos problèmes, nous avons toujours trouvé une réponse auprès de la communauté Symfony » se souvient John Cleveley.
Prochain défi pour BBC News : améliorer la prise en charge de la publicité, notamment pour les utilisateurs à l’international. Un challenge pour lequel le média britannique fera sans aucun doute appel à Symfony et à ses composants.