Image de couverture de l'article SymfonyCon, WanadevDigital y était : nos rencontres, notre retour.
Retour aux articles

L'agence

WanadevStudio

SymfonyCon, WanadevDigital y était : nos rencontres, notre retour.

Retrouvez les retours de la délégation WanadevDigital à la SymfonyCon !

Introduction

Après la Paris Web en octobre, c’est à la SymfonyCon que ce sont rendues les équipes de Wanadev en cette fin d’année, représentées par Benjamin, Morgan, Xavier et Julien. La grand-messe de la communauté Symfony se déroulait cette année à Disneyland Paris. Ce ne sont pas moins de 1300 participants venus de 47 pays différents qui se sont réunis pour deux jours de conférences. On aimerait bien en parler pendant des heures, mais voilà déjà en quelques lignes ce que l'on a retenu.

Wanadev à la SymfonyCon

Vive l'open source

L’ouverture de cette SymfonyCon commence par la keynote de Fabien Potencier. Il amorce un sujet transversal lors de cet événement qui nous concerne tous : l’open source. Nous le retrouverons dans de nombreuses conférences, comme celles de Kévin Dunglas ou Sebastian Bergmann. Ces différents entretiens ont un point commun lorsqu'ils parlent de l’open source, ils nous rappellent l’importance de les soutenir. Mais soutenir l’open source c’est quoi ? C’est soutenir des projets financièrement, c’est aussi tester les développements, faire des retours, proposer des idées ou cas d’utilisation des librairies, bref apporter des idées ou des solutions à des problèmes. Plus simplement, c'est être actif et non pas un simple consommateur du monde de l’open source.

“The PHP Stack”s Supply Chain”, c’est le nom de la conférence de Sebastian Bergmann. Il y pose la question suivante : connaissons-nous vraiment la stack que nous utilisons ? Connaissons-nous réellement chacune de ses dépendances ? Et chacune des dépendances de nos dépendances ? Les projets sont aujourd’hui toujours construits autour de multiples dépendances tierces, c’est ce qui forme la stack supply chain. Cette chaîne de dépendance forme un risque, en effet les derniers maillons de cette chaîne sont probablement réalisés par des développeurs indépendants. Réalisées par passion ou besoin, ces petites librairies de fin de chaîne sont essentielles au fonctionnement de plus grosses librairies. Il est donc important de soutenir au maximum ces développeurs car ils représentent un maillon décisif de la chaîne, notamment sur l’aspect sécurité de l’ensemble de la chaîne.

L’open source évoluant, la SymfonyCon est également l’occasion idéale pour présenter de nouveaux projets.

Nous retenons principalement deux projets, l’un est un composant Symfony, très prometteur, le composant Webhooks présenté lors de l'ouverture par Fabien Potencier. Les webhooks c’est ce qui nous permet de fournir un point d'accès de notre application à d’autres applications/services (En gros de s’interconnecter facilement). Ce nouveau composant permet d’avoir des webhooks déjà implémentés pour différents fournisseurs de service tel que Mailgun (envoi d’email), Stripe (plateforme de paiement). Mais aussi comme toujours dans l’écosystème Symfony un composant abstrait est facilement extensible pour créer les webhooks de nos différents services. C’est là que la communauté est importante pour faire évoluer ce nouveau composant.

Le deuxième projet est celui de Kévin Dunglas autour de FrankenPHP. Il nous montre ici en version Alpha son projet de serveur d’application PHP écrit en Go. L’objectif est de fournir un serveur PHP qui ne détruit pas tout à chaque requête contrairement à ce que propose PHP par sa conception pour un gain de performance significatif sur ses applications. Il s'intègre déjà dans l’écosystème de Symfony grâce à un nouveau runtime Symfony. Il faut aussi retenir de cette conférence que la communauté est importante, car pour le mener à bien il faut tester cette solution dans de nombreux projets, ce serait impossible sans son aide.

Franken PHP

Vous avez dit qualité ?

