Lorsque les ingénieurs souhaitent apporter une modification au moteur de rendu Blink, ils publient un message sur la liste de diffusion blink-dev pour obtenir l'autorisation de continuer. Ces posts de liste de diffusion sont appelés intents Blink.
Les navigateurs Web basés sur Chromium utilisent le moteur de rendu Blink pour transformer le code et les ressources en pages Web que vous pouvez afficher et avec lesquelles vous pouvez interagir.

Découvrez le fonctionnement des intents Blink, leur importance et comment les nouvelles fonctionnalités s'intègrent à Blink.
Chromium et Blink
Chromium est le projet de navigateur Open Source sur lequel Chrome et certains autres navigateurs et frameworks sont développés. Blink est le moteur de rendu utilisé par Chromium.
Pour qu'une nouvelle fonctionnalité soit intégrée à Blink, elle doit passer par le processus de développement ouvert du projet Chromium. Une "nouvelle fonctionnalité" correspond à toute modification ou ajout apportés au code ou à l'architecture du navigateur. Il peut s'agir d'une nouvelle API JavaScript, d'une amélioration significative des performances du code Blink ou d'un autre changement de l'apparence ou du fonctionnement du navigateur.
Un processus ouvert et collaboratif
Chromium est un projet énorme et complexe auquel participent des milliers de contributeurs. Lorsque des modifications sont apportées à Chromium, chaque jalon est l'occasion d'inviter l'écosystème Web plus large à commenter la conception et l'implémentation.
Dans la mesure du possible, les nouvelles fonctionnalités doivent être interopérables sur la plate-forme Web et ne pas être implémentées uniquement dans un seul navigateur. Les développeurs Web n'aiment pas les surprises : lorsque les navigateurs ne fonctionnent pas comme prévu ou lorsque vous devez écrire du code différent pour différents navigateurs et plates-formes. Les intents Blink aident à structurer et à réguler le processus de modification afin de rendre les modifications plus prévisibles et moins surprenantes, ce qui est bénéfique pour les développeurs Web.
Pour les utilisateurs, les fournisseurs de navigateurs doivent veiller à ce que les modifications n'empêchent pas les sites Web de fonctionner. Il est fréquent que les propriétaires de sites cessent de les gérer. Certains sites n'ont pas été mis à jour depuis des décennies. Les fournisseurs de navigateurs doivent en tenir compte lorsqu'ils effectuent des modifications susceptibles de causer des erreurs.
De l'idée à la proposition
Les propositions de modifications et de mises à jour de la plate-forme Web découlent de recherches: consultations avec les utilisateurs, les entreprises, les ingénieurs de navigateurs, les développeurs Web et d'autres personnes concernées. Cette recherche permet à l'équipe Chrome de déterminer ce qui manque à la plate-forme ou ce qui doit être modifié. Au départ, une proposition de modification ou d'ajout de fonctionnalité sur la plate-forme Web n'est qu'un ensemble de mots sur une page. Les ingénieurs partagent des documents pour obtenir des commentaires et des discussions de la part de leurs collègues.
Exemple: FedCM
La gestion des identifiants fédérés (FedCM) est une API qui fournit de nouveaux mécanismes plus performants pour les plates-formes qui gèrent l'inscription et la connexion des utilisateurs, appelée identité fédérée (par exemple, lorsque vous sélectionnez "Se connecter avec Google" ou "Se connecter avec GitHub").
Une fois qu'une proposition comme FedCM est prête à être discutée publiquement, elle est publiée sur GitHub en tant qu'explication. À ce stade, tout le monde peut poser une question ou faire un commentaire sur la conception d'une fonctionnalité en créant un problème dans le dépôt d'explications sur GitHub. Les commentaires peuvent décrire des cas d'utilisation ou des contraintes supplémentaires, fournir des idées d'amélioration ou simplement exprimer votre soutien.

Une fois qu'une proposition est adoptée par un organisme de normalisation, tel que le W3C, les personnes concernées peuvent participer aux discussions et regarder des présentations dans des groupes de normes Web tels que les groupes de travail du W3C.
Intents Blink: jalons et progression
À chaque jalon, lorsque les ingénieurs travaillent sur une nouvelle fonctionnalité ou une modification du moteur de rendu Blink, ils publient un post sur le groupe de discussion blink-dev, expliquant qu'ils prévoient de passer à la phase suivante de l'implémentation d'une fonctionnalité. Ces posts sont appelés "intents". Tout le monde peut s'abonner au groupe blink-dev pour être averti de l'avancement des nouvelles fonctionnalités dans Blink ou s'abonner à une fonctionnalité individuelle pour recevoir des informations à son sujet.
Intention de prototyper: premier point de contrôle
À ce stade, les ingénieurs Chromium peuvent commencer à implémenter une fonctionnalité. Cela signifie que la fonctionnalité de prototype peut être disponible pour les tests des développeurs derrière un indicateur de fonctionnalité, d'abord dans Chrome Canary, puis dans d'autres canaux de publication. Tout utilisateur peut définir un flag à partir de la page chrome://flags pour activer et tester une fonctionnalité dans son navigateur.
Toutefois, tous les indicateurs ne peuvent pas être définis à partir de la page chrome://flags. Pour un contrôle plus précis, vous pouvez exécuter Chrome à partir d'un terminal, à l'aide d'options de ligne de commande. N'oubliez pas que certaines nouvelles fonctionnalités ne sont disponibles que lorsque la fonctionnalité est publiée pour les tests dans Chrome Canary, bien que cela soit assez rare. Certaines fonctionnalités n'ont pas leur propre option, mais elles sont disponibles si l'option experimental-web-platform-features est activée. C'est généralement le cas pour les fonctionnalités "plus petites" qui ne prennent pas plus de trois à six mois à implémenter, au maximum.
Collecter des commentaires sur des prototypes
Une fois le prototypage d'une nouvelle fonctionnalité commencé, les ingénieurs Chromium invitent à la discussion et aux premiers tests. À ce stade, les commentaires sont essentiels pour valider et itérer les propositions. Les bugs Chromium sont l'endroit où vous pouvez commenter l'implémentation dans Chrome.

