Schedule

December 7, 2023

Symfony room SensioLabs room Platform.sh room

08:00

09:00

Check-in and welcome light breakfast ☕ 🥐

09:00

09:15

🎉 Opening / Welcome session 👋

09:15

09:55

Keynote Fabien Potencier

10:05

10:40

Domain-Driven Design: The Basics Stefan Koopmanschap

10:40

11:10

Break ☕ 🥐

11:10

11:45

11:55

12:30

12:30

14:30

Lunch 🍽

14:30

15:05

Kaizen-Inspired DevOps Branislav Bujisic

15:15

15:50

Balancing Act: The Product Trio Shawna Spoor,Sukhman Virk

15:50

16:20

Break ☕ 🥐

16:20

16:55

Do you really know JWT? Karim Pinchon

17:05

17:40

17:50

18:25

Keynote Nicolas Grekas

December 8, 2023

Symfony room SensioLabs room Platform.sh room

08:00

09:00

Check-in and welcome light breakfast ☕ 🥐

09:00

09:40

09:40

09:55

Sponsor prizes

10:05

10:40

10:40

11:10

Break ☕ 🥐

11:10

11:45

It's a (testing) trap! Ramona Schwering

11:55

12:30

12:30

14:30

Lunch 🍽

14:30

15:05

Symfony is RAD Rick Kuipers

15:15

15:50

15:50

16:20

Break ☕ 🥐

16:20

16:55

16:55

17:05

Closing session 👋

Keynote

Avatar of Fabien Potencier Fabien Potencier

Keynote

Delivered in English
Rooms:
Symfony room, SensioLabs room, Platform.sh room

Thursday, December 7, 2023 at 09:15 AM – 09:55 AM

Stop firefighting with Blackfire!

Avatar of Thomas di Luccio Thomas di Luccio

Are you stuck in an endless cycle of hotfixes? It's time to stop reacting to issues when they appear and start proactively enhancing your applications.

Explore implementing Blackfire, a robust observability solution, moving from reactive emergency fixes to strategic, data-driven, and long-term improvement at every stage of your development and deployment lifecycles.

Delivered in English
Room:
Platform.sh room

Thursday, December 7, 2023 at 10:05 AM – 10:40 AM

Simplified Processes With Symfony Workflow

Avatar of Bruno Henrique De Souza Bruno Henrique De Souza

The Symfony Workflow Component is a feature-rich tool that empowers developers to model, manage, and execute workflows seamlessly. In this talk, we explore its key features and real-world applications. After a quick introduction, we will cover the topics of workflow model building, managing workflow instances, etc. I will base my example on practical use cases in the Smartbox business using a DDD structure, and best practices for optimizing performance and error handling in large-scale workflows.

Delivered in English
Room:
SensioLabs room

Thursday, December 7, 2023 at 10:05 AM – 10:40 AM

Domain-Driven Design: The Basics

Avatar of Stefan Koopmanschap Stefan Koopmanschap

So you’ve heard people talk about Domain-Driven Design. But what is it? What is the blue book? And what is the red book? How can it be applied to your project? During this session you’ll learn more about the basics of Domain-Driven Design.

Delivered in English
Room:
Symfony room

Thursday, December 7, 2023 at 10:05 AM – 10:40 AM

Multi-tenant applications using Symfony, for real?

Avatar of Tugdual Saunier Tugdual Saunier

Over the last decades, with more development moving toward the web and because of increasing privacy concerns and regulations, data isolation as a requirement became more prevalent.
The concept behind multi-tenancy is to isolate different entities (customers, users, institutions, etc.) data while using, maintaining and usually deploying a single codebase. Seems simple on paper, right?

Or does it? The multi-tenancy topic is often perceived as complex and the implementation job feared, without mentioning the maintenance burden.
Is it with due reason? Or is it some part of a myth because, historically, multi-tenancy used to be an "Enterprise"-grade software exclusivity?
Let's check!

After a brief overview of the concept and the general challenges induced by multi-tenancy, we will review the most common ways teams are implementing multi-tenancy. We will then discover why PHP is a good candidate for multi-tenant software despite the general opinion. Finally, let's explore how one can leverage Symfony features to ease their job implementing and maintaining multi-tenant stacks.

Who knows? We might even find some tricks to implement hybrid solutions or some alternative architectures along the way 😁

Delivered in English
Room:
Symfony room

