AFUP Day is our multi-destinations conference, organized every spring by our local PHP users groups and led by AFUP, the French PHP users group.

Friday 20th May 2022

09:25
0
PHP 8.1 en détail
Talk by Damien Seguy (40 minutes)

Deja 6 mois (on est en mai 2022 !) que PHP 8.1 est arrivé, avec sa hotte pleine de nouvelles fonctionnalités et de modernisations. Enumeration, propriétés en lecture seule, objets par défaut, types interesectionnels : n'en jetez plus ! Nous passerons en revue tout cela, et les inévitables incompatibilités de migration, pour que vous puissiez préparer votre code dès maintenant. Gare, PHP 8.2 est déjà bien avancé !

10:10
0
De l'humain à l'ordinateur, ou découvrir le sens d'un texte avec ElasticSearch.
Talk by Mathias Arlaud (40 minutes)

En y réfléchissant un peu, un texte, des phrases, des mots, ne sont que de simples suites de caractères, tout comme une image n'est qu'une simple matrice de pixels. Cependant, notre cerveau est capable d'interpréter cet enchaînement de caractères, et de l'associer à des concepts, en d'autres termes de lui donner du sens. Si on prend un peu de recul là-dessus, on peut se dire que notre cerveau est sur bien des aspects clairement impressionnant. Un enjeu de ces dernières années, c'est entre autres de permettre aux ordinateurs d'imiter cet aspect notre cerveau, en leur donnant la capacité de trouver le sens de la donnée avec laquelle ils travaillent. C'est par exemple ce que tente de faire l'intelligence artificielle. Je vous rassure tout de suite, on ne va pas du tout parler d'intelligence artificielle (même si cela serait extrêmement intéressant). On va cependant réduire notre champ de travail et essayer de comprendre comment il est possible d'attribuer un score de corrélation entre un texte donné et une multitude d'autres. Et pour cela, on va se pencher sur la manière dont se prend ElasticSearch (ou plutôt Apache Lucene) pour répondre à cette problématique. Sum equation Bienvenue en terminale, vous avez deux heures. Cette équation (simplifiée) représente la manière de calculer ce fameux score de corrélation, et c'est exactement ce que nous allons décortiquer. Dans un second temps, nous verrons comment nettoyer un texte "humain" afin de faciliter sa compréhension par un ordinateur. Char filters, tokenizers, token filters, tant d'outils qui permettront de réduire un texte à son sens profond, de réduire son "bruit" afin d'optimiser les scores de corrélation. Et petit bonus, vous pourrez même briller en société en étant en mesure de placer dans vos soirées mondaines des termes comme "Term frequency", "Inverse document frequency", "Coordination factor", "Inverted index"...

11:20
0
Guide pratique d'une méthodologie UX pour la conception de features
Talk by Jessica Martel (20 minutes)

Vous avez la sensation d’arriver en bout de chaîne ? De développer des maquettes irréalisables ou des features dont vous ne comprenez pas le sens ? Si cela vous parle, il y a une solution ! Je vous propose de vous présenter une méthodologie UX inclusive et transversale qui fonctionne pour le développement de nouvelles features. Que ce soit le développement d’une messagerie interne ou la refonte d’un tunnel de vente, nous allons détailler une méthodologie éprouvée à travers ces deux exemples très différents pour vous montrer ce qui peut fonctionner et quelles sont les clés du succès. De la constitution d’une équipe mixte composée de personnes tech et fonctionnelles, à la rédaction des specs techniques et fonctionnelles en passant par la recherche UX, les workflow et les maquettes, nous analyserons en détail les étapes de cette méthode. Ce guide pratique pourra ensuite être utilisé par morceaux ou en intégralité selon vos besoins, vos ressources, votre produit et les spécificités de votre entreprise. Si vous voulez vous investir aux côtés de vos équipes produit ou si vous manquez de ressources internes (product owner/manager, chef.fe.s de projets etc.), si vous êtes freelance et devez accompagner vos clients dans le cadrage des projets ou simplement si vous souhaitez en apprendre plus sur la partie amont du développement cette conférence est faite pour vous.

11:45
0
Le Prométhée moderne : embarquer PHP dans Go
Talk by Kévin Dunglas (40 minutes)

Go est un langage "compatible C" : on peut appeler du code C depuis Go, et du code Go depuis C. PHP, lui, est écrit en C. Théoriquement, on pourrait donc embarquer PHP directement dans un programme écrit en Go, au hasard, dans un serveur web. Est-ce possible ? C'est ce que nous découvrirons au cours de ce talk : nous plongerons dans les entrailles de PHP pour comprendre comment l'interpréteur fonctionne, et comment on peut l'interfacer avec un serveur web. Nous découvrirons ensuite certaines caractéristiques typiques de Go telles que les Goroutines et son serveur HTTP natif, et comment on peut en tirer partie pour améliorer les performances de nos applications PHP. Nous verrons ensuite que ce syncrétisme, qui peut sembler loufoque au premier abord, offre des opportunités inédites : simplifier vos déploiements en embarquant directement un serveur web, l'interpréteur PHP et votre code source dans un seul binaire conserver les services des applications Symfony ou Laravel chargés dans la mémoire du serveur web, et s'en servir pour traiter plusieurs requêtes HTTP écrire des fonctions en Go (ou en C, voir même en assembleur) et les appeler directement depuis le code PHP

