The Forum PHP 2020 will take place on October 22nd and 23rd in Paris, and for the 4th consecutive year at the Marriott Rive Gauche Congress Center. We remain optimistics and are hoping that the situation will allow the possibility to get together safely, to offer the best to our community!

Thursday 22nd October 2020

09:00
0
Utiliser le protocole Vulcain pour créer des API REST ultra-performantes
Talk by Kévin DUNGLAS (40 minutes)

Au fil des années, plusieurs formats ont été créés dans l’objectif d’améliorer les performances des API Web : (n + 1, sur-extraction, sous-extraction)… La dernière solution à la mode pour créer des API rapides se nomme GraphQL, un hack réseau malin… mais que HTTP/2 et HTTP/3 rendent désormais désuet ! Ces nouvelles versions du protocole au coeur Web disposent de fonctionnalités natives permettant de créer des API rapides et idiomatiques : multiplexage, Server Push, dé-duplication des en-têtes, compression, connexions persistantes… Vulcain est un tout nouveau protocole qui tire parti au maximum de HTTP/2 et 3 pour améliorer drastiquement la performance des API REST ! Après quelques rappels concernant HTTP et REST, nous découvrirons comment est conçu Vulcain, et comment il est facile à mettre en place avec les API PHP (réalisées à l’aide d’API Platform ou non), ainsi que comment en tirer parti en JavaScript.

0
Recettes de communication efficace au travail
Talk by Agnès HASSER (40 minutes)

En galère avec mes jeunes enfants, j'ai acheté des bouquins de communication positive. J'ai été surprise de voir que ça a marché du tonnerre… surtout avec mes collègues ! Laissez-moi vous montrer ce que vous pouvez en retirer, surtout si vous êtes en position de lead ou de management… Popularisés par la tendance récente de la parentalité positive, ces outils de communication positive et d’intelligence émotionnelle sont pourtant efficaces dans toutes les relations interpersonnelles. J’ai l’impression qu’ils m’ont rendue vraiment meilleure dans mon rôle de lead développeuse (aider des collègues à apprendre, évaluer du code ou des candidats, prendre des décisions difficiles, travailler en équipe parfois sous tension…), et qu’ils m’ont aidée à surmonter mes propres problèmes de stress. Comme ce sont des outils assez simples à mettre en œuvre et qu’ils sont très efficaces, je veux les partager. Pour des relations plus apaisées et efficaces au travail, et pour davantage d’intelligence émotionnelle dans le monde.

0
How your PHP application can get hacked, and how to prevent that from happening?
Talk by Antti RÖSSI (40 minutes)

You’ve probably heard about XSS, SQL Injection, and RCE. Very few developers out there have witnessed first-hand what exploiting any of the mentioned vulnerabilities looks like, and therefore don’t necessarily understand the consequences that having such vulnerabilities in your application can have. In this talk, we’ll exploit some commonly known vulnerabilities (OWASP top 10) and misconfigurations that can occur to a PHP application running on a Linux based host. By learning to think like a hacker you’ll be able to develop more secure applications with PHP, and to keep your users, clients, and yourself safe. This presentation consists of security concept theory sections from PHP developers' point-of-view and a few hands-on hacking demonstrations. At the end of the presentation, we go through a set of concrete action steps to secure our applications from the vulnerabilities we learned about earlier.

0
10 ans chez les Gaulois: Journal d'une immigrée ingénieure informaticienne
Talk by Léna NDIAYE (40 minutes)

En 2010 j’ai quitté mon bled pour immigrer chez les Gaulois. J’étais alors développeuse PHP. 10 ans après, je partage avec vous de « l’enfer » vécu à la mythique préfecture de Bobigny dans le 9-3, pour avoir mon titre de séjour. Comment de Développeuse PHP, j’ai monté le meetup Rennes Android User Group? Est ce que mon premier prénom , à connotation africaine, a été un frein pour ma recherche d’emploi? Comment j’ai réussi à me faire une petite place, dans l’écosystème informatique, associatif, collaboratif en France? Que suis je devenue aujourd’hui? Préparez toutes vos questions, que vous n'avez jamais osé posées, à votre voisin-e ou collègue immigré-e. Je ferais un bilan de 10 ans de vie, d’une ingénieure informaticienne immigrée, vivant chez les Gaulois.

