La parole est aux speakers : Stéphane Hulard

Publié le

« Jusqu’à l’AFUP Day 2021, retrouvez nos interviews de speakers pour mieux comprendre leur parcours et le sujet qu’ils ou elles aborderont lors de leur conférence !

La conférence

Dive in the dependency injection container.

Découvrons ce pattern et comment il fonctionne à travers des exemples réels. En prenant comme base le conteneur intégré à Symfony, mais en essayant d’ouvrir à toutes les solutions offertes par la communauté (aka PSR11), j’espère vous faire découvrir des capacités cachées dans votre application !

Les conteneurs d’injection de dépendance font parti intégrante des frameworks que nous utilisons tous les jours. On peut même dire que c’est le coeur de votre application. Aujourd'hui, on essaie d'automatiser au maximum leur configuration pour faciliter leur usage, mais comme ils permettent de créer, configurer, combiner des objets, ils gagnent à être mieux connus et maîtrisés.

Tours
11/06/2021
09:20-10:00

Parmi tous les composants ou mécaniques du framework Symfony, pourquoi as-tu choisi de faire un focus sur le conteneur d’injection de dépendance ?

Parmi les derniers projets que j’ai créé sur Symfony, j’ai été agréablement surpris par les nouveautés du conteneur d’injection de dépendance. L’expérience de développement est simplifiée, la productivité améliorée. Selon moi, la magie d’un framework est toujours à prendre avec des pincettes et c’est important d’avoir un œil sous le capot. C’est un constat que je fais depuis quelques temps déjà, on parle beaucoup des nouveaux outils, nouvelles librairies qui viennent enrichir le framework. Cependant si on ne connaît pas très bien le cœur et donc les patterns comme le conteneur d’injection de dépendance, c’est difficile d’en tirer pleinement parti.

C’est ce qui a donné naissance à cette conférence. L’objectif n’est pas de devenir un expert du pattern ni de son utilisation dans Symfony mais d’avoir au moins conscience de ce qu’il apporte et des limitations auxquelles nous, en tant que dev, serons confrontés.

Est-ce qu’il y a d’autres composants de Symfony qui attisent ta curiosité pour un autre futur talk ?

J’ai déjà parlé du composant Messenger dans une précédente conférence au Forum PHP, et je suis de près ce qui se passe autour de Symfony. Je pense que celui que j’ai le plus apprécié utiliser récemment est le composant Workflow. Il permet d’utiliser le principe d’une machine à état pour piloter des enchaînements plus ou moins complexes. Il y a déjà eu plusieurs présentations à son sujet mais si je devais parler d’un composant, ce serait celui-la.

Pour bien débuter avec Symfony, quelles sont les choses indispensables à savoir selon toi ?

Pour être à l’aise avec Symfony, je pense que des bases saines en programmation objet sont nécessaires. Sans ces bases, on se retrouve vite à copier/coller du code sans trop savoir pourquoi il doit aller à tel ou tel endroit. Au moins connaître le principe de classe, d’interface et savoir lire leur fonctionnement (visibilité des méthodes, des propriétés). S’attacher à créer un code simple et clair, même si c’est assez subjectif, peut aussi aider à appréhender des points importants comme le DIC. Le pattern MVC n’est clairement pas indispensable mais le principe de requête, réponse reste central dans la plupart des projets web quelle que soit l’architecture utilisée dans le développement.

Je pense que le reste vient avec la pratique et la collaboration avec d’autres développeurs et développeuses (code review, peer programming…). Il y a beaucoup de ressources en ligne pour débuter avec Symfony ou d’autres frameworks mais il ne faut pas se jeter dans le premier tuto venu et appliquer à la lettre tous les principes décrits. Le plus important reste d’avoir un œil critique et toujours se poser la question du pourquoi, le contexte est important et ce qui marche chez certains n’est pas toujours une bonne idée pour les autres.

Une conférence présentée par

Stéphane HULARD
Stéphane HULARD
Depuis 2006, il baigne dans le web et son écosystème. Consultant et formateur indépendant, il apprécie particulièrement travailler sur des projets legacy pour accompagner les équipes à les reprendre en main et il s'obstine à la mise en place des méthodes d'ingénierie logicielle sur le web (intégration et déploiement continu, tests unitaires, documentation…). Il essaie de rendre à la communauté au maximum à travers des contributions Open Source. Il télétravaille presque à 100% ce qui lui permet de vivre à l'étranger la moitié de l'année quand la crise sanitaire n'est pas dans les parages ^^.

Autres interviews

«