Skip to content

Version 1.0.3 - Refactoring Majeur (Best Practices)

Choose a tag to compare

@cyrilgodon cyrilgodon released this 18 Nov 12:12
· 2 commits to master since this release

🧹 Version 1.0.3 - Refactoring Majeur (Best Practices WordPress)

Simplification Drastique

150+ lignes de code supprimées → Tout géré par WordPress nativement via Requires Plugins:

Avant v1.0.3

// 250+ lignes de code custom
function eai_ml_check_dependencies() { /* 50 lignes */ }
function eai_ml_check_elevatio_compatibility() { /* 20 lignes */ }
function eai_ml_activate() { /* 40 lignes avec wp_die() */ }
function eai_ml_runtime_dependencies_check() { /* 50 lignes notices */ }
add_action('admin_notices', 'eai_ml_runtime_dependencies_check');

Après v1.0.3

// 1 ligne dans le header
* Requires Plugins: ai-engine, polylang

// Hook d'activation simplifié (juste log)
function eai_ml_activate() {
    error_log('Plugin activated');
}

Changements

  • Supprimé : eai_ml_check_dependencies() (50 lignes)
  • Supprimé : eai_ml_check_elevatio_compatibility() (20 lignes)
  • Supprimé : Logique custom d'activation avec wp_die() (40 lignes)
  • Supprimé : eai_ml_runtime_dependencies_check() et admin_notices (50 lignes)
  • Utilisation : Header natif WordPress Requires Plugins:
  • Résultat : Code 60% plus court, 100% best practices

Avantages

  1. WordPress gère tout : Affichage des dépendances manquantes automatique
  2. Pas de code custom : Aucune maintenance nécessaire pour les dépendances
  3. Meilleure UX : Messages d'erreur natifs WordPress (cohérents avec l'admin)
  4. Code propre : Focus sur les fonctionnalités, pas sur la plomberie

Leçon Apprise

TOUJOURS vérifier les systèmes natifs WordPress AVANT de coder.

Le header Requires Plugins: existe depuis WordPress 6.5 (2024) et rend obsolète TOUT code de vérification manuelle. Les versions 1.0.0, 1.0.1 et 1.0.2 auraient pu être évitées en appliquant cette best practice dès le début.


Migration depuis v1.0.0-1.0.2 : Aucune action requise, simple mise à jour. Le comportement est identique mais le code est beaucoup plus propre.