L'agence
WanadevStudio
SymfonyCon Brussels 2023 : PHP continue d'innover !
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 !
La fin du PHPUnit Bridge de Symfony ?
C'est ce que semble suggérer Sebastian Bergmann, le créateur de PHPUnit, dans sa conférence "PHPUnit for Symfony Developers".
Pour comprendre cela, il faut revenir sur la raison de l'existence de ce Bridge. En fait, ce dernier a été créé pour ajouter des fonctionnalités manquantes à PHPUnit. La feature phare est sans doute la levée verbeuse des dépréciations trouvées dans le code lorsque les tests sont exécutés.
Cependant, cette fonctionnalité a été ajoutée dans les versions les plus récentes de PHPUnit. Le bridge permet aussi de mocker certaines fonctions de PHP comme les fonctions de résolution de DNS. Sebastian a mis l'accent sur certains mocks qu'il juge moins utile, tel que le mock de la fonction class_exists()
.
Cette méthode est par exemple utilisée dans Symfony pour vérifier si certaines dépendances optionnelles du framework sont installées. Le mock de class_exists()
permet donc de tester le comportement de Symfony lorsque ces dépendances ne sont pas installées. Ces cas à tester restent néanmoins très rare. Et quand on sait que l'issue Github dans le repo de Symfony pour apporter le support e PHPUnit 10 au bridge est ouverte depuis bientôt 1 an, il est légitime de se poser quelques questions sur l'avenir du Bridge.
La Fondation PHP a Besoin de Nous
La Fondation PHP est une organisation fondée par des membres influents de la communauté PHP. Un des membres du board de la fondation et membre de la core team Symfony, Nicolas Grekas, nous a présenté les projets et les enjeux de la fondation. Celle-ci a pour but de promouvoir le langage PHP, montrer que celui-ci a un bel avenir, mais aussi de le faire évoluer en recrutant et rémunérant les développeurs qui travaillent sur le langage à plein temps ou à temps partiel. L'intégralité des fonds et des dépenses de la fondation sont publiques et disponibles sur la page OpenCollective de la fondation. Juste après la conférence, Nils Adermann (co-fondateur de Packagist et Composer) et Fabien Potencier (Project Leader de Symfony) ont annoncé que Packagist et Symfony Corp. venaient de contribuer à hauteur de 30 000€ à la fondation. Dans les autres bonnes nouvelles, la fondation est en cours de recrutement de plusieurs développeurs pour rejoindre la core team de PHP. De quoi assurer la pérennité du langage pour les années à venir !
Et Si Votre Application PHP Devenait Un ".exe" ?
C'est la promesse de Kevin Dunglas, créateur d'API Platform, dans sa conférence "Symfony Apps as Standalone Binaries". Le constat de départ est simple : distribuer une application avec PHP n'est pas toujours simple. Entre les différentes versions du langage, des dépendances à installer, des extensions à activer, il est parfois difficile de s'y retrouver. La solution proposée par Kevin est de créer un binaire exécutable de votre application. Il y a bien Docker, mais cela nécessite que celui-ci soit installé sur la machine de l'utilisateur. Ça reste moins efficace qu'un fichier exécutable. En fait, Kevin nous explique comment il a réussi à créer un binaire exécutable de son application Symfony en bundlant un serveur web, un interpréteur PHP et le code source de l'application dans un seul fichier. Le grand du travail réside dans l'utilisation de FrankenPHP. Après avoir release la version 1.0.0 stable en live au démarrage de son talk, Kevin a généré en quelques lignes de commande un exécutable. Il a ensuite envoyé ce fichier exécutable à Fabien Potencier qui l'a exécuté sur son ordinateur durant la Q&A de la Core Team. Une jolie mise en scène qui a eu un bel effet sur le public !
Terminal : Le Nouveau Composant Symfony Pour Mélanger CSS et CLI
C'est le nouveau composant Symfony qui a été présenté par Fabien Potencier lors de la keynote d'ouverture de la SymfonyCon.
Prévu pour Symfony 7.1, ce composant permet de créer des interfaces en ligne de commande avec des éléments interactifs. On parle de widgets par exemple. Ce composant permet d'aller plus loin que Console : possibilité d'utiliser des notations CSS, d'ajouter du padding à des éléments, des margins, utiliser des couleurs comme bg-primary
, adapter automatiquement les couleurs du terminal en fonction de l'utilisation ou non du dark mode, etc. Le composant est encore en développement, mais il est déjà bien avancé et Fabien a déjà annoncé qu'il ferait sûrement appel à la communauté pour l'aider à le finaliser.
Dans la démonstration live, nous avons pu voir des tableaux interactifs avec possibilité de paginer, de trier, de filtrer, etc. Le support de la souris est aussi disponible et ce composant permettra de créer des interfaces en ligne de commande beaucoup plus riches et interactives qu'avec le composant Console. Trackpad et gestion avancée de la pression des touches du clavier sont aussi de la partie !
Fabien m'a confié entre 2 conférences qu'il s'était notamment inspiré du code source de Vim pour créer ce composant. Alors, qui est prêt à recréer Vim en PHP ?
Rendez-vous à Vienne en 2024 !
C'était l'annonce finale de la SymfonyCon 2023. La prochaine édition aura lieu à Vienne en Autriche. Alors qu'on peut facilement se dire "c'est bon, le framework est complet désormais", on a hâte de connaître les annonces qui seront faites lors de la prochaine édition. Car clairement, le monde PHP n'a pas fini d'innover !
Commentaires
Il n'y a actuellement aucun commentaire. Soyez le premier !