Documentation MevvBlocks

Cent pixels sur ordinateur, quarante sur mobile — dans l’éditeur de blocs.

L’éditeur de blocs de WordPress n’a pas de points de rupture pour les valeurs de style. MevvBlocks comble d’abord cet écart, et place autour de lui ce dont un site a besoin pour tenir seul : cent un blocs, des modèles de thème, une grille de contenu et un constructeur de boucle, un moteur de formulaires, des pop-ups, un seul écran pour la palette du site, un audit d’accessibilité qui dit la vérité au lieu de la masquer, et un écran Core Web Vitals alimenté par vos propres visiteurs.

Installation

MevvBlocks exige WordPress 6.0 ou plus récent et PHP 8.1 ou plus récent. Il n’y a aucune autre dépendance : pas de bibliothèque externe, pas de police servie depuis le serveur d’un tiers, pas d’étape de build.

  1. Téléversez l’extension et activez-la.
  2. Ouvrez une page dans l’éditeur de blocs et ajoutez le bloc Conteneur.
  3. Placez-y les blocs que vous voulez. Vous les trouverez dans la catégorie Design.
  4. Gérez le reste depuis le menu MevvBlocks dans la barre latérale d’administration.
  • WooCommerce est facultatif. L’installer ajoute deux blocs.
  • MevvBridge est facultatif. Si vous venez d’Elementor, c’est MevvBlocks qui rend ces pages de nouveau modifiables.
  • MevvLegal est facultatif. S’il est présent, le bloc carte lui confie son intégration afin que la carte ne soit pas chargée avant le consentement du visiteur.

Pro est une extension distincte installée à côté de la version gratuite, et elle déclare l’extension gratuite comme une exigence stricte. Votre clé de licence se saisit sur l’écran Lisans. En l’absence de Pro, MevvBlocks n’adresse aucune requête à nos serveurs.

Un style par taille d’écran — l’écart que cela comble

Les blocs natifs acceptent une valeur de marge intérieure, une hauteur minimale, un nombre de colonnes. Cette valeur s’applique sur tous les écrans. Si une section a besoin de 100 pixels de marge sur ordinateur et de 40 sur mobile, le cœur ne sait pas l’exprimer — et c’est précisément cet écart qui est la raison technique la plus courante d’installer un constructeur de pages.

MevvBlocks enregistre trois valeurs au lieu d’une — ordinateur, tablette, mobile. Les seuils sont fixes :

Ordinateur
Aucune media query — la valeur de base.
Tablet
S’applique à 1024 pixels et en dessous.
Mobile
S’applique à 767 pixels et en dessous.

Les deux mêmes nombres sont utilisés partout ailleurs dans l’extension — le seuil du menu hamburger, les nombres de colonnes de la grille. Un champ libre en pixels n’a délibérément pas été proposé : quelqu’un qui choisirait 900 obtiendrait le hamburger à 900 alors que sa marge intérieure changerait encore à 1024, et deux systèmes de points de rupture donnent des mises en page en désaccord avec elles-mêmes.

Les valeurs vivent dans les attributs propres au bloc, à l’intérieur de post_content — pas dans une table dédiée ni dans les metas d’article. Le CSS est produit sur le serveur, au moment de la requête, et imprimé sous forme d’un petit bloc de style à côté de l’élément auquel il appartient.

Pourquoi ne pas enregistrer le CSS avec la page ? Parce que du HTML enregistré ne peut porter qu’un seul point de rupture. C’est le rendu à la requête qui rend trois valeurs possibles — et c’est pourquoi une licence expirée ne peut jamais éteindre une page publiée : il n’y a pas une seule vérification de licence sur ce chemin.

L’aperçu de l’éditeur — ce qu’il montre, et ce qu’il ne peut toujours pas

Cette page disait autrefois que l’aperçu était une approximation. Pour la mise en page, ce n’est plus le cas. Le canevas demande désormais au serveur le même CSS que la page imprimera, et l’applique aux mêmes classes d’enveloppe que le front-end.

