The biggest PHP event organized by the French PHP user group, organized in brand new headquarters : let's go to Disneyland Paris, at the Hotel New York - The Art of Marvel ! During two days, on October 13th and 14th, enjoy the company of our friendly audience, share your knowledge with +800 attendees, meet the companies who use PHP every day, in a environment that will bring even more magic to the language.

Thursday 13th October 2022

00:00
0
Ce qu'un crash complet de notre production nous a appris
Talk by Jean-François Lépine (40 minutes)

En janvier 2020 on perd 50% de nos serveurs. Notre cluster RabbitMQ ? Mort ! Nos clusters Redis, ElasticSearch ? Morts. Nos frontaux ? Morts ! Les gateway ? Et ben non, celles-ci ne sont pas tombées, tiens… 3 semaines de rush intense plus tard, une décision est prise : ÇA N’ARRIVERA PLUS JAMAIS ! 2 ans plus tard, voici les actions que nous avons menées pour avoir un plan de reprise d’activité efficace. De la documentation, à l’automatisation, en passant par les workflows de travail, voici quelques idées pour que vous ne viviez pas ce que l’on a subi en 2020.

0
Une extension PHP rouillée
Talk by Pierre Tondereau (20 minutes)

Écrire une extension PHP en 2022, quand on ne maîtrise pas forcément le C peut-être un parcours du combattant. Quand on vient du langage PHP, les concepts de gestion de mémoire et les bugs associés (use after free par exemple) sont lointains et peuvent nous conduire à des failles de sécurité importantes. En plus de cela, nous devons aussi absorber l'utilisation de l'API de Zend Engine. J'ai découvert Rust, il y a peu de temps : un langage qui garantit fiabilité, performance, productivité et surtout permettant d'ouvrir une passerelle vers le C. Voyons voir si l'expérience serait plus heureuse avec ce langage. On commencera par faire un tour de l'état de l'art des extensions PHP et pourquoi Rust. On utilisera aussi la crate Rust ext-php-rs et voir comment wrapper des API Rust pour ainsi les proposer côté utilisateur PHP. On terminera sur comment automatiser la distribution de notre extension et enfin, conclure sur la valeur ajoutée.

0
Une plongée dans Node depuis PHP
Talk by Matthieu NAPOLI (20 minutes)

