La parole est aux speakers : Pierre Pelisset
Jusqu’au Forum PHP 2022, retrouvez nos interviews de speakers pour mieux comprendre leur parcours et le sujet qu’ils ou elles aborderont lors de leur conférence !
La conférence
FFI : De nouveaux horizons pour PHPPHP 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 ? |
Ballroom GHJKLM - Katherine Johnson 13/10/2022 11:40-12:20 |
Quel est selon toi le moment-clé où, durant un projet, il faut se poser la question d’utiliser FFI ou une extension native ?
Il faut selon moi envisager d’utiliser FFI (ou une extension native) quand un projet arrive aux limites des possibilités de PHP. J’ai identifié personnellement trois limitations principales que FFI peut résoudre. La première, qui est la raison d’être de nombreuses extensions PHP existantes, est l’utilisation en PHP de bibliothèque native. C’est le cas par exemple de l’extension cURL qui expose les différentes fonctions de la bibliothèque C du même nom en PHP. Une autre raison parfois mise en avant pour l’usage de FFI notamment, c’est les soucis de performances. Une application web peut se retrouver face à des limitations de performances dûes au langage. Certains traitements lourds comme ceux sur les images par exemple peuvent être lents en PHP. Il peut alors être intéressant de coder certaines parties critiques avec des outils plus bas niveau (C++, Rust). Faire ces appels via FFI permet de garder la majorité de l’application écrite en PHP et d’en garder la simplicité sans pour autant faire de compromis sur les performances. La dernière limitation qui nécessite de faire appel à FFI ou à une extension native est le besoin d’accès à certaines fonctionnalités de programmation système. D’autres langages comme Python ou Ruby permettent d’accéder beaucoup plus facilement à ces couches du système (termios, ioctl, …). Dans le cas où nous aurions une application préexistante en PHP qui aurait besoin d’accéder à ce genre de fonctionnalité, FFI devient naturellement une solution à envisager. C’est sur ce type de problématique que nous avons dû faire usage de FFI chez KaraFun, et c’est donc principalement sur ça que portera mon retour d’expérience.
Dans un monde où les applications sont de plus en plus déployées sur des environnements en PaaS, sur des Cloud, comment vois-tu l’avenir de l’adoption de FFI au sein de PHP ?
Plusieurs environnements de PaaS ou de Cloud permettent l’activation des fonctionnalités de FFI. Mais j’ai surtout la conviction que FFI est l’un des éléments qui peut faire de PHP un langage à envisager pour d’autres usages que dans un serveur web. PHP est encore associé quasiment exclusivement à cet usage, pourtant depuis presque 20 ans, PHP peut-être utilisé comme n’importe quel langage de script grâce à PHP-CLI. En simplifiant l’accès à des bibliothèques natives et à la programmation système, FFI pourrait ouvrir d’autres horizons passionnants à PHP.
Tu indiques avoir travaillé dans la fonction publique, quelle est la plus grande différence avec le travail dans une start-up comme Karafun ?
L’aspect qui m’a le plus surpris est sans doute la prise de décision. Celle-ci est rapide chez KaraFun, chacun et chacune peut prendre part aux décisions et de leur mise en application. La satisfaction des besoins des clients est au centre des décisions prises, ce sont eux qui permettent à l’entreprise d’exister. À l’opposé, la prise de décision est généralement plus longue dans l’administration où je travaillais, avec des équipes souvent peu au courant des raisons des décisions prises et qu’ils ne comprennent donc pas toujours.
Une conférence présentée par
Pierre PELISSET |
Développeur back-end, Pierre est tombé dans le développement PHP durant l'adolescence. Après un bref passage dans la fonction publique, il travaille actuellement chez KaraFun ou il apprécie expérimenter des solutions PHP qui sortent de l’ordinaire. |
Autres Interviews
- La parole est aux speakers : Thibault Richard
- La parole est aux speakers : Benjamin Rambaud
- La parole est aux speakers : Sarah Haïm-Lubczanski
- La parole est aux speakers : Stéphane Hulard
- La parole est aux speakers : George Banyard
- La parole est aux speakers : Nicolas Grekas
- La parole est aux speakers : Jean-François Lépine
- La parole est aux speakers : Hélène Maître-Marchois et Mathieu Marchois
- La parole est aux speakers : Bastien JAILLOT
- La parole est aux speakers : Kévin Dunglas
- La parole est aux speakers : Mathias Arlaud
- La parole est aux speakers : Amélie Abdallah
- La parole est aux speakers : Anaïs Sparesotto et Hortense Mahon
- La parole est aux speakers : Benoit Viguier
- La parole est aux speakers : Olivier Mansour et Valentin Claras
- La parole est aux speakers : Sebastian Bergmann et Roman Pronskiy
- La parole est aux speakers : Laurent Brunet
- La parole est aux speakers : Loïc Fremont
- La parole est aux speakers : Stéphane Bortzmeyer
- La parole est aux speakers : Tomáš Votruba
- La parole est aux speakers : Pierre Tondereau
- La parole est aux speakers : Louis Pouzin
- La parole est aux speakers : Loïck Piera