0
Le site de l'activité partielle, résumé d'un succès à quel prix ?
Talk by Mathieu GIRARD (20 minutes)

Imaginez, nous approchons de la mi-mars, vous travaillez "tranquillement" sur un site pour le gouvernement dans une petite ville dont personne n'entend parler. Soudain, vous entendez des personnes quitter leur bureau alors qu'il n'est même pas midi : le bâtiment de 500 personnes est en train de se vider en préparation du confinement. Malgré ce mouvement de foule, un de vos chefs arrive et vous dit en substance : "Toi tu restes jusqu'à nouvel ordre, on t'affecte au site de l'activité partielle car ça devient la priorité numéro une de la maison". L’économie Française est sur le point de se mettre “en pause”. Du jour au lendemain, plusieurs millions d’établissements vont s’inscrire et demander à être indemnisés car forcés de s’arrêter le temps que les choses se calment. Depuis ce moment où tout bascule, je vous propose de vous raconter brièvement comment le site de l'activité partielle a complètement changé d'échelle pendant la crise du covid-19 : succès, difficultés, tranches de vies au cours d'une expérience humaine inédite.

0
PHP 8: a new version, a new era
Talk by Gabriel CARUSO (40 minutes)

PHP 8 is coming, and you might be wondering: what are the new features? Have they fixed that weird bug? Is my application getting any faster? Can I support both PHP 7 and 8 versions in my library or framework? In this talk, we are going to spend some time looking at everything that has changed in PHP 8, both internally and externally, either new features and changes of behavior (Break Compatibility, you know them). As one of the Release Managers, Gabriel Caruso is going to tell you all about it, giving you the resources to get the latest major version of PHP, that is scheduled for November 2020, up and running!

0
Utopie de la généricité
Talk by Frédéric BOUCHERY (40 minutes)

Pourquoi, avec le temps, nos développements se complexifient ? Pourquoi n'arrivons-nous pas à conserver un code simple ? Quand on essaie de voir à plus long terme, souvent cela nous prend du temps, ce n'est pas simple à utiliser, et d'ailleurs, ce n'est pas utilisé ! Bref, est-ce possible de concevoir du code générique, réutilisable et qui dure longtemps ? Vous allez voir que la réponse n'est pas toujours évidente, et qu'il serait temps de fixer des règles.

0
JSON en base de données, manipulons un peu cela
Talk by Jonathan VAN BELLE (20 minutes)

Une base de données relationnelle moderne peut facilement gérer du JSON. Avec quelques connaissances, vous pouvez facilement enrichir le comportement de votre modèle de données avec un soupçon de JSON. Nous verrons donc, comment utiliser certaines fonctionnalités avancées de mysql / mariadb et postgresql afin d'effectuer certaines recherches, créer des index, utiliser des colonnes virtuelles, etc. Au final, nous verrons que dans bien des cas, un peu de JSON résout pas mal de soucis, qu'une table ou plusieurs colonnes en plus, auraient rendu plus compliqué.

0
L'open source, ce n'est pas que pour le web
Talk by Sarah HAÏM-LUBCZANSKI (40 minutes)

PHP est open source. L’open source est un modèle de gouvernance pour les logiciels, mais pas seulement les logiciels ! Connaissez-vous l'open hardware ? Savez-vous ce que la NASA partage sur Github ? Vous avez certainement déjà écouté, ou produit de la musique open source, savez-vous qu’il existe des médicaments open source ? Répliquer une information, et la partager devient rapide et émancipateur, le monde se libère un peu plus. Après une petite plongée dans les principes de partage de l’open source, nous ferons un tour d’horizon des initiatives open source dans d’autres domaines que l’informatique, pour en apprendre un peu plus sur la culture du libre, les rapports de force qui y conduisent, et revenir aux bases du partage.

0
Comment perdre sa surchage featurale ?
Talk by Estelle LANDRY (40 minutes)

