Développeur Magento / Adobe Commerce : plugins, EAV et indexeurs à vérifier

Magento 2 laisse modifier presque tout, par plugin, préférence, observateur ou surcharge de template. Le bon développeur sait lequel choisir et ce que ce choix coûtera au prochain patch de sécurité ou à la prochaine montée de version.

Recevoir la fiche complète

Mis à jour le Par l'équipe Delectus5 min de lecture

La fiche Développeur Magento / Adobe Commerce : technologies, chaîne du poste, une question et la grille d'évaluation

Un développeur Magento travaille sur Magento Open Source ou sur Adobe Commerce, l'édition payante d'Adobe, en PHP 8.3 ou 8.4 avec MySQL ou MariaDB, OpenSearch, Valkey pour le cache et RabbitMQ pour les files de messages. Il écrit des modules, branche l'ERP, le PIM ou le prestataire de paiement par REST ou GraphQL, et maintient un front Luma ou Hyvä. Le thème Hyvä est devenu gratuit et open source. Adobe Commerce as a Cloud Service, l'offre SaaS, change les habitudes : les extensions sortent du cœur et passent par App Builder, les webhooks et les événements.

La version 2.4.9 est sortie le 12 mai 2026 avec PHP 8.5, et le support régulier de la 2.4.6 a pris fin en août 2026. Beaucoup de boutiques ont donc une montée de version au planning. Un développeur qui en a mené une parle des modules tiers incompatibles, des plugins cassés par une signature de méthode modifiée et des tests faits sur une copie de la production.

Méfiez-vous des CV qui listent dix modules livrés sans détail. Demandez quel indexeur tournait en mode planifié, pourquoi un plugin around a remplacé un after, ou comment un bloc mal déclaré a sorti une page du cache. Le PDF contient un cas de 20 minutes sur un import de prix qui bloque le catalogue.

Le socle technique d'une boutique Magento 2

Modules et injection de dépendances

Tout le code spécifique vit dans des modules, déclarés par un module.xml et un registration.php, installés par Composer. Le fichier di.xml indique quelle classe injecter dans quel constructeur. Un développeur confirmé passe par ces déclarations et n'appelle pas l'ObjectManager dans son propre code.

Plugins, observateurs et préférences

Trois façons de changer le comportement du cœur sans le modifier. Le plugin s'exécute avant, après ou autour d'une méthode publique, l'observateur réagit à un événement, la préférence remplace une classe entière. La préférence est la plus risquée, car deux modules ne peuvent pas remplacer la même classe.

Modèle EAV et catalogue

Produits, catégories et clients rangent leurs attributs dans des tables séparées par type de valeur (varchar, int, decimal, text), une ligne par attribut et par vue de magasin. Ce modèle rend le catalogue très souple et coûte cher en jointures. Il explique la plupart des imports lents.

Indexeurs et cache de page

Les indexeurs recalculent les tables de lecture (prix, stock, URL, recherche) à partir des données EAV. En mode planifié, un cron traite les changements notés dans des tables de suivi. Le cache de page complet tourne sur Varnish ou Fastly, et ce qui dépend du client connecté se charge à part, en JavaScript.

Luma et Hyvä

Luma est le thème d'origine, construit sur RequireJS, Knockout.js et LESS, lourd à charger. Hyvä le remplace par Alpine.js et Tailwind CSS, avec beaucoup moins de JavaScript. Le thème Hyvä est gratuit et open source ; Hyvä Checkout et Hyvä UI sont des produits à part. Les modules tiers demandent parfois un module de compatibilité.

API REST et GraphQL

Magento expose ses contrats de service en REST et en GraphQL. Le GraphQL sert surtout aux fronts headless et aux applications mobiles, le REST aux échanges avec l'ERP, le PIM ou l'OMS. Ajouter un champ GraphQL demande un schéma et un resolver dans un module.

Adobe Commerce on Cloud et as a Cloud Service