Ce qui est exact dans le canevas aujourd’hui : la mise en page du conteneur (direction, colonnes, espacement, alignement), la marge intérieure, la marge extérieure, l’arrière-plan, la bordure, le rayon, l’ombre, la hauteur minimale, la typographie, les transformations, les masques et le positionnement — les valeurs tablette et mobile s’appliquant au redimensionnement, car le canevas est une iframe et les media queries y fonctionnent.

Pourquoi le CSS vient du serveur au lieu d’être reconstruit en JavaScript : il n’y a qu’un seul moteur de styles, et une seconde copie finirait par diverger de la première. Le jour où quelqu’un ajouterait un réglage à l’un en oubliant l’autre, l’éditeur serait faux tout en prétendant être exact — pire que l’ancienne approximation honnête.

Ce qui n’est toujours pas exact : les règles qui visent le balisage à l’intérieur d’un bloc. Dans le canevas, un bloc dessine ses propres aides à l’édition : un sélecteur écrit pour la structure du front-end n’a donc rien à cibler. Combler cet écart suppose de rendre le balisage d’édition identique au balisage publié pour chacun des cent un blocs ; c’est un vrai travail et il n’est pas fait.

Mesuré, pas affirmé : la même section a été rendue deux fois sous la même feuille de style — une fois telle que le front-end l’imprime, une fois telle que le canevas la construit — et seize propriétés de mise en page ont été comparées sur chaque élément. L’ancien canevas différait sur vingt-quatre d’entre elles. C’est désormais zéro sur soixante-quatre. L’outil qui le mesure est dans le code source de l’extension (tools/onizleme-esitlik.js), et il a d’abord été pointé sur l’ancien balisage pour prouver qu’il n’était pas aveugle.

Les blocs

Cent un blocs, ou soixante-dix-huit sans WooCommerce. Tous sont dans l’édition gratuite ; aucun bloc n’est réservé à Pro. Ils vivent dans la catégorie Design de l’inséreur.

Mise en page et texte
Conteneur, Titre, Texte, Bouton, Séparateur, Espaceur, Ancre, Image, Code court, Citation, Liste à cocher, Tableau, Code
Présentation
Témoignage, Icône, Boîte à icône, Liste d’icônes, Boîte image, Icônes sociales, Copyright, Membre d’équipe, Note en étoiles, Tableau de tarifs, Liste de prix, Badge, Bannière, Bandeau de logos, Boîte chiffrée, Alerte
Interaction
Carrousel, Diapositives, Onglets, Accordéon, Menu de navigation, Formulaire de recherche, Formulaire, Formulaire de connexion, Formulaire d’inscription, Table des matières, Partage social, FAQ, Chronologie, Étapes
Conversion
Flip box, Appel à l’action, Titre animé, Avant / Après, Point chaud, Panneau hors-canevas, Boutons de contact, Barre d’annonce, Comparaison, Barre de données, Progression de lecture, Temps de lecture, Retour en haut, Texte sur un tracé
Médias
Vidéo, Audio, Galerie
Données et temps
Grille de contenu, Compte à rebours, Compteur, Barre de progression, Carte
Modèles de site et de thème
Logo du site, Titre du site, Slogan du site, Titre de page, Fil d’Ariane, Informations d’article, Encadré auteur, Commentaires, Précédent / Suivant, Titre d’archive, Description d’archive, Plan du site
WooCommerce (20)
Produits, Catégories de produits, Galerie produit, Titre du produit, Prix du produit, Note du produit, Description courte, Description du produit, Meta produit, Informations complémentaires, Onglets produit, Ajouter au panier, État du stock, Produits similaires, Ventes incitatives, Ventes croisées, Mini-panier, Panier, Paiement, Mon compte, Suivi de commande, Tri des produits, Nombre de résultats — ajoutés seulement quand WooCommerce est actif

Les effets de mouvement ne sont pas un bloc : un panneau Mouvement est ajouté à chaque bloc MevvBlocks.

Rien n’est masqué ici quand JavaScript ne se charge pas. Les onglets affichent tous les panneaux, l’accordéon est un élément details natif, le carrousel défile, et les flèches sont imprimées masquées jusqu’à ce que le script puisse les piloter — afficher un bouton qui ne fait rien, c’est afficher une interface cassée. Un contenu masqué est un contenu inaccessible.

