Le blog

Retour sur l'AFUP Day Lille 2024

Publié le 04 juin 2024

Après vous avoir dévoilé le retour de notre équipe lyonnaise la semaine dernière, place à notre compte rendu de la sixième édition de l'AFUP Day Lille 2024, où nous étions sponsors et conférenciers. Cette année, l'événement s'est tenu au théâtre La Comédie, en plein centre-ville, un lieu qui a attiré notre attention par la diversité des pièces à l'affiche, bien que leur humour soit parfois discutable. Découvrez notre résumé de quelques conférences de cette journée.

API Platform 2.7 vers 3.x : l’upgrade-path ultime par Vincent Chalamon #

L’AFUP Day 2024 a commencé en fanfare avec une conférence de notre coopérateur Vincent Chalamon, également mainteneur de API Platform. Vincent a expliqué en détail comment migrer les applications utilisant la version 2 du framework (qui n’est désormais plus maintenue) vers la version 3. Il a accompagné de nombreuses entreprises à effectuer leurs migrations et maintient le projet API Platform Demo, qui contient de nombreux exemples d’utilisation d’API Platform. Vincent s’occupe de migrer API Platform Demo en continu afin qu’il utilise les dernières fonctionnalités du framework et qu’il soit toujours en phase avec les bonnes pratiques promues par le projet et la communauté.

Il nous a présenté la stratégie générale qu’il utilise pour réussir ses migrations, puis a détaillé chacune des étapes à effectuer. Dans la plupart des cas, les outils de migration automatisés fournis par API Platform font l’essentiel du boulot, mais parfois - en particulier lorsque les bonnes pratiques de l’outil n’ont pas été suivies - les choses se corsent. C’est sur ces derniers sujets que Vincent s’est concentré au cours de sa présentation.

Si vous n’avez pas la bande passante (ou les compétences) pour migrer vos projets API Platform (mais aussi Symfony, Laravel, React ou encore Vue), n’hésitez pas à nous contacter. Vincent et notre équipe de spécialistes sauront vous aider ! Retrouvez l'interview de Vincent.

Introduire de la qualité dans un projet "legacy" #

Rachid Hammaoui est un développeur certifié Symfony qui bénéficie d'une belle expérience dans le monde des ESN. Ce qui lui offre une vision large des problématiques rencontrées, peu importe la dimension de l'équipe ou du projet. C'est à partir de ses années de pratique qu'il nous a livré sa checklist des meilleures méthodes pour mettre de la qualité dans vos projets legacy :

  • Faire un audit du code existant
  • Définir des conventions de code
  • Mettre en place de la revue de code
  • Ajouter de l’analyse statique
  • Définir une stratégie de test
  • Refactorisation : Préparer / Découper, Sécuriser et verrouiller, enfin Modifier

De bon conseils distillés durant cette conférence !

Profiler son application PHP en toute gratuité #

Valentin Silvestre est monté sur scène pour nous parler du profiling des applications PHP. Trouver pourquoi une application est lente n’est pas forcément chose aisée. Le faire à l’aveugle est fastidieux pour ne pas dire impossible. C’est là qu'entrent en jeu les profilers. Ces outils permettent de mesurer le temps pris par les différents blocs de code de nos applications. Ils nous mettent donc sur la voie pour savoir quoi optimiser, et comment le faire.

Valentin a d’abord présenté deux grands types de profilers présents dans le monde PHP : ceux fonctionnant par sampling (approche statistique sur un grand nombre de requêtes) et ceux préférant instrumentation (ajout d’instructions pour mesurer le temps pris par chaque appel de fonction).

Il nous a ensuite montré les représentations des données sous forme de flame graphs et de call graphs, et nous a montré comment les lire. Finalement, Valentin a détaillé les différents outils libres disponibles en PHP : le vénérable xhprof (Facebook), Pyroscope (Grafana) et son favori Excimer (Wikimédia), qui peut s’intégrer à Sentry. Il a aussi mentionné les outils propriétaires Blackfire (celui qui a selon lui l’UI la plus léchée) et Tideways.

Vous souhaitez diagnostiquer vos applications pour corriger leurs problèmes de lenteur, ou tout simplement diminuer leur consommation de ressources et améliorer vos taux de conversions en accélérant le temps de chargement des pages ? Nous pouvons vous aider ! Faites appel à notre équipe d'experts (certifiée Blackfire). Retrouvez ses slides à cette adresse ainsi que son interview.

PHP: Particularly Horrible Programs #

On ne présente plus Gina Banyard. Core-contributrice à PHP, employée de la PHP Foundation et habituée de l’AFUP Day Lille comme du Forum PHP.

Lors de ce véritable show, en live coding s’il vous plaît, Gina nous a montré un nombre hallucinant de manières de faire faire des choses horribles à l’interpréteur PHP. À ne surtout pas refaire à la maison ! Notons que nombre de ces problèmes, de ces incohérences et de ces comportements indéterminés ont déjà été corrigés par Gina et le reste de l’équipe de la PHP Foundation.

Pour que continuer d’améliorer la fiabilité et la qualité de notre langage préféré, faites comme nous, soutenez la fondation PHP ! Retrouvez l'interview de Gina.

Release Management de Firefox #

