La parole est aux speakers : Kauffmann Thierry

Publié le

Jusqu’au Forum PHP 2024, retrouvez nos interviews de speakers pour mieux comprendre leur parcours et le sujet qu’ils ou elles aborderont lors de leur conférence !

Les conférences

PHP/Parallel : Accélérer sensiblement ses temps d'exécution

Sponsorisé par le Ministère de l'Éducation Nationale depuis 2020, le développement de l'application DiViM-S a représenté un défi technique : contrôler un pool de 150 serveurs de visio-conférence BigBlueButton pour adapter automatiquement le nombre de serveurs actifs au nombre de participants et de salles. Afin d'atteindre une efficacité maximale de l'application et de rendre possibles des temps de réactivité de quelques secondes le programme fait appel massivement au parallélisme disponible nativement dans PHP depuis la version 7.2 avec l'extension PHP/Parallel.

Sont ainsi parallélisés aussi bien les appels à l'API de l'hébergeur (Scaleway) que les sondages des serveurs BigBlueButton.

La conférence présentera tout d'abord les attentes fonctionnelles et les réalisations pratiques du projet, puis l'architecture de l'application utilisant le moteur PHP sous Docker, ensuite définira ce que l'on entend par "parallélisme" et décrira enfin, en détail, comment ont été implémentées les fonctionnalités de parallélisme natives de PHP.

Ballroom Hopper / HJK
10/10/2024
11:55-12:35
[ATELIER 2H] PHP/Parallel : Accélérer sensiblement ses temps d'exécution

Développer une application massivement parallèle avec PHP.

Nous pouvons prendre l'exemple de réalisation d'un grand nombre des simulations de temps d'attente à des guichets (d'une administration) ou bien le cas plus simple de téléversements de fichiers vers du stockage S3.

Atelier organisé en petit comité, accessible sur inscription. Les inscriptions seront ouvertes début septembre pour les personnes ayant pris leur billet pour le Forum PHP 2024. Les participant•e•s doivent apporter leur propre machine.

Ballroom Lamarr / G
10/10/2024
16:50-18:50

PHP/Parallel s’inspire de la gestion des concurrency en Go. Quels sont les avantages selon toi d’utiliser PHP pour ce genre de développement ?

Je connais très peu le développement en Go, mais comme il est indiqué dans la documentation de PHP/Parallel, la philosophie qui a guidé les devs de l’extension est (traduit de l’anglais):

«Ne communiquez pas en partageant la mémoire ; partagez plutôt la mémoire en communiquant.

Cette philosophie adoptée par le parallélisme trouve son origine dans Go, l’une des plates-formes les plus admirées, sinon les plus utilisées, pour l’écriture de code parallèle à l’heure actuelle. Les programmeurs Go doivent travailler dur pour atteindre cet idéal : PHP et Parallel font tout le travail à la place du programmeur, et ce par défaut.»

Le travail dur dont il est question pour le développement en Go concerne la gestion de la mémoire partagée à force de mutex, sémaphores et autres procédés difficiles à maîtriser et dont l’usage peut être fastidieux.
Avec l’extension PHP/Parallel cette complexité est masquée. Ainsi, le développement d’applications parallèles avec cette extension PHP est rendu très simple et la courbe d’apprentissage très rapide : quelques minutes suffisent pour commencer à écrire son premier code valide et efficace.

Le projet open-source dont tu vas nous parler a été sponsorisé par l’éducation nationale. Comment se passe un tel sponsoring ?

Cette application constitue un élément-clé du projet et a été commandée par l’Éducation Nationale à Arawa. Or une condition imposée par le contrat était de libérer le code dans un délai raisonnable. Ce fut chose faite en 2022 pour un développement démarré en 2020. Ainsi, l’Éducation Nationale a financé en quasi-totalité cette application libre.

La Direction du Numérique pour l’Éducation insiste pour que les développements qu’elle commande deviennent des logiciels libres et bénéficient à tous, mettant en œuvre le principe « Public money, public code » ou (en français, selon la Free Software Foundation Europe) : «S’il s’agit d’argent public, le code devrait être également public.»

Tu travailles pour Arawa, une entreprise spécialisée dans l’open-source. Pour toi cette ouverture est-elle un critère de choix d’entreprise ?

J’ai fait le choix de l’open-source en 2006 lorsque j’ai découvert Linux et depuis cela a guidé toutes mes orientations professionnelles. Il était donc indispensable pour moi, lorsque j’ai quitté mon poste précédent à l’Université de rejoindre une société, comme Arawa, dont l’open-source constitue l’ADN. C’était même mon premier critère de choix.

Une conférence présentée par

Thierry KAUFFMANN
Thierry KAUFFMANN
Ingénieur des Ponts et Chaussées promo 1997, Thierry est devenu informaticien par passion. Il a participé à plusieurs projets d'intégration de systèmes et a développé, la plupart du temps en solo, plusieurs applications dans des langages variés (Access Basic, PL/SQL, Python, PHP). Il s'est spécialisé ces 15 dernières années en administration systèmes Linux tout en conservant une partie de son temps pour le développement. Il est en poste depuis 5 ans chez Arawa, spécialiste français des solutions collaboratives Open source.

Autres intervenants