La parole est aux speakers : Nicolas Grekas

Publié le

Jusqu’au Forum PHP 2022, 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

Comment décide-t-on de créer un composant Symfony ?

Si vous observez l'évolution de Symfony au cours du temps, vous vous demandez peut-être comment la core-team décide qu'un sujet donné ferait un bon composant ? Il y a déjà des librairies existantes pour presque tout, alors pourquoi en créer de nouvelles ? Comment Symfony s'inspire des autres projets et est-ce que ça arrive souvent ? Est-ce que le fait que les composants Symfony soient utilisés un peu partout leur apporte des fonctionnalités additionnelles ? Comment sont choisies les dépendances de Symfony ? Ou de façon plus générale : comment le projet Symfony interagit-il avec les autres frameworks et librairies ?

Lors de cette conférence, je vous propose d'étudier ces questions, pour vous permettre de comprendre les raisonnements sous-jacents. Ce sera l'occasion d'illustrer les fameux "package principles" et peut-être de vous donner matière à mieux choisir la façon dont vous-même décidez d'adopter (ou de réécrire) telle ou telle dépendance.

Ballroom ABCDEF - Grace Hopper
14/10/2022
09:45-10:25

Toi qui travailles sur beaucoup de composants Symfony, sur lequel préfères-tu travailler ? Lequel préfères-tu utiliser ?

J’ai contribué à un certain nombre de composants ces dernières années, de VarDumper en 2014 à Clock cette année. Mais le plus incroyable est sans hésiter le composant DependencyInjection (DI). Tous les autres sont plus ou moins finis : ils couvrent bien leur domaine et leur maintenance se fait à la marge. Mais le composant DI évolue tout le temps. Je me souviens m’être déjà dit : « Est-ce que cette PR sur DI est la dernière significative ? Je ne vois pas ce qu’on pourrait inventer d’autre ». Et pourtant à chaque fois de nouvelles idées arrivent. C’est aussi celui que je préfère utiliser parce qu’il est partout tout en restant invisible. Décrire suffisamment bien son code est tout ce qu’il faut faire pour qu’il joue la symphonie pour nous. Et sans introduire de couplage par-dessus le marché !

Le fait d’être, avec Symfony SAS une entreprise complètement dédiée au projet, a-t-il changé ta façon de contribuer ?

Mes missions au sein de Symfony sont d’une part d’assurer la bonne marche et le développement de nos offres (certification, conférences, SymfonyInsight, branding, etc.), et d’autre part d’animer la communauté pour contribuer à ce que le projet garde sa vivacité (ça passe par beaucoup de revues de code, échanges sur Slack, accompagnement sur les PRs, parler à des confs, etc.). Mais côté code, je reste totalement libre. Mes PRs viennent quand elles veulent, mon cerveau ne sait pas à l’avance à quoi il va s’attaquer, et nous ne nous fixons aucun objectif à ce sujet. Tant mieux car je pense que c’est essentiel pour ma créativité. Une chose est nouvelle cependant : l’impact qu’a Symfony oblige à être plus responsable. En pratique, ça veut dire par exemple qu’au sein de la core-team, on cherche aussi à se simplifier la vie au maximum, quitte à créer un nouveau composant, venez voir ma conf 😉
Impossible de maintenir efficacement un projet de cette ampleur sans ça.

Une conférence présentée par

Nicolas GREKAS
Nicolas GREKAS
Nicolas contribue à Symfony, avec deux casquettes: côté open-source, il propose de nouvelles fonctionnalités, des corrections de bugs, et accompagne les autres contributeurs presque quotidiennement depuis près de 10 ans. Il s'efforce de rendre Symfony toujours plus performant, souple et extensible. Côté pro, il participe à l'ambition de créer une entreprise durable en contact immédiat avec l'écosystème Symfony. Pas facile quand le produit est gratuit !

Autres interviews

En poursuivant votre navigation sur ce site, vous acceptez l’utilisation des cookies pour améliorer votre navigation. plus d'infos

1. Qu’est-ce qu’un cookie?

Un Cookie est un petit fichier texte enregistré sur votre terminal (ordinateur, tablette, smartphone, etc.), à l’occasion de la consultation d’un service en ligne grâce à votre logiciel de navigation. Il permet à son émetteur d’identifier le terminal dans lequel il est enregistré, pendant la durée de validité ou d’enregistrement du Cookie. Lors de la consultation de notre site Internet, des informations relatives à la navigation de votre terminal sont susceptibles d'être enregistrées dans ces fichiers dits "Cookies". Ces derniers sont installés sur votre terminal, sous réserve des choix que vous auriez exprimés concernant les Cookies et que vous pouvez modifier à tout moment.

2. A quoi servent les cookies émis sur notre site ?

Seul l’émetteur d’un cookie est susceptible de lire ou de modifier les informations qui y sont contenues.
Les cookies utilisés sur notre site permettent :

3. Vos choix concernant les cookies

Vous disposez de différents moyens pour gérer les cookies. Tout paramétrage que vous pouvez entreprendre sera susceptible de modifier votre navigation sur notre site et sur Internet en général et vos conditions d'accès à certains services de notre site nécessitant l'utilisation de cookies. Vous pouvez à tout moment exprimer et modifier vos souhaits en matière de cookies, par les moyens décrits ci-dessous. L'accord sur les cookies L'enregistrement d'un cookie dans un terminal est essentiellement subordonné à la volonté de l'utilisateur du terminal, que celui-ci peut exprimer et modifier à tout moment et gratuitement à travers les choix qui lui sont offerts par son logiciel de navigation. Si vous avez accepté dans votre logiciel de navigation l'enregistrement de cookies dans votre terminal, les cookies intégrés dans les pages et contenus que vous avez consultés pourront être stockés temporairement dans un espace dédié de votre terminal. Ils y seront lisibles uniquement par leur émetteur.

Le refus des cookies Si vous refusez l'enregistrement de cookies dans votre terminal, ou si vous supprimez ceux qui y sont enregistrés, vous ne pourrez plus bénéficier d'un certain nombre de fonctionnalités qui sont néanmoins nécessaires pour naviguer dans certains espaces de notre site. Tel serait le cas si vous tentiez d'accéder à votre compte ou à votre abonnement qui nécessite de vous identifier. Tel serait également le cas lorsque nous, ou nos prestataires, ne pourrions pas reconnaître, à des fins de compatibilité technique, le type de navigateur utilisé par votre terminal, ses paramètres de langue et d'affichage ou le pays depuis lequel votre terminal semble connecté à Internet. Le cas échéant, nous déclinons toute responsabilité pour les conséquences liées au fonctionnement dégradé de nos services résultant de l'impossibilité pour nous d'enregistrer ou de consulter les cookies nécessaires à leur fonctionnement et que vous auriez refusés ou supprimés. Les choix offerts par votre logiciel de navigation Vous pouvez configurer votre logiciel de navigation de manière à ce que des cookies soient enregistrés dans votre terminal ou, au contraire, qu'ils soient rejetés, soit systématiquement, soit selon leur émetteur. Vous pouvez également configurer votre logiciel de navigation de manière à ce que l'acceptation ou le refus des cookies vous soient proposés ponctuellement, avant qu'un cookie soit susceptible d'être enregistré dans votre terminal. Pour la gestion des cookies et de vos choix, la configuration de chaque navigateur est différente. Elle est décrite dans le menu d'aide de votre navigateur, qui vous permettra de savoir de quelle manière modifier vos souhaits en matière de cookies. Selon votre navigateur, consultez le lien ci-dessous pour configurer votre navigateur et refuser les cookies :