Skip to content

greg0ire/2022-talks

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 

Repository files navigation

  • All talks are in english.
  • You can send feedback and love to speakers on their twitter account
  • See all tweets during the event

Keynote

Slides
Video

By Fabien Potencier
github @fabpot
twitter @fabpot


From monolith to decoupled…wait, why is that one getting bigger?!?

Description
Monolithic apps are getting broken down left and right into dedicated services and teams, all under the banners of separating concerns, higher efficiency, and more. The strategy that is implemented will be crucial to ensure decoupling is a beacon of efficiency and not a migration nightmare.

In this talk, we’ll discuss how decoupling following the strangler fig approach will seem counter-intuitive, as your monolith continues to grow alongside your new decoupled architecture. But this approach, when done right, makes dismantling a monolith a process that is structured and safe, slow but agile, and without major service interruptions or massive interface changes that shock and discombobulate users. We will look at the experience of Platform.sh’s customer experience engineering team who are midstream on moving from a monolith to a decoupled suite of mircroservices that support every aspect of user interaction with our products.

Slides
Video

By Shawna Spoor


GNAP: The future of OAuth

Description
OAuth 2 is an industry-standard for authorization that every developer probably heard about. As hinted by its name, it is the evolution of OAuth 1 and as such; it aims to address most of its known issues.

But, just like OAuth 1, OAuth 2 now has a lot of known issues. Fortunately, a lot of these issues have been already fixed by extending the specification. The drawback of this is that today, in order to get OAuth2 right, one needs to read a dozen of RFCs and make sure they are relevant to the use case. This hurts developer experience as it increases the complexity of the protocol, which goes against its main focus: simplicity for client developers.

Here comes GNAP (Grant Negotiation and Authorization Protocol): an in-progress effort to develop the next-generation authorization protocol by learning from the past.

In this talk, we'll have a deep look into the GNAP protocol, passing by a review of the known OAuth2 flaws that it aims to fix, how it plays with authentication protocols such as Open ID Connect or WebAuthN, what is its current state and more.

Slides
Video

By Robin Chalas
github @chalasr
twitter @chalas_r


Dilemmas and decisions. What we've learned designing new Sylius API

Description
Sylius and API Platform integration is the project that we started in early 2020. Since then, we were working hard designing, delivering and adjusting our new API. We've learned a lot and during my presentation, I would like to share our findings.

Why did we design our API this way? What were our heuristics and what did we achieve? How to design more complicated flows in API?

Slides
Video

By Łukasz Chruściel
github @lchrusciel
twitter @lukaszchrusciel


Transactional vs. Analytical Processing

Description
When it comes to the design of your Symfony application, data plays a central role. From an architectural point of view there are two common ways this data is processed. Transactional processing ensures that changes to your data are consistent and safe. Analytical processing aims to make even complex queries fast and efficient. We should always consider the nature of processing while implementing our application’s use cases. So let's have a look at the main criterias, strategies and trade offs that will help us to navigate through all the options we have and see how we can bring your own data warehouse to life in your Symfony application leveraging tools like Doctrine, Messenger and more.

Slides
Video

By Christopher Hertel
github @chr-hertel
twitter @el_stoffel


Customer Trust: Lessons Learned From 1000 Cybersecurity Assessments

Description
Cyber crime is expected to exceed $10 Trillion globally by 2025. As a result, security compliance initiatives like SOC 2, ISO 27001, and PCI are table stakes to earn customer trust in today's market. If customer trust is important to your business, we will reveal lessons learned from over 1000 cybersecurity assessments and what you can do to stay ahead of the market's evolving security and compliance requirements.

Slides
Video

By Christian Hyatt
github @christianhyatt
twitter @christianhyatt


Unleashing the power of lazy objects in PHP 🪄

Description
Lazy-objects are a bit magical. They are created empty and populate themselves on-demand. They are useful when an object is heavy to instantiate but is not always used, like for example Doctrine entities or Symfony lazy-services.

