Des millions de visiteurs avec France Télévision

Transcription

Des millions de visiteurs avec France Télévision
Des millions de visiteurs avec
France Télévisions
Bonjour à tous…
Pascal Beynel
Léo Poiroux
Au programme…
> France Télévisions Editions Numériques
> A la recherche d’un nouveau CMS
> Industrialisation avec Drupal
> Problématiques et solutions
> Conclusion
Les chaînes
Les filiales
Les chaînes thématiques
France Télévisions Editions Numériques
France Télévisions c’est…
> le 1er groupe audiovisuel français
Chaque jour 4 français sur 10 regardent nos programmes
> un chiffre d’affaires net de 3 016,1 M€ (2009)
> + de 11000 collaborateurs
mais parlons plutôt de…
France Télévisions Editions Numériques
France Télévisions Editions Numériques
> Conception, développement, maintenance et
animation des services et produits numériques du
groupe (Sites, applications smartphones et tablettes, TV connectées)
> Télématique / audiotel
> Offres vidéos sur Box Adsl (Orange et Free)
> Animation sur les réseaux sociaux
France Télévisions Editions Numériques
> 140 collaborateurs (dont 40 à la technique)
> environ 1300 sites Internet
> 225 millions de pages vues par mois (octobre 2011)
> 36 millions de visites par mois
> 8 millions de visiteurs uniques par mois
> 1 million d’applis iPhone/iPad téléchargées
> 21 millions de vidéos vues par mois
sites Internet, Pluzz Orange/Free et pluzz.fr
France Télévisions Editions Numériques
France Télévisions Editions Numériques
A la recherche d’un
nouveau CMS
A la recherche d’un nouveau CMS
Chronologie des CMS
A la recherche d’un nouveau CMS
Nos projets Drupal
Drupal 6
> Documentaires France5 (documentaires.france5.fr)
> Portail SPORT (sport.francetv.fr)
> Portail Santé France5 (www.france5.fr/sante)
Drupal 7
> Election présidentielle de 2012 (www.francetv.fr/2012)
A la recherche d’un nouveau CMS
Objectifs
(1/2)
> Définir un référentiel par thématique intégrant ses besoins métiers et
son workflow (sous objectif : abandonner notre principal référentiel de
contenus multi-thématiques).
> Moderniser les outils de contribution : produit simple, rapide,
ergonomique, paramétrable et dont la prise en main est intuitive.
> Moderniser la production technique des produits : s’appuyer
sur des fonctionnalités avancées (back et front) et les partager au besoin
entre nos différents produits.
A la recherche d’un nouveau CMS
Objectifs
(2/2)
> Challenger les équipes internes : intégrer un nouveau produit / une
nouvelle compétence en moins de trois mois.
> Réduire le cycle de vie des produits
> A long terme, s’industrialiser : simplifier la maintenance, la mise à
jour, le déploiement, les tests unitaires, les tests de montée en charge …
A la recherche d’un nouveau CMS
Nos contraintes
(1/2)
> Exploiter un produit open-source, testé, éprouvé, réputé
(pour bénéficier de l’assurance que le projet perdurera dans la durée et que
des compétences existent sur le marché) et pouvant subir de fortes
charges.
> Exploiter un produit répondant
aux attentes d’une population
de contributeurs très hétérogène avec des besoins métiers très
spécifiques et dispersée géographiquement.
> Limiter les développements aux fonctionnalités métiers spécifiques
à FTV et s’appuyer sur des développements communautaires pour le reste.
A la recherche d’un nouveau CMS
Nos contraintes
(2/2)
> Possibilité d’interconnexion avec des services FTV existants.
> Intégration dans une plateforme « classique » (environnement
LAMP) pouvant difficilement évoluer (contrainte de l’hébergeur).
> Contraintes multi CDN (Akamai, Cotendo, Level3)
A la recherche d’un nouveau CMS
Diverses fonctionnalités attendues
> Gestion multi-sites
> Type de contenus personnalisés
> URL rewriting automatique
> Programmation de publication / dépublication de contenus
> Gestion de la syndication / sitemap et ingestion de contenus syndiqués
> Médiathèque
> Gestion avancée du cache (contraintes CDN)
> Intégration / création de modules
> Workflow
> Historique des contenus
> Prévisualisation
> RTE, optimisations automatiques, calendrier, charset configurable, monitoring,
gestion des statistiques, gestion des supports, recherche, commentaires, archivage, …
A la recherche d’un nouveau CMS
Analyse des outils existants sur le marché
> Sur la base des objectifs, contraintes et fonctionnalités attendues, nous
avons fait appel à une société qualifiée (AlterWay) pour étudier les principaux
produits du marché de l’époque : Drupal, EZ Publish et Typo3
> Typo 3 a été tout de suite écarté car trop éloigné des objectifs (produit
plutôt usine à gaz et en perte de vitesse)
> Émission d’un rapport d’étude exprimé en terme de points de complexité
sur la base de 45 fonctionnalités identifiées devant être intégrées à terme
dans le produit.
A la recherche d’un nouveau CMS
Drupal gagnant haut la main !
A la recherche d’un nouveau CMS
Mise en place de la solution
(1/3)
(ou comment mettre un POC en production)
Une fois Drupal choisi, nous avons sélectionné un projet qui devait faire office
de POC. Le projet de refonte du portail SPORT alors à l’étude nous est
apparu comme le meilleur candidat. En définitive, le POC devait être
suffisamment aboutit pour pouvoir être mis en production.
> Sécuriser le projet : prestation d’accompagnement (AlterWay)
> Afin de faire adopter Drupal au sein des équipes, organisation d’une
présentation avancée grâce à une formation sur mesure de 2 jours (équipe
de la production et de l’exploitation)
> Constitution d’une équipe d’un CDP AMOA / MOE, d’un
développeur expérimenté et d’un développeur interne novice.
A la recherche d’un nouveau CMS
Mise en place de la solution
(2/3)
(ou comment mettre un POC en production)
> Un démarrage un peu long : MOA faible et (trop) changeante
> Aboutissement d’un CDC au bout de 3 mois avec des parties du projet non
définies / non stabilisées.
> Intégration de méthodologie de type agile pour aboutir rapidement à un
résultat (objectif 3 mois pour produire le projet de bout en bout : graphisme,
intégration, définition de l’architecture et des environnements, développement,
recette, tests de charge, validation cache CDN, MEP, …).
> A l’issu des 3 mois, les objectifs étaient en grande partie atteints
(absence des fonctionnalités mineures et quelques majeurs mais
faisant défaut à Drupal).
A la recherche d’un nouveau CMS
Mise en place de la solution
(3/3)
(ou comment mettre un POC en production)
> A l’issu de ces 3 mois, intégration d’une nouvelle composante : la gestion
des événements sportifs (Roland Garros, Tour de France, …)
> Mobilisation d’un CDP interne et d’un intégrateur / développeur interne
pour gérer le site de Roland Garros.
> Grâce aux modules « domains », aux thèmes et à l’héritage des
fonctionnalités de base du portail SPORT, le site a pu être produit en 3
semaines (offre plutôt complexe : intégration de nombreux flux de
partenaires, gestion de diffusion en direct, produit à forte charge, astreintes à
organiser, …)
A la recherche d’un nouveau CMS
18 mois après
> Drupal 6 a su répondre à nos principales attentes.
> Malgré tout, quelques grosses insatisfactions :
> Lenteurs du produit. Drupal a besoin de mémoire et de CPU.
Plateforme trop ancienne et pas à la hauteur.
> Actuellement pas de memcache : saturation côté base de données (du
à la gestion du cache par défaut en base) et pas d’alternative possible
(déport éventuel sur un filer non possible car également saturé).
> Intégration de médias dans le RTE problématique
> Les requêtes de views non optimisées
A la recherche d’un nouveau CMS
Des événements d’ampleur…
> Drupal 6 gère depuis le 1er Mai 2009 le portail sport mais a également été éprouvé sur
tous les événements sportifs suivants :
> Dakar
> 24 heure du Mans
> Roland Garros
> Tour de France
> Route du Rhum
> Tournois des 6 nations
> Coupe du Monde de football et rugby
> Championnats du monde de ski et d’escrime
> Championnats d’europe d’athlétisme et de natation
> Depuis nous avons mis en place un portail Santé pour France5, regroupant les 3
programmes « Allô Docteur », « le Mag de la Santé » et « Enquête de santé »
A la recherche d’un nouveau CMS
Drupal 7… et pourquoi pas ?
En 2011, de nombreux facteurs nous ont permis de partir
rapidement dans l’aventure Drupal 7 et d’associer à ces projets
nos envies d’instaurer de nouveaux process d’industrialisation
au sein de nos équipes techniques.
A la recherche d’un nouveau CMS
Industrialisation avec
Drupal 7
Industrialisation avec Drupal 7
Facteur 1 : Hébergement
Début 2011, Oxalide remporte l’appel d’offre sur la prestation
d’hébergement.
Notre ancien hébergeur n’était pas en mesure de prendre en
charge rapidement des produits sous Drupal 7.
> Infrastructure vieillissante
> Pas de PHP 5.3
> Manque d’expérience de cette version
Industrialisation avec Drupal 7
Facteur 2 : Nouvelle offre d’infos
> En avril 2011, la direction des Editions Numériques monte
une nouvelle équipe MOA pour effectuer la refonte de l’offre
d’information en ligne de France Télévisions
> Cette offre étant une priorité du groupe, des moyens nous
ont donc été alloués pour créer des équipes technique
dédiées.
Industrialisation avec Drupal 7
Facteur 3 : Expérience Drupal 6
> Après 2 ans d’utilisation de Drupal 6. L’équipe technique était
suffisamment montée en compétence pour envisager
d’évoluer vers Drupal 7
> Nous avions confiance dans la robustesse du produit, suite
aux bonnes audiences des événements sportifs comme Tour de
France (17M visiteurs uniques sur 3 semaines) ou Roland Garros (9M
visiteurs uniques sur 15 jours).
> De plus, les retours des équipes éditoriales sur
l’utilisation du produit étaient très positives
Industrialisation avec Drupal 7
Election présidentielle 2012
> Le site de l’élection présidentielle 2012 (www.francetv.fr/2012) a été le
projet pilote pour mettre en place des process d’industrialisation au
sein des équipes techniques.
Les points forts de ce projet :
> Une MOA structurée avec un cahier des charges complet et précis
> Demande éditoriale simple nécessitant peu de modules issus de la
communauté
> Une volonté de créer un produit indépendant n’ayant pas besoin des
outils déjà développés par FTVEN
> Déclinaison rapide du produit pour la refonte de CultureBox et Géopolis
> Produit qui va générer forcément beaucoup d’audience
> Une demande de livraison très rapide (!)
Industrialisation avec Drupal 7
Planning de production
Industrialisation avec Drupal 7
Outils pour la gestion de projet
Mise en place d’un Redmine
> Fonction Ticketing durant le recettage et désormais en tant que bugTracker
> Fonction Wiki pour le partage de documents
> Fonction Gantt pour partager le planning avec l’ensemble des intervenants
FrameWork Axure
> La MOA nous a fourni un zoning navigable très complet où chaque
comportement étaient précisément décrits.
Xmind
> Outil très apprécié par la MOA et les développeurs pour visionner
la structure de données à mettre en place
Industrialisation avec Drupal 7
Xmind
Industrialisation avec Drupal 7
Versioning et déploiement
Remplacement de SVN par GIT
> Pour ce projet, nous avons mis en place un système de versioning GIT plutôt
que SVN (utilisé jusqu’à présent à FTVEN)
Utilisation des branches pour le déploiement
> Grâce à Capistrano, nous pouvons déployer notre projet sur deux
environnements « Préprod » et « Prod ». Chaque environnement correspondant
à une branche du dépôt GIT.
Modules Features et Strongarm
> Afin de bannir toute configuration à la main sur les
environnements de « Préprod » et « Prod »
Industrialisation avec Drupal 7
Problématiques et
solutions
A la recherche d’un nouveau CMS
Gestion des médias
> La gestion des médias reste complexe au sein de Drupal.
> Pour le moment, les photos et les vidéos sont des types de
contenus. Cela impose d’utiliser les « node-reference » et le
module « Références Dialog »
> Nous étudions actuellement le module « Médias » qui ne
répondait pas à tous nos besoins en juillet.
A la recherche d’un nouveau CMS
Accumulation des caches
Afin de faire face au fort trafic que génère ces sites, nous cumulons
les systèmes de cache.
> Cache distinct pour chaque « Bloc Drupal » et pour chaque « Views »
> Cache global à tout le site
> Agrégation des JS et CSS
> Configuration précise d’un Varnish
> Distribution du contenu via le CDN Akamai
> Plateforme Oxalide permettant 100 000 visiteurs / heure sans cache
A la recherche d’un nouveau CMS
Gestion de la contribution
> La mise en place d’un CDN, nous impose de créer une
seconde adresse pour nos propres contributeurs.
> Cette adresse privée permet aux journalistes d’accéder au
site sans aucun cache.
> Développement d’un module pour corriger tout « copiercoller » malencontreux de cette adresse dans les articles
A la recherche d’un nouveau CMS
Conclusion
A la recherche d’un nouveau CMS
L’avenir de Drupal à FTVEN
> Gestion des 24 sites régionaux et du portail «
France3 Régions », ainsi que des 9 sites Outremer et leur portail.
> Sites « Séries et fictions »
> Sites génériques de programmes par genre
> Refonte du portail Sport pour les JO 2012
Le but : remplacer environ 500 sites SPIP
A la recherche d’un nouveau CMS
Des questions ?
A la recherche d’un nouveau CMS