SlideShare une entreprise Scribd logo
symfony à la télé
@omansour
 http://tech.m6web.fr
Oracle 7
PHP 3
symfony 0.6.3
wolfenstein 3D
Responsive Design
offres digitales et
interactives du Groupe M6
~20 sites : Clubic – JeuxVideo.fr – AchetezFacile
6play - 60M Vidéos Vues / mois
Catchup + Live + socialTV
« moins de 200 rps t’es pas sérieux »
« on est pas un centre de R&D »
http://tech.m6web.fr/monitoring-applicatif-pourquoi-et-comment/
Symfony à la télé
http://tech.m6web.fr/vis-ma-vie-sysadmin-forumphp.html
Responsive Design
$nbDevs < $nbProjects
$nbDevs < $nbTechnos
306 repo GIT
150 domaines actifs


PHP 5.2 - 5.3 – 5.4 – 5.5
MySQL 5.1 – 5.5 / innodb - myIsam
Redis – Memcached - Varnish
RabbitMQ – ZeroMQ
NodeJS – Perl - shell
Symfony à la télé
we all write bad code
Symfony à la télé
Symfony à la télé
http://tech.m6web.fr/la-poo-canada-dry/
Responsive Design
symfony-m6-edition

pour en finir avec pomme c / pomme v
Faciliter la création des projets
Diminuer Supprimer « le coût » de la qualité

composer create-project m6/symfony-m6-edition .
--repository-url=http://satis/ -s dev
«  Qui veut faire quelque
chose trouve un moyen. 



Qui ne veut rien faire
trouve une excuse. »

Responsive Design
transition

sf2 first !
Pas de régressions
Chaque projets est indépendant
Séparer le legacy via du SOA
Intégrer les contrôleurs sf2 en 1er dans la stack
Responsive Design
+ = (depuis 18 mois)
•  HTTP 1.1 / config des contrôleurs 
•  $> php app/console router:debug
•  Service Container
•  Bundles
•  Plein de gens géniaux autour
Symfony à la télé
Symfony à la télé
Responsive Design
OSS spirit
117 bundles et composants
http://tech.m6web.fr/composer-installation-without-github.html
Responsive Design
Bundles

https://github.com/M6Web/ 
•  Redis + RedisBundle + RedisMock + cache-extra
•  Statsd + StatsdBundle
•  DomainUserBundle
•  FirewallBundle (ip filtering)
•  LogBridgeBundle …
Responsive Design
Statsd

http://tech.m6web.fr/how-we-use-statsd/ 
•  « Gardez les yeux ouverts sur la prod »
•  Consistent hashing
•  Bind sur des évènements
•  Config basique dans chaque projet

« fait le job »
Responsive Design
config_prod.yml
Responsive Design
LogBridgeBundle

https://github.com/M6Web/LogBridgeBundle
•  Log les requests / responses
•  compatible monolog
Symfony à la télé
Responsive Design
DomainUserBundle

http://tech.m6web.fr/api-a-consommer-avec-moderation/ 
•  Customise ton API par sous domaine
•  routing
•  cache
•  parameters
app/config/users/raoul.yml
http://raoul.monapi.fr
Responsive Design
Testing

comme tout le monde 
•  Tests Atoum => OK – ~20K assertions par projet
•  Unitaire
•  Fonctionnel => toutes les routes testées
•  Behat => trop lent ?
Responsive Design
“Et c’est quoi l’IP de la
base de données ?”
•  config_prod.yml:
imports:
- { resource: /srv/resource/db/doctrine/
image.yml }
« PHP est fait pour tout et
pour tous »


Rasmus Lerdorf (Forum PHP 2012)
« bof »




Olivier Mansour (Symfony Live 2014)
varnish 
 nginx
 nginx + lua
 nodejs
 symfony2
Perf	
  (rps/server)	
  
Responsive Design
perfs != speed

“en gros”
Mais	
  en	
  gros	
  :	
  
•  varnish	
  :	
  1ms	
  
•  ngnix	
  :	
  4ms	
  
•  nodejs	
  :	
  10ms	
  
•  Sf2	
  :	
  qq	
  centaines	
  	
  
de	
  ms?!	
  
	
  
http://tech.m6web.fr/refonte-de-notre-systeme-de-vote/
varnish 
 nginx
 nginx + lua
 nodejs
 symfony2
nb lignes de code 

(sans péter un câble)
300	
  
30	
  000	
  
30	
  
https://github.com/newsapps/beeswithmachineguns 
$> siege --concurrent=100 -b --time=30S -q <URL>
http://tech.m6web.fr/benchmarking-websockets-avec-nodejs/
https://github.com/newsapps/beeswithmachineguns 
$> siege --concurrent=100 -b --time=30S -q <URL>
http://tech.m6web.fr/benchmarking-websockets-avec-nodejs/
Responsive Design
Architecture 