Le cycle de vie d'une application est un chemin nébuleux et plein de dangers. La complexité ne fait que croitre durant les mois et les années d'utilisation. L'un des plus gros challenges d'un développeur est de pouvoir la contrôler tout en ajoutant de nouvelles fonctionnalités (features). Des solutions existent : le ré-écriture de code ou encore la maitrise de la dette technique. En effet, ces deux actions permettent de lever "la complexité accidentelle". Mais que faisons nous de la "complexité essentielle" ? La complexité qui n'est pas liée au code. La seule solution : Supprimer des fonctionnalités ! Ce talk vous expliquera comment perdre la surcharge featurale de vos applications en comprenant la différence entre la complexité essentielle et la complexité accidentelle, mais aussi en vous donnant des clés pour mener à bien ce changement dans vos équipes projet.

0
The new LAMP stack is Serverless
Talk by Ben SMITH (40 minutes)

AWS Lambda, Amazon API Gateway, MySQL, PHP - it’s LAMP but not as you know it. In this session, I’ll show why there has never been a better time to build serverless applications with PHP. Using this new LAMP stack to build serverless applications allows PHP developers to benefit from the agility and scalability enabled by the serverless paradigm, all without needing to manage servers. I’ll demo how to get started running your PHP code using functions as a service. You’ll learn how to connect to databases at scale with spiky workloads, and continue to use your favourite libraries and tools, without impacting performance or availability. Learn how to become a serverless PHP developer, and use the world’s most popular web runtime to build scalable, agile apps without the server management

0
La scalabilité d’une équipe / d’un pôle technique
Talk by Mikael Randy (40 minutes)

Vous êtes dans l’équipe technique d’une entreprise, composée de quelques développeurs, dans 1 ou 2 équipes, et votre entreprise grandit, et il faut augmenter la capacité de production, et donc la taille de l’équipe technique. Sauf que comme 9 femmes ne font pas un bébé un 1 mois, 4 équipes de 6 personnes ne produisent pas automatiquement 2 fois plus que 2 équipes de 6 développeurs. Je me propose de vous faire un retour d’expérience sur comment nous avons abordé la scalabilité du pôle technique de Bedrock, pour passer de 10 équipes réparties en 3 verticaux techniques, à plus de 30 équipes dans 5 verticaux techniques, en essayant de conserver une cohésion technique et fonctionnelle, et d’optimiser les flux de développements.

0
Pourquoi 0.1 + 0.2 != 0.3, ou le monde mystérieux des nombres à virgule flottante.
Talk by Benoit JACQUEMONT (40 minutes)

Et oui, si vous exécutez le code ci-dessus en PHP, et dans la plupart des autres langages, celui-ci vous confirmera bien que 0.1 + 0.2 n'est pas égal à 0.3. Mais ce comportement étrange peut s'expliquer, voire même se justifier. Les nombres à virgule flottante ont le pouvoir de nous ouvrir un univers complet et souvent peu compris. À condition bien sûr de les utiliser correctement. Cette conférence présentera un peu de théorie et beaucoup d'exemples concrets. De la Première Guerre du Golfe, au moteur de rendu graphique de Quake, en passant par le fusée spatiale Ariane 5, nous verrons ensemble les avantages et les dangers potentiels de l'utilisation des nombres à virgule flottante. Nous tirerons de ces exemples des leçons que nous pouvons appliquer sur nos pratiques de développement quotidiennes. La conférence couvrira également quand utiliser les nombre à virgule flottante, et quand les éviter (prix, facturation), et quelles sont les alternatives.

0
REX sur le chiffrement de base de données
Talk by Yoan DURAND (20 minutes)

Nous stockons tous des données, de plus en plus nous devons mettre en place des solutions pour les sécuriser. Nous allons voir les solutions pour sécuriser ces précieuses données comment les chiffrer et pouvoir même rechercher dans ces mêmes données chiffrées.

0
É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.

0
Fun with PHP
Talk by Maxime VEBER (40 minutes)

