Magento 2 · Développement
Présentation du module open-source Hyvä Admin, avec des exemples de grilles produits, commandes et CMS — sans UI Components.
📅 Mars 2025 | 🕒 8 min de lecture | 🏷️ Magento 2, Hyvä, Admin, Performance
| Module | Compatibilité | UI Components | Licence | Grilles incluses | Config |
|---|---|---|---|---|---|
| Hyvä Admin | Magento 2.4+ | Aucun requis | Open Source | Products, Orders, CMS | XML déclaratif |
Sommaire
Pourquoi l’admin Magento 2 est pas foufou
Tout développeur Magento 2 le sait : créer une grille ou un formulaire dans l’interface d’administration, c’est s’aventurer dans les méandres des UI Components. Cette architecture basée sur Knockout.js et des fichiers XML imbriqués est puissante, certes — mais elle est lente à maîtriser, difficile à déboguer et génère des pages admin qui peinent à se charger.
Entre les listing.xml, les form.xml, les providers de données et les composants virtuels, le moindre ajout d’une colonne personnalisée semble parfois compliqué, abstrait. Sans parler des performances : les UI Components chargent du JavaScript lourd côté client, ce qui alourdit considérablement l’expérience.
Hyvä Admin : une alternative allégée des UI Components
C’est exactement le problème que résout Hyvä Admin, le module open-source de l’équipe Hyvä Themes. L’objectif affiché est clair : rendre la création de grilles et de formulaires dans l’adminhtml de Magento 2 rapide et agréable.
Le module fonctionne en réduisant les couches natives d’UI Component. On repart sur une base qui s’appuie sur une configuration XML simple et génère des interfaces propres, légères et performantes. Exit Knockout.js, bootstrap ui, place à des templates PHP/HTML classiques, faciles à personnaliser et à étendre.
Exemple pour ajouter une colonne Select dans magento 2 natif
<column name="name" class="Vendor\Module\Ui\Component\Listing\Column\Name">
<argument name="data" xsi:type="array">
<item name="options" xsi:type="object">Vendor\Module\Model\Source\Type</item>
<item name="config" xsi:type="array">
<item name="filter" xsi:type="string">select</item>
<item name="component" xsi:type="string">Magento_Ui/js/grid/columns/select</item>
<item name="dataType" xsi:type="string">select</item>
<item name="bodyTmpl" xsi:type="string">ui/grid/cells/html</item>
<item name="label" xsi:type="string" translate="true">Name</item>
<item name="sortOrder" xsi:type="number">80</item>
<item name="visible" xsi:type="boolean">false</item>
</item>
</argument>
</column>
Et maintenant sous Hyva
<column name="website_ids" label="Websites" type="website_id" template="Hyva_Admin::grid/content.phtml" source="Magento\Store\Model\ResourceModel\Website\Collection"/>
Les atouts clés
⚡ Performance
Rendu serveur, aucun JS lourd côté client.
📄 Config XML simple
Une syntaxe déclarative claire et prévisible.
🔧 Extensible
Colonnes custom, renderers, filtres, actions de masse.
🎯 DX améliorée
Développement plus rapide, debugging aisé.
Exemple du module : grilles produits, commandes et CMS / Avec formulaire en ajax
J’ai récemment finalisé l’intégration complète du module Hyvä Admin sur un projet Magento 2. Le projet était déjà bien avancé par la communauté, il manquait plus que à mettre en place les models de save, load, les inputs, les layouts et quelques interfaces. Vous pouvez trouver le core du projet git sur ce lien.
Ajouté à ce module, il faut installé aussi Hyva admin Test qui comporte tous les grids et de formulaires réalisés.
Grille des produits du catalogue
La grille catalogue affiche, comme la grille native, les produits avec colonnes SKU, nom, prix, stock et statut.

Grille CMS, Customers & Sales : commandes, factures, livraisons et remboursements
Pareil pour les autres grilles, j’ai remis tous les éléments natifs. A savoir les mêmes mass action, les mêmes variables de grilles, export csv etc.
Formulaire Hyva Admin
Le formulaire ressemble à celui natif de magento mais il est bien épuré et plus rapide ! Avec un Save intégré en Ajax.

A partir des formulaires on peut maintenant créer plus facilement de nouveaux modules dans l’admin de Magento. Pour exemple ici https://github.com/tweetyx/pagespeedfr_cmsacf ; j’ai développé un module qui comporte à la fois la grille et le formulaire sur la même page. Cela permet une interface de gestion plus interactif, plus rapide ! La sauvegarde étant en ajax, la page ne se recharge pas donc on peut enchainé les créations et éditions de nos données.
Le module Hyva advance custom field que j’ai développé ici permet, à la chaine, d’uploader des images, fichiers, textes et liens. Cela évite au client d’avoir à faire dans certain cas du HTML ou malencontreusement à modifier du html et casser tout le site.

Comparatif : UI Components vs Hyvä Admin
Voici un tableau récapitulatif des différences concrètes entre les deux approches :
| Critère | UI Components (natif) | Hyvä Admin |
|---|---|---|
| Courbe d’apprentissage | Très élevée | Faible |
| Configuration | XML complexe, imbriqué | XML simple et lisible |
| Dépendance Knockout.js | ✅ Oui | ❌ Non |
| Performance chargement | Lente (JS lourd) | Rapide (rendu serveur) |
| Debugging | Difficile | Standard PHP/HTML |
| Colonne personnalisée | 30–60 min | 5–10 min |
| Compatibilité Magento 2 | ✅ Native | ✅ 2.4+ |
| Open Source | ✅ Oui | ✅ Oui |
| Formulaires admin | ✅ Oui | ✅ Oui |
| Support Alpine.js / Tailwind | ❌ Non natif | ✅ Compatible |
FAQ — Questions fréquentes sur Hyvä Admin
Les questions les plus fréquentes sur Hyvä Admin.
La migration se fait progressivement. Il suffit de créer un nouveau fichier XML de configuration Hyvä Admin et de rediriger l’URL vers le nouveau controller. Les grilles natives peuvent coexister avec les grilles Hyvä Admin pendant la transition. La documentation officielle du module fournit des exemples détaillés.
Oui. Hyvä Admin est compatible avec Magento 2.4.x et les versions suivantes. Il ne remplace pas le core Magento mais s’y intègre en tant que module additionnel. Aucune dépendance à Hyvä Theme (front-office) n’est requise pour utiliser Hyvä Admin.
Oui, le module couvre à la fois les grilles (listing) et les formulaires (form). Les formulaires supportent les fieldsets, les dépendances conditionnelles entre champs, les validations et les onglets. La syntaxe reste aussi simple que pour les grilles.
Absolument. Hyvä Admin est un module indépendant dédié à l’interface d’administration. Il fonctionne parfaitement avec le thème Luma ou tout autre thème front-office. Les deux modules (Hyvä Theme et Hyvä Admin) sont complètement dissociés.
Pour des cas d’usage très complexes avec des interactions JS avancées côté client, les UI Components natifs offrent plus de flexibilité. Hyvä Admin cible les grilles et formulaires classiques qui représentent 90 % des besoins. Pour les 10 % restants (widgets interactifs poussés), une approche hybride reste possible.