Varien a posté sur YouTube une vidéo (en Français) à propos de Ventes Privées dans l'édition Enterprise de Magento :

E-commerce for brands
Varien a posté sur YouTube une vidéo (en Français) à propos de Ventes Privées dans l'édition Enterprise de Magento :
Varien a posté sur YouTube une vidéo (en Français) à propos de Securité, Gestion des Rôles, Chiffrage et Audit dans l'édition Enterprise de Magento :
Comme vous le savez peut-être, la solution e-commerce Magento a un système de template très puissant. Nous pouvons dire la même chose concernant la partie logique du sytème. Grosso modo Magento est composé d'environ 50 modules. Il y un module pour l'enregistrement d'une commande, un pour les clients, un pour les pages CMS etc. Un module est composé de plusieurs parties. La partie design, la partie controllers, blocks, models et helpers. Les controllers contiennent toutes les actions déclenchées lors de l'utilisation d'un module d'un site Magento. Quand nous avons l'url http://www.my-eshop.tld/index.php/a/b/c
cela signifie que le module a doit lancer l'action c contenue dans le controller b.
Les blocks servent à préparer les données pour les templates. Chaque template utilisée doit avoir un block. Les blocs peuvent être simples mais ils peuvent être également plus complexes. Dans certains cas, il peut être utile de déplacer des données du controller vers le block afin de ne pas devoir recalculer ces données.
Pour cela, nous pouvons utiliser une des fonctionnalités de Magento : les registres.
Dans le controller on enregistre notre données dans la variable nommée $data. Nous pouvons utiliser un registre comme cela :
Dans le fichier du block, nous pouvons accéder aux données de cette variable en utilisant :
C'est une petite astuce qui peut s'avérer être très utile.
Traduction par Laurent Clouet
Votre site Magento est chez un hébergeur mutualisé, celui-ci est passé en PHP 5.3 sans crier gare, et plus rien ne fonctionne ?
Pas de panique. Sans aller jusqu'à dire que c'est normal, le problème est connu, et en cours de correction si ca n'est déjà fait. Ces erreurs viennent du fait que certains tronçons de Magento doivent avoir été produits il y'a un certain temps et font l'usage de fonctions PHP ou de syntaxes dépréciées.
Cela dit, si l'urgence se fait sentir, ou que vous ne pouvez vous permettre une montée de version, voilà comment résoudre le problème :
Dans "/lib/Varien/Object.php" à la ligne ~ 484, remplacer la déclaration de méthode suivante, dont la syntaxe n'est plus tolérée :
Par :
Enfin, ajoutez la méthode suivantes juste après __invoke, afin de garantir un bon fonctionnement en cas d'appel direct à la méthode __toString :
Ensuite, il faut partir à la chasse des appels à la fonction "split", qui est dorénavant interdite, pour les remplacer par la fonction "explode" qui fonctionne exactement de la même manière.
Exemple : dans "/app/code/core/Mage/Core/Controller/Request/Http.php" à la ligne 274
Remplacer :
Par :
Il y'a plusieurs occurences de "split" à remplacer, mais attention, n'utilisez pas de remplacement massifs, vous risqueriez de remplacer aussi des occurences aux fonctions "preg_split" et "str_split" qui sont toutes deux utilisées dans le core de Magento et qui restent valides.
De plus, n'oubliez pas de vérifier aussi vos modules Magento locaux !
Une fois ces modifications effectuées, votre configuration Magento devrait être à nouveau fonctionnelle.
NOTE : Ces modifications altèrent le core de Magento (en particulier "/app/code/core" et "/lib"), il est donc fortement déconseillé d'opérer directement en production.
Une des questions qui vient souvent lors de la mise en place d'un site Magento est la suivante : comment afficher les BestSellers (meilleures ventes) sur la page d'accueil ?
En effet, Magento - dans sa version actuelle du moins - ne propose pas nativement cette fonctionnalité.
Pour autant, si ce manque peut paraître étrange pour une solution e-commerce, il n'est en rien bloquant. Bien au contraire, il va nous permettre de nous rendre compte de la (relative) facilité avec laquelle il est possible de créer de nouveaux blocs, ou du moins de l'évolutivité de l'architecture de Magento.
C'est sûrement la partie la plus compliquée car elle nécessite de maîtriser le modèle objet de Magento.
À partir du moment où vous savez où aller chercher les données (ici les produits vendus) et comment les requêter (ici en les triant par nombre de ventes décroissantes), obtenir les informations voulues est très simple et tient sur une seule ligne (en fait plusieurs pour un souci de lisibilité).
Respectez le modèle MVC : dans Magento comme dans Zend, chaque objet a sa place et son rôle.
Créez vos objets métier :
Typiquement, dans un fichier app/code/local/ma_librairie/Bestseller/Model/Bestseller.php vous définissez votre classe métier qui contient la règle de calcul (ici : afficher les produit nombre de vente décroissante).
Puis dans app/code/local/ma_librairie/Bestseller/Block/Bestseller.php vous étendez la classe Mage_Core_Block_Template qui se chargera de transmettre proprement les données au block d'affichage.
Enfin dans app/design/frontend/mon_theme/default/template/catalog/product/view/bestseller.phtml affichez le contenu du block.
Bien entendu, ces objets doivent être déclarés dans les fichiers XML adéquats.
Il ne vous reste plus qu'à placer votre block dans votre layout actif.
Pour ce faire, vous pouvez soit modifier votre fichier XML de layout, soit effectuer l'ajout dans le back-office de configuration Magento sur votre page CMS d'accueil.
Pour plus d'information sur les Templates, consultez le billet Créer un template pour son site Magento.
La solution e-commerce Magento permet d'intégrer de nombreuses interfaces de paiement via le système de module magento.
Parmi celles-ci, l'extension SPPLUS permet de mettre en place le module de paiement SP PLUS de la Caisse d'Épargne. Cette extension est disponible via Magento Connect.
Cependant, cette extension présente un bug fort contraignant. En effet toutes les commandes dont l'email du client contient le caractère _ ne sont pas traitées. Cela provient d'un mauvais calcul de la clé HMAC.
Pour info, la clé HMAC est un code d'authentification envoyée par SPPLUS. Pour calculer cette clé et ensuite pouvoir la comparer avec la clé reçue, on utilise la fonction nthmac présente dans la librairie spplus.so fournie par SP PLUS. Le calcul de cette clé se fait avec plusieurs paramêtres dont entre autre l'email du client. Cependant pour bien pouvoir utiliser cette fonction, il faut échapper les caractères spéciaux tels que _.
Pour corriger ce bug il faut donc modifier la méthode ipnPostSubmit du fichier app/code/community/Mage/Spplus/Model/Method/Spplus.php. Il faut remplacer les lignes :
Par
Ce bug a été reporté sur le forum de l'extension et devrait très probablement corrigé dans sa version 1.1.5
Si la mise en place d'une e-boutique qui vous ressemble et qui s'intègre dans votre système d'information ne doit pas être prise à la légère (compter 4 mois minimum, en fonction de vos spécificités), l'installation d'un site Magento de démonstration et de test ne vous prendra que 5 minutes.
Cela vous permettra d'avoir un aperçu des fonctionnalités standard de cette solution e-commerce, de vous faire votre propre idée et de réflechir à la manière dont vos besoins vont pouvoir s'insérer naturellement dans le système, ou au contraire demander des aménagements spécifiques.
Bien entendu, un minimum d'expérience technique est préférable, mais pas strictement indispensable.
Magento est écrit en PHP et nécessite une base de données MySql
NB : L'utilisation de PHP 5.3 n'est pas compatible avec Magento.
Pour notre démonstration, nous recommandons d'utiliser le serveur Apache, même si ce n'est pas une obligation.
NB : L'utilisation de Zend Server permet d'btenir des performances accrues, ce qui n'est pas l'objet de ce billet.
À ce stade, l'utilisation d'un package intégré vous permettra de vous affranchir de l'installation de trois logiciels séparés :
Pour fonctionner correctement, Magento a besoin des extensions PHP suivantes :
Le cas échéant, rendez-vous dans votre fichier php.ini.
Rendez-vous sur le site de Magento et téléchargez la dernière version stable :
NB : Notez que nous n'avez pas à vous soucier de télécharger le framework Zend, celui-ci est intégré dans votre distribution Magento.
Décompactez l'archive précédemment téléchargée dans un répertoire accessible de votre serveur web.
Accéder à votre serveur, muni des informations suivantes :
Suivez les instructions, votre boutique est (presque) prête !
Accédez au back-office de votre e-boutique pour modifier la configuration Magento et personnalisez le catalogue, les informations, le design Magento, et caetera.
Reportez-vous au guide d'installation Magento ou au forum relatif au problèmes d'installation Magento.
Créer un template pour son site Magento est une étape incontournable dans la mise en place en place de sa boutique en ligne. En effet, la charte graphique d'une e-Boutique est aussi importante que la vitrine d'un magasin : il s'agit de la première chose que verra le chalant qui passe devant par hasard.
C'est votre vitrine qui retiendra un client potentiel ou qui, au contraire, l'incitera à partir.
(Il existe bien entendu d'autre moyens de faire venir des prospects directement au coeur de votre boutique, via les moteurs de recherche notamment, mais ceci fera l'objet d'autres billets.)
Fort de ce constat, tout le système de gestion du design Magento a été conçu et pensé afin de vous permettre d'achalander au mieux les pages de votre site Magento, de les organiser et de les décorer comme bon vous semble. (Et bien entendu sans faire de développements spécifiques qui interdiraient par la suite de bénéficier des mises à jour de Magento.)
Afin de personnaliser la présentation d'un site Magento, trois types d'objets sont mis en oeuvre, abondamment cités dans les documentations, forums de discussions et autres wiki :
La compréhension de ces trois types d'objets est primordiale afin de comprendre comment penser votre boutique en ligne.
Les templates (gabarits ou modèles) ne sont ni plus ni moins qu'un ensemble des blocks qui composent votre boutique.
Ce sont ces blocks qui vont par exemple :
Magento fournit un template par défaut qui contient toute une série de blocks standard. Il est possible, par un système d'héritage, de compléter, surcharger, modifier des blocks, d'en créer de nouveaux, et caetera.
En outre, Magento étant basé sur la framework Zend, lui même MVC, les règles métier relatives à l'affichage de ces blocks sont définies ailleurs, permettant ainsi une parfaite indépendance de votre charte graphique vis à vis du coeur du système.
Les skins (revêtements) renferment l'ensemble des feuilles de style CSS de votre site et décrivent avec quelle mise en forme (couleurs, images, polices de caractères...) les blocks de templates vont être affichés. Séparées des templates, il devient ainsi excessivement aisé de modifier un style graphique d'affichage sans devoir modifier les blocks.
Changer tout ou partie de la charte graphique peut ainsi être facilement réalisé, par exemple :
Les layouts (agencements, dispositions) quant à eux vont définir quels blocks va s'afficher sur quelle page (page catalogue, page produit, page de paiement, page de compte client...) et en définir les attributs. Il ne s'agit donc ni plus ni moins que de la définition de la structure générale de votre site. Là encore, un layout standard est proposé, celui-ci étant très facilement personnalisable.
Depuis son lancement, le support Magento continue d'être amélioré et ne cesse d'apporter satisfaction aux développeurs ainsi qu'aux webmasters. Compte tenu des nombreuses raisons qui pourraient justifier un tel succès des sites Magento, je vais aborder dans ce billet la question de l'optimisation du référencement naturel et les facilités que Magento propose.
Avant d'aborder plus sérieusement la question, un préalable s'impose tout de même. C'est que, comme pour tout support, il est important d'avoir à la création de son site internet la dernière version de Magento afin de profiter au maximum des facilités d'intégration des optimisations de référencement naturel.
Ma petite expérience m'a amené à conclure d'entrée que Magento avait un plus par rapport à tous les autres supports que j'ai déjà utilisés : la création d'urls pertinentes pour les moteurs de recherche. En effet les robots crawlers des moteurs de recherche ont l'habitude de découvrir les pages à partir de leur urls. Or certains supports proposent des urls contenant des caractères non pertinents pour le référencement naturel notamment (?), ou des (-); &?#... Tous ces caractères posent des problèmes aux crawlers pour qui ne comprennent ainsi pas toujours le vrai sens de la page.
Le module de réécriture des urls de Magento permet donc d'avoir des urls très claires, par exemple : www.monsite.com/categorie1/page1
En nommant les catégories et la page et en s'assurant de la cohérence de ces mots (ceux inscrits dans l'url) et du contenu des champs meta, j'ai pu vérifier que la prise en compte de mes sitemap était plus facile, allant à des taux d'indexation de l'ordre de 88%.
L'autre force des "sites magento" est la légèreté du backoffice. On peut en effet changer le contenu d'une page sans nécessairement avoir des connaissances techniques trop poussées. Les moteurs de recherches préfèrent du contenu frais et actualisé. À ce titre, disposer d'un support qui permet d'actualiser le contenu est forcément un point de plus pour le référencement naturel.
Magento facilite aussi la prise en compte des améliorations qui interviennent ces derniers jours dans la SEO. En effet, afin d'éviter les problèmes de duplication du contenu, Magento vous propose d'indiquer aux moteurs de recherche la version préférée de l'url.
D'autres optimisations sont envisageables sur Magento. Ces dernières seront abordées lors de mon prochain article sur Magento et le référencement naturel.
Magento s'impose comme une des solutions e-commerce les plus innovantes et les plus complètes pour implémenter un site marchand nouvelle génération.
© Baobaz 2010 | Site Magento | www.baobaz.com | Contacts | Powered by Drupal