Guide des changements techniques à venir sur WordPress 5.8


La sortie de WordPress 5.8 est
prévue pour le 20 juillet 2021

Découvrez dans ce guide les nouveautés techniques qui vous attendent pour cette nouvelle version de l’outil qui propulse plus de 42% du web !

La version 5.8 de WordPress prévue pour le 20 juillet 2021 n’apportera pas moins de 96 améliorations et nouvelles fonctionnalités, 170 correctifs de bugs et 24 autres modifications diverses. Cela correspond au total à 291 tickets sur Trac, l’outil que nous utilisons pour organiser le développement de WordPress.

Dans ce guide, vous retrouverez tous les changements majeurs apportés par la version 5.8 de WordPress.

Pour chaque composant de WordPress concerné par un changement majeur, vous trouverez un paragraphe introductif en français suivi des notes de développement et autres ressources publiées par l’équipe de développement de WordPress, en anglais.

Un premier pas vers l’édition complète de votre site avec Gutenberg

Toutes les versions de Gutenberg sorties entre WP 5.7 et aujourd’hui ont été intégrées dans WordPress 5.8. Ainsi, la prochaine version de WordPress contiendra les versions 10.0, 10.1, 10.2, 10.3, 10.4, 10.5, 10.6 et 10.7 de l’extension Gutenberg. Par ailleurs, les correctifs et améliorations de performances des versions 10.8 et 10.9 seront également intégrées dans WP 5.8.

L’annonce de sortie de la version beta 1 de WordPress 5.8 présente de nombreuses améliorations et nouvelles fonctionnalités.

WordPress 5.8 est une version un peu spéciale, car elle contient les premières briques de l’édition complète de site, une fonctionnalité connue en anglais sous le nom de « FSE » pour « Full Site Editing ». Vous retrouverez ci-dessous les nouveautés apportées par cette nouvelle fonctionnalité, dont l’arrivée dans WordPress sera répartie entre les versions 5.8 et 5.9 de WP.

Premièrement, commençons par présenter l’introduction du fichier theme.json, utilisable par les thèmes prenant en charge l’édition complète de sites pour déclarer les fonctionnalités supportées par le thème.

Cet article présente quant à lui le nouvel éditeur de modèles disponible à partir de WP 5.8, et comment rendre votre thème compatible :

Pour créer le nouvel éditeur de modèles basé sur Gutenberg, il a été nécessaire d’isoler l’éditeur dans un contexte autre que celui de l’édition d’une publication. Cet article présente la démarche qui a été suivie pour cette nouvelle fonctionnalité de WP 5.8.

La note de développement ci-dessous présente le nouvel éditeur de widgets embarqué dans WP 5.8. Si vous souhaitez garder l’ancien écran de widgets de WordPress, vous pouvez installer l’extension Classic Widgets dès à présent sur votre site.

Cette note de développement décrit quant à elle les modifications faites sur l’API de l’éditeur de blocs. Le fichier de métadonnées block.json devient la façon normale de déclarer un bloc Gutenberg, la spécification des métadonnées de blocs est lancée et sera développée de façon itérative dans les prochaines versions. Cet article propose aussi de nombreux exemples d’implémentation très utiles si vous développez régulièrement des blocs Gutenberg.

Un changement longtemps attendu : l’écran de modification des publications n’est plus le seul écran de l’administration a pouvoir accueillir l’éditeur de blocs. Ce sera dorénavant aussi le cas de l’écran des widgets, et pour WordPress 5.9 de l’écran des menus. Dans un futur proche, il sera possible d’intégrer l’éditeur sur n’importe quelle écran de l’administration. Ces évolutions demandent de revoir certaines parties du fonctionnement général de l’éditeur de blocs et cet article présente les changements qui arrivent dans un premier temps sur WP 5.8.

Cette note de développement présente les fonctionnalités de Gutenberg qui ont été dépréciées dans WP 5.8. Pour éviter des avertissements et erreurs sur vos développements, consultez cette note de développement et mettez à jour votre code :

