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 > > 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 1 er 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
Chronologie des 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)
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.
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
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.
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)
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,
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.
Drupal gagnant haut la main!
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.
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).
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, )
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
Des événements d ampleur > Drupal 6 gère depuis le 1 er 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é»
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.
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
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.
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
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
Conclusion
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
Des questions?