Installer Magento 2 avec Composer

Vous lirez cet article en 11 minutes

Bonjour à tous ! Aujourd’hui je vous propose de découvrir les fondamentaux de l’installation du framework Magento 2 avec Composer. Pour ce tutoriel je partirais du principe que vous avez déjà quelques bases sur l’utilisation du terminal et des commandes SSH, mais si ce n’est pas le cas, pas de panique vous pouvez toujours lire le tutoriel sur les fondamentaux SSH que j’ai rédigé spécialement pour vous et reprendre ce tutoriel dans la foulée. 

Sachez que pour ma part, lorsque j’ai commencé à utiliser composer je n’avais qu’un niveau de débutant, ce tutoriel s’adresse donc à tous les niveaux et je vais essayer au mieux de vous faire comprendre le fonctionnement de chaque étape.

Vous êtes prêt ? Allons-y !

Pré-recquis

Sachez que pour commencer Magento 2 requiert une configuration serveur minimum, ici je vais partir du principe que vous possédez un serveur client de Preprod sur lequel effectuer votre installation, ou que vous souhaitez effectuer cette installation sur votre ordinateur en local. Je vous donne donc deux cas de figure sur lesquels vous appuyer pour arriver à effectuer cette installation très simplement.

Comme je vous le disais, Magento 2 nécessite une certaine configuration pour fonctionner correctement, voici la liste des minimas à respecter :

Pour pouvoir installer magento2 il vous faut :

  • PHP 7 minimum (supporte PHP 7.2.11)
  • Activation des extensions PHP suivantes : php-bcmath, php-cli, ,php-common, php-curl, php-gd, php-intl, php-mbstring, php-mcrypt, php-opcache, php-openssl, php-pdo, php-soap, php-xml, php-xsl, php-zip.
  • Un serveur MySQL 5.6 ou supérieur

Si cette liste vous effraie, rassurez-vous, si vous travaillez sur un serveur en remote avec une interface Plesk vous pourrez rapidement obtenir ces configurations, de plus la plupart des serveurs récents disposent de ces configurations de base. Si vous travaillez sur MAMP/WAMP, vous devrez probablement effectuer une petite mise à jour de votre installation pour répondre à ces pré-requis mais rien de bien alarmant !

Installation en local de composer

La première étape sera d’effectuer l’installation de composer, partons du principe que vous êtes en local, que composer n’est pas encore installé sur votre machine. Commençons tout de suite, ouvrez votre terminal puis rendez-vous dans votre dossier de travail. Sur l’exemple ci-dessous je vais travailler dans mon dossier htdocs du logiciel MAMP pour Mac. Le principe est identique sous windows mais vous utiliserez WAMP.

Pour lancer l’installation de composer rentrez la ligne ci-dessous

Si le message d’erreur suivant apparait en local ou sur votre serveur : « Fatal error: Allowed memory size of 2097152 bytes exhausted (tried to allocate 487424 bytes) in Standard input code on line 1211 » cela signifie que vous devez augmenter le paramètre « memory_limit » de votre fichier « php.ini ».

Une fois cette erreur corrigée vous obtenez un fichier « composer.phar ». Pour utiliser ce fichier de manière globale effectuez la commande suivante : 

Cette commande déplacera le fichier « composer.phar » dans un dossier spécifique qui permettra d’utiliser composer en dehors de votre dossier de travail. De cette manière vous pouvez appeler composer depuis n’importe quel dossier de votre machine locale.

Une fois composer installé, dans votre terminal si aucun message d’erreur n’est apparu, tapez simplement « composer » pour voir apparaitre une liste de fonctionnalités. Si tout s’est passé correctement voici ce que vous devriez obtenir :

Capture d’écran 2019 04 01 à 09.29.19 - Installer Magento 2 avec Composer

Je ne vais pas rentrer dans les détails concernant composer, ce n’est pas l’objet de ce tutoriel, cependant pour résumer on pourrait voir composer comme un utilitaire de téléchargement qui permettra d’installer rapidement des framework type Magento, Laravel, etc, mais également les extensions qui les accompagnent. 

C’est un utilitaire relativement pratique qui vous évite de devoir passer par un logiciel FTP et gérer des fichiers « .zip » ou des dossiers. Composer s’occupe de tout pour vous. Un autre avantage non-négligeable concerne la désinstallation de ces même extensions. S’il est relativement simple d’installer des extensions Magento 2 avec composer, il sera tout aussi rapide et simple de les désinstaller en cas de besoin !

Maintenant que vous êtes prêts à utiliser composer nous allons pouvoir entrer dans le vif du sujet, l’installation de Magento 2 !

Installation de magento 2 avec composer

