[:fr]La parole est aux speakers : Damien Cavaillès [:]

[:fr]Jusqu’à l’AFUP Day 2020, 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

10 méthodes pour rendre les devs heureux. La 7ème va vous surprendre !

La 7ème va vous surprendre !

Recruter un développeur aujourd'hui ça coûte cher, du coup les entreprises se donnent du mal pour garder un turnover bas (si je vous dis que le plus souvent une startup parisienne à 30 de turnover, ça vous paraît enorme ? Ça l'est). Alors tout le monde se demande "que veulent les développeurs ?", ils cherchent "L'homme qui murmurait à l'oreille des développeurs", et [SPOILER :] Il n'existe pas.

Cette conférence est à sa 3 version majeure. Complètement réecrite et reconçue, la version 2020 est 25% plus fine et 10% plus performante que la version 2017. Vous repartirez avec un framework pour construire votre grille d'évaluation personnelle pour répondre à la question : "Est-ce que je serais heureux•se avec ce job ?".

En ligne
26/06/2020
16:20-17:00

Tu sembles être issu d’un parcours plutôt orienté dev mobile et tu as proposé ta conférence à un événement porté sur le PHP. Pourquoi ?

C’est vrai que dans ma vie professionnelle, j’ai fait beaucoup de mobile. D’une part parce que j’aime beaucoup les systèmes embarqués (j’ai fait de la programmation de PIC en C avant d’apprendre l’objet). Mais j’ai fait aussi beaucoup de projets Web en PHP. Les back-ends de mes premières applis mobiles étaient en PHP 5.x, et ensuite en Rails. J’ai fait des sites web complets en PHP/jQuery à l’époque c’était cool, où on avait pas besoin de compiler son javascript, et où c’était normal de déployer son site web sur un mutu via FTP.

Après, si je viens à l’AFUP c’est parce que la communauté PHP est super agréable et j’ai vraiment envie de passer du temps à rencontrer les participant·e·s de la conférence. Par ailleurs, ma conférence parle de l’environnement de travail des développeuses et développeurs, et pas que de PHP. Au final, tout le monde devrait avoir le droit à un job épanouissant. À quoi bon être un·e dev heureux·se si on travaille avec une équipe marketing blasée, des commerciaux qui font la tronche, des POs déprimés, et des managers et RHs désengagés. J’ai envie de parler de la communauté de professionnel·le·s qui font du logiciel et des systèmes informatiques.

(suite…)

[:fr]La parole est aux speakers : Damien Seguy[:]

[:fr]Jusqu’à l’AFUP Day 2020, 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 meilleur du typage fort en PHP

Le typage se propage à tout PHP : la 7.4 l’ajoute aux propriétés, après les arguments et les valeurs de retours. Bien qu’opposé aux choix initiaux de typage faible de PHP, le typage augmente significativement la cohérence du code, son niveau d’auto-validation et les possibilités de dépendances inextricables. Le typage contribue à aider les outils d’introspection, à débuguer le code au plus tôt, et à adopter des techniques de développement comme le motif de l’objet null. C’est un outil supplémentaire, pratique pour les grands projets, et facilement déployé.

En ligne
03/07/2020
14:25-15:05

Tu as choisi de ne soumettre tes propositions de talks qu’à l’AFUP Day 2020 Tours. Qu’est-ce qui t’a poussé à choisir cette ville ?

J’ai deux raisons, dont chaque est suffisante seule.
– Primo: l’AFUP Tours avait deja organisé un événement très convivial lors de mon passage l’an dernier, et on s’était quitté en se promettant de remettre cela. L’occasion ne s’est pas représentée toute seule, alors parfois, il faut savoir forcer un peu la main du destin.
– Secundo: c’est un secret d’élephpant, bien sûr…. (réponse empruntée à Edmond de Rostand…)

(suite…)

[:fr]La parole est aux speakers : Paul Molin[:]

[:fr]Jusqu’au Forum PHP 2019, 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