Thursday, December 7, 2023 at 11:10 AM – 11:45 AM

I did it ! I broke production !

Avatar of Sofia Lescano Sofia Lescano

About to finish my first year in my company, I caused not one but two incidents in production in one hour! Despite the tense moment, it was a huge learning. No one ran with their arms in the air, shouting at each other, nor began to look for culprits. Conversely, a close-knit team that helps each other reestablished the production as quickly as possible by collectively acknowledging the error made.

How do we manage a production incident with peace of mind?

- an upstream quality process (code review, sandbox environment, functional review ...)
- a process for detecting and reporting incidents
- clear roles and responsabilities on incident management
- a post-mortem and concrete actions to avoid a repeating similar incident
In this conference I will explain how to reduce and improve the management of your incidents and you will leave with the keys to apply this in your teams.

Delivered in English
Room:
SensioLabs room

Thursday, December 7, 2023 at 11:10 AM – 11:45 AM

Upsun: From zero to scaling hero

Avatar of Guillaume MOIGNEU Guillaume MOIGNEU

Deploying an app for the first time is always daunting. It does not need to be. We will setup a quick ChatGPT client based on a Symfony REST API and a React frontend. These app will be deployed to Upsun where we will analyze some performance bottlenecks and scale the infrastructure appropriately based on these findings.

Delivered in English
Room:
Platform.sh room

Thursday, December 7, 2023 at 11:10 AM – 11:45 AM

Expression Language in Symfony: Beyond the Framework

Avatar of Rémi JANOT Rémi JANOT

Expression Language (EL) is a powerful tool that can be used to dynamically evaluate expressions in Symfony applications. However, EL is often overlooked for use in the business domain.

In this talk, we will explore how EL can be used to:

Increase flexibility and extensibility in your applications
Avoid the need to redeploy your application every time you need to make a change
Implement complex business logic in a clear and concise way
We will also discuss some of the best practices for using EL in the business domain.

Whether you are a Symfony developer who is looking to learn more about EL, or a business analyst who is looking for a way to implement complex business logic in your applications, this talk is for you.

Here are some specific examples of how EL can be used in the business domain:
- Calculating discounts based on customer loyalty
- Determining the eligibility for a promotion
- Validating user input
- Generating dynamic content

Delivered in English
Room:
SensioLabs room

Thursday, December 7, 2023 at 11:55 AM – 12:30 PM

Get a grip on your project's supply chain

Avatar of Nils Adermann Nils Adermann

Everyone has heard of supply chains at this point, but what exactly does that mean for a Symfony project? Learn more about software supply chains, how tools like Composer and services like CI or Private Packagist come into it and which role PHP dependencies play. This talk will present concrete steps you can take to identify your dependencies and give advice on measures you can put into place to better manage and protect how your application is assembled.

Delivered in English
Room:
Symfony room

Thursday, December 7, 2023 at 11:55 AM – 12:30 PM

Your Weakness is Your Superpower

Avatar of Mary Thomas Mary Thomas

Too often, we are told to highlight our weaknesses as a means for growth. From job interviews, to performance reviews, to our own self-reflection, we shine the light on what we do poorly. Building our careers isn't about doing everything well - instead, it's about doing what we already know we're good at to the best of our ability, and using the knowledge of our weakness to employ our strengths. This session would show why identifying and leaning into our strengths becomes our weakness Superpower.

Delivered in English
Room:
Platform.sh room

Thursday, December 7, 2023 at 11:55 AM – 12:30 PM

Kaizen-Inspired DevOps

Avatar of Branislav Bujisic Branislav Bujisic

High-performing teams sustain their momentum through the synergy of skilled individuals, efficient processes, and adaptable practices. The primary objective of performance tuning is to minimize inefficiencies and bolster a team's ability to withstand external disruptions.

This session will delve into a diverse array of techniques and processes aimed at reducing wastage and enhancing resilience. Our journey will commence with an exploration of the contemporary skill set essential for constructing swift and anti-fragile systems. Subsequently, we will delve into the development and management methodologies that underpin both the team and product in the face of a dynamic environment. Finally, we will investigate the tools available to support these methodologies effectively.

This session is designed primarily for engineering managers, particularly those with technical backgrounds. However, it also offers valuable insights to anyone with an interest in DevOps, team scaling, and agile methodologies.

Delivered in English
Room:
Platform.sh room

Thursday, December 7, 2023 at 14:30 PM – 14:05 PM