Adobe Commerce on Cloud est un PaaS : le code part d'un dépôt Git et le déploiement passe par ece-tools, avec des environnements d'intégration, de préproduction et de production. Adobe Commerce as a Cloud Service est un SaaS mis à jour par Adobe. Les extensions y passent par App Builder, API Mesh, les webhooks et les événements, hors du code PHP du cœur.

Files de messages et cron

RabbitMQ porte les traitements asynchrones : mises à jour en masse, exports, synchronisations. Les consommateurs se lancent par commande ou par cron. Un import lancé pendant les heures de trafic, sans file d'attente, explique souvent une base saturée.

Les offres parlent de développeur Magento, de développeur Magento 2, de développeur Adobe Commerce ou de développeur PHP e-commerce. Le métier se partage entre le back-end (modules, intégrations, performance) et le front (Luma ou Hyvä), et les postes seniors demandent les deux. Magento 1 n'est plus maintenu depuis juin 2020 : un CV qui s'arrête là demande de vérifier sérieusement les réflexes Magento 2. Adobe propose des certifications Adobe Commerce Developer de niveau Professional et Expert, qui attestent la connaissance du framework. La tenue d'une boutique chargée pendant les soldes se vérifie par des exemples précis.

Les compétences Magento à contrôler en entretien

  • Modules, DI et points d'extension
  • Modèle EAV et catalogue
  • Indexation et cache de page
  • Front Luma et Hyvä
  • API REST, GraphQL et intégrations
  • Déploiement et montées de version

Questions d'entretien pour un développeur Magento 2

Chaque question vient avec ce qu'une bonne réponse contient et le signal qui doit vous alerter. Pas besoin d'être technique pour les poser : écoutez si le candidat raconte du vécu.

  1. Question 1 · confirmé

    Un client veut ajouter 2 % de frais au prix de certains produits. Vous passez par un plugin, un observateur ou une préférence ?

    Une bonne réponseUn plugin after sur le calcul du prix, en sachant que la page catégorie lit l'index de prix : modifier le prix du modèle seul laisse un écart entre la liste, la fiche produit et le panier. Le bon profil traite donc aussi l'indexation des prix, ou passe par une règle de prix si le besoin s'y prête. Il écarte la préférence, qui remplace toute la classe et entre en conflit avec le premier module tiers qui fait pareil. L'observateur ne convient que si un événement existe au bon endroit.

    Signal d'alerteModifier un fichier du cœur dans vendor/, ou une préférence sur la classe Product « parce que c'est plus simple ». Aucune mention de l'index de prix.

  2. Question 2 · confirmé

    Un import de 50 000 produits prend six heures. Où passe le temps, et que changez-vous ?

    Une bonne réponseLa sauvegarde produit par produit via le repository déclenche à chaque fois plugins, observateurs et réindexation. Il passe par l'import natif ou une écriture en masse, met les indexeurs en mode planifié, découpe en lots et lance le traitement par une file RabbitMQ ou un cron hors des heures de trafic. Il mesure avant d'optimiser, avec le profiler, New Relic ou Blackfire.

    Signal d'alerte« On augmente la mémoire PHP et le max_execution_time », sans regarder où part le temps.

  3. Question 3 · confirmé

    Un prix modifié dans l'admin n'apparaît sur le site qu'au bout de plusieurs heures. Que vérifiez-vous ?

    Une bonne réponseD'abord le mode des indexeurs (indexer:status) : en mode planifié, la mise à jour attend le cron, donc il vérifie que le cron tourne et que les tables de suivi des changements se vident. Ensuite le cache de page complet : la page doit être purgée par ses tags dans Varnish ou Fastly. Enfin une éventuelle règle de prix catalogue, qui a son propre calcul.

    Signal d'alerteVider tout le cache et tout réindexer à la main à chaque fois, sans chercher pourquoi la mise à jour automatique ne passe pas.

  4. Question 4 · confirmé

    Le client veut passer de Luma à Hyvä. Qu'est-ce qui coûte le plus cher dans la migration ?

    Une bonne réponseLes modules tiers et maison qui ajoutent du JavaScript Knockout ou RequireJS au front : chacun demande un module de compatibilité Hyvä ou une réécriture en Alpine.js. Il commence par l'inventaire des modules et vérifie ceux qui ont une compatibilité publiée. Il parle aussi du tunnel d'achat (garder celui de Luma, le refaire ou prendre Hyvä Checkout) et des templates surchargés dans le thème actuel.

    Signal d'alerte« On change de thème dans l'admin et c'est fait », ou un chiffrage sans inventaire des modules.

  5. Question 5 · confirmé

    L'ERP pousse les stocks toutes les cinq minutes par l'API REST et la boutique ralentit. Comment revoyez-vous l'intégration ?

    Une bonne réponseIl remplace les appels unitaires par les endpoints asynchrones et en masse (bulk API), traités par RabbitMQ, ou par des fichiers importés par lots. Il n'envoie que les variations, pas tout le catalogue, et surveille les consommateurs. L'indexeur de stock en mode planifié évite une réindexation à chaque appel.

    Signal d'alerteUn appel REST par produit toutes les cinq minutes, sans file d'attente, ou une écriture SQL directe dans les tables de stock.