Gérer la publication régulière et les remontées de bugs de l’un des logiciels les plus complexes au monde, utilisé par des centaines de millions d’utilisateurs dans des contextes extrêmement différents et dépendant d’énormément de tierces parties… C’est ce défi auquel Pascal Chevrel, release manager de Firefox chez Mozilla, s’adonne au quotidien.

Retour d’expérience “at scale” extrêmement intéressant, en particulier pour les mainteneurs de logiciels libres que nous sommes. Retrouvez l'interview de Pascal.

J'ai testé API Platform V3, qu'est ce que j'en pense en tant que développeuse C# ? #

Et si on demandait à une développeuse C# qui n’a pas fait de PHP depuis ses études de faire une API avec API Platform ? C’est dans ce challenge que s’est lancée Laura Durieux, en live sur Twitch.

Résultat ? PHP est mort ? Notre pari, au vu de la conférence, c’est plutôt que Laura n’utilisera pas C# pour sa prochaine API 😎 ! Lisez l'interview de Laura.

Microservices, maxi supplice #

Les microservices sont-ils toujours pertinents ? Est-ce que dans la plupart des cas, un majestueux monolithe ne ferait-il pas l'affaire ? Dans ce très intéressant retour d’expérience Yann Jacquot et Alexis Stefanski ont présenté les nombreuses embûches qu’ils ont rencontré en tentant de mettre en oeuvre une architecture microservices au sein de leur entreprise alors que l’équipe n’avait ni la maturité technique, ni la connaissance métier nécessaire pour le faire. Ils nous ont ensuite présenté comment ils ont finalement décidé de migrer à nouveau vers un monolithe, mais un monolithe bien structuré et modulaire, et comment cela a permis d’améliorer la performance et la fiabilité de leur système, tout en en réduisant sa complexité.

Avant de vous lancer tête baissée, n’hésitez pas à faire appel à nos spécialistes qui pourront vous aider à faire les bons choix et vous orienter vers une solution adaptée à vos besoins métiers et à votre taille. De la simple application CRUD en PHP ou en JS, au système composé de microservices écrits en Go et en Rust qui utilise Istio et Kafka, nos équipes accompagnent tous types d’équipes sur des projets de tailles très variées.

Gitlab et Drupal #

C’est ensuite Ines Wallon, développeuse Drupal de renom, qui a nous a distillé un très grand nombre d’astuces et de bonnes pratiques pour la mise en place de pipelines CI/CD avec GitLab CI.

Même si Ines a utilisé Drupal pour ses exemples, la plupart de ses conseils peuvent aussi s’appliquer dans les projets PHP utilisant d’autres CMS ou frameworks. Retrouvez son interview.

Applications PHP conteneurisées : retour d'expériences et bonnes pratiques #

Kévin Dunglas a conclu cette journée de conférences dans cette présentation « Astuces et conseils pour la conteneurisation » sur un incontournable dans la tech qu'est Docker. Il nous présente les bases de ce qu’est un système de conteneurisation et les principaux avantages qu’il procure :

  • Onboarding simplifié quand on doit travailler sur un nouveau projet.
  • Configuration versionnée comme le code
  • Possibilité d’utilisation dans tous les environnements : dev, ci, staging mais également la production.
  • Est devenu au fil des années standard dans l’IT.
  • Dispose de nombreux outils et d'un écosystème riche, dont Kubernetes.
  • Tourne sur la plupart des OS

Il a d'abord montré comment se déroulait la construction d'une image, puis nous a présenté 13 astuces utiles et applicables dans nos projets afin d’améliorer notre confort d’utilisation, mais aussi les performances.

Parmi les plus utiles, on notera qu’il est conseillé d’utiliser les images Debian plutôt que les images Alpine. Le fait d’optimiser les couches des conteneurs pour réduire les temps de construction d’image et l'option --link des instructions ADD et COPY.

En production, Kubernetes est devenu l'orchestrateur incontournable, mais il ne faut pas négliger la complexité qu’il introduit. L'outil Skaffold permet de lancer un environnement de développement basé sur Kubernetes en local ou dans le cloud. Après avoir écrit la config nécessaire, on peut taper “skaffold dev” pour que les conteneurs de nos apps soient automatiquement reconstruits et déployés dans un Kubernetes local à chaque changement de code ou de config.

Enfin, un « starter-kit » Symfony Docker (2,4k ✨) existe et permet d'initialiser rapidement une application Symfony. Ce modèle GitHub s’appuie désormais sur FrankenPHP pour servir l’application et permet un gain substantiel de performances par rapport à PHP-FPM. Il embarque déjà toutes les astuces qui viennent d'être présentées. API Platform dispose quant à lui de sa propre distribution Docker, qui est basée sur ce starter-kit, et ajoute une config complète pour utiliser Kubernetes et Skaffold.

Consultez l'ensemble de ses slides ainsi que son interview.

Conclusion #

Nous avons apprécié cette journée passée à toute vitesse : l'équipe d'organisation parfaitement rodée nous a accueillis avec bonne humeur et grand professionnalisme. Nous avons également été scotchés par la qualité des talks auxquels nous avons assisté. Et de plus, c'est toujours un plaisir de retrouver des partenaires ou amis de longue date que l'on croise fréquemment lors de ce type de conférences. L'équipe de bénévoles de l'AFUP Lille a conclu la journée de conférences en annonçant les dates du Forum PHP 2024, ainsi que l'ouverture du CFP. Nous avons hâte de découvrir la programmation de cet événement courant juillet !

Le blog

Pour aller plus loin