PHPUnit 10 for Symfony Developers

Avatar of Sebastian Bergmann Sebastian Bergmann

Version 10 is probably the biggest update so far for PHPUnit. Almost all internals of PHP's most widely used testing framework and test runner have undergone long overdue changes to improve the developer experience of those who work on PHPUnit. This presentation highlights the improvements that were made for those that write and run tests with PHPUnit every day and shows why some parts of Symfony's PHPUnit Bridge might be removed soon.

Join Sebastian Bergmann, creator and maintainer of PHPUnit, to learn everything you need to know about PHPUnit 10. You will experience new features, big and small, in action and see how they can support you to effectively and efficiently test your software.

Delivered in English
Room:
Symfony room

Thursday, December 7, 2023 at 14:30 PM – 15:05 PM

Strings usage : so many tools are already in your hands!

Avatar of Marion Hurteau Marion Hurteau

Playing with strings is probably the first thing you did when becoming a developer. But do you know what is hidden behind these graphemes on your screen? What does “grapheme” even mean, you might ask! If you’re a bit confused about concepts like charsets, collations, or Unicode – and don’t worry, I was too – then this talk is for you!
From theory to practice, we’ll then dive into the String component, which relies on those concepts, and see it in action with concrete examples!

Delivered in English
Room:
SensioLabs room

Thursday, December 7, 2023 at 14:30 PM – 15:05 PM

Balancing Act: The Product Trio

Avatar of Shawna Spoor Shawna Spoor Avatar of Sukhman Virk Sukhman Virk

Product, Engineering, and Design need to work together in a healthy and positive way to ensure smooth, quality feature development. Often the elephant in the room is, who is in charge? We discuss the answer to this question: surprise, it's not one single person or group. Then we look at how to use this answer to your development cycles advantage and how it can open doors to happy and productive teams, and facilitate rapid feature development. We'll dive into examples of how this worked well during the development of Upsun and when it didn't work so well.

Delivered in English
Room:
Platform.sh room

Thursday, December 7, 2023 at 15:15 PM – 15:50 PM

Static Analysis Crash Course for Framework Developers

Avatar of Ondřej Mirtes Ondřej Mirtes

In recent years, static analysis tools like PHPStan have become super popular in the PHP world. These tools do something cool: they can spot all sorts of mistakes in your code before you even run it.

Usually, people try these tools on their own code. But if you're the person behind a framework or library that others use, guess what? They're probably using these tools too. So, the code people write using your stuff also needs to pass these checks.

This creates an extra thing you need to worry about. You've got to make sure your framework or library works nicely with these tools. And if you're smart about it, you can even help guide other developers to use your code the right way.

In my talk I'll take you through three important steps:

1) Laying the Foundation: I'll start by covering the essentials. This involves establishing a basic standard, ensuring that users achieve a green build when working with your framework.

2) Empowering with Strong Types: The second part focuses on the potential of strong types. We'll explore how they can effectively steer users towards correct usage.

3) Going Advanced with Custom Rules: Lastly, I'll teach you how to do something advanced but useful. You can create special checks for your framework using PHPStan. I'll give you examples from big frameworks like Symfony and Doctrine so you can see how it works.

By the end you'll have the knowledge you need to make sure your framework works great, and people love using it.

Delivered in English
Room:
Symfony room

Thursday, December 7, 2023 at 15:15 PM – 15:50 PM

Using symfony/messenger standalone

Avatar of Susanne Moog Susanne Moog

In this talk, we will explore the essential steps for leveraging Symfony Messenger's capabilities within an application not based on the full symfony framework. As an example, we take a look at how the symfony/messenger component was integrated into TYPO3, enabling efficient asynchronous communication and message handling.

Delivered in English
Room:
SensioLabs room

Thursday, December 7, 2023 at 15:15 PM – 15:50 PM

Do you really know JWT?

Avatar of Karim Pinchon Karim Pinchon

Over the past few years, many of us have seen or used special tokens: JSON Web Tokens, or JWTs. This token standard is a very practical way of transmitting information reliably. These tokens are often used for authentication with web services, microservices or SSO as part of OpenID Connect. In addition, we see a lot of JWS (signed tokens), but that's not the only implementation out there. In fact, the JWT specification is much broader than you might think. Here's a look at some of the lesser-known aspects of JWT.

Delivered in English
Room:
SensioLabs room