But do you know how they work internally? In this talk, I'll tell you about the mechanisms provided by PHP to enable such use cases 🧙. Because doing this sort of wizardry is not common practice, I'll also introduce you to two new traits that package those lazy-loading behaviors introduced in Symfony 6.2: one for virtual inheritance proxies, and one for ghost objects 👻.

While lazy objects used to require complex code generation, these new traits make it way easier to leverage them, opening up possible innovations; lazy arguments, lazy properties, or by-design lazy classes to name a few ones. What will you come up with? Let me know after you've seen this talk!

Slides
Video

By Nicolas Grekas
github @nicolas-grekas
twitter @nicolasgrekas


Observability tools: Who's who?

Description
When it comes to application observability, different categories of tools are at our disposal: static code analyzers, profilers, APMs, to name a few. Like any good tool, they usually serve a specific purpose. In this presentation, we will explore the differences between these tools, to whom they're dedicated, and see how complementary they are.

Slides
Video

By Jérôme Vieilledent
github @lolautruche
twitter @jvieilledent


Advanced Git magic

Description
You know your local from your origin, your push from your pull, your merge from your rebase. But Git is still a mystery sometimes. Making mistakes is scary. What the $^@#! is a detached HEAD state? How do you get out of it? This and more mythical Git beasts will be discovered and tamed in this tutorial.

Even advanced Git users will leave this tutorial with new skills. You’ll be force pushing, hard resetting, and auto-bisecting like nobody’s business. What’s more: you’ll be confident, comfortable, and love doing it!

Slides
Video

By Pauline Vos
github @paulinevos
twitter @vanamerongen


7 Lessons You Can Learn From Disney Movies

Description
We all love Disney movies, right? They are entertaining, trigger emotional response but also contain a lot of important lessons. And these lessons can also be applied to your career as a developer. During this talk I'll have a look at 7 situations from some of my favorite Disney movies to analyze and see what lesson we can learn from that.

Slides
Video

By Stefan Koopmanschap
github @skoop
twitter @skoop
mastodon @skoop@phpc.social


Schrödinger's SQL - The SQL inside the Doctrine box

Description
Why should someone care about SQL, when a developer can abstract it with Symfony and Doctrine into PHP code? With Doctrine the database is out of sight, the database is out of mind, but this is where problems can start. What impacts are there for a Symfony project and how can they be managed? This talk handles Doctrine's behaviour and how it can influence a database and queries, why SQL is still relevant despite having an ORM and how developers can influence SQL performance.

Slides
Video

By Claudio Zizza
github @SenseException
twitter @SenseException


PHPStan: Advanced Types

Description
To develop safer and more reliable applications, we don't have to wait for progress in PHP language itself anymore. Plenty of advanced concepts known from other languages like generics, precise array shapes, or number ranges can be expressed in PHPDocs and verified by static analysis.

In this talk I'll introduce the new types that have recently been added to PHPStan and show you how to use them in practice.

You will learn:

  • How you can use PHPDocs to provide and document extra type information to static analysers, IDEs, and developers working with your code.
  • Advanced types that don't yet exist natively in PHP, but can be used in PHPDocs for developing of more type-safe codebase
  • Type theory about union vs. intersection types

Slides
Video

By Ondřej Mirtes
github @ondrejmirtes
twitter @OndrejMirtes


Build apps, not platforms: operational maturity in a box

Description
Delivering applications today means being a part of a clearly defined and secure lifecycle – something that validates revisions on provisioned infrastructure and monitors production continuously. Organizations grow “platform teams” to manage this complexity, defining and enforcing operational standards around a common platform built in-house that connects a number of tools and providers.

This can turn into an expensive moving target, one that’ll leave your team reinventing the wheel forever – spending less time on writing features as you focus on everything else around applications. Platform.sh provides a unified, secure platform powered by Git and an infrastructure abstraction that provides operational maturity out-of-the-box. You’ll spend less time orchestrating all of your apps, and more time experimenting with new technologies, optimizing your code, and scaling all in one place.

Slides
Video

By Ori Pekelman
github @OriPekelman
twitter @OriPekelman


Symfony & Hotwire: an efficient combo to quickly develop complex applications