Grille de contenu et constructeur de boucle

Le bloc Grille de contenu interroge les articles, pages ou produits et les met en page. La pagination repose sur de simples liens, elle fonctionne donc avec JavaScript désactivé.

  • Le tri est une liste fixe — date, date de modification, titre, ordre de menu, aléatoire — parce que la valeur atteint la base de données.
  • Les titres de cartes vont de h2 à h6. h1 n’est pas proposé : une grille de cartes sur une page qui a déjà un h1 romprait l’ordre des titres.
  • Un lien par carte. Faire de l’image, du titre et du « lire la suite » autant de liens revient à faire annoncer trois fois la même cible par un lecteur d’écran.
  • La grille met en cache les identifiants d’articles trouvés, jamais le HTML rendu, et le cache est invalidé dès qu’un article est enregistré — « j’ai publié un article et il n’apparaît pas » ne peut donc pas arriver.

Le constructeur de boucle vous laisse dessiner la carte vous-même au lieu d’utiliser celle intégrée. Vous créez un modèle de type Carte de boucle, vous le construisez avec des blocs ordinaires et des liaisons dynamiques, puis vous le choisissez dans les réglages de la grille.

Pendant que vous modifiez un modèle de carte, il n’y a pas de contexte d’article : les liaisons dynamiques affichent donc leurs valeurs de repli statiques. Et si le modèle est vide, supprimé, laissé en brouillon ou qu’il se référence lui-même, la grille revient à la carte intégrée plutôt que de n’imprimer rien. L’imbrication des boucles est plafonnée à deux niveaux.

Le moteur de formulaires

Seize types de champs, avec validation côté serveur. Le formulaire est la seule partie d’une page qui fait réellement quelque chose : il fonctionne donc sans JavaScript — un envoi POST ordinaire reçoit la même validation et les mêmes messages qu’un envoi piloté par script.

Types de champs
Texte, E-mail, Téléphone, Adresse (URL), Nombre, Date, Heure, Masqué, Texte long, Menu déroulant, Liste à choix multiple, Choix unique, Cases à cocher multiples, Case à cocher, Texte du consentement (KVKK) et Sous-titre. Pro ajoute un champ d’envoi de fichier.
Où vont les envois
À la fois dans une table dédiée et par e-mail. L’enregistrement est écrit d’abord et le message envoyé ensuite, car la remise d’un e-mail échoue bien plus souvent qu’une écriture en base.
Les consulter
MevvBlocks → Envois de formulaire. Pro y ajoute un export CSV.
E-mail de notification
L’expéditeur est votre site, jamais le visiteur. Utiliser l’adresse du visiteur comme expéditeur est de loin la raison la plus fréquente pour laquelle un e-mail de formulaire n’arrive jamais — SPF et DMARC le rejettent. Son adresse devient le Reply-To à la place.

Le spam est traité par trois couches et aucun CAPTCHA : une signature qui ne dépend pas d’une session, un temps de remplissage minimal et un champ pot de miel. Un envoi qui remplit le pot de miel est accepté en silence puis jeté — afficher une erreur dirait au robot qu’il a été repéré, et la tentative suivante éviterait ce champ.

Pourquoi une signature plutôt qu’un nonce WordPress ? Un nonce est lié à une session et à une fenêtre de douze heures. Sur un site mis en cache, le même HTML est servi pendant des heures ou des jours, le nonce qu’il contient a expiré depuis longtemps, et le formulaire cesse silencieusement de fonctionner. C’est la panne de terrain la plus courante des extensions de formulaires. La signature utilisée ici est valable sept jours et ne dépend pas de qui navigue.

L’adresse IP d’un envoi n’est jamais conservée sous forme lisible — seulement une empreinte, salée avec la clé de votre propre site, afin que les enregistrements de deux sites différents ne puissent pas être rapprochés.

Le stockage des envois n’est pas lié à la licence. S’il l’était, le jour où un paiement expire serait le jour où le client commencerait à perdre des données.

