Découvrez comment Chrome supprime les fonctionnalités qui ne fonctionnent pas bien, tout en minimisant les perturbations pour les utilisateurs finaux et les développeurs.
Chrome ajoute constamment de nouvelles fonctionnalités, mais il arrive que certaines doivent être supprimées.
La suppression de fonctionnalités peut réduire la complexité du code source du navigateur et contribuer à le maintenir sûr et sécurisé en réduisant les vecteurs d'attaque potentiels. Une approche soigneusement coordonnée sur l'ensemble de la plate-forme Web permet aux fournisseurs de navigateurs de supprimer les fonctionnalités de la plate-forme qui ne fonctionnent pas bien, tout en minimisant les perturbations pour les utilisateurs finaux et les développeurs.
Suppression de fonctionnalités du navigateur
Si les navigateurs supprimaient des fonctionnalités sans avertissement, cela entraînerait des dysfonctionnements sur les sites Web et rendrait difficile pour les développeurs la planification de la migration vers d'autres technologies. Au lieu de cela, les fournisseurs de navigateurs adoptent une approche systématique en fournissant des avertissements, des ressources d'assistance et des chronologies détaillées bien avant la suppression des fonctionnalités.
Obsolescence et suppression
La suppression d'une fonctionnalité de Chrome se déroule en deux phases principales :
- Obsolescence : avertir les développeurs qu'une fonctionnalité va être supprimée et fournir des ressources pour aider les sites à migrer vers des alternatives. Des avertissements s'affichent dans le panneau "Problèmes" des outils pour les développeurs Chrome lorsque des fonctionnalités obsolètes sont utilisées. Des informations sur les délais d'obsolescence et l'assistance sont publiées sur Chrome Platform Status et dans les articles et les billets de blog Chrome pour les développeurs.
- Suppression : commencez par désactiver la fonctionnalité par défaut, mais autorisez les développeurs à continuer à l'utiliser temporairement en définissant un flag Chrome ou en participant à un test de suppression. Une fois que les sites ne dépendent plus de la fonctionnalité désactivée, supprimez le code.
Intents Blink
Les navigateurs Web basés sur Chromium, tels que Chrome, utilisent le moteur de rendu Blink pour transformer le code et les ressources en pages Web que vous pouvez consulter et avec lesquelles vous pouvez interagir. Lorsque les ingénieurs souhaitent apporter une modification à Blink, ils publient un message sur la liste de diffusion blink-dev pour obtenir l'autorisation de procéder. Ces posts de liste de diffusion sont appelés "intentions Blink".
Lorsque les ingénieurs prévoient d'abandonner une fonctionnalité de Blink, puis de la supprimer, ils publient une intention d'abandon sur la liste de diffusion blink-dev, suivie d'une intention de suppression. Les deux intentions sont souvent combinées en une intention de dépréciation et de suppression.
Intention d'abandon
Les ingénieurs Blink publient une intention d'abandon lorsqu'ils souhaitent commencer à avertir les développeurs qu'une fonctionnalité du navigateur est prévue pour être supprimée. À ce stade, la fonctionnalité restera disponible, mais les développeurs recevront de l'aide et des informations de la part des outils pour les développeurs Chrome, ainsi que dans des articles de blog, sur chromestatus.com et dans la documentation sur les fonctionnalités sur MDN et ailleurs.
Exemple : Projet d'abandon : événements de mutation
Intention de suppression
Une intention de suppression est publiée lorsque les ingénieurs Blink prévoient de désactiver une fonctionnalité et de supprimer le code correspondant. Une intention de suppression est souvent associée à une intention d'abandon, sous la forme d'une intention d'abandon et de suppression.
Exemple : Projet d'abandon et de suppression : WebSQL
Minimiser les perturbations pour les utilisateurs et les développeurs
Dans la mesure du possible, Chrome évite de supprimer des fonctionnalités.
Les ingénieurs Chrome examinent toujours les taux d'utilisation des fonctionnalités et d'autres données avant de procéder à leur abandon. Une fonctionnalité ne sera supprimée que si, par exemple, elle n'est utilisée que par une très petite proportion d'utilisateurs et que de meilleures alternatives sont disponibles, ou si des changements dans l'écosystème signifient que la fonctionnalité peut désormais présenter de graves failles de sécurité. Une fonctionnalité n'est généralement pas supprimée de Chrome si d'autres navigateurs prévoient de continuer à la prendre en charge : la suppression d'une fonctionnalité doit être coordonnée entre les moteurs de navigateur.
En plus des posts sur les intentions sur la liste de diffusion blink-dev, les abandons sont annoncés sur le blog des développeurs Chrome. Des avertissements et des informations d'assistance sont également fournis dans les outils pour les développeurs Chrome et dans la documentation sur les fonctionnalités. Les chronologies sont également publiées dans l'entrée chromestatus.com d'une fonctionnalité obsolète.
Réactiver temporairement une fonctionnalité obsolète
Les tests de dépréciation sont un type de test d'origine qui permet de réactiver temporairement une fonctionnalité qui a été modifiée ou désactivée par défaut avant d'être supprimée. Par exemple, les événements de mutation ont été supprimés à partir de Chrome 127. Les sites qui avaient besoin de plus de temps avant de supprimer ces événements pouvaient s'inscrire à l'évaluation avant arrêt pour réactiver temporairement les événements sur des sites spécifiques, ce qui leur donnait plus de temps pour migrer vers une autre fonctionnalité.
Pour certaines fonctionnalités obsolètes, un flag Chrome est disponible pour fournir un accès temporaire à la fonctionnalité à un utilisateur individuel, comme les développeurs qui travaillent sur la migration vers des alternatives.
Intervenir
En tant que développeur, vous devez être prêt à faire face aux changements de la plate-forme Web.
Vous pouvez consulter les notes de version de chaque nouvelle version de chaque navigateur, mais vous devez également utiliser les canaux de navigateur pré-stable pour tester et adapter vos sites afin qu'ils soient prêts pour les changements à venir, y compris les suppressions. Au minimum, assurez-vous que votre équipe de développement utilise à la fois la version de développement de Chrome et la version stable de Chrome pour accéder aux sites sur lesquels vous travaillez. En tant que développeur, vous pouvez exécuter plusieurs canaux simultanément. Cela vous permet de tester votre site avec les futures versions de Chrome, ainsi qu'avec la version stable de Chrome, qui est susceptible d'être le canal utilisé par la grande majorité de vos utilisateurs.
Consultez régulièrement la console des outils pour les développeurs Chrome pour détecter les avertissements d'obsolescence. Les outils de développement fournissent des informations et des liens vers des ressources pour vous aider à migrer depuis les fonctionnalités obsolètes. Vous devez également utiliser plusieurs canaux Chrome pour les tests automatisés et manuels.