Guide des changements techniques de WordPress 6.0

Maintenant que la première version Release Candidate de WordPress 6.0 est sortie, il est grand temps d’explorer les modifications apportées par cette future version, dont la sortie est prévue pour le 24 mai 2022. WordPress 6.0 est une version majeure de même niveau que WP 5.8 ou WP 5.9. Elle apportera le principe des variations de styles, l’interface de verrouillage des blocs, plusieurs améliorations de l’éditeur, encore plus d’outils de design, de nouveaux crochets et filtres, des mises à jour des différentes bibliothèques utilisées par WP, et bien plus encore !

Au bas mot, ce seront au moins 97 améliorations et nouvelles fonctionnalités131 corrections de bogues, 13 correctifs sur l’éditeur de bloc, ainsi que 23 autres changements divers, ce qui représente au total 231 tickets Trac.

La nouvelle équipe chargée des performances de WordPress a aussi travaillé dur pour améliorer diverses parties du CMS. De nombreuses requêtes ont été optimisées et certaines d’entre elles ont été retirées, la gestion du cache a été perfectionnée, et de nombreux doublons de traductions ont été enlevés afin d’améliorer la vitesse de chargement de WP sur les installations non anglophones.

C’est parti pour un petit tour d’horizon des nouveautés de WordPress 6.0 !

Tous les liens de cet article pointent vers des notes de développement rédigées en anglais. L’objectif est de fournir un panorama général des changements techniques apportés par cette version, en français.

À noter : certaines modifications listées ici vont nécessiter des actions des auteurs et autrices de thèmes et d’extensions, qui devront adapter ou modifier leur code. Si vous êtes concerné·e, veuillez lire les notes de développement listées dans cet article consciencieusement afin de vous assurer que votre code fonctionnera avec WordPress 6.0 lorsque cette version sortira le 24 mai 2022.

Accessibilité

De même que pour les performances, l’accessibilité de WordPress a été grandement améliorée. La note de développement suivante détaille les différentes améliorations effectuées.

L’éditeur de blocs

L’éditeur a bien entendu reçu de nombreuses améliorations :

  • Possibilité de construire de multiples variations de styles pour les thèmes basés sur des blocs ;
  • Possibilité de créer des compositions de contenu de pages que les rédacteurs et rédactrices pourront utiliser ou non pour construire leurs pages de contenu ;
  • Nouvelle propriété ancestor dans le fichier block.json afin de permettre la restriction des endroits où les rédacteurs et rédactrices peuvent placer leurs blocs ;
  • Une nouvelle interface de verrouillage des blocs à l’aide de l’attribut lock ;
  • Déclaration et enregistrement de blocs au sein des thèmes ;
  • Amélioration de la préservation des contenus non reconnus comme des blocs dans l’éditeur ;
  • Une fonctionnalité d’exportation des blocs des thèmes plus robuste au sein de l’éditeur ;
  • Des mises à jour du balisage des blocs image, citation, liste et groupe ;
  • De nouveaux blocs tels que le bloc de commentaires de la publication, le bloc « Aucun résultat », et bien plus encore…

À noter que si vous utilisez la version extension de Gutenberg (ce qui ne devrait être le cas que sur un site destiné à des expérimentations), vous devrez impérativement la mettre à jour vers sa toute dernière version avant de mettre à jour votre site avec la version 6.0 de WordPress.

Sans plus attendre, voici les notes de développement liées à l’éditeur :

Processus de chargement de WordPress

Entre autres améliorations concernant les performances du logiciel, le processus de chargement de WordPress (le « bootstrap ») a été amélioré afin de permettre aux développeurs et développeuses d’ignorer les requêtes non nécessaires avec le filtre do_parse_request.

API de gestion du cache

Avec WordPress 6.0, l’API wp_cache_*_multiple devient une API complètement CRUD (voir le terme « CRUD » sur Wikipédia). Par ailleurs, une option permettant de réinitialiser le temps d’exécution du cache sans réinitialiser l’entièreté du cache persistant a été ajoutée.

Médias