PHP est un langage de programmation très très très orienté web. Et si on sortait de la boîte ? FFI nous permet de faire de nouvelles choses. Et si on tentait des choses folles... Pourquoi pas une application fenêtrée ? Un jeu ? Avec un peu de créativité tout est possible ! Je ne pense pas que cette conférence soit absolument nécessaire à tout développeur PHP. (en fait elle est complètement inutile pour être plus précis) Mais ça sera un moment de détente et de culture inhabituel ! Promis, vous apprendrez quand même des choses.

0
“Living documentation”. Quand notre définition produit, nos tests automatisés et notre documentation sont la même chose.
Talk by Samuel ROZÉ (40 minutes)

Pour de nombreuses équipes produit, le travail de 1) définition du produit, 2) ecriture de tests automatisés et 3) documentation (technique et non-technique) du produit sont des étapes complètement séparées du cycle de développement. Dans ce talk, nous allons explorer comment le Behaviour Domain Development, Behat et quelques autres outils connectés ensemble nous permettent d’avoir une documentation vivante (c’est-à-dire toujours à jour) de nos applications.

0
Comment ARTE a simplifié le développement multi-plateforme à l’aide d’une API orientée front
Talk by Lucas LEGNAME, Maxime RICHART (40 minutes)

Chez Arte, les contenus de la chaîne sont disponibles sur le web et le mobile mais aussi sur les télévisions connectées ou les box des FAI. Cette diversité applicative nous a poussé à passer d’une API orientée métier à une API orientée front multi-support. Avec ce retour d’expérience, nous expliquerons comment nous avons simplifié le développement des applications en ré-équilibrant leur responsabilité et celle de l’API mais aussi en travaillant la structure des données pour les besoins parfois spécifiques des différents supports. Nous reviendrons aussi sur les choix techniques (parfois à contre-courant) qui ont été faits lors du développement.

0
PHP, c’est vous ! Et vous pouvez contribuer !
Talk by Pascal MARTIN, Martin SUPIOT (40 minutes)

Quand nous posons la question « qui contribue à PHP ? » lors des évènements que nous organisons ou auxquels nous participons, nous n’obtenons que très peu de réponses. Est-ce parce que peu d’entre nous savent ou aiment coder en C ? Pourtant, participer et contribuer ne se limite pas à des lignes de code, loin de là ! Avez-vous trouvé l’éditeur en ligne de la documentation de PHP ? Avez-vous soumis des patchs à composer et symfony ou même à magento et wordpress, qui sont open-source et attendent vos contributions ? Avez-vous testé les versions alpha de PHP 8 ? Voyez-vous comment organiser un Apéro PHP ou un Meetup ? Ou même un AFUP Day ou le Forum PHP ? Savez-vous que l’AFUP a besoin de vous ? Que c’est une association qui est là pour vous aider et ce qu’elle peut vous apporter ? Avec mille et une façons de contribuer, venez faire un tour d’horizon de modes de contribution que vous n’aviez peut-être pas encore envisagés, ou dont vous vous étiez dit qu’ils n’étaient pas pour vous. Vous verrez que, vous aussi, vous pouvez contribuer à PHP ;-)

0
Trop de mock tue le test : ce que l'archi hexagonale a changé
Talk by Jean-Marie LAMODIÈRE (40 minutes)

Notre chemin vers les tests automatisés commence souvent par ces certitudes : 1 Test Unitaire = 1 méthode d'une seule classe Remplaçons toute autre classe par un Mock Toute classe a son Test Unitaire, pour respecter la pyramide de tests Mais ces tests vous aident-ils lors du refactoring, ou devez-vous sans cesse les modifier, devenant des Tests Fragiles ? Les écrivez-vous vraiment en premier pour vous servir d'aide, ou vous freinent-ils à la fin de votre travail ? Chez Meetic, l'Architecture Hexagonale (ou Ports & Adapters) et le DDD ont révolutionné notre manière de tester. Avec des exemples concrets de code et de refactoring, découvrez : Ce que Unitaire dans Test Unitaire signifie réellement Comment nous testons nos fonctionnalités métier en ne mockant que les détails techniques Pourquoi nous jetons nos Tests Unitaires sur les couches techniques pour ne garder que des Tests d'Intégration avec wiremock-php et docker-compose