Rendez-vous dans votre dossier de travail, celui ou vous souhaitez effectuer l’installation de Magento 2 puis tapez simplement la commande suivante dans votre dossier de destination : 

Magento étant très capricieux, vous aurez besoin ensuite d’attribuer les bonnes permissions aux dossiers de votre installation. Pour ce faire rentrez la commande suivante :

A ce stade nous en avons terminé avec les fichiers & dossiers. Nous n’avons plus qu’à lancer l’installeur de Magento 2 qui s’occupera de créer le shéma de base de données, et mettre en place notre plateforme en tant que telle. Pour cela, créez une table sur votre base de donnée si ce n’est pas déjà fait puis allons-y :

La commande ci-dessous execute l’installeur de Magento 2 qui selon moi est plus rapide et efficace que l’installation par l’interface en ligne. Voici le détail de chaque ligne :

  • –base-url : Cela correspond à votre domaine contenant le http:// (ou https:// si vous disposez d’un certificat SSL)
  • –db-host : Il s’agit de l’IP de votre serveur de base de données (laissez localhost si votre serveur de base de données et votre serveur de fichier sont identiques)
  • –db-name : Remplacez la valeur entre guillemets par le nom de votre base de données
  • –db-user : Remplacez la valeur entre guillemets par le nom d’utilisateur de votre base de données
  • –db-password : Remplacez la valeur entre guillemets par le mot de passe de votre utilisateur base de données
  • –admin-firstname : Remplacez la valeur entre guillemets par le prénom de votre compte administrateur
  • –admin-lastname : Remplacez la valeur entre guillemets par le nom de votre compte administrateur
  • –admin-email : Remplacez la valeur entre guillemets par l’adresse email de votre compte administrateur
  • –admin-user : Remplacez la valeur entre guillemets par l’identifiant de votre compte administrateur. Cet identifiant vous servira à vous connecter à votre backoffice Magento 2
  • –admin-password : Remplacez la valeur entre guillemets par le mot de passe de votre compte administrateur. Préférez des mots de passe relativement complexes de 8 à 16 caractères… pas le nom de votre chat, ou votre date de naissance
  • –backend-frontname : Remplacez la valeur entre guillemets par le chemin de votre futur backoffice. Ici vous pouvez taper ce que vous voulez. Cependant ne mettez ni accent, ni majuscules, ni espaces. Evitez de rentrer « admin » car cela serait trop simple de trouver l’URL de votre backoffice. Choisissez quelque chose d’un peu plus compliqué ! Un bon exemple pourrait être : « gestion1989 ». L’url de votre backoffice serait alors « http://www.monsite.com/gestion1989 ».

Ne modifiez pas les autres valeurs pour l’instant, nous les ajusterons une fois Magento 2 installé. À ce stade, vous en avez fini avec l’installation de Magento 2. Vous pouvez maintenant vous connecter à votre backoffice en vous rendant sur l’URL que vous avez déterminé lors de l’installation sur la clé « –backend-frontname ».