C’est quoi la qualité quand on développe des applications ? La fiabilité? Les performances ? La maintenabilité? Comment est-ce que l’on peut la mesurer pour l’améliorer ? Quels sont les outils que l’on peut mettre en place dans nos projets ? C’est un sujet que l’on a pu retrouver dans de nombreux talks lors de cette SymfonyCon.
Des tests, des tests, encore des tests ! Lorsque l’on souhaite améliorer la couverture de tests de son application, pratiquer le Test Driven Development est très certainement une bonne idée, mais qui peut faire peur, Diego Aguiar (Twitter, Github) a eu l’occasion de nous donner quelques conseils et bonne pratique afin de se lancer sans crainte. Et si vous voulez évaluer la qualité de vos tests, vous pouvez vous lancer dans les tests de mutations. Vous ne savez pas ce que c’est ? Vous pouvez écouter Isabel Garrido Cardenas en parler (Twitter, Github)
Si vous n’avez pas encore d’analyse statique, on ne peut que vous recommander d'utiliser (entre autres) PHPStan et d’écouter les excellents conseils de Ondřej Mirtes (Twitter, Github).

Maintenant que le job d’analyse statique tourne sur votre CI, vous pouvez en profiter pour plonger dans les entrailles de Git et découvrir comment devenir un pro de cet outil indispensable pour tout développeur grce à Pauline Vos (Twitter, Github).
Vous avez désormais tous les outils en place pour pouvoir dire que vous produisez un code de qualité. Mais en êtes-vous certain ? Il est désormais temps d’entrer dans le monde de l’observabilité pour mesurer et suivre la qualité de votre projet. On vous conseille alors d’aller écouter Jérôme Vieilledent (Twitter, Github) qui nous explique comment Blackfire https://www.blackfire.io/ peut aider les équipes de développement à suivre et mesurer la qualité de leurs projets, depuis l’écriture du code jusqu’à son exécution sur les environnements de production.

Les méthodes et les outils présentés lors de cette SymfonyCon ne sont bien sûr pas les seuls existants et ne donnent pas une vue exhaustive de tout ce qui peut être mis en place dans une démarche qualité. Mesurez, testez, validez, améliorez, peu importe comment, vous ne le regretterez pas.
Vous pouvez aussi relire nos articles sur le sujet ici, ici, également , et aussi ici . Mais parce que la réalité n’est parfois pas toujours aussi simple, on vous conseille de relire l’excellent Manuel Klein

Crédit Sebastian Bergman Crédit @sebastian bergman https://mobile.twitter.com/s_bergmann/status/1170381280837427200

Étrangle ton monolithe

Le pattern strangler fig

Comme souvent, l'être humain trouve son inspiration en puisant dans ce qui existe déjà dans la nature, en l'occurrence le figuier étrangleur ou Strangler Fig pour les intimes, toute ressemblance avec le nom d'une série existante serait purement fortuite.

Il s'agit d'un arbre dont les racines (microservices) poussent le long du tronc (monolith legacy) d'un arbre déjà existant et qui cohabitent jusqu'à ce que le figuier soit assez évolué pour vivre en autonomie, à partir de là: le tronc meurt (suppression du legacy) et il ne reste plus que les racines du figuier (microservices).

Ce pattern peut être résumé en 4 étapes clés:

  1. Identifier les services / modules qui peuvent être isolés en microservices (authentification, profils utilisateurs, facturation etc…),
  2. Développer le nouveau microservice découplé parmi ceux identifiés,
  3. Basculer le trafic vers ce nouveau micro service,
  4. Répéter jusqu’à supprimer complètement le monolith legacy.

Avantages:

  • migration au fil de l’eau,
  • projet non bloqué (on peut faire évoluer notre legacy).

Inconvénients:

  • suppression complète du legacy très lente (souvent sur plusieurs années),
  • duplication de code & données entre le legacy & la nouvelle codebase.

Pour en savoir plus, voici le lien de la conférence de Shawna Spoor: https://www.youtube.com/watch?v=IiwNsr9aZW8

Comment on met ça en place avec Symfony ?