La gestion des médias a elle aussi reçu de nouveaux filtres et plusieurs améliorations d’interface :

  • Activation de la modification des tailles d’images personnalisées à l’aide du filtre edit_custom_thumbnail_sizes qui permet aux développeuses et développeurs de modifier les tailles d’images personnalisées individuelles (Voir le ticket #28277) ;
  •  Ajout d’une fonction « copier l’URL dans le presse-papier » sur la vue en liste des médias (Voir le ticket #54426).

Le composant Médias a par ailleurs lui aussi reçu des améliorations de performances :

Types de publications

WordPress 6.0 introduit encore davantage de crochets et filtres dynamiques pour les types de publications et les taxonomies.

Taxonomies

Les taxonomies ont reçues des améliorations de performances, notamment à travers la mise en cache des requêtes sur les termes de taxonomies, et via l’ajout de limites aux requêtes concernant les taxonomies, mais aussi au niveau des éléments de menus de navigation.

Thèmes

Cette nouvelle version offre aux auteurs et autrices de thèmes une façon encore plus efficace de travailler avec les compositions de blocs, la prise en charge de multiples fichiers theme.json avec l’éditeur de site, et bien plus encore.

Les thèmes basés sur des blocs peuvent maintenant se passer du fichier index.php

Avec cette modification, il n’est maintenant plus nécessaire d’avoir un fichier modèle index.php. Jusqu’à présent, il était nécessaire d’en avoir un même s’il n’était pas utilisé. Dorénavant, ce fichier est remplacé par le fichier templates/index.html. Voir le ticket #54272.

Correction de la logique d’affichage des avertissements _doing_it_wrong() pour add_theme_support( ‘html5’ )

  • Le fait d’appeler add_theme_support( 'html5' ) sans passer un tableau de types pris en charges affiche maintenant un avertissement _doing_it_wrong() : « Vous devez passer un tableau de types » ;
  • Si le second paramètre n’est pas spécifié, un tableau contenant comment-listcomment-form, et search-form sera automatiquement passé en tant que solution de repli, pour assurer la rétrocompatibilité de la fonction ;
  • Si le second paramètre n’est pas un tableau, la fonction retournera false.

Pour plus d’informations, voir le ticket #51657.

Comptes

Avec WP 6.0, les installations comprenant plus de 10 000 comptes ont reçu des améliorations de performances sur les requêtes concernant les comptes.

Autres changements techniques

WordPress 6.0 apporte également :

  • Un filtre destiné aux auteurs et autrices d’extensions qui leur permet de modifier la description de leur extension telle qu’elle est affichée sur l’écran Extensions > Ajouter et/ou sur l’écran Administration du réseau > Extensions > Ajouter ;
  • La possibilité de filtrer l’ensemble de la notification e-mail envoyée par retrieve_password ;
  • La possibilité de retirer les icônes de sites sur les réseaux multisites.

Et bien plus encore…

Plus de 131 corrections de bugs97 améliorations et nouvelles fonctionnalité, ainsi que 23 tâches diverses ont été ajoutés dans WordPress 6.0.

Voici quelques modifications qui méritent d’être soulignées :

  • Administration : ajout d’un filtre media_date_column_time à la colonne de date de l’écran de liste des médias. De façon similaire au filtre existant post_date_column_time pour les publications, ce filtre permet de modifier l’affichage du contenu de la colonne « Date » (voir le ticket #42942) ;
  • Outils de build et de tests :
    • Mise à jour de webpack vers la version v5.x. Cela rapproche WordPress de la façon dont l’extension Gutenberg gère ses paquets ;
    • WordPress 6.0 active également la prise en charge de « React Fast Refresh » pour le développement de blocs avec @wordpress/scripts ;
    • Cette nouvelle version ajoute aussi la dernière version de caniuse-lite qui permet de s’assurer que les outils de build de WP ciblent la dernière version des navigateurs pris en charge par WordPress (voir les tickets #51750 et #55505) ;
    • Un fichier .git-blame-ignore-revs a été ajouté au répertoire de développement de WP afin de rendre la fonctionnalité git blame plus efficace sur GitHub (voir le ticket #55422) ;
    • La commande npm install a été corrigée pour les contributeurs et contributrices utilisant des appareils « Apple M series silicone » en mettant à jour la dépendance technique grunt-contrib-qunit (voir le ticket #52690) ;
  • Thèmes natifs : si vous rencontriez des soucis avec l’ordre des éléments dans le formulaire de commentaires du thème Twenty Nineteen, nous avons une bonne nouvelle : ceci a été corrigé dans le ticket #46600 ;
  • URL canoniques : la fonction redirect_guess_404_permalink() inclue maintenant tous les états publics des publications, et pas uniquement l’état « publié » / publish, dans les redirections 404 de recherche (voir le ticket #47911) ;
  • Commentaires : accélération du chargement SQL du tableau de bord et de la modération des commentaires (voir le ticket #19901) ;
  • Emojis : mise à jour de la bibliothèque Twemoji vers la version 14.0.2. Cette version introduit la prise en charge des derniers Emojis ajoutés dans la version 14 (voir le ticket #55395) ;
  • Bibliothèques externes :
    • Mise à jour de Jcrop à la version 0.9.15 (ticket #54035) ;
    • Mise à jour de jQuery Color à la version 2.2.0. Suppression de la version embarquée (qui existait toujours dans le cœur WP) en faveur de l’amélioration du processus Grunt pour plutôt inclure le paquet depuis NPM (ticket #55016) ;
    • Mise à jour de random_compat à la version 2.0.21. Cela améliore la compatibilité avec PHP 8.1 et corrige des bogues avec les plateformes Windows (ticket #55181) ;
    • Mise à niveau de PHPMailer à la version 6.5.4. Amélioration de compatibilité PHP et sécurisation contre les hébergeurs désactivant certaines fonctions de sécurité. Note aux hébergeurs : ne désactivez pas les fonctions escapeshellarg() et escapeshellcmd(), cela présente un risque de sécurité ! (ticket #55187) ;
    • Mise à niveau de PHPMailer à la version 6.6.0 (ticket #55277) ;
    • Mise à jour de sodium_compat à la version 1.17.1. Amélioration de la compatibilité PHP 8.1 (ticket #55453)
    • Mise à jour de backbone de la version 1.4.0 à la version 1.4.1 ;
    • Mise à jour de underscore de la version 1.13.1 à la version 1.13.2 ;
    • Mise à jour de clipboard de la version 2.0.8 à la version 2.0.10 (ticket #55547) ;
  • Formatage :
    • Ajout de la prise en charge des formatage de tailles PB, EB, ZB, and YB (ticket #40875)
  • KSES :
    • Prise en charge de l’élément <ruby> et des autres éléments liés. Cela est particulièrement utile pour le contenu écrit en japonais ou chinois, via les éléments HTML <ruby><rt> et <rp> dans le standard HTML, ainsi que <rb> et <rtc> pour des options de formatage avancées (ticket #54698) ;
    • Ajout global de la prise en charge des attributs langxml:langdir en tant qu’attributs utilisables sur n’importe quel élément HTML, ce qui améliore considérablement les possibilités de produire du contenu accessible (ticket #54699) ;
    • La fonction get_the_author_link() devient filtrable sur WordPress 6.0, via le filtre get_the_author_link, afin de permettre l’altération de l’affichage du lien vers l’auteur/autrice de chaque publication (ticket #51859) ;
  • Internationnalisation :
    • Le séparateur des éléments de liste est maintenant une propriété de WP_Locale (voir le ticket #39733) ;
    • Les chemins de langues sont maintenant définissables dans la fonction register_block_type (ticket #54797) ;
  • Médias : suppression du filtre attachment_fields_to_save filter et dépréciation de la fonction image_attachment_fields_to_save(). Cette fonction n’était plus utilisée par le cœur WP (ticket #39108) ;
  • Réseaux multisites : amélioration de la génération du cache des clés sur WP_Site_Query (ticket #55462) ;
  • Extensions :
    • Ajout du filtre plugin_install_description (ticket #55480)
    • Conversion de apply_filters() en une vraie fonction variadique. Une fonction variadique est une fonction d’arité indéfinie, c’est-à-dire qu’elle accepte un nombre variable de paramètres (voir le ticket #53218) ;
  • Publications et types de publications : passage du paramètre $update aux filtres wp_insert_post_data et wp_insert_attachment_data. Cela facilite la détermination de l’existence d’une publication lors de sa mise à jour (ticket #46228) ;
  • Taxonomies : mutualisation de la traduction des libellés de taxonomies afin d’améliorer les performances générales de l’administration WordPress (ticket #26746).

Que vous développiez des thèmes ou des extensions, pensez à tester et retester votre code pour vous assurer de sa compatibilité avec ces changements. Vous pouvez utiliser l’extension Beta Tester sur un site de test pour vérifier la compatibilité de vos développements avec WordPress 6.0 RC1. Nous comptons sur vous pour vous assurer que votre code fonctionne correctement avec le cœur du CMS, pour le bien des millions d’utilisateurs et utilisatrices de WordPress ♥️

Rédigé par Jb Audras d’après le Field Guide en anglais. Merci à Valérie Galassi, FX Bénard et Jenny Dupuy pour la relecture.

WordPress 5.9 « Joséphine »

Bienvenue sur WordPress 5.9 « Joséphine » !

Nous vous présentons WordPress 5.9, nommée « Joséphine » en l’honneur de la chanteuse internationale de jazz Joséphine Baker. Vous pouvez télécharger cette version ici ou effectuer la mise à jour directement depuis votre tableau de bord.

En tant que militante des droits civiques depuis toujours, Joséphine Baker pensait que tout le monde pouvait vivre en harmonie ensemble, tout comme les différents instruments d’un groupe de jazz se mélangent pour former un morceau complet. Mentionnons également que Joséphine Baker était naturalisée française et est d’ailleurs entrée au Panthéon l’année dernière, en 2021.

Activez donc une liste de lecture de votre service de musique préféré et profitez de ses célèbres interprétations de « You are the greatest love », « Sans Amour » et « Love is a dreamer » tout en découvrant les fonctionnalités de cette toute nouvelle version de WordPress.

Continuer la lecture « WordPress 5.9 « Joséphine » »

WordPress 5.9 : documentation en français des fonctionnalités de l’éditeur de site

À quelques jours de la sortie de WordPress 5.9 (prévue mardi 25 janvier 2022), l’équipe de documentation de WordPress en français vient de publier de nouveaux contenus afin de documenter les nouveautés de cette version.

Continuer la lecture « WordPress 5.9 : documentation en français des fonctionnalités de l’éditeur de site »

Guide des changements techniques à venir sur WordPress 5.9

WordPress 5.9

La sortie de WordPress 5.9 est prévue
pour le 25 janvier 2022.

WordPress 5.9 offrira la possibilité de construire l’ensemble de votre site en utilisant des blocs. Cette nouvelle version majeure apportera en effet des outils de conception avancés pour vous permettre de créer des mises en page personnalisées pour votre thème, et de les mettre en forme selon vos préférences.

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

Continuer la lecture « Guide des changements techniques à venir sur WordPress 5.9 »

« State of the Word 2021 », le bilan annuel du projet WordPress en vidéo sous-titrée en français

Le « State of the Word » est la conférence annuelle du cofondateur de WordPress Matt Mullenweg. Cette année, elle s’est déroulée le 14 décembre 2021 à New York devant une petite audience de personnes. Une diffusion vidéo était également proposée pour que tout le monde puisse suivre cette conférence en direct. Il s’agit toujours d’un moment important pour la communauté. Plus de 30 communautés locales ont même réuni en tout plus de 300 personnes lors de meetups locaux pour assister ensemble à la conférence, comme à Séville en Espagne.

Continuer la lecture « « State of the Word 2021 », le bilan annuel du projet WordPress en vidéo sous-titrée en français »

Déposer et gérer une extension sur WordPress.org : documentation en français

Proposer une extension sur le répertoire WordPress.org, c’est une belle façon de faire profiter la communauté de ce que vous avez développé pour vos propres besoins, et de rendre la pareille à cette communauté tout en vous y faisant connaître.

Ça tombe bien, l’équipe de documentation de WordPress en français vient de publier un guide pour apprendre aux développeurs et développeuses d’extensions comment déposer et gérer dans la durée leurs extensions WordPress sur le répertoire officiel des extensions WordPress.org.

Continuer la lecture « Déposer et gérer une extension sur WordPress.org : documentation en français »

Rendez-vous le 24 septembre 2021 pour le WordPress Translation Day !

Cette année encore, c’est le retour du WordPress Translation Day, un évènement mondial dédié à la traduction de WordPress et de son écosystème.

Cet évènement réunit toutes les communautés de traductrices et de traducteurs à travers le monde afin de contribuer ensemble à la traduction de notre CMS favori. Cette année, le WP Translation Day se déroulera durant tout le mois de septembre, pour permettre à chaque communauté locale de pouvoir organiser ses évènements locaux comme elle l’entend.

Continuer la lecture « Rendez-vous le 24 septembre 2021 pour le WordPress Translation Day ! »

WordPress 5.8 « Tatum »

WordPress 5.8 « Tatum »

Nous vous présentons WordPress 5.8 « Tatum », nommée en l’honneur de Art Tatum, le pianiste de Jazz légendaire. Sa technique exceptionnelle et sa volonté de repousser les limites ont inspiré des milliers de musiciens.

Lancez donc un de ses meilleurs morceaux – comme « Tea for Two », « Tiger Rag », « Begin the Beguine» ou encore « Night and Day » et découvrez les nouveautés de la dernière version de WordPress.

Continuer la lecture « WordPress 5.8 « Tatum » »

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.

Continuer la lecture « Guide des changements techniques à venir sur WordPress 5.8 »

WordPress fête ses 18 ans !

Aujourd’hui est un grand jour pour la communauté WordPress, car il s’agit du dix-huitième anniversaire de notre CMS favori !

Il y a à peine 3 ans, nous célébrions nos quinze ans en organisant des évènements un peu partout dans le monde entier, et voilà que nous arrivons aujourd’hui à l’age de la majorité 😎

WordPress propulse désormais plus de 40 % du web. Une belle façon de fêter nos 18 ans !

Nous vous proposons de redécouvrir le chemin parcouru en toutes ces années sur cette petite frise chronologique.