Se prémunir contre l’imprévisible : une analyse des failles les plus courantes en PHP

Même avec des frameworks robustes et éprouvés, il est encore possible d’introduire des vulnérabilités dans les applications PHP.En prenant l’exemple de Symfony, et en se basant sur des cas concrets et inspirés d’histoires vraies, nous verrons qu’il est facile y compris pour des développeurs chevronnés de faire des petites erreurs aux conséquences potentiellement désastreuses.

À la tête d’une équipe chargée d’aider nos 80+ développeurs à construire des applications sans failles, j’ai pu répertorier les meilleures (et les pires) pratiques pour faire du code sécurisé.

Des contrôles d’accès bancals aux Cross Site Scripting involontaires, en passant par les injections DQL, nous verrons les principales vulnérabilités des applications Web peuvent s’introduire subrepticement dans une application PHP et, surtout, comment s’en prémunir.

À la fin de ce talk, vous aurez les idées claires sur la surface d’attaque de votre code applicatif, et sur les manières les plus simples de se protéger efficacement contre les vulnérabilités les plus courantes. Vous aurez toutes les clefs en main pour apporter une réelle culture de sécurité aux développeurs de votre équipe.

Grace Hopper
24/10/2019
15:15-15:55

Quels sont tes premiers réflexes pour sécuriser une application PHP ?

Les premiers gestes ont lieu avant même de commencer à coder. Quand les devs conçoivent l’application, ils peuvent déjà se poser des questions comme : Quels problèmes peuvent survenir avec cette fonctionnalité ? Quel est le pire qui puisse arriver pour le métier ? Quelles données sont confidentielles ? Si j’étais un attaquant, qu’est-ce que j’aimerais réussir à faire ? En se posant ces questions, on met déjà le doigt sur des failles potentielles.

L’avantage de ces questions, c’est qu’elles ne sont pas techniques. C’est donc possible (et même essentiel) d’impliquer le métier dès le début sur ces problématiques. Cela permet d’aligner toute l’équipe sur les risques pour le produit. Et, mieux encore, l’idée que c’est important commence à germer dans l’esprit des responsables métiers, qui auront moins tendance à déprioriser des fonctionnalités liées à la sécurité ou des corrections de failles.

Il faut ensuite se fixer, en équipe, des standards de qualité, afin que tout le monde soit aligné. Comment gérer le contrôle d’accès ? Quelles restrictions s’imposer sur la construction de requêtes SQL sur mesure ? Comment gérer les erreurs ?

Pour ne rien oublier, l’équipe technique doit collaborer avec l’équipe sécurité. Mais cela ne doit pas empêcher les développeurs de faire de la veille et de chercher à savoir quelles failles ils peuvent introduire alors même qu’ils sont en train de taper sur leur clavier. C’est leur responsabilité en tant que professionnel·le·s !

(suite…)

[:fr]La parole est aux speakers : Romain Monceau[:]

[:fr]Jusqu’au Forum PHP 2019, 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

Devenir un Lead Dev - Echecs et succès

On demande beaucoup de choses à un Lead Dev/Tech Lead parfois même des choses qui sortent de son périmètre, de ses compétences. Il n'en demeure pas moins que ce rôle est crucial au bon développement d'un logiciel.

Facilitateur de la communication avec les product owners, garant de l'architecture applicative, responsable du delivery, organisateur du travail, évangéliste... Les casquettes peuvent très vite être multiples et demander beaucoup de challenges pour une seule personne.

Ce talk est un retour d'expérience de mon aventure en tant que Lead Dev produit chez Akeneo. Avec le recul, je ne ferai probablement pas toujours les mêmes choix. Certains étaient bons d'autres moins. L'idée est de les partager sur des exemples concrets de situation avec ce qu'il faut et ne pas faire.

Katherine Johnson
25/10/2019
12:10-12:30

Tu vas nous parler de ton rôle de lead dev et de ta transition vers celui-ci : as-tu quelques ressources à recommander et qui t’ont aidé dans ce changement ?