Clément Bertillon nous a présenté un exemple concret pour basculer un code PHP Legacy vers un projet Symfony 6.

Voici quelques points clés que j’en ai retenu:

  • Nécessiter d’adapter son code Legacy pour PHP8 en amont,
  • Créer son nouveau projet Symfony 6,
  • Déplacer toute l’ancienne codebase dans un dossier Legacy,
  • Le legacy peut faire appel à notre nouvelle codebase mais pas l’inverse: la librairie deptrac permet de verrouiller cette règle,
  • Utiliser un monorepo (!= monolith) pour notre projet: Code Owners permet de définir des droits utilisateur par dossier dans un même repository.

Why MonoRepo ?

Quels outils pour migrer du code legacy ?

Tomas Votruba nous a présenté des astuces et outils pour migrer du code Legacy.

Nous appliquons déjà la plupart de ces méthodologies (niveau de phpstan, planification des upgrades Php / Symfony, etc …).

L’outil rector a cependant retenu mon attention car il permet d’automatiquement adapter notre code lors des montées en version, ce qui nous sera très certainement utile lors la montée en PHP8 pour adapter toutes nos annotations en attributs PHP8 !

Il y a pas que le PHP dans la vie

A la SymfonyCon, de prime abord, nous pourrions penser “Symfony”, donc que nous assisterions essentiellement a des conférences PHP ou des talks en lien avec les technologies Back-End.

Pour autant, n’oublions pas pour quelle raison nous utilisons différents langages de programmation. Développer des applications accessibles, disponibles et pour des utilisateurs avec un besoin souvent exprimé, tout en prenant en compte notre monde ou nous évoluons.

Modèle VPTCS

J’ai pu participer à plusieurs conférences qui nous ont amenées à réfléchir à l'existence de nos métiers. Telle que la conférence de Rowdy Rabouw sur “Un Web pour tous, n'importe où, n'importe quand“ , qui au cours de son talk nous explique comment nous, développeurs, avons la responsabilité de rendre le web et nos applications le plus accessibles possible. Et que pourtant par manque de connaissances, de temps et de valeur ajoutés nous allons parfois à contresens de cet objectif. Lors de cet échange, il a pu prendre le temps de passer en revue les erreurs courantes et montrer des solutions pour améliorer les sites Web pour les personnes en situation de handicap. Vous pourrez retrouver tous ces conseils avisés sur la vidéo d’une de ces conférences.

Ou encore celle de Natalie Harper sur “Construire un excellent produit signifie concevoir pour vos utilisateurs.“, qui remet au centre de la discussion l’utilisateur dans la conception de nos applications. Tout en essayant de créer des applications au plus proche des besoins de l’utilisateur et en prenant en compte la capacité des équipes dédiées au projet. Tout au long de son talk elle appuie l’importance de mettre une démarche qualité et de bon test fonctionnel pour maîtriser la disponibilité et le bon fonctionnement de nos applications dédiées aux utilisateurs. Et essayez au possible de faire régulièrement des séances de test avec les utilisateurs les plus fidèles de nos produits. Vous pourrez retrouver ici les notions de bêta testing.

Et pour finir celle de Fred Plais et de Leah Goldfarb sur “Changement climatique et informatique, mise à l'échelle durable”, qui au travers de leurs talk nous présentent leurs recherches et leurs études sur la consommation carbone de nos métiers, leur impact et explique comment essayer au mieux de les réduire. À la fois en informant nos clients à ce sujet, mais surtout en les accompagnant sur les choix techniques et plus particulièrement dans le choix des hébergements cloud. Effectivement, nous avons toujours besoin de lancer des machines de guerre pour l’intégralité de nos applications et on peut se demander si toutes les nouvelles et les belles fonctionnalités proposées à nos clients sont toujours aussi utiles que ça ? Vous pourrez retrouver une partie de leur intervention ici.

Conclusion