Thursday, December 7, 2023 at 16:20 PM – 16:55 PM

Symfony Apps as Standalone Binaries

Avatar of Kévin Dunglas Kévin Dunglas

Distributing Symfony applications is quite complicated. To run a Symfony project in production, a web server, a PHP executor, and - usually - a database server need to be installed. Their versions and configurations must be compatible and the app. Because PHP is an interpreted language, the application source code must also be available. Composer dependencies as well... and things are even more difficult if some of them are private.

Of course, these days, containers can help. But what if we could make it even simpler: a single distributable binary that's self-executing? Download a single file, give it the execution bit, and type "./my-app run": boom! Your Symfony application is up and running, served over HTTP/3 with a valid TLS certificate!

Thanks to the latest new features of FrankenPHP, the dream is now a reality! Let's discover how to ship Symfony applications as standalone binaries, web server, PHP and database system included!

Delivered in English
Room:
Symfony room

Thursday, December 7, 2023 at 16:20 PM – 16:55 PM

Taming container environment maintenance: let's go Nix-ing!

Avatar of Jérôme Vieilledent Jérôme Vieilledent

Producing and happily maintaining container images: :smiley: :white_check_mark:
Including many up-to-date packages: :muscle:
While still delivering older runtimes: :melting_face: :exploding_head:
Dependency hell is this annoying guest who’s ruining your party and making the situation uncomfortable. You didn’t realize they were invited, but now they’re here breaking everything.
Would it be possible to generate and maintain sane up-to-date environments, with packages having eerie dependencies? The answer is YES, and you don’t have to read the Necronomicon to make that happen. It’s called Nix, and it ain't dark magic…
So, are you ready to Nix?

Delivered in English
Room:
Platform.sh room

Thursday, December 7, 2023 at 16:20 PM – 16:55 PM

A Memorable Game UX with LiveComponents

Avatar of Simon André Simon André

Symfony UX empowers developers to create rich, dynamic web interfaces that bridge the gap between backend logic and a memorable user experience.

In this session, we’ll experiment with LiveComponents to assemble, step by step, a complete gaming experience using PHP (and a couple of CSS tricks).

Spoiler Alert: we’ll do it all without writing a single line of JavaScript.

Delivered in English
Room:
SensioLabs room

Thursday, December 7, 2023 at 17:05 PM – 17:40 PM

Caught in a Web: Untangling Graph Structures

Avatar of Christian Rades Christian Rades

Linked data is everywhere: Object graphs, nested Documents, git commits. The structure of those links is often just as valuable as the data itself. This is why knowing how to store and manage those links opens opportunities. This talk will show you how to represent this data in PHP and how to use common algorithms to utilize the structure.

You will hear how we tamed nested documents to order their insertion into a relational database and show you all the places where these kinds of links appear.

We will close out with a little peek at how applying this knowledge can even help you guide the development of your code base.

This will enable you to spot the links in your data and apply well-known methods to get the most out of it.

Delivered in English
Room:
Platform.sh room

Thursday, December 7, 2023 at 17:05 PM – 17:40 PM

Talkception : why non-technical talks in tech events are so important

Avatar of Magali Milbergue Magali Milbergue

The following talk is done by a professional, please don't try this at home! Today, we will give a non-technical talk in a tech event to advocate for non-technical talks in tech events! Tadaa!

We often judge tech events by the quality of their technical talks. And after all, why not? It seems totally fair as we probably go to these events to learn all the new info about our favorite tools, we want to learn the hot new good practices, we want inspiration, experience reports... We want to test new things and be blown away by shiny code! We say "YAY" when our favorite speakers are announced and wonder what the newbies will bring to the table!

Okay. But is a tech event really a good event without non-technical talks? Our jobs are to build tech but we are humans. Humans interacting with other humans. And it does impact our work. And we don't only build tech out of nothing, we do it for our users, who are (we can only hope) humans themselves. So thinking our work is only technical is akin to letting a whole unseen area from which big issues could arise go unnoticed. And I will argue in this talk that any good tech event should actually be judged on its non-technical talks rather than on the technical ones.

Delivered in English
Room:
Symfony room

Thursday, December 7, 2023 at 17:05 PM – 17:40 PM

Keynote

Avatar of Nicolas Grekas Nicolas Grekas

Keynote

Delivered in English
Rooms:
Symfony room, SensioLabs room, Platform.sh room