14:00
0
Les subtilités du e-commerce à la française
Talk by David Buros (40 minutes)

Le e-commerce à la française a ses particularités auxquelles on a tous déjà eu affaire : double affichage hors-taxe / TTC, taux de taxe différent en fonction du produit vendu, éco-participations… Mais connaissez-vous sur le bout des doigts les règles qui régissent la vente en ligne en France ? Saviez-vous que l'éco-participation d’un produit pouvait avoir une TVA différente du produit en lui-même ? Et n’avez-vous jamais entendu parler de l’octroi de mer ? Le développement par Monsieur Biz d’un site sous Sylius pour un e-commerçant Français a été pour nous l’occasion de repartir d’une feuille presque blanche sur le sujet. En effet, nous avons découvert que Sylius ne pouvait gérer nativement un double affichage HT / TTC, qu’il n’existait pas de plugin qui traitait les écotaxes, ou encore que le paiement par mandat administratif n’était pas si facile que ça à implémenter. Dans cette conférence, que je souhaite fun et accessible, je voudrais présenter une partie des subtilités, parfois étonnantes ou absurdes, de la vente en ligne sur le marché français. A travers ma propre expérience sur un projet réel, je souhaite également indiquer comment j’ai tenté de traiter, de la manière la plus élégante possible, toutes ces problématiques dans Sylius.

14:45
0
Comment on est passé de 1800 emails à 70 000 par jour chez Trustt en 1 mois avec RabbitMQ
Talk by Cédric Driaux (40 minutes)

Trustt est une solution SaaS de création de communauté d’influence produits propriétaire via un programme ambassadeur sur les sites des marques. Au départ, les emails étaient envoyés par un cron qui tournait toutes les 15 minutes par lot de 50 mails à cause de requêtes lourdes et du temps de latence de 0.5 seconde de l’API d’envoi d’email. Les emails étaient envoyés par ordre de priorité et il y avait un reliquat de 200k emails non prioritaires non envoyés. Face à l’hyper croissance de notre audience, l’objectif était de pouvoir augmenter le nombre d’emails envoyés par jour et d’épurer le reliquat des emails non prioritaires. RabbitMQ fut la solution à ce problème, nous a permis de résorber le reliquat en 4 jours et d’envoyer aujourd'hui 70k emails par jour sur 1 consumer. Tags : PHP, RabbitMQ, tâches asynchrones, montée en charge, DDD

15:30
0
Cecil, mon générateur de site statique
Talk by Arnaud Ligny (20 minutes)

Depuis quelques années les générateurs de site statique tels que Jekyll, Hugo, 11ty, etc. ont le vent en poupe. Arnaud Ligny nous fera un retour d'expérience sur la création de son propre générateur de site statique, développé en PHP : ce qui l'a motivé et ce qu'il en a appris.

16:20
0
Et si on étendait SQL avec du PHP ?
Talk by Antoine Bluchet (40 minutes)

Avez-vous déjà utilisé Doctrine ? Trop souvent on se laisse porter par ses abstractions sans vraiment chercher à comprendre la magie derrière la librairie. Dans cette présentation, je vais d'abord vous alerter sur les effets de bords liés à l'utilisation de Doctrine et vous présenter des cas d'utilisations où le framework est limitant et dur à adapter. Dans ces cas, quelles sont les solutions alternatives au Doctrine Query Language ? Et si on revenait au bon vieux SQL et ses bénéfices ? Est-il possible de bénéficier du système d'abstraction de Doctrine par dessus la puissance du SQL natif ? Et comment fait-on pour transformer nos données du tableau associatif en objet PHP ? Je vais vous présenter une solution pas comme les autres, proposant de la flexibilité, paliant à la difficulté d'adaptation de Doctrine et vous permettant de rester maître de la donnée et de la façon dont vous la récupérez.

17:05
0
Pourquoi vous n’attirerez et ne retiendrez pas les femmes dans vos équipes tech.
Talk by Marcy Charollois (40 minutes)

Les femmes sont sous-représentées dans le domaine du numérique. Elles représentent à ce jour uniquement 30% des salariés, tous métiers confondus. Que s’est-il passé dans ce secteur professionnel pourtant dominé par la gente feminine lors de sa génèse ? Les femmes ne se sentiraient-elles plus ou pas à leurs places ? Quelques constats troublants : les études superieures menant au numérique sont investies par les hommes ; les annonces de recrutement ne sont pas, en règle générale, pensées pour les femmes ; les équipes tech ne pensent pas aux besoins profonds des femmes ; les femmes n'ont pas la sensation d'être entendues. Pourtant, vous savez quoi ? Les femmes communiquent. Hélas, bien souvent, on ne les écoute pas. Et quels en sont les résultats ? De la migration vers des métiers corollaires, du brown-out, de la désincarnation dans l'équipe, des démissions, la création de la FemTech et de safe places comme lieux d'expression communautaires. Alors, si vous voulez favoriser la mixité et que vous avez saisi que la cause des femmes dans la tech est une brèche pour résoudre, en plus, la problématique de la diversité et de l'inclusion, participez à mon talk !