Magixsearch
Avertissement technique & Prérequis d'installation
L'intégration, la configuration avancée des index MySQL et le raccordement événementiel de MagixSearch exigent des compétences éprouvées en architecture logicielle, en optimisation SQL et en intégration front-end sous Magix CMS 4.
Ce plugin ne s'adresse pas aux utilisateurs néophytes : son installation et son paramétrage doivent être confiés exclusivement à un professionnel indépendant (développeur ou intégrateur web) ou à une agence web spécialisée.
1. Vue d'ensemble
MagixSearch est le moteur de recherche transversal officiel de Magix CMS 4. Conçu pour éliminer les requêtes fragmentées et les surcharges de maintenance, il unifie l'ensemble des flux de recherche du site au sein d'une seule interface sans jamais contourner le cycle de vie du CMS.
Le plugin repose sur deux principes fondamentaux :
- Introspection du Core : détection automatique des modules installés et activés en base de données.
- Réutilisation stricte des Presenters natifs : respect des standards de formatage (images responsives, URLs canoniques et sécurisation des données).
2. Détection dynamique des modules
MagixSearch interroge directement la table de configuration mc_config au moment de l'exécution. Les requêtes SQL ne ciblent que les composants réellement actifs :
| Module Core | Table ciblée | Champs indexés et Données traitées |
|---|---|---|
| Pages CMS | mc_cms_page |
Titres (name_pages), contenus éditoriaux (content_pages) |
| Actualités | mc_news |
Titres (name_news), corps de texte et extraction dynamique des tags associés |
| Catégories | mc_catalog_cat |
Libellés (name_cat), descriptions structurelles |
| Produits | mc_catalog_product |
Noms (name_p), descriptions, références produits (reference_p) et catégories canoniques |
Remarque : Si un module (par exemple le Catalogue) est désactivé dans le CMS, les clauses de jointure et sous-requêtes associées sont automatiquement retirées des plans d'exécution SQL, sans modification de code.
3. Moteurs d'indexation : LIKE vs FULLTEXT
Le plugin propose un commutateur en administration pour adapter le moteur de recherche aux spécificités de votre serveur :
Mode Standard (LIKE %...%)
- Usage : Catalogues de taille modeste, sites vitrines, hébergements mutualisés standards.
- Fonctionnement : Analyse par sous-chaînes partielles sans configuration serveur particulière.
- Avantages : Aucune contrainte sur la taille minimale des termes ou la configuration du démon MySQL/MariaDB.
Mode Avancé (FULLTEXT)
- Usage : Catalogues e-commerce volumineux, bases d'actualités denses, serveurs dédiés ou VPS.
- Fonctionnement : Exécute des clauses
MATCH(...) AGAINST(... IN BOOLEAN MODE). - Fonctionnalités : Calcul de pertinence avec pondération des résultats, prise en charge des troncatures et index composites sur les colonnes textuelles majeures.
4. Pipeline de présentation et cohérence UI
MagixSearch ne manipule pas de données brutes arbitraires dans ses templates : chaque résultat est hydraté via le Presenter officiel de son module respectif (PagesPresenter, NewsPresenter, CategoryPresenter, ProductPresenter).
Ce pipeline garantit :
- La gestion des médias : Déclinaison des tailles (s, m, l), conversion WebP et fallbacks générés automatiquement par
ImageTool. - Le respect du SEO : Génération systématique des URLs réécrites et canoniques via
UrlTool. - L'homogénéité visuelle : Compatibilité directe avec les fichiers de boucles natifs de votre thème (
pages-grid.tpl,news-grid.tpl,product-grid.tpl).
5. Intégration Front-End
L'affichage du formulaire de recherche s'effectue par injection d'événement dans le gabarit d'en-tête (généralement header.tpl) :
{event name="displayHeaderSearch"}
Le comportement ergonomique s'ajuste selon le support et la configuration définie en back-office :
- Desktop (Grand écran) : Choix entre une barre de recherche déployée continue (champ de saisie direct) ou un déclencheur compact sous forme de menu déroulant pour préserver l'espace de navigation.
- Mobile : Déclenchement automatique par icône compacte ouvrant un volet dédié afin d'optimiser l'affichage sur petit écran.
6. Bonnes pratiques de déploiement
- Validation des index : En cas d'activation du mode FULLTEXT, vérifiez que vos tables utilisent le moteur de stockage
InnoDBet que les index adéquats ont bien été créés lors de l'installation. - Configuration MySQL : Si nécessaire, ajustez les directives
ft_min_word_lenouinnodb_ft_min_token_sizeau niveau du serveur pour permettre la recherche sur des mots courts (3 caractères ou moins). - Surcharge de thèmes (Override) : Ne modifiez jamais les gabarits situés dans
plugins/Magixsearch/views/front/. Utilisez le mécanisme de surcharge en copiant les fichiers cibles directement dans votre thème :- Page de résultats :
skin/{votre_theme}/plugins/magixsearch/results.tpl - Widget d'en-tête :
skin/{votre_theme}/plugins/magixsearch/hooks/header_search.tpl
- Page de résultats :