Description
In December 2020, Basecamp released their first official version of the Hotwire suite. Combining the historic Turbolinks library with their Stimulus js micro-framework, it comes out a powerful combo for making complex applications while coding a fullstack Rails app. The Symfony team was quick to port the project to their ecosystem, and the results are amazing!

At Windoo we've been using the package symfony/ux-turbo suite since early 2021 to progressively replace our React legacy code. We've learned a lot about how to use it, the good practices to follow, the mistakes to avoid, and the tricky use cases to solve.

Forms, messaging, modals, asynchronous... I will show you very concrete applications of this library in your projects!

Slides
Video

By Florent Destremau
github @florentdestremau
twitter @FloDestremau


Building a great product means designing for your users

Description
What makes a successful product? Is it something that looks good, works good or is it something much more simple. Delivering something that your users actually want, in an enjoyable way. In today’s overpopulated tech space, there’s an app or site for everything. But, like you, I could tell you my most used apps on just one hand. These are the products that make what I need to do seamless and enjoyable. User centered-design aims to balance the needs of a business, while working within the capacities of your engineering team. This talk will share ways in which you can bring your user's voice to the forefront of product development through user-centered design.

Slides
Video

By Natalie Harper
github @nananat
twitter @nanna_nat_


The PHP Stack’s Supply Chain

Description
All modern software is built using third-party software components, which may come with their own dependencies. Do you know everything about the components that make up the foundation of your software? What is the PHP software stack’s supply chain? In this presentation, Sebastian Bergmann paints a picture as complete as possible, covering topics from software supply chain security concerns to the funding of Open Source software development.

Slides
Video

By Sebastian Bergmann
github @sebastianbergmann
twitter @s_bergmann
mastodon @sebastian@thephpcc.social


FrankenPHP: a modern application server for Symfony apps

Description
FrankenPHP is a modern application server for PHP built in Go. FrankenPHP gives superpowers to your PHP apps: Early Hints, worker mode, real-time capabilities, automatic HTTPS, HTTP/2 and HTTP/3 support...

How does Symfony fit with FrankenPHP? What benefits does it bring to the Symfony ecosystem?

Symfony Runtime, Symfony HttpFoundation, Symfony Mercure, Symfony Local Web Server... let's see how the Symfony ecosystem can leverage FrankenPHP for the sake of performance and simplicity!

Slides
Video

By Kévin Dunglas
github @dunglas
twitter @dunglas
mastodon @dunglas@mastodon.social


Panel: how Platform.sh agency partners drive innovation and growth

Description
In this session, successful Platform.sh agency partners share how the Platform.sh Partner Program has helped them develop, accelerate, and scale their businesses in multiple domains, including collaboration, e-commerce, FleetOps, not-for-profit, and public sector. Partners will discuss their lessons learned and their vision for future innovations. Join us to gain insight into the latest resources available to help digital agencies drive and deliver results faster than ever before.

Slides
Video

By Erik Evrard
twitter @erikevrard


A self-training journey to the Symfony Certification - and beyond

Description
When I first considered the Symfony Certification, I had no idea where to start. After freaking out in front of that huge mountain, I realized that I just needed a good roadmap to start climbing!

We’re gonna talk methodology, tools, timeline, resources. No magic recipes, only tips and tricks that helped me figure out the path to the final exam. And then I’ll explain how all of this can be applied to any self-training need.

Slides
Video

By Camille Jouan
github @Ca-Jou


Fighting impostor syndrome: a practical handbook

Description
If you’ve never heard about impostor syndrome, you might realize during this session that it all sounds very familiar to you. After all, who has never had doubts?

But questioning your competence again and again no matter how successful you are, waiting in angst for the fateful day when everyone will finally see how much of a fraud you are… this is the infamous impostor experience that an estimated 70% of people go through at some point in their lives.

So you’re not alone, you do belong here and I’m going to give you all the tips you need to prove it to yourself too!

Slides
Video

By Marine Gandy
github @mupsigraphy
twitter @mupsigraphy


Jeopardy!

Description
Come and take part in the Jeopardy contest! Test your Symfony knowledge with other participants and have loads of fun! Each session features 25 questions in 5 categories about our favourite framework and its ecosystem. Sounds interesting? See you there!

