La parole est aux speakers : Emeric Kasbarian et Jérémy James
Jusqu’au Forum PHP 2021, 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
Kairoi, et PHP se réconcilie avec les tâches planifiéesKairoi est un serveur qui permet aux applications web de planifier très facilement des tâches à exécuter dans le futur. C'est un remplaçant moderne de CRON, qui dispose de plusieurs caractéristiques qui vont particulièrement intéresser les développeurs PHP : contrairement à CRON, Kairoi a été conçu dès l'origine pour être configurable à la volée, précis au millième de seconde et scalable. Le serveur, actuellement en phase de développement, est très simple à utiliser avec notre langage préféré, grâce à une bibliothèque client PHP développée en parallèle du serveur. Kairoi, contrairement à CRON, tire parti au maximum des architectures distribuées. Il supporte des myriades de clients en parallèle en traitant les données de manière atomique. Il route dynamiquement les tâches à exécuter au moyen de règles configurables et les distribue, grâce aux processeurs, à tous vos workers. Au cours de cette présentation, nous découvrirons ce nouvel outil Open Source et son intégration PHP. |
Katherine Johnson / Roissy 21/10/2021 12:10-12:30 |
Pourriez-vous nous présenter succinctement le projet Kairoi et les cas d’usage de celui-ci ?
Jérémy : De manière vraiment succincte, on a un serveur Kairoi qui tourne dans l’infrastructure. Une application demande à ce serveur d’exécuter la tâche qu’elle souhaite (soit un script shell, soit publier un message dans une queue RabbitMQ), à un moment donné précis (par exemple « déclenchement dans 18 minutes et 42 secondes »). Côté client, on n’a plus rien à faire. Et côté serveur, il se débrouille pour faire ce qui lui a été demandé, au bon moment.
Pour les cas d’usage, ils sont nombreux. On peut faire expirer des coupons de parrainage ou des paniers. On peut gérer très simplement le renouvellement du paiement pour des abonnements. L’idée c’est que n’importe quel•le dev puisse planifier une tâche simplement. Après, on peut même s’en servir en instantané pour remplacer un Rabbit par exemple, mais là on part un peu dans le futur, on risquerait de s’y perdre ! (rire)
D’où vient le nom du projet ?
Emeric : Un jour, un grand sage a énoncé une méthode pour nommer les projets « à-côté » : « Prendre le dernier dessin animé Disney vu, le nom du méchant, et voilà ! ». Là, malheureusement, on n’a pas pu faire ça pour garder un côté sérieux. À la place, on a suivi la seconde règle : la mythologie grecque. Kairos, c’est une notion qui représente « le moment opportun » (je vous invite à aller sur Wikipédia pour plus de détails, c’est super intéressant). Et au pluriel, Kairoi. En plus, on a essayé de reproduire les techniques qui ont permis aux meilleur•e•s de réussir, avec notamment un nom imprononçable, à la Kubernetes.
Entre une idée telle que Kairoi et une sortie publique du projet, combien de temps se passe-t-il ?
Jérémy : Trop de temps ! (rire) En vrai, le MVP est sorti très vite, au bout de 2-3 mois on avait quelque chose de fonctionnel. Après, pour pouvoir parler de sortie publique, il faut quelque chose d’éprouvé, robuste, documenté. Ca peut prendre plusieurs années. Par contre, on peut vous dire que depuis peu, on a repris activement le développement dans l’optique de pouvoir sortir une version béta utilisable pour le premier trimestre 2022. On est impatient de vous montrer Kairoi, et que vous puissiez l’utiliser !
Emeric : De mon côté, c’est une idée que j’ai en réflexion depuis plusieurs années. Le projet en lui même a débuté fin 2019. Je me souviens d’avoir passé ce Noël chez mes beaux-parents, isolé, à écrire le plan d’architecture du logiciel. Je suis désolé pour eux après coup, mais ça faisait partie des rares moments où je pouvais complètement sortir de mon boulot. Après ça, avec Vanoix, on a essayé de m’attribuer du temps pour pouvoir avancer. Je pense qu’à ce jour, j’ai dû passer quelques 300 heures à travailler et réfléchir à Kairoi. Par contre, le plus gros semble être le travail restant. On a tellement d’idées de fonctionnalités qui nous paraissent essentielles (je pense notamment à la clusterisation, qui est un point énorme), qu’on va encore pouvoir passer des milliers d’heures à mettre en place tout ça. Il ne nous reste plus qu’à faire fonctionner notre capacité à « Deliver Fast, Deliver Often » !
Une conférence présentée par
Emeric KASBARIAN |
Amoureux de design logiciel, développeur #PHP #Symfony |
Jérémy JAMES |
Après un début de carrière en tant que développeur Python pour de grands noms du médical, Jérémy se passionne pour le web et PHP / Symfony. Après avoir fait ses preuves chez Elao, agence web lyonnaise reconnue, il rejoint Vanoix, regroupement d'experts PHP / Symfony. |
Autres interviews
- La parole est aux speakers : François Zaninotto
- La parole est aux speakers : Kévin Dunglas
- La parole est aux speakers : Pauline Vos
- La parole est aux speakers : Marion Monnet
- La parole est aux speakers : Nicolas Grekas
- La parole est aux speakers : Louis Pinsard
- La parole est aux speakers : David Negrier
- La parole est aux speakers : Elie Sloïm et Martin Supiot
- La parole est aux speakers : Sofia Lescano
- La parole est aux speakers : Damien Seguy
- La parole est aux speakers : Charles Desneuf
- La parole est aux speakers : Romain Camp
- La parole est aux speakers : Stéphanie Trumtel
- La parole est aux speakers : Mathias Arlaud et Robin Chalas
- La parole est aux speakers : Frédéric Bouchery
- La parole est aux speakers : Anne-Laure Deboissieu et Amélie Defrance
- La parole est aux speakers : Benoit Viguier
- La parole est aux speakers : Grégory Planchat
- La parole est aux speakers : Maxime Huran
- La parole est aux speakers : Vincent Laurier
- La parole est aux speakers : Ivan Enderlin
- La parole est aux speakers : Guillaume Loulier
- La parole est aux speakers : Lætitia Avrot
- La parole est aux speakers : Gabriel Pillet
- La parole est aux speakers : Baptiste Langlade