La transition a été très rapide et je me suis directement retrouvé sur un projet compliqué (je n’en dis pas plus, vous verrez ça lors du Forum PHP 2019 !). Du coup, je n’ai pas de ressources précises pour devenir Lead Dev. Je ne crois pas aux recettes magiques, il y a trop d’humain et de projets différents dans nos métiers pour que la théorie suffise. C’est justement ce qui rend le tout si intéressant.
J’ai regardé des talks et lu des articles sur les points, sur certains sujets et thématiques qui me préoccupaient ponctuellement, mais je pense que chaque situation est différente donc il faut s’adapter.
J’ai eu la chance de beaucoup échanger avec notre VP produit et les autres Lead Dev d’Akeneo. Ça m’a permis de mieux comprendre certains aspects et de travailler différemment avec tel ou tel développeur.
Histoire de donner quelques liens, il y a pas mal de conférences intéressantes sur le tech lead ici, le site de Ron Jeffries (l’un des fondateurs de l’XP), les méthodes de travail et l’agilité (en français). Actuellement, je lis pas mal de littérature autour des OKRs et sur le fait de mieux intégrer les développeurs dans la définition d’une solution puisque c’est ma problématique du moment.

(suite…)

[:fr]La parole est aux speakers : Kévin Dunglas[:]

[:fr]Jusqu’au Forum PHP 2019, 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

Mercure, et PHP s'enamoure enfin du temps réel

Mercure est un protocole réseau qui permet aux serveurs de « pousser » très facilement des mises à jour en temps réel. C'est un remplaçant moderne de WebSocket, qui dispose d'une caractéristique qui va particulièrement intéresser les développeurs PHP : contrairement à WebSocket, Mercure a été conçu dès l'origine pour fonctionner avec les plateformes qui ne peuvent pas maintenir de connexions persistantes, telles que PHP, ou le "serverless".

Le protocole, qui a actuellement le statut d'Internet Draft, est donc très simple à utiliser avec notre langage préféré. Côté client, il est nativement supporté par tous les navigateurs modernes, sans même avoir besoin d'un SDK ou d'un paquet NPM.

Mercure, contrairement à WebSocket, tire parti au maximum de HTTP/2 et de HTTP/3. Il est auto-découvrable, et a été conçu dès le départ pour être utilisé avec les API REST et GraphQL. Il dispose d’un mécanisme d’autorisation, supporte la re-connexion automatique et la récupération des messages perdus en cas de problème réseau.

Depuis quelques mois, Mercure est officiellement implémenté par API Platform et Symfony. Au cours de cette présentation, nous découvrirons ce nouveau protocole et ses intégrations PHP.

Katherine Johnson
24/10/2019
16:25-17:05

Tu es l’auteur du protocole Mercure ainsi que de son implémentation de référence, qu’est-ce qui t’a donné envie de faire tout ça ?

L’idée m’est venue alors que je travaillais d’un côté sur le support de GraphQL dans API Platform et de l’autre sur un meilleur support de HTTP/2 pour Symfony (cf ma conférence de l’an passée au Forum PHP).

Côté API Platform, je cherchais un moyen de supporter les subscriptions GraphQL. Grâce aux subscriptions un client peut s’abonner aux modifications apportées aux ressources. Dès qu’une ressource surveillée est modifiée, le serveur “pousse” en temps réel la nouvelle version aux clients, qui peuvent instantanément l’afficher.

(suite…)

[:fr]La parole est aux speakers : Nicolas Grekas[:]

[:fr]Jusqu’au Forum PHP 2019, 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

Symfony HttpClient vs Guzzle vs HTTPlug

HttpClient est un nouveau composant publié avec Symfony 4.3. Qu'apporte-il par rapport aux solutions précédentes ? Je vous propose de le découvrir lors de cette conférence. Que pouvons-nous attendre d'un client HTTP à l'heure où la version 3 est en préparation ? Quels sont les cas d'utilisation envisageables, du plus simple aux plus ésotérique ? À travers des exemples comparés de code et des benchmarks de performance, nous allons disséquer les possibilités de chaque librairie pour vous permettre de faire le bon choix en toute connaissance de cause.