Video

By Tomasz Kowalczyk
github @thunderer
twitter @tmmx


Climate change and IT, scaling sustainably

Description
This session will provide an overview of climate change, explore how to quantitatively reduce your carbon footprint in the cloud, and explore what actionable information is needed by the client. The ICT sector contributes ~4% of global greenhouse gas emissions – this is more than global aviation.

Slides
Video

By Frederic Plais
github @fredplais
twitter @fredplais

And Leah Goldfarb
twitter @leahgoldfarb


Calculating what we can’t see: carbon emissions in the cloud

Description

Slides
Video

By Mary Thomas
github @makermary

And Leah Goldfarb
twitter @leahgoldfarb


Mutating a symfony project

Description
Mutation Testing is a powerful technique to evaluate the quality of our tests but it's not widespread. In this talk, we will introduce Mutation Testing, compare it with code coverage and see how we can make it work inside a Symfony project using Infection.

Slides
Video

By Isabel Garrido Cardenas
github @isamadrid90
twitter @isabeliita90
mastodon @isabeliita90@mas.to


Decoupling an application with Symfony Messenger

Description
Quick response times are crucial. Time consuming tasks triggered in web requests should be executed asynchronously, if at all possible. In this talk I will give a short overview of what message queues are and then show a case study how we split up an application into smaller services and how we use message queues to coordinate the services.

Slides
Video

By David Buchmann
github @dbu
twitter @dbu


How to handle content editing in Symfony

Description
Content editing is the process of letting users create rich content directly from your project. It goes from allowing users to write simple text comments to letting users write rich documents collaboratively in real-time. Due to the inherent risks of displaying user content on your platform, it is a difficult problem to tackle in a secure, scalable and feature-rich way.

Let's discuss how the HtmlSanitizer component, Symfony UX and Mercure can be used together to build amazing editing experiences for your users.

Slides
Video

By Titouan Galopin
github @tgalopin
twitter @titouangalopin


What is FleetOps and why you should care?

Description
As the world gets more complicated so does managing all the digital assets of an organization. Standardizing is no longer about the software, the infrastructure provider or even the location but rather the ability to manage across multi-stack, multi-location and multi-providers in a streamlined fashion. Learn about the best way to speed up your time to market across your entire organization by standardizing on next generation DevOps we call FleetOps.

Slides
Video

By Jessica Orozco


Advanced Test Driven Development

Description
If you love TDD and want to improve in this programming discipline, you're in the right place. Attend this talk, and you'll learn about:
  • What TDD really is
  • Techniques for making your test suite more reliable
  • What does getting stuck mean, and how to get out of it
  • Why mocking is more about collaboration
  • Acceptance tests and more!

Slides
Video

By Diego Aguiar
github @MolloKhan
twitter @MolloKhan


A web for anyone, anywhere, anytime

Description
The web is designed to be accessible by default, but we developers made a mess of it along the way. We exclude a large group of people while the web is such an intrinsic part of our daily lives nowadays.

In this talk, Rowdy will go over common mistakes and show solutions to improve your website for persons with disabilities. He will also discuss practical examples to make websites more enjoyable and usable for every user, based on their current situation.

Slides
Video

By Rowdy Rabouw
github @rowdyrabouw
twitter @rowdyrabouw


Bring your own knowledge: The Shopware App System and platform.sh

Description
Getting into new ecosystems often is a huge investment of time and effort. In this talk, Niklas will show you an exception to the rule.

The exception consists of three things: A MIT-licensed, open-source e-commerce software called Shopware, the service platform.sh, and whatever programming knowledge you already have.

You will learn how to use your existing knowledge to create standalone services that hook into Shopware Shops with minimal effort from your site.

See what is possible, what you can do with the technology, where platform.sh fits the picture, and learn why it is worth trying the whole thing out.

Slides
Video

By Niklas Dzösch
github @ndzoesch
twitter @ndzoesch


How to Instantly Upgrade your Legacy Symfony in Minutes