Modèles de thème

Sept types de modèles, construits dans l’éditeur WordPress que vous utilisez déjà — En-tête, Pied de page, Contenu individuel, Archive, Résultats de recherche, Introuvable (404) et Carte de boucle. Un second éditeur serait une chose de plus à maintenir au rythme du cœur de WordPress.

Le type et les conditions se trouvent dans une boîte de barre latérale ordinaire, pas dans un panneau React — une boîte classique s’enregistre aussi avec JavaScript désactivé, et elle ne casse pas quand l’API de l’éditeur change.

Conditions
Tout le site, la page d’accueil, un type de publication, une catégorie ou un contenu unique. Laissez-les vides pour tout le site.
Quand plusieurs correspondent
La condition la plus étroite l’emporte.
Conditions mal formées
Rejetées à l’enregistrement et stockées vides, plutôt que conservées comme du texte invalide qui empêcherait silencieusement le modèle d’apparaître.

Les modèles d’en-tête et de pied de page ne sont placés que sur Astra et GeneratePress. Si votre thème n’a pas de recette, ils ne sont pas imprimés du tout et l’écran le dit — accrocher un en-tête à un thème que nous ne pouvons pas soulever, c’est deux en-têtes garantis. Les modèles de vue unique, d’archive, de recherche et de 404 fonctionnent avec n’importe quel thème, car ils remplacent la boucle et laissent en place l’en-tête et le pied de page du thème.

Un modèle Carte de boucle ne se place jamais nulle part de lui-même. C’est un bloc de grille qui le choisit.

Bibliothèque de compositions et préréglages de blocs

Vingt compositions prêtes à l’emploi : seize sections et quatre pages complètes. Elles sont enregistrées comme des compositions WordPress ordinaires, vous les insérez donc comme vous le savez déjà — le bouton +, l’onglet Compositions, puis la catégorie MevvBlocks sections ou MevvBlocks pages.

Aucune fenêtre modale spécifique n’a été écrite pour cela. L’insertion native offre déjà l’aperçu, la recherche, la navigation au clavier et la traduction, et ce qu’elle insère est du balisage de blocs ordinaire — rien qui vous enferme.

Les compositions sont livrées sans images. Aller chercher des images ailleurs pose une question de droit d’auteur, une question de confidentialité, et cela lie l’apparence de votre page au fait que le serveur d’un tiers reste en ligne. Les blocs image sont en place avec leur texte alternatif rempli ; choisissez les vôtres.

Les préréglages de blocs enregistrent les réglages d’apparence d’un bloc sous un nom et les appliquent à un autre bloc du même type. Le contenu n’est délibérément pas enregistré — texte, liens, images et éléments de liste sont retirés, si bien qu’appliquer un préréglage n’écrase jamais ce que vous avez écrit.

Les compositions ne sont pas du tout enregistrées côté public. Générer leur balisage à chaque affichage de page a été mesuré à 109 Ko et 3,59 ms — payé pour rien, puisque personne n’insère une composition en lisant.

La palette du site

Un seul écran pour les couleurs et la typographie, accessible à la fois depuis le menu MevvBlocks et depuis Apparence, parce que c’est là que les gens le cherchent. Chaque entrée affiche son propre nom de variable, et les blocs renvoient à ces noms plutôt qu’à des valeurs littérales.

C’est précisément ce qui permet à une page construite avant la bascule de reprendre une nouvelle palette au lieu de perdre ses références — les noms de variables restent ceux que vos pages utilisent déjà.

Il n’y a pas de suppression. Un jeu de couleurs ou de typographie peut rester vide, mais le supprimer laisserait chaque bloc qui y renvoyait pointer vers le vide. Vider est réversible ; supprimer une référence ne l’est pas.

L’audit d’accessibilité

MevvBlocks → Accessibilité analyse vos pages, articles et modèles publiés et signale ce que chaque bloc a laissé de côté : une image sans texte alternatif, un titre vide, un bouton sans nom ou sans destination, un ordre de titres cassé, un contraste trop faible.

Le même audit est disponible sous forme de panneau latéral pendant que vous modifiez encore, là où une anomalie coûte le moins cher à corriger.