Katherine Johnson
25/10/2019
11:25-12:05

Ta conférence portera sur HttpClient, comment cette librairie se positionne t-elle vis-à-vis de PSR-18 et PSR-7 ?

HttpClient embrasse PSR-18, mais pas que. Il est ainsi très facile de l’utiliser avec une librairie qui dépend de la PSR. À dire vrai, c’est l’implémentation la plus avancée. PSR-7 est une dépendance de PSR-18, rien de particulier à ce sujet. Le paquet nyholm/psr7 est une excellente implémentation sans artifice, HttpClient l’utilise par défaut. Comme PSR-18 ne convient qu’aux requêtes HTTP les plus simples, HttpClient repose sur une autre abstraction, définie par symfony/http-client-contracts, qui couvre aussi les besoins les plus avancés. Pour découvrir sur quoi se basent ces promesses, il faudra venir voir ma conférence 🙂

(suite…)

[:fr]La parole est aux speakers : Marie-Cécile Godwin et Thomas di Luccio[:]

[:fr]Jusqu’au Forum PHP 2019, 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

Concevoir pour des futurs souhaitables

2019 sera la dernière année qui ressemblera aux précédentes. Nous somme entré·es dans l'ère de l'Anthropocène, où nous humains sommes devenus une force géologique capable de modifier la planète, le climat et les dynamiques du vivant, et ce à nos dépens.

Le design et la tech ont largement participé à l'exploitation des ressources naturelles et à l’accélération des cycles de production et de consommation. Nous actrices et acteurs des nouvelles technologies avons bien souvent perdu l’ancrage à la dimension systémique et politique de notre action. Nous avons malgré nous contribué à façonner ce monde prêt à s'effondrer... Il ne nous reste que peu de temps, c'est pourquoi nous vous proposons un moment de réflexion et d'introspection, mêlé à des voyages dans des temps futurs pour corriger nos biais négatifs sur le monde qui nous entoure et explorer ce que nous pouvons faire de mieux dès aujourd'hui.

Nous vous proposons une invitation puissante à nous rassembler et nous questionner sur comment nous sculptons notre quotidien comme notre futur à travers nos métiers, au sein de notre industrie. Loin de nous l'idée de prôner la fin de la tech et de l'innovation : nous avons encore plein de cordes technologiques à notre arc que nous pouvons mobiliser différemment pour tracer les nouvelles règles d'un monde prospère, digne, résilient et circulaire.

Cette intervention est le résultat de deux ans de réflexion et de recherches dont nous vous présenterons les premiers résultats pour agir dès maintenant et faire muter nos pratiques autant que nos paradigmes : des initiatives déjà existantes qui prouvent qu'on peut faire les choses autrement, des principes et heuristiques qui permettent de concevoir les bons outils pour des futurs différents, de l'inspiration pour faire muter profondément nos postures de conceptrices et concepteurs, etc.

Katherine Johnson
24/10/2019
17:10-17:40

En tant que développeurs et développeuses, quel est le plus grand changement que nous pouvons réaliser afin d’améliorer le futur ?

Thomas : Avant de vouloir améliorer le futur, peut-être faut-il tenter de comprendre le présent, l’existant. Porter un regard lucide sur celui-ci, et surtout sur l’impact que chacun•e d’entre nous a sur celui-ci pourrait être une première étape. Qu’est-ce que nous apportons au monde ? Quelles sont les conséquences de mon action sur celui-ci ? Quelles externalités je laisse derrière moi, à la charge de quelqu’un d’autre ou, pire encore, de personne. Les développeuses et développeurs, comme toutes celles et ceux travaillant dans nos industries, sont très souvent victime d’une fascination pour la technique et la technologie. Cette fascination ne se limite pas à un attrait très fort et aboutit bien souvent à un aveuglement. On en vient à confondre le progrès, comme amélioration de la vie des humains, avec une des modalités pour l’atteindre, la technologie. Les technologies que nous employons aujourd’hui sont très largement insoutenables et nous commençons à en payer le prix. Les développeurs et développeuses ont la capacité de créer des nouveaux outils, de nouvelles technologies qui puissent permettre de maintenir le niveau de progrès humain que nous connaissons, mais en respectant pleinement les limites planétaires.

