Aller au contenu
Photo de Enzo Santamaria
@Enz000

Enzo a quitté l'e-commerce en 2022 pour devenir développeur PHP/Symfony, et a emporté son sens du business avec lui. C'est sa plus grande force : un vrai appétit pour le métier, et un talent pour transformer des besoins concrets en solutions techniques solides.

Attiré par l'architecture logicielle et le design d'API, il contribue à Symfony et à API Platform sur son temps libre.

Habitué des événements de l'AFUP et de la SymfonyCon, il a croisé la route de l'équipe de baksla.sh bien avant de la rejoindre. Aujourd'hui, il apprend chaque jour auprès de ceux qui construisent les outils qu'il utilise, et continue de progresser à leurs côtés.

Loin du clavier, il est soit sur sa moto, soit en train de courir. Florian a enfin quelqu'un avec qui rouler 🏍️

Photo de Félix Eymonot
@feymo

Félix est un développeur PHP spécialisé en Symfony depuis 2017, certifié « Advanced » en version 6. Fort d'une expérience en agence dans de multiples secteurs, il construit des solutions robustes et évolutives, taillées pour les besoins métier.

Passionné par Symfony et l'open source, il contribue activement à la communauté et a même donné une conférence technique.

Quand il ne conçoit pas du code propre et maintenable, il est attiré par l'univers de DC Comics, en particulier Nightwing, car que ce soit dans la tech ou à Gotham, l'agilité, l'intégrité et un fort sens de la justice font toujours la différence 🦇

  • Certified
Photo de Florian Merle
“FloFlax”
@florian-merle

Florian est passionné d'informatique depuis toujours et a transformé cette passion en carrière de développeur web. Depuis 2017, il se spécialise en PHP et Symfony. En 2019, il a découvert Sylius et construit depuis des solutions e-commerce avec, devenant l'un de ses Key Contributors.

Grâce au mentorat de Mathias, Florian a donné sa première conférence à l'AFUP Day Lyon en 2023. Depuis, il est devenu un membre actif de l'AFUP Lyon, où il organise des événements et aide les nouveaux venus à découvrir l'écosystème PHP et sa communauté.

Quand il ne code pas, Florian aime prendre la route à moto pour découvrir de nouveaux endroits et paysages.

  • Key Contributor
  • Certified
  • Certified
Photo de Hugo Alliaume
@Kocal

Développeur full-stack depuis 2009, Hugo aime apprendre énormément de nouvelles choses, ce qui le rend très polyvalent. Il s'est depuis spécialisé dans le développement web, principalement avec PHP et JavaScript, mais aussi dans l'optimisation des performances côté back-end et côté navigateur.

Hugo a récemment rejoint la Core Team de Symfony UX. Fan d'open source depuis les tout débuts, il y contribue aussi bien à travers ses propres projets qu'en travaillant sur Symfony, plus précisément sur Webpack Encore et Symfony UX.

Fin gourmet, vous le trouverez sans doute près des buffets des conférences.

  • UX Core Team
Photo de Jérémy Romey
@jeremyfreeagent

Jérémy est un développeur Symfony certifié. Il contribue au code de Symfony et à son écosystème tout en participant aux événements de la communauté.

Il aide les développeurs PHP et Symfony à construire des applications de grande qualité. Son objectif : aider les équipes à améliorer leur façon de travailler et à gagner en confiance dans le code qu'elles produisent.

Il ne dit jamais non à un bon espresso ☕

  • Certified
Photo de Mathias Arlaud
@mtarld

Conférencier, consultant, lead developer et formateur PHP/Symfony, Mathias a travaillé deux ans avec le créateur de Symfony et deux ans avec le créateur d'API Platform, Mercure et FrankenPHP.

Enthousiaste de l'open source, il contribue largement au framework Symfony et à son écosystème, en se concentrant notamment sur le système de sérialisation des données. Spécialisé dans le développement d'API, il met son expertise au service de solutions rapides, robustes et maintenables.

Ne demandez pas pourquoi, mais à la question PHPStorm vs VsCode, il répond encore VIM.

  • Co-Founder / Consultant
  • Core Team
  • Certified
Photo de Robin Chalas
@chalasr

Robin est Software Architect & mainteneur open source, impliqué dans l'écosystème PHP/Symfony depuis plus de dix ans, CEO et consultant @baksla.sh.

Membre de la Core Team Symfony, il contribue au framework en corrigeant des bugs et des failles de sécurité, mais aussi en apportant de nouvelles fonctionnalités à son cœur, en améliorant continuellement sa conception et en aidant la communauté à contribuer à Symfony et aux autres paquets populaires qu'il maintient.

En tant que consultant, il aime orienter les équipes techniques de toute taille dans la bonne direction, fort de son expérience dans la conception de grands systèmes logiciels.

Il adore aussi aider et partager ses connaissances en participant aux plateformes d'entraide, en relisant des contributions et en intervenant dans des conférences techniques.