Ce n’est délibérément pas une surcouche. Les couches qui boulonnent un « menu d’accessibilité » sur une page ne corrigent rien : une image sans texte alternatif n’en a toujours pas, et un texte peu contrasté reste illisible. Porter l’affirmation « ce site est accessible » sans que ce soit vrai est une position pire que de ne rien affirmer — des sites utilisant des surcouches ont été poursuivis pour exactement cela. Cet outil mesure et vous le dit ; la correction vous revient.

Le contraste n’est signalé que lorsque les deux couleurs sont réellement connues. Deviner une couleur héritée produirait des avertissements sur lesquels vous ne pouvez pas agir.

Vitesse — cache des éléments et images

Deux choses distinctes, toutes deux dans l’édition gratuite.

Cache des éléments. La sortie des blocs est stockée au lieu d’être reconstruite à chaque requête. Mesuré : temps de rendu des blocs en baisse de 33 à 72 %. Il utilise un cache d’objets persistant (Redis, Memcached) quand il en existe un, et des transients sinon.

Un bloc dont la sortie varie selon le visiteur, la requête ou le moment n’est jamais stocké : formulaires, connexion, inscription, mini-panier, grille de produits, recherche, panier, paiement, mon compte, code court. Le code court est sur cette liste parce que nous ne savons pas ce qu’il contient — nous avons figé un jeton WPForms sur un site en production, une fois, et la règle est appliquée depuis lors dans le code source.

Optimisation des images. Une copie WebP (et éventuellement AVIF) de chaque image téléversée est écrite à côté de l’original ; l’original n’est jamais touché. Mesuré : 39 à 78 % plus léger. Un fichier qui ne rétrécit pas n’est pas conservé — les petits PNG à aplats grossissent généralement en WebP.

Les images sont servies dans un élément <picture> : l’adresse de chaque format figure dans le HTML et le navigateur choisit. Décider sur le serveur à partir de l’en-tête Accept a été délibérément écarté — quand la même adresse varie selon le visiteur, chaque cache du chemin peut remettre le mauvais fichier à la mauvaise personne.

Si une autre extension fait réellement ce travail (LiteSpeed, ShortPixel, Imagify, Smush, EWWW, Optimole, Converter for Media), MevvBlocks s’efface de lui-même et dit pourquoi. La question n’est pas « est-elle installée » mais « peut-elle vraiment fonctionner » : LiteSpeed avec l’optimisation d’images activée mais sans clé cloud ne fait strictement rien.

Core Web Vitals — mesurés chez vos visiteurs

Les Core Web Vitals sont par définition des données de terrain : mesurées dans les navigateurs de vrais visiteurs, rapportées comme le 75e centile sur une fenêtre de 28 jours. Un test Lighthouse est autre chose — une machine, un réseau, un moment. Savoir lequel est lequel, c’est ce qui tranche la confusion « PageSpeed dit 98, la Search Console dit rouge ».

L’écran Web Vitals affiche trois chiffres par classe d’appareil :

LCP
Le temps que met le contenu principal à apparaître. Bon, c’est 2,5 secondes ou moins.
CLS
De combien la page bouge pendant qu’elle se stabilise. Bon, c’est 0,1 ou moins.
INP
Le temps que met la page à répondre à un appui ou à un clic. Bon, c’est 200 ms ou moins.

Le script de mesure fait environ un kilo-octet et ne charge aucune bibliothèque — c’est le PerformanceObserver du navigateur qui fait le travail. L’échantillonnage est réglé par défaut sur 10 % des visites et c’est le navigateur qui décide, pas le serveur : si le serveur décidait, la même URL produirait deux documents HTML différents et un cache de page entière servirait à tout le monde celui qu’il a vu en premier.

Aucune donnée personnelle n’est collectée : pas d’IP, pas de cookie, pas d’identifiant. Trois valeurs, une classe d’appareil et le chemin de la page, stockés sur votre propre serveur sous forme de comptes par intervalles. Rien n’est envoyé où que ce soit.

