La parole est aux speakers : Pierre Tondereau
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
Une extension PHP rouilléeÉ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. |
Ballroom ABCDEF - Grace Hopper 14/10/2022 12:25-12:45 |
Pierre, qu’est-ce qui te plaît dans Rust ?
Énormément de choses, mais j’ai découvert et re-découvert des principes de programmation « bas niveau » que je n’avais pas touchés depuis longtemps. La promesse de productivité décrite sur le site officiel a pesé davantage sur mon choix par rapport à d’autres langages similaires. Je pense aussi que l’API haut-niveau que propose Rust donne plus de confiance en soi et en notre code quand il s’agit de régir des problématiques de gestion d’erreur ou de mémoire par exemple (Fiabilité). Pour finir, la communauté est tout aussi accueillante et bienveillante que celle de PHP.
Il semblerait que de plus en plus de développeur.se.s PHP s’intéressent à Rust. Comment expliques-tu ce phénomène ?
À mon humble avis, je pense que les développeurs et développeuses PHP veulent découvrir des outils plus adaptés à leurs besoins sans pour autant sacrifier leur expérience de dev. Je pense notamment au tooling que propose Rust en se centralisant sur lui-même : quand vous installez Rust, vous avez directement accès à un gestionnaire de dépendances, un linter, un outil de génération de documentation, « un compilateur bienveillant, avec des messages d’erreur utiles », etc. On retrouve de petites influences ici et là, comme l’ajout de l’expression match et ce n’est pas innocent quand on connaît l’intérêt de Nikita Popov pour celui-ci et LLVM (la micro VM derrière Rust) à l’époque où il travaillait sur le code source de PHP. Il y a enfin, peut-être également, un élan de certains devs à vouloir reprendre le contrôle de ce qui se passe sur la machine et sortir d’une zone de confort où l’on fait confiance au garbage collector par exemple… Mais cela reste mon interprétation, haha !
Pourrais-tu nous présenter un cas d’usage de Rust dans une extension PHP ?
C’est bien évidemment un des points de ma conférence et vous comprendrez que je ne m’étalerais pas plus sur le sujet. Cependant, j’essayerai de répondre à des questions comme « peut-on créer du micro-service Rust à l’aide d’une extension PHP ? » Ou encore, « pourquoi ne pas utiliser le C directement et passer par un langage intermédiaire ? ». Une liste de questions qui, j’espère, vous donnera envie d’assister à ma conférence.
Une conférence présentée par
Pierre TONDEREAU |
Ingénieur logiciel |
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 : Pierre Pelisset
- 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 : Louis Pouzin
- La parole est aux speakers : Loïck Piera