Thursday, December 7, 2023 at 17:50 PM – 18:25 PM

Keynote: Is Remote the past or the future of work?

Avatar of Fred Plais Fred Plais Avatar of Caroline Leroy Caroline Leroy

After the Covid surge, has remote work recently gotten unpopular in 2023?
Many large tech companies have now turned their backs on remote work. Remote work would decrease productivity, hurt the company culture, generate silos... leading to reestablishing back to the office policies in many tech companies.
How much of this stands and how much can be mitigated? This session will explore good practices from the field and actionable testimonials that can help make remote work fine both for employers and employees.

Delivered in English
Rooms:
Symfony room, SensioLabs room, Platform.sh room

Friday, December 8, 2023 at 09:00 AM – 09:40 AM

Need to search through your data? Heard about Meilisearch?

Avatar of Guillaume Loulier Guillaume Loulier

In the current world that we lives in, data is everything, from « big data » to health, from cars to planes and from cities to companies, our data have becomes one of the most important part of our daily life and for us, as developers, part of your daily job.

If you’ve already played with huge volumes of data, you might have heard of Elasticsearch and many others, each one built with pros and cons and with specific goals in mind, thing is, what if we can continue to play with our data but in a more « memory efficient » and faster approach? 



What if we can ingest, search, filter and return data without worrying about using Java, consuming a lot of resources and/or booting a heavy stack? 



Well, let me introduce MeiliSearch, a Rust-based search engine along with its integration in PHP / Symfony, in this talk, we’ll discuss what is MeiliSearch, how to use it and how to search through our data to extract the most of it, ready? Let’s search!

Delivered in English
Room:
SensioLabs room

Friday, December 8, 2023 at 10:05 AM – 10:40 AM

Refactoring monolith to multi-app

Avatar of Florent HUCK Florent HUCK

Once upon a time, great people created a great Symfony demo, to be used as a living code example and help us all learn: Bigfoot. Since then, the DevRel team at Platform.sh has forked this repo and created a really fun escape game to showcase Blackfire. And we thought it would be good to have a dedicated frontend for our game, instead of reusing the Bigfoot design. So we forked it to create an instance for Django. And then we forked it again to make an instance for Drupal. And then another fork, and another. Slowly, we realized that the way forward was to refactor our dear monolith to better fit our needs. Let me show you how we stopped forking around!

Delivered in English
Room:
Platform.sh room

Friday, December 8, 2023 at 10:05 AM – 10:40 AM

TDD Styles: London VS Chicago

Avatar of Diego Aguiar Diego Aguiar

Did you know that there are different TDD styles? The most famous ones are London and Chicago styles.

The London style comes from the mockist school, and it's an "outside-in" approach. It starts from the outside of the application (APIs/Controllers) and works its way down to the domain layer.

The Chicago style comes from the classicist school, and it's an "inside-out" approach. It starts from the domain layer and works out towards the APIs/Controllers.

In this talk, we'll discover what makes those styles unique, their key differences, and their advantages and disadvantages.

Don't miss it out and get your TDD expertise to the next level!

Delivered in English
Room:
Symfony room

Friday, December 8, 2023 at 10:05 AM – 10:40 AM

It's a (testing) trap!

Avatar of Ramona Schwering Ramona Schwering

“It’s a trap” - a call or feeling we all might be familiar with, not only when it comes to Star Wars. It signalizes a sudden moment of noticing imminent danger. This situation is an excellent allegory for an unpleasant realization in testing. Imagine having the best intentions regarding testing but still ending up with tests failing to deliver any value. Tests that feel like a pain to deal with?

When writing tests, there are lots of pitfalls on the way. In sum, they can lead to lousy maintainability, slow execution time, and - in the worst-case - tests you cannot trust. But it doesn’t have to be that way. In this session, I will talk about developers’ common mistakes (including mine) in tests, at least from my experience. And, of course, how to avoid them using best practices. Testing doesn’t need to be painful, after all.

Delivered in English
Room:
Symfony room

Friday, December 8, 2023 at 11:10 AM – 11:45 AM

A serverless Symfony playground

Avatar of Antoine Bluchet Antoine Bluchet

