-
Ne pas confondre Role et Permission - Meetup Afup 10/24
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.
-
Recettes de découplage équilibré avec Symfony
Un projet web, on sait quand ça commence mais jamais quand ça se termine. De nouveaux besoins métiers émergent, d'autres évoluent, certains disparaissent, et notre code doit s'adapter. Ceci ne s'applique pas seulement à notre projet, mais à tous ceux dont il dépend. SGBD, langage, framework ... Même combat. Personne ne sait à quoi ressemblera la prochaine version majeure de Symfony, ni combien de temps il sera maintenu. Ce qu'on peut en conclure, c'est que la capacité de nos projets à évoluer et résister dans le temps dépend fortement de la façon dont nous utilisons le code qui ne nous appartient pas. Si vous avez déjà eu à mettre à jour un projet de Symfony 2 à 6 en une itération, vous voyez de quoi je parle. La bonne nouvelle c'est que dernièrement, Symfony a pris une direction qui, en plus de nous permettre de relever les challenges les plus complexes, embrasse des patterns qui permettent d'écrire du code plus résistant au changement. Dans ce talk, je vous parlerai de bonnes habitudes et pratiques visant à tirer le meilleur parti du framework sans créer de couplage fort entre votre code et le sien, de sorte à trouver le bon équilibre entre adaptabilité et productivité.
-
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