La parole est aux speakers : Lior Chamla

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

Le monde merveilleux des conteneurs d'injection de dépendances

Quand on se lance dans la programmation orientée objet et que l’on souhaite respecter le principe de responsabilité unique et d’inversion de contrôle, on peut se retrouver rapidement en difficulté avec le nombre croissant de classes et de dépendances, et construire un objet peut devenir assez complexe.

Pour ce sortir de cet enfer des dépendances, nous avons recours aux conteneurs d’injection. Le but de la conférence est donc d'expliquer les fondements du Conteneur d'Injection de Dépendances avec ses avantages et ses inconvénients, tout en égrainant des conseils sur les bonnes pratiques de programmation orientée objets.

Rennes
28/05/2021
15:15-15:55

À ta connaissance, est-ce qu’il existe des frameworks sans conteneur d’injection de dépendances ?

Les seuls frameworks que je connaisse actuellement sont Symfony, Angular et Laravel dans une moindre mesure, tous sont munis de mécanismes très poussés d’injection de dépendance permettant de configurer tantôt un Container, tantôt des Injecteurs. Le principe reste globalement le même pour le/la développeur·euse qui s’en sert : obtenir un objet construit à la demande dans une classe via son constructeur même s’il y a des subtilités (injection par setter ou même directement dans une propriété). De ce que j’en connais, CodeIgniter (assez utilisé par les juniors qui veulent se mettre au développement PHP sur un framework simple à mettre en œuvre) ne possède pas de mécanisme d’injection de dépendances mais plutôt un système à la Service Locator (une classe centrale à qui on peut demander d’instancier des services à la demande).

L’avantage c’est qu’il existe (et ce n’est pas nouveau) des packages open source qui permettent de mettre en place ce concept dans n’importe quelle application PHP : Pimple (qui avait été utilisé dans Silex mais qui est désormais abandonné il me semble), PHP DI et bien évidemment le composant Dependency Injection de Symfony !

Peut-être que ma future conférence permettra à des gens qui ne comprennent pas forcément l’utilité ou le fonctionnement de ces containers de s’y intéresser et même de les utiliser !

Qu’est ce qui t’a fait t’orienter vers la formation ?

J’ai établi l’objectif de devenir formateur à l’âge de 19 ans en 2005 (en bac+2), j’étais dans une promotion « sans prof » où on pariait sur notre autonomie, et j’avais à « former » mes camarades qui parfois n’avaient tout simplement pas envie de bosser certains sujets. Assez impressionné par le fait qu’ils arrivaient souvent à faire illusion auprès du responsable pédagogique qui venait chaque vendredi après-midi vérifier que les savoirs étaient acquis, j’ai compris que j’avais des facilités pédagogiques, assez d’empathie pour comprendre et faire comprendre. J’aimais ça et je décidais d’en faire mon métier dans un lointain futur.

Évidemment, avant d’être formateur, il me fallait acquérir de l’expérience et des armes conceptuelles tant pendant mon Master qu’en entreprise, puis en tant que développeur freelance, puis en tant que co-gérant d’une SARL et enfin en tant que formateur freelance. Depuis 2018, une majorité de mon chiffre d’affaires est issue de la formation. J’ai donc mis une bonne douzaine d’années à atteindre l’objectif que je m’étais fixé à l’époque ! Et ça en valait la peine !

Tu sembles prendre plaisir à accompagner les débutants dans leur auto-formation : qu’est-ce qui te motive dans ce partage ?

On n’imagine pas le plaisir que peuvent procurer les yeux d’une personne qui ne comprenait pas quelque chose et qui tout à coup s’allument, après que le cerveau ait finalement fait tous les liens et ait percuté une notion ou une technique.

En 2016, alors que mon activité de formation depuis 2009 ne me prenait que quelques jours par an, j’ai exécuté ma toute première formation longue avec des chômeurs en reconversion. J’avais un objectif motivant de retour à l’emploi pour des gens qui l’avaient perdu/quitté depuis parfois plusieurs années : j’ai été traumatisé par le fait qu’au bout de 3 mois, alors qu’ils n’avaient absolument pas toutes les billes nécessaires selon moi pour être réellement employables, on allait les laisser dans la nature.

L’hétérogénéité des profils, le fait qu’ils partent tous de zéro, font que seuls les plus débrouillards (on dit souvent « 1/3 des étudiants finiront en emploi ») s’en sortent vraiment. Dans ce genre de formations, le temps file beaucoup trop vite et j’ai eu envie de donner à ces étudiants des ressources supplémentaires. J’ai donc créé une chaîne YouTube qui à la base n’était destinée qu’à « mes » étudiants, mais elle a connu un boom incroyable après la publication de 4 vidéos sur Symfony (dont les étudiants n’avaient qu’entre 2 jours et une semaine pour l’apprivoiser, et soyons honnête, n’y comprenaient pas grand chose). À l’époque je connaissais mal le framework, mais juste assez pour pouvoir faire comprendre les choses basiques aux étudiants.

Devant le succès de ces contenus et le nombre incroyable de commentaires qui me demandaient d’aller plus loin sur tel et tel sujet, j’ai décidé de créer une formation en ligne qui a très bien marché. C’est en créant cette formation que j’ai finalement le plus appris sur le framework et ses subtilités. Depuis j’en ai fait mon principal métier : formateur en ligne, sur des contenus gratuits (YouTube) et payants.