Keynote d'ouverture

En ligne 26/06/2020 09:00-09:10 - Niveau : N/A - Français

Bienvenue à l'AFUP Day 2020 Lille - édition en ligne

Symfony 5

En ligne 26/06/2020 09:20-10:00 - Niveau : Intermédiaire - Français

Comme tous les deux ans, novembre 2019 a été l'occasion d'une nouvelle version majeure de Symfony. Cette version 5 est particulièrement intéressante de part la démarche qui l'anime : mieux résoudre les problèmes des développeurs et développeuses, en créant des librairies haut-niveau basées sur les fondations solides de Symfony 4. Je vous propose de découvrir ou redécouvrir ensemble les nouveautés apparues dans Symfony depuis la version 4.0 (Messenger, HttpClient, Mailer, Notifier, String, ...) et en quoi ces nouveautés changent la façon dont nous avons de concevoir le futur de Symfony.

Sauvons le Web : décentralisons !

En ligne 26/06/2020 10:05-10:45 - Niveau : Grand public - Français

Sauvons le Web : décentralisons !

Le Web a été conçu pour servir l’humanité, pour permettre le partage de connaissances, pour l’amitié entre les peuples. Seulement la centralisation des données et des services par les géants de la Silicon Valley l’ont totalement dénaturé et font peser des menaces immenses sur notre société : surveillance de masse, censure, trucage des élections, arrestations des opposants, fichage étatique et publicitaire.

La situation est telle que les pères fondateurs du Web, parmi lesquels son créateur Tim Berners Lee, multiplient les appels pour le sauver.

La solution : le décentraliser à nouveau, rendre aux utilisateurs le contrôle sur leurs données, lutter contre les monopoles des GAFAM, reconstruire un web indépendant et non-commercial en s’appuyant sur le logiciel libre. Développeurs, journalistes, juristes, artistes et activistes s’organisent pour faire émerger le « Dweb », le web (à nouveau) décentralisé. Le Dweb, c’est un corpus de standards (généralement portés par le W3C) tels que ActivityPub, JSON-LD, RDF ou HTTP ainsi que d’outils dont Solid, Mastodon, PeerTube ou Mobilizon qui visent à remettre le Web au service du bien commun. En tant que développeurs et développeuses web, c’est de notre responsabilité de le construire et de le promouvoir. La bonne nouvelle c’est que l’écosystème PHP dispose déjà des outils nécessaires pour créer des applications web décentralisées basées sur ces standards. Au cours de cette conférence, nous découvrirons pourquoi le Dweb est un enjeu crucial pour l’avenir de nos sociétés, comment ça marche techniquement, et comment on l’implémente avec API Platform, Vulcain, Mercure et autres outils du monde PHP qui le supportent déjà !

La clean architecture : pourquoi ? Comment ? Pour qui ?

En ligne 26/06/2020 11:15-11:55 - Niveau : Intermédiaire - Français

Les frameworks et librairies externes sont une bénédiction pour les développeurs : cela nous permet de gagner du temps, d'utiliser du code (généralement) de qualité, et de nous concentrer sur ce qui est vraiment important: la vraie logique qui rapporte de la valeur!

Cependant, tout vient avec un coût...

A y regarder de plus près : qui est vraiment "le plus important" dans l'histoire? Le framework dicte ses lois: Vous devez "extend" ses classes, rajouter ses annotations, suivre sa structure de dossiers, etc... C'est une sorte de mariage forcé. Au début, tout est beau... Mais un mariage, c'est fait pour durer ! Quand la "mariée" décide de déprécier et ensuite supprimer ce que vous aimez chez elle (ou pire : elle n'est plus maintenue), vous vous retrouverez paralysé avec une version obsolète, par peur de casser votre fameuse logique métier...

Ca ne peut plus durer ! Dans ce talk, on parlera de tout ce que j'aurais aimé qu'on me dise sur la clean architecture avant de commencer

Comment controler le framework, plutôt que lui ne vous contrôle ? Comment arriver à ce que le framework et vos librairies ne soient qu'un détail d'implémentation ?

Vous aurez en prime : Du code clair Une architecture claire, qui fonctionne sur du back-en comme du front-end Du code facilement testable unitairement... Plus besoins de "booter" votre frameword pour tester vos vues Plus aucune peur de mettre à jour une librairie, voire de la changer

Streaming: an alternative to CRUD & batch processing

En ligne 26/06/2020 14:00-14:40 - Niveau : Intermédiaire - Français

If a product or a company grows after its early stage, it’s not rare that there will be multiple systems or “services” communicating to each other. The two most common ways are by using APIs or batch processing.

In this talk, I will show you another way, message streaming. This less known technique has great maintenance and decoupling properties given that you understand its ordering and idempotence requirements, which we will discuss. We will also see how partitioning allows us to scale the streams in separate segments, while maintaining the previous requirements. We will wrap up by a summary of things to watch out for if you take this route after discovering why it might be very beneficial to your project(s).

Étudions ensemble le design pattern "Factory"

En ligne 26/06/2020 14:45-15:05 - Niveau : N/A - Français

Les design patterns sont connus des développeurs et développeuses, mais étant donné qu'il y en a 23 en tout, il est compliqué de tous les connaître parfaitement.

C'est pourquoi aujourd'hui je vous propose de simplement nous concentrer à analyser le design pattern "Factory", car lors de mon expérience professionnelle c'est un de ceux que j'a été amené à utiliser le plus souvent. Nous prendrons donc le temps de voir ses applications, ses bénéfices et ses contraintes d'implémentation pour pouvoir bien comprendre son concept et être capable de le réutiliser facilement

Une fois utilisé, vous ne pourrez pas vous empêcher de l'adopter dès que la situation se présentera à vous ;)

Infection : Quand les X-men nous aident à mieux tester

En ligne 26/06/2020 15:10-15:50 - Niveau : N/A - Français

Ecrire des tests unitaires c'est super ! On ne démontre plus aujourd'hui leur utilité tant sur la partie "Documentation du code" que sur la partie "Test du code".

Mais comment être sûr•e que l'on a testé tous les cas de figure de l'utilisation d'une méthode? Y-a-t'il un moyen de tester nos tests unitaires ?

Je vous propose de répondre à cette question en vous parlant du mutation testing au travers d'un des outils PHP mettant en oeuvre ses principes : Infection.

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

En ligne 26/06/2020 16:20-17:00 - Niveau : N/A - Français

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 ?".

Concevoir des back-offices performants

En ligne 26/06/2020 17:05-17:45 - Niveau : Intermédiaire - Français

Il n'est pas possible de concevoir un front-office performant si le back-office ne l'est pas. Par back-office, nous parlons de tous les systèmes qui permettent de délivrer le service aux utilisateurs : serveurs Web, applications, APIs, réseau et autres composants : tout ce qui se passe de l'autre côté du périphérique de l'utilisateur.

Cette conférence vous expliquera quels sont les principes à connaître, sans entrer dans les détails d'implémentation. Ces connaissances vous aideront à concevoir ou à dialoguer avec les concepteurs, à tester et vérifier les systèmes dans leur intégralité afin d'arriver à des temps de traitement quasi instantanés.

La performance du front-office (HTML, CSS, JS, Mobile) sera volontairement écartée pour se concentrer sur la performance globale du système, de la base de données côté serveur jusqu'à l'écran de l'utilisateur, en passant par le réseau.

Keynote de clôture

En ligne 26/06/2020 17:50-18:00 - Niveau : N/A - Français