for noob
•  Amortissez tout sur un cache / sf2 au bon endroit
•  Ne vous couplez pas à une archi non scalable
•  1 gros appel pas performant versus n … et la
webperf ?
•  « Mieux vaut être prudent que désolé »
Responsive Design
REST

in peace
•  « c’est pas REST » => OSEF 
•  Doit intégrer vos contraintes de charges
/v1/contents/12?revision=3
Learn the rules like a pro
so you can break them like an artist.
— Pablo Picasso
BEFORE
Mobile	
  
devices	
  
Live	
  
broadcast	
  
events	
  
contents	
  
Bmeline	
  calculaBon	
  
Synchronis
ed	
  events	
  
AFTER
Mobile	
  
devices	
  
Live	
  
broadcast	
  
events	
  
contents	
  
Bmeline	
  calculaBon	
  
Synchroni
sed	
  
events	
  
Timeline(s)	
  	
  
contents	
  
PHP	
  5.4	
  +	
  SF2	
  +	
  MySQL	
  
Symfony à la télé
Symfony à la télé
« Difficile à voir. Toujours
en mouvement est
l'avenir. »




Maître Yoda
hOp://ask.fm/omansour_	
  	
  

Contenu connexe

PPTX
Symfony live Paris 2014 - Symfony2 sur Azure
PPTX
Developper une application mobile
PPTX
Développement mobile cross-plateform
PDF
Comment construire un environnement e-commerce complet avec Symfony 2 ?
PPT
Principes De Base De Asp .Net
PPT
PDF
Xamarin.Forms [french]
PDF
Java Fx Rapport
Symfony live Paris 2014 - Symfony2 sur Azure
Developper une application mobile
Développement mobile cross-plateform
Comment construire un environnement e-commerce complet avec Symfony 2 ?
Principes De Base De Asp .Net
Xamarin.Forms [french]
Java Fx Rapport

Tendances (13)

PDF
Introduction à web assembly
PPTX
Actionscript: du web au mobile
PPT
Silverlight
PPTX
JavaFx overview
PPTX
Xamarin + mvvm cross
PDF
symfony : Un Framework Open-Source pour les Professionnels
PDF
[XamarinDay] Développez en XAML avec Xamarin Forms
PPTX
Quoi de neuf dans ASP.NET 4.5
PDF
Introduction aux web components
PPT
Active Server Pages (ASP)
PDF
Déploiement d’applications
PPTX
Meetup angular rshop
Introduction à web assembly
Actionscript: du web au mobile
Silverlight
JavaFx overview
Xamarin + mvvm cross
symfony : Un Framework Open-Source pour les Professionnels
[XamarinDay] Développez en XAML avec Xamarin Forms
Quoi de neuf dans ASP.NET 4.5
Introduction aux web components
Active Server Pages (ASP)
Déploiement d’applications
Meetup angular rshop
Publicité

En vedette (20)

PDF
Association developpement-economique
PDF
L'économie des télécoms en France - 2011
PDF
Le savoir traditionnel et la cybercartographie
PPS
Publics et service de bibliothèque en ligne
PDF
Call for Tenders - Château de Versailles
PDF
Grand_Besançon_12
PPTX
Recherche et veille sur internet : 80% d'efficacité en plus
PDF
Les rendez-vous de l’INRA - L'Europe Laitière en 2020 : bilan, perspectives e...
PDF
Caractéristiques et opportunités de la vente alimentaire via Internet
PDF
Certificat Medical du Sportif pa 10 05 11
PPT
Bora Bora
PDF
Gestion des dépendances dans un projet PHP - Forum PHP 2012
PPT
D'autres modèles d'accès ouvert sont possibles | Marin Dacos, Paris, 23 jan...
PPTX
Tendances Web Marketing 2013
PPTX
AdWords Updates der letzten 12 Monate
PPTX
Qu’est ce que c’est sous marin
PDF
Hoogste beoordeling Marin Mount Vision C-XM Pro door Bike Germany - mei 2014
PDF
Développement du GNL carburant marin_Rapport Maler
PDF
Cp volcan trinidad & tobago
PDF
Station de cable sous marin sat3 cotonou
Association developpement-economique
L'économie des télécoms en France - 2011
Le savoir traditionnel et la cybercartographie
Publics et service de bibliothèque en ligne
Call for Tenders - Château de Versailles
Grand_Besançon_12
Recherche et veille sur internet : 80% d'efficacité en plus
Les rendez-vous de l’INRA - L'Europe Laitière en 2020 : bilan, perspectives e...
Caractéristiques et opportunités de la vente alimentaire via Internet
Certificat Medical du Sportif pa 10 05 11
Bora Bora
Gestion des dépendances dans un projet PHP - Forum PHP 2012
D'autres modèles d'accès ouvert sont possibles | Marin Dacos, Paris, 23 jan...
Tendances Web Marketing 2013
AdWords Updates der letzten 12 Monate
Qu’est ce que c’est sous marin
Hoogste beoordeling Marin Mount Vision C-XM Pro door Bike Germany - mei 2014
Développement du GNL carburant marin_Rapport Maler
Cp volcan trinidad & tobago
Station de cable sous marin sat3 cotonou
Publicité

