Documentation MevvCode

Exécuter du petit code avec une vraie frontière de sécurité.

MevvCode gère des snippets PHP, JavaScript, CSS, HTML et texte sans interroger un enregistrement de base de données modifiable à chaque requête. Ce guide couvre l’installation, le modèle d’exécution, la migration depuis Code Snippets, le mode sans échec, la portabilité et la frontière exacte entre Free et Pro.

À quoi sert MevvCode

MevvCode est un foyer pour les petits morceaux de comportement propres à un site : une règle de livraison WooCommerce, un champ de commande, une balise de vérification, un court outil d’administration, une correction CSS visuelle ou du HTML et du texte réutilisables. Il donne au code un responsable, un emplacement, des conditions, un historique et une voie protégée vers la production.

À utiliser quand
La modification est plus petite qu’une extension complète, mais assez importante pour ne pas disparaître dans un fichier de thème.
À ne pas utiliser quand
Le besoin est un produit métier complet, avec son propre modèle de données, ses écrans et son cycle de publication ; construisez alors une extension classique.
Responsabilité du code
Écrivez le code vous-même ou apportez du code relu par un développeur ou une source de confiance. MevvCode gère et protège le code ; il ne rend pas fiable un snippet inconnu.

Commencez chaque snippet emprunté à l’état inactif. Lisez-le, retirez les secrets et les identifiants propres au site, puis validez-le avant de l’activer.

Installation

Installez et activez d’abord l’extension gratuite MevvCode. Elle exige WordPress 6.6 ou plus récent et PHP 8.1 ou plus récent. Pro est une extension compagnon distincte et ne remplace jamais le runtime gratuit.

  1. Téléversez mevvcode-1.1.0.zip et activez-le.
  2. Ouvrez MevvCode → Snippets. Le répertoire de stockage et ses fichiers de protection pour le serveur web sont créés automatiquement.
  3. Créez un snippet inactif, choisissez son type et son emplacement, puis enregistrez-le.
  4. Servez-vous de l’aperçu et du résultat de syntaxe avant de l’activer.
  5. N’installez mevvcode-pro-1.1.0.zip que si vous avez besoin des écrans Pro, puis activez votre licence MEVD sous MevvCode → Licence.

Laissez l’extension gratuite active lorsque Pro est installé. Le runtime exécutable appartient à Free, de sorte qu’une licence expirée ne fait jamais disparaître un comportement déjà publié.

Votre premier snippet

Créez le premier enregistrement à l’état inactif. Donnez-lui un nom qui dit son objectif, et ne choisissez PHP et l’emplacement global que si le code lui-même s’accroche à un hook WordPress ou WooCommerce bien délimité ; enregistrez ensuite.

add_filter( 'woocommerce_package_rates', function ( $rates ) {
    if ( ! WC()->cart || WC()->cart->get_subtotal() < 1000 ) {
        return $rates;
    }
    return array_filter( $rates, function ( $rate ) {
        return 'free_shipping' === $rate->method_id;
    } );
} );
  1. Lisez le résultat de la validation ; une erreur d’analyse doit laisser l’enregistrement inactif.
  2. Vérifiez que votre boutique dispose déjà d’un mode de livraison gratuite configuré.
  3. Activez le snippet en préproduction et testez des paniers en dessous et au-dessus du seuil.
  4. Exportez une copie JSON avant de porter l’enregistrement en production.
  5. Publiez, puis vérifiez le panier public et le point de terminaison de santé de MevvCode.

L’exemple illustre la méthode de travail, pas une politique de livraison universelle. Les taxes, les codes promo, les devises et les zones de livraison peuvent changer le sous-total que votre règle métier devrait utiliser.

Tableau de bord turc et ligne de l’extension

Free et Pro 1.1.0 livrent des catalogues PO modifiables, MO compilés et POT. Lorsque la langue du site WordPress est Türkçe (tr_TR), le tableau de bord, les états de migration, les erreurs de validation et l’écran de licence se chargent automatiquement en turc.

  • L’écran des extensions affiche la description traduite.
  • Réglages ouvre directement l’onglet des réglages de MevvCode.
  • Documentation ouvre cette page et Assistance ouvre la page de contact.
  • La gestion des dépendances de WordPress empêche de supprimer Free tant que MevvCode Pro en a besoin.

Si le tableau de bord turc ne se charge pas, vérifiez Réglages → Général → Langue du site, puis mettez Free et Pro à la même version. Ne renommez pas de fichiers dans le répertoire des langues.

