AFUP PHPTour 2018 Baromètre Planète PHP

La parole est aux speakers : Matthieu Napoli

Jusqu’au Forum PHP 2017, retrouvez nos interviews de speakers pour mieux comprendre leur parcours et le sujet qu’ils aborderont lors de leur conférence !

La conférence

[ATELIER] Un framework basé sur les middlewares, ça donne quoi ?

Nous allons écrire ensemble un framework web basé sur les middlewares PHP. Vous n'avez jamais écrit de framework, et vous ne connaissez pas les middlewares ? Parfait ! Les middlewares sont parfois vus comme un détail d'implémentation pour des problématiques très précises. Après avoir découvert ces middlewares via PSR-7, après avoir écrit un framework avec et après avoir collaboré sur la prochaine PSR-15, ma vision est maintenant différente : les middlewares permettent de mieux comprendre et aborder les questions d'architecture dans nos applications. Plutôt que de se restreindre à des problèmes spécifiques, nous partirons de zéro en commençant par les concepts de base des applications web. Nous utiliserons la simplicité du middleware pour implémenter pas à pas les différentes briques qui composent un framework jusqu'à obtenir une application web complexe. Seul pré-requis : connaitre PHP et avoir des bases en programmation orienté objet. On construira le reste ensemble.

Atelier sur inscription, disponibles sur Eventbrite.

Salle Margaret Hamilton
26/10/2017
14:15-17:15

Au Forum PHP 2016, tu as présenté une conférence sur les middlewares. Cette année, tu proposeras un atelier, toujours sur le même sujet. Qu’est ce qui t’a attiré sur ce format plus long ?

La conférence est un format propice pour raconter une histoire. À l’inverse l’atelier permet d’être actif et de refaire le chemin soit même, ce qui je pense est encore plus intéressant. J’adore ce moment « eureka » à certaines étapes de l’atelier où les participants ré-inventent eux-mêmes les architectures des frameworks modernes.

Tu as participé à l’écriture d’une PSR (PSR-11), comment se passe l’écriture d’une telle spécification ?

Les étapes de réalisation d’une PSR sont plutôt simples sur le papier, en réalité cela est plus compliqué. Le principe de base est de standardiser quelque chose pour favoriser la compatibilité entre les différents frameworks et librairies PHP. Ce qui prend du temps ça n’est pas tant l’écriture du code mais plutôt toutes les interactions autour pour mettre tout le monde d’accord. Cela dit c’est très intéressant car on interagit avec des auteurs de différents frameworks, c’est une bonne opportunité pour découvrir des approches différentes d’un même problème.

Tu as un projet nommé externals.io. Peux-tu nous en dire plus ?

J’ai toujours aimé suivre les discussions de la mailing-list des contributeurs core PHP, on peut y suivre en avant première l’évolution du langage. Mais les outils pour suivre cette mailing-list ne sont pas pratiques : emails (bonjour le spam), interface web de l’an 1995, etc. J’ai écrit externals.io pour proposer un affichage plus agréable de ces discussions.

Tu as donné plusieurs conférences sur Lyon, accueillies par l’antenne AFUP Lyon. Peux-tu nous parler un peu de cette antenne ?

L’AFUP Lyon organise différents événements dans l’année : conférences, apéros, ateliers… On y apprend beaucoup mais j’y apprécie encore plus la communauté avec qui on peut partager et passer des bons moments.

Tu participes à de nombreux projets open-source. Comment arrives-tu à contribuer autant et concilier cela avec ton travail ?

C’est une question que je pose à la plupart des mainteneurs de projets open source que je croise et je n’ai jusqu’ici jamais eu de réponse magique. Cela dit, participer à ces projets demande du temps mais c’est également une vraie source d’épanouissement quand on arrive à créer des choses qui nous plaisent ou qui sont utiles à d’autres personnes. J’essaye donc toujours d’y trouver mon compte, si ça n’est plus du plaisir alors je lève le pied pendant un moment et je réévalue mes priorités. Se fixer des objectifs restreints et avancer par petites étapes est un très bon début. Il y a également cette règle toujours utile : on peut démarrer un projet soit pour résoudre un problème soit pour apprendre une nouvelle techno, mais jamais les deux en même temps. Bref, je pense que l’introspection est essentielle pour garder le cap, et identifier clairement « pourquoi je fais ça » permet de maitriser l’effet inéluctable de lassitude, ou pire de burn out. À terme j’aimerais que l’open source soit encore plus soutenu dans notre métier, par exemple via une généralisation des sponsoring de projets ou du temps de travail consacré à l’open source. Je pense que cela créerait énormément d’opportunités pour tout le monde, mais c’est un vaste sujet 🙂

Vous avez votre billet pour le Forum PHP 2017 ? Inscrivez-vous maintenant sur EventBrite pour participer à son atelier, programmé le premier jour du Forum PHP 2017, à 14h15. Progressez en petit groupe (15 personnes maxi), sur votre propre machine, en compagnie de Matthieu Napoli.

Le speaker

Matthieu Napoli
Matthieu Napoli
CTO à Wizaplace, je suis aussi mainteneur de projets open source tels que PHP-DI ou Couscous. Passionné par les questions d'interopérabilité entre librairies et frameworks PHP, je participe au PHP-FIG sur les PSR 11 et 15.

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 :