SlideShare a Scribd company logo
1 of 60
Backend Mutation
With Symfony
Joris Calabrese
Head Of
Industrialization
Etienne Broutin
Architect
Meetic corp
• Started in 2001
• Leader in Europe, 17 countries
• Millions of Monthly Active Users
• 150 people in IT team
Past
•
Present
•
Future
Start up + Rapid Growth
=
Spaghetti
Monolithic code
Webservices
Backoffices
Mobile Web
WAP
Desktop
Cronjobs
…
700k
NLOC
Billing
Systems
DataBase centric architecture
Mailing
BI
Procedures
+ Triggers
Some Metrics
4 000
TABLES
900
configurations
400
Servers
Need to change something ?
A. Ask 400 people
B. Read all the code, understand
everything then notify everyone
C. Break everything
D. Add a dirty “if” for your
specific case
D. Add a dirty “if” for your
specific case
Spaghetti + Quality Approach
=
J’ai de la chance
What Was Our Development Env?
• Locked Files System
• 1 Database for all Developers
• No Automated Tests
QA
• 1 release every 2 weeks
• 50 projects by release
• 1 button !
What Was Our
Quality Approach?
Who wants to play?
Illustration: mailchimp • mailchimp.com
When it works…
…and when it fails!
Some Stats
10
TEAMS
2
Deploy/WEEK
2012 2015
Plateform Growth
1
5
65
BUGS/WEEK
1
ROLLBACK/W
EEK
Spec v1
Bug Cost
Source: Applied Software Measurement, Capers Jones, 1996
And, If we want to add automated tests?
A. Chuck Norris develops
without bug
B. Only test get_next_week()
C. Mock 200 global variables
and 35 functions
D. I will do it when I have timeD. I will do it when I have time
New Talent + Innovation
Need
=
New Architecture
Target
All Clients are born equal in dignity and rights1
SOA architecture
Prevents code duplication
Mutualize features Web Services
But this single, centralized webservice will still be
huge and complex ?
Too long…
All Web Services have a single
responsibility
2
Message Photos Profile Search
Strict REST API
profiles messages
GET /profiles/xxxx
PUT /profiles/xxxx
GET /messages/xxxx
POST /messages
profiles messages
Do not share your data
Inside Business services
Symfony serialization for JSON input / output
Business Logic
Cache Layer
Doctrine DBAL
Controller
Service
Proxy Cache
DAO
Online Photos Profile Rights Search Boost
That means clients should make several calls to
display a single page?
Too long…
Online Photos Profile Rights Search Boost
But from client
point of view
Online Photos Profile Rights Search Boost
But from client
point of view
API Exposure Layer
Separation of concerns
business logic
database access
orchestration
security, sessions
configuration
UX
API Exposure Layer
Exposure layer
API Exposure Layer
Web Business Services
Back Office
Mailing
Payments
Inside Exposure Layer
Use Guzzle with batch calls
FOSRESTBundle
Orchestrate API calls
Assemble results from APIs
Controller
Manager
API Client
Android application
Example to display a list of members
GET /members
Get a list of
user ids using
Location search
Fetch user data
Exposure Layer
Configuration:
group B
uses location search
AB Tests Search Profile
user is from
group B
1 2
3
Migration
Strategy
Webservices
Web Business Services
New Quality Approach
Testing Strategy: Unit test
Threshold Spirit
Controller
Service
DAO
Complexity Code Coverage
Complexity Code Coverage
Complexity Code Coverage
Testing Strategy: Integration test
Continuous Integration
60
JOBS
5
Agents
5
Platform
10
builds in
prOgress
Product Centric
• Kept a good Knowledge
• Share Product Vision
• Share a same vocable
Behavior Driven Development
Testing Strategy: Behavior Test
Android application
GET /members
Exposure Layer
AB Tests Search Profile
1 2
3
Given I am a user of the B group
And my geoloc position is Paris
When I launch a search on the online
Then I see a list of profile
And the first profiles are
near of my position
Docker Focus
• Allow the dev to automated testing all technical stack
• 50 instances to launch in parallel
• Different scope and context for the automated tests
Docker Focus:
How to?
Docker
Compose
Exposure
Layer
Business
Service
Legacy
Service
Oracle
MySQL
1
2
3
4
5
23
45
QA Position
Design Build Test Prod
QA Position
Design Build Test Prod
Team Autopsy
Front Developer
• AngularJS, Grunt, …
• Code Review
• TDD, BDD
Back Developer
• Design
• Symfony2, Composer, …
• Code Review
• TDD,BDD
Product Owner
• Define feature
• Scenario writing
• Define Business Indicators
Developer Community
• Continuous Learning
• Ease the sharing
• Improve the Skill Switching
• Community Of Practice
• BBL
Source Management
180
Repositories
12
groups
14
Technos
50+
Users
Jenkins/Gitlab Focus
master
Working-branch
Unit tests
Integration tests
Static Analyse
Hey all!
Who wants to review my MR?
I would love to.
You can assign it to me.
Dev Infrastructure
API
API
Some Stats
2012 2015
1x
7x
Bug In By Week
2012 2015
2
10
Deployment by Day
0,5%
Of rollback
3 756
Written tests
91,3
%
Code
coverage
Our New Future
• Impact management
• Reusability
From Architecture point of
view
Continuous Deployment
<< Dev Metrics
Prod Metrics >>
Next Challenges
Harder, Better,
Faster, Stronger!
by
Meetic Backend Mutation With Symfony