Similaire à Symfony à la télé (20)

PDF
symfony : Simplifier le développement des interfaces bases de données (PHP ...
PDF
S43 passer à php 7 sous IBM i
PPTX
Performance au quotidien dans un environnement symfony
PPTX
S21 les dernières nouveautés php sous ibm i (zend server 8.5 et zend studio...
PPTX
Développez dans le futur, dès maintenant !
PPTX
Développez dans le futur, dès maintenant !
PDF
Présentation Système d’exploitation Open Source Lepton - MEITO Mai 2014
PDF
wallabag, comment on a migré vers symfony3
PDF
BreizhCamp 2019 - IoT et open source hardware pour la collecte de timeseries
PPTX
Monitoring applicatif : Pourquoi et comment ?
PPTX
Les nouvelles architectures Skype for Business
PPTX
Retour AFUP du forumphp 2017
PDF
1 pourquoi le big data aujourdhui
PDF
Orchestrez vos projets Symfony sans fausses notes
PPTX
Php sous Windows - webcamps Paris
PPTX
Plivo OSDC FR 2012
PDF
Hacking your Home @bdx.io
ODP
2012 02-09-eranea-presentation-jug-lausanne
PDF
ASP.NET MVC 6
PDF
Sizing PoC LSF & PowerAI for Engineers schools workloads
symfony : Simplifier le développement des interfaces bases de données (PHP ...
S43 passer à php 7 sous IBM i
Performance au quotidien dans un environnement symfony
S21 les dernières nouveautés php sous ibm i (zend server 8.5 et zend studio...
Développez dans le futur, dès maintenant !
Développez dans le futur, dès maintenant !
Présentation Système d’exploitation Open Source Lepton - MEITO Mai 2014
wallabag, comment on a migré vers symfony3
BreizhCamp 2019 - IoT et open source hardware pour la collecte de timeseries
Monitoring applicatif : Pourquoi et comment ?
Les nouvelles architectures Skype for Business
Retour AFUP du forumphp 2017
1 pourquoi le big data aujourdhui
Orchestrez vos projets Symfony sans fausses notes
Php sous Windows - webcamps Paris
Plivo OSDC FR 2012
Hacking your Home @bdx.io
2012 02-09-eranea-presentation-jug-lausanne
ASP.NET MVC 6
Sizing PoC LSF & PowerAI for Engineers schools workloads

Plus de Olivier Mansour (7)

PPTX
PHP, ce truc de vieux
PDF
Devfacts are coming
PDF
Le second écran chez M6Web, another (php) brick in the wall !
PDF
Bilan moral et financier du bureau AFUP 2013
ODP
Keynote de cloture du forum PHP 2013
PDF
Keynote d'ouverture du forum PHP 2013
ODP
Acheter des prestations IT et web
PHP, ce truc de vieux
Devfacts are coming
Le second écran chez M6Web, another (php) brick in the wall !
Bilan moral et financier du bureau AFUP 2013
Keynote de cloture du forum PHP 2013
Keynote d'ouverture du forum PHP 2013
Acheter des prestations IT et web

Dernier (7)

PDF
FORMATION COMPLETE EN EXCEL DONE BY MR. NYONGA BRICE.pdf
PPTX
Presentation_Securite_Reseaux_Bac+2.pptx
PDF
Modems expliqués- votre passerelle vers Internet.pdf
PDF
FORMATION EN Programmation En Langage C.pdf
PDF
Tendances tech 2025 - SFEIR & WENVISION.pdf
PDF
presentation_with_intro_compressee IEEE EPS France
PPTX
Souveraineté numérique - Définition et enjeux pour les entreprises et les dév...
FORMATION COMPLETE EN EXCEL DONE BY MR. NYONGA BRICE.pdf
Presentation_Securite_Reseaux_Bac+2.pptx
Modems expliqués- votre passerelle vers Internet.pdf
FORMATION EN Programmation En Langage C.pdf
Tendances tech 2025 - SFEIR & WENVISION.pdf
presentation_with_intro_compressee IEEE EPS France
Souveraineté numérique - Définition et enjeux pour les entreprises et les dév...

Symfony à la télé