Friday, September 16th
|Track A||Track B|
|Opening / Welcome|
Unglue all the things!
How I started to love what they call design patterns
The Workflow Awakens
Form: Use Cases and Optimizations
|Lightning talks part 1|
Flipping Out with Feature Flags and Toggles
Going micro with the Symfony microkernel
Getting instantly up and running with Docker and Symfony
How to monitor your Symfony applications in production
PSR-6 & Symfony Cache: fast by standards
Tell a story with your (git) repository
|Special Q&A session to the Symfony core team!|
|Lightning talks part 2|
The Workflow Awakens — English
It is common having to handle statuses or product states, either on e-commerce or editorial websites. To do that, you can use the classical -manual- way, or get help from libraries covering the basis.
In this talk, we will talk about the state machine concept and definition before considering its usage looking at existing open source libraries. Finally following the Symfony way, we will study the brand-new "Workflow" component.
Form: Use Cases and Optimizations — English
Let's take a look at some simple use cases where forms can be so useful but sometimes hard to implement. With the last PHP7 allowing strict types on object methods, with the Form component refactoring and new features, we will take a moment to share some updated best practices and tricks.
Using an API with ChoiceType/EntityType: how to optimize data loading?
Using PHP7: how to handle validation for strict-typed getters/setters?
Using sensitive data: how to handle permissions and fields visibility?
Using symfony 2.7 and older: how to rethink some form types while migrating?
- Using multi-steps forms: how to keep control of submitted data?
Going micro with the Symfony microkernel — English
A microframework is a simple and not-opinionated web application framework. It leaves most architecture related decisions up to the developer, as opposed to a full-stack framework that comes with most decisions already made.
Symfony is the only PHP framework that can be used as a full-stack and a micro framework. Now, since the microkernel is part of the core framework, it has never been easier.
Learn how to build your first Symfony microframework application, choose bundles and components you need, and remove all the fat! This exercise will increase your awareness of Symfony's internals which you'll also benefit from when working on a full-stack application. Finally, you will learn how to convert to the full-stack edition with ease as your application grows.
Unglue all the things! — English
Bundles. Packages. Modules. Plugins. So much code is locked up in framework-specific packages. With so may people talking about wanting to write framework agnostic packages, it can be easy to get stuck thinking that this is, and should always be, the end goal. Learn about one developer's experience trying to write truly framework agnostic code. See what worked, what didn't, and walk away having a better idea how you, too, can attempt to unglue all the things!
Conscious Coupling — English
"By using a comprehensive feature-filled framework we can build software fast. On the other hand, by decoupling our applications we can build sofware that is independent of our framework and infrastructure choices, and therefore longer lasting.
We can't do both, is one approach always right?
In this talk we'll look at different decoupling techniques, what problems they solve, and when they make sense. We will learn some concrete techniques to discover where we should be investing in decoupling, and when we should let the framework maintainers do the work for us."
Getting instantly up and running with Docker and Symfony — English
A look into how you can start to use Docker today with ready made setup with php7, nginx, redis, blackfire and so on. How you may extend it, and integrating it into your continuous integration workflow, and how you can setup a continuous deployment workflow using for instance Travis-CI.
How to monitor your Symfony applications in production — English
Exploitation of an application means monitoring of usage and data inside it. To make the good decisions for your application, you need to have a correct level of information on it.
First, we will see the existing solutions for monitoring, and how to choose the best one from the available products, for the problem you face.
Once we covered the solutions, we will see how to instrumentalize a Symfony application for it to communicate with the monitoring system. We will cover existing PHP components and pros/cons for each of those solutions.
The final step is to choose the metrics and events you want to publish to your monitoring tool. We will think about the useful metrics you can have in a Symfony application, and for each of them the value in decision taking.
This presentation will cover the monitoring process of a generic Symfony application, but also our solution at Auchan Retail France, how we implemented it in our applications and how we help teams taking good decisions.
Flipping Out with Feature Flags and Toggles — English
Quite often it can be useful to enable new functionality for only certain users on your site, or perhaps to only enable it on a test version of your application. One method of doing this, with a single shared codebase, is feature flags, and is the method used by huge organisations with monolithic repositories like Flickr, but can also be used on much smaller scales when you want to test out new functionality in production or perform A/B testing.
This talk will guide you through why feature flags can be helpful to your development workflow, and how you can use them whilst avoiding too much added complexity to your application.
Tell a story with your (git) repository — English
Ever found yourself searching for that commit that broke everything? Trying to analyse project history and learn why something was done that way? Maybe all you see is a list of "fixed this" and "fixed that" messages that makes you want to start over? Want to know how can you do it better?
Repository history is often overlooked as a tool to keep information about project development process. I'd like to share my experience in keeping and encouraging discipline among engineers to not only keep the code clean, but also care about what goes into VCS.
How I started to love what they call design patterns — English
We, as developers, often think that we don’t have to or don’t need to know what are what they call design patterns. We think that we already know how to build a software and don’t need all this theory. Years after years, by having to deal with the low maintainability of my own codebases, I explored a lot of ways of decoupling applications, in order to have enterprise-grade software that last for years. With concrete examples, I want to share with you some design patterns and how they can help you to grow well structured and decoupled applications
PSR-6 & Symfony Cache: fast by standards — English
After several months of discussion, the PHP-FIG (PHP Framework Interop Group) published the PSR-6. Its goal is to enable interoperability between caching systems implementations - a mandatory aspect to improve performance in your applications. At this conference, we will see the benefits and limitations of PSR-6, we will discuss the various existing cache solutions (Doctrine, Stash, php-cache), and I will present the new Symfony 3.1 Cache component and its upcoming improvements in version 3.2.