More Related Content

What's hot

Dnc2015 azure-microservizi-vforusso
Dnc2015 azure-microservizi-vforussoDnc2015 azure-microservizi-vforusso
Dnc2015 azure-microservizi-vforusso
DotNetCampus
 
Micro-frontends – is it a new normal?
Micro-frontends – is it a new normal?Micro-frontends – is it a new normal?
Micro-frontends – is it a new normal?
Lohika_Odessa_TechTalks
 

What's hot (20)

Vue micro frontend implementation patterns
Vue micro frontend implementation patternsVue micro frontend implementation patterns
Vue micro frontend implementation patterns
 
Code Generation for Azure with .net
Code Generation for Azure with .netCode Generation for Azure with .net
Code Generation for Azure with .net
 
TUTTO SU VISUAL STUDIO ALM 2015
TUTTO SU VISUAL STUDIO ALM 2015TUTTO SU VISUAL STUDIO ALM 2015
TUTTO SU VISUAL STUDIO ALM 2015
 
BizTalk Server Extensibility
BizTalk Server ExtensibilityBizTalk Server Extensibility
BizTalk Server Extensibility
 
Dependency Injection in Silverlight
Dependency Injection in SilverlightDependency Injection in Silverlight
Dependency Injection in Silverlight
 
Component Based UI Architecture - Alex Moldovan
Component Based UI Architecture - Alex MoldovanComponent Based UI Architecture - Alex Moldovan
Component Based UI Architecture - Alex Moldovan
 
Dnc2015 azure-microservizi-vforusso
Dnc2015 azure-microservizi-vforussoDnc2015 azure-microservizi-vforusso
Dnc2015 azure-microservizi-vforusso
 
Infinum Android Talks #12 - MVP design pattern for Android Apps
Infinum Android Talks #12 - MVP design pattern for Android AppsInfinum Android Talks #12 - MVP design pattern for Android Apps
Infinum Android Talks #12 - MVP design pattern for Android Apps
 
Get your mobile app in production in 3 months: Native and Reactive Mobile Apps
Get your mobile app in production in 3 months: Native and Reactive Mobile AppsGet your mobile app in production in 3 months: Native and Reactive Mobile Apps
Get your mobile app in production in 3 months: Native and Reactive Mobile Apps
 
Get your mobile app in production in 3 months: DevOps and Infrastructure
Get your mobile app in production in 3 months: DevOps and InfrastructureGet your mobile app in production in 3 months: DevOps and Infrastructure
Get your mobile app in production in 3 months: DevOps and Infrastructure
 