0
Jane & Webby ou la vie de mes amies
Talk by Olivier DOLBEAU (40 minutes)

Ca fait quelques temps que je traine avec Jane & Webby (la mascotte d'APIPlatform), deux de mes plus proches copines. Si on s'entends si bien tous les trois, ce n'est pas pour rien, en effet nous sommes tous trois fans de OAS, l'OpenAPI Specification. Dans l'équipe, chacun sa spécialité ! Webby tente de suivre à la lettre les préceptes de l'OAS pour écrire de beaux documents conformes à la RFC, Jane n'a pas son pareil pour déchiffrer les écrits de l'OAS et en faire de superbes clients et moi... bon moi je ne fais que leur filer un coup de main pour que mes potes s'éclatent et ça me plait ! On a fait les 400 coups ensembles ! J'pourrais vous raconter la fois où on s'est amusé à donner des documentations diférentes à nos connaissances en fonction de nos affinités ! C'était dingue, notre meilleur pote avait accès à tout mais le type bizarre qu'on avait rencontré la veille n'avait presque rien ! :D Oh, y'a aussi la fois où, grand seigneurs, on a décidé d'aider nos copains en leur donnant accès à l'historique complet des opérations qu'ils avaient faites sur notre API ! :D C'était grandiose !! On forme une équipe, on est soudés, on a peur de rien et si on fait un peu peur parfois, on ne mords pas, promis ! Allez venez, j'vais vous les présenter et vous comprendrez pourquoi ça se passe si bien entre nous. :)

0
Introduction à OpenID Connect
Talk by Karim PINCHON (20 minutes)

"T'as besoin d'une application pour authentifier tes utilisateurs ? Un serveur OAuth2 c'est ce qu'il te faut !" C'est faux. Trop souvent le protocole OAuth2 est utilisé à tord pour authentifier des utilisateurs. Ce n'est pas fait pour ça. En revanche, un protocole relativement semblable existe dans ce but : OpenID Connect. Je vous propose de vous expliquer comment fonctionne le protocole OpenID Connect et en quoi il est différent d'OAuth2, pour ne plus se tromper d'usage.

0
25 years of PHP
Talk by Zeev SURASKI (40 minutes)

TBA

0
Propulser du temps réel avec PHP en 2020 !
Talk by Antoine BLUCHET (40 minutes)

Avec l'annonce du composant HTTP de Symfony en 2019 et son adoption courant 2020, de nouvelles possibilités de communication entre les applications PHP et le reste d'internet sont possibles ! Parmis elles l'utilisation de Mercure, un nouveau protocole construit sur la base de requêtes HTTP et de Server-Sent Events. Assemblés avec une application Symfony ces technologies permettent des usages dits de temps réel ! L'exemple courant est celui de la mise à jour des données de vos applications. Cela dit, qu'en est-il de la communication entre clients ? Voire entre serveurs ? Venez assister a un retour d'expérience autour d'un cas concret et découvrir ainsi de nouveaux axes d'amélioration pour des applications toujours plus réactives !

0
Performance : mais que se passe-t-il après le backend ?
Talk by Jean-Pierre VINCENT (40 minutes)

Même avec un un code backend performant, l’utilisateur peut attendre plusieurs secondes avant de pouvoir utiliser votre interface : mais pourquoi ? Grâce à des exemples tirés de grands sites français (Le Monde, Cdiscount, Glamour …) nous allons voir les techniques modernes pour améliorer les performances d’un site, telles que perçues par l’utilisateur. Loin des seuls conseils poussés par Google LightHouse, nous verrons si HTTP/2 est vraiment une bonne affaire, ce que coûte un JS sous Webpack, si la compression d’images est une technique vaudou, et ce que peuvent faire graphistes ou intégrateurs pour accélérer un site. Outre les techniques nous verrons 2 outils phares de la perf et on discutera de comment gérer un projet de d'amélioration des perfs.