1. Architecture du plugin
Alesta AI suit une architecture modulaire orientée services. Chaque
module (SEO, traduction, social, etc.) est une classe autonome qui implémente une interface
commune Alesta_Module_Interface et s'enregistre dans un registre central
au boot. Aucun couplage fort entre modules : vous pouvez désactiver SEO sans casser
Traduction.
Le plugin repose sur trois couches :
- Core : bootstrap, registre de modules, gestionnaire d'options, client HTTP Claude, logger.
- Modules : un dossier par module, isolé, désactivable. Chaque module déclare ses propres hooks, settings, et endpoints REST.
- Admin UI : interface React (compilée via Webpack) côté wp-admin, qui consomme l'API REST interne du plugin.
2. Structure du repo
Le code source est hébergé sur GitHub (privé pendant la v1, ouverture progressive prévue pour la v2). Arborescence simplifiée :
alesta-ai/
├── alesta-ai.php // Bootstrap WordPress
├── includes/
│ ├── core/ // Registre, options, logger
│ ├── api/ // Client Claude + cache
│ └── rest/ // Endpoints REST internes
├── modules/
│ ├── seo-meta/
│ ├── translation/
│ ├── social-cards/
│ └── ... // 31 modules au total
├── admin/
│ ├── src/ // React + TSX
│ └── build/ // Bundle compilé
├── tests/
│ ├── phpunit/
│ └── e2e/ // Playwright
├── languages/ // fr_FR.po, en_US.po, etc.
└── composer.json
3. Hooks PHP (actions & filtres)
Le plugin expose plus de 80 hooks documentés. Les principaux :
Actions (do_action) :
alesta_ai_boot— déclenché au chargement du plugin, avant l'enregistrement des modules.alesta_ai_module_registered— chaque fois qu'un module s'enregistre. Args :$module_id, $instance.alesta_ai_before_claude_call— avant chaque appel à l'API Claude. Args :$endpoint, $payload.alesta_ai_after_claude_call— après la réponse. Args :$endpoint, $payload, $response, $duration_ms.alesta_ai_meta_generated— après génération d'un titre/meta. Args :$post_id, $meta_data.
Filtres (apply_filters) :
alesta_ai_prompt— modifier le prompt envoyé à Claude avant l'appel. Très utilisé pour personnaliser le ton.alesta_ai_claude_model— forcer un modèle spécifique par requête (claude-sonnet-4,haiku, etc.).alesta_ai_module_enabled— activer/désactiver un module dynamiquement.alesta_ai_user_can_generate— contrôler qui peut déclencher une génération (par défaut : rôle Editor+).alesta_ai_cache_ttl— durée du cache par module (en secondes).
4. Créer son propre module
Un module Alesta est une classe PHP qui implémente Alesta_Module_Interface
et s'enregistre via le hook alesta_ai_boot. Squelette minimal :
<?php
class My_Custom_Module implements Alesta_Module_Interface {
public function get_id() { return 'my-module'; }
public function get_name() { return 'Mon module'; }
public function get_description() { return 'Fait X et Y.'; }
public function get_required_plan() { return 'solo'; }
public function init() {
add_action('save_post', [$this, 'on_save']);
}
public function on_save($post_id) { /* logique métier */ }
}
add_action('alesta_ai_boot', function($registry) {
$registry->register(new My_Custom_Module());
});
Pour appeler Claude depuis votre module, utilisez le service global :
alesta_ai()->claude()->complete($prompt, $options). Le client gère
auth, retry, rate limiting, et logs automatiquement.
5. Tests unitaires & CI
Le projet utilise PHPUnit 10 pour les tests unitaires PHP et Playwright pour l'E2E sur wp-admin. Coverage global : ~78%.
composer test— lance PHPUnit sur le dossiertests/phpunit/.npm run test:e2e— lance Playwright sur un WordPress de test (Docker).composer cs— vérifie le code style (PSR-12 + WP Coding Standards).
CI : GitHub Actions tourne sur chaque PR avec PHP 8.1, 8.2, 8.3 et WordPress 6.4 à 6.7. Aucun merge possible sans tests verts.
6. Contribution open source
Le cœur d'Alesta sera progressivement ouvert sous licence GPL-3.0 (cohérent avec WordPress). En attendant l'ouverture officielle (Q4 2026), vous pouvez déjà :
- Reporter un bug sur
github.com/alesta-ai/alesta-ai/issues(issues publiques). - Proposer une feature via le formulaire de contact en cochant "Suggestion".
- Publier votre module custom sur GitHub avec le tag
alesta-ai-module— nous relayons les meilleurs dans la documentation. - Rejoindre le canal Discord développeurs (lien envoyé au support).
7. Roadmap technique
- v1.4 — juillet 2026 : refactor du registre de modules, support multi-tenant pour les agences.
- v1.5 — octobre 2026 : SDK officiels Node.js et PHP, CLI dédiée
alesta. - v2.0 — Q1 2027 : ouverture open source du core, marketplace de modules tiers.
- v2.1+ : support Gutenberg blocks IA, intégration WP-CLI étendue, hooks GraphQL.
8. Ressources & communauté
- 📘 Documentation API & Webhooks
- ⚙️ Configuration avancée
- 🧩 Liste des modules
- 💬 FAQ & Dépannage
- 📮 Contacter l'équipe technique
Une question pointue ? Le support Pro inclut un accès direct à l'équipe dev sous 24h ouvrées.
Besoin d'aide ? Notre équipe vous répond.
Une question, un cas d'usage spécifique, un problème technique ? Le support Alesta AI répond sous 24h en jours ouvrés.