Make your animations perform well - Anna Migas - Codemotion Rome 2017
Make your animations perform well - Anna Migas - Codemotion Rome 2017Make your animations perform well - Anna Migas - Codemotion Rome 2017
Make your animations perform well - Anna Migas - Codemotion Rome 2017
 
Micro-frontends – is it a new normal?
Micro-frontends – is it a new normal?Micro-frontends – is it a new normal?
Micro-frontends – is it a new normal?
 
Building loosely coupled integrations with Logic Apps
Building loosely coupled integrations with Logic AppsBuilding loosely coupled integrations with Logic Apps
Building loosely coupled integrations with Logic Apps
 
Get your mobile app in production in 3 months: Backend
Get your mobile app in production in 3 months: BackendGet your mobile app in production in 3 months: Backend
Get your mobile app in production in 3 months: Backend
 
Get your mobile app in production in 3 months: Native and Reactive Mobile Apps
Get your mobile app in production in 3 months: Native and Reactive Mobile AppsGet your mobile app in production in 3 months: Native and Reactive Mobile Apps
Get your mobile app in production in 3 months: Native and Reactive Mobile Apps
 
yii1
yii1yii1
yii1
 
Valentine with Angular js - Introduction
Valentine with Angular js - IntroductionValentine with Angular js - Introduction
Valentine with Angular js - Introduction
 
Unlimited Frameworks
Unlimited FrameworksUnlimited Frameworks
Unlimited Frameworks
 
"Project Tye to Tie .NET Microservices", Oleg Karasik
"Project Tye to Tie .NET Microservices", Oleg Karasik"Project Tye to Tie .NET Microservices", Oleg Karasik
"Project Tye to Tie .NET Microservices", Oleg Karasik
 
Testing Microservices
Testing MicroservicesTesting Microservices
Testing Microservices
 

Viewers also liked

BlaBlaCar and infrastructure automation
BlaBlaCar and infrastructure automationBlaBlaCar and infrastructure automation
BlaBlaCar and infrastructure automation
sinfomicien
 

Viewers also liked (20)

Meetup scala paris user group - conflation like @ meetic
Meetup scala paris user group - conflation like @ meeticMeetup scala paris user group - conflation like @ meetic
Meetup scala paris user group - conflation like @ meetic
 
Paris Job Talk
Paris Job TalkParis Job Talk
Paris Job Talk
 
Transition Agile @ Meetic
Transition Agile @ MeeticTransition Agile @ Meetic
Transition Agile @ Meetic
 
Getting started with Sylius
Getting started with SyliusGetting started with Sylius
Getting started with Sylius
 
Expériencer les objets connectés
Expériencer les objets connectésExpériencer les objets connectés
Expériencer les objets connectés
 
Industrialisation PHP - Canal+
Industrialisation PHP - Canal+Industrialisation PHP - Canal+
Industrialisation PHP - Canal+
 
BlaBlaCar - Going Native !
BlaBlaCar - Going Native ! BlaBlaCar - Going Native !
BlaBlaCar - Going Native !
 
BlaBlaCar and infrastructure automation
BlaBlaCar and infrastructure automationBlaBlaCar and infrastructure automation
BlaBlaCar and infrastructure automation
 
Symfony 2 : Performances et Optimisations
Symfony 2 : Performances et OptimisationsSymfony 2 : Performances et Optimisations
Symfony 2 : Performances et Optimisations
 
Kong
KongKong
Kong
 
Применение DDD подхода в Symfony 2 приложении
Применение DDD подхода в Symfony 2 приложенииПрименение DDD подхода в Symfony 2 приложении
Применение DDD подхода в Symfony 2 приложении
 
Symfony et Sonata Project chez Canal+
Symfony et Sonata Project chez Canal+ Symfony et Sonata Project chez Canal+
Symfony et Sonata Project chez Canal+
 
