Le contexte
PearTV est un produit interne, conçu et financé par Wisepear techlab. Ce n’est pas une mission client : c’est notre terrain d’essai, et le projet sur lequel nous éprouvons à grande échelle les choix d’architecture que nous proposons ensuite ailleurs.
Une plateforme de streaming complète : agrégation de contenus, catalogue enrichi, recommandations, et applications pour mobile, télévision connectée et web.
L’enjeu
Un service de streaming pose des problèmes qu’on ne rencontre pas sur une application de gestion classique.
Le catalogue n’est jamais stable. Les contenus proviennent de plus de quarante sources différentes, chacune avec son format, sa fiabilité et ses interruptions. Une source qui change de structure du jour au lendemain ne doit pas faire tomber le catalogue entier.
Les métadonnées font le produit. Un catalogue sans affiches, sans résumés, sans genres cohérents est inutilisable, quelle que soit la qualité des flux. Le travail d’enrichissement et de dédoublonnage représente une part considérable du système.
Trois supports, trois ergonomies. Une application de télévision se pilote à la télécommande, à trois mètres de l’écran, sans clavier confortable. Ce n’est pas la version agrandie de l’application mobile : c’est une conception à part, qui doit pourtant s’appuyer sur la même API.
Ce que nous avons fait
- Un back-end Django portant le catalogue, l’agrégation, l’enrichissement des métadonnées et la personnalisation, exposé en API REST commune à tous les clients.
- Une collecte tolérante aux pannes, où chaque source est isolée : une source défaillante dégrade son propre périmètre, jamais le service.
- Une application Android et une application de télévision connectée, conçues séparément pour leurs contraintes respectives, sur la même API.
- Une interface web complétant l’ensemble.
- L’exploitation du service dans la durée — c’est en exploitant nous-mêmes un produit sur quatre ans qu’on apprend ce qui coûte cher en maintenance, et ce qu’il ne faut pas proposer à un client.
Le résultat
Un produit abouti, développé sur quatre ans, avec plus de sept cents livraisons cumulées sur le back-end et les applications.
Ce que PearTV nous apporte est difficile à faire tenir sur une plaquette, mais se vérifie en clientèle : nous avons conçu, livré, puis exploité un système distribué sur la durée. Nous savons donc ce qu’une architecture coûte une fois qu’elle est en production — pas seulement ce qu’elle promet sur le papier.
C’est aussi de ce projet que viennent nos réflexes sur les systèmes qui dépendent de sources externes : isoler, dégrader proprement, ne jamais laisser une défaillance extérieure devenir une panne visible par l’utilisateur.
Aperçus