SymfonyWorld Online 2022 Summer Edition
June 16 – 17, 2022
Watch the talks in video
(Re)discover the Symfony Console
The most popular Symfony component is the foundation for most PHP developer tools : from Composer to PHPunit, Doctrine migrations, Psalm and Flex ... and your CLI applications. For more that 10 years, it is the most reliable way to create commands with arguments and options in PHP. In every version, the package evolved to offers much more than that. In this talk, you will (re)discover some of the most prominent features and some niche one, that could make you a happier developer.
Using bundles is not recommended anymore since Symfony 4. But they are still an important building block within Symfony's eco-system. In this talk I want to show you how bundles work, what they can and should be used for and how you can utilize them in your application.
SULU - An introduction to a Symfony enterprise CMS
"An introduction to the world’s finest Symfony enterprise CMS"
If there is one thing that the market surely doesn’t need anymore, it would be yet another CMS.
So why give a new, young CMS a chance?
First of all, Sulu is not a classic content management system. It is not exclusively about placing content and presenting it.
It is and can do much more.
Sulu tries to bridge the gap between classic or rather complex Symfony applications and content management systems, without making concessions in one direction or the other.
How can this work?
Where would Sulu be a good choice and where possibly a rather bad choice?
Why is Sulu worth a look especially for experienced Symfony developers ?
An SSO with Keycloak and Symfony
The SSO (single sign-on) are increasingly used in the information systems. From Saas products to company internal softwares, they are a common way to connect securely to several applications with the same identifiers.
In this talk, we are going to talk about Keycloak, an IAM (Identity and Access Management) with many features. Keycloak allows for instance to connect with Facebook or other social networks identifiers, to take advantage of 2FA, to have password renewal strategies... And so on !
After a short presentation of the tool, we'll see how to plug it into a Symfony application, using a custom authenticator.
Writing Testable Symfony Apps
Do you struggle as soon as you want to test a controller or a repository? Do you feel like it's sometimes impossible to write unit tests for a Symfony application? In this talk, I will show you design patterns that will not only make testing your Symfony applications trivial, but will also make your code a pleasure to work with.
API-Platform and Symfony's Kernel Events: An in depth look
API Platform makes setting up an API a breeze. Create an entity, expose it as a resource and you are pretty much done, but what if you need to customize something? API-Platform relies heavily on Symfony's event cycle to provide most of its features and knowing which event is responsible for what and how to hook into it, is crucial when you want to customize parts of API-platform.
In this talk, we will go through Symfony's kernel events and then look at how api-platform uses them. I will discuss the most relevant event listeners provided by api-platform and we will look what they do. This will not only help you when you need to debug issues in api-platform, it also helps you make better use of the extension points provided by api-platform or when and how to add your own.
API Platform, third act.
At Les Tilleuls, we love working on and with API Platform, a widely used library to create hypermedia-driven REST APIs.
If you ever used API Platform, you probably used it in its second major version, which stayed upstream for six years.
But not for much longer, as API Platform 3 will come out really soon!
API Platform 3 comes with plenty of new exciting features such as a brand new resource metadata system, a revisited subresource mechanism, a new way to provide/process states, etc...
During this talk, we'll walk over these new features, and see how they change the way we use API Platform, what we can do with them, and how to use them properly.
We will as well see the way to migrate from API Platform 2.6 to API Platform 3.0 so that you can enjoy that great 3.0 version as soon as possible!
Developing a decentralized web application with Symfony and API Platform
No, this presentation is not about web3.
And for good reasons! There is a more open, more interoperable, simpler, more ecological, and even more... decentralized (!!) way to build decentralized web applications.
Web standards, and in particular those of the latest generation (RDF, JSON-LD, N3, OpenID Connect) provide a framework for building such apps.
It is on this technical basis that two new protocols that could revolutionize the web are established: Solid and ActivityPub.
The Solid project, for Social Linked Data, developed by Sir Tim Berners-Lee - the creator of the Web himself - gives users control of their data. It allows them to store their data wherever they want, and to choose precisely which application can access what.
ActivityPub is a protocol for creating decentralized and federated social networks. It is the protocol used by Mastodon, PeerTube, and Mobilizon, whose instances are tight together in the network known as the Fediverse.
Even better, no need for smart contracts or even blockchain to create decentralized web applications using these technologies, a good old PHP script and a Raspberry Pi are enough. That said, using Symfony and API Platform can greatly facilitate the task, that's what we will discover together!
What's new in Symfony 6.1?
We're mid-June, Symfony 6.1 has just been released exactly as planned!
How about joining me for a retrospective of the last 12 months of contributions? Together we will review the main changes made in the ecosystem during this period, without forgetting to introduce you to the new features of the newest version.
You might discover tools you didn't know existed that could make your life easier.
The Single-Page Application Dilemma
🛰 In the light of a beam of new concepts, paradigms, technological changes, user behaviour changes and social metamorphoses, the way we build lightweight applications like web applications changed.
Going through a standardized program like a browser and using standards like the W3C, IEEE, ISO or MIT provide. Under the shadows of "Big Tech" IT giants like Alphabet, Alibaba, Meta, Netflix, Twitter, LinkedIn, etc.
User habits have changed, lots of things are different now. Brave new world.
As I always say: now your mum is on her smartphone, checking bank accounts at 2 A.M. while your dad is binge-shopping on Wish. Your kids? They're now sending over tenths of thousands of HTTP requests per day.
🚀 The web is now made of over 100 million servers, connecting over 21 billion IoT/mobile devices. Networks still can't possibly be trusted, though 6G is being assembled, people expect things to work in planes at Mach 0.8, we started offering quantum computing as a service, and many places and people in the world have better access to smartphones than they have to food and water.
What are they? Why do we sell those? Are they really needed? What's behind all that hysterization? Who's in charge? Will you be able to maintain them? At what cost?
🌌 Well. You might be quite surprised about the answers. From transversal design to server-side rendering, from web components to Hotwire, from AJAX to service workers, from business biases to CV-driven development, from Stimulus and Turbo to Symfony UX, from jQuery to SvelteKit, we're going in for a little trip, so that we finally sit down altogether and take some time to talk about that elephant in the room (which, for once, is *NOT* PHP's).
☕️ In this talk we will:
• Understand the paradigm shifts we faced over the last two decades
• Decipher the Big Tech roadmaps and strategies and how they affect our choices and egos
• See a little history of the web and its main evolutions
• Unmask the real business reasons why SPA's are a thing
• See how they're actually still useful in some cases
• Review the tools we have at disposal to avoid using them
• And finally, open our minds to new trends that need some debunking like this one
🙌 PS: if you're a frontend developer yourself, I do recommend you take some painkillers before attending the talk. That's a whole rollercoaster ahead of you. For the best. 😏
PHP toolbox - How to improve code quality and deliver faster
Code review or Continues Integration pipelines has becomes the standard procedures in most of PHP projects. With yearly PHP releases and even more frequent Symfony releases sometimes it hard to keep projects up to date. What tools can help us to limit amount of maintenance in our projects? What could be automated? How usage of those tools will impact our delivery?
Little-known Symfony components that are worth a look
More than a framework, Symfony is an ecosystem. Symfony components are standalone libraries that can be used in any PHP project. They offer solutions to problems we are likely to encounter daily as PHP developers.
String handling with Unicode, concurrency, internationalization or rate-limiting are, among others, all challenges that Symfony components can solve with turnkey solutions. And all this while taking advantage of the robustness of an open-source code and the famous backward compatibility promise.
Although some components are well known and recognized, there are at least as many that could save you long hours of development if you knew they existed. This is what we will explore together.
When you get lost in API testing
If you are not writing tests yet, you should start. Tests will improve the quality of your code, reduce bugs and probably force you to think more about design and quality. Actually, the hardest thing is to start and figure out which type of tests to write.
So you start researching and you find a lot of different materials and get even more confused. Even when you decide what type of tests to use, it can be hard to decide how to test some specific logic in your app.
Don’t give up! I have some tips I learned along the way that will hopefully make your life easier. In this talk you will hear about different test types and when to use them. I’ll also show some tools for checking quality of your test.
Symfony and open source at the service of society
On Thursday March 12, 2020, French President Emmanuel Macron announced the closure of schools from the following Monday.
In 3 days, a national logistics race was then organized to give the ability to front-line personnel (health workers but also cashiers, waste collectors, energy workers, etc.) to continue working while their children were at home.
It is in this context that some friends and I created enpremiereligne.fr, a local, free and open-source mutual help platform based on Symfony. This experience showed us the power of open-source and Symfony to help society.
In this talk, we'll discuss how Symfony was instrumental in this project and how you too can use your technology skills to improve the world around you.
How to optimize background processes - when Sylius meets Blackfire
With the recent Sylius release v1.11, we've introduced a brand new feature - catalog promotions. As this feature may require processing a significant amount of data(the whole product catalog), we had to decide on async processing by default. But it does not mean that we can waste resources and not optimize the processing algorithm! We had to improve it and to do that we've been using Blackfire.
During my presentation, I will bring you on the journey we've done to make catalog processing better from a performance point of view and beyond. The presentation will be based on real examples from Sylius. Nonetheless, its takeovers may be helpful in any Symfony app.
Controlling Smart Light Bulbs with Symfony Console and PHP
PHP isn't all work and no play... in fact there are a growing number of uses for PHP in the home automation industry. In this talk we'll create a basic app with Symfony Console then use an existing library to connect to and control a pair of Philips Hue smart light bulbs. From authorizing our application to talk to the bridge, to finding the lights available to the fun of switching their state, brightness, colour and more. This intermediate topic will expand the range of uses we can turn to PHP for.
Note for photosensitive viewers: this talk contains flashing/blinking lights.
Symfony UX: New Components, Live Twig & More Updates!
Then... I want to show you new stuff! Several new components that solve common frontend problems and a fresh way to preview & demo every part of Symfony UX.
Did you miss SymfonyWorld Online 2022 Summer Edition?
Join us at an upcoming conference!