Utilisation des classes Proxy Magento 2

 

Magento 2 utilise le principe d'injection de dépendances comme alternative à la classe finale Mage de Magento 1. Cela veut dire que si une classe A dépend du service B, B doit être injecté directement dans le constructeur de A, ce n'est plus à A de récupérer la dépendance B au moment où il en a besoin.

Cela implique inévitablement que B doit être instancié avant d'être injecté dans A. Cela n'a rien de problématique en soi, par contre imaginons que l'instanciation de B soit relativement lourde en terme de ressource et que B possède également des dépendances, qui elles-mêmes possèdent des dépendances, qui elles-mêmes... Vous l'aurez compris, cela peut commencer à devenir non négligeable, surtout (et c'est là que la problématique devient intéressante) si A a besoin de B uniquement dans certaines conditions (selon l'état d'une variable, l'état d'un service, le calcul d'un résultat, ou autre), l'instanciation de B devient donc inutile si A n'en a jamais besoin. Les classes de type Proxy sont présentes pour répondre à cette problématique.

Couplage Téléphonie Informatique et application à Magento : Cinquième partie

Cet article est le dernier d’une série consacrée au couplage téléphonie informatique avec Magento. Après avoir abordé successivement :

On va finalement terminer (en beauté) avec quelques spécificités de CTI dans un contexte web.

Couplage Téléphonie Informatique et application à Magento : Deuxième partie

Cet article est le deuxième article d’une série consacrée au couplage téléphonie informatique avec Magento. Hier, a été présentée une introduction aux aspects fonctionnels d’une telle solution ; aujourd’hui, nous nous intéresserons au cœur du couplage : une introduction aux solutions d’interconnexion entre le réseau informatique et téléphonique.

Intégration Magento et SNMP

SNMP est un protocole réseau qui porte sur la supervision des équipements d'une infrastructure. Il est souvent disponible sur les équipements réseaux (routeurs, switchs,...), mais il est également supporté par certains logiciels (tels qu'Asterisk ou Kamailio, pour ne citer qu'eux).

Au niveau système, sous Linux, on trouve une implémentation « de référence » fournie par Net-Snmp (www.net-snmp.org), qui se compose d'un certain nombres d'outils, dont un agent SNMP, snmpd.
L'agent est principalement responsable de deux types d'actions, à savoir la réponse aux requêtes qui lui sont transmises, et l'éventuelle émission d'alertes (traps) lorsque les conditions configurées
l'imposent.

Vu la standardisation de SNMP au travers de nombreuses RFC et l'écosystème actuel qui en découle, il est intéressant de voir comment on peut chercher à intégrer un système de surveillance
portant sur Magento, mais interfacé à SNMP, de sorte dans l'idéal à non seulement surveiller des données techniques, mais également des données métiers pour déceler et faire remonter au plus tôt d'éventuelles anomalies.

Tester Magento 1.x avec AspectMock

magento_logo

Magento 1.x est réputé pour être difficilement testable, principalement à cause de l'absence d'un véritable système d'injection de dépendances. Il est donc difficile de mettre en place les prérequis pour chaque test. Cette problématique était d'ailleurs la raison pour laquelle j'avais créé MageUnit. Depuis, je suis tombé sur un framework de mock très intéressant nommé AspectMock. Nous allons voir comment il rend testable quasiment n'importe quelle base de code et plus particulièrement du code Magento.