Description
Legacy code is side effect of any successful company. The longer your grow, the older your code is.

How can we deal with it? Rewrite? Gradual refactoring? Hire external developer team with legacy skills?

In 2022 there are tools that can handle like composer updates your dependencies. Any company or developer can refactor their huge legacy code in a couple of weeks. Bump PHP 5.3 to PHP 8.1? From PHPUnit 4 to 10 or Symfony 2.8 to 6.1?

You don't have to know a thing about the BC breaks and how-to-chagen it. I will show you, how you can become master of change with simple command line.

Slides
Video

By Tomas Votruba
github @TomasVotruba
twitter @VotrubaT


From a legacy Monolith to a Symfony Service Oriented Architecture with zero downtime

Description
Let's say you have a 15-year-old e-commerce site and you need to modernize it. You've probably heard of something like SOA or microservices and want to implement them. But you have no idea how to move from a monolith to SOA while maintaining live production the whole time.

In this talk, we'll walk you through how we approached this, what's the first step? How we leveraged the Strangler Fig Pattern (presented in Shawna Spoor's talk) with Symfony to set up our migration path. How to manage such an architecture on a daily basis? How do manage source code? How do we handle users's session between legacy and new apps? How do we benefit from Symfony's Container in the legacy part? How to hunt for bugs thanks to OpenTelemetry?

This talk will give you some tips from our experience.

Slides
Video

By Clément Bertillon
github @skigun
twitter @BERTILLONClment


Headless possibilities

Description
Headless is a term emerged recently in the web industry. It was coined to describe a backend system that provides core features but doesn't provide delivery, just a REST API interface. Countless products like CMSes and eCommerce systems state being headless or at least having a headless mode. Is it something completely new or just good old "divide et impera"? In this presentation, we will explore the headless buzz, how it is related to decoupled architecture and API driven development, it's pros and cons. Also, what about the head?

Slides
Video

By Ivo Lukač
github @ilukac
twitter @ilukac


Modernizing with Symfony

Description
A legacy application. It still earns the money, but maintaining the old code base is getting harder and harder. Feature development is too slow and the bug tracker is full of severe defect reports.

Rewriting the whole application is something your developers would simply love to do. But the rewrite probably won't go live before it's running out of budget.

Let's have a look at simple techniques that allow us to transform our legacy application step by step into a modern Symfony application.

Slides
Video

By Alexander M. Turek
github @derrabus
twitter @derrabus
mastodon @derrabus@phpc.social


Painless authentication with Access Tokens

Description
Via some simple but real scenarios, we will discover the power of the new AccessToken Authenticator shipped in Symfony 6.2. For example, we are developing a SaaS product, which exposes a private API. Our users can register many applications into their accounts, for each one we will generate an API Token that users must inject in their requests. Now, with a pinch of YAML and a dash of PHP, we will be able to authenticate users from their API Token. In this talk, I will show you how it also works with JWT and some other exotic tokens!

Slides
Video

By Mathieu Santostefano
github @welcoMattic
twitter @welcoMattic


Dynamic Validation with Symfony

Description
It might happen on some of your API's endpoints, that the object your app is waiting for depends on the data sent. Say, the user sends `{type:foobar, data: XXX}`, then the `XXX` formats will depend on the type `foobar`.

So how can one validate this data if we don't even know its type ? Well come on in, I'll show you how ! You can actually validate dynamic data by using the most of the features available in Symfony.

Slides
Video
Code

By Marion Hurteau
github @MarionLeHerisson
twitter @MarionHerisson


The Evolution of Symfony: Now and to the Future!

Description
With the release of 6.2, Symfony will contain somewhere near *500* new features from just the past 12 months! Wow!

And, while many of these are small, the landscape of how Symfony apps are developed continues to evolve. In this talk, we'll look at some of the most important changes, from new dependency injection attributes, framework-extra bundle features in Symfony, Symfony UX, testing, and more! Basically... a quick catch-up on 12 months, thousands of commits, and hundreds of releases across numerous repositories. Let's go!

Slides
Video

By Ryan Weaver
github @weaverryan
twitter @weaverryan

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published