Architecture

Backend

Performances PHP chez M6Web
M6Web au Forum PHP 2012 et au WebEvent #4
Intégration continue avec Jenkins et Atoum
Retrouvez l'intervention du CTO de M6 Web, Martin Boronski, Ă  la table ronde du Forum PHP 2012
CR Real Time Conférence Europe 2013 - Day 1
CR Real Time Conférence Europe 2013 - Day 2
La POO Canada Dry
CR Conférence Agora Cms du 15 mai 2013
Redis on fire !
Firewall applicatif PHP et bundle Symfony
Coke, pour bien sniffer son code
Benchmarking WebSockets avec NodeJs
Introduction Ă  Drupal par Claire Roubey (Clever Age)
Introduction à la qualité logicielle avec Node.js
Le NoSQL, Focus sur MongoDB par Cédric Derue (Altran)
Tester fonctionnellement une API REST
Composer installation without github.com (nor packagist) dependency - like a boss !
Qui a bouchonné mon Redis ?
API à consommer avec modération
How we use StatsD
Refonte de notre systĂšme de vote
Utilisation du StatsdBundle avec le composant Console
Conférence au Symfony Live 2014 : Symfony à la télé
Babitch, the story behind our table soccer web application
ContrÎlez facilement votre cohérence de code sur votre projet Symfony2 avec coke
Retour sur le forum PHP 2014 organisé par l'AFUP
Configuration dynamique avec Symfony ExpressionLanguage
CR React Europe Conférence 2015 - Day 1
CR React Europe Conférence 2015 - Day 2
Simplifiez vous la vie avec les hooks Git
L'envers du décor du nouveau 6play
Retour d’expĂ©rience : rĂ©aliser des Workers en PHP - Fabien de Saint pern au PHP Tour 2016
Retour d'expérience sur l'utilisation de Cassandra sur 6play en vidéo
Use the Sensiolabs Security Checker to check potential vulnerabilities on Symfony projects
Symfony Live Paris 2017
Last night isomorphic JS saved our life!
Elasticsearch: la grande migration
Forum PHP AFUP 2017
Migration to Spark 2.2
Useful (or not) M6Web OSS stuff
PHP Tour Montpellier 2018
Forum PHP Paris 2018
AFUP Day Lyon 2019
Forum PHP Paris 2019
Increase performance and stability by adding an Egress Controller in a Kubernetes cluster at AWS
Forum PHP 2021 - L'édition des retrouvailles
How AWS Cloudfront is helping us deliver our Web streaming platform? - Part 1
Retour sur l'AFUP Day Lille 2022
Bedrock's backend architecture and its front API Gateway
Handling dependencies failures in an API gateway
BFF's error definition, and handling connections to multiple API
Prescaling pods in Kubernetes, we open source our solution
Using a circuit breaker to spare the API we are calling
API Platform Conference 2022
Forum PHP 2022 - L’élĂ©phant bleu n’a pas peur de la souris aux grandes oreilles
Ce que nous avons retenu de la SymfonyCon - Disneyland Paris 2022
De Node.js 10 à Node.js 18, nous avons rattrapé 8 ans de retard et de dette technique
Retour Conférence Vue Amsterdam 2023
Bedrock Ă  l'AFUP Day Lyon (2023)
Bedrock Ă  la GopherCon EU (2023)
GopherCon UK 2023 highlights
Bedrock au Forum PHP 2023
Bedrock aux API Days Paris (2023)
Bedrock GopherCon Berlin 2024
How Special Event Page allowed us to handle more than 1 million of users
Insights from Golab Conference 2024, Florence
Bedrock au Devoxx 2025
How we lost our tests migrating to Databricks (and how we're getting them back)
ArrĂȘtons de perdre du temps Ă  dĂ©buguer !
Une donnée presque parfaite sur 6play
Nouveau socle pour une nouvelle vie
Atteindre les étoiles avec PHP et Symfony
Docker en prod ? Oui, avec Kubernetes !
Generators for Asynchronous Programming: User Manual
One year of asynchronous PHP in production
6play_API-v2-Final(1).doc
DevOps ? Je n'ai jamais voulu faire ça, et pourtant 

La scalabilitĂ© d’une Ă©quipe / d’un pĂŽle technique
PHP, c’est vous ! Et vous pouvez contribuer !
Faites confiance aux développeurs.euses de votre équipe : voyez plus loin que les fonctionnalités
Fiber: the open door to asynchronous
BFF, notre best friend forever pour faire plein d’applications frontend ?
Comprenez comment PHP fonctionne, vos applications marcheront mieux, Forum PHP 2022

Culture

Organiser des conférences technique en interne
M6Web Lyon recherche un Lead Developpeur / Architecte web (H/F) en CDI
M6Web Dev Facts #1
M6Web Dev Facts #2
M6Web Dev Facts #3
M6Web Dev Facts #4
M6Web Dev Facts #5
M6Web Dev Facts #6
M6Web Lyon recherche un Lead Developpeur / Architecte web (H/F) en CDI
Babitch, the story behind our table soccer web application
M6Web Dev Facts #7
M6Web Dev Facts #8
M6Web Dev Facts #9
M6Web Lyon recherche un développeur player vidéo JavaScript (H/F) en CDI
Le Plan Copenhague : notre migration vers Le Cloud, retour d’expĂ©rience
M6Web Dev Facts #10
M6Web Dev Facts #11
M6Web Dev Facts #12
Bedrock Dev Facts #13
The organisational challenge of building a Data team: lessons learnt
Bedrock Dev Facts #14
Bedrock Dev Facts #15
Bedrock Dev Facts #16
Retour sur l'Android Makers 2022
Bedrock Dev Facts #17
Bedrock Dev Facts #18
Un onboarding facilité grùce à la revue de code!
Bedrock Dev Facts #19
De Node.js 10 à Node.js 18, nous avons rattrapé 8 ans de retard et de dette technique
Bedrock au Kubernetes Community Days France 2023
Bedrock Ă  l'AWS Summit Paris 2023
Deux jours Ă  Android Makers by Droidcon 2023
Bedrock at 2023 AWS re:Invent Las Vegas
Journal de l'alternant - Comment j'ai perdu mes dépendances pnpm
KubeCon Europe 2024, Paris
Bedrock GopherCon Berlin 2024
Bedrock Dev Facts #20
Insights from Golab Conference 2024, Florence
Amateur de pression #LFT 03/06/22
CrĂ©er un jeu vidĂ©o en moins d’une heure sur Unity #LFT 03/06/22
Errances à KiilopÀÀ #LFT 03/06/22
La pression je ne la subis pas, je la fais #LFT 03/06/22

Data

Frontend

Introduction à la qualité logicielle avec Node.js
Vigo, le fléau des Carpates
Babitch, the story behind our table soccer web application
Tests E2E sur son application AngularJS avec Protractor
Améliorer la webperf de son application JS avec GruntJs
Providers AngularJS et configuration dynamique
App Isomorphic: la Single Page App parfaite ?
CR React Conférence 2015 - Day 1
CR React Conférence 2015 - Day 2
How did we mock the backend developers?
Comment a-t-on bouchonné les développeurs backend ?
Introduction Ă  Immutable.Js, Relay + GraphQL et React Native
CR React Europe Conférence 2015 - Day 1
CR React Europe Conférence 2015 - Day 2
Simplifiez vous la vie avec les hooks Git
La bĂȘta du nouveau 6play est disponible
On a testé fonctionnellement notre app JS
Preview your Android & iOS React Native apps on your Github Pull Request
Migrate smoothly your Flux isomorphic app to Redux
L'équipe Player de 6play.fr au Paris Video Tech
Format all the things
Last night isomorphic JS saved our life!
Useful (or not) M6Web OSS stuff
The 6play platform goes international
How a fullscreen video mode ended up implementing React Native Portals?
React Europe 2019
How to boost the speed of your webpack build?
React/Redux: pitfalls and best practices
Bonnes pratiques pour la maintenance d'une application web
Best practices for Web application maintenance
How AWS Cloudfront is helping us deliver our Web streaming platform? - Part 1
Comment appliquer automatiquement des modifications sur une codebase JS đŸ€–
De Node.js 10 à Node.js 18, nous avons rattrapé 8 ans de retard et de dette technique
Retour Conférence Vue Amsterdam 2023
Journal de l'alternant - Comment j'ai perdu mes dépendances pnpm
How Special Event Page allowed us to handle more than 1 million of users
JS Nation x React Summit 2024 highlights
How to manage hundreds of view templates?
We love speed 2024 ❀
How we improved scroll performance on Smart TV apps
How we made our apps more accessible on SmartTVs đŸ“ș
Crafting Your Own Streamer: A Hands-on Guide to JavaScript MSE
Performance.now() 2025 - Pragmatic, Magical and Responsible Performance
Switching from Babel to SWC: Balancing performance with modern tools and legacy code
Writing end-to-end tests for a Smart TV app
Building a Scalable, Multi-Tenant QA Automation Stack at Bedrock Streaming
Comment faire un trailer vidéo qui déchire avec des technos web ?
âšĄïž Vite âšĄïž the Webpack killer
Comment faire un trailer vidéo qui déchire avec les technos web ? #LFT 03/06/22
đŸȘ It’s Cookie Jar Time đŸȘ #LFT 03/06/22
Comment ne pas jeter son application Frontend tous les deux ans ?
Migration progressive vers Redux Toolkit
Projet XState

Machine learning

Mobile

Observability

Open source

Firewall applicatif PHP et bundle Symfony
Coke, pour bien sniffer son code
Benchmarking WebSockets avec NodeJs
JenkinsLight, mettez en lumiĂšre vos jobs Jenkins
Qui a bouchonné mon Redis ?
API à consommer avec modération
Babitch, the story behind our table soccer web application
ContrÎlez facilement votre cohérence de code sur votre projet Symfony2 avec coke
Github Team Reviewer pour gagner la course aux Pull Requests
How did we mock the backend developers?
Comment a-t-on bouchonné les développeurs backend ?
Simplifiez vous la vie avec les hooks Git
Useful (or not) M6Web OSS stuff
More efficient Load Balancing and Caching at AWS, using Consistent Hashing and HAProxy
Announcing BedrockStreaming/pr-size-labeler github action 🎉
Prescaling pods in Kubernetes, we open source our solution
Bedrock au Kubernetes Community Days France 2023
Bedrock Ă  l'AWS Summit Paris 2023
Bedrock at 2023 AWS re:Invent Las Vegas
KubeCon Europe 2024, Paris
Bedrock GopherCon Berlin 2024
Insights from Golab Conference 2024, Florence
Docker en prod ? Oui, avec Kubernetes !
L'open source, ce n'est pas que pour le web
PHP, c’est vous ! Et vous pouvez contribuer !

Performance

Performances PHP chez M6Web
CR Velocity Conference 2012 : Day 1 (Dev/Webperf)
CR Velocity Conference 2012 : Day 2 (DevOps/WebPerf)
CR Velocity Conference 2012 : Day 3 (DevOps/WebPerf)
CR Velocity Conférence Europe 2012 : Day 1
CR Velocity Conférence Europe 2012 : Day 2
CR Velocity Conférence Europe 2012 : Day 3
CR Real Time Conférence Europe 2013 - Day 1
CR Real Time Conférence Europe 2013 - Day 2
Performances web et "Disaster case" sur applications mobile native
Benchmarking WebSockets avec NodeJs
Velocity Europe 2013 - Day 1
Velocity Europe 2013 - Day 2
Velocity Europe 2013 - Day 3
Améliorer la webperf de son application JS avec GruntJs
Retour sur la Velocity Barcelone - premier jour
Retour sur la Velocity Barcelone - seconde journée
Retour sur la Velocity Barcelone - troisiÚme journée
App Isomorphic: la Single Page App parfaite ?
Retour sur la Velocity New York Conference 2016
Last night isomorphic JS saved our life!
Increase performance and stability by adding an Egress Controller in a Kubernetes cluster at AWS
More efficient Load Balancing and Caching at AWS, using Consistent Hashing and HAProxy
Scaling Bedrock video delivery to 50 million users
Tonight's football time, let's prescale Kubernetes to avoid a crash!
How AWS Cloudfront is helping us deliver our Web streaming platform? - Part 1
How to ingest 400GB of logs per hour?
Prescaling pods in Kubernetes, we open source our solution
Monitoring at scale with Victoria Metrics
How Micro-Services changed our caching architecture
Bedrock at We Love Speed 2023
We love speed 2024 ❀
Using Fastly's Compute at-edge to personalize static pre-generated pages
How we improved scroll performance on Smart TV apps
Performance.now() 2025 - Pragmatic, Magical and Responsible Performance
Switching from Babel to SWC: Balancing performance with modern tools and legacy code
Hosting the 2026 World Cup on M6+

Platform

CR Velocity Conference 2012 : Day 2 (DevOps/WebPerf)
CR Velocity Conference 2012 : Day 3 (DevOps/WebPerf)
Intégration continue avec Jenkins et Atoum
CR Velocity Conférence Europe 2012 : Day 1
CR Velocity Conférence Europe 2012 : Day 2
CR Velocity Conférence Europe 2012 : Day 3
LĂąche moi la branch !
JenkinsLight, mettez en lumiĂšre vos jobs Jenkins
Composer installation without github.com (nor packagist) dependency - like a boss !
Vagrant & Cie, du Dév à la Prod avec Julien Bianchi
Providers AngularJS et configuration dynamique
Github Team Reviewer pour gagner la course aux Pull Requests
Configuration dynamique avec Symfony ExpressionLanguage
Retour sur la Velocity Barcelone - troisiÚme journée
Preview your Android & iOS React Native apps on your Github Pull Request
Use the Sensiolabs Security Checker to check potential vulnerabilities on Symfony projects
Retour sur la Velocity New York Conference 2016
Get your brownfield React Native app built on demand
KubeCon 2018 Copenhagen, day 1
KubeCon 2018 Copenhagen, day 2
KubeCon 2018 Copenhagen, day 3
KubeCon 2018 Copenhagen, global review
Le Plan Copenhague : notre migration vers Le Cloud, retour d’expĂ©rience
Migrating production applications from on-premise to the cloud with no downtime
Three years running Kubernetes on production at Bedrock
Increase performance and stability by adding an Egress Controller in a Kubernetes cluster at AWS
More efficient Load Balancing and Caching at AWS, using Consistent Hashing and HAProxy
Scaling Bedrock video delivery to 50 million users
Tonight's football time, let's prescale Kubernetes to avoid a crash!
How AWS Cloudfront is helping us deliver our Web streaming platform? - Part 1
Bedrock Ă  l'AWS Summit 2022
Announcing BedrockStreaming/pr-size-labeler github action 🎉
Bedrock à la kubecon 2022, 1ere partie : performances applicatives et scalabilité
Bedrock à la Kubecon 2022, 2nde partie : performances, systÚme et réseau
Bedrock Ă  la Kubecon 2022, 3Ăšme partie : Dev XP, outillage, CI/CD, observabilité 
Bedrock Ă  la Kubecon 2022, 4Ăšme partie : chaos, rĂ©silience, ressenti global et conclusion gĂ©nĂ©rale

Encrypt AWS AMIs: one way to do it wrong
How to ingest 400GB of logs per hour?
Prescaling pods in Kubernetes, we open source our solution
Monitoring at scale with Victoria Metrics
How many DynamoDB RCU and WCU should we reserve to achieve maximum cost reductions, when our workloads are changing all the time?
Nos retours sur l'HAProxyConf Paris 2022
How Micro-Services changed our caching architecture
Why is Transit Gateway service not right for us?
La gamification contre le legacy
De Node.js 10 à Node.js 18, nous avons rattrapé 8 ans de retard et de dette technique
Bedrock au Kubernetes Community Days France 2023
Bedrock Ă  l'AWS Summit Paris 2023
Bedrock at 2023 AWS re:Invent Las Vegas
KubeCon Europe 2024, Paris
QCon London 2024
Using Fastly's Compute at-edge to personalize static pre-generated pages
Bedrock au Devoxx 2025
How Blue-Green helped us migrating critical components with zero downtime
Hosting the 2026 World Cup on M6+
How we lost our tests migrating to Databricks (and how we're getting them back)
Docker en prod ? Oui, avec Kubernetes !
Une application résiliente, dans un monde partiellement dégradé
DevOps ? Je n'ai jamais voulu faire ça, et pourtant 

Migration de 6play vers Le Cloud, retour d’expĂ©rience.
Comment nous rĂ©duisons l’augmentation de nos coĂ»ts AWS
You Build it, you run it

Practices

Tentative d'explication des Fast-Forward sous Git
Firewall applicatif PHP et bundle Symfony
Coke, pour bien sniffer son code
LĂąche moi la branch !
Introduction à la qualité logicielle avec Node.js
Vigo, le fléau des Carpates
Tester fonctionnellement une API REST
JenkinsLight, mettez en lumiĂšre vos jobs Jenkins
Qui a bouchonné mon Redis ?
API à consommer avec modération
Refonte de notre systĂšme de vote
ContrÎlez facilement votre cohérence de code sur votre projet Symfony2 avec coke
Tests E2E sur son application AngularJS avec Protractor
Github Team Reviewer pour gagner la course aux Pull Requests
Mix-IT 2015 - Jour 2
Simplifiez vous la vie avec les hooks Git
La retrospective Agile ‘Garde à vous’
Format all the things
The organisational challenge of building a Data team: lessons learnt
Debugging and reviewing your Android dependencies with apktool
Comment appliquer automatiquement des modifications sur une codebase JS đŸ€–
Retour sur la conférence MiXiT 2022
Les spikes : quand, comment, pour quoi faire ?
La gamification contre le legacy
Bedrock au Kubernetes Community Days France 2023
Bedrock Ă  MiXiT Lyon (2023)
Enhancing Production Monitoring with New Relic
Bedrock au MiXiT 2025
Building a Scalable, Multi-Tenant QA Automation Stack at Bedrock Streaming
No-code, ou le dĂ©veloppement d’applications ouvert Ă  d’autres mĂ©tiers !
Revue de code : on n’est pas venu pour souffrir !
Sauve un-e dév, écris une doc !
Améliorons ensemble la doc de Postgres
Sauve un-e dév, écris une doc !

Security

Testing

Video

Retrouvez l'intervention du CTO de M6 Web, Martin Boronski, Ă  la table ronde du Forum PHP 2012
La POO Canada Dry
Redis on fire !
Encodage - packaging - DRM - tout sur la vidéo
Introduction Ă  Drupal par Claire Roubey (Clever Age)
Le NoSQL, Focus sur MongoDB par Cédric Derue (Altran)
Vagrant & Cie, du Dév à la Prod avec Julien Bianchi
M6Web était présent au PHPTour Lyon 2014
Introduction Ă  Immutable.Js, Relay + GraphQL et React Native
Mix-IT 2015 - Jour 1
CR React Europe Conférence 2015 - Day 1
CR React Europe Conférence 2015 - Day 2
La bĂȘta du nouveau 6play est disponible
L'envers du décor du nouveau 6play
M6web sera présent au PHPTour Clermont-Ferrand
Retour d’expĂ©rience : rĂ©aliser des Workers en PHP - Fabien de Saint pern au PHP Tour 2016
Retour d'expérience sur l'utilisation de Cassandra sur 6play en vidéo
L'équipe Player de 6play.fr au Paris Video Tech
Format all the things
The 6play platform goes international
React Europe 2019
How did we live stream our Last Friday Talks?
More efficient Load Balancing and Caching at AWS, using Consistent Hashing and HAProxy
Scaling Bedrock video delivery to 50 million users
How did we streamline the delivery of our internal conferences aka LFTs?
Subtitles, open captions, closed captions, SDH, oh my!
How we improved scroll performance on Smart TV apps
How we made our apps more accessible on SmartTVs đŸ“ș
Crafting Your Own Streamer: A Hands-on Guide to JavaScript MSE
Writing end-to-end tests for a Smart TV app
Distribuez votre vidéo partout avec 3 euros en poche et devenez millionaire. Ou presque.
Une donnée presque parfaite sur 6play
Migration de 6PLAY - l'amour est dans le cloud
Comment faire un trailer vidéo qui déchire avec des technos web ?
Comment faire un trailer vidéo qui déchire avec les technos web ? #LFT 03/06/22