Il n'y avait pas moins de 40 talks lors de cette SymfonyCon, on ne va pas vous mentir, on n'a pas tout vu (pas encore mais les replays sont disponibles ici), mais on revient, comme toujours, hyper enthousiaste, plein d'idées et d'envie de tester de nouveaux outils. Ces moments de partage de connaissance avec la communauté font partie de la richesse de nos métiers, c'est toujours un plaisir d'y prendre part.

Commentaires

Il n'y a actuellement aucun commentaire. Soyez le premier !

  • Couverture de l'article SymfonyCon Brussels 2023 : PHP continue d'innover !
    SymfonyCon Brussels 2023 : PHP continue d'innover !
    Evénement

    Il y a 4 mois

    La SymfonyCon, c'est un peu le rendez-vous annuel de la communauté Symfony. C'est un événement qui a lieu chaque année dans une ville différente, et qui rassemble des milliers de développeurs Symfony venus du monde entier. Cette année, nous étions 1200 au SQUARE Center de Bruxelles. Une excellente occasion de rencontrer en vrai les développeurs avec qui on échange toute l'année sur Github !

  • Couverture de l'article Être speaker : de l'autre côté des conférences tech
    Être speaker : de l'autre côté des conférences tech

    Il y a 6 mois

    Chez WanadevDigital, nous encourageons nos collaborateurs à intervenir sur leurs sujets d'expertise auprès de la communauté de développeurs PHP. Plusieurs d'entre eux sont intervenus sur des thématiques de leur quotidien, tels que Suzanne et sa conférence sur le concept art, ou encore François lors de la table ronde du Sport Unlimitech à Lyon en 2019. Aujourd'hui, nous avons demandé à Alexandre, lead developer au sein de l'agence depuis décembre 2022 et qui est intervenu sur des nombreuses conférences à destination des développeurs PHP (PHPers Summit 2023, Forum PHP 2023, Symfony Live 2022, etc.), de nous parler de son expérience de speaker pour donner les clés nécessaires à une première intervention.

  • Couverture de l'article Forum PHP 2023: les retours de l'équipe !
    Forum PHP 2023: les retours de l'équipe !
    Evénement

    Il y a 6 mois

    Du 12 au 13 octobre dernier avait lieu à Disneyland Paris le forum PHP annuel, organisé par l'AFUP. Une partie de l'équipe WanadevDigital et Octopod s'y sont rendus pour assister aux conférences, et même pour animer une présentation: "Streams : Nous Sous-Estimons Tous Redis".

  • Couverture de l'article Wanadev s'agrandit et change d’adresse !
    Wanadev s'agrandit et change d’adresse !

    Il y a 9 mois

    Après plusieurs mois à courir derrière les mètres carrés de notre adresse en presqu’île pour faire face à la croissance de l’équipe, Wanadev et ses marques, dont WanadevDigital, ont déménagé fin juin au 13 Quai du Commerce, dans le 9ème arrondissement de Lyon.

    Ainsi, à partir de juillet, pour nous rejoindre à la nouvelle adresse, ce sera en proximité directe de l’arrêt de métro Vaise, ou bien en vélo par la magnifique piste cyclable le long des quais de Saône… ou bien en aviron directement sur l’affluent (et pourquoi pas ?).

  • Couverture de l'article AFUP Day de Lyon: les retours de l'équipe !
    AFUP Day de Lyon: les retours de l'équipe !
    Evénement

    Il y a 11 mois

    Vendredi 12 mai, une partie de l'équipe WanadevDigital était présente sur le campus CPE de Lyon afin d'assister à différentes conférences autour du PHP, mais également dans le but de soutenir la communauté PHP dont nous sommes sponsors. Suite à cette journée, Manuel, Alexandre, Benjamin, Paco, Mohamed, Xavier et Julien reviennent sur les temps forts qui les ont marqués.

  • Couverture de l'article Retour sur le salon du e-marketing, du 28 au 30 mars dernier
    Retour sur le salon du e-marketing, du 28 au 30 mars dernier
    Evénement

    Il y a 1 an

    WanadevDigital s'est rendu la semaine dernière au salon du e-marketing à Paris pour présenter ses projets 2D et 3D. Retour sur ces trois jours.