site magento

Utiliser le CMS natif pour créer des contenus multilingues dans Magento

La solution e-Commerce Magento intègre nativement des fonctionnalités de CMS.

Deux types d'objet sont ainsi mis à votre disposition afin de créer les contenus de votre site Magento :

  • Les pages, qui vous permettent d'afficher des informations générales telles que vos conditions générales de vente, informations de contact, implantations de magasin, et caetera.
  • Les blocks statiques ("statiques" n'étant pas tout à fait le terme approprié comme nous le verrons plus bas, comprenez qu'il s'agit tout simplement de blocks dont le contenu est modifiable directement depuis le back-office, sans modification de code source php), qui vous permettent de saisir des informations devant être généralement affichées sur plusieurs pages, telles que pieds de pages, en-têtes, mais aussi des informations ponctuelles (fermeture prévisionnelle du site, promotions...).

Notez que ces objets, pages ou blocks statiques, peuvent contenir des éléments dynamiquement calculés et qu'il est même relativement aisé de mettre à disposition du webmaster en charge du contenu un panoplie de fonctions développées sur mesure (date et heure du jour, nombre d'internautes connectés, dernier article vendu...).

De surcroît, ces pages et blocks peuvent également contenir d'autres blocks, statiques (donc dont le contenu est modifiable ici) ou non (blocs d'articles, blocs de meilleures ventes Magento...).

Enfin, ces pages et blocs s'insèrent parfaitement dans la logique du design Magento et, à ce titre, pour un même identifiant (identifier) de page ou de bloc statique, vous pourrez (sans y être obligé) en créer une version par vue de magasin (Store View Name). Il devient alors très simple de créer un contenu spécifique pour chacune des langues de votre site internet Magento et le système affichera la version correspondant à la langue de l'internaute sans que vous n'ayiez eu à programmer la moindre ligne de code.

Bien entendu le système n'est pas exempt de défaut et on regrettera en particulier :

  • l'absence d'outil d'édition en texte riche,
  • l'impossibilité de gérer du contenu de manière hiérarchique,
  • le manque de gestion de formulaire en ligne.

Nous verrons donc très prochainement comment palier ces manques.

Afficher un block BestSellers (meilleures ventes) sur la page d'accueil de votre site Magento

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.

  1. Récupérez les données

    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é).

    $_productCollection = Mage::getResourceModel('reports/product_collection')
        ->addAttributeToSelect('*')
        ->addOrderedQty()
        ->setOrder('ordered_qty', 'desc');

  2. Créer votre block BestSellers

    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.

  3. Affichez votre block

    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.

Installer Magento en 5 minutes

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.

  1. Procurez-vous un serveur web

    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 :

    • LAMP si votre plateforme de démo est sous Linux,
    • WAMP si elle est sous Windows,
    • MAMP si elle est sous Mac OS.

     

  2. Assurez-vous d'avoir toutes les extensions PHP requises installées

    Pour fonctionner correctement, Magento a besoin des extensions PHP suivantes :

    • PDO/MySQL
    • MySQLi
    • mcrypt
    • mhash
    • simplexml
    • DOM

     

    Le cas échéant, rendez-vous dans votre fichier php.ini.

  3. Téléchargez Magento

    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.

  4. Décompactez l'archive Magento

    Décompactez l'archive précédemment téléchargée dans un répertoire accessible de votre serveur web.

  5. Paramétrer votre serveur

    Accéder à votre serveur, muni des informations suivantes :

    • l'adresse IP de votre serveur de base de données (localhost dans le cas d'un LAMP),
    • le nom de la base de données,
    • l'identifiant et le mot de passe d'un utilisateur mySql ayant accès à la base de données, avec le droits pour créer des éléments (tables...).

    Suivez les instructions, votre boutique est (presque) prête !

     

  6. Paramétrez votre boutique

    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.

  7. Si vous êtes perdu

    Reportez-vous au guide d'installation Magento ou au forum relatif au problèmes d'installation Magento.

Importer des fichiers dans Magento

Parmi les nombreuses fonctionnalités natives, l'une d'entre elles est l'objet de nombreux questionnements : l'import de fichiers Magento.

En effet, hormis pour quelques rares pure players qui peuvent se contenter du back-office de Magento, la mise en place d'interfaces de connexion avec un système d'informations existant est un passage quasi-obligé dans la mise en place d'une solution e-Commerce.

Il peut alors s'agir :

  • de mettre à jour votre catalogue Magento (SKU, descriptif, images et photos...) depuis un back-office existant,
  • de mettre à jour les états de stocks depuis un back-office existant,
  • de remonter des commandes, en mode batch (par exemple quotidien) ou interactif (en temps réel), depuis Magento vers l'outil logistique,
  • de redescendre des commandes (état des commandes, partielle ou complète, tracking du transport...), toujours en mode batch (par exemple quotidien) ou interactif (en temps réel), depuis l'outil logistique et d'envoyer des e-mails au clients,
  • de remonter les informations relatives aux commandes dans un outil de gestion comptable,
  • de remonter les informations relatives aux clients dans un outil de CRM,
  • et caetera.

Bien entendu, la mise en place de ces opérations, leur automatisation et, surtout, leur rodage, ne peuvent être intégrés nativement pour les centaines (voire milliers) de cas de figures qui peuvent exister dans un module Magento qui serait totalement générique, ou par simple configuration Magento.
En revanche, Magento met à disposition des API et des connecteurs qui permettent de s'interfacer facilement et proprement avec le coeur du système. La part de développement spécifique s'en trouve alors réduite, la compatibilité avec les versions future peut être garantie et c'est surtout la spécification de vos besoins métiers qui vous demandera finalement le plus d'énergie et de temps.

