La parole est aux speakers : Kévin Dunglas

Jusqu’au Forum PHP, 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

Utiliser le protocole Vulcain pour créer des API REST ultra-performantes

Au fil des années, plusieurs formats ont été créés dans l’objectif d’améliorer les performances des API Web : (n + 1, sur-extraction, sous-extraction)… La dernière solution à la mode pour créer des API rapides se nomme GraphQL, un hack réseau malin… mais que HTTP/2 et HTTP/3 rendent désormais désuet !

Ces nouvelles versions du protocole au coeur Web disposent de fonctionnalités natives permettant de créer des API rapides et idiomatiques : multiplexage, Server Push, dé-duplication des en-têtes, compression, connexions persistantes…

Vulcain est un tout nouveau protocole qui tire parti au maximum de HTTP/2 et 3 pour améliorer drastiquement la performance des API REST !

Après quelques rappels concernant HTTP et REST, nous découvrirons comment est conçu Vulcain, et comment il est facile à mettre en place avec les API PHP (réalisées à l’aide d’API Platform ou non), ainsi que comment en tirer parti en JavaScript.

Katherine Johnson
22/10/2020
14:30-15:10

Peux-tu nous en dire plus sur l’avancement du protocole Vulcain ?

Vulcain propose deux très simples nouveaux en-têtes de requête HTTP qui permettent au serveur de deviner de quelles données le client aura besoin. Le serveur peut ensuite préparer et envoyer ces données le plus tôt possible, typiquement en utilisant HTTP/2 Server Push.
La version initiale de la spécification Vulcain a été publiée sous la forme d’un Internet-Draft en avril 2020.

Suite à cette publication, j’ai eu des retours très intéressants en provenance de la communauté eZ Publish et de l’auteur de la spécification Prefer-Push.
Grâce à ces échanges, il m’a été possible de rendre la spécification encore plus flexible et générique. Une nouvelle version intégrant ces changements a été publiée fin août. Elle ajoute une mécanique de sélection “hypermédia” relativement similaire à ce que propose Prefer-Push qui permet – en complément du mécanisme de sélection déjà existant – de récupérer des relations ayant un certain type, un certain format et/ou une certaine langue.

Désormais Vulcain utilise également les en-têtes HTTP structurés, qui sont en voie de devenir une RFC.

En parallèle à ce travail de fond sur la spécification, un énorme boulot a été effectué sur l’outillage afin de permettre une adoption plus large.

L’un des points de friction majeur pour une adoption massive de Vulcain est que la spécification doit être supportée par le serveur “edge” qui maintient la connexion avec le client.

Pour ce faire, nous travaillons d’arrache-pied sur deux fronts :
– proposer un meilleur support de Vulcain dans l’outillage existant, et je vous expliquerai ça en détail lors de ma session
– tenter d’améliorer les spécifications existantes pour permettre les usages novateurs tels que celui proposé par Vulcain (exemple : https://github.com/w3c/preload/pull/149).

Côté standardisation, la création d’un nouveau groupe de travail de l’IETF dédié aux API HTTP est actuellement en discussion. Si un tel groupe voit le jour, nous proposerons de discuter de Vulcain en son sein.

(suite…)

La parole est aux speakers : Sarah Haïm-Lubczanski

Jusqu’au Forum PHP 2020, 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

L'open source, ce n'est pas que pour le web

PHP est open source. L’open source est un modèle de gouvernance pour les logiciels, mais pas seulement les logiciels !

Connaissez-vous l'open hardware ? Savez-vous ce que la NASA partage sur Github ? Vous avez certainement déjà écouté, ou produit de la musique open source, savez-vous qu’il existe des médicaments open source ? Répliquer une information, et la partager devient rapide et émancipateur, le monde se libère un peu plus.

Après une petite plongée dans les principes de partage de l’open source, nous ferons un tour d’horizon des initiatives open source dans d’autres domaines que l’informatique, pour en apprendre un peu plus sur la culture du libre, les rapports de force qui y conduisent, et revenir aux bases du partage.

Katherine Johnson
23/10/2020
15:15-15:55

Est-ce que l’on peut imaginer que l’open-source était déjà présent avant le web ? Aurais-tu quelques exemples dans ce cas ?

Excellente question, à laquelle je réponds durant ma conférence !
Le terme « open source » date de 1998 mais le fait de publier le code ou de le laisser en accès libre est plus ancien.
Pour répondre anti-chronologiquement, le Web a permis une circulation de l’information plus rapide, et notamment le partage du code (texte ou binaire) de plus en plus rapide au fur et à mesure que les débits réseau augmentaient. Le Web a d’abord été accessible à des universitaires et à des militaires, puisqu’Internet a été créé, après ARPANet, comme réseau entre universités américaines. Cependant, avant le Web, on pouvait déjà s’envoyer des supports numériques par courrier postal.
Préalablement au Web, on avait déjà des ordinateurs. Le code pour faire fonctionner ces ordinateurs était fortement lié au matériel composant ces ordinateurs. Chaque développeur-utilisateur pouvait améliorer le logiciel et le modifier, jusqu’à ce que quelques personnes à la fibre commerciale, dont Bill Gates, se rendent compte qu’il y avait moyen de vendre les améliorations et les nouvelles fonctionnalités.
De ce fait, l’open source a été créé en réaction à une extension du droit d’auteur (calqué sur les auteurs de livres) au logiciel, lié par l’appât du gain financier.

(suite…)