Magento : les dessous techniques Magento : un socle robuste qui a gagné en performance

Magento s'appuie sur un framework qui lui est propre, le Magento Core Framework. Ce framework s'appuie lui-même sur la Varien Library, développée sur la base du Zend Framework. Magento fonctionne avec au minimum une version 5.2 de PHP et une version 4.1 de MySQL.

Zend Framework est sans conteste le plus robuste, le plus mature et le plus évolué des frameworks PHP à l'heure actuelle. Magento a ajouté par-dessus une surcouche à la fois métier et technique (la Varien Library), notamment en proposant une parfaite dissociation du cœur Magento et des extensions que l'on peut apporter.


caddie, comparateur... beaucoup de  fonctionnalités proposées par magento ne
Caddie, comparateur... Beaucoup de  fonctionnalités proposées par Magento ne pourront être mises en cache du fait de leur haut degré de personnalisation. © XI Ingénierie

Les principaux atouts liés à Zend

Détailler le framework Zend nécessiterait un article à lui tout seul, mais on retiendra :

 La couche d'abstraction de la base de données. Magento intègre nativement la couche d'accès aux bases MySQL. On peut cependant connecter Magento à d'autres bases de données, telles que PostgreSQL ou Oracle.

 La gestion des droits et des permissions des pages se fait grâce au système ACL du framework Zend. Pour le développeur, l'ajout d'une nouvelle ressource se fait simplement par un fichier de configuration du module. La couche de sécurité de Magento se charge d'intégrer et de sécuriser les pages, le développeur n'aura pas à s'en préoccuper.

 La base de données Magento repose en partie sur le système EAV (Entité, Attribut, Valeur). Ce système offre une structure souple et orientée objet. Il a pour avantage de permettre au développeur d'ajouter de nouvelles données sans modifier la structure même des tables, alliant ainsi souplesse et compatibilité avec le code original et/ou d'autres modules.

Optimiser la performance de Magento nécessite un certain investissement

Performances

Magento a souffert d'un manque de performance lors dans ses premières versions, et ce malgré une utilisation intelligente et poussée des mécanismes de cache du Zend Framework. Ces problèmes sont essentiellement la rançon d'une approche extrêmement modulaire au niveau de la définition des attributs des objets.

Ce sujet est maintenant résolu, grâce à l'implémentation de systèmes d'index et de cache. Toutefois, ils nécessitent une personnalisation qui fera toute la différence entre une installation standard et un site e-commerce ultra-rapide.