Le modèle d’exécution

Les enregistrements modifiables se trouvent sous wp-content/mevvcode-snippets/records. L’enregistrement d’une modification active construit une nouvelle génération dans un répertoire temporaire, valide chaque fichier PHP, écrit un manifeste et ne bascule le pointeur courant qu’ensuite.

Enregistrements
La source modifiable, les métadonnées, les conditions et l’historique.
Génération
Fichiers compilés immuables correspondant à un état connu comme fonctionnel.
Manifeste
La petite carte que lit le chemin de la requête pour trouver la génération courante.

Une compilation en échec ne met pas le site à jour partiellement. L’ancien manifeste reste courant, la source en échec reste modifiable et le tableau de bord affiche l’erreur. Il n’y a aucune requête de code de snippet par requête.

Ne modifiez pas les fichiers générés à la main. Ce sont des sorties de compilation jetables, remplacées à la prochaine compilation réussie.

Types, emplacements et conditions

PHP s’exécute via les hooks WordPress. JavaScript, CSS, HTML et texte ne sont imprimés qu’à l’emplacement explicite que vous choisissez : head, body-open, pied de page, avant ou après le contenu, code court, manuel ou une seule fois.

  • Le ET s’applique à l’intérieur d’un groupe de conditions ; les groupes sont reliés par OU.
  • Les contextes administration, site public, URL, utilisateur, rôle et requête peuvent être combinés.
  • Les étiquettes et les groupes organisent les enregistrements ; un verrou empêche les modifications et les actions groupées accidentelles.
  • Un snippet manuel ne rejoint aucun hook de requête tant que votre propre code ne l’appelle pas.

Utilisez l’emplacement et la condition les plus étroits qui décrivent le besoin. Un hook PHP global doit être un choix délibéré, pas le foyer par défaut d’un code copié depuis un ticket d’assistance.

Migrer depuis Code Snippets

Ouvrez MevvCode → Migration. L’importateur lit la table des snippets portant le préfixe du site, conserve chaque identifiant source et les octets de code exacts, et crée des enregistrements MevvCode mis en attente sans changer l’extension active.

  1. Lancez la détection et examinez le nombre d’enregistrements.
  2. Importez dans l’ensemble mis en attente, à l’état inactif.
  3. Analysez chaque snippet actif dans Code Snippets.
  4. Créez un instantané de retour arrière de la liste des extensions actives et du manifeste MevvCode courant.
  5. Compilez une génération complète.
  6. Lancez la bascule. Code Snippets n’est désactivé qu’une fois le manifeste existant.
  7. Une requête signée en boucle locale contrôle le site public. En cas de succès, la bascule est validée ; en cas d’échec, la liste des extensions et le manifeste sont restaurés automatiquement.

Les tables sources ne sont pas supprimées. Le retour arrière manuel reste disponible après une bascule réussie et réactive exactement l’ancienne liste des extensions actives. Sur mevvshop.com, le 1er septembre 2026, la bascule de production mesurée a préservé 9 enregistrements et 6 états actifs, et produit 0 écart sur le nom, les octets de code exacts, la priorité et le statut. C’est une preuve pour cette boutique, pas une référence universelle.

Si un snippet importé échoue à l’analyse, corrigez la copie MevvCode mise en attente ou laissez-la inactive. Ne désactivez pas Code Snippets à la main avant que la bascule ne signale une génération saine.

Mode sans échec et récupération

Le mode sans échec peut être activé avec la constante documentée ou par une URL signée de courte durée générée pour un administrateur. En mode sans échec, l’exécution des snippets s’arrête tandis que le tableau de bord reste accessible pour réparer.

  • Une erreur d’analyse PHP ne devient jamais la génération courante.
  • Une exception d’exécution désactive l’enregistrement responsable et laisse les autres snippets disponibles.
  • Le garde-fou contre les erreurs fatales n’enregistre que l’identité et l’état de l’enregistrement nécessaires à la récupération — jamais le code source ni les secrets de la requête.
  • La génération précédente, connue comme fonctionnelle, est conservée jusqu’à ce que la remplaçante passe tous les contrôles.
define( 'MEVVCODE_SAFE_MODE', true );

Retirez la constante une fois l’enregistrement défectueux corrigé ou désactivé. La laisser en place volontairement maintient tous les snippets éteints.

Portabilité et sauvegardes

