Comment Arte a simplifié le développement multi plateforme
Sketchnote du retour d'expérience Arte présenté par Lucas Legname et Maxime Richard sur l'architecture BFF lors d'un Apéro Web Nancy (novembre 2020)

Ce sketchnote a été réalisé suite au retour d'expérience présenté par Lucas Legname (Arte) et Maxime Richard (Marmelab) lors d'un Apéro Web Nancy en novembre 2020. La présentation était consacrée à la transformation architecturale qu'Arte a entreprise pour simplifier le développement multi plateforme de ses applications web, mobile et TV.
Évolution architecturale
Le sketchnote retrace l'évolution historique d'Arte : des chaînes TV traditionnelles (1992) et du service Arte+7 (2009) vers une approche API métier unifiée. Cette transformation visait à résoudre les problèmes des APIs trop orientées données qui complexifiaient le développement multi plateforme.
Architecture Backend For Frontend (BFF)
La solution adoptée repose sur un pattern BFF utilisant GraphQL comme couche d'abstraction. Cette approche permet de :
- Unifier les données : Une API métier centrale qui agrège et structure les données pour tous les clients
- Adapter par plateforme : Chaque BFF optimise les données selon les besoins spécifiques (Web, Mobile, Smart TV, Box TV)
- Simplifier le développement : Les équipes frontend se concentrent sur l'expérience utilisateur sans gérer la complexité backend
Bénéfices techniques
L'architecture BFF a permis de découpler les préoccupations : logique de présentation côté client, logique métier centralisée, et adaptation des données via GraphQL. Cette flexibilité a grandement simplifié la maintenance et accéléré le développement de nouvelles fonctionnalités sur toutes les plateformes.
Points clés à retenir
- Retour d'expérience : Collaboration Arte (Lucas Legname) et Marmelab (Maxime Richard)
- Architecture BFF : Backend For Frontend avec GraphQL pour unifier le développement multi plateforme
- Problème résolu : APIs trop orientées données remplacées par une approche métier centralisée
- Technologies : GraphQL comme couche d'abstraction et d'optimisation par plateforme