Cette conférence est volontairement inutile, elle n'existe que pour satisfaire les curieux et curieuses. Vous êtes-vous déjà demandé quelle étaient les différences entre Composer et NPM ? Quel est l'équivalent de l'autoloader dans Node, et comment cela change la perspective sur la gestion de dépendances ? Comment comprendre les promise et async/await quand on programme en PHP depuis toujours ? Pourquoi PHP baigne-t-il moins dans l'asynchrone, est-ce qu'on loupe quelque chose avec notre bon vieux PHP-FPM ? Pourquoi les équivalents JS à Symfony et Laravel partent du frontend plutôt que du backend (Next, React…) ? Comment TypeScript se compare à PHP 8.2 + PHPStan, pourquoi certains projets majeurs s'éloignent de TypeScript, et qu'en retirer pour le futur du PHP typé ? Performances, exceptions, debugging, frameworks, tests, bundling, build, build et rebuild… À quoi ressemble une journée-type quand on a pas besoin de préfixer ses variables par des $ ? Je fais du PHP depuis 2006 et j'ai plongé dans l'écosystème Node il y a 2 ans. Je participe aujourd'hui à la maintenance de projets open-source JavaScript/TypeScript qui comptent plus de 30 millions de téléchargements/mois. Voici mes découvertes, émerveillements et surprises, expliquées SANS TROLL à celles et ceux qui font du PHP tous les jours (et qui n'ont pas forcément envie de changer).

0
Les femmes à barbe et à capuche sortent de la grotte pour sauver le numérique et son impact
Talk by Anaïs SPARESOTTO, Hortense MAHON (40 minutes)

Deux développeuses back-end engagées rêvent de rendre l’ensemble de la tech accessible. Ce n’est donc pas un hasard qu’elles se soient trouvées chez Toovalu, éditeur de logiciel B-corp (société à mission) engagé pour le Climat et la RSE. Dans ce talk on parlera du "combat" des développeurs et développeuses pour intégrer l'accessibilité du numérique dans notre entreprise où la culture web était à l'origine pratiquement inexistante. Nous vous présenterons également différentes méthodes et processus que nous avons mis en place pour permettre à tous les collaborateurs et collaboratrices d'intégrer l'accessibilité à leurs réflexes. Nous allons expliquer comment nous nous y sommes prises pour réparer l'accessibilité de l'outil que l'on développe.

0
Watch the clock
Talk by Andreas HEIGL (40 minutes)

Creating current time information in code is rather easy by calling time() or new DateTimeImmutable() directly when the information is necessary. But that then makes the code a nightmare to test. In this session we will see how PSR-20 allows us to change that by still making it easy to generate current time information but also allowing one to test the code. And we will get some background info about why it was designed in such a way, what obstacles are in the way and how to still be able to use the feature.

0
Comment être bien onboardé en tant que développeuse junior reconvertie ?
Talk by Amélie ABDALLAH (40 minutes)

Comment être bien onboardé en tant que développeuse junior reconvertie ?? En tant que développeuse junior en reconversion professionnelle (quand celle-ci s'arrête-t-elle exactement ?), j'ai dû changer d'entreprise suite à une très mauvaise expérience express dans ma première entreprise. De la première à la seconde, ce fut le jour et la nuit. C'est un sujet qui part sur deux axes principaux : L'entreprise, qui possède un rôle majeur dans l'onboarding des salarié-e-s, autant techniquement (process, mini formations, présentations des pôles si moyenne/grande entreprise) qu'humainement, La développeuse ou le développeur qui doit s'intégrer, avec force, autonomie en gérant la pression de son nouveau métier + nouveau lieu de travail + nouvelles responsabilités etc.. Mais avec aussi la nouveauté des remarques que l'on peut subir en tant que femme dans ce nouveau monde de la tech.

0
Tester à travers OpenAPI, ou comment valider votre documentation !
Talk by Stéphane HULARD (40 minutes)

Aujourd'hui les APIs sont partout, les documenter correctement est un prérequis pour qu'elles soient utilisées correctement. Cependant un problème reste présent quand on a affaire à de la doc : comment garantir qu'elle est à jour ou que le code l'implémente correctement ? J'ai rencontré ces problèmes sur un projet où nous utilisons OpenAPI. Malgré la volonté d'avoir une documentation à jour et propre, les utilisateurs et utilisatrices rencontraient des problèmes. J'ai commencé à chercher un moyen de valider cette documentation pour capturer les erreurs avant les utilisateurs et utilisatrices. OpenAPI est devenu le moyen le plus puissant de décrire une API HTTP aujourd'hui. L'écosystème est très riche avec de nombreux générateurs (code et documentation). L'avantage de ce format est qu'il est très technique. Dans ce talk, je vais vous présenter mes recherches et comment nous avons finalement mise en place des tests automatiques basés sur la documentation. Combiné à un système d'intégration continue, il détecte les erreurs et nous laisse les résoudre avant de passer en production. La documentation permet de vérifier que l'API fonctionne et l'API permet de vérifier que la documentation est à jour. Aujourd'hui toute l'équipe est plus confiante sur notre code et notre documentation. Toutes ces validations ont également aidé les devs qui n'étaient pas à l'aise avec l'écriture de la documentation à prendre confiance et être sereins lors de modifications…

0
OpenTelemetry: vers un standard pour surveiller vos applications
Talk by Benoit VIGUIER (40 minutes)

Là, maintenant, tout de suite, êtes-vous capable de dire si votre site internet fonctionne correctement ? Et en cas d’incident en pleine nuit, pouvez-vous déterminer la chronologie des évènements ? C’est à ces questions que la télémétrie apporte une réponse, en instrumentant votre code et en envoyant les données collectées dans un outil d’analyse. Mais quel est le meilleur ? Est ce qu’il existe des solutions (presque) gratuites ? Peut-on changer d’avis facilement ? C’est là qu’OpenTelemetry intervient. OpenTelemetry propose une API de télémétrie, indépendante du langage et indépendante du service d’analyse utilisé. Fortement encouragé (et déjà supporté!) par les principaux acteurs du marché, poussé par une communauté active, ce protocole a tout pour devenir un standard de communication pour la télémétrie. Dans cette conférence nous aborderons les concepts fondamentaux de cette API, l’écosystème PHP existant, ainsi que des idées à mettre en pratique (et en production !) dès la semaine suivante.

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. Bienvenue en terminale, vous avez deux heures. Cette équation (simplifiée) représente une 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"...

0
Comprenez comment PHP fonctionne, vos applications marcheront mieux
Talk by Pascal MARTIN (40 minutes)

Pour exécuter du code, PHP consomme du processeur et de la mémoire. Quand une requête HTTP arrive, un processus php-fpm lui est dédié. Mais ces ressources sont limitées. Et, même dans Le Cloud ou en serverless, scaler prend du temps et les coûts s’envolent ! Savez-vous combien de CPU et de RAM votre application réclame ? Et pendant quelle durée ? Si non ou sans comprendre « pourquoi », difficile de développer efficacement et de dimensionner un hébergement pérenne ! Peut-être que ça marche… Sur votre poste. Ou pendant un moment, en gaspillant de l’argent et des ressources. Mais l’expérience prouve que, tôt ou tard, ces questions vous rattraperont. Cycle de vie de PHP, communication entre nginx et php-fpm, approche shared-nothing, compilation et cache d’opcodes, gestion interne de la mémoire ou même architecture logicielle et debugging… Pour qu’une application réponde aux attentes de son public, nous devons comprendre comment PHP fonctionne !

0
Back to the Sylius future
Talk by Loïc FRÉMONT (20 minutes)

Contributeur depuis de nombreuses années sur Sylius et maintenant membre de la Core Team, je vous propose un voyage dans le futur de Sylius. Nous verrons ensemble comment sera le code Sylius de demain et quelles seront les futures migrations de packages avec un objectif simple : se rapprocher de l’écosystème de Symfony. Nous reviendrons également sur la vision de Pawel Jedrzejewski (le créateur de Sylius) d’exposer un skeleton plus léger et une architecture plus adaptable au niveau des fonctionnalités proposées par le framework E-commerce.

0
The PHP Foundation: The past, the present, and the future
Talk by Sebastian BERGMANN, Roman PRONSKIY (40 minutes)

"A complex saga of developers scattered around the world, all living under the rule of the elePHPant technology." PHP is going to die. We're all going to die. We've been around PHP for over two decades, and we've seen many concepts and tools gaining and losing favor. That's the knowledge we aim to apply for the support and advancement of the PHP language. The PHP Foundation is a non-profit organization formed a year ago by well-known PHP folks as well as major companies from the PHP ecosystem. Come to this session to learn what we have achieved during our first year and what we are planning next. We’re eager to answer your questions and look forward to hearing your suggestions.

0
Sauve un-e dév, écris une doc !
Talk by Sarah HAÏM-LUBCZANSKI (40 minutes)

Vous êtes développeur ou développeuse PHP : vous aimez programmer, réfléchir. Vous aimez créer des applications ou des bibliothèques de qualité. Mais pourquoi personne ne les utilise ? Parce que votre documentation n'est pas à la hauteur ! Justement : je suis Technical Writer et mon métier est de vous aider à valoriser votre logiciel auprès de ses utilisateurs et utilisatrices, à travers une bonne doc. Comprenons comment architecturer, concevoir et rédiger votre contenu. Découvrons les outils qui vous procurerons une aide précieuse. Enfin, facilitons sa mise à jour pour qu'elle soit pérenne. Dorénavant, vous saurez identifier les passages obligés et ceux où vous pouvez gagner du temps.

0
Revue de code : on n’est pas venu pour souffrir !
Talk by Anne-Laure DE BOISSIEU (20 minutes)

J’ai rejoint ma nouvelle équipe il y a 6 mois, avec une appréhension. Comment allais-je vivre les revues de code par des collègues que je ne connais pas encore ? Incompréhensions, malentendus : la communication écrite rend cet exercice très délicat. Vous avez été blessé-e par un commentaire ? Etait-il vraiment mal intentionné ? Vous avez blessé quelqu’un sans le vouloir, à cause d’une tournure maladroite ? Les approches sont aussi nombreuses que les équipes et nous verrons les principales stratégies que les équipes peuvent employer. Nous pourrons également nous intéresser aux stratégies établies par les principaux projets open-source. Enfin, nous ferons un zoom sur le cadre déjà en place dans mon équipe et qui m’ont permises de me sentir bien accueillie dès mon arrivée. Vous n’aurez plus aucune raison de souffrir !

0
Des workers PHP avec systemd et Symfony Messenger
Talk by Loïck PIERA (20 minutes)

Depuis plusieurs années, Symfony fournit tout ce qu'il faut pour créer des workers PHP asynchrones, notamment grâce à son composant Messenger. Nous verrons comment configurer ces workers pour les faire tourner en production avec systemd, ce "gestionnaire de système et de services" qui s'est imposé sur la plupart des distributions GNU/Linux. systemd permet, entre autres, de déclarer des services à exécuter et maintenir en vie. Disponible nativement sur bon nombre d'OS populaires, il sera donc un allié parfait pour simplifier la mise en place de nos workers.

0
FrankenPHP, dans les entrailles de l'interpréteur PHP, de machines virtuelles et des threads
Talk by Kévin DUNGLAS (40 minutes)

Lors de l'AFUP Day, je vous ai présenté FrankenPHP, un SAPI experimental permettant d'embarquer notre langage préféré dans les serveurs web écrits en Go tels que Caddy ou le serveur web local de Symfony CLI. Ce talk revient sur le progrès effectués depuis l'AFUP Day, et sur les nouveaux problèmes rencontrés suite aux retours de la communauté. FrankenPHP utilise cgo pour permettre au code Go d'appeller le code de l'interpreteur PHP écrit en C, et inversement. Cela revient à faire exécuter la machine virtuelle de PHP elle même au sein d'un process géré par le runtime Go. Cette technique offre des opportunités immenses : 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 ou encore Cependant, faire cohabiter le runtime de deux langages dans un seul process n'est pas chose aisée. Dans ce talk orienté programmation système, nous étudierons tous les pièges que nous avons du contourner pour réaliser ce synchrétisme particulier. Ca sera l'occasion de découvrir comment fonctionne l'interpréteur PHP, son mode ZTS, les threads systèmes et les green threads de Go, les signaux Unix ou encore les problèmes que peuvent poser les astuces utilisées par l'interpréteur PHP pour implémenter des fonctionnalités telles que le max_execution_time. Note : il n'est pas nécessaire d'avoir vu le premier talk pour assister à celui ci.

0
Piochons dans les pratiques de DDD, programmation fonctionnelle and co. pour notre bien à toutes et tous !
Talk by Benjamin RAMBAUD (40 minutes)

On n’a pas besoin d’utiliser 100% de « X » pour utiliser des pratiques/techniques de « X ». Remplacez « X » par DDD, programmation fonctionnelle, CQRS, CQS, Hexagonal/Clean/Onion architecture et bien d’autres. Il n'y a pas de méthode ou technique qui soit LA réponse dans tous les cas. Chacun(e) a ses avantages et inconvénients. Chacun(e) impacte notre façon de penser, notre façon de communiquer au sein de l’équipe. Chacun(e) nous apprend des choses, techniques ou humaines etc.. Par exemple, comment le DDD ou l'architecture hexagonale peuvent nous aider dans une application Drupal ? Est-ce que la complexité amenée en vaut la chandelle ? Vous verrez qu'ils peuvent être utiles même dans cette situation. Nous verrons qu'il ne faut pas hésiter à piocher dans des concepts ou pratiques si cela convient à notre contexte actuel. N'oublions pas d'utiliser le bon outil au bon moment !

0
Récit du passage d’une migration d’un hébergement classique à une infra cloud PAAS
Talk by Bastien JAILLOT (40 minutes)

Début décembre, appel en catastrophe d’un client d’ami : leur site est hébergé par un prestataire qui ne gère plus le serveur, qui est une boîte noire et qui sature totalement. Nous ne connaissons ni le code ni l’infrastructure à ce moment-là. Ce sera donc une opération coup de poing comme je les chéris : la situation initiale étant totalement insatisfaisante, je ne peux que faire mieux, je vais pouvoir aller vite sans trop de craintes. Mode pompier. Cette conférence permettra de montrer le passage d’une archi classique à une archi cloud, à pas cher, en montrant tous les aléas rencontrés lors de cette migration. Ce sera l’occasion de balayer pas mal d'idées reçues sur le cloud et les performances.

0
Comment décide-t-on de créer un composant Symfony ?
Talk by Nicolas GREKAS (40 minutes)

Si vous observez l'évolution de Symfony au cours du temps, vous vous demandez peut-être comment la core-team décide qu'un sujet donné ferait un bon composant ? Il y a déjà des librairies existantes pour presque tout, alors pourquoi en créer de nouvelles ? Comment Symfony s'inspire des autres projets et est-ce que ça arrive souvent ? Est-ce que le fait que les composants Symfony soient utilisés un peu partout leur apporte des fonctionnalités additionnelles ? Comment sont choisies les dépendances de Symfony ? Ou de façon plus générale : comment le projet Symfony interagit-il avec les autres frameworks et librairies ? Lors de cette conférence, je vous propose d'étudier ces questions, pour vous permettre de comprendre les raisonnements sous-jacents. Ce sera l'occasion d'illustrer les fameux "package principles" et peut-être de vous donner matière à mieux choisir la façon dont vous-même décidez d'adopter (ou de réécrire) telle ou telle dépendance.

0
Protéger votre application avec l’en-tête HTTP de sécurité « Content Security Policy »
Talk by Laurent BRUNET (40 minutes)

Chaque jour, de nombreux sites sont la cible d'attaques XSS, CSRF, clickjacking ou d'autres joyeusetés. Les conséquences sont souvent bénignes mais peuvent être autrement plus graves quand il s'agit de vol de données, de diffusion de malware ou de defacing de site. Heureusement, de nouveaux mécanismes de sécurité proposés par les navigateurs Web offrent aux développeurs des moyens de (mieux) protéger leurs applications. Dans le cadre de cette présentation, nous verrons comment les mettre en œuvre progressivement et sans douleur.

0
Drupal, je vous 10 tout !
Talk by Marine Gandy (40 minutes)

Quoi ?! Vous avez encore raté le coche et vous ne savez pas que Drupal 10 sort le 14 décembre ? Allez, parce que c’est vous, on se fait une séance de rattrapage du présent et surtout du futur du CMS à la goutte d’eau. Sous le capot : Symfony 6, PHP 8.1, CKEditor 5, des thèmes modernes out of the box et du découplage facilité. En voiture !

0
Un moteur bien huilé
Talk by Thibault RICHARD (40 minutes)

Le Rule Engine est un puissant pattern qui nous permet d’implémenter des systèmes complexes de manière découplée, extensible et testable. Découvrons comment nous avons implémenté des centaines de règles métier dans une application Symfony tout en gardant un code simple et lisible, notamment grâce à l’injection de dépendances. Cela a permis de facilement s’adapter aux changements de besoin et de permettre des cas d'usages complexes (chaînage des règles, utilisation d'APIs, requêtes à la base de données, etc).

0
Typage en PHP comment ça fonctionne ?
Talk by George BANYARD (40 minutes)

PHP est un langage qui a été conçu sans système de typage mais dont un a été introduit au fur et à mesure. Dans ce talk nous ferons une exploration en profondeur du système de typage de PHP: Les différents types disponibles La représentations des types en internes Comment PHP valide et coerce les types lors de l'exécution Comment PHP assure la compatibilité des types entres classes enfants et parentes (Liskov Substitution Principle)

0
How to Instantly Upgrade your Legacy Code in Minutes
Talk by Tomas VOTRUBA (40 minutes)

Legacy code is side effect of any successful company. The longer your grow, the older your code is. How can we deal with it? Rewrite? Gradual refactoring? Hire external developer team with legacy skills? In 2022 there are tools that can handle like composer updates your dependencies. Any company or developer can refactor their huge legacy code in a couple of weeks. Switch framework? Bump PHP 5.3 to PHP 8.1? From PHPUnit 4 to 10? You don't have to know a thing about the BC breaks and how-to-chagen it. I will show you, how you can become master of change with simple command line.

0
FFI : De nouveaux horizons pour PHP
Talk by Pierre PELISSET (40 minutes)

PHP est depuis sa création fortement lié au développement de sites internet. Pourtant, depuis PHP 4.3 (2002) qui a ajouté la SAPI CLI, PHP peut servir pour développer des applications ainsi que des services. Avec l’arrivée de FFI en 7.4, PHP peut maintenant appeler des fonctions C directement. Cette nouveauté permet d’utiliser des bibliothèques externes sans nécessiter d’extension PHP. Elle ouvre ainsi les portes de la programmation système à PHP. Nous vous présenterons comment nous avons utilisé FFI en production sur un projet domotique (contrôle d’une salle de Karaoké). Pourquoi avons-nous fait ce choix ? Quelles problématiques avons-nous rencontrées ? Pour quel résultat ? Finalement: FFI production ready ?

0
RINA, le nouvel Internet
Talk by Louis POUZIN (30 minutes)

Nous sommes ravis d'accueillir Louis POUZIN pour un sujet sur l’Internet du futur : RINA ! Expert en communications et réseaux d’ordinateurs à la réputation internationale, l’un des créateurs français d’Internet, Louis POUZIN déploie le concept d’un nouvel internet non-TCP/IP avec RINA (RecursiveInterNetwork Architecture) imaginé par un de ses collègues de Boston, John Day, ancien de l’ARPAnet.

0
Internet et la géopolitique
Keynote by Stéphane BORTZMEYER (30 minutes)

On pense encore parfois à l'Internet comme une sorte de territoire séparé, flottant au-dessus des passions humaines et des affrontements entre nations. Mais ce n'est évidemment pas le cas : les ordinateurs, les câbles et surtout les humains qui s'en occupent vivent dans un espace physique qui est toujours structuré par les situations nationales. La guerre en Ukraine provoquée par l'agression russe a une nouvelle fois illustré, hélas, ce point. D'autres affrontements, plus mesurés, ont souvent eu lieu. On va donc parler des liens entre l'Internet et les États-nations.

0
Papa et Maman nettoient l'internet
Talk by Hélène MAITRE-MARCHOIS, Mathieu MARCHOIS (40 minutes)

Dans une conférence à deux voix, nous vous proposons une plongée dans une opération de sauvetage du Web actuel. Comment limiter l'impact de nos applications au quotidien? L'éco-conception c'est bien mignon mais quand on arrive sur un projet qui traine une DB trop lourde pour lui et un legacy tout pourri, il est plus difficile de déterminer par où commencer à faire le ménage. Ca tombe bien, c'est notre quotidien le ménage d'internet. On aimerait le partager avec vous pendant cette conférence. Par des exemples concrets, nous évoquerons avec vous les défis liés aux fonctionnalités à (ne pas) développer puis nous vous donnerons des arguments pour orienter les choix d'hébergement et d'architecture pour terminer avec les bonnes pratiques de code (en PHP et Symfony mais pas seulement) que nous transmettons à nos clients. Nous souhaitons tous travailler à construire un web plus propre, voici comment nous avons décidé de nous y atteler dans la coopérative.

0
Il était une fois... les navigateurs
Talk by Noël MACÉ, Pierre TIBULLE (40 minutes)

De grandes batailles et de grandes innovations, racontées et dessinées en live ! Venez écouter l’histoire animée des navigateurs, depuis le CERN jusqu'à aujourd'hui ... et même leur possible avenir ! Replongez-vous dans l'aventure et les grandes idées de la navigation Web, bercé par la voix de Noël et les dessins de Pierre !

0
BFF, notre best friend forever pour faire plein d’applications frontend ?
Talk by Olivier MANSOUR, Valentin CLARAS (40 minutes)

Chez Bedrock nous fournissons des applications de streaming (ASVOD, AVOD) pour plusieurs clients en France et en Europe, chaque application étant déployée sur de nombreux appareils (ordinateur, mobile, set top box, tv connecté, consoles de jeux, tv stick etc …). Il était devenu très difficile de gérer la création et l’évolution de ces nombreuses applications qui requêtaient et formataient chacune elles-mêmes les données dont elles avaient besoin. Pour cela, en 2018, nous avons décidé de nous lancer dans la création d’un Back For Front afin d’unifier et faciliter les interactions backend et frontend. Au cours de cette conférence nous passerons en revue : les concepts du back for front l’architecture api-gateway et micro service mise en place Les gains fonctionnels et la vélocités gagnée les différents mécanismes développés pour absorber les importants pic de charge (résilience, circuit breaker, fallbacks etc.) les impacts techniques et organisationnels d’une telle architecture Aujourd’hui notre API Gateway BFF opère 92 frontends délivrant 1.5 milliards de vidéos par an pour 45 millions d’utilisateurs actifs (MaU). Venez découvrir notre retour d’expérience sur la mise en place d’un tel projet.