Marie-Cécile : Au fil de nos recherches et de nos lectures, nous sommes de plus en plus convaincus qu’il n’existe pas UN changement plus efficace que les autres, mais une infinité d’actions, de remises en question, de réorientation de nos outils qui ont toutes leur importance à petite échelle. Améliorer notre futur est une tâche éminemment complexe et il serait malhonnête de faire croire qu’il y existe des réponses simples. C’est une belle réponse de normand, nous en avons conscience ! Par contre, il est vrai qu’une des pistes que nous proposons, c’est de commencer par le domaine que l’on a à notre portée et sur lequel nous avons le plus d’influence : nous-mêmes. Le premier changement vient de l’intérieur, nous invitons donc tout le monde à une saine introspection, notamment sur nos métiers et nos pratiques ! Dans quel imaginaire s’inscrivent-elles, quels systèmes servent-elles, quelles illusions continuons-nous d’alimenter à travers elles ? Qu’avons-nous à en tirer en tant que personnes ? Quels aspects toxiques contribuons-nous à maintenir malgré nous ? La liste est infinie 🙂

(suite…)

[:fr]La parole est aux speakers : Matthieu Napoli[:]

[:fr]Jusqu’au Forum PHP 2019, 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

L'architecture progressive

MVC, CRUD, ORM, SOA, DDD, CQRS, event sourcing, architecture hexagonale, micro-services… J'ai toujours couru après la solution optimale mais je n'ai encore jamais vu le projet parfait. Fini de courir.

Et si la meilleure architecture ne dépendait pas de sa maintenabilité, son extensibilité ou sa testabilité, mais plutôt du contexte ? Le métier, la stratégie business, l'humain… Des variables pas toujours familières pour nous développeurs, alors qu'il existe des outils pour mieux les comprendre.

L'architecture progressive se place en approche plutôt qu'en solution. Cette approche est libératrice : nous n'avons plus à opposer SQL et ORM, CRUD et DDD, façades et injection de dépendances ! Nous pouvons produire de la valeur ajoutée en mettant en face la qualité et l'effort approprié.

Katherine Johnson
25/10/2019
16:25-17:05

Taylor Otwell a récement annoncé le service en ligne Laravel Vapor, une surcouche au dessus AWS Lambda : au vu de ton travail sur ton sujet avec Bref, quel est ton avis sur ce produit ?

Quand on regarde la démo et la liste des fonctionnalités, ce que Taylor a fait est techniquement exceptionnel, surtout à l’échelle d’une/quelques personnes. Sa vision produit et UX est une source d’inspiration.
Au delà de ça, le positionnement de son produit est très ciblé et restreint, ce qui est compréhensible au niveau business. C’est un produit qui vise à faire scaler les applications Laravel. En se limitant à Laravel et en imposant des solutions sur l’architecture des utilisateurs, cela lui permet de fournir un service assez haut niveau. Parfait pour ceux qui font du Laravel et ont un problème de scaling.
Pour en avoir discuté avec des utilisateurs de Bref, les deux projets ont des publics a priori différents (Bref étant plus ouvert par nature). C’est positif je trouve, d’autant plus que cela démontre que l’orientation « serverless » arrive à maturité sur les stacks PHP.

(suite…)

[:fr]La parole est aux speakers : Olivier Allain[:]

[:fr]Jusqu’au Forum PHP 2019, 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

L'e-commerce sans accroc avec Sylius

