Plongée dans l’injection de dépendances

L’injection de dépendances est au cœur de nos frameworks PHP préférés. Ce design pattern permet de mieux découpler notre code, de rendre nos applications paramétrables ou encore de profiter de mécanismes poussés pour configurer nos applications.

Pendant ce talk, je vous propose de découvrir ce qui se cache derrière ce concept. Conteneurs, services, paramètres… Autant de termes que nous explorerons pour mieux les comprendre.

Nous ne nous limiterons pas à la théorie : nous verrons comment créer notre propre système d’injection de dépendances, le but final étant de l’utiliser en lieu et place de celui de Symfony.

À la Recherche des Trésors Cachés de PostgreSQL

Dans cet exposé palpitant, nous hisserons les voiles et naviguerons sur les mers tumultueuses de PostgreSQL, la meilleure base de données relationnelle open source au monde! En tant que développeurs et développeuses intrépides, vous êtes convié·e·s à embarquer pour une quête à la découverte des fonctionnalités souvent ignorées, les véritables trésors cachés du monde des bases de données. Explorez avec nous les eaux tumultueuses du traitement transactionnel, cartographiez les îles des données complexes (y compris JSON et données géographiques), et plongez dans les abysses des techniques de recherche textuelle d'une redoutable efficacité. En révélant ces joyaux enfouis, vous pourrez non seulement optimiser vos applications, mais aussi devenir de véritables pirates de la programmation, prêts à conquérir de nouveaux horizons technologiques. Alors, hissez le drapeau noir de PostgreSQL et préparez-vous à larguer les amarres pour cette aventure à la recherche des trésors perdus ! Arg !

Composer 101 : Gérer Efficacement ses Dépendances PHP

Vous avez entendu parler de Composer, cet outil incontournable pour gérer les dépendances en PHP ? Il y a de grandes chances. Pourtant, on ne tombe jamais sur des conférences dédiées à cet outil alors qu'il y a tant à dire. Incroyable non ? Alors, bienvenue à bord !

Dans ce talk, nous allons décortiquer Composer, étape par étape, de manière simple et accessible. Pas de prise de tête ici – juste des explications claires, des conseils pratiques et de la démystification. Que vous soyez débutant•e en quête de bases solides ou un•e dev plus aguerri•e cherchant à rafraîchir ses connaissances, tout le monde est le/la bienvenu•e.

Alors, prêt à naviguer dans le monde des dépendances PHP ?

Rôles & permissions : comment développer une marque blanche avec du Feature Flipping

Les rôles et les permissions permettent de gérer d'une manière très fine les droits des utilisateurs : ce sont donc deux composants essentiels de la sécurité d'une application web.

Nous ferons dans un premier temps un focus sur leurs différences et intérêts avant de voir comment les intégrer de manière très simple dans Symfony. Puis, nous verrons, au travers d'un retour d'expérience, comment tirer parti des rôles et permissions pour mettre en place une marque blanche, du "Feature Flipping" et un système de profils utilisateurs dans une application web.

Découvrez comment les implémenter dans votre base de code, mais aussi des exemples d'outils à mettre en place dans votre CI et votre monitoring afin d'être sûr•e•s de ne pas avoir de raté.

Et donc du coup, j'ai voulu rendre le Serializer de Symfony plus rapide...

À force d'échanger avec de nombreux acteurs de la communauté PHP durant les pauses-café des conférences PHP, je me suis donné la mission d'améliorer les performances du composant Serializer de Symfony.

Mais qu'est-ce qu'il se passe quand on essaie d'intégrer 15k lignes dans Symfony ? Et comment on en arrive là ??

Qui est impliqué dans cette contribution de ce genre ? Ça veut dire quoi se faire "stoffer" ? Et que vient faire la communauté Go dans l'introduction d'une fonctionnalité liée à Symfony ?

Durant cette conférence, je vous propose un aperçu d'un processus de contribution toujours en cours, vu de l'intérieur, présenté par celui qui se trouve dans l'œil du cyclone.

Et puisque l'on aime quand même un peu la technique, je vous présenterai l'astuce permettant de sérialiser et désérialiser de la donnée 10 fois plus vite et en consommant 2 à 10 fois moins de mémoire.

Au-delà des heures : la semaine de 4 jours comme levier d’égalité

L’égalité… Vaste sujet n’est ce pas ? Longtemps difficile à faire émerger, il est depuis quelques années sur le devant de la scène. Et si tout le monde avait à y gagner ?

Égalité salariale, reconnaissance équitable, évolution dans l’entreprise: il est temps de briser les barrières de genre ! Allons même plus loin sur la diversité et l'inclusion en offrant une flexibilité accrue aux employé•e•s ayant des responsabilités familiales, des engagements ou des besoins particuliers.

Une révolution du travail se profile à l'horizon : la semaine de 4 jours. Un levier puissant pour l’égalité et je vais vous expliquer pourquoi.

Au cours de cette conférence, nous explorerons en détail les mécanismes par lesquels la semaine de 4 jours contribue à la diminution des inégalités au travail. Des exemples concrets s’appuyant sur des témoignages et des études de cas mettront en lumière les bienfaits de cette approche. Enfin, je vous donnerai les clés pour insuffler cette nouvelle façon de travailler dans votre propre structure. Il est temps de passer à l’action !

Bénéfices :

  • Prendre conscience des différents aspects de l'inclusion
  • Comprendre ce que l'inclusion peut apporter à l'ensemble des salarié•e•s
  • Découvrir la notion de semaine de 4 jours
  • Repartir avec des leviers pour initier la réflexion

Attributs en PHP : un regard rétrospectif de la magie à l'adoption

Les attributs, autrefois connus sous le nom d'annotations, sont une fonctionnalité de longue date dans d'autres langages de programmation. Cependant, il a fallu attendre l'avènement de PHP 8 pour les voir intégrés nativement dans notre langage de prédilection. Comment est-on passé du suspicieux 'C'est de la magie' à une adoption native ?

Je vous invite à faire une rétrospective de cette évolution technologique : son histoire, son évolution, et surtout son application concrète dans Symfony. Enfin, j'aborderai les opportunités qu'offrent les attributs, ouvrant de nouvelles perspectives à travers des exemples de code.

DDD !== Archi hexagonale

DDD n'a rien à voir avec l'architecture hexagonale mais ils vont bien ensemble comme les meilleurs potes du monde !

Nous verrons ce qu'est DDD et ce qu'est l'architecture hexagonale et pourquoi ils vont si bien ensemble.

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é.

Keynote d'ouverture

Bienvenue à l'AFUP Day 2024 Lyon !

Keynote de clôture

Fin de cette journée d'apprentissages en compagnie de la communauté PHP.