Stratégie digitale de Meetic
Stratégie digitale de MeeticStratégie digitale de Meetic
Stratégie digitale de Meetic
 
Models and Service Layers, Hemoglobin and Hobgoblins
Models and Service Layers, Hemoglobin and HobgoblinsModels and Service Layers, Hemoglobin and Hobgoblins
Models and Service Layers, Hemoglobin and Hobgoblins
 
Il était une fois le Continuous Delivery chez Meetic
Il était une fois le Continuous Delivery chez MeeticIl était une fois le Continuous Delivery chez Meetic
Il était une fois le Continuous Delivery chez Meetic
 
CQRS and Event Sourcing in a Symfony application
CQRS and Event Sourcing in a Symfony applicationCQRS and Event Sourcing in a Symfony application
CQRS and Event Sourcing in a Symfony application
 
Microservices & API Gateways
Microservices & API Gateways Microservices & API Gateways
Microservices & API Gateways
 
FrenchWeb 500, le classement des entreprises de la tech française
FrenchWeb 500, le classement des entreprises de la tech françaiseFrenchWeb 500, le classement des entreprises de la tech française
FrenchWeb 500, le classement des entreprises de la tech française
 
Debian usage at BlaBlaCar - Debian Paris meetup
Debian usage at BlaBlaCar - Debian Paris meetupDebian usage at BlaBlaCar - Debian Paris meetup
Debian usage at BlaBlaCar - Debian Paris meetup
 
Comment construire un environnement e-commerce complet avec Symfony 2 ?
Comment construire un environnement e-commerce complet avec Symfony 2 ? Comment construire un environnement e-commerce complet avec Symfony 2 ?
Comment construire un environnement e-commerce complet avec Symfony 2 ?
 

Similar to Meetic Backend Mutation With Symfony

Launching your Application the Amazon Way - AWS Startup Day Boston 2018.pdf
Launching your Application the Amazon Way - AWS Startup Day Boston 2018.pdfLaunching your Application the Amazon Way - AWS Startup Day Boston 2018.pdf
Launching your Application the Amazon Way - AWS Startup Day Boston 2018.pdf
Amazon Web Services
 

Similar to Meetic Backend Mutation With Symfony (20)

Software Analytics: Data Analytics for Software Engineering and Security
Software Analytics: Data Analytics for Software Engineering and SecuritySoftware Analytics: Data Analytics for Software Engineering and Security
Software Analytics: Data Analytics for Software Engineering and Security
 
Launching your Application the Amazon Way - AWS Startup Day Boston 2018.pdf
Launching your Application the Amazon Way - AWS Startup Day Boston 2018.pdfLaunching your Application the Amazon Way - AWS Startup Day Boston 2018.pdf
Launching your Application the Amazon Way - AWS Startup Day Boston 2018.pdf
 
Application Insights for Integration Developers
Application Insights for Integration DevelopersApplication Insights for Integration Developers
Application Insights for Integration Developers
 
Application Lifecycle Management
Application Lifecycle ManagementApplication Lifecycle Management
Application Lifecycle Management
 
[Education] Bonita Live Tour 2019 - Business Process Automation
[Education] Bonita Live Tour 2019 - Business Process Automation[Education] Bonita Live Tour 2019 - Business Process Automation
[Education] Bonita Live Tour 2019 - Business Process Automation
 
The DevOps Journey
The DevOps JourneyThe DevOps Journey
The DevOps Journey
 
Designing API Platforms that Developers Love - New York Life Build Blue May 2017
Designing API Platforms that Developers Love - New York Life Build Blue May 2017Designing API Platforms that Developers Love - New York Life Build Blue May 2017
Designing API Platforms that Developers Love - New York Life Build Blue May 2017
 
Public v1 real world example of azure functions serverless conf london 2016
Public v1 real world example of azure functions serverless conf london 2016 Public v1 real world example of azure functions serverless conf london 2016
Public v1 real world example of azure functions serverless conf london 2016
 
