AFUP Day 2019 is the new conference organized by AFUP, the French PHP user-group, dedicated to PHP and its ecosystem. On Friday, May 17th, the PHP community will attend a full day of talks in three different cities : Lille, Lyon and Rennes. Let's share experiences, let's meet the companies of these areas, let's listen to the best experts in the PHP world !

Friday 17th May 2019

09:00
2
Keynote d'ouverture (10 minutes)

Bienvenue !

09:20
5
État de l'art d'Elasticsearch avec PHP
Talk by Damien Alexandre (40 minutes)

Tout le monde utilise Elasticsearch, mais qui en comprend vraiment les particularités ? Dans ce talk je vous expose mes recommandations sur la mise en place du moteur de recherche dans un applicatif Web et les pièges dans lesquels nous tombons le plus souvent. Du tuning de pertinence à la mise à jour de mapping en production sans perte de service, vous apprendrez à maîtriser et reprendre confiance dans votre utilisation d'Elastic avec PHP.

10:05 PHP 8 et Just In Time Compilation
Talk by Benoit Jacquemont (40 minutes)

PHP 7 a apporté des gains de performance importants. Mais saviez-vous que ces gains sont principalement issus du travail préparatoire pour la mise en place du JIT? La compilation Just In Time est un moyen de transformer l'opcode PHP directement en langage machine compris par le processeur, toujours pour obtenir des performances supplémentaires. Et c'est aussi un des composants principaux de la future version majeure de PHP. Ce talk sera l'occasion de plonger dans le fonctionnement de la technologie JIT choisie par l'équipe de développement du moteur Zend, ainsi que de présenter quelques premiers benchmarks.

11:15 No Doc, No Feature v2
Talk by Sarah Haïm-Lubczanski (40 minutes)

La nouvelle fonctionnalité est prête, toute l'entreprise se réjouit. Les utilisateur·ices vont-ils savoir s’en servir ? Si vous pensez que le changelog et la PHPDoc suffisent, je voudrais vous demander : pourquoi priver vos utilisateur·ices des meilleures parties de votre logiciel ? Je vous propose de définir la qualité minimale attendue pour une documentation aujourd'hui, et d’examiner l’effort à fournir pour l’atteindre. Nous parlerons des process de documentation et de comment on fait pour documenter avec les moyens et les compétences disponibles au sein de l'équipe.

12:00
1
Coder proprement en PHP en 2019
Talk by Antoine Deprez, Brice Taillardat (20 minutes)

Il s'agit ici de présenter PHP non plus comme un langage de bidouille comme il était possible de faire avant 2004 mais comme une solution pérenne et performante pour nombre de besoins. Les détails abordés portent notamment sur la V7.1 (nullable et void), visibilité des constantes de classes etc... Les exemples porteront notamment sur Facebook avec HipHop, HHVM ou Hack et les framework robustes et leurs intérêts principaux. Bref, il s'agit ici de démontrer la force du langage et d'en profiter pour troller nos amis javaistes. Le ton est humoristique et permet à tous de se rappeler la puissance mais aussi pourquoi PHP a cette réputation et d'y mettre un terme définitivement.

14:00 Laravel et Vue : une stack simple et efficace pour le web
Talk by Benjamin Cavy, Yvonnick FRIN (40 minutes)

Un développeur heureux produit du meilleur code. Laravel et Vue ont bien compris ce concept et nous proposent des APIs élégantes, expressives et faciles à prendre en main. Elles nous permettent de construire des applications web en un rien de temps. Laravel est un framework implanté depuis 5 ans dans l’écosystème PHP, façonné de manière à pouvoir construire des APIs REST rapidement. Il embarque aussi tout un ensemble d’outils pour faciliter les tâches quotidiennes du développeur. Vue js est un framework léger et performant, orienté composant qui gagne rapidement en popularité dans l’écosystème Javascript. Les nombreuses fonctionnalités présentes “out of the box” dans le framework permettent de se concentrer sur ce que l’on veut réaliser plutôt que sur la manière de le réaliser. Au travers du live coding d’une petite application permettant d’enregistrer vos gifs favoris, nous allons vous présenter la synergie qui existe entre ces deux frameworks.

14:45
1
GraphQL vs REST
Talk by Fabien Féat (20 minutes)

REST est une norme bien ancrée dans le monde des API mais elle n'est pas la seule et certaines alternatives sortent du lot, telle que GraphQL. Je propose ici de faire un état des lieux de GraphQL et de le comparer avec ce que nous connaissons tous : REST.

15:10
1
Préparer son application php pour l’exécution dans un environnement contenerisé
Talk by Vincent Lainé (40 minutes)

À travers cette session je vous propose de venir réfléchir aux challenges qui découlent de l'utilisation d'une solution de conteneurs. Nous aborderons quelques unes des questions principales ainsi que leur(s) solution(s) au travers d'exemples utilisant Kubernetes.

16:20
1
Un-e professionel-le du numérique doit-il-elle avoir une éthique ?
Talk by Aleth Gueguen (40 minutes)

Quand on écrit du code, est-ce qu'on a toujours conscience que cela peut avoir un impact sur la vie des gens ? Est-ce qu'on s'assure toujours de ne pas faire de mal (même si on veut sauver le monde) ? Un algorithme dit-il toujours la vérité ou est-ce que c'est seulement l'expression de notre opinion ? Je pense qu'il est important qu'on commence à se poser ces questions. Dans ce talk, je vous montrerai des exemples et des outils –comme le “Privacy" by Design Framework– pour nous aider à identifier les situations à risque et y répondre.

17:05 PHP Pragmatic Development
Talk by Frédéric Bouchery (40 minutes)

On ne va pas se mentir, DDD c'est bien, mais pas franchement facile à appréhender quand on débute. Et c'est bien là tout le problème : il n'y aurait que des développeurs seniors et des architectes sur nos projets, tout irait pour le mieux. Quand on parle d'expérience développeur (DX), il est donc nécessaire de prendre en considération ces jeunes inexpérimentés qui peuvent vite se perdre et enrayer notre belle machinerie. Héritage, traits, injection de dépendances, agrégation, programmation évènementielle, programmation orienté aspect, etc. faisons le point sur les architectures actuelles en PHP et retrouvons un peu de pragmatisme pour le bien de nos projets et de notre santé mentale.

17:50
2
Keynote de clôture (10 minutes)

À bientôt !