Exportez les enregistrements choisis en MevvCode JSON v1 pour un aller-retour sans perte, ou en PHP lisible lorsque la destination ne doit pas dépendre de MevvCode. Les imports Code Snippets et WPCode sont des adaptateurs vers ce même format d’enregistrement canonique.

  • Un export JSON comprend les métadonnées, les conditions et le statut.
  • Un export PHP est destiné à la relecture et à une reprise en main manuelle, pas à réimporter des métadonnées cachées.
  • Le chargeur must-use peut porter le comportement compilé lorsque l’extension normale doit être supprimée.
  • Pro peut empaqueter les snippets choisis en une extension de fonctionnalités ZIP classique après avoir validé les noms, les chemins et le PHP.

Conservez une copie des exports hors du site avant un import important, une activation groupée ou une migration. Les révisions sont un historique de modification, pas une sauvegarde de secours.

Free et Pro

Free est le gestionnaire de snippets local complet et sûr. Il comprend les cinq types, le runtime atomique, les emplacements et les conditions de base, le garde-fou contre les erreurs fatales, le mode sans échec, la migration depuis Code Snippets, l’import/export, les générateurs, les révisions, les permissions par rôle, la REST en lecture seule et le chargeur must-use.

Pro est la couche de collaboration et de distribution. Elle ajoute les conditions réutilisables et planifiées ; le contexte d’appareil, de référent, de géolocalisation, de panier et de commande ; l’historique d’audit illimité ; les compilations CSS/JS et les ressources externes ; les événements de pixel e-commerce ; l’automatisation signée ; l’export d’extension ; les analyses agrégées locales ; les espaces de travail cloud chiffrés ; la revue par IA sur activation ; et une API compatible REST/MCP protégée par action.

Le cloud et l’IA sont deux activations distinctes. L’IA reçoit la copie masquée et renvoie un diff de revue ; elle ne l’applique jamais automatiquement. Les écritures cloud utilisent un HMAC signé avec la clé de licence, et les révisions optimistes rejettent les mises à jour périmées.

Trouver et activer une licence Pro

Une licence achetée est associée à l’e-mail de la commande et apparaît sur mevvsoft.com/account. La clé commence par MEVD ; ne la collez jamais dans un ticket d’assistance, une URL ou un journal public.

  1. Installez et activez le paquet MevvCode gratuit.
  2. Installez et activez le paquet MevvCode Pro correspondant.
  3. Connectez-vous au compte créé pour l’e-mail de la commande et copiez la clé MevvCode Pro.
  4. Ouvrez MevvCode → Licence, collez la clé MEVD et activez-la.
  5. Vérifiez que le statut est actif et que le site apparaît en face de la licence dans votre compte.

Si la licence est absente du compte, vérifiez d’abord que vous vous êtes connecté avec l’adresse e-mail utilisée lors de la commande. Si elle est présente mais que l’activation signale une limite de sites, libérez un ancien site depuis le compte ou contactez l’assistance sans envoyer la clé complète.

FAQ et dépannage

Un snippet a été enregistré mais ne s’est pas exécuté
Vérifiez qu’il est actif, que son emplacement correspond à la requête, que chaque groupe de conditions peut être satisfait et que le mode sans échec est désactivé.
L’ancienne extension est toujours active après la migration
La bascule n’a pas été validée. Lisez le résultat de la migration ; un contrôle d’analyse, de compilation ou de santé en boucle locale a échoué et le retour arrière a protégé le site.
Le site est passé en mode sans échec
Ouvrez le tableau de bord par l’URL de récupération signée, examinez l’enregistrement désactivé le plus récemment, corrigez-le ou laissez-le désactivé, compilez, puis quittez le mode sans échec.
Le cloud signale un conflit
Un autre client a modifié l’espace de travail après la révision que vous aviez chargée. Comparez l’enregistrement distant à votre enregistrement local et renvoyez-le en vous appuyant sur la nouvelle révision de base.
La revue par IA est indisponible
La licence Pro et l’activation explicite de l’IA doivent toutes deux être actives, et l’adaptateur de service doit être configuré. Les snippets locaux continuent de fonctionner.

Lorsque vous sollicitez l’assistance, envoyez les versions des extensions, les versions de WordPress et de PHP, l’UUID de l’enregistrement et le texte exact de l’erreur. Retirez les secrets et les données clients. N’envoyez pas de clé de licence de production ni le code source complet, sauf si c’est nécessaire et que vous l’avez relu.