En dessous de cent échantillons, l’écran n’affiche aucun chiffre — il indique plutôt combien il en a. Un centile calculé sur une douzaine de mesures n’est que du bruit, et un chiffre faux est pire qu’aucun chiffre, car quelqu’un agira dessus. Le centile est lu dans un histogramme : il est donc approché à la largeur d’intervalle près, et l’écran le dit.

Transformations et masques

N’importe quel bloc peut être translaté, mis à l’échelle, pivoté (Z et 3D X/Y), incliné et retourné — chacun avec des valeurs distinctes pour l’ordinateur, la tablette et le mobile. Une transformation de survol distincte et une durée de transition peuvent être définies.

Les masques peuvent être un cercle, un triangle, un hexagone, un blob, une fleur, une forme dessinée à main levée ou votre propre image, avec des réglages de taille, de position et de répétition.

Les formes sont intégrées au CSS, elles ne sont pas livrées comme des fichiers SVG séparés. Un mauvais chemin de fichier fait disparaître un masque en silence et personne ne voit le 404 ; derrière un CDN, l’adresse du dossier de l’extension peut en outre changer.

Code personnalisé pour tout le site

Le HTML, le CSS et le JavaScript peuvent être placés dans le head, au début du body ou à la fin : balises de vérification, extraits de mesure, petites corrections de style. La position, la priorité et une condition de session sont configurables.

Il n’exécute pas de PHP. Mettre un exécuteur PHP dans un constructeur de pages transformerait la permission d’un designer en permission d’exécuter du code sur le serveur.

La capacité requise est unfiltered_html : quelqu’un qui ne peut pas mettre un script brut dans un article ne peut pas non plus en mettre un à l’échelle du site. Avec MevvLegal installé, les scripts de suivi placés ici sont eux aussi retenus jusqu’au consentement aux cookies.

Blocs WooCommerce

Vingt blocs : titre du produit, images, prix, ajouter au panier, note, stock, meta, description courte, description, onglets de données, informations complémentaires, produits similaires, ventes incitatives, ventes croisées, panier, paiement, mon compte, suivi de commande, tri et nombre de résultats.

Aucun d’eux ne redessine WooCommerce. Tous appellent ses propres fonctions de gabarit et ses codes courts. Votre thème modifie ces gabarits et vos extensions s’y greffent — livraison, paiement en plusieurs fois, alertes de stock, guides des tailles. Dessiner notre propre balisage ferait tomber tout cela en silence.

Panier, paiement, mon compte et suivi de commande sont propres au visiteur : la mise en cache de page entière est désactivée et ils ne sont jamais mis en cache au niveau de l’élément. Si WooCommerce n’est pas actif, ces blocs ne sont enregistrés ni sur le serveur ni dans l’éditeur.

Notes d’éditeur

Vous pouvez épingler une note à n’importe quel bloc : qui l’a écrite, quand, et si elle est résolue.

Les notes ne sont JAMAIS imprimées sur la page. Il n’existe pas un seul hook front-end dans ce fichier et un test le garantit. Les notes sont une conversation interne ; qu’un visiteur les voie serait pire qu’une mise en page cassée.

Une note est liée à l’identité du bloc. Dupliquer un bloc donne à la copie une NOUVELLE identité : elle n’hérite donc pas de la note — et, avantage secondaire, elle obtient sa propre portée CSS.

Les notes vivent dans les données propres à l’article : supprimez l’article et les notes partent avec lui, sans laisser de lignes orphelines.

L’IA dans l’éditeur — avec votre propre clé

Rédiger, réécrire, raccourcir, générer le texte alternatif des images et traduire. Anthropic et OpenAI sont pris en charge.

Vous saisissez VOTRE PROPRE clé d’API et la requête part de votre site DIRECTEMENT vers le fournisseur. Votre texte ne nous parvient jamais ; le quota et la facture restent les vôtres. Nous n’avons pas construit notre propre service cloud : votre texte transiterait alors par nos serveurs et la responsabilité des données deviendrait la nôtre.

La clé n’atteint jamais le navigateur — la requête est faite depuis le serveur. Elle n’est renvoyée par aucun point d’entrée non plus ; même le formulaire de réglages ne réaffiche pas la valeur.