Innovate Better Through Machine data Analytics
Innovate Better Through Machine data AnalyticsInnovate Better Through Machine data Analytics
Innovate Better Through Machine data Analytics
 
#ESPC19 How to do #DevOps with #SPFx
#ESPC19 How to do #DevOps with #SPFx#ESPC19 How to do #DevOps with #SPFx
#ESPC19 How to do #DevOps with #SPFx
 
Delivering DevOps on AWS - Transformation Day Public Sector London 2017
Delivering DevOps on AWS - Transformation Day Public Sector London 2017Delivering DevOps on AWS - Transformation Day Public Sector London 2017
Delivering DevOps on AWS - Transformation Day Public Sector London 2017
 
Continuous testing for Agile and DevOps teams
Continuous testing for Agile and DevOps teamsContinuous testing for Agile and DevOps teams
Continuous testing for Agile and DevOps teams
 
DevOps on AWS - Building Systems to Deliver Faster
DevOps on AWS - Building Systems to Deliver FasterDevOps on AWS - Building Systems to Deliver Faster
DevOps on AWS - Building Systems to Deliver Faster
 
Processes and Telecom APIs
Processes and Telecom APIsProcesses and Telecom APIs
Processes and Telecom APIs
 
GIB2021 - Dan Probert - BizTalk Migrator Deep Dive
GIB2021 - Dan Probert - BizTalk Migrator Deep DiveGIB2021 - Dan Probert - BizTalk Migrator Deep Dive
GIB2021 - Dan Probert - BizTalk Migrator Deep Dive
 
DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer Tools
DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer ToolsDevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer Tools
DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer Tools
 
Pittsburgh, PA Salesforce Trailblazer Community Group Global Gathering DF2019
Pittsburgh, PA Salesforce Trailblazer Community Group Global Gathering DF2019Pittsburgh, PA Salesforce Trailblazer Community Group Global Gathering DF2019
Pittsburgh, PA Salesforce Trailblazer Community Group Global Gathering DF2019
 
DEVNET-1125 Partner Case Study - “Project Hybrid Engineer”
DEVNET-1125	Partner Case Study - “Project Hybrid Engineer”DEVNET-1125	Partner Case Study - “Project Hybrid Engineer”
DEVNET-1125 Partner Case Study - “Project Hybrid Engineer”
 
Apidays Paris 2023 - How to use NoCode as a Microservice, Benjamin Buléon and...
Apidays Paris 2023 - How to use NoCode as a Microservice, Benjamin Buléon and...Apidays Paris 2023 - How to use NoCode as a Microservice, Benjamin Buléon and...
Apidays Paris 2023 - How to use NoCode as a Microservice, Benjamin Buléon and...
 
The Need for Speed
The Need for SpeedThe Need for Speed
The Need for Speed
 

Recently uploaded

CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
giselly40
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
Enterprise Knowledge
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 

Recently uploaded (20)

Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 

Meetic Backend Mutation With Symfony

Editor's Notes

  1. Alignement des noms
  2. Ajouter Meetic, Affinity Enlever amoureux.com
  3. Préciser les dates de création
  4. Sortir des Fiches pour les questions !
  5. I am lucky + curseur
  6. Faire attention,
  7. Masquer la photo ou prendre une photo spotlight (Je ne dois pas avoir le droit de l’exploiter ici)
  8. Masquer la photo ou prendre une photo spotlight (Je ne dois pas avoir le droit de l’exploiter ici)
  9. Coupe en deux l’espaces
  10. Alléger le slide en terme du contenu
  11. Code couleur
  12. Gitlab, car ca répondait au besoin.
  13. GITLAB Merge Request Open Sources & No quotas Visibility Community Management Skill Sharing Source Code / Documentation Manager JENKINS 8 Nodes: PHP (3), iOs (2), Java (1), WP (1), JS(1) 59 Jobs organized on 9 groups
  14. Sur les nouvelles briques
  15. - Facile, - Insister, - Mal à différencier le temps de la presentation, - Slide Developer Community -