Notre installation de Magento 2 est terminée, les samples data sont présentes, nous avons une base de travail pour la suite de ces tutoriels. Avant de passer des heures interminables à essayer de comprendre pourquoi nos futurs modules ne sont pas détectés, nous allons faire une action simple, mais très utile pour la phase de développement d’un site sous Magento 2 :
Désactiver les caches
Pour désactiver les caches dans Magento 2, rendez-vous dans l’administration :
System > Tools > Cache Management
Dans cette page, selectionnez et désactivez tous les caches :
Les caches permettent d’éviter des chargement répétitifs quand votre site est en ligne. Mais durant la phase de développement, il vaut mieux les désactiver. En effet, il met en cache beaucoup de fichiers, dont les configurations de modules que nous serons amené à modifier régulièrement. Pour ne pas avoir à vider les cache tout le temps, nous désactivons donc tous les caches.
Configuration du serveur
Une configuration que je conseille durant la phase de développement est l’ajout d’une variable serveur dans le vhost :
SetEnv MAGE_MODE "developer"
Votre vhost doit ressembler à ceci :
<VirtualHost *:80> ServerName magento2.lan DocumentRoot /var/www/magento2 SetEnv MAGE_MODE "developer" <Directory /var/www/magento2> Options Indexes FollowSymLinks MultiViews AllowOverride All Order allow,deny allow from all </Directory> ErrorLog ${APACHE_LOG_DIR}/magento2_error.log # Possible values include: debug, info, notice, warn, error, crit, alert, emerg. LogLevel warn CustomLog ${APACHE_LOG_DIR}/magento2_access.log combined </VirtualHost>
N’oubliez pas de redémarrer apache :
sudo service apache2 restart
Voici les différentes valeurs de cette variable selon vos besoins :
Nom du mode | Description |
---|---|
developer | Pour les environnements de développement, voici les caractéristiques :
|
default | Comme son nom l’indique, c’est le fonctionnement si vous ne précisez aucun mode à Magento. Voici les caractéristiques:
Vous pouvez lancer Magento dans ce mode en production, mais ce n’est PAS recommandé. |
production | Prévu pour des environnements de production. Les exceptions ne sont pas affichées à l’utilisateur, mais sont logguées. Les fichiers statiques ne sont pas cachés. |
PHP Ini
Je conseille aussi d’avoir un niveau élevé d’erreur, afin de remonter les warning en erreur, et être sur d’avoir un code de qualité.
Les paramètres à configurer sont les suivants :
error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT display_errors = On
Redémarrez apache
sudo service apache2 restart
Notez que toutes ces modifications ne sont pas à faire sur des serveurs de production, mais uniquement sur des serveurs de developpement ou votre environnement local.