Quand les solutions e-commerce ne peuvent plus rien pour vous, il ne vous reste plus qu’un recours, un seul : Sylius ! Venez découvrir ce qui se cache sous le capot : de l’architecture à la roadmap en passant par les plugins ou les tests afin que le lancement de votre prochain projet de site e-commerce se déroule comme votre plan préféré, c’est-à-dire, sans accroc !

Grace Hopper
24/10/2019
11:25-12:05

Le e-commerce regorge de nombreuses solutions de développement. Comment Sylius tire son épingle du jeu par rapport aux autres ?

Sylius s’aborde comme un framework et non pas une plateforme e-commerce en tant que telle. C’est une question « philosophique » mais qui a toute son importance. En effet, selon moi, il ne faut pas prendre Sylius pour faire un projet « Out of The Box » en se disant que c’est la solution la plus riche fonctionnellement pour adresser un besoin. Pour cela des solutions comme Prestashop ou Magento en BtoB seront bien mieux adaptées. Sylius est plus à considérer comme un socle technique qui va permettre de construire rapidement et efficacement un projet spécifique voire très spécifique, qui nécessitera des adaptations profondes, une revue globale du tunnel de commande par exemple, et dans ce contexte, Sylius pourra prendre l’avantage. J’ajouterai que Sylius est fait par des développeurs, pour des développeurs, et ça, ça change tout ! En effet, Sylius a été imaginé et créé par Paweł Jędrzejewski qui était développeur et est maintenant développé par l’équipe Sylius ainsi que par la communauté Open Source.

(suite…)

[:fr]La parole est aux speakers : Benoit Viguier[:]

[:fr]Jusqu’au Forum PHP 2019, 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

Une année de PHP asynchrone en production

Oui, il est tout à fait possible de faire de la programmation asynchrone en PHP et il existe des librairies matures pour le mettre en place dans vos projets. Oui, ça peut améliorer considérablement la performance de vos applications, mais si c’était aussi simple tout le monde le ferait déjà. Cela fait plus d'an que les équipes de 6play ont franchit le pas sur certains projets et les applications asynchrones tiennent toutes leurs promesses en production, mais la mise en place a soulevé beaucoup de questions. À quels critères se fier pour rendre une application asynchrone? Comment former les équipes sur ces nouveaux paradigmes? Comment adapter les outils existants et comment gérer ce nouveau type de charge sur les serveurs? Voici notre retour d’expérience sur le PHP asynchrone, du développement à la production, en passant par la vie de tous les jours.

Katherine Johnson
25/10/2019
15:15-15:55

L’asynchrone est encore quelque chose de peu connu dans l’écosystème PHP, comment peut-on s’y former sans être perdu ?

C’est la bonne question à se poser si vous comptez utiliser la programmation asynchrone dans votre équipe. D’après mon expérience, il y a deux manières d’amorcer l’apprentissage : par la théorie, ou par la pratique. Commencer par la théorie nécessite peut-être un peu plus d’efforts, mais il est possible de consulter les ressources existantes pour d’autres langages (la programmation asynchrone existait bien avant le Web !), et une fois les bases bien assimilées il devient possible de répondre aux questions complexes que se posera votre équipe. C’est l’angle principal que j’avais adopté pour ma conférence de l’année dernière, faire comprendre comment ça marche et pourquoi les générateurs sont parfaitement adaptés à cet usage. Mais cette approche peut manquer de concret pour certain(e)s, et dans ce cas rien de tel que de mettre directement la main à la pâte ! Je conseille vraiment d’utiliser un framework qui utilise les générateurs, comme AMP, cela simplifie énormément la syntaxe des fonctions asynchrones et permet de se concentrer sur les problèmes de fond. Chez M6 nous avons même développé Tornado, un ensemble d’interfaces pour la programmation asynchrone via des générateurs, et des adaptateurs pour AMP, ReactPhp et Guzzle. Cette année je souhaite parler de la pratique, faire un retour d’expérience pragmatique sur la mise en place de ces nouveaux paradigmes, et j’espère justement pouvoir aider ceux qui se sentent perdus.

(suite…)