Validation des blocs

Définition : La validation des blocs compare notamment le HTML enregistré d’un bloc statique avec le rendu attendu de sa définition actuelle. Elle détecte les incohérences de structure susceptibles d’altérer le contenu éditorial.

Comprendre et utiliser

À quoi cela sert ?

Elle protège les publications contre des conversions silencieuses de contenu lorsque le code du bloc ou un outil tiers a changé sa sortie HTML.

Comment cela fonctionne ?

À la réouverture, les attributs sont interprétés puis le balisage attendu est régénéré. Une différence peut provoquer le message de contenu de bloc inattendu ou invalide.

Dans quel contexte l’utiliser ?

Tester la validation dès qu’une version du plugin modifie la structure HTML de blocs existants, leur source d’attribut ou leur convention d’enveloppe.

Cas concret : ATOOLPHA

La nouvelle version d’un bloc ATOOLPHA ajoute une balise span : un ancien article reçoit un avertissement car sa sortie enregistrée ne correspond plus exactement.

Exemple de code commenté

Extrait documentaire : le contexte WordPress du plugin/éditeur et les dépendances décrites sont nécessaires ; ne pas coller dans le contenu d’une page.

const { validateBlock, createBlock } = wp.blocks;
// Nécessite que core/paragraph soit enregistré dans l’éditeur.
const paragraph = createBlock( 'core/paragraph', {
    content: 'Bonjour',
} );
const [ isValid, issues ] = validateBlock( paragraph );
console.log( { isValid, issues } );

Décryptage de l’exemple

validateBlock() contrôle une instance de bloc selon sa définition et retourne un couple comprenant la validité et la liste des problèmes. L’extrait valide une instance construite en mémoire, pas le HTML historique d’un article : ce dernier doit être analysé séparément.

Résultat attendu

Le contrôle retourne un booléen et des informations diagnostiques. Pour un article ancien, il faut aussi comparer le contenu réellement enregistré et les attributs parsés.

Atelier pratique de vérification

Créer un ancien contenu de bloc, faire évoluer son balisage, puis réouvrir le brouillon. Capturer l’avertissement de validation et comparer les deux formes HTML. Corriger soit le nouveau rendu, soit la déclaration de dépréciation. Vérifier que le contenu d’origine reste intact pendant l’analyse.

Précautions et limites

Privilégier validateBlock() : l’ancienne fonction isValidBlockContent() est signalée dépréciée dans la documentation de @wordpress/blocks. Ne jamais écraser automatiquement une publication présentant une erreur de validation.

Contrôle avant intégration dans un plugin

Mettre de côté une copie de l’article avant tout diagnostic et comparer les HTML avec leurs attributs extraits. La correction doit préserver le contenu, et non simplement faire disparaître l’alerte visuelle.

À ne pas confondre

La validation vérifie la cohérence du contenu ; la dépréciation permet de relire certains anciens formats légitimes.

Diagnostic et dépannage avancés

En cas de bloc invalide, examiner la console, l’ancien HTML sérialisé, les sources d’attributs et les dépréciations au lieu de remplacer immédiatement le bloc.

Notions associées

  • Dépréciation de blocs (Block Deprecation)
  • save (fonction de bloc)
  • Sources d’attributs de bloc

Références officielles

Bouton retour en haut de la page