• Ne pas confondre Role et Permission - Symfony Live 2024

    Il n'est pas rare de tomber sur des hiérarchies de rôles complexes et longues comme le bras. Le problème avec ces listes interminables, c'est qu'elles ont tendance à fortement complexifier le code de nos projets. En effet, les rôles Symfony étant directement liés à la notion de permissions, on les retrouve un peu partout et à tous les niveaux de notre code. De fait, plus la liste est longue, plus le code devient compliqué à appréhender et à faire évoluer. Et si je vous disais qu'une grande partie des rôles de votre application ne sont en fait pas vraiment des rôles ? Et qu'il existe de bien meilleures façons de gérer les permissions de vos utilisateurs ? Dans ce talk, nous verrons comment remettre de l'ordre dans tout ça en apprenant à différencier Rôle et Permission et à utiliser correctement ces concepts distincts dans le cadre de vos projets Symfony.

  • [APIP Con] DDD & API-P 3

  • Symfony ou Laravel en 2023 - Meetup AFUP Lyon 21/11/23

  • reinvent-symfony-console

    Console est le composant Symfony le plus utilisé. Des outils critiques comme Composer jusqu'aux autres frameworks PHP populaires, en passant par nos applications finales, il est omniprésent. L'inconvénient de cela est que changer quoi que ce soit n'est pas une mince affaire. Même le plus petit bug fix est susceptible de casser des milliers d'usages. Néanmoins, le composant s'améliore constamment grâce aux innombrables contributions qu'il reçoit depuis son introduction en 2010, tout en conservant sa rétrocompatibilité. Mais nous pensons qu'il est temps de faire peau neuve, notamment pour ouvrir le composant à davantage de possibilités et le débarrasser de certains problèmes de design. C'est pourquoi nous, quelques contributeurs clés dont Théo Fidry, Kevin Bond et moi-même, avons travaillé intensivement à le revisiter. C'est ce ce que je vais vous présenter dans ce talk. Préparez-vous à redécouvrir la Console !

  • GNAP: The future of OAuth

    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. Delivered in English Room: The Symfony room Thursday, December 8, 2022 at 10:05 AM – 10:40 AM

  • Sortir du cadre - Forum PHP 2022

    Symfony, comme tout framework, vient avec un ensemble de lignes directrices et autre "defaults". Structure des répertoires, fichiers d'amorçage, packages installés, configuration automatique, conventions de codage... toutes ces choses que l'on obtient lorsque l'on crée un nouveau projet. Quel est le but de ces defaults ? Doit-on s'y tenir ? Ou pouvons-nous nous en écarter ? Et si on choisit d'en dévier, à quel coût ? Est-ce que cela vaut encore la peine d'utiliser un framework ? Dans cette présentation, nous passerons en revue les différents axes sur lesquels Symfony nous fournit des defaults, en passant par un voyage dans le temps visant à comprendre comment Symfony a évolué sur le sujet et comment il se positionne par rapport aux autres frameworks PHP. A partir de cet état des lieux, nous verrons un ensemble de préconistations visant à déterminer quelles sont les lignes dont nous sommes susceptibles de nous écarter, pourquoi et à quel prix. Avec pour objectif d'exploiter au mieux notre framework de prédilection tout en mettant nos besoins métier au centre de nos applications.

  • [APIPCON22] DDD & API-P 3

  • Symfony BC Promise Demystifed

    Everyone using Symfony needs to customize a built-in feature at some point, either to fit some specific business requirements or just to perform some extra tasks. Sometimes, that requires to change the way some core services are wired, which often leads to friction at time to upgrade. Should you just copy/paste the feature code and change it to your needs then? Fortunately, no. Most Symfony features are designed in a way that makes it possible to extend them somehow, with little or no tight coupling. In this talk, we will review the factors that should be taken into account in order to use and extend Symfony's code the right way, based on real-word examples and a deep dive into the backward-compatibility promise, plus some tips pulled out of my maintainer hat.

  • Symfony PasswordHasher

    In Symfony 5.3, the password hashing logic has been extracted out from the security-core package to a first-class package named password-hasher. This component provides a clean API to manage passwords securely, and it can be used in any PHP project. Let's see how this component works and how it can ease managing passwords in your applications.

  • Symfony Messenger Enfin stable

  • Symfony Security 4.x New Features

  • Serverless Webhooks

  • JSON Web Token