Nous NE chiffrons PAS la clé, et nous le disons franchement : sous WordPress, la clé de chiffrement doit se trouver sur le même serveur, donc un attaquant ayant accès à la base obtient les deux. La qualifier de « chiffrée » promettrait une protection qui n’existe pas.

Le résultat n’est pas écrit d’emblée dans le bloc ; il arrive sous forme de suggestion et vous l’appliquez. C’est là notre véritable défense contre une phrase enfouie dans votre contenu qui serait lue comme une instruction — un humain valide.

Free et Pro

L’édition gratuite est le produit entier : les cent un blocs, les modèles de thème, la grille et le constructeur de boucle, le moteur de formulaires avec son stockage des envois, le menu, la recherche, les pop-ups, la bibliothèque de compositions, les préréglages de blocs, la palette globale, l’optimisation des images, le cache des blocs, le code personnalisé pour tout le site, les notes d’éditeur, l’écran Core Web Vitals et l’audit d’accessibilité.

Pro ajoute des capacités d’édition, pas de rendu :

  • Points de rupture — les onglets ordinateur / tablette / mobile, avec la hauteur minimale, la largeur du contenu, la largeur et les quatre valeurs de marge intérieure par point de rupture.
  • CSS personnalisé par bloc, où le jeton selector désigne ce bloc lui-même.
  • Options de formulaire — champs conditionnels, réponse automatique à l’expéditeur, webhook et champ de téléversement de fichier.
  • Export CSV des envois de formulaire.

Les panneaux de points de rupture et de CSS personnalisé apparaissent aujourd’hui sur les blocs principaux — Conteneur, Titre, Texte, Bouton, Séparateur, Image, Témoignage, Icône, Encadré d’icône, Liste d’icônes, Code court, Formulaire, Produits et Catégories de produits. Plusieurs réglages par point de rupture sont gratuits partout où ils existent : le nombre de colonnes de la grille sur tablette et mobile, le seuil du menu hamburger, la position mobile de l’encadré d’image et le choix d’appareil de la position collante.

Quand une licence expire ou est absente :

  • Votre site a exactement la même apparence. Chaque valeur tablette et mobile enregistrée continue d’être imprimée, et chaque règle CSS personnalisée par bloc aussi. Ce n’est pas une promesse, c’est une règle d’architecture : aucun fichier du chemin de rendu ne s’interroge sur la licence, et un test le vérifie à chaque version.
  • Les formulaires continuent d’être envoyés, d’être enregistrés et d’expédier des e-mails.
  • Les pop-ups existantes continuent de s’afficher.
  • Ce que vous perdez, ce sont les panneaux Pro dans l’éditeur — et rien d’autre.

Si nos serveurs sont injoignables, une licence active continue de fonctionner pendant sept jours. Une installation qui ne s’est jamais vérifiée avec succès n’obtient aucun délai de grâce : bloquer notre adresse n’est pas un moyen d’obtenir Pro.

Quand quelque chose ne fonctionne pas