Dans votre backoffice Magento 2 vous trouverez les paramètres des locales (langues) dans le menu « Stores > Configuration > General ». Vos paramètres de devises (pour mettre votre boutique en Euros (€) seront quant à eux dans « Stores > Configuration > Currency Setup ».

Quelques commandes de base à connaitre à tout prix !

Gestion du cache

Vide tous les types de cache

Vide les dossiers de cache générés par les types de cache

Check le status des caches et retourne un tableau

Désactive le cache (tous par défaut).

Désactive le cache (tous par défaut)

Bon à savoir : Pour chacune des commandes ci-dessus vous pouvez spécifier le nom du cache sur lequel agir en récupérant l’identifiant du cache visé en utilisant la commande « cache:status » citée plus haut, puis effectuez la commande désirée, par exemple pour vider le cache de type « full_page » vous feriez :

Il est bien entendu possible d’agir sur plusieurs types en même temps (si vous ne souhaitez pas tous les vider d’un coup). Par exemple pour ne vider que 2 types de cache (full_page et block_html) vous feriez :

Installation des packages français

Cette commande installe les packages Français pour Magento, ils sont indispensables si vous devez installer la langue Française sur votre store. Ils permettront également d’obtenir une interface backoffice.

Changer l'URL de votre backoffice

Vous souhaitez sécuriser votre backoffice ? Quoi de plus logique que d’en changer l’URL d’accès ? Pour cela entez la commande ci-dessus et remplacez la valeur entre guillemets de « –backend-frontname » par l’URL que vous souhaitez obtenir. Pour avoir par exemple « https://www.maboutique.com/gestion » en URL de backoffice vous ferez donc :

NB. Je vais être chiant une dernière fois, mais par sécurité veillez à ne pas laisser des URLs trop simple d’accès comme « administration », « admin » et consorts est à proscrire absolument. Cela mérite d’être spoilé du dernier Avengers !

En bref, n’hésitez pas à mettre une URL un peu plus compliquée, par exemple « management2019 » ou autre, tant que je n’arrive pas à y avoir accès en tapant « /admin » dans mon navigateur. Vous serez déjà sur la bonne voie de la sécurisation.

Switcher en mode développeur ou production

Le mode développeur sera utilise lors de votre phase de développements & tests cependant souvenez-vous qu’avant de passer votre version de Preprod en production il faudra effectuer le petit switch du mode de Magento. Pour cela voici les deux commandes possibles :

Cette commande passe votre boutique en mode Développeur

Cette commande-ci la passe en mode Production. Elle s’occupera de générer les fichiers statiques, et effectuer les compilations nécessaires. Une fois ce mode activé, cela signifie que (pour vous) votre boutique est prête à être mise en ligne, que vous avez testé le fonctionnement de votre boutique, les modes de livraison et de paiement, les règles de prix catalogue et panier, configuré Varnish si vous l’utilisez (vous devriez toujours l’utiliser…). 

En bref, cette commande c’est la clé que vous mettez dans la porte pour fermer à double tour.

Activer les path hints

Abordons le cas du debug. Personnellement, j’adore travailler sur des intégrations magento, créer des blocs et y insérer des contenus dynamiques etc. On en parlera un peu plus tard dans un autre tutoriel mais en clair, pour créer des blocs de contenus Magento utilise une architecture XML. Debbuger des fichiers XML peut s’avérer rapidement chiant en fonction du nombre de blocs présents ou de la page sur laquelle vous travaillez.

Pour simplifier cette tâche, Magento dispose de son propre système de debbug de templates, cela s’appelle les Path Hints. Mais à quoi ça ressemble concrètement ? Voici un exemple :

3 template path hints enabled on frontend 1024x549 - Installer Magento 2 avec Composer

Alors Oui ! concrètement ces blocs rouges, c’est moche ! Mais comme vous le voyez sur cette capture, cela affiche un petit bloc rouge dans lequel vous trouvez une info intéressante, c’est le chemin du template qui est utilisé par Magento pour construire votre thème.

Comme je le disais précédemment, votre thème est composé par un fichier XML qui s’occupe de mettre en place une imbrication de fichiers « .phtml » qui composent votre thème final. Lorsque vous ajoutez un fichier « .phtml » à votre fichier « .xml » vous le verrez apparaitre dans les paths hints.

Pour aller un peu plus loins je vous invite à découvrir la super extension de Reach Digital, H&O Magento 2 Advanced Template Hints module

Cette extension est simplement géniale, personnellement je l’utilise pour chaque projets. En gros, c’est la même chose en plus évolué. En plus de vous retourner le nom des templates, cela remonte dans votre console le modèle PHP utilisé par votre bloc. Testez-là vous en serez vite accro.

installer les sample data (contenus de démo)

Vous pourriez en avoir besoin alors je vous présente cette petite commande qui effectue l’import des sample data de Magento 2. Cela va par exemple créer en backoffice des produits, et des catégories qui vous permettront de tester Magento 2. C’est très utile si vous devez créer un nouveau thème Magento 2 « from scratch » en vous appuyant sur un peu de contenu pour faire vos tests.

Pour aller plus loin,
et gagner en productivité

Durant vos phases de développement certaines opérations peuvent s’avérer redondantes. Le principe est simple, vous développez… super, mais vous avez besoin de visualiser le résultat en front-office ! Vous pourriez très bien désactiver tous les caches, mais croyez-moi vous n’en aurez pas fini si vous faites cela car votre site tout entier sera lent, autant en front office qu’en backoffice.

Pour cela, je vais vous donner ma technique pour gagner du temps ! Pour vous faire un petit « teasing » de ce que je vais vous montrer, nous allons créer un fichier qui contient des raccourcis, et plutôt que de taper la totalité de nos commandes, nous ne taperont que notre suite de raccourcis les uns à la suite des autres pour gagner du temps.

Vous voulez en savoir plus ? Je vous donne alors rendez-vous sur mon article dédié à ce sujet : Gagner en productivité avec bashrc

À propos de moi ?

À propos de moi ?

Développeur front-end & Webdesigner depuis 8 ans, et ayant acquis la majorité de mes connaissances par le biais d'internet, quoi de plus normal que de les partager avec vous qui passez peut-être par le même chemin ?

Si vous souhaitez me confier votre projet n'hésitez pas à me contacter, vous avez maintenant que votre projet est entre de bonnes mains.