Recevez la fiche d'entretien complète en PDF

La fiche pour mener l'entretien de bout en bout, prête à imprimer ou à partager avec le manager.

  • 30 questions sur 6 axes, avec la bonne réponse, le signal d'alerte et la relance
  • Le niveau visé pour chaque question
  • Une mise en situation de 20 minutes et ce qu'on attend du candidat
  • La grille d'évaluation de 1 à 4, axe par axe

Recruter sur Magento et Adobe Commerce : vos questions

Quelle différence entre Magento Open Source et Adobe Commerce pour un développeur ?

Le code de base est le même, et les réflexes aussi : modules, DI, EAV, indexeurs. Adobe Commerce, payant, ajoute le B2B, le content staging, les segments clients et le support de l'éditeur, avec un hébergement Cloud en option. Le content staging modifie le schéma des tables, qui passent à row_id. Un développeur passé d'une édition à l'autre s'adapte vite. Demandez-lui seulement s'il a déjà travaillé avec le staging ou le module B2B.

Que faire d'un candidat qui vient de Magento 1 ?

Magento 1 n'est plus maintenu depuis juin 2020, et Magento 2 a changé l'architecture : Composer, injection de dépendances, plugins, schéma déclaratif, nouveau front. L'expérience du catalogue et de l'EAV reste utile. Vérifiez la pratique récente de Magento 2 par des questions précises sur di.xml, les plugins et les indexeurs en mode planifié. Si elle manque, prévoyez une montée en compétence ou un poste moins exposé au départ.

Quel test technique proposer à un développeur Magento ?

Un module court à écrire ou à corriger en une heure : un plugin sur une méthode de prix, un attribut ajouté par data patch, un bloc qui oublie ses tags de cache. Fournissez un environnement Docker prêt, car installer Magento prend du temps. Faites commenter les choix à voix haute. Vous voyez si la personne connaît les points d'extension et pense d'elle-même au cache et à l'index de prix.

Une certification Adobe Commerce remplace-t-elle l'entretien technique ?

Non. Elle montre que la personne a révisé l'architecture, le catalogue, le tunnel d'achat et les API pour un examen d'Adobe. Elle ne dit rien de son travail sur une boutique réelle ni de la qualité de son code. Prenez-la comme un bon signal, puis demandez une montée de version menée, un import accéléré ou un incident de cache résolu. Delectus AI peut poser ces questions en préqualification, avant l'entretien avec l'équipe.

Pour structurer vos autres entretiens, consultez aussi nos pages sur les questions d'entretien de recrutement, la méthode de l'entretien structuré et la grille d'évaluation d'entretien.

Les fiches voisines

Toutes les fiches →

Voyez Delectus sur vos propres offres.

Commencez gratuitement. Passez à l'échelle quand vous êtes prêt.

Demander une démo

Votre ATS, connecté à Delectus

  • Workable
  • Teamtailor
  • iCIMS
  • Lever
  • SmartRecruiters
  • Jobvite
  • Greenhouse
  • Pinpoint