Loin du clavier, Robin caresse ses chats ou joue à la pétanque.

  • Co-Founder / Consultant
  • Core Team
Photo de Valmont Pehaut Pietri
@Valmonzo

Valmont est un développeur PHP/Symfony qui adore plonger dans les gros projets en plein chaos quand tout brûle, que ce soit pour livrer une fonctionnalité, démêler du code legacy ou aider une migration à enfin avancer.

Après 10 ans dans la vente, il s'est reconverti dans le développement web et a gardé une approche pragmatique, centrée sur l'humain, pour résoudre les problèmes.

Il se concentre surtout sur le développement back-end, l'architecture propre et le code que les futurs développeurs ne maudiront pas trop fort.

Il donne aussi des conférences (quand les astres s'alignent et qu'il est d'humeur), contribue à l'open source et continue de creuser les design patterns, l'architecture logicielle et l'écosystème Symfony.

Grand fan de jeux de cartes à collectionner, on le croise souvent en conférence où, plutôt que de se joindre aux verres d'after-work habituels, il s'entraîne avec son ami Jérémy. Bien sûr, il est toujours partant pour les deux ! C'est aussi un amateur de bière artisanale, mais attention : si vous abordez le sujet, la conversation peut devenir aussi intense qu'un débat politique.

Photo de Yazid Hassani
@Yazid82

Yazid est un développeur frontend spécialisé en React et Vue depuis 2019. Très attaché à la performance et à l'expérience utilisateur, il façonne des interfaces élégantes et réactives, fluides et intuitives.

Passionné par les technologies web modernes, il explore sans cesse de nouvelles approches pour affiner ses compétences et garder une longueur d'avance dans un paysage frontend en perpétuelle évolution.

Toujours en quête d'innovation, il s'épanouit en relevant des défis complexes, en optimisant les interfaces et en transformant les idées en expériences interactives.

Quand il ne peaufine pas son code, vous pourriez le surprendre à perfectionner sa technique d'infusion du café, car un bon code, comme un bon café, est une affaire de précision et d'équilibre. ☕🚀

Chut !
L'équipe est au travail.

Astuce
Touchez un relecteur pour découvrir sa bio et ses réseaux.
Ouverte

feat: livrer la page /team avec le roster en mémoire

…/Controller/ViewTeam.php 12 1
…/Controller/ViewTeam.php
@@ -10,7 +10,7 @@ final readonly class ViewTeam
10
ajouté : use App\Team\Infrastructure\Repository\InMemoryMemberRepository;
11
use Symfony\Component\HttpFoundation\Exception\NotFoundHttpException;
12
use Symfony\Component\HttpFoundation\Request;
13
use Symfony\Component\HttpFoundation\Response;
14
use Symfony\Component\HttpKernel\Attribute\AsController;
15
use Symfony\Component\Routing\Attribute\Route;
16
ajouté : use Twig\Environment;
Fil · 2 commentaires

Pourrait-on aliaser cet import en Twig pour le rendre un peu plus compréhensible ?

Et si on étendait AbstractController pour utiliser la méthode render() ?

17
18
#[AsController]
19
final readonly class ViewTeam
20
{
21
    public function __construct(
22
ajouté :         private Environment $twig,
23
ajouté :         private InMemoryMemberRepository $memberRepository,
Fil · 3 commentaires

Ceci devrait plutôt dépendre d'une interface pour éviter le couplage aux détails d'implémentation

👍 Ce contrat Repository ((ouvre dans un nouvel onglet)) appartient à la couche Domain à mon avis.

Pour cibler une implémentation précise, tu peux utiliser l'attribut Autowire ((ouvre dans un nouvel onglet)).

24
    ) {
25
    }
26
27
    #[Route(name: 'app_team', path: '/team')]
28
    public function __invoke(Request $request): Response
29
    {
30
retiré :         return new Response();
30
ajouté :         if ('GET' !== $request->getMethod()) {
31
ajouté :             throw new NotFoundHttpException();
Fil · 2 commentaires

Même si ça fonctionne, #[Route(methods: ['GET'])] est une meilleure façon d'y parvenir.

En effet, mieux vaut tirer parti des capacités du routeur Symfony pour te concentrer sur la logique métier.

32
ajouté :         }
33
ajouté : 
34
ajouté :         return new Response($this->twig->render('pages/team/index.html.twig', [
35
ajouté :             'members' => $this->memberRepository->findAll(),
Fil · 3 commentaires

Devrait-elle plutôt renvoyer un résultat paginé ?

Pour autant que je sache, baksla.sh n'aura pas assez de membres pour avoir besoin de pagination de sitôt 😉

D'accord, et tant qu'on y est : oublie render() et utilise l'attribut #[Template] ((ouvre dans un nouvel onglet)). Il suffit de renvoyer le tableau, plus besoin d'Environment.

36
ajouté :         ]));
37
    }
38
}