Magento en 10 points

Magento en 10 points : la solution Magento a bénéficié d'un buzz impressionnant depuis la sortie sa version 1 en 2008 et a révolutionné le monde des solutions e-commerce. Les raisons de cet engouement pour les sites Magento sont multiples, en voici 10, la liste est bien entendu non exhaustive.

  1. Une solution opensource, un éditeur solide

    Écrite en PHP, basée sur le framework Zend, Magento est une solution du monde du logiciel libre.
    Cela signifie que le code source est public : tout le monde y a accès, et ce gratuitement. Les contributions venant de toutes parts sont donc les bienvenues et la vitesse d'intégration de spécificités est accrue, comme ce fut par exemple le cas pour la gestion de la TVA : la version initiale n'était pas adaptée au marché européen mais l'ouverture du code a permis de régler ce problème en quelques semaines.
    Pour autant, Magento est développé par une société à but lucratif, Varien, ce qui garantit une uniformité et une cohérence dans les fonctionnalités et une continuité dans les développements, avec plus de soixante personnes à plein temps travaillant sur la solution.

  2. Une solution clef en main

    Téléchargez Magento, décompressez l'archive sur votre serveur Apache/PHP/MySql, lancez la procédure automatique d'installation, accédez à l'inteface d'administration pour effectuer la configuration Magento : vous êtes prêt !
    Par la suite, accédez à l'interface d'administration pour effectuer les mises à jour de version, et ce en deux clics et pas un de plus.
    Reste bien sûr à personnaliser votre boutique et à y intégrer votre catalogue.

  3. Un modèle de données excessivement maléable, une grande richesse fonctionnelle

    Que vous vendiez des chaussures, des chaussettes, des vêtements, des rideaux, du vin, des chambres d'hôtel ou des produits virtuels téléchargeables, le modèle de données de Magento est conçu et pensé pour s'adapter à vos besoins, tout en proposant les fonctionnalités standard que l'on est en droit d'attendre d'un site e-Commerce : produits personnalisables, attributs (tailles, couleurs...) paramétrables, Cross-Sell, Up-Sell, et caetera.
    En outre, la version 1.3 a introduit la notion de flat catalog qui donne un excellent compromis entre paramétrabilité et performances.
    Parmi les nombreuses fonctionnalités disponibles en standard, on peut également citer les outils de gestion des prix et des promotions, accessibles via un module de règles à la fois fonctionnellement évolué et facilement utilisable, par simples clics dans l'interface graphique du back-office

  4. Une gestion avancée de votre charte graphique

    La gestion du design Magento permet de gérer de manière extrèmement poussée l'ergonomie et le template de votre site Magento.
    Fourni avec un modèle graphique de base, Magento vous permet de mettre en page votre boutique comme bon semble, tout en conservant une parfaite compatibilité avec les versions à venir.
    (Voir le billet Créer un template pour son site Magento à ce sujet.)

  5. Une solution pensée pour le référencement naturel

    Réécriture d'URL, saisie des champs meta, gestion du Google Site Map, et caetera, Magento mets à votre disposition tous les outils qui seront nécessaires au bon référencement naturel de votre site Magento.
    (Voir le billet Magento et le référencement naturel pour plus d'informations à ce sujet.)

  6. Un solution ouverte à l'international

    Avec Magento votre boutique est prête pour l'international, avec la possibilité (mais pas l'obligation) d'avoir pour chaque zone ou pays :

    • sa propre devise,
    • sa propre langue (de nombreuses langues - dont le Français - sont disponibles en standard),
    • sa propre charte graphique,
    • son propre sous-catalogue,
    • ses propres règles de port,
    • et caetera.

  7. De nombreux modules de paiement déjà intégrés

    Magento gère aujourd'hui plus de 200 systèmes de paiement, parmis lesquels :

    • ATOS / Sips,
    • CyberMUT Paiement / Paiement CIC,
    • CyberP@iement,
    • FIAT-NET ReceiveAndpay,
    • Google Checkout,
    • Ogone,
    • Paiement par chèque,
    • Paybox,
    • PayPal,
    • SPPLUS,
    • et caetera.

    Il est en outre aisé d'en ajouter de nouveaux.

  8. De nombreux modules de port déjà intégrés

    Magento gère aujourd'hui plus de 50 systèmes de port, parmis lesquels :

    • Gestion du port gratuit, selon critères,
    • Chronospot,
    • Colissimo,
    • DHL,
    • FedEx,
    • TNT, relais colis,
    • UPS,
    • et caetera.

    Il est en outre aisé de personnaliser un module afin de l'adapter à vos contraintes logistiques et à votre politique tarifaire, voire d'en créer de nouveaux.

  9. Une ouverture native vers vos systèmes d'informations

    Magento fournit en standards des modules d'import/export qui permettent l'import de fichier Magento.
    Ces modules peuvent être aisément personnalisés et automatisés pour correspondre au mieux aux pré-requis de votre système existant.
    (Voir le billet Importer des fichiers dans Magento pour plus d'informations à ce sujet.)

  10. Une solution robuste et éprouvée

    Avec aujourd'hui plusieurs centaintes de sites référencés sur Magento, dont certains ne contiennent pas moins de 300000 références (trois cent mille), Magento est aujourd'hui reconnu comme une solution fiable et digne de confiance, quels que soient vos besoins.

Magento et le référencement naturel

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.