« La session du formulaire a expiré. »
La copie en cache de cette page a plus de sept jours, ou les clés de sécurité de votre site ont été renouvelées. Videz le cache de page.
Le formulaire n’envoie pas d’e-mail
Vérifiez d’abord la liste des envois — l’enregistrement est écrit avant l’e-mail : s’il est là, le formulaire a fonctionné et c’est la remise qui a échoué. Vérifiez ensuite l’adresse du destinataire et la configuration de messagerie de votre site.
La page est correcte dans l’éditeur et fausse sur le front-end
L’aperçu de l’éditeur est approximatif par conception ; voir plus haut. Le front-end fait foi. Si un bloc porte des valeurs tablette ou mobile, l’éditeur affiche un avis en ce sens.
Un bloc se dit invalide quand j’essaie de le modifier
Historiquement, cela arrivait aux blocs enregistrés sur le serveur mais absents du script de l’éditeur — ils s’imprimaient parfaitement et n’échouaient qu’à l’ouverture pour édition. Un test protège désormais contre cela ; si vous le voyez encore, signalez le nom du bloc.
Le compte à rebours affiche la mauvaise heure
Le balisage porte un instant cible absolu, jamais « X secondes restantes » : une page mise en cache ne peut donc pas le figer. Le bloc se corrige sur l’horloge du serveur ; si cette requête est bloquée, il retombe sur l’horloge du visiteur plutôt que d’échouer.
Le modèle d’en-tête ou de pied de page ne s’affiche pas
Votre thème n’a pas de recette. Seuls Astra et GeneratePress peuvent être soulevés ; l’écran vous prévient. Les autres types de modèles fonctionnent avec n’importe quel thème.
Deux en-têtes sont apparus
MevvBlocks et MevvBridge en produisent chacun un. MevvBlocks prend la place en premier, délibérément — laissez l’en-tête à l’un des deux.
Les conteneurs sont plus larges ou plus étroits que défini
Une règle du thème l’emporte par la spécificité. Astra en particulier habille fortement ses descendants. Cela a été corrigé pour les cas mesurés en augmentant la spécificité plutôt qu’en utilisant !important ; si vous en rencontrez un nouveau, dites-nous quel thème.
Un article publié n’apparaît pas dans une grille
Il le devrait pourtant. La grille ne met en cache que les identifiants d’articles et tout article enregistré l’invalide. Si cela persiste, vérifiez que le type de publication et le tri sont bien ceux que vous attendez.

Limites

  • L’aperçu de l’éditeur est approximatif. La structure et le contenu y sont montrés ; l’apparence exacte, c’est le front-end.
  • Les modèles d’en-tête et de pied de page ne fonctionnent que sur Astra et GeneratePress. Tout autre thème n’obtient rien, plus un avertissement — le silence, ce serait deux en-têtes.
  • La carte est une intégration OpenStreetMap. Un marqueur, pas d’image de marqueur personnalisée, pas de style de carte, pas d’itinéraires. Pas de clé d’API, pas de compte de facturation, et aucune clé dans le code source de votre page.
  • Aucune surcouche d’accessibilité. Mesure et signalement, uniquement.
  • Aucun CAPTCHA.
  • Pas de recherche en direct. Une requête par frappe est une dépendance et une surface de limitation de débit.
  • Le compte à rebours utilise le fuseau horaire du site, pas celui du visiteur. Une campagne se termine au même instant partout dans le monde.
  • Le menu propose deux points de rupture, pas une valeur libre en pixels, et n’a ni mode fly-out ni mode hors-canevas — un panneau coulissant avec gestion du focus, c’est précisément à quoi sert le bloc pop-up.
  • Les cartes de grille ne peuvent pas être des h1, et l’imbrication des boucles s’arrête à deux niveaux.
  • Le contenu dynamique provient d’une liste fixe de sources. Il n’existe pas de champ « exécute cette expression » : cela donnerait l’exécution de code à quiconque peut modifier une page.
  • Les jeux globaux de couleurs et de typographie ne peuvent pas être supprimés, seulement vidés.
  • Les cartes produit sont dessinées par WooCommerce, pas par nous : votre thème et les hooks tiers continuent donc de fonctionner.
  • L’interface est livrée en onze langues. Turc, anglais, espagnol, allemand, français, portugais, italien, néerlandais, japonais, russe et polonais, plus des variantes régionales comme es_MX et pt_PT. Toute autre langue retombe sur l’anglais.
  • La fenêtre Web Vitals se réinitialise tous les 28 jours ; elle ne glisse pas. Une fenêtre glissante exigerait des intervalles quotidiens et vingt-huit fois plus de stockage. L’écran indique quand la fenêtre en cours a commencé.
  • La désinstallation ne supprime ni la table des envois ni les réglages. Le contenu de vos blocs reste lisible dans tous les cas — c’est du balisage standard dans post_content.

Aucune bibliothèque JavaScript ou CSS tierce n’est chargée, nulle part. Ni pour le carrousel, ni pour l’accordéon, ni pour le mouvement, ni pour la carte. Chacune aurait coûté entre quarante et cent kilo-octets sur chaque page qui l’utilise.