Intention de test: tester en conditions réelles
Un post "Intent to Experiment" sur blink-dev est une étape facultative si les ingénieurs Chrome souhaitent demander à exécuter une phase d'évaluation de l'origine.

Les essais Origin Trial permettent de tester une fonctionnalité de plate-forme Web nouvelle ou expérimentale. Vous vous inscrivez à l'essai d'origine d'une fonctionnalité, puis vous obtenez un jeton pour l'essai. La fonctionnalité sera activée sur toutes les pages qui fournissent le jeton.

Approbation des propriétaires de l'API Blink
Pour que l'implémentation d'une fonctionnalité puisse progresser, les propriétaires de l'API Blink doivent donner leur approbation en répondant à un intent par un post "OK pour moi", appelé LGTM.
Les propriétaires d'API Blink sont un petit groupe de contributeurs Chromium, très expérimentés avec la plate-forme Web et ses API, et reconnus par la communauté Blink comme étant en règle, et engagés envers la mission et les valeurs de Blink. En plus d'approuver (ou non) les fonctionnalités pour qu'elles puissent être implémentées, les propriétaires d'API supervisent le processus d'intent Blink lui-même.
Un intent de test doit recevoir au moins un LGTM de la part des propriétaires de l'API.

Valeur des essais Origin
Les développeurs peuvent s'inscrire à l'essai d'origine d'une fonctionnalité, puis la tester en production dans des environnements réels, avec de vrais utilisateurs, sans que les utilisateurs aient à effectuer une action pour que la fonctionnalité soit activée. Les développeurs peuvent partager les résultats de leurs tests, ce qui fournit des insights et des données précieux pour les aider à itérer et à faire évoluer la fonctionnalité.
Intention d'expédition: étape finale
L'intent to ship indique qu'une fonctionnalité est désormais terminée et prête à être implémentée pour une disponibilité générale, pour tous les utilisateurs de Chrome stable, sans avoir besoin d'un indicateur ni d'un jeton d'essai. Un intent to ship doit recevoir trois LGTM de la part des propriétaires de l'API avant que l'implémentation puisse commencer.
Déploiement de nouvelles fonctionnalités
Une fois approuvée, une fonctionnalité est fusionnée dans une prochaine version, puis progresse dans les canaux de publication de Chrome. Les tests et l'implémentation de nouvelles fonctionnalités sont souvent traités avec une attention particulière. Certaines fonctionnalités sont déployées progressivement auprès d'un nombre croissant d'utilisateurs. Les fonctionnalités peuvent également être annulées et retravaillées en cas d'effets secondaires inattendus.
Gérer le cycle de vie des fonctionnalités: obsolescence et suppression
Il existe deux autres types d'intents Blink:
- Intent to Deprecate
- Intent to Remove
Cela peut sembler un peu triste, mais c'est en fait essentiel pour le succès du développement de Blink.
Un intent de suppression est publié par les ingénieurs lorsqu'ils souhaitent commencer à avertir les développeurs qu'une fonctionnalité est prévue pour être abandonnée. Par exemple, en fournissant une assistance et des informations sur l'abandon dans la console des outils pour les développeurs Chrome.
Un Intent to Remove est publié lorsque les ingénieurs prévoient de désactiver le code par défaut.

L'importance de l'obsolescence et de la suppression
La suppression et l'abandon sont tous deux essentiels à la santé de la plate-forme Web. Ils s'assurent que Chrome peut supprimer les fonctionnalités qui ne fonctionnent pas bien pour les utilisateurs finaux ou les développeurs Web, et contribuent à réduire la complexité du codebase. Par exemple, des problèmes de conception d'AppCache ont été découverts une fois qu'il a été utilisé sur des sites de production dans des navigateurs stables, et l'API a finalement été supprimée. Les abandons et les suppressions contribuent également à assurer la sécurité de Chrome en réduisant les vecteurs d'attaque potentiels.
Comme pour tous les intents Blink, l'équipe Chrome s'efforce de prendre ses décisions avec soin. Ils examinent les taux d'utilisation des fonctionnalités et d'autres données avant de continuer. La barre est très haute pour supprimer des fonctionnalités. Une fonctionnalité n'est supprimée que si elle est utilisée par une très petite proportion d'utilisateurs et si des alternatives plus intéressantes sont disponibles.
Tenez-vous informé des actualités des intents Blink
Vous pouvez suivre la progression des fonctionnalités sur la page État de Chrome, où vous pouvez vous abonner aux mises à jour, signaler des bugs et trouver d'autres ressources.

Pour suivre les nouvelles fonctionnalités, vous pouvez suivre le blog Chromium. Pour vous tenir informé de tous les intents Blink, rejoignez le groupe de discussion blink-dev. Cela peut entraîner l'envoi de beaucoup d'e-mails. Vous pouvez également préférer vous abonner à un seul intent. Vous pouvez consulter une feuille de calcul des intents Blink sur bit.ly/blinkintents. Si vous aimez vraiment les intents Blink, vous pouvez même vous appuyer sur les services de suivi automatique des intents Blink.