Aller au contenu
en

Architecte IPTV — MyTF1 multi-plateformes · 2021–2024

e-TF1

Alban Pasquelin a été architecte IPTV chez e-TF1 de janvier 2021 à janvier 2024, refondant MyTF1 sur l'ensemble des box opérateurs françaises depuis une seule base de code — Android TV, WebOS et WPE — avec publicité dynamique SCTE-35 intégrée à l'écosystème Freewheel.

import { ReactNative, ReactNativeWeb, AndroidTV, WebOS } from '@/stack'
export function (fleet: OperatorSetTopBox[]): SingleCodebase {

L'application TF1 doit tourner sur les box de tous les opérateurs français. Chaque box a son système, sa télécommande et sa puissance — certaines ont dix ans. La réponse habituelle est d'écrire une application par système, puis de les maintenir séparément.

const fleet = frenchOperators.flatMap((operator) => operator.setTopBoxes)

J'ai refondu l'ensemble en une seule base de code, déployée sur Android TV, WebOS et WPE. Une correction est écrite une fois et arrive partout. Une fonctionnalité sort le même jour sur tout le parc.

const myTF1 = reactNativeWeb.buildOnce().deployTo(androidTV, webOS, wpe)

Les sites en marque blanche des chaînes thématiques du groupe sont générés automatiquement depuis la même base : une nouvelle chaîne ne demande plus un nouveau projet.

thematicChannels.forEach((channel) => generateWhiteLabelSite(channel))

La publicité est insérée dans le direct au standard SCTE-35, intégré à l'écosystème Freewheel : le flux porte des marqueurs indiquant où placer un spot, et chaque spectateur reçoit le sien sans que l'image ne saute.

liveStream.on('scte35', (cue) => freewheel.insertAd(cue, viewer))
return {
codebase: 1, /** base de code **/
setTopBox: 3, /** systèmes de box **/
dynamicAdInsertion: 'SCTE-35', /** publicité dynamique **/
}
}
Trois systèmes, une base de codeTrois flux de code séparés — Android TV, WebOS, WPE — fusionnent en un flux unique qui alimente les trois box. Le marqueur orange est une insertion publicitaire SCTE-35 remplacée pendant la diffusion.

Parcours