Cette note de développement présente la nouvelle API de réglages et de styles globaux. Cette API vous permet de définir dans votre thème des réglages et styles prédéfinis.

Pour finir avec l’éditeur, WordPress 5.8 comprend aussi plusieurs améliorations concernant le chargement des styles CSS associés aux blocs, pour de meilleures performances et un meilleur contrôle des feuilles de styles associées

Médiathèque

Parmi toutes les modifications dans le composant « Médias » de WordPress, c’est sans aucun doute l’arrivée de la prise en charge native du format WebP qui est le changement le plus important. Cette prise en charge du format WebP est complète, et tous les filtres et crochets d’actions disponibles sur le reste des fichiers médias sont également disponibles pour vos médias au format WebP, qui est un format beaucoup plus performant que les « antiques » formats PNG ou JPEG. Accompagnés du nouveau filtre image_editor_output_format, ces changements posent les bases de bonnes améliorations de performances en perspective.

Vous noterez également quelques améliorations sur l’écran Médiathèque de l’administration. Par exemple, le défilement infini au sein de la médiathèque posant un certain nombre de problèmes d’accessibilité et d’utilisabilité générale, nous l’avons remplacé par un bouton de chargement dynamique en AJAX (tickets #50105 et #40330). Nous avons aussi ajouté un bouton permettant de copier-coller rapidement le permalien vers les fichiers de la médiathèque après les avoir téléversés (ticket #51754).

Menus

Une nouvelle fonctionnalité a été ajoutée sur l’écran de gestion des menus. Celle-ci permet de sélectionner plusieurs éléments de menus afin de les supprimer en un clic, alors que cette opération était particulièrement longue à faire manuellement. Bravo au français @maxpertici qui a travaillé sur le développement de cette nouvelle fonctionnalité intégrée dans WP 5.8, résolvant ainsi un ticket datant de plus de 9 ans.

Changement concernant la gestion des extensions

WordPress 5.8 introduit un nouveau champ d’en-tête utilisable dans le fichier principal de vos extensions : le champ Update URI. Attendu depuis des années par les développeur et développeuses, cet en-tête permet aux personnes développant des extensions de définir la source depuis laquelle l’extension peut être mise à jour. Cela permet d’éviter que votre extension réalisée sur-mesure soit écrasée par une mise à jour d’une extension portant le même nom et provenant du répertoire WordPress.org.

À noter que ce changement ne sera pour l’instant disponible que pour les extensions. Le même changement sera opéré sur les thèmes dans WordPress 5.9 si l’expérience s’avère concluante.

API REST

Cette note de développement présente toutes les modifications de l’API REST ayant été faites sur WordPress 5.8. La plupart de ces modifications concernent évidemment l’éditeur de widget, qui a nécessité la création d’un grand nombre de points de terminaison au sein de l’API REST. Longtemps attendue par les développeuses et les développeurs utilisant l’API REST, la prise en charge de l’opérateur de comparaison AND a été ajouté à l’API.
D’autres changements mineurs sur l’API REST sont également présentés.

Santé du site

Encore un changement attendu depuis longtemps ! En utilisant quelques filtres, crochets d’action, et fonctions PHP, les développeurs et développeuses d’extensions ont maintenant la possibilité de créer leurs propres onglets au sein de l’écran de Santé du site.

WordPress 5.8 propose aussi de nouvelles informations, notamment une liste des types de fichiers pris en charges par l’installation pour le module PHP d’édition d’images actif sur le serveur (ticket #53022).

Thèmes natifs proposés par WordPress

Avec l’arrivée partielle de l’édition complète de site sur WP 5.8, il était nécessaire de proposer davantage d’exemples de compositions de blocs au sein des thèmes natifs proposés par le cœur de WordPress. Et c’est chose faite, en attendant l’arrivée du prochain thème natif qui sera traditionnellement proposé par la dernière version de l’année –WordPress 5.9– et qui sera évidemment nommé Twenty Twenty-Two !

Notons également l’arrivée de deux nouveaux crochets d’action, delete_theme et deleted_theme (ticket #16401), de plusieurs améliorations de l’interface de gestion des thèmes pour mieux mettre en évidence les thèmes enfants (ticket #30240), du compteur de mises à jour disponibles dans le menu de l’administration (ticket #43697), et la suppression de l’onglet « Mis en avant » de l’écran d’ajout de thèmes (ticket #49487).

Fin de la prise en charge d’Internet Explorer 11

Hé oui ! WordPress cesse définitivement de prendre en charge Internet Explorer 11 (et donc Internet Explorer tout court). Du moins, en ce qui concerne l’interface d’administration. Un choix logique pris à l’unanimité de l’équipe de développement. En effet, ce navigateur en fin de vie représente depuis début 2021 moins de 1% de parts de marché des navigateurs. L’arrêt de la prise en charge de cet ancien navigateur permettra d’améliorer grandement les performances d’affichage de l’administration sur l’ensemble des autres navigateurs, en débarrassant WordPress des règles CSS et polyfills JavaScript nécessaires à la prise en charge d’IE 11. Ces changements ne concernent que l’interface d’administration. Les thèmes seront quant à eux libres de prendre en charge ou non l’antique IE 11.

Autres changements techniques notables

Le composant Bootstrap/Load correspond à tout ce qui se passe lors du processus d’initialisation et de chargement de WordPress. Dans cette note de développement, vous en saurez davantage sur les quelques changements associés à ce composant.

Enfin, voici une note de développement regroupant différents changements qui n’avaient pas besoin d’avoir leur propre note individuelle. Les changements abordés sont les suivants :

  • Outils de compilation et de test : suppression d’IE11 de la liste des navigateurs pris en charges (cela signifie qu’il n’y aura plus de tests de non-regression sur IE11 à l’avenir)
  • Formatage : meilleure cohérence et contrôle du rendu de wp_get_document_title()
  • Général : cohérence de la déclaration du type des propriétés des classes WP_Post, WP_Term, WP_User
  • Publications et types de publications : utilisation de _prime_post_caches() pour de meilleures performances pour les appels à la fonction get_pages()
  • Comptes : les actions et filtres associés à la fonction wp_insert_user() reçoivent maintenant le contenu des métadonnées de l’utilisateur·ice via la variable $userdata
  • Médiathèque : ajout du filtre image_editor_output_format
  • Général : tous les filtres de type *_url reçoivent maintenant le schéma d’URL demandé
  • Publications et types de publications : améliorations de performances sur la fonction post_exists()
  • Thèmes : ajout des crochets d’action delete_theme et deleted_theme 
  • Publications et types de publications : les révisions sont maintenant disponibles par défaut pour le type de publication « blocs réutilisables » – wp_block 
  • Publications et types de publications : amélioration de l’extensibilité du filtre the_password_form

Et bien plus encore…

WordPress 5.8 contient bien d’autres améliorations et modifications !
Plus de 170 bugs ont été corrigés, 96 améliorations et nouvelles fonctionnalités ont été implémentées et 24 tâches courantes ont été clôturées dans WordPress 5.8.

Voici d’autres modifications qui n’ont pas été évoquées dans les notes de développement listées ci-dessus :

  • Outils de compilation et de test : remplacement de la bibliothèque @babel/polyfill par core-js/stable, ce qui nécessite l’ajout de regenerator-runtime en tant que dépendance si la prise en charge d’IE11 est souhaitée sur votre site (#52941)
  • Thèmes natifs : ajout de compositions de blocs sur les thèmes Twenty Ten à Twenty Fifteen (#51107#51106#51105#51104#51103#51102)
  • Commentaires : ajout de la fonction manquante comments_pagination_base dans la fonction get_comment_reply_link() (#51189)
  • Commentaires : dans l’administration, ajout du lien vers l’article seul sur la liste des articles (#52353)
  • Contenus embarqués : implémentation des contenus embarqués sur les blocs de widgets (#51566)
  • Emojis : mise à jour de la bibliothèque Twemoji de 13.0.1 vers 13.1.0 (#52852)
  • Bibliothèques externes : mise à jour de la bibliothèque jQuery de 3.5.1 vers 3.6.0 (#52707)
  • Bibliothèques externes : mise à jour de la bibliothèque Moment.js de 2.27.0 vers 2.29.1 (#52853)
  • Bibliothèques externes : mise à jour de la bibliothèque Requests de 1.7.0 vers 1.8.1 (#53101 and #53334)
  • Bibliothèques externes : mise à jour de la bibliothèque Underscore de 1.8.3 vers 1.13.1 (#45785)
  • Médias : suppression de comportement de défilement infini de la bibliothèque de médias (#50105)
  • Médias : ajout d’un lien de copier-coller de la source d’un média accessible après son téléversement (#51754)
  • Menus : ajout de la possibilité de supprimer de multiples éléments de menus d’un coup (#21603)
  • Révisions : un nouveau filtre dynamique est disponible pour spécifier le nombre de révisions à conserver pour chaque type de publication, wp_{$post->post_type}_revisions_to_keep (#51550)
  • Rôle/permissions : user_can() propose maintenant la permission exist afin d’identifier les comptes anonymes (#52076)
  • Mise à niveau/installation : suppression du parcours des fichiers readme.txt de la fonction validate_plugin_requirements() (#48520)
  • Mise à niveau/installation : suppression d’une erreur fatale PHP pouvant survenir si l’extension Gutenberg était activée et lorsque le site était mis à jour vers WP 5.8 (#53432)
  • Widgets : ajout d’une sécurité permettant de s’assurer que le constructeur WP_Widget créé bien une valeur correcte pour classname sur les classes de widgets disposant d’un espace de nom (#44098)
  • …et bien plus encore !

Pour rappel, la sortie de WordPress 5.8 est prévue le 20 juillet 2021. Vous pouvez d’ores et déjà la tester en version Release Candidate en installant l’extension officielle WordPress Beta Tester puis en allant dans ses réglages et en cochant la case Beta / Version de développement puis en mettant à jour votre installation de façon classique.

Merci à @jdy68 pour la relecture de ce guide.

3 réponses à “Guide des changements techniques à venir sur WordPress 5.8”

  1. Bonjour,

    Pourquoi avoir mis les widgets en Gutemberg. Selon les thèmes, ça devient ingérable. Il faut encore installer un « classic widget » pour retrouver nos petits, quand ça fonctionne. L’idéal serait de proposer à l’installation si on souhaite rester sur l’éditeur classique ou Gutemberg, non ?

    Bon courage et à bientôt,
    Franck

  2. Bonjour @fpignon et merci pour ce commentaire,

    L’éditeur classique n’étant plus l’éditeur par défaut de WordPress celui-ci ne peut être proposé à l’installation, il faut installer une (ou des) extension(s) pour pouvoir continuer à l’utiliser. C’est aujourd’hui l’éditeur de blocs qui est utilisé par défaut et celui-ci a donc été intégré à l’écran des widgets (et demain des menus par exemple).

    À vrai dire, à la base les extensions Classic Editor et Classic Widgets ne sont pas vraiment des alternatives à long terme pour les personnes qui préfèrent l’ancien éditeur, mais plutôt des solutions provisoires et cas d’incompatibilité technique avec une extension ou un thème, le temps de résoudre le problème technique 🙂

    Merci pour ce commentaire en tout cas et à bientôt !
    Jb

  3. Merci pour ton retour Jb,

    Je trouve dommage que Gutemberg prenne le pas sur l’éditeur classic, surtout dans les widgets. La lecture globale est plus difficile avec les blocs.
    J’ai du mal à imaginer la future fenêtre des menus !!!
    Je suis peut-être « old school » mais j’ai vraiment du mal avec Gutemberg et la première extension que j’installe à la création d’un site est l’éditeur classique. Je vais maintenant faire de même pour l’éditeur de widget. On verra pour la gestion des menus.

    Cordialement,
    Franck

Laisser un commentaire