I bet you already used 3v4l.org or similar websites to run PHP code to find out whether array_merge is slow or not (it's slow). If you take a look at how these website works they usually use a PHP server behind the doors and transfer data between the browser and the server.

The problem is that running PHP on the server just for testing purposes can quickly become expensive in terms of hosting... How about running PHP directly in the browser?

In this talk, I'll introduce you to WebAssembly, a technology that enables programs to be compiled to run in browsers. Next, we'll discover how to compile PHP into WebAssembly. And finally, we'll see how to run Symfony or any other PHP project directly in the browser, without the need for a (PHP) server.

Delivered in English
Room:
SensioLabs room

Friday, December 8, 2023 at 11:10 AM – 11:45 AM

Regex: demystifying the hieroglyphics

Avatar of Marine Gandy Marine Gandy

While regular expressions can certainly look like hieroglyphics, once you understand the basics, you can unlock massive amounts of power in your searches and work.
You're working with some data and find yourself needing to find a specific piece of information, but your searches keep matching things that you don’t want. While basic searches are fine for some things, every once in a while you need something more powerful.
Enter regular expressions (also referred to as "regex"). BUT WAIT! Before you scroll to the next session description: did you know that this powerful searching capability is available in things like Word and Excel, as well as Google Search Console and Google Analytics? And not only can you use it to search for information, you can also use it to transform information!
In this session, we'll jump into a brief history of regex, discuss pattern matching, and dive into the fundamentals of how we can use regex to surface the data we've been searching for in powerful ways

Delivered in English
Room:
Platform.sh room

Friday, December 8, 2023 at 11:10 AM – 11:45 AM

How much database abstraction do I need?

Avatar of Alexander M. Turek Alexander M. Turek

SQL databases are an important part of many web applications. But what's the best way to interact with such a database? Do I use hand-crafted SQL statements everywhere in order to always remain in control? Or do I use an ORM, so I don't need to repeat myself too often and to remain compatible to multiple SQL databases?

We will take a deep dive into the Doctrine libraries ORM and DBAL as well as native PHP extensions and compare them with our use cases in mind.

Delivered in English
Room:
Symfony room

Friday, December 8, 2023 at 11:55 AM – 12:30 PM

Github Actions 101: your 1st action

Avatar of Paul Gilzow Paul Gilzow

We all know we should be doing more automation of our software development lifecycle, but getting started can be challenging. Even if you have experience in continuous integration and continuous delivery (CI/CD) automation, learning a specific platform’s terminology and idiosyncrasies can be frustrating.
This presentation is designed to provide an overview of GitHub Actions, a CI/CD platform that allows you to automate your build, test and deployment pipelines, and writing one’s first action, a reusable component that can automate repeatable tasks. We’ll start by going over key terms and concepts in the GitHub Actions platform, such as actions, workflows, events and jobs, and explain how they can be pieced together to build robust and dynamic automations.
Then, we’ll dive into the process of building your first GitHub Action, walking through the steps of creating a new action, the types of actions you can create, defining inputs and outputs, and required properties. We’ll then work together to build an action that can be immediately used in your own workflows.
Whether you’re a seasoned developer looking to move to GitHub Actions or a newcomer to automation looking to get started with your first CI/CD automation, this presentation will help jumpstart your journey.

Delivered in English
Room:
Platform.sh room

Friday, December 8, 2023 at 11:55 AM – 12:30 PM

From Chaos to Control: Exception Handling in Symfony

Avatar of Anne-Julia Seitz Anne-Julia Seitz

Have you seen controllers grow with every exception that needs to be handled? Have you ever wondered where a particular exception is handled, or if you can be sure that all exceptions are handled so that the user always gets the correct response codes? Error handling gets little attention in the beginning, but needs to be addressed at some point.
PHP development has become stricter over time, and we want to leverage this for robust error handling in Symfony applications. The presentation covers basic exception handling concepts while exploring best practices with Symfony's error handling components. Topics include custom exceptions, efficient logging, and error handling. The presentation will benefit both experienced and novice Symfony developers.

Delivered in English
Room:
SensioLabs room

Friday, December 8, 2023 at 11:55 AM – 12:30 PM

BC ("Be careful") when dealing with BC ("Backwards compatibility")!

Avatar of Konrad Oboza Konrad Oboza

Maintaining compatibility promises is part of keeping healthy relationship with community and customers. As maintainers of a framework that builds upon Symfony, being in turn used by other developers, we have a taste of both worlds.

We will explore different approaches, starting with semantic versioning and going through different libraries. We will go behind the reasons why certain choices are made, and what consequences they have to both developers and maintainers. We will also emphasize how those dilemmas affect our everyday planning and development.

Finally, we will take a look at a particular case of performing major changes across entire codebase, by looking at a specific case that happened to our own product – a rebranding while maintaining compatibility. We will dive into specific solutions we came up with, and what challenges needed to be overcome – some of which proved to be a surprise.

“How to enforce class residing under two namespaces?”, “does class_alias work as one would expect?”, “how would autoloading work in this scenario?” are, among others, questions we needed to answer and that would like to share answers to.

Delivered in English
Room:
Platform.sh room

Friday, December 8, 2023 at 14:30 PM – 15:05 PM

Symfony is RAD

Avatar of Rick Kuipers Rick Kuipers

What happens when you just ride the wave? How productive can we be when we smother our project in all that Symfony goodness?

Let's explore some Rapid Application Development practices that Symfony has to offer. We'll acquire the mindset needed and get ourselves familiar with a Symfony setup by the book. We will develop an MVP using the MakerBundle and we'll close the gap towards an MLP using Symfony UX.

Live demo included.

Delivered in English
Room:
SensioLabs room

Friday, December 8, 2023 at 14:30 PM – 15:05 PM

Task scheduling can be boring, but not with Symfony scheduler.

Avatar of Allison Guilhem Allison Guilhem

In the dynamic landscape of modern web application development, achieving accurate and timely task execution is pivotal for improving user experiences and optimizing backend processes. By enabling applications to run processes at optimal intervals, task scheduling reduces the need for manual intervention and promotes overall operational efficiency.

We will explore the capabilities of the Symfony Scheduler through a concrete use case that focuses on creating and maintaining a recurring task that is constrained by a predetermined schedule until a particular event happens.
In this talk, we'll see how the Symfony Scheduler would have effortlessly enhanced the implementation of iterative automation in our case using some useful concepts from Symfony Messenger.
We'll also take the opportunity to look at how Symfony Scheduler would have benefited our application, and what issues it might have raised.

Ready to be amazed by this captivating component? Ready to dive in?

Delivered in English
Room:
Symfony room

Friday, December 8, 2023 at 14:30 PM – 15:05 PM

Why open source still matters - and now more than ever

Avatar of Niklas Dzösch Niklas Dzösch Avatar of Ben Marks Ben Marks

While the economy gets tense, the management tends to ask why give software away for free.

In this talk, Ben and Niklas from Shopware will give you their take on why open source is more than capable of driving as a business model and why it's essential not only in terms of business but also as a foundation of a healthy community.

Delivered in English
Room:
Platform.sh room

Friday, December 8, 2023 at 15:15 PM – 15:50 PM

How to use GPT with your Symfony app

Avatar of Christopher Hertel Christopher Hertel

With the release of ChatGPT, OpenAI has generated a lot of buzz around GPT and AI in general. For software architects and developers, this is not only a game changer when it comes to learning or debugging, but also introduces a new tool to embed into your system's architecture. In this talk, we will take a closer look at the basic concepts of GPT, the relevant models, and how you can effectively utilize them in your Symfony application.

Delivered in English
Room:
Symfony room

Friday, December 8, 2023 at 15:15 PM – 15:50 PM

Testing with HttpClient, the automatic way

Avatar of Gary PEGEOT Gary PEGEOT

Writing test for a service that use HttpClient is sometimes far from a walk in the park, especially if you do a lot of requests. Let's see if we can do something about it!

Delivered in English
Room:
SensioLabs room

Friday, December 8, 2023 at 15:15 PM – 15:50 PM

Hands-on with LiveComponents, AssetMapper, Turbo & Stimulus

Avatar of Ryan Weaver Ryan Weaver

Symfony UX is celebrating its 3 (!) year anniversary! And a lot has changed. Gone are the days of needing a big build system... or a ton of complex custom JavaScript to get that single-page-app experience. LAST stack - LiveComponents, AssetMapper, Stimulus and Turbo - offers an alternative that makes writing frontend code fun & productive again.

In this talk, we'll walk through the experience of building a modern web app with LAST stack. We'll see the latest changes to AssetMapper in 6.4 and see a bunch of real-world examples: building dynamic forms with zero JavaScript, modals, dynamic tables and more. Most importantly: we'll do this fast and *love* the experience.

Delivered in English
Rooms:
Symfony room, SensioLabs room, Platform.sh room

Friday, December 8, 2023 at 16:20 PM – 16:55 PM